From 9cfc465ceb95f50d1e0dac9a8bd3a2d1b413f4e2 Mon Sep 17 00:00:00 2001 From: eshanized Date: Mon, 23 Dec 2024 02:42:31 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=20refactor(bump):=20node=20modules?= =?UTF-8?q?=20cache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/_redirects | 1 - dist/index.html | 106 - dist/snigdhaos-logo.svg | 12 - node_modules/.modules.yaml | 19 +- .../@babel/core/node_modules/.bin/json5 | 4 +- .../@babel/core/node_modules/.bin/parser | 4 +- .../@babel/core/node_modules/.bin/semver | 4 +- .../@babel/generator/node_modules/.bin/jsesc | 4 +- .../@babel/generator/node_modules/.bin/parser | 4 +- .../node_modules/.bin/browserslist | 4 +- .../node_modules/.bin/semver | 4 +- .../@babel/template/node_modules/.bin/parser | 4 +- .../@babel/traverse/node_modules/.bin/parser | 4 +- .../eslintrc/node_modules/.bin/js-yaml | 4 +- .../@eslint-community/eslint-utils/LICENSE | 21 - .../@eslint-community/eslint-utils/README.md | 37 - .../@eslint-community/eslint-utils/index.js | 2059 - .../eslint-utils/index.js.map | 1 - .../@eslint-community/eslint-utils/index.mjs | 2018 - .../eslint-utils/index.mjs.map | 1 - .../eslint-utils/node_modules/.bin/eslint | 17 - .../eslint-utils/package.json | 80 - .../node_modules/eslint | 1 - .../node_modules/eslint-visitor-keys | 1 - .../eslint-utils/node_modules/.bin/eslint | 4 +- .../@rollup/rollup-linux-x64-gnu/README.md | 3 - .../@rollup/rollup-linux-x64-gnu/package.json | 22 - .../rollup.linux-x64-gnu.node | Bin 2489552 -> 0 bytes .../@rollup/rollup-linux-x64-musl/README.md | 3 - .../rollup-linux-x64-musl/package.json | 22 - .../rollup.linux-x64-musl.node | Bin 2489368 -> 0 bytes .../babel__core/node_modules/.bin/parser | 4 +- .../babel__template/node_modules/.bin/parser | 4 +- .../node_modules/@types/react | 1 - .../node_modules/@types/react-dom/LICENSE | 21 - .../node_modules/@types/react-dom/README.md | 16 - .../node_modules/@types/react-dom/canary.d.ts | 184 - .../node_modules/@types/react-dom/client.d.ts | 72 - .../@types/react-dom/experimental.d.ts | 36 - .../node_modules/@types/react-dom/index.d.ts | 150 - .../@types/react-dom/package.json | 88 - .../node_modules/@types/react-dom/server.d.ts | 126 - .../@types/react-dom/test-utils/index.d.ts | 402 - .../node_modules/@types/prop-types | 1 - .../node_modules/@types/react/LICENSE | 21 - .../node_modules/@types/react/README.md | 15 - .../node_modules/@types/react/canary.d.ts | 166 - .../@types/react/experimental.d.ts | 132 - .../node_modules/@types/react/global.d.ts | 160 - .../node_modules/@types/react/index.d.ts | 4543 - .../@types/react/jsx-dev-runtime.d.ts | 45 - .../@types/react/jsx-runtime.d.ts | 36 - .../node_modules/@types/react/package.json | 206 - .../@types/react/ts5.0/canary.d.ts | 166 - .../@types/react/ts5.0/experimental.d.ts | 132 - .../@types/react/ts5.0/global.d.ts | 160 - .../@types/react/ts5.0/index.d.ts | 4530 - .../@types/react/ts5.0/jsx-dev-runtime.d.ts | 44 - .../@types/react/ts5.0/jsx-runtime.d.ts | 35 - .../@types+react@18.3.17/node_modules/csstype | 1 - .../eslint-plugin/node_modules/.bin/eslint | 4 +- .../eslint-plugin/node_modules/.bin/tsc | 4 +- .../eslint-plugin/node_modules/.bin/tsserver | 4 +- .../node_modules/@eslint-community/regexpp | 1 - .../@typescript-eslint/eslint-plugin/LICENSE | 21 - .../eslint-plugin/README.md | 12 - .../eslint-plugin/dist/configs/all.js | 161 - .../eslint-plugin/dist/configs/all.js.map | 1 - .../eslint-plugin/dist/configs/base.js | 7 - .../eslint-plugin/dist/configs/base.js.map | 1 - .../dist/configs/disable-type-checked.js | 70 - .../dist/configs/disable-type-checked.js.map | 1 - .../dist/configs/eslint-recommended-raw.js | 43 - .../configs/eslint-recommended-raw.js.map | 1 - .../dist/configs/eslint-recommended.js | 14 - .../dist/configs/eslint-recommended.js.map | 1 - .../configs/recommended-type-checked-only.js | 40 - .../recommended-type-checked-only.js.map | 1 - .../dist/configs/recommended-type-checked.js | 63 - .../configs/recommended-type-checked.js.map | 1 - .../eslint-plugin/dist/configs/recommended.js | 36 - .../dist/configs/recommended.js.map | 1 - .../dist/configs/strict-type-checked-only.js | 77 - .../configs/strict-type-checked-only.js.map | 1 - .../dist/configs/strict-type-checked.js | 112 - .../dist/configs/strict-type-checked.js.map | 1 - .../eslint-plugin/dist/configs/strict.js | 48 - .../eslint-plugin/dist/configs/strict.js.map | 1 - .../configs/stylistic-type-checked-only.js | 22 - .../stylistic-type-checked-only.js.map | 1 - .../dist/configs/stylistic-type-checked.js | 36 - .../configs/stylistic-type-checked.js.map | 1 - .../eslint-plugin/dist/configs/stylistic.js | 27 - .../dist/configs/stylistic.js.map | 1 - .../eslint-plugin/dist/index.js | 47 - .../eslint-plugin/dist/index.js.map | 1 - .../rules/adjacent-overload-signatures.js | 125 - .../rules/adjacent-overload-signatures.js.map | 1 - .../eslint-plugin/dist/rules/array-type.js | 232 - .../dist/rules/array-type.js.map | 1 - .../dist/rules/await-thenable.js | 146 - .../dist/rules/await-thenable.js.map | 1 - .../dist/rules/ban-ts-comment.js | 185 - .../dist/rules/ban-ts-comment.js.map | 1 - .../dist/rules/ban-tslint-comment.js | 54 - .../dist/rules/ban-tslint-comment.js.map | 1 - .../rules/class-literal-property-style.js | 161 - .../rules/class-literal-property-style.js.map | 1 - .../dist/rules/class-methods-use-this.js | 207 - .../dist/rules/class-methods-use-this.js.map | 1 - .../rules/consistent-generic-constructors.js | 109 - .../consistent-generic-constructors.js.map | 1 - .../rules/consistent-indexed-object-style.js | 182 - .../consistent-indexed-object-style.js.map | 1 - .../dist/rules/consistent-return.js | 136 - .../dist/rules/consistent-return.js.map | 1 - .../dist/rules/consistent-type-assertions.js | 222 - .../rules/consistent-type-assertions.js.map | 1 - .../dist/rules/consistent-type-definitions.js | 101 - .../rules/consistent-type-definitions.js.map | 1 - .../dist/rules/consistent-type-exports.js | 336 - .../dist/rules/consistent-type-exports.js.map | 1 - .../dist/rules/consistent-type-imports.js | 609 - .../dist/rules/consistent-type-imports.js.map | 1 - .../dist/rules/default-param-last.js | 68 - .../dist/rules/default-param-last.js.map | 1 - .../eslint-plugin/dist/rules/dot-notation.js | 143 - .../dist/rules/dot-notation.js.map | 1 - .../dist/rules/enum-utils/shared.js | 122 - .../dist/rules/enum-utils/shared.js.map | 1 - .../rules/explicit-function-return-type.js | 180 - .../explicit-function-return-type.js.map | 1 - .../rules/explicit-member-accessibility.js | 293 - .../explicit-member-accessibility.js.map | 1 - .../rules/explicit-module-boundary-types.js | 371 - .../explicit-module-boundary-types.js.map | 1 - .../eslint-plugin/dist/rules/index.js | 266 - .../eslint-plugin/dist/rules/index.js.map | 1 - .../dist/rules/init-declarations.js | 105 - .../dist/rules/init-declarations.js.map | 1 - .../eslint-plugin/dist/rules/max-params.js | 73 - .../dist/rules/max-params.js.map | 1 - .../dist/rules/member-ordering.js | 824 - .../dist/rules/member-ordering.js.map | 1 - .../dist/rules/method-signature-style.js | 177 - .../dist/rules/method-signature-style.js.map | 1 - .../rules/naming-convention-utils/enums.js | 103 - .../naming-convention-utils/enums.js.map | 1 - .../rules/naming-convention-utils/format.js | 91 - .../naming-convention-utils/format.js.map | 1 - .../rules/naming-convention-utils/index.js | 12 - .../naming-convention-utils/index.js.map | 1 - .../naming-convention-utils/parse-options.js | 70 - .../parse-options.js.map | 1 - .../rules/naming-convention-utils/schema.js | 307 - .../naming-convention-utils/schema.js.map | 1 - .../rules/naming-convention-utils/shared.js | 17 - .../naming-convention-utils/shared.js.map | 1 - .../rules/naming-convention-utils/types.js | 3 - .../naming-convention-utils/types.js.map | 1 - .../naming-convention-utils/validator.js | 350 - .../naming-convention-utils/validator.js.map | 1 - .../dist/rules/naming-convention.js | 505 - .../dist/rules/naming-convention.js.map | 1 - .../dist/rules/no-array-constructor.js | 52 - .../dist/rules/no-array-constructor.js.map | 1 - .../dist/rules/no-array-delete.js | 81 - .../dist/rules/no-array-delete.js.map | 1 - .../dist/rules/no-base-to-string.js | 252 - .../dist/rules/no-base-to-string.js.map | 1 - .../rules/no-confusing-non-null-assertion.js | 143 - .../no-confusing-non-null-assertion.js.map | 1 - .../rules/no-confusing-void-expression.js | 360 - .../rules/no-confusing-void-expression.js.map | 1 - .../eslint-plugin/dist/rules/no-deprecated.js | 298 - .../dist/rules/no-deprecated.js.map | 1 - .../dist/rules/no-dupe-class-members.js | 41 - .../dist/rules/no-dupe-class-members.js.map | 1 - .../dist/rules/no-duplicate-enum-values.js | 62 - .../rules/no-duplicate-enum-values.js.map | 1 - .../rules/no-duplicate-type-constituents.js | 194 - .../no-duplicate-type-constituents.js.map | 1 - .../dist/rules/no-dynamic-delete.js | 61 - .../dist/rules/no-dynamic-delete.js.map | 1 - .../dist/rules/no-empty-function.js | 135 - .../dist/rules/no-empty-function.js.map | 1 - .../dist/rules/no-empty-interface.js | 92 - .../dist/rules/no-empty-interface.js.map | 1 - .../dist/rules/no-empty-object-type.js | 144 - .../dist/rules/no-empty-object-type.js.map | 1 - .../dist/rules/no-explicit-any.js | 170 - .../dist/rules/no-explicit-any.js.map | 1 - .../dist/rules/no-extra-non-null-assertion.js | 36 - .../rules/no-extra-non-null-assertion.js.map | 1 - .../dist/rules/no-extraneous-class.js | 120 - .../dist/rules/no-extraneous-class.js.map | 1 - .../dist/rules/no-floating-promises.js | 385 - .../dist/rules/no-floating-promises.js.map | 1 - .../dist/rules/no-for-in-array.js | 71 - .../dist/rules/no-for-in-array.js.map | 1 - .../dist/rules/no-implied-eval.js | 153 - .../dist/rules/no-implied-eval.js.map | 1 - .../dist/rules/no-import-type-side-effects.js | 54 - .../rules/no-import-type-side-effects.js.map | 1 - .../dist/rules/no-inferrable-types.js | 184 - .../dist/rules/no-inferrable-types.js.map | 1 - .../dist/rules/no-invalid-this.js | 76 - .../dist/rules/no-invalid-this.js.map | 1 - .../dist/rules/no-invalid-void-type.js | 188 - .../dist/rules/no-invalid-void-type.js.map | 1 - .../eslint-plugin/dist/rules/no-loop-func.js | 188 - .../dist/rules/no-loop-func.js.map | 1 - .../dist/rules/no-loss-of-precision.js | 25 - .../dist/rules/no-loss-of-precision.js.map | 1 - .../dist/rules/no-magic-numbers.js | 248 - .../dist/rules/no-magic-numbers.js.map | 1 - .../rules/no-meaningless-void-operator.js | 105 - .../rules/no-meaningless-void-operator.js.map | 1 - .../dist/rules/no-misused-new.js | 82 - .../dist/rules/no-misused-new.js.map | 1 - .../dist/rules/no-misused-promises.js | 753 - .../dist/rules/no-misused-promises.js.map | 1 - .../dist/rules/no-mixed-enums.js | 201 - .../dist/rules/no-mixed-enums.js.map | 1 - .../eslint-plugin/dist/rules/no-namespace.js | 61 - .../dist/rules/no-namespace.js.map | 1 - ...no-non-null-asserted-nullish-coalescing.js | 74 - ...on-null-asserted-nullish-coalescing.js.map | 1 - .../no-non-null-asserted-optional-chain.js | 66 - ...no-non-null-asserted-optional-chain.js.map | 1 - .../dist/rules/no-non-null-assertion.js | 93 - .../dist/rules/no-non-null-assertion.js.map | 1 - .../eslint-plugin/dist/rules/no-redeclare.js | 201 - .../dist/rules/no-redeclare.js.map | 1 - .../rules/no-redundant-type-constituents.js | 432 - .../no-redundant-type-constituents.js.map | 1 - .../dist/rules/no-require-imports.js | 116 - .../dist/rules/no-require-imports.js.map | 1 - .../dist/rules/no-restricted-imports.js | 237 - .../dist/rules/no-restricted-imports.js.map | 1 - .../dist/rules/no-restricted-types.js | 166 - .../dist/rules/no-restricted-types.js.map | 1 - .../eslint-plugin/dist/rules/no-shadow.js | 484 - .../eslint-plugin/dist/rules/no-shadow.js.map | 1 - .../eslint-plugin/dist/rules/no-this-alias.js | 67 - .../dist/rules/no-this-alias.js.map | 1 - .../eslint-plugin/dist/rules/no-type-alias.js | 259 - .../dist/rules/no-type-alias.js.map | 1 - .../no-unnecessary-boolean-literal-compare.js | 242 - ...unnecessary-boolean-literal-compare.js.map | 1 - .../dist/rules/no-unnecessary-condition.js | 649 - .../rules/no-unnecessary-condition.js.map | 1 - ...necessary-parameter-property-assignment.js | 150 - ...ssary-parameter-property-assignment.js.map | 1 - .../dist/rules/no-unnecessary-qualifier.js | 157 - .../rules/no-unnecessary-qualifier.js.map | 1 - .../no-unnecessary-template-expression.js | 274 - .../no-unnecessary-template-expression.js.map | 1 - .../rules/no-unnecessary-type-arguments.js | 162 - .../no-unnecessary-type-arguments.js.map | 1 - .../rules/no-unnecessary-type-assertion.js | 290 - .../no-unnecessary-type-assertion.js.map | 1 - .../rules/no-unnecessary-type-constraint.js | 120 - .../no-unnecessary-type-constraint.js.map | 1 - .../rules/no-unnecessary-type-parameters.js | 386 - .../no-unnecessary-type-parameters.js.map | 1 - .../dist/rules/no-unsafe-argument.js | 267 - .../dist/rules/no-unsafe-argument.js.map | 1 - .../dist/rules/no-unsafe-assignment.js | 307 - .../dist/rules/no-unsafe-assignment.js.map | 1 - .../dist/rules/no-unsafe-call.js | 132 - .../dist/rules/no-unsafe-call.js.map | 1 - .../rules/no-unsafe-declaration-merging.js | 55 - .../no-unsafe-declaration-merging.js.map | 1 - .../dist/rules/no-unsafe-enum-comparison.js | 191 - .../rules/no-unsafe-enum-comparison.js.map | 1 - .../dist/rules/no-unsafe-function-type.js | 47 - .../dist/rules/no-unsafe-function-type.js.map | 1 - .../dist/rules/no-unsafe-member-access.js | 137 - .../dist/rules/no-unsafe-member-access.js.map | 1 - .../dist/rules/no-unsafe-return.js | 186 - .../dist/rules/no-unsafe-return.js.map | 1 - .../dist/rules/no-unsafe-type-assertion.js | 127 - .../rules/no-unsafe-type-assertion.js.map | 1 - .../dist/rules/no-unsafe-unary-minus.js | 79 - .../dist/rules/no-unsafe-unary-minus.js.map | 1 - .../dist/rules/no-unused-expressions.js | 65 - .../dist/rules/no-unused-expressions.js.map | 1 - .../dist/rules/no-unused-vars.js | 635 - .../dist/rules/no-unused-vars.js.map | 1 - .../dist/rules/no-use-before-define.js | 303 - .../dist/rules/no-use-before-define.js.map | 1 - .../dist/rules/no-useless-constructor.js | 58 - .../dist/rules/no-useless-constructor.js.map | 1 - .../dist/rules/no-useless-empty-export.js | 71 - .../dist/rules/no-useless-empty-export.js.map | 1 - .../dist/rules/no-var-requires.js | 73 - .../dist/rules/no-var-requires.js.map | 1 - .../dist/rules/no-wrapper-object-types.js | 61 - .../dist/rules/no-wrapper-object-types.js.map | 1 - .../non-nullable-type-assertion-style.js | 133 - .../non-nullable-type-assertion-style.js.map | 1 - .../dist/rules/only-throw-error.js | 115 - .../dist/rules/only-throw-error.js.map | 1 - .../dist/rules/parameter-properties.js | 171 - .../dist/rules/parameter-properties.js.map | 1 - .../dist/rules/prefer-as-const.js | 73 - .../dist/rules/prefer-as-const.js.map | 1 - .../dist/rules/prefer-destructuring.js | 215 - .../dist/rules/prefer-destructuring.js.map | 1 - .../dist/rules/prefer-enum-initializers.js | 63 - .../rules/prefer-enum-initializers.js.map | 1 - .../eslint-plugin/dist/rules/prefer-find.js | 251 - .../dist/rules/prefer-find.js.map | 1 - .../eslint-plugin/dist/rules/prefer-for-of.js | 116 - .../dist/rules/prefer-for-of.js.map | 1 - .../dist/rules/prefer-function-type.js | 187 - .../dist/rules/prefer-function-type.js.map | 1 - .../dist/rules/prefer-includes.js | 243 - .../dist/rules/prefer-includes.js.map | 1 - .../dist/rules/prefer-literal-enum-member.js | 117 - .../rules/prefer-literal-enum-member.js.map | 1 - .../dist/rules/prefer-namespace-keyword.js | 44 - .../rules/prefer-namespace-keyword.js.map | 1 - .../dist/rules/prefer-nullish-coalescing.js | 433 - .../rules/prefer-nullish-coalescing.js.map | 1 - .../PreferOptionalChainOptions.js | 3 - .../PreferOptionalChainOptions.js.map | 1 - .../analyzeChain.js | 467 - .../analyzeChain.js.map | 1 - .../checkNullishAndReport.js | 46 - .../checkNullishAndReport.js.map | 1 - .../compareNodes.js | 317 - .../compareNodes.js.map | 1 - .../gatherLogicalOperands.js | 289 - .../gatherLogicalOperands.js.map | 1 - .../dist/rules/prefer-optional-chain.js | 147 - .../dist/rules/prefer-optional-chain.js.map | 1 - .../rules/prefer-promise-reject-errors.js | 122 - .../rules/prefer-promise-reject-errors.js.map | 1 - .../rules/prefer-readonly-parameter-types.js | 90 - .../prefer-readonly-parameter-types.js.map | 1 - .../dist/rules/prefer-readonly.js | 336 - .../dist/rules/prefer-readonly.js.map | 1 - .../rules/prefer-reduce-type-parameter.js | 103 - .../rules/prefer-reduce-type-parameter.js.map | 1 - .../dist/rules/prefer-regexp-exec.js | 179 - .../dist/rules/prefer-regexp-exec.js.map | 1 - .../dist/rules/prefer-return-this-type.js | 147 - .../dist/rules/prefer-return-this-type.js.map | 1 - .../rules/prefer-string-starts-ends-with.js | 521 - .../prefer-string-starts-ends-with.js.map | 1 - .../dist/rules/prefer-ts-expect-error.js | 61 - .../dist/rules/prefer-ts-expect-error.js.map | 1 - .../dist/rules/promise-function-async.js | 198 - .../dist/rules/promise-function-async.js.map | 1 - .../dist/rules/related-getter-setter-pairs.js | 72 - .../rules/related-getter-setter-pairs.js.map | 1 - .../dist/rules/require-array-sort-compare.js | 64 - .../rules/require-array-sort-compare.js.map | 1 - .../eslint-plugin/dist/rules/require-await.js | 264 - .../dist/rules/require-await.js.map | 1 - .../dist/rules/restrict-plus-operands.js | 232 - .../dist/rules/restrict-plus-operands.js.map | 1 - .../rules/restrict-template-expressions.js | 120 - .../restrict-template-expressions.js.map | 1 - .../eslint-plugin/dist/rules/return-await.js | 374 - .../dist/rules/return-await.js.map | 1 - .../dist/rules/sort-type-constituents.js | 248 - .../dist/rules/sort-type-constituents.js.map | 1 - .../dist/rules/strict-boolean-expressions.js | 848 - .../rules/strict-boolean-expressions.js.map | 1 - .../dist/rules/switch-exhaustiveness-check.js | 287 - .../rules/switch-exhaustiveness-check.js.map | 1 - .../dist/rules/triple-slash-reference.js | 111 - .../dist/rules/triple-slash-reference.js.map | 1 - .../eslint-plugin/dist/rules/typedef.js | 224 - .../eslint-plugin/dist/rules/typedef.js.map | 1 - .../dist/rules/unbound-method.js | 332 - .../dist/rules/unbound-method.js.map | 1 - .../dist/rules/unified-signatures.js | 399 - .../dist/rules/unified-signatures.js.map | 1 - .../use-unknown-in-catch-callback-variable.js | 263 - ...-unknown-in-catch-callback-variable.js.map | 1 - .../dist/util/assertionFunctionUtils.js | 119 - .../dist/util/assertionFunctionUtils.js.map | 1 - .../eslint-plugin/dist/util/astUtils.js | 98 - .../eslint-plugin/dist/util/astUtils.js.map | 1 - .../dist/util/collectUnusedVariables.js | 605 - .../dist/util/collectUnusedVariables.js.map | 1 - .../eslint-plugin/dist/util/createRule.js | 6 - .../eslint-plugin/dist/util/createRule.js.map | 1 - .../eslint-plugin/dist/util/escapeRegExp.js | 15 - .../dist/util/escapeRegExp.js.map | 1 - .../dist/util/explicitReturnTypeUtils.js | 241 - .../dist/util/explicitReturnTypeUtils.js.map | 1 - .../dist/util/getESLintCoreRule.js | 17 - .../dist/util/getESLintCoreRule.js.map | 1 - .../dist/util/getFixOrSuggest.js | 14 - .../dist/util/getFixOrSuggest.js.map | 1 - .../dist/util/getForStatementHeadLoc.js | 27 - .../dist/util/getForStatementHeadLoc.js.map | 1 - .../dist/util/getFunctionHeadLoc.js | 162 - .../dist/util/getFunctionHeadLoc.js.map | 1 - .../dist/util/getMemberHeadLoc.js | 80 - .../dist/util/getMemberHeadLoc.js.map | 1 - .../dist/util/getOperatorPrecedence.js | 418 - .../dist/util/getOperatorPrecedence.js.map | 1 - .../dist/util/getParentFunctionNode.js | 19 - .../dist/util/getParentFunctionNode.js.map | 1 - .../dist/util/getStaticStringValue.js | 45 - .../dist/util/getStaticStringValue.js.map | 1 - .../dist/util/getStringLength.js | 19 - .../dist/util/getStringLength.js.map | 1 - .../dist/util/getTextWithParentheses.js | 17 - .../dist/util/getTextWithParentheses.js.map | 1 - .../dist/util/getThisExpression.js | 25 - .../dist/util/getThisExpression.js.map | 1 - .../eslint-plugin/dist/util/getWrappedCode.js | 7 - .../dist/util/getWrappedCode.js.map | 1 - .../dist/util/getWrappingFixer.js | 182 - .../dist/util/getWrappingFixer.js.map | 1 - .../eslint-plugin/dist/util/index.js | 51 - .../eslint-plugin/dist/util/index.js.map | 1 - .../util/isArrayMethodCallWithPredicate.js | 65 - .../isArrayMethodCallWithPredicate.js.map | 1 - .../eslint-plugin/dist/util/isAssignee.js | 43 - .../eslint-plugin/dist/util/isAssignee.js.map | 1 - .../eslint-plugin/dist/util/isNodeEqual.js | 26 - .../dist/util/isNodeEqual.js.map | 1 - .../eslint-plugin/dist/util/isNullLiteral.js | 8 - .../dist/util/isNullLiteral.js.map | 1 - .../dist/util/isStartOfExpressionStatement.js | 23 - .../util/isStartOfExpressionStatement.js.map | 1 - .../eslint-plugin/dist/util/isTypeImport.js | 22 - .../dist/util/isTypeImport.js.map | 1 - .../dist/util/isUndefinedIdentifier.js | 8 - .../dist/util/isUndefinedIdentifier.js.map | 1 - .../eslint-plugin/dist/util/misc.js | 274 - .../eslint-plugin/dist/util/misc.js.map | 1 - .../dist/util/needsPrecedingSemiColon.js | 98 - .../dist/util/needsPrecedingSemiColon.js.map | 1 - .../dist/util/needsToBeAwaited.js | 67 - .../dist/util/needsToBeAwaited.js.map | 1 - .../dist/util/objectIterators.js | 26 - .../dist/util/objectIterators.js.map | 1 - .../eslint-plugin/dist/util/rangeToLoc.js | 10 - .../eslint-plugin/dist/util/rangeToLoc.js.map | 1 - .../dist/util/referenceContainsTypeQuery.js | 20 - .../util/referenceContainsTypeQuery.js.map | 1 - .../eslint-plugin/dist/util/scopeUtils.js | 11 - .../eslint-plugin/dist/util/scopeUtils.js.map | 1 - .../eslint-plugin/dist/util/types.js | 3 - .../eslint-plugin/dist/util/types.js.map | 1 - .../eslint-plugin/docs/rules/README.md | 57 - .../eslint-plugin/docs/rules/TEMPLATE.md | 36 - .../rules/adjacent-overload-signatures.mdx | 105 - .../eslint-plugin/docs/rules/array-type.mdx | 126 - .../docs/rules/await-thenable.mdx | 184 - .../docs/rules/ban-ts-comment.mdx | 165 - .../docs/rules/ban-tslint-comment.mdx | 45 - .../eslint-plugin/docs/rules/ban-types.md | 26 - .../eslint-plugin/docs/rules/block-spacing.md | 15 - .../eslint-plugin/docs/rules/brace-style.md | 15 - .../eslint-plugin/docs/rules/camelcase.md | 15 - .../rules/class-literal-property-style.mdx | 112 - .../docs/rules/class-methods-use-this.mdx | 105 - .../eslint-plugin/docs/rules/comma-dangle.md | 15 - .../eslint-plugin/docs/rules/comma-spacing.md | 15 - .../rules/consistent-generic-constructors.mdx | 87 - .../rules/consistent-indexed-object-style.mdx | 105 - .../docs/rules/consistent-return.mdx | 52 - .../docs/rules/consistent-type-assertions.mdx | 123 - .../rules/consistent-type-definitions.mdx | 94 - .../docs/rules/consistent-type-exports.mdx | 97 - .../docs/rules/consistent-type-imports.mdx | 139 - .../docs/rules/default-param-last.mdx | 60 - .../eslint-plugin/docs/rules/dot-notation.mdx | 95 - .../rules/explicit-function-return-type.mdx | 359 - .../rules/explicit-member-accessibility.mdx | 353 - .../rules/explicit-module-boundary-types.mdx | 273 - .../docs/rules/func-call-spacing.md | 15 - .../eslint-plugin/docs/rules/indent.md | 15 - .../docs/rules/init-declarations.mdx | 13 - .../eslint-plugin/docs/rules/key-spacing.md | 15 - .../docs/rules/keyword-spacing.md | 15 - .../docs/rules/lines-around-comment.md | 15 - .../docs/rules/lines-between-class-members.md | 15 - .../eslint-plugin/docs/rules/max-params.mdx | 55 - .../docs/rules/member-delimiter-style.md | 15 - .../docs/rules/member-ordering.mdx | 1483 - .../docs/rules/method-signature-style.mdx | 124 - .../docs/rules/naming-convention.mdx | 755 - .../docs/rules/no-array-constructor.mdx | 35 - .../docs/rules/no-array-delete.mdx | 44 - .../docs/rules/no-base-to-string.mdx | 115 - .../rules/no-confusing-non-null-assertion.mdx | 75 - .../rules/no-confusing-void-expression.mdx | 154 - .../docs/rules/no-deprecated.mdx | 69 - .../docs/rules/no-dupe-class-members.mdx | 17 - .../docs/rules/no-duplicate-enum-values.mdx | 64 - .../docs/rules/no-duplicate-imports.mdx | 17 - .../rules/no-duplicate-type-constituents.mdx | 89 - .../docs/rules/no-dynamic-delete.mdx | 64 - .../docs/rules/no-empty-function.mdx | 95 - .../docs/rules/no-empty-interface.mdx | 75 - .../docs/rules/no-empty-object-type.mdx | 150 - .../docs/rules/no-explicit-any.mdx | 176 - .../rules/no-extra-non-null-assertion.mdx | 60 - .../docs/rules/no-extra-parens.md | 15 - .../eslint-plugin/docs/rules/no-extra-semi.md | 15 - .../docs/rules/no-extraneous-class.mdx | 329 - .../docs/rules/no-floating-promises.mdx | 282 - .../docs/rules/no-for-in-array.mdx | 67 - .../docs/rules/no-implied-eval.mdx | 104 - .../rules/no-import-type-side-effects.mdx | 80 - .../docs/rules/no-inferrable-types.mdx | 113 - .../docs/rules/no-invalid-this.mdx | 17 - .../docs/rules/no-invalid-void-type.mdx | 119 - .../eslint-plugin/docs/rules/no-loop-func.mdx | 13 - .../docs/rules/no-loss-of-precision.mdx | 17 - .../docs/rules/no-magic-numbers.mdx | 132 - .../rules/no-meaningless-void-operator.mdx | 61 - .../docs/rules/no-misused-new.mdx | 53 - .../docs/rules/no-misused-promises.mdx | 314 - .../docs/rules/no-mixed-enums.mdx | 96 - .../eslint-plugin/docs/rules/no-namespace.mdx | 149 - ...o-non-null-asserted-nullish-coalescing.mdx | 60 - .../no-non-null-asserted-optional-chain.mdx | 46 - .../docs/rules/no-non-null-assertion.mdx | 48 - .../docs/rules/no-parameter-properties.mdx | 16 - .../eslint-plugin/docs/rules/no-redeclare.mdx | 80 - .../rules/no-redundant-type-constituents.mdx | 102 - .../docs/rules/no-require-imports.mdx | 100 - .../docs/rules/no-restricted-imports.mdx | 80 - .../docs/rules/no-restricted-types.mdx | 70 - .../eslint-plugin/docs/rules/no-shadow.mdx | 110 - .../docs/rules/no-this-alias.mdx | 124 - .../docs/rules/no-type-alias.mdx | 626 - ...no-unnecessary-boolean-literal-compare.mdx | 149 - .../docs/rules/no-unnecessary-condition.mdx | 176 - ...ecessary-parameter-property-assignment.mdx | 42 - .../docs/rules/no-unnecessary-qualifier.mdx | 57 - .../no-unnecessary-template-expression.mdx | 85 - .../rules/no-unnecessary-type-arguments.mdx | 85 - .../rules/no-unnecessary-type-assertion.mdx | 89 - .../rules/no-unnecessary-type-constraint.mdx | 61 - .../rules/no-unnecessary-type-parameters.mdx | 235 - .../docs/rules/no-unsafe-argument.mdx | 97 - .../docs/rules/no-unsafe-assignment.mdx | 100 - .../docs/rules/no-unsafe-call.mdx | 119 - .../rules/no-unsafe-declaration-merging.mdx | 65 - .../docs/rules/no-unsafe-enum-comparison.mdx | 98 - .../docs/rules/no-unsafe-function-type.mdx | 64 - .../docs/rules/no-unsafe-member-access.mdx | 80 - .../docs/rules/no-unsafe-return.mdx | 125 - .../docs/rules/no-unsafe-type-assertion.mdx | 63 - .../docs/rules/no-unsafe-unary-minus.mdx | 60 - .../docs/rules/no-unused-expressions.mdx | 53 - .../docs/rules/no-unused-vars.mdx | 54 - .../docs/rules/no-use-before-define.mdx | 99 - .../docs/rules/no-useless-constructor.mdx | 22 - .../docs/rules/no-useless-empty-export.mdx | 53 - .../rules/no-useless-template-literals.mdx | 9 - .../docs/rules/no-var-requires.mdx | 77 - .../docs/rules/no-wrapper-object-types.mdx | 75 - .../non-nullable-type-assertion-style.mdx | 47 - .../docs/rules/object-curly-spacing.md | 15 - .../docs/rules/only-throw-error.mdx | 144 - .../rules/padding-line-between-statements.md | 15 - .../docs/rules/parameter-properties.mdx | 522 - .../docs/rules/prefer-as-const.mdx | 51 - .../docs/rules/prefer-destructuring.mdx | 102 - .../docs/rules/prefer-enum-initializers.mdx | 68 - .../eslint-plugin/docs/rules/prefer-find.mdx | 45 - .../docs/rules/prefer-for-of.mdx | 50 - .../docs/rules/prefer-function-type.mdx | 98 - .../docs/rules/prefer-includes.mdx | 81 - .../docs/rules/prefer-literal-enum-member.mdx | 111 - .../docs/rules/prefer-namespace-keyword.mdx | 51 - .../docs/rules/prefer-nullish-coalescing.mdx | 222 - .../docs/rules/prefer-optional-chain.mdx | 304 - .../rules/prefer-promise-reject-errors.mdx | 79 - .../rules/prefer-readonly-parameter-types.mdx | 408 - .../docs/rules/prefer-readonly.mdx | 111 - .../rules/prefer-reduce-type-parameter.mdx | 66 - .../docs/rules/prefer-regexp-exec.mdx | 52 - .../docs/rules/prefer-return-this-type.mdx | 93 - .../rules/prefer-string-starts-ends-with.mdx | 84 - .../docs/rules/prefer-ts-expect-error.mdx | 86 - .../docs/rules/promise-function-async.mdx | 143 - .../eslint-plugin/docs/rules/quotes.md | 15 - .../rules/related-getter-setter-pairs.mdx | 61 - .../docs/rules/require-array-sort-compare.mdx | 89 - .../docs/rules/require-await.mdx | 54 - .../docs/rules/restrict-plus-operands.mdx | 244 - .../rules/restrict-template-expressions.mdx | 169 - .../eslint-plugin/docs/rules/return-await.mdx | 328 - .../eslint-plugin/docs/rules/semi.md | 15 - .../docs/rules/sort-type-constituents.mdx | 209 - .../sort-type-union-intersection-members.mdx | 16 - .../docs/rules/space-before-blocks.md | 15 - .../docs/rules/space-before-function-paren.md | 15 - .../docs/rules/space-infix-ops.md | 15 - .../docs/rules/strict-boolean-expressions.mdx | 212 - .../rules/switch-exhaustiveness-check.mdx | 280 - .../docs/rules/triple-slash-reference.mdx | 129 - .../docs/rules/type-annotation-spacing.md | 15 - .../eslint-plugin/docs/rules/typedef.mdx | 347 - .../docs/rules/unbound-method.mdx | 114 - .../docs/rules/unified-signatures.mdx | 88 - ...use-unknown-in-catch-callback-variable.mdx | 93 - .../eslint-plugin/eslint-recommended-raw.d.ts | 5 - .../eslint-plugin/index.d.ts | 13 - .../eslint-plugin/node_modules/.bin/eslint | 17 - .../eslint-plugin/node_modules/.bin/tsc | 17 - .../eslint-plugin/node_modules/.bin/tsserver | 17 - .../eslint-plugin/package.json | 108 - .../eslint-plugin/rules.d.ts | 86 - .../node_modules/@typescript-eslint/parser | 1 - .../@typescript-eslint/scope-manager | 1 - .../@typescript-eslint/type-utils | 1 - .../node_modules/@typescript-eslint/utils | 1 - .../@typescript-eslint/visitor-keys | 1 - .../node_modules/eslint | 1 - .../node_modules/graphemer | 1 - .../node_modules/ignore | 1 - .../node_modules/natural-compare | 1 - .../node_modules/ts-api-utils | 1 - .../node_modules/typescript | 1 - .../@typescript-eslint/parser/LICENSE | 21 - .../@typescript-eslint/parser/README.md | 12 - .../@typescript-eslint/parser/dist/index.d.ts | 8 - .../parser/dist/index.d.ts.map | 1 - .../@typescript-eslint/parser/dist/index.js | 18 - .../parser/dist/index.js.map | 1 - .../parser/dist/parser.d.ts | 24 - .../parser/dist/parser.d.ts.map | 1 - .../@typescript-eslint/parser/dist/parser.js | 139 - .../parser/dist/parser.js.map | 1 - .../parser/node_modules/.bin/eslint | 17 - .../parser/node_modules/.bin/tsc | 17 - .../parser/node_modules/.bin/tsserver | 17 - .../@typescript-eslint/parser/package.json | 83 - .../@typescript-eslint/scope-manager | 1 - .../node_modules/@typescript-eslint/types | 1 - .../@typescript-eslint/typescript-estree | 1 - .../@typescript-eslint/visitor-keys | 1 - .../node_modules/debug | 1 - .../node_modules/eslint | 1 - .../node_modules/typescript | 1 - .../parser/node_modules/.bin/eslint | 4 +- .../parser/node_modules/.bin/tsc | 4 +- .../parser/node_modules/.bin/tsserver | 4 +- .../@typescript-eslint/type-utils/LICENSE | 21 - .../@typescript-eslint/type-utils/README.md | 12 - .../type-utils/dist/TypeOrValueSpecifier.d.ts | 130 - .../dist/TypeOrValueSpecifier.d.ts.map | 1 - .../type-utils/dist/TypeOrValueSpecifier.js | 161 - .../dist/TypeOrValueSpecifier.js.map | 1 - .../type-utils/dist/builtinSymbolLikes.d.ts | 54 - .../dist/builtinSymbolLikes.d.ts.map | 1 - .../type-utils/dist/builtinSymbolLikes.js | 166 - .../type-utils/dist/builtinSymbolLikes.js.map | 1 - .../dist/containsAllTypesByName.d.ts | 10 - .../dist/containsAllTypesByName.d.ts.map | 1 - .../type-utils/dist/containsAllTypesByName.js | 70 - .../dist/containsAllTypesByName.js.map | 1 - .../dist/getConstrainedTypeAtLocation.d.ts | 7 - .../getConstrainedTypeAtLocation.d.ts.map | 1 - .../dist/getConstrainedTypeAtLocation.js | 14 - .../dist/getConstrainedTypeAtLocation.js.map | 1 - .../type-utils/dist/getContextualType.d.ts | 8 - .../dist/getContextualType.d.ts.map | 1 - .../type-utils/dist/getContextualType.js | 77 - .../type-utils/dist/getContextualType.js.map | 1 - .../type-utils/dist/getDeclaration.d.ts | 7 - .../type-utils/dist/getDeclaration.d.ts.map | 1 - .../type-utils/dist/getDeclaration.js | 15 - .../type-utils/dist/getDeclaration.js.map | 1 - .../type-utils/dist/getSourceFileOfNode.d.ts | 6 - .../dist/getSourceFileOfNode.d.ts.map | 1 - .../type-utils/dist/getSourceFileOfNode.js | 47 - .../dist/getSourceFileOfNode.js.map | 1 - .../type-utils/dist/getTypeName.d.ts | 8 - .../type-utils/dist/getTypeName.d.ts.map | 1 - .../type-utils/dist/getTypeName.js | 84 - .../type-utils/dist/getTypeName.js.map | 1 - .../type-utils/dist/index.d.ts | 17 - .../type-utils/dist/index.d.ts.map | 1 - .../type-utils/dist/index.js | 37 - .../type-utils/dist/index.js.map | 1 - .../dist/isSymbolFromDefaultLibrary.d.ts | 3 - .../dist/isSymbolFromDefaultLibrary.d.ts.map | 1 - .../dist/isSymbolFromDefaultLibrary.js | 17 - .../dist/isSymbolFromDefaultLibrary.js.map | 1 - .../type-utils/dist/isTypeReadonly.d.ts | 102 - .../type-utils/dist/isTypeReadonly.d.ts.map | 1 - .../type-utils/dist/isTypeReadonly.js | 233 - .../type-utils/dist/isTypeReadonly.js.map | 1 - .../type-utils/dist/isUnsafeAssignment.d.ts | 17 - .../dist/isUnsafeAssignment.d.ts.map | 1 - .../type-utils/dist/isUnsafeAssignment.js | 115 - .../type-utils/dist/isUnsafeAssignment.js.map | 1 - .../type-utils/dist/predicates.d.ts | 49 - .../type-utils/dist/predicates.d.ts.map | 1 - .../type-utils/dist/predicates.js | 191 - .../type-utils/dist/predicates.js.map | 1 - .../type-utils/dist/propertyTypes.d.ts | 4 - .../type-utils/dist/propertyTypes.d.ts.map | 1 - .../type-utils/dist/propertyTypes.js | 36 - .../type-utils/dist/propertyTypes.js.map | 1 - .../type-utils/dist/requiresQuoting.d.ts | 5 - .../type-utils/dist/requiresQuoting.d.ts.map | 1 - .../type-utils/dist/requiresQuoting.js | 53 - .../type-utils/dist/requiresQuoting.js.map | 1 - .../type-utils/dist/typeFlagUtils.d.ts | 18 - .../type-utils/dist/typeFlagUtils.d.ts.map | 1 - .../type-utils/dist/typeFlagUtils.js | 71 - .../type-utils/dist/typeFlagUtils.js.map | 1 - .../specifierNameMatches.d.ts | 3 - .../specifierNameMatches.d.ts.map | 1 - .../specifierNameMatches.js | 54 - .../specifierNameMatches.js.map | 1 - .../typeDeclaredInFile.d.ts | 3 - .../typeDeclaredInFile.d.ts.map | 1 - .../typeDeclaredInFile.js | 17 - .../typeDeclaredInFile.js.map | 1 - .../typeDeclaredInLib.d.ts | 3 - .../typeDeclaredInLib.d.ts.map | 1 - .../typeDeclaredInLib.js | 12 - .../typeDeclaredInLib.js.map | 1 - .../typeDeclaredInPackageDeclarationFile.d.ts | 3 - ...eDeclaredInPackageDeclarationFile.d.ts.map | 1 - .../typeDeclaredInPackageDeclarationFile.js | 68 - ...ypeDeclaredInPackageDeclarationFile.js.map | 1 - .../type-utils/node_modules/.bin/eslint | 17 - .../type-utils/node_modules/.bin/tsc | 17 - .../type-utils/node_modules/.bin/tsserver | 17 - .../type-utils/package.json | 79 - .../@typescript-eslint/typescript-estree | 1 - .../node_modules/@typescript-eslint/utils | 1 - .../node_modules/debug | 1 - .../node_modules/eslint | 1 - .../node_modules/ts-api-utils | 1 - .../node_modules/typescript | 1 - .../type-utils/node_modules/.bin/eslint | 4 +- .../type-utils/node_modules/.bin/tsc | 4 +- .../type-utils/node_modules/.bin/tsserver | 4 +- .../node_modules/.bin/semver | 4 +- .../typescript-estree/node_modules/.bin/tsc | 4 +- .../node_modules/.bin/tsserver | 4 +- .../@eslint-community/eslint-utils | 1 - .../@typescript-eslint/scope-manager | 1 - .../node_modules/@typescript-eslint/types | 1 - .../@typescript-eslint/typescript-estree | 1 - .../@typescript-eslint/utils/LICENSE | 21 - .../@typescript-eslint/utils/README.md | 12 - .../eslint-utils/PatternMatcher.d.ts | 48 - .../eslint-utils/PatternMatcher.d.ts.map | 1 - .../ast-utils/eslint-utils/PatternMatcher.js | 46 - .../eslint-utils/PatternMatcher.js.map | 1 - .../eslint-utils/ReferenceTracker.d.ts | 76 - .../eslint-utils/ReferenceTracker.d.ts.map | 1 - .../eslint-utils/ReferenceTracker.js | 50 - .../eslint-utils/ReferenceTracker.js.map | 1 - .../ast-utils/eslint-utils/astUtilities.d.ts | 85 - .../eslint-utils/astUtilities.d.ts.map | 1 - .../ast-utils/eslint-utils/astUtilities.js | 109 - .../eslint-utils/astUtilities.js.map | 1 - .../dist/ast-utils/eslint-utils/index.d.ts | 6 - .../ast-utils/eslint-utils/index.d.ts.map | 1 - .../dist/ast-utils/eslint-utils/index.js | 22 - .../dist/ast-utils/eslint-utils/index.js.map | 1 - .../ast-utils/eslint-utils/predicates.d.ts | 32 - .../eslint-utils/predicates.d.ts.map | 1 - .../dist/ast-utils/eslint-utils/predicates.js | 82 - .../ast-utils/eslint-utils/predicates.js.map | 1 - .../ast-utils/eslint-utils/scopeAnalysis.d.ts | 18 - .../eslint-utils/scopeAnalysis.d.ts.map | 1 - .../ast-utils/eslint-utils/scopeAnalysis.js | 54 - .../eslint-utils/scopeAnalysis.js.map | 1 - .../utils/dist/ast-utils/helpers.d.ts | 19 - .../utils/dist/ast-utils/helpers.d.ts.map | 1 - .../utils/dist/ast-utils/helpers.js | 22 - .../utils/dist/ast-utils/helpers.js.map | 1 - .../utils/dist/ast-utils/index.d.ts | 5 - .../utils/dist/ast-utils/index.d.ts.map | 1 - .../utils/dist/ast-utils/index.js | 21 - .../utils/dist/ast-utils/index.js.map | 1 - .../utils/dist/ast-utils/misc.d.ts | 8 - .../utils/dist/ast-utils/misc.d.ts.map | 1 - .../utils/dist/ast-utils/misc.js | 13 - .../utils/dist/ast-utils/misc.js.map | 1 - .../utils/dist/ast-utils/predicates.d.ts | 70 - .../utils/dist/ast-utils/predicates.d.ts.map | 1 - .../utils/dist/ast-utils/predicates.js | 136 - .../utils/dist/ast-utils/predicates.js.map | 1 - .../dist/eslint-utils/InferTypesFromRule.d.ts | 11 - .../eslint-utils/InferTypesFromRule.d.ts.map | 1 - .../dist/eslint-utils/InferTypesFromRule.js | 3 - .../eslint-utils/InferTypesFromRule.js.map | 1 - .../utils/dist/eslint-utils/RuleCreator.d.ts | 28 - .../dist/eslint-utils/RuleCreator.d.ts.map | 1 - .../utils/dist/eslint-utils/RuleCreator.js | 46 - .../dist/eslint-utils/RuleCreator.js.map | 1 - .../utils/dist/eslint-utils/applyDefault.d.ts | 10 - .../dist/eslint-utils/applyDefault.d.ts.map | 1 - .../utils/dist/eslint-utils/applyDefault.js | 34 - .../dist/eslint-utils/applyDefault.js.map | 1 - .../utils/dist/eslint-utils/deepMerge.d.ts | 16 - .../dist/eslint-utils/deepMerge.d.ts.map | 1 - .../utils/dist/eslint-utils/deepMerge.js | 47 - .../utils/dist/eslint-utils/deepMerge.js.map | 1 - .../dist/eslint-utils/getParserServices.d.ts | 24 - .../eslint-utils/getParserServices.d.ts.map | 1 - .../dist/eslint-utils/getParserServices.js | 40 - .../eslint-utils/getParserServices.js.map | 1 - .../utils/dist/eslint-utils/index.d.ts | 7 - .../utils/dist/eslint-utils/index.d.ts.map | 1 - .../utils/dist/eslint-utils/index.js | 23 - .../utils/dist/eslint-utils/index.js.map | 1 - .../utils/dist/eslint-utils/nullThrows.d.ts | 14 - .../dist/eslint-utils/nullThrows.d.ts.map | 1 - .../utils/dist/eslint-utils/nullThrows.js | 23 - .../utils/dist/eslint-utils/nullThrows.js.map | 1 - .../eslint-utils/parserSeemsToBeTSESLint.d.ts | 2 - .../parserSeemsToBeTSESLint.d.ts.map | 1 - .../eslint-utils/parserSeemsToBeTSESLint.js | 7 - .../parserSeemsToBeTSESLint.js.map | 1 - .../@typescript-eslint/utils/dist/index.d.ts | 7 - .../utils/dist/index.d.ts.map | 1 - .../@typescript-eslint/utils/dist/index.js | 46 - .../utils/dist/index.js.map | 1 - .../utils/dist/json-schema.d.ts | 388 - .../utils/dist/json-schema.d.ts.map | 1 - .../utils/dist/json-schema.js | 9 - .../utils/dist/json-schema.js.map | 1 - .../utils/dist/ts-eslint/AST.d.ts | 9 - .../utils/dist/ts-eslint/AST.d.ts.map | 1 - .../utils/dist/ts-eslint/AST.js | 4 - .../utils/dist/ts-eslint/AST.js.map | 1 - .../utils/dist/ts-eslint/Config.d.ts | 269 - .../utils/dist/ts-eslint/Config.d.ts.map | 1 - .../utils/dist/ts-eslint/Config.js | 4 - .../utils/dist/ts-eslint/Config.js.map | 1 - .../utils/dist/ts-eslint/ESLint.d.ts | 8 - .../utils/dist/ts-eslint/ESLint.d.ts.map | 1 - .../utils/dist/ts-eslint/ESLint.js | 14 - .../utils/dist/ts-eslint/ESLint.js.map | 1 - .../utils/dist/ts-eslint/Linter.d.ts | 253 - .../utils/dist/ts-eslint/Linter.d.ts.map | 1 - .../utils/dist/ts-eslint/Linter.js | 14 - .../utils/dist/ts-eslint/Linter.js.map | 1 - .../utils/dist/ts-eslint/Parser.d.ts | 95 - .../utils/dist/ts-eslint/Parser.d.ts.map | 1 - .../utils/dist/ts-eslint/Parser.js | 4 - .../utils/dist/ts-eslint/Parser.js.map | 1 - .../utils/dist/ts-eslint/ParserOptions.d.ts | 2 - .../dist/ts-eslint/ParserOptions.d.ts.map | 1 - .../utils/dist/ts-eslint/ParserOptions.js | 3 - .../utils/dist/ts-eslint/ParserOptions.js.map | 1 - .../utils/dist/ts-eslint/Processor.d.ts | 64 - .../utils/dist/ts-eslint/Processor.d.ts.map | 1 - .../utils/dist/ts-eslint/Processor.js | 4 - .../utils/dist/ts-eslint/Processor.js.map | 1 - .../utils/dist/ts-eslint/Rule.d.ts | 545 - .../utils/dist/ts-eslint/Rule.d.ts.map | 1 - .../utils/dist/ts-eslint/Rule.js | 3 - .../utils/dist/ts-eslint/Rule.js.map | 1 - .../utils/dist/ts-eslint/RuleTester.d.ts | 184 - .../utils/dist/ts-eslint/RuleTester.d.ts.map | 1 - .../utils/dist/ts-eslint/RuleTester.js | 12 - .../utils/dist/ts-eslint/RuleTester.js.map | 1 - .../utils/dist/ts-eslint/Scope.d.ts | 44 - .../utils/dist/ts-eslint/Scope.d.ts.map | 1 - .../utils/dist/ts-eslint/Scope.js | 44 - .../utils/dist/ts-eslint/Scope.js.map | 1 - .../utils/dist/ts-eslint/SourceCode.d.ts | 355 - .../utils/dist/ts-eslint/SourceCode.d.ts.map | 1 - .../utils/dist/ts-eslint/SourceCode.js | 9 - .../utils/dist/ts-eslint/SourceCode.js.map | 1 - .../dist/ts-eslint/eslint/ESLintShared.d.ts | 382 - .../ts-eslint/eslint/ESLintShared.d.ts.map | 1 - .../dist/ts-eslint/eslint/ESLintShared.js | 3 - .../dist/ts-eslint/eslint/ESLintShared.js.map | 1 - .../dist/ts-eslint/eslint/FlatESLint.d.ts | 84 - .../dist/ts-eslint/eslint/FlatESLint.d.ts.map | 1 - .../utils/dist/ts-eslint/eslint/FlatESLint.js | 15 - .../dist/ts-eslint/eslint/FlatESLint.js.map | 1 - .../dist/ts-eslint/eslint/LegacyESLint.d.ts | 73 - .../ts-eslint/eslint/LegacyESLint.d.ts.map | 1 - .../dist/ts-eslint/eslint/LegacyESLint.js | 15 - .../dist/ts-eslint/eslint/LegacyESLint.js.map | 1 - .../utils/dist/ts-eslint/index.d.ts | 12 - .../utils/dist/ts-eslint/index.d.ts.map | 1 - .../utils/dist/ts-eslint/index.js | 28 - .../utils/dist/ts-eslint/index.js.map | 1 - .../utils/dist/ts-estree.d.ts | 3 - .../utils/dist/ts-estree.d.ts.map | 1 - .../utils/dist/ts-estree.js | 10 - .../utils/dist/ts-estree.js.map | 1 - .../utils/dist/ts-utils/NoInfer.d.ts | 10 - .../utils/dist/ts-utils/NoInfer.d.ts.map | 1 - .../utils/dist/ts-utils/NoInfer.js | 3 - .../utils/dist/ts-utils/NoInfer.js.map | 1 - .../utils/dist/ts-utils/index.d.ts | 3 - .../utils/dist/ts-utils/index.d.ts.map | 1 - .../utils/dist/ts-utils/index.js | 19 - .../utils/dist/ts-utils/index.js.map | 1 - .../utils/dist/ts-utils/isArray.d.ts | 2 - .../utils/dist/ts-utils/isArray.d.ts.map | 1 - .../utils/dist/ts-utils/isArray.js | 8 - .../utils/dist/ts-utils/isArray.js.map | 1 - .../utils/node_modules/.bin/eslint | 17 - .../utils/node_modules/.bin/tsc | 17 - .../utils/node_modules/.bin/tsserver | 17 - .../@typescript-eslint/utils/package.json | 93 - .../node_modules/eslint | 1 - .../node_modules/typescript | 1 - .../utils/node_modules/.bin/eslint | 4 +- .../utils/node_modules/.bin/tsc | 4 +- .../utils/node_modules/.bin/tsserver | 4 +- .../plugin-react/node_modules/.bin/vite | 4 +- .../acorn-jsx/node_modules/.bin/acorn | 4 +- .../node_modules/.bin/browserslist | 4 +- .../node_modules/.bin/update-browserslist-db | 4 +- .../node_modules/caniuse-lite/LICENSE | 395 - .../node_modules/caniuse-lite/README.md | 6 - .../node_modules/caniuse-lite/data/agents.js | 1 - .../caniuse-lite/data/browserVersions.js | 1 - .../caniuse-lite/data/browsers.js | 1 - .../caniuse-lite/data/features.js | 1 - .../caniuse-lite/data/features/aac.js | 1 - .../data/features/abortcontroller.js | 1 - .../caniuse-lite/data/features/ac3-ec3.js | 1 - .../data/features/accelerometer.js | 1 - .../data/features/addeventlistener.js | 1 - .../data/features/alternate-stylesheet.js | 1 - .../data/features/ambient-light.js | 1 - .../caniuse-lite/data/features/apng.js | 1 - .../data/features/array-find-index.js | 1 - .../caniuse-lite/data/features/array-find.js | 1 - .../caniuse-lite/data/features/array-flat.js | 1 - .../data/features/array-includes.js | 1 - .../data/features/arrow-functions.js | 1 - .../caniuse-lite/data/features/asmjs.js | 1 - .../data/features/async-clipboard.js | 1 - .../data/features/async-functions.js | 1 - .../caniuse-lite/data/features/atob-btoa.js | 1 - .../caniuse-lite/data/features/audio-api.js | 1 - .../caniuse-lite/data/features/audio.js | 1 - .../caniuse-lite/data/features/audiotracks.js | 1 - .../caniuse-lite/data/features/autofocus.js | 1 - .../caniuse-lite/data/features/auxclick.js | 1 - .../caniuse-lite/data/features/av1.js | 1 - .../caniuse-lite/data/features/avif.js | 1 - .../data/features/background-attachment.js | 1 - .../data/features/background-clip-text.js | 1 - .../data/features/background-img-opts.js | 1 - .../data/features/background-position-x-y.js | 1 - .../features/background-repeat-round-space.js | 1 - .../data/features/background-sync.js | 1 - .../data/features/battery-status.js | 1 - .../caniuse-lite/data/features/beacon.js | 1 - .../data/features/beforeafterprint.js | 1 - .../caniuse-lite/data/features/bigint.js | 1 - .../caniuse-lite/data/features/blobbuilder.js | 1 - .../caniuse-lite/data/features/bloburls.js | 1 - .../data/features/border-image.js | 1 - .../data/features/border-radius.js | 1 - .../data/features/broadcastchannel.js | 1 - .../caniuse-lite/data/features/brotli.js | 1 - .../caniuse-lite/data/features/calc.js | 1 - .../data/features/canvas-blending.js | 1 - .../caniuse-lite/data/features/canvas-text.js | 1 - .../caniuse-lite/data/features/canvas.js | 1 - .../caniuse-lite/data/features/ch-unit.js | 1 - .../data/features/chacha20-poly1305.js | 1 - .../data/features/channel-messaging.js | 1 - .../data/features/childnode-remove.js | 1 - .../caniuse-lite/data/features/classlist.js | 1 - .../client-hints-dpr-width-viewport.js | 1 - .../caniuse-lite/data/features/clipboard.js | 1 - .../caniuse-lite/data/features/colr-v1.js | 1 - .../caniuse-lite/data/features/colr.js | 1 - .../data/features/comparedocumentposition.js | 1 - .../data/features/console-basic.js | 1 - .../data/features/console-time.js | 1 - .../caniuse-lite/data/features/const.js | 1 - .../data/features/constraint-validation.js | 1 - .../data/features/contenteditable.js | 1 - .../data/features/contentsecuritypolicy.js | 1 - .../data/features/contentsecuritypolicy2.js | 1 - .../data/features/cookie-store-api.js | 1 - .../caniuse-lite/data/features/cors.js | 1 - .../data/features/createimagebitmap.js | 1 - .../data/features/credential-management.js | 1 - .../data/features/cryptography.js | 1 - .../caniuse-lite/data/features/css-all.js | 1 - .../data/features/css-anchor-positioning.js | 1 - .../data/features/css-animation.js | 1 - .../data/features/css-any-link.js | 1 - .../data/features/css-appearance.js | 1 - .../data/features/css-at-counter-style.js | 1 - .../data/features/css-autofill.js | 1 - .../data/features/css-backdrop-filter.js | 1 - .../data/features/css-background-offsets.js | 1 - .../data/features/css-backgroundblendmode.js | 1 - .../data/features/css-boxdecorationbreak.js | 1 - .../data/features/css-boxshadow.js | 1 - .../caniuse-lite/data/features/css-canvas.js | 1 - .../data/features/css-caret-color.js | 1 - .../data/features/css-cascade-layers.js | 1 - .../data/features/css-cascade-scope.js | 1 - .../data/features/css-case-insensitive.js | 1 - .../data/features/css-clip-path.js | 1 - .../data/features/css-color-adjust.js | 1 - .../data/features/css-color-function.js | 1 - .../data/features/css-conic-gradients.js | 1 - .../features/css-container-queries-style.js | 1 - .../data/features/css-container-queries.js | 1 - .../features/css-container-query-units.js | 1 - .../data/features/css-containment.js | 1 - .../data/features/css-content-visibility.js | 1 - .../data/features/css-counters.js | 1 - .../data/features/css-crisp-edges.js | 1 - .../data/features/css-cross-fade.js | 1 - .../data/features/css-default-pseudo.js | 1 - .../data/features/css-descendant-gtgt.js | 1 - .../data/features/css-deviceadaptation.js | 1 - .../data/features/css-dir-pseudo.js | 1 - .../data/features/css-display-contents.js | 1 - .../data/features/css-element-function.js | 1 - .../data/features/css-env-function.js | 1 - .../data/features/css-exclusions.js | 1 - .../data/features/css-featurequeries.js | 1 - .../data/features/css-file-selector-button.js | 1 - .../data/features/css-filter-function.js | 1 - .../caniuse-lite/data/features/css-filters.js | 1 - .../data/features/css-first-letter.js | 1 - .../data/features/css-first-line.js | 1 - .../caniuse-lite/data/features/css-fixed.js | 1 - .../data/features/css-focus-visible.js | 1 - .../data/features/css-focus-within.js | 1 - .../data/features/css-font-palette.js | 1 - .../features/css-font-rendering-controls.js | 1 - .../data/features/css-font-stretch.js | 1 - .../data/features/css-gencontent.js | 1 - .../data/features/css-gradients.js | 1 - .../data/features/css-grid-animation.js | 1 - .../caniuse-lite/data/features/css-grid.js | 1 - .../data/features/css-hanging-punctuation.js | 1 - .../caniuse-lite/data/features/css-has.js | 1 - .../caniuse-lite/data/features/css-hyphens.js | 1 - .../data/features/css-image-orientation.js | 1 - .../data/features/css-image-set.js | 1 - .../data/features/css-in-out-of-range.js | 1 - .../data/features/css-indeterminate-pseudo.js | 1 - .../data/features/css-initial-letter.js | 1 - .../data/features/css-initial-value.js | 1 - .../caniuse-lite/data/features/css-lch-lab.js | 1 - .../data/features/css-letter-spacing.js | 1 - .../data/features/css-line-clamp.js | 1 - .../data/features/css-logical-props.js | 1 - .../data/features/css-marker-pseudo.js | 1 - .../caniuse-lite/data/features/css-masks.js | 1 - .../data/features/css-matches-pseudo.js | 1 - .../data/features/css-math-functions.js | 1 - .../data/features/css-media-interaction.js | 1 - .../data/features/css-media-range-syntax.js | 1 - .../data/features/css-media-resolution.js | 1 - .../data/features/css-media-scripting.js | 1 - .../data/features/css-mediaqueries.js | 1 - .../data/features/css-mixblendmode.js | 1 - .../data/features/css-module-scripts.js | 1 - .../data/features/css-motion-paths.js | 1 - .../data/features/css-namespaces.js | 1 - .../caniuse-lite/data/features/css-nesting.js | 1 - .../data/features/css-not-sel-list.js | 1 - .../data/features/css-nth-child-of.js | 1 - .../caniuse-lite/data/features/css-opacity.js | 1 - .../data/features/css-optional-pseudo.js | 1 - .../data/features/css-overflow-anchor.js | 1 - .../data/features/css-overflow-overlay.js | 1 - .../data/features/css-overflow.js | 1 - .../data/features/css-overscroll-behavior.js | 1 - .../data/features/css-page-break.js | 1 - .../data/features/css-paged-media.js | 1 - .../data/features/css-paint-api.js | 1 - .../data/features/css-placeholder-shown.js | 1 - .../data/features/css-placeholder.js | 1 - .../data/features/css-print-color-adjust.js | 1 - .../data/features/css-read-only-write.js | 1 - .../data/features/css-rebeccapurple.js | 1 - .../data/features/css-reflections.js | 1 - .../caniuse-lite/data/features/css-regions.js | 1 - .../data/features/css-relative-colors.js | 1 - .../data/features/css-repeating-gradients.js | 1 - .../caniuse-lite/data/features/css-resize.js | 1 - .../data/features/css-revert-value.js | 1 - .../data/features/css-rrggbbaa.js | 1 - .../data/features/css-scroll-behavior.js | 1 - .../data/features/css-scrollbar.js | 1 - .../caniuse-lite/data/features/css-sel2.js | 1 - .../caniuse-lite/data/features/css-sel3.js | 1 - .../data/features/css-selection.js | 1 - .../caniuse-lite/data/features/css-shapes.js | 1 - .../data/features/css-snappoints.js | 1 - .../caniuse-lite/data/features/css-sticky.js | 1 - .../caniuse-lite/data/features/css-subgrid.js | 1 - .../data/features/css-supports-api.js | 1 - .../caniuse-lite/data/features/css-table.js | 1 - .../data/features/css-text-align-last.js | 1 - .../data/features/css-text-box-trim.js | 1 - .../data/features/css-text-indent.js | 1 - .../data/features/css-text-justify.js | 1 - .../data/features/css-text-orientation.js | 1 - .../data/features/css-text-spacing.js | 1 - .../data/features/css-text-wrap-balance.js | 1 - .../data/features/css-textshadow.js | 1 - .../data/features/css-touch-action.js | 1 - .../data/features/css-transitions.js | 1 - .../data/features/css-unicode-bidi.js | 1 - .../data/features/css-unset-value.js | 1 - .../data/features/css-variables.js | 1 - .../data/features/css-when-else.js | 1 - .../data/features/css-widows-orphans.js | 1 - .../data/features/css-width-stretch.js | 1 - .../data/features/css-writing-mode.js | 1 - .../caniuse-lite/data/features/css-zoom.js | 1 - .../caniuse-lite/data/features/css3-attr.js | 1 - .../data/features/css3-boxsizing.js | 1 - .../caniuse-lite/data/features/css3-colors.js | 1 - .../data/features/css3-cursors-grab.js | 1 - .../data/features/css3-cursors-newer.js | 1 - .../data/features/css3-cursors.js | 1 - .../data/features/css3-tabsize.js | 1 - .../data/features/currentcolor.js | 1 - .../data/features/custom-elements.js | 1 - .../data/features/custom-elementsv1.js | 1 - .../caniuse-lite/data/features/customevent.js | 1 - .../caniuse-lite/data/features/datalist.js | 1 - .../caniuse-lite/data/features/dataset.js | 1 - .../caniuse-lite/data/features/datauri.js | 1 - .../data/features/date-tolocaledatestring.js | 1 - .../data/features/declarative-shadow-dom.js | 1 - .../caniuse-lite/data/features/decorators.js | 1 - .../caniuse-lite/data/features/details.js | 1 - .../data/features/deviceorientation.js | 1 - .../data/features/devicepixelratio.js | 1 - .../caniuse-lite/data/features/dialog.js | 1 - .../data/features/dispatchevent.js | 1 - .../caniuse-lite/data/features/dnssec.js | 1 - .../data/features/do-not-track.js | 1 - .../data/features/document-currentscript.js | 1 - .../data/features/document-evaluate-xpath.js | 1 - .../data/features/document-execcommand.js | 1 - .../data/features/document-policy.js | 1 - .../features/document-scrollingelement.js | 1 - .../data/features/documenthead.js | 1 - .../data/features/dom-manip-convenience.js | 1 - .../caniuse-lite/data/features/dom-range.js | 1 - .../data/features/domcontentloaded.js | 1 - .../caniuse-lite/data/features/dommatrix.js | 1 - .../caniuse-lite/data/features/download.js | 1 - .../caniuse-lite/data/features/dragndrop.js | 1 - .../data/features/element-closest.js | 1 - .../data/features/element-from-point.js | 1 - .../data/features/element-scroll-methods.js | 1 - .../caniuse-lite/data/features/eme.js | 1 - .../caniuse-lite/data/features/eot.js | 1 - .../caniuse-lite/data/features/es5.js | 1 - .../caniuse-lite/data/features/es6-class.js | 1 - .../data/features/es6-generators.js | 1 - .../features/es6-module-dynamic-import.js | 1 - .../caniuse-lite/data/features/es6-module.js | 1 - .../caniuse-lite/data/features/es6-number.js | 1 - .../data/features/es6-string-includes.js | 1 - .../caniuse-lite/data/features/es6.js | 1 - .../caniuse-lite/data/features/eventsource.js | 1 - .../data/features/extended-system-fonts.js | 1 - .../data/features/feature-policy.js | 1 - .../caniuse-lite/data/features/fetch.js | 1 - .../data/features/fieldset-disabled.js | 1 - .../caniuse-lite/data/features/fileapi.js | 1 - .../caniuse-lite/data/features/filereader.js | 1 - .../data/features/filereadersync.js | 1 - .../caniuse-lite/data/features/filesystem.js | 1 - .../caniuse-lite/data/features/flac.js | 1 - .../caniuse-lite/data/features/flexbox-gap.js | 1 - .../caniuse-lite/data/features/flexbox.js | 1 - .../caniuse-lite/data/features/flow-root.js | 1 - .../data/features/focusin-focusout-events.js | 1 - .../data/features/font-family-system-ui.js | 1 - .../data/features/font-feature.js | 1 - .../data/features/font-kerning.js | 1 - .../data/features/font-loading.js | 1 - .../data/features/font-size-adjust.js | 1 - .../caniuse-lite/data/features/font-smooth.js | 1 - .../data/features/font-unicode-range.js | 1 - .../data/features/font-variant-alternates.js | 1 - .../data/features/font-variant-numeric.js | 1 - .../caniuse-lite/data/features/fontface.js | 1 - .../data/features/form-attribute.js | 1 - .../data/features/form-submit-attributes.js | 1 - .../data/features/form-validation.js | 1 - .../caniuse-lite/data/features/forms.js | 1 - .../caniuse-lite/data/features/fullscreen.js | 1 - .../caniuse-lite/data/features/gamepad.js | 1 - .../caniuse-lite/data/features/geolocation.js | 1 - .../data/features/getboundingclientrect.js | 1 - .../data/features/getcomputedstyle.js | 1 - .../data/features/getelementsbyclassname.js | 1 - .../data/features/getrandomvalues.js | 1 - .../caniuse-lite/data/features/gyroscope.js | 1 - .../data/features/hardwareconcurrency.js | 1 - .../caniuse-lite/data/features/hashchange.js | 1 - .../caniuse-lite/data/features/heif.js | 1 - .../caniuse-lite/data/features/hevc.js | 1 - .../caniuse-lite/data/features/hidden.js | 1 - .../data/features/high-resolution-time.js | 1 - .../caniuse-lite/data/features/history.js | 1 - .../data/features/html-media-capture.js | 1 - .../data/features/html5semantic.js | 1 - .../data/features/http-live-streaming.js | 1 - .../caniuse-lite/data/features/http2.js | 1 - .../caniuse-lite/data/features/http3.js | 1 - .../data/features/iframe-sandbox.js | 1 - .../data/features/iframe-seamless.js | 1 - .../data/features/iframe-srcdoc.js | 1 - .../data/features/imagecapture.js | 1 - .../caniuse-lite/data/features/ime.js | 1 - .../img-naturalwidth-naturalheight.js | 1 - .../caniuse-lite/data/features/import-maps.js | 1 - .../caniuse-lite/data/features/imports.js | 1 - .../data/features/indeterminate-checkbox.js | 1 - .../caniuse-lite/data/features/indexeddb.js | 1 - .../caniuse-lite/data/features/indexeddb2.js | 1 - .../data/features/inline-block.js | 1 - .../caniuse-lite/data/features/innertext.js | 1 - .../data/features/input-autocomplete-onoff.js | 1 - .../caniuse-lite/data/features/input-color.js | 1 - .../data/features/input-datetime.js | 1 - .../data/features/input-email-tel-url.js | 1 - .../caniuse-lite/data/features/input-event.js | 1 - .../data/features/input-file-accept.js | 1 - .../data/features/input-file-directory.js | 1 - .../data/features/input-file-multiple.js | 1 - .../data/features/input-inputmode.js | 1 - .../data/features/input-minlength.js | 1 - .../data/features/input-number.js | 1 - .../data/features/input-pattern.js | 1 - .../data/features/input-placeholder.js | 1 - .../caniuse-lite/data/features/input-range.js | 1 - .../data/features/input-search.js | 1 - .../data/features/input-selection.js | 1 - .../data/features/insert-adjacent.js | 1 - .../data/features/insertadjacenthtml.js | 1 - .../data/features/internationalization.js | 1 - .../data/features/intersectionobserver-v2.js | 1 - .../data/features/intersectionobserver.js | 1 - .../data/features/intl-pluralrules.js | 1 - .../data/features/intrinsic-width.js | 1 - .../caniuse-lite/data/features/jpeg2000.js | 1 - .../caniuse-lite/data/features/jpegxl.js | 1 - .../caniuse-lite/data/features/jpegxr.js | 1 - .../data/features/js-regexp-lookbehind.js | 1 - .../caniuse-lite/data/features/json.js | 1 - .../features/justify-content-space-evenly.js | 1 - .../data/features/kerning-pairs-ligatures.js | 1 - .../data/features/keyboardevent-charcode.js | 1 - .../data/features/keyboardevent-code.js | 1 - .../keyboardevent-getmodifierstate.js | 1 - .../data/features/keyboardevent-key.js | 1 - .../data/features/keyboardevent-location.js | 1 - .../data/features/keyboardevent-which.js | 1 - .../caniuse-lite/data/features/lazyload.js | 1 - .../caniuse-lite/data/features/let.js | 1 - .../data/features/link-icon-png.js | 1 - .../data/features/link-icon-svg.js | 1 - .../data/features/link-rel-dns-prefetch.js | 1 - .../data/features/link-rel-modulepreload.js | 1 - .../data/features/link-rel-preconnect.js | 1 - .../data/features/link-rel-prefetch.js | 1 - .../data/features/link-rel-preload.js | 1 - .../data/features/link-rel-prerender.js | 1 - .../data/features/loading-lazy-attr.js | 1 - .../data/features/localecompare.js | 1 - .../data/features/magnetometer.js | 1 - .../data/features/matchesselector.js | 1 - .../caniuse-lite/data/features/matchmedia.js | 1 - .../caniuse-lite/data/features/mathml.js | 1 - .../caniuse-lite/data/features/maxlength.js | 1 - .../mdn-css-backdrop-pseudo-element.js | 1 - .../mdn-css-unicode-bidi-isolate-override.js | 1 - .../features/mdn-css-unicode-bidi-isolate.js | 1 - .../mdn-css-unicode-bidi-plaintext.js | 1 - .../features/mdn-text-decoration-color.js | 1 - .../data/features/mdn-text-decoration-line.js | 1 - .../features/mdn-text-decoration-shorthand.js | 1 - .../features/mdn-text-decoration-style.js | 1 - .../data/features/media-fragments.js | 1 - .../data/features/mediacapture-fromelement.js | 1 - .../data/features/mediarecorder.js | 1 - .../caniuse-lite/data/features/mediasource.js | 1 - .../caniuse-lite/data/features/menu.js | 1 - .../data/features/meta-theme-color.js | 1 - .../caniuse-lite/data/features/meter.js | 1 - .../caniuse-lite/data/features/midi.js | 1 - .../caniuse-lite/data/features/minmaxwh.js | 1 - .../caniuse-lite/data/features/mp3.js | 1 - .../caniuse-lite/data/features/mpeg-dash.js | 1 - .../caniuse-lite/data/features/mpeg4.js | 1 - .../data/features/multibackgrounds.js | 1 - .../caniuse-lite/data/features/multicolumn.js | 1 - .../data/features/mutation-events.js | 1 - .../data/features/mutationobserver.js | 1 - .../data/features/namevalue-storage.js | 1 - .../data/features/native-filesystem-api.js | 1 - .../caniuse-lite/data/features/nav-timing.js | 1 - .../caniuse-lite/data/features/netinfo.js | 1 - .../data/features/notifications.js | 1 - .../data/features/object-entries.js | 1 - .../caniuse-lite/data/features/object-fit.js | 1 - .../data/features/object-observe.js | 1 - .../data/features/object-values.js | 1 - .../caniuse-lite/data/features/objectrtc.js | 1 - .../data/features/offline-apps.js | 1 - .../data/features/offscreencanvas.js | 1 - .../caniuse-lite/data/features/ogg-vorbis.js | 1 - .../caniuse-lite/data/features/ogv.js | 1 - .../caniuse-lite/data/features/ol-reversed.js | 1 - .../data/features/once-event-listener.js | 1 - .../data/features/online-status.js | 1 - .../caniuse-lite/data/features/opus.js | 1 - .../data/features/orientation-sensor.js | 1 - .../caniuse-lite/data/features/outline.js | 1 - .../data/features/pad-start-end.js | 1 - .../data/features/page-transition-events.js | 1 - .../data/features/pagevisibility.js | 1 - .../data/features/passive-event-listener.js | 1 - .../caniuse-lite/data/features/passkeys.js | 1 - .../data/features/passwordrules.js | 1 - .../caniuse-lite/data/features/path2d.js | 1 - .../data/features/payment-request.js | 1 - .../caniuse-lite/data/features/pdf-viewer.js | 1 - .../data/features/permissions-api.js | 1 - .../data/features/permissions-policy.js | 1 - .../data/features/picture-in-picture.js | 1 - .../caniuse-lite/data/features/picture.js | 1 - .../caniuse-lite/data/features/ping.js | 1 - .../caniuse-lite/data/features/png-alpha.js | 1 - .../data/features/pointer-events.js | 1 - .../caniuse-lite/data/features/pointer.js | 1 - .../caniuse-lite/data/features/pointerlock.js | 1 - .../caniuse-lite/data/features/portals.js | 1 - .../data/features/prefers-color-scheme.js | 1 - .../data/features/prefers-reduced-motion.js | 1 - .../caniuse-lite/data/features/progress.js | 1 - .../data/features/promise-finally.js | 1 - .../caniuse-lite/data/features/promises.js | 1 - .../caniuse-lite/data/features/proximity.js | 1 - .../caniuse-lite/data/features/proxy.js | 1 - .../data/features/publickeypinning.js | 1 - .../caniuse-lite/data/features/push-api.js | 1 - .../data/features/queryselector.js | 1 - .../data/features/readonly-attr.js | 1 - .../data/features/referrer-policy.js | 1 - .../data/features/registerprotocolhandler.js | 1 - .../data/features/rel-noopener.js | 1 - .../data/features/rel-noreferrer.js | 1 - .../caniuse-lite/data/features/rellist.js | 1 - .../caniuse-lite/data/features/rem.js | 1 - .../data/features/requestanimationframe.js | 1 - .../data/features/requestidlecallback.js | 1 - .../data/features/resizeobserver.js | 1 - .../data/features/resource-timing.js | 1 - .../data/features/rest-parameters.js | 1 - .../data/features/rtcpeerconnection.js | 1 - .../caniuse-lite/data/features/ruby.js | 1 - .../caniuse-lite/data/features/run-in.js | 1 - .../features/same-site-cookie-attribute.js | 1 - .../data/features/screen-orientation.js | 1 - .../data/features/script-async.js | 1 - .../data/features/script-defer.js | 1 - .../data/features/scrollintoview.js | 1 - .../data/features/scrollintoviewifneeded.js | 1 - .../caniuse-lite/data/features/sdch.js | 1 - .../data/features/selection-api.js | 1 - .../caniuse-lite/data/features/selectlist.js | 1 - .../data/features/server-timing.js | 1 - .../data/features/serviceworkers.js | 1 - .../data/features/setimmediate.js | 1 - .../caniuse-lite/data/features/shadowdom.js | 1 - .../caniuse-lite/data/features/shadowdomv1.js | 1 - .../data/features/sharedarraybuffer.js | 1 - .../data/features/sharedworkers.js | 1 - .../caniuse-lite/data/features/sni.js | 1 - .../caniuse-lite/data/features/spdy.js | 1 - .../data/features/speech-recognition.js | 1 - .../data/features/speech-synthesis.js | 1 - .../data/features/spellcheck-attribute.js | 1 - .../caniuse-lite/data/features/sql-storage.js | 1 - .../caniuse-lite/data/features/srcset.js | 1 - .../caniuse-lite/data/features/stream.js | 1 - .../caniuse-lite/data/features/streams.js | 1 - .../data/features/stricttransportsecurity.js | 1 - .../data/features/style-scoped.js | 1 - .../data/features/subresource-bundling.js | 1 - .../data/features/subresource-integrity.js | 1 - .../caniuse-lite/data/features/svg-css.js | 1 - .../caniuse-lite/data/features/svg-filters.js | 1 - .../caniuse-lite/data/features/svg-fonts.js | 1 - .../data/features/svg-fragment.js | 1 - .../caniuse-lite/data/features/svg-html.js | 1 - .../caniuse-lite/data/features/svg-html5.js | 1 - .../caniuse-lite/data/features/svg-img.js | 1 - .../caniuse-lite/data/features/svg-smil.js | 1 - .../caniuse-lite/data/features/svg.js | 1 - .../caniuse-lite/data/features/sxg.js | 1 - .../data/features/tabindex-attr.js | 1 - .../data/features/template-literals.js | 1 - .../caniuse-lite/data/features/template.js | 1 - .../caniuse-lite/data/features/temporal.js | 1 - .../caniuse-lite/data/features/testfeat.js | 1 - .../data/features/text-decoration.js | 1 - .../data/features/text-emphasis.js | 1 - .../data/features/text-overflow.js | 1 - .../data/features/text-size-adjust.js | 1 - .../caniuse-lite/data/features/text-stroke.js | 1 - .../caniuse-lite/data/features/textcontent.js | 1 - .../caniuse-lite/data/features/textencoder.js | 1 - .../caniuse-lite/data/features/tls1-1.js | 1 - .../caniuse-lite/data/features/tls1-2.js | 1 - .../caniuse-lite/data/features/tls1-3.js | 1 - .../caniuse-lite/data/features/touch.js | 1 - .../data/features/transforms2d.js | 1 - .../data/features/transforms3d.js | 1 - .../data/features/trusted-types.js | 1 - .../caniuse-lite/data/features/ttf.js | 1 - .../caniuse-lite/data/features/typedarrays.js | 1 - .../caniuse-lite/data/features/u2f.js | 1 - .../data/features/unhandledrejection.js | 1 - .../data/features/upgradeinsecurerequests.js | 1 - .../features/url-scroll-to-text-fragment.js | 1 - .../caniuse-lite/data/features/url.js | 1 - .../data/features/urlsearchparams.js | 1 - .../caniuse-lite/data/features/use-strict.js | 1 - .../data/features/user-select-none.js | 1 - .../caniuse-lite/data/features/user-timing.js | 1 - .../data/features/variable-fonts.js | 1 - .../data/features/vector-effect.js | 1 - .../caniuse-lite/data/features/vibration.js | 1 - .../caniuse-lite/data/features/video.js | 1 - .../caniuse-lite/data/features/videotracks.js | 1 - .../data/features/view-transitions.js | 1 - .../data/features/viewport-unit-variants.js | 1 - .../data/features/viewport-units.js | 1 - .../caniuse-lite/data/features/wai-aria.js | 1 - .../caniuse-lite/data/features/wake-lock.js | 1 - .../caniuse-lite/data/features/wasm-bigint.js | 1 - .../data/features/wasm-bulk-memory.js | 1 - .../data/features/wasm-extended-const.js | 1 - .../caniuse-lite/data/features/wasm-gc.js | 1 - .../data/features/wasm-multi-memory.js | 1 - .../data/features/wasm-multi-value.js | 1 - .../data/features/wasm-mutable-globals.js | 1 - .../data/features/wasm-nontrapping-fptoint.js | 1 - .../data/features/wasm-reference-types.js | 1 - .../data/features/wasm-relaxed-simd.js | 1 - .../data/features/wasm-signext.js | 1 - .../caniuse-lite/data/features/wasm-simd.js | 1 - .../data/features/wasm-tail-calls.js | 1 - .../data/features/wasm-threads.js | 1 - .../caniuse-lite/data/features/wasm.js | 1 - .../caniuse-lite/data/features/wav.js | 1 - .../caniuse-lite/data/features/wbr-element.js | 1 - .../data/features/web-animation.js | 1 - .../data/features/web-app-manifest.js | 1 - .../data/features/web-bluetooth.js | 1 - .../caniuse-lite/data/features/web-serial.js | 1 - .../caniuse-lite/data/features/web-share.js | 1 - .../caniuse-lite/data/features/webauthn.js | 1 - .../caniuse-lite/data/features/webcodecs.js | 1 - .../caniuse-lite/data/features/webgl.js | 1 - .../caniuse-lite/data/features/webgl2.js | 1 - .../caniuse-lite/data/features/webgpu.js | 1 - .../caniuse-lite/data/features/webhid.js | 1 - .../data/features/webkit-user-drag.js | 1 - .../caniuse-lite/data/features/webm.js | 1 - .../caniuse-lite/data/features/webnfc.js | 1 - .../caniuse-lite/data/features/webp.js | 1 - .../caniuse-lite/data/features/websockets.js | 1 - .../data/features/webtransport.js | 1 - .../caniuse-lite/data/features/webusb.js | 1 - .../caniuse-lite/data/features/webvr.js | 1 - .../caniuse-lite/data/features/webvtt.js | 1 - .../caniuse-lite/data/features/webworkers.js | 1 - .../caniuse-lite/data/features/webxr.js | 1 - .../caniuse-lite/data/features/will-change.js | 1 - .../caniuse-lite/data/features/woff.js | 1 - .../caniuse-lite/data/features/woff2.js | 1 - .../caniuse-lite/data/features/word-break.js | 1 - .../caniuse-lite/data/features/wordwrap.js | 1 - .../data/features/x-doc-messaging.js | 1 - .../data/features/x-frame-options.js | 1 - .../caniuse-lite/data/features/xhr2.js | 1 - .../caniuse-lite/data/features/xhtml.js | 1 - .../caniuse-lite/data/features/xhtmlsmil.js | 1 - .../data/features/xml-serializer.js | 1 - .../caniuse-lite/data/features/zstd.js | 1 - .../caniuse-lite/data/regions/AD.js | 1 - .../caniuse-lite/data/regions/AE.js | 1 - .../caniuse-lite/data/regions/AF.js | 1 - .../caniuse-lite/data/regions/AG.js | 1 - .../caniuse-lite/data/regions/AI.js | 1 - .../caniuse-lite/data/regions/AL.js | 1 - .../caniuse-lite/data/regions/AM.js | 1 - .../caniuse-lite/data/regions/AO.js | 1 - .../caniuse-lite/data/regions/AR.js | 1 - .../caniuse-lite/data/regions/AS.js | 1 - .../caniuse-lite/data/regions/AT.js | 1 - .../caniuse-lite/data/regions/AU.js | 1 - .../caniuse-lite/data/regions/AW.js | 1 - .../caniuse-lite/data/regions/AX.js | 1 - .../caniuse-lite/data/regions/AZ.js | 1 - .../caniuse-lite/data/regions/BA.js | 1 - .../caniuse-lite/data/regions/BB.js | 1 - .../caniuse-lite/data/regions/BD.js | 1 - .../caniuse-lite/data/regions/BE.js | 1 - .../caniuse-lite/data/regions/BF.js | 1 - .../caniuse-lite/data/regions/BG.js | 1 - .../caniuse-lite/data/regions/BH.js | 1 - .../caniuse-lite/data/regions/BI.js | 1 - .../caniuse-lite/data/regions/BJ.js | 1 - .../caniuse-lite/data/regions/BM.js | 1 - .../caniuse-lite/data/regions/BN.js | 1 - .../caniuse-lite/data/regions/BO.js | 1 - .../caniuse-lite/data/regions/BR.js | 1 - .../caniuse-lite/data/regions/BS.js | 1 - .../caniuse-lite/data/regions/BT.js | 1 - .../caniuse-lite/data/regions/BW.js | 1 - .../caniuse-lite/data/regions/BY.js | 1 - .../caniuse-lite/data/regions/BZ.js | 1 - .../caniuse-lite/data/regions/CA.js | 1 - .../caniuse-lite/data/regions/CD.js | 1 - .../caniuse-lite/data/regions/CF.js | 1 - .../caniuse-lite/data/regions/CG.js | 1 - .../caniuse-lite/data/regions/CH.js | 1 - .../caniuse-lite/data/regions/CI.js | 1 - .../caniuse-lite/data/regions/CK.js | 1 - .../caniuse-lite/data/regions/CL.js | 1 - .../caniuse-lite/data/regions/CM.js | 1 - .../caniuse-lite/data/regions/CN.js | 1 - .../caniuse-lite/data/regions/CO.js | 1 - .../caniuse-lite/data/regions/CR.js | 1 - .../caniuse-lite/data/regions/CU.js | 1 - .../caniuse-lite/data/regions/CV.js | 1 - .../caniuse-lite/data/regions/CX.js | 1 - .../caniuse-lite/data/regions/CY.js | 1 - .../caniuse-lite/data/regions/CZ.js | 1 - .../caniuse-lite/data/regions/DE.js | 1 - .../caniuse-lite/data/regions/DJ.js | 1 - .../caniuse-lite/data/regions/DK.js | 1 - .../caniuse-lite/data/regions/DM.js | 1 - .../caniuse-lite/data/regions/DO.js | 1 - .../caniuse-lite/data/regions/DZ.js | 1 - .../caniuse-lite/data/regions/EC.js | 1 - .../caniuse-lite/data/regions/EE.js | 1 - .../caniuse-lite/data/regions/EG.js | 1 - .../caniuse-lite/data/regions/ER.js | 1 - .../caniuse-lite/data/regions/ES.js | 1 - .../caniuse-lite/data/regions/ET.js | 1 - .../caniuse-lite/data/regions/FI.js | 1 - .../caniuse-lite/data/regions/FJ.js | 1 - .../caniuse-lite/data/regions/FK.js | 1 - .../caniuse-lite/data/regions/FM.js | 1 - .../caniuse-lite/data/regions/FO.js | 1 - .../caniuse-lite/data/regions/FR.js | 1 - .../caniuse-lite/data/regions/GA.js | 1 - .../caniuse-lite/data/regions/GB.js | 1 - .../caniuse-lite/data/regions/GD.js | 1 - .../caniuse-lite/data/regions/GE.js | 1 - .../caniuse-lite/data/regions/GF.js | 1 - .../caniuse-lite/data/regions/GG.js | 1 - .../caniuse-lite/data/regions/GH.js | 1 - .../caniuse-lite/data/regions/GI.js | 1 - .../caniuse-lite/data/regions/GL.js | 1 - .../caniuse-lite/data/regions/GM.js | 1 - .../caniuse-lite/data/regions/GN.js | 1 - .../caniuse-lite/data/regions/GP.js | 1 - .../caniuse-lite/data/regions/GQ.js | 1 - .../caniuse-lite/data/regions/GR.js | 1 - .../caniuse-lite/data/regions/GT.js | 1 - .../caniuse-lite/data/regions/GU.js | 1 - .../caniuse-lite/data/regions/GW.js | 1 - .../caniuse-lite/data/regions/GY.js | 1 - .../caniuse-lite/data/regions/HK.js | 1 - .../caniuse-lite/data/regions/HN.js | 1 - .../caniuse-lite/data/regions/HR.js | 1 - .../caniuse-lite/data/regions/HT.js | 1 - .../caniuse-lite/data/regions/HU.js | 1 - .../caniuse-lite/data/regions/ID.js | 1 - .../caniuse-lite/data/regions/IE.js | 1 - .../caniuse-lite/data/regions/IL.js | 1 - .../caniuse-lite/data/regions/IM.js | 1 - .../caniuse-lite/data/regions/IN.js | 1 - .../caniuse-lite/data/regions/IQ.js | 1 - .../caniuse-lite/data/regions/IR.js | 1 - .../caniuse-lite/data/regions/IS.js | 1 - .../caniuse-lite/data/regions/IT.js | 1 - .../caniuse-lite/data/regions/JE.js | 1 - .../caniuse-lite/data/regions/JM.js | 1 - .../caniuse-lite/data/regions/JO.js | 1 - .../caniuse-lite/data/regions/JP.js | 1 - .../caniuse-lite/data/regions/KE.js | 1 - .../caniuse-lite/data/regions/KG.js | 1 - .../caniuse-lite/data/regions/KH.js | 1 - .../caniuse-lite/data/regions/KI.js | 1 - .../caniuse-lite/data/regions/KM.js | 1 - .../caniuse-lite/data/regions/KN.js | 1 - .../caniuse-lite/data/regions/KP.js | 1 - .../caniuse-lite/data/regions/KR.js | 1 - .../caniuse-lite/data/regions/KW.js | 1 - .../caniuse-lite/data/regions/KY.js | 1 - .../caniuse-lite/data/regions/KZ.js | 1 - .../caniuse-lite/data/regions/LA.js | 1 - .../caniuse-lite/data/regions/LB.js | 1 - .../caniuse-lite/data/regions/LC.js | 1 - .../caniuse-lite/data/regions/LI.js | 1 - .../caniuse-lite/data/regions/LK.js | 1 - .../caniuse-lite/data/regions/LR.js | 1 - .../caniuse-lite/data/regions/LS.js | 1 - .../caniuse-lite/data/regions/LT.js | 1 - .../caniuse-lite/data/regions/LU.js | 1 - .../caniuse-lite/data/regions/LV.js | 1 - .../caniuse-lite/data/regions/LY.js | 1 - .../caniuse-lite/data/regions/MA.js | 1 - .../caniuse-lite/data/regions/MC.js | 1 - .../caniuse-lite/data/regions/MD.js | 1 - .../caniuse-lite/data/regions/ME.js | 1 - .../caniuse-lite/data/regions/MG.js | 1 - .../caniuse-lite/data/regions/MH.js | 1 - .../caniuse-lite/data/regions/MK.js | 1 - .../caniuse-lite/data/regions/ML.js | 1 - .../caniuse-lite/data/regions/MM.js | 1 - .../caniuse-lite/data/regions/MN.js | 1 - .../caniuse-lite/data/regions/MO.js | 1 - .../caniuse-lite/data/regions/MP.js | 1 - .../caniuse-lite/data/regions/MQ.js | 1 - .../caniuse-lite/data/regions/MR.js | 1 - .../caniuse-lite/data/regions/MS.js | 1 - .../caniuse-lite/data/regions/MT.js | 1 - .../caniuse-lite/data/regions/MU.js | 1 - .../caniuse-lite/data/regions/MV.js | 1 - .../caniuse-lite/data/regions/MW.js | 1 - .../caniuse-lite/data/regions/MX.js | 1 - .../caniuse-lite/data/regions/MY.js | 1 - .../caniuse-lite/data/regions/MZ.js | 1 - .../caniuse-lite/data/regions/NA.js | 1 - .../caniuse-lite/data/regions/NC.js | 1 - .../caniuse-lite/data/regions/NE.js | 1 - .../caniuse-lite/data/regions/NF.js | 1 - .../caniuse-lite/data/regions/NG.js | 1 - .../caniuse-lite/data/regions/NI.js | 1 - .../caniuse-lite/data/regions/NL.js | 1 - .../caniuse-lite/data/regions/NO.js | 1 - .../caniuse-lite/data/regions/NP.js | 1 - .../caniuse-lite/data/regions/NR.js | 1 - .../caniuse-lite/data/regions/NU.js | 1 - .../caniuse-lite/data/regions/NZ.js | 1 - .../caniuse-lite/data/regions/OM.js | 1 - .../caniuse-lite/data/regions/PA.js | 1 - .../caniuse-lite/data/regions/PE.js | 1 - .../caniuse-lite/data/regions/PF.js | 1 - .../caniuse-lite/data/regions/PG.js | 1 - .../caniuse-lite/data/regions/PH.js | 1 - .../caniuse-lite/data/regions/PK.js | 1 - .../caniuse-lite/data/regions/PL.js | 1 - .../caniuse-lite/data/regions/PM.js | 1 - .../caniuse-lite/data/regions/PN.js | 1 - .../caniuse-lite/data/regions/PR.js | 1 - .../caniuse-lite/data/regions/PS.js | 1 - .../caniuse-lite/data/regions/PT.js | 1 - .../caniuse-lite/data/regions/PW.js | 1 - .../caniuse-lite/data/regions/PY.js | 1 - .../caniuse-lite/data/regions/QA.js | 1 - .../caniuse-lite/data/regions/RE.js | 1 - .../caniuse-lite/data/regions/RO.js | 1 - .../caniuse-lite/data/regions/RS.js | 1 - .../caniuse-lite/data/regions/RU.js | 1 - .../caniuse-lite/data/regions/RW.js | 1 - .../caniuse-lite/data/regions/SA.js | 1 - .../caniuse-lite/data/regions/SB.js | 1 - .../caniuse-lite/data/regions/SC.js | 1 - .../caniuse-lite/data/regions/SD.js | 1 - .../caniuse-lite/data/regions/SE.js | 1 - .../caniuse-lite/data/regions/SG.js | 1 - .../caniuse-lite/data/regions/SH.js | 1 - .../caniuse-lite/data/regions/SI.js | 1 - .../caniuse-lite/data/regions/SK.js | 1 - .../caniuse-lite/data/regions/SL.js | 1 - .../caniuse-lite/data/regions/SM.js | 1 - .../caniuse-lite/data/regions/SN.js | 1 - .../caniuse-lite/data/regions/SO.js | 1 - .../caniuse-lite/data/regions/SR.js | 1 - .../caniuse-lite/data/regions/ST.js | 1 - .../caniuse-lite/data/regions/SV.js | 1 - .../caniuse-lite/data/regions/SY.js | 1 - .../caniuse-lite/data/regions/SZ.js | 1 - .../caniuse-lite/data/regions/TC.js | 1 - .../caniuse-lite/data/regions/TD.js | 1 - .../caniuse-lite/data/regions/TG.js | 1 - .../caniuse-lite/data/regions/TH.js | 1 - .../caniuse-lite/data/regions/TJ.js | 1 - .../caniuse-lite/data/regions/TL.js | 1 - .../caniuse-lite/data/regions/TM.js | 1 - .../caniuse-lite/data/regions/TN.js | 1 - .../caniuse-lite/data/regions/TO.js | 1 - .../caniuse-lite/data/regions/TR.js | 1 - .../caniuse-lite/data/regions/TT.js | 1 - .../caniuse-lite/data/regions/TV.js | 1 - .../caniuse-lite/data/regions/TW.js | 1 - .../caniuse-lite/data/regions/TZ.js | 1 - .../caniuse-lite/data/regions/UA.js | 1 - .../caniuse-lite/data/regions/UG.js | 1 - .../caniuse-lite/data/regions/US.js | 1 - .../caniuse-lite/data/regions/UY.js | 1 - .../caniuse-lite/data/regions/UZ.js | 1 - .../caniuse-lite/data/regions/VA.js | 1 - .../caniuse-lite/data/regions/VC.js | 1 - .../caniuse-lite/data/regions/VE.js | 1 - .../caniuse-lite/data/regions/VG.js | 1 - .../caniuse-lite/data/regions/VI.js | 1 - .../caniuse-lite/data/regions/VN.js | 1 - .../caniuse-lite/data/regions/VU.js | 1 - .../caniuse-lite/data/regions/WF.js | 1 - .../caniuse-lite/data/regions/WS.js | 1 - .../caniuse-lite/data/regions/YE.js | 1 - .../caniuse-lite/data/regions/YT.js | 1 - .../caniuse-lite/data/regions/ZA.js | 1 - .../caniuse-lite/data/regions/ZM.js | 1 - .../caniuse-lite/data/regions/ZW.js | 1 - .../caniuse-lite/data/regions/alt-af.js | 1 - .../caniuse-lite/data/regions/alt-an.js | 1 - .../caniuse-lite/data/regions/alt-as.js | 1 - .../caniuse-lite/data/regions/alt-eu.js | 1 - .../caniuse-lite/data/regions/alt-na.js | 1 - .../caniuse-lite/data/regions/alt-oc.js | 1 - .../caniuse-lite/data/regions/alt-sa.js | 1 - .../caniuse-lite/data/regions/alt-ww.js | 1 - .../caniuse-lite/dist/lib/statuses.js | 9 - .../caniuse-lite/dist/lib/supported.js | 9 - .../caniuse-lite/dist/unpacker/agents.js | 47 - .../dist/unpacker/browserVersions.js | 1 - .../caniuse-lite/dist/unpacker/browsers.js | 1 - .../caniuse-lite/dist/unpacker/feature.js | 52 - .../caniuse-lite/dist/unpacker/features.js | 6 - .../caniuse-lite/dist/unpacker/index.js | 4 - .../caniuse-lite/dist/unpacker/region.js | 22 - .../node_modules/caniuse-lite/package.json | 34 - .../cross-spawn/node_modules/.bin/node-which | 4 +- .../node_modules/electron-to-chromium/LICENSE | 5 - .../electron-to-chromium/README.md | 186 - .../electron-to-chromium/chromium-versions.js | 72 - .../chromium-versions.json | 1 - .../full-chromium-versions.js | 2228 - .../full-chromium-versions.json | 1 - .../electron-to-chromium/full-versions.js | 1448 - .../electron-to-chromium/full-versions.json | 1 - .../electron-to-chromium/index.js | 36 - .../electron-to-chromium/package.json | 44 - .../electron-to-chromium/versions.js | 176 - .../electron-to-chromium/versions.json | 1 - .../node_modules/eslint | 1 - .../eslint-plugin-react-hooks/LICENSE | 21 - .../eslint-plugin-react-hooks/README.md | 75 - .../eslint-plugin-react-hooks.development.js | 2038 - .../eslint-plugin-react-hooks.production.js | 1953 - .../eslint-plugin-react-hooks/index.js | 9 - .../node_modules/.bin/eslint | 17 - .../eslint-plugin-react-hooks/package.json | 43 - .../node_modules/.bin/eslint | 4 +- .../node_modules/eslint | 1 - .../eslint-plugin-react-refresh/LICENSE | 21 - .../eslint-plugin-react-refresh/README.md | 218 - .../eslint-plugin-react-refresh/index.d.ts | 14 - .../eslint-plugin-react-refresh/index.js | 275 - .../node_modules/.bin/eslint | 17 - .../eslint-plugin-react-refresh/package.json | 21 - .../node_modules/.bin/eslint | 4 +- .../@eslint-community/eslint-utils | 1 - .../node_modules/@eslint-community/regexpp | 1 - .../node_modules/@eslint/config-array | 1 - .../node_modules/@eslint/core | 1 - .../node_modules/@eslint/eslintrc | 1 - .../node_modules/@eslint/js | 1 - .../node_modules/@eslint/plugin-kit | 1 - .../node_modules/@humanfs/node | 1 - .../@humanwhocodes/module-importer | 1 - .../node_modules/@humanwhocodes/retry | 1 - .../node_modules/@types/estree | 1 - .../node_modules/@types/json-schema | 1 - .../node_modules/ajv | 1 - .../node_modules/chalk | 1 - .../node_modules/cross-spawn | 1 - .../node_modules/debug | 1 - .../node_modules/escape-string-regexp | 1 - .../node_modules/eslint-scope | 1 - .../node_modules/eslint-visitor-keys | 1 - .../node_modules/eslint/LICENSE | 19 - .../node_modules/eslint/README.md | 310 - .../node_modules/eslint/bin/eslint.js | 179 - .../eslint/conf/default-cli-options.js | 32 - .../node_modules/eslint/conf/ecma-version.js | 16 - .../node_modules/eslint/conf/globals.js | 160 - .../eslint/conf/replacements.json | 22 - .../eslint/conf/rule-type-list.json | 30 - .../node_modules/eslint/lib/api.js | 50 - .../eslint/lib/cli-engine/cli-engine.js | 1089 - .../eslint/lib/cli-engine/file-enumerator.js | 547 - .../formatters/formatters-meta.json | 18 - .../eslint/lib/cli-engine/formatters/html.js | 351 - .../formatters/json-with-metadata.js | 16 - .../eslint/lib/cli-engine/formatters/json.js | 13 - .../lib/cli-engine/formatters/stylish.js | 101 - .../eslint/lib/cli-engine/hash.js | 35 - .../eslint/lib/cli-engine/index.js | 7 - .../lib/cli-engine/lint-result-cache.js | 203 - .../eslint/lib/cli-engine/load-rules.js | 46 - .../node_modules/eslint/lib/cli.js | 548 - .../eslint/lib/config/config-loader.js | 719 - .../node_modules/eslint/lib/config/config.js | 297 - .../eslint/lib/config/default-config.js | 69 - .../eslint/lib/config/flat-config-array.js | 222 - .../eslint/lib/config/flat-config-helpers.js | 128 - .../eslint/lib/config/flat-config-schema.js | 576 - .../eslint/lib/config/rule-validator.js | 194 - .../eslint/lib/eslint/eslint-helpers.js | 965 - .../node_modules/eslint/lib/eslint/eslint.js | 1121 - .../node_modules/eslint/lib/eslint/index.js | 9 - .../eslint/lib/eslint/legacy-eslint.js | 742 - .../eslint/lib/languages/js/index.js | 336 - .../lib/languages/js/source-code/index.js | 7 - .../languages/js/source-code/source-code.js | 1202 - .../backward-token-comment-cursor.js | 57 - .../token-store/backward-token-cursor.js | 58 - .../js/source-code/token-store/cursor.js | 76 - .../js/source-code/token-store/cursors.js | 92 - .../token-store/decorative-cursor.js | 39 - .../source-code/token-store/filter-cursor.js | 43 - .../forward-token-comment-cursor.js | 57 - .../token-store/forward-token-cursor.js | 63 - .../js/source-code/token-store/index.js | 627 - .../source-code/token-store/limit-cursor.js | 40 - .../token-store/padded-token-cursor.js | 38 - .../js/source-code/token-store/skip-cursor.js | 42 - .../js/source-code/token-store/utils.js | 107 - .../languages/js/validate-language-options.js | 181 - .../lib/linter/apply-disable-directives.js | 502 - .../code-path-analysis/code-path-analyzer.js | 851 - .../code-path-analysis/code-path-segment.js | 263 - .../code-path-analysis/code-path-state.js | 2348 - .../linter/code-path-analysis/code-path.js | 344 - .../code-path-analysis/debug-helpers.js | 203 - .../linter/code-path-analysis/fork-context.js | 349 - .../linter/code-path-analysis/id-generator.js | 45 - .../eslint/lib/linter/file-context.js | 134 - .../node_modules/eslint/lib/linter/index.js | 11 - .../eslint/lib/linter/interpolate.js | 50 - .../node_modules/eslint/lib/linter/linter.js | 2407 - .../eslint/lib/linter/node-event-generator.js | 352 - .../eslint/lib/linter/report-translator.js | 376 - .../eslint/lib/linter/rule-fixer.js | 163 - .../node_modules/eslint/lib/linter/rules.js | 71 - .../eslint/lib/linter/safe-emitter.js | 52 - .../eslint/lib/linter/source-code-fixer.js | 152 - .../node_modules/eslint/lib/linter/timing.js | 169 - .../node_modules/eslint/lib/linter/vfile.js | 118 - .../node_modules/eslint/lib/options.js | 442 - .../eslint/lib/rule-tester/index.js | 7 - .../eslint/lib/rule-tester/rule-tester.js | 1307 - .../eslint/lib/rules/accessor-pairs.js | 350 - .../eslint/lib/rules/array-bracket-newline.js | 261 - .../eslint/lib/rules/array-bracket-spacing.js | 244 - .../eslint/lib/rules/array-callback-return.js | 448 - .../eslint/lib/rules/array-element-newline.js | 311 - .../eslint/lib/rules/arrow-body-style.js | 298 - .../eslint/lib/rules/arrow-parens.js | 186 - .../eslint/lib/rules/arrow-spacing.js | 164 - .../eslint/lib/rules/block-scoped-var.js | 135 - .../eslint/lib/rules/block-spacing.js | 174 - .../eslint/lib/rules/brace-style.js | 197 - .../eslint/lib/rules/callback-return.js | 187 - .../eslint/lib/rules/camelcase.js | 410 - .../eslint/lib/rules/capitalized-comments.js | 303 - .../lib/rules/class-methods-use-this.js | 191 - .../eslint/lib/rules/comma-dangle.js | 373 - .../eslint/lib/rules/comma-spacing.js | 192 - .../eslint/lib/rules/comma-style.js | 314 - .../eslint/lib/rules/complexity.js | 192 - .../lib/rules/computed-property-spacing.js | 208 - .../eslint/lib/rules/consistent-return.js | 210 - .../eslint/lib/rules/consistent-this.js | 149 - .../eslint/lib/rules/constructor-super.js | 445 - .../node_modules/eslint/lib/rules/curly.js | 349 - .../eslint/lib/rules/default-case-last.js | 44 - .../eslint/lib/rules/default-case.js | 99 - .../eslint/lib/rules/default-param-last.js | 62 - .../eslint/lib/rules/dot-location.js | 108 - .../eslint/lib/rules/dot-notation.js | 179 - .../node_modules/eslint/lib/rules/eol-last.js | 115 - .../node_modules/eslint/lib/rules/eqeqeq.js | 174 - .../eslint/lib/rules/for-direction.js | 140 - .../eslint/lib/rules/func-call-spacing.js | 233 - .../eslint/lib/rules/func-name-matching.js | 253 - .../eslint/lib/rules/func-names.js | 191 - .../eslint/lib/rules/func-style.js | 138 - .../rules/function-call-argument-newline.js | 125 - .../lib/rules/function-paren-newline.js | 292 - .../lib/rules/generator-star-spacing.js | 209 - .../eslint/lib/rules/getter-return.js | 206 - .../eslint/lib/rules/global-require.js | 90 - .../lib/rules/grouped-accessor-pairs.js | 217 - .../eslint/lib/rules/guard-for-in.js | 76 - .../eslint/lib/rules/handle-callback-err.js | 101 - .../eslint/lib/rules/id-blacklist.js | 246 - .../eslint/lib/rules/id-denylist.js | 241 - .../eslint/lib/rules/id-length.js | 190 - .../node_modules/eslint/lib/rules/id-match.js | 307 - .../lib/rules/implicit-arrow-linebreak.js | 84 - .../eslint/lib/rules/indent-legacy.js | 1126 - .../node_modules/eslint/lib/rules/indent.js | 1803 - .../node_modules/eslint/lib/rules/index.js | 305 - .../eslint/lib/rules/init-declarations.js | 139 - .../eslint/lib/rules/jsx-quotes.js | 98 - .../eslint/lib/rules/key-spacing.js | 687 - .../eslint/lib/rules/keyword-spacing.js | 640 - .../eslint/lib/rules/line-comment-position.js | 125 - .../eslint/lib/rules/linebreak-style.js | 108 - .../eslint/lib/rules/lines-around-comment.js | 471 - .../lib/rules/lines-around-directive.js | 201 - .../lib/rules/lines-between-class-members.js | 269 - .../lib/rules/logical-assignment-operators.js | 504 - .../eslint/lib/rules/max-classes-per-file.js | 89 - .../eslint/lib/rules/max-depth.js | 156 - .../node_modules/eslint/lib/rules/max-len.js | 440 - .../lib/rules/max-lines-per-function.js | 213 - .../eslint/lib/rules/max-lines.js | 193 - .../eslint/lib/rules/max-nested-callbacks.js | 117 - .../eslint/lib/rules/max-params.js | 102 - .../lib/rules/max-statements-per-line.js | 199 - .../eslint/lib/rules/max-statements.js | 184 - .../lib/rules/multiline-comment-style.js | 476 - .../eslint/lib/rules/multiline-ternary.js | 174 - .../node_modules/eslint/lib/rules/new-cap.js | 257 - .../eslint/lib/rules/new-parens.js | 93 - .../eslint/lib/rules/newline-after-var.js | 253 - .../eslint/lib/rules/newline-before-return.js | 217 - .../lib/rules/newline-per-chained-call.js | 126 - .../node_modules/eslint/lib/rules/no-alert.js | 138 - .../eslint/lib/rules/no-array-constructor.js | 133 - .../lib/rules/no-async-promise-executor.js | 39 - .../eslint/lib/rules/no-await-in-loop.js | 106 - .../eslint/lib/rules/no-bitwise.js | 121 - .../eslint/lib/rules/no-buffer-constructor.js | 50 - .../eslint/lib/rules/no-caller.js | 46 - .../eslint/lib/rules/no-case-declarations.js | 76 - .../eslint/lib/rules/no-catch-shadow.js | 82 - .../eslint/lib/rules/no-class-assign.js | 63 - .../eslint/lib/rules/no-compare-neg-zero.js | 60 - .../eslint/lib/rules/no-cond-assign.js | 159 - .../eslint/lib/rules/no-confusing-arrow.js | 92 - .../eslint/lib/rules/no-console.js | 208 - .../eslint/lib/rules/no-const-assign.js | 56 - .../rules/no-constant-binary-expression.js | 508 - .../eslint/lib/rules/no-constant-condition.js | 162 - .../eslint/lib/rules/no-constructor-return.js | 62 - .../eslint/lib/rules/no-continue.js | 39 - .../eslint/lib/rules/no-control-regex.js | 138 - .../eslint/lib/rules/no-debugger.js | 43 - .../eslint/lib/rules/no-delete-var.js | 42 - .../eslint/lib/rules/no-div-regex.js | 53 - .../eslint/lib/rules/no-dupe-args.js | 82 - .../eslint/lib/rules/no-dupe-class-members.js | 104 - .../eslint/lib/rules/no-dupe-else-if.js | 122 - .../eslint/lib/rules/no-dupe-keys.js | 142 - .../eslint/lib/rules/no-duplicate-case.js | 71 - .../eslint/lib/rules/no-duplicate-imports.js | 293 - .../eslint/lib/rules/no-else-return.js | 404 - .../lib/rules/no-empty-character-class.js | 76 - .../eslint/lib/rules/no-empty-function.js | 167 - .../eslint/lib/rules/no-empty-pattern.js | 80 - .../eslint/lib/rules/no-empty-static-block.js | 47 - .../node_modules/eslint/lib/rules/no-empty.js | 104 - .../eslint/lib/rules/no-eq-null.js | 46 - .../node_modules/eslint/lib/rules/no-eval.js | 287 - .../eslint/lib/rules/no-ex-assign.js | 54 - .../eslint/lib/rules/no-extend-native.js | 178 - .../eslint/lib/rules/no-extra-bind.js | 213 - .../eslint/lib/rules/no-extra-boolean-cast.js | 369 - .../eslint/lib/rules/no-extra-label.js | 149 - .../eslint/lib/rules/no-extra-parens.js | 1322 - .../eslint/lib/rules/no-extra-semi.js | 147 - .../eslint/lib/rules/no-fallthrough.js | 218 - .../eslint/lib/rules/no-floating-decimal.js | 73 - .../eslint/lib/rules/no-func-assign.js | 78 - .../eslint/lib/rules/no-global-assign.js | 96 - .../eslint/lib/rules/no-implicit-coercion.js | 411 - .../eslint/lib/rules/no-implicit-globals.js | 148 - .../eslint/lib/rules/no-implied-eval.js | 132 - .../eslint/lib/rules/no-import-assign.js | 241 - .../eslint/lib/rules/no-inline-comments.js | 108 - .../eslint/lib/rules/no-inner-declarations.js | 133 - .../eslint/lib/rules/no-invalid-regexp.js | 211 - .../eslint/lib/rules/no-invalid-this.js | 150 - .../lib/rules/no-irregular-whitespace.js | 278 - .../eslint/lib/rules/no-iterator.js | 52 - .../eslint/lib/rules/no-label-var.js | 80 - .../eslint/lib/rules/no-labels.js | 150 - .../eslint/lib/rules/no-lone-blocks.js | 136 - .../eslint/lib/rules/no-lonely-if.js | 94 - .../eslint/lib/rules/no-loop-func.js | 238 - .../eslint/lib/rules/no-loss-of-precision.js | 214 - .../eslint/lib/rules/no-magic-numbers.js | 243 - .../rules/no-misleading-character-class.js | 537 - .../eslint/lib/rules/no-mixed-operators.js | 229 - .../eslint/lib/rules/no-mixed-requires.js | 238 - .../lib/rules/no-mixed-spaces-and-tabs.js | 116 - .../eslint/lib/rules/no-multi-assign.js | 64 - .../eslint/lib/rules/no-multi-spaces.js | 141 - .../eslint/lib/rules/no-multi-str.js | 65 - .../lib/rules/no-multiple-empty-lines.js | 154 - .../eslint/lib/rules/no-native-reassign.js | 98 - .../eslint/lib/rules/no-negated-condition.js | 95 - .../eslint/lib/rules/no-negated-in-lhs.js | 46 - .../eslint/lib/rules/no-nested-ternary.js | 44 - .../eslint/lib/rules/no-new-func.js | 87 - .../lib/rules/no-new-native-nonconstructor.js | 66 - .../eslint/lib/rules/no-new-object.js | 67 - .../eslint/lib/rules/no-new-require.js | 50 - .../eslint/lib/rules/no-new-symbol.js | 63 - .../eslint/lib/rules/no-new-wrappers.js | 60 - .../node_modules/eslint/lib/rules/no-new.js | 43 - .../lib/rules/no-nonoctal-decimal-escape.js | 148 - .../eslint/lib/rules/no-obj-calls.js | 86 - .../eslint/lib/rules/no-object-constructor.js | 117 - .../eslint/lib/rules/no-octal-escape.js | 56 - .../node_modules/eslint/lib/rules/no-octal.js | 45 - .../eslint/lib/rules/no-param-reassign.js | 230 - .../eslint/lib/rules/no-path-concat.js | 64 - .../eslint/lib/rules/no-plusplus.js | 102 - .../eslint/lib/rules/no-process-env.js | 51 - .../eslint/lib/rules/no-process-exit.js | 47 - .../lib/rules/no-promise-executor-return.js | 263 - .../node_modules/eslint/lib/rules/no-proto.js | 48 - .../eslint/lib/rules/no-prototype-builtins.js | 159 - .../eslint/lib/rules/no-redeclare.js | 171 - .../eslint/lib/rules/no-regex-spaces.js | 197 - .../eslint/lib/rules/no-restricted-exports.js | 204 - .../eslint/lib/rules/no-restricted-globals.js | 124 - .../eslint/lib/rules/no-restricted-imports.js | 563 - .../eslint/lib/rules/no-restricted-modules.js | 213 - .../lib/rules/no-restricted-properties.js | 168 - .../eslint/lib/rules/no-restricted-syntax.js | 70 - .../eslint/lib/rules/no-return-assign.js | 82 - .../eslint/lib/rules/no-return-await.js | 135 - .../eslint/lib/rules/no-script-url.js | 61 - .../eslint/lib/rules/no-self-assign.js | 184 - .../eslint/lib/rules/no-self-compare.js | 60 - .../eslint/lib/rules/no-sequences.js | 139 - .../eslint/lib/rules/no-setter-return.js | 226 - .../lib/rules/no-shadow-restricted-names.js | 65 - .../eslint/lib/rules/no-shadow.js | 342 - .../eslint/lib/rules/no-spaced-func.js | 83 - .../eslint/lib/rules/no-sparse-arrays.js | 73 - .../node_modules/eslint/lib/rules/no-sync.js | 64 - .../node_modules/eslint/lib/rules/no-tabs.js | 81 - .../lib/rules/no-template-curly-in-string.js | 44 - .../eslint/lib/rules/no-ternary.js | 41 - .../eslint/lib/rules/no-this-before-super.js | 363 - .../eslint/lib/rules/no-throw-literal.js | 51 - .../eslint/lib/rules/no-trailing-spaces.js | 192 - .../eslint/lib/rules/no-undef-init.js | 75 - .../node_modules/eslint/lib/rules/no-undef.js | 81 - .../eslint/lib/rules/no-undefined.js | 86 - .../eslint/lib/rules/no-underscore-dangle.js | 339 - .../lib/rules/no-unexpected-multiline.js | 120 - .../lib/rules/no-unmodified-loop-condition.js | 360 - .../eslint/lib/rules/no-unneeded-ternary.js | 166 - .../eslint/lib/rules/no-unreachable-loop.js | 187 - .../eslint/lib/rules/no-unreachable.js | 293 - .../eslint/lib/rules/no-unsafe-finally.js | 111 - .../eslint/lib/rules/no-unsafe-negation.js | 130 - .../lib/rules/no-unsafe-optional-chaining.js | 207 - .../eslint/lib/rules/no-unused-expressions.js | 190 - .../eslint/lib/rules/no-unused-labels.js | 143 - .../rules/no-unused-private-class-members.js | 195 - .../eslint/lib/rules/no-unused-vars.js | 1492 - .../eslint/lib/rules/no-use-before-define.js | 350 - .../eslint/lib/rules/no-useless-assignment.js | 575 - .../lib/rules/no-useless-backreference.js | 244 - .../eslint/lib/rules/no-useless-call.js | 90 - .../eslint/lib/rules/no-useless-catch.js | 57 - .../lib/rules/no-useless-computed-key.js | 174 - .../eslint/lib/rules/no-useless-concat.js | 115 - .../lib/rules/no-useless-constructor.js | 205 - .../eslint/lib/rules/no-useless-escape.js | 333 - .../eslint/lib/rules/no-useless-rename.js | 175 - .../eslint/lib/rules/no-useless-return.js | 369 - .../node_modules/eslint/lib/rules/no-var.js | 334 - .../node_modules/eslint/lib/rules/no-void.js | 66 - .../eslint/lib/rules/no-warning-comments.js | 203 - .../rules/no-whitespace-before-property.js | 116 - .../node_modules/eslint/lib/rules/no-with.js | 39 - .../rules/nonblock-statement-body-position.js | 127 - .../eslint/lib/rules/object-curly-newline.js | 324 - .../eslint/lib/rules/object-curly-spacing.js | 311 - .../lib/rules/object-property-newline.js | 102 - .../eslint/lib/rules/object-shorthand.js | 521 - .../lib/rules/one-var-declaration-per-line.js | 95 - .../node_modules/eslint/lib/rules/one-var.js | 567 - .../eslint/lib/rules/operator-assignment.js | 211 - .../eslint/lib/rules/operator-linebreak.js | 253 - .../eslint/lib/rules/padded-blocks.js | 310 - .../rules/padding-line-between-statements.js | 590 - .../eslint/lib/rules/prefer-arrow-callback.js | 378 - .../eslint/lib/rules/prefer-const.js | 505 - .../eslint/lib/rules/prefer-destructuring.js | 301 - .../rules/prefer-exponentiation-operator.js | 191 - .../lib/rules/prefer-named-capture-group.js | 178 - .../lib/rules/prefer-numeric-literals.js | 148 - .../eslint/lib/rules/prefer-object-has-own.js | 114 - .../eslint/lib/rules/prefer-object-spread.js | 298 - .../lib/rules/prefer-promise-reject-errors.js | 136 - .../eslint/lib/rules/prefer-reflect.js | 127 - .../eslint/lib/rules/prefer-regex-literals.js | 510 - .../eslint/lib/rules/prefer-rest-params.js | 118 - .../eslint/lib/rules/prefer-spread.js | 87 - .../eslint/lib/rules/prefer-template.js | 275 - .../eslint/lib/rules/quote-props.js | 310 - .../node_modules/eslint/lib/rules/quotes.js | 350 - .../node_modules/eslint/lib/rules/radix.js | 200 - .../lib/rules/require-atomic-updates.js | 334 - .../eslint/lib/rules/require-await.js | 147 - .../lib/rules/require-unicode-regexp.js | 210 - .../eslint/lib/rules/require-yield.js | 77 - .../eslint/lib/rules/rest-spread-spacing.js | 123 - .../eslint/lib/rules/semi-spacing.js | 248 - .../eslint/lib/rules/semi-style.js | 158 - .../node_modules/eslint/lib/rules/semi.js | 438 - .../eslint/lib/rules/sort-imports.js | 245 - .../eslint/lib/rules/sort-keys.js | 236 - .../eslint/lib/rules/sort-vars.js | 105 - .../eslint/lib/rules/space-before-blocks.js | 204 - .../lib/rules/space-before-function-paren.js | 167 - .../eslint/lib/rules/space-in-parens.js | 285 - .../eslint/lib/rules/space-infix-ops.js | 198 - .../eslint/lib/rules/space-unary-ops.js | 324 - .../eslint/lib/rules/spaced-comment.js | 385 - .../node_modules/eslint/lib/rules/strict.js | 278 - .../eslint/lib/rules/switch-colon-spacing.js | 132 - .../eslint/lib/rules/symbol-description.js | 73 - .../lib/rules/template-curly-spacing.js | 144 - .../eslint/lib/rules/template-tag-spacing.js | 93 - .../eslint/lib/rules/unicode-bom.js | 75 - .../eslint/lib/rules/use-isnan.js | 237 - .../eslint/lib/rules/utils/ast-utils.js | 2476 - .../eslint/lib/rules/utils/char-source.js | 240 - .../eslint/lib/rules/utils/fix-tracker.js | 114 - .../eslint/lib/rules/utils/keywords.js | 67 - .../lib/rules/utils/lazy-loading-rule-map.js | 115 - .../lib/rules/utils/regular-expressions.js | 50 - .../eslint/lib/rules/utils/unicode/index.js | 16 - .../utils/unicode/is-combining-character.js | 13 - .../rules/utils/unicode/is-emoji-modifier.js | 13 - .../unicode/is-regional-indicator-symbol.js | 13 - .../rules/utils/unicode/is-surrogate-pair.js | 14 - .../eslint/lib/rules/valid-typeof.js | 129 - .../eslint/lib/rules/vars-on-top.js | 157 - .../eslint/lib/rules/wrap-iife.js | 207 - .../eslint/lib/rules/wrap-regex.js | 61 - .../eslint/lib/rules/yield-star-spacing.js | 130 - .../node_modules/eslint/lib/rules/yoda.js | 350 - .../eslint/lib/services/parser-service.js | 65 - .../eslint/lib/services/processor-service.js | 109 - .../node_modules/eslint/lib/shared/ajv.js | 34 - .../node_modules/eslint/lib/shared/assert.js | 22 - .../eslint/lib/shared/ast-utils.js | 29 - .../eslint/lib/shared/deep-merge-arrays.js | 60 - .../eslint/lib/shared/directives.js | 15 - .../node_modules/eslint/lib/shared/flags.js | 28 - .../node_modules/eslint/lib/shared/logging.js | 39 - .../eslint/lib/shared/runtime-info.js | 168 - .../eslint/lib/shared/serialization.js | 55 - .../eslint/lib/shared/severity.js | 49 - .../node_modules/eslint/lib/shared/stats.js | 30 - .../eslint/lib/shared/string-utils.js | 58 - .../eslint/lib/shared/text-table.js | 67 - .../eslint/lib/shared/traverser.js | 195 - .../node_modules/eslint/lib/shared/types.js | 251 - .../node_modules/eslint/lib/types/index.d.ts | 1683 - .../lib/types/rules/best-practices.d.ts | 1129 - .../eslint/lib/types/rules/deprecated.d.ts | 235 - .../eslint/lib/types/rules/ecmascript-6.d.ts | 647 - .../eslint/lib/types/rules/index.d.ts | 50 - .../eslint/lib/types/rules/node-commonjs.d.ts | 160 - .../lib/types/rules/possible-errors.d.ts | 653 - .../eslint/lib/types/rules/strict-mode.d.ts | 38 - .../lib/types/rules/stylistic-issues.d.ts | 2037 - .../eslint/lib/types/rules/variables.d.ts | 234 - .../eslint/lib/types/universal.d.ts | 6 - .../lib/types/use-at-your-own-risk.d.ts | 85 - .../node_modules/eslint/lib/universal.js | 10 - .../eslint/lib/unsupported-api.js | 29 - .../eslint/messages/all-files-ignored.js | 16 - .../messages/all-matched-files-ignored.js | 21 - .../eslint/messages/config-file-missing.js | 16 - .../eslint/messages/eslintrc-incompat.js | 119 - .../eslint/messages/eslintrc-plugins.js | 24 - .../eslint/messages/extend-config-missing.js | 13 - .../eslint/messages/failed-to-read-json.js | 11 - .../eslint/messages/file-not-found.js | 10 - .../eslint/messages/invalid-rule-options.js | 17 - .../eslint/messages/invalid-rule-severity.js | 13 - .../eslint/messages/no-config-found.js | 15 - .../eslint/messages/plugin-conflict.js | 22 - .../eslint/messages/plugin-invalid.js | 16 - .../eslint/messages/plugin-missing.js | 19 - .../print-config-with-directory-path.js | 8 - .../node_modules/eslint/messages/shared.js | 18 - .../eslint/messages/whitespace-found.js | 11 - .../eslint/node_modules/.bin/jiti | 17 - .../node_modules/eslint/package.json | 219 - .../node_modules/espree | 1 - .../node_modules/esquery | 1 - .../node_modules/esutils | 1 - .../node_modules/fast-deep-equal | 1 - .../node_modules/file-entry-cache | 1 - .../node_modules/find-up | 1 - .../node_modules/glob-parent | 1 - .../node_modules/ignore | 1 - .../node_modules/imurmurhash | 1 - .../node_modules/is-glob | 1 - .../node_modules/jiti | 1 - .../json-stable-stringify-without-jsonify | 1 - .../node_modules/lodash.merge | 1 - .../node_modules/minimatch | 1 - .../node_modules/natural-compare | 1 - .../node_modules/optionator | 1 - .../eslint/node_modules/.bin/eslint | 17 - .../eslint/node_modules/.bin/jiti | 4 +- .../espree/node_modules/.bin/acorn | 4 +- .../node_modules/globals/globals.json | 2980 - .../node_modules/globals/index.d.ts | 3077 - .../node_modules/globals/index.js | 2 - .../node_modules/globals/license | 9 - .../node_modules/globals/package.json | 98 - .../node_modules/globals/readme.md | 42 - .../is-core-module@2.16.0/node_modules/hasown | 1 - .../node_modules/is-core-module/.eslintrc | 18 - .../node_modules/is-core-module/.nycrc | 9 - .../node_modules/is-core-module/CHANGELOG.md | 212 - .../node_modules/is-core-module/LICENSE | 20 - .../node_modules/is-core-module/README.md | 40 - .../node_modules/is-core-module/core.json | 162 - .../node_modules/is-core-module/index.js | 69 - .../node_modules/is-core-module/package.json | 76 - .../node_modules/is-core-module/test/index.js | 157 - .../jiti@1.21.6/node_modules/jiti/LICENSE | 21 - .../jiti@1.21.6/node_modules/jiti/README.md | 164 - .../jiti@1.21.6/node_modules/jiti/bin/jiti.js | 16 - .../node_modules/jiti/dist/babel.d.ts | 2 - .../node_modules/jiti/dist/babel.js | 202 - .../node_modules/jiti/dist/jiti.d.ts | 22 - .../node_modules/jiti/dist/jiti.js | 1 - .../babel-plugin-transform-import-meta.d.ts | 4 - .../jiti/dist/plugins/import-meta-env.d.ts | 5 - .../node_modules/jiti/dist/types.d.ts | 35 - .../node_modules/jiti/dist/utils.d.ts | 8 - .../node_modules/jiti/lib/index.js | 15 - .../node_modules/jiti/package.json | 81 - .../jiti@1.21.6/node_modules/jiti/register.js | 3 - .../node_modules/jiti/node_modules/.bin/jiti | 17 - .../jsonwebtoken/node_modules/.bin/semver | 4 +- node_modules/.pnpm/node_modules/.bin/glob | 17 - .../postcss-import/node_modules/.bin/resolve | 8 +- .../node_modules/.bin/yaml | 4 +- .../node_modules/.bin/cssesc | 4 +- .../postcss/node_modules/.bin/nanoid | 4 +- .../prettier/node_modules/.bin/prettier | 17 - .../react-dom/node_modules/.bin/loose-envify | 4 +- .../node_modules/@remix-run/router | 1 - .../node_modules/react | 1 - .../node_modules/react-dom | 1 - .../node_modules/react-router | 1 - .../react-router-dom/CHANGELOG.md | 967 - .../node_modules/react-router-dom/LICENSE.md | 23 - .../node_modules/react-router-dom/README.md | 5 - .../react-router-dom/dist/dom.d.ts | 117 - .../react-router-dom/dist/index.d.ts | 331 - .../react-router-dom/dist/index.js | 1458 - .../react-router-dom/dist/index.js.map | 1 - .../react-router-dom/dist/main.js | 19 - .../dist/react-router-dom.development.js | 1526 - .../dist/react-router-dom.development.js.map | 1 - .../dist/react-router-dom.production.min.js | 12 - .../react-router-dom.production.min.js.map | 1 - .../react-router-dom/dist/server.d.ts | 31 - .../react-router-dom/dist/server.js | 322 - .../react-router-dom/dist/server.mjs | 297 - .../dist/umd/react-router-dom.development.js | 1829 - .../umd/react-router-dom.development.js.map | 1 - .../umd/react-router-dom.production.min.js | 12 - .../react-router-dom.production.min.js.map | 1 - .../react-router-dom/package.json | 49 - .../node_modules/react-router-dom/server.d.ts | 31 - .../node_modules/react-router-dom/server.js | 322 - .../node_modules/react-router-dom/server.mjs | 297 - .../node_modules/@remix-run/router | 1 - .../node_modules/react | 1 - .../node_modules/react-router/CHANGELOG.md | 812 - .../node_modules/react-router/LICENSE.md | 23 - .../node_modules/react-router/README.md | 16 - .../node_modules/react-router/dist/index.d.ts | 30 - .../node_modules/react-router/dist/index.js | 1500 - .../react-router/dist/index.js.map | 1 - .../react-router/dist/lib/components.d.ts | 157 - .../react-router/dist/lib/context.d.ts | 102 - .../react-router/dist/lib/deprecations.d.ts | 4 - .../react-router/dist/lib/hooks.d.ts | 181 - .../node_modules/react-router/dist/main.js | 19 - .../dist/react-router.development.js | 1396 - .../dist/react-router.development.js.map | 1 - .../dist/react-router.production.min.js | 12 - .../dist/react-router.production.min.js.map | 1 - .../dist/umd/react-router.development.js | 1623 - .../dist/umd/react-router.development.js.map | 1 - .../dist/umd/react-router.production.min.js | 12 - .../umd/react-router.production.min.js.map | 1 - .../node_modules/react-router/package.json | 44 - .../react/node_modules/.bin/loose-envify | 4 +- .../node_modules/is-core-module | 1 - .../resolve@1.22.9/node_modules/path-parse | 1 - .../node_modules/resolve/.editorconfig | 37 - .../node_modules/resolve/.eslintrc | 65 - .../node_modules/resolve/.github/FUNDING.yml | 12 - .../node_modules/resolve/LICENSE | 21 - .../node_modules/resolve/SECURITY.md | 3 - .../node_modules/resolve/async.js | 3 - .../node_modules/resolve/bin/resolve | 50 - .../node_modules/resolve/example/async.js | 5 - .../node_modules/resolve/example/sync.js | 3 - .../node_modules/resolve/index.js | 6 - .../node_modules/resolve/lib/async.js | 329 - .../node_modules/resolve/lib/caller.js | 8 - .../node_modules/resolve/lib/core.js | 12 - .../node_modules/resolve/lib/core.json | 162 - .../node_modules/resolve/lib/homedir.js | 24 - .../node_modules/resolve/lib/is-core.js | 5 - .../resolve/lib/node-modules-paths.js | 42 - .../resolve/lib/normalize-options.js | 10 - .../node_modules/resolve/lib/sync.js | 208 - .../node_modules/resolve/package.json | 71 - .../node_modules/resolve/readme.markdown | 301 - .../node_modules/resolve/sync.js | 3 - .../node_modules/resolve/test/core.js | 88 - .../node_modules/resolve/test/dotdot.js | 29 - .../resolve/test/dotdot/abc/index.js | 2 - .../node_modules/resolve/test/dotdot/index.js | 1 - .../resolve/test/faulty_basedir.js | 29 - .../node_modules/resolve/test/filter.js | 34 - .../node_modules/resolve/test/filter_sync.js | 33 - .../node_modules/resolve/test/home_paths.js | 127 - .../resolve/test/home_paths_sync.js | 114 - .../resolve/test/list-exports/.eslintignore | 1 - .../resolve/test/list-exports/.eslintrc | 14 - .../test/list-exports/.github/FUNDING.yml | 12 - .../.github/workflows/conditions.yml | 78 - .../.github/workflows/fixtures.yml | 25 - .../.github/workflows/ls-engines.yml | 42 - .../.github/workflows/node-pretest.yml | 29 - .../list-exports/.github/workflows/node.yml | 63 - .../list-exports/.github/workflows/rebase.yml | 15 - .../.github/workflows/require-allow-edits.yml | 12 - .../resolve/test/list-exports/LICENSE | 21 - .../resolve/test/list-exports/README.md | 2 - .../resolve/test/list-exports/package.json | 52 - .../packages/list-exports/.eslintrc | 21 - .../packages/list-exports/README.md | 123 - .../packages/list-exports/index.js | 930 - .../packages/list-exports/package.json | 84 - .../packages/ls-exports/.eslintrc | 12 - .../packages/ls-exports/README.md | 51 - .../packages/ls-exports/bin/ls-exports | 71 - .../packages/ls-exports/exportsTable.js | 99 - .../packages/ls-exports/getPackageJSONPath.js | 21 - .../packages/ls-exports/package.json | 68 - .../list-exports/packages/ls-exports/table.js | 13 - .../list-exports/packages/tests/.eslintignore | 1 - .../list-exports/packages/tests/.eslintrc | 32 - .../packages/tests/conditions-expected.js | 79 - .../list-exports/packages/tests/conditions.js | 63 - .../expected/broken-dir-slash-conditions.json | 10152 -- .../es-abstract/expected/conditions.json | 10152 -- .../pattern-trailers-no-dir-slash.json | 10152 -- .../es-abstract/expected/patterns.json | 10152 -- .../es-abstract/expected/pre-exports.json | 4746 - .../2015/AbstractEqualityComparison.js | 0 .../2015/AbstractRelationalComparison.js | 0 .../project/2015/AdvanceStringIndex.js | 0 .../es-abstract/project/2015/ArrayCreate.js | 0 .../project/2015/ArraySetLength.js | 0 .../project/2015/ArraySpeciesCreate.js | 0 .../fixtures/es-abstract/project/2015/Call.js | 0 .../2015/CanonicalNumericIndexString.js | 0 .../2015/CompletePropertyDescriptor.js | 0 .../project/2015/CreateDataProperty.js | 0 .../project/2015/CreateDataPropertyOrThrow.js | 0 .../es-abstract/project/2015/CreateHTML.js | 0 .../project/2015/CreateIterResultObject.js | 0 .../project/2015/CreateListFromArrayLike.js | 0 .../project/2015/CreateMethodProperty.js | 0 .../es-abstract/project/2015/DateFromTime.js | 0 .../fixtures/es-abstract/project/2015/Day.js | 0 .../es-abstract/project/2015/DayFromYear.js | 0 .../es-abstract/project/2015/DayWithinYear.js | 0 .../es-abstract/project/2015/DaysInYear.js | 0 .../project/2015/DefinePropertyOrThrow.js | 0 .../project/2015/DeletePropertyOrThrow.js | 0 .../project/2015/EnumerableOwnNames.js | 0 .../project/2015/FromPropertyDescriptor.js | 0 .../fixtures/es-abstract/project/2015/Get.js | 0 .../es-abstract/project/2015/GetIterator.js | 0 .../es-abstract/project/2015/GetMethod.js | 0 .../project/2015/GetOwnPropertyKeys.js | 0 .../2015/GetPrototypeFromConstructor.js | 0 .../project/2015/GetSubstitution.js | 0 .../fixtures/es-abstract/project/2015/GetV.js | 0 .../project/2015/HasOwnProperty.js | 0 .../es-abstract/project/2015/HasProperty.js | 0 .../es-abstract/project/2015/HourFromTime.js | 0 .../es-abstract/project/2015/InLeapYear.js | 0 .../project/2015/InstanceofOperator.js | 0 .../es-abstract/project/2015/Invoke.js | 0 .../project/2015/IsAccessorDescriptor.js | 0 .../es-abstract/project/2015/IsArray.js | 0 .../es-abstract/project/2015/IsCallable.js | 0 .../project/2015/IsConcatSpreadable.js | 0 .../es-abstract/project/2015/IsConstructor.js | 0 .../project/2015/IsDataDescriptor.js | 0 .../es-abstract/project/2015/IsExtensible.js | 0 .../project/2015/IsGenericDescriptor.js | 0 .../es-abstract/project/2015/IsInteger.js | 0 .../es-abstract/project/2015/IsPromise.js | 0 .../project/2015/IsPropertyDescriptor.js | 0 .../es-abstract/project/2015/IsPropertyKey.js | 0 .../es-abstract/project/2015/IsRegExp.js | 0 .../es-abstract/project/2015/IteratorClose.js | 0 .../project/2015/IteratorComplete.js | 0 .../es-abstract/project/2015/IteratorNext.js | 0 .../es-abstract/project/2015/IteratorStep.js | 0 .../es-abstract/project/2015/IteratorValue.js | 0 .../es-abstract/project/2015/MakeDate.js | 0 .../es-abstract/project/2015/MakeDay.js | 0 .../es-abstract/project/2015/MakeTime.js | 0 .../es-abstract/project/2015/MinFromTime.js | 0 .../es-abstract/project/2015/MonthFromTime.js | 0 .../es-abstract/project/2015/ObjectCreate.js | 0 .../project/2015/OrdinaryDefineOwnProperty.js | 0 .../project/2015/OrdinaryGetOwnProperty.js | 0 .../project/2015/OrdinaryHasInstance.js | 0 .../project/2015/OrdinaryHasProperty.js | 0 .../es-abstract/project/2015/RegExpExec.js | 0 .../project/2015/RequireObjectCoercible.js | 0 .../es-abstract/project/2015/SameValue.js | 0 .../es-abstract/project/2015/SameValueZero.js | 0 .../es-abstract/project/2015/SecFromTime.js | 0 .../fixtures/es-abstract/project/2015/Set.js | 0 .../project/2015/SetFunctionName.js | 0 .../project/2015/SetIntegrityLevel.js | 0 .../project/2015/SpeciesConstructor.js | 0 .../project/2015/StrictEqualityComparison.js | 0 .../project/2015/SymbolDescriptiveString.js | 0 .../project/2015/TestIntegrityLevel.js | 0 .../es-abstract/project/2015/TimeClip.js | 0 .../es-abstract/project/2015/TimeFromYear.js | 0 .../es-abstract/project/2015/TimeWithinDay.js | 0 .../es-abstract/project/2015/ToBoolean.js | 0 .../es-abstract/project/2015/ToDateString.js | 0 .../es-abstract/project/2015/ToInt16.js | 0 .../es-abstract/project/2015/ToInt32.js | 0 .../es-abstract/project/2015/ToInt8.js | 0 .../es-abstract/project/2015/ToInteger.js | 0 .../es-abstract/project/2015/ToLength.js | 0 .../es-abstract/project/2015/ToNumber.js | 0 .../es-abstract/project/2015/ToObject.js | 0 .../es-abstract/project/2015/ToPrimitive.js | 0 .../project/2015/ToPropertyDescriptor.js | 0 .../es-abstract/project/2015/ToPropertyKey.js | 0 .../es-abstract/project/2015/ToString.js | 0 .../es-abstract/project/2015/ToUint16.js | 0 .../es-abstract/project/2015/ToUint32.js | 0 .../es-abstract/project/2015/ToUint8.js | 0 .../es-abstract/project/2015/ToUint8Clamp.js | 0 .../fixtures/es-abstract/project/2015/Type.js | 0 .../ValidateAndApplyPropertyDescriptor.js | 0 .../es-abstract/project/2015/WeekDay.js | 0 .../es-abstract/project/2015/YearFromTime.js | 0 .../es-abstract/project/2015/modulo.js | 0 .../es-abstract/project/2015/msFromTime.js | 0 .../project/2015/thisBooleanValue.js | 0 .../project/2015/thisNumberValue.js | 0 .../project/2015/thisStringValue.js | 0 .../es-abstract/project/2015/thisTimeValue.js | 0 .../2016/AbstractEqualityComparison.js | 0 .../2016/AbstractRelationalComparison.js | 0 .../project/2016/AdvanceStringIndex.js | 0 .../es-abstract/project/2016/ArrayCreate.js | 0 .../project/2016/ArraySetLength.js | 0 .../project/2016/ArraySpeciesCreate.js | 0 .../fixtures/es-abstract/project/2016/Call.js | 0 .../2016/CanonicalNumericIndexString.js | 0 .../2016/CompletePropertyDescriptor.js | 0 .../project/2016/CreateDataProperty.js | 0 .../project/2016/CreateDataPropertyOrThrow.js | 0 .../es-abstract/project/2016/CreateHTML.js | 0 .../project/2016/CreateIterResultObject.js | 0 .../project/2016/CreateListFromArrayLike.js | 0 .../project/2016/CreateMethodProperty.js | 0 .../es-abstract/project/2016/DateFromTime.js | 0 .../fixtures/es-abstract/project/2016/Day.js | 0 .../es-abstract/project/2016/DayFromYear.js | 0 .../es-abstract/project/2016/DayWithinYear.js | 0 .../es-abstract/project/2016/DaysInYear.js | 0 .../project/2016/DefinePropertyOrThrow.js | 0 .../project/2016/DeletePropertyOrThrow.js | 0 .../project/2016/EnumerableOwnNames.js | 0 .../project/2016/FromPropertyDescriptor.js | 0 .../fixtures/es-abstract/project/2016/Get.js | 0 .../es-abstract/project/2016/GetIterator.js | 0 .../es-abstract/project/2016/GetMethod.js | 0 .../project/2016/GetOwnPropertyKeys.js | 0 .../2016/GetPrototypeFromConstructor.js | 0 .../project/2016/GetSubstitution.js | 0 .../fixtures/es-abstract/project/2016/GetV.js | 0 .../project/2016/HasOwnProperty.js | 0 .../es-abstract/project/2016/HasProperty.js | 0 .../es-abstract/project/2016/HourFromTime.js | 0 .../es-abstract/project/2016/InLeapYear.js | 0 .../project/2016/InstanceofOperator.js | 0 .../es-abstract/project/2016/Invoke.js | 0 .../project/2016/IsAccessorDescriptor.js | 0 .../es-abstract/project/2016/IsArray.js | 0 .../es-abstract/project/2016/IsCallable.js | 0 .../project/2016/IsConcatSpreadable.js | 0 .../es-abstract/project/2016/IsConstructor.js | 0 .../project/2016/IsDataDescriptor.js | 0 .../es-abstract/project/2016/IsExtensible.js | 0 .../project/2016/IsGenericDescriptor.js | 0 .../es-abstract/project/2016/IsInteger.js | 0 .../es-abstract/project/2016/IsPromise.js | 0 .../project/2016/IsPropertyDescriptor.js | 0 .../es-abstract/project/2016/IsPropertyKey.js | 0 .../es-abstract/project/2016/IsRegExp.js | 0 .../project/2016/IterableToArrayLike.js | 0 .../es-abstract/project/2016/IteratorClose.js | 0 .../project/2016/IteratorComplete.js | 0 .../es-abstract/project/2016/IteratorNext.js | 0 .../es-abstract/project/2016/IteratorStep.js | 0 .../es-abstract/project/2016/IteratorValue.js | 0 .../es-abstract/project/2016/MakeDate.js | 0 .../es-abstract/project/2016/MakeDay.js | 0 .../es-abstract/project/2016/MakeTime.js | 0 .../es-abstract/project/2016/MinFromTime.js | 0 .../es-abstract/project/2016/MonthFromTime.js | 0 .../es-abstract/project/2016/ObjectCreate.js | 0 .../project/2016/OrdinaryDefineOwnProperty.js | 0 .../project/2016/OrdinaryGetOwnProperty.js | 0 .../project/2016/OrdinaryGetPrototypeOf.js | 0 .../project/2016/OrdinaryHasInstance.js | 0 .../project/2016/OrdinaryHasProperty.js | 0 .../project/2016/OrdinarySetPrototypeOf.js | 0 .../es-abstract/project/2016/RegExpExec.js | 0 .../project/2016/RequireObjectCoercible.js | 0 .../es-abstract/project/2016/SameValue.js | 0 .../project/2016/SameValueNonNumber.js | 0 .../es-abstract/project/2016/SameValueZero.js | 0 .../es-abstract/project/2016/SecFromTime.js | 0 .../fixtures/es-abstract/project/2016/Set.js | 0 .../project/2016/SetFunctionName.js | 0 .../project/2016/SetIntegrityLevel.js | 0 .../project/2016/SpeciesConstructor.js | 0 .../project/2016/StrictEqualityComparison.js | 0 .../project/2016/SymbolDescriptiveString.js | 0 .../project/2016/TestIntegrityLevel.js | 0 .../es-abstract/project/2016/TimeClip.js | 0 .../es-abstract/project/2016/TimeFromYear.js | 0 .../es-abstract/project/2016/TimeWithinDay.js | 0 .../es-abstract/project/2016/ToBoolean.js | 0 .../es-abstract/project/2016/ToDateString.js | 0 .../es-abstract/project/2016/ToInt16.js | 0 .../es-abstract/project/2016/ToInt32.js | 0 .../es-abstract/project/2016/ToInt8.js | 0 .../es-abstract/project/2016/ToInteger.js | 0 .../es-abstract/project/2016/ToLength.js | 0 .../es-abstract/project/2016/ToNumber.js | 0 .../es-abstract/project/2016/ToObject.js | 0 .../es-abstract/project/2016/ToPrimitive.js | 0 .../project/2016/ToPropertyDescriptor.js | 0 .../es-abstract/project/2016/ToPropertyKey.js | 0 .../es-abstract/project/2016/ToString.js | 0 .../es-abstract/project/2016/ToUint16.js | 0 .../es-abstract/project/2016/ToUint32.js | 0 .../es-abstract/project/2016/ToUint8.js | 0 .../es-abstract/project/2016/ToUint8Clamp.js | 0 .../fixtures/es-abstract/project/2016/Type.js | 0 .../ValidateAndApplyPropertyDescriptor.js | 0 .../es-abstract/project/2016/WeekDay.js | 0 .../es-abstract/project/2016/YearFromTime.js | 0 .../es-abstract/project/2016/modulo.js | 0 .../es-abstract/project/2016/msFromTime.js | 0 .../project/2016/thisBooleanValue.js | 0 .../project/2016/thisNumberValue.js | 0 .../project/2016/thisStringValue.js | 0 .../es-abstract/project/2016/thisTimeValue.js | 0 .../2017/AbstractEqualityComparison.js | 0 .../2017/AbstractRelationalComparison.js | 0 .../project/2017/AdvanceStringIndex.js | 0 .../es-abstract/project/2017/ArrayCreate.js | 0 .../project/2017/ArraySetLength.js | 0 .../project/2017/ArraySpeciesCreate.js | 0 .../fixtures/es-abstract/project/2017/Call.js | 0 .../2017/CanonicalNumericIndexString.js | 0 .../2017/CompletePropertyDescriptor.js | 0 .../project/2017/CreateDataProperty.js | 0 .../project/2017/CreateDataPropertyOrThrow.js | 0 .../es-abstract/project/2017/CreateHTML.js | 0 .../project/2017/CreateIterResultObject.js | 0 .../project/2017/CreateListFromArrayLike.js | 0 .../project/2017/CreateMethodProperty.js | 0 .../es-abstract/project/2017/DateFromTime.js | 0 .../fixtures/es-abstract/project/2017/Day.js | 0 .../es-abstract/project/2017/DayFromYear.js | 0 .../es-abstract/project/2017/DayWithinYear.js | 0 .../es-abstract/project/2017/DaysInYear.js | 0 .../project/2017/DefinePropertyOrThrow.js | 0 .../project/2017/DeletePropertyOrThrow.js | 0 .../project/2017/EnumerableOwnProperties.js | 0 .../project/2017/FromPropertyDescriptor.js | 0 .../fixtures/es-abstract/project/2017/Get.js | 0 .../es-abstract/project/2017/GetIterator.js | 0 .../es-abstract/project/2017/GetMethod.js | 0 .../project/2017/GetOwnPropertyKeys.js | 0 .../2017/GetPrototypeFromConstructor.js | 0 .../project/2017/GetSubstitution.js | 0 .../fixtures/es-abstract/project/2017/GetV.js | 0 .../project/2017/HasOwnProperty.js | 0 .../es-abstract/project/2017/HasProperty.js | 0 .../es-abstract/project/2017/HourFromTime.js | 0 .../es-abstract/project/2017/InLeapYear.js | 0 .../project/2017/InstanceofOperator.js | 0 .../es-abstract/project/2017/Invoke.js | 0 .../project/2017/IsAccessorDescriptor.js | 0 .../es-abstract/project/2017/IsArray.js | 0 .../es-abstract/project/2017/IsCallable.js | 0 .../project/2017/IsConcatSpreadable.js | 0 .../es-abstract/project/2017/IsConstructor.js | 0 .../project/2017/IsDataDescriptor.js | 0 .../es-abstract/project/2017/IsExtensible.js | 0 .../project/2017/IsGenericDescriptor.js | 0 .../es-abstract/project/2017/IsInteger.js | 0 .../es-abstract/project/2017/IsPromise.js | 0 .../project/2017/IsPropertyDescriptor.js | 0 .../es-abstract/project/2017/IsPropertyKey.js | 0 .../es-abstract/project/2017/IsRegExp.js | 0 .../project/2017/IterableToList.js | 0 .../es-abstract/project/2017/IteratorClose.js | 0 .../project/2017/IteratorComplete.js | 0 .../es-abstract/project/2017/IteratorNext.js | 0 .../es-abstract/project/2017/IteratorStep.js | 0 .../es-abstract/project/2017/IteratorValue.js | 0 .../es-abstract/project/2017/MakeDate.js | 0 .../es-abstract/project/2017/MakeDay.js | 0 .../es-abstract/project/2017/MakeTime.js | 0 .../es-abstract/project/2017/MinFromTime.js | 0 .../es-abstract/project/2017/MonthFromTime.js | 0 .../es-abstract/project/2017/ObjectCreate.js | 0 .../project/2017/OrdinaryDefineOwnProperty.js | 0 .../project/2017/OrdinaryGetOwnProperty.js | 0 .../project/2017/OrdinaryGetPrototypeOf.js | 0 .../project/2017/OrdinaryHasInstance.js | 0 .../project/2017/OrdinaryHasProperty.js | 0 .../project/2017/OrdinarySetPrototypeOf.js | 0 .../es-abstract/project/2017/RegExpExec.js | 0 .../project/2017/RequireObjectCoercible.js | 0 .../es-abstract/project/2017/SameValue.js | 0 .../project/2017/SameValueNonNumber.js | 0 .../es-abstract/project/2017/SameValueZero.js | 0 .../es-abstract/project/2017/SecFromTime.js | 0 .../fixtures/es-abstract/project/2017/Set.js | 0 .../project/2017/SetFunctionName.js | 0 .../project/2017/SetIntegrityLevel.js | 0 .../project/2017/SpeciesConstructor.js | 0 .../project/2017/StrictEqualityComparison.js | 0 .../project/2017/SymbolDescriptiveString.js | 0 .../project/2017/TestIntegrityLevel.js | 0 .../es-abstract/project/2017/TimeClip.js | 0 .../es-abstract/project/2017/TimeFromYear.js | 0 .../es-abstract/project/2017/TimeWithinDay.js | 0 .../es-abstract/project/2017/ToBoolean.js | 0 .../es-abstract/project/2017/ToDateString.js | 0 .../es-abstract/project/2017/ToIndex.js | 0 .../es-abstract/project/2017/ToInt16.js | 0 .../es-abstract/project/2017/ToInt32.js | 0 .../es-abstract/project/2017/ToInt8.js | 0 .../es-abstract/project/2017/ToInteger.js | 0 .../es-abstract/project/2017/ToLength.js | 0 .../es-abstract/project/2017/ToNumber.js | 0 .../es-abstract/project/2017/ToObject.js | 0 .../es-abstract/project/2017/ToPrimitive.js | 0 .../project/2017/ToPropertyDescriptor.js | 0 .../es-abstract/project/2017/ToPropertyKey.js | 0 .../es-abstract/project/2017/ToString.js | 0 .../es-abstract/project/2017/ToUint16.js | 0 .../es-abstract/project/2017/ToUint32.js | 0 .../es-abstract/project/2017/ToUint8.js | 0 .../es-abstract/project/2017/ToUint8Clamp.js | 0 .../fixtures/es-abstract/project/2017/Type.js | 0 .../ValidateAndApplyPropertyDescriptor.js | 0 .../es-abstract/project/2017/WeekDay.js | 0 .../es-abstract/project/2017/YearFromTime.js | 0 .../es-abstract/project/2017/modulo.js | 0 .../es-abstract/project/2017/msFromTime.js | 0 .../project/2017/thisBooleanValue.js | 0 .../project/2017/thisNumberValue.js | 0 .../project/2017/thisStringValue.js | 0 .../es-abstract/project/2017/thisTimeValue.js | 0 .../2018/AbstractEqualityComparison.js | 0 .../2018/AbstractRelationalComparison.js | 0 .../project/2018/AdvanceStringIndex.js | 0 .../es-abstract/project/2018/ArrayCreate.js | 0 .../project/2018/ArraySetLength.js | 0 .../project/2018/ArraySpeciesCreate.js | 0 .../fixtures/es-abstract/project/2018/Call.js | 0 .../2018/CanonicalNumericIndexString.js | 0 .../2018/CompletePropertyDescriptor.js | 0 .../project/2018/CopyDataProperties.js | 0 .../project/2018/CreateDataProperty.js | 0 .../project/2018/CreateDataPropertyOrThrow.js | 0 .../es-abstract/project/2018/CreateHTML.js | 0 .../project/2018/CreateIterResultObject.js | 0 .../project/2018/CreateListFromArrayLike.js | 0 .../project/2018/CreateMethodProperty.js | 0 .../es-abstract/project/2018/DateFromTime.js | 0 .../es-abstract/project/2018/DateString.js | 0 .../fixtures/es-abstract/project/2018/Day.js | 0 .../es-abstract/project/2018/DayFromYear.js | 0 .../es-abstract/project/2018/DayWithinYear.js | 0 .../es-abstract/project/2018/DaysInYear.js | 0 .../project/2018/DefinePropertyOrThrow.js | 0 .../project/2018/DeletePropertyOrThrow.js | 0 .../2018/EnumerableOwnPropertyNames.js | 0 .../project/2018/FromPropertyDescriptor.js | 0 .../fixtures/es-abstract/project/2018/Get.js | 0 .../es-abstract/project/2018/GetIterator.js | 0 .../es-abstract/project/2018/GetMethod.js | 0 .../project/2018/GetOwnPropertyKeys.js | 0 .../2018/GetPrototypeFromConstructor.js | 0 .../project/2018/GetSubstitution.js | 0 .../fixtures/es-abstract/project/2018/GetV.js | 0 .../project/2018/HasOwnProperty.js | 0 .../es-abstract/project/2018/HasProperty.js | 0 .../es-abstract/project/2018/HourFromTime.js | 0 .../es-abstract/project/2018/InLeapYear.js | 0 .../project/2018/InstanceofOperator.js | 0 .../es-abstract/project/2018/Invoke.js | 0 .../project/2018/IsAccessorDescriptor.js | 0 .../es-abstract/project/2018/IsArray.js | 0 .../es-abstract/project/2018/IsCallable.js | 0 .../project/2018/IsConcatSpreadable.js | 0 .../es-abstract/project/2018/IsConstructor.js | 0 .../project/2018/IsDataDescriptor.js | 0 .../es-abstract/project/2018/IsExtensible.js | 0 .../project/2018/IsGenericDescriptor.js | 0 .../es-abstract/project/2018/IsInteger.js | 0 .../es-abstract/project/2018/IsPromise.js | 0 .../es-abstract/project/2018/IsPropertyKey.js | 0 .../es-abstract/project/2018/IsRegExp.js | 0 .../project/2018/IsStringPrefix.js | 0 .../project/2018/IterableToList.js | 0 .../es-abstract/project/2018/IteratorClose.js | 0 .../project/2018/IteratorComplete.js | 0 .../es-abstract/project/2018/IteratorNext.js | 0 .../es-abstract/project/2018/IteratorStep.js | 0 .../es-abstract/project/2018/IteratorValue.js | 0 .../es-abstract/project/2018/MakeDate.js | 0 .../es-abstract/project/2018/MakeDay.js | 0 .../es-abstract/project/2018/MakeTime.js | 0 .../es-abstract/project/2018/MinFromTime.js | 0 .../es-abstract/project/2018/MonthFromTime.js | 0 .../project/2018/NumberToString.js | 0 .../es-abstract/project/2018/ObjectCreate.js | 0 .../project/2018/OrdinaryDefineOwnProperty.js | 0 .../project/2018/OrdinaryGetOwnProperty.js | 0 .../project/2018/OrdinaryGetPrototypeOf.js | 0 .../project/2018/OrdinaryHasInstance.js | 0 .../project/2018/OrdinaryHasProperty.js | 0 .../project/2018/OrdinarySetPrototypeOf.js | 0 .../project/2018/PromiseResolve.js | 0 .../es-abstract/project/2018/RegExpExec.js | 0 .../project/2018/RequireObjectCoercible.js | 0 .../es-abstract/project/2018/SameValue.js | 0 .../project/2018/SameValueNonNumber.js | 0 .../es-abstract/project/2018/SameValueZero.js | 0 .../es-abstract/project/2018/SecFromTime.js | 0 .../fixtures/es-abstract/project/2018/Set.js | 0 .../project/2018/SetFunctionName.js | 0 .../project/2018/SetIntegrityLevel.js | 0 .../project/2018/SpeciesConstructor.js | 0 .../project/2018/StrictEqualityComparison.js | 0 .../project/2018/SymbolDescriptiveString.js | 0 .../project/2018/TestIntegrityLevel.js | 0 .../es-abstract/project/2018/TimeClip.js | 0 .../es-abstract/project/2018/TimeFromYear.js | 0 .../es-abstract/project/2018/TimeString.js | 0 .../es-abstract/project/2018/TimeWithinDay.js | 0 .../es-abstract/project/2018/ToBoolean.js | 0 .../es-abstract/project/2018/ToDateString.js | 0 .../es-abstract/project/2018/ToIndex.js | 0 .../es-abstract/project/2018/ToInt16.js | 0 .../es-abstract/project/2018/ToInt32.js | 0 .../es-abstract/project/2018/ToInt8.js | 0 .../es-abstract/project/2018/ToInteger.js | 0 .../es-abstract/project/2018/ToLength.js | 0 .../es-abstract/project/2018/ToNumber.js | 0 .../es-abstract/project/2018/ToObject.js | 0 .../es-abstract/project/2018/ToPrimitive.js | 0 .../project/2018/ToPropertyDescriptor.js | 0 .../es-abstract/project/2018/ToPropertyKey.js | 0 .../es-abstract/project/2018/ToString.js | 0 .../es-abstract/project/2018/ToUint16.js | 0 .../es-abstract/project/2018/ToUint32.js | 0 .../es-abstract/project/2018/ToUint8.js | 0 .../es-abstract/project/2018/ToUint8Clamp.js | 0 .../fixtures/es-abstract/project/2018/Type.js | 0 .../ValidateAndApplyPropertyDescriptor.js | 0 .../es-abstract/project/2018/WeekDay.js | 0 .../es-abstract/project/2018/YearFromTime.js | 0 .../es-abstract/project/2018/modulo.js | 0 .../es-abstract/project/2018/msFromTime.js | 0 .../project/2018/thisBooleanValue.js | 0 .../project/2018/thisNumberValue.js | 0 .../project/2018/thisStringValue.js | 0 .../project/2018/thisSymbolValue.js | 0 .../es-abstract/project/2018/thisTimeValue.js | 0 .../2019/AbstractEqualityComparison.js | 0 .../2019/AbstractRelationalComparison.js | 0 .../project/2019/AddEntriesFromIterable.js | 0 .../project/2019/AdvanceStringIndex.js | 0 .../es-abstract/project/2019/ArrayCreate.js | 0 .../project/2019/ArraySetLength.js | 0 .../project/2019/ArraySpeciesCreate.js | 0 .../fixtures/es-abstract/project/2019/Call.js | 0 .../2019/CanonicalNumericIndexString.js | 0 .../2019/CompletePropertyDescriptor.js | 0 .../project/2019/CopyDataProperties.js | 0 .../project/2019/CreateDataProperty.js | 0 .../project/2019/CreateDataPropertyOrThrow.js | 0 .../es-abstract/project/2019/CreateHTML.js | 0 .../project/2019/CreateIterResultObject.js | 0 .../project/2019/CreateListFromArrayLike.js | 0 .../project/2019/CreateMethodProperty.js | 0 .../es-abstract/project/2019/DateFromTime.js | 0 .../es-abstract/project/2019/DateString.js | 0 .../fixtures/es-abstract/project/2019/Day.js | 0 .../es-abstract/project/2019/DayFromYear.js | 0 .../es-abstract/project/2019/DayWithinYear.js | 0 .../es-abstract/project/2019/DaysInYear.js | 0 .../project/2019/DefinePropertyOrThrow.js | 0 .../project/2019/DeletePropertyOrThrow.js | 0 .../2019/EnumerableOwnPropertyNames.js | 0 .../project/2019/FlattenIntoArray.js | 0 .../project/2019/FromPropertyDescriptor.js | 0 .../fixtures/es-abstract/project/2019/Get.js | 0 .../es-abstract/project/2019/GetIterator.js | 0 .../es-abstract/project/2019/GetMethod.js | 0 .../project/2019/GetOwnPropertyKeys.js | 0 .../2019/GetPrototypeFromConstructor.js | 0 .../project/2019/GetSubstitution.js | 0 .../fixtures/es-abstract/project/2019/GetV.js | 0 .../project/2019/HasOwnProperty.js | 0 .../es-abstract/project/2019/HasProperty.js | 0 .../es-abstract/project/2019/HourFromTime.js | 0 .../es-abstract/project/2019/InLeapYear.js | 0 .../project/2019/InstanceofOperator.js | 0 .../es-abstract/project/2019/Invoke.js | 0 .../project/2019/IsAccessorDescriptor.js | 0 .../es-abstract/project/2019/IsArray.js | 0 .../es-abstract/project/2019/IsCallable.js | 0 .../project/2019/IsConcatSpreadable.js | 0 .../es-abstract/project/2019/IsConstructor.js | 0 .../project/2019/IsDataDescriptor.js | 0 .../es-abstract/project/2019/IsExtensible.js | 0 .../project/2019/IsGenericDescriptor.js | 0 .../es-abstract/project/2019/IsInteger.js | 0 .../es-abstract/project/2019/IsPromise.js | 0 .../es-abstract/project/2019/IsPropertyKey.js | 0 .../es-abstract/project/2019/IsRegExp.js | 0 .../project/2019/IsStringPrefix.js | 0 .../project/2019/IterableToList.js | 0 .../es-abstract/project/2019/IteratorClose.js | 0 .../project/2019/IteratorComplete.js | 0 .../es-abstract/project/2019/IteratorNext.js | 0 .../es-abstract/project/2019/IteratorStep.js | 0 .../es-abstract/project/2019/IteratorValue.js | 0 .../es-abstract/project/2019/MakeDate.js | 0 .../es-abstract/project/2019/MakeDay.js | 0 .../es-abstract/project/2019/MakeTime.js | 0 .../es-abstract/project/2019/MinFromTime.js | 0 .../es-abstract/project/2019/MonthFromTime.js | 0 .../project/2019/NumberToString.js | 0 .../es-abstract/project/2019/ObjectCreate.js | 0 .../project/2019/OrdinaryDefineOwnProperty.js | 0 .../project/2019/OrdinaryGetOwnProperty.js | 0 .../project/2019/OrdinaryGetPrototypeOf.js | 0 .../project/2019/OrdinaryHasInstance.js | 0 .../project/2019/OrdinaryHasProperty.js | 0 .../project/2019/OrdinarySetPrototypeOf.js | 0 .../project/2019/PromiseResolve.js | 0 .../es-abstract/project/2019/RegExpExec.js | 0 .../project/2019/RequireObjectCoercible.js | 0 .../es-abstract/project/2019/SameValue.js | 0 .../project/2019/SameValueNonNumber.js | 0 .../es-abstract/project/2019/SameValueZero.js | 0 .../es-abstract/project/2019/SecFromTime.js | 0 .../fixtures/es-abstract/project/2019/Set.js | 0 .../project/2019/SetFunctionName.js | 0 .../project/2019/SetIntegrityLevel.js | 0 .../project/2019/SpeciesConstructor.js | 0 .../project/2019/StrictEqualityComparison.js | 0 .../project/2019/SymbolDescriptiveString.js | 0 .../project/2019/TestIntegrityLevel.js | 0 .../es-abstract/project/2019/TimeClip.js | 0 .../es-abstract/project/2019/TimeFromYear.js | 0 .../es-abstract/project/2019/TimeString.js | 0 .../es-abstract/project/2019/TimeWithinDay.js | 0 .../es-abstract/project/2019/ToBoolean.js | 0 .../es-abstract/project/2019/ToDateString.js | 0 .../es-abstract/project/2019/ToIndex.js | 0 .../es-abstract/project/2019/ToInt16.js | 0 .../es-abstract/project/2019/ToInt32.js | 0 .../es-abstract/project/2019/ToInt8.js | 0 .../es-abstract/project/2019/ToInteger.js | 0 .../es-abstract/project/2019/ToLength.js | 0 .../es-abstract/project/2019/ToNumber.js | 0 .../es-abstract/project/2019/ToObject.js | 0 .../es-abstract/project/2019/ToPrimitive.js | 0 .../project/2019/ToPropertyDescriptor.js | 0 .../es-abstract/project/2019/ToPropertyKey.js | 0 .../es-abstract/project/2019/ToString.js | 0 .../es-abstract/project/2019/ToUint16.js | 0 .../es-abstract/project/2019/ToUint32.js | 0 .../es-abstract/project/2019/ToUint8.js | 0 .../es-abstract/project/2019/ToUint8Clamp.js | 0 .../es-abstract/project/2019/TrimString.js | 0 .../fixtures/es-abstract/project/2019/Type.js | 0 .../ValidateAndApplyPropertyDescriptor.js | 0 .../es-abstract/project/2019/WeekDay.js | 0 .../es-abstract/project/2019/YearFromTime.js | 0 .../es-abstract/project/2019/modulo.js | 0 .../es-abstract/project/2019/msFromTime.js | 0 .../project/2019/thisBooleanValue.js | 0 .../project/2019/thisNumberValue.js | 0 .../project/2019/thisStringValue.js | 0 .../project/2019/thisSymbolValue.js | 0 .../es-abstract/project/2019/thisTimeValue.js | 0 .../project/5/AbstractEqualityComparison.js | 0 .../project/5/AbstractRelationalComparison.js | 0 .../project/5/CheckObjectCoercible.js | 0 .../es-abstract/project/5/DateFromTime.js | 0 .../fixtures/es-abstract/project/5/Day.js | 0 .../es-abstract/project/5/DayFromYear.js | 0 .../es-abstract/project/5/DayWithinYear.js | 0 .../es-abstract/project/5/DaysInYear.js | 0 .../project/5/FromPropertyDescriptor.js | 0 .../es-abstract/project/5/HourFromTime.js | 0 .../es-abstract/project/5/InLeapYear.js | 0 .../project/5/IsAccessorDescriptor.js | 0 .../es-abstract/project/5/IsCallable.js | 0 .../es-abstract/project/5/IsDataDescriptor.js | 0 .../project/5/IsGenericDescriptor.js | 0 .../project/5/IsPropertyDescriptor.js | 0 .../es-abstract/project/5/MakeDate.js | 0 .../fixtures/es-abstract/project/5/MakeDay.js | 0 .../es-abstract/project/5/MakeTime.js | 0 .../es-abstract/project/5/MinFromTime.js | 0 .../es-abstract/project/5/MonthFromTime.js | 0 .../es-abstract/project/5/SameValue.js | 0 .../es-abstract/project/5/SecFromTime.js | 0 .../project/5/StrictEqualityComparison.js | 0 .../es-abstract/project/5/TimeClip.js | 0 .../es-abstract/project/5/TimeFromYear.js | 0 .../es-abstract/project/5/TimeWithinDay.js | 0 .../es-abstract/project/5/ToBoolean.js | 0 .../fixtures/es-abstract/project/5/ToInt32.js | 0 .../es-abstract/project/5/ToInteger.js | 0 .../es-abstract/project/5/ToNumber.js | 0 .../es-abstract/project/5/ToObject.js | 0 .../es-abstract/project/5/ToPrimitive.js | 0 .../project/5/ToPropertyDescriptor.js | 0 .../es-abstract/project/5/ToString.js | 0 .../es-abstract/project/5/ToUint16.js | 0 .../es-abstract/project/5/ToUint32.js | 0 .../fixtures/es-abstract/project/5/Type.js | 0 .../fixtures/es-abstract/project/5/WeekDay.js | 0 .../es-abstract/project/5/YearFromTime.js | 0 .../fixtures/es-abstract/project/5/modulo.js | 0 .../es-abstract/project/5/msFromTime.js | 0 .../fixtures/es-abstract/project/CHANGELOG.md | 0 .../es-abstract/project/GetIntrinsic.js | 0 .../fixtures/es-abstract/project/LICENSE | 0 .../fixtures/es-abstract/project/README.md | 0 .../fixtures/es-abstract/project/es2015.js | 0 .../fixtures/es-abstract/project/es2016.js | 0 .../fixtures/es-abstract/project/es2017.js | 0 .../fixtures/es-abstract/project/es2018.js | 0 .../fixtures/es-abstract/project/es2019.js | 0 .../tests/fixtures/es-abstract/project/es5.js | 0 .../tests/fixtures/es-abstract/project/es6.js | 0 .../tests/fixtures/es-abstract/project/es7.js | 0 .../project/helpers/DefineOwnProperty.js | 0 .../project/helpers/OwnPropertyKeys.js | 0 .../project/helpers/assertRecord.js | 0 .../es-abstract/project/helpers/assign.js | 0 .../es-abstract/project/helpers/callBind.js | 0 .../es-abstract/project/helpers/callBound.js | 0 .../es-abstract/project/helpers/every.js | 0 .../es-abstract/project/helpers/forEach.js | 0 .../project/helpers/getInferredName.js | 0 .../project/helpers/getIteratorMethod.js | 0 .../helpers/getOwnPropertyDescriptor.js | 0 .../es-abstract/project/helpers/getProto.js | 0 .../project/helpers/getSymbolDescription.js | 0 .../es-abstract/project/helpers/isFinite.js | 0 .../es-abstract/project/helpers/isNaN.js | 0 .../es-abstract/project/helpers/isPrefixOf.js | 0 .../project/helpers/isPrimitive.js | 0 .../project/helpers/isPropertyDescriptor.js | 0 .../helpers/isSamePropertyDescriptor.js | 0 .../project/helpers/maxSafeInteger.js | 0 .../es-abstract/project/helpers/mod.js | 0 .../project/helpers/padTimeComponent.js | 0 .../project/helpers/regexTester.js | 0 .../es-abstract/project/helpers/setProto.js | 0 .../es-abstract/project/helpers/sign.js | 0 .../project/helpers/timeConstants.js | 0 .../fixtures/es-abstract/project/index.js | 0 .../es-abstract/project/operations/.eslintrc | 0 .../es-abstract/project/operations/2015.js | 0 .../es-abstract/project/operations/2016.js | 0 .../es-abstract/project/operations/2017.js | 0 .../es-abstract/project/operations/2018.js | 0 .../es-abstract/project/operations/2019.js | 0 .../fixtures/es-abstract/project/package.json | 110 - .../es-abstract/project/test/GetIntrinsic.js | 0 .../es-abstract/project/test/diffOps.js | 0 .../es-abstract/project/test/es2015.js | 0 .../es-abstract/project/test/es2016.js | 0 .../es-abstract/project/test/es2017.js | 0 .../es-abstract/project/test/es2018.js | 0 .../es-abstract/project/test/es2019.js | 0 .../fixtures/es-abstract/project/test/es5.js | 0 .../fixtures/es-abstract/project/test/es6.js | 0 .../fixtures/es-abstract/project/test/es7.js | 0 .../project/test/helpers/OwnPropertyKeys.js | 0 .../project/test/helpers/assertRecord.js | 0 .../project/test/helpers/defineProperty.js | 0 .../test/helpers/getSymbolDescription.js | 0 .../project/test/helpers/runManifestTest.js | 0 .../project/test/helpers/values.js | 0 .../es-abstract/project/test/index.js | 0 .../es-abstract/project/test/tests.js | 0 .../expected/broken-dir-slash-conditions.json | 100 - .../expected/broken.json | 85 - .../expected/conditions.json | 100 - .../expected/experimental.json | 94 - .../pattern-trailers-no-dir-slash.json | 100 - .../expected/pattern-trailers.json | 100 - .../expected/patterns.json | 100 - .../expected/pre-exports.json | 71 - .../project/cjs/index.js | 0 .../project/cjs/utils.js | 0 .../ex-conditions-in-folder/project/index.js | 0 .../project/mjs/index.mjs | 0 .../project/mjs/utils.mjs | 0 .../project/package.json | 17 - .../expected/broken-dir-slash-conditions.json | 361 - .../ex-conditions/expected/broken.json | 314 - .../ex-conditions/expected/conditions.json | 361 - .../ex-conditions/expected/experimental.json | 340 - .../pattern-trailers-no-dir-slash.json | 361 - .../expected/pattern-trailers.json | 361 - .../ex-conditions/expected/patterns.json | 361 - .../ex-conditions/expected/pre-exports.json | 247 - .../fixtures/ex-conditions/project/default.js | 3 - .../fixtures/ex-conditions/project/dinr.js | 3 - .../fixtures/ex-conditions/project/dirn.js | 3 - .../fixtures/ex-conditions/project/dnir.js | 3 - .../fixtures/ex-conditions/project/dnri.js | 3 - .../fixtures/ex-conditions/project/drin.js | 3 - .../fixtures/ex-conditions/project/drni.js | 3 - .../ex-conditions/project/fallback.js | 3 - .../fixtures/ex-conditions/project/gen.js | 84 - .../fixtures/ex-conditions/project/idnr.js | 3 - .../fixtures/ex-conditions/project/idrn.js | 3 - .../fixtures/ex-conditions/project/import.mjs | 1 - .../fixtures/ex-conditions/project/indr.js | 3 - .../fixtures/ex-conditions/project/inrd.js | 3 - .../fixtures/ex-conditions/project/irdn.js | 3 - .../fixtures/ex-conditions/project/irnd.js | 3 - .../fixtures/ex-conditions/project/main.js | 3 - .../fixtures/ex-conditions/project/ndir.js | 3 - .../fixtures/ex-conditions/project/ndri.js | 3 - .../fixtures/ex-conditions/project/nidr.js | 3 - .../fixtures/ex-conditions/project/nird.js | 3 - .../fixtures/ex-conditions/project/node.js | 3 - .../fixtures/ex-conditions/project/nrdi.js | 3 - .../fixtures/ex-conditions/project/nrid.js | 3 - .../ex-conditions/project/package.json | 257 - .../fixtures/ex-conditions/project/rdin.js | 3 - .../fixtures/ex-conditions/project/rdni.js | 3 - .../fixtures/ex-conditions/project/require.js | 3 - .../fixtures/ex-conditions/project/ridn.js | 3 - .../fixtures/ex-conditions/project/rind.js | 3 - .../fixtures/ex-conditions/project/rndi.js | 3 - .../fixtures/ex-conditions/project/rnid.js | 3 - .../expected/broken-dir-slash-conditions.json | 96 - .../ex-exports-TL-object/expected/broken.json | 82 - .../expected/conditions.json | 96 - .../expected/experimental.json | 92 - .../pattern-trailers-no-dir-slash.json | 96 - .../expected/pattern-trailers.json | 96 - .../expected/patterns.json | 96 - .../expected/pre-exports.json | 76 - .../ex-exports-TL-object/project/dir/extra.js | 0 .../project/dir/extra.mjs | 0 .../ex-exports-TL-object/project/dir/index.js | 0 .../ex-exports-TL-object/project/file.js | 0 .../ex-exports-TL-object/project/index.js | 0 .../ex-exports-TL-object/project/index.mjs | 0 .../ex-exports-TL-object/project/package.json | 11 - .../expected/broken-dir-slash-conditions.json | 92 - .../ex-exports-string/expected/broken.json | 92 - .../expected/conditions.json | 92 - .../expected/experimental.json | 92 - .../pattern-trailers-no-dir-slash.json | 92 - .../expected/pattern-trailers.json | 92 - .../ex-exports-string/expected/patterns.json | 92 - .../expected/pre-exports.json | 76 - .../ex-exports-string/project/dir/extra.js | 0 .../ex-exports-string/project/dir/extra.mjs | 0 .../ex-exports-string/project/dir/index.js | 0 .../ex-exports-string/project/file.js | 0 .../ex-exports-string/project/index.js | 0 .../ex-exports-string/project/index.mjs | 0 .../ex-exports-string/project/package.json | 6 - .../expected/broken-dir-slash-conditions.json | 136 - .../ex-folder-mapped/expected/broken.json | 136 - .../ex-folder-mapped/expected/conditions.json | 136 - .../expected/expected-without-conditions.json | 126 - .../ex-folder-mapped/expected/expected.json | 126 - .../expected/experimental.json | 136 - .../pattern-trailers-no-dir-slash.json | 77 - .../expected/pattern-trailers.json | 136 - .../ex-folder-mapped/expected/patterns.json | 136 - .../expected/pre-exports.json | 71 - .../ex-folder-mapped/project/index.js | 0 .../project/mapped/in-mapped-only.js | 0 .../ex-folder-mapped/project/mapped/shared.js | 0 .../ex-folder-mapped/project/package.json | 9 - .../project/unmapped/in-unmapped-only.js | 0 .../project/unmapped/shared.js | 0 .../expected/broken-dir-slash-conditions.json | 146 - .../expected/conditions.json | 146 - .../pattern-trailers-no-dir-slash.json | 146 - .../ex-main-dot-slash/expected/patterns.json | 146 - .../expected/pre-exports.json | 76 - .../ex-main-dot-slash/project/dir/extra.js | 0 .../ex-main-dot-slash/project/dir/extra.mjs | 0 .../ex-main-dot-slash/project/dir/index.js | 0 .../ex-main-dot-slash/project/file.js | 0 .../ex-main-dot-slash/project/index.js | 0 .../ex-main-dot-slash/project/index.mjs | 0 .../ex-main-dot-slash/project/package.json | 6 - .../expected/broken-dir-slash-conditions.json | 146 - .../ex-main-dotless/expected/conditions.json | 146 - .../pattern-trailers-no-dir-slash.json | 146 - .../ex-main-dotless/expected/patterns.json | 146 - .../ex-main-dotless/expected/pre-exports.json | 76 - .../ex-main-dotless/project/dir/extra.js | 0 .../ex-main-dotless/project/dir/extra.mjs | 0 .../ex-main-dotless/project/dir/index.js | 0 .../fixtures/ex-main-dotless/project/file.js | 0 .../fixtures/ex-main-dotless/project/index.js | 0 .../ex-main-dotless/project/index.mjs | 0 .../ex-main-dotless/project/package.json | 6 - .../expected/broken-dir-slash-conditions.json | 146 - .../ex-main-dotted/expected/conditions.json | 146 - .../pattern-trailers-no-dir-slash.json | 146 - .../ex-main-dotted/expected/patterns.json | 146 - .../ex-main-dotted/expected/pre-exports.json | 76 - .../ex-main-dotted/project/dir/extra.js | 0 .../ex-main-dotted/project/dir/extra.mjs | 0 .../ex-main-dotted/project/dir/index.js | 0 .../fixtures/ex-main-dotted/project/file.js | 0 .../fixtures/ex-main-dotted/project/index.js | 0 .../fixtures/ex-main-dotted/project/index.mjs | 0 .../ex-main-dotted/project/package.json | 6 - .../expected/broken-dir-slash-conditions.json | 96 - .../expected/broken.json | 82 - .../expected/conditions.json | 96 - .../expected/experimental.json | 92 - .../pattern-trailers-no-dir-slash.json | 96 - .../expected/pattern-trailers.json | 96 - .../expected/patterns.json | 96 - .../expected/pre-exports.json | 76 - .../project/dir/extra.js | 0 .../project/dir/extra.mjs | 0 .../project/dir/index.js | 0 .../ex-main-exports-TL-object/project/file.js | 0 .../project/index.js | 0 .../project/index.mjs | 0 .../project/package.json | 12 - .../expected/broken-dir-slash-conditions.json | 96 - .../expected/broken.json | 82 - .../expected/conditions.json | 96 - .../expected/experimental.json | 92 - .../pattern-trailers-no-dir-slash.json | 96 - .../expected/pattern-trailers.json | 96 - .../expected/patterns.json | 96 - .../expected/pre-exports.json | 76 - .../project/dir/extra.js | 0 .../project/dir/extra.mjs | 0 .../project/dir/index.js | 0 .../project/file.js | 0 .../project/index.js | 0 .../project/index.mjs | 0 .../project/package.json | 14 - .../expected/broken-dir-slash-conditions.json | 104 - .../expected/broken.json | 82 - .../expected/conditions.json | 104 - .../expected/experimental.json | 92 - .../pattern-trailers-no-dir-slash.json | 104 - .../expected/pattern-trailers.json | 104 - .../expected/patterns.json | 104 - .../expected/pre-exports.json | 76 - .../project/dir/extra.js | 0 .../project/dir/extra.mjs | 0 .../project/dir/index.js | 0 .../project/file.js | 0 .../project/index.js | 0 .../project/index.mjs | 0 .../project/package.json | 32 - .../expected/broken-dir-slash-conditions.json | 92 - .../expected/broken.json | 92 - .../expected/conditions.json | 92 - .../expected/experimental.json | 92 - .../pattern-trailers-no-dir-slash.json | 92 - .../expected/pattern-trailers.json | 92 - .../expected/patterns.json | 92 - .../expected/pre-exports.json | 76 - .../project/dir/extra.js | 0 .../project/dir/extra.mjs | 0 .../project/dir/index.js | 0 .../ex-main-exports-string/project/file.js | 0 .../ex-main-exports-string/project/index.js | 0 .../ex-main-exports-string/project/index.mjs | 0 .../project/package.json | 7 - .../expected/broken-dir-slash-conditions.json | 146 - .../ex-main-implicit/expected/conditions.json | 146 - .../pattern-trailers-no-dir-slash.json | 146 - .../ex-main-implicit/expected/patterns.json | 146 - .../expected/pre-exports.json | 76 - .../ex-main-implicit/project/dir/extra.js | 0 .../ex-main-implicit/project/dir/extra.mjs | 0 .../ex-main-implicit/project/dir/index.js | 0 .../fixtures/ex-main-implicit/project/file.js | 0 .../ex-main-implicit/project/index.js | 0 .../ex-main-implicit/project/index.mjs | 0 .../ex-main-implicit/project/package.json | 5 - .../expected/broken-dir-slash-conditions.json | 90 - .../expected/conditions.json | 90 - .../pattern-trailers-no-dir-slash.json | 90 - .../expected/patterns.json | 90 - .../expected/pre-exports.json | 49 - .../project/cjs.cjs | 0 .../project/esm.mjs | 0 .../project/index.js | 0 .../project/package.json | 7 - .../expected/broken-dir-slash-conditions.json | 84 - .../expected/conditions.json | 84 - .../pattern-trailers-no-dir-slash.json | 84 - .../expected/patterns.json | 84 - .../expected/pre-exports.json | 49 - .../project/cjs.cjs | 0 .../project/esm.mjs | 0 .../project/index.js | 0 .../project/package.json | 7 - .../expected-without-conditions.json | 83 - .../fixtures/ex-node-modules/expected.json | 83 - .../expected/broken-dir-slash-conditions.json | 86 - .../ex-node-modules/expected/broken.json | 81 - .../ex-node-modules/expected/conditions.json | 86 - .../expected/experimental.json | 86 - .../pattern-trailers-no-dir-slash.json | 86 - .../expected/pattern-trailers.json | 86 - .../ex-node-modules/expected/patterns.json | 86 - .../ex-node-modules/expected/pre-exports.json | 45 - .../ex-node-modules/project/default.js | 3 - .../fixtures/ex-node-modules/project/dep.js | 1 - .../ex-node-modules/project/package.json | 16 - .../expected-without-conditions.json | 53 - .../fixtures/ex-nonexistent-dir/expected.json | 53 - .../expected/broken-dir-slash-conditions.json | 57 - .../ex-nonexistent-dir/expected/broken.json | 55 - .../expected/conditions.json | 57 - .../expected/experimental.json | 57 - .../pattern-trailers-no-dir-slash.json | 55 - .../expected/pattern-trailers.json | 57 - .../ex-nonexistent-dir/expected/patterns.json | 57 - .../expected/pre-exports.json | 39 - .../ex-nonexistent-dir/project/index.js | 0 .../ex-nonexistent-dir/project/package.json | 10 - .../expected/broken-dir-slash-conditions.json | 6 - .../pattern-trailers-no-dir-slash.json | 6 - .../ex-private/expected/patterns.json | 6 - .../ex-private/expected/pre-exports.json | 6 - .../fixtures/ex-private/project/dir/extra.js | 0 .../fixtures/ex-private/project/dir/extra.mjs | 0 .../fixtures/ex-private/project/dir/index.js | 0 .../tests/fixtures/ex-private/project/file.js | 0 .../fixtures/ex-private/project/index.js | 0 .../fixtures/ex-private/project/index.mjs | 0 .../fixtures/ex-private/project/package.json | 8 - .../expected/broken-dir-slash-conditions.json | 138 - .../flatted-1/expected/conditions.json | 138 - .../pattern-trailers-no-dir-slash.json | 138 - .../fixtures/flatted-1/expected/patterns.json | 138 - .../flatted-1/expected/pre-exports.json | 72 - .../tests/fixtures/flatted-1/project/LICENSE | 0 .../fixtures/flatted-1/project/README.md | 0 .../fixtures/flatted-1/project/cjs/index.js | 0 .../fixtures/flatted-1/project/esm/index.js | 0 .../tests/fixtures/flatted-1/project/index.js | 0 .../tests/fixtures/flatted-1/project/min.js | 0 .../fixtures/flatted-1/project/package.json | 71 - .../fixtures/flatted-1/project/types.d.ts | 0 .../expected/broken-dir-slash-conditions.json | 138 - .../fixtures/flatted-2/expected/broken.json | 138 - .../flatted-2/expected/conditions.json | 138 - .../flatted-2/expected/experimental.json | 138 - .../pattern-trailers-no-dir-slash.json | 138 - .../flatted-2/expected/pattern-trailers.json | 138 - .../fixtures/flatted-2/expected/patterns.json | 138 - .../flatted-2/expected/pre-exports.json | 72 - .../flatted-2/project/.github/FUNDING.yml | 0 .../tests/fixtures/flatted-2/project/LICENSE | 0 .../fixtures/flatted-2/project/README.md | 0 .../tests/fixtures/flatted-2/project/SPECS.md | 0 .../fixtures/flatted-2/project/cjs/index.js | 0 .../fixtures/flatted-2/project/esm/index.js | 0 .../tests/fixtures/flatted-2/project/index.js | 0 .../tests/fixtures/flatted-2/project/min.js | 0 .../fixtures/flatted-2/project/package.json | 71 - .../fixtures/flatted-2/project/types.d.ts | 0 .../expected/broken-dir-slash-conditions.json | 110 - .../fixtures/flatted-3/expected/broken.json | 92 - .../flatted-3/expected/conditions.json | 110 - .../flatted-3/expected/experimental.json | 104 - .../pattern-trailers-no-dir-slash.json | 110 - .../flatted-3/expected/pattern-trailers.json | 110 - .../fixtures/flatted-3/expected/patterns.json | 110 - .../flatted-3/expected/pre-exports.json | 86 - .../flatted-3/project/.github/FUNDING.yml | 0 .../tests/fixtures/flatted-3/project/LICENSE | 0 .../fixtures/flatted-3/project/README.md | 0 .../tests/fixtures/flatted-3/project/SPECS.md | 0 .../fixtures/flatted-3/project/cjs/index.js | 0 .../flatted-3/project/cjs/package.json | 1 - .../tests/fixtures/flatted-3/project/es.js | 0 .../fixtures/flatted-3/project/esm/index.js | 0 .../tests/fixtures/flatted-3/project/index.js | 0 .../tests/fixtures/flatted-3/project/min.js | 0 .../fixtures/flatted-3/project/package.json | 84 - .../fixtures/flatted-3/project/types.d.ts | 0 .../expected-without-conditions.json | 104 - .../has-package-exports/expected.json | 105 - .../expected/broken-dir-slash-conditions.json | 105 - .../has-package-exports/expected/broken.json | 104 - .../expected/conditions.json | 105 - .../expected/experimental.json | 108 - .../pattern-trailers-no-dir-slash.json | 105 - .../expected/pattern-trailers.json | 105 - .../expected/patterns.json | 105 - .../expected/pre-exports.json | 80 - .../has-package-exports/project/.eslintignore | 1 - .../has-package-exports/project/.eslintrc | 17 - .../has-package-exports/project/.nycrc | 9 - .../has-package-exports/project/CHANGELOG.md | 91 - .../has-package-exports/project/LICENSE | 21 - .../has-package-exports/project/README.md | 33 - .../has-package-exports/project/browser.js | 3 - .../project/conditional.js | 3 - .../has-package-exports/project/no.js | 3 - .../has-package-exports/project/package.json | 113 - .../has-package-exports/project/pattern.js | 10 - .../has-package-exports/project/test/index.js | 35 - .../has-package-exports/project/yes.js | 3 - .../expected/broken-dir-slash-conditions.json | 69 - .../is-promise-2.1.0/expected/conditions.json | 69 - .../pattern-trailers-no-dir-slash.json | 69 - .../is-promise-2.1.0/expected/patterns.json | 69 - .../expected/pre-exports.json | 39 - .../is-promise-2.1.0/project/.travis.yml | 0 .../fixtures/is-promise-2.1.0/project/LICENSE | 0 .../is-promise-2.1.0/project/index.js | 0 .../is-promise-2.1.0/project/package.json | 51 - .../is-promise-2.1.0/project/readme.md | 0 .../fixtures/is-promise-2.2.0/expected.json | 42 - .../expected/broken-dir-slash-conditions.json | 48 - .../is-promise-2.2.0/expected/broken.json | 45 - .../is-promise-2.2.0/expected/conditions.json | 48 - .../expected/experimental.json | 45 - .../pattern-trailers-no-dir-slash.json | 48 - .../expected/pattern-trailers.json | 48 - .../is-promise-2.2.0/expected/patterns.json | 48 - .../expected/pre-exports.json | 39 - .../fixtures/is-promise-2.2.0/project/LICENSE | 0 .../is-promise-2.2.0/project/index.js | 0 .../is-promise-2.2.0/project/package.json | 59 - .../is-promise-2.2.0/project/readme.md | 0 .../expected/broken-dir-slash-conditions.json | 64 - .../is-promise-2.2.1/expected/broken.json | 50 - .../is-promise-2.2.1/expected/conditions.json | 64 - .../expected/experimental.json | 50 - .../pattern-trailers-no-dir-slash.json | 64 - .../expected/pattern-trailers.json | 64 - .../is-promise-2.2.1/expected/patterns.json | 64 - .../expected/pre-exports.json | 44 - .../fixtures/is-promise-2.2.1/project/LICENSE | 0 .../is-promise-2.2.1/project/index.js | 0 .../is-promise-2.2.1/project/index.mjs | 0 .../is-promise-2.2.1/project/package.json | 60 - .../is-promise-2.2.1/project/readme.md | 0 .../expected/broken-dir-slash-conditions.json | 79 - .../is-promise-2.2.2/expected/conditions.json | 79 - .../pattern-trailers-no-dir-slash.json | 79 - .../is-promise-2.2.2/expected/patterns.json | 79 - .../expected/pre-exports.json | 44 - .../fixtures/is-promise-2.2.2/project/LICENSE | 0 .../is-promise-2.2.2/project/index.js | 0 .../is-promise-2.2.2/project/index.mjs | 0 .../is-promise-2.2.2/project/package.json | 55 - .../is-promise-2.2.2/project/readme.md | 0 .../expected-without-conditions.json | 57 - .../tests/fixtures/list-exports/expected.json | 57 - .../expected/broken-dir-slash-conditions.json | 62 - .../list-exports/expected/broken.json | 60 - .../list-exports/expected/conditions.json | 62 - .../list-exports/expected/experimental.json | 62 - .../pattern-trailers-no-dir-slash.json | 60 - .../expected/pattern-trailers.json | 62 - .../list-exports/expected/patterns.json | 62 - .../list-exports/expected/pre-exports.json | 41 - .../expected-without-conditions.json | 65 - .../expected/broken-dir-slash-conditions.json | 65 - .../fixtures/ls-exports/expected/broken.json | 65 - .../ls-exports/expected/conditions.json | 65 - .../ls-exports/expected/experimental.json | 65 - .../pattern-trailers-no-dir-slash.json | 65 - .../ls-exports/expected/pattern-trailers.json | 65 - .../ls-exports/expected/patterns.json | 65 - .../ls-exports/expected/pre-exports.json | 51 - .../expected/broken-dir-slash-conditions.json | 1146 - .../fixtures/preact/expected/broken.json | 1122 - .../fixtures/preact/expected/conditions.json | 1148 - .../preact/expected/experimental.json | 1122 - .../pattern-trailers-no-dir-slash.json | 654 - .../preact/expected/pattern-trailers.json | 1148 - .../fixtures/preact/expected/patterns.json | 1146 - .../fixtures/preact/expected/pre-exports.json | 552 - .../tests/fixtures/preact/project/LICENSE | 0 .../tests/fixtures/preact/project/README.md | 0 .../preact/project/compat/package.json | 19 - .../fixtures/preact/project/compat/server.js | 0 .../preact/project/compat/src/Children.js | 0 .../project/compat/src/PureComponent.js | 0 .../preact/project/compat/src/events.js | 0 .../preact/project/compat/src/forwardRef.js | 0 .../preact/project/compat/src/index.d.ts | 0 .../preact/project/compat/src/index.js | 0 .../preact/project/compat/src/internal.d.ts | 0 .../preact/project/compat/src/memo.js | 0 .../preact/project/compat/src/portals.js | 0 .../preact/project/compat/src/render.js | 0 .../project/compat/src/suspense-list.d.ts | 0 .../project/compat/src/suspense-list.js | 0 .../preact/project/compat/src/suspense.d.ts | 0 .../preact/project/compat/src/suspense.js | 0 .../preact/project/compat/src/util.js | 0 .../preact/project/debug/package.json | 18 - .../preact/project/debug/src/check-props.js | 0 .../project/debug/src/component-stack.js | 0 .../preact/project/debug/src/constants.js | 0 .../preact/project/debug/src/debug.js | 0 .../preact/project/debug/src/index.js | 0 .../preact/project/debug/src/internal.d.ts | 0 .../preact/project/devtools/package.json | 15 - .../preact/project/devtools/src/devtools.js | 0 .../preact/project/devtools/src/index.js | 0 .../preact/project/hooks/package.json | 26 - .../preact/project/hooks/src/index.d.ts | 0 .../preact/project/hooks/src/index.js | 0 .../preact/project/hooks/src/internal.d.ts | 0 .../fixtures/preact/project/package.json | 220 - .../preact/project/src/clone-element.js | 0 .../fixtures/preact/project/src/component.js | 0 .../fixtures/preact/project/src/constants.js | 0 .../preact/project/src/create-context.js | 0 .../preact/project/src/create-element.js | 0 .../preact/project/src/diff/catch-error.js | 0 .../preact/project/src/diff/children.js | 0 .../fixtures/preact/project/src/diff/index.js | 0 .../fixtures/preact/project/src/diff/props.js | 0 .../fixtures/preact/project/src/index.d.ts | 0 .../fixtures/preact/project/src/index.js | 0 .../fixtures/preact/project/src/internal.d.ts | 0 .../fixtures/preact/project/src/jsx.d.ts | 0 .../fixtures/preact/project/src/options.js | 0 .../fixtures/preact/project/src/render.js | 0 .../tests/fixtures/preact/project/src/util.js | 0 .../preact/project/test-utils/package.json | 19 - .../preact/project/test-utils/src/index.d.ts | 0 .../preact/project/test-utils/src/index.js | 0 .../expected/broken-dir-slash-conditions.json | 1527 - .../resolve-1/expected/conditions.json | 1527 - .../pattern-trailers-no-dir-slash.json | 1527 - .../fixtures/resolve-1/expected/patterns.json | 1527 - .../resolve-1/expected/pre-exports.json | 739 - .../fixtures/resolve-1/project/.eslintignore | 0 .../fixtures/resolve-1/project/.eslintrc | 0 .../fixtures/resolve-1/project/.travis.yml | 0 .../tests/fixtures/resolve-1/project/LICENSE | 0 .../resolve-1/project/example/async.js | 0 .../resolve-1/project/example/sync.js | 0 .../tests/fixtures/resolve-1/project/index.js | 0 .../fixtures/resolve-1/project/lib/async.js | 0 .../fixtures/resolve-1/project/lib/caller.js | 0 .../fixtures/resolve-1/project/lib/core.js | 0 .../fixtures/resolve-1/project/lib/core.json | 0 .../fixtures/resolve-1/project/lib/is-core.js | 0 .../project/lib/node-modules-paths.js | 0 .../project/lib/normalize-options.js | 0 .../fixtures/resolve-1/project/lib/sync.js | 0 .../fixtures/resolve-1/project/package.json | 47 - .../resolve-1/project/readme.markdown | 0 .../fixtures/resolve-1/project/test/.eslintrc | 0 .../fixtures/resolve-1/project/test/core.js | 0 .../fixtures/resolve-1/project/test/dotdot.js | 0 .../project/test/dotdot/abc/index.js | 0 .../resolve-1/project/test/dotdot/index.js | 0 .../resolve-1/project/test/faulty_basedir.js | 0 .../fixtures/resolve-1/project/test/filter.js | 0 .../resolve-1/project/test/filter_sync.js | 0 .../fixtures/resolve-1/project/test/mock.js | 0 .../resolve-1/project/test/mock_sync.js | 0 .../resolve-1/project/test/module_dir.js | 0 .../test/module_dir/xmodules/aaa/index.js | 0 .../test/module_dir/ymodules/aaa/index.js | 0 .../test/module_dir/zmodules/bbb/main.js | 0 .../test/module_dir/zmodules/bbb/package.json | 3 - .../project/test/node-modules-paths.js | 0 .../resolve-1/project/test/node_path.js | 0 .../project/test/node_path/x/aaa/index.js | 0 .../project/test/node_path/x/ccc/index.js | 0 .../project/test/node_path/y/bbb/index.js | 0 .../project/test/node_path/y/ccc/index.js | 0 .../resolve-1/project/test/nonstring.js | 0 .../resolve-1/project/test/pathfilter.js | 0 .../project/test/pathfilter/deep_ref/main.js | 0 .../resolve-1/project/test/precedence.js | 0 .../resolve-1/project/test/precedence/aaa.js | 0 .../project/test/precedence/aaa/index.js | 0 .../project/test/precedence/aaa/main.js | 0 .../resolve-1/project/test/precedence/bbb.js | 0 .../project/test/precedence/bbb/main.js | 0 .../resolve-1/project/test/resolver.js | 0 .../project/test/resolver/baz/doom.js | 0 .../project/test/resolver/baz/package.json | 4 - .../project/test/resolver/baz/quux.js | 0 .../project/test/resolver/browser_field/a.js | 0 .../project/test/resolver/browser_field/b.js | 0 .../test/resolver/browser_field/package.json | 5 - .../project/test/resolver/cup.coffee | 0 .../project/test/resolver/dot_main/index.js | 0 .../test/resolver/dot_main/package.json | 3 - .../test/resolver/dot_slash_main/index.js | 0 .../test/resolver/dot_slash_main/package.json | 3 - .../resolve-1/project/test/resolver/foo.js | 0 .../test/resolver/incorrect_main/index.js | 0 .../test/resolver/incorrect_main/package.json | 3 - .../test/resolver/invalid_main/package.json | 7 - .../project/test/resolver/mug.coffee | 0 .../resolve-1/project/test/resolver/mug.js | 0 .../test/resolver/multirepo/lerna.json | 0 .../test/resolver/multirepo/package.json | 20 - .../multirepo/packages/package-a/index.js | 0 .../multirepo/packages/package-a/package.json | 14 - .../multirepo/packages/package-b/index.js | 0 .../multirepo/packages/package-b/package.json | 14 - .../resolver/nested_symlinks/mylib/async.js | 0 .../nested_symlinks/mylib/package.json | 15 - .../resolver/nested_symlinks/mylib/sync.js | 0 .../test/resolver/other_path/lib/other-lib.js | 0 .../project/test/resolver/other_path/root.js | 0 .../project/test/resolver/quux/foo/index.js | 0 .../project/test/resolver/same_names/foo.js | 0 .../test/resolver/same_names/foo/index.js | 0 .../resolver/symlinked/_/node_modules/foo.js | 0 .../symlinked/_/symlink_target/.gitkeep | 0 .../test/resolver/symlinked/package/bar.js | 0 .../resolver/symlinked/package/package.json | 3 - .../test/resolver/without_basedir/main.js | 0 .../resolve-1/project/test/resolver_sync.js | 0 .../resolve-1/project/test/shadowed_core.js | 0 .../shadowed_core/node_modules/util/index.js | 0 .../resolve-1/project/test/subdirs.js | 0 .../resolve-1/project/test/symlinks.js | 0 .../expected/broken-dir-slash-conditions.json | 802 - .../fixtures/resolve-2/expected/broken.json | 792 - .../resolve-2/expected/conditions.json | 802 - .../resolve-2/expected/experimental.json | 798 - .../pattern-trailers-no-dir-slash.json | 802 - .../resolve-2/expected/pattern-trailers.json | 802 - .../fixtures/resolve-2/expected/patterns.json | 802 - .../resolve-2/expected/pre-exports.json | 751 - .../fixtures/resolve-2/project/.eslintignore | 1 - .../fixtures/resolve-2/project/.eslintrc | 46 - .../resolve-2/project/.github/FUNDING.yml | 12 - .../fixtures/resolve-2/project/.travis.yml | 0 .../tests/fixtures/resolve-2/project/LICENSE | 0 .../resolve-2/project/example/async.js | 0 .../resolve-2/project/example/sync.js | 0 .../tests/fixtures/resolve-2/project/index.js | 1 - .../fixtures/resolve-2/project/index.mjs | 1 - .../fixtures/resolve-2/project/lib/async.js | 0 .../fixtures/resolve-2/project/lib/caller.js | 0 .../fixtures/resolve-2/project/lib/core.js | 0 .../fixtures/resolve-2/project/lib/core.json | 0 .../fixtures/resolve-2/project/lib/is-core.js | 0 .../project/lib/node-modules-paths.js | 0 .../project/lib/normalize-options.js | 0 .../fixtures/resolve-2/project/lib/sync.js | 0 .../fixtures/resolve-2/project/package.json | 116 - .../resolve-2/project/readme.markdown | 0 .../fixtures/resolve-2/project/test/core.js | 0 .../fixtures/resolve-2/project/test/dotdot.js | 0 .../project/test/dotdot/abc/index.js | 0 .../resolve-2/project/test/dotdot/index.js | 0 .../resolve-2/project/test/faulty_basedir.js | 0 .../fixtures/resolve-2/project/test/filter.js | 0 .../resolve-2/project/test/filter_sync.js | 0 .../fixtures/resolve-2/project/test/mock.js | 0 .../resolve-2/project/test/mock_sync.js | 0 .../resolve-2/project/test/module_dir.js | 0 .../test/module_dir/xmodules/aaa/index.js | 1 - .../test/module_dir/ymodules/aaa/index.js | 1 - .../test/module_dir/zmodules/bbb/main.js | 1 - .../test/module_dir/zmodules/bbb/package.json | 3 - .../project/test/node-modules-paths.js | 0 .../resolve-2/project/test/node_path.js | 0 .../project/test/node_path/x/aaa/index.js | 1 - .../project/test/node_path/x/ccc/index.js | 1 - .../project/test/node_path/y/bbb/index.js | 1 - .../project/test/node_path/y/ccc/index.js | 1 - .../resolve-2/project/test/nonstring.js | 0 .../resolve-2/project/test/pathfilter.js | 0 .../project/test/pathfilter/deep_ref/main.js | 0 .../resolve-2/project/test/pathfilter_sync.js | 0 .../resolve-2/project/test/precedence.js | 0 .../resolve-2/project/test/precedence/aaa.js | 1 - .../project/test/precedence/aaa/index.js | 1 - .../project/test/precedence/aaa/main.js | 1 - .../resolve-2/project/test/precedence/bbb.js | 1 - .../project/test/precedence/bbb/main.js | 1 - .../resolve-2/project/test/resolver.js | 0 .../project/test/resolver/baz/doom.js | 0 .../project/test/resolver/baz/package.json | 4 - .../project/test/resolver/baz/quux.js | 1 - .../project/test/resolver/browser_field/a.js | 0 .../project/test/resolver/browser_field/b.js | 0 .../test/resolver/browser_field/package.json | 5 - .../project/test/resolver/cup.coffee | 1 - .../project/test/resolver/dot_main/index.js | 1 - .../test/resolver/dot_main/package.json | 3 - .../test/resolver/dot_slash_main/index.js | 1 - .../test/resolver/dot_slash_main/package.json | 3 - .../resolve-2/project/test/resolver/foo.js | 1 - .../test/resolver/incorrect_main/index.js | 2 - .../test/resolver/incorrect_main/package.json | 3 - .../test/resolver/invalid_main/package.json | 7 - .../project/test/resolver/mug.coffee | 0 .../resolve-2/project/test/resolver/mug.js | 0 .../test/resolver/multirepo/lerna.json | 6 - .../test/resolver/multirepo/package.json | 20 - .../multirepo/packages/package-a/index.js | 0 .../multirepo/packages/package-a/package.json | 14 - .../multirepo/packages/package-b/index.js | 0 .../multirepo/packages/package-b/package.json | 14 - .../resolver/nested_symlinks/mylib/async.js | 26 - .../nested_symlinks/mylib/package.json | 15 - .../resolver/nested_symlinks/mylib/sync.js | 12 - .../test/resolver/other_path/lib/other-lib.js | 0 .../project/test/resolver/other_path/root.js | 0 .../project/test/resolver/quux/foo/index.js | 1 - .../project/test/resolver/same_names/foo.js | 1 - .../test/resolver/same_names/foo/index.js | 1 - .../symlinked/_/symlink_target/.gitkeep | 0 .../test/resolver/symlinked/package/bar.js | 1 - .../resolver/symlinked/package/package.json | 3 - .../test/resolver/without_basedir/main.js | 5 - .../resolve-2/project/test/resolver_sync.js | 0 .../resolve-2/project/test/shadowed_core.js | 0 .../resolve-2/project/test/subdirs.js | 0 .../resolve-2/project/test/symlinks.js | 0 .../expected/broken-dir-slash-conditions.json | 70 - .../single-spa-layout/expected/broken.json | 70 - .../expected/conditions.json | 70 - .../expected/experimental.json | 70 - .../pattern-trailers-no-dir-slash.json | 70 - .../expected/pattern-trailers.json | 70 - .../single-spa-layout/expected/patterns.json | 70 - .../expected/pre-exports.json | 61 - .../single-spa-layout/project/LICENSE | 21 - .../single-spa-layout/project/README.md | 7 - .../single-spa-layout/project/package.json | 118 - .../test/list-exports/packages/tests/index.js | 250 - .../list-exports/packages/tests/package.json | 71 - .../resolve/test/list-exports/since.js | 34 - .../node_modules/resolve/test/mock.js | 315 - .../node_modules/resolve/test/mock_sync.js | 214 - .../node_modules/resolve/test/module_dir.js | 56 - .../test/module_dir/xmodules/aaa/index.js | 1 - .../test/module_dir/ymodules/aaa/index.js | 1 - .../test/module_dir/zmodules/bbb/main.js | 1 - .../test/module_dir/zmodules/bbb/package.json | 3 - .../resolve/test/node-modules-paths.js | 143 - .../node_modules/resolve/test/node_path.js | 70 - .../resolve/test/node_path/x/aaa/index.js | 1 - .../resolve/test/node_path/x/ccc/index.js | 1 - .../resolve/test/node_path/y/bbb/index.js | 1 - .../resolve/test/node_path/y/ccc/index.js | 1 - .../node_modules/resolve/test/nonstring.js | 9 - .../node_modules/resolve/test/pathfilter.js | 75 - .../resolve/test/pathfilter/deep_ref/main.js | 0 .../node_modules/resolve/test/precedence.js | 23 - .../resolve/test/precedence/aaa.js | 1 - .../resolve/test/precedence/aaa/index.js | 1 - .../resolve/test/precedence/aaa/main.js | 1 - .../resolve/test/precedence/bbb.js | 1 - .../resolve/test/precedence/bbb/main.js | 1 - .../node_modules/resolve/test/resolver.js | 597 - .../resolve/test/resolver/baz/doom.js | 0 .../resolve/test/resolver/baz/package.json | 4 - .../resolve/test/resolver/baz/quux.js | 1 - .../resolve/test/resolver/browser_field/a.js | 0 .../resolve/test/resolver/browser_field/b.js | 0 .../test/resolver/browser_field/package.json | 5 - .../resolve/test/resolver/cup.coffee | 1 - .../resolve/test/resolver/dot_main/index.js | 1 - .../test/resolver/dot_main/package.json | 3 - .../test/resolver/dot_slash_main/index.js | 1 - .../test/resolver/dot_slash_main/package.json | 3 - .../resolve/test/resolver/false_main/index.js | 0 .../test/resolver/false_main/package.json | 4 - .../node_modules/resolve/test/resolver/foo.js | 1 - .../test/resolver/incorrect_main/index.js | 2 - .../test/resolver/incorrect_main/package.json | 3 - .../test/resolver/invalid_main/package.json | 7 - .../resolve/test/resolver/mug.coffee | 0 .../node_modules/resolve/test/resolver/mug.js | 0 .../test/resolver/multirepo/lerna.json | 6 - .../test/resolver/multirepo/package.json | 20 - .../multirepo/packages/package-a/index.js | 35 - .../multirepo/packages/package-a/package.json | 14 - .../multirepo/packages/package-b/index.js | 0 .../multirepo/packages/package-b/package.json | 14 - .../resolver/nested_symlinks/mylib/async.js | 26 - .../nested_symlinks/mylib/package.json | 15 - .../resolver/nested_symlinks/mylib/sync.js | 12 - .../test/resolver/other_path/lib/other-lib.js | 0 .../resolve/test/resolver/other_path/root.js | 0 .../resolve/test/resolver/quux/foo/index.js | 1 - .../resolve/test/resolver/same_names/foo.js | 1 - .../test/resolver/same_names/foo/index.js | 1 - .../resolver/symlinked/_/node_modules/foo.js | 0 .../symlinked/_/symlink_target/.gitkeep | 0 .../test/resolver/symlinked/package/bar.js | 1 - .../resolver/symlinked/package/package.json | 3 - .../test/resolver/without_basedir/main.js | 5 - .../resolve/test/resolver_sync.js | 730 - .../resolve/test/shadowed_core.js | 54 - .../shadowed_core/node_modules/util/index.js | 0 .../node_modules/resolve/test/subdirs.js | 13 - .../node_modules/resolve/test/symlinks.js | 176 - .../supports-preserve-symlinks-flag | 1 - .../node_modules/@rollup/rollup-linux-x64-gnu | 1 - .../@rollup/rollup-linux-x64-musl | 1 - .../rollup@4.28.1/node_modules/@types/estree | 1 - .../node_modules/rollup/LICENSE.md | 673 - .../node_modules/rollup/README.md | 134 - .../node_modules/rollup/dist/bin/rollup | 1857 - .../rollup/dist/es/getLogFilter.js | 64 - .../node_modules/rollup/dist/es/package.json | 1 - .../node_modules/rollup/dist/es/parseAst.js | 12 - .../node_modules/rollup/dist/es/rollup.js | 18 - .../rollup/dist/es/shared/node-entry.js | 22276 ---- .../rollup/dist/es/shared/parseAst.js | 2072 - .../rollup/dist/es/shared/watch.js | 9297 -- .../rollup/dist/getLogFilter.d.ts | 5 - .../node_modules/rollup/dist/getLogFilter.js | 69 - .../rollup/dist/loadConfigFile.d.ts | 20 - .../rollup/dist/loadConfigFile.js | 30 - .../node_modules/rollup/dist/native.js | 110 - .../node_modules/rollup/dist/parseAst.d.ts | 4 - .../node_modules/rollup/dist/parseAst.js | 22 - .../node_modules/rollup/dist/rollup.d.ts | 1057 - .../node_modules/rollup/dist/rollup.js | 100 - .../rollup/dist/shared/fsevents-importer.js | 37 - .../node_modules/rollup/dist/shared/index.js | 9003 -- .../rollup/dist/shared/loadConfigFile.js | 559 - .../rollup/dist/shared/parseAst.js | 2299 - .../node_modules/rollup/dist/shared/rollup.js | 22269 ---- .../rollup/dist/shared/watch-cli.js | 563 - .../node_modules/rollup/dist/shared/watch.js | 324 - .../node_modules/rollup/package.json | 266 - .../scheduler/node_modules/.bin/loose-envify | 4 +- .../sucrase/node_modules/.bin/glob | 4 +- .../node_modules/@alloc/quick-lru | 1 - .../.pnpm/tailwindcss@3.4.16/node_modules/arg | 1 - .../tailwindcss@3.4.16/node_modules/chokidar | 1 - .../node_modules/didyoumean | 1 - .../.pnpm/tailwindcss@3.4.16/node_modules/dlv | 1 - .../tailwindcss@3.4.16/node_modules/fast-glob | 1 - .../node_modules/glob-parent | 1 - .../tailwindcss@3.4.16/node_modules/is-glob | 1 - .../tailwindcss@3.4.16/node_modules/jiti | 1 - .../tailwindcss@3.4.16/node_modules/lilconfig | 1 - .../node_modules/micromatch | 1 - .../node_modules/normalize-path | 1 - .../node_modules/object-hash | 1 - .../node_modules/picocolors | 1 - .../tailwindcss@3.4.16/node_modules/postcss | 1 - .../node_modules/postcss-import | 1 - .../node_modules/postcss-js | 1 - .../node_modules/postcss-load-config | 1 - .../node_modules/postcss-nested | 1 - .../node_modules/postcss-selector-parser | 1 - .../tailwindcss@3.4.16/node_modules/resolve | 1 - .../tailwindcss@3.4.16/node_modules/sucrase | 1 - .../node_modules/tailwindcss/CHANGELOG.md | 2706 - .../node_modules/tailwindcss/LICENSE | 21 - .../node_modules/tailwindcss/README.md | 40 - .../node_modules/tailwindcss/base.css | 1 - .../node_modules/tailwindcss/colors.d.ts | 3 - .../node_modules/tailwindcss/colors.js | 2 - .../node_modules/tailwindcss/components.css | 1 - .../tailwindcss/defaultConfig.d.ts | 3 - .../node_modules/tailwindcss/defaultConfig.js | 2 - .../tailwindcss/defaultTheme.d.ts | 4 - .../node_modules/tailwindcss/defaultTheme.js | 2 - .../tailwindcss/lib/cli-peer-dependencies.js | 36 - .../node_modules/tailwindcss/lib/cli.js | 3 - .../tailwindcss/lib/cli/build/deps.js | 62 - .../tailwindcss/lib/cli/build/index.js | 54 - .../tailwindcss/lib/cli/build/plugin.js | 373 - .../tailwindcss/lib/cli/build/utils.js | 88 - .../tailwindcss/lib/cli/build/watching.js | 182 - .../tailwindcss/lib/cli/help/index.js | 73 - .../node_modules/tailwindcss/lib/cli/index.js | 230 - .../tailwindcss/lib/cli/init/index.js | 63 - .../tailwindcss/lib/corePluginList.js | 191 - .../tailwindcss/lib/corePlugins.js | 4339 - .../node_modules/tailwindcss/lib/css/LICENSE | 25 - .../tailwindcss/lib/css/preflight.css | 386 - .../tailwindcss/lib/featureFlags.js | 79 - .../node_modules/tailwindcss/lib/index.js | 2 - .../tailwindcss/lib/lib/cacheInvalidation.js | 92 - .../lib/lib/collapseAdjacentRules.js | 61 - .../lib/lib/collapseDuplicateDeclarations.js | 85 - .../tailwindcss/lib/lib/content.js | 247 - .../tailwindcss/lib/lib/defaultExtractor.js | 273 - .../lib/lib/evaluateTailwindFunctions.js | 238 - .../tailwindcss/lib/lib/expandApplyAtRules.js | 553 - .../lib/lib/expandTailwindAtRules.js | 279 - .../tailwindcss/lib/lib/findAtConfigPath.js | 46 - .../tailwindcss/lib/lib/generateRules.js | 907 - .../lib/lib/getModuleDependencies.js | 99 - .../tailwindcss/lib/lib/load-config.js | 61 - .../lib/lib/normalizeTailwindDirectives.js | 89 - .../tailwindcss/lib/lib/offsets.js | 355 - .../lib/lib/partitionApplyAtRules.js | 58 - .../node_modules/tailwindcss/lib/lib/regex.js | 74 - .../tailwindcss/lib/lib/remap-bitfield.js | 89 - .../lib/lib/resolveDefaultsAtRules.js | 165 - .../tailwindcss/lib/lib/setupContextUtils.js | 1298 - .../lib/lib/setupTrackingContext.js | 166 - .../tailwindcss/lib/lib/sharedState.js | 79 - .../lib/lib/substituteScreenAtRules.js | 31 - .../node_modules/tailwindcss/lib/plugin.js | 48 - .../lib/postcss-plugins/nesting/README.md | 42 - .../lib/postcss-plugins/nesting/index.js | 21 - .../lib/postcss-plugins/nesting/plugin.js | 89 - .../lib/processTailwindFeatures.js | 62 - .../tailwindcss/lib/public/colors.js | 355 - .../tailwindcss/lib/public/create-plugin.js | 17 - .../tailwindcss/lib/public/default-config.js | 18 - .../tailwindcss/lib/public/default-theme.js | 18 - .../tailwindcss/lib/public/load-config.js | 12 - .../tailwindcss/lib/public/resolve-config.js | 24 - .../lib/util/applyImportantSelector.js | 38 - .../tailwindcss/lib/util/bigSign.js | 13 - .../tailwindcss/lib/util/buildMediaQuery.js | 27 - .../tailwindcss/lib/util/cloneDeep.js | 22 - .../tailwindcss/lib/util/cloneNodes.js | 54 - .../tailwindcss/lib/util/color.js | 116 - .../tailwindcss/lib/util/colorNames.js | 752 - .../tailwindcss/lib/util/configurePlugins.js | 23 - .../tailwindcss/lib/util/createPlugin.js | 32 - .../lib/util/createUtilityPlugin.js | 53 - .../tailwindcss/lib/util/dataTypes.js | 444 - .../tailwindcss/lib/util/defaults.js | 27 - .../tailwindcss/lib/util/escapeClassName.js | 24 - .../tailwindcss/lib/util/escapeCommas.js | 13 - .../lib/util/flattenColorPalette.js | 18 - .../lib/util/formatVariantSelector.js | 270 - .../tailwindcss/lib/util/getAllConfigs.js | 50 - .../tailwindcss/lib/util/hashConfig.js | 21 - .../tailwindcss/lib/util/isKeyframeRule.js | 13 - .../tailwindcss/lib/util/isPlainObject.js | 17 - .../util/isSyntacticallyValidPropertyValue.js | 74 - .../node_modules/tailwindcss/lib/util/log.js | 61 - .../tailwindcss/lib/util/nameClass.js | 49 - .../tailwindcss/lib/util/negateValue.js | 36 - .../tailwindcss/lib/util/normalizeConfig.js | 281 - .../tailwindcss/lib/util/normalizeScreens.js | 178 - .../lib/util/parseAnimationValue.js | 93 - .../lib/util/parseBoxShadowValue.js | 88 - .../tailwindcss/lib/util/parseDependency.js | 47 - .../tailwindcss/lib/util/parseGlob.js | 35 - .../tailwindcss/lib/util/parseObjectStyles.js | 36 - .../tailwindcss/lib/util/pluginUtils.js | 289 - .../tailwindcss/lib/util/prefixSelector.js | 39 - .../tailwindcss/lib/util/pseudoElements.js | 212 - .../lib/util/removeAlphaVariables.js | 33 - .../tailwindcss/lib/util/resolveConfig.js | 256 - .../tailwindcss/lib/util/resolveConfigPath.js | 72 - .../tailwindcss/lib/util/responsive.js | 24 - .../lib/util/splitAtTopLevelOnly.js | 47 - .../node_modules/tailwindcss/lib/util/tap.js | 14 - .../tailwindcss/lib/util/toColorValue.js | 13 - .../tailwindcss/lib/util/toPath.js | 32 - .../lib/util/transformThemeValue.js | 73 - .../tailwindcss/lib/util/validateConfig.js | 37 - .../lib/util/validateFormalSyntax.js | 26 - .../tailwindcss/lib/util/withAlphaVariable.js | 79 - .../tailwindcss/lib/value-parser/LICENSE | 22 - .../tailwindcss/lib/value-parser/README.md | 3 - .../tailwindcss/lib/value-parser/index.d.js | 2 - .../tailwindcss/lib/value-parser/index.js | 22 - .../tailwindcss/lib/value-parser/parse.js | 259 - .../tailwindcss/lib/value-parser/stringify.js | 38 - .../tailwindcss/lib/value-parser/unit.js | 86 - .../tailwindcss/lib/value-parser/walk.js | 16 - .../node_modules/tailwindcss/loadConfig.d.ts | 4 - .../node_modules/tailwindcss/loadConfig.js | 2 - .../tailwindcss/nesting/index.d.ts | 4 - .../node_modules/tailwindcss/nesting/index.js | 2 - .../tailwindcss/node_modules/.bin/jiti | 17 - .../tailwindcss/node_modules/.bin/resolve | 17 - .../tailwindcss/node_modules/.bin/sucrase | 17 - .../node_modules/.bin/sucrase-node | 17 - .../node_modules/tailwindcss/package.json | 118 - .../node_modules/tailwindcss/peers/index.js | 97992 ---------------- .../node_modules/tailwindcss/plugin.d.ts | 11 - .../node_modules/tailwindcss/plugin.js | 2 - .../tailwindcss/prettier.config.js | 19 - .../tailwindcss/resolveConfig.d.ts | 31 - .../node_modules/tailwindcss/resolveConfig.js | 2 - .../node_modules/tailwindcss/screens.css | 1 - .../tailwindcss/scripts/create-plugin-list.js | 10 - .../tailwindcss/scripts/generate-types.js | 104 - .../tailwindcss/scripts/release-channel.js | 18 - .../tailwindcss/scripts/release-notes.js | 21 - .../tailwindcss/scripts/type-utils.js | 27 - .../tailwindcss/src/cli-peer-dependencies.js | 15 - .../node_modules/tailwindcss/src/cli.js | 3 - .../tailwindcss/src/cli/build/deps.js | 56 - .../tailwindcss/src/cli/build/index.js | 49 - .../tailwindcss/src/cli/build/plugin.js | 441 - .../tailwindcss/src/cli/build/utils.js | 76 - .../tailwindcss/src/cli/build/watching.js | 229 - .../tailwindcss/src/cli/help/index.js | 70 - .../node_modules/tailwindcss/src/cli/index.js | 216 - .../tailwindcss/src/cli/init/index.js | 79 - .../tailwindcss/src/corePluginList.js | 1 - .../tailwindcss/src/corePlugins.js | 3007 - .../node_modules/tailwindcss/src/css/LICENSE | 25 - .../tailwindcss/src/css/preflight.css | 386 - .../tailwindcss/src/featureFlags.js | 62 - .../node_modules/tailwindcss/src/index.js | 1 - .../tailwindcss/src/lib/cacheInvalidation.js | 52 - .../src/lib/collapseAdjacentRules.js | 58 - .../src/lib/collapseDuplicateDeclarations.js | 93 - .../tailwindcss/src/lib/content.js | 295 - .../tailwindcss/src/lib/defaultExtractor.js | 255 - .../src/lib/evaluateTailwindFunctions.js | 272 - .../tailwindcss/src/lib/expandApplyAtRules.js | 637 - .../src/lib/expandTailwindAtRules.js | 282 - .../tailwindcss/src/lib/findAtConfigPath.js | 48 - .../tailwindcss/src/lib/generateRules.js | 951 - .../src/lib/getModuleDependencies.js | 79 - .../tailwindcss/src/lib/load-config.ts | 55 - .../src/lib/normalizeTailwindDirectives.js | 84 - .../tailwindcss/src/lib/offsets.js | 432 - .../src/lib/partitionApplyAtRules.js | 52 - .../node_modules/tailwindcss/src/lib/regex.js | 74 - .../tailwindcss/src/lib/remap-bitfield.js | 82 - .../src/lib/resolveDefaultsAtRules.js | 165 - .../tailwindcss/src/lib/setupContextUtils.js | 1371 - .../src/lib/setupTrackingContext.js | 169 - .../tailwindcss/src/lib/sharedState.js | 57 - .../src/lib/substituteScreenAtRules.js | 19 - .../node_modules/tailwindcss/src/plugin.js | 47 - .../src/postcss-plugins/nesting/README.md | 42 - .../src/postcss-plugins/nesting/index.js | 13 - .../src/postcss-plugins/nesting/plugin.js | 80 - .../src/processTailwindFeatures.js | 56 - .../tailwindcss/src/public/colors.js | 322 - .../tailwindcss/src/public/create-plugin.js | 2 - .../tailwindcss/src/public/default-config.js | 4 - .../tailwindcss/src/public/default-theme.js | 4 - .../tailwindcss/src/public/load-config.js | 2 - .../tailwindcss/src/public/resolve-config.js | 7 - .../src/util/applyImportantSelector.js | 26 - .../tailwindcss/src/util/bigSign.js | 3 - .../tailwindcss/src/util/buildMediaQuery.js | 22 - .../tailwindcss/src/util/cloneDeep.js | 11 - .../tailwindcss/src/util/cloneNodes.js | 49 - .../tailwindcss/src/util/color.js | 88 - .../tailwindcss/src/util/colorNames.js | 150 - .../tailwindcss/src/util/configurePlugins.js | 23 - .../tailwindcss/src/util/createPlugin.js | 27 - .../src/util/createUtilityPlugin.js | 37 - .../tailwindcss/src/util/dataTypes.js | 442 - .../tailwindcss/src/util/defaults.js | 17 - .../tailwindcss/src/util/escapeClassName.js | 8 - .../tailwindcss/src/util/escapeCommas.js | 3 - .../src/util/flattenColorPalette.js | 13 - .../src/util/formatVariantSelector.js | 324 - .../tailwindcss/src/util/getAllConfigs.js | 38 - .../tailwindcss/src/util/hashConfig.js | 5 - .../tailwindcss/src/util/isKeyframeRule.js | 3 - .../tailwindcss/src/util/isPlainObject.js | 8 - .../util/isSyntacticallyValidPropertyValue.js | 61 - .../node_modules/tailwindcss/src/util/log.js | 29 - .../tailwindcss/src/util/nameClass.js | 30 - .../tailwindcss/src/util/negateValue.js | 24 - .../tailwindcss/src/util/normalizeConfig.js | 299 - .../tailwindcss/src/util/normalizeScreens.js | 140 - .../src/util/parseAnimationValue.js | 68 - .../src/util/parseBoxShadowValue.js | 72 - .../tailwindcss/src/util/parseDependency.js | 44 - .../tailwindcss/src/util/parseGlob.js | 23 - .../tailwindcss/src/util/parseObjectStyles.js | 19 - .../tailwindcss/src/util/pluginUtils.js | 307 - .../tailwindcss/src/util/prefixSelector.js | 33 - .../tailwindcss/src/util/pseudoElements.js | 171 - .../src/util/removeAlphaVariables.js | 26 - .../tailwindcss/src/util/resolveConfig.js | 277 - .../tailwindcss/src/util/resolveConfigPath.js | 68 - .../tailwindcss/src/util/responsive.js | 10 - .../src/util/splitAtTopLevelOnly.js | 48 - .../node_modules/tailwindcss/src/util/tap.js | 4 - .../tailwindcss/src/util/toColorValue.js | 3 - .../tailwindcss/src/util/toPath.js | 26 - .../src/util/transformThemeValue.js | 62 - .../tailwindcss/src/util/validateConfig.js | 26 - .../src/util/validateFormalSyntax.js | 34 - .../tailwindcss/src/util/withAlphaVariable.js | 49 - .../tailwindcss/src/value-parser/LICENSE | 22 - .../tailwindcss/src/value-parser/README.md | 3 - .../tailwindcss/src/value-parser/index.d.ts | 177 - .../tailwindcss/src/value-parser/index.js | 28 - .../tailwindcss/src/value-parser/parse.js | 303 - .../tailwindcss/src/value-parser/stringify.js | 41 - .../tailwindcss/src/value-parser/unit.js | 118 - .../tailwindcss/src/value-parser/walk.js | 18 - .../node_modules/tailwindcss/stubs/.gitignore | 1 - .../tailwindcss/stubs/.prettierrc.json | 6 - .../tailwindcss/stubs/config.full.js | 1062 - .../tailwindcss/stubs/config.simple.js | 7 - .../tailwindcss/stubs/postcss.config.cjs | 6 - .../tailwindcss/stubs/postcss.config.js | 6 - .../tailwindcss/stubs/tailwind.config.cjs | 2 - .../tailwindcss/stubs/tailwind.config.js | 2 - .../tailwindcss/stubs/tailwind.config.ts | 3 - .../node_modules/tailwindcss/tailwind.css | 5 - .../tailwindcss/types/config.d.ts | 379 - .../tailwindcss/types/generated/.gitkeep | 0 .../tailwindcss/types/generated/colors.d.ts | 298 - .../types/generated/corePluginList.d.ts | 1 - .../types/generated/default-theme.d.ts | 397 - .../node_modules/tailwindcss/types/index.d.ts | 11 - .../node_modules/tailwindcss/utilities.css | 1 - .../node_modules/tailwindcss/variants.css | 1 - .../tailwindcss/node_modules/.bin/jiti | 4 +- .../tailwindcss/node_modules/.bin/resolve | 8 +- .../tailwindcss/node_modules/.bin/sucrase | 4 +- .../node_modules/.bin/sucrase-node | 4 +- .../tailwindcss/node_modules/.bin/tailwind | 17 - .../tailwindcss/node_modules/.bin/tailwindcss | 17 - .../ts-api-utils/node_modules/.bin/tsc | 4 +- .../ts-api-utils/node_modules/.bin/tsserver | 4 +- .../@typescript-eslint/eslint-plugin | 1 - .../node_modules/@typescript-eslint/parser | 1 - .../node_modules/@typescript-eslint/utils | 1 - .../node_modules/eslint | 1 - .../node_modules/typescript | 1 - .../node_modules/typescript-eslint/LICENSE | 21 - .../node_modules/typescript-eslint/README.md | 12 - .../typescript-eslint/dist/config-helper.d.ts | 67 - .../dist/config-helper.d.ts.map | 1 - .../typescript-eslint/dist/config-helper.js | 63 - .../dist/config-helper.js.map | 1 - .../typescript-eslint/dist/configs/all.d.ts | 8 - .../dist/configs/all.d.ts.map | 1 - .../typescript-eslint/dist/configs/all.js | 175 - .../typescript-eslint/dist/configs/all.js.map | 1 - .../typescript-eslint/dist/configs/base.d.ts | 9 - .../dist/configs/base.d.ts.map | 1 - .../typescript-eslint/dist/configs/base.js | 18 - .../dist/configs/base.js.map | 1 - .../dist/configs/disable-type-checked.d.ts | 8 - .../configs/disable-type-checked.d.ts.map | 1 - .../dist/configs/disable-type-checked.js | 78 - .../dist/configs/disable-type-checked.js.map | 1 - .../dist/configs/eslint-recommended.d.ts | 10 - .../dist/configs/eslint-recommended.d.ts.map | 1 - .../dist/configs/eslint-recommended.js | 17 - .../dist/configs/eslint-recommended.js.map | 1 - .../recommended-type-checked-only.d.ts | 8 - .../recommended-type-checked-only.d.ts.map | 1 - .../configs/recommended-type-checked-only.js | 54 - .../recommended-type-checked-only.js.map | 1 - .../configs/recommended-type-checked.d.ts | 8 - .../configs/recommended-type-checked.d.ts.map | 1 - .../dist/configs/recommended-type-checked.js | 77 - .../configs/recommended-type-checked.js.map | 1 - .../dist/configs/recommended.d.ts | 8 - .../dist/configs/recommended.d.ts.map | 1 - .../dist/configs/recommended.js | 50 - .../dist/configs/recommended.js.map | 1 - .../configs/strict-type-checked-only.d.ts | 8 - .../configs/strict-type-checked-only.d.ts.map | 1 - .../dist/configs/strict-type-checked-only.js | 91 - .../configs/strict-type-checked-only.js.map | 1 - .../dist/configs/strict-type-checked.d.ts | 8 - .../dist/configs/strict-type-checked.d.ts.map | 1 - .../dist/configs/strict-type-checked.js | 126 - .../dist/configs/strict-type-checked.js.map | 1 - .../dist/configs/strict.d.ts | 8 - .../dist/configs/strict.d.ts.map | 1 - .../typescript-eslint/dist/configs/strict.js | 62 - .../dist/configs/strict.js.map | 1 - .../configs/stylistic-type-checked-only.d.ts | 8 - .../stylistic-type-checked-only.d.ts.map | 1 - .../configs/stylistic-type-checked-only.js | 36 - .../stylistic-type-checked-only.js.map | 1 - .../dist/configs/stylistic-type-checked.d.ts | 8 - .../configs/stylistic-type-checked.d.ts.map | 1 - .../dist/configs/stylistic-type-checked.js | 50 - .../configs/stylistic-type-checked.js.map | 1 - .../dist/configs/stylistic.d.ts | 8 - .../dist/configs/stylistic.d.ts.map | 1 - .../dist/configs/stylistic.js | 41 - .../dist/configs/stylistic.js.map | 1 - .../typescript-eslint/dist/index.d.ts | 157 - .../typescript-eslint/dist/index.d.ts.map | 1 - .../typescript-eslint/dist/index.js | 206 - .../typescript-eslint/dist/index.js.map | 1 - .../node_modules/.bin/eslint | 17 - .../typescript-eslint/node_modules/.bin/tsc | 17 - .../node_modules/.bin/tsserver | 17 - .../typescript-eslint/package.json | 82 - .../node_modules/.bin/eslint | 4 +- .../typescript-eslint/node_modules/.bin/tsc | 4 +- .../node_modules/.bin/tsserver | 4 +- .../node_modules/.bin/browserslist | 4 +- .../vite/node_modules/.bin/esbuild | 11 +- .../vite/node_modules/.bin/rollup | 8 +- node_modules/.vite/deps/_metadata.json | 16 +- 4214 files changed, 133 insertions(+), 506079 deletions(-) delete mode 100644 dist/_redirects delete mode 100644 dist/index.html delete mode 100644 dist/snigdhaos-logo.svg delete mode 100644 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/LICENSE delete mode 100644 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/README.md delete mode 100644 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js delete mode 100644 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js.map delete mode 100644 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs delete mode 100644 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs.map delete mode 100755 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint delete mode 100644 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/package.json delete mode 120000 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint delete mode 120000 node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-visitor-keys delete mode 100644 node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/README.md delete mode 100644 node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/package.json delete mode 100644 node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node delete mode 100644 node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/README.md delete mode 100644 node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/package.json delete mode 100644 node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/rollup.linux-x64-musl.node delete mode 120000 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/LICENSE delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/README.md delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/canary.d.ts delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/client.d.ts delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/experimental.d.ts delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/index.d.ts delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/package.json delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/server.d.ts delete mode 100644 node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/test-utils/index.d.ts delete mode 120000 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/prop-types delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/LICENSE delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/README.md delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/canary.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/experimental.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/global.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/index.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-dev-runtime.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-runtime.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/package.json delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/canary.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/experimental.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/global.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/index.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-dev-runtime.d.ts delete mode 100644 node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-runtime.d.ts delete mode 120000 node_modules/.pnpm/@types+react@18.3.17/node_modules/csstype delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@eslint-community/regexpp delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/LICENSE delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/README.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-methods-use-this.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-return.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/max-params.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-delete.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-deprecated.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-type-constituents.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-object-type.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-import-type-side-effects.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-mixed-enums.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-types.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-parameter-property-assignment.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-template-expression.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-parameters.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-declaration-merging.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-enum-comparison.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-function-type.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-type-assertion.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-unary-minus.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-template-literals.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-wrapper-object-types.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/only-throw-error.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-destructuring.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-find.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-promise-reject-errors.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/related-getter-setter-pairs.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-constituents.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/use-unknown-in-catch-callback-variable.mdx delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/eslint-recommended-raw.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/index.d.ts delete mode 100755 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint delete mode 100755 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc delete mode 100755 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/package.json delete mode 100644 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/rules.d.ts delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/parser delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/scope-manager delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/type-utils delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/utils delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/visitor-keys delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/eslint delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/graphemer delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ignore delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/natural-compare delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ts-api-utils delete mode 120000 node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/typescript delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/LICENSE delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/README.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js.map delete mode 100755 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint delete mode 100755 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc delete mode 100755 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver delete mode 100644 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/package.json delete mode 120000 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager delete mode 120000 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types delete mode 120000 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree delete mode 120000 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/visitor-keys delete mode 120000 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug delete mode 120000 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint delete mode 120000 node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/LICENSE delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/README.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js.map delete mode 100755 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint delete mode 100755 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc delete mode 100755 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver delete mode 100644 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/package.json delete mode 120000 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree delete mode 120000 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils delete mode 120000 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug delete mode 120000 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint delete mode 120000 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/ts-api-utils delete mode 120000 node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript delete mode 120000 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@eslint-community/eslint-utils delete mode 120000 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager delete mode 120000 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types delete mode 120000 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/LICENSE delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/README.md delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts.map delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js.map delete mode 100755 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint delete mode 100755 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc delete mode 100755 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver delete mode 100644 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/package.json delete mode 120000 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint delete mode 120000 node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/LICENSE delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/README.md delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/agents.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browserVersions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browsers.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/aac.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/abortcontroller.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ac3-ec3.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/accelerometer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/addeventlistener.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/alternate-stylesheet.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ambient-light.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/apng.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find-index.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-flat.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-includes.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/arrow-functions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/asmjs.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-clipboard.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-functions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/atob-btoa.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audiotracks.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/autofocus.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/auxclick.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/av1.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/avif.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-attachment.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-clip-text.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-img-opts.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-position-x-y.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-repeat-round-space.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-sync.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/battery-status.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beacon.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beforeafterprint.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bigint.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/blobbuilder.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bloburls.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-image.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-radius.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/broadcastchannel.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/brotli.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/calc.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-blending.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-text.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ch-unit.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/chacha20-poly1305.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/channel-messaging.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/childnode-remove.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/classlist.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/clipboard.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr-v1.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/comparedocumentposition.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-basic.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-time.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/const.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/constraint-validation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contenteditable.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cookie-store-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cors.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/createimagebitmap.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/credential-management.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cryptography.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-all.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-anchor-positioning.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-animation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-any-link.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-appearance.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-at-counter-style.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-autofill.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backdrop-filter.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-background-offsets.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxshadow.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-canvas.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-caret-color.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-layers.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-scope.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-case-insensitive.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-clip-path.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-adjust.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-function.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-conic-gradients.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries-style.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-query-units.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-containment.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-content-visibility.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-counters.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-crisp-edges.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cross-fade.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-default-pseudo.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-deviceadaptation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-dir-pseudo.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-display-contents.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-element-function.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-env-function.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-exclusions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-featurequeries.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-file-selector-button.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filter-function.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filters.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-letter.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-line.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-fixed.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-visible.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-within.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-palette.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-stretch.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gencontent.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gradients.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid-animation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-has.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hyphens.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-orientation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-set.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-in-out-of-range.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-letter.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-value.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-lch-lab.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-letter-spacing.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-line-clamp.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-logical-props.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-marker-pseudo.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-masks.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-matches-pseudo.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-math-functions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-interaction.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-range-syntax.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-resolution.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-scripting.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mediaqueries.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mixblendmode.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-module-scripts.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-motion-paths.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-namespaces.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nesting.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-not-sel-list.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nth-child-of.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-opacity.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-optional-pseudo.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-anchor.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-overlay.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-page-break.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paged-media.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paint-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder-shown.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-print-color-adjust.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-read-only-write.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rebeccapurple.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-reflections.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-regions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-relative-colors.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-repeating-gradients.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-resize.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-revert-value.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rrggbbaa.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scroll-behavior.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scrollbar.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel3.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-selection.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-shapes.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-snappoints.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sticky.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-subgrid.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-supports-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-table.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-align-last.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-box-trim.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-indent.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-justify.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-orientation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-spacing.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-textshadow.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-touch-action.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-transitions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unicode-bidi.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unset-value.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-variables.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-when-else.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-widows-orphans.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-width-stretch.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-writing-mode.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-zoom.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-attr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-boxsizing.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-colors.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-grab.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-newer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-tabsize.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/currentcolor.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elements.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elementsv1.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/customevent.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datalist.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dataset.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datauri.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/decorators.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/details.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/deviceorientation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/devicepixelratio.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dialog.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dispatchevent.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dnssec.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/do-not-track.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-currentscript.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-execcommand.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-policy.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-scrollingelement.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/documenthead.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-manip-convenience.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-range.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/domcontentloaded.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dommatrix.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/download.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dragndrop.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-closest.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-from-point.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-scroll-methods.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eme.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eot.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es5.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-class.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-generators.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-number.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-string-includes.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eventsource.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/extended-system-fonts.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/feature-policy.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fetch.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fieldset-disabled.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fileapi.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereader.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereadersync.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filesystem.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flac.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox-gap.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flow-root.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/focusin-focusout-events.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-family-system-ui.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-feature.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-kerning.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-loading.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-size-adjust.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-smooth.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-unicode-range.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-alternates.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-numeric.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fontface.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-attribute.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-submit-attributes.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-validation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/forms.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fullscreen.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gamepad.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/geolocation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getboundingclientrect.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getcomputedstyle.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getelementsbyclassname.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getrandomvalues.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gyroscope.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hardwareconcurrency.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hashchange.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/heif.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hevc.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hidden.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/high-resolution-time.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/history.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html-media-capture.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html5semantic.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http-live-streaming.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http3.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-sandbox.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-seamless.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-srcdoc.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imagecapture.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ime.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/import-maps.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imports.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/inline-block.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/innertext.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-color.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-datetime.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-email-tel-url.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-event.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-accept.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-directory.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-multiple.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-inputmode.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-minlength.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-number.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-pattern.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-placeholder.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-range.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-search.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-selection.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insert-adjacent.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insertadjacenthtml.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/internationalization.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intl-pluralrules.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intrinsic-width.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpeg2000.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxl.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/json.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-code.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-key.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-location.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-which.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/lazyload.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/let.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-png.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-svg.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preconnect.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prefetch.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preload.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prerender.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/loading-lazy-attr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/localecompare.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/magnetometer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchesselector.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchmedia.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mathml.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/maxlength.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/media-fragments.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediarecorder.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediasource.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/menu.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meta-theme-color.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meter.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/midi.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/minmaxwh.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mp3.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg-dash.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg4.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multibackgrounds.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multicolumn.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutation-events.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutationobserver.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/namevalue-storage.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/native-filesystem-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/nav-timing.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/netinfo.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/notifications.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-entries.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-fit.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-observe.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-values.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/objectrtc.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offline-apps.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offscreencanvas.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogg-vorbis.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogv.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ol-reversed.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/once-event-listener.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/online-status.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/opus.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/orientation-sensor.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/outline.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pad-start-end.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/page-transition-events.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pagevisibility.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passive-event-listener.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passkeys.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passwordrules.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/path2d.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/payment-request.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pdf-viewer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-policy.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture-in-picture.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ping.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/png-alpha.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer-events.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointerlock.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/portals.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-color-scheme.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/progress.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promise-finally.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promises.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proximity.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proxy.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/publickeypinning.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/push-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/queryselector.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/readonly-attr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/referrer-policy.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/registerprotocolhandler.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noopener.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noreferrer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rellist.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rem.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestanimationframe.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestidlecallback.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resizeobserver.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resource-timing.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rest-parameters.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rtcpeerconnection.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ruby.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/run-in.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/screen-orientation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-async.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-defer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoview.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sdch.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selection-api.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selectlist.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/server-timing.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/serviceworkers.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/setimmediate.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdom.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdomv1.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedarraybuffer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedworkers.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sni.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spdy.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-recognition.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-synthesis.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spellcheck-attribute.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sql-storage.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/srcset.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stream.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/streams.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stricttransportsecurity.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/style-scoped.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-bundling.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-integrity.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-css.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-filters.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fonts.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fragment.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html5.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-img.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-smil.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sxg.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tabindex-attr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template-literals.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/temporal.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/testfeat.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-decoration.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-emphasis.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-overflow.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-size-adjust.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-stroke.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textcontent.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textencoder.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-1.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-3.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/touch.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms2d.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms3d.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/trusted-types.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ttf.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/typedarrays.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/u2f.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/unhandledrejection.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/urlsearchparams.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/use-strict.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-select-none.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-timing.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/variable-fonts.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vector-effect.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vibration.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/video.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/videotracks.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/view-transitions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-unit-variants.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-units.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wai-aria.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wake-lock.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bigint.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-extended-const.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-gc.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-memory.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-value.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-reference-types.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-signext.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-simd.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-tail-calls.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-threads.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wav.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wbr-element.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-animation.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-app-manifest.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-bluetooth.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-serial.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-share.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webauthn.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webcodecs.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgpu.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webhid.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webkit-user-drag.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webm.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webnfc.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webp.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/websockets.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webtransport.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webusb.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvtt.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webworkers.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webxr.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/will-change.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/word-break.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wordwrap.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-doc-messaging.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-frame-options.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhr2.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtml.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtmlsmil.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xml-serializer.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/zstd.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AD.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AF.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AX.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BB.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BD.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BF.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BJ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CD.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CF.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CV.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CX.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DJ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EC.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ER.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ES.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ET.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FJ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GB.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GD.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GF.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GP.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GQ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ID.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IQ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JP.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KP.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LB.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LC.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LV.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MC.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MD.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ME.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ML.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MP.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MQ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MV.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MX.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NC.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NF.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NP.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/OM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PF.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/QA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SB.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SC.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SD.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SK.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ST.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SV.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TC.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TD.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TH.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TJ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TL.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TO.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TR.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TV.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/US.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UY.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UZ.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VC.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VG.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VI.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VN.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VU.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WF.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WS.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YE.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YT.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZA.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZM.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZW.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-af.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-an.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-as.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-eu.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-na.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-oc.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-sa.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-ww.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/statuses.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/supported.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/agents.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browserVersions.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browsers.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/feature.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/features.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/index.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/region.js delete mode 100644 node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/package.json delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/LICENSE delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/README.md delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.js delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.json delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.js delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.json delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.js delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.json delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/index.js delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/package.json delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.js delete mode 100644 node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.json delete mode 120000 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint delete mode 100644 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/LICENSE delete mode 100644 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/README.md delete mode 100644 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js delete mode 100644 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.js delete mode 100644 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/index.js delete mode 100755 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint delete mode 100644 node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/package.json delete mode 120000 node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint delete mode 100644 node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/LICENSE delete mode 100644 node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/README.md delete mode 100644 node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.d.ts delete mode 100644 node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.js delete mode 100755 node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint delete mode 100644 node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/package.json delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/eslint-utils delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/regexpp delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/config-array delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/core delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/eslintrc delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/js delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/plugin-kit delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanfs/node delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/module-importer delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/retry delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/estree delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/json-schema delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ajv delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/chalk delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/cross-spawn delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/debug delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/escape-string-regexp delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-scope delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-visitor-keys delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/LICENSE delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/README.md delete mode 100755 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/default-cli-options.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/ecma-version.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/globals.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/replacements.json delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/rule-type-list.json delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/api.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/cli-engine.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/file-enumerator.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/html.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/stylish.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/hash.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/lint-result-cache.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/load-rules.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config-loader.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/default-config.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-array.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-helpers.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-schema.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/rule-validator.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint-helpers.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/legacy-eslint.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/source-code.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/validate-language-options.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/apply-disable-directives.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/file-context.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/interpolate.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/linter.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/node-event-generator.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/report-translator.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rule-fixer.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rules.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/safe-emitter.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/source-code-fixer.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/timing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/vfile.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/options.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/rule-tester.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/accessor-pairs.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-newline.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-callback-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-element-newline.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-body-style.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-parens.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-scoped-var.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/brace-style.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/callback-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/camelcase.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/capitalized-comments.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/class-methods-use-this.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-dangle.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-style.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/complexity.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/computed-property-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-this.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/constructor-super.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/curly.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case-last.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-param-last.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-location.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-notation.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eol-last.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eqeqeq.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/for-direction.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-call-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-name-matching.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-names.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-style.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-call-argument-newline.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-paren-newline.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/generator-star-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/getter-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/global-require.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/grouped-accessor-pairs.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/guard-for-in.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/handle-callback-err.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-blacklist.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-denylist.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-length.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-match.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent-legacy.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/init-declarations.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/jsx-quotes.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/key-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/keyword-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/line-comment-position.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/linebreak-style.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-comment.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-directive.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-between-class-members.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/logical-assignment-operators.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-classes-per-file.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-depth.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-len.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines-per-function.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-nested-callbacks.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-params.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements-per-line.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-comment-style.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-ternary.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-cap.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-parens.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-after-var.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-before-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-per-chained-call.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-alert.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-array-constructor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-async-promise-executor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-await-in-loop.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-bitwise.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-buffer-constructor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-caller.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-case-declarations.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-catch-shadow.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-class-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-compare-neg-zero.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-cond-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-confusing-arrow.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-console.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-const-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-binary-expression.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-condition.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constructor-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-continue.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-control-regex.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-debugger.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-delete-var.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-div-regex.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-args.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-class-members.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-else-if.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-keys.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-case.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-imports.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-else-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-character-class.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-function.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-pattern.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-static-block.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eq-null.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eval.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ex-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extend-native.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-bind.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-boolean-cast.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-label.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-parens.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-semi.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-fallthrough.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-floating-decimal.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-func-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-global-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-coercion.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-globals.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implied-eval.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-import-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inline-comments.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inner-declarations.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-regexp.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-this.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-irregular-whitespace.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-iterator.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-label-var.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-labels.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lone-blocks.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lonely-if.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loop-func.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loss-of-precision.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-magic-numbers.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-misleading-character-class.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-operators.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-requires.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-spaces.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-str.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multiple-empty-lines.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-native-reassign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-condition.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-in-lhs.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nested-ternary.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-func.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-object.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-require.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-symbol.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-wrappers.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-obj-calls.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-object-constructor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal-escape.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-param-reassign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-path-concat.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-plusplus.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-env.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-exit.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-promise-executor-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-proto.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-prototype-builtins.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-redeclare.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-regex-spaces.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-exports.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-globals.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-imports.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-modules.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-properties.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-syntax.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-await.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-script-url.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-assign.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-compare.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sequences.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-setter-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow-restricted-names.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-spaced-func.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sparse-arrays.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sync.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-tabs.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-template-curly-in-string.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ternary.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-this-before-super.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-throw-literal.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-trailing-spaces.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef-init.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undefined.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-underscore-dangle.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unexpected-multiline.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unneeded-ternary.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable-loop.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-finally.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-negation.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-expressions.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-labels.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-private-class-members.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-vars.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-use-before-define.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-assignment.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-backreference.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-call.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-catch.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-computed-key.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-concat.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-constructor.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-escape.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-rename.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-return.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-var.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-void.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-warning-comments.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-whitespace-before-property.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-with.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/nonblock-statement-body-position.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-newline.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-property-newline.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-shorthand.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var-declaration-per-line.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-assignment.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-linebreak.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padded-blocks.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padding-line-between-statements.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-arrow-callback.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-const.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-destructuring.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-named-capture-group.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-numeric-literals.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-has-own.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-spread.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-reflect.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-regex-literals.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-rest-params.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-spread.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-template.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quote-props.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quotes.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/radix.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-atomic-updates.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-await.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-unicode-regexp.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-yield.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/rest-spread-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-style.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-imports.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-keys.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-vars.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-blocks.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-function-paren.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-in-parens.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-infix-ops.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-unary-ops.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/spaced-comment.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/strict.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/switch-colon-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/symbol-description.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-curly-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-tag-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/unicode-bom.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/use-isnan.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/ast-utils.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/char-source.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/fix-tracker.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/keywords.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/regular-expressions.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/index.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/valid-typeof.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/vars-on-top.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-iife.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-regex.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yield-star-spacing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yoda.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/parser-service.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/processor-service.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ajv.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/assert.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ast-utils.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/deep-merge-arrays.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/directives.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/flags.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/logging.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/runtime-info.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/serialization.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/severity.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/stats.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/string-utils.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/text-table.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/traverser.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/types.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/index.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/best-practices.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/deprecated.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/ecmascript-6.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/index.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/node-commonjs.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/possible-errors.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/strict-mode.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/stylistic-issues.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/variables.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/universal.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/universal.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/unsupported-api.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-files-ignored.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-matched-files-ignored.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/config-file-missing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-incompat.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-plugins.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/extend-config-missing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/failed-to-read-json.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/file-not-found.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-options.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-severity.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/no-config-found.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-conflict.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-invalid.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-missing.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/print-config-with-directory-path.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/shared.js delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/whitespace-found.js delete mode 100755 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules/.bin/jiti delete mode 100644 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/package.json delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/espree delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esquery delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esutils delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/fast-deep-equal delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/file-entry-cache delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/find-up delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/glob-parent delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ignore delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/imurmurhash delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/is-glob delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/jiti delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/json-stable-stringify-without-jsonify delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/lodash.merge delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/minimatch delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/natural-compare delete mode 120000 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/optionator delete mode 100755 node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/eslint delete mode 100644 node_modules/.pnpm/globals@15.13.0/node_modules/globals/globals.json delete mode 100644 node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.d.ts delete mode 100644 node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.js delete mode 100644 node_modules/.pnpm/globals@15.13.0/node_modules/globals/license delete mode 100644 node_modules/.pnpm/globals@15.13.0/node_modules/globals/package.json delete mode 100644 node_modules/.pnpm/globals@15.13.0/node_modules/globals/readme.md delete mode 120000 node_modules/.pnpm/is-core-module@2.16.0/node_modules/hasown delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.eslintrc delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.nycrc delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/CHANGELOG.md delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/LICENSE delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/README.md delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/core.json delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/index.js delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/package.json delete mode 100644 node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/test/index.js delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/LICENSE delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/README.md delete mode 100755 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/bin/jiti.js delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.d.ts delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.js delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/jiti.d.ts delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/jiti.js delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/plugins/babel-plugin-transform-import-meta.d.ts delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/plugins/import-meta-env.d.ts delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/types.d.ts delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/utils.d.ts delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/lib/index.js delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/package.json delete mode 100644 node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/register.js delete mode 100755 node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/node_modules/.bin/jiti delete mode 100755 node_modules/.pnpm/node_modules/.bin/glob delete mode 100755 node_modules/.pnpm/prettier@3.4.2/node_modules/prettier/node_modules/.bin/prettier delete mode 120000 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@remix-run/router delete mode 120000 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react delete mode 120000 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-dom delete mode 120000 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/CHANGELOG.md delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/LICENSE.md delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/README.md delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/dom.d.ts delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/index.d.ts delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/index.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/index.js.map delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/main.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/react-router-dom.development.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/react-router-dom.development.js.map delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/react-router-dom.production.min.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/react-router-dom.production.min.js.map delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/server.d.ts delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/server.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/server.mjs delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/umd/react-router-dom.development.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/umd/react-router-dom.development.js.map delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/umd/react-router-dom.production.min.js.map delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/package.json delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/server.d.ts delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/server.js delete mode 100644 node_modules/.pnpm/react-router-dom@6.28.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/server.mjs delete mode 120000 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/@remix-run/router delete mode 120000 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/CHANGELOG.md delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/LICENSE.md delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/README.md delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/index.d.ts delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/index.js delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/index.js.map delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/lib/components.d.ts delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/lib/context.d.ts delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/lib/deprecations.d.ts delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/lib/hooks.d.ts delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/main.js delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/react-router.development.js delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/react-router.development.js.map delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/react-router.production.min.js delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/react-router.production.min.js.map delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/umd/react-router.development.js delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/umd/react-router.development.js.map delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/umd/react-router.production.min.js delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/dist/umd/react-router.production.min.js.map delete mode 100644 node_modules/.pnpm/react-router@6.28.0_react@18.3.1/node_modules/react-router/package.json delete mode 120000 node_modules/.pnpm/resolve@1.22.9/node_modules/is-core-module delete mode 120000 node_modules/.pnpm/resolve@1.22.9/node_modules/path-parse delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/.editorconfig delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/.github/FUNDING.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/SECURITY.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/async.js delete mode 100755 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/bin/resolve delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/example/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/example/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/caller.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/core.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/homedir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/is-core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/node-modules-paths.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/normalize-options.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/lib/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/readme.markdown delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/dotdot.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/dotdot/abc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/dotdot/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/faulty_basedir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/filter.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/filter_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/home_paths.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/home_paths_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.eslintignore delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/FUNDING.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/workflows/conditions.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/workflows/fixtures.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/workflows/ls-engines.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/workflows/node-pretest.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/workflows/node.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/workflows/rebase.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/.github/workflows/require-allow-edits.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/list-exports/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/list-exports/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/list-exports/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/list-exports/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/ls-exports/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/ls-exports/README.md delete mode 100755 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/ls-exports/bin/ls-exports delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/ls-exports/exportsTable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/ls-exports/getPackageJSONPath.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/ls-exports/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/ls-exports/table.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/.eslintignore delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/conditions-expected.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/conditions.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/AbstractEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/AbstractRelationalComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/AdvanceStringIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ArrayCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ArraySetLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ArraySpeciesCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/Call.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CanonicalNumericIndexString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CompletePropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CreateDataProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CreateDataPropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CreateHTML.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CreateIterResultObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CreateListFromArrayLike.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/CreateMethodProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/DateFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/Day.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/DayFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/DayWithinYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/DaysInYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/DefinePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/DeletePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/EnumerableOwnNames.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/FromPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/Get.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/GetIterator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/GetMethod.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/GetOwnPropertyKeys.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/GetPrototypeFromConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/GetSubstitution.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/GetV.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/HasOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/HasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/HourFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/InLeapYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/InstanceofOperator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/Invoke.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsAccessorDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsArray.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsCallable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsConcatSpreadable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsDataDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsExtensible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsGenericDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsPromise.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IsRegExp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IteratorClose.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IteratorComplete.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IteratorNext.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IteratorStep.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/IteratorValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/MakeDate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/MakeDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/MakeTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/MinFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/MonthFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ObjectCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/OrdinaryDefineOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/OrdinaryGetOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/OrdinaryHasInstance.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/OrdinaryHasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/RegExpExec.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/RequireObjectCoercible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/SameValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/SameValueZero.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/SecFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/Set.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/SetFunctionName.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/SetIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/SpeciesConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/StrictEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/SymbolDescriptiveString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/TestIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/TimeClip.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/TimeFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/TimeWithinDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToBoolean.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToDateString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToInt16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToInt32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToInt8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToPrimitive.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToUint16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToUint32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToUint8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ToUint8Clamp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/Type.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/ValidateAndApplyPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/WeekDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/YearFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/modulo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/msFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/thisBooleanValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/thisNumberValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/thisStringValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2015/thisTimeValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/AbstractEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/AbstractRelationalComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/AdvanceStringIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ArrayCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ArraySetLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ArraySpeciesCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/Call.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CanonicalNumericIndexString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CompletePropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CreateDataProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CreateDataPropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CreateHTML.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CreateIterResultObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CreateListFromArrayLike.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/CreateMethodProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/DateFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/Day.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/DayFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/DayWithinYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/DaysInYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/DefinePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/DeletePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/EnumerableOwnNames.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/FromPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/Get.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/GetIterator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/GetMethod.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/GetOwnPropertyKeys.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/GetPrototypeFromConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/GetSubstitution.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/GetV.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/HasOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/HasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/HourFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/InLeapYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/InstanceofOperator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/Invoke.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsAccessorDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsArray.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsCallable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsConcatSpreadable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsDataDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsExtensible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsGenericDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsPromise.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IsRegExp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IterableToArrayLike.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IteratorClose.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IteratorComplete.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IteratorNext.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IteratorStep.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/IteratorValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/MakeDate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/MakeDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/MakeTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/MinFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/MonthFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ObjectCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/OrdinaryDefineOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/OrdinaryGetOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/OrdinaryGetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/OrdinaryHasInstance.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/OrdinaryHasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/OrdinarySetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/RegExpExec.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/RequireObjectCoercible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SameValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SameValueNonNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SameValueZero.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SecFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/Set.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SetFunctionName.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SetIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SpeciesConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/StrictEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/SymbolDescriptiveString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/TestIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/TimeClip.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/TimeFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/TimeWithinDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToBoolean.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToDateString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToInt16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToInt32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToInt8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToPrimitive.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToUint16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToUint32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToUint8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ToUint8Clamp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/Type.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/ValidateAndApplyPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/WeekDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/YearFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/modulo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/msFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/thisBooleanValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/thisNumberValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/thisStringValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2016/thisTimeValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/AbstractEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/AbstractRelationalComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/AdvanceStringIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ArrayCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ArraySetLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ArraySpeciesCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/Call.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CanonicalNumericIndexString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CompletePropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CreateDataProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CreateDataPropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CreateHTML.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CreateIterResultObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CreateListFromArrayLike.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/CreateMethodProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/DateFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/Day.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/DayFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/DayWithinYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/DaysInYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/DefinePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/DeletePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/EnumerableOwnProperties.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/FromPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/Get.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/GetIterator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/GetMethod.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/GetOwnPropertyKeys.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/GetPrototypeFromConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/GetSubstitution.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/GetV.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/HasOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/HasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/HourFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/InLeapYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/InstanceofOperator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/Invoke.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsAccessorDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsArray.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsCallable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsConcatSpreadable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsDataDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsExtensible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsGenericDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsPromise.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IsRegExp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IterableToList.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IteratorClose.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IteratorComplete.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IteratorNext.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IteratorStep.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/IteratorValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/MakeDate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/MakeDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/MakeTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/MinFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/MonthFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ObjectCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/OrdinaryDefineOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/OrdinaryGetOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/OrdinaryGetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/OrdinaryHasInstance.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/OrdinaryHasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/OrdinarySetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/RegExpExec.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/RequireObjectCoercible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SameValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SameValueNonNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SameValueZero.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SecFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/Set.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SetFunctionName.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SetIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SpeciesConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/StrictEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/SymbolDescriptiveString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/TestIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/TimeClip.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/TimeFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/TimeWithinDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToBoolean.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToDateString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToInt16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToInt32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToInt8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToPrimitive.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToUint16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToUint32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToUint8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ToUint8Clamp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/Type.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/ValidateAndApplyPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/WeekDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/YearFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/modulo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/msFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/thisBooleanValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/thisNumberValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/thisStringValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2017/thisTimeValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/AbstractEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/AbstractRelationalComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/AdvanceStringIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ArrayCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ArraySetLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ArraySpeciesCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/Call.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CanonicalNumericIndexString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CompletePropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CopyDataProperties.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CreateDataProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CreateDataPropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CreateHTML.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CreateIterResultObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CreateListFromArrayLike.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/CreateMethodProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/DateFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/DateString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/Day.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/DayFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/DayWithinYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/DaysInYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/DefinePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/DeletePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/EnumerableOwnPropertyNames.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/FromPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/Get.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/GetIterator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/GetMethod.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/GetOwnPropertyKeys.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/GetPrototypeFromConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/GetSubstitution.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/GetV.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/HasOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/HasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/HourFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/InLeapYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/InstanceofOperator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/Invoke.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsAccessorDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsArray.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsCallable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsConcatSpreadable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsDataDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsExtensible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsGenericDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsPromise.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsRegExp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IsStringPrefix.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IterableToList.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IteratorClose.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IteratorComplete.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IteratorNext.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IteratorStep.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/IteratorValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/MakeDate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/MakeDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/MakeTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/MinFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/MonthFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/NumberToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ObjectCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/OrdinaryDefineOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/OrdinaryGetOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/OrdinaryGetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/OrdinaryHasInstance.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/OrdinaryHasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/OrdinarySetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/PromiseResolve.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/RegExpExec.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/RequireObjectCoercible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SameValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SameValueNonNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SameValueZero.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SecFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/Set.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SetFunctionName.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SetIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SpeciesConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/StrictEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/SymbolDescriptiveString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/TestIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/TimeClip.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/TimeFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/TimeString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/TimeWithinDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToBoolean.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToDateString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToInt16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToInt32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToInt8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToPrimitive.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToUint16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToUint32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToUint8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ToUint8Clamp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/Type.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/ValidateAndApplyPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/WeekDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/YearFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/modulo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/msFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/thisBooleanValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/thisNumberValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/thisStringValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/thisSymbolValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2018/thisTimeValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/AbstractEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/AbstractRelationalComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/AddEntriesFromIterable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/AdvanceStringIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ArrayCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ArraySetLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ArraySpeciesCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/Call.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CanonicalNumericIndexString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CompletePropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CopyDataProperties.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CreateDataProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CreateDataPropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CreateHTML.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CreateIterResultObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CreateListFromArrayLike.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/CreateMethodProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/DateFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/DateString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/Day.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/DayFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/DayWithinYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/DaysInYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/DefinePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/DeletePropertyOrThrow.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/EnumerableOwnPropertyNames.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/FlattenIntoArray.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/FromPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/Get.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/GetIterator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/GetMethod.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/GetOwnPropertyKeys.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/GetPrototypeFromConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/GetSubstitution.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/GetV.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/HasOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/HasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/HourFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/InLeapYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/InstanceofOperator.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/Invoke.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsAccessorDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsArray.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsCallable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsConcatSpreadable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsDataDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsExtensible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsGenericDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsPromise.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsRegExp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IsStringPrefix.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IterableToList.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IteratorClose.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IteratorComplete.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IteratorNext.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IteratorStep.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/IteratorValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/MakeDate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/MakeDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/MakeTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/MinFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/MonthFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/NumberToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ObjectCreate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/OrdinaryDefineOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/OrdinaryGetOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/OrdinaryGetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/OrdinaryHasInstance.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/OrdinaryHasProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/OrdinarySetPrototypeOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/PromiseResolve.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/RegExpExec.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/RequireObjectCoercible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SameValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SameValueNonNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SameValueZero.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SecFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/Set.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SetFunctionName.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SetIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SpeciesConstructor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/StrictEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/SymbolDescriptiveString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/TestIntegrityLevel.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/TimeClip.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/TimeFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/TimeString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/TimeWithinDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToBoolean.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToDateString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToIndex.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToInt16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToInt32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToInt8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToLength.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToPrimitive.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToPropertyKey.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToUint16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToUint32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToUint8.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ToUint8Clamp.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/TrimString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/Type.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/ValidateAndApplyPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/WeekDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/YearFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/modulo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/msFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/thisBooleanValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/thisNumberValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/thisStringValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/thisSymbolValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/2019/thisTimeValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/AbstractEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/AbstractRelationalComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/CheckObjectCoercible.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/DateFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/Day.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/DayFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/DayWithinYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/DaysInYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/FromPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/HourFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/InLeapYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/IsAccessorDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/IsCallable.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/IsDataDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/IsGenericDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/IsPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/MakeDate.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/MakeDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/MakeTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/MinFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/MonthFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/SameValue.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/SecFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/StrictEqualityComparison.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/TimeClip.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/TimeFromYear.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/TimeWithinDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToBoolean.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToInt32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToNumber.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToObject.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToPrimitive.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToString.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToUint16.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/ToUint32.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/Type.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/WeekDay.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/YearFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/modulo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/5/msFromTime.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/CHANGELOG.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/GetIntrinsic.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es2015.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es2016.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es2017.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es2018.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es2019.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es5.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es6.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/es7.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/DefineOwnProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/OwnPropertyKeys.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/assertRecord.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/assign.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/callBind.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/callBound.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/every.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/forEach.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/getInferredName.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/getIteratorMethod.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/getOwnPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/getProto.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/getSymbolDescription.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/isFinite.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/isNaN.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/isPrefixOf.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/isPrimitive.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/isPropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/isSamePropertyDescriptor.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/maxSafeInteger.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/mod.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/padTimeComponent.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/regexTester.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/setProto.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/sign.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/helpers/timeConstants.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/operations/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/operations/2015.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/operations/2016.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/operations/2017.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/operations/2018.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/operations/2019.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/GetIntrinsic.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/diffOps.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es2015.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es2016.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es2017.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es2018.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es2019.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es5.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es6.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/es7.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/helpers/OwnPropertyKeys.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/helpers/assertRecord.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/helpers/defineProperty.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/helpers/getSymbolDescription.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/helpers/runManifestTest.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/helpers/values.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/es-abstract/project/test/tests.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/project/cjs/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/project/cjs/utils.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/project/mjs/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/project/mjs/utils.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions-in-folder/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/default.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/dinr.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/dirn.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/dnir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/dnri.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/drin.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/drni.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/fallback.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/gen.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/idnr.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/idrn.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/import.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/indr.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/inrd.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/irdn.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/irnd.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/ndir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/ndri.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/nidr.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/nird.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/node.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/nrdi.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/nrid.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/rdin.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/rdni.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/require.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/ridn.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/rind.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/rndi.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-conditions/project/rnid.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-TL-object/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-exports-string/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/expected-without-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/expected.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/project/mapped/in-mapped-only.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/project/mapped/shared.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/project/unmapped/in-unmapped-only.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-folder-mapped/project/unmapped/shared.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dot-slash/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotless/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-dotted/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-TL-object/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-dot-object/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-multi-object/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-exports-string/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-main-implicit/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/project/cjs.cjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/project/esm.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-commonjs/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/project/cjs.cjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/project/esm.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-no-exports-with-root-type-module/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected-without-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/project/default.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/project/dep.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-node-modules/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected-without-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-nonexistent-dir/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/project/dir/extra.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/project/dir/extra.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/project/dir/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/project/file.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ex-private/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/cjs/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/esm/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/min.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-1/project/types.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/.github/FUNDING.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/SPECS.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/cjs/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/esm/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/min.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-2/project/types.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/.github/FUNDING.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/SPECS.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/cjs/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/cjs/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/es.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/esm/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/min.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/flatted-3/project/types.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected-without-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/.eslintignore delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/.nycrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/CHANGELOG.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/browser.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/conditional.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/no.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/pattern.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/test/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/has-package-exports/project/yes.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/project/.travis.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.1.0/project/readme.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.0/project/readme.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.1/project/readme.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/is-promise-2.2.2/project/readme.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected-without-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/list-exports/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected-without-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/ls-exports/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/server.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/Children.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/PureComponent.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/events.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/forwardRef.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/index.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/internal.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/memo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/portals.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/render.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/suspense-list.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/suspense-list.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/suspense.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/suspense.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/compat/src/util.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/debug/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/debug/src/check-props.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/debug/src/component-stack.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/debug/src/constants.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/debug/src/debug.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/debug/src/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/debug/src/internal.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/devtools/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/devtools/src/devtools.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/devtools/src/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/hooks/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/hooks/src/index.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/hooks/src/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/hooks/src/internal.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/clone-element.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/component.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/constants.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/create-context.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/create-element.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/diff/catch-error.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/diff/children.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/diff/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/diff/props.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/index.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/internal.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/jsx.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/options.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/render.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/src/util.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/test-utils/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/test-utils/src/index.d.ts delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/preact/project/test-utils/src/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/.eslintignore delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/.travis.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/example/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/example/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/caller.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/core.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/is-core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/node-modules-paths.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/normalize-options.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/lib/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/readme.markdown delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/dotdot.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/dotdot/abc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/dotdot/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/faulty_basedir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/filter.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/filter_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/mock.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/mock_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/module_dir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/module_dir/xmodules/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/module_dir/ymodules/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/module_dir/zmodules/bbb/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/module_dir/zmodules/bbb/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/node-modules-paths.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/node_path.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/node_path/x/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/node_path/x/ccc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/node_path/y/bbb/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/node_path/y/ccc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/nonstring.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/pathfilter.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/pathfilter/deep_ref/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/precedence.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/precedence/aaa.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/precedence/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/precedence/aaa/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/precedence/bbb.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/precedence/bbb/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/baz/doom.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/baz/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/baz/quux.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/browser_field/a.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/browser_field/b.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/browser_field/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/cup.coffee delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/dot_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/dot_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/dot_slash_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/dot_slash_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/incorrect_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/incorrect_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/invalid_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/mug.coffee delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/mug.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/multirepo/lerna.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/multirepo/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/multirepo/packages/package-a/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/multirepo/packages/package-a/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/multirepo/packages/package-b/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/multirepo/packages/package-b/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/nested_symlinks/mylib/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/nested_symlinks/mylib/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/nested_symlinks/mylib/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/other_path/lib/other-lib.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/other_path/root.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/quux/foo/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/same_names/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/same_names/foo/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/symlinked/_/node_modules/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/symlinked/_/symlink_target/.gitkeep delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/symlinked/package/bar.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/symlinked/package/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver/without_basedir/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/resolver_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/shadowed_core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/shadowed_core/node_modules/util/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/subdirs.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-1/project/test/symlinks.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/.eslintignore delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/.eslintrc delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/.github/FUNDING.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/.travis.yml delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/example/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/example/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/index.mjs delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/caller.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/core.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/is-core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/node-modules-paths.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/normalize-options.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/lib/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/readme.markdown delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/dotdot.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/dotdot/abc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/dotdot/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/faulty_basedir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/filter.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/filter_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/mock.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/mock_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/module_dir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/module_dir/xmodules/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/module_dir/ymodules/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/module_dir/zmodules/bbb/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/module_dir/zmodules/bbb/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/node-modules-paths.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/node_path.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/node_path/x/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/node_path/x/ccc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/node_path/y/bbb/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/node_path/y/ccc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/nonstring.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/pathfilter.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/pathfilter/deep_ref/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/pathfilter_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/precedence.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/precedence/aaa.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/precedence/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/precedence/aaa/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/precedence/bbb.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/precedence/bbb/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/baz/doom.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/baz/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/baz/quux.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/browser_field/a.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/browser_field/b.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/browser_field/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/cup.coffee delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/dot_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/dot_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/dot_slash_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/dot_slash_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/incorrect_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/incorrect_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/invalid_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/mug.coffee delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/mug.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/multirepo/lerna.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/multirepo/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/multirepo/packages/package-a/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/multirepo/packages/package-a/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/multirepo/packages/package-b/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/multirepo/packages/package-b/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/nested_symlinks/mylib/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/nested_symlinks/mylib/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/nested_symlinks/mylib/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/other_path/lib/other-lib.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/other_path/root.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/quux/foo/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/same_names/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/same_names/foo/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/symlinked/_/symlink_target/.gitkeep delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/symlinked/package/bar.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/symlinked/package/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver/without_basedir/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/resolver_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/shadowed_core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/subdirs.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/resolve-2/project/test/symlinks.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/broken-dir-slash-conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/broken.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/conditions.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/experimental.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/pattern-trailers-no-dir-slash.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/pattern-trailers.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/patterns.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/expected/pre-exports.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/project/LICENSE delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/project/README.md delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/fixtures/single-spa-layout/project/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/packages/tests/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/list-exports/since.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/mock.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/mock_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/module_dir.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/module_dir/xmodules/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/module_dir/ymodules/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/module_dir/zmodules/bbb/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/module_dir/zmodules/bbb/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/node-modules-paths.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/node_path.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/node_path/x/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/node_path/x/ccc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/node_path/y/bbb/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/node_path/y/ccc/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/nonstring.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/pathfilter.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/pathfilter/deep_ref/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/precedence.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/precedence/aaa.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/precedence/aaa/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/precedence/aaa/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/precedence/bbb.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/precedence/bbb/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/baz/doom.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/baz/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/baz/quux.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/browser_field/a.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/browser_field/b.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/browser_field/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/cup.coffee delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/dot_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/dot_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/dot_slash_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/dot_slash_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/false_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/false_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/incorrect_main/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/incorrect_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/invalid_main/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/mug.coffee delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/mug.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/multirepo/lerna.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/multirepo/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/other_path/lib/other-lib.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/other_path/root.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/quux/foo/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/same_names/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/same_names/foo/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/symlinked/package/bar.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/symlinked/package/package.json delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver/without_basedir/main.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/resolver_sync.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/shadowed_core.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/shadowed_core/node_modules/util/index.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/subdirs.js delete mode 100644 node_modules/.pnpm/resolve@1.22.9/node_modules/resolve/test/symlinks.js delete mode 120000 node_modules/.pnpm/resolve@1.22.9/node_modules/supports-preserve-symlinks-flag delete mode 120000 node_modules/.pnpm/rollup@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu delete mode 120000 node_modules/.pnpm/rollup@4.28.1/node_modules/@rollup/rollup-linux-x64-musl delete mode 120000 node_modules/.pnpm/rollup@4.28.1/node_modules/@types/estree delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/LICENSE.md delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/README.md delete mode 100755 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/bin/rollup delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/es/getLogFilter.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/es/package.json delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/es/parseAst.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/es/rollup.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/es/shared/node-entry.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/es/shared/parseAst.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/es/shared/watch.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/getLogFilter.d.ts delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/getLogFilter.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/loadConfigFile.d.ts delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/loadConfigFile.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/native.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/parseAst.d.ts delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/parseAst.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/rollup.d.ts delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/rollup.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/shared/fsevents-importer.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/shared/index.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/shared/loadConfigFile.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/shared/parseAst.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/shared/rollup.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/shared/watch-cli.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/dist/shared/watch.js delete mode 100644 node_modules/.pnpm/rollup@4.28.1/node_modules/rollup/package.json delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/@alloc/quick-lru delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/arg delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/chokidar delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/didyoumean delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/dlv delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/fast-glob delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/glob-parent delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/is-glob delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/jiti delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/lilconfig delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/micromatch delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/normalize-path delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/object-hash delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/picocolors delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/postcss delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/postcss-import delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/postcss-js delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/postcss-load-config delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/postcss-nested delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/postcss-selector-parser delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/resolve delete mode 120000 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/sucrase delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/CHANGELOG.md delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/LICENSE delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/README.md delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/base.css delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/colors.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/colors.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/components.css delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/defaultConfig.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/defaultConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/defaultTheme.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/defaultTheme.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli-peer-dependencies.js delete mode 100755 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/build/deps.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/build/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/build/plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/build/utils.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/build/watching.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/help/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/cli/init/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/corePluginList.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/corePlugins.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/css/LICENSE delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/css/preflight.css delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/featureFlags.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/cacheInvalidation.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/collapseAdjacentRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/collapseDuplicateDeclarations.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/content.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/defaultExtractor.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/evaluateTailwindFunctions.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/expandApplyAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/expandTailwindAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/findAtConfigPath.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/generateRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/getModuleDependencies.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/load-config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/normalizeTailwindDirectives.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/offsets.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/partitionApplyAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/regex.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/remap-bitfield.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/resolveDefaultsAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/setupContextUtils.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/setupTrackingContext.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/sharedState.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/lib/substituteScreenAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/postcss-plugins/nesting/README.md delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/postcss-plugins/nesting/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/postcss-plugins/nesting/plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/processTailwindFeatures.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/public/colors.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/public/create-plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/public/default-config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/public/default-theme.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/public/load-config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/public/resolve-config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/applyImportantSelector.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/bigSign.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/buildMediaQuery.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/cloneDeep.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/cloneNodes.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/color.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/colorNames.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/configurePlugins.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/createPlugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/createUtilityPlugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/dataTypes.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/defaults.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/escapeClassName.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/escapeCommas.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/flattenColorPalette.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/formatVariantSelector.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/getAllConfigs.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/hashConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/isKeyframeRule.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/isPlainObject.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/isSyntacticallyValidPropertyValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/log.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/nameClass.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/negateValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/normalizeConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/normalizeScreens.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/parseAnimationValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/parseBoxShadowValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/parseDependency.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/parseGlob.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/parseObjectStyles.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/pluginUtils.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/prefixSelector.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/pseudoElements.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/removeAlphaVariables.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/resolveConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/resolveConfigPath.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/responsive.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/splitAtTopLevelOnly.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/tap.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/toColorValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/toPath.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/transformThemeValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/validateConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/validateFormalSyntax.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/util/withAlphaVariable.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/LICENSE delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/README.md delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/index.d.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/parse.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/stringify.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/unit.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/lib/value-parser/walk.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/loadConfig.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/loadConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/nesting/index.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/nesting/index.js delete mode 100755 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/node_modules/.bin/jiti delete mode 100755 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/node_modules/.bin/resolve delete mode 100755 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/node_modules/.bin/sucrase delete mode 100755 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/node_modules/.bin/sucrase-node delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/package.json delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/peers/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/plugin.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/prettier.config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/resolveConfig.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/resolveConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/screens.css delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/scripts/create-plugin-list.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/scripts/generate-types.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/scripts/release-channel.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/scripts/release-notes.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/scripts/type-utils.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli-peer-dependencies.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/build/deps.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/build/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/build/plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/build/utils.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/build/watching.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/help/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/cli/init/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/corePluginList.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/corePlugins.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/css/LICENSE delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/css/preflight.css delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/featureFlags.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/cacheInvalidation.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/collapseAdjacentRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/collapseDuplicateDeclarations.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/content.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/defaultExtractor.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/evaluateTailwindFunctions.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/expandApplyAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/expandTailwindAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/findAtConfigPath.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/generateRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/getModuleDependencies.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/load-config.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/normalizeTailwindDirectives.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/offsets.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/partitionApplyAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/regex.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/remap-bitfield.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/resolveDefaultsAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/setupContextUtils.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/setupTrackingContext.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/sharedState.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/lib/substituteScreenAtRules.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/postcss-plugins/nesting/README.md delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/postcss-plugins/nesting/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/postcss-plugins/nesting/plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/processTailwindFeatures.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/public/colors.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/public/create-plugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/public/default-config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/public/default-theme.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/public/load-config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/public/resolve-config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/applyImportantSelector.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/bigSign.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/buildMediaQuery.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/cloneDeep.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/cloneNodes.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/color.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/colorNames.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/configurePlugins.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/createPlugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/createUtilityPlugin.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/dataTypes.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/defaults.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/escapeClassName.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/escapeCommas.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/flattenColorPalette.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/formatVariantSelector.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/getAllConfigs.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/hashConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/isKeyframeRule.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/isPlainObject.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/isSyntacticallyValidPropertyValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/log.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/nameClass.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/negateValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/normalizeConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/normalizeScreens.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/parseAnimationValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/parseBoxShadowValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/parseDependency.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/parseGlob.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/parseObjectStyles.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/pluginUtils.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/prefixSelector.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/pseudoElements.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/removeAlphaVariables.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/resolveConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/resolveConfigPath.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/responsive.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/splitAtTopLevelOnly.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/tap.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/toColorValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/toPath.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/transformThemeValue.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/validateConfig.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/validateFormalSyntax.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/util/withAlphaVariable.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/LICENSE delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/README.md delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/index.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/index.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/parse.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/stringify.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/unit.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/src/value-parser/walk.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/.gitignore delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/.prettierrc.json delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/config.full.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/config.simple.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/postcss.config.cjs delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/postcss.config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/tailwind.config.cjs delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/tailwind.config.js delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/stubs/tailwind.config.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/tailwind.css delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/types/config.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/types/generated/.gitkeep delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/types/generated/colors.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/types/generated/corePluginList.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/types/generated/default-theme.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/types/index.d.ts delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/utilities.css delete mode 100644 node_modules/.pnpm/tailwindcss@3.4.16/node_modules/tailwindcss/variants.css delete mode 100755 node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/node_modules/.bin/tailwind delete mode 100755 node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/node_modules/.bin/tailwindcss delete mode 120000 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/eslint-plugin delete mode 120000 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser delete mode 120000 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils delete mode 120000 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint delete mode 120000 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/LICENSE delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/README.md delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/config-helper.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/config-helper.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/config-helper.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/config-helper.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/all.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/all.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/all.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/all.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/base.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/base.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/base.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/base.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/disable-type-checked.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/disable-type-checked.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/disable-type-checked.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/disable-type-checked.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/eslint-recommended.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/eslint-recommended.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/eslint-recommended.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/eslint-recommended.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked-only.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked-only.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked-only.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked-only.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended-type-checked.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/recommended.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked-only.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked-only.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked-only.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked-only.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict-type-checked.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/strict.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked-only.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked-only.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked-only.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked-only.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic-type-checked.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/configs/stylistic.js.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/index.d.ts delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/index.d.ts.map delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/index.js delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/dist/index.js.map delete mode 100755 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/node_modules/.bin/eslint delete mode 100755 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/node_modules/.bin/tsc delete mode 100755 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/node_modules/.bin/tsserver delete mode 100644 node_modules/.pnpm/typescript-eslint@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript-eslint/package.json diff --git a/dist/_redirects b/dist/_redirects deleted file mode 100644 index ad37e2c2..00000000 --- a/dist/_redirects +++ /dev/null @@ -1 +0,0 @@ -/* /index.html 200 diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index da09ec44..00000000 --- a/dist/index.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - SNIGDHA OS - Arch-based Linux Distribution for Penetration Testing and Ethical Hacking - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/dist/snigdhaos-logo.svg b/dist/snigdhaos-logo.svg deleted file mode 100644 index 6676afdd..00000000 --- a/dist/snigdhaos-logo.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - snigdhaos - - - - - \ No newline at end of file diff --git a/node_modules/.modules.yaml b/node_modules/.modules.yaml index dc22c820..bff28ad5 100644 --- a/node_modules/.modules.yaml +++ b/node_modules/.modules.yaml @@ -710,7 +710,7 @@ layoutVersion: 5 nodeLinker: isolated packageManager: pnpm@9.15.1 pendingBuilds: [] -prunedAt: Thu, 19 Dec 2024 07:20:59 GMT +prunedAt: Sun, 22 Dec 2024 21:10:50 GMT publicHoistPattern: - '*eslint*' - '*prettier*' @@ -739,39 +739,22 @@ skipped: - '@esbuild/win32-arm64@0.21.5' - '@esbuild/win32-ia32@0.21.5' - '@esbuild/win32-x64@0.21.5' - - '@rollup/rollup-android-arm-eabi@4.28.1' - '@rollup/rollup-android-arm-eabi@4.29.1' - - '@rollup/rollup-android-arm64@4.28.1' - '@rollup/rollup-android-arm64@4.29.1' - - '@rollup/rollup-darwin-arm64@4.28.1' - '@rollup/rollup-darwin-arm64@4.29.1' - - '@rollup/rollup-darwin-x64@4.28.1' - '@rollup/rollup-darwin-x64@4.29.1' - - '@rollup/rollup-freebsd-arm64@4.28.1' - '@rollup/rollup-freebsd-arm64@4.29.1' - - '@rollup/rollup-freebsd-x64@4.28.1' - '@rollup/rollup-freebsd-x64@4.29.1' - - '@rollup/rollup-linux-arm-gnueabihf@4.28.1' - '@rollup/rollup-linux-arm-gnueabihf@4.29.1' - - '@rollup/rollup-linux-arm-musleabihf@4.28.1' - '@rollup/rollup-linux-arm-musleabihf@4.29.1' - - '@rollup/rollup-linux-arm64-gnu@4.28.1' - '@rollup/rollup-linux-arm64-gnu@4.29.1' - - '@rollup/rollup-linux-arm64-musl@4.28.1' - '@rollup/rollup-linux-arm64-musl@4.29.1' - - '@rollup/rollup-linux-loongarch64-gnu@4.28.1' - '@rollup/rollup-linux-loongarch64-gnu@4.29.1' - - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1' - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1' - - '@rollup/rollup-linux-riscv64-gnu@4.28.1' - '@rollup/rollup-linux-riscv64-gnu@4.29.1' - - '@rollup/rollup-linux-s390x-gnu@4.28.1' - '@rollup/rollup-linux-s390x-gnu@4.29.1' - - '@rollup/rollup-win32-arm64-msvc@4.28.1' - '@rollup/rollup-win32-arm64-msvc@4.29.1' - - '@rollup/rollup-win32-ia32-msvc@4.28.1' - '@rollup/rollup-win32-ia32-msvc@4.29.1' - - '@rollup/rollup-win32-x64-msvc@4.28.1' - '@rollup/rollup-win32-x64-msvc@4.29.1' - fsevents@2.3.3 storeDir: /home/whoami/.local/share/pnpm/store/v3 diff --git a/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/json5 b/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/json5 index f59acb93..344a9577 100755 --- a/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/json5 +++ b/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/json5 @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/json5@2.2.3/node_modules/json5/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/json5@2.2.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/json5@2.2.3/node_modules/json5/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/json5@2.2.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/json5@2.2.3/node_modules/json5/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/json5@2.2.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/json5@2.2.3/node_modules/json5/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/json5@2.2.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../json5@2.2.3/node_modules/json5/lib/cli.js" "$@" diff --git a/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/parser b/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/parser index 69710994..518ed2d2 100755 --- a/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/parser +++ b/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/parser @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@" diff --git a/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/semver b/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/semver index 6d202e11..2d32cb2e 100755 --- a/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/semver +++ b/node_modules/.pnpm/@babel+core@7.26.0/node_modules/@babel/core/node_modules/.bin/semver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../semver@6.3.1/node_modules/semver/bin/semver.js" "$@" diff --git a/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/jsesc b/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/jsesc index 88996624..f2e932fd 100755 --- a/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/jsesc +++ b/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/jsesc @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jsesc@3.1.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jsesc@3.1.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jsesc@3.1.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jsesc@3.1.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../jsesc@3.1.0/node_modules/jsesc/bin/jsesc" "$@" diff --git a/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/parser b/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/parser index 69710994..518ed2d2 100755 --- a/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/parser +++ b/node_modules/.pnpm/@babel+generator@7.26.3/node_modules/@babel/generator/node_modules/.bin/parser @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@" diff --git a/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/browserslist b/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/browserslist index fe698b09..603393d0 100755 --- a/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/browserslist +++ b/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/browserslist @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../browserslist@4.24.3/node_modules/browserslist/cli.js" "$@" diff --git a/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver b/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver index 6d202e11..2d32cb2e 100755 --- a/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver +++ b/node_modules/.pnpm/@babel+helper-compilation-targets@7.25.9/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@6.3.1/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../semver@6.3.1/node_modules/semver/bin/semver.js" "$@" diff --git a/node_modules/.pnpm/@babel+template@7.25.9/node_modules/@babel/template/node_modules/.bin/parser b/node_modules/.pnpm/@babel+template@7.25.9/node_modules/@babel/template/node_modules/.bin/parser index 69710994..518ed2d2 100755 --- a/node_modules/.pnpm/@babel+template@7.25.9/node_modules/@babel/template/node_modules/.bin/parser +++ b/node_modules/.pnpm/@babel+template@7.25.9/node_modules/@babel/template/node_modules/.bin/parser @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@" diff --git a/node_modules/.pnpm/@babel+traverse@7.26.4/node_modules/@babel/traverse/node_modules/.bin/parser b/node_modules/.pnpm/@babel+traverse@7.26.4/node_modules/@babel/traverse/node_modules/.bin/parser index 69710994..518ed2d2 100755 --- a/node_modules/.pnpm/@babel+traverse@7.26.4/node_modules/@babel/traverse/node_modules/.bin/parser +++ b/node_modules/.pnpm/@babel+traverse@7.26.4/node_modules/@babel/traverse/node_modules/.bin/parser @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@" diff --git a/node_modules/.pnpm/@eslint+eslintrc@3.2.0/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml b/node_modules/.pnpm/@eslint+eslintrc@3.2.0/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml index 9bd31cf6..b73be21f 100755 --- a/node_modules/.pnpm/@eslint+eslintrc@3.2.0/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml +++ b/node_modules/.pnpm/@eslint+eslintrc@3.2.0/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/js-yaml@4.1.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/js-yaml@4.1.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/js-yaml@4.1.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/js-yaml@4.1.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../js-yaml@4.1.0/node_modules/js-yaml/bin/js-yaml.js" "$@" diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/LICENSE b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/LICENSE deleted file mode 100644 index 883ee1f6..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Toru Nagashima - -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/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/README.md b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/README.md deleted file mode 100644 index 90552a94..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# @eslint-community/eslint-utils - -[![npm version](https://img.shields.io/npm/v/@eslint-community/eslint-utils.svg)](https://www.npmjs.com/package/@eslint-community/eslint-utils) -[![Downloads/month](https://img.shields.io/npm/dm/@eslint-community/eslint-utils.svg)](http://www.npmtrends.com/@eslint-community/eslint-utils) -[![Build Status](https://github.com/eslint-community/eslint-utils/workflows/CI/badge.svg)](https://github.com/eslint-community/eslint-utils/actions) -[![Coverage Status](https://codecov.io/gh/eslint-community/eslint-utils/branch/main/graph/badge.svg)](https://codecov.io/gh/eslint-community/eslint-utils) - -## 🏁 Goal - -This package provides utility functions and classes for make ESLint custom rules. - -For examples: - -- [`getStaticValue`](https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getstaticvalue) evaluates static value on AST. -- [`ReferenceTracker`](https://eslint-community.github.io/eslint-utils/api/scope-utils.html#referencetracker-class) checks the members of modules/globals as handling assignments and destructuring. - -## 📖 Usage - -See [documentation](https://eslint-community.github.io/eslint-utils). - -## 📰 Changelog - -See [releases](https://github.com/eslint-community/eslint-utils/releases). - -## ❤️ Contributing - -Welcome contributing! - -Please use GitHub's Issues/PRs. - -### Development Tools - -- `npm test` runs tests and measures coverage. -- `npm run clean` removes the coverage result of `npm test` command. -- `npm run coverage` shows the coverage result of the last `npm test` command. -- `npm run lint` runs ESLint. -- `npm run watch` runs tests on each file change. diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js deleted file mode 100644 index 7221c828..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js +++ /dev/null @@ -1,2059 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var eslintVisitorKeys = require('eslint-visitor-keys'); - -/** - * Get the innermost scope which contains a given location. - * @param {Scope} initialScope The initial scope to search. - * @param {Node} node The location to search. - * @returns {Scope} The innermost scope. - */ -function getInnermostScope(initialScope, node) { - const location = node.range[0]; - - let scope = initialScope; - let found = false; - do { - found = false; - for (const childScope of scope.childScopes) { - const range = childScope.block.range; - - if (range[0] <= location && location < range[1]) { - scope = childScope; - found = true; - break - } - } - } while (found) - - return scope -} - -/** - * Find the variable of a given name. - * @param {Scope} initialScope The scope to start finding. - * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node. - * @returns {Variable|null} The found variable or null. - */ -function findVariable(initialScope, nameOrNode) { - let name = ""; - let scope = initialScope; - - if (typeof nameOrNode === "string") { - name = nameOrNode; - } else { - name = nameOrNode.name; - scope = getInnermostScope(scope, nameOrNode); - } - - while (scope != null) { - const variable = scope.set.get(name); - if (variable != null) { - return variable - } - scope = scope.upper; - } - - return null -} - -/** - * Creates the negate function of the given function. - * @param {function(Token):boolean} f - The function to negate. - * @returns {function(Token):boolean} Negated function. - */ -function negate(f) { - return (token) => !f(token) -} - -/** - * Checks if the given token is a PunctuatorToken with the given value - * @param {Token} token - The token to check. - * @param {string} value - The value to check. - * @returns {boolean} `true` if the token is a PunctuatorToken with the given value. - */ -function isPunctuatorTokenWithValue(token, value) { - return token.type === "Punctuator" && token.value === value -} - -/** - * Checks if the given token is an arrow token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an arrow token. - */ -function isArrowToken(token) { - return isPunctuatorTokenWithValue(token, "=>") -} - -/** - * Checks if the given token is a comma token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a comma token. - */ -function isCommaToken(token) { - return isPunctuatorTokenWithValue(token, ",") -} - -/** - * Checks if the given token is a semicolon token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a semicolon token. - */ -function isSemicolonToken(token) { - return isPunctuatorTokenWithValue(token, ";") -} - -/** - * Checks if the given token is a colon token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a colon token. - */ -function isColonToken(token) { - return isPunctuatorTokenWithValue(token, ":") -} - -/** - * Checks if the given token is an opening parenthesis token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an opening parenthesis token. - */ -function isOpeningParenToken(token) { - return isPunctuatorTokenWithValue(token, "(") -} - -/** - * Checks if the given token is a closing parenthesis token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a closing parenthesis token. - */ -function isClosingParenToken(token) { - return isPunctuatorTokenWithValue(token, ")") -} - -/** - * Checks if the given token is an opening square bracket token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an opening square bracket token. - */ -function isOpeningBracketToken(token) { - return isPunctuatorTokenWithValue(token, "[") -} - -/** - * Checks if the given token is a closing square bracket token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a closing square bracket token. - */ -function isClosingBracketToken(token) { - return isPunctuatorTokenWithValue(token, "]") -} - -/** - * Checks if the given token is an opening brace token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an opening brace token. - */ -function isOpeningBraceToken(token) { - return isPunctuatorTokenWithValue(token, "{") -} - -/** - * Checks if the given token is a closing brace token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a closing brace token. - */ -function isClosingBraceToken(token) { - return isPunctuatorTokenWithValue(token, "}") -} - -/** - * Checks if the given token is a comment token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a comment token. - */ -function isCommentToken(token) { - return ["Block", "Line", "Shebang"].includes(token.type) -} - -const isNotArrowToken = negate(isArrowToken); -const isNotCommaToken = negate(isCommaToken); -const isNotSemicolonToken = negate(isSemicolonToken); -const isNotColonToken = negate(isColonToken); -const isNotOpeningParenToken = negate(isOpeningParenToken); -const isNotClosingParenToken = negate(isClosingParenToken); -const isNotOpeningBracketToken = negate(isOpeningBracketToken); -const isNotClosingBracketToken = negate(isClosingBracketToken); -const isNotOpeningBraceToken = negate(isOpeningBraceToken); -const isNotClosingBraceToken = negate(isClosingBraceToken); -const isNotCommentToken = negate(isCommentToken); - -/** - * Get the `(` token of the given function node. - * @param {Node} node - The function node to get. - * @param {SourceCode} sourceCode - The source code object to get tokens. - * @returns {Token} `(` token. - */ -function getOpeningParenOfParams(node, sourceCode) { - return node.id - ? sourceCode.getTokenAfter(node.id, isOpeningParenToken) - : sourceCode.getFirstToken(node, isOpeningParenToken) -} - -/** - * Get the location of the given function node for reporting. - * @param {Node} node - The function node to get. - * @param {SourceCode} sourceCode - The source code object to get tokens. - * @returns {string} The location of the function node for reporting. - */ -function getFunctionHeadLocation(node, sourceCode) { - const parent = node.parent; - let start = null; - let end = null; - - if (node.type === "ArrowFunctionExpression") { - const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken); - - start = arrowToken.loc.start; - end = arrowToken.loc.end; - } else if ( - parent.type === "Property" || - parent.type === "MethodDefinition" || - parent.type === "PropertyDefinition" - ) { - start = parent.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } else { - start = node.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } - - return { - start: { ...start }, - end: { ...end }, - } -} - -/* globals globalThis, global, self, window */ - -const globalObject = - typeof globalThis !== "undefined" - ? globalThis - : typeof self !== "undefined" - ? self - : typeof window !== "undefined" - ? window - : typeof global !== "undefined" - ? global - : {}; - -const builtinNames = Object.freeze( - new Set([ - "Array", - "ArrayBuffer", - "BigInt", - "BigInt64Array", - "BigUint64Array", - "Boolean", - "DataView", - "Date", - "decodeURI", - "decodeURIComponent", - "encodeURI", - "encodeURIComponent", - "escape", - "Float32Array", - "Float64Array", - "Function", - "Infinity", - "Int16Array", - "Int32Array", - "Int8Array", - "isFinite", - "isNaN", - "isPrototypeOf", - "JSON", - "Map", - "Math", - "NaN", - "Number", - "Object", - "parseFloat", - "parseInt", - "Promise", - "Proxy", - "Reflect", - "RegExp", - "Set", - "String", - "Symbol", - "Uint16Array", - "Uint32Array", - "Uint8Array", - "Uint8ClampedArray", - "undefined", - "unescape", - "WeakMap", - "WeakSet", - ]), -); -const callAllowed = new Set( - [ - Array.isArray, - Array.of, - Array.prototype.at, - Array.prototype.concat, - Array.prototype.entries, - Array.prototype.every, - Array.prototype.filter, - Array.prototype.find, - Array.prototype.findIndex, - Array.prototype.flat, - Array.prototype.includes, - Array.prototype.indexOf, - Array.prototype.join, - Array.prototype.keys, - Array.prototype.lastIndexOf, - Array.prototype.slice, - Array.prototype.some, - Array.prototype.toString, - Array.prototype.values, - typeof BigInt === "function" ? BigInt : undefined, - Boolean, - Date, - Date.parse, - decodeURI, - decodeURIComponent, - encodeURI, - encodeURIComponent, - escape, - isFinite, - isNaN, - isPrototypeOf, - Map, - Map.prototype.entries, - Map.prototype.get, - Map.prototype.has, - Map.prototype.keys, - Map.prototype.values, - ...Object.getOwnPropertyNames(Math) - .filter((k) => k !== "random") - .map((k) => Math[k]) - .filter((f) => typeof f === "function"), - Number, - Number.isFinite, - Number.isNaN, - Number.parseFloat, - Number.parseInt, - Number.prototype.toExponential, - Number.prototype.toFixed, - Number.prototype.toPrecision, - Number.prototype.toString, - Object, - Object.entries, - Object.is, - Object.isExtensible, - Object.isFrozen, - Object.isSealed, - Object.keys, - Object.values, - parseFloat, - parseInt, - RegExp, - Set, - Set.prototype.entries, - Set.prototype.has, - Set.prototype.keys, - Set.prototype.values, - String, - String.fromCharCode, - String.fromCodePoint, - String.raw, - String.prototype.at, - String.prototype.charAt, - String.prototype.charCodeAt, - String.prototype.codePointAt, - String.prototype.concat, - String.prototype.endsWith, - String.prototype.includes, - String.prototype.indexOf, - String.prototype.lastIndexOf, - String.prototype.normalize, - String.prototype.padEnd, - String.prototype.padStart, - String.prototype.slice, - String.prototype.startsWith, - String.prototype.substr, - String.prototype.substring, - String.prototype.toLowerCase, - String.prototype.toString, - String.prototype.toUpperCase, - String.prototype.trim, - String.prototype.trimEnd, - String.prototype.trimLeft, - String.prototype.trimRight, - String.prototype.trimStart, - Symbol.for, - Symbol.keyFor, - unescape, - ].filter((f) => typeof f === "function"), -); -const callPassThrough = new Set([ - Object.freeze, - Object.preventExtensions, - Object.seal, -]); - -/** @type {ReadonlyArray]>} */ -const getterAllowed = [ - [Map, new Set(["size"])], - [ - RegExp, - new Set([ - "dotAll", - "flags", - "global", - "hasIndices", - "ignoreCase", - "multiline", - "source", - "sticky", - "unicode", - ]), - ], - [Set, new Set(["size"])], -]; - -/** - * Get the property descriptor. - * @param {object} object The object to get. - * @param {string|number|symbol} name The property name to get. - */ -function getPropertyDescriptor(object, name) { - let x = object; - while ((typeof x === "object" || typeof x === "function") && x !== null) { - const d = Object.getOwnPropertyDescriptor(x, name); - if (d) { - return d - } - x = Object.getPrototypeOf(x); - } - return null -} - -/** - * Check if a property is getter or not. - * @param {object} object The object to check. - * @param {string|number|symbol} name The property name to check. - */ -function isGetter(object, name) { - const d = getPropertyDescriptor(object, name); - return d != null && d.get != null -} - -/** - * Get the element values of a given node list. - * @param {Node[]} nodeList The node list to get values. - * @param {Scope|undefined} initialScope The initial scope to find variables. - * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null. - */ -function getElementValues(nodeList, initialScope) { - const valueList = []; - - for (let i = 0; i < nodeList.length; ++i) { - const elementNode = nodeList[i]; - - if (elementNode == null) { - valueList.length = i + 1; - } else if (elementNode.type === "SpreadElement") { - const argument = getStaticValueR(elementNode.argument, initialScope); - if (argument == null) { - return null - } - valueList.push(...argument.value); - } else { - const element = getStaticValueR(elementNode, initialScope); - if (element == null) { - return null - } - valueList.push(element.value); - } - } - - return valueList -} - -/** - * Returns whether the given variable is never written to after initialization. - * @param {import("eslint").Scope.Variable} variable - * @returns {boolean} - */ -function isEffectivelyConst(variable) { - const refs = variable.references; - - const inits = refs.filter((r) => r.init).length; - const reads = refs.filter((r) => r.isReadOnly()).length; - if (inits === 1 && reads + inits === refs.length) { - // there is only one init and all other references only read - return true - } - return false -} - -const operations = Object.freeze({ - ArrayExpression(node, initialScope) { - const elements = getElementValues(node.elements, initialScope); - return elements != null ? { value: elements } : null - }, - - AssignmentExpression(node, initialScope) { - if (node.operator === "=") { - return getStaticValueR(node.right, initialScope) - } - return null - }, - - //eslint-disable-next-line complexity - BinaryExpression(node, initialScope) { - if (node.operator === "in" || node.operator === "instanceof") { - // Not supported. - return null - } - - const left = getStaticValueR(node.left, initialScope); - const right = getStaticValueR(node.right, initialScope); - if (left != null && right != null) { - switch (node.operator) { - case "==": - return { value: left.value == right.value } //eslint-disable-line eqeqeq - case "!=": - return { value: left.value != right.value } //eslint-disable-line eqeqeq - case "===": - return { value: left.value === right.value } - case "!==": - return { value: left.value !== right.value } - case "<": - return { value: left.value < right.value } - case "<=": - return { value: left.value <= right.value } - case ">": - return { value: left.value > right.value } - case ">=": - return { value: left.value >= right.value } - case "<<": - return { value: left.value << right.value } - case ">>": - return { value: left.value >> right.value } - case ">>>": - return { value: left.value >>> right.value } - case "+": - return { value: left.value + right.value } - case "-": - return { value: left.value - right.value } - case "*": - return { value: left.value * right.value } - case "/": - return { value: left.value / right.value } - case "%": - return { value: left.value % right.value } - case "**": - return { value: left.value ** right.value } - case "|": - return { value: left.value | right.value } - case "^": - return { value: left.value ^ right.value } - case "&": - return { value: left.value & right.value } - - // no default - } - } - - return null - }, - - CallExpression(node, initialScope) { - const calleeNode = node.callee; - const args = getElementValues(node.arguments, initialScope); - - if (args != null) { - if (calleeNode.type === "MemberExpression") { - if (calleeNode.property.type === "PrivateIdentifier") { - return null - } - const object = getStaticValueR(calleeNode.object, initialScope); - if (object != null) { - if ( - object.value == null && - (object.optional || node.optional) - ) { - return { value: undefined, optional: true } - } - const property = getStaticPropertyNameValue( - calleeNode, - initialScope, - ); - - if (property != null) { - const receiver = object.value; - const methodName = property.value; - if (callAllowed.has(receiver[methodName])) { - return { value: receiver[methodName](...args) } - } - if (callPassThrough.has(receiver[methodName])) { - return { value: args[0] } - } - } - } - } else { - const callee = getStaticValueR(calleeNode, initialScope); - if (callee != null) { - if (callee.value == null && node.optional) { - return { value: undefined, optional: true } - } - const func = callee.value; - if (callAllowed.has(func)) { - return { value: func(...args) } - } - if (callPassThrough.has(func)) { - return { value: args[0] } - } - } - } - } - - return null - }, - - ConditionalExpression(node, initialScope) { - const test = getStaticValueR(node.test, initialScope); - if (test != null) { - return test.value - ? getStaticValueR(node.consequent, initialScope) - : getStaticValueR(node.alternate, initialScope) - } - return null - }, - - ExpressionStatement(node, initialScope) { - return getStaticValueR(node.expression, initialScope) - }, - - Identifier(node, initialScope) { - if (initialScope != null) { - const variable = findVariable(initialScope, node); - - // Built-in globals. - if ( - variable != null && - variable.defs.length === 0 && - builtinNames.has(variable.name) && - variable.name in globalObject - ) { - return { value: globalObject[variable.name] } - } - - // Constants. - if (variable != null && variable.defs.length === 1) { - const def = variable.defs[0]; - if ( - def.parent && - def.type === "Variable" && - (def.parent.kind === "const" || - isEffectivelyConst(variable)) && - // TODO(mysticatea): don't support destructuring here. - def.node.id.type === "Identifier" - ) { - return getStaticValueR(def.node.init, initialScope) - } - } - } - return null - }, - - Literal(node) { - //istanbul ignore if : this is implementation-specific behavior. - if ((node.regex != null || node.bigint != null) && node.value == null) { - // It was a RegExp/BigInt literal, but Node.js didn't support it. - return null - } - return { value: node.value } - }, - - LogicalExpression(node, initialScope) { - const left = getStaticValueR(node.left, initialScope); - if (left != null) { - if ( - (node.operator === "||" && Boolean(left.value) === true) || - (node.operator === "&&" && Boolean(left.value) === false) || - (node.operator === "??" && left.value != null) - ) { - return left - } - - const right = getStaticValueR(node.right, initialScope); - if (right != null) { - return right - } - } - - return null - }, - - MemberExpression(node, initialScope) { - if (node.property.type === "PrivateIdentifier") { - return null - } - const object = getStaticValueR(node.object, initialScope); - if (object != null) { - if (object.value == null && (object.optional || node.optional)) { - return { value: undefined, optional: true } - } - const property = getStaticPropertyNameValue(node, initialScope); - - if (property != null) { - if (!isGetter(object.value, property.value)) { - return { value: object.value[property.value] } - } - - for (const [classFn, allowed] of getterAllowed) { - if ( - object.value instanceof classFn && - allowed.has(property.value) - ) { - return { value: object.value[property.value] } - } - } - } - } - return null - }, - - ChainExpression(node, initialScope) { - const expression = getStaticValueR(node.expression, initialScope); - if (expression != null) { - return { value: expression.value } - } - return null - }, - - NewExpression(node, initialScope) { - const callee = getStaticValueR(node.callee, initialScope); - const args = getElementValues(node.arguments, initialScope); - - if (callee != null && args != null) { - const Func = callee.value; - if (callAllowed.has(Func)) { - return { value: new Func(...args) } - } - } - - return null - }, - - ObjectExpression(node, initialScope) { - const object = {}; - - for (const propertyNode of node.properties) { - if (propertyNode.type === "Property") { - if (propertyNode.kind !== "init") { - return null - } - const key = getStaticPropertyNameValue( - propertyNode, - initialScope, - ); - const value = getStaticValueR(propertyNode.value, initialScope); - if (key == null || value == null) { - return null - } - object[key.value] = value.value; - } else if ( - propertyNode.type === "SpreadElement" || - propertyNode.type === "ExperimentalSpreadProperty" - ) { - const argument = getStaticValueR( - propertyNode.argument, - initialScope, - ); - if (argument == null) { - return null - } - Object.assign(object, argument.value); - } else { - return null - } - } - - return { value: object } - }, - - SequenceExpression(node, initialScope) { - const last = node.expressions[node.expressions.length - 1]; - return getStaticValueR(last, initialScope) - }, - - TaggedTemplateExpression(node, initialScope) { - const tag = getStaticValueR(node.tag, initialScope); - const expressions = getElementValues( - node.quasi.expressions, - initialScope, - ); - - if (tag != null && expressions != null) { - const func = tag.value; - const strings = node.quasi.quasis.map((q) => q.value.cooked); - strings.raw = node.quasi.quasis.map((q) => q.value.raw); - - if (func === String.raw) { - return { value: func(strings, ...expressions) } - } - } - - return null - }, - - TemplateLiteral(node, initialScope) { - const expressions = getElementValues(node.expressions, initialScope); - if (expressions != null) { - let value = node.quasis[0].value.cooked; - for (let i = 0; i < expressions.length; ++i) { - value += expressions[i]; - value += node.quasis[i + 1].value.cooked; - } - return { value } - } - return null - }, - - UnaryExpression(node, initialScope) { - if (node.operator === "delete") { - // Not supported. - return null - } - if (node.operator === "void") { - return { value: undefined } - } - - const arg = getStaticValueR(node.argument, initialScope); - if (arg != null) { - switch (node.operator) { - case "-": - return { value: -arg.value } - case "+": - return { value: +arg.value } //eslint-disable-line no-implicit-coercion - case "!": - return { value: !arg.value } - case "~": - return { value: ~arg.value } - case "typeof": - return { value: typeof arg.value } - - // no default - } - } - - return null - }, -}); - -/** - * Get the value of a given node if it's a static value. - * @param {Node} node The node to get. - * @param {Scope|undefined} initialScope The scope to start finding variable. - * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. - */ -function getStaticValueR(node, initialScope) { - if (node != null && Object.hasOwnProperty.call(operations, node.type)) { - return operations[node.type](node, initialScope) - } - return null -} - -/** - * Get the static value of property name from a MemberExpression node or a Property node. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. - * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`. - */ -function getStaticPropertyNameValue(node, initialScope) { - const nameNode = node.type === "Property" ? node.key : node.property; - - if (node.computed) { - return getStaticValueR(nameNode, initialScope) - } - - if (nameNode.type === "Identifier") { - return { value: nameNode.name } - } - - if (nameNode.type === "Literal") { - if (nameNode.bigint) { - return { value: nameNode.bigint } - } - return { value: String(nameNode.value) } - } - - return null -} - -/** - * Get the value of a given node if it's a static value. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible. - * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. - */ -function getStaticValue(node, initialScope = null) { - try { - return getStaticValueR(node, initialScope) - } catch (_error) { - return null - } -} - -/** - * Get the value of a given node if it's a literal or a template literal. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant. - * @returns {string|null} The value of the node, or `null`. - */ -function getStringIfConstant(node, initialScope = null) { - // Handle the literals that the platform doesn't support natively. - if (node && node.type === "Literal" && node.value === null) { - if (node.regex) { - return `/${node.regex.pattern}/${node.regex.flags}` - } - if (node.bigint) { - return node.bigint - } - } - - const evaluated = getStaticValue(node, initialScope); - return evaluated && String(evaluated.value) -} - -/** - * Get the property name from a MemberExpression node or a Property node. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. - * @returns {string|null} The property name of the node. - */ -function getPropertyName(node, initialScope) { - switch (node.type) { - case "MemberExpression": - if (node.computed) { - return getStringIfConstant(node.property, initialScope) - } - if (node.property.type === "PrivateIdentifier") { - return null - } - return node.property.name - - case "Property": - case "MethodDefinition": - case "PropertyDefinition": - if (node.computed) { - return getStringIfConstant(node.key, initialScope) - } - if (node.key.type === "Literal") { - return String(node.key.value) - } - if (node.key.type === "PrivateIdentifier") { - return null - } - return node.key.name - - // no default - } - - return null -} - -/** - * Get the name and kind of the given function node. - * @param {ASTNode} node - The function node to get. - * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys. - * @returns {string} The name and kind of the function node. - */ -// eslint-disable-next-line complexity -function getFunctionNameWithKind(node, sourceCode) { - const parent = node.parent; - const tokens = []; - const isObjectMethod = parent.type === "Property" && parent.value === node; - const isClassMethod = - parent.type === "MethodDefinition" && parent.value === node; - const isClassFieldMethod = - parent.type === "PropertyDefinition" && parent.value === node; - - // Modifiers. - if (isClassMethod || isClassFieldMethod) { - if (parent.static) { - tokens.push("static"); - } - if (parent.key.type === "PrivateIdentifier") { - tokens.push("private"); - } - } - if (node.async) { - tokens.push("async"); - } - if (node.generator) { - tokens.push("generator"); - } - - // Kinds. - if (isObjectMethod || isClassMethod) { - if (parent.kind === "constructor") { - return "constructor" - } - if (parent.kind === "get") { - tokens.push("getter"); - } else if (parent.kind === "set") { - tokens.push("setter"); - } else { - tokens.push("method"); - } - } else if (isClassFieldMethod) { - tokens.push("method"); - } else { - if (node.type === "ArrowFunctionExpression") { - tokens.push("arrow"); - } - tokens.push("function"); - } - - // Names. - if (isObjectMethod || isClassMethod || isClassFieldMethod) { - if (parent.key.type === "PrivateIdentifier") { - tokens.push(`#${parent.key.name}`); - } else { - const name = getPropertyName(parent); - if (name) { - tokens.push(`'${name}'`); - } else if (sourceCode) { - const keyText = sourceCode.getText(parent.key); - if (!keyText.includes("\n")) { - tokens.push(`[${keyText}]`); - } - } - } - } else if (node.id) { - tokens.push(`'${node.id.name}'`); - } else if ( - parent.type === "VariableDeclarator" && - parent.id && - parent.id.type === "Identifier" - ) { - tokens.push(`'${parent.id.name}'`); - } else if ( - (parent.type === "AssignmentExpression" || - parent.type === "AssignmentPattern") && - parent.left && - parent.left.type === "Identifier" - ) { - tokens.push(`'${parent.left.name}'`); - } else if ( - parent.type === "ExportDefaultDeclaration" && - parent.declaration === node - ) { - tokens.push("'default'"); - } - - return tokens.join(" ") -} - -const typeConversionBinaryOps = Object.freeze( - new Set([ - "==", - "!=", - "<", - "<=", - ">", - ">=", - "<<", - ">>", - ">>>", - "+", - "-", - "*", - "/", - "%", - "|", - "^", - "&", - "in", - ]), -); -const typeConversionUnaryOps = Object.freeze(new Set(["-", "+", "!", "~"])); - -/** - * Check whether the given value is an ASTNode or not. - * @param {any} x The value to check. - * @returns {boolean} `true` if the value is an ASTNode. - */ -function isNode(x) { - return x !== null && typeof x === "object" && typeof x.type === "string" -} - -const visitor = Object.freeze( - Object.assign(Object.create(null), { - $visit(node, options, visitorKeys) { - const { type } = node; - - if (typeof this[type] === "function") { - return this[type](node, options, visitorKeys) - } - - return this.$visitChildren(node, options, visitorKeys) - }, - - $visitChildren(node, options, visitorKeys) { - const { type } = node; - - for (const key of visitorKeys[type] || eslintVisitorKeys.getKeys(node)) { - const value = node[key]; - - if (Array.isArray(value)) { - for (const element of value) { - if ( - isNode(element) && - this.$visit(element, options, visitorKeys) - ) { - return true - } - } - } else if ( - isNode(value) && - this.$visit(value, options, visitorKeys) - ) { - return true - } - } - - return false - }, - - ArrowFunctionExpression() { - return false - }, - AssignmentExpression() { - return true - }, - AwaitExpression() { - return true - }, - BinaryExpression(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - typeConversionBinaryOps.has(node.operator) && - (node.left.type !== "Literal" || node.right.type !== "Literal") - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - CallExpression() { - return true - }, - FunctionExpression() { - return false - }, - ImportExpression() { - return true - }, - MemberExpression(node, options, visitorKeys) { - if (options.considerGetters) { - return true - } - if ( - options.considerImplicitTypeConversion && - node.computed && - node.property.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - MethodDefinition(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - node.computed && - node.key.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - NewExpression() { - return true - }, - Property(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - node.computed && - node.key.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - PropertyDefinition(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - node.computed && - node.key.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - UnaryExpression(node, options, visitorKeys) { - if (node.operator === "delete") { - return true - } - if ( - options.considerImplicitTypeConversion && - typeConversionUnaryOps.has(node.operator) && - node.argument.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - UpdateExpression() { - return true - }, - YieldExpression() { - return true - }, - }), -); - -/** - * Check whether a given node has any side effect or not. - * @param {Node} node The node to get. - * @param {SourceCode} sourceCode The source code object. - * @param {object} [options] The option object. - * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects. - * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects. - * @param {object} [options.visitorKeys=KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`. - * @returns {boolean} `true` if the node has a certain side effect. - */ -function hasSideEffect( - node, - sourceCode, - { considerGetters = false, considerImplicitTypeConversion = false } = {}, -) { - return visitor.$visit( - node, - { considerGetters, considerImplicitTypeConversion }, - sourceCode.visitorKeys || eslintVisitorKeys.KEYS, - ) -} - -/** - * Get the left parenthesis of the parent node syntax if it exists. - * E.g., `if (a) {}` then the `(`. - * @param {Node} node The AST node to check. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {Token|null} The left parenthesis of the parent node syntax - */ -function getParentSyntaxParen(node, sourceCode) { - const parent = node.parent; - - switch (parent.type) { - case "CallExpression": - case "NewExpression": - if (parent.arguments.length === 1 && parent.arguments[0] === node) { - return sourceCode.getTokenAfter( - parent.callee, - isOpeningParenToken, - ) - } - return null - - case "DoWhileStatement": - if (parent.test === node) { - return sourceCode.getTokenAfter( - parent.body, - isOpeningParenToken, - ) - } - return null - - case "IfStatement": - case "WhileStatement": - if (parent.test === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - case "ImportExpression": - if (parent.source === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - case "SwitchStatement": - if (parent.discriminant === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - case "WithStatement": - if (parent.object === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - default: - return null - } -} - -/** - * Check whether a given node is parenthesized or not. - * @param {number} times The number of parantheses. - * @param {Node} node The AST node to check. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {boolean} `true` if the node is parenthesized the given times. - */ -/** - * Check whether a given node is parenthesized or not. - * @param {Node} node The AST node to check. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {boolean} `true` if the node is parenthesized. - */ -function isParenthesized( - timesOrNode, - nodeOrSourceCode, - optionalSourceCode, -) { - let times, node, sourceCode, maybeLeftParen, maybeRightParen; - if (typeof timesOrNode === "number") { - times = timesOrNode | 0; - node = nodeOrSourceCode; - sourceCode = optionalSourceCode; - if (!(times >= 1)) { - throw new TypeError("'times' should be a positive integer.") - } - } else { - times = 1; - node = timesOrNode; - sourceCode = nodeOrSourceCode; - } - - if ( - node == null || - // `Program` can't be parenthesized - node.parent == null || - // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}` - (node.parent.type === "CatchClause" && node.parent.param === node) - ) { - return false - } - - maybeLeftParen = maybeRightParen = node; - do { - maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen); - maybeRightParen = sourceCode.getTokenAfter(maybeRightParen); - } while ( - maybeLeftParen != null && - maybeRightParen != null && - isOpeningParenToken(maybeLeftParen) && - isClosingParenToken(maybeRightParen) && - // Avoid false positive such as `if (a) {}` - maybeLeftParen !== getParentSyntaxParen(node, sourceCode) && - --times > 0 - ) - - return times === 0 -} - -/** - * @author Toru Nagashima - * See LICENSE file in root directory for full license. - */ - -const placeholder = /\$(?:[$&`']|[1-9][0-9]?)/gu; - -/** @type {WeakMap} */ -const internal = new WeakMap(); - -/** - * Check whether a given character is escaped or not. - * @param {string} str The string to check. - * @param {number} index The location of the character to check. - * @returns {boolean} `true` if the character is escaped. - */ -function isEscaped(str, index) { - let escaped = false; - for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) { - escaped = !escaped; - } - return escaped -} - -/** - * Replace a given string by a given matcher. - * @param {PatternMatcher} matcher The pattern matcher. - * @param {string} str The string to be replaced. - * @param {string} replacement The new substring to replace each matched part. - * @returns {string} The replaced string. - */ -function replaceS(matcher, str, replacement) { - const chunks = []; - let index = 0; - - /** @type {RegExpExecArray} */ - let match = null; - - /** - * @param {string} key The placeholder. - * @returns {string} The replaced string. - */ - function replacer(key) { - switch (key) { - case "$$": - return "$" - case "$&": - return match[0] - case "$`": - return str.slice(0, match.index) - case "$'": - return str.slice(match.index + match[0].length) - default: { - const i = key.slice(1); - if (i in match) { - return match[i] - } - return key - } - } - } - - for (match of matcher.execAll(str)) { - chunks.push(str.slice(index, match.index)); - chunks.push(replacement.replace(placeholder, replacer)); - index = match.index + match[0].length; - } - chunks.push(str.slice(index)); - - return chunks.join("") -} - -/** - * Replace a given string by a given matcher. - * @param {PatternMatcher} matcher The pattern matcher. - * @param {string} str The string to be replaced. - * @param {(...strs[])=>string} replace The function to replace each matched part. - * @returns {string} The replaced string. - */ -function replaceF(matcher, str, replace) { - const chunks = []; - let index = 0; - - for (const match of matcher.execAll(str)) { - chunks.push(str.slice(index, match.index)); - chunks.push(String(replace(...match, match.index, match.input))); - index = match.index + match[0].length; - } - chunks.push(str.slice(index)); - - return chunks.join("") -} - -/** - * The class to find patterns as considering escape sequences. - */ -class PatternMatcher { - /** - * Initialize this matcher. - * @param {RegExp} pattern The pattern to match. - * @param {{escaped:boolean}} options The options. - */ - constructor(pattern, { escaped = false } = {}) { - if (!(pattern instanceof RegExp)) { - throw new TypeError("'pattern' should be a RegExp instance.") - } - if (!pattern.flags.includes("g")) { - throw new Error("'pattern' should contains 'g' flag.") - } - - internal.set(this, { - pattern: new RegExp(pattern.source, pattern.flags), - escaped: Boolean(escaped), - }); - } - - /** - * Find the pattern in a given string. - * @param {string} str The string to find. - * @returns {IterableIterator} The iterator which iterate the matched information. - */ - *execAll(str) { - const { pattern, escaped } = internal.get(this); - let match = null; - let lastIndex = 0; - - pattern.lastIndex = 0; - while ((match = pattern.exec(str)) != null) { - if (escaped || !isEscaped(str, match.index)) { - lastIndex = pattern.lastIndex; - yield match; - pattern.lastIndex = lastIndex; - } - } - } - - /** - * Check whether the pattern is found in a given string. - * @param {string} str The string to check. - * @returns {boolean} `true` if the pattern was found in the string. - */ - test(str) { - const it = this.execAll(str); - const ret = it.next(); - return !ret.done - } - - /** - * Replace a given string. - * @param {string} str The string to be replaced. - * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`. - * @returns {string} The replaced string. - */ - [Symbol.replace](str, replacer) { - return typeof replacer === "function" - ? replaceF(this, String(str), replacer) - : replaceS(this, String(str), String(replacer)) - } -} - -const IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u; -const has = Function.call.bind(Object.hasOwnProperty); - -const READ = Symbol("read"); -const CALL = Symbol("call"); -const CONSTRUCT = Symbol("construct"); -const ESM = Symbol("esm"); - -const requireCall = { require: { [CALL]: true } }; - -/** - * Check whether a given variable is modified or not. - * @param {Variable} variable The variable to check. - * @returns {boolean} `true` if the variable is modified. - */ -function isModifiedGlobal(variable) { - return ( - variable == null || - variable.defs.length !== 0 || - variable.references.some((r) => r.isWrite()) - ) -} - -/** - * Check if the value of a given node is passed through to the parent syntax as-is. - * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through. - * @param {Node} node A node to check. - * @returns {boolean} `true` if the node is passed through. - */ -function isPassThrough(node) { - const parent = node.parent; - - switch (parent && parent.type) { - case "ConditionalExpression": - return parent.consequent === node || parent.alternate === node - case "LogicalExpression": - return true - case "SequenceExpression": - return parent.expressions[parent.expressions.length - 1] === node - case "ChainExpression": - return true - - default: - return false - } -} - -/** - * The reference tracker. - */ -class ReferenceTracker { - /** - * Initialize this tracker. - * @param {Scope} globalScope The global scope. - * @param {object} [options] The options. - * @param {"legacy"|"strict"} [options.mode="strict"] The mode to determine the ImportDeclaration's behavior for CJS modules. - * @param {string[]} [options.globalObjectNames=["global","globalThis","self","window"]] The variable names for Global Object. - */ - constructor( - globalScope, - { - mode = "strict", - globalObjectNames = ["global", "globalThis", "self", "window"], - } = {}, - ) { - this.variableStack = []; - this.globalScope = globalScope; - this.mode = mode; - this.globalObjectNames = globalObjectNames.slice(0); - } - - /** - * Iterate the references of global variables. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *iterateGlobalReferences(traceMap) { - for (const key of Object.keys(traceMap)) { - const nextTraceMap = traceMap[key]; - const path = [key]; - const variable = this.globalScope.set.get(key); - - if (isModifiedGlobal(variable)) { - continue - } - - yield* this._iterateVariableReferences( - variable, - path, - nextTraceMap, - true, - ); - } - - for (const key of this.globalObjectNames) { - const path = []; - const variable = this.globalScope.set.get(key); - - if (isModifiedGlobal(variable)) { - continue - } - - yield* this._iterateVariableReferences( - variable, - path, - traceMap, - false, - ); - } - } - - /** - * Iterate the references of CommonJS modules. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *iterateCjsReferences(traceMap) { - for (const { node } of this.iterateGlobalReferences(requireCall)) { - const key = getStringIfConstant(node.arguments[0]); - if (key == null || !has(traceMap, key)) { - continue - } - - const nextTraceMap = traceMap[key]; - const path = [key]; - - if (nextTraceMap[READ]) { - yield { - node, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iteratePropertyReferences(node, path, nextTraceMap); - } - } - - /** - * Iterate the references of ES modules. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *iterateEsmReferences(traceMap) { - const programNode = this.globalScope.block; - - for (const node of programNode.body) { - if (!IMPORT_TYPE.test(node.type) || node.source == null) { - continue - } - const moduleId = node.source.value; - - if (!has(traceMap, moduleId)) { - continue - } - const nextTraceMap = traceMap[moduleId]; - const path = [moduleId]; - - if (nextTraceMap[READ]) { - yield { node, path, type: READ, info: nextTraceMap[READ] }; - } - - if (node.type === "ExportAllDeclaration") { - for (const key of Object.keys(nextTraceMap)) { - const exportTraceMap = nextTraceMap[key]; - if (exportTraceMap[READ]) { - yield { - node, - path: path.concat(key), - type: READ, - info: exportTraceMap[READ], - }; - } - } - } else { - for (const specifier of node.specifiers) { - const esm = has(nextTraceMap, ESM); - const it = this._iterateImportReferences( - specifier, - path, - esm - ? nextTraceMap - : this.mode === "legacy" - ? { default: nextTraceMap, ...nextTraceMap } - : { default: nextTraceMap }, - ); - - if (esm) { - yield* it; - } else { - for (const report of it) { - report.path = report.path.filter(exceptDefault); - if ( - report.path.length >= 2 || - report.type !== READ - ) { - yield report; - } - } - } - } - } - } - } - - /** - * Iterate the references for a given variable. - * @param {Variable} variable The variable to iterate that references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @param {boolean} shouldReport = The flag to report those references. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *_iterateVariableReferences(variable, path, traceMap, shouldReport) { - if (this.variableStack.includes(variable)) { - return - } - this.variableStack.push(variable); - try { - for (const reference of variable.references) { - if (!reference.isRead()) { - continue - } - const node = reference.identifier; - - if (shouldReport && traceMap[READ]) { - yield { node, path, type: READ, info: traceMap[READ] }; - } - yield* this._iteratePropertyReferences(node, path, traceMap); - } - } finally { - this.variableStack.pop(); - } - } - - /** - * Iterate the references for a given AST node. - * @param rootNode The AST node to iterate references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - //eslint-disable-next-line complexity - *_iteratePropertyReferences(rootNode, path, traceMap) { - let node = rootNode; - while (isPassThrough(node)) { - node = node.parent; - } - - const parent = node.parent; - if (parent.type === "MemberExpression") { - if (parent.object === node) { - const key = getPropertyName(parent); - if (key == null || !has(traceMap, key)) { - return - } - - path = path.concat(key); //eslint-disable-line no-param-reassign - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: parent, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iteratePropertyReferences( - parent, - path, - nextTraceMap, - ); - } - return - } - if (parent.type === "CallExpression") { - if (parent.callee === node && traceMap[CALL]) { - yield { node: parent, path, type: CALL, info: traceMap[CALL] }; - } - return - } - if (parent.type === "NewExpression") { - if (parent.callee === node && traceMap[CONSTRUCT]) { - yield { - node: parent, - path, - type: CONSTRUCT, - info: traceMap[CONSTRUCT], - }; - } - return - } - if (parent.type === "AssignmentExpression") { - if (parent.right === node) { - yield* this._iterateLhsReferences(parent.left, path, traceMap); - yield* this._iteratePropertyReferences(parent, path, traceMap); - } - return - } - if (parent.type === "AssignmentPattern") { - if (parent.right === node) { - yield* this._iterateLhsReferences(parent.left, path, traceMap); - } - return - } - if (parent.type === "VariableDeclarator") { - if (parent.init === node) { - yield* this._iterateLhsReferences(parent.id, path, traceMap); - } - } - } - - /** - * Iterate the references for a given Pattern node. - * @param {Node} patternNode The Pattern node to iterate references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *_iterateLhsReferences(patternNode, path, traceMap) { - if (patternNode.type === "Identifier") { - const variable = findVariable(this.globalScope, patternNode); - if (variable != null) { - yield* this._iterateVariableReferences( - variable, - path, - traceMap, - false, - ); - } - return - } - if (patternNode.type === "ObjectPattern") { - for (const property of patternNode.properties) { - const key = getPropertyName(property); - - if (key == null || !has(traceMap, key)) { - continue - } - - const nextPath = path.concat(key); - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: property, - path: nextPath, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iterateLhsReferences( - property.value, - nextPath, - nextTraceMap, - ); - } - return - } - if (patternNode.type === "AssignmentPattern") { - yield* this._iterateLhsReferences(patternNode.left, path, traceMap); - } - } - - /** - * Iterate the references for a given ModuleSpecifier node. - * @param {Node} specifierNode The ModuleSpecifier node to iterate references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *_iterateImportReferences(specifierNode, path, traceMap) { - const type = specifierNode.type; - - if (type === "ImportSpecifier" || type === "ImportDefaultSpecifier") { - const key = - type === "ImportDefaultSpecifier" - ? "default" - : specifierNode.imported.name; - if (!has(traceMap, key)) { - return - } - - path = path.concat(key); //eslint-disable-line no-param-reassign - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: specifierNode, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iterateVariableReferences( - findVariable(this.globalScope, specifierNode.local), - path, - nextTraceMap, - false, - ); - - return - } - - if (type === "ImportNamespaceSpecifier") { - yield* this._iterateVariableReferences( - findVariable(this.globalScope, specifierNode.local), - path, - traceMap, - false, - ); - return - } - - if (type === "ExportSpecifier") { - const key = specifierNode.local.name; - if (!has(traceMap, key)) { - return - } - - path = path.concat(key); //eslint-disable-line no-param-reassign - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: specifierNode, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - } - } -} - -ReferenceTracker.READ = READ; -ReferenceTracker.CALL = CALL; -ReferenceTracker.CONSTRUCT = CONSTRUCT; -ReferenceTracker.ESM = ESM; - -/** - * This is a predicate function for Array#filter. - * @param {string} name A name part. - * @param {number} index The index of the name. - * @returns {boolean} `false` if it's default. - */ -function exceptDefault(name, index) { - return !(index === 1 && name === "default") -} - -var index = { - CALL, - CONSTRUCT, - ESM, - findVariable, - getFunctionHeadLocation, - getFunctionNameWithKind, - getInnermostScope, - getPropertyName, - getStaticValue, - getStringIfConstant, - hasSideEffect, - isArrowToken, - isClosingBraceToken, - isClosingBracketToken, - isClosingParenToken, - isColonToken, - isCommaToken, - isCommentToken, - isNotArrowToken, - isNotClosingBraceToken, - isNotClosingBracketToken, - isNotClosingParenToken, - isNotColonToken, - isNotCommaToken, - isNotCommentToken, - isNotOpeningBraceToken, - isNotOpeningBracketToken, - isNotOpeningParenToken, - isNotSemicolonToken, - isOpeningBraceToken, - isOpeningBracketToken, - isOpeningParenToken, - isParenthesized, - isSemicolonToken, - PatternMatcher, - READ, - ReferenceTracker, -}; - -exports.CALL = CALL; -exports.CONSTRUCT = CONSTRUCT; -exports.ESM = ESM; -exports.PatternMatcher = PatternMatcher; -exports.READ = READ; -exports.ReferenceTracker = ReferenceTracker; -exports["default"] = index; -exports.findVariable = findVariable; -exports.getFunctionHeadLocation = getFunctionHeadLocation; -exports.getFunctionNameWithKind = getFunctionNameWithKind; -exports.getInnermostScope = getInnermostScope; -exports.getPropertyName = getPropertyName; -exports.getStaticValue = getStaticValue; -exports.getStringIfConstant = getStringIfConstant; -exports.hasSideEffect = hasSideEffect; -exports.isArrowToken = isArrowToken; -exports.isClosingBraceToken = isClosingBraceToken; -exports.isClosingBracketToken = isClosingBracketToken; -exports.isClosingParenToken = isClosingParenToken; -exports.isColonToken = isColonToken; -exports.isCommaToken = isCommaToken; -exports.isCommentToken = isCommentToken; -exports.isNotArrowToken = isNotArrowToken; -exports.isNotClosingBraceToken = isNotClosingBraceToken; -exports.isNotClosingBracketToken = isNotClosingBracketToken; -exports.isNotClosingParenToken = isNotClosingParenToken; -exports.isNotColonToken = isNotColonToken; -exports.isNotCommaToken = isNotCommaToken; -exports.isNotCommentToken = isNotCommentToken; -exports.isNotOpeningBraceToken = isNotOpeningBraceToken; -exports.isNotOpeningBracketToken = isNotOpeningBracketToken; -exports.isNotOpeningParenToken = isNotOpeningParenToken; -exports.isNotSemicolonToken = isNotSemicolonToken; -exports.isOpeningBraceToken = isOpeningBraceToken; -exports.isOpeningBracketToken = isOpeningBracketToken; -exports.isOpeningParenToken = isOpeningParenToken; -exports.isParenthesized = isParenthesized; -exports.isSemicolonToken = isSemicolonToken; -//# sourceMappingURL=index.js.map diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js.map b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js.map deleted file mode 100644 index 7f3d7893..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["src/get-innermost-scope.mjs","src/find-variable.mjs","src/token-predicate.mjs","src/get-function-head-location.mjs","src/get-static-value.mjs","src/get-string-if-constant.mjs","src/get-property-name.mjs","src/get-function-name-with-kind.mjs","src/has-side-effect.mjs","src/is-parenthesized.mjs","src/pattern-matcher.mjs","src/reference-tracker.mjs","src/index.mjs"],"sourcesContent":["/**\n * Get the innermost scope which contains a given location.\n * @param {Scope} initialScope The initial scope to search.\n * @param {Node} node The location to search.\n * @returns {Scope} The innermost scope.\n */\nexport function getInnermostScope(initialScope, node) {\n const location = node.range[0]\n\n let scope = initialScope\n let found = false\n do {\n found = false\n for (const childScope of scope.childScopes) {\n const range = childScope.block.range\n\n if (range[0] <= location && location < range[1]) {\n scope = childScope\n found = true\n break\n }\n }\n } while (found)\n\n return scope\n}\n","import { getInnermostScope } from \"./get-innermost-scope.mjs\"\n\n/**\n * Find the variable of a given name.\n * @param {Scope} initialScope The scope to start finding.\n * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node.\n * @returns {Variable|null} The found variable or null.\n */\nexport function findVariable(initialScope, nameOrNode) {\n let name = \"\"\n let scope = initialScope\n\n if (typeof nameOrNode === \"string\") {\n name = nameOrNode\n } else {\n name = nameOrNode.name\n scope = getInnermostScope(scope, nameOrNode)\n }\n\n while (scope != null) {\n const variable = scope.set.get(name)\n if (variable != null) {\n return variable\n }\n scope = scope.upper\n }\n\n return null\n}\n","/**\n * Creates the negate function of the given function.\n * @param {function(Token):boolean} f - The function to negate.\n * @returns {function(Token):boolean} Negated function.\n */\nfunction negate(f) {\n return (token) => !f(token)\n}\n\n/**\n * Checks if the given token is a PunctuatorToken with the given value\n * @param {Token} token - The token to check.\n * @param {string} value - The value to check.\n * @returns {boolean} `true` if the token is a PunctuatorToken with the given value.\n */\nfunction isPunctuatorTokenWithValue(token, value) {\n return token.type === \"Punctuator\" && token.value === value\n}\n\n/**\n * Checks if the given token is an arrow token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an arrow token.\n */\nexport function isArrowToken(token) {\n return isPunctuatorTokenWithValue(token, \"=>\")\n}\n\n/**\n * Checks if the given token is a comma token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comma token.\n */\nexport function isCommaToken(token) {\n return isPunctuatorTokenWithValue(token, \",\")\n}\n\n/**\n * Checks if the given token is a semicolon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a semicolon token.\n */\nexport function isSemicolonToken(token) {\n return isPunctuatorTokenWithValue(token, \";\")\n}\n\n/**\n * Checks if the given token is a colon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a colon token.\n */\nexport function isColonToken(token) {\n return isPunctuatorTokenWithValue(token, \":\")\n}\n\n/**\n * Checks if the given token is an opening parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening parenthesis token.\n */\nexport function isOpeningParenToken(token) {\n return isPunctuatorTokenWithValue(token, \"(\")\n}\n\n/**\n * Checks if the given token is a closing parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing parenthesis token.\n */\nexport function isClosingParenToken(token) {\n return isPunctuatorTokenWithValue(token, \")\")\n}\n\n/**\n * Checks if the given token is an opening square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening square bracket token.\n */\nexport function isOpeningBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"[\")\n}\n\n/**\n * Checks if the given token is a closing square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing square bracket token.\n */\nexport function isClosingBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"]\")\n}\n\n/**\n * Checks if the given token is an opening brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening brace token.\n */\nexport function isOpeningBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"{\")\n}\n\n/**\n * Checks if the given token is a closing brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing brace token.\n */\nexport function isClosingBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"}\")\n}\n\n/**\n * Checks if the given token is a comment token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comment token.\n */\nexport function isCommentToken(token) {\n return [\"Block\", \"Line\", \"Shebang\"].includes(token.type)\n}\n\nexport const isNotArrowToken = negate(isArrowToken)\nexport const isNotCommaToken = negate(isCommaToken)\nexport const isNotSemicolonToken = negate(isSemicolonToken)\nexport const isNotColonToken = negate(isColonToken)\nexport const isNotOpeningParenToken = negate(isOpeningParenToken)\nexport const isNotClosingParenToken = negate(isClosingParenToken)\nexport const isNotOpeningBracketToken = negate(isOpeningBracketToken)\nexport const isNotClosingBracketToken = negate(isClosingBracketToken)\nexport const isNotOpeningBraceToken = negate(isOpeningBraceToken)\nexport const isNotClosingBraceToken = negate(isClosingBraceToken)\nexport const isNotCommentToken = negate(isCommentToken)\n","import { isArrowToken, isOpeningParenToken } from \"./token-predicate.mjs\"\n\n/**\n * Get the `(` token of the given function node.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {Token} `(` token.\n */\nfunction getOpeningParenOfParams(node, sourceCode) {\n return node.id\n ? sourceCode.getTokenAfter(node.id, isOpeningParenToken)\n : sourceCode.getFirstToken(node, isOpeningParenToken)\n}\n\n/**\n * Get the location of the given function node for reporting.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {string} The location of the function node for reporting.\n */\nexport function getFunctionHeadLocation(node, sourceCode) {\n const parent = node.parent\n let start = null\n let end = null\n\n if (node.type === \"ArrowFunctionExpression\") {\n const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken)\n\n start = arrowToken.loc.start\n end = arrowToken.loc.end\n } else if (\n parent.type === \"Property\" ||\n parent.type === \"MethodDefinition\" ||\n parent.type === \"PropertyDefinition\"\n ) {\n start = parent.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n } else {\n start = node.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n }\n\n return {\n start: { ...start },\n end: { ...end },\n }\n}\n","/* globals globalThis, global, self, window */\n\nimport { findVariable } from \"./find-variable.mjs\"\n\nconst globalObject =\n typeof globalThis !== \"undefined\"\n ? globalThis\n : typeof self !== \"undefined\"\n ? self\n : typeof window !== \"undefined\"\n ? window\n : typeof global !== \"undefined\"\n ? global\n : {}\n\nconst builtinNames = Object.freeze(\n new Set([\n \"Array\",\n \"ArrayBuffer\",\n \"BigInt\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"Boolean\",\n \"DataView\",\n \"Date\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"Float32Array\",\n \"Float64Array\",\n \"Function\",\n \"Infinity\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"isFinite\",\n \"isNaN\",\n \"isPrototypeOf\",\n \"JSON\",\n \"Map\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"Object\",\n \"parseFloat\",\n \"parseInt\",\n \"Promise\",\n \"Proxy\",\n \"Reflect\",\n \"RegExp\",\n \"Set\",\n \"String\",\n \"Symbol\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"undefined\",\n \"unescape\",\n \"WeakMap\",\n \"WeakSet\",\n ]),\n)\nconst callAllowed = new Set(\n [\n Array.isArray,\n Array.of,\n Array.prototype.at,\n Array.prototype.concat,\n Array.prototype.entries,\n Array.prototype.every,\n Array.prototype.filter,\n Array.prototype.find,\n Array.prototype.findIndex,\n Array.prototype.flat,\n Array.prototype.includes,\n Array.prototype.indexOf,\n Array.prototype.join,\n Array.prototype.keys,\n Array.prototype.lastIndexOf,\n Array.prototype.slice,\n Array.prototype.some,\n Array.prototype.toString,\n Array.prototype.values,\n typeof BigInt === \"function\" ? BigInt : undefined,\n Boolean,\n Date,\n Date.parse,\n decodeURI,\n decodeURIComponent,\n encodeURI,\n encodeURIComponent,\n escape,\n isFinite,\n isNaN,\n isPrototypeOf,\n Map,\n Map.prototype.entries,\n Map.prototype.get,\n Map.prototype.has,\n Map.prototype.keys,\n Map.prototype.values,\n ...Object.getOwnPropertyNames(Math)\n .filter((k) => k !== \"random\")\n .map((k) => Math[k])\n .filter((f) => typeof f === \"function\"),\n Number,\n Number.isFinite,\n Number.isNaN,\n Number.parseFloat,\n Number.parseInt,\n Number.prototype.toExponential,\n Number.prototype.toFixed,\n Number.prototype.toPrecision,\n Number.prototype.toString,\n Object,\n Object.entries,\n Object.is,\n Object.isExtensible,\n Object.isFrozen,\n Object.isSealed,\n Object.keys,\n Object.values,\n parseFloat,\n parseInt,\n RegExp,\n Set,\n Set.prototype.entries,\n Set.prototype.has,\n Set.prototype.keys,\n Set.prototype.values,\n String,\n String.fromCharCode,\n String.fromCodePoint,\n String.raw,\n String.prototype.at,\n String.prototype.charAt,\n String.prototype.charCodeAt,\n String.prototype.codePointAt,\n String.prototype.concat,\n String.prototype.endsWith,\n String.prototype.includes,\n String.prototype.indexOf,\n String.prototype.lastIndexOf,\n String.prototype.normalize,\n String.prototype.padEnd,\n String.prototype.padStart,\n String.prototype.slice,\n String.prototype.startsWith,\n String.prototype.substr,\n String.prototype.substring,\n String.prototype.toLowerCase,\n String.prototype.toString,\n String.prototype.toUpperCase,\n String.prototype.trim,\n String.prototype.trimEnd,\n String.prototype.trimLeft,\n String.prototype.trimRight,\n String.prototype.trimStart,\n Symbol.for,\n Symbol.keyFor,\n unescape,\n ].filter((f) => typeof f === \"function\"),\n)\nconst callPassThrough = new Set([\n Object.freeze,\n Object.preventExtensions,\n Object.seal,\n])\n\n/** @type {ReadonlyArray]>} */\nconst getterAllowed = [\n [Map, new Set([\"size\"])],\n [\n RegExp,\n new Set([\n \"dotAll\",\n \"flags\",\n \"global\",\n \"hasIndices\",\n \"ignoreCase\",\n \"multiline\",\n \"source\",\n \"sticky\",\n \"unicode\",\n ]),\n ],\n [Set, new Set([\"size\"])],\n]\n\n/**\n * Get the property descriptor.\n * @param {object} object The object to get.\n * @param {string|number|symbol} name The property name to get.\n */\nfunction getPropertyDescriptor(object, name) {\n let x = object\n while ((typeof x === \"object\" || typeof x === \"function\") && x !== null) {\n const d = Object.getOwnPropertyDescriptor(x, name)\n if (d) {\n return d\n }\n x = Object.getPrototypeOf(x)\n }\n return null\n}\n\n/**\n * Check if a property is getter or not.\n * @param {object} object The object to check.\n * @param {string|number|symbol} name The property name to check.\n */\nfunction isGetter(object, name) {\n const d = getPropertyDescriptor(object, name)\n return d != null && d.get != null\n}\n\n/**\n * Get the element values of a given node list.\n * @param {Node[]} nodeList The node list to get values.\n * @param {Scope|undefined} initialScope The initial scope to find variables.\n * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null.\n */\nfunction getElementValues(nodeList, initialScope) {\n const valueList = []\n\n for (let i = 0; i < nodeList.length; ++i) {\n const elementNode = nodeList[i]\n\n if (elementNode == null) {\n valueList.length = i + 1\n } else if (elementNode.type === \"SpreadElement\") {\n const argument = getStaticValueR(elementNode.argument, initialScope)\n if (argument == null) {\n return null\n }\n valueList.push(...argument.value)\n } else {\n const element = getStaticValueR(elementNode, initialScope)\n if (element == null) {\n return null\n }\n valueList.push(element.value)\n }\n }\n\n return valueList\n}\n\n/**\n * Returns whether the given variable is never written to after initialization.\n * @param {import(\"eslint\").Scope.Variable} variable\n * @returns {boolean}\n */\nfunction isEffectivelyConst(variable) {\n const refs = variable.references\n\n const inits = refs.filter((r) => r.init).length\n const reads = refs.filter((r) => r.isReadOnly()).length\n if (inits === 1 && reads + inits === refs.length) {\n // there is only one init and all other references only read\n return true\n }\n return false\n}\n\nconst operations = Object.freeze({\n ArrayExpression(node, initialScope) {\n const elements = getElementValues(node.elements, initialScope)\n return elements != null ? { value: elements } : null\n },\n\n AssignmentExpression(node, initialScope) {\n if (node.operator === \"=\") {\n return getStaticValueR(node.right, initialScope)\n }\n return null\n },\n\n //eslint-disable-next-line complexity\n BinaryExpression(node, initialScope) {\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n // Not supported.\n return null\n }\n\n const left = getStaticValueR(node.left, initialScope)\n const right = getStaticValueR(node.right, initialScope)\n if (left != null && right != null) {\n switch (node.operator) {\n case \"==\":\n return { value: left.value == right.value } //eslint-disable-line eqeqeq\n case \"!=\":\n return { value: left.value != right.value } //eslint-disable-line eqeqeq\n case \"===\":\n return { value: left.value === right.value }\n case \"!==\":\n return { value: left.value !== right.value }\n case \"<\":\n return { value: left.value < right.value }\n case \"<=\":\n return { value: left.value <= right.value }\n case \">\":\n return { value: left.value > right.value }\n case \">=\":\n return { value: left.value >= right.value }\n case \"<<\":\n return { value: left.value << right.value }\n case \">>\":\n return { value: left.value >> right.value }\n case \">>>\":\n return { value: left.value >>> right.value }\n case \"+\":\n return { value: left.value + right.value }\n case \"-\":\n return { value: left.value - right.value }\n case \"*\":\n return { value: left.value * right.value }\n case \"/\":\n return { value: left.value / right.value }\n case \"%\":\n return { value: left.value % right.value }\n case \"**\":\n return { value: left.value ** right.value }\n case \"|\":\n return { value: left.value | right.value }\n case \"^\":\n return { value: left.value ^ right.value }\n case \"&\":\n return { value: left.value & right.value }\n\n // no default\n }\n }\n\n return null\n },\n\n CallExpression(node, initialScope) {\n const calleeNode = node.callee\n const args = getElementValues(node.arguments, initialScope)\n\n if (args != null) {\n if (calleeNode.type === \"MemberExpression\") {\n if (calleeNode.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(calleeNode.object, initialScope)\n if (object != null) {\n if (\n object.value == null &&\n (object.optional || node.optional)\n ) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(\n calleeNode,\n initialScope,\n )\n\n if (property != null) {\n const receiver = object.value\n const methodName = property.value\n if (callAllowed.has(receiver[methodName])) {\n return { value: receiver[methodName](...args) }\n }\n if (callPassThrough.has(receiver[methodName])) {\n return { value: args[0] }\n }\n }\n }\n } else {\n const callee = getStaticValueR(calleeNode, initialScope)\n if (callee != null) {\n if (callee.value == null && node.optional) {\n return { value: undefined, optional: true }\n }\n const func = callee.value\n if (callAllowed.has(func)) {\n return { value: func(...args) }\n }\n if (callPassThrough.has(func)) {\n return { value: args[0] }\n }\n }\n }\n }\n\n return null\n },\n\n ConditionalExpression(node, initialScope) {\n const test = getStaticValueR(node.test, initialScope)\n if (test != null) {\n return test.value\n ? getStaticValueR(node.consequent, initialScope)\n : getStaticValueR(node.alternate, initialScope)\n }\n return null\n },\n\n ExpressionStatement(node, initialScope) {\n return getStaticValueR(node.expression, initialScope)\n },\n\n Identifier(node, initialScope) {\n if (initialScope != null) {\n const variable = findVariable(initialScope, node)\n\n // Built-in globals.\n if (\n variable != null &&\n variable.defs.length === 0 &&\n builtinNames.has(variable.name) &&\n variable.name in globalObject\n ) {\n return { value: globalObject[variable.name] }\n }\n\n // Constants.\n if (variable != null && variable.defs.length === 1) {\n const def = variable.defs[0]\n if (\n def.parent &&\n def.type === \"Variable\" &&\n (def.parent.kind === \"const\" ||\n isEffectivelyConst(variable)) &&\n // TODO(mysticatea): don't support destructuring here.\n def.node.id.type === \"Identifier\"\n ) {\n return getStaticValueR(def.node.init, initialScope)\n }\n }\n }\n return null\n },\n\n Literal(node) {\n //istanbul ignore if : this is implementation-specific behavior.\n if ((node.regex != null || node.bigint != null) && node.value == null) {\n // It was a RegExp/BigInt literal, but Node.js didn't support it.\n return null\n }\n return { value: node.value }\n },\n\n LogicalExpression(node, initialScope) {\n const left = getStaticValueR(node.left, initialScope)\n if (left != null) {\n if (\n (node.operator === \"||\" && Boolean(left.value) === true) ||\n (node.operator === \"&&\" && Boolean(left.value) === false) ||\n (node.operator === \"??\" && left.value != null)\n ) {\n return left\n }\n\n const right = getStaticValueR(node.right, initialScope)\n if (right != null) {\n return right\n }\n }\n\n return null\n },\n\n MemberExpression(node, initialScope) {\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(node.object, initialScope)\n if (object != null) {\n if (object.value == null && (object.optional || node.optional)) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(node, initialScope)\n\n if (property != null) {\n if (!isGetter(object.value, property.value)) {\n return { value: object.value[property.value] }\n }\n\n for (const [classFn, allowed] of getterAllowed) {\n if (\n object.value instanceof classFn &&\n allowed.has(property.value)\n ) {\n return { value: object.value[property.value] }\n }\n }\n }\n }\n return null\n },\n\n ChainExpression(node, initialScope) {\n const expression = getStaticValueR(node.expression, initialScope)\n if (expression != null) {\n return { value: expression.value }\n }\n return null\n },\n\n NewExpression(node, initialScope) {\n const callee = getStaticValueR(node.callee, initialScope)\n const args = getElementValues(node.arguments, initialScope)\n\n if (callee != null && args != null) {\n const Func = callee.value\n if (callAllowed.has(Func)) {\n return { value: new Func(...args) }\n }\n }\n\n return null\n },\n\n ObjectExpression(node, initialScope) {\n const object = {}\n\n for (const propertyNode of node.properties) {\n if (propertyNode.type === \"Property\") {\n if (propertyNode.kind !== \"init\") {\n return null\n }\n const key = getStaticPropertyNameValue(\n propertyNode,\n initialScope,\n )\n const value = getStaticValueR(propertyNode.value, initialScope)\n if (key == null || value == null) {\n return null\n }\n object[key.value] = value.value\n } else if (\n propertyNode.type === \"SpreadElement\" ||\n propertyNode.type === \"ExperimentalSpreadProperty\"\n ) {\n const argument = getStaticValueR(\n propertyNode.argument,\n initialScope,\n )\n if (argument == null) {\n return null\n }\n Object.assign(object, argument.value)\n } else {\n return null\n }\n }\n\n return { value: object }\n },\n\n SequenceExpression(node, initialScope) {\n const last = node.expressions[node.expressions.length - 1]\n return getStaticValueR(last, initialScope)\n },\n\n TaggedTemplateExpression(node, initialScope) {\n const tag = getStaticValueR(node.tag, initialScope)\n const expressions = getElementValues(\n node.quasi.expressions,\n initialScope,\n )\n\n if (tag != null && expressions != null) {\n const func = tag.value\n const strings = node.quasi.quasis.map((q) => q.value.cooked)\n strings.raw = node.quasi.quasis.map((q) => q.value.raw)\n\n if (func === String.raw) {\n return { value: func(strings, ...expressions) }\n }\n }\n\n return null\n },\n\n TemplateLiteral(node, initialScope) {\n const expressions = getElementValues(node.expressions, initialScope)\n if (expressions != null) {\n let value = node.quasis[0].value.cooked\n for (let i = 0; i < expressions.length; ++i) {\n value += expressions[i]\n value += node.quasis[i + 1].value.cooked\n }\n return { value }\n }\n return null\n },\n\n UnaryExpression(node, initialScope) {\n if (node.operator === \"delete\") {\n // Not supported.\n return null\n }\n if (node.operator === \"void\") {\n return { value: undefined }\n }\n\n const arg = getStaticValueR(node.argument, initialScope)\n if (arg != null) {\n switch (node.operator) {\n case \"-\":\n return { value: -arg.value }\n case \"+\":\n return { value: +arg.value } //eslint-disable-line no-implicit-coercion\n case \"!\":\n return { value: !arg.value }\n case \"~\":\n return { value: ~arg.value }\n case \"typeof\":\n return { value: typeof arg.value }\n\n // no default\n }\n }\n\n return null\n },\n})\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope|undefined} initialScope The scope to start finding variable.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nfunction getStaticValueR(node, initialScope) {\n if (node != null && Object.hasOwnProperty.call(operations, node.type)) {\n return operations[node.type](node, initialScope)\n }\n return null\n}\n\n/**\n * Get the static value of property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`.\n */\nfunction getStaticPropertyNameValue(node, initialScope) {\n const nameNode = node.type === \"Property\" ? node.key : node.property\n\n if (node.computed) {\n return getStaticValueR(nameNode, initialScope)\n }\n\n if (nameNode.type === \"Identifier\") {\n return { value: nameNode.name }\n }\n\n if (nameNode.type === \"Literal\") {\n if (nameNode.bigint) {\n return { value: nameNode.bigint }\n }\n return { value: String(nameNode.value) }\n }\n\n return null\n}\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nexport function getStaticValue(node, initialScope = null) {\n try {\n return getStaticValueR(node, initialScope)\n } catch (_error) {\n return null\n }\n}\n","import { getStaticValue } from \"./get-static-value.mjs\"\n\n/**\n * Get the value of a given node if it's a literal or a template literal.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant.\n * @returns {string|null} The value of the node, or `null`.\n */\nexport function getStringIfConstant(node, initialScope = null) {\n // Handle the literals that the platform doesn't support natively.\n if (node && node.type === \"Literal\" && node.value === null) {\n if (node.regex) {\n return `/${node.regex.pattern}/${node.regex.flags}`\n }\n if (node.bigint) {\n return node.bigint\n }\n }\n\n const evaluated = getStaticValue(node, initialScope)\n return evaluated && String(evaluated.value)\n}\n","import { getStringIfConstant } from \"./get-string-if-constant.mjs\"\n\n/**\n * Get the property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {string|null} The property name of the node.\n */\nexport function getPropertyName(node, initialScope) {\n switch (node.type) {\n case \"MemberExpression\":\n if (node.computed) {\n return getStringIfConstant(node.property, initialScope)\n }\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n return node.property.name\n\n case \"Property\":\n case \"MethodDefinition\":\n case \"PropertyDefinition\":\n if (node.computed) {\n return getStringIfConstant(node.key, initialScope)\n }\n if (node.key.type === \"Literal\") {\n return String(node.key.value)\n }\n if (node.key.type === \"PrivateIdentifier\") {\n return null\n }\n return node.key.name\n\n // no default\n }\n\n return null\n}\n","import { getPropertyName } from \"./get-property-name.mjs\"\n\n/**\n * Get the name and kind of the given function node.\n * @param {ASTNode} node - The function node to get.\n * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys.\n * @returns {string} The name and kind of the function node.\n */\n// eslint-disable-next-line complexity\nexport function getFunctionNameWithKind(node, sourceCode) {\n const parent = node.parent\n const tokens = []\n const isObjectMethod = parent.type === \"Property\" && parent.value === node\n const isClassMethod =\n parent.type === \"MethodDefinition\" && parent.value === node\n const isClassFieldMethod =\n parent.type === \"PropertyDefinition\" && parent.value === node\n\n // Modifiers.\n if (isClassMethod || isClassFieldMethod) {\n if (parent.static) {\n tokens.push(\"static\")\n }\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(\"private\")\n }\n }\n if (node.async) {\n tokens.push(\"async\")\n }\n if (node.generator) {\n tokens.push(\"generator\")\n }\n\n // Kinds.\n if (isObjectMethod || isClassMethod) {\n if (parent.kind === \"constructor\") {\n return \"constructor\"\n }\n if (parent.kind === \"get\") {\n tokens.push(\"getter\")\n } else if (parent.kind === \"set\") {\n tokens.push(\"setter\")\n } else {\n tokens.push(\"method\")\n }\n } else if (isClassFieldMethod) {\n tokens.push(\"method\")\n } else {\n if (node.type === \"ArrowFunctionExpression\") {\n tokens.push(\"arrow\")\n }\n tokens.push(\"function\")\n }\n\n // Names.\n if (isObjectMethod || isClassMethod || isClassFieldMethod) {\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(`#${parent.key.name}`)\n } else {\n const name = getPropertyName(parent)\n if (name) {\n tokens.push(`'${name}'`)\n } else if (sourceCode) {\n const keyText = sourceCode.getText(parent.key)\n if (!keyText.includes(\"\\n\")) {\n tokens.push(`[${keyText}]`)\n }\n }\n }\n } else if (node.id) {\n tokens.push(`'${node.id.name}'`)\n } else if (\n parent.type === \"VariableDeclarator\" &&\n parent.id &&\n parent.id.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.id.name}'`)\n } else if (\n (parent.type === \"AssignmentExpression\" ||\n parent.type === \"AssignmentPattern\") &&\n parent.left &&\n parent.left.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.left.name}'`)\n } else if (\n parent.type === \"ExportDefaultDeclaration\" &&\n parent.declaration === node\n ) {\n tokens.push(\"'default'\")\n }\n\n return tokens.join(\" \")\n}\n","import { getKeys, KEYS } from \"eslint-visitor-keys\"\n\nconst typeConversionBinaryOps = Object.freeze(\n new Set([\n \"==\",\n \"!=\",\n \"<\",\n \"<=\",\n \">\",\n \">=\",\n \"<<\",\n \">>\",\n \">>>\",\n \"+\",\n \"-\",\n \"*\",\n \"/\",\n \"%\",\n \"|\",\n \"^\",\n \"&\",\n \"in\",\n ]),\n)\nconst typeConversionUnaryOps = Object.freeze(new Set([\"-\", \"+\", \"!\", \"~\"]))\n\n/**\n * Check whether the given value is an ASTNode or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an ASTNode.\n */\nfunction isNode(x) {\n return x !== null && typeof x === \"object\" && typeof x.type === \"string\"\n}\n\nconst visitor = Object.freeze(\n Object.assign(Object.create(null), {\n $visit(node, options, visitorKeys) {\n const { type } = node\n\n if (typeof this[type] === \"function\") {\n return this[type](node, options, visitorKeys)\n }\n\n return this.$visitChildren(node, options, visitorKeys)\n },\n\n $visitChildren(node, options, visitorKeys) {\n const { type } = node\n\n for (const key of visitorKeys[type] || getKeys(node)) {\n const value = node[key]\n\n if (Array.isArray(value)) {\n for (const element of value) {\n if (\n isNode(element) &&\n this.$visit(element, options, visitorKeys)\n ) {\n return true\n }\n }\n } else if (\n isNode(value) &&\n this.$visit(value, options, visitorKeys)\n ) {\n return true\n }\n }\n\n return false\n },\n\n ArrowFunctionExpression() {\n return false\n },\n AssignmentExpression() {\n return true\n },\n AwaitExpression() {\n return true\n },\n BinaryExpression(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n typeConversionBinaryOps.has(node.operator) &&\n (node.left.type !== \"Literal\" || node.right.type !== \"Literal\")\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n CallExpression() {\n return true\n },\n FunctionExpression() {\n return false\n },\n ImportExpression() {\n return true\n },\n MemberExpression(node, options, visitorKeys) {\n if (options.considerGetters) {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.property.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n MethodDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n NewExpression() {\n return true\n },\n Property(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n PropertyDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UnaryExpression(node, options, visitorKeys) {\n if (node.operator === \"delete\") {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n typeConversionUnaryOps.has(node.operator) &&\n node.argument.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UpdateExpression() {\n return true\n },\n YieldExpression() {\n return true\n },\n }),\n)\n\n/**\n * Check whether a given node has any side effect or not.\n * @param {Node} node The node to get.\n * @param {SourceCode} sourceCode The source code object.\n * @param {object} [options] The option object.\n * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects.\n * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects.\n * @param {object} [options.visitorKeys=KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`.\n * @returns {boolean} `true` if the node has a certain side effect.\n */\nexport function hasSideEffect(\n node,\n sourceCode,\n { considerGetters = false, considerImplicitTypeConversion = false } = {},\n) {\n return visitor.$visit(\n node,\n { considerGetters, considerImplicitTypeConversion },\n sourceCode.visitorKeys || KEYS,\n )\n}\n","import { isClosingParenToken, isOpeningParenToken } from \"./token-predicate.mjs\"\n\n/**\n * Get the left parenthesis of the parent node syntax if it exists.\n * E.g., `if (a) {}` then the `(`.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {Token|null} The left parenthesis of the parent node syntax\n */\nfunction getParentSyntaxParen(node, sourceCode) {\n const parent = node.parent\n\n switch (parent.type) {\n case \"CallExpression\":\n case \"NewExpression\":\n if (parent.arguments.length === 1 && parent.arguments[0] === node) {\n return sourceCode.getTokenAfter(\n parent.callee,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"DoWhileStatement\":\n if (parent.test === node) {\n return sourceCode.getTokenAfter(\n parent.body,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"IfStatement\":\n case \"WhileStatement\":\n if (parent.test === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"ImportExpression\":\n if (parent.source === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"SwitchStatement\":\n if (parent.discriminant === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"WithStatement\":\n if (parent.object === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n default:\n return null\n }\n}\n\n/**\n * Check whether a given node is parenthesized or not.\n * @param {number} times The number of parantheses.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized the given times.\n */\n/**\n * Check whether a given node is parenthesized or not.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized.\n */\nexport function isParenthesized(\n timesOrNode,\n nodeOrSourceCode,\n optionalSourceCode,\n) {\n let times, node, sourceCode, maybeLeftParen, maybeRightParen\n if (typeof timesOrNode === \"number\") {\n times = timesOrNode | 0\n node = nodeOrSourceCode\n sourceCode = optionalSourceCode\n if (!(times >= 1)) {\n throw new TypeError(\"'times' should be a positive integer.\")\n }\n } else {\n times = 1\n node = timesOrNode\n sourceCode = nodeOrSourceCode\n }\n\n if (\n node == null ||\n // `Program` can't be parenthesized\n node.parent == null ||\n // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}`\n (node.parent.type === \"CatchClause\" && node.parent.param === node)\n ) {\n return false\n }\n\n maybeLeftParen = maybeRightParen = node\n do {\n maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen)\n maybeRightParen = sourceCode.getTokenAfter(maybeRightParen)\n } while (\n maybeLeftParen != null &&\n maybeRightParen != null &&\n isOpeningParenToken(maybeLeftParen) &&\n isClosingParenToken(maybeRightParen) &&\n // Avoid false positive such as `if (a) {}`\n maybeLeftParen !== getParentSyntaxParen(node, sourceCode) &&\n --times > 0\n )\n\n return times === 0\n}\n","/**\n * @author Toru Nagashima \n * See LICENSE file in root directory for full license.\n */\n\nconst placeholder = /\\$(?:[$&`']|[1-9][0-9]?)/gu\n\n/** @type {WeakMap} */\nconst internal = new WeakMap()\n\n/**\n * Check whether a given character is escaped or not.\n * @param {string} str The string to check.\n * @param {number} index The location of the character to check.\n * @returns {boolean} `true` if the character is escaped.\n */\nfunction isEscaped(str, index) {\n let escaped = false\n for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) {\n escaped = !escaped\n }\n return escaped\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {string} replacement The new substring to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceS(matcher, str, replacement) {\n const chunks = []\n let index = 0\n\n /** @type {RegExpExecArray} */\n let match = null\n\n /**\n * @param {string} key The placeholder.\n * @returns {string} The replaced string.\n */\n function replacer(key) {\n switch (key) {\n case \"$$\":\n return \"$\"\n case \"$&\":\n return match[0]\n case \"$`\":\n return str.slice(0, match.index)\n case \"$'\":\n return str.slice(match.index + match[0].length)\n default: {\n const i = key.slice(1)\n if (i in match) {\n return match[i]\n }\n return key\n }\n }\n }\n\n for (match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(replacement.replace(placeholder, replacer))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {(...strs[])=>string} replace The function to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceF(matcher, str, replace) {\n const chunks = []\n let index = 0\n\n for (const match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(String(replace(...match, match.index, match.input)))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * The class to find patterns as considering escape sequences.\n */\nexport class PatternMatcher {\n /**\n * Initialize this matcher.\n * @param {RegExp} pattern The pattern to match.\n * @param {{escaped:boolean}} options The options.\n */\n constructor(pattern, { escaped = false } = {}) {\n if (!(pattern instanceof RegExp)) {\n throw new TypeError(\"'pattern' should be a RegExp instance.\")\n }\n if (!pattern.flags.includes(\"g\")) {\n throw new Error(\"'pattern' should contains 'g' flag.\")\n }\n\n internal.set(this, {\n pattern: new RegExp(pattern.source, pattern.flags),\n escaped: Boolean(escaped),\n })\n }\n\n /**\n * Find the pattern in a given string.\n * @param {string} str The string to find.\n * @returns {IterableIterator} The iterator which iterate the matched information.\n */\n *execAll(str) {\n const { pattern, escaped } = internal.get(this)\n let match = null\n let lastIndex = 0\n\n pattern.lastIndex = 0\n while ((match = pattern.exec(str)) != null) {\n if (escaped || !isEscaped(str, match.index)) {\n lastIndex = pattern.lastIndex\n yield match\n pattern.lastIndex = lastIndex\n }\n }\n }\n\n /**\n * Check whether the pattern is found in a given string.\n * @param {string} str The string to check.\n * @returns {boolean} `true` if the pattern was found in the string.\n */\n test(str) {\n const it = this.execAll(str)\n const ret = it.next()\n return !ret.done\n }\n\n /**\n * Replace a given string.\n * @param {string} str The string to be replaced.\n * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`.\n * @returns {string} The replaced string.\n */\n [Symbol.replace](str, replacer) {\n return typeof replacer === \"function\"\n ? replaceF(this, String(str), replacer)\n : replaceS(this, String(str), String(replacer))\n }\n}\n","import { findVariable } from \"./find-variable.mjs\"\nimport { getPropertyName } from \"./get-property-name.mjs\"\nimport { getStringIfConstant } from \"./get-string-if-constant.mjs\"\n\nconst IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u\nconst has = Function.call.bind(Object.hasOwnProperty)\n\nexport const READ = Symbol(\"read\")\nexport const CALL = Symbol(\"call\")\nexport const CONSTRUCT = Symbol(\"construct\")\nexport const ESM = Symbol(\"esm\")\n\nconst requireCall = { require: { [CALL]: true } }\n\n/**\n * Check whether a given variable is modified or not.\n * @param {Variable} variable The variable to check.\n * @returns {boolean} `true` if the variable is modified.\n */\nfunction isModifiedGlobal(variable) {\n return (\n variable == null ||\n variable.defs.length !== 0 ||\n variable.references.some((r) => r.isWrite())\n )\n}\n\n/**\n * Check if the value of a given node is passed through to the parent syntax as-is.\n * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through.\n * @param {Node} node A node to check.\n * @returns {boolean} `true` if the node is passed through.\n */\nfunction isPassThrough(node) {\n const parent = node.parent\n\n switch (parent && parent.type) {\n case \"ConditionalExpression\":\n return parent.consequent === node || parent.alternate === node\n case \"LogicalExpression\":\n return true\n case \"SequenceExpression\":\n return parent.expressions[parent.expressions.length - 1] === node\n case \"ChainExpression\":\n return true\n\n default:\n return false\n }\n}\n\n/**\n * The reference tracker.\n */\nexport class ReferenceTracker {\n /**\n * Initialize this tracker.\n * @param {Scope} globalScope The global scope.\n * @param {object} [options] The options.\n * @param {\"legacy\"|\"strict\"} [options.mode=\"strict\"] The mode to determine the ImportDeclaration's behavior for CJS modules.\n * @param {string[]} [options.globalObjectNames=[\"global\",\"globalThis\",\"self\",\"window\"]] The variable names for Global Object.\n */\n constructor(\n globalScope,\n {\n mode = \"strict\",\n globalObjectNames = [\"global\", \"globalThis\", \"self\", \"window\"],\n } = {},\n ) {\n this.variableStack = []\n this.globalScope = globalScope\n this.mode = mode\n this.globalObjectNames = globalObjectNames.slice(0)\n }\n\n /**\n * Iterate the references of global variables.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateGlobalReferences(traceMap) {\n for (const key of Object.keys(traceMap)) {\n const nextTraceMap = traceMap[key]\n const path = [key]\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n nextTraceMap,\n true,\n )\n }\n\n for (const key of this.globalObjectNames) {\n const path = []\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n }\n\n /**\n * Iterate the references of CommonJS modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateCjsReferences(traceMap) {\n for (const { node } of this.iterateGlobalReferences(requireCall)) {\n const key = getStringIfConstant(node.arguments[0])\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextTraceMap = traceMap[key]\n const path = [key]\n\n if (nextTraceMap[READ]) {\n yield {\n node,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(node, path, nextTraceMap)\n }\n }\n\n /**\n * Iterate the references of ES modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateEsmReferences(traceMap) {\n const programNode = this.globalScope.block\n\n for (const node of programNode.body) {\n if (!IMPORT_TYPE.test(node.type) || node.source == null) {\n continue\n }\n const moduleId = node.source.value\n\n if (!has(traceMap, moduleId)) {\n continue\n }\n const nextTraceMap = traceMap[moduleId]\n const path = [moduleId]\n\n if (nextTraceMap[READ]) {\n yield { node, path, type: READ, info: nextTraceMap[READ] }\n }\n\n if (node.type === \"ExportAllDeclaration\") {\n for (const key of Object.keys(nextTraceMap)) {\n const exportTraceMap = nextTraceMap[key]\n if (exportTraceMap[READ]) {\n yield {\n node,\n path: path.concat(key),\n type: READ,\n info: exportTraceMap[READ],\n }\n }\n }\n } else {\n for (const specifier of node.specifiers) {\n const esm = has(nextTraceMap, ESM)\n const it = this._iterateImportReferences(\n specifier,\n path,\n esm\n ? nextTraceMap\n : this.mode === \"legacy\"\n ? { default: nextTraceMap, ...nextTraceMap }\n : { default: nextTraceMap },\n )\n\n if (esm) {\n yield* it\n } else {\n for (const report of it) {\n report.path = report.path.filter(exceptDefault)\n if (\n report.path.length >= 2 ||\n report.type !== READ\n ) {\n yield report\n }\n }\n }\n }\n }\n }\n }\n\n /**\n * Iterate the references for a given variable.\n * @param {Variable} variable The variable to iterate that references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @param {boolean} shouldReport = The flag to report those references.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateVariableReferences(variable, path, traceMap, shouldReport) {\n if (this.variableStack.includes(variable)) {\n return\n }\n this.variableStack.push(variable)\n try {\n for (const reference of variable.references) {\n if (!reference.isRead()) {\n continue\n }\n const node = reference.identifier\n\n if (shouldReport && traceMap[READ]) {\n yield { node, path, type: READ, info: traceMap[READ] }\n }\n yield* this._iteratePropertyReferences(node, path, traceMap)\n }\n } finally {\n this.variableStack.pop()\n }\n }\n\n /**\n * Iterate the references for a given AST node.\n * @param rootNode The AST node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n //eslint-disable-next-line complexity\n *_iteratePropertyReferences(rootNode, path, traceMap) {\n let node = rootNode\n while (isPassThrough(node)) {\n node = node.parent\n }\n\n const parent = node.parent\n if (parent.type === \"MemberExpression\") {\n if (parent.object === node) {\n const key = getPropertyName(parent)\n if (key == null || !has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: parent,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(\n parent,\n path,\n nextTraceMap,\n )\n }\n return\n }\n if (parent.type === \"CallExpression\") {\n if (parent.callee === node && traceMap[CALL]) {\n yield { node: parent, path, type: CALL, info: traceMap[CALL] }\n }\n return\n }\n if (parent.type === \"NewExpression\") {\n if (parent.callee === node && traceMap[CONSTRUCT]) {\n yield {\n node: parent,\n path,\n type: CONSTRUCT,\n info: traceMap[CONSTRUCT],\n }\n }\n return\n }\n if (parent.type === \"AssignmentExpression\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n yield* this._iteratePropertyReferences(parent, path, traceMap)\n }\n return\n }\n if (parent.type === \"AssignmentPattern\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n }\n return\n }\n if (parent.type === \"VariableDeclarator\") {\n if (parent.init === node) {\n yield* this._iterateLhsReferences(parent.id, path, traceMap)\n }\n }\n }\n\n /**\n * Iterate the references for a given Pattern node.\n * @param {Node} patternNode The Pattern node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateLhsReferences(patternNode, path, traceMap) {\n if (patternNode.type === \"Identifier\") {\n const variable = findVariable(this.globalScope, patternNode)\n if (variable != null) {\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n return\n }\n if (patternNode.type === \"ObjectPattern\") {\n for (const property of patternNode.properties) {\n const key = getPropertyName(property)\n\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextPath = path.concat(key)\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: property,\n path: nextPath,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateLhsReferences(\n property.value,\n nextPath,\n nextTraceMap,\n )\n }\n return\n }\n if (patternNode.type === \"AssignmentPattern\") {\n yield* this._iterateLhsReferences(patternNode.left, path, traceMap)\n }\n }\n\n /**\n * Iterate the references for a given ModuleSpecifier node.\n * @param {Node} specifierNode The ModuleSpecifier node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateImportReferences(specifierNode, path, traceMap) {\n const type = specifierNode.type\n\n if (type === \"ImportSpecifier\" || type === \"ImportDefaultSpecifier\") {\n const key =\n type === \"ImportDefaultSpecifier\"\n ? \"default\"\n : specifierNode.imported.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n nextTraceMap,\n false,\n )\n\n return\n }\n\n if (type === \"ImportNamespaceSpecifier\") {\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n traceMap,\n false,\n )\n return\n }\n\n if (type === \"ExportSpecifier\") {\n const key = specifierNode.local.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n }\n }\n}\n\nReferenceTracker.READ = READ\nReferenceTracker.CALL = CALL\nReferenceTracker.CONSTRUCT = CONSTRUCT\nReferenceTracker.ESM = ESM\n\n/**\n * This is a predicate function for Array#filter.\n * @param {string} name A name part.\n * @param {number} index The index of the name.\n * @returns {boolean} `false` if it's default.\n */\nfunction exceptDefault(name, index) {\n return !(index === 1 && name === \"default\")\n}\n","import { findVariable } from \"./find-variable.mjs\"\nimport { getFunctionHeadLocation } from \"./get-function-head-location.mjs\"\nimport { getFunctionNameWithKind } from \"./get-function-name-with-kind.mjs\"\nimport { getInnermostScope } from \"./get-innermost-scope.mjs\"\nimport { getPropertyName } from \"./get-property-name.mjs\"\nimport { getStaticValue } from \"./get-static-value.mjs\"\nimport { getStringIfConstant } from \"./get-string-if-constant.mjs\"\nimport { hasSideEffect } from \"./has-side-effect.mjs\"\nimport { isParenthesized } from \"./is-parenthesized.mjs\"\nimport { PatternMatcher } from \"./pattern-matcher.mjs\"\nimport {\n CALL,\n CONSTRUCT,\n ESM,\n READ,\n ReferenceTracker,\n} from \"./reference-tracker.mjs\"\nimport {\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isSemicolonToken,\n} from \"./token-predicate.mjs\"\n\nexport default {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\nexport {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\n"],"names":["getKeys","KEYS"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs deleted file mode 100644 index b96d3c98..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs +++ /dev/null @@ -1,2018 +0,0 @@ -import { getKeys, KEYS } from 'eslint-visitor-keys'; - -/** - * Get the innermost scope which contains a given location. - * @param {Scope} initialScope The initial scope to search. - * @param {Node} node The location to search. - * @returns {Scope} The innermost scope. - */ -function getInnermostScope(initialScope, node) { - const location = node.range[0]; - - let scope = initialScope; - let found = false; - do { - found = false; - for (const childScope of scope.childScopes) { - const range = childScope.block.range; - - if (range[0] <= location && location < range[1]) { - scope = childScope; - found = true; - break - } - } - } while (found) - - return scope -} - -/** - * Find the variable of a given name. - * @param {Scope} initialScope The scope to start finding. - * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node. - * @returns {Variable|null} The found variable or null. - */ -function findVariable(initialScope, nameOrNode) { - let name = ""; - let scope = initialScope; - - if (typeof nameOrNode === "string") { - name = nameOrNode; - } else { - name = nameOrNode.name; - scope = getInnermostScope(scope, nameOrNode); - } - - while (scope != null) { - const variable = scope.set.get(name); - if (variable != null) { - return variable - } - scope = scope.upper; - } - - return null -} - -/** - * Creates the negate function of the given function. - * @param {function(Token):boolean} f - The function to negate. - * @returns {function(Token):boolean} Negated function. - */ -function negate(f) { - return (token) => !f(token) -} - -/** - * Checks if the given token is a PunctuatorToken with the given value - * @param {Token} token - The token to check. - * @param {string} value - The value to check. - * @returns {boolean} `true` if the token is a PunctuatorToken with the given value. - */ -function isPunctuatorTokenWithValue(token, value) { - return token.type === "Punctuator" && token.value === value -} - -/** - * Checks if the given token is an arrow token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an arrow token. - */ -function isArrowToken(token) { - return isPunctuatorTokenWithValue(token, "=>") -} - -/** - * Checks if the given token is a comma token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a comma token. - */ -function isCommaToken(token) { - return isPunctuatorTokenWithValue(token, ",") -} - -/** - * Checks if the given token is a semicolon token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a semicolon token. - */ -function isSemicolonToken(token) { - return isPunctuatorTokenWithValue(token, ";") -} - -/** - * Checks if the given token is a colon token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a colon token. - */ -function isColonToken(token) { - return isPunctuatorTokenWithValue(token, ":") -} - -/** - * Checks if the given token is an opening parenthesis token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an opening parenthesis token. - */ -function isOpeningParenToken(token) { - return isPunctuatorTokenWithValue(token, "(") -} - -/** - * Checks if the given token is a closing parenthesis token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a closing parenthesis token. - */ -function isClosingParenToken(token) { - return isPunctuatorTokenWithValue(token, ")") -} - -/** - * Checks if the given token is an opening square bracket token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an opening square bracket token. - */ -function isOpeningBracketToken(token) { - return isPunctuatorTokenWithValue(token, "[") -} - -/** - * Checks if the given token is a closing square bracket token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a closing square bracket token. - */ -function isClosingBracketToken(token) { - return isPunctuatorTokenWithValue(token, "]") -} - -/** - * Checks if the given token is an opening brace token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is an opening brace token. - */ -function isOpeningBraceToken(token) { - return isPunctuatorTokenWithValue(token, "{") -} - -/** - * Checks if the given token is a closing brace token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a closing brace token. - */ -function isClosingBraceToken(token) { - return isPunctuatorTokenWithValue(token, "}") -} - -/** - * Checks if the given token is a comment token or not. - * @param {Token} token - The token to check. - * @returns {boolean} `true` if the token is a comment token. - */ -function isCommentToken(token) { - return ["Block", "Line", "Shebang"].includes(token.type) -} - -const isNotArrowToken = negate(isArrowToken); -const isNotCommaToken = negate(isCommaToken); -const isNotSemicolonToken = negate(isSemicolonToken); -const isNotColonToken = negate(isColonToken); -const isNotOpeningParenToken = negate(isOpeningParenToken); -const isNotClosingParenToken = negate(isClosingParenToken); -const isNotOpeningBracketToken = negate(isOpeningBracketToken); -const isNotClosingBracketToken = negate(isClosingBracketToken); -const isNotOpeningBraceToken = negate(isOpeningBraceToken); -const isNotClosingBraceToken = negate(isClosingBraceToken); -const isNotCommentToken = negate(isCommentToken); - -/** - * Get the `(` token of the given function node. - * @param {Node} node - The function node to get. - * @param {SourceCode} sourceCode - The source code object to get tokens. - * @returns {Token} `(` token. - */ -function getOpeningParenOfParams(node, sourceCode) { - return node.id - ? sourceCode.getTokenAfter(node.id, isOpeningParenToken) - : sourceCode.getFirstToken(node, isOpeningParenToken) -} - -/** - * Get the location of the given function node for reporting. - * @param {Node} node - The function node to get. - * @param {SourceCode} sourceCode - The source code object to get tokens. - * @returns {string} The location of the function node for reporting. - */ -function getFunctionHeadLocation(node, sourceCode) { - const parent = node.parent; - let start = null; - let end = null; - - if (node.type === "ArrowFunctionExpression") { - const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken); - - start = arrowToken.loc.start; - end = arrowToken.loc.end; - } else if ( - parent.type === "Property" || - parent.type === "MethodDefinition" || - parent.type === "PropertyDefinition" - ) { - start = parent.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } else { - start = node.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } - - return { - start: { ...start }, - end: { ...end }, - } -} - -/* globals globalThis, global, self, window */ - -const globalObject = - typeof globalThis !== "undefined" - ? globalThis - : typeof self !== "undefined" - ? self - : typeof window !== "undefined" - ? window - : typeof global !== "undefined" - ? global - : {}; - -const builtinNames = Object.freeze( - new Set([ - "Array", - "ArrayBuffer", - "BigInt", - "BigInt64Array", - "BigUint64Array", - "Boolean", - "DataView", - "Date", - "decodeURI", - "decodeURIComponent", - "encodeURI", - "encodeURIComponent", - "escape", - "Float32Array", - "Float64Array", - "Function", - "Infinity", - "Int16Array", - "Int32Array", - "Int8Array", - "isFinite", - "isNaN", - "isPrototypeOf", - "JSON", - "Map", - "Math", - "NaN", - "Number", - "Object", - "parseFloat", - "parseInt", - "Promise", - "Proxy", - "Reflect", - "RegExp", - "Set", - "String", - "Symbol", - "Uint16Array", - "Uint32Array", - "Uint8Array", - "Uint8ClampedArray", - "undefined", - "unescape", - "WeakMap", - "WeakSet", - ]), -); -const callAllowed = new Set( - [ - Array.isArray, - Array.of, - Array.prototype.at, - Array.prototype.concat, - Array.prototype.entries, - Array.prototype.every, - Array.prototype.filter, - Array.prototype.find, - Array.prototype.findIndex, - Array.prototype.flat, - Array.prototype.includes, - Array.prototype.indexOf, - Array.prototype.join, - Array.prototype.keys, - Array.prototype.lastIndexOf, - Array.prototype.slice, - Array.prototype.some, - Array.prototype.toString, - Array.prototype.values, - typeof BigInt === "function" ? BigInt : undefined, - Boolean, - Date, - Date.parse, - decodeURI, - decodeURIComponent, - encodeURI, - encodeURIComponent, - escape, - isFinite, - isNaN, - isPrototypeOf, - Map, - Map.prototype.entries, - Map.prototype.get, - Map.prototype.has, - Map.prototype.keys, - Map.prototype.values, - ...Object.getOwnPropertyNames(Math) - .filter((k) => k !== "random") - .map((k) => Math[k]) - .filter((f) => typeof f === "function"), - Number, - Number.isFinite, - Number.isNaN, - Number.parseFloat, - Number.parseInt, - Number.prototype.toExponential, - Number.prototype.toFixed, - Number.prototype.toPrecision, - Number.prototype.toString, - Object, - Object.entries, - Object.is, - Object.isExtensible, - Object.isFrozen, - Object.isSealed, - Object.keys, - Object.values, - parseFloat, - parseInt, - RegExp, - Set, - Set.prototype.entries, - Set.prototype.has, - Set.prototype.keys, - Set.prototype.values, - String, - String.fromCharCode, - String.fromCodePoint, - String.raw, - String.prototype.at, - String.prototype.charAt, - String.prototype.charCodeAt, - String.prototype.codePointAt, - String.prototype.concat, - String.prototype.endsWith, - String.prototype.includes, - String.prototype.indexOf, - String.prototype.lastIndexOf, - String.prototype.normalize, - String.prototype.padEnd, - String.prototype.padStart, - String.prototype.slice, - String.prototype.startsWith, - String.prototype.substr, - String.prototype.substring, - String.prototype.toLowerCase, - String.prototype.toString, - String.prototype.toUpperCase, - String.prototype.trim, - String.prototype.trimEnd, - String.prototype.trimLeft, - String.prototype.trimRight, - String.prototype.trimStart, - Symbol.for, - Symbol.keyFor, - unescape, - ].filter((f) => typeof f === "function"), -); -const callPassThrough = new Set([ - Object.freeze, - Object.preventExtensions, - Object.seal, -]); - -/** @type {ReadonlyArray]>} */ -const getterAllowed = [ - [Map, new Set(["size"])], - [ - RegExp, - new Set([ - "dotAll", - "flags", - "global", - "hasIndices", - "ignoreCase", - "multiline", - "source", - "sticky", - "unicode", - ]), - ], - [Set, new Set(["size"])], -]; - -/** - * Get the property descriptor. - * @param {object} object The object to get. - * @param {string|number|symbol} name The property name to get. - */ -function getPropertyDescriptor(object, name) { - let x = object; - while ((typeof x === "object" || typeof x === "function") && x !== null) { - const d = Object.getOwnPropertyDescriptor(x, name); - if (d) { - return d - } - x = Object.getPrototypeOf(x); - } - return null -} - -/** - * Check if a property is getter or not. - * @param {object} object The object to check. - * @param {string|number|symbol} name The property name to check. - */ -function isGetter(object, name) { - const d = getPropertyDescriptor(object, name); - return d != null && d.get != null -} - -/** - * Get the element values of a given node list. - * @param {Node[]} nodeList The node list to get values. - * @param {Scope|undefined} initialScope The initial scope to find variables. - * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null. - */ -function getElementValues(nodeList, initialScope) { - const valueList = []; - - for (let i = 0; i < nodeList.length; ++i) { - const elementNode = nodeList[i]; - - if (elementNode == null) { - valueList.length = i + 1; - } else if (elementNode.type === "SpreadElement") { - const argument = getStaticValueR(elementNode.argument, initialScope); - if (argument == null) { - return null - } - valueList.push(...argument.value); - } else { - const element = getStaticValueR(elementNode, initialScope); - if (element == null) { - return null - } - valueList.push(element.value); - } - } - - return valueList -} - -/** - * Returns whether the given variable is never written to after initialization. - * @param {import("eslint").Scope.Variable} variable - * @returns {boolean} - */ -function isEffectivelyConst(variable) { - const refs = variable.references; - - const inits = refs.filter((r) => r.init).length; - const reads = refs.filter((r) => r.isReadOnly()).length; - if (inits === 1 && reads + inits === refs.length) { - // there is only one init and all other references only read - return true - } - return false -} - -const operations = Object.freeze({ - ArrayExpression(node, initialScope) { - const elements = getElementValues(node.elements, initialScope); - return elements != null ? { value: elements } : null - }, - - AssignmentExpression(node, initialScope) { - if (node.operator === "=") { - return getStaticValueR(node.right, initialScope) - } - return null - }, - - //eslint-disable-next-line complexity - BinaryExpression(node, initialScope) { - if (node.operator === "in" || node.operator === "instanceof") { - // Not supported. - return null - } - - const left = getStaticValueR(node.left, initialScope); - const right = getStaticValueR(node.right, initialScope); - if (left != null && right != null) { - switch (node.operator) { - case "==": - return { value: left.value == right.value } //eslint-disable-line eqeqeq - case "!=": - return { value: left.value != right.value } //eslint-disable-line eqeqeq - case "===": - return { value: left.value === right.value } - case "!==": - return { value: left.value !== right.value } - case "<": - return { value: left.value < right.value } - case "<=": - return { value: left.value <= right.value } - case ">": - return { value: left.value > right.value } - case ">=": - return { value: left.value >= right.value } - case "<<": - return { value: left.value << right.value } - case ">>": - return { value: left.value >> right.value } - case ">>>": - return { value: left.value >>> right.value } - case "+": - return { value: left.value + right.value } - case "-": - return { value: left.value - right.value } - case "*": - return { value: left.value * right.value } - case "/": - return { value: left.value / right.value } - case "%": - return { value: left.value % right.value } - case "**": - return { value: left.value ** right.value } - case "|": - return { value: left.value | right.value } - case "^": - return { value: left.value ^ right.value } - case "&": - return { value: left.value & right.value } - - // no default - } - } - - return null - }, - - CallExpression(node, initialScope) { - const calleeNode = node.callee; - const args = getElementValues(node.arguments, initialScope); - - if (args != null) { - if (calleeNode.type === "MemberExpression") { - if (calleeNode.property.type === "PrivateIdentifier") { - return null - } - const object = getStaticValueR(calleeNode.object, initialScope); - if (object != null) { - if ( - object.value == null && - (object.optional || node.optional) - ) { - return { value: undefined, optional: true } - } - const property = getStaticPropertyNameValue( - calleeNode, - initialScope, - ); - - if (property != null) { - const receiver = object.value; - const methodName = property.value; - if (callAllowed.has(receiver[methodName])) { - return { value: receiver[methodName](...args) } - } - if (callPassThrough.has(receiver[methodName])) { - return { value: args[0] } - } - } - } - } else { - const callee = getStaticValueR(calleeNode, initialScope); - if (callee != null) { - if (callee.value == null && node.optional) { - return { value: undefined, optional: true } - } - const func = callee.value; - if (callAllowed.has(func)) { - return { value: func(...args) } - } - if (callPassThrough.has(func)) { - return { value: args[0] } - } - } - } - } - - return null - }, - - ConditionalExpression(node, initialScope) { - const test = getStaticValueR(node.test, initialScope); - if (test != null) { - return test.value - ? getStaticValueR(node.consequent, initialScope) - : getStaticValueR(node.alternate, initialScope) - } - return null - }, - - ExpressionStatement(node, initialScope) { - return getStaticValueR(node.expression, initialScope) - }, - - Identifier(node, initialScope) { - if (initialScope != null) { - const variable = findVariable(initialScope, node); - - // Built-in globals. - if ( - variable != null && - variable.defs.length === 0 && - builtinNames.has(variable.name) && - variable.name in globalObject - ) { - return { value: globalObject[variable.name] } - } - - // Constants. - if (variable != null && variable.defs.length === 1) { - const def = variable.defs[0]; - if ( - def.parent && - def.type === "Variable" && - (def.parent.kind === "const" || - isEffectivelyConst(variable)) && - // TODO(mysticatea): don't support destructuring here. - def.node.id.type === "Identifier" - ) { - return getStaticValueR(def.node.init, initialScope) - } - } - } - return null - }, - - Literal(node) { - //istanbul ignore if : this is implementation-specific behavior. - if ((node.regex != null || node.bigint != null) && node.value == null) { - // It was a RegExp/BigInt literal, but Node.js didn't support it. - return null - } - return { value: node.value } - }, - - LogicalExpression(node, initialScope) { - const left = getStaticValueR(node.left, initialScope); - if (left != null) { - if ( - (node.operator === "||" && Boolean(left.value) === true) || - (node.operator === "&&" && Boolean(left.value) === false) || - (node.operator === "??" && left.value != null) - ) { - return left - } - - const right = getStaticValueR(node.right, initialScope); - if (right != null) { - return right - } - } - - return null - }, - - MemberExpression(node, initialScope) { - if (node.property.type === "PrivateIdentifier") { - return null - } - const object = getStaticValueR(node.object, initialScope); - if (object != null) { - if (object.value == null && (object.optional || node.optional)) { - return { value: undefined, optional: true } - } - const property = getStaticPropertyNameValue(node, initialScope); - - if (property != null) { - if (!isGetter(object.value, property.value)) { - return { value: object.value[property.value] } - } - - for (const [classFn, allowed] of getterAllowed) { - if ( - object.value instanceof classFn && - allowed.has(property.value) - ) { - return { value: object.value[property.value] } - } - } - } - } - return null - }, - - ChainExpression(node, initialScope) { - const expression = getStaticValueR(node.expression, initialScope); - if (expression != null) { - return { value: expression.value } - } - return null - }, - - NewExpression(node, initialScope) { - const callee = getStaticValueR(node.callee, initialScope); - const args = getElementValues(node.arguments, initialScope); - - if (callee != null && args != null) { - const Func = callee.value; - if (callAllowed.has(Func)) { - return { value: new Func(...args) } - } - } - - return null - }, - - ObjectExpression(node, initialScope) { - const object = {}; - - for (const propertyNode of node.properties) { - if (propertyNode.type === "Property") { - if (propertyNode.kind !== "init") { - return null - } - const key = getStaticPropertyNameValue( - propertyNode, - initialScope, - ); - const value = getStaticValueR(propertyNode.value, initialScope); - if (key == null || value == null) { - return null - } - object[key.value] = value.value; - } else if ( - propertyNode.type === "SpreadElement" || - propertyNode.type === "ExperimentalSpreadProperty" - ) { - const argument = getStaticValueR( - propertyNode.argument, - initialScope, - ); - if (argument == null) { - return null - } - Object.assign(object, argument.value); - } else { - return null - } - } - - return { value: object } - }, - - SequenceExpression(node, initialScope) { - const last = node.expressions[node.expressions.length - 1]; - return getStaticValueR(last, initialScope) - }, - - TaggedTemplateExpression(node, initialScope) { - const tag = getStaticValueR(node.tag, initialScope); - const expressions = getElementValues( - node.quasi.expressions, - initialScope, - ); - - if (tag != null && expressions != null) { - const func = tag.value; - const strings = node.quasi.quasis.map((q) => q.value.cooked); - strings.raw = node.quasi.quasis.map((q) => q.value.raw); - - if (func === String.raw) { - return { value: func(strings, ...expressions) } - } - } - - return null - }, - - TemplateLiteral(node, initialScope) { - const expressions = getElementValues(node.expressions, initialScope); - if (expressions != null) { - let value = node.quasis[0].value.cooked; - for (let i = 0; i < expressions.length; ++i) { - value += expressions[i]; - value += node.quasis[i + 1].value.cooked; - } - return { value } - } - return null - }, - - UnaryExpression(node, initialScope) { - if (node.operator === "delete") { - // Not supported. - return null - } - if (node.operator === "void") { - return { value: undefined } - } - - const arg = getStaticValueR(node.argument, initialScope); - if (arg != null) { - switch (node.operator) { - case "-": - return { value: -arg.value } - case "+": - return { value: +arg.value } //eslint-disable-line no-implicit-coercion - case "!": - return { value: !arg.value } - case "~": - return { value: ~arg.value } - case "typeof": - return { value: typeof arg.value } - - // no default - } - } - - return null - }, -}); - -/** - * Get the value of a given node if it's a static value. - * @param {Node} node The node to get. - * @param {Scope|undefined} initialScope The scope to start finding variable. - * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. - */ -function getStaticValueR(node, initialScope) { - if (node != null && Object.hasOwnProperty.call(operations, node.type)) { - return operations[node.type](node, initialScope) - } - return null -} - -/** - * Get the static value of property name from a MemberExpression node or a Property node. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. - * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`. - */ -function getStaticPropertyNameValue(node, initialScope) { - const nameNode = node.type === "Property" ? node.key : node.property; - - if (node.computed) { - return getStaticValueR(nameNode, initialScope) - } - - if (nameNode.type === "Identifier") { - return { value: nameNode.name } - } - - if (nameNode.type === "Literal") { - if (nameNode.bigint) { - return { value: nameNode.bigint } - } - return { value: String(nameNode.value) } - } - - return null -} - -/** - * Get the value of a given node if it's a static value. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible. - * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`. - */ -function getStaticValue(node, initialScope = null) { - try { - return getStaticValueR(node, initialScope) - } catch (_error) { - return null - } -} - -/** - * Get the value of a given node if it's a literal or a template literal. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant. - * @returns {string|null} The value of the node, or `null`. - */ -function getStringIfConstant(node, initialScope = null) { - // Handle the literals that the platform doesn't support natively. - if (node && node.type === "Literal" && node.value === null) { - if (node.regex) { - return `/${node.regex.pattern}/${node.regex.flags}` - } - if (node.bigint) { - return node.bigint - } - } - - const evaluated = getStaticValue(node, initialScope); - return evaluated && String(evaluated.value) -} - -/** - * Get the property name from a MemberExpression node or a Property node. - * @param {Node} node The node to get. - * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it. - * @returns {string|null} The property name of the node. - */ -function getPropertyName(node, initialScope) { - switch (node.type) { - case "MemberExpression": - if (node.computed) { - return getStringIfConstant(node.property, initialScope) - } - if (node.property.type === "PrivateIdentifier") { - return null - } - return node.property.name - - case "Property": - case "MethodDefinition": - case "PropertyDefinition": - if (node.computed) { - return getStringIfConstant(node.key, initialScope) - } - if (node.key.type === "Literal") { - return String(node.key.value) - } - if (node.key.type === "PrivateIdentifier") { - return null - } - return node.key.name - - // no default - } - - return null -} - -/** - * Get the name and kind of the given function node. - * @param {ASTNode} node - The function node to get. - * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys. - * @returns {string} The name and kind of the function node. - */ -// eslint-disable-next-line complexity -function getFunctionNameWithKind(node, sourceCode) { - const parent = node.parent; - const tokens = []; - const isObjectMethod = parent.type === "Property" && parent.value === node; - const isClassMethod = - parent.type === "MethodDefinition" && parent.value === node; - const isClassFieldMethod = - parent.type === "PropertyDefinition" && parent.value === node; - - // Modifiers. - if (isClassMethod || isClassFieldMethod) { - if (parent.static) { - tokens.push("static"); - } - if (parent.key.type === "PrivateIdentifier") { - tokens.push("private"); - } - } - if (node.async) { - tokens.push("async"); - } - if (node.generator) { - tokens.push("generator"); - } - - // Kinds. - if (isObjectMethod || isClassMethod) { - if (parent.kind === "constructor") { - return "constructor" - } - if (parent.kind === "get") { - tokens.push("getter"); - } else if (parent.kind === "set") { - tokens.push("setter"); - } else { - tokens.push("method"); - } - } else if (isClassFieldMethod) { - tokens.push("method"); - } else { - if (node.type === "ArrowFunctionExpression") { - tokens.push("arrow"); - } - tokens.push("function"); - } - - // Names. - if (isObjectMethod || isClassMethod || isClassFieldMethod) { - if (parent.key.type === "PrivateIdentifier") { - tokens.push(`#${parent.key.name}`); - } else { - const name = getPropertyName(parent); - if (name) { - tokens.push(`'${name}'`); - } else if (sourceCode) { - const keyText = sourceCode.getText(parent.key); - if (!keyText.includes("\n")) { - tokens.push(`[${keyText}]`); - } - } - } - } else if (node.id) { - tokens.push(`'${node.id.name}'`); - } else if ( - parent.type === "VariableDeclarator" && - parent.id && - parent.id.type === "Identifier" - ) { - tokens.push(`'${parent.id.name}'`); - } else if ( - (parent.type === "AssignmentExpression" || - parent.type === "AssignmentPattern") && - parent.left && - parent.left.type === "Identifier" - ) { - tokens.push(`'${parent.left.name}'`); - } else if ( - parent.type === "ExportDefaultDeclaration" && - parent.declaration === node - ) { - tokens.push("'default'"); - } - - return tokens.join(" ") -} - -const typeConversionBinaryOps = Object.freeze( - new Set([ - "==", - "!=", - "<", - "<=", - ">", - ">=", - "<<", - ">>", - ">>>", - "+", - "-", - "*", - "/", - "%", - "|", - "^", - "&", - "in", - ]), -); -const typeConversionUnaryOps = Object.freeze(new Set(["-", "+", "!", "~"])); - -/** - * Check whether the given value is an ASTNode or not. - * @param {any} x The value to check. - * @returns {boolean} `true` if the value is an ASTNode. - */ -function isNode(x) { - return x !== null && typeof x === "object" && typeof x.type === "string" -} - -const visitor = Object.freeze( - Object.assign(Object.create(null), { - $visit(node, options, visitorKeys) { - const { type } = node; - - if (typeof this[type] === "function") { - return this[type](node, options, visitorKeys) - } - - return this.$visitChildren(node, options, visitorKeys) - }, - - $visitChildren(node, options, visitorKeys) { - const { type } = node; - - for (const key of visitorKeys[type] || getKeys(node)) { - const value = node[key]; - - if (Array.isArray(value)) { - for (const element of value) { - if ( - isNode(element) && - this.$visit(element, options, visitorKeys) - ) { - return true - } - } - } else if ( - isNode(value) && - this.$visit(value, options, visitorKeys) - ) { - return true - } - } - - return false - }, - - ArrowFunctionExpression() { - return false - }, - AssignmentExpression() { - return true - }, - AwaitExpression() { - return true - }, - BinaryExpression(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - typeConversionBinaryOps.has(node.operator) && - (node.left.type !== "Literal" || node.right.type !== "Literal") - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - CallExpression() { - return true - }, - FunctionExpression() { - return false - }, - ImportExpression() { - return true - }, - MemberExpression(node, options, visitorKeys) { - if (options.considerGetters) { - return true - } - if ( - options.considerImplicitTypeConversion && - node.computed && - node.property.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - MethodDefinition(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - node.computed && - node.key.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - NewExpression() { - return true - }, - Property(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - node.computed && - node.key.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - PropertyDefinition(node, options, visitorKeys) { - if ( - options.considerImplicitTypeConversion && - node.computed && - node.key.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - UnaryExpression(node, options, visitorKeys) { - if (node.operator === "delete") { - return true - } - if ( - options.considerImplicitTypeConversion && - typeConversionUnaryOps.has(node.operator) && - node.argument.type !== "Literal" - ) { - return true - } - return this.$visitChildren(node, options, visitorKeys) - }, - UpdateExpression() { - return true - }, - YieldExpression() { - return true - }, - }), -); - -/** - * Check whether a given node has any side effect or not. - * @param {Node} node The node to get. - * @param {SourceCode} sourceCode The source code object. - * @param {object} [options] The option object. - * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects. - * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects. - * @param {object} [options.visitorKeys=KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`. - * @returns {boolean} `true` if the node has a certain side effect. - */ -function hasSideEffect( - node, - sourceCode, - { considerGetters = false, considerImplicitTypeConversion = false } = {}, -) { - return visitor.$visit( - node, - { considerGetters, considerImplicitTypeConversion }, - sourceCode.visitorKeys || KEYS, - ) -} - -/** - * Get the left parenthesis of the parent node syntax if it exists. - * E.g., `if (a) {}` then the `(`. - * @param {Node} node The AST node to check. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {Token|null} The left parenthesis of the parent node syntax - */ -function getParentSyntaxParen(node, sourceCode) { - const parent = node.parent; - - switch (parent.type) { - case "CallExpression": - case "NewExpression": - if (parent.arguments.length === 1 && parent.arguments[0] === node) { - return sourceCode.getTokenAfter( - parent.callee, - isOpeningParenToken, - ) - } - return null - - case "DoWhileStatement": - if (parent.test === node) { - return sourceCode.getTokenAfter( - parent.body, - isOpeningParenToken, - ) - } - return null - - case "IfStatement": - case "WhileStatement": - if (parent.test === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - case "ImportExpression": - if (parent.source === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - case "SwitchStatement": - if (parent.discriminant === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - case "WithStatement": - if (parent.object === node) { - return sourceCode.getFirstToken(parent, 1) - } - return null - - default: - return null - } -} - -/** - * Check whether a given node is parenthesized or not. - * @param {number} times The number of parantheses. - * @param {Node} node The AST node to check. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {boolean} `true` if the node is parenthesized the given times. - */ -/** - * Check whether a given node is parenthesized or not. - * @param {Node} node The AST node to check. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {boolean} `true` if the node is parenthesized. - */ -function isParenthesized( - timesOrNode, - nodeOrSourceCode, - optionalSourceCode, -) { - let times, node, sourceCode, maybeLeftParen, maybeRightParen; - if (typeof timesOrNode === "number") { - times = timesOrNode | 0; - node = nodeOrSourceCode; - sourceCode = optionalSourceCode; - if (!(times >= 1)) { - throw new TypeError("'times' should be a positive integer.") - } - } else { - times = 1; - node = timesOrNode; - sourceCode = nodeOrSourceCode; - } - - if ( - node == null || - // `Program` can't be parenthesized - node.parent == null || - // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}` - (node.parent.type === "CatchClause" && node.parent.param === node) - ) { - return false - } - - maybeLeftParen = maybeRightParen = node; - do { - maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen); - maybeRightParen = sourceCode.getTokenAfter(maybeRightParen); - } while ( - maybeLeftParen != null && - maybeRightParen != null && - isOpeningParenToken(maybeLeftParen) && - isClosingParenToken(maybeRightParen) && - // Avoid false positive such as `if (a) {}` - maybeLeftParen !== getParentSyntaxParen(node, sourceCode) && - --times > 0 - ) - - return times === 0 -} - -/** - * @author Toru Nagashima - * See LICENSE file in root directory for full license. - */ - -const placeholder = /\$(?:[$&`']|[1-9][0-9]?)/gu; - -/** @type {WeakMap} */ -const internal = new WeakMap(); - -/** - * Check whether a given character is escaped or not. - * @param {string} str The string to check. - * @param {number} index The location of the character to check. - * @returns {boolean} `true` if the character is escaped. - */ -function isEscaped(str, index) { - let escaped = false; - for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) { - escaped = !escaped; - } - return escaped -} - -/** - * Replace a given string by a given matcher. - * @param {PatternMatcher} matcher The pattern matcher. - * @param {string} str The string to be replaced. - * @param {string} replacement The new substring to replace each matched part. - * @returns {string} The replaced string. - */ -function replaceS(matcher, str, replacement) { - const chunks = []; - let index = 0; - - /** @type {RegExpExecArray} */ - let match = null; - - /** - * @param {string} key The placeholder. - * @returns {string} The replaced string. - */ - function replacer(key) { - switch (key) { - case "$$": - return "$" - case "$&": - return match[0] - case "$`": - return str.slice(0, match.index) - case "$'": - return str.slice(match.index + match[0].length) - default: { - const i = key.slice(1); - if (i in match) { - return match[i] - } - return key - } - } - } - - for (match of matcher.execAll(str)) { - chunks.push(str.slice(index, match.index)); - chunks.push(replacement.replace(placeholder, replacer)); - index = match.index + match[0].length; - } - chunks.push(str.slice(index)); - - return chunks.join("") -} - -/** - * Replace a given string by a given matcher. - * @param {PatternMatcher} matcher The pattern matcher. - * @param {string} str The string to be replaced. - * @param {(...strs[])=>string} replace The function to replace each matched part. - * @returns {string} The replaced string. - */ -function replaceF(matcher, str, replace) { - const chunks = []; - let index = 0; - - for (const match of matcher.execAll(str)) { - chunks.push(str.slice(index, match.index)); - chunks.push(String(replace(...match, match.index, match.input))); - index = match.index + match[0].length; - } - chunks.push(str.slice(index)); - - return chunks.join("") -} - -/** - * The class to find patterns as considering escape sequences. - */ -class PatternMatcher { - /** - * Initialize this matcher. - * @param {RegExp} pattern The pattern to match. - * @param {{escaped:boolean}} options The options. - */ - constructor(pattern, { escaped = false } = {}) { - if (!(pattern instanceof RegExp)) { - throw new TypeError("'pattern' should be a RegExp instance.") - } - if (!pattern.flags.includes("g")) { - throw new Error("'pattern' should contains 'g' flag.") - } - - internal.set(this, { - pattern: new RegExp(pattern.source, pattern.flags), - escaped: Boolean(escaped), - }); - } - - /** - * Find the pattern in a given string. - * @param {string} str The string to find. - * @returns {IterableIterator} The iterator which iterate the matched information. - */ - *execAll(str) { - const { pattern, escaped } = internal.get(this); - let match = null; - let lastIndex = 0; - - pattern.lastIndex = 0; - while ((match = pattern.exec(str)) != null) { - if (escaped || !isEscaped(str, match.index)) { - lastIndex = pattern.lastIndex; - yield match; - pattern.lastIndex = lastIndex; - } - } - } - - /** - * Check whether the pattern is found in a given string. - * @param {string} str The string to check. - * @returns {boolean} `true` if the pattern was found in the string. - */ - test(str) { - const it = this.execAll(str); - const ret = it.next(); - return !ret.done - } - - /** - * Replace a given string. - * @param {string} str The string to be replaced. - * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`. - * @returns {string} The replaced string. - */ - [Symbol.replace](str, replacer) { - return typeof replacer === "function" - ? replaceF(this, String(str), replacer) - : replaceS(this, String(str), String(replacer)) - } -} - -const IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u; -const has = Function.call.bind(Object.hasOwnProperty); - -const READ = Symbol("read"); -const CALL = Symbol("call"); -const CONSTRUCT = Symbol("construct"); -const ESM = Symbol("esm"); - -const requireCall = { require: { [CALL]: true } }; - -/** - * Check whether a given variable is modified or not. - * @param {Variable} variable The variable to check. - * @returns {boolean} `true` if the variable is modified. - */ -function isModifiedGlobal(variable) { - return ( - variable == null || - variable.defs.length !== 0 || - variable.references.some((r) => r.isWrite()) - ) -} - -/** - * Check if the value of a given node is passed through to the parent syntax as-is. - * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through. - * @param {Node} node A node to check. - * @returns {boolean} `true` if the node is passed through. - */ -function isPassThrough(node) { - const parent = node.parent; - - switch (parent && parent.type) { - case "ConditionalExpression": - return parent.consequent === node || parent.alternate === node - case "LogicalExpression": - return true - case "SequenceExpression": - return parent.expressions[parent.expressions.length - 1] === node - case "ChainExpression": - return true - - default: - return false - } -} - -/** - * The reference tracker. - */ -class ReferenceTracker { - /** - * Initialize this tracker. - * @param {Scope} globalScope The global scope. - * @param {object} [options] The options. - * @param {"legacy"|"strict"} [options.mode="strict"] The mode to determine the ImportDeclaration's behavior for CJS modules. - * @param {string[]} [options.globalObjectNames=["global","globalThis","self","window"]] The variable names for Global Object. - */ - constructor( - globalScope, - { - mode = "strict", - globalObjectNames = ["global", "globalThis", "self", "window"], - } = {}, - ) { - this.variableStack = []; - this.globalScope = globalScope; - this.mode = mode; - this.globalObjectNames = globalObjectNames.slice(0); - } - - /** - * Iterate the references of global variables. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *iterateGlobalReferences(traceMap) { - for (const key of Object.keys(traceMap)) { - const nextTraceMap = traceMap[key]; - const path = [key]; - const variable = this.globalScope.set.get(key); - - if (isModifiedGlobal(variable)) { - continue - } - - yield* this._iterateVariableReferences( - variable, - path, - nextTraceMap, - true, - ); - } - - for (const key of this.globalObjectNames) { - const path = []; - const variable = this.globalScope.set.get(key); - - if (isModifiedGlobal(variable)) { - continue - } - - yield* this._iterateVariableReferences( - variable, - path, - traceMap, - false, - ); - } - } - - /** - * Iterate the references of CommonJS modules. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *iterateCjsReferences(traceMap) { - for (const { node } of this.iterateGlobalReferences(requireCall)) { - const key = getStringIfConstant(node.arguments[0]); - if (key == null || !has(traceMap, key)) { - continue - } - - const nextTraceMap = traceMap[key]; - const path = [key]; - - if (nextTraceMap[READ]) { - yield { - node, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iteratePropertyReferences(node, path, nextTraceMap); - } - } - - /** - * Iterate the references of ES modules. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *iterateEsmReferences(traceMap) { - const programNode = this.globalScope.block; - - for (const node of programNode.body) { - if (!IMPORT_TYPE.test(node.type) || node.source == null) { - continue - } - const moduleId = node.source.value; - - if (!has(traceMap, moduleId)) { - continue - } - const nextTraceMap = traceMap[moduleId]; - const path = [moduleId]; - - if (nextTraceMap[READ]) { - yield { node, path, type: READ, info: nextTraceMap[READ] }; - } - - if (node.type === "ExportAllDeclaration") { - for (const key of Object.keys(nextTraceMap)) { - const exportTraceMap = nextTraceMap[key]; - if (exportTraceMap[READ]) { - yield { - node, - path: path.concat(key), - type: READ, - info: exportTraceMap[READ], - }; - } - } - } else { - for (const specifier of node.specifiers) { - const esm = has(nextTraceMap, ESM); - const it = this._iterateImportReferences( - specifier, - path, - esm - ? nextTraceMap - : this.mode === "legacy" - ? { default: nextTraceMap, ...nextTraceMap } - : { default: nextTraceMap }, - ); - - if (esm) { - yield* it; - } else { - for (const report of it) { - report.path = report.path.filter(exceptDefault); - if ( - report.path.length >= 2 || - report.type !== READ - ) { - yield report; - } - } - } - } - } - } - } - - /** - * Iterate the references for a given variable. - * @param {Variable} variable The variable to iterate that references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @param {boolean} shouldReport = The flag to report those references. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *_iterateVariableReferences(variable, path, traceMap, shouldReport) { - if (this.variableStack.includes(variable)) { - return - } - this.variableStack.push(variable); - try { - for (const reference of variable.references) { - if (!reference.isRead()) { - continue - } - const node = reference.identifier; - - if (shouldReport && traceMap[READ]) { - yield { node, path, type: READ, info: traceMap[READ] }; - } - yield* this._iteratePropertyReferences(node, path, traceMap); - } - } finally { - this.variableStack.pop(); - } - } - - /** - * Iterate the references for a given AST node. - * @param rootNode The AST node to iterate references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - //eslint-disable-next-line complexity - *_iteratePropertyReferences(rootNode, path, traceMap) { - let node = rootNode; - while (isPassThrough(node)) { - node = node.parent; - } - - const parent = node.parent; - if (parent.type === "MemberExpression") { - if (parent.object === node) { - const key = getPropertyName(parent); - if (key == null || !has(traceMap, key)) { - return - } - - path = path.concat(key); //eslint-disable-line no-param-reassign - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: parent, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iteratePropertyReferences( - parent, - path, - nextTraceMap, - ); - } - return - } - if (parent.type === "CallExpression") { - if (parent.callee === node && traceMap[CALL]) { - yield { node: parent, path, type: CALL, info: traceMap[CALL] }; - } - return - } - if (parent.type === "NewExpression") { - if (parent.callee === node && traceMap[CONSTRUCT]) { - yield { - node: parent, - path, - type: CONSTRUCT, - info: traceMap[CONSTRUCT], - }; - } - return - } - if (parent.type === "AssignmentExpression") { - if (parent.right === node) { - yield* this._iterateLhsReferences(parent.left, path, traceMap); - yield* this._iteratePropertyReferences(parent, path, traceMap); - } - return - } - if (parent.type === "AssignmentPattern") { - if (parent.right === node) { - yield* this._iterateLhsReferences(parent.left, path, traceMap); - } - return - } - if (parent.type === "VariableDeclarator") { - if (parent.init === node) { - yield* this._iterateLhsReferences(parent.id, path, traceMap); - } - } - } - - /** - * Iterate the references for a given Pattern node. - * @param {Node} patternNode The Pattern node to iterate references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *_iterateLhsReferences(patternNode, path, traceMap) { - if (patternNode.type === "Identifier") { - const variable = findVariable(this.globalScope, patternNode); - if (variable != null) { - yield* this._iterateVariableReferences( - variable, - path, - traceMap, - false, - ); - } - return - } - if (patternNode.type === "ObjectPattern") { - for (const property of patternNode.properties) { - const key = getPropertyName(property); - - if (key == null || !has(traceMap, key)) { - continue - } - - const nextPath = path.concat(key); - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: property, - path: nextPath, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iterateLhsReferences( - property.value, - nextPath, - nextTraceMap, - ); - } - return - } - if (patternNode.type === "AssignmentPattern") { - yield* this._iterateLhsReferences(patternNode.left, path, traceMap); - } - } - - /** - * Iterate the references for a given ModuleSpecifier node. - * @param {Node} specifierNode The ModuleSpecifier node to iterate references. - * @param {string[]} path The current path. - * @param {object} traceMap The trace map. - * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references. - */ - *_iterateImportReferences(specifierNode, path, traceMap) { - const type = specifierNode.type; - - if (type === "ImportSpecifier" || type === "ImportDefaultSpecifier") { - const key = - type === "ImportDefaultSpecifier" - ? "default" - : specifierNode.imported.name; - if (!has(traceMap, key)) { - return - } - - path = path.concat(key); //eslint-disable-line no-param-reassign - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: specifierNode, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - yield* this._iterateVariableReferences( - findVariable(this.globalScope, specifierNode.local), - path, - nextTraceMap, - false, - ); - - return - } - - if (type === "ImportNamespaceSpecifier") { - yield* this._iterateVariableReferences( - findVariable(this.globalScope, specifierNode.local), - path, - traceMap, - false, - ); - return - } - - if (type === "ExportSpecifier") { - const key = specifierNode.local.name; - if (!has(traceMap, key)) { - return - } - - path = path.concat(key); //eslint-disable-line no-param-reassign - const nextTraceMap = traceMap[key]; - if (nextTraceMap[READ]) { - yield { - node: specifierNode, - path, - type: READ, - info: nextTraceMap[READ], - }; - } - } - } -} - -ReferenceTracker.READ = READ; -ReferenceTracker.CALL = CALL; -ReferenceTracker.CONSTRUCT = CONSTRUCT; -ReferenceTracker.ESM = ESM; - -/** - * This is a predicate function for Array#filter. - * @param {string} name A name part. - * @param {number} index The index of the name. - * @returns {boolean} `false` if it's default. - */ -function exceptDefault(name, index) { - return !(index === 1 && name === "default") -} - -var index = { - CALL, - CONSTRUCT, - ESM, - findVariable, - getFunctionHeadLocation, - getFunctionNameWithKind, - getInnermostScope, - getPropertyName, - getStaticValue, - getStringIfConstant, - hasSideEffect, - isArrowToken, - isClosingBraceToken, - isClosingBracketToken, - isClosingParenToken, - isColonToken, - isCommaToken, - isCommentToken, - isNotArrowToken, - isNotClosingBraceToken, - isNotClosingBracketToken, - isNotClosingParenToken, - isNotColonToken, - isNotCommaToken, - isNotCommentToken, - isNotOpeningBraceToken, - isNotOpeningBracketToken, - isNotOpeningParenToken, - isNotSemicolonToken, - isOpeningBraceToken, - isOpeningBracketToken, - isOpeningParenToken, - isParenthesized, - isSemicolonToken, - PatternMatcher, - READ, - ReferenceTracker, -}; - -export { CALL, CONSTRUCT, ESM, PatternMatcher, READ, ReferenceTracker, index as default, findVariable, getFunctionHeadLocation, getFunctionNameWithKind, getInnermostScope, getPropertyName, getStaticValue, getStringIfConstant, hasSideEffect, isArrowToken, isClosingBraceToken, isClosingBracketToken, isClosingParenToken, isColonToken, isCommaToken, isCommentToken, isNotArrowToken, isNotClosingBraceToken, isNotClosingBracketToken, isNotClosingParenToken, isNotColonToken, isNotCommaToken, isNotCommentToken, isNotOpeningBraceToken, isNotOpeningBracketToken, isNotOpeningParenToken, isNotSemicolonToken, isOpeningBraceToken, isOpeningBracketToken, isOpeningParenToken, isParenthesized, isSemicolonToken }; -//# sourceMappingURL=index.mjs.map diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs.map b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs.map deleted file mode 100644 index 8b9cf9a0..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/index.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.mjs","sources":["src/get-innermost-scope.mjs","src/find-variable.mjs","src/token-predicate.mjs","src/get-function-head-location.mjs","src/get-static-value.mjs","src/get-string-if-constant.mjs","src/get-property-name.mjs","src/get-function-name-with-kind.mjs","src/has-side-effect.mjs","src/is-parenthesized.mjs","src/pattern-matcher.mjs","src/reference-tracker.mjs","src/index.mjs"],"sourcesContent":["/**\n * Get the innermost scope which contains a given location.\n * @param {Scope} initialScope The initial scope to search.\n * @param {Node} node The location to search.\n * @returns {Scope} The innermost scope.\n */\nexport function getInnermostScope(initialScope, node) {\n const location = node.range[0]\n\n let scope = initialScope\n let found = false\n do {\n found = false\n for (const childScope of scope.childScopes) {\n const range = childScope.block.range\n\n if (range[0] <= location && location < range[1]) {\n scope = childScope\n found = true\n break\n }\n }\n } while (found)\n\n return scope\n}\n","import { getInnermostScope } from \"./get-innermost-scope.mjs\"\n\n/**\n * Find the variable of a given name.\n * @param {Scope} initialScope The scope to start finding.\n * @param {string|Node} nameOrNode The variable name to find. If this is a Node object then it should be an Identifier node.\n * @returns {Variable|null} The found variable or null.\n */\nexport function findVariable(initialScope, nameOrNode) {\n let name = \"\"\n let scope = initialScope\n\n if (typeof nameOrNode === \"string\") {\n name = nameOrNode\n } else {\n name = nameOrNode.name\n scope = getInnermostScope(scope, nameOrNode)\n }\n\n while (scope != null) {\n const variable = scope.set.get(name)\n if (variable != null) {\n return variable\n }\n scope = scope.upper\n }\n\n return null\n}\n","/**\n * Creates the negate function of the given function.\n * @param {function(Token):boolean} f - The function to negate.\n * @returns {function(Token):boolean} Negated function.\n */\nfunction negate(f) {\n return (token) => !f(token)\n}\n\n/**\n * Checks if the given token is a PunctuatorToken with the given value\n * @param {Token} token - The token to check.\n * @param {string} value - The value to check.\n * @returns {boolean} `true` if the token is a PunctuatorToken with the given value.\n */\nfunction isPunctuatorTokenWithValue(token, value) {\n return token.type === \"Punctuator\" && token.value === value\n}\n\n/**\n * Checks if the given token is an arrow token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an arrow token.\n */\nexport function isArrowToken(token) {\n return isPunctuatorTokenWithValue(token, \"=>\")\n}\n\n/**\n * Checks if the given token is a comma token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comma token.\n */\nexport function isCommaToken(token) {\n return isPunctuatorTokenWithValue(token, \",\")\n}\n\n/**\n * Checks if the given token is a semicolon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a semicolon token.\n */\nexport function isSemicolonToken(token) {\n return isPunctuatorTokenWithValue(token, \";\")\n}\n\n/**\n * Checks if the given token is a colon token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a colon token.\n */\nexport function isColonToken(token) {\n return isPunctuatorTokenWithValue(token, \":\")\n}\n\n/**\n * Checks if the given token is an opening parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening parenthesis token.\n */\nexport function isOpeningParenToken(token) {\n return isPunctuatorTokenWithValue(token, \"(\")\n}\n\n/**\n * Checks if the given token is a closing parenthesis token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing parenthesis token.\n */\nexport function isClosingParenToken(token) {\n return isPunctuatorTokenWithValue(token, \")\")\n}\n\n/**\n * Checks if the given token is an opening square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening square bracket token.\n */\nexport function isOpeningBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"[\")\n}\n\n/**\n * Checks if the given token is a closing square bracket token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing square bracket token.\n */\nexport function isClosingBracketToken(token) {\n return isPunctuatorTokenWithValue(token, \"]\")\n}\n\n/**\n * Checks if the given token is an opening brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is an opening brace token.\n */\nexport function isOpeningBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"{\")\n}\n\n/**\n * Checks if the given token is a closing brace token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a closing brace token.\n */\nexport function isClosingBraceToken(token) {\n return isPunctuatorTokenWithValue(token, \"}\")\n}\n\n/**\n * Checks if the given token is a comment token or not.\n * @param {Token} token - The token to check.\n * @returns {boolean} `true` if the token is a comment token.\n */\nexport function isCommentToken(token) {\n return [\"Block\", \"Line\", \"Shebang\"].includes(token.type)\n}\n\nexport const isNotArrowToken = negate(isArrowToken)\nexport const isNotCommaToken = negate(isCommaToken)\nexport const isNotSemicolonToken = negate(isSemicolonToken)\nexport const isNotColonToken = negate(isColonToken)\nexport const isNotOpeningParenToken = negate(isOpeningParenToken)\nexport const isNotClosingParenToken = negate(isClosingParenToken)\nexport const isNotOpeningBracketToken = negate(isOpeningBracketToken)\nexport const isNotClosingBracketToken = negate(isClosingBracketToken)\nexport const isNotOpeningBraceToken = negate(isOpeningBraceToken)\nexport const isNotClosingBraceToken = negate(isClosingBraceToken)\nexport const isNotCommentToken = negate(isCommentToken)\n","import { isArrowToken, isOpeningParenToken } from \"./token-predicate.mjs\"\n\n/**\n * Get the `(` token of the given function node.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {Token} `(` token.\n */\nfunction getOpeningParenOfParams(node, sourceCode) {\n return node.id\n ? sourceCode.getTokenAfter(node.id, isOpeningParenToken)\n : sourceCode.getFirstToken(node, isOpeningParenToken)\n}\n\n/**\n * Get the location of the given function node for reporting.\n * @param {Node} node - The function node to get.\n * @param {SourceCode} sourceCode - The source code object to get tokens.\n * @returns {string} The location of the function node for reporting.\n */\nexport function getFunctionHeadLocation(node, sourceCode) {\n const parent = node.parent\n let start = null\n let end = null\n\n if (node.type === \"ArrowFunctionExpression\") {\n const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken)\n\n start = arrowToken.loc.start\n end = arrowToken.loc.end\n } else if (\n parent.type === \"Property\" ||\n parent.type === \"MethodDefinition\" ||\n parent.type === \"PropertyDefinition\"\n ) {\n start = parent.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n } else {\n start = node.loc.start\n end = getOpeningParenOfParams(node, sourceCode).loc.start\n }\n\n return {\n start: { ...start },\n end: { ...end },\n }\n}\n","/* globals globalThis, global, self, window */\n\nimport { findVariable } from \"./find-variable.mjs\"\n\nconst globalObject =\n typeof globalThis !== \"undefined\"\n ? globalThis\n : typeof self !== \"undefined\"\n ? self\n : typeof window !== \"undefined\"\n ? window\n : typeof global !== \"undefined\"\n ? global\n : {}\n\nconst builtinNames = Object.freeze(\n new Set([\n \"Array\",\n \"ArrayBuffer\",\n \"BigInt\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"Boolean\",\n \"DataView\",\n \"Date\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"Float32Array\",\n \"Float64Array\",\n \"Function\",\n \"Infinity\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"isFinite\",\n \"isNaN\",\n \"isPrototypeOf\",\n \"JSON\",\n \"Map\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"Object\",\n \"parseFloat\",\n \"parseInt\",\n \"Promise\",\n \"Proxy\",\n \"Reflect\",\n \"RegExp\",\n \"Set\",\n \"String\",\n \"Symbol\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"undefined\",\n \"unescape\",\n \"WeakMap\",\n \"WeakSet\",\n ]),\n)\nconst callAllowed = new Set(\n [\n Array.isArray,\n Array.of,\n Array.prototype.at,\n Array.prototype.concat,\n Array.prototype.entries,\n Array.prototype.every,\n Array.prototype.filter,\n Array.prototype.find,\n Array.prototype.findIndex,\n Array.prototype.flat,\n Array.prototype.includes,\n Array.prototype.indexOf,\n Array.prototype.join,\n Array.prototype.keys,\n Array.prototype.lastIndexOf,\n Array.prototype.slice,\n Array.prototype.some,\n Array.prototype.toString,\n Array.prototype.values,\n typeof BigInt === \"function\" ? BigInt : undefined,\n Boolean,\n Date,\n Date.parse,\n decodeURI,\n decodeURIComponent,\n encodeURI,\n encodeURIComponent,\n escape,\n isFinite,\n isNaN,\n isPrototypeOf,\n Map,\n Map.prototype.entries,\n Map.prototype.get,\n Map.prototype.has,\n Map.prototype.keys,\n Map.prototype.values,\n ...Object.getOwnPropertyNames(Math)\n .filter((k) => k !== \"random\")\n .map((k) => Math[k])\n .filter((f) => typeof f === \"function\"),\n Number,\n Number.isFinite,\n Number.isNaN,\n Number.parseFloat,\n Number.parseInt,\n Number.prototype.toExponential,\n Number.prototype.toFixed,\n Number.prototype.toPrecision,\n Number.prototype.toString,\n Object,\n Object.entries,\n Object.is,\n Object.isExtensible,\n Object.isFrozen,\n Object.isSealed,\n Object.keys,\n Object.values,\n parseFloat,\n parseInt,\n RegExp,\n Set,\n Set.prototype.entries,\n Set.prototype.has,\n Set.prototype.keys,\n Set.prototype.values,\n String,\n String.fromCharCode,\n String.fromCodePoint,\n String.raw,\n String.prototype.at,\n String.prototype.charAt,\n String.prototype.charCodeAt,\n String.prototype.codePointAt,\n String.prototype.concat,\n String.prototype.endsWith,\n String.prototype.includes,\n String.prototype.indexOf,\n String.prototype.lastIndexOf,\n String.prototype.normalize,\n String.prototype.padEnd,\n String.prototype.padStart,\n String.prototype.slice,\n String.prototype.startsWith,\n String.prototype.substr,\n String.prototype.substring,\n String.prototype.toLowerCase,\n String.prototype.toString,\n String.prototype.toUpperCase,\n String.prototype.trim,\n String.prototype.trimEnd,\n String.prototype.trimLeft,\n String.prototype.trimRight,\n String.prototype.trimStart,\n Symbol.for,\n Symbol.keyFor,\n unescape,\n ].filter((f) => typeof f === \"function\"),\n)\nconst callPassThrough = new Set([\n Object.freeze,\n Object.preventExtensions,\n Object.seal,\n])\n\n/** @type {ReadonlyArray]>} */\nconst getterAllowed = [\n [Map, new Set([\"size\"])],\n [\n RegExp,\n new Set([\n \"dotAll\",\n \"flags\",\n \"global\",\n \"hasIndices\",\n \"ignoreCase\",\n \"multiline\",\n \"source\",\n \"sticky\",\n \"unicode\",\n ]),\n ],\n [Set, new Set([\"size\"])],\n]\n\n/**\n * Get the property descriptor.\n * @param {object} object The object to get.\n * @param {string|number|symbol} name The property name to get.\n */\nfunction getPropertyDescriptor(object, name) {\n let x = object\n while ((typeof x === \"object\" || typeof x === \"function\") && x !== null) {\n const d = Object.getOwnPropertyDescriptor(x, name)\n if (d) {\n return d\n }\n x = Object.getPrototypeOf(x)\n }\n return null\n}\n\n/**\n * Check if a property is getter or not.\n * @param {object} object The object to check.\n * @param {string|number|symbol} name The property name to check.\n */\nfunction isGetter(object, name) {\n const d = getPropertyDescriptor(object, name)\n return d != null && d.get != null\n}\n\n/**\n * Get the element values of a given node list.\n * @param {Node[]} nodeList The node list to get values.\n * @param {Scope|undefined} initialScope The initial scope to find variables.\n * @returns {any[]|null} The value list if all nodes are constant. Otherwise, null.\n */\nfunction getElementValues(nodeList, initialScope) {\n const valueList = []\n\n for (let i = 0; i < nodeList.length; ++i) {\n const elementNode = nodeList[i]\n\n if (elementNode == null) {\n valueList.length = i + 1\n } else if (elementNode.type === \"SpreadElement\") {\n const argument = getStaticValueR(elementNode.argument, initialScope)\n if (argument == null) {\n return null\n }\n valueList.push(...argument.value)\n } else {\n const element = getStaticValueR(elementNode, initialScope)\n if (element == null) {\n return null\n }\n valueList.push(element.value)\n }\n }\n\n return valueList\n}\n\n/**\n * Returns whether the given variable is never written to after initialization.\n * @param {import(\"eslint\").Scope.Variable} variable\n * @returns {boolean}\n */\nfunction isEffectivelyConst(variable) {\n const refs = variable.references\n\n const inits = refs.filter((r) => r.init).length\n const reads = refs.filter((r) => r.isReadOnly()).length\n if (inits === 1 && reads + inits === refs.length) {\n // there is only one init and all other references only read\n return true\n }\n return false\n}\n\nconst operations = Object.freeze({\n ArrayExpression(node, initialScope) {\n const elements = getElementValues(node.elements, initialScope)\n return elements != null ? { value: elements } : null\n },\n\n AssignmentExpression(node, initialScope) {\n if (node.operator === \"=\") {\n return getStaticValueR(node.right, initialScope)\n }\n return null\n },\n\n //eslint-disable-next-line complexity\n BinaryExpression(node, initialScope) {\n if (node.operator === \"in\" || node.operator === \"instanceof\") {\n // Not supported.\n return null\n }\n\n const left = getStaticValueR(node.left, initialScope)\n const right = getStaticValueR(node.right, initialScope)\n if (left != null && right != null) {\n switch (node.operator) {\n case \"==\":\n return { value: left.value == right.value } //eslint-disable-line eqeqeq\n case \"!=\":\n return { value: left.value != right.value } //eslint-disable-line eqeqeq\n case \"===\":\n return { value: left.value === right.value }\n case \"!==\":\n return { value: left.value !== right.value }\n case \"<\":\n return { value: left.value < right.value }\n case \"<=\":\n return { value: left.value <= right.value }\n case \">\":\n return { value: left.value > right.value }\n case \">=\":\n return { value: left.value >= right.value }\n case \"<<\":\n return { value: left.value << right.value }\n case \">>\":\n return { value: left.value >> right.value }\n case \">>>\":\n return { value: left.value >>> right.value }\n case \"+\":\n return { value: left.value + right.value }\n case \"-\":\n return { value: left.value - right.value }\n case \"*\":\n return { value: left.value * right.value }\n case \"/\":\n return { value: left.value / right.value }\n case \"%\":\n return { value: left.value % right.value }\n case \"**\":\n return { value: left.value ** right.value }\n case \"|\":\n return { value: left.value | right.value }\n case \"^\":\n return { value: left.value ^ right.value }\n case \"&\":\n return { value: left.value & right.value }\n\n // no default\n }\n }\n\n return null\n },\n\n CallExpression(node, initialScope) {\n const calleeNode = node.callee\n const args = getElementValues(node.arguments, initialScope)\n\n if (args != null) {\n if (calleeNode.type === \"MemberExpression\") {\n if (calleeNode.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(calleeNode.object, initialScope)\n if (object != null) {\n if (\n object.value == null &&\n (object.optional || node.optional)\n ) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(\n calleeNode,\n initialScope,\n )\n\n if (property != null) {\n const receiver = object.value\n const methodName = property.value\n if (callAllowed.has(receiver[methodName])) {\n return { value: receiver[methodName](...args) }\n }\n if (callPassThrough.has(receiver[methodName])) {\n return { value: args[0] }\n }\n }\n }\n } else {\n const callee = getStaticValueR(calleeNode, initialScope)\n if (callee != null) {\n if (callee.value == null && node.optional) {\n return { value: undefined, optional: true }\n }\n const func = callee.value\n if (callAllowed.has(func)) {\n return { value: func(...args) }\n }\n if (callPassThrough.has(func)) {\n return { value: args[0] }\n }\n }\n }\n }\n\n return null\n },\n\n ConditionalExpression(node, initialScope) {\n const test = getStaticValueR(node.test, initialScope)\n if (test != null) {\n return test.value\n ? getStaticValueR(node.consequent, initialScope)\n : getStaticValueR(node.alternate, initialScope)\n }\n return null\n },\n\n ExpressionStatement(node, initialScope) {\n return getStaticValueR(node.expression, initialScope)\n },\n\n Identifier(node, initialScope) {\n if (initialScope != null) {\n const variable = findVariable(initialScope, node)\n\n // Built-in globals.\n if (\n variable != null &&\n variable.defs.length === 0 &&\n builtinNames.has(variable.name) &&\n variable.name in globalObject\n ) {\n return { value: globalObject[variable.name] }\n }\n\n // Constants.\n if (variable != null && variable.defs.length === 1) {\n const def = variable.defs[0]\n if (\n def.parent &&\n def.type === \"Variable\" &&\n (def.parent.kind === \"const\" ||\n isEffectivelyConst(variable)) &&\n // TODO(mysticatea): don't support destructuring here.\n def.node.id.type === \"Identifier\"\n ) {\n return getStaticValueR(def.node.init, initialScope)\n }\n }\n }\n return null\n },\n\n Literal(node) {\n //istanbul ignore if : this is implementation-specific behavior.\n if ((node.regex != null || node.bigint != null) && node.value == null) {\n // It was a RegExp/BigInt literal, but Node.js didn't support it.\n return null\n }\n return { value: node.value }\n },\n\n LogicalExpression(node, initialScope) {\n const left = getStaticValueR(node.left, initialScope)\n if (left != null) {\n if (\n (node.operator === \"||\" && Boolean(left.value) === true) ||\n (node.operator === \"&&\" && Boolean(left.value) === false) ||\n (node.operator === \"??\" && left.value != null)\n ) {\n return left\n }\n\n const right = getStaticValueR(node.right, initialScope)\n if (right != null) {\n return right\n }\n }\n\n return null\n },\n\n MemberExpression(node, initialScope) {\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n const object = getStaticValueR(node.object, initialScope)\n if (object != null) {\n if (object.value == null && (object.optional || node.optional)) {\n return { value: undefined, optional: true }\n }\n const property = getStaticPropertyNameValue(node, initialScope)\n\n if (property != null) {\n if (!isGetter(object.value, property.value)) {\n return { value: object.value[property.value] }\n }\n\n for (const [classFn, allowed] of getterAllowed) {\n if (\n object.value instanceof classFn &&\n allowed.has(property.value)\n ) {\n return { value: object.value[property.value] }\n }\n }\n }\n }\n return null\n },\n\n ChainExpression(node, initialScope) {\n const expression = getStaticValueR(node.expression, initialScope)\n if (expression != null) {\n return { value: expression.value }\n }\n return null\n },\n\n NewExpression(node, initialScope) {\n const callee = getStaticValueR(node.callee, initialScope)\n const args = getElementValues(node.arguments, initialScope)\n\n if (callee != null && args != null) {\n const Func = callee.value\n if (callAllowed.has(Func)) {\n return { value: new Func(...args) }\n }\n }\n\n return null\n },\n\n ObjectExpression(node, initialScope) {\n const object = {}\n\n for (const propertyNode of node.properties) {\n if (propertyNode.type === \"Property\") {\n if (propertyNode.kind !== \"init\") {\n return null\n }\n const key = getStaticPropertyNameValue(\n propertyNode,\n initialScope,\n )\n const value = getStaticValueR(propertyNode.value, initialScope)\n if (key == null || value == null) {\n return null\n }\n object[key.value] = value.value\n } else if (\n propertyNode.type === \"SpreadElement\" ||\n propertyNode.type === \"ExperimentalSpreadProperty\"\n ) {\n const argument = getStaticValueR(\n propertyNode.argument,\n initialScope,\n )\n if (argument == null) {\n return null\n }\n Object.assign(object, argument.value)\n } else {\n return null\n }\n }\n\n return { value: object }\n },\n\n SequenceExpression(node, initialScope) {\n const last = node.expressions[node.expressions.length - 1]\n return getStaticValueR(last, initialScope)\n },\n\n TaggedTemplateExpression(node, initialScope) {\n const tag = getStaticValueR(node.tag, initialScope)\n const expressions = getElementValues(\n node.quasi.expressions,\n initialScope,\n )\n\n if (tag != null && expressions != null) {\n const func = tag.value\n const strings = node.quasi.quasis.map((q) => q.value.cooked)\n strings.raw = node.quasi.quasis.map((q) => q.value.raw)\n\n if (func === String.raw) {\n return { value: func(strings, ...expressions) }\n }\n }\n\n return null\n },\n\n TemplateLiteral(node, initialScope) {\n const expressions = getElementValues(node.expressions, initialScope)\n if (expressions != null) {\n let value = node.quasis[0].value.cooked\n for (let i = 0; i < expressions.length; ++i) {\n value += expressions[i]\n value += node.quasis[i + 1].value.cooked\n }\n return { value }\n }\n return null\n },\n\n UnaryExpression(node, initialScope) {\n if (node.operator === \"delete\") {\n // Not supported.\n return null\n }\n if (node.operator === \"void\") {\n return { value: undefined }\n }\n\n const arg = getStaticValueR(node.argument, initialScope)\n if (arg != null) {\n switch (node.operator) {\n case \"-\":\n return { value: -arg.value }\n case \"+\":\n return { value: +arg.value } //eslint-disable-line no-implicit-coercion\n case \"!\":\n return { value: !arg.value }\n case \"~\":\n return { value: ~arg.value }\n case \"typeof\":\n return { value: typeof arg.value }\n\n // no default\n }\n }\n\n return null\n },\n})\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope|undefined} initialScope The scope to start finding variable.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nfunction getStaticValueR(node, initialScope) {\n if (node != null && Object.hasOwnProperty.call(operations, node.type)) {\n return operations[node.type](node, initialScope)\n }\n return null\n}\n\n/**\n * Get the static value of property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the property name of the node, or `null`.\n */\nfunction getStaticPropertyNameValue(node, initialScope) {\n const nameNode = node.type === \"Property\" ? node.key : node.property\n\n if (node.computed) {\n return getStaticValueR(nameNode, initialScope)\n }\n\n if (nameNode.type === \"Identifier\") {\n return { value: nameNode.name }\n }\n\n if (nameNode.type === \"Literal\") {\n if (nameNode.bigint) {\n return { value: nameNode.bigint }\n }\n return { value: String(nameNode.value) }\n }\n\n return null\n}\n\n/**\n * Get the value of a given node if it's a static value.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If this scope was given, this tries to resolve identifier references which are in the given node as much as possible.\n * @returns {{value:any}|{value:undefined,optional?:true}|null} The static value of the node, or `null`.\n */\nexport function getStaticValue(node, initialScope = null) {\n try {\n return getStaticValueR(node, initialScope)\n } catch (_error) {\n return null\n }\n}\n","import { getStaticValue } from \"./get-static-value.mjs\"\n\n/**\n * Get the value of a given node if it's a literal or a template literal.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is an Identifier node and this scope was given, this checks the variable of the identifier, and returns the value of it if the variable is a constant.\n * @returns {string|null} The value of the node, or `null`.\n */\nexport function getStringIfConstant(node, initialScope = null) {\n // Handle the literals that the platform doesn't support natively.\n if (node && node.type === \"Literal\" && node.value === null) {\n if (node.regex) {\n return `/${node.regex.pattern}/${node.regex.flags}`\n }\n if (node.bigint) {\n return node.bigint\n }\n }\n\n const evaluated = getStaticValue(node, initialScope)\n return evaluated && String(evaluated.value)\n}\n","import { getStringIfConstant } from \"./get-string-if-constant.mjs\"\n\n/**\n * Get the property name from a MemberExpression node or a Property node.\n * @param {Node} node The node to get.\n * @param {Scope} [initialScope] The scope to start finding variable. Optional. If the node is a computed property node and this scope was given, this checks the computed property name by the `getStringIfConstant` function with the scope, and returns the value of it.\n * @returns {string|null} The property name of the node.\n */\nexport function getPropertyName(node, initialScope) {\n switch (node.type) {\n case \"MemberExpression\":\n if (node.computed) {\n return getStringIfConstant(node.property, initialScope)\n }\n if (node.property.type === \"PrivateIdentifier\") {\n return null\n }\n return node.property.name\n\n case \"Property\":\n case \"MethodDefinition\":\n case \"PropertyDefinition\":\n if (node.computed) {\n return getStringIfConstant(node.key, initialScope)\n }\n if (node.key.type === \"Literal\") {\n return String(node.key.value)\n }\n if (node.key.type === \"PrivateIdentifier\") {\n return null\n }\n return node.key.name\n\n // no default\n }\n\n return null\n}\n","import { getPropertyName } from \"./get-property-name.mjs\"\n\n/**\n * Get the name and kind of the given function node.\n * @param {ASTNode} node - The function node to get.\n * @param {SourceCode} [sourceCode] The source code object to get the code of computed property keys.\n * @returns {string} The name and kind of the function node.\n */\n// eslint-disable-next-line complexity\nexport function getFunctionNameWithKind(node, sourceCode) {\n const parent = node.parent\n const tokens = []\n const isObjectMethod = parent.type === \"Property\" && parent.value === node\n const isClassMethod =\n parent.type === \"MethodDefinition\" && parent.value === node\n const isClassFieldMethod =\n parent.type === \"PropertyDefinition\" && parent.value === node\n\n // Modifiers.\n if (isClassMethod || isClassFieldMethod) {\n if (parent.static) {\n tokens.push(\"static\")\n }\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(\"private\")\n }\n }\n if (node.async) {\n tokens.push(\"async\")\n }\n if (node.generator) {\n tokens.push(\"generator\")\n }\n\n // Kinds.\n if (isObjectMethod || isClassMethod) {\n if (parent.kind === \"constructor\") {\n return \"constructor\"\n }\n if (parent.kind === \"get\") {\n tokens.push(\"getter\")\n } else if (parent.kind === \"set\") {\n tokens.push(\"setter\")\n } else {\n tokens.push(\"method\")\n }\n } else if (isClassFieldMethod) {\n tokens.push(\"method\")\n } else {\n if (node.type === \"ArrowFunctionExpression\") {\n tokens.push(\"arrow\")\n }\n tokens.push(\"function\")\n }\n\n // Names.\n if (isObjectMethod || isClassMethod || isClassFieldMethod) {\n if (parent.key.type === \"PrivateIdentifier\") {\n tokens.push(`#${parent.key.name}`)\n } else {\n const name = getPropertyName(parent)\n if (name) {\n tokens.push(`'${name}'`)\n } else if (sourceCode) {\n const keyText = sourceCode.getText(parent.key)\n if (!keyText.includes(\"\\n\")) {\n tokens.push(`[${keyText}]`)\n }\n }\n }\n } else if (node.id) {\n tokens.push(`'${node.id.name}'`)\n } else if (\n parent.type === \"VariableDeclarator\" &&\n parent.id &&\n parent.id.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.id.name}'`)\n } else if (\n (parent.type === \"AssignmentExpression\" ||\n parent.type === \"AssignmentPattern\") &&\n parent.left &&\n parent.left.type === \"Identifier\"\n ) {\n tokens.push(`'${parent.left.name}'`)\n } else if (\n parent.type === \"ExportDefaultDeclaration\" &&\n parent.declaration === node\n ) {\n tokens.push(\"'default'\")\n }\n\n return tokens.join(\" \")\n}\n","import { getKeys, KEYS } from \"eslint-visitor-keys\"\n\nconst typeConversionBinaryOps = Object.freeze(\n new Set([\n \"==\",\n \"!=\",\n \"<\",\n \"<=\",\n \">\",\n \">=\",\n \"<<\",\n \">>\",\n \">>>\",\n \"+\",\n \"-\",\n \"*\",\n \"/\",\n \"%\",\n \"|\",\n \"^\",\n \"&\",\n \"in\",\n ]),\n)\nconst typeConversionUnaryOps = Object.freeze(new Set([\"-\", \"+\", \"!\", \"~\"]))\n\n/**\n * Check whether the given value is an ASTNode or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an ASTNode.\n */\nfunction isNode(x) {\n return x !== null && typeof x === \"object\" && typeof x.type === \"string\"\n}\n\nconst visitor = Object.freeze(\n Object.assign(Object.create(null), {\n $visit(node, options, visitorKeys) {\n const { type } = node\n\n if (typeof this[type] === \"function\") {\n return this[type](node, options, visitorKeys)\n }\n\n return this.$visitChildren(node, options, visitorKeys)\n },\n\n $visitChildren(node, options, visitorKeys) {\n const { type } = node\n\n for (const key of visitorKeys[type] || getKeys(node)) {\n const value = node[key]\n\n if (Array.isArray(value)) {\n for (const element of value) {\n if (\n isNode(element) &&\n this.$visit(element, options, visitorKeys)\n ) {\n return true\n }\n }\n } else if (\n isNode(value) &&\n this.$visit(value, options, visitorKeys)\n ) {\n return true\n }\n }\n\n return false\n },\n\n ArrowFunctionExpression() {\n return false\n },\n AssignmentExpression() {\n return true\n },\n AwaitExpression() {\n return true\n },\n BinaryExpression(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n typeConversionBinaryOps.has(node.operator) &&\n (node.left.type !== \"Literal\" || node.right.type !== \"Literal\")\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n CallExpression() {\n return true\n },\n FunctionExpression() {\n return false\n },\n ImportExpression() {\n return true\n },\n MemberExpression(node, options, visitorKeys) {\n if (options.considerGetters) {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.property.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n MethodDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n NewExpression() {\n return true\n },\n Property(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n PropertyDefinition(node, options, visitorKeys) {\n if (\n options.considerImplicitTypeConversion &&\n node.computed &&\n node.key.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UnaryExpression(node, options, visitorKeys) {\n if (node.operator === \"delete\") {\n return true\n }\n if (\n options.considerImplicitTypeConversion &&\n typeConversionUnaryOps.has(node.operator) &&\n node.argument.type !== \"Literal\"\n ) {\n return true\n }\n return this.$visitChildren(node, options, visitorKeys)\n },\n UpdateExpression() {\n return true\n },\n YieldExpression() {\n return true\n },\n }),\n)\n\n/**\n * Check whether a given node has any side effect or not.\n * @param {Node} node The node to get.\n * @param {SourceCode} sourceCode The source code object.\n * @param {object} [options] The option object.\n * @param {boolean} [options.considerGetters=false] If `true` then it considers member accesses as the node which has side effects.\n * @param {boolean} [options.considerImplicitTypeConversion=false] If `true` then it considers implicit type conversion as the node which has side effects.\n * @param {object} [options.visitorKeys=KEYS] The keys to traverse nodes. Use `context.getSourceCode().visitorKeys`.\n * @returns {boolean} `true` if the node has a certain side effect.\n */\nexport function hasSideEffect(\n node,\n sourceCode,\n { considerGetters = false, considerImplicitTypeConversion = false } = {},\n) {\n return visitor.$visit(\n node,\n { considerGetters, considerImplicitTypeConversion },\n sourceCode.visitorKeys || KEYS,\n )\n}\n","import { isClosingParenToken, isOpeningParenToken } from \"./token-predicate.mjs\"\n\n/**\n * Get the left parenthesis of the parent node syntax if it exists.\n * E.g., `if (a) {}` then the `(`.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {Token|null} The left parenthesis of the parent node syntax\n */\nfunction getParentSyntaxParen(node, sourceCode) {\n const parent = node.parent\n\n switch (parent.type) {\n case \"CallExpression\":\n case \"NewExpression\":\n if (parent.arguments.length === 1 && parent.arguments[0] === node) {\n return sourceCode.getTokenAfter(\n parent.callee,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"DoWhileStatement\":\n if (parent.test === node) {\n return sourceCode.getTokenAfter(\n parent.body,\n isOpeningParenToken,\n )\n }\n return null\n\n case \"IfStatement\":\n case \"WhileStatement\":\n if (parent.test === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"ImportExpression\":\n if (parent.source === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"SwitchStatement\":\n if (parent.discriminant === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n case \"WithStatement\":\n if (parent.object === node) {\n return sourceCode.getFirstToken(parent, 1)\n }\n return null\n\n default:\n return null\n }\n}\n\n/**\n * Check whether a given node is parenthesized or not.\n * @param {number} times The number of parantheses.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized the given times.\n */\n/**\n * Check whether a given node is parenthesized or not.\n * @param {Node} node The AST node to check.\n * @param {SourceCode} sourceCode The source code object to get tokens.\n * @returns {boolean} `true` if the node is parenthesized.\n */\nexport function isParenthesized(\n timesOrNode,\n nodeOrSourceCode,\n optionalSourceCode,\n) {\n let times, node, sourceCode, maybeLeftParen, maybeRightParen\n if (typeof timesOrNode === \"number\") {\n times = timesOrNode | 0\n node = nodeOrSourceCode\n sourceCode = optionalSourceCode\n if (!(times >= 1)) {\n throw new TypeError(\"'times' should be a positive integer.\")\n }\n } else {\n times = 1\n node = timesOrNode\n sourceCode = nodeOrSourceCode\n }\n\n if (\n node == null ||\n // `Program` can't be parenthesized\n node.parent == null ||\n // `CatchClause.param` can't be parenthesized, example `try {} catch (error) {}`\n (node.parent.type === \"CatchClause\" && node.parent.param === node)\n ) {\n return false\n }\n\n maybeLeftParen = maybeRightParen = node\n do {\n maybeLeftParen = sourceCode.getTokenBefore(maybeLeftParen)\n maybeRightParen = sourceCode.getTokenAfter(maybeRightParen)\n } while (\n maybeLeftParen != null &&\n maybeRightParen != null &&\n isOpeningParenToken(maybeLeftParen) &&\n isClosingParenToken(maybeRightParen) &&\n // Avoid false positive such as `if (a) {}`\n maybeLeftParen !== getParentSyntaxParen(node, sourceCode) &&\n --times > 0\n )\n\n return times === 0\n}\n","/**\n * @author Toru Nagashima \n * See LICENSE file in root directory for full license.\n */\n\nconst placeholder = /\\$(?:[$&`']|[1-9][0-9]?)/gu\n\n/** @type {WeakMap} */\nconst internal = new WeakMap()\n\n/**\n * Check whether a given character is escaped or not.\n * @param {string} str The string to check.\n * @param {number} index The location of the character to check.\n * @returns {boolean} `true` if the character is escaped.\n */\nfunction isEscaped(str, index) {\n let escaped = false\n for (let i = index - 1; i >= 0 && str.charCodeAt(i) === 0x5c; --i) {\n escaped = !escaped\n }\n return escaped\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {string} replacement The new substring to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceS(matcher, str, replacement) {\n const chunks = []\n let index = 0\n\n /** @type {RegExpExecArray} */\n let match = null\n\n /**\n * @param {string} key The placeholder.\n * @returns {string} The replaced string.\n */\n function replacer(key) {\n switch (key) {\n case \"$$\":\n return \"$\"\n case \"$&\":\n return match[0]\n case \"$`\":\n return str.slice(0, match.index)\n case \"$'\":\n return str.slice(match.index + match[0].length)\n default: {\n const i = key.slice(1)\n if (i in match) {\n return match[i]\n }\n return key\n }\n }\n }\n\n for (match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(replacement.replace(placeholder, replacer))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * Replace a given string by a given matcher.\n * @param {PatternMatcher} matcher The pattern matcher.\n * @param {string} str The string to be replaced.\n * @param {(...strs[])=>string} replace The function to replace each matched part.\n * @returns {string} The replaced string.\n */\nfunction replaceF(matcher, str, replace) {\n const chunks = []\n let index = 0\n\n for (const match of matcher.execAll(str)) {\n chunks.push(str.slice(index, match.index))\n chunks.push(String(replace(...match, match.index, match.input)))\n index = match.index + match[0].length\n }\n chunks.push(str.slice(index))\n\n return chunks.join(\"\")\n}\n\n/**\n * The class to find patterns as considering escape sequences.\n */\nexport class PatternMatcher {\n /**\n * Initialize this matcher.\n * @param {RegExp} pattern The pattern to match.\n * @param {{escaped:boolean}} options The options.\n */\n constructor(pattern, { escaped = false } = {}) {\n if (!(pattern instanceof RegExp)) {\n throw new TypeError(\"'pattern' should be a RegExp instance.\")\n }\n if (!pattern.flags.includes(\"g\")) {\n throw new Error(\"'pattern' should contains 'g' flag.\")\n }\n\n internal.set(this, {\n pattern: new RegExp(pattern.source, pattern.flags),\n escaped: Boolean(escaped),\n })\n }\n\n /**\n * Find the pattern in a given string.\n * @param {string} str The string to find.\n * @returns {IterableIterator} The iterator which iterate the matched information.\n */\n *execAll(str) {\n const { pattern, escaped } = internal.get(this)\n let match = null\n let lastIndex = 0\n\n pattern.lastIndex = 0\n while ((match = pattern.exec(str)) != null) {\n if (escaped || !isEscaped(str, match.index)) {\n lastIndex = pattern.lastIndex\n yield match\n pattern.lastIndex = lastIndex\n }\n }\n }\n\n /**\n * Check whether the pattern is found in a given string.\n * @param {string} str The string to check.\n * @returns {boolean} `true` if the pattern was found in the string.\n */\n test(str) {\n const it = this.execAll(str)\n const ret = it.next()\n return !ret.done\n }\n\n /**\n * Replace a given string.\n * @param {string} str The string to be replaced.\n * @param {(string|((...strs:string[])=>string))} replacer The string or function to replace. This is the same as the 2nd argument of `String.prototype.replace`.\n * @returns {string} The replaced string.\n */\n [Symbol.replace](str, replacer) {\n return typeof replacer === \"function\"\n ? replaceF(this, String(str), replacer)\n : replaceS(this, String(str), String(replacer))\n }\n}\n","import { findVariable } from \"./find-variable.mjs\"\nimport { getPropertyName } from \"./get-property-name.mjs\"\nimport { getStringIfConstant } from \"./get-string-if-constant.mjs\"\n\nconst IMPORT_TYPE = /^(?:Import|Export(?:All|Default|Named))Declaration$/u\nconst has = Function.call.bind(Object.hasOwnProperty)\n\nexport const READ = Symbol(\"read\")\nexport const CALL = Symbol(\"call\")\nexport const CONSTRUCT = Symbol(\"construct\")\nexport const ESM = Symbol(\"esm\")\n\nconst requireCall = { require: { [CALL]: true } }\n\n/**\n * Check whether a given variable is modified or not.\n * @param {Variable} variable The variable to check.\n * @returns {boolean} `true` if the variable is modified.\n */\nfunction isModifiedGlobal(variable) {\n return (\n variable == null ||\n variable.defs.length !== 0 ||\n variable.references.some((r) => r.isWrite())\n )\n}\n\n/**\n * Check if the value of a given node is passed through to the parent syntax as-is.\n * For example, `a` and `b` in (`a || b` and `c ? a : b`) are passed through.\n * @param {Node} node A node to check.\n * @returns {boolean} `true` if the node is passed through.\n */\nfunction isPassThrough(node) {\n const parent = node.parent\n\n switch (parent && parent.type) {\n case \"ConditionalExpression\":\n return parent.consequent === node || parent.alternate === node\n case \"LogicalExpression\":\n return true\n case \"SequenceExpression\":\n return parent.expressions[parent.expressions.length - 1] === node\n case \"ChainExpression\":\n return true\n\n default:\n return false\n }\n}\n\n/**\n * The reference tracker.\n */\nexport class ReferenceTracker {\n /**\n * Initialize this tracker.\n * @param {Scope} globalScope The global scope.\n * @param {object} [options] The options.\n * @param {\"legacy\"|\"strict\"} [options.mode=\"strict\"] The mode to determine the ImportDeclaration's behavior for CJS modules.\n * @param {string[]} [options.globalObjectNames=[\"global\",\"globalThis\",\"self\",\"window\"]] The variable names for Global Object.\n */\n constructor(\n globalScope,\n {\n mode = \"strict\",\n globalObjectNames = [\"global\", \"globalThis\", \"self\", \"window\"],\n } = {},\n ) {\n this.variableStack = []\n this.globalScope = globalScope\n this.mode = mode\n this.globalObjectNames = globalObjectNames.slice(0)\n }\n\n /**\n * Iterate the references of global variables.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateGlobalReferences(traceMap) {\n for (const key of Object.keys(traceMap)) {\n const nextTraceMap = traceMap[key]\n const path = [key]\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n nextTraceMap,\n true,\n )\n }\n\n for (const key of this.globalObjectNames) {\n const path = []\n const variable = this.globalScope.set.get(key)\n\n if (isModifiedGlobal(variable)) {\n continue\n }\n\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n }\n\n /**\n * Iterate the references of CommonJS modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateCjsReferences(traceMap) {\n for (const { node } of this.iterateGlobalReferences(requireCall)) {\n const key = getStringIfConstant(node.arguments[0])\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextTraceMap = traceMap[key]\n const path = [key]\n\n if (nextTraceMap[READ]) {\n yield {\n node,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(node, path, nextTraceMap)\n }\n }\n\n /**\n * Iterate the references of ES modules.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *iterateEsmReferences(traceMap) {\n const programNode = this.globalScope.block\n\n for (const node of programNode.body) {\n if (!IMPORT_TYPE.test(node.type) || node.source == null) {\n continue\n }\n const moduleId = node.source.value\n\n if (!has(traceMap, moduleId)) {\n continue\n }\n const nextTraceMap = traceMap[moduleId]\n const path = [moduleId]\n\n if (nextTraceMap[READ]) {\n yield { node, path, type: READ, info: nextTraceMap[READ] }\n }\n\n if (node.type === \"ExportAllDeclaration\") {\n for (const key of Object.keys(nextTraceMap)) {\n const exportTraceMap = nextTraceMap[key]\n if (exportTraceMap[READ]) {\n yield {\n node,\n path: path.concat(key),\n type: READ,\n info: exportTraceMap[READ],\n }\n }\n }\n } else {\n for (const specifier of node.specifiers) {\n const esm = has(nextTraceMap, ESM)\n const it = this._iterateImportReferences(\n specifier,\n path,\n esm\n ? nextTraceMap\n : this.mode === \"legacy\"\n ? { default: nextTraceMap, ...nextTraceMap }\n : { default: nextTraceMap },\n )\n\n if (esm) {\n yield* it\n } else {\n for (const report of it) {\n report.path = report.path.filter(exceptDefault)\n if (\n report.path.length >= 2 ||\n report.type !== READ\n ) {\n yield report\n }\n }\n }\n }\n }\n }\n }\n\n /**\n * Iterate the references for a given variable.\n * @param {Variable} variable The variable to iterate that references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @param {boolean} shouldReport = The flag to report those references.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateVariableReferences(variable, path, traceMap, shouldReport) {\n if (this.variableStack.includes(variable)) {\n return\n }\n this.variableStack.push(variable)\n try {\n for (const reference of variable.references) {\n if (!reference.isRead()) {\n continue\n }\n const node = reference.identifier\n\n if (shouldReport && traceMap[READ]) {\n yield { node, path, type: READ, info: traceMap[READ] }\n }\n yield* this._iteratePropertyReferences(node, path, traceMap)\n }\n } finally {\n this.variableStack.pop()\n }\n }\n\n /**\n * Iterate the references for a given AST node.\n * @param rootNode The AST node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n //eslint-disable-next-line complexity\n *_iteratePropertyReferences(rootNode, path, traceMap) {\n let node = rootNode\n while (isPassThrough(node)) {\n node = node.parent\n }\n\n const parent = node.parent\n if (parent.type === \"MemberExpression\") {\n if (parent.object === node) {\n const key = getPropertyName(parent)\n if (key == null || !has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: parent,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iteratePropertyReferences(\n parent,\n path,\n nextTraceMap,\n )\n }\n return\n }\n if (parent.type === \"CallExpression\") {\n if (parent.callee === node && traceMap[CALL]) {\n yield { node: parent, path, type: CALL, info: traceMap[CALL] }\n }\n return\n }\n if (parent.type === \"NewExpression\") {\n if (parent.callee === node && traceMap[CONSTRUCT]) {\n yield {\n node: parent,\n path,\n type: CONSTRUCT,\n info: traceMap[CONSTRUCT],\n }\n }\n return\n }\n if (parent.type === \"AssignmentExpression\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n yield* this._iteratePropertyReferences(parent, path, traceMap)\n }\n return\n }\n if (parent.type === \"AssignmentPattern\") {\n if (parent.right === node) {\n yield* this._iterateLhsReferences(parent.left, path, traceMap)\n }\n return\n }\n if (parent.type === \"VariableDeclarator\") {\n if (parent.init === node) {\n yield* this._iterateLhsReferences(parent.id, path, traceMap)\n }\n }\n }\n\n /**\n * Iterate the references for a given Pattern node.\n * @param {Node} patternNode The Pattern node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateLhsReferences(patternNode, path, traceMap) {\n if (patternNode.type === \"Identifier\") {\n const variable = findVariable(this.globalScope, patternNode)\n if (variable != null) {\n yield* this._iterateVariableReferences(\n variable,\n path,\n traceMap,\n false,\n )\n }\n return\n }\n if (patternNode.type === \"ObjectPattern\") {\n for (const property of patternNode.properties) {\n const key = getPropertyName(property)\n\n if (key == null || !has(traceMap, key)) {\n continue\n }\n\n const nextPath = path.concat(key)\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: property,\n path: nextPath,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateLhsReferences(\n property.value,\n nextPath,\n nextTraceMap,\n )\n }\n return\n }\n if (patternNode.type === \"AssignmentPattern\") {\n yield* this._iterateLhsReferences(patternNode.left, path, traceMap)\n }\n }\n\n /**\n * Iterate the references for a given ModuleSpecifier node.\n * @param {Node} specifierNode The ModuleSpecifier node to iterate references.\n * @param {string[]} path The current path.\n * @param {object} traceMap The trace map.\n * @returns {IterableIterator<{node:Node,path:string[],type:symbol,info:any}>} The iterator to iterate references.\n */\n *_iterateImportReferences(specifierNode, path, traceMap) {\n const type = specifierNode.type\n\n if (type === \"ImportSpecifier\" || type === \"ImportDefaultSpecifier\") {\n const key =\n type === \"ImportDefaultSpecifier\"\n ? \"default\"\n : specifierNode.imported.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n nextTraceMap,\n false,\n )\n\n return\n }\n\n if (type === \"ImportNamespaceSpecifier\") {\n yield* this._iterateVariableReferences(\n findVariable(this.globalScope, specifierNode.local),\n path,\n traceMap,\n false,\n )\n return\n }\n\n if (type === \"ExportSpecifier\") {\n const key = specifierNode.local.name\n if (!has(traceMap, key)) {\n return\n }\n\n path = path.concat(key) //eslint-disable-line no-param-reassign\n const nextTraceMap = traceMap[key]\n if (nextTraceMap[READ]) {\n yield {\n node: specifierNode,\n path,\n type: READ,\n info: nextTraceMap[READ],\n }\n }\n }\n }\n}\n\nReferenceTracker.READ = READ\nReferenceTracker.CALL = CALL\nReferenceTracker.CONSTRUCT = CONSTRUCT\nReferenceTracker.ESM = ESM\n\n/**\n * This is a predicate function for Array#filter.\n * @param {string} name A name part.\n * @param {number} index The index of the name.\n * @returns {boolean} `false` if it's default.\n */\nfunction exceptDefault(name, index) {\n return !(index === 1 && name === \"default\")\n}\n","import { findVariable } from \"./find-variable.mjs\"\nimport { getFunctionHeadLocation } from \"./get-function-head-location.mjs\"\nimport { getFunctionNameWithKind } from \"./get-function-name-with-kind.mjs\"\nimport { getInnermostScope } from \"./get-innermost-scope.mjs\"\nimport { getPropertyName } from \"./get-property-name.mjs\"\nimport { getStaticValue } from \"./get-static-value.mjs\"\nimport { getStringIfConstant } from \"./get-string-if-constant.mjs\"\nimport { hasSideEffect } from \"./has-side-effect.mjs\"\nimport { isParenthesized } from \"./is-parenthesized.mjs\"\nimport { PatternMatcher } from \"./pattern-matcher.mjs\"\nimport {\n CALL,\n CONSTRUCT,\n ESM,\n READ,\n ReferenceTracker,\n} from \"./reference-tracker.mjs\"\nimport {\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isSemicolonToken,\n} from \"./token-predicate.mjs\"\n\nexport default {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\nexport {\n CALL,\n CONSTRUCT,\n ESM,\n findVariable,\n getFunctionHeadLocation,\n getFunctionNameWithKind,\n getInnermostScope,\n getPropertyName,\n getStaticValue,\n getStringIfConstant,\n hasSideEffect,\n isArrowToken,\n isClosingBraceToken,\n isClosingBracketToken,\n isClosingParenToken,\n isColonToken,\n isCommaToken,\n isCommentToken,\n isNotArrowToken,\n isNotClosingBraceToken,\n isNotClosingBracketToken,\n isNotClosingParenToken,\n isNotColonToken,\n isNotCommaToken,\n isNotCommentToken,\n isNotOpeningBraceToken,\n isNotOpeningBracketToken,\n isNotOpeningParenToken,\n isNotSemicolonToken,\n isOpeningBraceToken,\n isOpeningBracketToken,\n isOpeningParenToken,\n isParenthesized,\n isSemicolonToken,\n PatternMatcher,\n READ,\n ReferenceTracker,\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint deleted file mode 100755 index a8276527..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -else - exec node "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/package.json b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/package.json deleted file mode 100644 index 1addaa9a..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "@eslint-community/eslint-utils", - "version": "4.4.1", - "description": "Utilities for ESLint plugins.", - "keywords": [ - "eslint" - ], - "homepage": "https://github.com/eslint-community/eslint-utils#readme", - "bugs": { - "url": "https://github.com/eslint-community/eslint-utils/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/eslint-community/eslint-utils" - }, - "license": "MIT", - "author": "Toru Nagashima", - "sideEffects": false, - "exports": { - ".": { - "import": "./index.mjs", - "require": "./index.js" - }, - "./package.json": "./package.json" - }, - "main": "index", - "module": "index.mjs", - "files": [ - "index.*" - ], - "scripts": { - "prebuild": "npm run -s clean", - "build": "rollup -c", - "clean": "rimraf .nyc_output coverage index.*", - "coverage": "opener ./coverage/lcov-report/index.html", - "docs:build": "vitepress build docs", - "docs:watch": "vitepress dev docs", - "format": "npm run -s format:prettier -- --write", - "format:prettier": "prettier .", - "format:check": "npm run -s format:prettier -- --check", - "lint:eslint": "eslint .", - "lint:format": "npm run -s format:check", - "lint:installed-check": "installed-check -v -i installed-check -i npm-run-all2 -i knip", - "lint:knip": "knip", - "lint": "run-p lint:*", - "test": "c8 mocha --reporter dot \"test/*.mjs\"", - "preversion": "npm test && npm run -s build", - "postversion": "git push && git push --tags", - "prewatch": "npm run -s clean", - "watch": "warun \"{src,test}/**/*.mjs\" -- npm run -s test:mocha" - }, - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "devDependencies": { - "@eslint-community/eslint-plugin-mysticatea": "^15.6.1", - "c8": "^8.0.1", - "dot-prop": "^7.2.0", - "eslint": "^8.57.1", - "installed-check": "^8.0.1", - "knip": "^5.33.3", - "mocha": "^9.2.2", - "npm-run-all2": "^6.2.3", - "opener": "^1.5.2", - "prettier": "2.8.8", - "rimraf": "^3.0.2", - "rollup": "^2.79.2", - "rollup-plugin-sourcemaps": "^0.6.3", - "semver": "^7.6.3", - "vitepress": "^1.4.1", - "warun": "^1.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": "https://opencollective.com/eslint" -} diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint deleted file mode 120000 index 399abca6..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint +++ /dev/null @@ -1 +0,0 @@ -../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint \ No newline at end of file diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-visitor-keys b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-visitor-keys deleted file mode 120000 index ac5b2995..00000000 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-visitor-keys +++ /dev/null @@ -1 +0,0 @@ -../../eslint-visitor-keys@3.4.3/node_modules/eslint-visitor-keys \ No newline at end of file diff --git a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.7_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.7_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint index a36c7d02..4f4d7136 100755 --- a/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.7_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint +++ b/node_modules/.pnpm/@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.7_/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/eslint.js" "$@" diff --git a/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/README.md b/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/README.md deleted file mode 100644 index cabe280f..00000000 --- a/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# `@rollup/rollup-linux-x64-gnu` - -This is the **x86_64-unknown-linux-gnu** binary for `rollup` diff --git a/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/package.json b/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/package.json deleted file mode 100644 index 6d2b99e9..00000000 --- a/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@rollup/rollup-linux-x64-gnu", - "version": "4.28.1", - "os": [ - "linux" - ], - "cpu": [ - "x64" - ], - "files": [ - "rollup.linux-x64-gnu.node" - ], - "description": "Native bindings for Rollup", - "author": "Lukas Taegert-Atkinson", - "homepage": "https://rollupjs.org/", - "license": "MIT", - "repository": "rollup/rollup", - "libc": [ - "glibc" - ], - "main": "./rollup.linux-x64-gnu.node" -} \ No newline at end of file diff --git a/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node b/node_modules/.pnpm/@rollup+rollup-linux-x64-gnu@4.28.1/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node deleted file mode 100644 index 04e47af35f4460971c659002d32d0b9937f4b685..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2489552 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

B47M{`{a1ATr7TBvPdSVsoXr^5-8+bK%c94q`n> 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 K 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�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

mNLt-v}Ic{R4`9$QkU#d=4F@ zf555xWh-c>)rZD^pe4h_(g$C#@f_%I{o~N^%-*5lT!TYL>0fXi`8okKn9ImetbXtX z56^=R*FT*f4!&ShvFB;%aQ%y<{2zE($!o)dFNAnLK$Y=8l_6>Qhot2{cvmBmFHdxy zXnw%x(aFAn@!LVhQqVnl0DeaR#G8)7?gEFRM;UI=itJh|0jUf_JQvI_2{k_@aQg<_%9k%0lH<>+6S})yVv$isT{)# z^I1RtdvqRd*a6PbB_ckZ;G1`SIyZxEO$VQheE5aXkDvcvL+%a?2@dG|(foiJbTEp& zM{oRppYHPiKHcf;p4}`epdexO>HPlxf@gD$3I{_8Cx|1;Tn^5Qu+_P7j`9Ch-iT14pb?1wFZgDm2A~5&Feom%**!p8i9tOG1;Ya#oy;Dc z!5qqs7_2|40a%&w2LkS<^GSuKQ*!{*} zSAk?XK`KS9pl)fJ`SU+yJs7_IOCF%3DH*{15zwXOKAnd__@55XH-ZR|kIs-gX@ri|j z!IghoDT8lsEu&-OKhP?P5+fH-{$Oc-z~20WmA_pEG<4g`EBs81!6O-bahq@FkN*!m zdRceKfYMFvg4e1(-L40~wHRod1LzQ~)&r%|FCT$cU-YsbgeaTwKR^Q_Rbt}O`Jwp% zKWL|O`(Cgj-ZM|(#)FQ_aAovtKFaxWD|k@tIQV8k$8X2@`CI##85n%K**%+&bAV@1 z9lKo_UxJ4AK)cwG>NiLJZQ`Ii9qK(UKLc%W=lsxokiF$n#dDA2$3Ua}9+#gP{%`o@ z;KA?oz4@nu2fy=o56%y-y*&B%gY9O1Z38wD);_^B&jVuMv)5vd{M(^=I6RZVELPC% zfs6-STfS8?`*t&U_PR4VHrW67>2y6&A`Bis09{VkV8P(gd7UX#S>3R6nS2L=GgGd!4cH=#LAlm4)h!6jMu&59Jez2$y|9+6$nOqIu8lFT-UoQOHxLi9=J2pSA z_q_ZVZ2nz{`6nwL`!LrY@U{HI-vnB@>&ti@#BR<44YPxm{(~Kf&3$11e*^jdC@6_~ zUViG>@DJhtmk|HI^yPd7_CILYrk7VA)&JiNPrC4LlXC66i|qAx5U1U)c>K~Bax4&b zWndTFMs>k&Y%X~B@-=8IzV%xj7r3B$30kKDPJ!K_d%hiFRk4+)-XvhbhB)D z`I-T={+7E83=CeqBKjWxPk}NWXuOGkn-OT%x8CFO zbI{ls=a1%t><%s8K>7C&C~!P3KQjF9(C`nGfv-a{@O8tJpq3ElHU9YrJ(@o3L0eE0a`fb(Q7O92vh>`Z1-UN3CbO&i@-P7+&BE@ z(H*+M@&7ds=<%$EmmnNabML=sPmvtM4$uO(*F4}oPp?_O9pWef-SmXK92D#hh@~a{ zFQ5MV|NjNw9ONnq(!K)KM;5XFRrT}b7?4{}@b($IM>j~GpMd=J0{r^7W0wcj`JnU9 zn%_8pj-u?Wz2MOsd&A?nE9jsV(3)U%K5&75;e{R#XmyT9x9g3TlO>j*LwHL(dRb3| zf~%PY9>-l*fcl~y$6Yso0+&Dh0KcH?4v$__I{~l(3tq@h`}v=r8`OwoZvM$wYU0rw z@!zMr;=fOK0&-*EKd6F*H3t6w7yXt8vf=)J(YJYW42Gakb^vu2;vC~+4|{eVLo@>Z z{}(+4Q+qHE)Cll65=8ZXQAw~n|G!9_`13zFJ^UA4mm>!q z{|31S)P}V1=(go3l4AhvG0XSpHf1T2V>s^m1=0kl{qkS*bet3{ zti1q92{*t>yFgQ?oyT8H0_6r?(0Oq1!D(oJAvmD9UVyPw7JNN5=u)?13=AdwpjEA) z_RlMjGdk~s_HUL5fAIM4&r!+)ZY9S4S3L)kgPi{do&NxZA1r-$v%?df4J6?epeH=^ zR%k8AK+uKvkVyQmnv;VkO8p_K|BJfifRf(-7k&N6X$w@of!z}p?9pr6lqJXT;%(p0 z{~pbt)rAZUrJ)|3hdqurgW?oi)OB}*F8Ko859aCd|D;Ff4ba6pogHAo?gjx+L3{8a zi$}K&hex*y2Z!fzP-h*an*o%4K*tL)FqEwG=(Uv>kz;tFG!>NfJeqfdvL-``Jk-4I z9Uz1Li%tgLfC9Rdj{&rFiOKM!$MI&cQjk5zn?b5TT#w_;AP0b~@#yRZQ{B5kYx_Mw zW0vwB$D2VMP;V0yHy=QUF&+N^KH5_8-~az0#^D!S(?PvY_t^B56+t&y}XTgK!rEBb^8AS=zuSbR%8jpa~f-)m? z(dI>_-~T;3zj_>euh3b$2b3f=!Bgw}n&9Oa{F>nPfBc%QpoLcanysMaNc@_u3ZUU3 z%~sIb7JkiE(D5}My<0)lE|3TQi+W|sF|;1w?*L!Q36TMJV45;PWnOFtWc1 zUBCVt9`LYs?ci^G4ywhW>zq5Tffg`y*G}MXc?2GbW9@5@V*uwmut^^>K>7Xvf6Hb@ z(0s;`m!MHukAwdeJbGErd>3c%=w|uh(aXyT>dtlZ{PgGqUxYTnqZhnn_<%<*>oicM z-RXM5qnFiss~CevC&VAeTRHy!{|_m$!TtnCXD?`BJJ`P-$6F;}3P3kTbeCy(^iBo& z{e=qK@Bc4vfs#hI`+tvae|C>f`~t2WpjGp)6&*o4pcugW zN&fkCe)=yOmkG)*r3ZXEQ%`^{5%&PQ!L`Gqmlf220NrHf(d)VgGCjcRkqbUcW`Rd9 zYbYnEz(Mv6GssQH5x(i13yL|YPe94iv%6Nov%3`TlPK2Tprf`9fO>P?wI@L3UVDZd zL+1?-bgvxt=w&tG2U+Oa;c?t`0wmyEXMnN=C^-p&PGvGx0;%Y&?Ra6>|MUNgoUOn9 z?*}OaZGedH0r#6dKoxqk+llNLXnh5)Um*J- zTQ8L)dv;#)1fAkmd%<%Ls2m56!*t6!rOGk97WpswC`FFJCt1U@`7cYU3uslok+0=5 zpUy{~{7%=v3)Xx(|NXxV-i>kzG&Umc)A`Xu^I%b}C*yI?&U3!4-%8IJ9(Wz^)2l1* zBggQX!}H)%1<&TQOdj2#7d*P15Mg5G(+jHLD*k(PN3cUSx0SH^bpHQ;!K1kvGSKq> zzv!$~kk`Kd7oC_2I;}bMf=_1_#|B1ll?vbg4Z55@kqs1d$3Y3XtsB&&I)ZFWFw7V) zuraO|d^$5Yd^(@M=;}ZYGI;!f!po!ijRbTY12QlOI%=bs-=U-Q3S?!>1<7&@ua!{e*Z+$$C6gDw)u{0s>(i@i?}Z${KHaGYJiA>~5D{!d zR0Qt?IjHmdf6)!eatywmIVzCYMLKdH6uZqV@Yr3^2`Z*sPasEc3Cxgem?5Cz>&4nO z&_YW0TIT>7dh3?&ywME0 zrj2*e6{PAOw1dyH8+^Wxs{`~(hW`N)KAqs&xdU9c9RuHw#o*EFE#T2>ntwrz!KatC z12jDhsj0yuzo4!_i6Q7771LLapfjIY*;pAM+n0Pm8TsZ*&>~ikgRd1jW5GwdLT%N5 zE)H2`1h%#GLWk>(W3D$r9VVx9V2k8IbF{s&7d(1>AAoHFbw0QZfB)~UeemKCGXq11 z>vNA@(;Mf(sy~8N`#y)Od|&`p394GC(o$KF0BNZ_1C1Z`&IQ%u;9Qg>+^DGGX-pnC&(Dk`jow( zWxk!qUxEhsL7~43F1Ku!X+L5{Twg0^mX^orgAk3#MR zNqF>@HoRD43c7Ev7sTh^HWgg8gC?+@7#SEgFoFgkT7Q6?+zh(B<^qV-Jr`s{!(Om~ z{4IwW85lsP*z>o7mivIV?|6WYMD8_Za)E9!`X3+x-LKX%4Yala)TQ<4b^h)Qan zTm+OT@9X{k&%dn~~95OQ|DkI>MEA#o z%7)ktKAp8YJV1LVdQA`7ft@T1PD-Ew1K$mh{eIeDH@n_wsJ+QpYPFGZ1taJJLe~q1 zmq1SR=;ckg2|5PObb^xvg9pFMNB${?Km$F{DI{>RoC>2y;}KA?0iJ`11vS{3SwU`hZ2-+kg4$uAh8v>6Hp8RW zv=F4Cx3=L$L+j7~FLtknHrPO06W29?O2Wesw}2XKJN}Di#eodG|6)@kY&`$}`R4zX z;SC(Ihc^hs9^Swddw7FL?BNak zv4=OX#vb0F5_@=qOzhze+_8r@u*DwUz#e;egM94a4a%{HHweWZ-oP7scmq%D;SJKU zhc`&X9^Swldw7FV?BNYkv4=MZg02CNJ-mT0_V5PD*uxuGVh?Xni#@zSHumrax!A)S z6k-o=;EFxGfiw2-2KCs(8^n+&A7JG*c>Kwu+kpdP1`j+Q0bb$=I^QHr!K2$x!=v-K zPv^1Nmlv&mL&hsSn(Y}%xIMb-Ib#2-ddJE!#2$u^M}z8nk8XDkpKf;nk8V^0CRqLc z50;0tXAzCrKzL&|HW8^Y3+g{(wny=uX9jJL(!4#}cMZKgyX6&Xd-l%-S!jFKs|mTv z1o@wT8@op@Z_sN{Pfp~ZM=$U6H}KOdA$6snhDW!jgh%JG*#8fa2M8heVR(QB?s{1( zf6IdJr1d!N3M%JLHJ2OhnpCtmQr`Trj@%_aKw|Nj>g-u?%NKd8Qi z-Ny|o?L0frg9lqmcX%}ZtOphK?UTVh&u>1xOD#Z~Q97S{bY253f)ZU4Eyv(=ti={2 z44&`sZ2r$zu3~rzI{wnIM-(i@-vU~23d-r07fN5fd`lZbefB0xVEKvjL zVL+${on!-6f3ftHXK(mN56g>XY_CJX%zX_|;IW^95dxt0`ED%El1-{!{Y$iK~x%dr78*B1p^9tfJt2G3US zU}9llXgOID_7Zgbt4A+u>R)i&T-X6Bf>tn=@PikDbvko^1zvM>yPoNEW-&a_$?Va1 z1QZ9L4hm%4;&97>k}yzJ%CLhGY-(vB$X@Qw3$HUhdTUR3^!o0A#KsH$CqMspyPkMG z4{Cp@x?@8fH$$m`V?!MeL#d|W0mp_qUIy^QN~!c~EvSJd0$^n&5*r!8@}+_v;4y76 z(0N6mjb?@?K}&vk!KQ%9{}Q2=OQk~m+fFt=WIXtgv-zaMYmt^qCG0yvgMzO);S!uD z9QXhE|NXzKvYjL6amU8<3=A9$uH9uUuyoX|YZC?PbjY3!mtz3WfBAGicj^4+()r2o zfaCwG%|HH^s{Fs)&EV1egQeuL$H4~*9?d71K%)uZfb-~%J@9hvzyJR`UC)4a496Y- z9~+OzBH;21l)i%lJUTCXc76w4XV6^9!B8UM(OfCOP$KBjZRyc@51f`CM949`mIa-l zBg(&xl?yWX3F?iB=7q~Kyk_?4{9y>%R_w#?`h$PULEp|g4$saw0nbi8NM{Mup+q{G z66_yP{s!3(%U_`VHK47B{M+Iz8h$f_s%+O2#~8R^NAV(hT%MiZe0tYHmbk}ikT>R!{#mL_RTF2OOvUIsm?^4h} z)@wOX2L(RF>Uhk}l5qp059qkT{}zYK8*G^PTS2)S+}_||VDPj&UUmySH1qAndv*o} z{%zpB?T-8ct_+U+0=@!{`~sm0{F&Cms&-LCo`ov!PBI{$lUgST2jZgueN ztmD|g)bNw5WQs?3=!p(4eht?KehuFV{2HMP_ywI9`31cM`2~X%J-S`jdvrP(yaeq? z0WIcz0XmGY^UrI+vP9{qr`>~=lk(aSskB&cZt9_a)b37RZ- zQve;L`Z^R8Mhu{h_WVttLKc)RK{IW~7}#De1syfr?WW+_?PuW88_4LyBTTkIvW*pU%<=9j-I@ zH6Vk)8W6>Tt~2=seOG#PZv`3U(OJ5q!}pL&N9}=*(1VT*|C#t(H!(nGJ3;H?Y?zB3 zy?RZI4Ux}BXt1%?2h}IXJuUy0etKO4n$IZ*UCQwPT9-XBfuhXIR8Avno zegm+6DUbgU{h*r~zJrVq0$&m2!T=dH2AyBS?a}<7u~eqPTCY^xgYmnkD5#Z2VIWxwiaw z;GcTTf#X^Ui{Yi${NQ@dv-uw*f7@ne&~ocf{H>rXXALib@7`_)uRrZP@4@)Vfq&a~ z55{Yrmfy+}K}NY=2dS8P2-LLq=q+dTX#MZO@A4fKf<+NNy?a69?moS#9pLg4v|qgQ z*^5+W28M>cpwkSvN@aXHKX_sXK8~CD`+LK1IM|Nc#u0=?tlj8VXn&U z0F|al>jA*-d-no#QVG<3&?8Qf+*l3jBthKhWBH)`jA!Sum!O?19HG}c4|sI8g0?Tc zR)VarFgyUZ6qJw*Px>%E@BkgqdW^pfbgPeV=T{GiLp*v*J6?dUWQW_i4qR-#^U>Z4 z3O@cOUQl1Xvvfj3?RAC{F2e(_MIq*cD|Ser0QjDG338SPWXnGIilUvMe)CHyurA+*m!R%B_{iUv?EnA&2W1Uqc{B0bL5|Tz>(uaiAcjQP=N|re|xQj?`7-X|Nk58_4!+C{{H_D zZY_abRr&Y-|IT9`y|y(+Kn^n5?!ox)|1;1oE05-5EH7g~i}gE?zZUiA1}|Gpo8ZIv zz|-;=f7=#tIfWA54?!1zK+~WT=xh#HSc5itfJzLHUS8iLVhmo%EIU0IPk`p5Tu;1S z=h5xj@OlOKsEOAL!NLD}mf?Zd(|kMMz4Qakg?5*&0A&TAUUyJd@Zonk?!$P@qxl%q z%e|l-lenZgUe5dT|NlO4FirunK$9CUyFglcMRh-d3fFHh?w0=i?+d!v^O#4kr~z2; zJLtZUt!3aMcHakC2I!dcw-*~rq4Upr_xAj1YqHpIR&;KVJ8!YvGdp-Y`zV>0f;9>cpyac2P95)`C z$4YD+H*k71|6?jq@M!+WSZdf{!>(7V4Q`?eF!N77;L^+D;MjbC{k1q)MzEohQO}Wo z$^plQ51g-=9XD`!Fn;pr6n5!w=J4qB7VzjSmH^K#di09^e-CPHAAfPb1nf(W4-oE! zlAr(iw}o3Y{9-I)11>?Z>~(-D(A6sRREue}Ue@-wqA`7|V?tezJiq0^MxWUCz;R z$&r8RL0680C9JN72VM&}g5wb6X8tzNDZQSSA4-J`Pqtht@iV;S!FUmLFgN3g!yb(1 z{Cas9J^vr{wEPH4!A|_!co-Xg!jrII!%sc_sRtoR_+07U*KD8wE8PkjmtttSRJw_O zTR3RYQtS{Y<%&%6VEpv|kwzTG}52A;j1jJ~ZWJ^5Wux>)>nWuas2T&Opb9d_vW z(97b`e1N^v^@uC~wj32J&^Wk)M{fxSlSgOi2@l4D9?b_qdoDrE8W!Jf5f#tw5)}@| z&TAf>A73l@bh}>g1>L?2I(7eNWd>IdVb{=p9Ejn^N@e)+9^2;-TPn1;$ zAEpIYD=yl<@gu?b%Ks<9S3HV9TzZV1{iP6SC-*TI6$?g>Ueo0LVhn!CEZaO8 zKREt>;MsZLbtrhdH)!>o2fALim)Ah0H%Kq@%M+k&_#N^-o#7mygY#bQ2Aw$q>I#cM z4*7Y_14;w0*&vzM)A9s=J81Uaqt}!jY$wk)PsWdqpsLFC!fPQ=>-jYgq{wE4WcSW< z9-7CB5`7pic!C4EM1=#C1`Rwq-9e3F7Zp&e*hfW?U(jEWU(lVgL)@n`T*If+-QcA@ z=x`-=wwLOl!oF8j=?$o8KK{a~09-h2ehub=miQ|af<<<|1{YT#5jlvO>#t=Qz+a79W1+1N_^>e0sfpdo=%I z^Wk?o;cI!KRBHnxsJzzjZ2rLlT5c0A;9(smP?`z4q!Top_g~c13p`~o|cIDd^JOUf!pBK?M^_BebrAYSsZSurA{Ob+o(dIsS`&@&p-CD&h$m{j&~MDCGjJ zEBEZKlXyMf5MnO>Hg`rVH^$e~A@f6^@&q*hV*#E=xCR=FYW!6X9)|+WNBH#a-2jT- z&i~-G14^FY5hzoT7=vf88>46QKfZD$&=8Ib186)6EWzIbI>!Or!U2sxMS@aeZ|`)7pz6Ur_5a}QyRSTZ!w}<7VIMv4k3WG70F6I^jsYcl{D~hjKn59u0+|5v zfCB?~{D~Lp?oTg4O%3o6)F=K{@BkUCJvbGlW#1goD#w#AK#NP7!R=^f{#MYE9?%e= zrt1cNO;_;sVUXTC!No5gkbw5+1-B{xi#~9ZV`%>Iza-D2w^{)zx(l?w=fCJ&cR2>= zab2&4JbGD6UxCuFGl$1;qS zP-S5F@ZW>;LibeA7W(eq5|FlQ2cK~?J_Boe1kv_L!GrS?|F(}FoYz3!6$BsV;&Hqg zba?@2R?Xw!LmrRDhY-U)c25PloL>X7+({4|SD?|!&R_|TPG<#=Zpfrur?W2!|p=mxLG z@#u6;@aP72+dMj*GrA#X({(x*cyxo;UwL#oSHKQTYX%q2-QWdT9-YmgRRG=K17kco zn?VWgwU6OQw6}m z+Y34z>R7A7zyJT)I$FK{{r{hKyw&61|Njh3KD|pX{`>!bBikk>SHqJHKiNu@(310X^mFTGd=66$W<0TSv2Cl`K!R*)Wkf!-OQLr(>!t^iS* zQz0w!z_!C2-`&~((%0Jy8Y=MUbTr@>XayP0FVLF+(j+jo07MA}D)0+>3h)auHh`VO z#lH=rtOc~C#Da)Hqapw)TYNWw+6eLfqxq~7+m@@?RUtOw|JJ<;iUfq$FpnGV-0jtzgA zN?8mKye{_WcJ23o2Au|^l-KZW;1}!#H46C!!E@`~t`|C6twE_^o9mSh@Xc3{b$Z}9 z_2~r9%Y(=Ez{P+|2e{+gF&A_&uS>^TD^T8t1kZ~~(411^5m3rSnzewAU!kV&<~JH1 zou3^$|AERUP1ggUV%Vd%bi*zM&=xk)=MJD1#y|d-TKaUW?y{F-@ae7H;M1*p-T^c_ z04ft09RFYONCr;_l*WN|xq$a&I{v>3UNQB+qxpwoafL@Ww@-JqfRE-+56gp|oyUq? zJi4nnd>H?OEc56*8 z__xI_0NuX35WEM{qZ>3YZ|ZkUoZ-dQ>%abk&ME+PUA`S=qywAb|n^g33^@wXnmtQU8H<{BYocrWYWE-}#Tu(YOgRBy_?)bI@kWM;Sl=dvup8cy|8x=nmHaO~Cnd7btjiJ7{=xM@WEH z+Fph&`~XcYyyOI#*$JtpdRdtvz5z|CfR+$|TQ$dB7eHxHQ-;A~2Pob_C*gT?y6!mU zdVtxZm-Tcf$lnk@9tQ^o*!R7lwHK`!plk#=NevwfsFBV+|C7BYI4UDgu!1vRGk}7ik=oQ`n7}R%p51Mc(Ne1;nFvkNlAWgEp z!Ey|a`x%%R7{CO0ZS#LoaU1Bu=5Fxx@-gtX0#N6=)AhtYkYW$eg8!KiRVCgaSBh$b zc%7~nJS~s&x2b^jLGIIG0^LCh3M}xp?q~l+1#Kaww|-+_fOMZg(+#&1K+E9&i$+_6 z+my{el=xexgG%(y*d0E-sRw+zbu~a%bjw;=%P~yw>8!l~9-+~Q9G2pOAckGUr)BpX4ELa9dz>78UKS5i4U-NEII}VC7v|K7td>sdxvh?XL6KJ_q z!UbB>>iZIOrz*JA15HJM+C5f|4fgt_CZPUbcOZvHx2FJjwEf$QkyuDhd=Nko+H^ z;nQ2Yz^6C00W|*79l8R1@p4HND7ghoIBo@B4}S`@UcdAEzQ6w&82$$3!+fe{lYCy7cS+>tcQZ*A@JN;7Zz~ zmsM;TsIYKt@aSb-tO{P_-r>;;k?eGx;L*!^_8h281s#&Zy6P^div=k)p`{RL`W7Yul@S(*m=|id~q|9vkt@NH$nB2NAnv2P<_!I@|)f9+-a{t0G7SlweyAlvwz5m+tV$zG30h zYpZx4RJx~50M8G3_PQy6wg-SS;4`1jUoSv+@_9BNv+!s>e4_LLzlQ4uehrWlAU9_> z)LvmIl|tGe-_0utvZwVRe=F#=B*O#ktV{erZGEOvIgeh`8GdpM`$3TpUQiG9#DCFR z3poaU4c7_$8omo0`2|6<;)1TAz3Iri|6b(p1ywn$JN)2YY>@>O+~xaz{x@OlbiKmA zjnx_?3GpR=tJwel|6hWp{9lCZ`w6bFbN>JTe~eYsPmY1{CHUmdUfYScWEoztB>x0$ zYUAHldc~vH_LHw1!wW%BfcDmIc##1~t1kqie}dQdfYv_zcKCLTv6SDVn^g;BAvnNG z4Ga&oGdKTWDpde`(WCPovM)Wr8>#-QPBaI#%8qbE#~yyMcQ43UrN@ssvoO9s2wgu0 zP7fi$;1QpA4xjFH0nh}vm?!AGXrIpiFDl%a7(APgTX_CIQ~DlssYi(*c;7s1PnCo@ z(h__`QwJQsp!5hfAG}_?@y!Wt(AC0IHGYG-CtpD;%f7KQmU4nC3JZ`!dp-Vpv>x!_ zcRAtF>3hKgv>F0jq#7RZux7nxCC9+u*b5p;+QzEsE61>3fs=s&bm%g}f6-1;NPW?A z(G+CIVUOdjCw@aN5b!wOdg1r~|KN;py!8f5wAVJ*5_Hb%R*<^?q8Ci$82AOin)o$a zCwu`NRRvb;(b>8H%wr9;l4I}yufJhnU}yl{;L!rA7<{@-y{+UJK)V6FeY$PUt>i!f zrr^`7x<^fn;k7U#P$1!Wu0+f_ge>4r2|2>=kGM0$= z^e*=R4Zi(9`(n2b18Aqt>t`O#w(BhAK#L>(LXT)j00me##A}_bU6!Cdi}_%Gf99`e z&9anZ@Hoy|ZYjqAX%fj+KtxJGrhw8aJZ?O?O?^OepfPnfLk0$qZdMZzKl_{o8CBp#ZyRD$aB z-)aEr%^q)c_y;M1H{P|!F^&&o$fdN#owV>3jD&fX+AS zJoe&v7}%{KE`JLjL=NO|kKSI87&PD}MuNf$>4Ukf6GJAP@VudGxBS;J^=OQ z1zI0~9RzM$^9!_o0P|cM_yt-SAl?C$oBRT;0ubH-h$aOH4>X|0FVJcL=7GjTS{=Yl z@CY7g@BqTw05VjdH37l{O>giEv=%^kpjI8fKx+ep2O1^e7igUT;Z1;8wgAEdjZN?i zv~Ga#HbCTlfR1z1Y;Azp@B+dsfbecWcnJ{R0f;`(K!#8E)(fCm?VfuBOtoGBsT62^ z08s)S&k<<-0O1)xv@?K|XtpkZ@B|>d3qQe$LIJ{i0O1)xcpo4<2MCV=6yE}^0T7-7 zgqHx}89;ai5S{~s*8t%KKzI`%yaWhu0fbio;ep1k`88V`AiM(*IRQ{Y>TEsn6MX(3 zC_OQh@OpIbo$>4c|No*-4CENnJU~~5d-CUdQ#};}e8*Jg&-BE<#|t2l-oXg7@A;{P*bw?U>78_w05Bm0Y0ha^NlDwH&Z> ziL&*;ou2=qNqTY&FBgK&R_v@j0S#xL?zNzz-KTpmsL1qf{a?c6*ig%$&p+h=s1xne zxfWE+`E>3DsX7L38?be>f)2(`I}R?b7??bI_uc??Z+gLviWhsXf{x>E1q(I*;Nouq z?GEbo_|@=}g@4jPkLCkEJ(_~^2d zt)TMGqZvGS$-v)|3)+^_nY#eoA?)r26_g&mG8`VwhXwdM!gU!KN;LSlu`;;GF+ld? zfx9%|BpjmyK7|N$1O)d>16>9N$GxDww@2q((5S3W=UVVWpyS~2TX5ZGJr`tpv4KbL zUXTiKOWG0KNd=v>0e0St|De;KyTMw0y1{cqubEv9zj^oC=y`O52aG+s!Nz!W-uf@9 zsVm0-K6DeTvV_~Yp+@h&KL6B%uR)vFK_@1c2zqpbdru7(`lYO{hTmShc|ay3T27XD z`dEG_)rC4|7s&BQZUPNy6k@o>`Iw6-gFg7cJ+Pfn!+bP9cv!ohC{~3UhH4II?duCw zuvsuops?}mJnGeJW8l#ZiIVQv6JSq;fWj4Yk|V55E2Xf2{SzH}Igp z(0A~lzrc6Upg$?Bo^h*LgEI*VQLc<V8oC6Gp4q3&ooS>gdoqiQf$U`eBAH-a1j^Bu?nr(-MzWF^rigi$`- z;EScadu`0o)8`gVBY@Uq6w{P_%N{PnE@zd?7rz=i4i|Dtl5atuhLUY3VTg46i(!Ky*6-yNX3zjN*e5CtvXdwan=q*6Z1p8?s7 zZg4^eAHQySkiYdjXf~;LuLP+3)!Pf2Ci6hjdk(dR=$s46U(n{eNAFg!^4_VSwueV= zFG$X(w-sd6i_i>^Phk}be=BJ03Us@ZNB3M%6W*tLEvV)0+xoUd&8N4T!>8BuvxFGK zYpw~N&BrA?|DP@4hxFJ!fO~A$Ucc~Y-V3sgp#*Yh9IFOsTf|&YyWgjKEvU^8GE3E` zx0u7H+jhSOd_KgpyY7c)x0&Pr>z>WW1U&zrEq&|Jyce{G1!mMPb&yfDGd#LW5BwKx z0U3Re~QT9KfZCu%d@quciYzd$Qe1Ds!=71RLd*KAz?X(bQA zmN%%22WonQGAOw1tpVwU2)0fD`AMS{+zSzGZGiB=y%53H0#I)3Y)$wMy5t+&y5tvZ z&4BPgx0!)XfCckh8~6oVJHSlv1V6uE>kJ4F)Fj~-Y+V82ftn=zf~`BiJl6&Mf~_aO zOh^|@u=NIn2kwFiw!VPyz+EuG)*lcaxC<#$BJLDH3Gr|$E#p#280LhQ3kSAG+@lg~eF5QtdsKq0KOj7Ck4mtW0}>J7 z9+hCL1cV3fQ3sZ$iM(T-VU^& zw$t|lf6E^5vYtdnpYGM5C1{}4zojgO|6iLKUh?Sth_t@bv-5=K#TTBvHUgfVKRpjV zWc9a9;brjPcmL(1dC;Tt7w9bR@>?FAKRpgUWc3Bfm9l#LKmMAep+d@7a9(fyejzKE2?OGrR;kVfr;csD63i z(R^HizXddX>1kOmQRd`nSov2(Hb&1*0iSMg0D|XeR)dD1I_H9NGPJ(zEZqUxFWwEhm+%&- z{(W&^5~yoC7u5Il>D)R4R0Vgtg1SoJ!O+gu6(Et$xf{Ox|L@bebO)GPdjL%BJprbc zUVtdM@#X*jZr2?htq(x_-o2nyb&8N6to4%#6i@Z&#dAC3VN14B2si1O%$ zxUu;#2k2DOmSr-a#MKKbh&(#M#|U_I_ks!{k52H_fxRAon}0HaH@EORU2MJN0r4Y$ z3+Srz?yV``L4B&y11{ZLK}DWR_ud?kNcYwP5Y-8qKHXXYWqFQ|C(=-#^k!UGj+9^HF4fO)kI9=&x59-VtZ1)4`Aco~96=T=am z)%=UmrxV0SydvwgaAXL!Jtw3J?W!N$kP@X|(%fx+Pj_^S6|M`JjdU;7S10pZV6XfsuiMk-wD>BnK&q zJi51nw7gJ%4=Qj{7eL2!JbEEXxbvAuH+b34i?lBc44%zbjfRxL zrDo7DD<}=|3rq#27=F#Epp^!oF)dK{2vkFZdd<7QCc;MuKuPHT<%ZfBV*D+SSr{0a z_kvu)z~6EW)UWT}3ew`y4cU{^dCKG9D+P~k*By$7Jep52g3b;53e zo(CUkcpQAr;lp{|hkwm+4iC%oC9=)$7#;a19RT0=?g|>0V7%bka-gL5CFmMxk8bd~ zEf3JCVFw>Dd4N{3D}WR=|778B5(BZ|DkQpD7(wTXfaVeYg9fQUm9e#>4}bGJ(AY6d zU7$hdvF=I_5B~MvJq|u&^3eRm-*gtN0KA0Br`y57Q}Y9V(@tgvhUWjA{LMk2vY_=p z)G7Qei}*pw$Wz0U@uLUhc@O473s=xQz!UJ%wUD(NprMT8uAr2`09l;@766YifLV|; z?vI00Em#1YF(52ZMuf0Hi59{F<$eeY)G&dtK=~WO0+kdXmPhk17XBvC&QMR#U{BkA z&;(!iTu^d!=ijCy?AZKQl)oJ`HtyanGtsGAW}0i~TaRAW=n0_p^g1g%8IL;tf7&@0 zl+|52Z@v!d1dpP)bjCKkcI%uAa*j(U_&k``=ACmvS=ps?E@*k>YmLsiAV;`#&IP&Z zwPa`P0+-IYpyK8=Z|7W)n_W8Rf;{2U`P;Sgu}}A2kfZ#2b;LdYANBly$fNntAJ66k ze_T87ICkFmwEWB8st?*h#s*RE(s|3Hdn+h9J-WAniVF|TYy3^1+Nkrs2WZD4Xd7GS zIcN-dba#Rmach3$ZvtHd=mJ?F3cAvu=?NnPgG;w>18mu9cLQi&t&ipj{-%@Q1-GEl zCy&lvP!NEo-I_pW=|OIbMQ8!-=kVzCZSVkT1ML-ojGTbATAtubW zt~;?oUY`0fk395eSoNx4V&T+r%G@Bv0o#i1jbditQ+5Tp|^qS+-5 z8qox;B`W29xlf#d0r`|d572<)4hhiE?_5wn$ft8@2B;wKoD1qBfd*(mQP#T^B=^E% zDySR*??nd<$Juyv&jqd50y`lIO^tYT&IL`yA)Ew~d$Dv1sDcHLO?Y%q1$Bcx zpo1cv_g-Y^gQ^bDxCSGC>qJoWcP~`{wZFQzYJl2Xkc!c#dk3i9?qj_JRFjqRcy#Xt zb%S1HO$8Y}72Fc+?gFjd2VFyS@BxcYrwXG_X9*(*Xdu56-00_TnJflU4OZsSZNli$ z9m2=~t+rn{fTwFfn(!|v7@AYXKXQ~FNGDhcr1k5A`2k6zJ`#o`PvQbC^RoC+!(U<26)LCXjrC5#8Z z%R!G$@C2hLzsp%@!*M4+C`Ch>5um{pk6uwpkXe#ovqBp@Iw3~5HbC^dHb6Cl5;hji zuNR3kyto63D9C6%Oh34p1Tg~4gqi}%>O1)`obUo<$~1^6pmG{+3YY`&2#5(a1(fY~ zf)4tCMgr6$8$hN6fK3Tq05igM0mK!q3!s`o#mi36!LX>BCE~>xUI>FVgZCJCc7k%1 zM>n`u^yGIr;?W6a`trLx#o~ic3&j~;T$v0y>hzdr=XH z&R)>;ybokz#;3CvG-nN3B=G0|f2dKQd24X$@9qV~q)%rrXtLi2QnC4T_JSs}eY$%= z5#`g_>+uKF;rCtO)7cvUVs3>^=Sa|Njpj z|GDA83EJBBay|p7egRcVE$0{*7(fd6TR}I0fog`||Np;e>}6nh3F_xNZt-?C{N~sI zUb^d3QtZgT?GI>zY{EeX2Jjsm9^HQSpvDKpdv5%n`Sbnc`31uC`8B74)-`~-F`#-9 z6sVvY61>nIbYcO-WRTTRw?QHUWIJ;&=q7cDm8HF|9m_#s3ki^Ju#X%&+ZmY{7#utM zSwQR8JGX=G!*b-`28jgkQdQ6H=^!DG)=SWkEAjN`X7Xr0AOO1ZVk47h=k?d_p50*e zj{MvDL5dx_r}Ho|Fmz6x{N?|D$L{HzU=FB80#7VK4Fc^DZ4CgW0MN-q2LudHf`);> zolcKV@XT@tc+E^Vcnqbx7i3tcA9tr42dL8y($~8eRKa@mZv6nB>ji6l;c$?F!Q(i1 zf&r9iJbHV1x2!730(4fd?{(MJ?&;0qG8vFu*7W@K{9{iefL1QQU zno~goDxe?-4YPoP9OQiHAdN@wR!}|f)A{N}P#XioE^wP0Hl6|=-SOy_y}&QW@c(kd zUg%&-`2$*ivW8EN zfqy$_SO>f!#-kHlHG6cof>y+Uj*0Z>o(kIQh3uBjR?r5g&R${AF0JN&ti|k}-BTBU zmauoXHh}Et1a~BTyVrt_miFibFXr-qHbEfi%B5o|D6e;eP3i`l^@#lihxe0gUUkCzFF9|z19fuZrrtCpLe@9cyzXceD2e^6ucg28|wjO zIfnh9p%-ZBuD}B>-T7O#@PI4%T_8E6V*Rq?7H?>I04sF(TYiCVHEaTjg=Z=?~@4FQL#M|UHn{{e1zcyu>HIv(K7P9EKjkRAu5XLKCg6#{3# z>@kF0DuQ#aKP|@;eVg*ouJl&PxnI5QIx*jc?zE0Wg5QS^FR*v z?Vbi|QTTK>I)I|QyA#wq^z5Do(g8Yp4Aj10=I;~X0ha}!p;%BI30;5+W_Ci>4R-E@ zv@_O%+8G|5TS4s%pH6T)1JpnT#b5VSP{r@jITh5t@aP1ufP*$F5XlPEsPO3oFAMbO z>;*L_d^-1nTM?a0LCptfyUnAs71Vt2=mw8yfYJci21uB7wt^ZG9^K%e1LXy<93&}# znULJk30^XXNJikMMYrn$Q1=tuu9ypHUQ7k8p7VfhJB73|y1{V)T1g8suyZcK#s>d3 zR(D0zX2o(&Xu`_|T@l@h*`Bz@1=@24?r(vb2K+4#zyJUL5;W!H0cnzXbUSK*mejI& zbO#!|W`GU7mPmSZL-q=G9`@|K@?X>yWKicLkIoyQ(I(IqsU05B_F;GG3{bPP+xG&0 zE9e58m(8z0t+J({s4C&`>3sg;#&=M;2U^(=8S`X-G)q9mIB1vWIxc|rGx2W&N1|iLF^_I%3GlMcHK0{f z-N6dTUhDLo;Q=Xb!SgAd(50}Dby1z*(#r$VMD~C*kwKjSP`2)z3Th&Ibhm=mc6)R? zfOeRJlD|jyUeIb*P^to*rhdVrJM@4@H+W1EwEnldbVsirXv`kG*@55bVDk?~{ua;% zF>ouRorQs+^MhySb?D%=3y5>a^WYN&PtGG?&%(y8K}U9Zbc4sPyS;TlyC=XIzti;q zc&r*6sK;GFc^5Pk3>p$`J;^_{6*S`djhT_ZB?vOq2HGkSB=8>K z`_PaBhc9S_A=(52xN7wQrD~)Jgri>>7+y{WEg^3{D&hJ69DmDw(0;<^+8+!hZ#=te z8UBkZvCA>MegL|d8)_BUX{gzZ1(eNT&PB~+*Zzw>U;{0q{Dd`=l_D~k022cP_#R#U z7SO>eu-wwk0X|zq1Qb%;t_ys+H-It)IP}1Wc6NdXsC{}fIZ)T%gZ)!d>IwGC2Z&$7 z*yI>qKk?|^3mVG&FX|3*Soc=Y{1(_ekl#TCCuA4`qy`izuX*_889bYhDtP`sS0e1$ zT+6^v0y6K%e^EA6^S-mnF}wtg%fW4U3OchG;%d;Opl|E95h?r|Jv0R#=j&;0cs0-yQo8K8WRW(x+;Ng}Qb;APArZ~()~m=Zk? zNLSSZR6r?W7El5p=OXqyU@MWpg9?yB3AAvLf7?`0CIkzdfR;_5aX+MTsdR=1j&cdy zv-0VL^q}yTOOR3s+VcdjS41j_Kzrg|g4(w5q7cQ(m!Q=ln;Bs#8GFVPWRYWNxecAL zEOi9!V(Tuw@S^GyXg>Hri2-Cg3V6mH(irrBwgezP4_RV`i6a#Yz(R-@Zm&e)j^;647@r z{JP-&04@3Y|Np=9F&2G&&;LhZPK7Kt_0fFcWBH+28yX^DmqQl6`gFeY>HPG96~iE3 z#`mC8F_9KRS~7w5tG|P-C=>!!m7r6e8fw@GEqg`v(}z-gOA4zxL4Kmjl0toiQFxXV zCNg4KQnxZ&wGDj- z-oD;37qr2VRdFR~$2WLr0CGXEf);4&@@o~)@yDLch$ZPa{)2Xc-v2Lp{=Y24OD#qQ zhS#92_7^~7U!ZFgO2j=N3p)RcuKh2|@S4L1wB)I+2GRo>YkBci8)81_rVIy==x31n`%qEPND+VQdywmT z_ku>#Ufii-V0a1IO8R0qDC)#Pl?{@^eXAK5UT3_R57iIex&7_GXdNgR3c#*z25(hj zC=rHlE$RFx%kUa>*ue!*b_Ly1cU&Hn7-35&9YMj}U3=lh21STl!PnJ74O;*@dZk1Z zJ``yKGK>uoA7E+3SfuPfSy0spny3fOWR!}7tOSikvQ#lJyykrIObcQKd@u%dGJ!|) z-W8z5-ux}sKy!cKbuP^Z{(`24n~s3Orh6}FeanB*{h(9FK`v#3x)e114_3(pndgI- z_bojTeV~cB|Dx?MediP))+6d;(Arf|-`+hc9-t;{=kph{ML=5u|A6-g_A!Fa&Vk(D z>8TeZu zcZ}WtFM95`ECcA0J?Lh?at)hQGxhwC`*i>o+0jg(slB;i3^>)yF{%@KzIW zaC`=322kER@iG%MWZinQL=hz2(#gQU0J&Df)$p6E;ad;LQBE%>vxD}J?gb6Uyiokd z$l%kx7R2@dn*-h=`u~KdL&Hw)wUfu)s_#pSbfx9=y!F>c!0S6j+1eF$`zy}QrGHe6qCGg%u=#fI85#!^n zKA<$ra187SMvq=m#ZFMERomgwyA|Yi@XXeWCG-FP|K{4k=+g-f!ID_eZ6jbOH~(ZT zH9}m!Si$bu%?|2P!|njDhi|oE0AFZu|G((>U$P9~YYSg41?{)#-V0g~?bE##bh6LO z05%4O?$RF66fn&B$HB*FfCo#Cw>rQ?dqtC$fm{j>?atB@I~fER7+&n&4Bn;-aye)O zoximobOm4d0e(&Jav*+9@c0sFoiAuqP!l`~0a`Q+;ekdV`8B~ai=g`hA%bADAc4_c zd*Z+7grBmYbJO@++(9AQJr|_ubs!|_Ky^Im`1w!&MI(R7GWd3W_2~wO7&OXX7P2xh zfVOB$c_2kQD8gHWL5sB^gGk^d7~Qoe48QFH`TD5 zJUg$x1WkNI_CA&`eE8j8fc6e{B!Nt7{a>Q$(G89& zk4|vD_UHs3y#+39UUU0&F9j`?cpU&bUkseRA(N%OwH-d4uRxn~L6zaEdHMK@WH;c?>>A17v^)BWRZnIB;7Jfc9hZx7-H}kamObCh)L4 z=)v!H!lUz)hvp%VPVnJ4F5Td8cl>|A$MOew{hkZI^C1_=Y2OXC4GbW+@wbBJ4w}J- z>M;3qzVbYN0OUMRe%}i|mOnlDU9S4{>IiwXUh?Jlc;RVz-G|@lm5=2QAAZ+YFD*ee z4(xoFZr=+Yo!~>_A(7$PdGs}#tKnN$!za-7CqB@$(F-npKrO${PcQx-0w3T5DldF` zZ40N#GWfPW@#S~@Yj~gqbS&;MUw)Urps4!)|Gx{z!*8IIj-E3yFt~uPKLs6DYvkD* z|KGQ}{J(E^J??^Z`&VdcUk749PKJbRrUk|Kf6?h*Wf{OFl^saF8+>D?Pxn^P-JhT? zk}+fpi>kphQHIyzsQq)#=Hn5d@e7pwELXt$SwPoT!8W0of((ZE{e|UsMh0jh=L4}JdJUfqra^I8#zO7IAryS%s2)QYo-}OQXhpXX}m!RWmd>}h1 zeLMeoc3yYse0=aR3;#CO>s)dS5XGPajKGyDXqCIcXIao@QvQ}uE(Qk2=0A+3?1m?O zJAc0pbm@H5{OF%YZ-Inw=Woy6`UKEj^Pm8RkJtEgyKnI6_CMj%>Gr~>)9-^%xBCm9 zZhoImw;w*Bdq)m3c{CqW@Mu0>;9+^H^rGXpBaFVC-%F%DvM*YAc9#eXcy@;fYj}X} z3GOuE@aPNyolyW@ndQ?7Zff{+LTb}aaBb?-xikWlupx_OK&zZUJordFsOIwN-U@1M zd3MJMcv{Pqa)7SjaQnr`;MwiQ;gNmX0u;C)O`Rbe2K)lxVuoL!7gSaA3rqzqHscoz z;ZWcg^x+WT7i8f8-F?s*CjdTS3e=cG9nCqWq|D7!NtJ90K%Y#;6Kn_Nzkk~V;XF32O3GOpnX!i0zfSu=%P+gRrhiuNC0;H zC0Gq?%~Us-=hK-Yu)(9-_kc&IkH8L(&KQ9M-M$w(eFRQ)_kvC+>+}&g(+xiDuhU21 zLU->U&{VyTz!i^f$Og1d9|6#oD-DoKJADKmK+b>i5qRO#nIrJQr?W)hhfk-CfCp$f zsed?=z}ZzHJv1q+GZ+7ABKYEYxD6TGa;ryE?Nzi{FD4{m>zXhGI? zgW~}j<(`^HJsFSt^p~wC4er?0$B&DEn9AaH_(Ht1yJqtBK-$0r|lrxBfacmA45c0~L3^fPp$b+4y(b=I9{5zP zQk9oAKmY&7rUop}-x3Sjo74?%8G+WKy?FhN5!@x~yzGIQGVrB}XD=Ms5kYSNs>rkv zJ~{yPkx%DGNXh{1o%PT>3~kZ9=7TvAByM;cd}T9#%Yh%D&H`lIvh&^x|8I;8KAq1z zJCAsRPMXI^xVWA7VhJ0F6%_H{6#*WdQ$cfOKAoTzTP{2g`E=$&oubRYzyQK1`RCaSF@$UQTW*6k zpLByqxP7{}f{rKz51agZap1$R{|&Vr4E*4|dY}%SM<;lLr7z=mU(K%&RiLFM)8PvH z!DfNaIs_MY;NuA)xe#=`d@m>iLud9t+IzQx1VEjPmT!y<9?f9OyuX7s|4irvT`Bw= zB$t7Z(}&7|8+#xVI={W}L`Vz3q(Mi}LZ!73(jUJ;Ol}30(4czk+&4zhUGA-*6=0wk z=-vuW-QA%(UL1Z8^Zahmk{xib$8`rp5jd%LhaPyL2g-xpr5)f?{3nCeg--D4E}h}i zT??Al1NrVnCCDUj(Z#^un)eMf`3otl;N_W5=dTyR$f`WRs=!0spc=}fdn+hScy!)+ zp#xF|4ki__n%W5-y?Z}^muGAh097#E;1uyf1k&gN%Yc(Mq?vWX)A9&^%S+HE>F!q0 zNi?ACIv(9~8Ngay8$7JR*XTm)KmOKVpbXHv7u2+SA^4Gz;pG)jBJ5rY67YaD96d1G zm*%gb?aO12vbHMd9_&$0M%MfOb@~0l%aGpWgb)W7MW&u#XKg-_%T8ZJ)ox{w*zm3&^ z5$SkDa2E$WoYVOd+DrqDp@ABKpnEPsqx1ho_q_s*$YyiA=JISl8sYKZx1l5pG6DD= zG65L+N|xdEW6!;?j`d4c(E4f6ZtY&%pSMIAKpKxhH1c~k*Zp89dGFb6=lK8n>*t_W zX6yAY|NpF@x?a{m1+B|7#Hss02t9lwV%(g2s(Ox1)jjZ&Du^8D4aV{`~)%!Lu1L*fJU9 zdr)h&3uHcMz8F+0)p~T-9{4X>_EMJNb>Zv$*ILM05@1@wK@4cB*!`Z7;f1E?&;Opy zH7byyod5qtOgWXN_$~q(IS02hUhDw5@EJ$|Gbz1!0ZmGi zUw}r(At})vWWrXFpZ{NM5J4U+gq=?p7VOda+oSO~Xr050Q)@vbi#6z0$L?y5|Dv-% z26gWSEid%w-V9m<_+K;*^F=QwXb|!H zi&k#X5t&%-D+8@3@aVh@Xd52&qof)P9gd;#290(Fy2V7G(&bSJQTcC)B}nqsV=36u*caWnHdC~m(07oG52 zmH~Q*|4SS2ewxxV9=)PElfk2AAosX*euIpfwJrcvgy6A5(5P8y6y!kX2}Is309s@R znp@O_n9vLMhYRSA@|0)bv9gjRP@@yHQ%DIk_$3BCSRUrLlGvBs;FYy|K~<)!;S4pw$@vp>-&GvH&8_;5Jg~(9Z)d^PRMzW$mb=3 z2f8~!w|+Pj%R|x^xa99-_Gml;l0_x4E4?1`>A2?9@!lx7BrsJ-l zZBGoooi_~sJ2qFaaPzl-E^G%~yw`jHt~PanPiO22pU%(=uM0t5<%$k@NK%KwPPyClMW^c;{%x!*zhoKqCosSd z$xL|!tt8V~7#R39zG%q?gp(Ug9b*@bw&mc zNGSMpD*JS1b9i(X3;1+aOZapaD}WZxcyv00k3k3B>;Yap)ah*D(^>2QY1un_KrRGu z4)Ex9-Qdyb9O2VhoB*0Z1YO?&IZ4{N;N@1(wunwdM)2$ol<@5KQ~+Jl2-#5Op?Lv( z>e~taNe4JC@VAzMR{QN*y$S+AcL{xe8U37>8c1)omW9lneQeL8&) z@Her7omji!C1|6VZ+C`-Cs@S?AI%pi4!aBLQ4`~^Ex$kwR)n7&L1)N=b|~Kgr4UQk z3!v*#`P+Iy<{f;%)?C8~a$_Bc%Xq@0+e5+!w7jv?cZVnA37<~a1N==%U=wRMyaZkR z2w!^$Erh_wqJz>TBe+}a)yrb%(R@I|r`z{}C%7!U^qSMN`H+LJ<;4MvV|l#vv2W)GA8i+d5ByE3;B!cP41TzF zo^ot{#LV9s40hLv;(aeYfBuKAzW^0NFJzg)b)#?VlTxwQvY_E2=-~$?0?@4L)A|0t z=&^g?0q+-lOsLI4wDai$JUV}aZi@Bkt``99)YS3qP2=$C)pb8F%J7;Gyk63?`G|z) z|MMk+pz0XXY`0Ny{C^cR-)#*(#_Icj(eQhq>7HT*pYCc6kU9EbbGmiK@5_QVuOjbX z_3W-u`Qh1Z0y4w1`G|n$|MR7g-dEfKH28S7ujSdYZqMdFJVmX(oliYFZ**IG_J*i@ z@v!{G-;@t-1hCloD*o{8eCZ21699BAUUvYCC+NIKP%`xIlgy{EL~twG`C)++M-c z_}$%)fx(4;TL7P9^QX`>N6ugT;Bmy}3Jzv|@TI0cjNr2yk=jXy2M)u-4>ib}-&lBb zmag#Z{Oi#fy1}FQ7gJFo|2E$FpJYL|!3Q<`WGqbtm!`ck3?9vg75F>KnHU&K68N{V z&i*6|ttCO7u)nvU)octCXy;q(0h9(n^KXeV7to#2X)kOKFKmP{A4Vdk7(t2 zcDgdWWCNK1Z6bhrhM);zcvGUc_P{Pl1_sDlI>?GN!*4IjlR-KFVl7HJRey5w@p?1p?P|dH-gEadd06EO5BSt|AlzyZ=IzumjW3rC&Mh z;nSPU2r|vF;TgYUubY8muOCPw7yq^cF8td*y6`)F@Uc!kP}&I6D0!Zd;U(xwFOTNK zOklri-t=hx2|j+X_5k=^PVmGSBzi#I{OgIJb`I#Y5!VwQ-LV&5vw)@$(vG`Gu#~1B zXORG%Kj_hXn9ZXTbQn*h0Kb6i0e(S7kLDv5NXhuc1+`!Q!J~>GGY|j$@gKBI>97a* zmIp4-;K6^oZs*0jPyhdW?gcd}z@46M=(SKMJigy3bn@ve zz2Mua4=%x8nuE47fS0|1RC;!@gU+evZ&?MJ+~|Dn(Rc*pQAFVVS53YF>XGej0JYpZ zdryFy{iz!~y20yBK)V1z65Ze#e~(V^{Z)u9H;}#Z;Bv;J6LQlPd^6Pwh(6G;s|REo zuSfS(a2vF9>I{%A-Kh;8-Ju;Gol`+;&G-deCx8~9`~{t1m+!g&wBHZ3?Fzat3e^0c zasae96J%`bNq*3LCVwji{AI3*T zuRzBYfeh&03UY!+H+W)VPk|m2ya#gVV+kvRych%jHV1(;{=5@u{3W~~ zej5Mn6KVX{588ruy_QY{pB0RVA^sLnHRjpvuHf12FX7pF+@l*3JfNd>G*9qPI_P8h z15_2A;BU1BT}s;epT7mXJr8t<7&Caq4rs3mc-8oh1{)60EH~%|-t(oOUh;re-}E{% zdTJgAEg|seW#RYu54wN*2FPojz9&F;jue2d9Le_REkLDt}83Xm$;BK5Of3 z{*DLi3=I6+Sl_;ph2OAp06c^UK7!2cDzw->2wKyL1C6mz?1MEj5I$(QrNBWBG!=)f~Lc2Ar^910bbN9-xa3K#uMPomz}E zP62WVY@7nb7TpPQ6nJ`n{Z&~8L|}XL?tSs+|9{XnQ&0eOgR?IvvHko1|HT$QuscBM z8kBs&1Inud!dhOPnLV9Br13rghtf~^lghlLCF zg2uIdI@f}hGk{8T=$Z-84RxTsmi+m>0-&W?8dE{rAo(@sf_Fg*f-~o5{(A5%1i#=^ zP@dx#1kb#Iu0;gt5OnPT?Vbe9Hh<=?cbx&6Kmxl4JpBkN%s_j1K_b0VJ3t=l1s5?s zy{(|2_32LC@IniGQovepK>;sdJS3fdm!ZvlTS3O|0u5$@8^WwtWWih7Kl}ri z58y*+_yxeHS2^+vP6aJ!0_`E|RbXOZ05Mv@L!RB>vs*noTS4YPPowqhYz2*tf{Vr0 zm%sl1e+jx+6y!tS&SxIYdqFn9R(rT#2Bmc9GLpTZnQKt1SknjOnQmRiE3ypm_7jfw zFnC-SX55cUAmbpjZje(N{)_Ip3|cJr#izUU0>nvSpvnWim_F>$4L(N;v~~_O2-JF@ zgadq;;z95nbmvs?c7o2S;B?ao&SA&Ese-Mex9C6kSY^;C00Zb$ZbsH>p{E0K}C9J=>_mX7nk@urZIzV5e3~o z$iI!X{RO;~X?^kU|9@~njJc_DP)F>OoNJ>d!Ut6qWqUYbrU!@_;iBT zr1^BN1lX9 z2vmi7K-N-1+K=E+0*QiK+=d4{K<90PS|KHz4VL<)EQYsVJGC4rarc0D8>|Yc730(S z?}cC_s1*Yabl3?worjLGNa%a~KkU;DthHlz8G}aGbqZC z3gA1E(fU0FL8h+7|51w&>?Lg`#_Z|D8#_24&JQr=?3pa0Jod?TR|6MzYYSO!3!F$ z2i=tN|G%giD6T-kj8!N2S_4o@{4dH2QrNo}WQj-jR#3$RnhTu%89dq!7VUK10jd;Q z>_F)qvJ}UodoHMW^XT0RPLQ3Y2S7E+r04(tH-kkO`CIuxQQ18gRC4=tuLT#`(Ak&O zzTko$G`jE6DdE$Z!2w+e431|=>_G!}!OQ>u5uFR@!Zy#&qaK!r`CHb4(m1U3<9Y%b z?=NCLf)_NF$oN?PDisH9@`iiszv%VzvJ9;UN~AqnZzHOuk~B!ulj*!H!|Nyy==Ffz z9tj?u;KTg*1snoE!<3-nS-`=8UlY8v1=QyF%%ATez%LM>z%LMCz^@4@n|`OWm~xKuzNnpMLy*t>|$aoCiT^ z-na9wNB3S(j`Zn#2a3`ct)G7U=jR4BSen5Jm!ZVPqZ@nz)PGUSbFvJtO+l?q&(7nX z;0c6eaK)?ul8AsxfNzw1_h0leNKg(Y2ud?0_MoGdKyx7m2;m(JB^n^dzm|cDy_SSB zJTE>4?R0`R;P;%B1?^G>)#D5$QXbvlvn2nEE!>2QK1IXRI;1c}B9nd)s zkliBC6LJ2F27sJ|q8K!d587=EvSh=5(eSgN^5*}G`5%5DU2cooUkCx+(F__322B}& zX5*kYdY6O7rhCB$w}2M{eflpNa8{PV=~#;?Xt5aLMsIt=OFq4}G6mov75I2U!yZwv zGX9pQpaclIulqvjE66MlcxIImv`QL$W?FA=I=HlZ_`^r@XNfxWer>q^r7-;$OG&)% z8{`1ceczy=eB$o=hPcnC*VZ>*mcc{wL`kFv~~jg1eC* z!)o6D`2Sz@-$~?&HIGhbj@J!PS9LyzTwnTMH1jk#)%+J-a1z8Y_UTOK@aZfT@Mt^& zN++PsR-9ve?BN$062Jb##&gj7pP(sSpKf!X?s^W7ZaJUsG!9?O=cO6^+uSXz+$>7t z8|p2YN+TQUESXA!`M0?X*szsyG}H+&7c0DW=HKQg(D0M3l+A{@Sn#!p4d@z;hM&y* zlMWgjELHUYUm^J2v-2ys`1|!=RO2+L9Rj*o@EvHd7j#%U#K;mw@Gx9wuRUm3Nx)r@ zU%+3HU$Ylfro*N>xA|MSfLz7Dt=^Jur@bAegQv_Hc&4Y zda<|*|297>{_SNJKAokYyC`RLfGzv^61?QzKglHbixb0!vFspz+5i=7SOIbk6!S44WHhvp!Tg#FL;33r+29Us9DpS zJ7EI&UcP@Xz7~Kqg4A%qs|ry032LZ=3vzHbk6!@Xk>(ee3aa_|HNh(y`8C0-CiyiX zE1aNb9e^$)7XYt8mEi8a(8KArDg zq=Q`p@)Z||NsBLa0knSM7W?gw}7T|8BwNlH!!|_1zTSb?il6> zF5f_d;^3+Le;&PiL9zcrryf)bgP2UEp3uej@J^fwVjB#~3_bYD8QAKH@Bc-=9|sR- z{}+9CT$aJ`z-!?h3?CR6l)+0IZ5bLEKu7<2G#&xj4$n2>T#|Asl9V;H4u^V1%AWhnU&Jh4j--6b5Ku?i` z&Dnx3n%)ZP@OePaTRjF|Ud7hYY6R(RfPx&{+W>VtJbJ-OU+l;Q?`UlR&z^#ADFF=! z`S81Z;BN(Q)a;IJ@M!+cRLY&!XrZSExw_e-^Cr0d_3S+F!FbRIGzkM5CHL(0|L@dL zWAR_F^eK2F9H`dw(frNd0UF-|k4%)P@NZ+~y#v}718M?-`yAkq$vgrLnF}lo48Dy2 zK&=Ku;LHYvTPLJ5+X+1jWiEJGSnpnthe7uiArCWy8dm(ipw>EAu}}9}kYeZKEc$vW z%dt0!J`*^JT++DIJjJ3 zUA-B+x)K!R9=)tb(_|SuI$J>=@;DAYJqQ#=&=xbOX$Zfr6&$h9u}ZL-Ueg&M&5+P| zA@cgi|CcL313RrJOSl{xY*au==`|B5fh+|Z4>_Hjs01=S`~QE#Z}9X187|~^`NZFP z5Zvx}ZSVlCqLEK)w9?ZnmDmqD2Hfx@=wLK{*Ha#?Cre{rg6`z@=sZ3FbTU2Tbq~w$ zB@!OJmH!)Rxc=*vzVc}OU!v%tdBTJ7<7+vO&W|3Q#|6d*O!N|a1coNjU@BD<2 z;BNu%Piwv8!SC|JgYhT$czw`h@?j6l6GiOcW3oF>gV$VxcJ8`#mR|AgEoJoR_T2!Q z7uLK1+BL85(Rss%@dJNTAZQ;y<30Wk(B4zfV4b{ACoHT$i3gl~U-Ni&p7XT4SK|J< z5WJ5GRGY$=0f1NKgVPLX*ZuuWP_YKeYK;6X?BFrcrJ#rgWpJO)(jA_b_eym9H{s$ks$ zP~ERtKwMC3-h=TzxOMdEzo_>iXb&~^glo&UQpm>lcLzZ&kk|vDJEdTL>b&=2`OW|T z5x0s$W<(i%x|f2+WJ(Kty1^^ieY#5adR3u8dJbP9TWHkzyl2Yf{p?F0^kt{ zenCeEegSaK;}_@!MK`~|RM5~8zrbA3Vpx8`NCSSsKm~q5PXX{;N9_)V(&pD)FJAE? z&2rp*^5efpuWeeUEW?X~uYdf1tzr28wY00@Tkyh(doT7r`2ku$*$oackM7b2P|Uno z{sh#!gUmLAJkC&J06p*NwW3GoVQ|0Y+ka7wgR%^-#XLF>zZUf9JdB7nivyrOSnUq* zl0(pPN_CJx=lvJ?k8$^xp!HV<_%cIqgUzE8JhliL%IN&=(FqwO=oNLa6KB}T3mPi~ zjbdyCbwXZDvjfcy`sl##TmfoxjvW5M2!(y`n{Ex_ThG zc3`o4g$E=UKrLg?$Q8sBzB@d6Ma@B`fR6Wt`oIlr3V47RV*Lsaa2WWm@aXOZ4I4xB zLYTdxHX!Yw?MG1U>=5msf(FwakS&Z5r+}(|*sKrOPmpuPdquz4h%@XILd45f8&F_? z&npHy2xj6k@ z?!)i;0zCN%b~5O?6VaO>J@AzM@5KSI9?$`69=)O`L6S&Ov=}7WdfSKJr(|=Bfx`Z;62=+Sq;#d7tl~fXDjH!Bhc7BD06hS&Hzh*ds(0Z=O8?A z676hV0p@|~uvXAPt&nw7t>Bx=AZH(f4s`YC2A5=@Yi%IPK{wohE(U@WjjcDpqTu#B z=x9#}4;=ZOtuG)vaAN6f1>G2g7>xV@kpstPXDjIbAP>ksSC7tC4zS-qfe*gt2eOE( zRRSW~0othno{L?p0TBUBe1R?*^5~pv0hU+_x@5?sv)2P8-#Ha@$q;Bg-!ITa9cU|9 z1&HO-4ITjZ>}K=mgaqUF8ygrQhhOqHJYxZ!W+1xG61hbB_kzO;9M=R&BXIblmPSP& zgOG}V{h-^nJ4q~!EI@{Ujv#`jyehCEcuON_iLe2henF)XKgbj$rm zo#0#Cz{`v}TRXrK;3GD{$MHhSs2N~U@a3$a0uIar?K*5-0b#BH&DMgMurg`~ga@t< zI$IAwc;F-iIb|AAMuCs2h96oBI;|G5C<1h1DRh1od}=9p7Zv!%ZjWxz?m6)3rJ!jk zP{?$HwimWSjxL=GJ{G-mDd;?O59mSYol`+qnR^@upGykrdmU>9ooWu6p7%Q|i*la$ zx~;=vCcpL{$ z(1W#h`fl)OJ?Ya4KKh)$B^EUD-dVfA5xn%-@HTW)wCe>|!zVu7wHscWg3s3k+Xq^o z1xki~oi!Ri{5nlEz?~fM1u#C{dqEa?HXjAAq0IK^-3vY%yLT&SHp-{-(Tj={MuvvH zmB0W0XD)H@(FQ9A-SGPR|9{`kKR(P$LGw{Q-Frbv+NTrD^RNb=l2Y0Y>g9meBd{1V zFuVk<4}{i0FTp2VHveV?|ABAk!J>zrj6Ytl2Mukgq%nfd@&@%& zz+sPl(b947k_xB-(3mGQUcskwfsPE~7jSdn7ifzZiG&;Q3gI`4zVJDUG9mWcTDZkGUcrvIORk)00O!}=Yxo)tVd z1eH?qU4&uBp z)dxEf)FJihwg4UN3rg1D9pMZN3=JNg9G(}SgJvE;$MJzwK{DOHO|lFP;5|MJCH$a9 z$HfPr6-}+6r3awSBghcwJQOI8p5G)3+IR!%Gokb{Asv&>Qy$HS1V9S~eR{WoZ*S?H z3%YB|qkAIwHXF#nAs*cm!MhDR!SyTuwuzu4mpULV?e0JYkIt#!Qm@-n!=ux8g-`EN zP_VzQ@a(SR_%G@QazHnDPY38EO#arC|NsBL%mj_VcjxZ#%=`-qbr0sfpqSYOV*7MH z`!AZXNtOX}WFRQsLCa+k>;FN6*u7i9(QIe}4nvTApgmXoEs~%?_U^TyN&|FC?C<~o zJ-fpUJUXX>E|YWQ7hrSb7w{8s)SaMyetQFkZ#Lq0q`-D{HkiPE7wCina6e-$Xge~fzy=NSYk;lu=Pk%>#DB9%NH&C-^W=(AiX=6x7)YauDbMDX6=_SC;J& z03D^{{@`*7ZHZMjq_*nE)P^Z!B5<^%tWPQA!1N^O^HOn77{&SUr zZr1^M;l&vXMuz6S7ry`hug~A|9#pP3gU{uM$VFU1d_CbiS z!;k;}A;O?*PXCLpf(V0dIc4B)nFBJidv5|*NB??RhL>F+5zyi?YcGXjUXSdb1s=>* z5-&lwX?S#3X@J9K0Y4}ydKvI<-wwW(sPlv4!3WG9#}9#y&w&P%Z|i{)16RY79+oZF zAFwbmIPyNIvZ68~|m9oAT2Th(dzhvZZvIE<& z=eh+e1HwQ(@SlO9vlX;-tn!`1bi$H@wY4j_0zgt zJA67_PdM=lurPooDZ#D=Z|Cn0@Brn!UPxZ)?N#{s|No1_=Ri>oZmfDV|Ip)anFBgf zs=F6dkb(y8e*gauy2KZfpCC*8Ad`994>tc0;_u(b06ND^kiVq>w9(*)5PxeDs95ZL z?$Nsyr2NIFhX@Nm)2nq%APwwD?&k*|!`J+ShriVjQs#gTqVceFUBTbP2X+m(0qw!R z9@4UfoWbG&+D7mmd|DLvjIG|f|IPo|`P=V+gnCW;6~!1ll5O^RFn<64+`|$wz}T`M zB-z~yi6j=rm-?VP1Ahqfw}gUSAIjgl1XTDUTyFw)eJ`kR0(JgDZNuiDV*D+jaq;G# z68x>L;5xY%oRTbiK}nLoDH3E0|N7PnaKZsEX#~60k%xhyaW5!+GH@_3@VEAX^fv!w z=WkO7>FC}IN`?H}eAwCfw}-H^@NX+&XFK>zfb&{63%kd`XBr*{A8>eZe(>O5bAsb# zD!7b<2XprW)L^~@ju#%}U~at(c26rJbT@E=HGyjyETKCQER7Pnbs(W$(?A7mp_>Sj zL<-$NR42Z;54H^)md!uZ_*)f0_0slUko9Suy|e!P|NoK?+k>npfL$ZZxNCtI>EOVynO%X|9?dG0iVhYQVGgguvqJCZ2%bpy4)Ki1S zuk9?1pao+;Iry7AxEL6GAOYjZzs-k{-I0HL4I_&q|F#lFa18%*>}Fv^kK)%N9$@Ei zAq)kng7_I^IVdE$eJ8y94M~=a{B8F+K|u^j-$?eK0Bu(%+x{+up%D8)!3DA(6o?@E ztAB%nA2iSdD!p6{49zf$rY$VEhOX_UNAa z0d%wW9;%I)r2(39^Roct{xLC2qVgG&NmP}MRQv?Zz=+)Z`i-!>N%kNn$uYkvR# z@7&8G?ExuH7*6nS```oKX#rY#6MMj?8@!0-bq4=-e-{32;cN#V32>fr>6Ult_UGW= z=FjeN@R5e+!N(k)oR>ZM*PQ0?Y(DUTf15u)|MqYm{%z%a9?i!Ez{Rvr=PjS^*aM(^ z?0N7ZhbQMpkM7b5p8RW0a(HlF@Zmhc-|7dt7Rd4gf75r+HjL&!9Q^ItY@n0>9(eTf zN=t)ERhC8%#uNV^_;fyaT?O_Q7aIeE=l>J@+t@)jil;&Div0>&#?XA=PdB?q^Kq8f z0iMl2K=~gc`j3A*NSNuhrDrqfzF+W~hvox6K)&JM9?rtQt(*<4kpt{*kb_}$OLyr6 zaQ))g>-`^8HMRGEBVBZ{6v%BnT^@`V|3CBubsd_DSV4Ox#66o2{Bz;o=FjNSe4Oc} zFle`P^A8sOreKitc98TR7yj-3Odxl@`~ptsAUBz?f|9^NkLHIzJeq%U@VC~2%6~bq z2SD0I;PQVwK$i!%FoT+a;x66(ET9&qNAq!xm&?G-67Zy+4`i9QPbYY?5|po!JUg%W zbc2_v`&ffJyx@K-sO$dX?le$Rn+lrr^I?1hy@b^Va(lZ^rwRx7Ks}G{&>bL#fX8tc z4$u~G2GB0DPOypKV@yx@Ko-XOwu0`_UI5MJptJ=}2B4sX%sBG5PXGJ=|7%{5)N6LA zI?v`q0zTc)JaLM@^)aXx>2^KwI_w*`&}1y}2Hm^^st_R?b9{PjID9OB@;8HzDeVRy z7=n^NML_8vnm>O}1$A@4z1Ww`OrU}msROryk-ya%q!``>(FM(tgPT2|KFN!<#h?*? zaB=6+3%&&1r}L3Vx9^1)pDVx@7=b!&pjJA+0Jsq37w83V6zK)`dH4lA1o#C(>r+8J zAO`-H^Pq-KcPnUn2B@Fk0$NrGy1*J7eZCzY-H>DOI!}2Ve8lR}ITci^dK`Sf>S_q; z0UUVk0gWLKW^fysU&D2RBflUEJ7{{(v(txN!1K5ZJ2-~GlUks|^}r^2HXjFVcLkjl z%HQG!c7$sOXsE|RfL{}IdX?`94{PwGbLm{zu{DRLFfhFChZS0{Q=wKv69;&PzEgz5 zqdRm0C~bfk1QSUu=!_^>)zP#Cl=Q%%2Ch0c z8qkrkW8mA^e88s^Sc3=G_*)x6OPYJZgIh1w1~W3eEO-anzF)h*2XbGFPxn$#4d&VW zhl#%lbnCNc^B+Q^p-#Hv<|U9;L-WL z=&BFnzn7q~DbOXNpbXR9dg2H8;zy2B)z{)4jQ>13Aw4=I2_BE`y&zRDQZ$gp84kSu z|K9_1oS|So)^UbNh%ov%gA+s;I?j*_G7>hGIYc;dAzYTSUfmK*tWJ^B%f&3n`yx9K6!s|Nzu4&mnX|Pnnww z>fQNt?ggzL@w7b4-^L26Sh`DhfDR#Vc?`~b&scYXOoA=1aRj-j6Efok8Y}~CPzB$t z0a|y?a`4Chm#;u)bTuCl*a_0+0h;bO?g|>(W$@`tZFsE*DMr0P#XEeC0vxE<<-kQP z$Vrfq)zzTkN`bkcJ^=bSDx~0otw{#2Q1DFh_*UsQ08Ea+q&P{{HNw}Q$}(9Dg8H8=r+ZzNztRzb%RfL?gh`xzo1J^JeX@YK<;Gh-3qezzv#Z%&=Km~3qGA|K}pu9JGJ5E zR*;V&w+kb(3HWHfvcI6SY|enLcmoyC-~(j9NyDc*cLm5fFJFN#jr{*#RBE;??9gOz z-1>B{g(Tpupakq=xfOJyTA7D$>$egU&&+S2QFCarc<<3!+VEdg6Xdwgqo51yl)&i$ zv~KIg=Y2o^zq|>)6XE@T(XF#U>si6cqTBU?r{$3{AJ7gw6Q9fnARmJb^yseL03MIO zF$**q=n7h|RH_O#5mZPm0vXr=?t0X2_%E6~3+`-J(6(>Tqy=bdqxCj_OChMq1i2L$ zx_c6|`~p>S=kLzf}!%-R)M; zS!f<0$?jeTQ22K?{$OMP)u^CLi1`J2LD%Q;3rq!>$}cz(bfhxBVCM~x62V5$ZVBkT z3BLdXzW~y9DS-qBeu0bteu07nk8Xzo@OnH!M#yS9(5gDn>bgV+e!7myXN| zevQ@xzd)mYji7lPkM7p} zC+JEHe!+<|LDww^&RogBz~Iuc5tLg&dk{eW>udy-qM$vz;HtIpB1ol1s{?4tLZdeT zOifJyQ*#SIlwjivkP^X8&~z-n;6%`cJN$w(B|sS-Jk#6=u7SZTexO%=?z8~6FrasF zf~KGwJ-{Lp1Hih#Dbk~}5j2eF)43DWCV-rL)R+O1@0;K$I~yy&A{#+_SA04b zc7S-`+4e@zZLU6@ouDR;Pv=a~g|8l+Ga(Hf(8PQrCH&GYpC|CfKCfKCwwFU@&5{|RVMx2V4ubitKJ_gqlg z1nn>DE?odBD=Wkp7(5`WP{8Ffcx{L84(PHe&$_J}SVf#+ry!_~gD8>&D*~O`dd<2Q`Ku+QBTaH^EC-c7cK! z>=@A06lf?J;y}9dPScpL6=fOU9(pN6foc=d*B`n*a+Vf z;04p*^)|ks#Y+1?x`Ywdw?lL_cyt~Fhlgu}2fxcf&|(3|rYui>7f?|R8tL)q6`hQx z+fxLzK;f!K>jCg--TbZ(JbFb8okI$L*o03+xOp0%LL#n?9sDRDwEZ?KMS~0d|FYTqGmIOY4WA zybE)(Jh*8Ab26xV%nx@mxM+hr8C=4_oeVDM;7$gYchDw;W-9}zxa@8P8ST;8$`9dz z!p5Vsbw9{H={RIhbml4l3Ha z!G?Ksw)TSrHNfo&P|*GY9Z~xqEf}09gPPE_D|{eFoclm7Jo4$@3&}Ll3H8zwKHcDZ zGkm(2f|8#PQQH6>uK@Y~#X%`X2JktjAO$aPg6nKo(4Al4+4jv| zpmyY8DHmu=19S=1Z(E?VPtsi{bK(MxrJET&AfwkWHhD6F(lOYd-#i!@T5j{V)-W(IyliJ+ zV0ht+WFu&O&J_F_rgN~95?|W z3&D58&4DUEn=Eoi{wbKPssA z*acdS0JA1l@}5`og1=_1h#+%UqQ!V`tY}IU}j)&{N^6O$lt;Pnu>><*y-E79n_ixb#(YVyW1hnN$@zPXSaKVM<;mI zfoFF+s4WVz!;xRWU4vf`9Qi)5EqBP<&cMS5$H5zEz|7v-4banSUObg$WZ>WCy1~Y~ z)E73~*Lt8NHqEiQ-iy_7PZ{V;I0Hq{(RfY|p~J2|-D^S38^>?142&gKp53t$zTLS3 zubn_1gpY^uZ;Rd7?Yqf^e|zdS$SvDve7bXYyxhXbz_7vTeUU04h_3m9KK$b1=fqFvQYG=6cZ*!gL z((OBoe|zaXkM2;=Mv@hfi?w1;fEF`){6C%MXnCfz*W=(b1s~3H4jr{STsmBLc9!n) zIQUK>t+R9=XyFB@?+o6@2DSBt)0sEv8>C5K1n zA&-NvEF3$gvx6&E5Kkk`v2!|ToX4@VA9MnlXXkd%kwTpZUp|9OXA)cg+~&SdBB1LX~$&RWnVJPjV5ptAtCf?5wAouxZGAPo(V zPOk{CIh|e};7(4bSAa*Sl}9&ZUreVLhfimbfJZlU<$#xjN2iklsA~-B4Rktb_;gko z_;glTcytyyyae6f&A;tn^AGP*CC~1DkfTA{57RulEkSd79?b_iz_+6tUNZdlI@Ys$ zKPVs^`M0%$R66o+@8<>e-1)a{=VxMI0L`SGbL^fDy6zM*q4tQwgYy%(ef(O%@fbK1 zy*-bEHG}f4;Q_--KAk@ezj<`mc7Wyw!5$B70H;3K*>Ip4sIA~azZ1M`)}s@=JJq8T zJZs_6Jr`V5^;UC0a>i7U(ii7J8#9iBcGQBFO@fLx1wuV*}`LK+xJX^dm?c-+*G!v-1jQm>U$b&2|j@EucNe`~qyC#fhM`iBKE( z1;Z8i1^os11=;xp+zj{y{2cfN!UFg;r-E`Zzh*C}F#x@l(UD((MFlh{t^!)#7^0%! z$S)A1VgNlffnO8cf92N%pK}Erf`g8)YJ&R|p4~1g0if{~u$zt>c=T=s4QlNI9f1&}fg&|DjcA>q*p znt$5nq7u;Idce24Mg?>_=mMW^KaOrcfo?YukM1xD(Ania-Ej)dKbbpSd-z*G$94L2 z#x{6#hiQ0pg17Seww~l~1tq2CpG^F%p`clL*8`0Ft)SU5U(3JzEyuv+clzgYn^xu1Dl0+fB3og^SP#(;+leL8=>R)*G($l4u`xu^s%9&Z1`dx=(L^Q))SyUihx6aM|bH0enGbY ze$cr-f^H6=;vIR6N-)jd zgXT{_2?jE=>(M(E5CO0KXvTu}08Y4NM-5M?m=lDbqnc@zNS(TsP>*`V$@pUnm@Ry#mT?zMbb@s(@sU zyRHD044_j5z+;-nUBM%TzTKGukn^`0K}pZE+mQp57QsXDu7*!KeXn?QUi5)1Z}92f z3tEKsS_d?G<=x9u23j8C!R$N1tCQyedAN)w3Y-^-j;ZR z$DZ0j3v+IRt^|bF{~n#6Jv1+Z)Rn1&E@Zs;%A?mr%Cqx>=fMZ8-n}*&{+21M0_C@h zuK8HnmtA~)$?&#E=S|Sek5{jVrmtlRuRytRk)e;JRk@CjWfe!6nrF8UuY_mkIS*^! z6UCK2)~PG_TYW%*&|ACWMXWI+!%Og`0HB1{9lF7**9J6A4=U|^x*0$#9z77j=+hnB z;L{E5dVy?TUnOj#hq2)?kE#@_pe7YXx4-uG@Sfj)TTw2;Waa8>u|U00*`Lc zJ%AoDlbV}yoCT~N>W`-_Xqe*AxtisB^b`5Iy1`&7EyLGA%LMhNT}9*^GL zAdwf~9zNVWkPR2g3gvSwdnnEcn=uSIx&u+e!1107@ zmM=@?5uwV&WU|vS77cyR|3`g0L3}x25V)59C=wY2Ij|D}dxJS1)hX-hJ9jHOo>3RWN zY=BOr0F@ygy|p(ydVLRo`&KWOX@ELbHyBH#J-S^Vc!2L#G4^OaVgQP4P@k%FDY#Gd zz@xkL#fyxkKmNZ+UJ7a?K-?eh80HA=Pl4`W_BhU>0xr%P-=J|lK;2ugb3om_(hWY{ z`5K^enLN7V4Lm?SgUz7q0~%rO_OJl;Ai%{EWOs;%gGZz507q#08sVi*?GtF z;1f3A&iAi{VCPABHXnEJY(8?JB*zhS*6pXFci^*OyGz0Sffuqa@FQ-mLl3}@xCI|{ z(Or7NqdWA#e^G%(&@pzUTfm3e^0zJl9ffhg@tZp*2mh1HPleWzMsF33se!e-Y&TX z>gxD(S6KLh4!;Fm?cvevdV<}f8|>j7AP@U=Cj@vLe9ZQmdxB^4Q3sFa!v{(hJ9dXM z_%MDddJDR88hj4o!xwhWVDFXO^l1LYQFPhxq{lwJs+3falRPX99Qdam^XRSm?_phg zpmdu<$H&%_rRzPK5B>0HKEUD8c^p&_{udQ$0Q-KLV{je+y2nmly z>nI;jC;rwaph?r_;5Cum3bhi zFuO@WVzMO>?1+C7{7s?%{{L^bVB`nigznjV?1e{n0f$HP0SS<^JUfrPXjcQB8FSdP z^SV#(+8I~=|KIgW3$%#sJ?N~qUA3U0H_!!r?|eER`E-8t?7ZRI`SXR-sbBwnj6rvD z{_rq%o#Dgz0bHkh@VnkDu|q@!%^K$Hrfv z7Fk)GWAoqtB~`mXiA2(6jL&1H=FSj-6K=8=ru-Uhr?b^zs>KS>q-a@G<` zTn!I^uGs}0T?1K_2wI}<)9d)fv)7RawBLr?m4ACAha>;CNUnpA1zb39yLNlBcpQAJ z0a;9W)0cnEMGnVJ9KM<-ikA8H%5eB}%K3Diz^(P|9;?a0^RN6+5C^4zYVnW%d{^#a<}c;AEZqL1c5k4`@UkK>?p!r;*v&f(LU zF5uA_F9DuD>hxFe=yccc>8v;K>GZeo=`43}>B#qR=?M2sbLoutdR+}}oW0}#I~Ec# z9-TK{YdG?6Kiqln;7g8Opou@wRRp5og>NV-eL8=*8lH6J-+sWC^MvQY2LisF4?H<9 zcpQAl!N2W*2j>Zo<7}XrIFI9QpjIq{Pp3PFN2fc;wV*BuQswBvzpaAFvp4dO3;(tP zW>7p81$#9AX6J9y2VFPSQF`68H}Z=|XY2v~Z4um{AtV?6?Fk${oxedkxm>ynSUj2! z@HifPF5t@f-1FdbXpH^y?7Z*Ooq7TiadIBbznS^lK$p00WuxpR+nxKPEG$Pew;Uc2l;J*1O{2VQ;#1weD{3Fb0S zPyl&0AO8Z1ug=&L;Doscln-7jfNWC9Ec zd4ACLl?G^4Ht5*9zaHIA4j$copv|p5-D*DFb)b3yw1S4er4>|ubWZ~{-W_*?cIdhA zZ*LT0WMFXZJm`4vA+yKvt@4!$sO z>~Q7xIQUW_&9T#$*S9lO!1K5(XyA?EWfgcWnE}XXpU#gk14{RMbQcSFbURCUbbC8^ zboOre{r^9|fU^R>fVTm^X72(JSF;szOoDF%|F(%AK;hC`_t)^GNArIs{z(V<1(-oI z%b?`exfQhU1GL#5#Op5hX#5A-aN@u}`M6`}2gk+-pqkFr@T6no56~tqNB$|`p!Dr^ zE~;M2|34#ts~Kp&3uyHom;qYt@$W?hvPmUp`M33g6!UMN>h|yd z|L(0$pmtdIUhuuJ2cHRe9DHQp!TAYMiEv)<>~!Vu?5u?+0FUlgP&h(+rQLf$oEJ@h zL5t_W;ZhOf;2s^-4d;9?%7M%hS zj(`g%fQ5ZQ!i`5jxelrN@?<=Mv?|);IC$|psLJy=4!%$x6uSK32lxfS+b==)Q*_35 z_;juXjW6-Hyy6C}&s$VoA3~r_-{1IK(!g$T_~+AG#l*kOi?Q>3^Yi+alNI1?NHM;x2OxJa@wb!< zfgJ1b*Qd9NnSYxXQ|GznXY~i4vGZ^L&-uOOWTgRkr%Ip@Xg}~a{xnc4r#%X^cBJ_b zsEYo>zy0LFhkPK_=RG^Gdv+d31NCw)3V|GSfWJioqLJN(iNE=z5CcO8c=D&Sc7^Bv z^cJj1LEpbkK^D~T%bTc4!+m`!~$&~hN}ckfIam)e*>LGg{hnoZ8=b>?9u$5k-zCJ4`_yQ8yjc?{Z+^2AN3{YU0V;7oO=0! zkAcDS_(4#u<9Yd^W5W*zUw)@k%|9J{`F&6MaGnNFzt)~O_(%Y9?jcyA;u-$!2Ru2C zcyeCx=>|`RfaX$NeY&@TMsIzr!9%*G{63xcU;J6|>pwIzffo0G$IU*1M?gD4-Gvkm z4$uF`d^*7zU;YD?qur2c6;SK16?7sZ|2EbaZL$pe0}yv(dVmh|2E|dDIB1m#WD-Ka z(Scvk!GT|Zkzc@5fL|a`fnOlffL}1efL|~`0k#7MvMCi*#lt3%kAtTjz#@=)!C!c+ z`1K!tMp;CFPiI1e2SgPpzk|HW3q6(azvxkrQy^Cz=xqh9#o}+CF2=wBuAVz(EPOgsEI2&=gC`bU4KIN{&~mBL1gv@iD3Nx9R0*Yl?sIED1-h;Vo@y^0 ze8dOJWEVgav%a0*K^dp@H~2&Wa7Om&1}6od?xi4aJMs%Sa5(Y{ct|+%3j}C5@(V;* zKyMY`*X#vd{lc#~H38Hi)&w6)cz^8L-1$ZIyQgDN&yOjad*X(q30Ilx@nWh0TO=Bu(Lpr|(*d|BNahr~y^EMs% z1wBD~QW$+Y*Mch7Zr2rQovol_pZK?d3+Im3TcC#3wpNgxjvbES-L0UzdmK9*gI^q8 z_UnJk0UyYTAkfqa>W}fa&H$BPt^fI31%Cej|MEF#l>{hfy#p~IyTG7_{y2VPV=UqF z?XHvX?Jg5|E#%u>$Kl!hpN+pcS{PK89s|wPftneIP50?bjj$)c1APkaE2I&W>*G}?p_OU!w}imptIB= zjXsbLM}9$929Hj#I)2b;4TW`)wxG2i{Qc`d4T%GN%|E30+d;=Qc=YndKNMx~NQUk` zg?i0=0jOyOa-^aa$$$$R;f2sce|9@zG(0t%;^A8FBcF+)@M=$T%2biY4 zoDcR4$T*MY9|EO(9^H^*6FR}yjy3-f039I)9+HPHV?FWmC@6c%yD%`=8Y+S=(0R?k zz+h{n$iPryW@`)*XJ;~-)19J7lG ze0Pgxs{kmSHUHErEjPRkIpb|EsBh!bx%LLArvpx`;G;1*Tfut+G{9T3Kqra(0t%ejbpMKVDt|=hWU4kmahN zRkHkotrzeZ3{nX)I4q5U0cs-1(fq9kK_)@hrf!EE%;gF?H3jUwZpZ|-paX};aYzTW z`ZH)fKDcP{fn2!)I^!4-bo?y`L8H@G|NZ|D8tlCE(g1X%dgm2i#y^hWp0BInCBp+R zr9j8#9CPJx@;vSe8iQqcDfRjPf6(Q2TS0gKd35%II)@&et)R=sKw}3C{4JnMs(riD z96YzSIb~Nt=RVVr-Sy=jN&p;=sH)HhG z&O?OJ`)WHN!r;D|M>oVvBA`_#;4a%NkSs*hqZ@Q^HMsBW(K#1Xhxv4_g`8Ok*^}Jc z3qH26(@_C!{}%Mn>2ApR2%W70pv2t`zA(t6vlZ0A1RXX75rnK=cMO1U8g&F+HwBup z2CYZ|s{x z6%Zb1a}nrl$UmU_&s?u{wC;egu6MNV1Z~oFJ(1Sgx(gzRX0CZZ%*3Y13)4^v7p3UckT{=G>e9ht7`PK2@TLItB@16(WE4+LGa&PAs zU&cS+Ea__a%@DNuf%C8@=Qa2Rdg8EK55OZ6pv?MT^hdHRgD2-b$QCc~8zmKAlrRi=%uwuX%KX#}+^{wm#i^LAM?Hw*D`%1XY+my%_=?y|URMq71Kv z;PYXg%|{D7|DP`r^K7pDz)|F?8@zE5w5%9Xet>p=fC32AXax-iL08To^~O7)r}0e%o!Snr#b2`+o&+7$ z-wO&|kIr7uQfQA(@IoyQ)G?>Jx8MRF-0W#RP!jFY3mt7*3)1S-Yug(v%J5nVX}>GD zh4Su&E2>5%k8E(uyuhQ`hJ&Hx7AR3PS8yoyD{Bl#k^#{^mWPiea0utKolF!?!QLfUAsFP)hUYZ2bUA z;k{cy4Q}wJ&HtiVNwN$tFTDN#e+Ou82AUdPzWw|EKXUT$?fmodCYqRM=b4vBK{>wp z9|wOEXi(Lo`Op_oY0CpTDM*DIbZU?ahb#X!7ZonYgAW88Ie)lzhp4c49(teXn^GtC<{R3)_(l=|Gy*H?}oQMJCArCd@kY0zy0XJ2OK_}Klrzu_TW4S zn)h+!-*yZ%@zV`nnB~#w$l=qODBy9N5uC?d-hg(Ep57@A3dsK_9Gicz^S7IW+T)Bj ze0q5Uu8T7GC$lvAGM;e!|G>xc9)HVc@M>O$m!Q)CkZMj)sNMbZ|35^?v-8NytUv$% zd-ewX^XW}sN^Abd!r%5EG!+6mGENq}3K?`O_(qTrXu8b|l$g6)LA!H&y0?OMj`(yh z1?473P(L2BjmERvQ^2DWa{5B&L67e@3yVO5&5aL1nG%|MkdsVH-OK;~Us}BU|9=N3 z0|UcrMMv;j3c~|0jlnJj9b#;F;HBE1|NnP@I`p7$yoWrxajx@L<0H^aYU5+j*z(Im zprRal{6l9i=;U60=$;%w@XjWWMimMOa*HfmRLAgWQi=&d1mYX{QnOwstqr_^!xSyzYG614<_GUr$0WOt}_}c zm>Ejs9Je{X1T7JMsrT#uf5QVWFa7%ee+TI3=9eqMeZE5;%?DUKJC8K~{7~fO(fo^@ zzYUs;e)#sfsBrke)@`zTc3yVm-|nLVI)W=i1#;q#Pv=3`ZWa~DX+IA*JUK6T@~=6- z@mkIUG!)Tx4wUbk5B>4%ybQV?oyDWmcLGSgujXN&&bgrax0u6moA67}AQEUmr3Ez2 z@6ma}6LjWcr|%5@Z2~QqAnmx0&?P>dt)TkYrxU!P*P)~Kx=V-eHJ?uKW)ctR8SMWL z9CJO+*jai4l(LH~!HZyu!KnkR*`wFvpGT)J=<-@nV}O5~17nBlanKrx-ypYkLk@Cp zKEMRlXayP!=uH6KUp@h}j<3`klCMF7&bMDGgVQQ#f80`cQM%NpH-XuwGj#(0wgM)Hj?!fg zE#FG=S}yTVbzKfV->e0EM|yAIAJCFn&^)k5XK4pWQJ_a}0Sjmf1ym+>mv;O=2O916 z=-dl#2xGPxsOtfB*k~8TA`fU`f9W0M$~>2bf+u{Q?Qdyae6h=D1Dvr8!8V zdn-t>M>p6gpI#L^kOM*XdmIOEe*;%_SkH4vYpy-P!ru-~4WLpcgo%N{gYg7-!-~go za61vA8M2hqxAVJi=QCHsC(aEvY78YJ-n}Mj9{-Pd{y*Yjd93u+%O{|mzOW7&IF%0=FuIx!lRcZ$m2N6 zL3yx&B?mctI#Uh`fG!y93|-;TITf@H+NV2pf=74g49{K`5#P@59<7)7TciK~|NpWd zR6s(yVIH9S;O@NxnGGIOgZ8;VJN`k1XD8T)9^Y?32iXese7d)S7T98I8i5ZUzs>g= zBj`9QR))@2(0Kyj)oh?6K>z>$4?POnbpvR64O)r08vcLn2Wm<~Tn}oFd;UKTZhu1- zD??9tV*KFKS;F`O9F(0Rpe=r&5CgCN0iB{?2|i?szoiZ2LPSV)gKxC+fE=yo+xg(d zmXDy21Gjjfqmj^YXwX76@JhC3(B_Yapjfg7pYFlmngjADG*(Nz85myr{{R2qrSmtq zsreVw)C9FN!8;K^eL_f$jGER!T?dAjhr!|0`u*Sk{|6rkxbSb^`xT^^^SI~1=L+3( zL3Oz&=Y7Y{yN(Cna(EtmFX7V-xo7FPE5ra$K!dJHxg-PG1>n>9|3y;6kN+<%AA!#U z0iDYPN!_iWZF115F3@^os3@pc0b;&f3~E1MX)Sv|t@7zkUGY*F9GIdTE<&w)kyHQU z|I4!v|Nn<<2?dS8zhJ8U@&Dz{hyVX02LR}rOvuhSyjf3Hp#s~3KqB~~9iy1|(iB=7@v7dvDy9dz`%l@q_9kCgyu zGUOjbmx4zp_+S9ga!wEEhCIt&&@mbOEk>Y{5#iPDsUR1E_5}HKyKZ>F{T>vXSTiEn z37~^rKwbuC$6in&-V5DQsR1$pY}$Kj^SVP=2)r@8IKy?8}4B;$Jp(De(T>gXlNoNXjzNe@`@=L$Mu2bPZbTepBr+XIRN&}bdFGy$J|0Xn3_bq4rU zwN7x%f=&t$VT9C2oxPwU64YRXPJbdrmrr-?4#-X_-yNW#r_vn_Hhc^v;-I^un!zO?>^CIZNCc!W0!=~ZU-3xMrN2d>)1-JqQ@7D2voE#56_^sP@ zhDT@U1`ozV;7|mudszGL|Nqxq-~-A!T{paDz*T;`?r_{Dj1(iFk_=i{@VB1-{r~^V z>%T#zKjuIKNF^lufcGZCHO&HPTJ#%MXoA}MFCLWt`2Vuy4!qEG-2vKD0?MTx-L0U8 zrw1dXb=chsuI4(y#~8p4^V0;MLj|2m1TBn#WMxn}4;pa-jZZ-j#u97=9g+(vS-}JQ z$6G;DR8WgR6HA~DKd9>M21|g>%YpDf`aolgp!@;30+xS!Yu?}g|I<3bqeR`US)fC` zTW5e;_T8lo@bOmgI3IKnk-v32sJ|}r278EsN_Ym3PLSup2X%v-1qwxY(8d4y|NmwB zFHrCF2wbt_cE;C6o}EWFGrrdK?1YI!#{3Wsyw~oYoku(%ck+R*vOI2h8(YZTDYt)NPQ<8bLY56Jc9|3&A3 zP69c*7knqj3(!W7*Rd}m>wf(A>^uVY5p;t6wLC}}G@MF=K!d8F0V+|~K+v`q&(0&D zX=!X@S}GuWArrwbe%u2sj(+|kq2$N^7hh_@mU#4nhkswl+=j@xlz>2iqxmq{ zrQA0_-uwQ-xcJBa7sqQ*z2^YgUlA7U(D2`zf9e5`)^Ge%4sskUVFho@0Bz3dW&?W= zY}WkKID8#;1M2G-EWXb4$Li}Kh%maZts%k?U-No&gMIy9R0Sm5c^~Ag|El8tpqs>x zdGuCiywCqD=mfEihh15dZg9bG+cY4m$qk{(sS@eh^9Bq96ZX9IOUyEy2G3 z6qH*%JHL2#{so;B$iJ;h;2RTTiFCJ>d-zRxa|Y!6M_m7q^cCu zsD;S7g4TF5cyxpIEB8S*^dA%eZ~5$Y1Kr>O8XEhk#V zfRe*fP?77?nY#fr>C?Rrbi@>B+zPa-qPq{2C_OrRL8Dk6nm;`{!K1gG7eND63=EyU zQ$X7yFCKg;(Af(rLtPF38=h?Z1zOAK2pXAS@Zonl&OiB}Fxs^ZROkTCIQ_x>8p9drxRR+cJ_kK^LFe!<#_NBOXo%3?lw>^@#x$Osz!V|TLVDF zHRExQ&b^@XB|4{q=7agSUGwM!k0*PAwk33ek0%FRX98;E^@?zLbV7DqcJ_kK$Kc;~ z5_AbA$ehlp7NEiRUM~(%D1qyZKF~2-pyuko|Nmia98jmj19~E$tKnOZ?!Dk(?w$%- z|7Ccxp~{nkf676R?ji%9ZYK**#vi`DDknUci!?knzj!tuVe#p8`0vx}&uI9~@FZ;i zkSp5#9}_r0_gkRe|8WoV{*Ph~P_*@e?Dv6=bhmyhkps0TK#|<*_TR(WQJ`4bBl|{y z2XiFH%h{j;{Xh6NHN)F4pRs_NGL8}s+l4$jYe840@wf1SPha;`aN*zH0J@X|wDJmh z?JgvLfY$FCg4geE`SAcWy~scH5M<3S`YPV5h*iAe;8nb!YdKbemTz{q`~Y9eG1Vjc zd;w_ayz_8FbrvJE=~l|_@gIEVL|SuohF+-U2?|&Jr(Qf{y#{PUi4z{=>%KY%2vS)gd~-V;t{6YCB^OcpiMhVtCu* zIC#|(G>?InctM$ezgOW%m@lB|Lh!f+EbL*LT8;E!m)1d61|ce@iYq0|Wo|R?tF= z<{yImE&kw3B7`72-J5@emd=EnNwF2A{sm_}DDptpa=6a$0ACVu1f(8xNkkYZ^1C5f z)fzms%-^(Bf`I{ir3J{*-Qdg%z9eEANSqmb*HGhLP$mW~Gv;qy18ReV4&-jDkpL|$ zBs`!B8L9xCnE`QMW*x|Vt`oq01<+}kpkeqH(4Y+X>Wx!icR;$o*5K9-f0HlxSVZ3$ z9{lTjA&XQXwglzez8|y-#ALe%P0y4L@nHbB~@TILC5Ps14JG$H|=Btslx82Eo`8mL3UF< zXvrS3o0PG-X%bi?1Gs?%8nptaK#y+M886p?GAJ{+TzqW@mI5V1kd#MfD`=_F%ZcE7 zDLgvCT|uAj(it!7LG5MG64h0VsGF z`CER0Mprt)i}|2yQQ*~H4;!eB2Fk;rs-e3D%AE>c+@pCBw3WuE8(cE+HwA%?=L7Xv zp{HC=1?5xF9TA|U-Z>Sr6l^MZ0ea_DP*2mN8+=%RN9R;fo(E0agJP<)*8{ZP4!pfF ztrL6_HDvNSt+O=7d-*9edy!~ zH~4%GpH7oQ9-T3VID9&D4heup1Uh{$cy#)9Y+wYf=Ror9s&IsFK~Cpy;RBU=;DgPb zL1%Avm(K9$j$Pnsd9N5W{(1rG+|phTs8cJU4m1=H}Dx*jQlM} zKw;bs&UhZs6B>JE7(Fa+@;C1R#VTmeFeDhjC*p#Jqh2VWnv3Q`k8W^adf@UX$SCJXP7McX>g!oCQAf z=R=ly3P6^63P6^63dWo;;1>)zq41f%-sgnCXa0JY6X0W>*Mf!sU!MN+|Nl4F6O8;V z2SH2kK)1DRU<1{;hPPh}c`zQ|APnNT8vX|zyij|JI{mf1t7;{bjBVqy!}!V zl)OOK$Tk0Cf|v<5jK4_`l>EDE8$6o-iSjptS9$lclzH^B9QWugm)Hp!w)E`$@mj+Z zw42f(4Hhkq{PhkT9=$~p9?b_OJUcIVSRUhVISR_Pou53r3nVLt78NT%SM_>! zp7iT>;s4>+>B2AY*@-{jh5yB8C;ocy6_OGq3w(PWUwB!U@LvF3A$b*ah2#WCEPV12_8=_bM)HzPQKvN`R>2yJV(&^YObK0o=dgBWAi?p?_Ol2{`mj0Qvfu% z^X|2i^J=y)2->W$@^gaRA%q)A`<` z^WJ|^Lx^RdOM9V~fiB+so$}-VOBwL)i`)aRg?u{S{}r&eNXF`#?QDhLSvw=GqGk{4M#QBm>&`02*cSWIXQ4cpj8H zJbEKEe0oj!4MiDVOQGz?@n}Bm;rahOf6FpZ0%@*(z)ncX_WBfm3+NzZ-|l@67(u%|{`0qhdQZOH+d#)TgBROR0+-9+gbeEU`S#|6 zvS*)xD8p+}l>1Gak9v6iKUWgy*<1_BpS57SpF`IBK=NlT14GF*&+b}q20aUjpk{kn z2588@Mz2arJi2QS{1?rzmt}aJ;nVs5zi2F26)2xVoB}yc#j|-I=uB#c5?;^leIFPZ z82*cz*vm3_9*6XwK_LM;g}bv2QIx;r= z28tb|^2?+1y2r)$KD{dD{=F3jy#Qhv|7S0n{wn6=DB{w5cY zY1T0pIry7FhpT~t-lMzbq5${=0MMyPg`kZQ-3%VRJpX-qbxwS9Il;lm-}(hyugRS7 z==R;=)17GG(d}sA!oRK1)9|EY!#{AZv-6OT<|B_@5zr;2EIyt0JT$NQfc7&tfp@=m zKKIc4&fj*7fq}udyOP7FJ9LL<_ayMZK`+l)(DqxOUMB(HZZ8cV#&aH>;D)?MC%BOG zfizisI>G%DkK?VNF>6rv^<_K*vgi9X&?r9RF`v%+9-8MpG>?NWyM(U~bLHR0VguTq z!{*rVgRwlym4Dj-P|p&wr^ko$glo$I{?4WdF~3{6AiLdV}z5W5@1kFF||! zySKdoQJtkCj-8=`jvc-NFR!sMFl+$bReZtK@SCgQf6&I~*F4}_3M%3OJ%ZNZ5aZ4|Favt++uH|4T(E|;Wf^VY)oh}I)XJq>?de#OsHdT9qfxiVbO$I(o zWv7iS!|PJeo?7TOm=aUZ?pgs*Ev4hxTr0s)!uwxz3P>a5s9MkFS`CI0LC@}5h5w>8 zNaDv`L1)i0fFjYe(^tT^vsA*jGZl2w#R<<&Uk%^RS_9}wP@bK>7M`814xY`m0t_Wq zpyLF6JKsPmAMn_b<8IJ`C&%Wx1pQJM-_BG9*Unhb-c}yZPFI1?j{Nnm5-)dy*YIz1 zmGJFORj~1fW=8&2Rd8a;-GF39$sWgVZ5tRF7#R6m{XuIWd&?4hAZ=^V)GRyb*1%ry zXopYdH=oX5&=VbB_z8lxNbCdYWGG1l)dirsvh@JOX#SQzV5`6v`}wwh1EqHU7SLgM zps{kF-V6?(UR!A$QHIxI@bu!@d{n~o|2h7aCE(?npv8o5K#K`MYw8|*bb}|uV5S#? z3e)b69UuxcqnHe~Z3F1=bGU7fK!pY9Xvp454xe7#wc4T#uO*Q3uV?ddh<%_#HOf)?IGa-iZwe>yR|z&0K8U6 z-SGeGAW-oPibT)uHjp76%|E^QTfrywv>qru{*o7R*{Vn9IZ*g@e)PQf(!1A&(X;cH z=fOv;UY0RJ0-pTtKYTRLd3OHrX#U4oehbtBJNSUrtGk3rz^~hfNy5YOo+JPCL!Op5 z9r>pnaOJpAA^~9^^sv0=z(4Jnivnm7&^Hgp?;frHK}(MKUB0`v9Pr?G`R-wPj=veQ z0Q$Sf!RM?#-7Z!f;FVaQwevpRB37U~(nmP;XivLOFOQY4wIfGyo@Y0wcdv+pho#I#{^qHmY3yE` ziyqzn93IvlpehX9!3I@Uo*vyHCpbL1OHK&9RApsg@a*NW0e9kh!Cm3bt>ET1Xux?6 zXjlcbRL$B;q1X?8Juqm4gio&&SM_n`-P`~&EE4JJdnBABl}nZ z_*l)VctlOxt-KJe}L!06L@9qto?* z=fUTo1%t;RL*bwUG2olxfZwUb{!PpMIC$jm6TU}1`5BHMF<{x<_?6&L*3=E}n zeR@+TKz53ObiC-#0u88wJA5A9;OPzMVX57|7eI@W;*CMuUO;_e2L9GaP>I*=+Tj5? z0Mi39HURSfOS}L7|AQ`?2iLL9KMeUHV>Hd+i4z9?Rwa;DNS7aMuQ{&*Bw5PMNwG-|G_SLajFlr0r?1MlNYFm53&%{H-Pk08Tngwf(L=YyJKJO1a;-% z)~*K41)%zPZYEwIgQDR@rV-rN9^K&eZyx+Ep&cL(gDy4!oxB9PrWx!I$oe?w6#q*r zkoAbD^*HW20Tjg^$6aSYr+Gl`0{=E}zX>#E2CkjEAu~qJ|CsojdO@{o_g?TN)8Kw?IY{8(Ggi=r zV7=iApoRB8Un_fd{`T!;_U#Pj@azm0@a^kf~D4?w4^ zOke;_R@cq|HDvyaPKQc*avpox_!Tr(32yR0t9{qb?~VuGbNFk{RO(+MO+PUx1Mz5pL*Evf9nAU{;9{oR&f4E^We`r2On%Xl>A?pqKD{=u9`19W&VT4g`YLVx^!c^TB<==}4VAKcr^H?+yhFyXkqd)_zS4? z2G8ofW(PI1|NZ|D8I^#JG`SvlIq@wxWI_4pC1@yYgE(j;3Uo9vC>wQy$D~24FfXA? zfX0wP5<5LWXJ~f19sqgBv-3Qt|NheYE%>^dKj&o_UWA7K`0vqct8hVv;l<F*Bq~HJUS193VT=z6?eG7KGK1v0YcKe8{(F&L1fKSOVGmK~ z(F-1sd9k4obe--u^dY>H`mzk53nk9N)O8d>v@-<%_>Xc7oJZpu&=jvvcUb^93BIu7 zZw1w&9y?&CLwfbffEq=hV++|lED!UyA7lY-1NiIN`Q5R*A2bNk={v=dU!WZ{KEbc) zy1}!%A2f6Unui4+FR-m2bbE7$?|RSfeo$fP0lD1Qv%4R(m;$ux`2YX^zTN2_9<8@a zbosZjPIi@L*azwyd4LuHeANX7_;HZyTK|`d?1xC)dm$S9<3E^Vc)+J~E$FBYa9ZjF zh1WBW&RhRQx%FikJiFa9Tn(RqNAh6R*!PDXorepY5nlALJX~(#+nt{Pa)CAfHdaAb zSSkl^g#f!F7vzp^@DfAtO8V9VrLv%kwe#MKuAm?PUz#y8Krb;n?h0D+$>7tu6|}P4 zb04Uc^8f#Td(dq=9-YU1I^Thvm!k)AUOTvx+N%OOfQbP#APb&5_p$s??uq0;&`EEW zN6O87yYnkRHzC^cZ)44Ik!1k)A;Dn$g%l@D8YFFCGW} z`2VsWw6O-P!{fLsC^{G*XQ29YKKd_uQy1(ckn=q|k9r<_$_5(t=mb|S9tU4omAZMr z(}kzy(QXI5=TuP1;?wz|R1$O+2`KAy=YkGji(SvJ5xU`J6KKS&mofQB;;zU1)jJmh)sm4N4NP>l?VHDATUulZd0x4Cn;f`(Qvxk3&(ff@`l(~)1m zO~SW34RmINALs}v&}@t2!G|2+Q4-D*jt3tJfR4X&<-Fj_dBcT&TkLwD?x~>E>eB5y z#kI2wlz|-i1t)=W5A-4&-_9;j26FB0d&2-afU65k@o(z`t-f&W=z>tQK)DKbDR5^O zC@Os*<-Tuc7bs`>c4j&Fc2;@#Kn}e3?eq%p>GqxB+vyeI)9u^f+v%0y14+-mon9F} z-M$NaJG}}#JDn}&!pSAljSJv*B~u@0I>2Q}b3n;;3M3mie6 zlfV(wxd{|Op!K;BCE$4KwDRqA;_&Q@0v#9OB;nhcqybu42`(lCoeV(zB?bltr2Y~p zay+}^1@J`B%Pi0^IRAEdEJC8{WiUt>5x1_Lha3;S5^y!V{ZbQjTg|odpZ~!J?$$0~ zDB%O=@X1<`6>G;lnrmk;lz@(JZul=+izIpiGD&jbzi7G^WcAT{U)1GSu=ARc&bNhJ zR?-Vz^VoU8qjM|h&t4lot2}nm|DfDr`Zk(*OSdzYDaG z%%k(ze^D_lS@808LGZl1$8qou2~ZCPx>f?j8sMj?eblOX&>j}_?i|)CgE{11s(SP6GYS4BJ5Z9v<+<V<+@(4|II(S`P<)u>a%2@UIrh=m;WDv*2}g02c13CTlCMf*O|%i zlHqN`lRn*hLCa7<=il*ftN0HZ4&`!a_|L@Oe3%b>wAO#<@k*YTANX({c4+y}-x> z&W7Ji{LS&apjr8Cr(HYGIW|A5_q_bfvp1g6m-CBj%gIW==7a2>o%g|Z9DeBtvIAv& zh<_V+cYe!B{+1~s3=A5F__rPU_K|0x;a+|BajcLpu!0?B|c9qGOM54^c= z>OIijl;&TIB?_*f$b2cx09q*V0pxb@B_j$Y@`jf@zkhly>%qVNga;#J*%)k_Dg(o7 zal=cF-#>ZquRrL)2+0_o;QKH5w}De#1Ndq#2L6^LE(V5{10{i^C1-xYMn%wm8sy}B z9FllJV~p9Lr7?)@&*;her8h{v^&5Xn2M=i21(fW9nLtDEKHYmkdxt@>i8S8HzpV;6 z{doysroRK=^rr|qX5k<^Xk9ua{kek9(gs;1k7*HTqa5V?88q`B^5Zi94>L4<9|EVn z<1e3bfif*9vogLcV`E_O{C~>u5@=($PxoF>hvc;aDE}a5lmp-?1JFri{GHOEO}Lhq z_*<$#&isGQv)4x0qxm=!Xc7aF1|9jg)d(|!vc~r2|MexCTK|` zPJw5qU_l0kZx{Ht9ROvg1N_@C(kp+9HWLE_IL(@Z&Z}aEteJwOS^k!DtPBj`bo=ro zD+5ErR!}j>_|k?I6pEnInDM0nn63K%|9{4pDxjgd=6{U*ZCV1LG5bS*J$s#*K?~zS z{oYP++33i>-I)=Z#1FpU=mhU?1LYG?!S2&}?d5&&vcX=^CQuK^%9MYn__tm1u)M(E zv>z0Tj2A)dmJj?OpE81m`__Px(GN!c*0-Rsa!@Eg09~?-9?GDt0_Z`zoD)~jTCqaY z4lHOv%L>z)_ul&V|37Q7HMor5$qUL3B`SYCn~(efO%io}1f`z_O9uWH4Uj+n9|Y~s z`+v^!{~2G)U!~7pwu8#a&JPfuyLNtXJorMu^WZxLm(CBM&cVwIpzVdA5+sfn6!Na% zlD+e~Z|4V4$pk&0$d!K^2Pl1UIX3)c;%{c*1^eNoOXun4$MqhUAA54%c5OMy-?;@8 z9RJUI{s$-G*8io)UV_x}Zv*e7F}$<`w1>U({QvXK|JnK5--8PLUe@O`MHxJkZFcxD z9{>Lw?90nM;IsF{UOoqzhqd^6sRC*4UU}$K>mgtIIRG>fD?3BUq>y-3`X#JA&*Y*xYNr^AR9ZUB2||-%;@wz z;n4{`#S^sO`0xM!FQ=2Hl>?lCTS0})%NVd$@DL5OlE!N*=r{@37AZxrR&dh2bKsI2Bizn@1I^;fYzaQ zrmg^u`S^DJ^6dO#_#a&VWr0q{?2S?R@7tTj2x%OE3uyR!j4S^(Us(A9NW{M+g|4n7y)yzbZ?&g60MxdvojHhoqa&X@=MUxLJ!7+h{d0v+W6&VQ2Pl~p38zx8vK6@l9*ljw}GoyE=cV-AF`VL zfNSSr$L7cNo|hl{_69QgfXcuFl_t#x*?l`NdNv;cHE%C);tT+o<3THf!MW%JxC$vz z0p+0ouw(Qj(b}EDLwJBh!d0&mVy@C`dBXo zt?&e|w*xU=yat_I+xfxc;0q3q?!BPh{GC4!zT^NGmEb(%(G5Pz5p?+N!AEQ!$5{kH zyM8@7YXmtw4!&3L>8ueHaOo%!l<0I3l=SF4=5g?yfkQ`$pggFoN$YeGl=bM05mfN# zc0J+I=_05B+T`EPLI&EK_UW!| z@a*RI==9wH-75|n>cq2y#K-ahR&cm<76`a>W{A9Y1qJ*6|NjwdDX)N*96+XwKx6jay(}p(6FOxM z`gGPD0h{k3vkyNKAjIiS4a7D+HiPu#&B?Wbcb&6=nUZy@aP6z7!$%F0Wo?3a$gp7 zKSFou1(*%iAOHUcEkilr+4=7!KWG&Z<7J;taIX^SkYL}=`ylzppz&}V@-IQFb3j*^ zd4MNgE`sJ+x@%`ZRu_V<_wzUipLN-x09qc=`Qx>&C*x1g&R?KC&X9o+CeO~m55Ap_ zKRkK^6+D^`D0qVAc|Y;DG=j_n&A$W~cv=St6yJv&MFU=_(CuL1*?9=mKJx9n=)^DJ zBL2XMU%*HF18AePxBzI+w76&UFNKnczP*89R$zMXXf zp2yk1C0p}e15i;7-s%Y2r1M`?OA@q12Yj42cz4`h&{m-TqQVeiP#FOc2JH*_FZxFU ztQwS+A;O@&B>zR9LWMzt1>l9G4gW3j()1bsSdI6i=K;}4%s6Ap0xTM9bN0DP22^8p9Qs@b#ffYJpGX*+s?2M?^L zf&z%Y8B|1hfJ$R#a5%lTgxBvrmf#|lzpWR%lm;yA!FcGkI5fDSfn8Dvjc@Q4=-$1c zP=tmrbd(Af%+{dRKsQvuT+rC8Pd9kz9yyqgmsI*#FNKURzvOQf1xFera9^`CFuVjE z2Iteg6;#ptSc28@w}CdGfy?*|M$m8yq-;i-;`!^O70k!L1+yO`0|R*e4K(Lt zZ1v;+O9@c39kf)vGlIjXvp@i9hsSYH-eLd+oVsUk9B3KV6gE+Y*W76nJem(nc>X_A z!tc>s{ez+8gGaYDXzA4p57;buOD1SDM(6kcq6gBiJ&;kAJI{gRWiM!NKS<5XEkFN5PPPNN5F`R};(X9DoL*bA zjWP@`0v&(+f34}!%Nnr}KE&+Ny%%&&zzbEIAOBzTLZj!~3o&!h#L??Q&(5QuIbJp} z{r|t{IU!kw*Kw~SJv)zr+X?gdK^=hapks7}1;CS~ubp3Od3GKJWgS%?&sKHcV^nySd7^S4iTJ?JXK5<}nKG|+0l!%U(Kuem08HXo4yozE!f*<7RY zgQ4WTXSa&AN19{;MsW)vcAoym&L)ao8_RV<%beZkLC*uB_K3ahYx#n zmnV31`xk&Nzbv})`+w|VkOLjby&usEc0VE;p8FBmKo_8b)}Vmfl-Tb_Y}@|te{(IK z`w>G;knTtHF!}NSg|i7Lg@E_(2M2g`{`P3DcK}Z~ReSsw{l*V!1yx5t1QPy>K7|Mr zKm;oOi(UZ>>;?_5Gn5E>bngbw(KR38h>rcQx*aSDVnf0QX?_a%!o>iO&JP|JUwAbB zn{a`dVJC?2;CDLbVR^!X-~EI~^H0Ow2B2D(-}$CT<4@44h+;ig!vh}8{~R6pCmrzU zoqFT_|NlEd(}pitK*NcRM>qsfX7oT79DHHJ-wJXkpd-x6c>4R z{`2ho%D;`ZOH~$f79n_Y`wcJnIKq-}&(7nZ{^a}r|3TZoK-BTp7w;jX0iY76^POk& zU$A?8I=_Q@-JLgIl!J!fI{$m1yXU{^Ts~Qb7bl{BLJpDwl@q&-z)L$kdiR1n^CAW` z9Nl^U#SueL^uW(o@MwNx;L*+R0Y1ohGAK|$_is9a?%(9}usr0!?|#Um`3Ecf{>=}D z|944%CZIb%czl0UP~ou)w!*^0@Pkvz~ zBEN)fA>a{JWRFOIJR%H^5O98Rgr(;I(8OwYJcmzry?}4){}LUa-egc&TK-pr;WZz4 zehqhd3f`tBj-?>1DO-%5NvyQhPWru68oJ@Ddv^w0mGeJ`M8h@ct~G-~_(W`TnT_*h&}3*W=?L}`{! zXEKLRXR!dHMe5PX{BiD{0vKV<2MPv@uqqITnC!K^yw_!;M1Kt19IUxXv*LvD+5ECWAolu3=9mc#kwB0w{eTpDWm%&{H zJYlkr8>DO#GXn$6cb$h0z7hc65d3l`%q&pH?qxecvv@#erNK0Df_Om$HA#Y$84^?m zDkooZ!ORA&_;60@Ne_;fo8 z;7nEE4D_;qD5an=#FyYh%kVlIbbIDYIgqnK5vd9C1o)m`yqZKn%0Qc|@Oun&chJj2 zpmGPVX`&$0W)oBfK0ddEpfXSg@1-w6WkMiJ!Nie2|+%^A2*4HW(szGkRoi@ZkYQpiWQ3t6p#;*p{hkMP>4@wSN zpdq-EhL;TgLoU1H1l@PVzx@E`1rN?29-Ui3;}OthjXsdA2AF z5&jnNH5$FO3qZ95SK!b8o)@3^wmtzB`la%opp%e$dFR%Fie`~U55`mfA9;5BsBnM= zu3xKxJ1G{dpcQ;9DjvPOrO4_W`M3F~aCCsC7hMmaIvu=6!Kc^t0NClEQ#n1lOB+D0 z`UYN)$XFr)-gD7ez~RvuAmGs{;n7^XfT7gsb&W^wUXTC(|G$_N0`d`<4I9zvo(dX^ zhWP7vsS?NpA2bt6Y&^PaSNs=kVUcBcZQud*wMYQS*Ux=h|AQ{yEa3!uE0G1Xw$XKi zM%72 zTgIO*K=a8jzkv5zK?^vn<)92GeV-+$OctbU8ECN=~;~e8-|Esz)fsS*7@Q~Vypz(Q7d(pESw4VAI zsDr@Y4!YvPrmK&Q5WNlw2;4ag-7Ry zVi{0Rz4N1o=0T6%O( z6MDg?yLN@I=KC_8*M6Yvf#?r;{yzw-MmisOTzuilcoeF(T*dGk#2t_&<(|!;^$|Wy z3=A)2LFWv~gT@UQd^%rv9DKm)(Or7Nqt}Mb$GY}Fv3Eo56o!&i-_C!Y&Hoj^Q)fQ> z&L4a_zkxgar(F$CzHk9`89HxzbcbF5?av0S`RO%r1*PSepyO`g^9P>I|Cx%dyn0P) z!E(8b3=AL-!25IH?pWtPAIl#e{7xS{7{9&r0x3a~j~DRhE;sP7yjPqEGK{}<5vUq% zKCS@Su;~c#BQs;owOgD-Rw@c6(l=*faXXj-f>(~RJ;PmbM$lp{2S}kCCuUH%6 zJn#a9*S@OWOJpcNC9{lT%c^LjEQSjj3`@y66n>{GC6f3>_%!C$S z`#|$iAW8nF>r4y`6F`T99DL3SPS}h;KnFB~=4zPtf~ICXI>Co+dvumAfNmOj?d03} z*QfKGr{))*&iCM55SRbRfOq(VybfA151!ENuHE3%s{&3kKHcE$CZ5ed8Ts4dm>3wG zEVl5ng7%;_g@Jb7|3B&1z2_|Gx))G-z4*?j^RdUp*PgvLavqlF%N1NYf4FcyXnw$0 zD(b=b-?Q@%$e{AwFGWCo0C@)nPtCuc2cNR~Fz22C9R};u={v)xGj&60IA{w@^9e>D z{=Ekrn?KmQGJ>c&PtX+qdvH!T`N9EoQ%dJ^@X_F)4Q8N2q@el1@!Ju`5=qbIKTO3* zFAYJim4}=M2$Cp$4mRdHcr!HPdymc=pz;IFCXdd0pnP@*y!Q;N9U#;Bo34P4+XCH| z-2^%)&eQUqXXhPXey3-imS_0ew}X;VXYB^?l}OK7eHq{TSbp~DeCNsU^xda(DQI@n z^WYO!kIw7hxN!e1!{7tjo62~`$MSPA=%y=B0}kbUlV1M^p1mO|4?Md|R6c-i-Z|iD zUH-v=f6{SB{>cYC_?<5D3o!8ucnLtST6H}5fYq1rIB0+2!RM@=jDI|vk38_Te9zzV z5!Ci+KJdWT@=WQ9myf}`y&xws@V9`LfBSTv^XUe+r;+lT2k6Wne*wb-hTlA_y#)9t z9dzKIe9WWsx+lNWe|`aWegS{bb_ZV&;mQEY9gNpJn~y5^SU%%#Y5n{Ef5(Y~4_G}J zkNa94FWvOA7<8~Pvi}^xLqUF>OTbCWsbdQ-8)%l+GIs@k`vlO972l39mYREXgDVAW z(bipi!qxDkN8=Gt&4Xx|f>u#8V2B=`0BWDW$J5~BS-u-QKzGQ0_w4-R(fm)5zgY*A z)WNY_#tAyt=db6*x1P=aIea=(FYq@_2QB~Yc2O|^^#lrB4Nro$e_Ok#2snZc66K$C z!0^APwU0^wIF=4RVD;`5VR1b8kkz}Fho|!gC_H*iSUj4KIW&J~21Qc03rm1+cZiLE zf42{hfUo5#&(706{7(10tzB3IeE6MidGI@30}Yva_OjS`@H>6L| z2VDtf?JVHidBca_>6jy@a`2+^65^!;KT3q%9G#e zvM;~WO%Kb1pehJ-EvP_%fOjv8kt4qVhY!E=2}gc`2#{xQ@C&H%3*-rSb~_7rTDuB> zsyluGL!ZtUp8QUS`2{KkeEFU3`hfR72{5^UlD-SSfPf1~yDPtdvMawpwty?YfT1f$ zEx%x}0KXtJzhJZhzo54QzhHI%zhJThzhHF%zhH5K3%{U`wSWu1Ad9sNzhH>9f(yT3 zjJ1IazhH{BgA2c4j&*&x~odTqtkT;Xs1?Z>IFpo;Mn|vk-y1`g@M5Zbn-9{jHve-db_69b0gvti0T0WMpw#5k?Ihr1c@UHh4SxDq9&_NIbj-ov zp9jC|p_Y@L{H{k{OM(E$1o$<3LD?U47ci(2 zX|CM>-Zczbo8>9sVeKKn-+ULeUdZwtfBQ8yP&W7iD!u%Ab(DR;E@lNEA;);aqxpaU zcnR|>pHANcKAq^|MT2l!h+ zw{>{-x-)uO9xG)vJn%Ycf=A~^kLHK}z~@|o)?6_j@?lP0VfY``KXK$2U{P`87w}OL z;1~4zz%S_Zz@yil$;a?GsI~$1j%^u0(zXKpf=v8^UIHG?ha5bcj~oE)0JJ< zYx$4A=@EEHwf2M$<8zPBTRxpHUAjwmxORT<>FotA4SB)(`~QE}&JUm}yZOH&e{<>I z|Nmb~gQnX-k^2+0yQLExxn8{@SR?l>sQBTRXYlDf2Z{m@=F$rumLH2PJi0AFq3_%I z!V}c2wXPHZojAqs{2Llcpaoj&;00Rjp3QgvgJQ|U@?+5nU(1gr#vq+Oo$o*fLY4Ci z`WS<}Xzcm_C`heu=f~GQ$n}L!=PPi~bk|;h$0x%V83xe(LYnV=x?K4X($%?lYA7&#_;v>W@c4fm6gfVY?@J0jI)8vVG}w&y>2_fj@UeDb{!o0@x0i>-gYkw>cYuUP z=Ltml;MsYYU%-X=0l$C`^9O!GABe*|ntv#iw0QP9Kk&15k-kuL6XXoW8!tgOWI<~- zk6s>Y56e&d&7d=fd>EgDS6e?|eXWn0|2;v+g@Ni8CVr6n{XY11#{Ka4f5@}>fP#nR zCy@I=mt(N<3$U>B3;3{u0tb@Ge7b!Y1$?Z17(W!B_vsa3_h3BX(;Xq<(|G_nJ$iN? z;}>vY1i7CPjB4(!;mB)dBE}DV^$x=o1m?>J6t<%IUan(>ce;)%a9^H-tuAt@Nw?RiHSi1}GPj=nG zKgsn#5wl0bUyR6Jj&k$YO{KDUISk> z=GlBi0h|YnK}|*<%jf))4}dBu&(4!R{7&aV3CWRP0PIAF(cmWIcTm~Ec+ki4d1*E% zLwZT_1u+L`+#9qz)3w2)*YskK4CvAXkkS{e zVxW@~M6dOLN`6p(;>BXoAOBzU$$-|`fTrA`0EaRgMOcDi2h>NT+jm8syV#+NVF zf`t$JGJf}E`~u#a{?DiLkx%E#7n4CU-L)4yJCAvEy9;=9dkc72p5UK!$g{glz{Bzb z|D*#3pdy!l(m{iZp8T%&K!-iK-UoMPaLnC;`s48SZb-04;~Vg52-qSBQ88AAogf0w zA_!1XTC9V*2;u=~5yUD628I{>sSKbtHpo;^%NsN}co=#Z!3~e^5BVFKK|=>SVe20} zEKd}dfQH*F`M2?Qvw#)`eghvt0O}@!mOUK*FZ$#SDC|My8z>-J50r{R7e)Ph!6@|O zKV;b(XuCRmS%y#NCy&mXFPc-pOQAd(k03kezv}F_G7K+{S%HUg!DF^vZ$T;O{)!@$t(X3%-?8)VnUaZp9#arwPZcbS5RE$IFL{%v6< z9-s>4CIe^dVhje-FDt~;NSM&vGX@{(}NG^E%2Vo zPS9q!gY2IF4|p~o|L@s(yXe46kOrjwpkuH1f6%~V`yL+9$wRCmX&~qDba*fx{QuCi zH;mDvGfcs!^Q6cBlOCOZ8vHGMJm4K>dY;V(!7lXabW`x@^wV(V-&V%>k_~k34rr*M zg%iAM)AOHaZx|EE43KWnk!$>IXTV#Gwu4Ogf#1fjNAO!9r?G1fljWfV><}i%;RzJxq@rAo+l@0OoGFcf6ZAA&*p<4 ze0xF1=s}$6$iK~xAEXU*^=us9Y>e*jJ&jv(W( zhJGH%e9&pHa-c=Row1;ym<2wap*uW#1ONN>R{r(vbz=sNIlKj32mv0ybmiX`W5?*Y z2Q&`~-OB>n!`%kj`ozEOuw&;T$L2@%o|hl_^hW>p<-7_yJyQg})6^5ZqtK`Gwuj}f z(k(BeL039}?4QR8%DfcV&xX%_X(rfqOf>s%gO-qh?3bg|{x%M93d8PyP=yKI&V%az zUXU(W{9OgPp_er|88!YqxI+9eH7A;qBJ?zMfG1j@23(>)k}KvRf3c(crHNEVG_^689&Wzjsw zm+YXFMk5S`vo~0 zelhVkTXKMArVn)q)r36aNolkTzc|1ftHMU zcHZ{jUw_%7+joVB=0*Odt)Nio_5SY&E}E`_1ItFlqgQrok|={$GE27y(&IzF99p34Dsnn9BP55YYL&5H2xcJ%TUbW?-_ z|F+|u$D5zmdt83*$@vfD!!?jB04-UIPQGM>nT^fj&!F)on8hazPl7@f+8#u=?*kin z13Qv^KSB0QMYnGv=vc$%-;DfiMj*p663g~7#@9(6&A-|C+XNvBzWesNaY7=&Ps5Ra zn;VBC|8_rCNB(VL><1qSaGrAQE@OmT68wzAlk=J<|C(dqOM-th^S6Nx%=K(O_}jPF zjTL4FNIkfeD--a6jE}#(#soSG?>8ejk+;nN4W#rs{`KtjV+JL3Pzv_|otxiQ#|o-M zwu4hSs+s)T%a~tUgC^_1o(p9K6(pdP{MWZPjv0}Xx92gww1p^R=Wo-4*!11A*N+p) zCJz245ms3&FcML2mx;+Z)FTb2G>^%plK$2KiGCkW2X29OZbO>Cya~8Dubj z8)%)DXRqUL&t5-PB!4mUx7n~TFo50Pd=MpKUAxOzeLK&?f{>ZNO$hFs-@d(ZtT5+* zG=tkkg5dI?^1pAdGiZM!xVeGo&!MN!Y0RkU(}VL@%K_--U~ns==Ga*;X?c~uwE?sdzw@VW=P}>b|NPrR z&-1sce*6FbWhi+50%9t#APp@SxHmV$-0Lkhbl&|Vl&3E9>MUVY}y&cEHC zg@0Q(K7(kmX z*l;Iy{_RyPF8tfP*c=Z&6maDH>C&y`dGMhIDEs(wp7jK$U0#po|IGYtpw)0L-CDk# zAALdFgS%^2_-LNzZ@LGnxPP+qw=+Zh&g0Q5dpHK{cSwouW9hpBu*oo$0j~Bt$^x zWbki8v!j~}WQ7NK>)}ri{xt_V5RUil@a#PIS{f2KZy6aFx-orL3mU;X@Urdi|Now# z1w;%C;CKgZ77E?*(gZYc%XrSGvrNI`xSIy3%l=ve(rhz4@KOwP;xD)jXL!J)8=TEv zG9h&MbbbU?@2|OhAtv~AestUeTDS#Tk#OoI=?7j zARTjv-7pt|ww8l0w}06M>KZcM0=JK$4ul!C&fEY z9DKpy!oTeySm=Nc=L2-Tp5U{+f&@H|GlAx;JwRIz9Ag|~!AoKedmaY`AA@ga7Kd+V zk-+N*j(b3My#yUa;~5ZeC-J3zqWufJUjoq)`7FHyjFm+ zK}Eo8VT7B($8Y#_r*?R79`x+=;_&TE5_p;T|3BLKhs|#^JUVMHICfri1nmjGe(=2j zXwHa#yC;`Vx1CRS9*0k_>BdM=2FK1buAPs3L5HNiaOL0r$F(>8zhmdMV zfsW#BmlputL3ZHa13rkpBfgzSUxF6GIW`{u|KR_B$L9YE{O$iioBexv`yxTjK9QXs zpyhhtqpvME85sO~d6+%_pYZ&D7<6zCWIc~7|F&Ro`;^NO+&~qFbR-TTb!0d%fm&2* zyx>j*WDx=AK!BT|rY~qc_+1VRqY?EXy7}8dO@97unC5@vK{LM+q_W{B2Y>5S&|YfL zC1q`Q`572In-Bc(>~-ew=w$Qhgai?&U+c}{%D>GSy8P#aW4Ey9!3W?|DttH(K~Aa2 zbp)HH3hoa6VCQe^r@*wAzd&akfMTZ217ge{&t7L1n4`LdJ1-u5$pJb0LckL|eEA=A zR-WPo$6eqB=1)M4^yVK-{B0Z%{m=t{pq|<;?8v{(nW^*O!G{8zAfp_2f!Fk{f``gn zhy&R9+m3?{G$S)qz-KFXg8jh_cF_TB{s0~6A>g@Tb`IHBa|C0WyFIU=s%eG+af@{h-Q3F z2D_pZ<_b{TAHOTaak=6b7n&<>vO>KU2x?6KKjGQy%m@#KZNiWMFg*G48))Vblux#@ zqURIzAeaSdd}9W|3Ute3V3z*^oo@%SJebj=Qw)?LT=}zi}BB;Q+$B7nUpus2u{$@x z6I{!dL&|lsYFRwh9(a2Ys4?%`dZ0ue)DS^0F+nw);mMbv`w~E#@zahwa0oM`9e3bk zU^wmo3Mqz{UqA`1`G)|1^J?&Z2iFT8U{wqZFK3kn%(YjA~UC=^>ETSs?LJ9yCtZ?Rp^% zY&FQ@;|`#WZ4jHkfwmqt|5W5})nWo2@#eb2qg&u5XkF$;VOPUTFaLlB^t)Xz9CP5{ zc?lYW^Xg^cf>z3SQYNUU_A(f>?ymC|q#OoaLIDaY{b&xAcRdJ7cWK8RL3yInk?Xi4C`K7xrh+X1wTAYC z3Q6o`ICiIkvee6H(DAGM+b)7jyf$jE&O>;-51IgaDgPI=8Ug(F=;Wmyf~c zv=CAX%11AEfR&!`_~UY78$yGjK!(FsLyK3SgIC|Nl2W|M#DPAq~_vYKi><4jhi6 z7^?fxaTjm|@xG0L)vlIBjCdC5U8B(aO6%q4r+~eyBp2)o%)kqAS`U=ydNkKdfX>YC{O!?s z{J*ICY48#fkLG#}h7tjf?s^6AaA53zRb7w_XlO9@FreEow;O+8%K^?Tt?=PBhsh$f}4L+W4v|RkH zpv7A+KZ0xI?=PHj>5ql#2cIL+54BAcmuh{eYVgkTL{Pg15)!43FIPitx@m(F3Ji=4 z{E$%m%)r2q28ssoR$LW?X6WIMy}WH+pri%O1fUS@MKuc%Bg+{eAqqaz;wE?k@%xK- z?5ay@L17QtZT@mSRHZ2nmBApDpxKg_tx%QRI8t;g)EfXFrwuaX z<$q);QIPgC$ReOdNK}!*E^TfPVy<#p-tB z=yc}T0j|+NN0P#ofMXGK`U@zWK!Lpj)E0QT7NiO0El}_7CFpDjxEgRL9kinoE&^_? zfi9JUn+zI_c$o?=si1KJ?(+nLP2TRtkp^-QcyPx7EF|E@!7u2{u>;h0d#Q^e1Ztwb zlmZKFbK?Mo2RPG%?%{*n z>k{UDa3-FEtP7lILG=<`7pO>mT@B}gTEwq&;6VY(RIg*?o$2lE){xRBR;plgR9AqHxUd2}*IJI2Kx2Ak4)pi^CHw0ukop_GzY9F3G#6CP9DKmy30l9c=g}R<0cr$sfab&+A2Klf z|L@rNlYxPW!Ljq83%|=Lmrmacpc8a^Z8y4!GPrd5Uh(aGjc6gbfacCzdkgq(gKj$N-S_}JP4$ndSi-UM z*h^5i*46OaOVBA5j@y`DZUP;>+xnzL*hlj*f71cbdH}}9KAmzNopBt#op)V(BmX)! z|5o5{2kpo8=@mWXCd%NS%rncE@uDN>W|!OiEmy#muI~W2GWvAtfxPF~V9DUy`Lg1XZ|7@Q!zZsdg4Zp&fyz~=PryAGKhV8XpsS>xft>2v z@}xq^r}Okn(DWEo-na9vPv>c$&eQ{-U1KlPKzFaTo^rtxpF>pZ8=%N>eG4owK@1IgAbraM)Tpn zzP+)`&}ac2hR>Ad2)-faH4`Wxx1V%8_z*Nh`OTH{oM-1v*UnE6H@S3%UUB8$e#*5s z^1oyAZ*Bf|&~96wUeS72jA--)trNlUcqxNx=O@tOO4pWem8-x@abh6~VcvoIrIgXN z^9zz+F1d0(a&7s>-&q6+4*nKZ{9aK<^~xnz(B;23UmE}a{~xr}h`$ZAXVatk@E_ma zSQc1Nbf+@-cHVvY`7dZ=^h>l8y zTUFpiD~Dm80i_F9{_PM`=YqyCKnpc3K#KmK1|@Eo#r)eKYAXN!|L@FT?)+|L?es<#izFCPE+A-kFdT`kRTrDGnsnco33BK}q&7 zC=YiYd#&oYjp?<5<2H`h(x9`)#2mLVzZP`dCh(favGdw%c4%IJB;1$p{`?2sqfnyb zqxra4_87bH>&Ud@?4U7RcQyuw;cCa<~jC>C6;nS;od>!(6Cmx{l zPV_+Me?9=8|5>B*0(5u%Q;^69h7xAS|5rVmL5HDS_UwiphH?_;VJK_%$}oUCV~DjG zh{Bs+9&w%?9J?bt ze7iR+U}Rtb4Q{_}{0-U%0X~_|li%r|Pj{^VXnVNhw|3AqevBUcENZ( z(AgRSI&`6X!31#2%UuGraRPKBvL@&(j}4$v+>Wn~2cNQdc3XLZw#jx!Sa>r2_UQ~g z;c9rPp~92Hk$=h|?_QD1KHUKZpdA=K%mErcnwNaKLp3~_53zW3PUQeytH-}B!qcTA zcE2nC_6V;um(ICrpmMW&2I%A|pU$}gU{}lsHLZL)=YlrQ`!aq8U25|0|9}2%*F8F? zo&b&5c83f2bS^Cbtv&0U3OWqkt5-zHg@4;^pU%0UU8laiv7l`tpc^cFyJvt7)As3{ z3pxwfvGcQUZxEwT=Ty)^)S!bxd^&q2KpyRERrvS+e`oI*5E*;Lr*o?YSa>Z1=q9m_ z*!e!)VH}%VEtN;Hp@i*TR1XWwx{iG?|J#DFXv0wmj9Jv;2S`WLGN!lAjrS~9`Et#eCFF}qT<^bqr&0adeWyGY`NnO z&>?0eHQ-^I?l1|@UeEvF;{uvN2cddoA1v@-cH(HL$YONi-xfOGr+X>r*yK_^kM3UZ zEe!t;f>x{YZ}-S({weFx*$O@-y#>_fZT_jp-^$L&!0?R$bjjKZ{uXIaH?w;w=xlzE zZVv&UZU>2%ptWWm-H_Dv|Aa@Un}Wx2upywS1E22D6))96=e2fwNo*GK0B!Cm1YKCw zU8LaA4L-8og@5}@BhVV-&U=mrpD}wvZX*JPmv8I05^Yz*w|dNo_ z!V|QG@YoN>hQEv@w_W+S-F0ofUCR1e+_&?VNAo*I{-${X3=Ce~Jr}_ju+R6*{#4+> z_|c>Dgiq%)XrQ472Y<`kfB*l3&szV+z{uYMs)j*6^yu`R;L}|p@e*_>0XP^^SMaw? z0@eN9TTy}mbZ?PQw*!Y~^A9%uW`02i2A^(7K!MJ_>2{p}xpVyj=m?9>?=LQV0j1bp z5Vzr{H-Bpd=;p2Na0L(Rsi0W#>HNpv2RaSVr}MdQ=O>@e%RZppO<^411ja7_THO`( z-?z7r(G_%`8)Ur8m490rEPef9;%`3A4^CfyTs!}Onk1f=pZIb<0HrU;{XnqvwH_Qj zr6+tk&3r)Z-PQvoaz5RD5}v&t|2?fe1&S3x2XkhhEbwIZ_F)8!EFH zOW8qZJAwB^{rBkn{37Q&=w{9fpzVF#fgT>cdqJV^0os{<@P)%?)c8;V2THJlPv;Mx z&hNgRk3i}mal_xA3o2Pat4@7+K+#;m;o1D3jlWqBq^B2jVqEA1-`4*wotODrK&!7j z4?brBo$qkG6|`m!lr21tw;ljpT>&b6kGIZ1FhOe;K?;t$g6@z8-R=&$%^D=)aU6WL z7L*CPt`fxb>D&vt`QoJ}I7Pxz-$c-v#L)DKk@{YQe)|8v0ql2g{#JE9(AffyK#Qwi zR)dzlbbbP}i$SYo5U1s%+75FQ!j&+0d!YCR$&WCfcZXi_=`NMwYDo20u3~U zXfiN3f~HPNPjrV~@$7cv@b2ZQ_c-{F#iM&K$P5qA9W32@9YDd}Sp&L?WiP0<@aU}J z5b)>*AHxS?OL%neT>w=BDqTR~+F8S);nBSpf!x6#-vs6O~dPpU&qm z?kxNNACzuAyIoW`d_c!hJY@Cgo(eiNz@t-y!=rnu0I1pD83OWgs0QrvnF%0jWo$0Tu&( z%~sGVf6z`yMCs(w3qG0Rh2B+=>%cdsdo=&h<8S%P23iFQz5%m0@Ne_4F#h&=pak4& z`rHCEzQ!{RRLXXjo^b5E_5YzqGdNxt_*+32o_X}{1>4lS6_n>*B)tHcy%j73IXIDj z8@Ouq=-nFus#m+g)vZrAxbn>s_+KjUf)8{rPxBE0(9ORfPjrHFlSg-N#=rmno59)` z`CB+a!Qa^nN(L|gf+T+CmGCtFWLIEd;BS2cYCd#6_vrCN-yjZdUlwm;bVkngXZ61JF53&Q*G0^b#?fm1|dCR98k~JGaszH0knt!l% zhhE`t_XjN$=;c+j1O*y&yw#(-^#({?C%7@053$zF-5wy$b2RqbC z$Ie^)EkODNVciRA3Gp}Of_B_NLffOe7t{{&;9q~yr@Ix@ ze)H74z~2-B+Md-vb_u7d?7y`z=Hn{E~V4JsE$3hCD2%f^_k>n1MHy zF}^$k_7qAa*FHmaaroc=|C@jC@VBP^#dIF1q2SX!7t~neZvw68^1$m-KXy>Db=d{# zSWqhGZ~q5c_W~+MU~c|xj@8Zn?4Y?e#+MU8LpI1U^B2@N@8vBq$BdbmU%_%H9-Q+O zl<+`_SckuL!k_>D)0+2!+N-Rf!=bu+K?~^b{1d;Cu?p@y$Oa_*+1gM)OZG z{#GtfU!A!X)cW7Z*y-B?O(rivtvO$8IpD$*d^upzT6hlNZ)FCV-Q5bhZo~tY30py# z5NZh|`M>-PDjT|cL0tt1kcxjS?PsB+`!7<&I16r)wc?)*}>t<_y7NwCx89_50(R6X@`&l z70E9bgDx;ZROe8GAs+YWZUtS*aga^XxnVQf3WN#>n3W+G)kVo$+-j#P+S=9Z$sB4vxvrUQiT*uE7JD`}hZV z)}EQaEeByeL>;*D2AvH8Qn&lZ|NkDn;E(~G;G_vY{^F%9s8C@1;L*JmRB(B8f@?RA z?ycZ*w{t7FNblYX>REbpZhZhM)VsHW3S*DXt)Of1KxqUd*x3uZi!`khe06mybqN9A$0+09UgeL5qbq)!%uH;9%*rdW>e6Bedh^B&>e-K z^Ml?AfQs6VUeH;bE*-6f|NsB*+zJ|<^f>rVA+2+38OS=wDVi^xz(zQ8fNtLc9T?RK zYNnK6Z;c%F>C6UQ`~@lwJ)qU9G^#s&JOA*vgo4a({=o=#WGg6l`gAV^6_q~S;6tZ< zEx#1+@aT?J@afJL@UhnBZ><99=)C`8?cD$WU*`V*|NmPnD7!M2qX zf#%T->7k)CQT}fQ4H*0{Rrp^j0cxxmz5|Wd9#H^=wMTd80oX~84SPXGc=NZGf>KUr z?FOGtaCaPZZX_r~Kus~jlb`_;k8V5uDF=PJ9SnTBJuE=?>GkrQgp8axX!vLz^k_cF z;?da)ZU=Y!DS()uMTC|Y`TGms|NsB85FB@qHWK6jZ;#Gi(9)5Y;L|ZW?|_{38q}Hs z4WodH0nj#2P+~@l-E)oo##Cecb9|2z)HGH7j%F#mq&Lm z=*rm6UQiMRpVIciprf@MoET0(?#FB`1@piMdcRx<%1Pa&3p^U1fk$GQw}P8E;J^o+ z3VCaTIK<%2tq>DGcpOBS2;wNDb%IUw=>(ru{?Z?8Vk^iM9+1&p=2ozoonWyI;xGq; zJpB?>^LuoIuMj@Q;QiVfK2)=r?X>{tprB4070=@?Dxi5a29NGu(C9&jGs>1T^-CHp1)!x*sfpV`3o^W($iHptMbKKx)=Qva zwCz)`f&6{&k%9*&sNDi8#6TBeE#nsecLp5!1=(Ikfzn#%|JS|5=>7gO9TZQ!qR9#} z4EsP+sy>~^U-X^({@XNRyS*|dZ5J4v-3Fk1Ys;!28FPLmI-0I zGAL`A48x15pMM~(4C*-b9dr;n_&PD4W#FYxFQ%OQ{vR|x1`8k1Saz(0Z|m(6chAmC z9^I}29?k!FODa8@|M8XBdo=&!FV*wtZUE=#)&nI|?8|3Yho$fxt7FX%MtgD?Jr7W-_4=vM&SJ`>FGlz`X{+5+Hec;ICK#2k?SJUTCX zTzu`-Yr^c4`E3Iu1B0LC6vGuDUHtAJJTz~4c76cqEx+!Oc?~4(V>v|-B+cJq2P*uU zuQBkqfcD}-rN6as1^oN}pOL>+9wg0p%A@fRNWe!sh=ae08zk24W#G|WWZ`OfprOhW zG-iFkL-U+pFUv8{<^wD~o!5LckMTD>1Ql(T=lGjJdvQU>FZy)Ks6g)T;00ZMcN=y- zp=akc&x`MTds*asGk<^_=w~^_668Q1e)q#ZnxA|+4@2DVnRx*ujc|V*18A?|1%{Fe zsFVlXwXdTLZ$r3e3-?z^Ma@5jiN)I zmM4n$f`a8GXkRugJYeb75j6ke(f9^5`QY1m!~>K-u6uL`8F+U4Te$LXbN4j7?bz^x z17vpRDNoHyzP&QHJev=*cy=E0)x71%Kk2ZiDhV6^ZO-F##^3@r#v)o zcxZwSYBf9w8BcZL-zLKZ+O5Lo*zlXN+{l%G+ijQ5+mK7UJvr~Xw%o1^01wrl^7wzC z^uh+=*8-q$vj97&Uf{LV2DT1&j$`hiy&CSIy&CSIl_3lso#6r=&~R-$0tyA>lAiGb zc!f21ILD`RDyS{$+xoV|$+Oq>zo)gELb07k_KgBh<~WIl>MX`mZm4fS3tYZ2GxE29 zc4zo>XG?%?>;vuXZ3P_{_Og))H0{V?{<_VxJ5FPR5O|U}9@O|Ny#kuE_v|h+*a;fB zb>ZJW8*{uCJpTY1wAFJpeBx)h<}%Wt?L(}Cwj3{KfVTd0LWktP{QLjkt9#C6@VM=4 zpYCi9&*r~u{LP?^S02rW1wbxs0UZF{32_hT^m@q&yA;%lcjVu8pcAwW#}zbK$M8A;WxgBKt7th3T1xT5uv7yw+yiQ9zIY57+5(vX zJ~g%*T%UvHv_MT6@KD)T{uTj71_sbDnK8d6q$>a!)q{+bfz0vf1>e2x)A{fP;~~&c z07y`ezhw`o1lBwpC+OY|0q}7@pcV$dpaX};anNc^hL-`L zUOMPNkk*qWG9XFtI`?kh29Hh;0qC`{FSWsnN>_L^|I_p6t~~)d+qK*Eicfc_K&dkL z`f~P{>|i@wCxFa=S^&z6FW>+9|KIcfDgJFIJi5V$Z25Nna18oiy5ofqXnA(?5rLOy zz+)kzQWEfn#QPVn$3WE~`u&$4jcZ#IKgF+Bq<6#^ZJdflVf zq!d&Py_SNMpPq3paAyhgbd|D&g%ya zxkJzEKZbN(zw%re*m?b+gggV(c>%Tck#3K&)?PuJ+B`$>dfEN25MSC&g*{x zTA0%L&y(o$`dvULn4p~3e*tu?CrRh^KLE!H`dRwm_yirxPnGlfYjE2^`FZ`IirN#@ z?1rA#KYg|ggHN~X317w|K9-;Pn`=RhlWuTD4r^b4kLd>;x$oIs{{eIe|3*fi&R-su z|B56%yZIgXrycXO z$#?~PfIn!?9F#wOEsvB=e|ZU1%0UNd`CE?v1?|K-=Fttl0s@i#Ji%v)`hm_8Ef(Iu z2)g9t*K1XTyhk@1|FnaimhAkK4)}EbQaDk{?9utD^B~9xkb4Cj`30e;`$OF1!FUdS zz<&s+6y0_JbfP`uaZk(tr4wE{f=~EIoIeR#E5_j0x#TP;34+e|{|A~|0iC$imIG== zW4liUT)^f$#~$kD13bqxSeo7!PoLyNxo<2MbB;lAInokFUwPXyFD)W zT6%max(nLo^pB~O3u2_(iNf0({L&({<3XDV?DE6ns11fHPNj?FqkL6Ln9|`T40Rp^9oY*y z?)cy{b|1!P9+|MS_B}dXPk1!{aB%4?-BWDq+byEv+a04K;L*+I(OoCtY5BX@!UuE$ zlb66oMqkU*MOnU`&-mLx7X~%7~JcA?uv;&@& zhxjKQbWu16HN@BQbTPMY=d+fR8yQRGUfVeGPdn^udB~A}(jixcTfUvoTr4h@szK@( z$4!hrmgkH39Qdal_pv+xQsb!b%f;ZL2fynl&(3eYou7R*AA25r4LT{F&5>Wg5A9fg z-`2N2-JvH+WIaKbL|D2C6bbXUi-Br}ZZ=O#R|fuOPSCu)b?5>9_Q~KGt*5@7S3nWt z)yt#o(djz_e6s%wP@0u@VDRX?20E_Yhwv)c~jMGs30(Dei^3ZR3*A2_u9 z_v}33!|!?+ddxpKm3n}V^@knq4?2L>lkq<|$y$CW*6`@A5b*7G6Y#M-UcB0)`QQVG z?TntCH(u`pM<=4Z^0B;Bq75oh4?colV<6}w2)YMA@Bv64$V8vcOW^Iy{Gj#+`22rR zHQag6qcik^PiO3e|DtE7f=Y7V89v>y6F|X(bP)ikhy9Pg1+>Zo*#c4e11ImIsi@34m=;mmmcU>0k8;yGz%gQ zDfeyt@7wtXbVhuMtFPrR{wDBNr|#Mdkc$93x_uA0beHaNMcf474c?;q!xMZBz`Z~J z|G!KC%^Je$FHrHs-wraxrxScIx<{w$1)p9XW>>?vKAjJII!}Tl1YW*_wwr=-76LkO`~$^_L(4bNNGreVZ|FS%(DZeA>keSen0H7xE3;GCyj&ob1c?^7K zKs5Bu0PkKA6VTb@KHZ@ge3(NwxEdbd2jy=8CP#h&(Dgfz+aEl89hf`~e}Ha7aOM|a zVRYsf0N>hxbos-f1D>4+K(T!Y)TAm=^X}y_Asp2{plbp?gBH>=esKg{p2Yx)Ls0DU zH~;wc|NqMw;G+JyN9QpQ$OJU>Zh*|sphyNyQ9-Wj;THto3*g8v04XmV`2~GcK*zkZ zsO$hWoqalg`e?oc?Y8u>e8Jxgx_htl5aVhWDS3d3uy4TSBBfC*M!>>RA*Y(aDOPe$ltC9 zTI^}fR&?y83TVI>bRUl83I68CpsNvJq3~KCUjKtuWp(>r@a(km?eyaC>?{)S?R1g= zjh-|gQUD#`-U8Z30UF{t_=pvhAjCikLJV9KihxKK5&vEp5zpqs54^ieLUA)DY@sV%07l&`RlY}F`0J9^%0N5W)j{JgN0=}J(d@UcBGk=NYf9*g$ack?MV=qlWtX?0L2hifxqnAY( z)Z7GTlg?03|4q!J`S=5m&ReeoVdaG@|F)Zs4IddD4?bq~WxV6czYVklg4Kudlt=S1 z1xJ2(?(i4j7i4$k-*y0WL6r~V0g%byDWu~MK$jAfgKJ!$?jixl4UCQ(8NnX=TqNbw z%>}6*c~l(vCmr3OD${^HH9ihhBpEO`v-$z`4)_bk6kw56e>y{F9G^RQq;5^x=0p z1;4R?Ul42!#QBFn*ETW!@vuBq8Ure`JS~ru24lUjfVmVjU=A6~I1X;pf$|u1CJQtV z10Ik7U;66NYbvV)zOw+-JA83*>-YaJ-t7MVpP$>KS5#UDbTIz=7q7Q`{|~va-~?zn zV0Y++|Dylz=R!H2?Ej&8OGh!Kd5b!KXJo!Nc+p|Fi=>mi`I+lMX2y^5u6u z#J}y3NAm|}7yfN0LHz`9SH*+zC+LbRuU-*;@MR7^e7hqAyt-@n1spdqdRqQ267=Y{ zas>A^EI_RoSA|ocwqvjlcnxo)fUo7vVoBGQOW>=;Tz`1-yIcTWcI0b$u-NZ)wnw+6 zhouGoq{9dmzLq!3#aeEc2)VXgLRPKt+7_gU-{qnYzw1HYZqTid2YosZKus%>2ensx zy19HTIY24OwdDl(1|ru39v~|_5AefENpN(->lZ%*enB?{cvsEMfnU%s09qLF3%Vun z3;GpA#~udx3BLa<0Ne`xM#_B=-n}Mv-n}BAi-keALV)gz@a#P1$#~zB@ecS7iGMyw z_eFFb1|3G~)6MVG9WLP6&F0x1Cg5p#saV{j+t{bu8QfewRAgHoMjy*VMZDm21HO39LE*ZC z!A~E4*Uvtk-$D1kfHu72+iyYM`2e5;G(oolet%R@;j!xn==i|@|LZ+0FO;Wvw4N-H z_UI1g058z&D2bi}W>3o2R>%aeh(X$>oOF{M*dUUgUK$mQl zdwcZqS_q-6)e48~^o%{+4QKIhLom0)nI13&9<7%um|_nb9)P4D{%wagO8h?oI*Y3P z4yYsB%lcMOl)*Qdr@@!;AZXVZ$sWxI|9SKVfX*QUDdXRc zO&v#(wMX;8A0E8{9H4{Tz*c*(^KTDe;onxkcJP@1=QYq`sAn3WYiK<Y?i{g)Vf70rKY^~h^#FIqz&>FIJC9sz5#}(L znPP;-MsJY&I{0G`A7d9rxCy#v3M3bM7|KD&ZWIPdfHXnU2R#3KG`<1dO6bz*I)~)@ za63F`cOR|+XiEX=eYh{s?!*1&YIw<~6MP@8Pp2>Fs<9QmnqSKjyn9*7zzu?4n`1uK zxd)2#8fxb-@V9_&+w|>x@7eqpKA`)V0&7?`+Gr) zPeLd7^s*d+SO>n}_7&3jmM{AKwi59BZLfQDV`_z~huv=rQSXU-zwIynrf|@53d?)N zx{y8r_Z$PQ~d0@^3k{FjNpX%~oPdEc}1hA+RZh{BM54?cfcY7Ml15dax_;gPNr7)k)bNnr!$wp-RyL}l9 z4;WtZu;$~RbdZ1YA&<`Qp8QUKeY)KRd^_C)_yyQOi;p~dMS?tfO|E%1ACmxIbz20! z>J}95zP&j|8GJ3TmTq|&3mywcDW4#xyZLo40jD#kjxC~Wpni&F>54KX&;N&fx>Fk< zS*E;8`w^gRJ?y?*!X z{0F%c_cv&`9&{E~lPLI3+&`Wd-+)GJeL71o@Hgpz4n^#Clkn{J^8l>@^R#B;pM1!H zf6_6}-Z~G@UN-|zYd-^@UY0WNUY=t)yR4=REkGet3XJSjGLjdCq|^ z!2Jxm_tx8*<(LoX)>wY0Q=o&(LHFQ7?!Nu*!S8h4qnpXoni+J69>3Ee(9Q6mTV}m_ zS)PKXazP~uXxQ1eSH;e=+r>`8x7)|g1AOP*H_-T+hc##@ZZc@t^%&^fFrVHS3l9(j zR0K62FaW9XvG%bv@bA?r^Y1kY^6%yO0$TmS?{wLR-|2>DH@9~;%NOvSx95EMoj&5(tL(?#%&x4t_-7w&mar?~2@)3X2G|&~d=HSh9M?HF-Uw{@XfYzhJ?$>U9%gEmZx--P3 zGk1qi=R?pKyHBr>&s^x$$zw5i#{1d6(_7tT5+-nl#*=zF6!}3G1Ir#jFgD*U~Ej+Dj89+nU;9+j3!~VTI z_1>K|Cj|Hf7@YY9Sx!Liu00^(VfmrxjF07`5_Ruhk$TXerblPV#UG$vrJ&2j7aq+A zUw~Q-KAn$VPX*iO)ywi1l6plPz`d(`KAoX6{)@`ggG$cW8J?h`7}OP#_vw7*qxp}& zWi|uoJZ6@9PtX#vUVlbU%QK~%hW}qDfz5-DSA(`a)GqMo75U}adB7EZpO;5>m4Ihw z1*kA}eCWBZ+W7)@Q*AcrQd-cp@&6V1o9F%g|NmtNXa*3`{wTfR1CBn>$=}fEI{=Bk zZ=l@k(|HkjeSmkbh$m$6fygz`z_JslG)5`!OBukiU~K@J8RB>T?A>cq=F{yU;M3{y z4-}vLf-L_$o9}_9DkMBCFBF~iwR~8j0n+2$D^doH(#uelmp%U<14XEB=fl@6p!yuq zz7cT%_0>H(@A-CK|1auO3mSs{<+&4jKdroP=W}1p@1Vfo2hUzY8rr@WJbGCUg0B7p zMJtQpx7U%-;b;%=MwZe89=#%;JizNbA@SW^B;e6m4vJ5HL3YpH0w!O>6aKv{4xs2f z#4qSB;ot3YNWiDlUBjdKxPb>aHa~b+ek?r-9tH!&W|_zLYaYEKWuDz7mjpaIOHP1` zl}q5*wEV)~lnK6#g{2Hs^!WCg90Tnyh2K}p-+T`=ZF?DfPwjV~&S#Lp=o65J=Zia_ zi)umVJ%gsBK;Pr}llSGNoI53f!aZUHBL0T=EUPW*x_+@8%pB}!U7 zdmUf+S-Wsw@a#NTblrpT#!Jwa2873K9N>4>f=(~a_vg zSu5ew9VX!087Kgri4bJ;?lnmPC1*&FgyjRs8c<#4`TtBw7^o`u={5w{-?u$F&-qxJ zqg+|*)14;Z+nE40i@~Sc$fsMw*YcesXeAtjXY-Z+9-YU0L31dPpl(6uwU>b)y7_xWgfje zA3ZFOm*#miACdrFS(}P=1eh_Nlo4QQF~kV)`T5}G=?Y??;ayN(dhvGN_x~?$ECr1T zgN6kUK4*s1E8yF(|BHUB0IPiQZT9#7kn{u^KY@=&1bBAB@2`ymRn*`u4G&m-dTkt_ zci4g|YuFvOpp$_;Fz>Kk2@1DPYL!mCPS7t&@Mzu*T6M}$!t2q!8{~`sq6^AF=b!8b z7f)be(3u_oMLQwFprz;#)u1)h|3!-+!Y@E+v_#OOdpGC^6VS?-gXkX&CC@#(ZB!ipUwwVgqq$mup@h??^ZS3%b7i1TuD1qg z{8QhfJJ`UZ+u6e7xGVT-PLEFC4v)^z2_DB?!6D(%>AS+CGjs!Z15ok7A-BJ9z%6f{~L`(L#QEO~?@Iu^+~)c6bV?ELG| z?dISC+Uz_Dq!)a+h(og-BY!Jst)EAC9fwEjfBu$ppf+xInSf7sodo~(cF^KwPs`){ z%}Jm>Q|BMg-g-vg)^GeRYe4*7o|X z(?C{wbhlpsEr9{~1H50bSJpXIgn?h4!L#$&|I41;Z6IloYg!MKzIpi5!ig-N9lf#&M*#-<8GjXIYIuC@a+U0 zUslTD+gU3BKFSWfF9p=72Q9Vfyy(&VjJ-q@6yT8dO?Ly>$p7a`zj$;W2L(BQlPq{F z<~XRm>CxQ|mWL`MhS~wv01oe$mqAAtb^ZevHi<>e*3;JvxuS1aCGJ zwJ8EsSGHgIWf)!r%mvj;9=*2zK|Cig50ro5^^XU$QXKku^u`|Wfs~Uzy|$bnr%FTDdx7WVzP&h#q#SQ~ zcpX$8BA0(ig%2qHaD*2|{n3(0e0U-1kG=wMfYGAvL6bh~MIbcY3aXkOrNe#pSU0KQc3B^RiK1f3rW zDiuLxsSjvcElj|tJ5Iu*+sne$@MHsI2i8FkZ7&1AUY?V_j0b(Ry)-mQ z&@zbsMW?`*ZoHNQIn<{+&%p7UD+6OmkY{(Sgl~7Q!0RZ`Pz9)Hhb$d{T$to>+${o> zH$fK_g6U3vkIs0Gm+T;KF<$iOk*+9PcZM{@t-_zP#pxD+U`(}YBb2P_G@T6%sWYGm^^GG+S{mkys>Cf>J zv=s_u9%zgO7PK!xr{;QgM@#Gkos10Lwv-Q=9_fx&aNGyou(TRfiTHHpUT{44l-cw6 zagcs~c?Qt7DQ)n6r76E*`;}bz-Jf~>KknIl^oL^u^pL41uB}f>*JuoDbbj;vf7YirfzhW^ z4RqBb|27HGNt~d)lpdY63tW0_=7KEb-^RM5Nrqt`XaNa$r>Immco!;v%XLtK?2KIj z+W6yf+!fp$H@pPCZGeHH)Ax!;XY2&9br2&jd-QrSg4(jKhW|m!)nEB^K0~wzeR{qA z`}Dej&XE&q{%Kzdy|!^NXvZf1wo9&^mmQlQ*Lz-m?8|xIwdGQ!aPvWSpUzW0pu2ca zmL7cB3*HdM=G*DV;o12A|9=Js$2}m@m*45RXY+qX{wW8+N2`JsWq0__@afI^=g|wg zcis1dXD6R;XC4RtwmQbnpUn^J9a{cZnt>g@4b&It&HC%nTgMFEG}dVcRmtSo`NOgK zLA~R_2kiXYPr7g(bZGfs5e)LRb?k~#UXR||6)!4;z<2pEp$f5MMmEvX)c{A zGrE1Rq;>ktVDjh&HSB$Nc!2y-JHw+pc7liHO;FF6zx6O^_q#aAQ=lt1L5E9wG#~oo z(Obs?b%jU}*5@WPb^|OwQxDE2yKz;Bnk_11Q>Ik$cRY!v#gP zM|158hSJd2vA&()kOy5MRlC5aJ9Wlu5nskPzMX2G@RLqGx@#9;+py@b8CnMbF)0Kb6i3VuQM*JnVA zKs!2Kvw{yaMYg=tpX<0g4=8E-bfWnlY;|et>)!n!Z~Juqdy(1;-XaZ_fVoK#(MRd)9uCqx(3YOtCxkz^ZyAC&=vD14Np#R;olYnt3Q4*6??g& zCF+}?MD5Ug5Ol1ZXY+yoMdv&^*$`KCd30U?AM=`a9O=MW(CUQP!_X_`j{Dr0cQG3A`R6}k9olo6)%(L^nW9Jpm&aa*apE1FH-Jv|Dv{&YaNPi^N75XdZR8nC zxASYbPT<#cT>x5}|9T}z7BspG9??4vz6RyBBxv;5qxq*ESn~q7bSDQ!xo10*>Zt&44u%PM=Z2)up5Qy&vk4{GpkIq2YWj3!vJi1F~fHsSkM0UIG==R<1 z(H**>)5{pt>gY6r>{)f<@aT5!@aS|B0Hrez&>G)v*ApI{P72^*kWMEJk8V(6bu#zp zc3sioWRIB!8JT4mUg%8tjAVcO-4A@9Rvibf-Qw|}-Qu9l&qyUKR12sZSLM-JdcpHJD4PEJ zYTotjyyN-(iZA0eU&ec$y$=6DgH49F4Ns;`@a{Fy@b9&e@@ziNQt)9DUMg$F=2m`|s_ghyw*f=_3-#!Jw_ zXVCsAsQf;`2CrsxobV~_=DjypgDMlZjEPHh316vpB4{}gCM7k$5jYv(D@9RZ$~ANg=z04K#$;0sYf zJxJfqgC5Pl{`0qVg6=c!bz}thlEOf@Du6FUJq*4ObuZ{b)EyhxU#23(FKDG{3h1ap zl$E9p77YAT4>;}wU!!6L+KCH~#*$FfC`9TXLoyIF{=`|p=K~`(++p$elnpKZKx?#o zIuC6Sez}s3fdQNZCBc;?EK1n<+j=2ULgM1km!NGmh^S@cZ({=)49*wGYhb~VRB;s8<7u3g|lA4mQwb2M3%QY(RHx9Rsa){C~j5@?h!Pm$^s*3A#wD?K#AB5?u+l z9eWZ1ooDnCbcZVhiL2CrTb25_$M74^nen%TvVdI&DlI(zgDzY(1np3RkN>*xLknzZ zdP~JfZ@$p-VmAvoy?OkHmKPxJ!h0nz%|KBGbz<{RX8yJ;Q2c`f7ilpy*i+EV4?6qB z@Y_olB#o^nOO!l7fsDLX+YwSsoCGbJdMO54=!&EN1uM3|DPI9(J={I){B4s#0;Ctd z-x#4;Nf4wT*+B3F0_g@mM~X{uK>Y#12Beit}Uc9Ky%kK{xQa z^MWqX0F^cj9-aQM771uYHdqXy=q0E{B0#9x&m}n(aR1d2GF&LA3(RzeggFb z`M3Ligm#Y+-9u1y46jp;yQ4YfwO|@p4CJ`u?x4%N7(gC^p1%XBh;XQINAjWT50L%G zT>pU_^apfytnaT5e{P7*Zr|S^GdulxP~3tP0A=MEOWna~6?+tbZ;I*$g%~_RU|TGY z#{|$BLoYoU!RP&8i##N+Z4k!Z-A9UFkK>0x!)YFu9~r_fslC<=x~tarng{0vJk9{k zg@G?x@&Vnfinr_n)zvSjgKnq;XTR6}9-yk`wWAMY4=&?Ha1r?b5U5z_#A_0$x%N5$ z+}88M(bhwWeZp>I2alZcgRhW2z;k6QI zx);$ufX>H-f?Ej?wQ3&SzAr!<#Tsllyi4zaRw#6PaD4Fi&sloWqq~CRg~z@B|6d>T zXg-nvPHi5Yhdp|0C%gciZVnnIUs>_}{|nnDEa6Y~`T!x&z&e5T0TQ4=<<9RO#H|(Q@6kPpXlfT&Wi$Tu0k9B8TOZ)- zg1J5bjOZBk+ePl?85F&!qh~tlHM*bMWyutV6*V74*<(|HxNzj0ILLt zH_G||#~>os2gn40iWl3f@1+@D7}P@72iynol)yYhd7%KVa%yjYiot21Bi5i<-QB0R z^u}x0d^;!&cHVnYill&G{?51s&EE>({Ea9qVEZ4y<&^<=Tj!7e{4GS+f41QI53+x0 zCt`ytTK&fiDd1c$fG+F+U0w|uu|(8=pgrI(On(rn|4NbTzY#*Zs+lA z{>4(H>)RXk$EVkm#RpX5$8mHsI(8m#Jotjeu@Q94H-A}p^N;@}S>REH*D}XlK}+Bm zj=A0gwJz^4Fm$`#_Bi-J0dkYvDUXA%I6OMpJN!97)3OI&Sai7admMbJk=E(Y+ZoPz z%w3ZiG%5(L2OKxBcyu20)I41r;c=WD)Cd7hGQ7U++5DS>zv(Wh!fihE#i!Sk2kf#i z4j2Ayj@&N%+ao#nw?%Rtd@SI?dAr+_#pB>(4UdDMliP3l@UJ<@;kbdrxAU^6=INpp zzP%!xKAmDdopGRjt&C-fj{MsV9l>`a{!4QNouky+1Zpt#2L5aQ@qxbyH1Xou{EMBx z4K#!0(;NBCw>OZ>m490yrz8LNNH$mgZIv932cHW#a^83Bj%4yY_*}!|;A0LS&fh-# zYd&+lj!pxQ_8)fzU9if)zuomBWR9iN9d;ic$d4~U$4i1&7Wj0YdDm07vDDu4{~?IE$a6P7o#7lWXMuGe zWWu&56>N1Sz=-z9?>B{iE$fCr|v-$8p&*no+2OcoHFdSgv z0G-6}?K}UrBaRx!T@9bK9B|~{cHEKQJN3r<|NnO~FfuT_ zc%sI@0BV&8ptMRL=O^2iLeEcT@xXC@^1o!{^OF;N!0p2leCH>ZsDWBg*v?PZ@|9tD z5jqR${A75pQi;x1O_5`f_;rD3%`JcZ9ywb4qw@0rdsQu09VR^`d z-~EtB^AAM(`-9>CU7&GN(3-*Tj|$2?Q1-_sgW6qE;QjHLCqc@H+aAB+Gl4>=z5uBZ zDk}K?|3z*A@^l8QJPmgYa|G=t3jh`A*p}^HyYl~kGicdvj7KxZvfY>7pt)R(WxJOk z!r*B)@M>OAne|_EH$)h+Y!|fl7qo2mzvvQ(Fz85Q27d4vEI!?vcYx=~zwx(#wp{vj z?>+$L|1Yui?M>tG>DAS@5n*_Ze*fbU3DEjnLFl^N_po)j&%kTsY`tX|e7bjEfEwiD z)4llwhz&9CzBM-U6rkpTuC)9BztR$7-diuQ-*13M()e3Ir(yeaZ+-wWvGrR?l~4EX z7hv}Pl5prXku@MIgb`JmXY&!V?~5#eSpEZKIXHwti-i7*MtaFG@Na8oU}9jf@hRm; zUkcd0nFDlI({rm3;I;O2U;f2{1&{YJx!Ld;)?$Nv(?7>oHgt7XsZ9IB+ zgCgj~PIItgu#%Fy9=*Fk{(o_}2Xv_j)D<2k#*8zVQFQV{?6ie#sTj=KbKw`w}kC?){*ZEsp;|VxU$716T|+#SamKltLhN zpi&4T1}TF2JiGUUiXhO^_a>ZS#0v5uW*B+))+fB+y!ih=)Y)khKn@r2?OhJ?giq)H z7k|L3FrL4D4mKJRTsz!At2%2hy!fB_{r`)}#mG4T(Y`hS^~Xu6Um#X~@E}mXfRqte zzXZG`P`}7$A=NKJS>OM^;LSqz46J^^y&t6Z9JFFdz*4bHa0M5xkoW{u6`=V1FIou^ zhD0ey7!;-dMUx=HkXS|C5902MxgR9>Jm{d!?=Pw|kX?+ipWr)aKS*yHBP>08Hva+V zukE1x;Q9Z|3(zG$KAqoRKLbsxL$^yH-Shlk^^^<97bw^EdUhU%oA>`riHL9SI*@Uo zLNVtD=sxauub+c6R-X%KH0l3~Yw6$rzsM^5{(pi;>!lJGa3X^v-t;0sjElxF_zcy9>+nWlnfr7 zYiS*t7WuN2!2E^D&Os zBFEf01VMwEugyH0fAEyrc{Cs6fv&ST=6Vj)ML7c+0Czpr;SL)BcRdXr0C(pB?R`AP zE(Yq4Ku4xry4_e@y8Sp@y2E%t>p??YEl=^c^)WCofEEj0eC^oyI5adg)TQ&Xi{@>| z&fAWSkByCujSs$Nf-qbd!J-FWvp6z>B>DOI`CT(_GcqzVIv#v2;n@6}so2@0`OpWC z=3@eWy)vM!F$_MMw~BdT!?571N4$DvkH2@*BtIAB_C1il9jz=+Y$k zHX+!s+;LaX_88C-Ch&$C@OJ1|u7+=4z6JHBI%_Yu8ootZ@&_&|J#cGwHGJaJdD4@A z{RxkQ51BkPPw_W{_T|F@1+-)XG+Xh~547X~oaR97UZ2j|3s7Hi@Hf9<1Fg>lZHRW{ zUwnqY`3@TcgHLbOAD_3iX&HRv$F&OgK^KF}J)mv!Kin4#`tJP&f7hvg}xLHTai9bk`#g7#V*d}_hJ zEp&y)!AAx@oUeR4pS$pHOI_f3@QH>e=M~U$P>+L;6nr=z`E;jFa6I@#0wUUR@R0yS z@POmNCmgQ)+n;!HUUB5#cHM{bkw>REC>Q#4#tV3K#!L8gmMefy-RTV1@aXh6@aPWR z;n5jx;nC^u;L_>t;nL~v`7IsXJc21w|Yssf!}0`@!y*e?F|i_EB5;~;3p zv^VJs=pqfD?$isO%}02AI#YLm1K^G48}OY~&}{GvGy(wj@TWf* z9`*noN!pt(;M1G+0gHzxI5z)a;co>U$c@Xx;0s!iV!9VRxCe@99;j!ZFrj+(3h4Bj z-lPvmo)tj%EYxDqNvSw376To53HF#IrpNL@OF(y zbc^03P-Gu~rUDW4fB`!kdyKqfg~v3_ai)L7X`V-X}9^J(TXq|e{04}IAhhnJ(M7@MZcd^0??yvv< zzt#b%0j~!K^!;&jaS|1aV})_~oM(i8^IC%1sgYERJRBENllRe7{PUCaNkg`w*$p&d2P|L01u z_b*=`q+$OOvYQ&Ed$8I9OZVUixMR8D5Tav==r5cD^%vHIdU2rs<(yBT=y?zAFT`1Z z`U}rrEQ|jB|AkfR_y4H<8N~U9Q%FAFuz`l>8#;it522oK_yFyE!?&)Wy+z>j4Z)|v zch|1))qG#3^V$zBzhJwc0<5-N1%6f`cq19;Y8d`zA0`Hdm$Ix34AAu9(+Ru(<^<^e z8z1Z11I6Cp%WqPBJO6n$|A!x!_`#?1o2%ggpU%^+h9_URfEEyf?!SQ??uK;#&C5ws|}H&qMr$wB8ytMbgdTYk9HA-t+%q&*lRP@beI{YK5zZoreff z?}>aK;z$0bDp1qP@?Nnv#DC!P5S4s8Z+KpO;nR5!;>qtY?`nR33EH*b+X+7n5i#Bh zIjjwOETPB6cV4|V;AJ9^V-fQ_x=R~8kd8%EKpczslc`wgf_7>8bgl&*j|ja#=p54hL61#9B`j!jN9YBgZeMKo2Z3}# z?hlHC9E!*bITSGrd??~czwSL}A%`N8aDR{pXiOO8{-6_}b5=;YKga>p%7Ywq2)gwM z;(ADa03CKnmHUH0*S+~*w*zz*B7f5raEs_a6Mxew5X_D- zjeqhn@R8h3|DgwCBkltN-AluG4SpF=JNO7h$X!6bmd8uCyetJx2cnjzkmc;4`+z`6 z3UnV3Wx*8tv zv}RFpBf40Sc5}6Bdu=V-C&VnL+W? z?ZV>V+bv?_-_64VKJW0f55LnrZ)+A7(7A`8a}GT^Lw9)gve91GB#3U}CcX&<8pg zkzc^jr}Kp;ztdrUfl2{iey6)G`~plapj$Rv_yq)9_yr;aT=@l*UHJvFK@3AzkUD@(7A{%{DL9Y3NHMDG1dky z{DLXg4lewHIo1I#{DLLcAcZy71&Cu1zxh~x;%{04+6)s0+HBGZyLo5<^yVS(q5i&| zKf(1ONzf5Xo}Fhs4?bo0WqgXbZ^*OxC+M!B9mR&8-7G4e-9(;;_~y0f z1W;Mk`OdfV+zTi0Wj!A~JCFKyzVOw2;Cb)`=nf!P21kAYU$jerJeq4aFn|s3BK_Jd@N$;c@KW4-{5HX0Nw84!ww=@*r8`4DuB*JJmF(`s>B$2(F9Z} zKbCuZPQC6!EkB@IAj^P2d*r~UQ+I;TbNw&+O&3(af;m2*TRA{CW&i*G|35pZtOFgE zI0v)^0q9B}7Y0yZg7Ub4kBR`lAmoM@k6w2s zAH(Aw2cLt&o5c!rC65)s`+QFLFn$EBw*G#}19X?l!3SW?LLkjTX!rSi0bQ{Oy3gk) ze-rrTD$pI4jL#tl>4EO^+2M+~&qo?OfA$k}7Yu(hXzcN&1;(7)S?r)k zA}WB6L_Fndd7=b#nEC^s&QBokAr!-IM^Y@Dvm1yaQ0QxOA89;BP+v`~Ux!bHS$~KKJQ7 z2aQZf^Yg{BPyheF1XW$2Qwdc-X#$koz}NJER(L=Y3kyhs1(aBrK~aEoC?dFwYTgdI zqvqnlhpZl**TGlRxG*qyz|KPiZ7~Mzp7!Z>ZSd)IknjMXi>TmZ`JKN7bk(y*=MT_D zogfFm?O|c&7xY1#i}(O^F5&~9ZVw5cPSEac@cD=!bCJ$R1fPodz=>bLhx>yQzn~B3 zoJ7b8i3aoJ0i=%TF->fUmCtACoBH!ww2CMt(sbMgbq_ zF^La~&v-EY@aYba@aYU~fF73!G8J@OB76-K$UlN${|JKp13EWRkOg#NBHTYt5B#is z1P^$29xA%%!Fb{&$UnZF4}5wPANW85)uUI089e0E>AJ$VmxsZ#`QQVO&ik*!(kAe4 zbKT+CaTtl)Mto%SX`gno}M)0jxjGsVp=E-;j zWFn|`1&u>QfU0+oZbtY~i5}MM{F7Y|@K18xQN--g`43@~2goP}pKdL1J!E;*5xn!z zv-#S8pU!8VmPh%UK%VjFy!H}we~@SM5d}~qzQh>RKJ>AC&OiBp1L%O~&XYd;PUk^q z2|GgXW`YeGVGa{{fA z1kV_{c6juf{x~Ad;L*Dm6jv|S_<@f|{Cfnnp8orbv%cT|zt|B1T4xGcdjdY!Nl)Innz-(TGFLLO2=9q&OpA2AA2d7t+@_?#VjHsS*Y@K!T*&(5Ct@P1N3HV z$Oa2=`}7jzeu)F%8XPkIQm$b54N@e6uLx+C1C6FU1MP`}jaT_}zV9a1;Q`;ygPz|ndNO|WJotdc^WZ}k(3NQH&in#Ad`|p= zJnYW=f-HP5LEEe$TOL8i@VBf1FZ{R$I)%Wemqh|>m}lolU&MV8;GK&H1UxN|m%eq~Wv-1PU`M#RRJevP8^0(G7GeCCOyp#gXsdOIn>NNoc9{4mqr2ZwS-Er}SXXgjP zV^fX6Fs))e-VYS4Zr5`45zKKn+}Y`tj8K>v`}giw|?|iEoEN_eRVB z-5XIF0cr+d_J%=QdOF{O2M$lZc!)k+0`diTxa0tMxI_vxpi!LsQu9C3`~pa(^cmP3 zPz}uD!}uPQ7BH=XUOrKS+Y*rR{7t7pLn6(;nfRLyf{w_t{O8;G2R>c`N?M=;SA04@ zgL1JC<7;2b?>?RHJivWe*mwyG?79ebB~WwT^@1gX%w&@exRm2Xr-rE5pHO zEFO%YVG#lF%@EU}!y+smjE8+JPnYg}*$TQf8FqgDE>Iok(+y6=nAbw&uHbJ2T^!^2 z|B!Fz5ueTj9v5GDG9LAT6qo$%Z$URhocIMAv%l`y`O&la;Xe=Nxu7!FuUACF^WY;E zA7=11_MmmsJE3Qd^CRU)egWqXj{E{#{DR&e9Qg&Ad^-<&8lLuK1l`xj!Y{xKDwgE< z1-U_mlALGr0Va>;!wR0whaUJ^9xOfN*?DjU=y)n{w(;%!#osCqYUVP4CR52B$N}xV z#dcK%WV{=tzV>K*16r!$1HY>RJdo3L3ervY>^$Sq>-+(9k_}|bS?vXnUUvbHPS+VA zr^S7Q1{ZJ@b`etTgZk`j;PcHHzj|a}Ebw9c^$nz`NBu@gU7)aET9gQ) z{B;LBx_wW0STgcA*MKIFEg$i>&jDRBeDD#ASFepQsJq@>dI3~Mbp8Y#UgOglIsv-g zvh$Be=XH`3caMY5SRnm({^re~4X>#6n}tuW;|Ev6lc2u555Lo4&|%m< zo&P-!K4P$@(Z$9@C!Hy_zIo}r4?b1?g|B; zUPsV{(pXI57jRGjYw_;2;rHowFz{$TcmQODueB=!^iqY-{P_+BpB?$@SuA`7&wDf< zaPYAFz~2-FF494_5JP=YY>kwjJ;37;A0XoqEFhb~H_tl#{>-1x@Y#vK9zG5s02+t5 z;L%-r0CcvxI(T3ObXPD7SS5eGi{J+j&>0=g2LwDiKfT-xI(P_lpYV6kybUOigZiqU z{);xrf(oh71E34HHUGgc66WV`X$E&xL4ys4O4$t$ybb`J|J3=>1C&X-U1xapiWvBG z`%ds-_FVxQZGfal(4km@P9G413@o4|!D927zn%%ydHVHZ z^E>8UphbQj{La@r4nAV>U=F?DVR?bS88ovBQjHXU;PHpv$`7Djs0Sagcvu^F@H_to z4K{#ed^TFW(1Ffya1nj0lJ9#J*0En=?c05UJ;ZO zK}n9kIs4cD|F0E6KJx(`OAktmkhcE|anOy$K~Muczz2|mhUFc=qgbG;<2{@I^Opre zGon|oh%tEV8GOg{i&fyU*LR>&&a>CX#Dno3NP$P=AyEE$(Zj;P0KO#Br}LMO<|`k| zm;6o7Kv&E~f?9FS|JnK5R)SZ(xnA(-4iNC@_AqcYJOFB12!QUN0uAqjrbavzKpo$M z&sltWO)MM_J^5j79su{KzWG@5fQ1YkAtU|AK)3i=`xq!V@=rSCc<>pE z@0DTkY(A{u*!+pv@!%sC|Lzn81@CSiCjagnRt6u-m!6$J zefgbE`&+B9`S+TDE+hh7bp*Pb>AsKUOP}ssP|dXCGk-p#cQ22C2fy=A@O4eyz9;wv zI6b?$J*_$U1%$xsK%Gv5Y9@XGDbU=2Bfo%}XXg=q0Zm7K0b_mv`_KIK%>3Ysse=_D zL-;Dj{DL{g0{ns{#tQs`HO2-z!DkP^qOHjICFl|mP{f1AtW@{~nSH=>?U1661(Xt* z!CT7VF+|Xbe?-H2kTFIcHZ>twDj$CmYu42GH`;9j+aZAlGL2N2(IneeY^F1x|Mt_pF(a3@oc{Q-=p)QujNzzrW|mg z`|)K8sMc>jBmgdfbilK39+uajb8nuV2YvXR&VedQP_f1Cc<=#>596_e4_QE){VlJR z=6W_C6Y#P8P@3Y=cm&jBL|Py2(aReDTbjWGa($G?@m5f05!5L6I1Zj11&uwW@xMRt znZF(~N6>3pz6m@41)AP{p=|>mfU4O98G!P!{{H`kxf5gn>Nu!y^XLQ(K%Mw68Yv1I zfcpO;(gN)~P)FF(`vCAU3Eln%kOTibtl1s;CxaVcpys=^KPVd?0L6e;FAKlp!N;Id zN8Y9L@WIC{KD{FHp3R389GgEdgS_w29V4&c*KNY?*DWLO3!1e)@5}G>%gb7Z--qAn zhbO<&A-`T0b{~GHiy&Ek=M%pCP8WQ;nS8C;eLH{n@;e>!<#)Oc8psy}U2xC9FX#lm z1chJFNdX*dpd*<kFJkKuQKxg6?huihGV2M>Pd^Pr1bJiDztt?hj}|9kQ~{Q^1Nr`O2=?0gW# z&M)W`0GbQn7j#O1IKRN7+sOfxkS=*xGeHv4As>F{LyllgY#!ZJ1wP$T28IWGEblvl zt1!>z3;#hJ(9jHnujEOO-Y5f~-l75@%lkh3PM<+J#jDpw$fNnV!@-B3L3B2LLAL_X zFbOC#`*nv1Ik1psw6Lg!qu-=L>^qigPre|06Opj)Ku~8 zwy_3B(0^}h8#Vu46BB489rx)3-E8;^G_5b_rr^`9BI(zy!{uxF26S^NgGclA|Gt)Q zAU^k%JmA52(}(etujLz$&eI06G0p7hba-cRm$jAQOD&pYF z8ZP-;s~9^%?o>bQ*?G^G-|3?xXari&&A_Kyh2OVZM*w6GxO)N`c?MYlvhKVm;{_1A z^QR}j(+Nn}IDl;RWV{b*;rf8@kOvQUX+eg{S$r8UdV;$5y)2-+SOq|neCXR1U(B{c z9{xogPer~TCmhld1dac)fyaNd9~Qta#sMAf?SVP?y8%>2VIBOP29lw8@E0_Ghu;4M zpUu!M@6%n*;n7{E;L}~F;o0r3;L%yTW1kXev3sX$$NvkR2RAUboaArK0kx?*=W2ip z)vX2~SM~1Y08?8*f-m+m{rvCIy%j73y01i^g@M8Fwoh;A5|8d)0g%G(RtXT**=hlz zx?2@MRHthL_%iBr@aRzO3~=+Mmxa%xv(*7458GM-UU%^JwV@B=3y)6M2@sP(Jpg$B z0@NS#)qLv7_|?ODD@ZSYOCU1?gJ^%OuaDrp!amVK8 z@{au5LR1)=AKBa7FEexG-{zyjbnp>d^Fw>ii#8vM%s?~spzbwjle>!wvt#pfcE^Ly zg$_PsYkpwQdBTzN_-i$g8Ya*sl8y(TvpI5Je=PzMVTOwEIC7o`g}+bdcbCq8yBHZ6 z8D2Pi`0?K=b_suj`+v~hRM+)duIp?V`CC9CNnE|NsBRvArIQ z9lam{{%u=WLFRjOLv@v$17D)x!oO`RNGboexgcdI@#$mvxmcQi+ZI`{#{Z!E>LE6k zJbihNk%0j`li=9+AJjPKZvqX!fk(C-8~-zKFfi~pfd<|{90o>)9iaA~NAnGamwW&I z|8IBzH1nW&5abx}!RWso|A&Kvr5x0LZ?0_sZ2|S@jlJ&Et2&MG=YP+=pp9st+MK@y zv`pC5@EfQ<-VIL3PW;nPA&(jKjsO5{DdeK&Ymp7QAi9V}mZqFAxPMr?nb zibv;#m!PAR4MF>?K%?O&Knh=WfE?XdURJq zZjb3Tz414BT5(D(q)SNco%^tu~> zJ>c1S(!=s#u?na>M9e4YL1y43JS?x3zI?3;^&ecmhz~`c)x+{rsV~SFH;-PHGSC!a zFUxU{<^w-KT?@o|BYpw*5BvfiANU3RKky4Wd;o1??iK)VapM5p+V0VO;DyKkbEVfo zC*XZR%v0Jko^1YDXLu?0CFm$Zgn8ibhPAgnn%_u(Pm22w8aOVN1Pya`-t%ZaB7sP; zFSS6s%sS6`c3ye8nt=ghKFjhY=uTtM6y5=^?wSJvo}HDTNp(iAPM!n&8mh7 zwC&&>BY%?{(#@h`^%&Gw?naoXE(n`w}FS{N6-j|PdAf~ zQi>P>7i=5|g)&!N$mN)pD4}z+-UeJA?qz8g$ue*dtZ}ET6 zZhz3V#_kIIny#R`P|G}fZLWh7hHtOCfp53INAo|XnkZ0F51Bvk?e-AxwbbzG6)E%U zj=2E31(W51Bfp@-3*XL&AAX%a7eK+!02(2@0E#rv<^vL*mOqM)`}TUg@U;9|Y8E~|(aUlkJ&|~Hdw_;NkyD6Arw2HJfUofNm+-(ex+ z*=-J**R2ULJOHY$5&6T@+Q6rm$HA{VK_fPi0T$Vqtkob+hE@gF06 z_+I;YcAhjm;A#1z#3gM4*gO#jPyEi7fEFGX!N!410)@v#EaBl{dCjBO1a#l& zN008BkMIoU(JAr~lqdKFT|RPv4DhhLQCtW~YT*K)O&y3#6>=VA4a<2*kcA6?W_dk3 zL(YT443w$Pdw_G2Z?DaH&*tM2pvAMGY}C9HGzR|kH)yNSe-DhJp&qo)gBuZeu>DE! z@}=?33Q&u?`5zO16FYbX!gtS$?>#_Q_%(q}a`EW)m+JHJP=w$6TqS10TzY?12ae?$Xt(ZZ?G`P zYVg8g&(3eYn*V$(e-#D4R0kDz;9|ZPWFfeq2Zys)FAp^IcsxD2L-++eI;ZeLl(6vg z3%2lr+yrijz>VW?25o=rCrnEq{_4N!fO?9d&9HymTxB)C|@}83p#Ol z{y*T+d{Dv{R6xxGFJEFg3U00TLh_`z6UYxBBfPp@#09*dq2kxw0}c^C>mE^w-~ay? zZ}(*U<;XAK!~rU1Jv&dq%YU!#7EujQQh@4o;umNEYk?aKx?GsQ1vGx=+Z*))WFiB2 z$?C15!@j*D+MbPvK-Rx>`wvP_un=MK^yuZ$@Mt^;k^?QkZe9ZF%rgFPf!>)6$_%e% z(;cPxRe~1E_rU=yntE>~w@)ZOjP1^t@N(5J)lT`fbQH$+a6m z$4Z6!bk=V0>9&Ng{qwc1WdM!7fU5N(X3!z8-D$}8BztsAd3LjTSRRH9_=4_9_UZiQ zVR@JzJl_Rc`Uko%*|YhW#5dOqj3s8Er4PQAUlB|HeEFTu`gR8j_;v<>3Ry3Zp$OAZ_M$p9<9*iIOTfQ+sx(}~Kkm3(~r0H!?+5uhNddNfbQ?VJS zj_~LP*AXAU+0pfZM>nW45MVjaFUSr);jTOMg9o&Nc)%~na^CQghvf&*VsU<_6F$8x zp`doPr{#&_`98fOLP+*`HXma0v^-TT;@`{T04m!2x_Qonie%5`3k<%U2Yq^3f=Ke}YO+&W}WwFDS}S)-MJLSp56{|5&TrzyJRkKJ(Z0g1Df;`!xQN6KVX{4}yBm zPK*p-IR|h%F5zSvf8t4yJbwUKS{ZaA{$3Z53H&Xf`_dZrxD@cO?0qUwL78Ndmy9yFQQc^rHp8rTD%w&`AwV;uK@)b9cj9-YVj zi~a#kJ%CT$25n>qU3TSR3z94i_vtO&;nTYoq{*XO_R4Q*22g(sTpxg^wIFk);PoWW zUMy|-4w~fO0XjUx2ecyWpHJtb|Cb@>d9MN`f6(-+<&l#8o|Z?-Qo)W~$jAWc=R(@> z9-W8(i|+j+4Z0H8qw@x6n;U2Z@G!{z;8AGM)o-4bXG&~e)`PZ=^qLmTmu7GU-)#vR z?}%#=Vem@k*#W*}#_;xQTi?!q9>^N`TiqE!hwgwb!({g8<<$ji5ZUR$c*+wVyZ;}7 zj^dqi_`m3^U(yUN-3FcqpDB1YpJQsdjZjn~j@HZBRlIjvb-bzHa`K- zKqzQ4>T4PBr2TsZkIus{MCShe-+9oZ^9D$EJ}AI?SpybHGk_LXfbNU(=~Q%V{?Axq z{Sq|r;?w!ji8K-<2-s<`B9~Od+YxDcBlRK?Ji>n6}qhl zNoOaop0bH#rJ`d(u)&v-(e?=AA7M|4ph*3bRK@K?9q7`VzVUp zsPRIOg?ymXubXRkFqH5@($fF`q7h)b@4r|e3%x%L?Yv6xunXbyDkB&`o1#8|&J!y^ zJ+CqWG(IB^KCd$SWCU@Ci7_wyi~q#j!$ng z=p0D(SHcX?`|LcMk3@hfR?PDs!3VHmJD^MRr!@L~$%rljxO^rr{49tIKMUf*@9=yA z;WtSJDg0VxzW;yGAOng2VDR`;vpwXVb&mg{=089_u9jdZ5daU5feyBd{jaJ37KYrg z4(rc?2K_pJfX?Y}sbGZE*P!9AUK0VslODac+a8NDcy=Cqtq#8Tkbj$qmE(n1j^7S3 z^0(N5*2+%s(LCtGc+%7IBYz8M;k9q)30MAYg03x>DnxyIJs4ekqrN*f|7I<^{&Ep$ zux0}2jIZX$@}O&Z86BIS**iA;x?kq($iFRu$?@Pbw&ut7E}Wko8-9H#^6~BUU;$k( z#q8MpnBDQI7EuO|PIl1wU7%ZV4|g7HekkwL>%`>K$>zep&5O~o`5|cf#l@%Bi5Vj1#N>GJ zA)90K1AAA_6E+`;Y(09xHxcn~b7F3O$bRslkmJDzpeYy^&I6n$knKD8kj;hjWG9*! zk0a*^m(Byo3O%~bJ*>+)N+cofcVqPEWar-|)^e$W3p^kid)V;6;m(WA59K|2-IzQ& z*W*@MO8?u8zi9*w(H;l!jQ=ETW7_y5W*}HHa;ye|580tz?3)L_llNp;sV)jzM4m?e#t8dV z`2OD!%mY_OxBiRve*v`;Wo}FJjy5(Wpd;T&qFf@aA`Y@LkdxGbPLCp}?ZW|TH z=KqX7ouvo(+Yd1?Fo3qp3xJCi(5g${?i>{f(21ZO*^Hp;xIo8#@o!@l=aPX;IDy(( zo}J&oe)s8o|6ers6Ugu1KzoK-5Ae5w%y?-5YUOm7?(hX&Dk2Bw)NUxz1+O!%yH=U#TQCjJ~}H7yterJdO3*8=T5ObHyH=$3go>IzRmv4frh0fZ~HTJJ1AT z_yJc#s5S*iJr8c&z4|XI|5=*B@W3ZWegPL17RPQM6&}z47HF!}qqB5^M`!2^NP+?{ zBKPTB3)=PI(^=Z!)0x}h(pkHLU)Xg`r|%Y@?qUHSYvWSz(Lv5?p!?dLIlOy$zJV5I zd31)HaNrjJ8^JH&+rTdnI)Psxb^*U&%n1X2!H^RQ{DM9wK-=g}fTo=~i$T$zf!u{l zwEyuRejh4m%WCJl7rtW9)&?v>LFbo(PA&=&1)oU^zC82d1JEHpT%g4=|3zPa1T}Q- zzc3aB9Z(Cu?*x>8Dm*%WH`_6na`|+ZarkuC3A`5c=`Pa%#ZSvrQ03TNX8^iT*{AcH zPv@@}jr)H5|K_@a5gZexb{^fO8$d_8fmFQM8u$0VN4M(=&>(1uvPZY?1JDw2egW4F z`~toQ_ys~Q@N0%n;MeqR;MW8PiAN_hzXq7aui@LkuMs+dU(lI@U(j2EUoaSY_ouUk zPiL`%PiM7b1T{x4Q=D zc&EgQ?`vYkuhQ)=+_qpi{3OFqE7G z9aH_n@&DD=`#qcM6c|ddwR;R<&O)5~iw8;JYjY2k1+J0^B)1AA*r@MB8M=xlS z^c^VLyY_&heFtMnjZbH32k1t2pU&I~KAp8QJmI#0_7sA8@E*OU!7y9+7#J8{tD-_~yk7nGR&7iD-a&G1^!r}Mev7DkWey`Wsnh@|>|3EO|s zJMTb!klG8L7oYjIek(oY*z2Og*ui?2MTWt(+&MHn@PU6L z?`{?u2L4vit-&7MtU|0Z44(hb`n0~_Z*>86#0XW$6XJA%Vy|# zm(YoBP`r5bf)1^8ZSd#?+u_ma+Tqa)ULFTp$KlcI+ThXYy1=8CRizJWhP50Ww<2W-YDqeyPJNGya$}0@Voi)Ig zg8Lz$a^b*#(aUe88C+Ywm1w^J>k*mEx|9~x&xFCJ&rSjW>!5qofV*ZU0c4D z@_2N!%CN{V__V$#O*1^u&bpdehN1ZfQ>mOsujzbd8HW9*7#J9Kfe!YD2HJnombW1H z-+*M`7{^#gNVV2l1ZoVko@0iGVauL>|Np<}E&l%BvGbT?!#Bp4pv_G$YKp)AZ#hsp z@ffQkvkU{{>kd$Vs<*b`1?Z$7P{9{1fINJKntwt2SwJ@fftEx6_UYXl0h(m*{QqB6 z?yWR~)3Fv)kN|^cuN$Lh^FO|FIm1g68uo~S1^HV*_fUKMKjdL~q4X8_>NStv-gr>5 zXny#^NAqWin&BmWc?N`f&`Bs@^%qNDdG>~V^su~G#`ZcC%-q)i1s?ku7$E>UpX<}z z!V9v{r@MzY0dycv=PzH)Q@)(1JUf5-Y993EJm{(T(O2=Jr{%{|PLJk;0w7~gd1#*C zZvovC=Fw}S>Ct!$WCF-J4h#)8Vhkm`V0T<7{RHk@doZ2?jrg{LZs+P|)n<}mu>Jf0 zzde6DXe7NCG}O0|SCk2qvc(ud=K!+`Fv)=S1A`3xFRJ_sTpRPZECjU*I*)jO3e;<_ zKn<2-pka>=P?wm$1=MHd-^R+yB*Wmi7nJ^>ZGrFqMH9h_!HuAzm!Oe$M7zVIm$kZ2 znxXjtGx#`NP|ES?wN3AnX7K4&O#oB6iG9)xp53mXfgpJIz82oS=XnikX#D>#%KTcI z;k7fu=+~m~HkME4GapbpLF2VF!#>dQ6(9HynkqBOF#JE)`2lp(_WtiT3iNzBt2ul+ ziv@f-jX{fAQG5R$y|$kiWEfu9mVf{M@+K%1^x8fI3GAu({{Qt6SHrj9QKD}z*6=|q zXwPPZBhz0&9T^7-%+C8SmhpmXYq(>kF`zi6kjJCfwh3f>Yz0W+{THRY-~Yeh6o>Q| zJ-XdFzOgfwFhi>wCeYQp^#ZZ~RsX$|W4(If4;kbZ|Bq3mf(W?%u7&;ISOWLfJ4Fc1emk=C8&Tn{$KRgb7_V& z5B|IppZV)tPo(kZ9P~KuIsufFd^&SyeCDrrUEp!t71F#v?h3y9$K$vw=*V#fpYCh{ zA8Tz$L+sUiNJGps`>cfr=+xED5Do)=0oMuq0=^6Q1wuFQ3x;rj8ebd&{DLeTp8t>f zbY=^Hib7$}Zg&YtOVEqM!;-N?@wGYFjr=e-nmq^A9-uv-U9z;C(4%uJ zXt9+?>$g%-$A)?ZhEhI{|A##~<2eiuytHBgEi$~~(%A|cQFrO=g{*Sy1+Rqc+zVRz z=-JKg(R!P|1w2sOU7_I7?V#b&Yq~C9lwlX>qDkngymz33c^m2#82MXSK*PY@>>jy_g8%AT@2 zs1@MZ3%W-fBG${hulUD*kIr7G!$5kGoB(wrXu%tJCEjsxQvfOoYP`Um(91iw2b4>E z!7c$A;nTYoWEyBY0H})qa-2`^R#0&Gbe3)aH9$Z@pgn^g-31yRy`c+UENX%*bejh{ z`xg?PTR=rRC_HmT z1F{Pi`> zFYoTfU`IlhU%D;;hwE|I4Nw|fe0uBzr8ICF?DRcx%=H3jHo;jR+I%6`0E)y?IZ$YVrNA*~23pAn zQVx!}5|Iszp#91W4B&DL+G6zRZUq$`%@$1jQxA0af(jLdgAG3!J-WeV31k&De{1#c z|NlF|3qL_65+i>rXrU&^wqD*MJ%opPMYoiLf(1vBL1_{PUC4Rdm53q(lpw${0S*jM zIE5~F@v{yTNc^o|LCwK#c1R`$2h@6P#EQ+91N^O^u}aVGdJfNScLC3CbC1rgphCf; zcPePhjYl`Qumvx|0Pn%^=mxF9=mnKG{{s|2`X@te=!Hg~?*gA*(_71a{P*cBT>-lH zr2|wefR7P?uGa;{k_V!o^6AZ8;M2Jl)CEBo?JBT>u_UeA zRiYET)Eyi*kW|*`y8vu2kIoatr$GDHA9yq$|L4*8AJj-Lc5&PZqCGV)`t-8s zdo~^bM?tTsX_P1f=#FpD#k}Aa_>1VgAOHC^Tp#cYGP`sZn|L%H0eK8GbbZ*PS9EHK zG{ZhnpZvvRR#1ZkK0X9$kARwupv!Cjd32T@@aQc)0Y3V{^@K;a7if{?4gPK651`TvaJNngw79{jH7JvxuSkYDomf9GLe%jc!mp51O7@Wzb2PcNt;Q-R)? z`45`9t5M-#C=mhAJnG+ouY%^9OCESM z|4=Nh@aX3D>8=*=(fsLQdC;@-SdoiIcQuC(fd^4v-vM{hA=BRAYkvQEbRK%KI`#X1pUw{;>t4_D z=oJmFlV;cl@(w6M*Rh~B4^i8%otMG$f9yWp^#Y*9tCkmvlsvoZ!0zn4^-g=<~cE~ed(75DI`1&YNe+IO_4?Jhq_z#qH zi?v|`v3wq#_Z>UGzxaOf|9_Xxe;(b=98Mi32GH?U@DV`AU7s+3j&=Lc_z$!pqFCnO z3pSnu9j;Ft8lKrZG@NU2=qP>a2);!7byDL$1_nlkVvU0@cz7OkxIXFpaPS42iak$5 zhwD=$_0JslfreRL8y$Qh#Pb2Fjt8m^NzXGRJ$}nn3?=d&y`sDBgEJ9m6;tyO2UxWIS3PwXv}x1!^-XDp7h(Ut z{r6}FZ|Y+xO#$^Xj<Huz579o7qOB5{(E-! zgLWbKbUp&@uk-0N5%lPc5#;dvf5f*FtjqI1*f0+y>p>G}ncxi}t}8&jLQn|=zSz36 zb_Xag3W64hl&*N;n+>YwkG}}b`TPIHg&Z&kYTOIOf8QYa8Qi~xj>o{$7kn-IzYiY& zSyewuGt?=2^xFQpA{stO3mT=`6kB(HZ-|qt}$P0Te*B zH(q!!Ffj0QgXTiIV{iC$*FFGMdZ5J$plPBDp5Os#$jxJRx4L$dGi~f9r-Zu~5lhW-V;n8b)Btev6 z7Y_piL+t+tkn{_x#=|*0jGa=*t8 z+1L{1yGoNEc|ED81L z&fNj(y2I;1bB|t+|Df#(KHZ?YumEWl3%DwTu44KBUsUx5XyBpt!hcce8`2EEojNLz zQQp^V-L6|4JK507`d-`5RniPE_?W>JA7oVuq;kA{9cI$S>kyMb!x5stzx@ZVcLjwP zHN#_C5_)*-s-{ACh{Aor4fO?~@OWG)&G6zMBSv_fz6J}AgVzw@!TJj+JV0}05+1#! z55N@9p>I@R@1m$AeGKl(4i25jy z1YErf19Y6xqqp|M3%AU_|6dEfcmZkWfQ5`RK{@*V3+tcX{=YcSguMR<5xIIQ#Pv81-XjajyDlBzQ~W)8T~~N? zg2#nCdRdh!K!pc*Xb5&?+cDScph+9h2tLCx*Q<;!9l2LLdR?!1bV8)a*L4Q;5Jrz)*Q*|&J-fZ&jxuC62ekRob%GD9PsVzw9BePRYu0O<^6LM8 zk6v(p?Z4>vOVSJtwbvO+v_J=ud0u?(+xou*G*7ePzo_;VX$EkI801Az?F((rxwgD5 zl?Ja4>UIVVn>~mWW!ME;5(W;D(rw_`Sn!l6%%q2xL9^bkw}6|=hzL1#84@9{g+XJK zpgCL=U8_OTo%dgS{szhs;Qm4EOVIEfw(_&_4JZtuYcjgo8!Q+~1wFdGIXs#zQ_9#4 z54=3b04gc3Lq=@7lQn$0s|`GQeXo0T_JYP-pyBD$ncKiG;4Hx}=-T1anL5L#vliSn z^yn4UsRZSktsupqM9Mqo?|)Fpm1a9O)G{!Xq=0S~0*xhsqTjQ-jKlF88)GSt2dL-Z z3HHe`X!jM=VuSWEK{e!Y78Q^dkKWn?9=+i4ACKN%P+Ykh9(eKn)&KvF9qi!A_5ThM z9^K9y9{(8}`M0r~fQBkSenyHJk8a-s9{(LBKn>=-U%w$O-++#%;tRhH(2yKtO-ncX zF$PA^AaH{P1AmJOsM6_n7HF_w{rHEt;89IfA9B71+0W`J>$z7mf1!&NM!qcO>Qo*CUPy;#`@j@l< z$A8CTEGi71kR?zapj6xGdIHoE0h`k8Y~j;g!SRiOv6Khgi<@;3G-GhwqZfSIq)+F! z7Y_IT|99vTSR0h+68IZzS>Qo;Bda?K0q;62xF zKNiPsHxAeCFdmQI+7r;=_2~6o0qQjd1-$Tn@&7+)F_1^Mw?PLZXm7j+D9K_R(*pJ? ze=BHnoJY5_gvWn|mvcdfHFo=+fF)jr&)@!|wg(#DXn^NauX}cW1ud?yJjdS*nHN0A zzm3_mxAs5i7NA!i&97KI_?=IIj_I-d$lnawDdW?d_TSg?4S(}icF-hah%x9$WQ#*3 z_dI)j`F$)u^0$G`9|f<7y64mR>c8l#^U@5C8yH&;@VDFq-4*fwxaa?KKHaL9&Lhup z`C7i?Z`uaB#B`Lg##bRrtY~CV6|I8 zL$W^I;M&a-w3x|tg0JRrpU&C~$m<#TxAAa!@Gm}H?BZ*A&$siwFTeXgpI#O#AL#uE zpdG&so}Fhs7=MDT$OHvduP>uJ|27pZcPkZ*lDj^d-+dV0d;CBCn%RT#xU1o9kb6J} z;8=bvTJW-#6|{=@BdopeX?dEz`50(|^FL@)GJmrkC~SLKEIlnh@HZQ?F)+CDZ?oZY zv$A0-x$MDQJHe+r_QLD64SR(^(Vuo2&1&;RlrXe*$+0|S5S6Of6Pr}$egvw#u~i+Ia{%FNDV z&Cldr__z6pgV!F~+%Gfq?L6edzs*G)dC8&8hazQ=7<2P8_JhxmS4Vz$Eqw49n+xZ; z&JVAp4?g2@3aeezYza)f|aw#gJx-2zz2NsfY~MT0wAFrc?A%a zB5#n!UvesqzvOTl|Lucm{MRpd^s>l-q-EjOJ1e%mz+-HzkN21|N2F+gezzfGJnYhm6FX+IBH2(V11!?^CdpCeqm*hu*n!)*CP8xqcNG2buEFY>Z-?br)KObx$=yn8; z?%D$$-K9Iy`18Rb4caD<#-ATL!LjqeOF_^uEoc+#IRRJxZ3lchT^G23TEvVV5a;1_ z*^5V!V8@VYzfZU80!NMmjtvhOUoHY=SFk%22)pA&7Q|j6{fTT(Fx(yktoFR%j|7cC z`GU?>!5(VJrpf*L|KHW{fZ=VAUKVa2%MZmlzP&o~p!8Xq1WHb>44&{Lmd0Ol2%2_4 z+m0@_UMdy$=w*@g039aUd|1G<`6%c(vZ8~p)uCYzP8u)jBEVsc5p}N*`DkwiWi0Pr z7IV;P>Y$V9T+Ba!?B!v>w5=q{v-#Kukf%{17`!m@@C%8E@BckJZ$P8twH|7*Uo7nb zEAr=pibbF9t)TvmZ*TSg*V?Xz;3#zIJmArIL<4Qj3FC1@NnLycUK2d`=;g8U?Ysl- zuX|b^Dc1DueBjCW$J6o)e=}%s-?ujbRQ~HQxmoEjg3ABk?msLIur0v`b^Dm&j2B@e7_cuV}JK#P^DP*M!N9=!9k>j8tbm;gqc>jk2 zXzOCd>*8pQ-RgnL~NfY<)PClG7zd-Rr0c+nIFYLg#^td%M? z^XRC$j&|a|Shv0=QCZJv>%;6R6 zkRA+ZVb^!iI00yFE+=SJi>NWoF0Sc_HBhm~nO2bgyR|=EO0m*uS+~*2+A1FPy9w^}l-?GZ-(QP05 z(lq?$V;-FYbVb^Q+=TR!?0G;IbNm15Q62hF2H#+Je3u{g(;OLx3D8~hh!dH~3DM1F35 zqX63{+*$j&a5c z43^=^*Zd%!u}3$DM>nHKwMB@0-8?+R}NX^R#E@chAnh9=*0*2c#KZ ze0>6+ao}$OUBv6t`QGt=xPeFOfh@*I4}RAZ9{esBAnS%XJURn7JbHaWokLJfwp~4Roj)gGY0k0t2Z34=!t*Bs@C91YY}r z2L^f}$JKQ*di1h}gUxc}@aT2j0NyRx%en?sbVJ6ou$cEO7L-UqLn3|x9>?7zzy)4! z?e!OH13`)T_=~MUfB(NQ2>uJYRM_)>8z{Lt9%};y6Js}Pz;$WJlGSov=yFxN>(UG* zphc3V*QFU=tnmH*zl+rfG$hs+ z8ZSyfry4; zF!MLx0VTq2(0HQj1mEs@32^LQ_t;tCxGcO-x_hUG;R%nOxv{6O=>)t^_Aor6Ya|BfH{`$0=5`MEuMSrbx0 zX&*W6A^F%%05m5DF1g(#UdDiiGeD{Ay2s8wiIwGtX1<&NcEP5&U@YoD!eTc_S z&@|!y|NrYjNA_BtD7ALn!nBe3sB`-Xx1sE`3GZZwnw)k2Y4~d|C6s1 zJbGCtyNNPn@kGA-32L8qgNJ`SAa_lG&L-n;i3b_f{F8;hHII>jq0v6AG$)6@H3=lz zdZ2{uzv%IO(hQDU7&kJ#j0FkyvU)j)GGwttf=~ZyJ>bzRdfF8i&ZY_N(EF#(9IysSu#OeVm zOA>wm{(lMTBDxy>e+k*ZaTw}qCXlNYVXm(D@&Es8X3#Em@NSRJ`!B>EeEa`m)l2An zFu1A#RT-fA*H6Qv+f%}$^H}WvhtTm`&<0!3lIL;`{%x$nm!%o@gXXWnC(8X7E#3`Y zFJB_;(JA56S-|1ZE6R`vT7nxFdl)?Dy$_`L#q#V#gI!pD}oJqq$-Ozozd3&{9p0 zUejaYphN%~?hKvq;%4}d|NH{3C%|%`{hOejGM&z#%SwH^t$n(SIefa41)y7BK#Q^< z);NR0oq>NFYvM&|hW((`2+$ZixDyg%@;;pwpcwP%OaNs+t$6S(Hln!r$xA9n?vV+ERx`T*vmhsp(hO<(9TBhw9G;81zs(Hpwq#o;h;sDR>agGaY3q|}6j zibt<#Y#hinpk-4Y(V&z44tq4$J^=4GuYK`f^f)L4I`6;WM{z5-e+f<~JK*L2E?D7@ zoc=)VZP1t@V0f|xG&p;lf9kL!~YY_ zKUDeKLG!Yn$u6x7K8!E^KL8zR&fmJ4k%8eD>$g493=FSVfzRJL4H~*;Jm#T!xOC=A zNzne&-qHhLhrOHwam#gxTjqe>0%{k41{_&8??H7BkLUk``$4y!lHmCIFS==)Gy`l&S*%Cv?Gi&D%g3O_HT+JOT{{2!bbf;^ zF1rk>Qo}qtZ+d7REVA)rJm%4P+N1S$>3Q%(7wGEN<|D{^7+&mf`~DwX$d`jQjaNp+af1W<LEBU^|Eq;ggYTUVn~*CT>x*8fOf!{eg~!E-r5N-*zSRB5d9D0cY^Iy0omDk*aIYM z;RUMl?!R!j_3i(QD~~bq-;3}M|Np;uwiGCpws26EVf(;w8m0iK`}KCgr3h+0pU_&7G$>zBHLR?>8U zri=KuvEDf?4Y}VA+?}`E0xp92TOiY)piO3wshIzw#bCRPeL9oDyR%-0B95)`=w?j? zm0X}Lh=Ly7tO+}%8GI}sl#2OuD!i)7B9KA1Wt|LcL+JsQB2f&M+8sC7<5(X{V1iKot zs>wwq;kb)R2FMR-$6Zu%7#NPZsAMpL5}tuaZ;496i(lb?|9^8)F<>l_206~cv(t?O z;cw4QwwItI`?_OPOgwr;72-h|zeXjY^WIJd0S1N_HJ~+k-7YE#9?d_POH;wMMT-ik z?&H^NQ33T8Ks2bE1fs!R7R?qF(5NPe59%F*XwXmszov^y0f-l&K&1@>h#>$ee_T{R zwLODx>)R5K3N?@fIAEZG5u%a+8VLRM|NH;u8WjUZ{#Nj2{2idCw;FgFA3b1Zf=*s< zJj%cVIvV_i>VJ6#hMf!w3=EEYK%}SU5nskP{F4r>VD#a4edxHI@pa*U(Z?G=6&7$|n_V_N4zdbY$c`{ys`}?(k;akv7@%P}mKrU0@Z;b%E z`4WFiEO^BP%(Xt2Uwt}LR02xfA%62{{(GOlT^yvQw^YHSmn9cum5=2IAAa`_;9~1H zsAJgrwnPKuJpqvS5Te-O1jSitEy zd_6R%6nh6cn@sf9dQf}y$Ny51|Dx;G!P@{OcVBjaMgka*g4`Y3>f6T}72l&)Pe&q_$Kn0NP0zTa}DiWX&O8}idz*7S{b=*ZI!SJL<>j6)Gm-8N-J}MHO z2VFQHmRNc8@@D%>Gx)YX@!)qo+j78z-{q_axXSYE^g}I`Kqs@;s0jQQy|qr7;k6Jb z8YMhC-2^~8!a(N%vVjVaymg@L@&U^+>)j zd~R*?Z4ydD{uD>ah=ZyoIObr7{jr#tScd z!O0u6r`8{QU=8C5kAnw!eGPAT7#{REct8QPi`0klu;;-80-lC9d>9XS9y}oG!Fbx^ z;6XtT!5A6u|_Fr966h*c|z{i*P}M z-{bNlPtMDrNOG|}P%P}pc*u!=n}`@RqCj$<{}1|f`Wt{ZPy1*dfW_NB(8gDf%g=U! zXdljd9-ZYDpk-ra+@Ajr_;k8EfLf+L-Jsn*poruLofvlTAg`z4Cr`tZ9tRI9_;kl} z_%dGhJa|aJ*YK7P=-QY=qP~o$Jr5of^fd&9m4c_?DY!PU9t`y$6`kP{2yH%{{sNu{ z4=ea|#&dWWe)Q<%_iR4!6Y8B;9-ZM9Ft;H#Jiwbbpmt4nJcmzrx`3ef}DAsgs<6`+PNZ2bg^{{0C3koEg@ zt3X-y|BGX1zx{s^b^Y7_37GDw7x3v#R`BW76`U>1@LCvcKGw7Oh=FJGd&VL~&_?YC z3?&?}qhdh(9}Fe;peM?_zKYG=e^(;A8+;!Jy9c-^2hVI69`b1Z#kmu-eA5GT0bXz5 zKab{LEX9n6J(_>Am4IeRK(_#JfU5mB9^LgE|5aD7L|$$M?$3Z)_1*hHZLk-)ZlG08 zyFu+NkJkSstS@5RK*!2#2Djt?^OcHwHrEL-lyG@=*Gc>rjbACv;Q8N=qr}dm+t~uN z+1J@p9RMDasE+tAY77y`U;rH_R9yhwU+`a5dL<}`zyB8%0x5tP zQ@9fd{hA>SR~=uT>FEe zoD=+7aq;l;IkyZ{}-LV0_;c$h$9vLi}tMmom5e5;nSV$0J7yZ3rt^; z0IGSfpLsM_8^8<-0~yrq>;Vdb0B{fl{1DmjGbSe0k3%p3?)K7o!>#d z7HGQtyBsb4k=py9%?+KP7Eq^+3h1UF)d@3%89c0GR5O~3k$tR7R1``wy?a^8e0pslbp_*lpYEKa z93I^Ai^NdE=gRA6kowH?|1nR{Nr=lq`&u3UUwJ(bWF103 zsGT4HPWkMht!1F0mu`@=|AUU+lwja*(f2>ch#SO!iu77zi4|Dxf`z{w`U zr#m?TWch1e%=CyY{RF`55rY^|;M1L40ctQdzhNvA=a+W@E#>?F;>Vx=|2>=EH-OT0 z@jH*^>I|5^drLtUgL9`x_hwM81ude!0h-Qh-VMso7zt|4Qse}M+x6_A56Z6=?hoI;x@M@%PK0`S+YY z_>dLUyU;x0(OmI@p=7N`cg2VQS6?sn*zx`#yL`=ugY2G`$3V_0MZdhv^WZa9k8TFf z@AtfVZ45k`kApUFfCmA<*(vtF>e?m9r61^garoG_2WVSeXN?L6s7C@C-emCTHTCre z4atHAX^b6zfDXU~jm@;2EU^O}0SG$X_DmP3U+$tJ0n()a>tV)| z-j0Q&^b}0#!NuT`^#$i~aC;Nf1m}1GS+)HA#g}8>{=ewBfIOH0PH*7+6aqeh4KdbX z4{;@Ek1yWCO8g;KLke&3fhGS{twCa-!`K|b0-(AVRP(_PIFSa)gWAGEVCVjS5p@jN zQHb&mbUOR0-* z>$egkU(07cosU3wJM0HdTKjbVgYL||2C5^)eL6pa22ZO!8IOB*o&%jIcFyp?>sX&& z-OU}+46ivn4?b1!Y(C56)2*TcIw1}bMn<6JGai6F&7$JdnZe=H z`TT{#(Qp3)j=QLUCJ`B+duhcSI!aVnc7YRSZ;1-ai`D=B|BpP}`2o6LRvofm) z@A3aAD8+%g*aDuKZ+tDk6!C&i#(N6k6f1jlK1VXfqw^hT1MvnFlROzAXIlLO??iqx zUz)*(@hjLwe%MfCHs}aNq`RFCzgYX`J8aza*^32-zx@Z#k=dv)lyHN3w;caPqe0=; zdH==YL!d!br0@>_pQZZEv-7`4>$j3>-`>3cpvyg<7`}ZigNRVW10KC58lby{{~z^i zKKj2n+_Aw%U%&K&N9QXK%}-@QK8*i78LxOAJYomh*Qg7M%htCgCp??~GM4g#M{67# zYV;ZPO1Hk=3T3T^3p44L&U-x%G)?`@Q}bJygeT*7U&b#`!yqHlFK&TSYqPTfhex+F z=q?6uo5!c~k;mmn9^Ane9-YCUz7t0ouSfF%4v$V}hnG_rKy6}Y36Jh-0grBD55|8U z2aof58eZ@){O)n^n1WBYH-|6dK~Oi?*YJc7<1tV-*pu<6$HC)*K8EK#4<1zTH2eV7 z2GxV9-tdD@r?Uh?n@4B007$D(r#FX(;Wdv=<8L=TFTe3bLd^1!Dv*#cJXLMpq% z;PO1!gE8E|r`zAbxAkO+z9YD&=&O0c$MTSG=V2dyr(2%Tp#(_p)B`e<-~%2?&~r6B z@DenX>uPw(@Bl)pSd@Re3~VF;JYsOmqxl4rkL8VG(0VNBP=e>>$G)7moO*fAg2vuF zFF*3(26gblEj%qRlyQOvI6D0uq7VCkulNCVL)k%>5rfAQF2cqJz}-+#uT#L+@TL#r z3D1KEMLi+o2|loH=s~D9s2)gn6Is3CL70|Ke+j5I(0Br<8|q_t0X&{?$g%UHWAj7k zc)|sg@dO|6ctSXAJmG@p!9%=W-7;*RhKE4o37&?xA;Sj(o`$C(;|8LT9j za1t_{;L5*UgabO90Ez<6OQ4u?u{;49PB`Gizs&?T?(@up^An^C4vH0c`!&F$*Y?It zX@(ch`#@844L=wd7$OfN@-Mi(0G@sT_s@{q-;6z2`@_)w8MgK?yxq+<8(X{k!z{FR z_x)L*=5H~g-OV}y)E@!0ld<;K;O*^Y5REw6+Z`WqwYT%Y`q10k8J|E~w6M3gZDygi zw;}U~|6Y92Wnh4wf%0MpcxBdiNcN5UugU@PXD8@*lmDWBW`ddm_g}c|1(&^`KGF-& zBnGH3G}!y?|BE9i%_UfW{zVFCWEQ@S|G(;%nV{Ww$3VOMMOVxO)o0&deAx5tKcc>b z9`-Nb)15Ej`TwX#=Y7z8DX5$+5%K9=4w|y@{D1aE_b1S0U(a7ZgKR>_cF?T{$j#6u zAG9p;>^u(XAAoK>7xnC21D*l`HCn7c{r~UT`37blWZZ=f?85&q{PukN|Kib6@Zcz7 zzAhNt*E9F*W&^LdgZ#~WAZ7m#dUis^yZ5MoP6PAoZczcP0`cgMQ3>$qya!sl z_#dLA*_sJ7f*rx%@)R_~(Yyn+2bF=pb%zuKgHJD*=W)CNBnTRt|HjPd(^;e9Q4-+O zoh$*m5TxUz6lmZkTL5w}_HIxcq(qT_8>`DY{|3z<4 zmu7hF3pcM4q@X)nphTH}8|(kI$c7}s42c1$={)?J6>J@nS^d*Nr~G~cHI+C(qYw!o zLIA{-@aZ&B0r@||r*}7KR?q`q!;b{tL z5P`WK-LqGKs_V`d9tU4of+l1t(Dz<}c4gJKfM*H~Pl7sS1)%B&UY>zw8!|i;?}B!Q zu;{1p*Fz>F)A&mudeU6@ufK3@eOp=#8pSVQ1h=Zv`12vkN@UacuOBcx*?NF~>cP+a zdk%OozVJ}I;nCTm0vaJp<1b<5z9Y;4Qq+0?6rmaXt=(V;`=}InFdp@2J}Lm-K~S1jk<2|7k9YFC06Mmh^sh|hah>~N76 z@c7>d&OZkqv4YlvXs?d~z@!5Iwr)`R21S_zDEWGH7aM@KfE;|l;lX*rb7ygCNo7(>YKf=eL62RDMX7nI z>6JM?jHf(yUeoG5m>LmhhKD>lMO47&P49>mGKzJ`b3L-#Q%R2sVvQ9&8J_fdh4-p8nL_!u7a=;TrHXg&lRzkl!9`2*xC zgsWS;Ktp%U2bp|2eN-TG6i`otR_9!P4)QeTagWX#sJ}Tp{vUcd7u>e?0r?OVzTG@3 zkRa#vH2evTI-l+kkPkueD&Px>#*?5J_65hLpsyjQp{3wycoMD;9N)g+bbzEDqyiM9 z2z}rf^*ne;!KX7sg~P+}Cz=o6d32VjSb!tNqq|tZqdQmvv|hyP$^ZXgkNb3kVh|L; zpdoON?qUzm=7Ss_a6f+k*IKYO!1Q&SSu-NtKW>N74 zH+gwI4G;Mmg8CB*KHVs>>&po8E!xbCui+u6KBy+d%nVGu;USP8amKDE=)5r&m2Wpe z>G|>tkJd{b{4R&!srm+}-0!ZA@aQg1@Mv~X0d<{RRN#FlP!}E4cM5?77AR4Jy$R|) zxu`hc^X4U}i|OUf3qG9?Z+`N){K}&hG~avy6c^ykdr<_`&8sf(>CUbIX{4S_9F3f^>piR2+OdAH7%)T4~k% zw!zc#Eq}{2HqhNV+e-AofrVDceLyed#6g)IbnzP6_%J9ZNr0+2aOnox1%L23udm@j z55x1I!WJWdzkkPbx1#=VL(6V*^DXr1nB7-v&*_2l@AhD8#=OApbfHfB(MV2l=-|-^1{~kL5Q| zGX+$Y8Gy<>2hUyyMo`HBslPomFF>m^&(5Eommm6Y`+(Lu`9N!MC6E8$RYwj!mf!eW z9{v9R|0QUy8hJb(RI*Ee+Li)7pbO6#K?5YbzJ{lL3@?JRAE>R!;lp^_^Wb3tPs7{3 zjJG@w9!6V2;%j)>6QU2Q2}8ZF;brKm6Cdy#C}imgsG%kR>WOgp8lHl#I(Y8`YPB^V z`UxrkEId1Zf=Yjg^OZptB6rv52Y^yRglF>sjEwH0V&KDh0u(xss$3Y6(Lsk(gU8=+ zr1wEnpM%mnhcGDqYxFZfJ}n?Jz4Nz&_A}w|-k{0OFGE2apt?g;3_zV13rGzP>MQwl zH-n~25taCHkITM4)R17>he}G!c7NF1q<){Rt1`lXOBBa4{fEn80f!60DDjwj98d9HM z_W(7u(cAK%R=p^qUIvv3p#B_0pNAn>6LNhHQEzw=)Ud`=pM!g6p!Vz`a6=E&;JF6M z>J}i^wumz`fNx^@N2={w5A7TLoq=QFyi7balcZjTj zPv`R&rq@A3qK6ecE${QUfW|kwYh)$B6$*0a*Q4{F$K_`pnio8{K|QPHA1r13AOl~5 zHWfg|3&HI{P#}TZgYZ7xM>_WfKSKM0e_-_n$m!iKDhAy(vNEt(hSZVp3KH6}_vHKl z%_~1x_}kC?gY*_9Kt&PQPacdPJq{j&P%(0&!4_koT zjas<3Dudk|qY~lSyc;yN$H3nj0=gaK;3EqU&R?KJDFL2b{NQo$fPe=xXn9$;kBWeY z;Rlay8x;>mP%n%ZG&XYZxPk}caSzY}U&9|BjG#m)2wK#6@R))J<1w&q&>Sbadc$8x zY9XyS55tRKV?a6$e|R*0dj}dZWjyB7D`E&*ISgv$b)EoqlwqcVhU*v)c`#n|G(6$k zc@VTJ6>I`@?1%A?FXIJY!-GDZ=Rp&*AYGt&zJmu9JQxppGM@A?JP*pg2agFtbb-uP z@MJsyI#tK;A8110;9*{ft^=SMS5L-+K8)u)3_pXm)`6BXA3PxH0~$tz1Oel3&?4o| zQyz_K_+@O?*`2^GL#B?_U;4Ep7d@58UMmc@cVzy?l!PccOPgz1vFWI@Rem6f8HVF zquCBHc=T3$a5X%T#$R^Q)$pXJ;+fA*{P`jZY5e)O()demfX4bSyS82`u|w2npI!O) z-1237?5TL#^Wb9^&(43on)iIW<2ZZ`fBSZuc^cmH<-Awo=h_?fKh0I~vTNt9(legT zKN%gt69pyWY5dnexf-5q{pJXnA^7IQ_{>A`TpEALMUZuuTw5=ds`)Y=@oYXK;MsgY z;AI+Uko3PRgGb{L&~Q3@?Pu&^{%tk}4lVyH1k(8PK~oAJKJ)MS1{Q31&gj6u?LTPk zWQ3>YK2SJ$^wxdwQ2f~;V$c!7A>jGH4Rm#t$H8YTplN%}j~?Ied344YeDLY4{Nee( z4HCe091Ni1J)ktyx3`YN^SB!aBpT}kJiFZ_Ji51l=ehm|NO=Bd=ik;08l6|+v0>qF z0iE*T*sxENk%57+B;$kUf3}yPiVcsxcQ84fXhEJo_h^0-0jg3!%d}ZQ=eRh6ww{8j$4=0; znNAlK1L7o+sAzyZZU9=i24aA>O?mXXsBnN>VgV9z0Ly{*@q@Pchp1@0sFDEh z^N)b62LWFJ3_6(;JaG?N=+}AKvlF~Zr@P3&qr1w&qdUj}w2;!(@X2e@3E&=mu!Cpw z5d~k%XZ$T4ObiUp-7e}9@MaFEQ?L`X-qAzzq9^AMkLI5&Wt`wv+(htLez1g3x3_>t zx3v!=Xmk=XRRL;;D)@9qqs&x*M(@zZvONudLA7}rg7qNkMjuA7dXS3FV3eV3Z)i;) z&EaEs+@sUlqxsOEgAbWKF2C^XJmB12qb>vK-xb3u`KzFDTu_w&ZjAbH9`ood2G#K_ zWuOia%gfoI1A^p1lfDc--QE&D-Od7_8$4i*5JY1%m;<97hCX;p)VzeZ1VWonr!%zG z77W=n!438gWVgBz2C9cZ^Jm?`4xqJFolvhL#&7n6 zwuXSZyxbuD)ga$8^0)JWTc?;lL`=O<$A?hg`E+_qKqqWKzVzt?`S7PlC&-7O77f^u zpiN0|Z^F`HYXx|XGw4nN$g)z{evZ-gPM)LdonU+19{G^G-U(bjf|g}M%SVr1mhT?j zMn2s^96sGn20qC5>YQeJ|zfe(xDV7%u6YJD1h2CXCnH9EjUpaQ;zmwg!T zfd)f88E<(UJS^yA2-=>d;0fBzhN1;Sz2Rq{&L|0lHjmCIXn_*M;R9;#8hJJ!1Qn2; zm*4nyK6mL(XF<63ndjwa2-p4txt70O9JCJu&7q$mW3{w%=r@l}6o)>0IR#W&bvhaN zbb2}XbQW2F+D@Pq@rc%3+62%^3!sAAquW*!bWLIF{}LXL&L19)M?j*{he3<<;Tz9E zyUznagac@?yu*wB#XtUo2LC`68NY^$iUYrfk4gZ)MutQW!4MS%eoY@0 z0e(#u75;6k7rUex_B${zFzf@>ivL9oi@}R-N{T%?kMnD=sDKO+02!hHGQ@yiFv5Ue zFhGG{&_jS~2#PMb{0+G>9kfwP;J@f>kjbF4ya@%aA8qxk^8NArUZ9*hS)nt#480iCC*;Guau`oC&=u{1+8v^~-7FW}MbZs2k7 zfrSURyM;%0xP(WyIi!=v3tARo2pZl{0Bt_=UZ+a50@9-!=Z_pj zi2q+d^XV>D0B!Mb@&#?X1|7oWWBH>*$FmzWz}aik-~rkk#CXoT*Ji)R!RM?VjOTqi zKX@E`!0OQ}((qsOa3Sbwu7AFrB`N}-f&{#9@vvv-5pV$y9}n~Vf38Htw|70rdY{h! zFaBKl|KGRs{p;tTW*0xG!Q1)##q`PF{=d+k3(9XE-Tn$5ttU%DKmif#(H$?~(d{k) zzTnLALy3_`cQA(s+;P{uds()Doy2$nv;fSbSELiPejap1w{juq+H8LXAI6U!o!$cA zg^h>PAp0Z1&G_Fh4m=QK@aeVy-F5VW1vGordCaHtzvKT96$wvcHxAETy7g0ibiV{f zcz%E6(Rs|n@S1P8oNsrXf^WB(>x8Y`xyQ}QwAzUE+6vftXA;pbk^|c^fmx3%I6ngbyt;U;1^`(7hv@T zvz$Tu7r=XIK-B-$U-=(fR!U1&?lK zkP`6T7tp#+56g=+LZHaw_2{nP_%B+J2kI^|gJ&;2Iz0p+`zAoQxilX!hz4C@_ACTc z{$lH&g6bJT&^EDN(~Dq5&tC{m{q}zX!hNv&snFf#4ceXyab7eBAt#>ACFDeBu0XlZ% z_=~S!|NMWU@c++$(E4XcbO`u#mrHmYX9xFKLFYiKcy_aSAYG$Y$H7nn>dnB{MSsWv zt^WqK`Qr{lRv$xF3*X3*W_XbdI-j5W#nzd~E{5cf;AVTqQY}#41MO&polp!~3Jtxi z4Rp^SI79tc?a2YH*9IjY@V+|m`NbfWqQyCoMbo?cku8{jv=knk-U#tQ@vY#|&AOxs zcBEvfF!)Xw@ETwCQgP6=?a_xlI)A?i`~(_pxZiT1^xo^2pgOgem+8L<1E^`j;kZMQ zfq}vB(hDDOPcKGApkX&?e1^S53^caE0SSHn%m4o$1CQIVzhD;n4n5)yeCAZiMNq`t zfAOa8+y560Ge83tpav1r{vGK0Xy48wo}FhquX=WV^XUA|zm4@%qcp>QP|kriZ-PJv zUxRM-$N&xgbsh&VN6rQcOP?`me4LN{#9v~iw5da*aIexV|erNbaWP_+OO1hGLYl|jbwZ)4rpAk6@-v7lil2Rg;N^*~9yXXi0cR7vat zY4iY<^TD7n0qrvN=w$ZkEao`oEC9NbXb0-`$&hv(C>CDG_I>*gavsQ925{tqhRnY7 ze*6ELAEFFo_KR=5;4w7Nk!qlQs4nOJgKijWn+8f_he7)kMJIwB)p`HL%^sxn_8!e| zJV5!H!=smVg5Hn+pcn+5H#|oaRMLS8wBs%+piy4%P@DzGzwi+$$Y>QfXpu&wBwoB= z1&>I19Ojp2@ag9F=?)k00iRpR=3(s4;jtf9O?iBO?$LSCr#nsnw6~|bOae6J#lQYM zXx6zb*rWNMKv}Y9cZl%^AHz$Y-7dyId<+kO8WW)D^^>5g>)=6g&u(GQZf6e9=EDLW z&Bs70A&Pt$!74!KmK+oZ8C8Dub+||KKgKczkLG{OWvY(d!j9c8#(!RG`x*=T8iP#l zJmC5L(QB1bQAhr5!XBL$UJE$#Zx?pr-{vCs|1}F}^No+;C5Z7J$Zqgx{0JUx0S$FO z2aU%XUi1J}iVs1<;Fk{|6&Yz0!2M4}CI+O8h}cL69hTe6&AB{+wk&lJHYRJ)P;ZB0T0k!UEReF9=-029-YpR!7vZa572du zpotaG3LkF^pH6S^_)wV;)HcWFAKaxqFF}i3e7d70e7b`n<6)r5H_&1p=)NbP?raWU z#=D@kJidmnA)B5=eHpKM9y}!IYxv6Z;86un(3UB%HmDv9^`3^Op;~-8qa~o)d^&># zd^)o^d<;*5M~lGoc)pznI}dtZehGGNXR!mwmHe%bKpSD2k2866RzrLU^&Y5216qR& znbU&}fUN~}DX|RkQF{OkJn{u!u?!mg0?q0o4}gKa1RDE#1#0ZP6bE|)RQEv-F#(+> z>%zbQs!t(Bvqy6k2SbUJM{|_`Ly53Qw-xx8D6u3=Wq={M>2tRdGNbl;Gc5Pqca$MNFO+iL3YO-2A!1)Y65igdo=(2 z&))*-8iN`ry^f3?y&{|*mWMp}-4A&*|6qk&i0i}e{K4?Q$H5oY{H>rHu0dyPf*Rtx zet_m0Kxaf-UMo)qHL@ftaVidpyIM`L-Lz_XzhJhzMF;2r_Zk)OnR}oUe_z}OiF6)&alHdx-=X_w z5~x1y{0-^|ks}gd;iyruR6NmqzNg%;yq!V5OAp#kYV=)T;i#mV={(Ezja6p@I;QdD6 zjbU;BRh5#Z89?I^|M^R!JV2ueyBHv#0dx>~^DoXF&|_^tsfoQ@z@t|*`;9Q@pz9_N z#tZ)+>;Ubr_Gqq`U?>ss=yqWj03}0E4SF&OR5jiA`0vkA!W4Zt`oHS-Bxwe4S^^#J zfBE%O!~oHRV2}U&r3xO+^^i>CE&(&88N-yqBxwfZ^A?-mNO*Ss>t^?8{vlZI=h4gi z<~7)PkaM^l8|qY;_*=w4M+A1)2{?Q^&dlEmI+Xu|$AAAH{H=e%`@D|-@BkSAIRFye z<&1qf^Me3`XY(3vd>=j{PcnLb`z+*Qga2XmvyADCy2z|TL1U&yky0?e`@ofIX z$lvl7)O_o$xA6Rb<^>n%cC*g^ub+B?obrYh>;eIh3qJh&|Nmtl#7>SEmyl$xfn-Wx zGCROBbpoLN@*YqD+xh>$sB)q-Xagju%g*2O0c2n2_ZRa(`fOnO6hP~6LEbJ08&C%J zb~Q+eBooLLpn1wT3Gh{0@cWHDntwC$w}1~S>rJ=t_<#C^7ud$If@pUw&f&t&psf0L5adFgONFc|4lIvG?NTI{}bS zK-ym1{rms_%W9B0pupPC0&->~`0G)(Wb6kO;gx9mz=D0`mafKJ@5a)o`qIv#5j=a9sv-v+` ziIh)ozJ=%i^Dq4Vf(A$4zkUhd{{}j02ednkqhu;55&RdO9WTxBx)US}KGliizi4N? zG=ryQoJI+!XK$Uxi(di^44#(rK&vJBTR=@o&+dJou7+p#JP^<0|6yeNLE&Fw?9*Eh z4*PR|K=%KC{Swk$ts=Rtp!>``C0@-dLr4wh-S}6P`YeB2DYb^hk@bcNhHIzBe7Q_vF9VPCqvn< zYd}_k+uX8o(hM&_>og%E-(TiK)%bLNf0+zrgD<*=D0u#&8f3FSC~u$Y0=3;)R6HR` z_QgYP28NfWAejwN8IU1zP(#4whaSWW;Ec2hq?`>QEAV0gHv_2P0n1(i$%2k92iXg= zp&lf7nUR6vg&))gm`o~22DAj?g$YaslyN~_JF>kTntJJ2SFhPI&J&Kf=)0Qs1i9}$$bEK@L(w??i+aVNWS`x<@a$8<U*v+DNXX}@fG&*hX6_C6)BH`0tj2Hhu^ysbTczGHm(Ot~}DmVFC53w*Xyz~JH^;UDdSOlt9x~svp!ZLXVhL`Oi z8IVACvIMAN0;dN^eY734k{DVatuh9M-T&85J$kDJz~|!dwQGcddi zWdSWduI4a2;Azdy-}nktNc5(2fG$*gp$@XT^ZASTbcmXlJRrrr)f~;$3QR?u9=+8X zFPK4dTwvE^gSNvX#-IN(^0!2Q-IFc>+7N#WR=8<7frTUu*ploQ*z~8!&iGkr|4>JQpL$wN1i7e>65l~2C z)IjMk1Q>j}A-ZpiF)+Ne0lTl7!=txa;f3YD|Np_EPyjZ5RT={W`0P6V7DJFbd#epz zE(f`%J6i(0{R_0d#HYJjz_&N`|6WE=S5q3feQ;dD19Vi&k^lV7pwh#!xt@cmVkD4XF0*uIKnKdLTlY;bku9 zpkI*jMxY9q5yXQgNQ_`qcrL);(OnI$<@sAhK!HDxk%0kp%W&&gkVcR(+zAW}FF|J+ zgQ5!@zBfS^n}GT*p!5hD2ulEKV&rc<1JcxO|6=-oCWek*gUPUT%Z&W`lJ1 zRtvnC1YtpighT z0VwU(WrHH&|Ld2KeAoh7R|ZO@|3zKGr5Rpc1oc6XPtMZ|2OZc^tpHAr{EeXdpgfz8 zgOlat-~a!=1a+lAu~-6~ocss65u>>pbYC{;24#=lYKs?KP7DmMt30~x!C9dY(iqEv zHO69|3NXBm@$9Xac;N_|0_m>j@a!%ZcoC8V$yA_54k&Fb2?I4h(=|ZL!3057L9h|X zE6@Lnc7=f|mH+=m8^fd-UJH73-ha`a2-+V|ZSmsWFYu@-q&ov^9sXAh4+G83)N}ZD z=L>lLKZ@KQ0-v8D=+m2S0V*r@eFn9Mo`dQedvJvTa*8C#lik${|3&#hEXc8v9=+8D zFZdqGn+&>o=pV?6PmN$JJdo12m;*Qh1YVp?W?*=E1ElHUq{@k>zY0v`OW z7I;yi%)s!H8Km}m!?*u0J~e>-?_>G4R0Nu@o`EuJceTLF?I1&%k4wDf^lUyZ;rahe z$z4bR`~l=Kf6zrp&t7bV7yzEO*b@v&&EH?Jl!FbO06Kp~$g>xGMEUaGH9 zM0)H5Yx)0Qv>{lU;iWgIZ50nO(WmqMf6=U9w3VZ_HIwjCiYiQiY~zQ4#X`}Y3@GsJ9Ydj;-32~ei2`wlrA<|Q~;LkoqML7-_MaG`JxRKS1= zg|D^@3@<_FiM-fS|Ly;a_4Q!ig3eq0e}=zh+rR(+eS7l_Kw)$`4dlf4ub;i>f+zwN zZ%FkUNPQbbJ-A%@{SDH_d-fsvg+xfSTJLo#0`%d;wR`jRUgmPN3QvJfGxg`MxCEyO(7@_^^szm4lxDk9#!N z90c`e!Hrc=e|Gv;&>62aDjdGuB`N}*|BoTXNAo{;fA-vqx_6-R6SY4JI*e{6=ul;j z|Ce7+@BmMpG+Qu$wkwo~pms92H(YRtz{;&D=|Ha!H&=92q@-zVa1Z;36gM2;{yncy$3kn}_ z{bI*Zg6(XkHJ}4c!9#Gc>I-xtCsKI-KU;z*ANar?2IprxP$~tbhAe+j()#~mQ_;8o zFWhR-(ih@XnXuW z0PeCJ4*+dQE0OW-O+NstT@pa&8Z_H8l-vSU3_>6O|9^eKqgzG=ocKVM4aa}c8t{s` z`{*scR3A`Td;GOH^iCxQh7umn<|7UuV^4kn?R{VY?HFbNoey>J0gET&F;C66p8t=6 z>t8|7-nanJ2*rNTfJ^7S*RMcc0r$xHz%1};6DE+&-8L%!MSplhV$>lYbpKVwxBoBB zSHQ>nLFX5P*H?A3gBDMifmTu!gDzqKU4IQ)NCoOjBgF@({qE?~TOR;wzuR$x8oi+Q zdpBr#Of~qXJ&*>(cn3&5sJ#zX&j(izIz%0G04B$O(MWG;hSxk`D?9JM;8p=wV(=wY z|5Yu$L16_sdQKPYmG3V~^FXQkSlR?o6UNZDH$MOr1?#z>_2-Lskmd?RUJxeV50giZ zp<7egxP%wReA({8>|BJQd809CZJnClm=;f8U3L2+?-j@mLu7Gq6QjY01Z-mbVCGOL4#TM!L2gTq8xa@O#qEol)%IH9w$6}QIw&@2RwY&!PPfg zGw`?6fi0-!_%Hg^Q<~u==;~3>b%>7N*cka+Ku4j1hH$YuKJ3!dHe;I1)-ju+QK1K{Z# zpuUtAxK8v0)#EQV@PNugRF2LZ}Q0K`E z%EOSsN>gwMf#VuI>t}gDl5;mGUSd5!9{T=bX*M`LL#&0h3mm|b&;N^>gS0ds2m7{L zoPptW;0sX04AR+pZTFf9a(@h{cI5%<`TimVVj!%%fV5rv#TghpJHg|P$f0_}9W*@$ za?Uw-h;ziULHD1QfZc@AzAb_0H+yzieyfA31?NY2ev^mEBj>j)kZmBRCPFP+nf2}e z3)>QG`K_T|ld04WlxBUpv%#fyhHvM0ghknnL!J$3NUyy9|mPm)Hr$>?g468TQihkYeB4X!%|}%@oYZs0B(=`KU*T`*_-bG zDv#c~L&F>Ff5=>Dwi_sjpTF3g`R)G;_hQuQ3c0-oZXbgVMXl%X=`IJgYJEEYPXMo9 z1+~`%K#N!By+UpuK#mCK0$I>qt>DvLtl{||w1N}4K7;Eo0O^-A1Eu%pp!Q6)1o%>b z|Nli#x`I3inwSN3D*|3vf-LE-j__^$U!n#Y82}H62y=omC!*Ik*%jok|Nlk1K#cC{ z1dwt;P$>LV0$K9^zi0u-V9*U6ouGw(oiU)9^=t>wP+gp7=X=lZ_aUpdJbGo>%!C<0 zS4(lc)&M6zM0p45LSFXnWij{oe*khDP)Mc_geqVuI7s0;u#I6%GL5*KNP*AgHTL8sRXK&pH2Q3qA}3=E*_GT`IyKAK-K z$KNGh2pNDYM)>%9g#iP9%S})Rw!21!~^^qp!OIELsQC-3UjU^4-!pjrMC7kbumRZypwrX7-zaeM>8`f$=+1Tk9nuaq4B0#nn0qWd z{-1rZ?>^K#-`2OFdxii17nKH^2FY%S+*!&B3VKBD{OSk_kN^Kg-#CKG`sfT$2VM_! zJ#y#&7a44zLt;%Q8iCHf{qOky8u;wn52%IWf3&+W4ujINPp@e-vM!KbP!hbB0_p>U zrWO%SD1td5(@~n?VZv<@HPOL;`4f7@Q)_K{`My zYhH-uK@3LBN5lGO;Plw{6qFvp{WDN_2ZD9~bdY9v?e^k!E>tV1L_xGqVfrIL`Qe-{ zC_jMp!{d9G189D%TH?h-eFg^570u2D1)ze_;KheephHTkLFw0{w>sg)0?>2__;wW@ zkLJS}poZUC&$X&^uzdieFYnb; z#56NkpA!Jj-GGYQEZ=T*kT<4-r=v^{7=R-5x#Rz9;AQ;RUVDM31vJ$e7+%|hnQ|Ho z46jYV%*l!j46ijo?KDuC-3n<4{TJP1FAcfQ{530hF{lUQ{TCXb&DqV>4h$ut9?gdx zkZ;O*$@Ap@e|X#dFsOynt7`#s$5pU9u7byu!BG=u4-Q*_7grzu|Nolfg?SFBz&hpu zHXIa)Aj4nmcnnJQ-(NH&ef$4HBnLV8(ALv{o9Oixp!O<8E3@e=IG{k)m`A6K3Q|?( z0UFu`_2al8MfwRlXlB`O2g)qY9H1c{0gvu%@U&78T3r>T52>pJUW@a~gGzGrs!0(P zC0`z)S51$kL1oMP|Cd4a6SUI^z7#>=zo;9?1t@hmy!-}@XMyVf08ssHCj>GBTt0!) zySPv1fAp&Dw=G812J#LEavgTv7V6=1AjP2MY6?mt*0dZtY9NSLt@?u-~PY2p9$~pLhFz2Y7WpLtdRBZpw1|? zzkbFB+#7_HeR2O)_t-#M>qtsgLX`X$U0?$Ww(l=q#Dm(dkp23|<5#WU_*+1wmPhAj z&(43IonJh^-vJLXcy|7OEd?3h^Xz5OfsZeMSIL$n!8=MykjW`&*yPmyQvwX2(hI3R z_U+E+096Kppw`ZO@bZKA|3%qsK;5H!a64!&NCq_f1&+u!*3t~GyCB{}8o@gPmOO7Q z&EN^`XD~}LFuWFgu`~meBO%fotfd(|vX5GTZU)zU?eQP9{u;X8qRs*|9w9FQ>JR*T z{R$K}m*T$tf034foLl+jk?LP)`xad23GuhD0~MaVyg!a27kVg5tqy~S0e6do#?7h) zK;<2{dASNa8UO#ks36FB-O&=Dstt7f{EG>o6>iVKs{+71u^06qfvcdxu^Tekod?r< z)e2mxgL_z!Fu?;5K?zWS2)fb}Tx6}b0+k8T3ZT+mA7oxD3ut~lgoVF#G1v>$5-+~5 zWng$I46+!sY#iJ~K^ifB`9loUwt+b54QM%<6WB?`9H0$l-*50YdV=}Yplx0X&?Y=` z{^xJ;1u5tSjS-%E!37>udH(t-tn8lo4^&+K|1Zh_aVlsJ%!?L~J-1*E3|k9!fq+Nr zZT^;NAobnF0^qy5mV;*gyQ?|C)2h9?wOYd96bG*_eY?|tfMVAKq^a|{EJSY77wJ1ehM4=`T6Jn|CgW@STKPXAOSljP%@H%EYkolc)_T_4jcoI ztZ0B^?E!e&-5QiOSAg_`W?OxFlLfvxb1?F^tOYN~fTSSMx@{xR-gpj=Ufs1CXz}UO zoef?NkpeQV^F8P?tHT_i=zInqi{NhsEtq;)3|cP$9lEjt*){>xw}CEoz;LGo*qzlH zXkm(>?!!?5hK6bvX7Gr(!Ha{dkP;;$$UU$`DFg~mM52754w@cSV5A$MDV-5mmPx5Eq0Rp1gy0aPL>g5pDh z3$^iGVFs!v{{I)vHv^X)kZdOpauURcB_^P}3(817y}DfL!VHN1F3f*NK<93u<~Q)5 z0<_u^1(}Rq(EL~ZX9_LWy1|Q(d^-Pw$Gej}<*TK=7o_JaVd|8~+8)MBWHPb;4M z0lLjNS_9f!u=@4?|7%@PqJoS!%z`L~&q~gMC|7_g=LR{v*VIG})D}hQTp$&R{~!2t zK1a)2OoE_6n8Tpb3r)sj1t_6_?oKLJK$Dug89dR?@uEcttQ%BJqbachHOWDn-Dc%AZMaUw_<+=+hq7}QdPcJD30D;Vy9x%bR( zBMaXL3CF!IdtLIn2-%U(nHd;fGJxE%ECJ+s(0bSZ|3x<#gAxWfMqYpxzrMT+T655x z@a_L=V~}=m{n%{`YA}I9P~gRVP;i0Pae@|>Lp-VQ;uL6I6lgUCNDFw4K?KNLPz=lu zgV+XgBWPVly#T1_1ci;ni(&x=hL<@Y3xz-}I$o&5Je!YzS7L$|i@!VvT5Iq*9%2Z1 zhu~i$Y1H})G#^{&+nWxao3{ro1MhtP`qhhl$eK?Ijd$Ffm@jWMH4{`khfQae*6Ez25#c}|DtXnXG6xP|DP)n^y$q8 zjZ(ho2bF`Juc7nD{4Jn++h2m#gunO~2l6yHk%AkD@cJ4wBnoaXgG1>aC_*~#fcn?p zpyLO(4MCAw3(3B<1}|=Z0j&xE4ZL3$X+_d=Tc>!OZt; zu7#H;m4={JWi6;Y@$9X&cv1NUR8)g((0I`cvH^6>$O{{g4d!5PfRfw$|DukD(xC3t zH?)Bn}J%Kuc>u=^tjw_uy~;Uv$TU_U9w5r%?O~3OVRhU)+Dy zMgvezfQ(0#8h}cL?=SWSqqT>Fzp*oxSb}!&u3#>e`QY*2<438eNArOnpq=EMzdbsS zzc{&1fB|$l4rq&G>jC~L2UjrjPd&tOs)Xyc3c5zn;T%xC$6riA-QYzXF|dJlL(r%@c*{etZMg!d!UeC#@a;~6wEw`7_#AvQ@-Yt2 z|7S~|A}8`zeQ+X&j|BWzE!GEZjD~hOKy&Wk{28l{kw4FZ*2AQ6fcg{jLF;HbpS^yC zY_t}{=>MXM`k*lV{~|L8wEj67)CWTzKL@WL0MFMk>_TnqVV}23+6$`vqdCB>D=tt@ z>jt;3ygvW`|MEJhX9evvWPhRh|S$2V`?2xRL^QATINQ zDx_-2y`}&EizY)fLmG3S1Hz!1Z-4s#|8=$x_-epxaO2s^r#JUMWN6&C^AE=P!bdE? zrFueA9;SmK<2Cg`QAoAck z*$gDF^+E$G?`iq2R2A7TY7n(xv$#O{9#o7b27LPust#U@AoY(y0-!SRAS7%)fWl@4 zD+9ypXD?1ge*6F8Xe4rmgzWcs1f7S`E$`E93`&GvAOC}H1}l~Yg%RRrFjyBl&N2S~ z1JBOmKE0{|FeO(!I`2FFzXECtp7FI=Jn!9n7_>-P0HnXW`Ugngl@Fjo z65L*D1~tgffbth;Srz2CGSI*pC<)5yVC0`Op!%X3Twlb4nwXuxLH+UXFP!|p{eN*S z0@*pB^<41z|IXhYpiP+v|9CY2WJm5bvGTXegSu9|yvMg8Wh6)vEe0oUHE>%E5!Y?n z;C815s7Wjb9h77O`KZ@aTLu)4h(Sq@?q~yW2I2+T0m@?C$)J5@u=RZ4_3pKx>iz%!FPlL97treE z7>Fv+paFkN7eZACNL37&kI2LJ0;qX-z80o8rQd^+i>Zq=4sWV~Y({t!G~dtP0=~5f z>c3myHaT=XKe!>f;~eOm;A8=hZcu1Hf3brf+P~lgm!XmnR~R4%_EgY9w_ekIQW&nV z00%Z`XdQWh2co?ITdx7$yXOaW%S+?}c%>$K**;wp91c(i{(m9Pj~Y(pARXP{g0e&t zTF!k2Ej8;kl>xgDoX$J%`*ePQN96wpa3*vZ`J*J%Gtgn=m!NjTYgtfM=+(V~E(yAX z96T-V)A=8~Bp#w}4Z6A`pcS!@Wwj;t;P5=DA%h>`t5)|5Fn8D7# z@G=P0)@%<2wIo1utS_2Deg-YNu3`sy9&{xB{TKWA7#Ln^Kokf0I>Xj&?Xv?e&pm71wNbf{(sRxbx?i&{l!eLZ~tHD zhG47D!GndY{Oxj}Ow`NkzX_>4!a2|1xfQ8m2b~lGO@W24|Nnmp9a?}VT^-QX2T1Y0 zM-5(U^0$DFjD>180ci%E`w1xq!8J8xdn0OX4Z2Jmc|H$P9~}c1^dE= zyi?#AD|jR1o+{jT@HRmdXu7}Gv{?+4+YlKOR^LGvQlifWqO=Lzk@dpb1cyA3D*IHB z#n3MC&6EHCzb<@X9fTzB3Xuml1~fta@W2<+P23-$mn?V3x-+3`q_(Ff#3eWm>P&&fu@1) zOZDvh*K7|S#Qgrk=PziU2XwyG_ZI>$L3Q|dNXW(gS1ka!p!2Y2^D*#f`N7ZNs_Vr{ zchLG5u(Kg|wt9fo-G4E`9eKSp^nO(i57_o5&;}x(Ue#M7sN+TX;PJdEFF_^ zG^_;L-t-i_W>Or~lR#O&`(O2jGALvqjSEQh9`@{n4EgU>Mr&Vy`dgs<4DR3l{{)(@ zeGlr7!k71UD}!?J^B0%hzWslZ9)KKLp!s!Be*<*?st2ycV7E7dhg3O0wHbJP|I~Ak zPyYWGH3T^mQlXcKfl9Cq&%pr*J$Xq;8Pvgmp1cGeS6~1;<@*Z{H*lc`&QNcZKz^+T zEx>>c$ykCK!JXe>tUZ6J2S<8%(#JW$xhfvPF6y&X!RAo%{` zf-5ocCnbz6{;q&m4iFcA5^y&_yH~OB`1`AfFaGR5V#eQTMUdm4zYuo)_W#9lKV0$W z(_PNt(_JqB+Q94C{GPE`>UAP0em%SEK7a;SOUyv~c0n>lo}S%y=tHVEz(eb$7hyA7 zPuB}DyavrDLBtQk#Lun=pJku`GN^bvxZ2BosokCWBwVmj{!9A2Wm=!ZUX51;PL$i zc-|D!gY)Rs)dZOeI)>x5TG|9qX%9M!3baIt!-w$$Y+2KB1JG0le~S|%_*Oi39hQGK z%>3I9fc8i;@H-!DIZ#r5>2cUq*m<;3}B8+{>ev_r)rt>KC-x((&67=F-~N zk)UaGP$Iw>@&C6LywX$RwJLbs-u=V>|G)MHPhobaOL#WdGBA{|d3M)w{J#pCkGu*x z3T(;&kg4F+r=?0CJpcQs{3w<3Y(DbCvl}!{^!&xDwE_&t$0xj^&OiygoHe_`&8oVY;w36`EcJOBA~+k>3&>Kn*s|No0B%7G?%%OpTU z@mjv!b|A^Qk3hX2*<*a5bpHSUWze8&=MAKkjabG5Dk(iW5Bv10&VZ-}NB(!m|DeSF zLc|f|L&(8iJ7hrvc#wk&=745`I`6;u;_&VNiw-YT=fcj9=?3pFa{LA^o*|aU{Z}mn z83SFPl`0D=Wxl^y>wszk1I)kRv*KW>{=^Q@He!A!P^veEruty;UO-t;rxDa#<8NsP z4UD5M=ZtfVe_4GH?1~r6pe7@z57K%6#d744I&g;nuX(O!$W;^;SWL zChH~8OZW;%NnQvo$syqr_wvt5(4yPp95DW!{h+>WIfqAgyac#`!UbAp{a@5Y8k|7> zi&{&APCvfQKjpx;!_1IkK=y;jfA1fqVjj(he}E3O1kZbML_5a4oCh`?QX511FYxr# z?aqO7gf$(ct@A!;UtH^LP)vgdegZ*@?RssixIr;Zbe-W1Qx1>m|1XZ)f$j39=)w?Cd$8Ab*HU4I*L*Ly|9}=r9s?bJQex@Z?RLVmx9);xGE2J;My=mYU==oQm`u`bdeCYoR zCEIWRUu<*3mLDPeL%`$19-!J6x-A4$K7qzBKm$&Yvwq|tWfN#Uu{CJO8N9~5QWAZ< zAYBqvZ9^L?pk@=oeW3jup!OxWzj*#D$bIk8#(yEk{TEe~1SgRfnKq#DUsq5NJAliN zVCc>ykM44C_qPLd{aCXdLkZG3olhh{PJm?4yI0F896`vqSQ33tycaZn2wGWU575??RW ztiSz#vCHM#{})?bkP|=}Qu_upo(^jD!TKM@;Epc%juqd|FRz6m`3=&)Jr3^QB9BL# zd;s-t!3{XbI{0LeGeG5W>uq?j+`kPD77myXuY(t&{(vQBNHAao3uGYL_7XcZTtK=U z|6d2s-S}F8sxcN7Ps{hEkbPMY+n4eU>xdUcPM|OcpQ`u%zi726s0RY~ANV{P z&)!%LP$O+WXx~QXUC{nD(2fAmkuqFhw}`retbzxHsF^6VY1Pf60$O6|tNF$A{}FKc z^ZyL^d>V-tpFs6LY=11o7tsB&KSV$|utr7Tg`LH>|1U0qT3TlvA^96z9z)AF*wmL9 z($rTCD|o>S-2J|=`LCOx+7bGv=zRWPG+hKV!3?esKywqI z@)$hdwf-@vyhEGsvVs`(U(`?pQZ!YXfBXM}7v}!3V9>z8izz$6;|`!jTqWQWrkX+1 z7NB(n;M(xN>Stk4iU)HJgPMJyvm5V(W4P&Ws~80bu7P`?<|r2|cTJOnkIJMX{X z1lc#&0TNzFw zI)Kk&7>s^@fo03$&RAT7ILh_Xn@n_uCGRRcQSM8Ts8MB+bz6 z4BBPF%HMtml*oE{<>sNZn5s2EEhdcKj=)0jz$2{W2e&Q%TmuzxrmD=K!iwn8H4jLG z549kCnE*PV0;`N0=$sL(GHbxQsH?#}p9P?iKF}=EbwNNqxs+;!vh}8 zzc`=^E7|$mO+Y=dUS65mNIAoEFK8(y_$d6&`!5iwC#~d?do-|5^SP4v->C9hK6jp5TMWrP&!6UV~2udtm??Ky9w}0G%w*TkY{; z!e&rkqB;OHbO@Vu?70liZ(IKhG5CO%&q23B_;gnr_;hDmz&7x}%XiTFIR2KspyiXj z>EJYD1v0hsIe5O2$lth5gyNeE9?S&iwkD8j(D8hr z83P~qf;{kY7Nqpm3_2eSw6F)ZM(@;WNSb}>(Os>8wVYWoM}WbnH<`l&bkY%cF{QYDwG&uQ!HIo2Wvf zf&;dOu$33oo2~|}iR5pY1xj_0F@e7q!J7YzrtnHLfR`?LbUTAiA7$ll2PyOD<^44S zDFuNhbzaQa!o=|MB&g(t9O(n@9V>%vNVf2`d{biM(_QW0)1B=Bi%!(=EV1zDjR&8f zRJRIjJ*a%I=3wA&1)n#CR{J#Ds4zg5y}o_|8h~mAoqYQGCdefo-NgzothyN(UfY2p z<3&F+1H)@$@Ib_tdIpBq8ek^p#{d6c<34Qd*DO#E7?EmkZ2-p6zbZ- z41vzszE%NAc=XDufF<68MyUS(zx-McB3vEt!ul0xiV8AKBme9F|CcL312>TMn&90) zQs7$a`3okHWH)FQmJ!sd`(ys?|7#ntF`)4v=%SauT%h6{(%E_V^8f#rQ6LQ$!0jCt z74Yo(FVK#5aJ>#%RSBvNPk=OmIt2VsA9+BRt<)d?|NkZEa?%%lFcXl9AHnsYvA61g z7ZooNUWobm|NqOUpjp;vs1|UBN0c|9{lY%I#TK9%^Zs&BR{#9^6)4@ctOs2g4_b)y zLIJAPv-wB_SUVzpgXUwv`{%&>*Ydy!^S8Fho zCVTq5cD}EibwFTK|PBR2^*m9&A3ye(-w5bIYLiLni$e zfc>M%32M&UsJtiuS;S(7Tw_f@ABI9ZmEmR0bO8pW;gFMx9sYLW6%bPZ^YIF9;>V;Z;}3?4>> ztvvg38eGE3{s5J5M7M(>gQ+jRLp32aLQ}NBtxRwN;XpX^Ma}B}|6kj@xMvKO2Au~2 z9UlRw-?-KA^a~ju0r{T|>`8F@vk$ZYsPp>^Hmz^}U(5nEkfs_Vhd4_66CB?9kX^ln zdT6yOJbi=8Yeyew+v46TP{=-i{Sq{j58hx1-B1iq58(a3)*$tu{lDvA>LK|7(m|1g zI2cR2{X7E$11Kp&)O}=ydkii1rr!fqi!3Vq@(l3u1ROqgtDyN0VajTRDKFyh{r~?u z;6?tdW*s^vjN?-Y%1|6gc; z3|2Nm4smdQ9kf2L^LInN3{xp=SpLdgP)Pp&FUk!u4KxG}^Cf5+pkyUDfnwiSlRg=g zK&7D*hTwi$$VqVeto;g2YG^AX!K?m|%m)o(`t+*$!IUGV%v0*%qz6u!c`V>406Ff( zqZJ?*e}Az`{oDT+c7~wtwF}y{9lt?G7B&B1=WqW7TCmW|`>h|jZG<}60T~^8*$pzb zyI8=dJ6XcF^SfvB8^$6TM127&R(5>n0B!RN0Lc}I4WBwJ!uG2{3@Kh^Sx&71+)O9-zZbqd`6a)wGafnD|?mK?0z;yzUAP z-_CcQ-|vC+P?V*BYz9{{Oo3HhSFQ0lV3nR zhdS_jwdemuS(&97UY`b!<8;?y@0}M-1bG8IGu?8PiGcyDUwy%fF#O8j`kIM>0X)OO z-}(U51Aw08E;~_x;pKUd0H|3D@^32>=mc0s{#MYItcGeG$ObR$N7US(0O~FjgU@>p z-v9sqOOR&pU2jN{DG$nF@bUo^pDRGC)|-!eV8-V^MsR#8;EKw;37{~*@E*oUh8xIX zpb?|Bj7U)l-UNmmm7q(JKnGCyU`C}nw0!}J&lgLv$0z87OV9{0B0krF_Bnz^%uE?U z@riv=Q{*;K1G<<4mnS>>iSuM)KQz6bU;ukk0-Rn~gGwZXCriR{cu)y4{tfaU2Uh=; z$b$WL50+Lhfp%Jg{1(X|&G7m>`oUq&AV+lGe+k;T>(N~eS+lMPPI9GED3fZifr^(4 z`anGk)D{Nl8i9;r28P$R1kzq|A0q9QgW88Y;Dp!t{l!ekL?W!TgOoG>RTur2Vt}ps zf~;Gb@LvklD|m532~-sv1}~&&mFPaD9dBJ!IAYP6~=V4FHw;l(dvUoDS zhn#+kR(}-w_LhTp=B@|bp;}k!`0u@#-m;kX1+g6 zJt&UBP_exCc5nuox?a%?5GZX-&KJbyE9REe1{RPJq((v?^zfz## zY4Bw9iN8{y?Eo(X6hSrDanI&s4)FO!kP`%bd-EJXBgFjwLCu4AsPl7O5VQY_HbRX# zsqpRpi&!mC1?K?1ZwNHc+Uxz-qc`{;XcXxulLx=kA<*G-;59EE-Syza&fhwd0ba)T zfpQ_FjD@7bxR;x{L6x?<0_LnPs3G5Z{Kdp>aDHz7%~TQus@m;AvoV;eLBm>|$6q9a zj04R9V@zf9x0HhdkPkjH-jWVF+Z{Y?5Qo&40H;6H_BUij{cn%vpKQo0>RI^P<3PRI zUS8J@i_?jH6Ycj5Y@=>e+lGwaQwf>y93p)P!I^6LwNCO<^TV$onM?$13L`V zJ~#B}%?6J@#7_r>(CgQ)UaW)2Li$UBFnN2Jyl?B1Qt*t`TN&uyxG6s&{=Fmf?f;7c zHBe>;r9eo22c50L0}0uhKX6O{w7#xH z7SvrYz2)0o2VT%>2ikQGiqE4zq(J9}f%7;lRe=%%xD~$wB+2aAdCXVyjpxCqEIy2{ zL1$iq^FO$J^Z}jZ-+BMVfAG3&=>D5S(%=5S2vbG&403${URTG--wry*8&o9q^4hi_ zmkp4{{%bza5aT!S9{(+j3=HrR{N?01plGk=c+mx7fR@R2-hWYd_5c5uVxXc1)`CE< zBy!q7r6_dQTRW(`3)v+TvIo-tc>zlCi2ga;zW)zE%a37cN^B0OFM~Mv=cOy?@C(rX znm@Bau^kN_{$bej|3CP$8c=T+eEvCqV>hUa+6%o`<2vrex?5zjSZgYZ~`K_QW z5zyoM`CC6D>Vy~I3~?NE1J;YBtsrkybG+6Emke!4ws!6Q|NpfpSU4X^xOg`xts~FS zUi>D-06zHN1MCdsPmaZAvv2SB?${lU9E!G3@T?aLc20*Ht`{9@-UP!LvgybJ)XzwA5)K7JEi z@I3!7D)UW>;pIQj06XO5eIC%(?Rzl(^A~$SyRAX|7q^wb8Q!N?b;UDiq$2fFRV2Ut zhqUG(CD=>Q@v|T%bdkQu(f|Kng3gzDF&SbGxEt1a|HW_6%Fs4YQB;L0@#x6^|E~*P zq(DSLRgnQ`X;R#aAczRefT{=o|G)NlVFM8bl}F(HxZv~K_ss;27l6-~Lxiv9S1ATh z@Savq&)#~C7nZQ$DS@w$GAKgg+y57DK#jBKim2HQeSc^-d+UJ`XK*Sz0h($9@45tS zviko*`3k6VL5xyt{sL1P7Gy>5^C7@072auu`UT(c+01b=#^qQ_m)(2X;2pVb85(hPn!IJ^->6>GpK{X+y zu32^I|NqxoFXkvflws_vn1!Ua4pjGm481A_T}mT?-kyc7r`e0No<`yfcs-33sGVr4 zfE;6K6Tl-N$2mZ)Lr7_`8dL{Ca}Zi#_HuqB%HS@jJ%dzVfSQHf@ft+`#A4g2xBJM*y9h3JotL|5$-_Lbk)zod@~%|BEt_Z~tF#$$`#; zgzsPNmiItxt3>oyVEY-tcO~Ub1?vaRk0913-uwV+7^4N4^y?%@eNNtf2GM%#;q|u; zGrT}YxG4M=4f=rICv*4!ZViEQ5PZA`+`jPb%?CGE=1&3jztGl4a)HbNU0V`(4qU_i z7ya=bl;Xa>a1aKa|Bcd|ngAY8g|2@B9d5{6$PKP4U8em1|Jo8MM4{t1sOvrTda;CO z=X-RIl)ndi1l+mIhB{`m5V$&m`3Jn-^L`H&|5!nc`!8w;)mbS7TK^;iYGR_6=iTxi zz10%@+nilk{(?43ATJx|hb|izdXW|L`~PbfXoI5E`n4L2iB_7t2&@ISDX@ZpM=!Wvf-ibbNB#c)+T8hXHzvO zdcZf*f&&FzeiBF?wlo}87yeg${RWX1@4ta$40Qo;S_F;Vtzl(gcnR8$4Q~5XCou50 zfbL=U=&sKAFS`DX6vIoaq}%vRUI4gZ7} zA3V8@TQz}(3weSlD++)wlZ=h4=O#8$J0RbZ=mz?!RxjEfjembU%vzmz+qcn zwf7Y$u+ggfW60)#=I=eBcLS{lEi?!1Zw46$Sq)b63K9iJctPjCilf%{p#2!2`U^at z1>Pt$0et_dpighP1nBPBeSM(v^*gA(g17;?U>!NVf$zIa1F!k)?*k<_=z9Jjkd4p8 zP;Epye=)#g2Ll8&fMUMagW1#aOesHVfFAZSd;mH)ZznS-viO}&c=WQ~Ed|9sPlpHN z!T%4jM9@wf&<1$e77tj?dl>{;lZd_jWdyko?(B;^@Tq_QU%v!JFn>z{c%1FH0IHi_ zuIT;$AG|^W)FFZoAHXd7ugdWfoW&vaH*);&{{=NK-h@S(__maz;aS3SFH!F4*M!5{`M#pVS>@F2}Aplxl0@`%R-y#bY|1Wy_sT9LYK9FVI zur>J-pf&lZr|A7xUHlYWG9quQd@be)I!FVwi<2L`i&M1jsT9L&&`6ngFH4HY!3V6c zeUZMJ&prP`_N$yP0iEBK0J*;swtk-jJo~~Ajy;g=|3!_TLJ~qX$G874_=Vu-`Gz}& zq3`#x01bbj?f3ceM2Z2tX&AJ;95m<$%l}V6#{Pey!U3uik=v8t^aR?<3%>mle1xyz zThBe90sz#)bKDDR>tW2-fJ%fH>7X4YmUsDE_&`H%y)3yPO|YwcdTrP|{vY-2wqf(> z`~fLmSv>ijkAmWpzr7w*&i3-IEI^7(?DH0$o&Q0ngRL$Cl_dXRHEd}+B;7T@+LGNx z0t_$n|Ns9FNzdSG>|gWm03~!tAsY;eYsTX*f;#^Hf9VF|bh~qa##TN59|3JF5%56i z-$MIS`39i-fA&Fk*@EiN|L8%(-|`c*fuOraMc}_^>0>E|moGtlv?F~xb5y`Lz=4+T zL7AW$8&Tf;KLff?Bi8`5fYl#-o!?tf`Tf5Hc6zkbV^9OsM}@@c+b4|WfzeE_;CZzr?{ zYVfc;vC{x_g|g2H{%t3l4?b@E2^x~(ZwH;$>d`A&l?O^bu$z?O6KbHAEI4`aw}P6u z&?Ew@T|vuaVhcbmuX+K7l6uey4X-miy4?kk>Lt{Z>GVOWA#-NnCb;+Og&y7U0?xU*xi& z)(GJJe~ux+9?fqoJUV}OyDPLFC<$)>tQkr~KpUrvhM8x^@%|R z>TwqpP`S(C(fI(ByCnF-5AX|u_I&l4t^g?lFLF0yhm~(g<5xc2=^P%NHYz^d`4YaG zPfOf9558qaS~26%D|_yO5L$o4x4Y&I_&_nxr2?SYi_6F>X?`%4-h<3_R|tUa`|GxV z#RGIGQFYIKu)o1k0TF{wgDku+#W2Cs@@)y9XSdB8kN-zs#DlidzeO0x3ubm({1+{~ z4=QHAzu3$4?f;8F9#D3J^gqZ;-(2LT@7i2a(zicIHKFt!bsm~5LHiDUI^nw&Axp%t zrtkE7h(JZ8Z$X$rNa?$m5j}l_&Lipk{o)9yEQK|!;{L0O+yl3$z(Xt?_aK2Cz=(4G zh)3sd&|#A%;B_6a{RiJcr7d!Q2GqXugY7-=s|NKy!0Qu1E6TtZe3ux2wtGrJ(>r8S zhFUdffa3`G0w(aTPtKBOpqUTQ{N?Ls$Scfp?t)5d%(J2KuWUJ%4T?5M7YLpTkAp7E z1GOKGK=;vtugL z6=?+s@_J*4iQxPUK9a-S7kmj4cnZ^}*Ock35JTDopYD{`-~%^5{{%+`=)Uq^7Jb-K zxF3wAcfpwqw09C)2lmfxL{dY99C&HY!`ra@>(OoV8kB$Mm+>)x&Z7WL27r!h1*fK6 zw?Q8H|AOiN*Z(i3aiFC~kIoOEMGoDC93I_)pr*phRmI&-iY87FB+h$nIz!C&lX?ySAv!w|=xp zcLA#WT4}v2(pmR}Ja!#Z%zBs1C3Oo`Ug4nOg2^^|njX7y#otcZcZO>Xs{C?`Z~vd& zh~@Lx^?vF8j*j2|?2zR#)8nb{;9+ujxSzU#C`tF-fP^#KpRdsNGp7D7kbdOI>AV3h zPrxAwn)imATmUs0bm6oL=x_~=7jCSeVhXb0ArNZW%->+kAoU}9`qqIM4vG_S`o?t6 zFVL|o$nN=h9n|(foJ;)jI>dv>YOX@m{1-iQ9pYn=-(SJ|V?B0OI4%n>ln2U-aD5Y;_1P$On z_vkHAk$CZI#rOZ9%g_0@g{TO4w4UT|Im5ufuz~U0Ax8dI&{8sw=AVou*&f|7DjeV? zXy{hvf~*Aj^nZW^PAkFNcRQh0wxd~Dk`A`6Gy-H*=~S>)4K*r)3?-`HoK09tK{Kxk zP!Imvh6usVgBuuIPL?Vn`Tr`CG&q12q7Qdoz+}P7lb5%RkwbVwFz8UVZgx-=)$OI= z(RtjX^Ir7-hw%Ac&{&C2x4VExcbI}lx1WYb=W(CTV=q%TeE$!r&%4=uKwW86X}1mE zq2)U`e$73)!$DQx%X?YKmV@h8PT?M-C%?Db^v z=;TrHXnw=t)2j7!EN(b=K`3S*znDJmVHakb7Cl?mW7V~z?a zG(hs;gOGbcd9brZ1vEb5(aU#zif@G{9GIzE@ z3kHwQ_dcC3K{5&unVTsh47)(}9$4llNQMm}a~&ij4EEW3pU#gUnK$#m_FMqT2ts5) zZpi@2U4Y0P1<8S0)gU+Y`lwWZkV*G z`rD^_JIFCU-TOh2>T3AJ*YbIZ2-t~uMdwk_z@dIx>)Xg)9$JKi5;m#_J7kloYrSc#11!Dp-<-OV8TJ-^@c>a{WO zXg>bnzbFgX&AUO#-luypDAj|`O9Zv7SV5ye7eHf@9I)N`*Uw5ZcD_*0Z_(0YeG9XLmhlOw+Tu{s%+JL(gt|&;aL6 zk7m#jtDrua#DCF>v!DjCvxaA{ABTtKi4sT8|K~gnk9ju#;{?~?p8QVNJbJzUfhL@b zRCa2B5>WFmwh~T{Zf67VI48*6pz&UAj{l-sAk+SPbCjS@RbrV5{C5W2_VWbysX=~2 z@%Do=QVgKwv@gI6r_Ji;(s>XuK-e1C+At zASugpKWK0tWVTQDc2H^K`Jb;e#IxH?z@zh^kKs>`=ARH>dhk14MDitQ0Nw-aOV4gM ziJjp5-Flz|boVzO$A3{5kjwx3ag;(9b(x+4CqYm=g7)S`Qpb|}r==J?5tdvy4YmZ7 zWqH|3#}I z0vV9w;0peWW`P7i@y7<4j{y&Yg9gh~15QgZghCpS0g$8dJfIE8eM;aKlY+xm#+C!6 z#h{vl!>6-EMZlw%6?C3IsLYq}=w+QJCd>e0D|j4tQ30L1&H!RKfMUo4Qpmfg7=VO8 zJJmonEN?X^3Dkfl4?IYx2@f_%IQDJdt zcxLa=aIOKQffd{mg=mlhYiRt(z`)2*Y;y1g56=UT^3D$jU$Cjz^E7n0sIVgIWrI{R zy(KCvFYYOWEIar@i01=L4-ZTavH@(!2CzeFe6Rs?!3H2YI1@ZNKY4V!fllaPEMfL& zJ>b!6db3iB;blr1s6mB3Uk08uaR=X*3YyUd*Y4nz+yS7OJOPj1jQ=18hfi;X#BNY| zut)RJ|Haad&GjFcO5XT(=f40=|A10I={W-yhQT_3MA6@jTFcVK;kkz@O${YCG9MlQT}I{-13Asm$MQ3_72` z^S4K@=)p*oiJ5Bfeq{buA1$bnb(Ed|Y;fRy)kKK-2h$Wy9PcuXI-{K-bs%g6`M`twBo$-Jj(SS|S9!$It2i|Nk$$KrZX8hTa;O z2$DvbpnItUx`GRI^eCI{2K4*|X#EU$XwvOCC_YM5K)aa1 zmn(t_J$+E6D&f;>`(it2u^Oa2_Uz7m0XpBV1Uw%89(*6sQ3=omhEG8$O#nQP47n%c z<1tW?6%D-r1LT~}`!CiwGcdet0sH$fXiEyD%Lko=i+yQp^7}u?6QKG)5OjrRBqWkx zj^b}Q1G@8|Hyw1jV!(DG2GI5M-~-qngO{?r2i=c(1bm_5)0YcDnbUhwq%S9~6nx(9u z`@O3vRIvS=zy)t@6^4}et#fNrjw0rCVi66`?&?O*{& zPQ=*w>(q{|Drx1_ku^Skjk%@-#~X1 zHe*YmKH`W%qX1?IJID}dp;4{H!0-}uGc7D=ykM#x9tKtS)!?1ArZB-Xhr!_mKK(-B z_y7MdGeFyvp<&MtQ?(4D6?D8)i6F@RsSco<`u_hH?SaUE4ZQ$LOWoxPpv^FlmFRC6 ziIEDM*Y`$Dqs#LYqs6X5w*8FX(Y=t5M_W@!F}&l&yyFS_&)DC~+gKpPezUVG12 zEdDxf0-5XUp9Wy}&)EQ&f8H~K&cCl#VBl|g0%{<4S8KdH4{Cyf;u&;}?>UfY=lvI1 zKmY%Kxe2_J3v$VEBzWfN|9{aB2SFhKDHu{T7#LpmKvW69%AfzL(7J@b1=N@U-JFvH zvZC|;izUVk3@^d=A$9(L@m&%c+w%^Bf}t9`LIRu)Y{8eB|Nk%A067Q z28Nf?Ak&~rdogGHkW>5>fAEYSlF(t;LSXdO&nx`}7+$l!P}2YXACwfe6hPMqrw4%6 zV5)#7{XCUG*CpAgFn}A^pz8kl0VxL0?)rfLqIV&z4BzhZ0?+@)(k6iJ?**M_oNfTR zUwxhu$fMx>UG)i&l$7ybbj1NF21ovF?a)=tHJ;7y8(1(_oO?p5#L{GtqrU3?{{I?u zWI4wREq(@u*Py8|ju-Dicfxf?gZEx;22CTNXZ-)FHed(ZgO^vJuW;Vr2U-DL&GGsa z$Otzm^lM*gftN^9|eNqfB?}AR%`T%nm>_jYAPy?(EbmQrk z*I)m?ya1C2?+4s*oQdJ(deAXpJ7D6VKD6ipka?i1mR>FZNzMil(@<2@fmEymiPwRM zN|>Z)Z+*avM9?)}z4Zw%RwyzsyaXL6^1>WsxhYH)*b?h~pw{eRa0QmH0%`z)?m*>x z{q;YnqXTLz{udPosp+j&c)W+idL5=yX%)sz61!U)}SIBlQ2C3=1{~{Vxoq=NZMb)dX|G{^1Aski*QUo>V z5ol$-G{~Sp6oaCW)U4BGV0if*bVQr(tFQlG`#?>4{$JE&FDQBZfANP8R74#%02L_; zpsTJi&1`St&6Ik0MQDb3#kE&x0Kzgz-ZlEMPHuMo8Srt|*GiLmemD}^2ucV!Pa zXcS&Vi-6my1}_eYf^7n4PBC!?hL@n#Enq9aVYwKj0qV8uN(>Ay9Y78#d-?VMi$V~Q z10vF2LW9hs^ZkF(f<2(__Bqh{{#pr8hen@~fx)-)FK9g)Xao{8hYxA0x=^L*<8iVe4}$kUAeEmPyQM(q4^@DQi9ew33;3A$AdnkD7rDQfaqsK@7dkJ#{(qtV z0(H6xaehSS{TGd&P$zB$LB>MwmtfruN-p1D_})V`0BO8Bz@znBNepD1!L#$b=lA;_ zz4;uF9ptYKVf|5`?o`mhp)X3Rz%{{t(bc=8K)2HBgD+}1>d|}@vXNZar#tlrsLDA9 z3ZrKq|Nnn|0X72%9i0T-Mt2-s)}`-~V(`&?4ca^I%lHm-K?pp&q3adXz-Iv2SAv4? z8RUHarn{i^56|)V2eJdsqq|t(#nO6E;zjIn`??cUQD8=J1?g{wxn$BGX zSuh5--?uyc1IPy|;Nzn~CpCah_lDl@3fkQV8rD(xFS=x>6a%Pd=WI}5;?Z4g;nSV$ z;Q9Z^1l0Xu?;=5=_8+u=q1pg40%Y-DGz09IzP37;lcXv zn=&wXg7%Z3dS3%%c{j-Wayz6LUdO&*fS3VJTiiQ9IT#+FVDo%?)4>h$c+iM720GuR^Ztv6?@;q+;dXFngM&5|YR=kQ$hu+YAwbu=;#_yS-4)Vpgj`t+yW?r1 zEGXV>Pb~+O#-~cwp0+hycRsl`I5yIw5K1m*bg?GaOf>K zc)-&CRYSHR0>@(;B#(!zm)GmI^T- z1~`4Y)4|K@LckptP-y|W>d6CipEcw@DlW)QhAmq_!B(yDUvw3S1#YM#EsFiGI(ZA& zx34uot0+JL*0co@V5hDlVlfY*_r)|&OBr-?XDsL{;vDdH!sq`*{lQxPzhDP>G3|8es62#ffBs)oe+wvYgH~+9^EYU05`N#jzZ9svc@8=+6toEg>hzzRVNQP!Vu9TD zY%|1dde^`He{tvm`uv7xC+xB*+1H@Z|Nmcf%Vy9}Q5pEq7Y!*;sr((9a%X`Jg`5D^ z2WH=YaqSwYQE?cYa;r9jYWrhgo$Dk)3mfjg*mmvf{})~lzWztre+;@^#U9ioSP4Gh z_y2!U2asvq(HyXQ89--ha)6@8r`Pn!V$c|%1L&X)aQsaHcS&LK2d%FV<@MK1pebGC z(>@+=0>>BFiPu50kl~dV+R6+JuRUI@y^jd?9h;;WP|9b}fC0#*_dx?3kn$8^RTs!G zP#`yMf&}u(t6%@Wh`kRgQjo{X1EBl+$-7TQ#1L}7H{{sT@Bc-GLDr((r&2EgE)jPu z!d@am+9kN|Q)xoh1-nn>?-fwQV&11Rbt9sI2^oL1QF(FU%2&vR+^G8{KqqmRAm69r zVE`Uaw*oc$Oi>zanCGkFJP!f9pR*6#UO+m}_WOU)UmHNlA9DGy9&~F$8fet4*LMCw zk^%;FeMhfq7EBXTh4Jh%D78TLGeOUn1-F0yfh%xuV;mk)Ss?d7?q+zgj|-HO{=Zmu z`Ro4|R-gu+>0RXF6>`5QXgx*i0Z28Y13QHbSJ^$=4pDYPRv6!Z5sr3g<@5F6v=6R{ zZ?A`>Qsv8_1d7}~22bY1bHLK4flqI>gio(()&kV>6EZjR1^K>8(2Pkb?)yeF)`JoY zXr(V~oE?5&rSE!335Q<3<%28V|DQqociw}_H#^Xw|DaqZ4R-(Y7s;2t{(tfPHgf2J z+GC*kT1V*l2B1UWVqk@dA!rAOXY(-*pI+PP^Ff6PxW0$o@8Ti~iW!{uyDVLYUY<-| zhrD|SlvF?`{?x8R^AEH=mIf{k=Zk>K>u0ZDA@9}qf*Ac@)NvgsX8ynEy!iG13)$PC z=s_tze7d2B4HpE0BN}=ytcFi-F=&?L&^*xkao_H=7ohfh2d-s|6fF)we~>m73ltF z(1tTme?SZDmFB||KE0+4^Mn|Dx~pG+irOhpz!eeb(3)nvkKP>4Z-)}T$4!8pd4=-5yS9uHyZ)kb}oizgrZ$u@xbTz0yS&Vwf3?<{= zmN>@0Ez!omLF4(L+4=vXN~_VcpulQSu?9)0EUQ6vwgY5;v2QOVzr};g548MtYZbIB zcX2Zl1Gq>$u?iIQ|6d54`}+UIlIzGR1Zln(cHazg`N-kZtLilyt$YMe2VMbP8wom2 zgNXZ>JwPr3MNED46ju|IWp;D&NS5X5T+@FNiN08nQA8cZ7*`vAvzTA)_mi+AoI_k!n7aGa+V z1F{VxQV{hEsJ;ZB4+Y-8HP0P1AOapwgf{@Bz|Q>tBI(rE|1Z8>#uMJ4`XB%Om3b;4 z_rk&#G}OiMUv%d(aDc$q8U9yYz6`alKZfjH$oVbc@Re7=624gw2zfkITBEol{GRVF7!uQWoY?V2(d!g-BaQNmaV}|dpr66bif58ND=Cn)L!WTSV z1HK*XP!o<&^_x(5?9$YckWDUARve{lm{jO*K-CIC8X6v_NQ zjG*~SNcpf%5o$hobrbX|-JgrWZj1OY`hGFUqS6GAaZ$eAdC+Z#-F4tzwMVaP-xP3b z0BJlQHa=nk?x{fh4{i=TL$+cX#EOLfqCFrMXj8vWcdi4dg_#9fhQs00U18zV`4)8U z26&yRN3X2X6j0izQ4x48k7OToce3aIW1h{&L6`0^mS{kW@`<;=O_KkYeY?{^=Wdl; z1{LtHL8HB(h4Lnps(gv&^S6Gef&QQK3_xPg_9+C>;<&H6EqRlTw%aaD(=w@+I|3#Gq+k<>(QTvh;^&dC|6lZi+D0AcAl?EyYtlj~29W>G zfzE4)2fOb5OVD=P`=I^}cs$CZ8A4((S+y^c=164G)`R`@j@K5rL?y;;RPRPN~pKi;6p#>v}dHgPt1$y3+}iD+D|(*-GVnyFrc9=Px#0 zha_)N&jnHpuaCp_S9jNe50x=^i4o`cr4ch_;e1RWp`+MNYnrHA#H8Jqdw`U`m-$ZHXg&cm;z zLH7oL4tWs*S@4<-cBue2NCV1|E3BT3$2~RQdj3BOy&oBL-aq(!wSH|-{rnv?{|epm zjC9`rp?To4;|15Dum4}nI}K|7;OVb|MwSEm!TnY6aSJS$CGR|ncxt%sh;4>|%EJio!;3Top+=Qvyt{-85MK;GQ|QVJdbK(s00^MT;;JY zaS}DOq4AG?-Vo^MU~p}Sbia7Z98ePx64l7}i|2sN|Nmmkeo%sPU5X`&u_)CBe#e=F#s2B`O5Owtr!c$o$|_y~EuA?OelP+{eA>Hq)NVvrM%zz5ZI zr-N_2(gEF(2^zUOJWGnacJao+~Xn7l0|E3wB#xrEOtQusr;lJoyh#+`$S`a4K z0kH|Z+U5^v(KzU;pN8rX7XH@1pmkQD!+EcOmd@pZf&sFI2(55@3R-*wb<$3d5umF^ zq22u#pyfDVC&@!B0D$hjyD7f9n<|_#G%KL7|3x`wMJb?B!Zj&@sHAwY=F9kc0x79YyX> zfYVDDC~A7s!FQ6s;sy1Qo`dc)i3Tq*kNo@p|4V(470>_&t&e{x$Hc(UP%Q(wt_w0- zj=uiVKozw95_%*&D>!h#r?hi`4D0~$dy}C%D?qmdgQl!Ky0aBP6Vk@uE<~@XY&$sk z5#@g-yA$yAo z$gP;??x6cAMn!<3q1uHRe2uWd3tdj|QhWi>0CbBI$mVWnI(i4%NZSohM;{@=1j!r(k=@y{-9OFQ) zhu+sK0Nah}2{r_DSOaJ|j>U^gE^r)Z_&{#vSoQ1w|JS;pt~KQPL@9`J1JHz6Z?(Y- zFNkslsPbyiI`&@EEiItlHn=_7c^|al1I3m9ANX`WM=OFR34oT6fft^l$(#VK9))Z{ zLObXEr7UQn5a`~IC7?1DGRujkJ8KSTm>tyK245ulA_~L@^(z-{gY+iBxAM9?`TzfQ z*$cG;5V4mpLHV{G8cwgLl{Qv*UAE0%qJNH8@^MJ}60Lk0~$;{vX_5aKF;Q9|#J^%kN zx@3|R!%GHG76jc5*J~OAvkG)211Q&md~|;6*Z(g;TXVtg0S)Nng0xKqEkOn!r3}&w z5)PXr#qhe~CFqJD@C7L^o1u1rm#Ff$P6w?X4uJ*%%z26+=h=gt#{hLWxKiMn1Zo0< zCueLh@0AF_H0H1+WHF!o^e&q3o4i1F=L6Ttnt z|Dq2;43M8RwtW5nV$WWfgWvxbJvIS0-UFUr0qs-+bx_`a19j0qgT{NnMe!j}83>BM zX)vSiZU(LYg&GB#UjgX{-_HygUj?t7{Q_zqzJ)G4js|H3k6D3oyTOZYQ09Wh!+kae zhSv!%zzs7QsG;cf+kfQoTRzZDkkG}y@bctmKPW*U$`eh94d6Y_wIDVq3{*f4-?8WG z{}-G0Kmr0j-o@Wi_V@pP(4EWypqBG0Hc+Se3uyiCp0EE2%`e(CfGaqp_C*?az0Q-b zprFJ#zvv2bb0_k89pipbYZEfLr{0f}o&;g@d;VWR?OC+>yyYEFl0Z)B{QhFq2GH6W$Z&`sNO|Y|7iD+<|9@=- zUKaQMzo&wCStGv4i3LvEQHUIyMa)HcfuGU~c?BovzZ+QIv!hXZo z|1U1@{QCdJxt*ZscVS=%_ULBE*@O0%hV`H^F1y9(Oe;%+I@93!iH3R+rcw*gDp*j# z`U>2Kv<9_kFd8%Oq#zc6LkM*L8R!I1=>8}iYcqF)v_RB@hBiF9tzT3agKE_K|3&$G zKq>tDi}3Xz-+{|p#P}v?y%}gFQ7`WXIn=f{cxVU1Z9yQ5K6G7Z%$g%E0xw6GR@|i<}0M*LooV zmB+Y)NerSET%>0`0UbbZqw*qfEp+*v2ugqG2&mUwauDhMr4t@3rf%^a3kV_QU z`ZLf0PaNQl1$#gZJfwy2b2`DLD-FDC&4cR^I3$g>0WxA6=Q+TlP{pLT6{4JpA1fO2W9NsI)$noo^KA>$Co&R6V z+z&0h4LZPK4WEd9DG%yofrd#s|Gy}Psp0~uf_43GFoL>A;9OYr4s^pLm=D<(>IlRs2sy}pxvtcEuiClkXB)U8(i@A3&?$l`Bpoq+g>84_s%xd zX!@^O4siw4k^f(mgEz4u!Y~}91G;us6I#q31}$vwHT_ctawVeQ29Nyz58zBtJ>b); zdl9S@wA2Nh@~(of>w7H=szrNsx1dXcE@A;KYynlgFSmhi0_Z&E)2rKquI?ISZwt7) z=8jZ+PiX};G9f*>7x(}Fe^~_T3Z!p>*6q*#ix#zla{vDqS|HDZ zI;scngKpS^9P%1^@Bjao_7GPf7m~IhV?hh$r$7{g_x)*r6bnHVgNsUWkg8_L6=B&R z%fEuQ%e~qNwj9~GcP-#LjENbMQu`WW=} zcc+T6wbx5tf(i`c+UqBpKxr8=SqGWXg16V#HsNcppML>rj-s~LtD8Wv^8Cf&rC%V26k%s@d}+#ec2PWk@AVktOdfK&1v(7Aiy!@5A{UV%rFIl&fue<28R@zQl@ z^(pAQRmi?8aJOFuVkaa4fa-s+d7!XEY#pkA+IwKh*Z<)8gwD?%pdwlrH1!CI#m?jZ zMS~%V{)>8nOdxi>>so%qYIpE_6jJ(t%{Q>}x2u6FoL=7h!btVI2d*n|BSB`u8or=Y zzMv(t;q(9hUxIG*KyDe#0oCeA_AAzh`)sqTz7)&QqcPNmlxq};A{zx*0=mE zb3g*Ux&Ix(i(-5`|Gbs~S2u_>0?J3=#V|+z7Z*a>Y;Qola1qdzmg0>CXnfnLBrB#pjlX$^6TKi{r~?(@705AesHuKZU6uOwKZ&anhJ=gi(GbY zf~W)Uw`$HnQI=gf_DIq2ndZkoNU4NL+#U(q{Yx-)|bV`s@D} zp{p_TlV|6@W_xg<`~8ItXsD&T47{B50C>&&cX-}106C!ZuxIlzuyi7*q2GD`Mdre< z|6lxF1@b&(7ZwLt-TfB<3sK5T@cLfR#4@=2|A$!L>j=FHNw+^wh{3b-|7%@D`U9md z4^SEhErelw0N(X{1at@>sNm;s$zo&x9fjep!}1Sw@tIL=t#PI(rXj}SK-|l=4Ur>fA z1t;|PFIuq+P$fNUxXLr5?WVfIoWVc{j4XBD^ zwa*15@Av;NfHFI1QsXEyWKu)&gU5g0AEiPb%}0NDbi0B*{)kI}A#H+hcfJD15)<$t zO1gh@ASPUWSq&OsLCs3w9w%sNmUs<#MVJC8vb;eD9(cZZyW;Er*QOv9;8Q+zx8%SB z(-So7U7`k__2~Tn!V7dyv&4%%D?kZ|MddXwNE0a3MGsVix4MHaZesCdJm#bM7_{^m zTtLCw!=U77`2^Z1d>`Z};;8O;CW!uE1*W z7DEZp>O?KyZaa`~_C5q%ZYcXL8x#!x|6c}O%hGuRk|V%7KM=duKx-{Pi-3AnPe4>V z{=eeW`Q7n9sCW3nWgf_TkR6FHszAYYOagQzkj+(4a=ZUR1?1Qr%aI)mu1~=A6=eQ< zA?TofSQ!`hUv(kK80dKeQ>!3V>)pAiCP3DEgZj6fzxlVpvI+9Vq$<#CVgx>kr_b5=A9NjN=lvI-KvM#sPD1DX7h*sE{|9Xw0aq=Yu=9Ncs=%c=s2^7X zn=PsVuYdplU-WY&xL1N4bgK73V$d`N3O-N+xL36^3mn*xfP)0$3)Z=yG8xq72h9d7 zuY~ya{TxI?Vlvn)NE`h5W$=~JnajY^9?;S3jsO1te=YJN7%mE)ebollk)7XPES~fA z{|obFsKEz2?*X)IfSJD?bcc;cFRud+Qa*?6hl8Aj{n{4ProcI%SH}(+Z|kl{&+h!K zpz#Pumam0oc}Q5rz4QR-f-Yy`*#J&2P^tf_b1Fa`OwfVQsM~j1K;oU>|BF^vkg$E{ z9vh-L0}E^`h)FM+W`F&U7>{YaT>@@@)vQN#4-d#XaFin2Uq8wr(d953I$jS-kFDQI zq97FkxIXE%{lz8B@S5*M^dHdt=`jmX##Zz6YYah4|B%*OiIgK+yU6RU{*;0I{{Mx`EX@88XmQgdP_6 z;`#j!xJv}81Erw#c`pm--an+xEhS0t3QY-;UZkPv<%K*ebU7x%zn~hzxAiUPl(hFR z-h&sBzyB|qRt75SAT{4yP;q}1CgW2k#qhcd7JO*E5B)Mw!3A0QTl@vwv0_~e%40{s z<+VVW6a&gO6@Gd6{b%6t?g#IG`Ug5s!w;rII zeV>3DJjgfuE-oeYX5WvGeu0WI=EYJ ze}54&0~9XDAeRw?ZY0n6FZ!WGis3a6C|~tfC%iDa0jgT6D_&HB7$ChDN+5bAW_GpvZDnJ*ufa@dJddTzy&;Ms% zfX;jat$l)wKS8EuxJtmaKmcgB3wUZq@+ndg0c(f!7* z=K~5SP^j!GhJ*^!ba04*tA9lL2F>S!_va*ldL?$?!6MZ8m@2S6pc8>XJ!@!tYxJ zAKBI&5AMDdul)ZXe(!24Xu;vj5KuYUdF-_sX!Wb2C+L70$bLxJeZ~7PgVyK22kqB= z0^P5BrVtX_B2z)@U+1Bg4yf@1>bYaT&sWf=H@yIqKI=d|P|*4o@bXw}n~h@%v82M| zSkhMkD1GU{(ihk~$ckMlu#5k{NSXrL|ApTELLCnP%>eWU{`P1-_{Z>oNAoWZ4}K@m z8dP@v_DWDErM+y&6dBxxI7Szb=g{;@S1>VmIUVm4u0P3M(^vG`f$#sMTF=L^~c|Nh0atKhIX9}fx}kRQP#;MYK|0-t^It%VJX%3Vg}?L%c>uEH3B1;GD>%RqBluJEz>Wef zL*oaplkv18N9J|F~sCMaUd^aO%5gc;B%jPO?SkBk^-oG3z^>sd)OIlILO1Eu=L;onl&%= zex2&kT&)0GjkY@%pWPM#hxq0@G^l3w0Q_3{Vhj|;pI_?dXHY&oZJO`Q^@rE0x@InoA24eY5PFh3!wYYJ$kdjM+wIBfObW_2AB8zt)S_a zm(C!k9Dry5HzH4GgGRXF`2)1x!U=S^Ab54W+!j!S9dy59FOrrS*;v+RfYra-3{?+K zTKuh`n~Pq8?#+1Ni=;mSO~0T|Z#KA2TfZ3;2d_cvU%*)rygqIsXl{oOqTRFkNCdb+ z0(URGJrV&biT{B&=z-fKh!p)Y3mnVf5a|USg6i~Q|Mai_U+kI=j$a(+foC)1xIt+O zVjc%9hs?}^RGANZzy5zwIvu&nL_WX9qxp>nsB;P$UIATMBLO|~g1-fHj;yQUH;-Of zzGxu^P<4W+|2(=ucj9zc2>ie7YxxXvE-z%mACHPpugyWv|Hpi~bq<0`_`-#t(0c#> zvS+tD_|W}xKAklx3gC@tKHU}ICGlDy^T79^do~~C0PQE}&iw%zb_=-xYEgkSHy`Ej z{C~dm8CWG~V-|l4cw0qx1;_u(FLS`FSzJ^kKr$r~pcR!K%||rgbCI$CRXa05;fpMG z7~}>4aPrE@M08;icK!eVI^u=XG|;Xx(JmI)rYDuc}}`D%WF?Wg~LrUZ1~xWo%1aL?~PWIrUt zJ6s^|{1-iu0ct_ls0h5^>-qZs#UfBsXzo-{1JwcEAB7HH{hbdA^Z)-vr(}S7bYHQ_v6q}G{~4a zkj}}AmhP|rUr0&D*-I_36tIAnJXcr9r!Z`5xg29IRe zN#yvBGKu)c52~#|Q&MPyqWDHhlt8+mqa@Gffl?DO3g^^Ay9b=n$HFAk3GK*R6L^27ka0GN|Wa=CU=6) zKb?&18&G|V)Sg9Ze}hIC%v=qhcy``@Ee9&V;N_uD=l>T!Kov{#aZr1-M8MZtz3`PM z=thV}(75<>a7!9n%luF(HeY!*9|x7VaPvXsEoeVo1jr)LCKc#;mGJe7)u|Bw9PR+k ze@?>VAMkobP#VbxpV?>V+nXlf(`)-H6g7TwRKO9`JO>&<*OA&U@I$s(L5}aOmT0Ip zVJa0yZEC#qkO3{IcUHhTOc?$dngPIP8o&+>GdvAyWZGthg4!XN3zHyYHHh(O2p=^1 z<w51c^2^$px>S}CA-fef^s z(*W&d`TruV{pTRtVPcRi2G6e3vFmF?2hF_UE(mw}a1& z>E-48j#9wj7})szksq{j6f{E#T6Sj)D&(%81c$6Z2uUG}y*F}tBe+2ZYHXoJdn0J* z7BUu%CX)_29}TOFtQ07zM1xFwAvg=EP=k$`{8yco1R8xh?$fIp5DaxcQY4>g1xGS? zCbJ+3lokHJ*Z~m(*M~7l-~s}kpFrgUczr9l{WNb4sDMC=|0G2G^MOwl`u`%W6%_w{ zp!n~@760JkDQQ2W678+78v z6VS#f*o{3Z5c@!5;Ar;!0xj+7bWwq{H~u7`hA-%R0U_Vs8j$q!7k(>2;rr+HOJt)@ zCV;&HGWx|@(3w1bFXn@qcC&gxH8srO#R;Gs%K(ip&{Z{^&tLpo0W$9ktp5WUkgJ54 z2MU@OvY?%^ppBp}HaCC$|H2()u2V18^9VruxqUhxcznN6;0vm^5Q9Rf>*fA3!q%gm zeE}J7!LvX5Z9K?tpsEv=fI%HEr1}X~o`csL>4SSrDC0wG;z4Qn`-?A4U;n@8=s`|w z;Pwbo{RCToA;{kj-n!Du`~MSC2?4s_hQH-MXb1wj5`(|>BVy0rGmr$+;3_-4CVd8Ju12VR^8q_}KZ(RlM z)`2cRSPJSa?tzW+fEPi4*C%F!Po+iGek#p(yCgdiLQ=pBTsUTIoh%0)Qf>l2MFKQD9 zYB?dTZ)69JE!i{hw;Tnzq4W7mU65ArbtXt#AmQZ+sDIAi(hE`x9e;@eFa7|HzktS| zK=>&N~Lu5A_5WOw~e&DsWGY6{HGu3j*ju8;p~- zUv2{}5r^tOH3b?7iAeg7{{8>|WddlG4z3N1hhKy14X|y~L8^_wsv%oA%clJQ|56c2 zAQdDafaK~Bn60m4KmiKb#_JE>7x4eT=(QNAhg)x#6o7jFrXU+Y9aZF&b{jxiEt56C zdm}YoJOqu`Sc30Xge@A~4LZ`>r+YDY)Z+gUQ2z?FKO8iEYvK9-%!_-V1-qd03n0S- zpsN^P7ob)~hdr9XGan2kAs*de^ZtvP$4D`}c73s633#9lyy_Ud6s&$SG$_SDF6&0R zhb0vz^CueYGjL&+02*F~&6~jT|9{n+(Vz}$l#77 z$cv!uXbhly2dTzin1Ean3t9`o1YYF|u7KZ1K@2pn169fp-M6DaB_d?I+L1yrRT6`QJf*C~oYXkcTvfdQb zzW|rt`M*Hb5%_#JNSfkr*#_$M!qV0KNbs6~|Dx9-Aps*-`}O~eO;EGIKVB3_ z8zNVAgZ8IGa#abBM=#jjFWf-8NkNlQx*)}!-(Qr1?BHzs`u_z>8*&{4-hbl(8G9{6 zTd(mk0-VmlDdA}Z#KXEZ$htx6U!n7#u=#ZzG(*-zfRYQS0!8#aXFv^mP>sCa3f$fT zT{YbaTF6$TA^=*b>T3AkqgPhl6V%`VWjy($Mi{~!11&N-+6 z>eBIo20do=gEBd2WCnCOhHrO?ih$?;WAO8+oBuJENcr^UTY%0NtNQ^~`}!q(J|1#& zz)bKh3;!>_o&aih380MKARVpqU-fJ_*n3D~;ISLf=*xf64dI|bd;Vev69dC*yBA$8 zkoFKq8gl&zIln0uylD76Xzrx*E_D13e*IELICyjh>}Al(UmwlC9{-O*=G#H-DbVe2bTxn6@ETKi1~ z%|CP(gAZp1PX~O5lo!pA_9$eo=N)*LB z|GzeSq0$5@*^a~0JE(u`3Az*s+% zglJcT!Uxn|0=1_h?$?94ALl5^oDgj8NA#ai%g=jXpzZ~m2bsT&3W2zHQ8{S+3%YwD z<9mqxS3KgNUHOR8QwC%|tWJ;nugVhwDddp0X#EU^mhvBhK{kDVVNnjsE0Fmh(E4-e zd8F*1YkbX`e=wF7gZdjNTVUY%1-$>o(WkdQ0MwqzgYH#&iLL=vy&z1z9b7%geV}C- z9REclgF(wOz$Sq1Z@2{RWy1%Q|EpRCL%ako|Dj$eEd!+r(0y(H&y;}nPXvG(u=l~+ zt3mrG-qjoC^H zwJ3wyABNy|HV#kAJizAZu<4+dt2KP#6#7cwXZQI*H#u;C&f(Gm*HxaNdhUhaEzn{# zT19b=Z&r&}3hHulBH$@f8i zu2DhUMTAnG)q~F;gQs^$wQ378j^n@R^Z+S_*9M?-=&;UbbKK`=aBQgaWCjoGD}YA4 zOu=DjjoS48uj&^7N$TC!|3#ewKtBEcqN^C3lp!|4?zvM1OM>>lfpj!OmV^at`~UxS z*o#j!U=5&j;0$W1gYwN+e~4kW5W`T*C(!sU_&l_J@bLlQ@o3~Q-{B9cQmp@ru7{fP zz3A)z7u^tRK(!xodPL5TphO1Vuk<1gs(1qUd^_LXd~kk*+<%7F9`pj)26D3_)V5BL zZL&3(`LXkNL%k+bsU7Gff6zK9P?IUcxAXgJ86^LKM!M7AgObs42T)<`?$~V4Spq&& zego)uh37c;fdt+KO*6nQT}7&)Ub=(kQ9&gbwi>O=4@->zS~Bkdu3td&v7Wv84&d?% zJe>&hKjfx&Z$D5>J%2H|5H$W@jaq#{=AR(tb?0yJ(sx$=cIfeGoR3gSrE2Wkx~uQ- zgAUaP?d?sH|Kz@JW zRe&6ZNcF!5XfU)Ma+Dr=ffRZh97++O6&GrttplFj5aY!tH}4`GI@ZC0rnn{1<)c4R!ScZ*ax%BI4oy|KJWeXuJZ} zz5<{1vF{MHz2eafvM&VOWnBr@|NX_sys!UXv{rya9MRu^=?96)PDr+Z-DMM2emB03&pm8mcexwb9go%Gw|uP)vy*~cr6U+?|_8B z>%>5p+dF=9yTDlDFbY~%dOBr|!^Z5(CMsWIa{D1vrGH9Y7RK^K|S|{*)`d@XGCuk}g+JXm9Z-K^Y zrg(ye!x8r_7=UUyd(gd+ooMH=WO;&u?*EHTIbZ+3a4SO#KcxJLG{5Qj|ENdjeQ@~+ z%TM6^Aa?-l-q$a|?P+YYn14KAkq32gEXc`7;Rj2v;PifOKQz69&4aYhcX>eE%LH=o zv{E$pg4)lZ_36;{0JY#%L!kSQJwVM9$bDHi>OroAEd|H|xu_GeQ!5V4zW-ubHmH9G zSp?wa0a^qAy)SD5I4Qnp%l`WRg;eR+|H$`GfXgq?%s)GS`xDS0cQ3Ep9i%D%G}q$O zoh;$o`Q5Ym4P%iQDEvUxPK6h!7(4C(5-olQ8H$8dKIhy)gQLX?p51of1c;t!?5=?t zNp%>fp`fc1yT;Gp1De;bbq6&aoDD#^vITMuVFiZ==oG5%3<1y?c)p$QJip%queyIN z$1l&|)2$5Z*s-#MCN@Fi-yj1(`~3bN1s@IG{DYCd1$114Pj@mX?UsP=+bpa5|Nr%Q za66#$`-_aa|NmdcgT|4%iv^HFKqPGf$p1U6I6(K024L~O8`%FEzOCO%d~pSWiK`s zH!h&^;IIH_Lq{)*9%vV1i7+heE`gGsR?YwauP=La%cvmt61RZ#b>4r;4emr0b9i>w zX<*GF(qM1dfy(3-(8&N;6@9ye)$fqKir_+@zjYpHq!uy(_Ttzjeg^RAaPY<|+DYJO zVL$B>sObtCrG!PtVNcMZ+;N~?y&etK1Y@ zfTM9bs9Du~%mLJyvT$s+1NUdXzjy%J6^Oe((|7?oZ`uLcJ1&5ny01BcBMGUNKjH}L ziGl{={)_H#gw%ixsi3yranI&s4v6-}fAD=Lc@CgN0XojzxAWa=l>5x8AZGs;Erc4g zGv(|57ruFr{v6)(x6Yr3ltGa7jEH7ksmuqD{~kX|Md2;E-=N0a0*LbH|Eg?`u=D$1 z<7ch6OSnM27@vy&|6lXK2AjZn43^B}{;QsIkYYeg7aec_`TP3|juenvA>(Di9CIxYY2a%3`eGcr$=>MvL4pL~xaii|H0N3~Y9?b`Tdo=%KLq5TXg}*%%R1Wv@ z+Fn6w0Du~9pyG$WwTuydmM-X|UJppIf>vlGLR|8q^Vt9Y&D9=|fnJXnt3XHXbngbu zR)8wc*&r@xvGgK)P+gg<09m8J-vBz0#itvxJp$5?0ktpKczwow z(0q9{_Mw;?XAx7qbIL&HfP(vzA3-P5bytJ?WUx&Ub3v=vdrhzDL%WTj_4SVbulaN* zYe3vp0J(%|BZg~l|U;=1Y4(RNL&igM^%D^qJ*VWCK!GyeYv-7)2? z!QTKn?gys&$BX~}UxJeUi{nt$py8HFwvf~=l?XNgDFv+916p$qP60389DIdaWc{83sBJ0;(%o1La^Uy>q7pWsoQOOXgXCXWe+j%lBM!XH6g+-l%}|1E z^y-W?mNa`D+?L-6lIpzwVkhV<5!)Bt8K87>930(9_QCp7;Q8Wrx1s$haAgDOV`N!_ z(%JtPo8mzIzYOHs5>_9A_9ue|_hgt#m7ph$sO$oH_WyrTZICNKr?Yh4e^Fob|Nm=C zSTTn&06*a*s2q_7jbOpH!{>t6$p8N@`os!c zov+mJIPRh%zyKOG=r#SNCB*Pr4A#E!0L^=PG#{6EA+!@Tkr1LH;9+@-zXddW;E{bO z!lTa3@&Pp0C|n52yRiL2p8t<~HXr?8^Z=xf12mt^-;xL#G3c&Q zk#PKf4ZQczqxpyhyh#xYp50V<9SgEt!2`6^KfzLp!Nn!D>`EzyZRz0~8>jdyujZMu5Ue!-Mg-2YBWakv?JbpAjz} zfhI6Jq4S>#FO*|I^Pj1pX5#x7Wm(_;zgPuo&Mi$vjxdz{Km8Xiu>iHp^nE+?IXpY#1z_nH zy4V=meIAW(Ko^sEbh`<-8ou3W0IGsP%OX9#KlJE4%HIH5r-N{=hviZJ_H@t!n%1|V z-6;Y5Ex$ocif%W^!cG2dtd=0>gPj9*J2(obnt|5sAK-7%0WF~GJOYX%aPpGy=}b{k z0QWpW3)MWEk7$6lxOB&;aDdi8bmpi;y!PdnXE1#0(R|pz^Z#*v0T&emegPj92Y$^S z6;RpEuj!&v;LI=RWAeh8U(m(mhBLo#h{+G{P8}1_sF{x?Xkx!RMh>|>_;!#PZtPzM1_meoZ6QW7AR{fnHgvkEcyxrQ z_!u5QHk`lZ-oO9<`87jS68N{V?(&gh*dM^azyJ>Y|DsZ+(4e0Uj@hFgy)`NYKArDg zXkKGr;1_670j<>H7j$(1g=_)805nhqrl^3*3Vwk(Dxg(r{DQFt{DPqh{DQs${DQ6w z{2C!D2`@81hs_*!QIPR07`}M$khM^Y=B3nqX0-q!lRQBL@Ri7I&ye49s#8~ zq-?(*q;((2;V(8te*MqS{i5Oss8WCL(fRI0ZzL$g9R{bRKvOA(*UTQBhe19uc(KVD zGz3%wD$QzCBwj3j1u78kzo?G*`u_!g5_pLMO8eNO@eTN>^=>x-!`nMSE(eV>d3=B9 z2}1 z4}m*`;M~+1q5>I_NMvMS02KwtT~t8Y7(m6X!D}D1`qA*VZ|7gn=3^3|Amjk8GwBXd zG4SftQR3HdQ3-J37j{wN@al|F67U2ayW9!7$HkIIg};Rf)R(n<%HQ&nfq~(ZBfo$f z2PlICcy`P2Z)2V7g_=128bRF)IimikZ|8eZsAhO{-h07$1(H5iFfcH{(nkirfR9QA zzrYj~(3k}%ae!7bq9+c}MKl)Bdjt7f4FCWC&%cdT31qbbB3(AYteyr=mxn=ab(H|Q z)dB1TP!jzHvRcDM#erYA1(MeVTvRgn1(`uWYWXc7chgPU5QGzkCt|201(NrK$`LOvXnBt1ZPBD{O?KMY*0L(Yf*wTbtE z{L)*aV(~(y8gyUKi)r!5D&GGWodZ(Q?Vts1MM^w!1%fnw z>(TfI6xJTyaRNTQCZG*l46cT6JvwiIY7+j|I8Z`EO0dWH+d)S=`L=!o70(j^$z#DWd`^VK~4?H1A>nr&v%5g}2vz zL5HG%?0&_w031 zVFbseBfp?)0Em?VVu8yd4NzLM;1>u{@!%JTQHgK_B{N4*A>;@ug+S^UJe!aG@a#O| zVR@LpH4`*kA?N{J!UakS9N?tT83S5V=c6Lw(HSWKNf_XAhy$7mK%t9~3P8Sip%n^> zba0jW?FCmTxCna91KyeU{=eu+15kaOq9WkY`TWJ5g^*&0CFJY>7c*j!;}X0+0HysF z;nQ6Pu52wpO}EYu;KJuPf5U%JPC$ywygaOM|e(eZ3PYT;>luSD0^@_mVhN9Q{q#&^wj>?NB(=~>~0 z$4y3t*XuAMz^AhW8Ua3?g_sf0d?W%X^udAs@5S6;aQ^WC$6e?17rfwr`u<{R(AWPj zEMt(@Pr}w`ftF2zwr3dmfDTIB1FC^R+uY#uXU8o({~rN0MvDa;LC5HU&kOwuT0Hg` zJd1;ER_K`?MlT0cS$JB$DU|?gf=vDF2Pp#`J;)XWI_2-U#cNK_W{`bnOKyVg`Un~k z=>*yJ{6%#%=zJ!m^w9VQdnt*TTQ_q7>*$i)k#v~5Du;Oq1EyuusXnc8s8ecEu zKq=y_N9P_D3-Gk)5*5(KJ^mJdkXlIM*ye&!GYRWL)5Z!p(B9B;yOq~rkT0KYxpYQB35*uu^haKiv332N?uXwX9V z&K8ve;K*8|;s9D(?FVWd3ACtqfM{?lqeX=S#1`mLkpRzCL=!Te= z*6E^B(CwlU&7!x*VmfqQ^XTqT`M|)y&^<*3R4;+5R)KD4 zLuOlz3R~yz?mgg|%dzucca4gUOSg-PhEL}jl?Navcl)S#cy_+_={)KSDwjMDK4J6e zo}%Kx#K7R+DWdM*8KchO-;M|#`F5%o+qb}p#S)#7s+!3R$lIGm$qON-Ig@AL1 zi@LgVXNbB6C}RnLgmt_-ebfz{J4)0ox?NNZKq@Txx4WnmfHhflL%al1Y2*3-B&f>D z@Mu2h;M;k`xAmk?HzXu|I?wU9^vf_X_*lN=Z)pSXO|U2J9?IM0!FU1GP|N@& z43LxmKLB;@JUqG`B|t^F!7dL_cK`l}zkyd4v|{!!_})2>?ky^y0|gL?3{;l3f01Ee z=yufT4%G2zy$y<5PzeqWPW~1J(8XBYg#!HBSpA%&7?4}~_y3Eo)&ljld{jV92ynB0 zr3@&&9R*z#YXClcq(qQ`0n~tnM3qNp54fS}(fQJ&6BcbTDh@A?F)%P7+RKjJA#5Cu z-8F1Hj@>zI60Y4bY%;FhK5PoU-7ahbj^7S2^S8VKrBVKEF>ETHpel=j0W@2!c+H3N zoX5e(3Lc#I9CtE44(YXKR~0!IUddb8GSlK zR0{Z8c>n+ZPuR<)+#fu_os_*&;Nvy%`5bhU;!8%*HHYB(2-MngVY2{HK5QC}-6d=W zom;>@^z1HSQ*iipjM=BV1)Q0{JrcJc{C(jNTWZ)$96D-LI2?B}F)%PR|6(c?^?+r# z?mghheEE`rf#KUB#*!RRlnJtGcE_-BIDR_}>fw0)cmBcO$1cUd;MpC*CgIU~ z$&r7`fp3SH9r>pobmce*w$kYbf8P^H1_sZAj}$yPfBAGm8l8^dvqL+tzs`qvzMm7c zr)ak%0|V497d8=)g%X$+P6H|8-xk6q<9YCbf+yz>pUxI=ao_>kSOQ5e-7P8#pgyYN z4`0p;9tR&O_;4O_H9YCldEK}3mgm7&3Z9)8JP*E503}wCLZ8lCuAnsM;L zg32J*&cmRr2riF5O#H6hJipwiXr8_0jy>dQ{XI85j;e6yV?9qN2*kz`%K; zdkVOC?(R|10o4+npmCG#9u)&nQN3-83aH3-0co@ZnFK0|UHG^6s8}&FFr>M3`luAR zboZ#(faQ81$*c3GPv_y6v%pR+Q9&x7K;HKF{s>eetpJ(ckSGBvIgUZfDWqo6F`w=p z6;Or5-|iy;DyI~>169BcUKf=JQ1F886ya|P&tJ1S)S(+Q%;4G0XzpHOwL| z-66~pKHVZD zNptP=VU>01Ja_P&fMZ7qt2}t~foEq3s{*J91C>V_paM&WU!zB*fC*F%2>Y-az+C3r zS;A@oE~Okmr4*>I4=SZRJem&#fJQW01lbuFJS@RCJF|h9-6qT)y>BFqx3m#8#gbt`Ug4z%akYN?i|Da)&m!hD4{i&Cr#zESIPy7Nd%nlCUjxm;a zxODqK!WJH^@Pcp)_&&@WX7I7uQw}+NI|?dN4uOx&cI3EJ8v4QGzw3{Bzn9&jpbP*t z2PKN&W@U&nFn}WpQJZ*luTjweHM$h9dT?I#IQUG#gY&E5H=phhW`$j#(hyuldN%)J z^6BgWmj?W;ph;?oY$3BRQrl=Tz1~owAyDxkH{{Qa? zDwwlB@eBAc8-T{pK#9hu+lN^L6c=FMgMvRx1hi?kgxSKk^_wIAltYf+j)8*m@Gejr z5$sJ@j>|BAl@@*Q{O|UoKKrGy2m=GOTo(KL|Nl#65%548l2zRy%odo|{T2piix6fT zPtf&`;Ii0P@t!B=HBj;I%XtlE6{uea?(2g+{z}2O^Rx^9HXmjWmkw9~^Um|&I|a|q zm!1b-YIt_O0+k4$@b0|o(;1`U;L;fb8vmLCiO6n9q5ZN1wCAzgk;A9E(7>bl2NR_2 z)CtZP4_Ki~Vt%oLA|p}<(I9G30hKi#oh~X74ZoR6jJqAd=jcRqJF0*bfh4;fH9$;o z1FAby0+b}d)tl=N{ytXF&8Xd#0xx=%85mxI7Vm)VMXC_qSYW9T+!dh}!YR-#JDn&M zLhvC5hL_!6{{MIBcC_erwCQwF3GnF7z zbUP|^wy1#aap`tcfwu0u9W^>zRBAvaKe!#)q5^8;uV5|}_UMMNp~IxsLg4r-)ZyP2 zY2X3!l9oKU9PRE=Im5`n(D)FPbX_<BXNw9*^UFJ+W>qI@-FeVlieWcsJa0dU01s~b7nM-}&EJ5= zU0M(Dx6BfRjfr`7v#kKNL?DB_wSu6Qh@SwcL_{9r1(mfN;Mf9XiEu$s^~=OB?8M>G z=>;Cs%y8k~R-oX~9RWH_nZL!H8I(X+&CR74_Jf9vppKX>4~;Kxun9*$@e4SEN4f-H z)ir3m?W8aR188th05sSIs+d88v*4~0XuMUR1zdOY3%UxtyaWnAnD6NG>4zuv>j?+LXqw@qn)yTFu z8_#YwkJbYoo#**mJV7Jopy5ObkVZe`A#!^G?4ifs+QNQuGt31@;Qm0R;Dfx_wkKUOoWrA??mlG4SXF%YfP<;0D4=4Q2-D$eH1# z9gv}=78Q^*tg;2S`Cl?(QwA|VN5$Y}0}BH~#~g55h+h+26ve0rxO83yjo%x9#(6-? zf8p&oP#bT7F1QTs0k`EqU0hIG?h`0=fI85I2S9UJ9H0St1INx=pejayUn54PfPWj* z7O}$~o$UO={u~~i{sR1h?h-zo@f!TX;RY_9;T9e7HZC3c4h|jpjyS@bcTZX02K|coS^wcP<4jG zT_mLg*Un?0k`81(hz7OAVaeg;e;!anu~OiLxeB<*f*04FNX7f>SpIEPEcv-XCm@1~ zNoG(dsPibu^DLlN@3zB^5dS-J9snK5fAGBmXb=KalelzVIQW7C)b<5+jX{m;ZXcC^ zPDr)aiFH84rSl+YP(Z+^^CPGN1yzF}?}Kat(V%_^sQd+0PMwf(5|@q;6*iyl5|s#C z*~SMnPU6#f8I;mEUS50$&qF9#p>v7~=;moq-s%9C+-p=oQzstXks9D3g%A~vl5(HU zv;5mwIgF$jkjv~0DQI!2%L7jM&Kw@ykb4n9Q*Q1*`1{U+ivMnJjPlyE^Ci5rUI|ju zX~8e-z~Ry9App+8;0*ej3Dl5pQ2}`x6eyquJpVRF3ur~?(H#l8hz;C;V`N|`$>86{ znr4VvpdXWjx^NDtSKoOIdx8Fg7e|5a+xf|nUyu!!gB|$=-2`4UyBb~shr37j9B8ZJ zJt*~e-Z=Pz0~Sf1ofkb1zEprVET-2&0axJ;9VIFbpl&iKnteKbK*dTAcp&U0 zxCV!mXW){kGXyjffisE}__whZ8KB0>B?(AP8UgMl<#NHJh8d|MH345LjTtfUSP=#* z2m$reP%BdYZ5|e#Jz#%$bVq<HAmsPJpixesaUMz+*qh3x2t#pTsy4}!|V%V+0z`(E{L_n*1 zV{vGb+y*|&@+hd5c7rrB9J}Kb9Qn7osdl)i7=Rcm9WE*bu5rYps;8#HBuJo}^wbH)`VNyQhH1c0geSY7T&`+W?9#4IdQ& z*Uk^1&XJ12%iApAfs#(L8~9Od=nedvVxSy&w7W;;0(t{q0^~5F8~7mYNDX|j=FS$C z51>uNp!?yWY3-r56vJ-NjM;t=0ZsNcBG9z9pB3yHP_pL(rEvpLVh8cu6db$VG(gh_ zp51QXp>Tl}%%C$cT~q|1otHXRaC_HH$Fn;QJmskg8IcF|jzN}~*>Jr@A^-U8%%5W^Cb)gi$EN>q}9^H4jaB`n~O zh|_^N98@}7xD6_cApH-|PFDd?76c_haNhLn%$4BRfP|MLzp$$Uw6*5g>8jz_5vv34 z(SRfjz=erphpPpMQQ+9&YWeaI6ExR#J4<+Ud!wv>c?s@I1_LI5S=aH zywx#9Wey``BB2G`(tzi$)&=0c{1g??Ia4n|$LWBk%h!Mvd3MKv#sjBmqE1wQ6NJVg z8#pwN!F&&jwx%#f@G_YQP}7uO&@BMueb8(csM>Y_aX?`KS~mmAexRihprQ&ko#n_c z7-!(fFBqoa$S>$80Iv2mAb}4G6b8@ETn^t(Xma%IbVUnG7nK4~K!QTd!Lh?t2gERN z>~J-B+0Mwo;Lx!K+>dYpM>4;FvjQlNL8Su!HfN6x7nN{O!vtQQbUQnMN(WGi_ULvt zK&rNDLHQLlvj$G$*)IIsSc^5J81{n}gFzGAWdTt2-vSO)a0}osNKbdM1}v;zyaY`c z!bhn<{S@#)ONs|QxFKU<9tWQ)cyOM@6=a~g5)@_pf*D%2n)8n}~Dz`qR=0-(|lRLFvC1t%5(NQn$eq5__st_+@?z8s)r3JM%hz$<`8 zg+R7>c7|$zbc4!F&rVkZkRnjw3sPhOk^tH7+3D&43i@!z4p$Gyj$BVieqrAL*ACwZ z*ACan?i!T@XhXoU^ONJjR~(%m4!#h8&V-`RTz3BGtWinmtWik;4P%1}IiJpxpyoel zfWxH|vJkU-4|vd}^Os9!h>8KIP0kK#Z#aNjrJ&XwtnuCnnQwuPmvsIHjkbeEa9lgj zf#zty^OvAn$fff-XbJ)}&f?N})TOfr+#v=TuH({)J_ibE*#CI+|G&ra7Vso718Cap zIAo$2-0?-4ECz)UXaX9Pv_KQcpeO)MOhXpkK=gZnR(?UW!xmjIF)$!a`@iU!_w_$` zxeX}GZ8HA)|0U?OYv_8Leq*TQJ_*pG_Q@b=(6B04!#>bJ%ZqyBum4}yKm@>w@<0OF z5CO1?Sdc&zl7J6Lz|-*UYc9jLph*Wv!}$FRMUc25L?Nh6@j@9Spa2m78zlr1fUXV# zWsw(*#-N2Fo}I^ED}x9@&=ML@oG>yl{1;uw2bvMxqXJ4{FTQMLWB}zDP-1=YU50_- zbs9*A7f1(at!oLN6vJy9(B6{c9^HGuqirt^Y-MD4DGfT|hXJJ46h!cVuD0&{{$JD? zWP0x&aOw8KEFDx**Qf}*=6)e;4O&8R9JENbek&sbczK!_pA-Z5c1f@W{M$Z*WEYk* zGQ0#$?StF^K6BC^M?7X+hNdX5+5r5crp7b$1{|9>5hBDoPPxd+_8 zdhrD$&kQmd=EfqBrvqR*z$^Od!8$;v3yFf18@~v*g18-~#}9M_u?*PJU=4n}QVg$o zUKm(?{r?(#ZX0+x132~d?g6LR7tyky>4X0-iVeR0f5C2rx*!L7J_6)^InX8_&>8EV zo%caIJ(2dm@+0qm1+VuIK{~S#ycYZj4`PJ~Xe~Hw{dFj4!!P6jhQ>FbsspsX*0b}t z=fUSJhPOcj#swY+U)b=sMu29iAf+Y)Lj!1|lBeZy{&q(W&?=ArpczC7P@&v%5ZwL; zFa5cpgu1%p|9??aZfFI@2{NwRN2LJN?XLjkNl8b5-XVbTcX(*7+m?cxk0B-FQj?! z=bZ!*2h#X+4(?=SU|=x37|(!t>x$1((i?KAbN-I=w-CkkcLqA1ZYI z^WePZ!FkT3vseRE+=2=;enDpgP{{#Vhv@C#(dq2LFB~1<)9D=nZbE>Heg%F(=LCL1 z?*gAr@GcX6;mIK1xElTkjVFPe@A>}-s5}Ds*{9P+!=p1sgTtfwsDO`Uib{b`H^guJ zEmPSTKqsp4xAd@quDU4EWdN;^s`l)T(FLuoDpv%ptpd$QB2U9!#`{48wDJvuSuM>5YGWP-jmtJ4`0dgBgKZ~hV&8+``JhKH z@8Nmi0scl0#uNV^c=ncoM-f3yz8Ada3=AHc%`}5T+sTZ9!Kc@D^&de7 z$L2Z@cK%jdCI*J%5DP&|+Flld=I_BP9$Ua&BhT(I3CC_X1yC*kt)O%5&Qk&P2|#>M zAb&f=?9s~`^+%8aJWS#AgTIdf+?E$n0X3n)(>)xZWwqU9pvGgQJeH7K3vM_fLhj58 zGSWnvCx71g&-`@|XM^(;$U}ygKveaVV}oXitIVL@7tH(bUif;08qF>$37{+iUe}3~ zIfzL@pmmx)ofe?t0c1UB6z}Cb&{pYgmpAR~78MGV~ zw75qDn$|o!4};R0N9Q5bw8jN$(sX`*>H8ZTdLH21{GxROBLirh0NhXp4N!xYL<%4~ zSaS-vQcmNqhcs$I0R#$X-|lsw5*D=oK~{24!W? zfuo?T8~_^IfUZ^pHC{nk`xC#w92HP5_UN6W0?Ol``SZE>1%d?9`0IUC1VFPI3h<}^ zXM2y%Ump8FH4tc&-$U^ezlMm)%VR(P|A+L(`)B?9|Nmt@v~R}(o<{}ceUF`BJ)lam z^PH!pp9a6i92Jn)N)kPL%QV1&-~jRpD80CLmqBB+*%A^6AW=jhcz})#gZkg$2S^t* z05}i<0NQ5)wSrKA=GplflE^+mT?sDGPVEG@l{>%tbn~dZeDVX-o_0~G0C@vc5rdKo zSiy0~ED2b=8#FQp8b$&o&+Z=ZoFAkm?V?fvZAODMLYvW`mIYEX8r((&Eu1gV`1=2K zGPwEt??r$HtoaNYIC&8Ql5+1KQ1__uU2^fI{RA2m<1k(q~@-JjSqR>_^sO)&b ztpREEg1gJ0D0(3l_y7NEThLC_-aX(YLNA_l{Qv*52fQ5l*h|n36wn=W(jbBdwuiNm z8Pu2rZICYqv3mD_`?N2#y8i!%>wqf`K~}=v_5c6t>KB>@pw{9s@N#_cwmN-~BG7u= zwpEM_ucJ_G6K0lTXogt9Ucw76CEqmu{}1ATy|KRY|9?HNpPjrFaB6vO@k#EN=fMreUs3hotyH%+*CfYL80FFJPTWq>>Z$`zoh zG8|My_LfP2#6YthFOHdm>VmWY-_|E3$^6?``#{En+Bwkj{2c?-cvY0r>e-9G3(2U? zKx69vL3ayPfU41)4i^<}-|oB!-`2OCIVwE-Euf3G__wigf*b+rS3w<-33J3oPVsZ z+gRs`qmJGE`!C4=E}g@{R)NOukZl6(JSsl-|39b!ifWT91I#8@f!E^T_A`oYrITC@ z-*)Gy@POLYpi}_bi3W-WP!AjwH94n2JvG=8YH&H+0xr$KLwNiGJ>c#WzaVIrW_Jsu zfbDcqu>i?{%m9rYJAj(Hph^nVoe1#gbavnu^fmxhUj`nX&I%xgg-53|cpb8WN2fD* z#e#-Mr?UiT2Mu%-ieK2-!>6-4z^5}g!lyGkp))%JG}6J{;hY27W72p8lo-*An0=rm z`GQ*oRz84|(2GCHU;n>G?k2wm2|x=BQ2f5Qr3@`Fz@5>~|B?*g9o2zW#slL>oCzqVB%|^}swkL7SLjMWq<_gGz8{ zTHX5>nt%>K@*~J5P)_ve{P*If9s`4CZ#g*kfu?U?oG^g4sv=yw^9u|Qcv`y~fU+*A zzAY3%RPLZE2;|(?{+_+%2B75c?g2^`1&-bM0Un*tU#vHRr2Ya>>X+!u0oCFxDj=gk z+CV8&0K@@Rd7wl9Zuo-QD31Kw@=F}~x4D;s1`K_>(-VAKpYXSU7IyM)V{H^c%^VN^ zK>hX^oH>qx9O9w^o>EHi0PQ?|_QDM``Jn;Lh7$Y&EGpmuP5~DcP#?!l05rV{iZ0*o z^bD|7HyIch96EAT5?ngp@^54116c{GOZI^(!vCUqFe@j5tvn8~65I#{)z7}&Dk}Wj zSZ@fUj^0|pbmf3`9fdmXqywZ43Tk;m_7;KqVW54EpmGA#HW3H`gJ5QAv0$?P~Z9-D9ol|Ns97ZCHh_iUQ?G@Hjar zF@Sn7pnMBT1fU!(0m`?aYz0!K!LI>X0MD;61-$49l(P*$%_ea621Of487O-P@CydR zvp6V2gR?j&Lu-I~#{&F<-U85^4N6k{!p;#soy7@0oz)pGo!JEr9oZ$ItXjogQDw&07w9uwG%*Na{uKaS^LOqAJ0z6omMMgD;I(B^EZH|3lMuD zz(Xv zrl5Uu0X~*CD*P?0L49t^5)}>p7LeJH9A^PC&;S(FAbWi}pS{Rg%*X)R~4;r@sJ7Pgr#Q52)|EK>-Zepz8ptMEA`EH6Nf`I0c=-VppoG=xAmt$1{T+i&gxpg{L`aO}?a@a-&-E(Nnv z6PzTGno|NG?-+oZQ*|I)G+a~!KoyDyr~(0%hM;271w44=q5@u@@&vS5Ujw8o160AS zI0PA{0o7tIDgvI($H8?SsHF*#e#rr;rND~{Kv@=KZU!V}b%T2|plMa4mW~G~frGk| zph7YNRC6VGbUGV=%C-Q0L2qzr2O1azN4W>I9plqk3?3x_`JZ3d*`YJr1C)#SI-Gq# z#WyG>`GuXq%^Q$7e}{7dr0@e30vLrKD5_oDCKi!x=@5(+i_ zfa?ax{&Wj)P6DNDXaU6sI>8ZXGsJQJ_TQkz;E)2!gTJK?v_8EXTtKbo!6=}3zCsh= zF>nhXyeI;E5Q71zaIye5hW(g8`+dKG@*HR?g#ncG171!7EjojbR~o+cY(8QETIwR< z@&6zwq(LzZE@l`&#SDjcXO1a2qBOiaT};8#nxJ+oScO8ji;9YKr;DiuI7&bz5_o2l z55xk`6Z3*th9FrU5X;E3`55?Q1qlyJ9~A+g?i!T<{+4B+g4yyrf6H9x+Ehpz2;>k@ zjsi8RH6e?X9YLp^cy_y}fX*=lEg}P*>;O8zq|-+QyhBz4T=eRI@)Vc_T0H>DW-cm* z9WE-oU@@Z(7Zn~*8OQ-H1G_+b)3>pDbE7s!R)2;DFzB#F=ph9Opfb?P0@NIV3{&z8 zI)kT?K_xCfv^-1zm4^kOvK^e11t5bPXr&@(Lu`aEXp+Xa^?#}S%Tmz65ArSy44^rM z7!|k_e@iq-W*h4oE>!37z??T9oUp*BK_q~3>uhsm=YiTwkj@D|c+V!Ni6`Krg2j2L z$3nb(2HMng+(iX6Ee0;NEg+>fCW z;)wnDV1a&daHb4x0&U8^5Ar~kIH;Tk&3FA5)%z^T@LCL%KczwW6V%w31_|+kc)g%` zs~FHRHQhBT8ZVM&L5BRmOGCgTX9h2z=i|RH6Z`uA#VPr(|6d%HN6xS)=chEk$?)j> z&A%;A)1l!nQ>lbccNzG6V96t(5};VZVJp+it)Rmg_yyQNrJn%*Ha87WXZRDp0Az)h zLbsbjr;7@YPj{IBO6k7{JaF>Wg@0QbsNs8`19eW`{v$Z8mE?jZmbyzhKqa%q3()yG zprY0Sl%PC76)b4$Jkrzys6`;aFU;)ISCz7tQ_k%)7e`w{(;n~f;g1M9(JUUvJ z1}btjJUjisrz1#!7L`bNcCw}Mi-7xHZX76P50pQC;z`lSpNV2Yup#g7J{sU9^fS&>(wBh7Y6$f6Ibg zgM;V3z1~98&qR=(?j9A;ZUE3CDNt_?G;{#kIszJB22Fy3$CO)7me_c79(Dyy^!^8( z%>q7z#NwqIXgL2kWL+0n;qeym+%LGqKHdUe0SXrHhPuBKA_khL1-TMZj6?K;OLB;I zXkiWt1f){K@GYpA0k;J~Eicf@9#DJ0qjL^;u`{T=QRrv^Z^Q@fM+HrHbhM~E1Xr>x zDxevNjuw?ipi1jFWcd_mvJkYMo5Q0!M#TcuX#$-NrO~1S>iatJ3%Y1Kz?vnXE;h(A zP!}6CUIv;u0QKvg_yuFM4V?G|L$no~_yv8m1)TT=S+qTyj|TWy?g0lZf6G76J&2ZX z`CGpJ`~Tmwn?=Q=`M@8K<{#|HGp~t_LWoPVJ$p-3I6xT?+yVjJ%iasw&*al-qw?Yq z4`>XwLUCe@w{pa{sS_n`3pLCDV|u0^}?o0pD&j{%x!m zL5e|@A!P6bqSyhvEE?PfbpVYs9?^$X>k}A23;P7!!Oad(0|PWMhqWJuWv<$%(;6Ci zpzB#7(>E-DJ3Yt1b9x3OMjMD2N+!YoSxPX>aI zh64NFrJLlQCn!mR8fK3C+j3OEvq%o09&i+Rmk4xv29$b0&P49SYEFTqUdXK^T%gK`Zw_Q_3%`pi|wTjfR@wVY6*6DheG?uS)Q5V|~Sd>{X9m z-Hmqz8K6m{4757A6XDyiE=qjsqN3Q*0-m-3w|A8~Ao&gy=AirP`CBZ&*HYSmnj#?} zSAm9tAh8WeeDz@Gy!7aVEJp>8+kr0YgrrwRkQPLGy$DX+*5I|-i1aF=OO^Cm%K*yz zAiMd6T{(QZZB$;?{)SYjpk6L4DRJ;`W9|Ac$$(hq;nAxbcn2Q7Vvyw)pmr5FHGS)# zEPO!`D*y^l3Gn$zufeB{gTs>r6_J zreb)4?1qP@0cgbou9EJ>9d<-12P*dXTYACkd0C}Fu7-Qmr`Pt;EkOp@BzXdO*#&r1 z1f{5Z_7~Z!5Y^yF;ct@^A05{9H4PS zP*D%-VImh+0-z0os3UHmf(kUB49@%x9k9a45n3jIMgu{`;tNK|nkf|na2igAgoq2s zk??4R7Ej=@icZw@3#!Q>=~ob>1-(2t4jz_3lm{%DREbkac>uB-lzu^t570OhC?|sU zxAV7b1r300W3BrwiL!C`-eYLIMnIees?Rju8Kf03hGmX){lT{EKsWuR3(9yjJ?jlW|P8S>e>Wa5(qAR z!@q&Hc!C@R@;azBp#WOY4{DWxVgoeB4{8DmK%0Otmx7i*y%dA$T?3v5g-2Se_dl>> z!65?L3@X6CZ40>iA`mfEOCfFoE6M>0 zq(B6~DxyIG!4Ltk3NMg=6GQ-Pza>ZjdFitTNB}yg3)UhI5`a$pfVHr(frbD;^Rw_Z z8XF!;g4Z~Mve*k|oB#h`%Y)>lKm=S-H%Jj^V5SMgfHsg{m}dR||FQ@?P>r;nBOa;* zY~Utq>;_ta6oCvh1TkO+KFNgM_zkig)did&b)YrZ3?K$fL$c=o|1UwQ0aL?`2a*in zF4%bx1E#?Uqycn(5J&^uduyOdz)t>eh26>RAVnY-)PWc<0}V6(|9@@sBAEB<{}+C| zU;n>O0u}48Ey1KQh=fjrgL3Vam#B2H5QA5;$Vv~!Q~w`< zFB<@Dka`Ik`Udl=Ss56>S9gBm7jRGjH6RQ?LBZkKdF+KfJE-%wEziKWyAE_KJbw$g zCfvr__eBzE9q512cXyxx9u3KYp!yE91{B;KQRm;r8Vk|@DontU^j~x@OoI) z(SvC?2Tm{u=j>I0G$TM8-a$QIa5oq<3k~9cyTKly(b5ReXlVv$I^8igLfG45^Kpi+iXAY181Abv=1)t7h(BP?oPp7s=;}KAdA`ON>id=Ak zdW_-g|JTqW7c8(9BmgaPL0)^Y1S9}0a=`+V89+rY_!!dv|3#hdNHV+@gz-!eyzl=- z)lhg6Af6C(PJ-jb&Ncu4zvhK=XMtKHo%dfj{r~d+#Wjwv|6g3>K;(DOco}Rv186M4 zv-3M>^sE=OY2(9h(47eB65tgcppkC=ZLB7rP@{6nEojPu)cD{gJ}Af_Juw|nmy!{r z1>`|!+De3J0ab{gLtcApRKT;9ALJmB32NIq@(a3vW|2V~huTtd$W7YG5##DEte zLl$|2sDSf4cy$VkichC9D7rvH-yE-*3~xK~Z+F)KwZAz)t5`q-trDJ{egdAIaS~~c zoo*VQ-R=sWoo)&qjYmL10FTeZNYVNI-xv77!63i9c=qqhe|~Q8YNqG^MW^0^tcieJ z3D6Gbfy2=v8B*9D`1|Gmix76?G6Hoy5-1gWc7pZ-y9spXNqBU}aX`-1^8lZ#2RX~l zO$IcZ<8p3C=a(YzB=R0pD(L+@ylEfcyiEo1-u- z(2^Nc)L4LKl0#%6aRbd;(6|BRCeRR$0C)wP59mPO5S0i}J_8;1i!E+^JJmpOBLL28 zAeI6+!+CbbbAVRk2sn1;OMn`T{Ei*&GQOSW9*svpp#qPSSma1a`imARfqy}f@8UA0i{yH?^mB6JZc)6(osPz2T2$_>g@a%L0S6xUc8g(-% zsBYr$?S^JP(7C_-+gP{1Lycf@m_3jPMl7pxQGrEp3rGu61V6b3bsACxgEL>TG$ev4 z&3wL{>Y!)^MX)=#F#QkWf_C_TrZ9Xut0iz`Gti9qiwVEKK(-4)+R}}`(IU9uHz8_s~%0V1__j`6pHj>!a{P6(c~_Cie03%r#?Iz1J< z3M%(1G}v3f9nPbm=#7B1%v@BU>xbay?SqcN5QEIsgBB4b7`_D+UXXcY(AstbenAfb zenIe17^v6OvnJTOlTb= z1A~uc3Fs1q#o&$5+gwz1SpL~C^KUx1M1f!d3W3{Rge2F9bDg7{J-GMg_XIN(9{Wz5im*w=e%+1b`Yk@}LN30F|$x z`%{tU>pVg+=j%)^W1p{+xeS@FOZf)M((wJC9+1g!cizVFPDO~SA02})Nr1LAa|I0ldvv~l+>8Jc_32f43!cJ6Dw2=zw;u-2hHZ0|05y?3yGuEITc3c6T8R<^ z&;g8~U4F&SB^kik9^5*(dLC+36S#?V)U)#)cni^MPRLaX;3dKDeL5fg7yWesl+uiS zIO3iz~Ax= zlqJDq>X0?Epkh=56l|a)i9xjyc*P)yB8*(z_}9~E-${PfmgiV`~?vMuU77S{sMGHg$HQ;$Hy=KU+e+5 ziBQ)of?D37_K;`iG0%g~Sisklu&6-xw-qQTz+8V3S3 zL7?3k15ZeIX4+%avh~|(s3n^q*&7rb9-wht)?5Zqq7d--e;72r4(-)|_7J#$Ix#+= zPE3dje8d1_6M=uHjyWhc!3(g>K_@#3cv#A)@VCZ*qEiSId!P|v@JcxW5DV7U1J~L( z*EfR#94Rg#r31LME&l*24#2l)e0vf80n}@O4Wz#RFDeEK%+45CWy_ul>2UhL|MLIE z;~&UnGPd%fVj^aFapW}i@?yN-T3P|!e{u>MjnGaDyrl4L z{Z@i^ypVS-1H*uh7p{2+&U2texZwL_YDz)JD&Bvw0j^?>o`8mQmJn!P;}VquP&V&u0iQq)vY`UR zKMpyW31l^R5aNd*0|TfW1zF*deWJjF@g->CQU>VMa?k-J3?7}wL8sAxieB)hCD1rL zh~v=NqH+gx&N^sZ(xcmz!*K^_!VI*F*}}K;lyB#6(2>`j_qtJ~RLw{R0x@-*(C4;3EwW&QqXDU%`QY+d0tj6ds%xJ7ZKd z__tj?_(;No^OQ^HXGi{R=MFv;@Zh}Y+Ih~Af7``_k2pLyPx*HKb>!c6-h=a^XZDo> z&>1q|v$Q)|#5_7(#5ni`W5fh}J1_clhKMQng07B=5!2uo_7OAi==2c-A1(x1s{~RD z-s=O3CJ@I1G^}UxmxLmK}z7qNuy78TH*s7@C#@TNZb4i~W;kXpG87qMKA|K~lLj~0NA%m9tW zM}v+DwqBzGiVgl2Ul6aeM#aLT+m*qi*W)*2)zeQ7P*at`19INP>KLR|PoTX40-yQo zTocmx>swSnj_7vH=!CccH0KGrEdf-fHhuwZeRKtRP{jb;VDR|m6cquVUdTNKpzsAx9=5*#IS%Az4)9eZxuEkb4&Oy>J=CaZ{1=rwCdmLg z!&$?l^BQ=$$vTkEZXeL$zC9|SgQ7rb6?Cc?Xu=V6WFIK4f^P2sJA;9Np@F}p7j#r> z=Nj;$9#CRb0QLNuj|R9JJ~2G`5){7t@(iB6r3#>0BjQES8<6)}R6xfrflLQ2#{<o6croz8HM5Q#%u`^5+BvkI$ z5vK0h>Ba#Xkpwj^K*oU9wSkS-m;#>n1Q`#$7Xh>c2{fY(T9O3Hh~1F6X^?XumH7=& z69ke6wt#0<`M1@m@PW_N;`eMm3ceoH0eb74f>$St5-8h(w0d>AsJ;N%54K062YmJ) zcwHSM0|RI!o$3uIenB7A6QC7%sym$cg=3T)oH}ZhJlr~5lsug}N|d}nDfb8i1A|kC zi|T*qadA$aE~>x5sTY(b(wz9OxhMsIn`4%s*y;`eZBRN6Is?b@5r4}*@IoUW6$ekt zSO)&qcu=3cw-mhQ&J}zH0LW{gGzSXw7XjbF^9`rKHK?`V3f`6p%4ojbrJ#X;wA-iycgGGxi@z>#+5j)WiU9SKUGpHL0HB5f zq^0NrY9jc6ng}5(6-fJ=K$FlFpp6^dwV>q70=U&3Uu%!$Yr3k z{F3$W|No%k%b>f|!=u|(!J|7=V+H777{_hUgJD3MM%IEB-FB9!D1fd&(BKCd2HF<` zD)AsoV!?YHVlBX+43$>PVgW?rDLlprU&YGQs60hzKpF!uDK!OO= zldk}svjIw0XcJSQQ$pB5D;GeX@aT?p0NZ?pg@M7h^DqB4*3~zV$AW!&ZHu--)?0N# zRw9CnMHg-chR^(U&K%&P8#q1)7{FnGNc0J;j10b=@468E$10YAF@n3V`c*(`WzyJ$qP^^K%`7?jME9iug z7L^I00oQI<U~eghN4G2Z z>={@t17(^Q{%=85N~{MsYS)2+V;k$`YsiVpr`L4WW>CCBs<|%kl3VcR9#G-}SEDa1 z6Hro^E4~zl+>rsLFjt0`t{{7%=^b3xdw@z@egQ~f2?_vE?oj}zAdtUYx>Lbh1tVTC zd;t|C`H%ia9L+W28aQ$1W@xt-|DAr4DT==)uT7aV5l7CyMtqcFQQY-##vDToX2x2kl zM4ST09gww3pm^x6QL%to42xAy&~;8Hz>Uh6>p<(4(cJ>E{R-&RL{RMx8hA?pn+!Tm zvEmbGZzHI1bKC)0M})8kvTXRJ)mKm?yE-)2a+jR}uR&MeABQZ~2l>XM^XzLuP&9$cYj8?p1s^L7O-Ws#;&B^m=M}V+6tEGI zk`95-IzvlI?_()SN#J2r&^b+@_6Vp&2aRq>6YHfa=qO~v|LA2}tIqHL{|yg-y#oyy zkbaQ2__xLSK!QK@Jt)py1Npa=`tolJ_2b{>8{h+v4*qSm{;r)rL3iVLfNq3ij!{u? z?fmC>@ST9i!DkvCocCNhe;<4;;c@Vhfd}U&pU!_C2j3}p9DHu!!Fe5Y6d$OC?$i0- zebRGaz4+b8czZ@YKMSxNiC^0yoCo53m z(0Cd98MKn^EjS!}dQH!-7i0h(90IX!4fsMbkM7t2aQ+9iTKTuJUcQ7}t~>sRWPEGz zYS^Q&vfKr9(VaE_HrAye)kp<7MD3zQ*WvM56(l|Wyok+bH^D1wF@1I#q#DC#v(S9D_aD`Lb{>2y z?psjL(f|}$p!%18n`;DUgSJO+DYWdn@&?qZ5D1L~75Ct@DliAUvhQ_1TaC;qKT7NXZfX7PN*Jv`9f1aWzK{yk$^%{31xg;Ed^(dh%+AO1WX_TV136y0?H5p zu$FBg0U^WNu+a|Cz&wu}4v<@V(8DcslJL=f{|Nj!Sf9Hkwqc8u#mVq4By$9T?f3Y@(k>RBysM`-Z zQgIKszy2fDD2KWC~OdsPuku9Hgha zM#bTUFUb6dpsDUN4?$z-$3ZP9uo`2i2Cya5KpJ31&Gh;I|0QU`;k7Z$``|Sl3%5X) zLxXzzFRoaE?}smgnhFZ�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

kVr&S(zD&TIkK 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

fs|(FN_diRItsqN3m7q7n}}(%rzN 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≧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 {hh2!@#iO*Mt94;ush>en0qs zBA$U^&hH2Rza%m+-1zOP-$-R((D?u0zd?j2Dwzxn zKNuhWcgSR5@L+oQKPHobVIkAQ|8p`K7NAdi8;g5}|VgCYh73(klC6N(uaUT{AAKc$#~;RpA_ z{~qNG3^PO?{-06Kz;HwA;r|yPzVgHW78MK(7FrMgcT_MiR2V<}e*;8YKK!py$-wZ! z@!|i9N(KfA&xijlY8V(YJRkm_QNzHn!}H<)A2kdN99|FqN7OPfM0h>?FHpz8u)^!% z{}Xi#3`yP({~I(gFii1&_mc{t`2WKS28I)f5C5}lXJCj(dia0FE(V4d$q)aZ z*u}tbBIV)#4|^CGE~Y&EuW^cz!6WtI|C+rF3>Ik*|6kb4z%ViW;s2C<3=A9@5C88u z#K7<)_u+qz!wd`@B@h3H9A;oRQT6bD%P|H9iRy>{Z(Lwx;HY`{-{d$0gG9~4|0Smw z7%FNW{!jVH$Y4?X@W04u28N2-hyVA0_;nBeKl#YWFr)6_f00j&3=#DY{~Kg8G2Cc) z_}}3g1A|24!~Z9)F)(;EKK!3@mw}<8@!|i9y9^8+jSv5Cxy!&Xqw(SY8TS|%Ry02R zzvdnT!;Z#>|KHqWVBlza_&?$Z6T^xczw(fQL8JHK{|^rt7(77qBL;?y-iQAS9y2gh^gjIG@|b~P zM(@M_3{MysR`fpnFY<(eA)@c$|ClEX3>^Ir|4(?rz_6qL;r}B~7#K1pJpBLT2?K+~ z#E1WNo-#0;nE3F2!czu@ib)UuPkG9~pfUO3{}WFc7;a2{`2WvS28NC)5C0oHV_>kD z`tX0sGX{niQy>1H@r;3C#L3@7G1{J-D@14G5! zhySmo77HH!U-FWH;l+Z7|8KlxV3@J+ z;eVc23=AHN9{zWD#lY}m(Zl~GuNW9sEPnWZ#VZDeh$RpI-+9Hrz_Ikkv9ws8Y>_E_jtp=aAW1e z|21zI7&=xx{J-H11B1othyS0vVPJT%`r&_xw+sw3);#?0^Ok|ZW9`HL4R0A3eyn}? zf6H42h861`{(te7fgxi3!~Zhx7#KJNaAMQL{|fIJ7%DbD{2%h3fk9)-!~Y%c85nMCdH8?Ndj^J%tq=cyc+bFKvF+i1 zl@AOIFSb4WAMt^KVaE1{|9d_#FnH{E`2WBM28JIy9{&IGfq`Mg&WHasJ~A*w?0Wb= z<|6|G$L@#!CwydJ*s=TJ|05q67&7)e{Qu)41B1lghyQgxF)*Ci`|y9lCkBR!eGmUn z`NY7WvH#)!6Q39uZtQ>f|Ia4|hK>Ud{~LT}V6Zs&@PEo@28I_0AO4^5nSo)(p@;v^ zd}d(qIQ;NG!xsjIABP|QH~GTAu;R$W{~2Ex7$S~7{6FUl0|UpghyO2pVPM#C?BRcw zuM7+s#~=RJ;AdvwIPvg*1V1ywj|UI`Kj3F((0KCj{|*6Wh80gA{!dY6WUzSl@c#@I zMurp59{!&r$INi!`NRJyI?N0&UOfD-c}|2upb z8907F{C^>nk-_5k!~Zo|j0_pSAO2U!W@MQ0`{Dm1*^CS)en0%5k;BOF|Ah=jh7+uh{_|uqGI+2*`oAQafgywa(f=JFdG<&D zT|na8kN(fdWMnwO^XUJFOhyI`kw^bsvKSdwh(7v1CySBchxnuaFR~aJDkLBMcL3Qd z{pf#BHY02i3=DFLkN&g7FffEEKKic_!@w{}>Cyj) z7zTzLN{{~6#4s?tPTkN%&CWnj3W`RMApb&?qvDzYE_k4R=L&428N6UkN$s1V_@i5@aVrlIs?Os1&{t`fZ9C^AN_AhXJDAI z=+XZbAbQE8{}<937(A9e`u``LfnmprNB=c47#Jj0KKdV#!N6d#^3ne(84L_3RzCV) zk;%YNvFg$P9hnRaCssfD|0I)vfn)8X|2$a?3_I37`friNz|gVo(f^bz28N9FkN!^p z(HkE9-vbig2ukM+3?7>v{TIk)V9?n7=)X-i1H+DOkN)RmGcdf^`RM|W8b6yUqIsf9{pDUwWAI^`tOs&zz}ip(f^7Z1_p~mkN*G2VPN=i=+S?ZTm}Y? z6OaC<!fNSuE3|4J?cL&fz+|5@@F7&vY|`md44z#wt! z(f^!01_qBikN)@MF)+-y_vrtDJO+jz4<7x0lgGf&@$k`qnS2I@6+a&R_sM5qsQCTp ze@Q+A!;gQD{x8S}Z3ubv|3p3m!wkm9|G(rjFzjG_{GX$Mf#C%6MQ$iOf|?D2n*A_j&XVvqkffZCT5kN;Z~GBR{XKK_5Eh=GAa>hb>%MGOox zq#pkl0JS%z9{*Pv#1|DRCJz_4QXG_al99pV;N$-Rm5dB44n6+gQOU^gIT^OKKPxI&MDxzoCYKA>!8K|5s`l7&LA_{x49= zz;NUCWnkdA_xS$-5dZ$;{~C1+3>FU_|M#h5V0iK1@&7xOj0_eJ zAOA0?V_@KT^!WdrItGRtj~@U3Qpdoc@%ZuoKb4FO98VtqPpM*LSn=xde~o$uh7+$I z|F@}UV9e~lVO28q9q|L>`1U|8|@@&7L%bN@d6&(XlZ@Z#^||1u2>3>^O+ z|F5ZGWQh3x`2Us~Murs(PyYX?VPv?$^yI%w0|P?_%ai{Z4Gat(Y)}68G%zsCV1M#| zK?4Ir1m~0gR~i@?Zg4&M?^DajV8Qd`e@iVR!wkMB|35S^Flg{U`G2F9k-5;`sBY%JtG5$`jh`L^^6QZ)SvucQ_sjS!|%y|(9VV% z{!jkfG%_%}2zc^;P9p<@Mc9-7ZyFgGI-;NacW7W_=!kvt-=c|ufg|q8|1}Ma3_lW{ z{Fi8CWSEikbp8Q|Z#K>@?@X7xlO^gf@ z?N9#iX<}fI=m7B<7|lPq@97mW9O6q0v!wt9lM|WkLh4wh`9IU|AP(&29F0%{_Auy zFmyb4^53VEfkEQYlm8KIj0_p_PyhFHGBEs5eER=OCj&!<%G3W2T?`CAG@t&T(8a*8 zL+|PTif%@R43nq-?{qORoG^L%pQoFFp~LLy|A=k|1`Ug+{~vTSGI&@${l5exZuRv4 zg>D803&*GbGkO>pDjc8w@91G**x~r}|Arn0h9AyP{|odoFm$*+{U6iIz#!rN^nXDQ zBg2irr~g;2F) zA_IfPny3Gl^fNM4Y<~Lx#6(a%_w>KSBnE~byPy6~nZ&?wWAD@d8$kSnPyhb`(TAV@ z_n6GUaO3FH|3CT}8Gf96`hUt~28N8&Pyc&NU}Uhk{Ph2W$qWoDt~~wEGlhYH3^H43=9_cpZ=dSfsx_Iqo@C4CNeUdc>MJL znu&}IKb}4P&oYUT!Q%PT|0a_d8D=~OxrdSA$MdKEr%YmG$oTQ}f6Zh@1`dX2|0Sj{ zGI%gN`|mM@k)ea(+5eU)j0_x1&;Gxe!pN|L>Dm8~sf-LOn4kUMGnJ8{g5}wNm1&F& zD_EcXFPX;3@PhT(|0UBH88q0Q{eLhG)J}f(Uu8NY!w=49|9hr0GFWgw`~P4%Bf|{t zXa5yuFfwF_J^ODmlaXPD__P0WW->B(NId)h0Ypna`yVljkzt4Av;Q5l7#V&@J^O!W z79&H3^t1muvl$sGWS;$Rn9azrL+0844YNV*=V$*}<}fly$UXZXF^7>MLhjlBjya4B zGZdcv|1gJ<;fKPr{|a*%89Ef7{Z9bVYR~@PnajxVLhadqo_V15@w5LW^B5U2G@kw6 zGLMmAg~qf0ALcPKRA@f?A2FYiK||}={~7Zc8E$Aj`~L>S*M9b2V*w+Bht9MA6$=;{ zZsQ2Wv;R*PGBQ{gKl?ATh>@Yf_}PD#MT`s_ zX3zewS;WY&!|d7rFN+u%G|Zp;RxvVY1U~zJV-+KVMZ~lJE~^lhh45}*BVSjWh~k@W2Ui*<|)Ka!sPw^`4~ zup;Hz|0U}g86r}j{pZ=h$l#Io?0?S&Mus10&;Fm-z{qeT{n`H&Ab(^$`_HqHkwK#5 z+5Zcm@u-q#|2d{HF#ITa_TOO|0|Q6tv;PSj85wT$KKs9ABO`;xglGRlrZF&dOaP@@ z28JIKp8a1ije$X9; z{|&YY*?7ztlMh1;%&;F~-U|^W>?AiZ0I~W;$ym5XynFV)W+nr} zj*rj&ubIifkn!o+{|hr27*>1&3>AN#{ci#B|2_M^ zXBGoP1k3aPUuH2d>|lBRUtu-_!wJsk|3hXoFl2B&|6enkfnf&s^Zz?$Gca%nJ^%k< zHUq;C;phJ~<}fgv5PSYVVGaXBg~ap!J#!csBqX2z-vbhtdj9{#90mprndkpy<}xt+ zkbC|=W-bH64Eg8(Tjnw_cqlyozh*82!w#kA|L@FYV7Q_7{6Eh;P(Szif0KEj`sexo z5D;JM`Tv%A3=A{0pa0)7kAXo#_xb+^^B5R744?lOn9soAVf_4mzN zSYi77{~D0E+4KKb<})xdHz3OAp=81?DPKxAb#xg{}UE6Fr0{e{(s9t z28I{0&;OrT$iScx_x!)aA_j(vxaa?4K=B;^{QsJrj0_g>&;MW8$;i+V|NOtpB2Yc{ z{6EhwMur)w&;O?^Vqn;j`uu;(A_j&Vsn7o}S;WBbBlY?JBa0XqB+{P$ci6?qpppLk zf59$Bh85}0|33k#Pk;X3Vle~5ij3#~6BaWt{K$Czf5k3FhK|hV|3!8)GR(+&{{PBi z28JD3&;M8KW@K2A`~3fx#S9E5a-aVfS;D|@BJcVCJ-ZnhBJ!XA|FWBrp`+mWe~mqi z3>ihw|2r&UVCX1%{y$*}1H+1<=l^5&Ffv4xKmXsbgn>b#;`#p*OBom}DxUv;v6O)! zqT=~~j%5rC6&26_8!TgBm{IZke*lQCeEz>?83V(O%IE**EMs7hsCxc?$1(+EA>@c8rmf5JXSh6;`s|1(xGFr46e@qY?Pp7+K7Ir|tHB=}zZKeLaK;RWA||9|#@ z#+6?DH`vd}km2^?|B+P;3>NM${=Zqpz>wkd;(yA1Mur`MFaFQi&&c2r^y2@S{frDN zf?oXpv7eFQMDUCMGOHOFIznFjcUjHA@FV=i|B}_9bob)F$pJ!GK|8GF*p1=67 za+s09;>C;q66+WkIKIF5@3D@7p@Q?}|B7`C3?5uB|1Vg_z%YaB<^K~Pd7+p8KdfV5 z=n#MTUtv81gNDS*{~_xc7*@f5S!w28-aA|IdK*$G-gk1SB8(@;}27Muv{Km;VJe zfySR+{&(5Lz~GVa^1sOuMur*5FaH;80?l{4{6A+CC?CK4e_|5@gGJ`c{~1RZ8CK-H z{Qm=_KKJE+jm-=U8hJ1OM{H(b*irEEf5&D929DyF|95O=V6dot`QK&>1H+Hnm;dJ+ zVPtqw_ws+r76yin`j`JN9ARY0Xn6Vm&k;t39nCNQPuRl1VA1mO{}zz?mY4tUY++!S z(f;zk!BIwr9UU+Kb8KZ`=;(a;Kj$bTgGA5E|0|9%GFbG!{Qu-ABg2c{m;V)xF)~Q> zzx;2om4V?!|I7a|#~2xAOnCW!!ZAh$i-|A)M{EU+XTAJ?<`^Txi`g&#GaP4R@R;-R zzs_++hK#u{|1a3ez#y^Y<^PQ1j0_g*UjDxVGH2b({|wte{qmRp=NxBb*m2wxBuPQUygvYmlJ_@%rWe0MIzDtpoM2?&c=Pgq#V%0&{qp}Gko(@g{BLlQk%8mg z%l|)iF);l2^76mNZU%-QUtj*uILXNHO9tMUVzh3^oa1t~w{_?-c9tH-EKQI4( zImyV7@#p3LfISQh9e-Z_FW3W`kA3-n!X5^O9e-Z_->?TXFZ=TUg*^-mFaEszA99M3 z;m6;X|2s}GGI0EV`G3zTMur>zU;ck`ijhHr>D7Opy$lQ*Ot1b+oMvQ*V1D&qXDuh)&CQx85tx5Uj6@Znvr3L zz^nfciG3l5FzyHf6qP!h6i?5{3=A2Pum1DwXJDw1eDz;vKLbODvLDnAdG-Iv8AgU1 zar|cxb=+|KtDz!wKzI z{|yc@Fi7aU`tNd(fnkTvtN#@T85mCJzWRUUAOph~L>VL~QMur_mum0aS$H?%)_|^Xi?6&3=BWa zU;Q^Y!oXl*_3D4f5e9|`t5^SXjxaEESikyTah{Rkh4ridE6y`ANZ7pkf8#tO!wH*L z|MwhWVBoNQ_21zFBSS^xtN$;KFfh!BeD$B7J_{!am!lltnv#4%7i=GA|XV+;&G(q8?a zbBuvuM*6G&2aYi?cx1f#|Ku10Lr2D|{|Xlw8GdBE`X6(Vks%`U)&C#I7#K1#U;XDf z&cINS`Rc#IaR!Et%vb+sTx4X>$a?kvz(vqF&a3|(#~B!AU zZsfoEf8;m=gGa%u|8GF^!iBH?OPpX}cv1N3zsm^*h8ab#{#Tq}V2~(&^?%L@1_qDf zSN}yWF)~NLL{_nZM$iUI@>c7fWQ2F}mf6rA$h8vx){@=OE$nc}<)qjO+j0_olul^T+ z=>Av#KU`yE=$Q2Cf5df0h7*%s{qMNW$Ph90)&CFI85w3wd-dPt1|!3X8L$4YxxvVw zG4s{`J2w~^JZ8Q6uXB@;L1O8v{|>hp86uXx`oHG{1H+A_ul^U@Vq{pc?A8Axw-^~- zta$Zb=QbmQ$I4g#b8a&-+*tYQ|C-y33>E8M{nxm|$RM%t)&CWD7#S)yzWRUT4kLrd zrdR(R?lLm`*!1du!(B!Oi_Ne8@43s!z_I1k|2rob7*=d~^z|LXsTr;H387he63c*e+(aq-pvJ^4$xB9tjK{D3`@CXgnDOM*|1GZ=8E!m%_5TNm|LoO& zo7apCH(tK_-}9Q0A>#F`|2A(J8BV-@^}pr~Bg2n3um0=2Wn`G~?$!T0Ao|0r|1R$s z8D4yN^}hi`e|q)*#z_W-iqEh9UwFsJu;RG*zx<-|2?M} z7*70t_5Z?Y&^n-3|DT*@V0iHxRPHk{{P_LqzrYz#z4Yq8${7X*jX$scTbyBF@c8rU zzt0&4hKxU;@*Px9z4~8r22@Xh%4<;l^y+`bCq@R2zpwtU_{7Li@%PpLIcFFcX8e8i z|Hda!eFZAd85lJFz50LV3NzgPbsfaL$Z`p@y1k>SR_SN|E#GB8N|fA!zuGb4ip z!|VSdXBikY7+(L^ILpAm!T9=r0Eo}{`hUt<28Ifz*Z*gnWnk!Fdi{URSq6p`Ot1f+ zI15@Y^!opuvkVL`m|p+?0Mf_&`ajD#1_ll0*Z(EXF)-XEcoMT{E z!S?!p&u2yk4$jyA8P0?H%dh`ioM&K=;C}r-<2-2n(ChzGKzyFp|G$9T#ryhy%oj$6 z4yo7wd%iL;FC97#V)Zz5f5;8zaLC z`Pct7zB4jND7^k(@STw%LgDrQ1>ZsQL9hRR0P&Sx|5y0I$l#&;`hUs~MurNN*Z;DUWF*3Z+c>RCHc?O0Z zny>#q_{GS;q5b;5%5O%78``h`_xxsL@X&qz|ITkl1`fT~{}ui)GVIWM{lDW6BSVJ% z>;HHDFfvFOy#DXG%8{|hiMF-W+*{;$Ev z#Bjsy_5U13CWaO6um4{G@jYJuXSu+@pyB!YzYP-;!w%2a|67=t7=C!a{{M!Fi6O%0 z^?w;=CWak8um8t@=)l+iZ!j}4bOgQruff8^5E1;F8gObij>um6{@GBNB3fBk<6D-(l9)a(CWSeY1pM7{p+!N$a35&imq1sfAX zMa=8}XV{n+I$~e{S72viI1&5$e+)YlLq*){|8qe6xYz%0uro2dh=2WGgM*3TN5bp> z5gbem8A-4IAK+kO;7ED>KZ28qVMogA{|7jk7%Z}1|BvBfV&KSq{r?CT6T^($*Z&!~ znHYBDz5XA<&BV}=|N8$PZYG9^g4h35c$gS=6u$ny1Vk6V{@=pO#E?5>ny#D`zkBQ+$&FlXP{7eiQwXgrj@G~*2sC)hY2tO0UkNVgDMFf}_PBgs! zUn9W8P|^7M{}TZwh8vBq|BDDRG5lzH{XasGiJ_zI_5Uv*y8ZS45+Npr6CJPrpAceV zsOWnA-$0m&L8JTi{~Tc^hK!!q{|^W=F-Y{j{;wgz#L&_E`hSE76NAO%*Z(6ffX3@y z|5p)ZVu+aX`hU&^28JC|UjNS!Wn$o%`ucyz1qOzSsjvUf5M^SRG2``r6EP-+ikYwf zw}>$@WXyW~|BV{=WhgUvppopCHb}Fk`{%|4+o37(5og{%;|{ z#2~Ts_5U6TCWee)&fBoMXG2Hm~`u`d^CWZ*6H~$&rnHW|uz4>n= z&%|KC^5%boJQKqV);Iqz$TKm#V14tSM}djq1^b)-2?|UMCph2y-=e_8Ai?$K{|5yo zh79gE|6LTB7;Y%O`9DLEi9ti@&HpQkObi@aZ~m{i$iT2d>&<@+B_;+7vp4@QTx4L_ zVfN<#kBbZp66SCI*C;VDNLal2zekCQfy3&}e~C*B3>MaJ{tGBGF?3kJ`R}95#Bjs< z&HoN%CWZ>zH~;S_Gcmldee+*Ng^3};?#=&*OAHJz?B4v30rBnM{GX%3#Gv8u=KmWN zCWaXfZ~p73GBI#CzWJY{%EYk3@y-7|s!R+LPH+AiHJA<_h>LNyoh-7UqzFNVMpYf{}q}{3>{H# z{y)%UVz?3g=D&v)69Y%goBtJBObjPt-u&OA#l%n%`{uuZHWR~(*f;+Zw3!%wq`mo{ zpu@y)Bje5g6FN)`9hqNBW)!^nuVBE$;8FPIe}VxMLr3A8 z|8oqO7$l0`{Qm$FFMjhs!jOrNo%YfcR_Q{C6;6VyIa6=6{O`6NAP2 zH~-(5FfqJX|K@*)DHFqq4R8L>FlAzh*!brE2~#G985`gHXE9@9(Af0m|DH<>3>BN+ z{5LUUV&K^P=6{MA6NAK-H~$xyF)>7JdGr5{854uYwm1J(%$XQYY=86rfH@OG#+^6+ zMJ$*YR@`~>-^GH7;l-Ud|4S^G7&7j?`7dC}#NcuN&HoBZCI*QIZ~mXLWMYVT@a8{< z6%)gYhj0GJSTQkhJbv?kjTI9^#*;Vy8LXKYGCsZepJ2np@Z!sx{~K(W7%INL`Ojj@ z#Gvu*&3_+TCWaZ`-u$0p%fxWw+nfJKY?&B-{CM+U#Eyv}yIZ!tm|?HLgqy z9>#C~-?+rU5MliG{|k_~_1pgzZcGduc5napxG^zw*uDLK!i|X`!v5|5H=y{ifBWCS zorz(G{oDTxml+sd*uVWRa+!fa!r|?IgUbvI9u9B+`&?#VsBn1uKjSh3!wQGD|649I zFx+r>`+vb@1_lntxBvHC2F<&^{eR;!14D-6+y7rKGce3>eEVPE3IoFl$G86z+?g0w zIKBPf;m*XM;qvysiU$+JjIg)=Lp+%nG{WEhU*XBb5E1eAzknAL!-W5DR2L;@L^(Dk@EKc z6CWmqh}5_Lb$po^PNcs5U*gNez>)U${}Nv&291oj|G)S$G0ez#`(MQml<(gD&+ubn z_>uYc{{}xMh8R@A=zUlGK_5K;H`zrz&o}a7X&jgbacM`&k@4J@T2qX|A-JK z29C*Z|3`!}F>p+I`~N^F6T^!oZ~qH~F)^%I`S$-3P&}-B`+vt31_q8*Z~q?&V`4b5 z>g|7ya3%(h)o=e>gflT@tbY5yBAkgqV$IwCJHnY5BG$b9{{=*EeEZ)cf{CGG>)Zcx zBA6I{Y_~EzzL!y}& zERMYWKPQ@rf#c}g|12>~3^$Ix{T~s-#IWMn+y4h*m>7N>fBRn}mWe^*#M}Q7u}lmW zr{4ZQ5X;1{;_Tc18gWbv9OvKuUlGT|;Bo%#{~K{k3=ucp{=X5=#2|6=?SGjBCWaF? z-~LZYU}C7a{r3Nv1SWbNoHb*c=YyvMKY-Tc>DiB zG84m&$8Z08q%bj5JbC-SCxwZ@6b! zc>8}(1{1>%&UgO>GMN}Ggx>vUxyr!sL+IWAluRZD50Q8Ow`4Lg+z@&9|3fAd!w%7R z|81@^FldOq``>YufgwZe-G7BFCWZ>>cmJ1w#AV+7|8SLoVTIbe|0P*W3>xb1{;OPL zV2DtE_kT$i6N81uyZ?7U>h0eBugGR%kg$LEe@`|O!wdU&|6@Sv9N+yfxCY9<@BX)3 z1Fgq=_y0{c6N859yZ;M7>)GAj{Wr*AVz3B$_rE2Fi9sUs-Ty5heOd4Rf5>5CxRL$t z|C4JB3>sWy!&r*oq-{u@ZJBE zJSK(}h420^$YWyQD0=t*LLL*tiSBp*Rq~k_X7s%KUy{$n&@t=X|0nrO3@7Hl`)^Ue z#2~TY-T#sTCWaL&-u*vOz{K!l#k>DM3YZu=_PzV>Q^>^Naq!*$mO>^5j%)A!-za2a zh`9Fdzeo`i!;A;-{(D?!V3_gf-T#&%CWad?-u=H(#Kf@T<-7k5#Y_wtzu*0zQq06~ zgZcgc7sX5rE7;%vw<%#_xWV`S|AZ1IhK$Ph|DTjFG3=;(|6ie$i9w?3{r?Tu85mYn zz5gFj%EZ7?|Nj3Rka+9+|3|JfFl4m8|NjBR?|A>;pp1zjW7_-wEoDp$7IWYKzflJA z&-?!x@Fy z|6c%-|Nj1eKqV8yj_>dP@2F&AxWV}0zeW`kgN5*i|20)i3>wlO{$BvmG9UgkR5LMX z$ba~6QO(5gL+iu;D>oPzEVMuT@2O^Dc%l8_|Ceeeh8u<-{(q=pVz^=S;eSLe6N857 zhyP1znHY9BfB65SmWkno^N0T$bxaH$E+76^)G;x<2>bB=OdS)0MfivR9Q8~LD>6U) zkEv&3*iri7|Au-dhK{li{}~#X7*p<5|95mUG3==L z`2R>J6T^>+kN+9Em>4=LKmIr9Vq&;a_3=N$Ee3{&>W}{ux|kR|YCrxz0ix?Z{+H-x zVvwl+_`ji>iQz>3$Nw+7nHVY>KK>8r0rk5+{@>BV#1PT+@xMYZ6T^z8kN;zOnHYAg z`S|}#FB5~s@sIx%`j{AIT>kjKqz}~Y`S|}t9}~k0;ZOf%`k5Faq(A*H=x1WMVfN|& zk$xtI9d@7oOH5#5h;aS%KW73HgGTJ9{|6>8F>s`R`Y$q(iQz}#r~erfnHV^#KmFe` zk%?hN^QZp;lb9GX`abHnO` zObjb#e)|7mG82Qxf=~Zlrhw|JPyc63VPfdm@aez8R3?Uw9iRS}Ol4xI*!SuGpQ%g? zGcJAlpEHe#LE_%0{|BZqF`Rh#>A%2qCWaGVKmAXc&cxth_WA#n=}Zg}Gd}-!nE^8Y z^Zzw7m>4wXe*W(VaM*z|2NELV(2*e`G3JJ28I)-KL1yk z!^B{5{`3EyIZO;Y&VT+tf0f$|3@@y{ z{-3gfiNRy~*Z+6cGBHTZ{Q6&H9TS7b+OPjJK=h%n|M#q8V#v7u^}oP+CWeX|U;q28 zXJXj#_UnI(+YAgD@4o(D01|)y^*_f3CWaI5zy5dGz{F7T@$3IJ8<-e=eEjUYiwj%xBou3 z85kiV+|L1_{(C`0m z>||oFi1_|rXBQJgMa1|28M~MmG$OzM->{2`AtLJge}mmj3_GH~|F7B2#9$Hg{r`sD zObjm)zyD|1!^E&7`}_ZhJxmN1Ip6|tW)$oc;N2#7BI{$FA*sNDJfKV&ZxgGbr- z{}c8yF<6v;|Nmnz6T^%0@Bb6_F)>(FeE&aZ9}~lkitqoA>;siI-~Y4hXJW9Z`u^W# zKNG`=n(zN7>}O)|X#W16;Q$lEjOOqE4Gu6dc(i=~FLH;0VMfdM{}y)`7+$n|{~vRQ zfx)8n`~QYJ3=AEu-~TVU!@#hk_51&v1E6u9@BgnHU}Ct@_Wl13kovao|IgfEV3274 z{{O)p28N9G@BhDm#Jj%#54g*~AkqE(zraBzh8at~|4%u{#Ne^?`~NcsnHVINeg7|V zh>79EvhV+G4lyxQEdTz0$sr~NjTPVj^BiVkc(LO9|B}O?{P_L<2@rke`~RN13=A4) zzyCjRmw{o%x$pm3?lCY#od5pc;2s0RkMrOE=iCG3&+q>mK=j4${}0?_V7PJd`+u1u zObi{DzW<+bgo$Crj)a{)gOW zV5rde@jv1i6N81$kN<0qF)>J3{P^E-pMgQb`p5qhAbIN_|L@!fjc5G$uknC^VTJvV z{|v{O7&rod{I_|)z)%tRokNo(5r!#9(p#$Nv)``r(iN z56&_%WIX!u-{Tw;gT&(>|L1_{CqMqPoM&R_c=F@F$$2IQi|0T7&pFS;u;TfT|8GG2 zS3mySTwr3Tc=h9d&IKlh9j|`;pL2nU!Q#!2{~s@xSIW6T^$| zKmMP&%*3$c$B+LeS3u(fKmM0oVPaVE^T+=USC|+oe*O3_ag~YT#;+g$J+3k_X#Dx{ zf5ufNhKfHw{$IJu#4zLkkN*YNm>6FC|M7ppH714%rl0>mTw`M3VE*~vAkB!qwdpKzOrp+n^7e~mk!e#X!LDR-C{UWontzvT{S{Nd;SA0TmwpZ^o?GBHR< z{`^1TE)&BH>7V}}++||;A@lRU!96Ah4Y{BHPuyc-I3fS@f5Lqxh6;tB|4-a!V)&u< z^MA?%CWaFlKmVV3z{C)t`SU-=Lna0dt)Kr39)jAJKmXr&$iz^g^Yg#PBPIq5-Jky_ zJYr(lVf^#I&SNHqAI3lb$2?|YurT@gf5u}bh8?Cq|1&&cV&E|U`9I(Z6T=PjpZ|9} zVPfd8`1xPqDHFpE%b))Xo-#2+SpEFJ;3;U_@aKP0-xwG?LVx~``NqJ&5%%-{ zf^Q5AC&GUIfAWoip(Fg~e~s@93?30b|L1&XVBm=S`G3QA28I)nKmULE&cM(S_4B{Q z4+aL0=%4>_{+dBBkSk?Gk+NvEV6(8H+jRvAd&m?f5#h8ef;zPoj0KI z%%A^t-ZC+C6#V?3@s^2UN5RkkGu|>WXcYeZf8#9^!;8Y7{~g|e#$kT`Z+OSVaH8nv z{{!!s7%Yl^{%3g4#Bihd=l_8BpmENh|0ld>VmMLy^Z$eQpmz1o|04ew7%a+v{#W?G z#IU0L=l_Hcp!)6S{{`z@Sn2^Zy5seAUnYJs+7EGCF?#fAfinp`!EW ze}~UZ3_Ci1{x1O0JwN~Rd|_g+===FU;R_SPjJ}`$CwyUI_|fy7E|9|+x z#IR!G&;JfznHVG{f#RKsL1XsM{}aA}<`aJYKk$u-VaM#B{~5kBG5nbQ^S{A&CWaMr ze*Q1`&cyIy&d>jAzB4gY%>DVF;Rh3g#=M{ZJ$^7T%$WD{|AZe*3^(S1;+cuz$AX{# z1%5IyWGwvo-{B_{L&Tz=|66`CF?1~c`Tq@wUh?yQ$S)>_A4@>-3L57H#VZp7$I74o z4Sq8*>{#{l|BT;E3_n)={D0*)6NAUf0-CEw*UMu^N)#P#rB{7ef}{qyx9Kpf5$&2h7&t}{{Qfgi6LU=&;JVl znHVbe{QQ6AKNCa7zMub97?>Ge?ECpYg@Ku2$Nr!Hw=gg>a2)*kpM{Z`;l{zA|3es= z86pn<{9o{of#JpBpZ{05MrMW+M}GeQ!N|<;;$EpTNY- zu;bXz|7Vz(89I*t{I9^w%%E}N=l>FBW`-Lle*Qnf%*?RkK81vp@f{urV`KocsCz!9P$t;OGAz{}>o{ocsA- z;6DQc$AzE&UH&sL%((jVf5CqShKg%H|Ihf(z+iFx=l=*cW`-A!e*Ry<#>|lM^ymK{ zY|IQAuYUelU|?kMc=hwY2?HZT$E%DX*{`~L2$;`mVrIDU`{(~0E@lRcKR^Gk;bLYu@#p9NFI>zF6@P#JH{oVx*zx!0 z{{n7ih8O>S{=WgD|Ns2&z{AW?!SL(<4+hXaj$i+$@Gvv%VEXm{2oE!Z2lKE07L1Gx z70kc>`!F&xNU;3+e}IvZ;RegE{~k;DQSMg|FvU;pobXwF~% zd6*d)B)ES4w_#>v_`&t-e+r1^{`G$fGb6(co?rh(c$pbIcz^xpU}0p?;QRI8fQ6BP zga6n62oNps>wgCeBf|=TU;qEGFfw!q{`#-N%E-_m^y_~JDe}xS+-~H?VA2vpY2$^61 zZP*zZBxHa6KLVoVe*OQ!4w~=&^Q5Ium3q5j0_x#zy9~|GBZ>t{`%j*!N^dd z^y~i?ki62b{|uar3^$a2{WsubWZ0qd>wg4@R{izAgOibAh1#$GTR0gRJT!j&|H8@0 z@IvF){|qihh8vo{{!igzWYEz5_5TDHBf|;pU;k~m85ufse*MqjW@O0F{q=tWHzNaw z{;&TRxEUE<=>PivgBvuT{p-I14~T>;DN}W(EtBU;m%* zFfzQ8=um2Uij0`(0e*Is<%gE3X z^XvZ%Nk)bfF~9z=kz{0e5%cSR3?DPYinL$CM86q-% z{nwFVWZ04M>wkz8Xg$@h{~1z@3>KNc{?|w`GR(;Q^?wOSKJ(ZA10ea#U;nR2F)~PG z{rdkwijg5B>(_q?X-0;MtY804q!}4bWc~UdBhAQQk^Sp`i!>ucNA|D(Ye3@Jzy2SP zW@LDg{p{aOD2_A0xxa zFeCTZ{|XsKh8wxR{`bf*GW^K>^?!v7BZEZVum4A67#S?`e*J$S!^jYk_v`;38AgVR zykGw%WEmM|Nvn z{vVJ9tz-Z7|BfspLq-0t|35(b^MCypkz-`ok^k$zfgB^ljr?E#edHJ!e&ql9pCQM{ zAW`t^e~TO=gGIrw{|n?886paP{of;DaqzJg!>-+&&Uu_`0Kxh zJR`%5!e9SwsCx{uhA6tA71&0jaP0^?!x}Bg2a7U;o#D)K&lbe*h$2^XvZ=5WnWv{}&*B?XUlT zK<3u{`Y)i!$k0*u>%R(!uK)GlL6MQcqv6;897RTk6VreF-@wPr@MFfW{~1b*3=%Vc z{jX7CWU!d|>;D{nW`+|pfBiQRU}oT$_3QrxkofFh|5F5*8FtM1_5XtaGlR$6U;h;Z znHg@(`}IErM9=^AzeA9jA!FgM|7VmK87h|i`Y)l($dIw@*Z&4(Mh1`Nzy5DfW@OM< z@$3H$Wk!aGRloi-s4y~gtoildM}?6=V%@L*TT~bseyscT{|-oekEk*-{MhyD{|{A0h8w$o{nrs< zW|*<(*M9{yMuv{Pzy41VVrGcg_v`;3A!ddZ`+oiRQDbD7vH#cq3J`tZ*Z(DIj0_P6 zfBn}{XJn{2`0KxeIwM2G;a~qPgqayQj{N%Hqt3`6arD>!1;We>D~|s9zek;sf#dkE z{~ti=PyG6?qQS`U;?%GIDH@CnCrfBpB+WMt^L_3M9)CL@E#?O*>{v=|vY?)>_1p~c9carf8%7sAX8Kkoke zA0WcaU~%u){{|6eh8ypG{of$U%uw;^*Z%}DW`-A^e*Iq|#>}we^RNGZ#F!a6zWn;1 zpvA~=GyvbDQ1QhOuzs8NHH@+F#rBPMT(h$gZ20SKOjEq@BbFk%nTfC zzyB|gW@hkU`~ClpG&4g7`|tk-GRzDw*nj^okYQ$+!SVb51{r3C8yvs?zmZ{P$l(0_ z-$9m{VFuUl|0_T=_wWB(KzyIISW@PB#|NUP^hmj#e z;P-zQ9YzKZ!QcOLbQl>lgns{@qQl4#A@uwI3J@*)`~M9cMg|L!-~SnO85vH9{r>L* zqQ!szZ_s6AkdXTQ|BNnZAL8%-0&>g@JEVXAXV3%fNBsT2LywW6L-zOo9Uxln_x~4q zp#87E{|o3dGH59L{y#$>bgswm|3~y08Ez>4{_kVJ$go4{_x}7Oc)t{ z82|oXW5URA!{qn>B_@mvGfaQ~zhJ`1U}5(Azl$j&gN6C;{}mwG;`jeGAlmZx{|6x2 z>i2&UGe(9RR=@xIn1R*-|NdWN#>n7d`}_X}Ge(9TcEA5W0nzrq|BIM2GH5vd{_kPV z$gslc_x}QOMur_uzyG(GGcrUt|Nj32M7#X{uVTT-;NklFe*lPf`~APcf|0?({rCSh z7K{uU9>4$J0MVYm|MOTfGH`hP{%>N*$neAK_x~6W?fv`z1WQJS9X`MROIR^7tnmH) z-^GfNp~LU@{~QqQ|NH*}D@F#7fZzW$tQi?N0)PMCV9m(zBk=eCJJyU09>Kr=3)nC+ zLh~NKD*f26^MEw4L$A*#NMa1v_DYlFZKO%qs zpJEHz=lJ{o3R^}7i>TlK_t-KrctrjFf5DcKAtLJc|0lMf`u6vK13N~B6S2SlN7ykk zyomk%KgW)dfg|qs{{}loh8=Og|1Ys)WYCEJ{ohB9nL#7r_y0R`%nTkWzyI&CV`QjE z`Tc*6JTt?L^xyvj6qp%0GJpSHpuo&;m*|NE#hGgNf_{y#^JnW1Cy@Beeu znHf5!{Ql3P!OU=C>hJ#%8q5qD(|-S-p~1|MG41#N6B^7664QVG=g?$kh?xHS{|%5o zr~m%XW6#KNWBTv^E}F~?9W#Fa@6iO+7r*~s(PU<@nECrZixx9O#O&YyL$sI~PR#!O zzeNjFKm7iGLW`L}WA5+&0@}sH8VrSyx;#7>=_wO%=`V{!Jd&JV*c;{Q?!{G zI2Qi?{|7`b`u#t{o{_<0>F@t5>=_v}mi_*J0YoqV{hz^sk%42y@BbPOj0`JQ{{Ei< zqF4R?Kf{5Mp=0&${|7+yn&1CFI50A3tpEMrz>$$bW5e(N2_Smo@Bb4(^rqkc4}j>+ zzyE)5WMp`;`S*VrCq@Q|ZNLA=I59Hp*!KJX1t-vY=imSTI59FbrjgDx|}jQgPSj+x=c{onr$ z^q3hW9{m2FqsPpU@!3m7mn z{CM{Je~1Ay!;0s>|F1A$W{7z4`@eu8GXuvG%Hv6Hxv1`~M9P|NHO%C8o>_9Y22mKVizuu;b_N{|08v3_E`P{y)QvnIYr%@Ba+u z%nTa;fB!$?&dA{L|M&kJ?u-l_|9}5KW6sPF!SLt5i3Kym3dTSG=U6Z^++h6k|BMAQ z!wjZB{{<|W8D22``R`-N%rJxb&;Ko!%nT7MfBwG#g(J(K|35(D?0^2dSTQq5aQ^wv z;=#y}!S(0Aj|U^e4X!``XIL>a%;5g>pTU}$p+o%7{{$Omh8^O6{!g%BX0VX@^Z$Vj zGed>cpZ@~3%nTgTfBvV~g6f?=|JT?uGib>C`Txb1nIS{w&wmv=W`+*AKmSYYm>GV^ z{rSJdj+x`?ym ze~JS$!wH=~|ED-IGe{Wx`TxX`nc;@fpZ^(7%nTC7fBw&KVrDpD^5;K;GcyB+>7V~L z&ddxMrhop|I5RUynEm;`$C;TS!tBrgA0T=2KmQY4m>G81{`vpMg_+@p?VtZTuFMP; zc7Oh7xH2I)yivRpS;>*aeqWI5$ z3qM8%i;_S8KX@`Tyr}>4-@%KSp`zi>|0!O~3@aM{{Qm=@oBsSy@n&X_X#Vqmi#Ica zM$e!BTYQ)qGJ5~~=kR4_IMMs(zlSd~14rMV{}sN>3_JS%{NLfr%oX^FPF&nc>B(KmYgm zGc!oc{`3EfA0xw#*?<0L_%kwS%>DC!jz1#<$GkuPkN7h(WX%8b|A#*#L&d^B|6Kw= z=ac;TUjd>Q|M|ZnfRQ0$$)Eoh0vH)Gmi+nu1Vk_W^Is&8k>SL$KmR=f85ug3|M`Cb zM6dYspCO2mL1X2g|0O|;3@=vx`M)5Dk>SLuKmShzF*5vE_2>VcAV!88tN;9G31(#2 zvF6WzonS_W6>Iwo^w z2xnx7IP~W~PXr@F#-Ts|6(SfJJdXVNpA*5zFyrW-{|h1*89I*r`F|#YkzvQNKmQ+q z=;MF>3q*p-^FRM*L^3jXoc#0u0Ej;I=l_RDMh1=3fBs8EF*0zR`Saf)ijm>PnLqzC zq8J%wod5HGMHC}L#Dzcq-}o~#a9sTJ-yoWiLE`eC|25H!3_C9W`TrrBks;#BpZ_T_ zj0_sr{`}t%!^m*r+MoX_v5X8E*Z=&V5zENnar4jrC$WqS5x4*RH;4oEGyeRKiDP7_ zxbx?KK^!B4#N9vtpTsdTaNPUzUm%{5f#d$4{|@nt3@h&c`M(9kfB5JBi+Dzc7Z3mZ z7f4`aIPvJue+v-(_|N~01V#pnr+@y>Nnm97@$}Dsl|)8{8PERwpOFaK@B8Qf4G{hE z&wq|2Mh1yjfBqXJF*5vk_2+*Ch<^R&e@7A{L&V!Z|Mw&@GIV_S^Z!p0BZJ51KmR?F z85t@*|M?%24C>GP`9C3SOcKmV5`Gcug``se?dWYGSXKmR3C7#VK-{PW)-g^@wy z@1OrYDU1v&{{Q)Z10??c&;K_mj0_P>fB##gg3dqr`#&Urnc)P>-~TPCpmR|E{$G>I z$k4&|_y3htMg|YgzyC$j7#Tdc{{D9X(cFLkPY7UU=-~eQ|3CmU!w#Om|4Y&s8BXy2 z{eLA5G*0&SzeON3g9QKI{~YOz3?BS{|7)Z(GOXbL``;#=k>Lmb-~S5&nHfCf|NajE zi7Wj5-;mD8@IvA5|0(H=3>Auh|F21BWSF7&_y2)(Mur`VfB#$C`+q?YGXsa!-~Ts)m>D$e|Negy#LRHQUFzyCLY_%VO~KL}-J$cX*>pC=4dPX7HL5XQ{Vk@ENd zk}zfljkLf2dBT|)II{o#?+IsS@W}c5e@{3wLq*=-{~Qs_3_J4w{*Q@ZX7DKd`+rLW zGebnp-~Seo%nT9rfB&~cGBez0`1^lHB&a<6`~OTNGebtx-~T#M%nTeYfBzRmF*EFF z|NDOpi0=FQ|3?%vL&b!@|23kS8E#Dc`#&U_nIU4v-~S7uLE{vE|G$W4X81Ad?|+dP zW`-AY{{9b$VP@c1@b`aD3^PN-!oU9)#4s~xEdKj{PYg4|jb(rTbHp+;WUTo6-y@cp zL1N|K|1q)53@6t7{oeti*Zuv!CYG7OW5eJ7H$eQ2fB&n*F*BUl{P%xB95aK)mcRcy zK=jVP|KG$hGgR#S`=2A8nPJDyzyB5DnHePZ|NY+(&&*(P@bCX4@yrY>4*mTvkig9F z;_%=9AqmV3JC6MQ-;lt}pmFr?|2YZF3>C-z{=bpH%)oK{@BcRm%nTAI|Ngf~WM+^! z_4j{EA~VB{Q-A-@NMvSsar*E73yI7O78m~h4@hEW*m2?S|BfVP29C>r{~t+WX83XK z?|+SCW`-BH|NbvYW@g~H|M&lfWM+mH_y7LCkj%`mbq7k-^O1!SU~ZNCq>51?Rv285ztBH#qg8%+2 zWHB>T2>$zTlEuu>A^7jVM;0@~48ec@W3reTRtWz4-;l-3z#;VS|AH)L1`VNq|950D zGgt`y`+p&enE?b~_l+@D1u-yI2rx?XuyagcWMEKXU|^78U|{$#=fQvQoicm^ZhR76 z{M_Xn4Gi{D)>_6YN-+H{3=9k>=05n}0TO^>(0w>D3=9ktRz8GZrU){xfPsObXXV5H z@gQ}Md;-l(OksQ+j(h@+d>kM>6Brm6=B$4BA9f!ONNfoM1H+2d5C6mN#sP`#U|?Wy zISLhXC* zKUhr$LX8gSt~o{q2DPIP|J#5rae|rS)y&?**2~(*($CDy%?Q^3GSh{Tfx+n5!~eF( zW~RfHFo5jNU}RtjIri{B>|P%U1_p*2Mh1p}xexw>?zdxr*~7rV0Fs-*$iQH7?BRba zWHX_1TNoJ_wC6s6gb|WHP@G+0WMI&l``|w)9N}iVH?#CHGZnyG1ak8aMg|6vV-Np> z;sdVE8LSQz8VsOtkYQqANI3TJe>bjhh(m+}C~ke27#I#5fA~KZ+09H5JnS5hw3Nfd zz_8);!~fvBJz?&S1WSX{TMtxT99h3N4?Bk&51W7^M4bi$1H%?328I=hkUDVrkOHz$AP!7|_OdcCY++$wu$cYe{}hlKRC|kI zW`XSWU|?W)z{0@LbN=D~U7*4P>?BawIPqyX@fkSsS-A5ZU_@l>HYVnIY%;%ByDC9q8LSKpQyxBq zoNZoOUje+6A&xikmLHeQb^MH+kVZqD?kaE<8PXUz1zOaGz zT0i{%2^3E5d=nT$`8ZtpCNMJX2L;juMo>8_!Op<2Q z%O&g#3?2-R{!4=V1+#-$1Y|V0t~kQZz;I&b1JrVrfq}sUl>XTn7<3pP{m({rpD!Y6 znchPE6vM;L;RLBCLH?59U|>jLe)Rtm=)yVX07htSitt%EGdK)D^@Ixt1A_#|qyHhu zZilM`1scd;FSz;=4h9Afjz|B0BKyawnVIPp)GbWcpbSV|xP$|Ah8P6h_|nGaCg2T(a3 zP6mc#kQ}nRq3t9OP6mc6ypR5a?x+Q&cW^oG53&(b_hn#{_kqZR!n*@1FO4Ifm^qoi zia~0(a56BQ;D7Yr7FjLxbx?W$wRD(3)`A$Ibo_vmf#HteqyM$YYQgn9^KF<0P#kh_ zF))~jJo+DptS$hNPMC#3_Jd4?l))BU3=An^kN$TchXp*&nbncaPT^u;I3fP%e-@}w z2a6+QvzZ0q@eOjz6fOn^4y{N3L1_>kmdNV)+2QIz@p%NKe&&P!W@zyVGV1{s1H&D| zNB>tKyAvsWfSV@}Z!v(K1i2*C0w+zbpErjP#fBD>E89G&1cN((mwLxkxg)G~zm2uMH3WlTX(%Rq6z0pvb& z!f_8OH|}sVFcermLM<1d?Jbb}A3XA)aFyX@DD7V2H7L^nV$$nM@O)K7_QhrtpB)@;~|yYNNvA-xbnkV}1t; z7DyW0!^6OEz~<5arO5Um#ce9oR8Y9R;9+2Jv3vAC4>^4!sb!70Q9fz_4aIX4wal+XG5aGamd0vEktajh`F53=AwY9{i6&HWw=Qg_nV$d&UDu zUj&vPp>hIz3=B0h9{l&gqECm9fnmdp2mk%C$a(NFFg%&@;D02V94O9H_&|GiAN^m6 zEC_p71H%&6NB_l<{e|RSW>%2TAo=GCKLf)Iw@3eX zA)D(7$v;eM5N7`2XJ9aJfAs%0vN|L)nNC8~g33`10S1OA?vMUYfVLOG^&65}W+zZR z3yKAZ8zKZ47+ky`{ntcR5AG{5dxBgFQVB}84FU`dGSjiA#W?~D3p6 zj~vF#{4nRbK{bHWgoPjj!^=FXiJI-)S*2V z#KR`g#>7+zaxSQ``hGfxBs*bwswXI%ku z-vJ>82AkMN|3P&Qylg;jD=gF!VC;cvLF3dL9TC@<-wH< zsGU(E%)qcE_tAe3WO?LpbpVByD-W9h(?^hfp!B&$n1SI!K3W?MS&t9ccyJwdLzsbq zrRdTB9^~)^xg2aHXb1wta0eL;R?i{Az>re(=)VwX@CD{)p2ITIiKmjamyEjzx5Ffgo`_~<_? z$nBv1AM;#BNY9VS4?;uQDl(!B3=<|lLi7`Zp#8){5LKXlw1X%EL(Y^(|2sftVfLdP z`5cy@3{+S`+fN%r85p+UQ3DF|E20bx z2c|vx?~9y%k>k<=l(ryY$soqSaCO$B|6DlKGJORn5pdqt5o2HopYsTH%n&w~25M|U z-54Uqz%YN#Bh)?=tdfStVTBk2!{#|?^(3PFE`cRBP`E4+V_-;~i`zUk8j>8S{UZa)3zHuF{{^jo zAY)_Tp&`)Nkqch~>ex{n3--uuU=}301A^G z;tUL1mOX-xlezFIG&2=}#^5*{`4k|1&O71^3_#Dzf$<_g!#2r9mFn`1u z7#fy8`X2_$8wq?4pz%Nf2?mBU%OCxp3lc*cg8}7k=m1PNXaEf{`oaM2JNZa3FkG1W z;Qw-vUPnFw7e0e#CZ-ywqYS)Yj36+BfuV+hfuTWyfx&0mga6#bp*i6G^3n+{eBpDcVRy_JI2r{1m z(!VH?WMGI``{;kQDgy)7I?GTQmi)nG^Abr0h833{{oe;ohv2psa(=Et)WM*-<%%R| zFUX_+=RtPD(lk>n)J$;w1uFc@p(E?y_6&y<1H+XYkN(d>wga9YnQwr~b5Jn^@{@@a z1B1uiNB?<1@yx)$0Lm*KQVa|(cOU%+kB#F_H}0tE#+A;;m?al|38B) z#k2!GJ#5F89vt}`!mx>h(p!Nv1H+t`kN*E4&ir%O%)yo3Kw)%2nt{RQ6{76NC}WV) zO&b%l0*){Wz!gTIxHgetU|2Eb!T)KXfpE+)!YCIDII#J`kq=ZZg3N1?VPN<%=fQtV z>|^v8<_TjRqeqx`MTUXl#i9rQx8QQ$1k`f74~P3eZA6g!RAd<#B33{6Kb1)LE2>P!o}97OaH`YQHhaGcfqPd-OjaWESpn z%MZ1ba>JN^0GZ_@&%jVX1+&2ApF9J@6YaIaZnI}{igRH7dL@51hG&~y<}yPK&BySoFxHq?9vP|{#fP-0-1 z6ZaTCb_Y?D2Ui0!-$jXmVFjA`pmH-tiGe{N{_+1ZTyca}E~#Oyj1cAe8YKn>hlI!f zONlg36_0r!cmDyIhvsfjn2IPfFhnFiMry}`;xz~A=KyfHSST|vJV|`~e-%pH3SlrdI3J6sfbNcc3|U_S9jDe%VPI&!1ItBpFjW~2dGb$p~Ap0CHFB|bGx8<%oQpO3?a3T|96AThxi%l z52g^9;~n`FQjpkSzdTT3U|3W87&0#hEeF4-Ffi<>eGC~lhl+8iGB6yeMfe$%_hnQW z7_?45fQ&~#=Z+0j85nw+9{+EHra>3Jgk~n@dPZ=>!}`Cf3=BV-AOF7&RnyGGG#^}^ zFq<-h=HEePSEw>DY-xQAnP*~v^q+cE85lmaJ^l|`-@^bY4;}dwK+Rh4tT*#gM$oDb z39t;PY6kUt52!LQ)O0+C^eJ8V5}5PARxp6d$UCYG3=4W6|8IhZ8KmAtD_;{)%U3r( z0~b^gNIywKje%jxxyS$6p?-pxh13^DX?rv6z+T=Kq+t^Wl@%Ro3=A&kAOCkEvJE4P zrws%0`wftJSMZpJ)&|tXY93^aL`5BRm*Hc`{0%ttB|vEp94SoMpv5+zB{d8Tpgv`Q zIs=2w189Bf3t9pLQVXh%z{->OI1ZmX@5vVcT4~kK#H@rIrH9X*2dCL7>I@7|PC&a6d!VgCLDX#G$s$AaQm>gMs16@dy78g8YnX z&unyiSTq?JEJU9`#;hZuV@D}G>>S5HJ>E7Zrq>8|E`kXj^Kj5)U|1vevQ|D}u&Jz+;wsU}Kivpt1$jR{@QuT+n1-usQwU|4NWLf^p6K0!J0;z!Z)x6}a&^ zxMLG{1*Zj&KLWHE7;?@&_z!XmgA1PlQyQpIZr}qe_X@Na7~aS{`7a3yFX(t|ixvaJ zjr#^bma(+GjQJ^1H=T`2P#8kv>6x*&OZ3>2};+PVF`+4 zq&6nA0oJgD)-M^_3=Adb9zf>Wpl$COZ3YGbr6=&Z1g%U(Z+qXv7V@BxERb7IXfrT` zC_nkX4ZB;>%wp!l>Q+ZS2T)loqQk&&LgmT-Nx1sEX#LYCIL19e{Zo+JQgj#?B($IW z{{rgFU<*goF^Lu?>>dpOnYBTOf#HnalmE-Hr*HH)$;aW(1dv&ObQl;644?eB!(|q# zyNYm_70>{RPhAEE72_xWkAPN1WBL(1KY^53vaxy5mG1&0^D1GSQs1zy!E@vTt@#D{ z=Zr1`LqX`1|8I#)11dQD;{eLX5_${_BH>T|TY~ZvIIk7J%Og;G&O(oY!6f|2|4xuy zxXb24sAV&#Mq*$9tpTmjV_>*4^~wKk>|u|dUInqb6*TU96I*bBas{M+`#_I@;m`CZ z|C5Nb=K@xHp!q^apMgPP)|3CuxY{UaZ3+b(@dYZYLGe|i&%lr{|H=Oy&@orE{EwcN zWpEgm0GbCqq0hk3vhvA)&=?>?G_2hLYGt%BC4-wNj(i-hhmV2!p&+||=rb^ES^4Du zW>EZLrdRav=fM>&AhTQy7#K8GKlwkCD6^Q};)*d)TVjF%1H+tkPyQQ2(;c`1P=NR& z9p(=P1_sdD-#rEl3>(%x`M(BNIfWJ<`HXxs7@a^1Ju|?J1&m&N6Bt2dAxId)W9sFb z!RW%b0IV*PZw8|?-vUNYkRBY)p1_E#3Ot?=V#vU7V#^cAegGFfg}eNNzabSVOh5P{ocI#l`2sTeBAodW zJoy5Ov4=Eh90L?@e+(HI9&Cf=VS;IZ=^=L09Kd}I47l1wEoqIfx+k4lmCji@+|5YL;^NHy7DzJdgGE{I*Ln%`7I8I!Nyr@j2Rdn zoO<$K3|IO^bsO_r90dT#JWw5U#+ZR&!-XgRLF=GF^GX=y32J^|a=`BL35?7uao98g zS2%!*H1Ir7fC&S`nXga&-vn)H!Aw)`d<#(5m0R*-bA%(`0wzfLy}*QlA%^qm|F^ip z2&Lc2oPwh%QUFTtZ$JYH0#E<<5LZq;!R|6hdbcoTU~mz9`hPu9W-+tlND2-hceR)@ zFsu-I`d^W__R(n^W`WyB7fcx#dPJZ8KTMRnn112&ql_5?gMj!`NF9$EmuPha{_-Ki zjDaCU;_3e=?0Fi^Ean0negwBqx0o?7tWbRVKL=NuKuzb&B{&iVDA9t#pT(Sk;e`6r z|9sfphE~opXW?)gIQ#?585nvrpZ>o{RQNN?;V=uFF6NjsFeqq0{Vzpa`#=dtrUkck zUzjs6e9?RQ{}XZU(!}R36AK206$VfL-zLs1QG8}KSTHcem_7ZUMU+`ghj67=P}|{* z1p`BX{nP(xAhRIr9bEYw5ajwjDpk94+{o{DGpEnhvTXjHlWVI9mf&48yFeD zdsjRxLF+T0{-=QyFL9s9n|iD>qi@_3&$Ma0k!vzSTZnh zxIg`Gjw}75mXTao`&W48#X)&Q!-|37iO19by!ie12GxI<^JJjDMTr#ygT=b1NPB~7 zK=A_F0ty}2{Co=Ei`dM>6b!NxOI|5@B{h%o0^5-dJo)9{w|HqnvA>q%{|9VjU%}l8~y2zmRNi$P4xJ?X_>#$*95Mg}=->cBf6akh4jg>F4VPJ^heg>Zl z1%>Ml8wQ3D?q~mxg4_;iLxaj`(3sJDSR)!V-UCwm#0GQ+<+J~w{lTDdbw@t=+mnLQusN>=+n)(8Nsa7#J#$#6bDL!;XPrNyxMR`k?p#j~AqY6DnxGAE=+m(L_GU% z3bhlgCLbaXijzBb3=A70p2620faMWunpU&$uycSGLNS4sfP;p5p<~n{_6!Uw;-5jr zgJJ8Zz-!mR>$<^OKuhC6{&KKqV9-f?_Wud88<;@rYC#4v^+Fe2fmg4B+*DxC!0;yV z*?&f8Sq*lRQ!_I&d@nUqGE@&}K{Ch?@IJm3_6!V1lArxQ2Cc8a`jEz_nB75ZIzju~ zm{~yn0%-)L{Rj383^AF{Ap0`Bp<~;iHKoV=!AsA9AkVPQl!D~Vt92gjK@}B*lhU|aDI`}S7Y=Fk{GaMKgp5#6IuLH^-urLMf`2+2N z1BEDP(;A3os)brq2hs}m`w|DxUDwb4=R(_iV80{c(EzkI4Xkx8G~}T5!yN|(27$6? z{~sgUiInD;U|Rq{OXENWK=p|@GBBJdfA;?navUM)V{Qcn0Z0QgH;4ra3{Y76I5IFK zR1ueMDjXRYo>V{kKMOhBK;cmY^#eTiA@dn492powYM%XHg6tRgdTXXus4noF#1%&d zh8wld{>LDzMRva?%+>MWFa{ON98L@jEcMU+AI9ZpYmgpL`T{SM2YDX0Ee)IwJe(L9 zrZhhLKO5OUh;#s2*bi1$;Kabd)AS5=-9JLzOpt>>`DzBpyryUW3vjuI7ZmHDkcX_P zJmJK^aHZwhe_?1{1x_O#&CE>Kp&`TE1lIr>gZbgaz;LAF+5d0I=7aM%vku6oAd^95 zjDj-*!<_DCkogK&x(xui5@N3dRQ?*WzZ0QJ*coa!({iu|kiQC?85n$ep8em3tR5+D z!26CsmP5;;1N-#+iY^pzqoLx46pKIz$-@it|6t z3=AJ8KKpNp90p#9HONe$IWSO6GaZ0>i0KK`N8t8{jSBoeedOsR7CW7n9(0GQ)*|;mg!#{}&*uN2HS}pa2Dxrw3dZ z7;>gP`>%)WXCyx$<<(kPpn>%L0J&%8v;Uuw-HsFw%n=~fV9&!G2llgpD+7bh>}UUD zk;4pL7QsstaJd!Z%D|8?_t}4TR7Qr~!|I#<(#sJlOpV(&mKu160>S*Gbes zcHvV1mD?=t3=AB5ot`urqLHV6fTy4009?%uk@LT+lEHaA#o9Is6QDKLMyY0F^HwAU}bC{02Popmy{H zcLs(%N1pxX0)-9CebBzd8+QhV*IOPy_DG<~adrQ^xKpl}X*dIq`G2P%*4d>hc-)f`U- zh6|UT{ojmiR}|C=SY0tnL(Xf$77oxnw8e{o!Q;|1$eJ#+I0ePS6{tK)JV3T}94;&cOKi&)s6Sh70e+gL~r2bwDb37=&s`xN4SX_Jd zKMJ{yMY12X^$S!rfa>`G9|ne;o6r9HEu!L$Dz$nHa`|CoYdCPBjUiw^_CjmOXa z@58h+6si(_NE2ucrHU^DL&lS5|5cI0AGU|_GA!(~piLe~97OmsFr++t_8)Xs6+Aw@ zK=YW)_OOO1C~O;iLHkXf{lAH9Hd5F!9|5U`xOb&;B!k!T^?rko^hUq6+QL z-2pB7-2UMIaa`(O!F+oZoG3u?C*a4x5cB5Q|2w$cvlZkXP;5iiEIRlxFz|eQ_J0Qs zJ0RPq!5IS7g9PV=5cCR6+v7(Bi_Lp?{#shJsc@&YJ}g6a{F z3qbBY;K#sF^X1w9KxDJv?L^oXCs36FaqkB|28KUA&;K7nR*%$P1dlI(EP>V`AUjn2 z85m~xKL1}1@*`|dvnNt}EE1Fk4xc%D?))*3`$PO07&zjdqwej6_tlue{Z*Lz8~hm< zbP}Hb@5L3~C5Z3_<(Ccq3=DH-KZmSyf~5gaUAzn$m(VifhCc&?%be%`HE`v_r?621 zNP6W6U|?9X;`#r*$l(Gh3ueGf28D$|00V=~%IE)6kn>s|Qdls8!UE(w28IX*28M(H z28Nn7&;LIKxx))O{(uyApp#V&9|HxQ2M?P-GkY5o{FJ>Skk28Z3NjB_4icAp0vH%J zh`;#14%yAfaoGWNIke3RiklAs3=BFFFaB=;=?Q?khp7{^st?q;Z3Fjik3qsjCXj() zgTxEGVFEJKC6Ix^L-GY=?FB4OKz(^%=ngwjf`zViD+pv@*dz7g{}GV=Ftw0y290ci zJPNL(W&|=Yq)6kp8&ozO2xMURBmLrk8M1lEVE`)okkT_q&zC?3h7MKY^?>4CBZz_F zis}o;|Hl zK*vRa7$5;?IkqH-fnkUGi~sA9$A6H^$QCwe*$XlaGG1~ch=C!+;>G_>xWZ*IxX1(7 zA1uKP3=&o^{)5gAK`N`^Yb%&7_@D_1QVyF0GcfG%c=10Q`8*?}a+vu6;yfczo=pj6 zVE7S5IL>>585kBszksZRgoT+?Gc&9d10^Gnd0T=R7*0gL_@4*ePX%uCg6m9XC)mkI zpg6k|%)lU!{NjH(DDT0{L&|&1uMuScC|&S`Ffb%!y!byESD1lLkOajtG;Tn4ID{}T zoXL0rS?>w6177|zB|&olI9-73Ck5@qI>tFm|fn26S+ds_Npi%{tz#wtS5DFTPdhtIRdE5xuYym`h z26DeaCJ%QGJ-w9=4D42;>F2T+v1r4=;f&p|a8!`>* z8-e(s_BZrgK9w*AhK`vp{&OI^jR~d^)b0UkfEf%Q{08-+z~dk(VGIlrv(UcCNum9Nm~aLLg^e%% zE8#L9oVFn4RYy1jgUTktYC(B!OE?3A#^x9Q9gyo_WOqw}#+5)}2}$Em!WkG=?0kVb zMh`#J4Ak)fsRczmM7>A^1B1k_7ynV( zQ1e_#1OtP{-WUHpk<}xWOHAwF*_i>fu4zdG1B1u@7yq?DgBq~BfjDB0c^j-4V-^HO z7|3Nzpos?%19p%EXh;^B&$JY32dIPsNif}o3NX1s8Ss;XL1nH+Bm={j6E9Hv43K&o zG-eGl0X#k!5Xrz$bLz!^(AqP2U4qm;VghxRVB=qr3=9hAUqJRh!u$m>6O@_2d3^!M zyz_+ZJrT*kAadcw|4GPUiYSLc2a18+2=dF9NCt)#mtR2krJ>q859)WY-7--O3=eMN zR|hI*T%s5lZrpzHe>!MCvm3N{LyAvO{RL^`)uXlXm|&S6Ja5qx#lUdjIcfF$fhY!s zm>)0xuSd?0$oYK%BEP=@`RB)r|37e*CudR16Hs1Lh-P4@;d=SM6gjUUna>O!!vzN| zB>tlr7|!s%L_JpwNj(#2jtZJ@YN8n!0{CA3zlE#r0nboE%m&pXYe0vC3cvgh-qQk$ zH&EMuJH(Hmv5yPU3=C_8Ut*oF0LA@>XaKV&R~-xC0Us>}p5O(g zp*HX^2y{zR2q*wS`WfOF81AUOgq)=e(+`$)f#?UD1&EMRwl+5sTHfNBw_e^TNZ7&;7JqMrW=ZV^N3+m?6+h8@cv{O<#$aabNg${WmH zpcn@k3Q@l$o`FGP<%9nybB>@k2&kY1c?zCGA?lyRGca%%zx@9mSGiXV%5xC&LH-g+ zU|=|5`SSl?zD8~J7E7qvOKt76$6zgX1ofNMtTw$7#eI| z{!d4?7hZ>f3MYsgL27p-FfbgkdHG)zIm}?`3GH0>Cm{dWzQj5Y1sYpqNn~I+VfPYp zt^zFlp>rk*i3|)e_AmcuAiD_~uQrJc3<3^l{s-k3sC*1Ic}VjX9DX%WdC)PQ@U{Xp zU4Y8+IiStd4lf~Vd0_5>w#z~CdlDHKKG?s6%#Fe1K|O1z+wUYYFkD!UdA1@*?~gqD2w|!xoR1|0_WokzsZt_nXpSJyA&eHY16F;mGm_ z|KEYa(F58>V7dn?hCq?p#su;gblhc15(C4HfR~VS?_p-cx(m>J1xf>Zk{B2gRy_D0 ziJS(I^9^`S45S=*k;K3d68sW%9to6JK~)WszXg&R7<__X{;vkP6J|FPDD6S&BZFiH zhBd)2A?s=2@}L3}VoyLa1B2?y2mdpX^@Gc8CQ!}*`4xQ5V?{Cp!;xS#KSJYeN-}7@ z7G`<`#oLBt1_qrdG=D(nBtUuh0#qKfj}M-v!1jYi+Q8O>)83C{28NKRmyq-0Vg3Mh z1)ynHB87p$B?^0)1#*W)3Il^l6!x?Saz_MIUKcqWU~|YwX}lqYfx#x~C1k7@mM$tl zW%x0$I~SxdF!;n^w+EDW52P?K{E2({pAXp{XgJvTc$>@sN#3=^_m{&xkL1s#hs zNMm3)llAide2^H#Jy8E6?tF0LLmVgpT05MQ#=u~a{gUFf!=S##hBO9-KiMzg=dNPx zaY;aoMYl0AeaE(59F#YHq%klY$$9x7d`>VtPSC@NS(cGdKtaz9^GFAs=lPN*=Z1m8 za78);gUiwf|6fDL@-Y03y2kq`*5eEu`M~>NzN9lSyjb<%KRdKNK)|erxXc2DqeBJ* z!$OZd8a#5o>Q!G~;s&O~s?WMH^c`Vw;2ha;ar2pY!(&xx0;LbOJv6(3hx~yjcBhwBz6I@?h$YNlSne!5U-g7e(6L=2*XgxkC&3wpW zVDOpq^1lSguMCj(F-tZBL&W@-|KmVq8pLhzux0XwEdV+U_Ah8Ht4THkL&yA=|D{20 zg2V+zdCttuh#Fqd^STPM85nG~V4n5Vk#L_f9+k`ESun_*se|bw5D%p^5S2Ffat5i7DhT zFr3-)0KVP{l#Wbt7#LnGf!5hBd;y@P`XDoXau^s4mcINCzP|-}E@VOu1B1@8m;bdv z;q3)WTkvyZ(DNe?*1ai^NkH(J)P@`e2A&l!;b($iJG%jtUvA_uFodjl37IE_)Kjqi z0r2zRVEY4Dav2zYtbq0>QPrZH6#}mRa~T-stb7TXbA+e`r4`V=gK4lz-;qzj9mWQY z+oa?&Fi5O=2{}Ioyf&T*yeSEkCf)c1!0EOlmw};V)l01F=RxhQ6}b!yQ|=(fB$}C+ z@?e{0K>6!LE(3$g>z9ymM@X6kxeHuAFg3%{FzTKbQ2EV}$H1`W!^{7#KxqoqKkz%8 zT=^6{VE%FCQ(%I(Zd^g96G1O}g6=a3$YWrzVSe==bhIhRNKm>+$zxzx!TSn+_Yugw z6?qH{Tlil6zX(!tl5 zpt1yf{}tlWpbSD)IVd~?@);Ovv|d5R7T{(%@@ar}<3sP#VnRD1$&D`oO$2n(3#7l0 zkk7y{XCw4ppBm_yxRKy23to@d0J2a26{P-vwoRwxGcdf+e+3`^fbEk3h2@5P28K8K zui$5|g2awM)pLWw5*ki7@);PO=)Z!DIY7nUIl2SDX3LjePW%qHj=R}lY# z_ozS*C`v}&1O>9opn!p44VwKf1q=);^k4l)wm+hPfnkaMEBKxrklvgE28IRtuONL6 zsGAxJ7#QXtxe26hN&y4I4>UVg6fiJ+L9=5|0RzJaG(TP_fP@dIxeN*pP=r0wV7R0I3ext6x>2PNq8~K<2vcWK2yqXxm=9>dl>w^W zghB=e9yGC%LIws2Br#B*qoa_4;fewFIA2o8z+hqc>OZJlgW12MkbxltNeom*oGD~r zC@_2lKeHneyaUG-OoIIOrjUW*g5j(Gp!^3jhoOjp;g8WP$T$FW>{q0Sf#HYID@Yp* zk~cv|IfKf$Q?Tp^GS8-nfnkF&B42~b$ABURhCRlwAm^Ha>nMX}CT3m8`Dl)O1|Hy~ z4`+b$KuZw=!wr*H|3OV#kh?(PF{6lq;fl#C_`1$!CQ!=?vQKUcRJ}AvF*J@&6frP7 zF?j_U3xSH=DPmywVDjoeXqq0R6y)X)Ape>m+zc8AXDMc2;4pm!-)n@w%^1h$QO_6P z2tI7VkuSrEufU0~!ilee(TT4Ed}@Rf^l%9ez7>p4d>a^@_;xTl@f~3F;5)(S#CL(w z2V0X9aY)9MvT zd(=Q>gh~kmgNF61|BFF^2-yb?E+Yy+L+5QwOw(Y6gd-mZD2;}cFfgpJhNd4p_t1g- z+)%>65M%QSGS&m_V@@eyV6cdM1vys}lKwz-87Td2howK{ss}XQaH52Pp(OJazul|G9VS)BNLd-#J*O#NVQn4NX2X3EelrbsX`jDcZC%4_8FU46kuIzrB-WGQE0c#;14zXnQs9%C#3)S?HsE1>%~!G{@v z+~HEr!0;pc_5W5-{y;KLmy^eeWHQ>;Il!r&k85lAW-oWqK1*ORwAoV$KAmdxm z^6*VL1H*=#H~&F-8e|M8oibD~Fr3MG1K$H23pE!cCsV<|@BoLLMFj)H7aVdS6$}g< zx!BDts9<1_!6DaE!N6dELvBR{1A_|=xg!+}3=ufw9#k+ehB#O_i?@@sl5-<_W|Ty+qdwuW3iP9Ov_LU z1yKIhsA6C!ad`Vb59B9EI}xML%jAoy4_jdZN>?RS3=A_I-u?$2Z^YmWIukk=d?qx= zo(WY93};;5{$GgCo(979fXebaRSXOUZg2k=ff{%aH-qaf2T;A$&%_+Z1*^EgH{v>g z+$K=X!0;#FEyfvxAUU0C28Ic%9zgaTrGVTW1|Am%r2~&@28Nc*xBpW>We7ChVyYP! z9%Q}!p9S&@v~6Ed&A?!j{T7lo!1Yu#ILCp^=&5F4XvljDnInOkv7nlPA!gEB$T%g` zj4jom^!4CBcx*ig;SNw4bD^4n;mwq{@U`mj_yzTT!M7f_F@a8f)Nlm#kU%9F_(Im53q9OQ}BZo zYL0vgMKCs~PgjG)fftYu{GyMz1y4&O3(_`a!OU^pQD9^Tdf`H!KNf#Hn!dw4zvg`r3-1H%pR_mFu=NV>sD z>qV$Z5L_34^aj*2Fz`sc|E~=S8%SFTNiXjEltJmWrsLH7Osk07^uL;H$Mv-mg; zM}clqfj6CD2Rne=f1s9uK_=)uBuzrs>s_g3VA!$nJ$x+?sPWFkv>R06a5(ZAfG!~d z4L!gc;f{O;OwnLj$eBwbbqow1d)~wEL4%|r_?Qi-Ck$U3+s4Gyg{?gc>H&ks78B|i z8203U_}>K$4~SdJz_x+xT>@u8?tn)=w*piiEU05(i0S(9AAF}Tj<{epLK|ztQt-$y zFfhESV_>+j-~;kFOeQ#Sxbks;>T#ZW28M#epOD&+po;}up)M3~1!Z=SI+J<^h8u@J zLB3=A?~KT+In z0___*Q_sM#!Q;z+F{pj;cyk0D>YM;NG8dWvC!*e804@R`XVVHaFfjDQe}SLj4@zSy z4GatwLSG^0#6#CMS~M^)Y?1ngTpxhi=#cTI6xetZBt4}xFfe#XfBWB$?k>n3+-T{E zxeV8sJSglpG%zsOB!Bzg4$33ourCIOC~}(*r0zxo1H+g6Z;*K~u)0hPb)Yz6XawEQ z^9|`N8pwU)5#WRYxd%+8k%1v%1%5RijSLJe1k~g-GB9kwqXrb#6B-#9?yUF*SyKY7 z1C}&`#t*-twC{E_GBAj&LRELBk%7Tr)i=ogO9sgPiwBJi3^}X5{VxIyh@h0!%w6!S z(p>oz;6*Q}9L|H4!)PTpeBcjKKHD@gFicqc4RT)@)U5$c3=DS`KY-MqP_dLI28JJt zAHc_lK=D)2#K7?7-8aaZREWDkMFXgh*A25B6dntj7#PkhegK)@h2ERKrHO$d;{CV( znV|H9t4xSQD-)pU_Cpf`L(hkA@bzLKOPQEpXZst}fipYQ9+_qa28EB`Aa@!em*t=o z3$07Dk?H|xHUf`nL^Lxnw0!&quUA0hP&v&E3==+ngRHAzx&=C+hXdrtmSzTqABzy- z0}`9j%)szv(F6FH2&iAZrkQ~u;1glDgX+N>%?u1j7Crdy1j;Arh&BSq>@Up>3@a8R z%m%d!Ia(MPmMnhoKM1rwkNF-Wc%&ZDT54lr&R~MImK;Hcm>+|z(ROHIVBm58{+|Oh zz7L5Dgsy%j=AVo(T~6RK4^$_Vv@kGqM124M1*8Wau895?q>y5s#e_6q3l3WYNV?n7 z!oc7W{T*`V5_Fv8L<m*cAQQOK1FKeGz6v?<3BqGaMUsN1 zv5IyEh9#4~|9=BYJJ7kZo^}R?4cor|X8;X^VvAF>x%9VE96UIUu`hIvE%WRuOMENY92&28K5z>Uq-1z>u+;GkLZY5MJq!#6n@F?gLk|PP z8WQ!W^n&(Vk!DXsF9XAp&7|q+>1AM0*g~3~1HB9kb4b+lrI&$0Vk>F(X!J2KOd(NE zOdkV-z&6tCnb60;&_kl0BYg}E9NS5==SLp{Lko#|bov<>7~rt~u~ z{2)=!iGBu#lAXlgy$h;K{`502eAr2ve+(utFy!naO;5@M28I_T>X|Wtfgxo#Y4)6% z06K4qG(8Lx85m;rkfz6EA_Kz>67^(EWMBx{OPW1%CNeNwAW_eSi3|)r`$)5gWfB9! z2@>^KOk!Yg*-x51Ig=O|4v?s4!6XI-8`!zOM6}O9>H5kf28JCZ>fxBoz+iHaH2>I4 zW?7BAyH4rOa=yv3#8f8F_VE|3yFI6 z%w%9NxJa5kA7(NztRX=UXuLyZ7U;b1AMo|Npt&ZCSquzcVt$~lBY=$If~J}g%Wh|) z4)lSi+5^CMW!B7MU?_;C%!~uG7#QAAXa>t{28N6{%G}{Gn}Oj8g=X~3W?)E&r_3D} zW-~C{q0kJGISdRD36!}bVh#ht6$;ImGlzj8Adxb6Jeb44aE3xNROT`;cqCEgj*Phs z3`Zz5W6fL!28U$I-0@*91H&E)%`lnAz+jO=nL8@xF)*;CQf9`Uc?=8<6q>;>pMl{I zg=V6E!cU;zWe8w$+`S-`-MkwKX|W-MS}ctW8W zcNQ=(BxF+N4uypb40k9rBV{22Lqry3?pU#qf#C{;X1rO*zz~p4nL7*?F)*B=(2SBr z3=AGQ%>m8yBd>LO zhRqyM8_8oa1H+Q4ACU6}p!Z0`EM{PMaO4MMJrR6v95i3p&%~4qo)ZM`O+>$+Xv$&+ z28*LVAZIP2>%(!c5omqEnZ*nY6V5~3;K(Ncx?Kk({$w!&!wfWW&^XDT#S9D!&i{a% zsS6uhVK&6MR|B*L!C(mk!=4L2{x?GBD8cI|n8R3M6J|+Z2IMS+m?aDh3fF$%-A4l2 zf6=mpf#JrrAMm>YAoG6k^=4>s3E6+)1m1t)#Fya+-+$rA*TLw)H-Qm(|AhzI{tFL$ z`!9HwGB7Z_`hl|cR$(av1JA1;@U^#~bz~+>85k^H{lK~g5frW=OBon4Ui~0?4*|%` zj-?C?DPMmetwTcGi3M6OvtlU&!<4Vkv;>~##@yckN{1JgGBDVD`vG5f0$OkJWGMqf z#s44wTR?N6uy|&w0LK()4c;6$3v&$~$V`=G3=AAhKjG_q3P9^)mN77>F#Uv_8$>w& zMe}($@dcno8fc~(dDDysALy!83r9W!aNH|^(*bCuA_D^hD4ncX#=sE3^z;7~?0J>g zbON%{k#7Q{Bho${qSFZ|eodA$Fmy2eBzm1DDBol(XJ80n{t21yPk^oMTm%bwShfM5 zgEnP31A_$1PoncBXg&Xl;7`)7I;e)PqX8M4%ZUUtK$8rV+7B=G4gVLYI z3I>KNY(MelWstc6D;OAh*oiY2l#Uu!Ffhb$&@UZ<{PJZ51A_%8e!qa!$*g2x_&`7% z$j>e-85mY@5%1@cl?)6O+&|&xtb)_I0yxbZID#q|2b41`aONFQf#(D*@bKjwkY8S` zWMEjrjo;58zX+^iV2I%%&M%;J?XZf0L5KGz{5~6SeZZ6tOV{xAbRe}ks~8v#5TO?2 zjv1>M7()1na|fu5JF$v^L52V4|6kBGWe|5D);yobtkvLaoJWA6G8f=L(p27 zn$-*p0zyCk2SLlTW+o=^!eCH*%~;LA5F&&>zCh{@tY%=~5yr0$6h1FjGcX(x{`tQh zr4Fcu#S;_0IsjDmYOG;k5E1=3pmj8;?A@@2fx$Uo%fPTl@+ZaX z!$EoK4ak3z#N{baxXG+zU|1l9Kioj(x~yYhh>#}ETu?bsvW|g4Lxyl&2uimL)-f== zk@@+5E=s!Xg{RvEa296U1(dHJtYcvCk)vO}2Kg^!Jp)699AW=~(nQ001_m2>;_G^l zpSG-LV2Ds4*H4fQ%b>OwvGoVYPZ}E-7+Mqvm-C=>6S9GUK|&FKx&g&)%?1XB3yMGg z&q9gYK6s4cE0aL>?AgG;V4#fO9+0{x8yFZ~5KspSSDuXw3=34~7p@?;HEd*HIHN+? z4=Xk@Ftn)RR|m?A7dA35_^3n63-q&WTw#4q$XPa^cxBkcz>uQ>t%K0i!|%R2eC|A` zAE2{|fnkBh&;PLf^q~C{4x1Pl)@c0v{~8{L3e8NQYpp@;c1OtlS}B_t7%H@W5?pit zft!J0!X^d=9_^q1Pl7JNh3pFe?JEK83pfMY7vRXJz|6~y%J_d#tPCp@M zRzmk4&e+GmAmaQJvgQap-w_Dj*9Yo{Y}v=aaKq>4|F58NGX}_9(}{fy3`cx_{s--i z1f6>g9{+z8XB=Q)xZ;lpSCBi`fG+L`!1OCf?!*BG29^Nqet2?# zf#C-ccJdr#U{DA^*a>on!a)WGA2czOgA5E6NMa!SJq|K3ED8AezZsM!!C}bM2ns}y z87T)D7$gD_=7Q8$9Asc{3H!gY5P?HZ;Sd8u3=TP)LktWFIOHM@F)*aykSjUFz>tAMZo(l3h8!GnYYs6m z6yT6MafpGT1c%&{LktWRIOG@(GceTPkdrygz|eq0&f+iwLkkYMki!fN9XR9)4l^+H z;E?M%%)l@Khun(83=C7S$br(=k;4oOGmz33D4*Rp%)oFYkZ}3MaD;*350YMxc_K#` z7&L+q=@m52qj7|RAtdPM{}}ilK%mIM>TX2+t z;Y{Su|DdrtkdYv)v_w#=p=#p*7 zd^Gs%JkXiEpjm17`e0@@Mm~=eJ_n{Fd>+-XB?7K|4otiGJhJ#4m`}0rc?9!0Fvl}O z_`4bTJeYi72XH!JJAl)Z&mjn`*cVJP{e)8~d=AW_tb87IFpD4uczW_VBx0;mcH(nj zHelrQNaqXi;&Whn12JSbpGPiVfG3}W3x)65$PNZ&?y?Ad7&L3^Xh*7XT^Tr z1=?B&=Hpn81$E>DpKHK!f`K8T@#p_XAa`J{T@&$mxtmPyF!;FIuAo&#(W_}>o z3xLl%UvQFvA*K_57=Y5liIWTrB3(cKw`2F4JKqD;b7HfxCJ4xxE+VHG7$SOp{{I4s zLqAwN;Xa296bBxs7#LJ~f5PuLapaQ#HLXG8_Ge+k?x1{7aEgK9PVZ01okq|zd0I{} zFx=?<`TsD=nz9)fYsx_LWgAX0Fz8GnehwAnwkM|;7=BE_?>12R#&ep1po*52+KJJh9B#Qo4*IS)8rfj!-@4j|EHmZ zt2aDkAW;C16!6-;jB^YOEE|bU*KvHHGq%x|3&PIW2CeZ#PS+%@-TQEkfx%`YX=R(r zc?JfKP58?X8PFL%=NT9jPW{BWE;Q#n14F>6pG2<<1IM2Xv=fO|-J)CIu3|gJV zlt}41OHi5;xxm1{@$l#W51_Iw1%G+vaDjp0%tMOf6|@w=liW3#pnQAc0s{lfqo4mL zA*V^EHdxldyS@pOZ#gb9Fr+-jpKn3x3@$P-$UGseF5)5s!xaMRK;=NgMFxhRr$6Cm z34!wCl#2`uE1nXUA3<(9a*=_d;u(H7fy(bU7a14~p8x#c11;Oo(h^1+p#V=C!Qv7F zL&;0x>tT@nIhPn19A5qW?}f|$3#e@rJv{dBxWvHV^5*A%KjipkHpW{9y}87|u;DFL z(kiG7B5R#FD1J*WGcde(OI+OtQorOf1H*}T#HWWVml+slyvLs&Ky8gbml+rWK2RJU zPSADtWR=OF@}}hq14G9L!tE}Qn>SoxVDR}kuxDFg8dUFoa=%?5dvEm?1X1cJt%E4Tw`E(^NF~$1*-cEt}!s|`AqzJ zHBcC&Tw`Fk@rCgEACP+{Tw`F!`AVF7K;`~{YoPrO_+&cI;u>*xQu(D4FD zyLKN;KXX14j0tbOp{$SAxWT|M9c!w$w@M2{zc^vt-$z|g`(nw~Sa7#ISWiPr-< z_m<%{1A`39um2N4ZCyw|6mniWXpjkbDM!-0^6_u$;f%0*#l=e0ZP9YZZj~PVgE(cJ|IvyGu&Zdn8Wewed01I6Kyy9^8-{KThwP#pfa%fKKa@C)yF9Y~$R zJqCs|0>A#h1i2Zq9v74|K;wG%VB>lqH+bA*V3;CEycS{^bmL`V@=mw?>8Nw ziOetf9ReV+J&za|3Xt@I#uzR;R^ zj~N&;K((cSGnfqK;{c7( zPI%0~z@zZ%e-20!lRuw;KOYCkj1`YT`#*j`=9j_iOF+B(A@emy9y2ghMEoLpToL5H zACDOrmPGu5&r!-SFfi~uVPFV||Ali8y3P{@hKBfGkn;?{Zou4w4$4CzPZ$_xB>nnt z1nO(R+f6G4_=XP09ng51*AU}f4GCv+8&U5(}-*9fa3Gb69xu_bo}Om z+%NK!f#F8_um97L%Mzw;SO*F3SR%+>Ax{|?EHa6ASIbid29B&>|1W{!99G8~fbNB3 zIu5I2LFTS`%D`|Si#T&Z{6d1V>MKAC3>3?Fidvk#=+=NSXTfjr{X*E|E= zhey2nHP09r5(nUW6xD&;tX=y)#}gFia^Y>^G44M_w>6XjJ_AABJMS zHBR$EY4yho28NJI;?fex4vm)#3@TN>NE)+=dC9;KQ2p!wGh}x$U4y42e0x_xX>tyz z(OvrsvX%l;F2MG}Il#&VM?QrNBz7>24GP0MAp2{7{Xc_Tt^|O~m1Qt>pmiG{wH&WN z_lf*MzVi%Z7kC8Yjq%L z545HQ)bHDX>|W3qipv`YhKM!4NVl&5OmFfbfgLt49K!y5*MnC-t%&gePvhJhht z`!DzzJ)m~fjW-MoDSM#pFBd+AU_K58(0NZE-Y_um9Q*~JH*(~YXl8C>VrqrvN{KKS zg9+?w4o5x-CfLNggfmzYlwT~~GBAi7`UP1(SPT+|+~wNF6aWq$$jvVdU^`RZGB9}j z|MmYcD8CTw*DN z6ZOtt^!q(Q?Lm%r3=AynzyGs=%!aNHlzGR%z`*_+em6KsoxwW>hCgh-|J#DfH0YW^ zmv;;d8XUj>D}(fc+l8_4waf|c7#M6genZ;9V7VZ$9H{=NdB?!u!0{W>-*w?rV2T0x zM1jd4OnHFSf&9JX9RtG+kUHqyNuVoonV4(YL7~p!$fp2mAD?)~z)&Lm`@bp34I!Xq zi(#N;i{SOtPu?*w%)lZC3NMED3=DgOe?#IC(pE*3dpOS80_n4O&%p3Slr(*y@GE%F zz@Q`c8-B+(NUY^O14D$^@Bd;Tw=*y>tYHAn-!U+V%zyCz6lhJ93ts`V2qPbd6JJ3H zUXm#cuQYzmn6mXqrqv;_Yr$;LRXiMydQ0Pd%Q_KR!4;}Vodr+i>w*rD(nzLx;44~M?yAqrc50rds% zd|+T$u=v6MX`nE~%y(#KyD=BAVl&8*F9Bqh#zzK*DGI;;F9fA~OtaA3#LS0v=@WGA zV97@Yh7~Iw{6B-sT?NSJ|1dAZ;jV%h1_p)$9~l_dDE@|=D@D*=Rx|M5XerI&kPJ1s=p!Yt_g=R+Po}co&|Xx$`Q}JET}I&<1+(;i^FfMYl%Q* z#*WVn3`^X9qtt_EJ~J?EaQ_Xj2SILs@R@-@#)p341*+FWzA!L&`1~emPNCxq14D~1 z{&WU1d&3t71{=TMM7P61dH2Z|28Im(-~TyrjR_quP9Ujf;5;VT0}O)znGfx?sF z8v}z+2=Uq)0PX@IU6TUMrtO@%~a6T6l?>*lc7#zY0$NQG=3=BWQ5%nra?}_gW z3?dQu^@7xW_|Cv^hJZTI9!iNH3=A!izyH4iwMoD&VMzP7kBO-Q+`x4LU8k$yfy8El zUk~fbr{DsUfZj=+@q>XuCF=M8|0w1D4rmk3fayA%g*mL1wf3WMJ44i{EUJI-Q>k3k`B&gr= zlY!wx0&(Vp-2LPy1H+6&!tUnz#lR4dM7+5+zZe)4k_nre@{57tMl$i{PWi>aup$M& zxuCYho?i?M38}xy8nXk1`yY^h(}{BzsNB=}&A_0L@%#TlP@W)I?xpb2Vtx)(j&1o3 zI$xXIa*Xsg5GY@1{9$02l0kgE2TFG_e?aGNe_H-9Fi2$4&p)8L^T!_s2A8bg z@cATAJAvmf1A{}>@Bi1JWfWS!1LOR^y?ELQ5q}vNu4MlvdOi|VSM>a4VEB*&ZOh|1 zBNpWT9e)`Zw&Wt}08n~9^Ou3)LN4*?`OjYlh6Q=Q|F0)1JtNoSDD%9?&05fMLl3?c zj6~1#g3?LLKL&;qdHB-_$bW18F)%db6X!pWxp)3CFa#9fHy5OicmZ(%W7jJMSJYhD6k&&UGlH4#O-Tk026JTOwm_tW9L1EUy#K>@>lJasFWYz^HMuwQ` z-~ZW&OtY_Wgg>Y}mSJXOP^cxYJoaE_WO!1GD33v58Ne|2MQ+@Rz`-7CgQ>gzwxfO z0I8EBg2di;_L^dj}mr9hKx?)(=;fIRy21A85wR&!Ji&LcIt34GEA8I`+oo~I~SnZX@bK}kXaR+j0{s| z{Qh5yD?ZTn>nGxgk0YFn3@2v&{tpU2P?Uhozro4K@MIR{=7Y>q;bLTvnEU&`C@#06 zwF7_Rs8d1iE8t>eu$hlPenIMHa4|A`A)pSFFAi`qGOStf`~M!O+aPUi_J7LV8U7Hd9yC9bz|F{Dv+VbO9_;Nww0R?@``A*cBcFpiHgQl{ za)6tW;mxw&|6@TBk2+503LAoRI5|eh1}~1#=#N&%9${XJUe`D*?@4 zGxsq?!J-^_G}e(%fq?-uf1SX@Tv+tre;_*p1B*XI9xaaD`OxZ#eim#w&5>^c6U41E7#SGutbFjl1{7}Aa5GWd z`U{I&L4Msb0qRz9h(4HGL1pX*ka?>g{C8mjt;1jh$0gjYj(i60d>5FI*3RBx1O>GQ zIM^k?%N95s`7S`+Xv4(7z_AwU#`g>;aSIDiY;G)JVqkE9x$!haAF>;#FflL~tb@97 zHv>g(d;oIm2B;esL+pa3KYVVKU}j)A(+>^DdWb$`H(D?=FvM(xx-p+JH?}Y{FeGe- zx-lGL7cp+!!_2@C0du1EHXF!Hc- zIP$Owfc672FbJ?PFnrks&9Bl(dOVw1L8TnC4njTX+#UxO28NWA5B^tiGcd4#W?eAH ztKIn)uplgKWAfBvV5-n#$kbzq*JB6=lbL!9O#ONcOb&Vssd@}dd-WJ9^%$6n^cZUO z7?`~E7?`yf^%$7q^#r2$RyLQ;)$}IT?oE?Fu?^?#E}nFH-OA+ zVPjx$c>dtO52&oa{|{SOy7Qs6c}uaj{oME#FflNsFfcIOU}IpgdG!F?_hMO%)lBp@ zQ3W=y<65%?s8yfU~qZ+;6LbY5ti_ONZ|q5hv353z=$YMnZ98uP8%4*F+|4Mb1R8h(~%?J21W)3(B2pYP6mdOhY$bn0Og^4 ztY%`gL)5XF>Be_~k$D={t{S9?0`|iMP6mc6&mR6~2Km9B68j*Ag3{;{P6mbtA0GaH z2nttmG&3Ff3_vY0wjOZt-p0gq7d0_Lnq*9qFhpHJ#}G1PFfcHlY2zR7-Z)0M9gEfd8`2v`xV#|fDe4uiohnaz40~Z6sldli|yV-);g;?!!=R3fT zNc?R~HF^vg;M#+MsZ5W7*#=aVe9~iJiqc~U)nh2sV<^^RV9o@IM(Z&!UuV)|NYG78<*-aFbgp1F)*_+g6hi??CyLQ*uD4;ursX#Ye@lX z$=74ZhZq!~$G|)dq@IrnYzD~UJz$j?FqOgJFo@M-VEU=Y0CFGGJh1xG z6YP1W06hk#I6Vd?A3X*pP?&pxO$^gx0Qndch7f@?Jp&iM6YSZ17uX&7Zm>J?Jz#g@ zd%^C+_W|rsP!j-Dv4?|ohk^rvsZfuB2_jIc#}EWYps)i4Zm=Fh4A_NC(RvJZU`=7!7US4Fxv|(?g>)~;d+4$@kAwE!73qP5eW7wL_x3~1El>F0v3z} z`!N#S{(+d|st3yV3=9kod<+an^dJ3K1eK4{zfto(xNJ#)RS<1V%nz9{iV;V?1W^6b z!NF~<>lwqqL;(;85h5j1e%#%BQT_wL|hV309;1U{RcMf^8^_!t;wm_yBY{)=QYKxLl;KLbOF^`rmaLGIrE3)TOycHjimF;5Sy zg`XSW1V*L|>Ct~@kX_1H?LuomF<-;c{dNG2A!LBebAJRGL(qnVwIe7}6+ruh@Q)!Z5ny2W;Qr`; zBq)r3|Ad7xN?-UJT3;AcU)&L3V36>9^xsn$H1+`3hulVY=bONaTvsslVhb-vK2Q@H z+#WL!1hw}cfzL~3k%xp!GgA^DhZ~;&sNESL$iSeI`3TbPKVu+m#{e;o%N0hmhOh%naDZ zHE=b=LE)_-%)s!c?9u-vp!WFvAFwotnwB=8^re_z;8;+<0op&S5oTbBsCxuHOP2+^ znHcTWn>gYS)LsRRw_OlsU}$N4^xqv64y)nrM9C{R(ejD|0|NtSQ}~>wNB{jn`r3b> z#=Se=26%bO%z+X4AiF_fymxl0{xCW?RFqxlEqmK!1r3~Txx{SODZg&D37)h(!VA55v(^Zo-+ngp4tBg(+w zG4auVIZ!|K{C8|=z=aR3tY3hmPy|&%pgkxJq6`coQy%>{2f1_lccgHK^&i3YC-jK! z_t=tc0?2JAL>U-(rak(97SwNuC(dn(IK~e^ZUdPqBgVkcG3(L)#h|erYpiBsoaNZU zi8~NMWlVt>1H+T0k3b_u3@j*S!uoiS(t-IZax#N-LO}J>1~CSPCCeXy&)8?-$Lc1~ zC72I)Yh24!emTKw}OJ3=ARS z3=9*_J^F72O0%nx;}q;icsa^+9-|lq_ot?aGcY*Ze)Ru0NPjaieq`3cnvGof5|}!% zyA?F{0%}u$Hm-%-ef0k!DE*n^unT1ziwWyKC^xt$svC187#MEcfAoJI z$Y1ZVhBavKCvx09!0!40tiyP2d;#F_yCT8B(D3LHc+Qq(F%ElB{KRaD)#+}01x%B$ zy8z@TQ204WGBCJ2ef0k{DEy*v*wujA{?o)^Spy?e2zJ{V7(w;x8c7C*70(}m&y{ES z{}nZ@BGqxw9P|>cumEQw&^!z%Z~u^FVCZ@I=>JSm`|doNS+I61n!8%5>{!Fsoe!;@(~YBC z1GRHNarQ-ufkA=y@qZ6cS$P|)J6-q|pvGAf*4DBc-vUM#>>gOa2p%U+kY-?D5q$h# z6;x-;$6;3jN|2nynmio&z~%e~X$FQTl8^t-1EsfQ9Oj|bLDo@`a2) zMPN&)u6!RDu@;GsLv2vin$@U9$}8gUe;KTQW(GlwBayuk5~DD##d3ioCY304aeqP zPa0X76eW`V~*Ata_qB9cmoEG7xj3n3FhbBYX!dJHMxA;AND7(rJEO$FV6ph|{|%tF!r}MeIs~ImKyCM3!CED_@fF~x)eAuDhfI_i z7#!9-{x1nC*XwcEgEHR%ay+vGBWTz=!j&(`b>rygDz5|TOpe!N~ z#CL)bG(`n6(G@(oo(Cztz4REErl8vB3Yo!i*AocfJHhA-bw?rw7vxGLS!8YkI75SG z5Tf-Mm{x;_vcG^j_NojFTW&o5e^`!zfkpWpwlw3;_W)&Fr%I23ITBQ;fy&R-;29)P za6+aHm|DRD@!*+|0C3rn26jBCe4PMU;lQ*@kAVqPj2?poBzU%DCAjEM&|_c%`5&Zu zs~!WWIAvO;r{KcZz?{bSfQjiiTotJHd#}g91d6*zh>C2!2Tav)1%Y}DOtYYMY%nO{ zySQ5as z9VGX|$x5)f8KA_&0G@aX2bU$qU}4DO4#-@Lza9g;yzvK@`(EH`CLEju{Pe*6{vT=# z3_UVW{@a4a^De)^7Vj8iIeIwyKcMjvP68Dmpnk=A9A=`HKgL+gA4fj$ znvgl_3=9(1PyU|)xv?6ndFbQ)%v*4{5j36#I%oBRIs?NLzbF5j6LO_c0foo**GS<38Gi%yKA?kd>(TDVbK)~# z>Oj3R4>UUk=~G2$GBCUec>+FvhvhiLT*Q1w5N!C`4YW=YG~V5z$-wX@zJPTM*^Ms%6vsK*3=A)_p=l!iEjX>=N)wP)^@yZt;BFE zlLM-dBcB0i4#PyBfgzyy$$wD&!IF(^CTbm;idv~T@fk2M2rx1*l;|@s6cj)Ce-6}M zH^=ICw7ADQzyK<4_F_vDpb`rETrWsw0@hN^jW2*{7B<72_yVxDd;wSo zw_W)HKn|Si=M@JuuZ`cP{RN1e6{=7=X?nee!=Hs2sr)cTC`@ zQ~)Py&^)sfXqlXbBOgM<5fq)^vdP7efgzyo3HaU-7Hgv1o<^$ML3w29t&-|M@^}oDVS%Q71CN8$Pa} zqctVKi_1CO_!O|80p!T101BroMhpxe8lYuiG`g9nWg*B7EXE8B42@6zcY?yz9HJf^ z@e1HXU;tb9z~o1Srx+mP(-FoD3^t8Vz-QvJynhLcE6DsaDD2@EQ!|C37BX(A%Oao$ zmV^AY#+ZR&MRZhqa7#!f|k) zBOj>xXK*oLU|7)n78Slntz~q6d3_O3J0gfy9rWa88 z1X^=#%D}Ls)}{3%O6#BM|!B%}Bh6bA{W3=CH~p8P)q@@q9Qalqt@t!%(k&4I)8 zgee1qP3IHH`fOu}yO7HUCV!;D!4bv=Hy0T|?Ewxm28K1A(Dr~hL_fk`xZ49DKf0JP zFl^|A`tkV-BGMUoeq3Y5z#!2DZEMbdft07v@@X<=!U5&;H)aeB9bHfUgU&r=sYce1 zk#4{X#t~&b_B;s+HwSYDh9_N5AnV$k;bwyN#)13M@FT6=V2f118Cn5Ume!avF#PCx z@?RKK_6ZXeZu7CF4NxN)WZoHb28I*ePr!Flu)KawL_9Db!EByeGBEs^@Z>*eUY?~L-OZ^ePJx6&#+`*(3$w;e;cUmb|%J;%qm#Df~V{Ttv_P0VqgfF3~di-L)?X2Zq&hw3Rl$h z8vqk`<5K{c<6*_XuxB!~UBC`82N8!6NZ}C!V`JU|^Z{ z1bi+o%Y3+caNVJSTF?UN+8i4Oh85GH?S$P= z!D)fmb^<7F?$|Ie{FwgazbmMGosO&@qrAU~Ep9+&D1heLXFdVnQN>b>*NjkXW`M#g z#g>7gVJ5U3^?yo48YQnBJ!8wjaAGDj?=VB$ibzM8Wy~L228J6mpZs46$~*U;5aBLn zEv#h>o`?js_fqT_7!>9_`QHjk-)lwL$Kj zkJX)M{blAh9PY$9r8Wh0FOfY1L&v-);PZr8(y`iu)?Q|+$5F3@;SgtX#U_C#{6KAt zCH4#q3G<T1((v>Q zFPm~;MH5>49ppwEX9k89>!9^5QQ=N{zXxQ`5@!Ymf%Q;(wi6TXOu^X00{7Th4XFHc zVPL3O|KxuND9p2ovL_CkJ+6EX*e6x+v_J+=*^kE> z9P>~P)Dp)P?%;9499IU0ij7bHF9(Hh`9o~^6s;^~%EabB&=g!E4hc|tx#G&eaA4Du z{~JMR+8e7qXypMD*75~UwFI6+w{c@&kk|~JlllJuRxe?WFJ`0m$8n7>g4{mAje%jy z<|qG`fWqkd18iZ0?)FpIf&!o0LH7J`V_^8R1zKjVC&nJq%S=$7N^oajaM=nCqhw<2 zVM@W~A6GsHlH2N_w!;H=28JzLq5fos#1W!R$W#UET!6Z9Fg9pZ2viQscrY+%YI z{l_f!knlsKXMb1{cI8uG0N3vipz8fVWuY`gJ#v3O4p03qbp$v z%2lQk@CI;;?>~gT={woOpEmxm}?oqD{v#h3t*WxK$a25>w!)&V9Emv`s*+o-ns7sULF?vw94mGZR3|k3lCnfLGaq z)}{x87oRcpLKZYmfh<4+E%`3fV_@2^#{kygq{qM%q9@?b*TL_^H-X=iuYo@Y!rSj+=qtqN-yG2Cr%Z9j6cr(F|H@ zy&JqD7_`_OyzI|ej{&syeXbq@DA2(x4nYYZT#tbXw2rU=ym~Jd?7c{EbccXfJ!a@J zU|sO<$k)KH$G|ihyj+p#9VAudg4Y{|z{pq_10oUw=7LrlLQYGH1oOke&ICCl8yXMp zdJMtfbmay1RuDLbgTc$eePK)eK+7IoAW`TAPQn>5weW?+koD2N;K+9cFG_R;o8%AH z77ex>w8GO5oJim&B}9W2d4t2z3#JWn@&Wurhj6f(0C0*52CE4NtB(N(pF4P^VGvlv z1FSLxY()q-(ZqmtK@1E4tMmn{NdTLZ3)!9!0Csf*cp)O>R0j{3HgMap!=Hg+kIvKo zx}bWY`7RM<4bx(5HJU5#sXDMdAN&~@zUV%M?2C0K#vbOUII0oshef*aIe^ZGjtF32 z@G*S)e+9Vgyo1zsK-~igQri;1!0^Bbs`fN)wV*!zh5!Zzk)=<;cSEzRMpFwKZ-vfj z*AUU<1l<$I5Xis~vh?YHU64D|?|{R-nJEfrcUfnmd%r~m6geqcvZ58pe*$2w?O-o6d?JJ@Xq zea`6mKz=d_Vqlms_x}GBP+Ms|l0IZVDKWvU0`D2i2x4H!S@-lmC&*9zNP3(>jUJ}Y zJnS5+%b*r97lF>6a^hhVU^)pi1r(M7!Ju=6o zb8bKV{{y728c83r+cIH#tKoVHiHNz2P|YN`dr3`~}j}5yHSw^YH0^ zHY)}O7GoqmNO8w(VT@wWo)89x2jBSPmn_6|$b|oNzs$vgShw14D@Zv;WM_4J#sj&MC2t<+-wPDV0d8r?7t!p0|U!$Bt1y}2InYH zv@$P*7cL<8eF$Y>*y8sLd>1Oqe~xe-P?>VCq5s z2?%3gc;f%;|3=WcB*&4=M{*nU47iiP;oK6&z)%qO?Ehv11_l&6koDN{!mI)7*%8LT z@Tce5e@9Tc`W-1Ak@aXXqv&}P#=syk>DhnKIruEddLVHh3@z(G`5P2H;5(=l!WkG! zCO!Kf1xhdXk?aBM$%iEua6RD@&cLu@(lf|>{&^&|$YsDas4aeQr-A*`5zfG{X7029 z!s-kREQ^u!BKxNS)jxZ}85m|9c?LOa<~Ncau-lk=p*F$&1B#yy;S3BeN1y%w0rJm# zbUmR^M=?!<>SX|(ZL1Q&z#wq!*?$FjQ2Ze2L3W!Xiyi}LHx|-jrm#K#@4yK<9~en5a$IwB zKs7_^F_$O?1_R0G{|!LvS#kMm1)>}V)k_so3=D6SpZ}Kwxe>YTfhbqvpq4Q8L0t$c z`!+-|Fnq~+4q1D=9VtAp`mG466XMP{Q49<>Dxd$K2=W_p8wA;JoCtS; z`TtuWJ;-ekWIf)fdP1TZ7%t3w{(mVbk0G~1Ao;Qe>L`?a*%8gaz%%DL_{@J6Z6tpo zl^x9DX!$>yf#JlG=l|0|>tMK%^dQ$AClGZ9$Uh&V85lx#K8LJVc#c%hBH6>V02=ZP z4B#?QC5C}v!>;F$alpe!dfdTnx9u?1AoBxa7#LD^L;bNENiCB3$o>GuX-f$T$YI7rC86guNEA3=BTU zpF_rm^s(E^1ZzDbmGvMum&7tK960_Q(pKchp%)aYp!yq0FDQIB#4<3noP?&W&o>e6 zOdM$oWZx6eq5Y?x|DO*^kLQu}AcYZ=6Esz#*{2Z4z`%0l`G00mK3$JPZv#A7!RaL= zj)CF9mFJK;b2XA4up3e9%!W7y29c}J|I35SpN*sz*=-xKyKPS#1H+0t&;N^o%AI;7 zy~ufU3Toc`5XZpa^6vTn;~+ipIP}b+_uM|M+vn}6A{nA zu!sM}{{^7DDUCyq32J`siDzJ_kbLo97StBxN793wpLf90GNep95YND%BKzXMD9E1Q zHxTIoSKGT=)*1A~CVi~pdr(OK>z=|K)RCxjl*`TrUT3=D6SUV!htN70iF4=Qk2 z1tc&qh$z1R-;2s}9La2C_oyNK0ICaG5*Qc^R9^g_3`(Dik@O(?Tp`dD0Pk~w+NOIF z7#KQqUV!gNW+_L~hv+9Sfw>N3&zl4W1`mT5;QNtT^0BGUgj&N?3DXA}BTz|XU{El8 z0m(n!Ncy1tP*A?~NMvB(F?#Vo4&(=WBsI`8R5G9@!_Gtj^+jqD85kDMy8pi%q(>Y{ zk83kC6UfKlRwyK%S0pkp^ccPP&kf2a%t&gH!jO&=y2IgY@JiF)(nL zzxb~V^22H*vyt>L{X_TxG~TlyiGe}H;>CZ^x!x?@IP{zWk52nQ24Azm2f8NdF_h~G zz>cJj2Td1%%cc)W3=AyJFCgPb(MaY&>asAH?V$7}lgz-7;r!zNMNn8+BdJBCuQ@RF zpmgGs%)lVw^5XwIka~F}_0V(zQd5x3z%T`-h96T6=&YP6$qWn*ZZG~H1DON5CDf5m z06Z?^+RO}!qbto2pO}-vz>pCH zHGlUt)G*34NZl1Y?@i5mf}d#{uNe8L12mXOdq0X9UIF=c}k;1v)hd=Fj!$K~(^ro4=9D zz%VEI#s4;tn{K1&M;a#uZE-{1)r4zq9+Ve#(m?kszxZzea?|9i;B2pGieMA962xkhl2bp4e>K#ZZH}) zHwa!Y3(6mV(ij*la$fugl}#+%=<4BfiD31hH3K^75cS~sz~@(p@IUGEfuJ-xC7prc zK+cQ*pfj^rW@EJn{hTM}ektrB4Lb7-l=ohwGceql{Nn#VP}o#oK}t{PX_RR#mL$ml zTBod&!N6d#>i++iATz?@W}wVnw<675yYV@MBXL2|4jv~d$zWhenEv8FC`?(*A?6_B zsTe7qQ1>;1+Oium7#OBZhsH5KL@)AuZYqxXTu{0BCWC?D#q<~dXM)^+|1voK!1s71 zz^=E0tS=DBWMD{`@!~%_sBXIsQHPe!F~YwaN5TY!Kj;kGj7$aworN#{zX6Slt;T95 zT3ToF!WN^T9h~u4?Q-P{z_IEyfH?%K4$uZttW$w*d;y^RDU-#(kg@#5|87v<7Zldu z?ROH8wVsf9eYE_}%!jq8bc5^@%gJJ3Sh3*+>cWCj$)PODDf%b=h%29({28J)2UqHs6`Y+=vN3rgG2f3*vmx1BJmKXnX zKz+7)V%)@R&4j~IpfzSkav2ytY=80p6R2F9O^kU=`PhsjXN?&s&A8+-Fcj=~@n0U~ zA8V}kqvbW`7_0>np2H?U_4S%O1_q7Y(DK6=684CC1GW4Bx$90I1B1ox7mz(v{8-(E z7Wbs@p#s&{F8K@$3434sHwC4!&zJC}iG8Sbt1H&Mz96^H$Y)^i+4thV7N`!oeFn}&|CK)g=fcBCz6f-cWoO|(q4ro4I8CgF@yLdlF z-epcBdoMYt+^#8RVDPx~;y>uVLl*35A3cmMu;y`BK8I>-1v;LE@St?|r*+F5A*``8sFX{UoKyf;ygn@zK>I=wT_Wu`QYD@qv{YOcM2oTHHq zaU-^LPs}+QAoEU?GBC`!_TqmKsJ>9g>Ta}hlz9%;wB*Pa04h@?$`}~d+<=bNXybMt zvFD_K(pyd$0|UoRXu0wzTDvpYn}85lm?dI32PWH}yti98Pkl%_Mv85neKL)*LYc+A9ccEO5r z28KDeUqH?-utwI8QBHvevWPjm;7>UN!;jl9AZHga!_9=}GhF)$LG^=01p@=mofnWZ zZ!VuFCZAy442P$P0;6elzj#X}1B1c+7ym)`6SA;F z%s}L$1f1h1pm_UG$-t0uADRwdpCcmPNbh$YVPIg0sA6DPbN|KvE1>Y4PmDcG3$TSJ zo_M3yo-M5D61KNep_+l=$OCA2i4)@w(!&cBFCEnk3_K5^_MARTlXwB`)%Z}&z!38A z#s8(Caj1G?>|wr*weJbq!+8T+jDdQ}kbT=RH4F?Vo}*f+xANra%dbE#!uPc#)9p!pGDV!|>T zTOt4*t@0Rax&dtt{e?pdj-9#=O#aw3fD;<1Og&P^z;NOHi~oN>;d1^AQn+B0sjaAO zc*q$XpmRex>KPbvKEC+R2^zy#e};(shkc_G$m2X%8&VX{M&;-<^7U+28IWp zU;K9i`EN4Be~9wl3s&Bv9gzk(FZV$`1H+fk&~d|bqWp!`m7u}6j( zE*}SnE23Vp-_gOqz|(ynvXABaF>qLbmc=kJ^*|@{ z3&8uuA9OGMpI1ko#asura2bn9-$-uCs`~Lr}AobT_<|Z^VG1WlL zO#qu~(aFHz({ulSJV@PXxVbKT4UC`*YAay|JMuL!g3Qh6WMHW2xeqy$V>z<9jc{{8 z`F=tt0|N`^%l|*aqdklt)`y^%K=Y{^{DOv zjXCyoF)-ZVe)<11$UU!*g5wI(wnVM_(8v2gO+*jWQU!e0HYhzl=we_H5q=5T?|S$s zIGsSu1P_ye)_b9qA*Anj1=-`#&A=cd@e;DOG#jfuX!QaUjs_vlBgzGFlEAtW0(9yOjtj^Fig1|3%#5{O!E<&vGxpmLU2$KA z#PkxI<)8~8KxOQM9tMUlDlZ{xPOd}J6rzkp9dicNodUfK3@ob9@@q5J@I^~6xbGJM znU~PZz|f-l@_#F6T)vqY^O)7Jh8c7X&4ykEh9l}w|Fq-x4=7JP=w)EIqW%&xmYoby z4@v)Md5XxfY|uI|lRgFp0gacCb)wR6GeKn(_{>{k&kU{UV_>MzcnO&U`F;eP-w|A>-o7MEQZN zadCwS3=B)OUqZ(D)rqnP>-Yh_{xm2}bxdGju+e!5IRo|eVYIYB{28bhCNMCh=)8o? zQLaBsOx%)ut`aC;SxjVLIHU6tGUuKSaW5oaVT?Ipj^krl^b3m9o{0<$9=b0f=c*bL z<#w{pRsAxNfnkI0OURu0>qFqMhPWNIOu#m04(jKdOk!ZTp!X7TuIh1Q{TP17daf$S zuN9LR81Cpp<7x3Bn#2>R{CzNqfx*S#<^N<*UXLcqo)_5iI%xb0w^b#^>c>5qyJY&QYxG_X% z&JYxD22&UqT8yA>Uwn{=cq85Ipm>`xg@NIW5wvayM|L}E8YO0a9MleYF@=HQjS;kt z5QdnCsB19m2#Ki-41bJX{$~fR3weJ4n?KRobIh-C)Z5_uO){o3FzhjV2|2@79&5Ov zn@92)wxIE&3sV^wS}dS>`}qN+I7baPY(f#^!5*3&cIzU zje%i}C3HL_8tyN6n*-NeH7G4Tna02nVD<7pC#Vgkjnz-+VUP0+Tu@pvna;oO zzlgL|iqyx3?`Od{M<3+g8#5UgblhJ;*6$S)<6hF&?}74y!z=~{7SETE^`pt??nPZc z3M!upW-&0Bc)o&HklRK5EJRF3G( zW?;DC`||$<(D+0&F=5ISk1dCR+7h5Rs+rBe5a9<+yT(MBM{-*g6y{H6GcX+RdkI-j z_j(^VO(FMB2(716nZv+f;Qtb`592&UKO#-yUr(1Xhk;>=|4Ya{Z}ayNQ}&U3&l@Nm zo|wbHa3}C3WG&-zbT^`|Wdz0Lk2wqsJV7rZ=LSqB%3V0`N&)o;JmxYm_=G_F#M2@6 zV@ucQV^`Q`;vwU0bLKKItO$YDGwBdB5#f&7W&ye3%v=VB9U(6v_kB4-)MIr6k@tOp z%v6}iz_29rCFFiCbBLJ;H;{fm7if&LWF7-ULKrkXeclUBj|ekyrzcQa-Y}1WAtemj z{yYrPi`9>46Az$`l_0x6%wu4<5(aHY%!lhIsvV&-pMl{;*h|RT_x!y?q-ES|-$7}% zWcZgdM;lQ*SsjvsnIj@<|z%V1?<^ODudS{~SKa8#Xal>;)AgB!} zvVehMLF7xwoSZN*_F(PuQ~jL#H47LRRz$so^qZFNAtL-q?|XpOf`}|+VE7RA@_z|v zjZ`!-_AvY6Y?T>fm2u*8V7iYZZm{m#g4G!t7BVngNq7l47k@iex1q07B2{~(j@h)ufh}P#L@2q`?r3?%u=`SJkdgWN{K~I+? zpS2GvlU6KcU^tWh@_#9)OwuOG9;|IeP#1Cu)*=ZcBa2lAwA2&Fz1EQXAD1yOY{-SS zQ?~B{mlcToj@nKE)xjmp7#I%ZLhJv@=<0FT|DbYU!!ibjBe^dj_gW`o4F~ji#X6gX zXZZyKsC_80oPps^-pl{)pt{zWD0`M*E6*MI0>E{52FSd8=)96NR`bx)3D$Z5U)>D~ zp9{+w7+eaVb>#J(*wQ_kJ*3x>ptg&}3I>Lr0%*Uldna0)qxSnief^9T3=De;UPAWG zrbE<2+HDy9Hmv(*L3v=!3I>K5g)jg2fYyeE6XQ2rYm%6rVT&u!BBC;E5}?|88a4^= zGA0JlUM`Q73=BObFClwywTW>X_4eR`>f94685npvs^5mY7Jsivv_1w5(!aa43hS*>;HA5#K<)k{7qgSs#(pz@S*}bZ+L$@EY9G45#)Kp6ATOt zYgRKbXjH!ZzZA4K`}}qy;)6L8>zJS`pF<3`UUQ@hahY=fHMrJ zJg8X1z@St260&By9PW2)bD&t)Y=g?6J!=>kJnCOU?%)iEn1M()sCRIJ%8xf|7#MEU zzl7WyYEDe}VP6Ue3MTB6^samkSjR%~mD-SX+8t{d7-E{BYu)6DavRobMqvGf8*3RD z-ZZ`Z{}?n@^?e%=X@!a8by%SM=dg}}p`;mV&-QJwG>o}6kjOiLKy~kwbqovwEzokO zAFJCzOTE~8*m_wZmy-hP z1B{TfY#yvCSg$AgZ z4x1PlSPs4XZwxXsnK(0-5-@YhCI*HNhhP3*0`j{v4l~ih^9K&U!@~2$CeV4UFaJA$ z@_{y1Gtuu)VtRx^y>yh0DaU8BWQ&9So z*uub|bL!>)7kms1EdE&C=+3tRHJ`BJh}R9!e3G+;f#JlBm;W8{#Q|Db#DK$0P+0_W z=YcH@3`cIh{67Pf{(j?d=L6L8?Gg?%L5B>2?(-Je%D^CS=jH!WkUJ6a3U8aZ^BrIW z-NexgUhM{2<7j}c2WB=LL0$mzkIHrih67Kb{&~LzDW4P0M+w^*7_K~h z`TsA-E&I1%t1I34CZLw%xXQ-~&@y++b_Rxq=PyAgdNQ!g#$hH}nkvNMK~S0k`H^D> z0|U=Xs2}r5^P|fS(Ee9wzP88e9*i~yp?p1K2Lpr5tC#-^#26S@__3Pl&i4Ve?!P63 zy}(D;>;$#bU;Tdoy4T}64)+{Dy>sv<8+P{` zV1cw7YIZU(RB*id-^k6t!15V~nGaC?7{rC$%m=It450b33p*JYrii?Ptf7}iPW#~e zQvkUorj3bd7gFwV1YLIoX)6otVqgdnef9r6D80VM;U=`S)kPp}rR-v0P>_IzJ17qj zSssAW<$_%d3??wW{iLPKJG&SdJS1NIpAYg&JXXKB@NGaXd+l-f1$37UD0~feGcZh% zd(6DR{vJt^p)|3U)Iv9D(WQCSCuA-3$yZQc(LJZ-$jcMA;828$ax3 zVAvw{3bH?E_hxM65qjGL$AMc8;PmFOhk?OF8tR^I(%b_I&xSn=3@I@E$)xEA`RBkM z28JopuOMeGTNC9UtQ!(R{brDR1okp8Jb}4~oiz7=_Gbj_Wnf5=dG&vS00RTd{Y}`y z7kzwsAGRC~+HLU@hXivm*2^= zFCZ41IA~ZLJTBg_kAdNc_AAJGZFa1A6g@p+o!7wE76y$Kz1YXVpri8&vJYfGBwi6? zMW}NWpna(l`$6l`U;Up0Y8TChsK-987>+uu=*njhharN|JT!2{P{VW^Q|JP!kQ*Ns zeUQ6cPwZ!4(9wSdSwBA=;$DRRh+jW1Z~$~a7BoJhiONqT#|NlBtvJBIut)zDWc|D_ z#J$+VmkD$2A7*fZ)6$s(3=9?quORE^vFAPXv_$e~9cWzKbQ>hQESFQWpv6R28INqSCD-^=Qo1=0dW`Vnm=OJa)ZwJ*m8)0p~2|Y ze*w^X+U|`+l(EcmSgUo=VaoD2Ww19UHJmACO=oc0Ic&? z@G^7DVFrc?R>B_uE6Z+r=2|&#~2u7?4kZ~rj0$I^6bGe28I;-SCG5VzOP3rdoa?< zHjK&^OFaW>Bbpp%U8J80b3<{2~ zAbSzn*AtTm$l8mz<^%)73&&TG`+iQZBgP)A3ls6}MFjarB)5S; z_SBqYV0hv53bJ;{ohW-qUONPe^Cu@67#y5m{lBlzz`*i*Ew*rT=bL~!cEP2At(0=) zo4^7YgS0rsz;LGM7393c_Zu+sl{=_o4L^67*#_GfB&bgf>f^VZVqh>RdG-H0sNHfN zZWeePeF7t7jE(64%0N13s1JNr#eq`{3|~rK{a*{xyBJk(159r`E!ba zA*1xw|8CIOaXHp92xDySCf4SHBOhpN4pcVa2Z7p`-uTRThSdyE+PZO?f#FT%E65z3F;>5!*GnYN(Shu7 zIK#l;QUxu?pA(b!Nw1ecVY1>314B>ME67*kRF2c3S}GI1wfk z^&q$HILp8=r{>jv9#9$qm4)yzHE>{nXC|1|prm_nIDqtiIm^IMQ2Xk?Ey!)l;dVj& z6#{b_#u+1^{YeJr7#K=wU;TdtvbP+f7c#aFx_k+2Ewd;iioFg@DM)-bJ_pcRjEZv% z3^Mhv{uhDF35J^kiBHg(<Ifva-F?p3UNDloNGq8bf3#|%_1 zh@59&U}$*tf3^w(1IvFL<>dv`@-hdPX$X?EF!idX9VsOfINGpws}$D+(7G z7+jV?%K&ePnTUA9-`0w`$iU#S>=k4#OB$=c!I_mEv5j^Z$E*`K_qW8?ZxIsP*?jEE{S=#BzEJFVAjN1b-VHfWZ=-jglp84=`%JRPJ98( zZn*5gdN`dMUjVKXb#RTEg2q#}TxMWk*!JpwEvVh1jx}AO)$Pp6Sl#8u=Kx9rELRv9 z40b^K1lo`^4#_v<^$9@rM8p*ahMXPH{xv9_!s{nUdybg?HOQO=R~Q(s?0}9P?T6G8 zi2O(V88I)eFfjbt0WE)<(ak|EPeEZUag~9AXXmT`QlK!7$C@wD!kFnJwnPD1@Ca%T zWL#xnxU=gO zT38ziS|<`W#tjPFFV`3t0`@}3kGdh|K+-#UJ;8)^oD`HkEUq&!oY@Oam+8o6pynB3 z$22>xGcdf_3mwx`#@gmUD>H}Bm?kJZJ8m#A{5ksSzZ+=2B_FH*(efMf6kKH*D8JnR znRf!3-=T4gC^t~^JE)Dqag%|8=OlC-4-}t-?=~TM91k@1Q*e`kA>#lZ05)T{q) zpmF!(Yp{(Ypv4grt}}C)|6q+g(8_9ctTK*#4mc_?(5?-vwJ2!U2G)b=KxHzhZTIIE z14G7TXjp*a9HotoJ1jtYEp9U~SZw_idxZGi2NVxLq|739n29{#1_F$|PTqlgJwshnJ ztrY~hea0OIhBdEYZYL&;NOwCZ9vSX3FnoCpT_aMA9FO3pIXF)->!EgNK^*t3hX}Zn?+6knrmjWT*p3^u&4A@dgXkaP?QFVwgsW!~b? z0|tf)-q(MMLaF#2@kf zVU}kM3=Yz-A?qpRA?85JR^s}@pgigEjDcZ~^lRukh}FdO4M^@kf!b>uo-r`6$U@WX z?bSs0UqJo-H_sRtIAmY{KM6Y1aWzCQ#Gl}`(G7^b1v8mZ=LSHhxP#V?GcXuDXJDA3 z_!@G~6gNDq;OV{+cK^I9(wv7Qp8_b&Lg6#k<@IyvBIR3($GV z&~o)RTD&2J8?JKo$qNRC04-?Qa2%o^kxx*|22eRJ@{)leK?_>0E{3Q_&dY@Q*dZ?& z7%pf*(`Y+HKf*rT2(0>MLKuK0ZFd|xP8U(ih-d==k@;_(Ef)1tFYx?j6JfYtk~ic zvPTw_-(p@dFsv|s4Vj}1hPVfk-Z9FRDVVb_kUbI$UNJC~m_XZo{>Wyaww*|6_kDTA zz_7st+U{e=ns3m{ezMwqF|QdIDomku+v!!{vI^pVRJRk`?pyPkfnkOzwB6T^HI9hS z??Z6iwiGyw8&cq1_!&>|L=p=@J}bk9_CO^Y+1pL z&jEC&Udmerh6{eL|L+6UJIk@QHPGU%3Y%%55)|iD)je!F-1q{RZef$abDaVM19%OJ z#5)ECn_y_005sNzyM2Q7E-z4fHs&1z!;WBRxeM|)f%a_AI|ham!O(IZ(T2iU6M(Ip z2bJ4r-Z3z|2!@v1{+M+$p>mt&Jp)5T2(;WbhUh1z+y;$-dAw&}hzWW9{~suhnX$$( zc-tsahn_hOYxf+ncYn@%1_qAE*Z+k+N1li2v)r~@+mM~g>hW@6p$B%z}LxuF8vW;WMFXlz`(!|_xk??P&)*>-_g=H z6V`EASH1wOdyPN|AL~JepfQd{T0~_9H$rFw~?$ z(|$dAIHR^XK<(#_j|>bwX|EysU_fno%sxGO*+$k_+lP+~3}4b-|BnT=5rom*RRfE1 zH_&}ZEes3{3ZEDlRMKDn2aPAPyocAn@b+#vQhPTJiR}nuJMt;G!q~2S3Smg>dL%Ye z35?^0ssXxQd&MUPhMWv&U*|H!9f-V1Twezi&L2K8FigpShBNjyGsWQyDi0z)Gcf$g zcn#U#g3@lmX!~HUQOC0G807XfpBWe`GGG5c2#PytqS`H3Hy99_HxT*4!0;gRHDrGa zarG=&`&(+hFfg3RdJWm%(hX@JA>tHue+$_EQ1#rPIr(&=>SgRpRq!+bK=z1yWnd`C zdHp{fG#BYlls&Vs4v*pqXwaEqHD4JRD)L|d4+WLQ!Nl0Z)QG({cVNQNwZgf-15`%+ z`O3f$Q2;HY*wMouwTuGoyV3c^z>rY@ZGS#qiLH--R?ZKfaYs;pM&~;NLq!F&O{5PA zFGzcyh&&A~#|pkPFnperAxX7lly37!l=tn75-!#ruj06a!; z;s*o6n`&s=F&)`V)V>z3wj;++1_quQXxq^kt{)yRgxZcCKN%QmYM^aLafp6IS%$mM z59)8U{A6HIsD<_upRYg)V^p^j(@zA2@0Fhn3=Xxg|M!5(mBq;BVZ_-pjD9zcx<}&| z14B*SYsg-(_7&LjK3aMsZ$5UyF9wDqb*~|JU0XxkjtIvvr1lBY5QYL|z0;Xr3=B75 zZsewo8$o%`0|U$DCD`K2oo@m+ z%9z6k9BX+da6`r%QWzK+9xQnM-xjn^WCQI+bsVFa9a~m*v zL(j_B|9wH>vl^?JXz7aSD|Qnd!28HJ7#SIQR=xh;1?pRsqo-^5-L{T=3VyIU2sHcw z-n-+%$jI8v7+f%7Y;$@ zr9k=e1S2DZ&Ysu*>p*T0hPwe&K7#fe1;E?@S{nm8yY2@gBg2|Kum4{KsecboU*J7= zu(Rt*QKqm0!1DwKOpFX6dtd*z0-ei*J)dEm%jAvcTqe*wW(yM|gM!HY{}rIPd<}6s zWWELDeDD&iA|$7PMm29D@m=`>AY+zim>3y;TzdU~4#-c};pSkQQ^jmoGC=m}2rx4; zgj|O9+d=6HGG+C%!+wvQ(ALy*d3Nkvrc4l(VJEvE>gpz6Gqz&-k!OIr1%FWdNRvR@OC}Eb(%7)j0_zNZynjD#LeUwGVyY6w^WM9sq5d0@p!3?2HT@`fvU_ zg2H4!dfx|mEevYk2NXvqKOA}PCl<+VzOkjBnSwr<5at0!z{z1K~4|Lw`5*|i|0M@tvV?pzvkI~ME za|A7fX#k(c3vFo4Wkww(L}_b%;9+D);e7j_6_hWwqnYId(rAGZXN5TCX+iBb(7dw? zFC#+%|J(m7L1ol!h<_mC!r(Sw0Q|^W7K|fn!DUqoFC)VP!MFc?LHlJdV|5codUwE8 zZbHv}zroAMa7X^_{|g|0RwJJSiq!r?I~Vya4u68qMF!Q`I(&=_5o&M$cY*x58LOFS zbvE-}9OYC2XdQnIA0xvIjko`|g6fxMh-ZsOk}lz6WH8Wt``;LpC(0q} zAmNMT7qs?=8rHHCF}MDMkC8#f;O&0}(E9uBILvH7X&*Cl^JC8w4bZdYefSv}UO2w} z-);!%J7Ya#+@0?OFG@b^*1&G&2VMpSP&H#z36u5`pbZ7f_x6nH3?x$S|kk z?f)Q9o-M~T3tagi%vyw&XTe9N!s?wR0*nkBYTrV}o~L6C1GK(A>0{5JI+{n2k>N+} z+y644I@%knJuc{XB^a`N3_-8bL;e742{TCxGg?-B|5&=WAd? zNiX&|>gWbG$XLq-K}LoxGv5Ax49Y9JvEDO8FIfDT7RB-1?rY6a5>l`#K`bs@!S8$ zLFXa=$KiIgyBUmexE*vi1E|gNK!}lH$$DtosV3&0JJQq64+aJX4`D`zH|yX2e*@|d z=o4cP6V`JXK)V@>v1L;yJ_n`=*d#!ECc|(fHHUC)I^1yFQiJP~A3WmVb2nW?7#SXH zc?;Q(AxxCtNgjI!l__gP7#S+IzWpBnN>|s>(g$Wc;2v7}gwhW9A;QQ|v;FP=E>N9& z8qF+7JHVaq0P4ByH*wUt2bdsZM?RvA3_Fg#g{)_o49_Q^u?FTo&;%m5&B+1oFM;aQ z8mRi|p!zQ#q8?JOp^lqWBMlrm@o`{X4-RVQoe^bZ;5hd7e+Z~fbH*AE?tBMO`#djk z)M*ExeI5ldMh1}^&~~0Rab-z#`7b!0_!Yux(IYnF*xmj_Kd;XJQ!z}7vm@kK?jS0%zPux$nb*g-TzgfF%ogCcV1(}$9isT zK81`kg2vYzBp4Z7MBYL65JB%2N3`YfpOIA~!N{;e^c^I>>_)#^8g(uS5^_hJ>T<{yT%h{5n?m zpoe)swh{o(6gBwXo*Y?529IO!{yT%(=JV0)apW^_=exiRI@bp}j`5HcG#sG;p1uN| z?E`MVT!7xCv_qDW!RPF||Lgb}7+8*@nFVXVG@zbQcYzn1s~!0oSRmyPj~pYziaYNh z{jB(t*y05(97t~~gYsvI93w-(y?6g}K>1S`t34QdjTCXr2ZQb*1I6J9IYx$@7w`Um z1(h|Ev6_kIcI$xh?~FMh2Fb@BZ_E+WFx`*@JbRHmKFU0&4*Z>H)0B7Ez#6 zBCv^ruC4&jL!XgnWT<%i4zgc)Gb9fn>SEOOoS-uHk31to$6ILK-H)yw_nI}3UJC_A zhMu?3{02%Z;0Y@5`GnvJTU_lzP+XNLFfuH7`|f`ND8K0w6^1jgc^qF{f!ugUfstXx zyLbOvKxyLt32>Q!B|IGY6yWQ}!EJMpUI|4;hBxotLC(m$jII}XI|O{JA3Qk+uKyJo z89uyw2RZw5F}hwRuoFOMZh$NUsc%taWC(cw?!PA}JlZkTKZ8}2AoZZ|+X6EG!@K`a zKBZ={r?9FziguHslX9W;C^C`5+j4g=Xa2HwmVVg zk$fj9D15FcF)~c}3@yig6H|whUXFq6u~BAZxB;_gJ?-pSqRhyk@Z}xkyr5)a>>=;G zARZM)h8UfQ11vo~EG6$nZq&{r?6j1_qXVtZCMr z?*VF``mGqYT;Ry}09tpKs4_ALSib)s2}I0%K_256^8|G?K<+%E#>nuX`~ClNX$A%s;q%zd zL_6Pn3XU~Np!3Z^W=g0tGVm;a|NkDyo$D`PGZUl#eGf+;0@nY|QDCfD>&L`u=JUs!N~CD>iho>L2bVGILt&F3!02$5e955 zXpaUXL&t;n{~1B$Kg(xnF5-O3@$I<|DOe#C*Ft+7ICny-0ny0{DDo62^RG0jSAGPiSNH4|+X; zb>A|+_6NvcbF>&4Ui^Lke>-Sx-D9kA0Uk|5&M(+cqe9I4eb8cL2x0v2e?6!_d>eaV~p|X131zQXnY#f27aT>$WS5v;eRs7@29bv3GTrohi4^@K1u^4^JlD5ZhQ@l zSZ^yv>i_F7G9*ZU`2Pu1wywtN4vagvdvWD4W(Ee3-%jW-GVmyW`2PabFZ+zcOw@a9 zncA>bf3AEBn6NenLF=NJS7VJfH}H}v@EBWwE+a#U#)tpHpz)E%INX7DcKkaW0eOLi zc`~k|8rD8Jpv%ahV)NmDF({oZzKXqUK`W~l;%Q5O+WjJWj0^$pAO0@|<-6xt&2-^Q zK&eu`VD*9{UjisCr|2;q16tqd6Jw-{c>f&1W~I_ic2Bf}q-kC3sf z^Y@4dKdhM^Ulj%J(>fS3GPtmQgq%g$OpHBD+1TO<*BmQoa0ir!Rv0oe>|y=*e=}$< z%^Isc7-MF|IPy7Y%nW4aA45h44T+Ect3mUr?pV_pM*Yf*qb>x^TY=WA1Q;+GMte6_`evGN0ia*0?!90APuJ~VVe$4 z0QD(Zj2Rgi6h8hx1ezCPMl%OCmWsB%$OuQ+9$;j?h&71Z_&`AfUei-z%*e1n@8kah zP#AS%wGX4cV2m}4KzA+#VoOe-MWPI#wdD_t85x!sef(bm8p8qEg*Hyd6b(Cf0i1Qf z>rzBa7#RYLKmK3t$-uypjMaVad>>HzeJ|~?Im40f0~=($V1@}J!q>xtT+QUcO< zyI{)5FlFk;|9qf4k^BrC&WJLT34XwbE1yCzQUS_@bg-BLa%l<*D-|mUDv@-a*PD>Qc|A~_ABeuWt$L(cV& zkhx-iboHq7Z{YGDsvdk+hW0CL@rxc8B#&i*$_@u}MuscbKmLCT8XtQ65}Q5ld}!@G zdmIJC1r}yY9K$D|YlOggbAve}L&&F(|Fc19%=|Sr`!L2OIB=95pm7OMe~`t3k)h!0 z$N%b}@<{qMI4epNUrUjJfkhpwo80*}ptkRf zaI}p!ut4_r&9Go(u#x)o{~;(HpMHbxCit3KwEg^!d;y8*Z3*z&vKJPN40ohI{XYj9 zE7<%7TexAYi?hQ~#)H?zu`)2&STZt1sDAn%5YE8BqWuE z*JG%I*j58plc>kQG+B?KRL{YM?+1GpUjv5|Uk8U1-vkaPz8M^jd-z6P+9m_9=S2o!QmN5M)$ z^cadEew?Vsz;siOAyki{LXW{;kAbNJY%yb9eNDqVE31z*f9Yt7Ny6K0C5LI4O6HdL!ll6$W$zGR1MaXsK>yp1Pb_P zU@nFcQ4k~6g5y67?86v61}8m+OmMo11?vjcV_>QVC!%OQ2BsPCD97brM_80gGU_of z7cqi;9Zj;Y8^Ml>)?)|TwI>4(qmv& z28G3SnBStn20QC9gy}H^>oEjCOs&>qVCvUnsE4E*P$;K@Rk-RgU>%8aM=mKu9f^`&uO$-8S@YQ2T0UMjE$B+)rP7qz8;EWazR__ZYv%zGL9)l~` z{A@i2Pq44kzyZwU4i+tiDGC6`cPO|J2?B>#99TgFSevgN1Kc=&u!*kVAd1jqa04rV zSmOb9P?#QrAJ_zlIYHn^@&sE1afB~88sO$+=`r|#)%$`;1_told5#?;Lq++g|6f7% z%zab@7uO34_I3+LzK?I^9R2p2|56%h#v(oh#m_V6&1EdHq1t)%RwFkPcd9`{BOh3WZ9}}n)KLjpV zn3jX(m;&?|n3}*$Q2i68$H250TK}!rV*ph$Aj20xyyKw9z~rsRz~lff;UM)dsH*J( z>j#xcr!e*21^Ljyg>MEsQ!(EHb|=0S>`r_e*d6(HusiV`V0Yp>!S2L&f!&jD0(+t! zLk8HWN-&wN$H0`O$B+f)fSi#7@nee~Lp9h1OpcI7fxjL@5jamVUD0D;nxe z)ryUJ3{3tI&qsnva!~P+3C_+S*)lx_ru|@3L%~%Ms3kE$kAdj|xUeaP7}^Q5FBe=n zf?U!Bw*%DZn4!nOv;myWp=B{#2PnYv^ca}7AlU(m10wBUmIamHcfm#ngB=|LE^%_f zB}F8>2nRW58rTD%B*(N+kAZ0xSQ9q)Wa%+5#pp3G%cGbb2KK8PIH?8eF?fRm0F*MA zW`m0^CQw~`4Qy|$9zy`O0>Y7R0=qjntU$>Sl$^5l7-}H8lOahu6zmD6M6hK{&%i}& z3Rp!2M8P~rRDoK18DO_Wfy;SN2I&K<1EmO%(Jc^O5=7eyaQh(!Tr~zlGt+)O2Bv&) zbpdKcW$H07M}vF}(mV%j3n(YehbSrm>rVq$K(SyWL6R=u3L^^44+6V27MvC#6-*FV zb+{e_lP|d1@B+Ii3=(h!U>|yb6Ew)iKrr7AoGh8z^%y|)4=9I5=`oanUCp!=Yyn6u zq-p{s%}Q{=5eaUH`hu0Eg5w|J>kP1LE;x+Sz>bUu*QOp|hxmf4SzmB%2dQhAlEH2Z z1t%Mb>md=50#2QoV5N}y45GmU90SM|SRUADNCU+cToHzV9T5$#1wFvY15%BF%6kJ> zMuwD^pZ=c*^-FGlK&dAZAWIFITTs_^g2%u!Tp1buy!!N?1vD>k_yhLx9&LX94j=X; z37enaBw$oetPH^V$%%Mta&EzlYGp!9OVgOOp2^XLDQK_CZ70|-GsL%gfLFuLZD^hv^@9!;WhHd9CL!J=^>b?KYT9-#$0X)jtMEyTrOxY)DBNZhCR8T|L+I2JGXyBauX!%z*o() z^}t-V5p91Z*m0ooACUW4ycih_ia!7M2AOpl%`DjXH`;pnd059M9r-}(Q{_3 zH%AqlZ^1|EfXDe}cr!A{?Ed`!v^fI<%kE#;!q1)W0qS1jYgi{09r+&cLj3;5n~`D0 zr_cX0Kx2p8|FM~gv9{#}*0D;+CRR}1aPVPd*z)!B|5}il?8s(<^F{zXZ=A%)8{jga z!H1FI%a70h>p}DO*xlsLw*fUiR^saHa4|4|_LX1pVPsJF_xb+|P?=^9aT6%9A>R)N z%0qvA7#Uvt`~3eeD2*CJ)Ir8QA$bTq34_Q(?bs%eVCywJd>I+$Fnsy%W6Z$7B8_Gi zB)z-y9YEbrE`ei=`~Y-6`5a$Hh8f0R{>y^a35GK zFQ71#$7&|VSo?n*a}*yKnWkd*?*~TEeDi?-MusmlzWo0OYJ>1&wF@+ZfgD{tSmOkA zJ_6Q*{vG*1=Oci^N+*z!p=0)!|HnXfoo7W#8)#*nDrQ+%fHW)N2x>tEK;}go0vQ=t z=6(5Z4=SrRvx4&@B2VEy?-n#~wkMF0fn(m6|DZcYSenuGBA?Gx3TtA!@+o8>u_0-Y zC5VxsVBVMiil8*;jqERY`vffwV%`4g$mf8ynG8yrSS3KCZ=iCxC5VwhVg8r@u^{_D zqvd1pzNiDp=er1FD~Cao>!A7W3qgzwCJVm&F9wC@WfpLFBDcAj;1>`e=DS&f85tTD zeEGi^lwMb(*$*qb(asJF#E}O;b3>rC5)sVEaA)b4|Hnb|O{Z~~*?_vny8%Z#1GHWP zv`=JBFe5|6`Y->BKz>t3k8i}j5|Gb8<@KFlMurvZzx;Otspm#lk2`IF+%FNr$gpSq zm;awZ^W(R1xF2nub#(V6z|y4~AIc0gB%iDZ zVPu%IgLJ=u+M-WF7#TL~`11cT$X@JzK}+9EWbHfg31wuk*!cyr=4dw7FhjEk>-aXl zZY6kM?UqnRhK8Ncu<(bZaYUJc`y4V*+vr0mBg2%PU;a-9g@ruCjgYocGW5)y0PuP0 z5@C!CJiEU9Uj|Yq46y?xAHgs9K<*fVQXT_Xe?%A~L(MK|So~&&vOqdbI$na*@m;W80vi3AHQdtXYo1vWfB*=tiuO#R!8c?17B#e>4VDFdzpfgff z(9MG6Z;W{-)>U zS&@lmWZ1#__5UAG8I+B~%mb+F`VU|&93cA-K>4U3nvr1(@7Mn;LE&Kx$w$cLD)N0w zwXm@_M?M8mUwch7Bg2Zl_x>*j=~c(n>jhKq%BR5O0pmc*=U{uczb zvxG7ABh~`C@+tVh^t7ZD4sXOFfxenfBoNO58CI3qaTU3=O@z=dpyJT{IJ9_ zG6eX2{T~e)pSzDWo-z7B?{KV7hmEO4#4<9-9K82`4X90d8>^WZeV`u%+LUWz85ty! zzW(0~8f#gP)l7_f%nxTh1{o7#h+|}EN&Wi&253C29IKfa>x%1ejF*Dish~ItiDP6~ zQ1SJDAn1Gt?0Fu1{2Owo>@JQoRX}IJfy&_(af}RWy1xET2Bm#aJqJ0L8#>O1JoXTU zs~85ioj$}dGF<8U`rjF34k%Bfn1g(-2>i%&(6(!EJ*E@S$dEDhE9CAxYe@b<)CHv9 zod*i5hImGXEepQ>Uj`~;{$owg7;$Qdql^JHKtN^8m3T%5fyG}TXYw3}%ml9o4?tQEei>UgG5|EDAd<+)@Zj#(|GPnbpMErRAZ-hb zI4Q%?_nE-R^ctJ1UHK+3g5y7tk-_BI*Z+K=exf%HyU_NIdE;1@2pfyMk_b9~;Oqad zp#6sCSk1&(*YD1S&6SXP3lz2*NsJ6e3=)hC3xDR$G znUTSR>)ZbjP+sPTlvj{ALp@&(Z4Ipxp8*4d2qOc7ObR1I2G_U$44`y$8*A92#TBz6 z4qrPkOX8HN$6B1>DL|O89*^S0=irVlJX~=v3d4FkqAQ<62o7_gd$UYZ85shEzx`JM zrD1cdbtYQ4kbb8RsBD;%%E%xg^6mc$Q2hNy&U2{o#{}jgZb`#>Kp@oZA5s|^N<_Z> z{|z$pG%<0?MDkgUpmtqE8Y2Ub=(qp*AbUV%DB3(jI;>si#-{+PcRJD-8GJ;){a*sA z2kVJ(7jrq*6on_tu&ah*@dk5rVBiWih=xkAd`_HMeZBqE=6UC zyKwjwJeZFtC9uaQsGlj4#mI0#?%V%nP~LsbfRskS1&smhe1LMKISp_PZ@|C++GiG$ z#mFEa|Ly-D(45k7Wc?W7e;PH7fwq;-Vnh{l<1=9LKotUqAL3v%nBAcKcp;0CVT$s% z{}(`R7bhm%nc}gP_KtiG;PDuRY(@qVm2Z&owf77}#3SkBYoIXi$Yx}yQTYZLA6gC% zGf@8q+@t~>9}6x*LC43!$6g_Qdr*EkkJ6FY^s@?!Pd)8XVe|%M zp4vCa-1p=E;I$&iV-2|GzCrt>HF6ml=BR!9FA3^I*h4qKQ{a8>Q`I5`X;Gp^KKlo0*YGVAtjNQqg6X`(f z%kvl+8nnOt?*!$!dWijyG6=Q2AolJ@P=8}a9wWmZ?Qj1Vg3JW1;Q%Lo33z@W=AK-T zIS=v}8B}zj^}R5}ZHTZz9yf@Ag%idYHYn|C;J%M2Vo9s`40-?h^#)QZmy)HMU&JGY~dks-(M+y6bF zxT(i$2G+Y_L22qwAtS>JLui_ghM0kfU(7VEQ^d&d!|>aGc2K=;{uf)CM(b-czs6eB zx$y;n;;W{Jkzt4FxBuFpJd#e7d2P7N!#Zi;$QLk$fq~&k5hFu``M3XxpzzkmY7crn zf@_UU7`8kLTHt{7m}xu-2~;1|6f-hJSU~He<9}f32wukFs*gbB%Z_43h8&A;|2aWn zH~kMWagl&E>>T+5KxvYrgponV3Ywm(;cmfJUSPJFp?yoA5=Mp*lyRe28=;8zh1_qN- zMurWx-yr9g{{M|F?9u)C8C$vmwJ|~Iv!xWY9{n3+{mpq|%p-OE4c04YLCF@!;SmlD zAa}`>F)~EhfBQcXlyBmRaTnI10yjPfrgR+s$GR@amCpf}gTZa`EoF=h2@c;N>nuKF zT^oxQ{-n=cg4%pC<%|p~9KQW81)b})oEUqUbFroy(2hlYtTIk~4kb8(hUqOf2~c|g zRCewtXJqJc`}Y3~C~p2^bsK1U8F}3ECU)}@aOAZF@O+6v1tY^3_iz6jLG{e#Ul?Un z4$?Rda<>HJ#+V951`iKty}uo+8`0v4^u80wo+A~E3>#qf#wO~Wbp9%2DwX`8>@Nf;e$0_;HhT7`);39GBPai zf~MpBKZz-?u(rQI$r$^ccpw>BtO?wa&w(iwTOhbW#=9D-7#Ugupk=u?Bz@s3%RzPK zhAKveDFM)at~$DU{QcZFRg4TX0>1sP0p*$RSi=FW{lc^qyVG&+NdTpjkZMMT4T0bO zyMydGPLw@Mu-OB;s~MEOmw?O*`UY8pvL35>=;_20n|b)s3CJFv8b$_*U}(9TO^iLH zm#d)gDXC#(NC^J+Ump}c@>uObkB4^b{s{oL2aeP*GB|{MgRE)${sUY_A<__&53FMc z>Hvev^)EGy3>!ke{g(sv(i;oXBtgg+cbb#<~XwJ&(-CW)H~SpmIi{o{=FZ3Yr%V ze@9PKc-Q2G)H5faHGjx06uz4O-_+UK>49|Q4$e$k?85vrVzCrets$;buz3e40#Jb!-$=O0L%pp6M;qfR2Yfv$7aaO6YGQ-D?kL&k&GG%+${q(JMz%UJhO zqK6&UjuPmeE>Kzbr-_l_MGCZRT8`B`w7nxtm$1bJXomxMfy}(q%*fEu@a?}JsNZXh!%Vb22+wht z30m6)3NwQiMuwIqXdLikH4{A!uyzVzBLhqGH^`o{`;a}rh`Jkjd=|d+8N8 z$XeE9tb2>m{f@Pu!&jGq+&QI{kzqmeH^^Eyanjrg(to9uk>LVN|NGB4^By*Tg7k~D zF)}c;KsXewF)}p3+>=eZd!Dp0 zGHhu1_P+>}x16!M2ffUz!Jf|{dm~KR85th5Lc>RzH1~kQx1^nsL7*L~|MMr3<7Z1d zBZEUbbo}`=ZvEKCpF#2SrJa#sLOV1MFUNYu1A016#vUFH;Qpmc2k5>#X!w@nc25dw zzH;R=@W2pZ0$16H(jV(u7EEoGs0KmC$zvE97#?&mGKh43`+op*wyQE$zoN(eUTl5^ ztq*&JOJW`_iQPCPm^HB$v#xvrI0nQ5nD*c>iV5q`q7z>LjyXG5z5uL)ac+D8g*dE; z#U}2^2j0K!(8b75G8MY^V>cx35#=}OYd=8c`jjq427_tPF#%|LLYRp1JfOF!S602vGU@|0B5kK!i^@%otF27u-L7(#^=gFbk^wHoE#~4D}*C zj0^^|p!Mo$boHq9DyTehfvN|OuP?`X4h>rPGh+{C==l1S9!7?QInX)V)e!r!)zieR z(E{}ep7by>G|c(-UjVemHXW<`(8>U2IULC#fLR`=3A3quoU@3G=P#U5i zVIS@>K~Ni+p`Ve#WGQs*!fW_>PMG@?{ZMNdto0If-aMqAk)dEIbnU`oxS8;N0I_Qq z=JYc%+*k_D2lWth5dK1L8{=QQ@T8xSfngamKAh3bL5&YkeioU)$RMx`x^_Vx>seK3 z`I+e>wge06po7vw$^=G+2g{*r7t|s4BgZfL+Jz|-7#S2+K-Vsa!_{M(i^RHi0n}E% zF@cfc%nIll-Tzq6J4E+GEjB;k=}v>^q8uhNGE7SFs zZ~xsu!JPB&+pLcT;#ln+D`?QZz+=*84T8c`@aBGUmu3(g@m~y zs8E5gr({CAWCPUk1m&M4lNlK%tcRB0iy`_E?nW)YLF+-TK-G(Z)@js3)MK*`%{tKH z%j?J|S2%&rslall2Qv?*D$Gkg0ziI4H00g*4DwJ#TtPS9q73!8@)>}_YswTxh7X&* zLC$da{}vq9*xX-?Y91)K!2OXcQy3WxHh=rS3^Z?h9qYN==y@OOSUG42a|hOh3zEUU zp#e1Cg|!_Go$o4`%E;id6IvE0L*fPzm#AeiDBUfX%E%D16Pjl2(beNlv!Hx+XDTB@ z#LjP!d%F1HXVXH;QS4)yB%gr~N}n#%7#S|?{07;>c^(p92tOgtr2sWZL1&eeOk-p) z*!AtdJgEHGOjP_hVaxBXxOaRoVVzI|4Vpg0W)iMxcu)-n8GF>2&d4xl&$s`tKxI@k zQEq;M%_fkEpfp}Fosq$2A2f~oL&A*MG!80*cT8twsM!bY!>beJ9<22aXdDh?9>)wu zhClnh{r3X-?>pA>@zL7IObfC357g)cnHK>vZ$H$1x3QXso(FM`)q>LUiW!UyH3z=^ zuLQYoJy!G3-FFR}``q|&&)tIZo4`y)hAD@jV>8*1dj}9{xfrRh1TW{oi?Bg%^qI-X zaN-bj9gj6pZp3kSJ8n0E^4pe~j0_VFe}mke@f~ts1Hz4{cV~e7^kgO@!-m69KV3&x zkK0e6_OZe&MusPcp=&CaL-az@DMouC7GrJ&#~FcbcH*ffc0Y0g%5%<}fle z9D{~sIK+)O;+&|k1l`Yaj&w%jmHdl-}BTNxc;{X(f zALcMJxEzPZ>3*#DwV;iE%sgRjga}q2nxn<}xx^+<~r(JdZU!p@jwRaT`#*?lX^(A>-b+|NB7g z&dXTMLrb4k*peq`s1@fh=sj#Y-1q{Ru-cxe?B7v!xLyf9prC#If0tCi5;(+GM|w_;R$rSs-Ku}96sY!ptjMJ1&j;^ zZ@&F+1(mzE;c)^VKVb@mEjn~XI+Pe(4THzKt}I|=NO%ivV=ss3N7Rp~ZER4Pz_O5$ zVZz&Q|J_0D(PpgSjh+v1t`EjK;pfQb04fu57BVtaeE9a?2GoXWhqwzzxw;J_tzoH8 zKw))YAtOV|N9Z2!cw{qC(;l|5I?%WR!y-n8mXFZ!FVH<%DEmj@=LWj*DZs~x(e`^l z&inFM#K>^wBXkV!J-oa_#F;-V&M=OR0k1RdSj5O+^9kC|xeU>dh%@~CoFj`E85}-A z$9fhMQ!bLe9~+cTbQUu*aD0Z2^`sMJ57ss}zOf!qI+?PVkzv7SSe!t@0+LQpEFi^Yr#IbWgi^Y{h0K0<^qQvs~u0qUcH>Kch9j0|tSe*51J%7fP->an>2tq+cM zShR$JfgxiFBSX#qZ~xbW%v%mI4`Dxit&%IB0z9r=`4l{0&cee+ZigeQhn%hUU;>No5YWur$HW95)CTn_LE*P%86(4r9rymfl3-w9Nr$M1gr6gy2KaPk*n#tt#ZVpL z$Ok%88Dz$XWsD3{I=}z#2HEM3Yz9Ug#NmnqljV#I0vGT7*96rU{8-}v@T|E3^!2}9h4$RF^th(J?-;Qr2z<%|qxy1qlsBKnVh&m+pb;#F88 zcjZ$EfwA5A6j0_BLFcFQtYBowxO@+C#>-)dnUHaM&@w3SHe_aF)VnPTKyG(g!N_o+ z`}_YkklW`&^nv5i0UVF;1DQbi0JK)8WCbIGLeKaAp!14Y>LK?@f)Au&VtNfd4DSFV z6YN~P1B@U&D^@Tv)bxIbtnmZgYw5@*;10S}or&onRL=rNKR64#UjNPtMh1_*@Bdps z>Dn1$4!s@N14^J4);Olx^-4EGGr|O4%utZ5Ai45Jk&lW*aDQnPb~E} zs7`5E$;hx|<#)&)fa_TAHbrZDFp<0m0A$aLm5dB;R(*%;WA7%)9;{=c`1(Dd{%yc2 zMuw2p-ywUfor%Ba739XARg4T08@@yK^#~K=My%^a@i~zJ)aLoJijkpU<9En@<>ODl zr-QQNaRj0_A{ zRx>heIQjkm0s+u{tytZKmhPGMVe3|bI$}R@NH7=UI;{w6cNt_9t`#iIELh7%C%ynC ztlMW?`2uiFsN z0!LYlbsiIxfB&pwWbn8LEpO6^aVzQN4X7QNvYwG)!aZmkR2tc>sO>9a#|O5oXJpuL z?>l5Y%k{_D${n=)J$%LoK@&a0x?|zI{_n?;Lpt@?oMn;B^7vCZ0U`&UohqTEcmyHp#mIRd6 zUu z#JG|4{0M5JeA&dvknrj|=(-v7kt6N1v7!DdE=lvm#&V>rtpdU2FHM33RL zY-VH#c>Nu6PG3E;nW*IhwlN&g7|@Z;j0^>@zeCOr@`mdtdhCT|3nRmW*U<3Lhv-Md z8UFBa*uu#0<9AA-{xavsKa&clMOj0{&Ce*FIiYNzmHbt76? z&$JF(lMU2|2Bnn`TNxQtPTc#?4k|k@KY+Ofvfj;w&jEI}7t>Dk9<&1kXl;qXHbw>) z#~=T}YfHAH=?C?Jpk466xV8i|NAY1BBf}M!ACR>N<`0NTTLZrKV99ny1_$>apczO8 zmizaKaWl@f2cY)Im+g!U4?KQA)^A-V#ys5Xw?O8(>|kVg;Qa$~zQ%i^%)`0<7qn)7 z$__>b0ly!RHT$2jnung|N7w9wdn*#)(R&V8z5rZ39#EU&%T7jyf~X&m{%tG$?L2@Zd|jQks%@x>PB~TKjC&G zsNMNuHzPw#;t$9gEpc?csB5%9>LvCtGVDo&hTre|;CccP9;o35N(&x)7#Yqa{($VU zx(-nfX&0fkVd%XF2-IeKvWJmjLlQK-H{*62DQy&sy^IWRl72wiDAriZD2m%Cpt5zr zUPgv3$v+_T7ys{p;{jW^65DtDu$PhHO7ag#-*NXnY;_4***bjsj-b5yVIL#Ilk6Xm zHXl1t@kVl+50vI2_A@fndzYPjI zjf0E~GWpQ3n~!b|YIz9Cw-E;!8Fcc0K+b=xzKboNp_dPM_fV`j$jI=g;0NS9?PiGm z$Z>(bhvLRTMh2V0ACU7Oi{a|QtpuXae>}v<@S^YsWSlV?Vg@4Yh#O}Fjn$@YE=m%s?$nQHC=>gxG5Kz8Te|hBNbj{0{=T(;cE85x4O4?8v8pe8m+5!x_-|cSjf*KFt5|Uk!9WhBQ%r z^upFB1-1L;W1VmVE!4h>O$%sweE~KJ&>?eJ4~_vDg>{74i4T-EL3x$sC?i9_@*n^E zLH8VNCdNO^rdX%cp=at*Sg;XVPKu+e$6Zc> z;_<*yMusIDe?aEjp2PDNyqv@}wg5`2e~vOT?AQoxw{9n@j3T++3MxBOjxjPAY=X8u z%OP$=q&3vGC&*n>jxjP!*aXc(pmGQE-edH#ljJ-Evggk+Mh1<|KmMzO_6-XY<$tVO z!13i(P#Q})&dBg#%MZ{_76uk}i2reve~&T7s~I5cK2{uOWSFz<2W0LU8^2E4{Srun-bp~6h1S;WJuxbI7S6CMdfy%3C*vxX`bHLgX z#dU7DE1v_7ZNZ>432LMMImyWIV&4zQ{9iI8yl|vTqUQfV^-{noMuwFA&^D?*vYCY2 zs383lPBAjH?1#2Ff8WNe=LxJMyl{$<;mdw#S$ZF$A5qreE=xi60MBVgh93u@ZN>Ev zy^!!gbvrSAEl|3TInBr*aqtIZ%|-TYV%i*7$4Bs$FCcr4oMvQbI0(&O%EZ`1dOimA z@paBHGMqU08iLnRAJ^%-%Y-}Z=E1yF+4sj-|2Qq>R+fp1la4pz| zo@uRco{?e8acCZnC&n-2onhN?o{>T3#E<`epu8nclsy-*`3PTG0jeWEoM&WUIr#%} zX4d%|;5>{dA5r%lf$9l`3lR07xgVC*5cQBU5u@FKb${9RYnG# zd(bfXehr-W5$2$V2`Ek~t}-&%+=Gq}UcN?5Uc@^-c;YG}1J48K_~31b{rJWQe_Ul` z@Oc0oA3P0LPxSa8s64T`#>nvF0knOznJ7Py)jnEsjgjHNLumV`oG5!pZXbct6wh@= zhKNVd@lI<}Yi`0>t=>x>KykDztQ|Eu7%07>r{btcyFPEh)oah;Lj&m(BMyp3!I zYMvpcF9Pc8zPQfFAoCbH?=$@>w)BQpCJ&!^A5eI{xWUMv^BTJ5;W1YKqnCj=&#Y-+ zU|_Jg$;hDd?#KVFps^!R91|R)Vot<55CH1$A)labXNTxVgeh*fgTmM6HX}pC zCup5?{R*}`hL*-izWxS$zRi}~j0_7tLDyY$6JrndJ_%@airVWg0`4#}Z219Alj7*% zhnglqeS?NOj0{J9K*Rg<6>wQeYonpa ze!-T%XgG$0^{iG<{^_~L$gtxdH2-iD6KgV;S~#g1`QZU0Ly7p$|35+TaQG59?!ob90E##GU74VBM_dtM zY=9I$25~TPP-+0REnFTlGB{}cgq+LKe2Iu~!hJ3W$cGz9+!hFXgMg|-6 zpOAG?ptR}4CjiOAsOXG}vgxY>QPZ=40IQ)dH0o@PLPfS|`lpZ~vGBWr${)DW7 z?kB1Yz_|t*G=@IoDI-IT^Uwe5Ky8T0Sj|IAk2uEA1DJ4~rGsM(Jpk7jdH@sF8{`O| zv6J$Qk>P;*PssY8`H*nMk+!goA%n`V70(zMY&?EK&SMI!1^Cal+NIpR1M z5_I+=sI2?)f{`I$-_QSk{0s~%{8;UA=bOOX%-+M+%i71%&)mkutipqBWY>{z0yAWN zhQ~`rhBp^}{+|LG4=BfKrVHN&MieuTVr{E9^KD>cU;v%HJ?AAOgT>{a|C>N}G&y56 z6FjAW?9R6=*xd=5S6~3G-C|&1==sjXaN+6C|4obx3=EL;?ZO9c|1iPZm5zJ{OebL_ zECU0B00RTVk?%|l8qa_JmuCf;1UWn8#&;$LlQ%#APXUR6^M(Xu3=wj^s5@T+3$mY? zYWO->ocJcNIPuM3apYUT;>p**!tBJt*TIqq6?KA&GGRSN)se4(1(c=(elRh_eEbPs z{|52{q?`wN1DqY0{v(|X1#0s*{9t0R`SkODGcyAN1F}0E`3yjpHnR1=Vmgl*bq}{A z9|v@P=g1ExhK{d4{~u&RGXvsRwDOpF1J>wu=5uIfYh!|V zky#AWgNM(YJAVwk7H!2(CWe+jKmVJ9%!a!QmhYji(qu-Oh6lL{az^TtpG*uL|9}1$ z!=4r}+Uoakq}2tC3=AruwEByQA%f-Ce<^4ffe%$-Vp;(zkvSkor-1K=iTTCE5WxED z|87vSL~aMVgK`{nLmE>DlAFO(ZJ=z%07^@9elamzVEy&q0%Q*)Ke+RKUVFp98fI(SKm7L#Q?YpD*|07ZXDW`>+3NS+J%V&Ec;2 z!^F@c^6S4ouCPu(i83*)M^`}C?0xye#E>EO>%Te3Zp<)7Yp*cX@Oe1#1$go~FwMf| zS4f@U@t27qMEuwP4(w*4g(uTla9RMx56&Bn7#Kj~*$e(MG4x3M`p?RZHJ!TfO+c-? zSXlXHFoL?(PJAmEo%l8|dh$(RWPZlPw}3H%ZvrFJ5iHVJFI{ou104edoTbTp93hp&-l;8 zz@q!>|8F+5c*n4RJsY2gBPe|uARnRN$j1RX)(M=~p8RKG*kSzZ{{fI+AnpLQF~Jow zb0s6}06_3Tji7Q=gn^mC!}J$;3=I@Vh`tuHH@w(|*1Zl4%nUVVzy8;vyAxLTqUOsK ztn0HuXLW+wKMc$a8*G04Uk!4nKd3f=weOkW1N?{2ft=3V#{?RIl>kRP2V9H+QV(2V zU}li8`}O|`D6v4w7N{nsHHe}`0bH*#FfudTvHJx&sSDiZ!q%Q zk(ptF!>|8RDDexa??DNq7ZSo8%t&noCq52vnyz4EW+-v~_1_=lR|WD8$Zf0O$_`=A{ zaKiJ~|1PLK5I-Z_4Q)+mqqTA1`O$=lnL)z)7x>ITP!NOCj0Y1l!xryf|5t+Chn~jf zGsDstg8~BsLkSZzgN6UE|6f7&L*fTi?lZq<1httsz;*cyCT0eaz+e9hL28)JAtwg- znTW23&w<0{2op0yM$j+t`DiF@NJtt)3!7YQg*Z5`fbyLHGc&`S;9vj$fb7K#XS8yh zc@ox|+>tLpgn@w}hMAcmAoLe_F9*n7OaXix2_XM7Gc(Kx{q_GJuDTaB&#b}G9818l zNF@Q3mToXJGnhpE`VaCGLm4P71@dtmW?%rh>kBh8Lq^oE|AwH*^W_sr=Hp-hm8m=| z%nTEve*F&ywG+KSaeSdcO5=+_T2enj(iEt>}^c2jvAy)%>kJo|Lea5 zs2+i&5lEi|QKmt&3?t?eENFSNfrXhNC-K++98mng&488rJ&+t{gO*<%`3yo(OIdIm z@DIp6Nx%LZLCr!c=a}K;oFktC@+p7rumS{H);O>-GxQ|?`hOM_mJs)V${Mgcm=42} zJve{ourf0kr2P7y2vW=B504a3UD3hH%+QkZ>%SA!Es#8k>My1TsGb02NO1p;m6>5i z>M!uPG{|UBoZnz&W)MmH^`8qA)|lxSEl)6~;z-Bfx=4kMnc+tIFYs9xsPzHUURZEA z@+r6>vEg@nyYeY`!^A;uEns72=*fWA+n~M#0|P?~8#9AN=CA+E2)`r3@F6S=AxE!+ zgO~$yC-)vUW(I+*U;jODwz9d%3XfevogfX|(L!@wgF+4T3Wjw5$i0#Q{jo zmx*ZYTW}i{w9XTyy$Nd9fW~tIxR@Da+J1reb3)@Asf+>0&Uqtuy9f!Hhg1aN!d3l}rPjjmt+`#|*^VYANSG7A(h z4&2NPG82CNUki#Ce~da4JzhHT#S5r>oWRY@P&4t@{~sWagU)AWU|?9n&CHN7>DT{Y zqVha5J0o933SR@GBVPxj6W;_zPrd@?8;pDvPJ9g@Hr6elpsTXMVI#o9%n&p6*Z;TJ z?Lzm@1+48%M?MEo*u?NKGce5j^}if@e#7Xydf+HXKpjy~8*>d0GlRk0U;poe!iK4b zPr!vwp_wTK)HdXBD3Gb}e#miHU3T~!WbD;}mzm+s{9oX)agcJ*_*e)pGsB4m&~gjXz6I51p!ES$ zVERFMrG}T8!C~RA|JtCmgOLZpeN0Guh-nvU7ZaQX9l+y72Y8tobQb;kUxz(kpvM=^ zdY)+)wp0$fksabs4L)WDmnFacbAdbw9Y?X@V`gwz^6P&O$nJQgv=1&rklYXIv-}r$o(Lo#3ziK4j}?R3#UJ>X8ElsS`Y#4GKLjiT@gomEGlRqO zU;jZ#A0!RRj|%({^`P!8Ow5FznZaWDum3PHP@l$wpP9jA`LF+cAVrQm>;i2}&b(}% zJnW!BY6b?d+j97s85EZP`X3Kc!{o&WQ4`3+&T$OfF7M%IW=L56>%SC89*RNj^(Fkw z3>nLR{Rg=RDh%#J?t!Z3hY2z;F#P||$idF4$H3zNW(zRfW@2Et&BXtPiQyHK7z4xq z*|Llh^}L7K8P_n{EoEn%#`K5fFgxQEcK)sGjP($M{{LqbV7SP{z;Ka?{}B_z1BgCO zMixd1S-6_nmW)QdjJ#*~7@I-E+1nD=NHB^e2gD?gx2see&7Yk|L5i3 z$HzE2D^Q@nfsqneLW*z2MfbqMneXMcZ`A^EDWER_`6sb z8ktQQ7`8DBcCj!VX9lG!u>U)m7#KR4LY^=&++|V*#d#!SFvBZW28LIxylcf67PHkn z7iGA_9N%<+&)sGZEH4F@{!Am9=6FD@COk z7!Hf_tQBK8BF6hwjPatFCIbUBxq#A~-brSTYrG8iStW1qGW=lu#lpbwiOXyTFT*7s zfg8LGk9Y(b7(Vmxx9~DF@q&h*8UD|vnekclBX zmx191BmX2Oh88BCbxaHsm~5eHWE)w8Zm}~=W;w^m!0?cj;}JWEQadEp7>|9?g`hAwsnhAwvg_v{Qa*##LGRsiMvZnx;X|wp zvl!1aGcdelQMtp)(93GUz;KjR;5sYg3s%;ztc-725xV}*{=m%mlDYI2?Nek0RHiO2)4$v2V*6_Zzn`Ew5xeY&sEiAh;Rt@=C^s zW+4m=Tg`VeF0W*KXVJ^Z!0_7=B;H|F%)s#5N?>^<;{qFwPnC@QP6Ded8Rt8Jt_@!2 z%(c3bafkDE76yj*?)=}&8E5-}WLNu5W@KR4=g$FB8N|A;f^kDI$D&fk$05SarHp67 zdFGZfUXOgl{kEL(XR64%QpV$HyP4jWGfvD=IZ?(qCs$=f8RL{Zm5wsTzI>HyrHr== zSi342pBAuwsbKt6z_Fl`@qYntS0&@bLf$VGj7tj@S5`8fE@Zu1!FaWh^>78_n?ly* z6^!2sS*KMnHWcyRtzeu~#Cy1cad{EPz6!=IMZC)^7>^b4POD(NQN((oobg!^>*jLC z4@Iog${BwZ@m?rroKh_Cww!TgG4JMb#@)rd)5;l774x^3Gd?Zme_PJ@t(gBrDPwyH z|JM@6872JBOBh#{@ZT(9+*QJVx`c6kDgWV8#`~qLFH0HUl?pVMF-|OFU0lYvv5fU_ z8RNw=*4t%_E2=~eR>86*q#TlGox{aAg^}X}C*x7(B`kBe7%y?Cv~w{o<>a2j#kh%+ z{}CtSVNU)loQxkh1)8`RCvdS&=Yku-@PD=@qmmfwdnU$kzQat6^BH;GGcmR>soY{> zJj^6;m5K2&6YDGFvIbO^tYTzfSjEV7osnS+qa!r`V~TOv^4w%*@LUIOl7RAp<|jsu zRxXBLjG#+Y7jUS|=VCa*0m^Y5TmrMW7*}(#?%-nFzy(j(|7Qm>`b=QrSir?_mYHJ< zCqp9}$0kmO3mn{&xft$p@V9a?yyM{i%*pVdgZCvTLmwyqZBB;yoctR&8P;)nFfe@M zGTvF(jD#JA?p%|6^5sZLf=#vzAH{+WMJr37TKW2uvl58Lyh6MauYMCeBfkcVd2n(#UQxO#4OuQ zA25p@<6(HpDzuJ=;W8VDy@Eq%4G+UEj{VFG3_rQ~8+aMIc=(_4FwExRKh49iiYF6P zWHJ1oEy&1ol8OH(6XPu={@3uB2iw!g!obkT!as?HVFC-NJ@%iG(}#a5BSSQ_Z2iwD z#;})(fnhHbZznUu7bf8;%na?!plwi~vOj>~CNl%WO=h7#d<>U4c`xxXJm6fy#K6$P z!+(~KVKUDeMh1rcyu7dY7|!wX-{E7p%PYvh@QzpHIv+z5pA-Yb96p6hd<+NpxXPJu`sM=;l0Viu#1KNGz-H?7CW%K0K+0C28KmU{F|8=HbUc8 zfMFgJ1H(Kfku6LNo0w$5>SX&ELEf6nxR{B7;Q+J1Bo>BC%pxzC8J;n_LBa);?$|9U97{0S}y%uBG!X@-ljNutS z*K;w3{Q_K%#TfnyJYsw)#;`@0|FjsxLs7xEVho=|1sE8b#N3~XF`N_wSFxZt5@6WQ z%)qdnS?C!v!%1c{uss3{pz?kqqu_Z)hDD5SV6i1k42wA#7#4F19Cc?n%qe=smEj$y z@K$$*`CJ0?-5GXq3G8-dIK?Hqz?I=Smu!9@PGDUxG$}` z$c5pUOvODXhKX|ejqVH|F)Wgon(V@`M_%faGed)d{s}jR`wIH&-54e+DoplZ zxS%L>z?q>{$zrkx!vQ6!^X?2km4v1_GpttDJMYfWrlK>~jbV$*QO3z03_n$MCb%&y zRg>*>W;moamzja#zUF1-1s)7{bv+)sGAz{-|L??bPfu!r2g5uAfh&#-pA9}UO?G1F zFqK^3!O&p#o%x?T!vkx+drl1Rtk*L$FwC_VIqJ@^&0cV;JHu6bq519%KkNfP`!GCk z;6C8Q(BR0kz=L6nquf0whD(lTL6hF#uo9fZ$UB>fp@T_q0TaVaCPi3!l4khK#K7>G ziT6G;Lj$u81H&3--n+~UJDHt8ZN2}DvNsupm$Nc#VG_8`%J7d#U>_^P3l@RRtPDR` zpn3H_qj(1+$9X1(V~iX-m>6a;@vUWISiw{V)xVfgU=|z0Mke7etPH=H1SYUCY-JVr z#>#M%71Y`WyNzctBlj{^hIOEH2#SC435*i`EDS3cK}E_bro4a53_F+$A?C?2w6QZV zw6P2R<6@Z3-oVVjFr7>A4;RAIxWO&lqQUT*dlM@I!(2h3MoorWf?V4)814#-zfouSA`Dus zGeuOmQIlbcG}jGHhTAgyTQnIi%W|F6WVkHHu}YJnQB`oKCc|`9-u0RcD^+`@oJror$?onxsc z!z=ZZpaB4|`;{ND)lcANxWysV$<45pGkyX$!!|CVZf=HeT!It08QQtcA>p8Tmr?v4 zJHr>oy(|n28`-$Nu`@hkn2Et;whw&0EEgA{W* zE7=&%FtM&?W4Oq4ikX37HXF}cHiqSFatQbKu`n?7vGB}cVVK1t3f8B@0I4InjIgcul>=oHVbVwkSGK#YN5yYouMnN?(#e9#sqs z%RHAePOoA(=TkJdis6872?N6xKklhj4BP#E=T32Yl(@e$YDu%C_(-|2Uda`+&s~BcxuK^D={Qu7=%kYDlf#C=9CFaT845!#Z zH?%zCl9|lS(8R3=3j?tw%n}VO40}LD;3sCD1{Q{Y%+esq|Nj~N7;Z2zFx+6upC`(2 zoEbF0cb#P=;~Y_jbL@wh=7};);L2rS_{$|fOO)Xo_k5Olq6||7N*EYA1wS*+6J_`# zl*7RALRfj8C_}f%M$qUPD2^60GTi24V7SevaNLGrp+N3zTZTTtn~V$$&xJM$%(P{= zpsaP@hGCZq&rDl}V=AC#`z6)WOml4+{%AHb&a`D%sF(cGhM`5jfPvwQK6jHX!*c_W z(&vWavuzpv8MZJpFf^HR&$nebW-8KR%ka#UceX9VXVW>13=I9|zHe<9{+e^lw`Evr z#X8%TVU-oAzp&LBq~?q@$7>sgE7tEp+nfF~YBGQp(tKpfn9s*>levz8;X2DQ#<_e9 ze_0Q+F)$q9QJ&Ao@R$eG+kxa2aR$&Ts1J->uhvHAdE#Yz*HRITo`stYv0>&Bm|^6lpJ*Ir`ZdJ}`sUqkdvxea^eA%h?zk*|d@D0gZWa$TRS(fc?Z_$l=LgiO!yVfQ4}f zOEAZCDTWM=2jUEC895G1Gt6h=m?F)voQa=-VH=asVQGf5OdNZp8SXN1td(YX3KIUp z#Bp1S;SW<71H&a|*88Fi@0nR|N-^}XaP){V9AV*DCdY7w#ejj~4-3aKF@_daWd?@j ztQ^;+7_PE%T##qD%PPUZ@RgP0suaT!HjaJL3}@KX85lmZaZHnCSi;V6S&CsRJI6&S zhEwbu%cK~dv2%P7W$5DII3&g}i6f4I;R6T9DH(>{oE%G}7|w8VERtfl%gOOylHn64 z$8B+jW-g99k_MvC!=6i2HxV}o=m1H)5ko&z$Bvt$&H$}qOe za!izEJSxk3U6%2kEbl@&#-nmPf8`k8$+7;BW1J$-ds?1xp}YqJ!%KPI-|~!86?pF` zFz!*{xURr>L_rpj)ENHH-oeDUfhnJL7dJx%$9_(RUPg{7oD5qTSzmK7d}IU-$#gJr zJmX-P$;2_8n_(Rj$6ij*D9JZ2hCXJF9Xt$snOWQT7#dkv@9;46v#{RaVwl0gv6_=% zEeppaPKJFf99y{9Lm!0(uH^V)4kfYwPb6n?OXyf2G!ND+_ zgJT+~EiCn%oAD8+;3ICv&zuGf42!uqHgGW>hJQV?4tv_lKA96|Xh} z!&E+=3H*##`8d1z8Sn9#BZnVaUghD?VGz*)^~nqwwfs0PF*1ayGceS$zGq};VvJ*8 zc)-Zk3~3xo85#C5ax7(He9FkPiizupAcT-M!;pj5M* zkzp$63dN(0Jl7aOMokA9g;cCD{GXl4m=w;joS7kqV?GPR6h@Av%nVN$IgYU~d}8GI z&&)8HiDNM{!$KyG`^*g6m^h9zGaO;!ILXZLiiu+(Gs7pQItGRh%pAX%87HuC%wl2O z&cbn!h4C>9$9z`C*DR_G3=>#6X2BXrpt@$ZA)|I62k7(y*8iY@Sj5CIg;DxHBg0lk zj*pBCdl`K|! z$p?c-y3$*9c0(8I)Wji2En6YBwC zhWkt$oB0{OFme3hV`yb&oypH|gqdTuAj27EZw7|xEF5P97?!YbED~W@13D*`;Ug<+ zhbY5;R*vcX3=`Nmrt&jfVBuVR z%kY+);{z|lSMEFphQ~adZM+O`c-ZUu@N-<`XMDpibzFe4O+bx-VU2*`ApyoK0vrzo7+VE-rU^1`734W4$oN!{XNC~t zM?n_`hOI(8*Mu0q3i0k1W}G7|x=onzsxa?d5ypSQqBBGouZnOsi!$C5F=t?yD$09O zlyQ-$4lEV^pRLL$@4|7Iks*^~F(X4^9s|RDMvnPRjL#W085kxoam<1bNr2~r#Q8XC z7_>R!7>pws7gZ5Eae9u$7VbJtN~SaOQl3TIWkL zig0syF(`1DF=!YuFhp@=F(x6kvu8UpTIsP)V`8x3IL*l5#?ipU5X5noks+SrAtOT# z$67{)7RFo#hL4OKzZn_ZnK&jgG0tV;Sj)t?lnG%9q@EY%aA%PA0<*b$7&(41GE8Bt z0;OZLGRB-Eo53EWZnh+&un9*wgH0p@!&F9|3Bxpl;)5HDM5O0hM{8i~=eg?hHDX3=F9}b&Q3G#?$}VM;ICRF*!I8w0~#7S`V! z3=>&7Zi0HZ91Uy?ds#O#GBA8#WU^G79i;7%)h1_%N7rxHH-# zN@-{t5*{aeL2-hRhNMqDjtT}3jueIfYX*jHMxObMjMGul=YK{HL^+EZ$C&1cGV&|9 z7BjRm^2}pooQRrsVRZ@5az@5RvX4ndfvdfGdf0!B0GjZHuX1LB2%fPUOnPW4k zmt@Gm@Rph5J2T@~W>p4;Su8v&SQwwO@cd_C{Kz5<%i0W}u*6y4A*cJ( z7-~5$GlMFe&&&)L8CkcoGW=oWc)`NZ%fz~ig<&2O$8BbYWlZi23~!lOZ-d+93t1Ri zm^s>57$z~ZcCawaX69&NVOY$Z!vIP&b66NxuyAZ;VLZqp`oieDUMT23^SN&85pKA^X_A2yvoe`lbLZU3-2Em#$7CyjjW8H zkwOO)H?oWpJRA*-3}GBO3~_qc3N%nY=j8}w5Dh?gOCY1SEXOV;20e~mCI)+sg-i@3 z9NU>0YCISijxciEU}8AKn8?7emWg8m3*#{+j>}ApUzvC|F*7zYhcGZ)W#*a6!uX4s zbpi|He^5^sUO$4y9`Kfls*G~{9JLHC9CJXsl^H;>H67Gc;d#!;cn~8UI&wrZc!K&j zXyqAZS_kKaGFW-H2b8xIkm3cDFL9PXl8mAz93L1NY)&#VFtjr99AILc$YcW34bHdX z961cOtRlX}5LuptbQ;R&XUZ|1nZecp)b3ls!mxmmqm7y25F_hTCWe=c99Nha z<}$H9V`kXO%=?g;@fI`d0#?Sa%)EAwNvaVrb*viCnhl%kZ6H-uu(l}E2pv$OX!rBRLto>#J<+qrpjxAih2brz z@i~`?^(8aI118p^%nVPN${85$Fmvo=Wn9X_dkI|n9A;(gW#!z-$~cRaZyzh;3RV<9 z&sJqrRN}bG#Gv(=kpUD-w?Kizae;~9DHBf*Gvh}@5aBJiX8&Mh{LE;}v6hRWK=m~b z!)!*@`&c{v-O9^&mW$&S7vnQ7sa9^rsoXqUxEZf<^FHThY~|ry&ck?=hvyj& zV=FK3E?&mfyc}D38L#s4w(~JQ;)SQS|FcaQ^%>F`7}7b~m>BX+85ov;6W$ue90rCN zOdN|qT_2v~%#2f+IS(;2&SOUE0D;nt2scM4gDQt3gRV6LLk3R`V+o?A1d>N?^I(<{ zqKy0o^0lD$5T=|aqpB&#e?|t|ECz<#z?VmyRMY9N0Y znsUrwX0T0RU|0xlCaq+g$H>5NoQb0aROzKLfO7GBP%h?p#mxAK8J=CidR;-|@V*(K z<|W5BP=6x=Y}Y9!#@$RDN0}I(GVv~AX6$C>n9IyKnOOvuc|d84-+-+VV>qHKGD(l& zmM-fSJ%)$662EmBn)Nt(^%$4xaje&4+@r^FOpo!1o+krCuRhlbea83tT>tbLw;6Dq zH(+cqh8K*W zm3ZKCU#N|VYXLLEK_=Ek%nZkvIw51kpzwb}I%nS@u zC3uflux^#$*j>UpPg3Z31?z4}j;BSe>!o;(SFj$HVx3UT`c7J6M+Ix2jL3{K){`>4 zJ1SV$%I;u%T*7)*k#%7;>jWjq*B7b@J)sHR3+;ZRqhYf ztQ~3`=c`$#t8sj)W?invI=P1Ruo~~zQr1^$q8BSzXQ=ajDPmot&f8qVdQe^LVg>6} z4c^7YtRFOZFIKQ_)l@uK%6eK`^lTC9G#$|sMXaB7xVD$F9@6DlT*|u3pp)rA1?yoW zPX>k_W7fr`tW%9yuNSi}HRe4~$$G_VH`}LL)_%vWj0_A%oZ^mFvo3N5tw#?kbrq~vviT=fu)fIVKTyf~ zC!7CmIqQTRiBpxVYjgMyl(Qbp;cqBsy_&=Sv5fU)4*$b4*1tLYm&#Zt=87LKV_loe z(^AH|FPGzg3G1{xk;SE~>+>|$ma^W-6M9g=`ZovrAdq3f3@v zs%70-#5KE$@mdkpo;Nr3GbFN#;c`bCu)pTF$$zoN-dQ{O)qbqvgC;${9bE^Y&IS&a33wR>`=gl67|_ zRqRIp9GkmG% zp54I6_`jZiS_30vUjw5!B#ATDf+rlnWvn8jv@Po!&^X!|Muw}5yw5>hFWwbQj7^|5 zbMQ7dq`a5}DlgVELGqD_pgV(WGA3J{HI_jq3{*A>GO}>9$uQS5AS?vg`Ja&kkp~4C zc^)$|f8b_(#t6EY2x=jCd{8OyIcN-m^$;V&OvVWCAVwn-<4@#D2GsY^VvSm zSz{TDAZ!7K&&&)ApPBi$urM^SB!S$+%gD)4#K2I*(*hf@`Tw7hXDcJ?GbV;zj7J&4 zei3B2#lpaFi-qSRE5kFEc5qP#Zjb7*#xWSf%mxkRZ)9Zs1zNjU0M;kK@Q8_l;Sm$- z3TB4qOgUgNL58L53=B)zV<&MkG;u(ti9lxYF&Hv17>b=@VsM`intB3>3C&>Sy~50J zg;Dw@GsAmE(4teY89Xx>`FfZcmNA0nVE@nF!_2r9G&v8Nn`Lb(W@u%e0@@b9Ci1g@ z;S{^+odSmc?2A|#7#8xf-pXfK#tS+LWTk-kodSjiLDngG3?Bt!uI4dZ6js=g$M8`& zpMl|lNcN6AhSQ>;3GUZo+B@Bn`QsOAnwmgP+QU(kR^Q5`A_jdGhBfLu%kmj^s9P~Gd{SrqlF#s6eLe>R!!!evx%mvI3~uu< zFf6qdK32%E!xl7zx5LihSRunKd!ADT3{UKNjukRoaQMx8v-!0y4sWVPsmN~7?c$=BEL7j0Ii}Xo##;Yt3nHd3NW4zD7e^QxmhiEjRbyPqH;IvfVK+a>oVfz5|I`>K33J?0 zXIw5emFKNGW3w{PYcQuweH<;|<@(^c>wTall8kp4 z&$2SKu{fS*Ww^^CbC#9iCrc5?yP&jPtt0eHoM8r|)LC(cXRMr)#2MbRCNVHvWD}kw z&ajA`b*C7^X?Dfg;tX9}I%mZhws9R~W?=Zv>-SuY;V9p0Mh1or0>yL17#0f}F)&;e z#_&dzXOcKWhnVnlF^1VhuW zUcZlRQ9Q#z&MvmcaSW&VK@-dq#CUGSF&q)+I1|J0L4tL2Ji~cOo@22Lw$G2j?G7hMSzi4O|TGIC=hYGOXs}+ym-9BKOlo83ok% zQW;FF85r_8>KV(?m7&eLCP-0-{vf%md#qh{N;DR?p zk9ERzZ-!SkB6oZlZrZB$`Z8R%6Zqi8Fx_bq<797!$! zt{yBM~q^~=KW`k-YCSg!iM3FFwburhAko>_DoTpO*RZm zMW?eeFzk_HU2DV8EzSGTmf?pq??GFJR+$Zw3=CUM-!lKTVYp_=`^tvlfEC|i8-{aM z#~B$IrrHSZv}IUk^9xjJ{0FVgIL*YsaGHsGD;L8xCeYH3Pt4r&xfuR3gEk{Jv+{Lu zF-&AV0NOYRE{9SXI;9yHI;DBu=rJ_N@wDhOJe1@7rpNF~?gOY!R%X4g&#+cSai=~* zk1Ef0eb6$iCHf2#)K$;vGrUyi*{#oTK!bOYKEqiJ(3+5a+PrQ044d^d?&~w$)#H7q z$M8xIRBuDtAOZ}ag5@wQ;N|HNVtB#J^Iwo*54eb74G|BPI*9G4jxQX!2N&^)Xd!)8VXhRuwu zhZz};F>+pKWIT_WRzU8-G*^HD-QBY#8AVlD`&byXj)IoRvvB-pVf@Yl&p6<eGkj%YVED?!@sye2FH;l) z!*yn!KgS$>Gz2t{QM8ebVKd_+&}L9jU8BpW&HzdU_nBGSSQ(x$Pi16a z_{qY(ij|>-)tQ0eI4jR>P>&WKV<0`8j4aaZ2GAw}$ZVc@;8mN;7?(lX!W?$2c?`~= zHZQ2`@dV9fSF>(mWN2WFVPLq!$nl1e@d%obnHU&$v&csEFfz1)ruYBP=4Is6=bXvN7{OW%4QQ-lpnM2A?5cxNU=}083`RXr z{OB@jGJsatH!;Ug;bwTq?9afkf#n(F6mEuZ9G@A#aWPEiW?jO~I0vyA2ozqyB5xQO zZZq=#VPtp(8j=Bxg?Wm!GBU)1m%W4Q2Wf`IEDQ{bS(JNN8IG}dGBEVBaxP$HoPo53 z2b>-l+!+|$S!)=4Lc#vyW$3R&=C?uqW&j;@w3;#X0ceyl7ZiSyj3Vr;HVgtB z8VnNJ3=Gb!0gN6fX^VrMRfd5FJof`GtFVs+{b$r~VdOq&!O+h*lZk<01vCE-bB4{v z!V4`JR+({sG-udqR=~ip)LdkR1;bAB_29Y>G)I-dx}T9DwSa-)DkJ|-P)?D8c^eW3 z)vVh_D+YP+7?vcX zFnFw6te&BXk!uPgV-Ko+MMfD0(Ef`3%)FnO8O|~D-)Clc#LV@Mneh$Mq}u=46POsg zm`Yfeaxv7he&AqeW8|2_!LW{z^)@?b9oBnphX0JL-CPVEOdL-@tFc%=axyGp;<&-V zu$hVVGAC#S;xP_}TTC2>*%@9lv2NvL_`<|`fP>*L6UPJ&hK9&vRbJt-PF% zcp3NcA|?d>&z=DqmX2h-!^e=sahM0R>at%5RH5$RXSl-1`k$NOCL_lwZiXL>tnaxQ z7BaCu6JS`+#JYo@;UN?2eL;rzOdRL<7}hd#9OGj+#LPO4kKr6M$02Tp6)YUz`511p zaP;vpykcSf!OJj}m7`05VJ@o<1H(yH)!1H92*1~n|L_-c^EJ8u-@Tee8I!|iHEU~S7-(=;}Txhb-awb zc=8EEZWC}>oh;~{8pi|08L<5nilM@)?SNLc$O%P1*I zXib|eBjI&#ur(1l*4IUFEC8*Eo6X3unvrJ$6XR7zo~cZX4;d}tMF#_D-x}#_-%=Ul zoj8`UG6Zw1U}dOfUCqX@mXY;8E5j}(jwRq_3a?oh<}-85VP$yB%({n_VKWQIH5P{5 zEI|wmy{sJ5SsACY8i4kD^88|DyvXXpz%Z4KXBivgRyLmJY>Wrl;Ik;ua@Ry=DP&v6#UsVtmlSQzJls@ zz|h9T+RMZ^hlytc6XOb`6;}UeyE584vu_bW5+Qqasi>iQ23e)yUvV%N@$t|J`qb%ZGCQWF2# zIU25)L#!<&V!hm2(0aL7tg!WRw>cR0GqQeWXE?$r%D`}wk@Xfk!#hTf`>dem!4!7T zyxv__hLubl&%vwa4zV&^1?|Y6$jrK%gJCf<>mfFV4a^*^Y@oGsOIaCigEp4UWnrDp z!Elj}~aPU2wv$0pdz!8n_pV+A|o5q7~24#tP< z9Pii}zp-;Pb1*LD;MvB(c$9>8x47^5X(5%b*&&UB^&p8{sZtfQ|!vRK6X?lWD3N%i^d6t=B z4-;tB&OxSN28Joj9E~gtbC^L3dzm>-Ff$%wR%Bp!&dl?bnQ_Tv5`yBcrt*>kcLcVmq8z3SvSthn!93}V@rVEd zjcwpu&p6wX(O8$YjTy8k`6Os9dJ7|XLCkX|h6POF3=H3yI2u8#VtCIpGwx#MI0agM z3tv$Js@L(gUGT|$VPt&E=+1GIlc7MhlN+=iX*L(baz@Ve91MFHIl!ffEdxU%6YEoM zhJGg2MlR4Yowb|{$Cx-?b22nCvp(Tr*v!n?#>sGknd2e{!v$tX28M|&tb2GE7PD}y z=VUm|!qLycaF&(z92dhTHrAW$40qW$UvMydV&mAs!SIXCn1Nv}J8KUQ!wYuK6`YJ8 z+3P`jfdp4@GWKx_Eaqf9&dG6wlkp)Z>uqkvXPn9m44qsY)3_Lyamk$o_Z(Wd8JBYN zKHz3N%gu8ew0VQKoriHM5ASv!#zj2J3=BtkcOk=tsbc-8}%G8*Wz z&Sqi=;P}JH5a9z}sB{n18B74L-Jb?ZD7^QX7*8>A++t$9gjgEH@E^3dz?QX_i6NKu zBqKvnGN_Zu+X0##)1lVcqx!*tF%28O9zJj=Kkk8<%`<6`{E#j}B% zv5_0T`Vr(VSw=|{nGK8##jJA}87h3i4ae`Gh9kTn|3ABuu_&M83up=MdGHe4_spOr zxNBJ%nwVIRv4F~s>&y(ZnVc9H?lOV4#l2=?UCYAofk}>mp^uq$3Jb$@W{w6>Gq(oZ z4_(2+xP^t|APeJJ7TNbKjDJ})SFkd|H^;TGF+N0Ib_*(dco?J@AnR_yV+N9pA_g2? zj0{m6HK650XdCwa&tAg_8b}LdUec;!yHC6@H)e%tPH0>73qCO z*7K|kFBmx{url;8vEF21xXQ%3jg{dZ6GtB_!y6{nxvZcO!5&tI$;_-LSs3;*v-Ywv zJYeS7!NRbJg>?f9!xv96bPw1 zby**P7KSB^CC5Rn4vudu40o9f7#Mn) zLE(9UnRP1*!&T;T22fC~WMiDl%6kaB33449<6l{6E1n8B4Njxi8XV1njrq!~ar56op`eE~YCAee#S zDD`u~_#1e@5=@j2x{@4Ew>8 zUZ6Ti#1%B2?iZHyeN#2NN6hA}Wq zVPc&i#ITWxb%i*?NhXf{LZDph_AqnY5@I;Q3|b+<%&|Ex)o0X$WoM8hi$2~EIGprnogcv@sa(owJ_`#aOz;K6+ z6E|!tjKbV}&@wM_!I8A`IPp98ZK8mhy4j z7h>q+=h!I1FrS~}j}XIMe%1ylhQ$ILZ9)ti1q5~pGaMD*SR=wPLojofFvCl~CA_X5R2h~4F`#iw?M?8DQeHlH(SYI$Pgm84S zFvK`AfEKHFf|hE6)~5F}aU5h~n9h{J!0?}mwSkp!Dl^XkaM94h!nl-$=Qj)Ec^2sg zR>oJLLt~K27UZ!ubND_mO7@7@GMdSP${sz?W>p)GXN(NKp#5ttpdFzMJ)q^$pBM!f zfHq5T%my#qZenJ<2s*F~>MBtFCA3G5g#92S?e!y}@9>|IgT#F%@I71@`|2S3RA{#k z#RRdZ4|5H>C8LoU$1)~{d5j$Y7#Wr^@`ILN3oQff<>6QYn&k#H9-e^q^&Dm5xd*B% z5j7$tu7t(O+~)$C0|xI+#ZMkvh)09XFScW(8R&`nq3A~k%G=SBW({2 zzVRAOM!N2=K?%n#F&Gt_dN=Vh49$Z?97VGSe4K7P;^&pv*JON<doE(4n8TN1{GBC{LV*Me=u#b!L z3=hLOE{<L6l!_W%anEaWWa~coBA8u;~hV4A8`*;}l@FX!X%;V)) z&C9rhm*Xfe;{jgKxh~iFIG*q^{^H|k=VzSHFZG?DaVNhr1H&DD!B6~*Qw4aI2{0ZN z;JGHi_*H;sg&<=iXkYSCL7vZoj28t>7#LcGcuxp1t`QPFEX4R!h*jXWX#|iN7Q=wr06S#eo%OF+^%FlGz*ZZFlX+QjM+Q+NNC~MA9 z%HYD$&B)+mz`#($(FWS4$axyHR~cSxg4*Nw<5HGUoTNRy^gagx-+pEA*d&$r^vW`l zIyOnAJ@gp+<`Mg-@r+geXGGfTNbG!$Dx*9*$0J4taZraMiggDgLwpw_1H(&3z78hF z?~F(b{Xk_8wjA?7cRGcc@TWj)Wqu!EK3K0D~xpq1> zPG#d*$;B|2Er5aHEgS0(PKHlxhZz|dwsHuZ;$XbSA@z=vv4@jmCTQb5>rx)ZZJZp3 zIT_D$N`2;JY~|uv0vf&Iy$%|^;+@XTxRsmd8h9XZ6%XTV9*(7;or%2fK@;Qfj_ZF~ z?nC^~$UTV>blSr#$QccgHX*#th}mw#Hx4-*_9ZT0Vw}O0&3cN9p@icW2SX<#c-;vj z>r?Rhl^!0@%9RJ~3^SQHR)BZ9-r!(3%*4^f1={bri-TbyGwX3~hV{&>Z#fxuFmtTr z0JZeGIT-FSbDZX6_{_|)oP*&vsCzsQynbaf3&&CphKDR1Q#lzvv2aZ0WN2muZIYeB z%JG_mVI?cabPk5YtQ`B_#S$r87RD=!gc;Av0_|$JiLJvhlRDGd?73O@twN zX9a=AYbn`d`yX?ktk^C_&_M-Up$vF<1r)Xq_0U# z9RE2P7BGR%=K9RcagdW?5evs|E{0Vsu?!6Dte{Qg{j5tstC!h0_Hr`ZW8*l+$*`A$ zbtxyqAr2=7h89ka#heU1oUsfHFFARBaWXFD;@JkCty#d$_>l`Sxd2XUgyt6hGoqfU zF}s$rA|Et{T+4|(*RURZ+{YsphAt-7Ei4SPnK-U9Gc0DZ0?#Sp1|w{O<=0Qy0l=o$b4rO*v!f>iIx8#E5kxoBL;@ctXxl78Sf%3E(O(% zdP|suf3PsDW#+xc0y?$xGYi937XFJY3`bbx7#JS0aJ^$;>|^CZUzQ57;}WC5Y-WaE zO#IWB89G7b@)~B2J}7#P+wa_nS;cd;1$&%OiN(!P^Nc#9Lm4IbW;P7Hk#tp6PtPDu!Fb7FWX$vV%0 zp?TUH#jj|v*Ul~$ne~b|C}Sk4?F&ijttZ7IZitco4*iSdRL?^`Fvr%s3v_&@sqBjawy2h0K=g&Epdc^?Zi zOa?WfcCiXv5MnsTCh%C8;T{`kvGo^rfv-XgjhrAQeVnNb44*j#77H=l;o`b3%_}&1R0w7xn2n}d=udPFU-&^$jiVmL6E;km|>wH z{|6z4O@jQVg&0l<^3M}uxGBg#Q;6ZMAn#3K#{Yu6_k{GaW~=;|r(hK(VX_ZAz&WJZCBYz)hoc>l37Okn1H4O$Q{ zu!N1_3p40!_Z_VK^Vt|qvhw$^G2CM1|H;a*oXxp`o$(c7A`HA<%S3nuJA*gxG}`V-C$w7fY?p}UgM{^m67)u zGs9~}-VPRqb|!(J%nZ|+b}}+BTwvz^!p!i8S#lj{Q5<}L7@ViBF$>%TEu#@Q26oqT zu)D5+jv6&%V0gvGHH)3GgPm(WJL4pFcn1?yri0E&2W=Uc%E&d5iQzXR|5_%7F3>P5 zxXr-j%>~*L0oq9f$us;aGI^l$A=ZM;0cqZgGK?Rkd9TSZPLZ+RCCm6hhWEb= zW3MdlE?LHNvb>LF8E?zN6EG+aX3H{)Pi5o-9c0c3+T68T`pm??k(r@|nSU`e!xm<)1IP}ZFL zGP<2+;=0Ag(9A466EvR<%Da#?HzNAd{}}}t_JcMyG77w7VmQwTT2uxKXVCtEtxOCITbVeH zfDRG@oqvszZZ#Q|w=?oSU}iYU$a{vF;Tj|8DD3mhT(_ASUodn0U}pS)RLwx@quY!E z>zEmOnfX^TGt2?iNBfz%E;2KoL{f-4H%m-hA7NtL!?d1N;Fu1>1a`iQ+6;@ic)x2i zbaM+F)@FFiEwEUd;UAB{1RaJ+yj(xE8Rqb=WMW`A$}iBU$#9h)v>T#9P~fTt!x|yh zcbW`Ogn5tYFnkm?WMEh%BD!6JVVP*fF&&0QVyxFS877IZWIU$Buv@~Af#HpW=rK)( ziBeqKwHRhgtz%+fI4L8rM3dpB%qd0&hQ)FMQ#BYC$#cEcVtA*()uF|3T8ZnkI>S|^ zHK6Mo)%fRWGfY+EpQFvNPK|$`Cc_~${`r~=*VOo@Ycjl26ZxsZ(4a1IL4#qMy2uF) zhBfN^>opkms`F3KU^u7F-=V?qQk~+^;3|LW}W( zmik+5#`W5~`?MLaX!Cy3X8fbg+pWX6K!^9B4&z!KkgjVwysvc_AM4;u7qc@NQx354 z?&4?I&o11^&+w6hcMU(o1WvA5{0t8`1zz$oeBlx}%E!>e%hk-!u#s2bDj&mCKHh`; z42$@L7#Ozj@ju~XxWUIYm7nn|AJ-m!#x{Q5sr-y{`FZ#7GoIwtmfwJ7GwC$EpStm;Q|luCNYL9yaHQ98Se7)ei3DuDon7~@k>-nn9o-@)uYF%bK?81El3 z#xG(>cK>JO^5VMB$Ph9gv@HdaRv$779A{=&#>{^RbPAX%JeFjb$i(_jo?#sm>qAM2DL9^_CWZ<*x&7$yG_WP2cS@xN7@LBe| zlAu}kqmm45tQ?Ca8IH1Y%$H#}%NoMKu#k=Qg%rbjHjagopmVQ(NH9ELOt_%zpIasI4Gu-Fk_$a~ffrI0M1j77lVg_{!(UF0=L=p z#K7=UjN_XaW3M>hO)17r;)3_27;lMlJQrvDCCu6 zwn+-kk!0L0$$CMK@r@+wWd+8WQsR%L7>`SFT#;h@D#g1%nsKW%?^9{UP8ptAGK^bg zc)!aq-j)%+AjddWmglT2<33r|6S9m?WqGE^F?PwZ{*-6jDaU(Sj`67+&jfkKrSd#q zf5A85YwBQI#a^BNCmzH=WBXufkN55sgO)|-g=&g;CO`OeL} zp!v>=JfQi`*}S0n&c}T4`OY6ap!v=Rf}r`%&pe>{&UZYZ`OfJ)p!v>s{0w{8Bp4X3 zuyMTPVYtI4!@%%^4P?U>c8=Nn413rE85nvwSa%69?BHPC%FS?>gX1qZLmMaSByNV) zoE*Qo88&k&Gca7^)D!{Wv<4isuI&jU$37;8H;f*j+pjo| zGc#Ug;%R4Qdv3kr{YWRpf!2WGT=R^QhrnxQ@XVPKv5sZ7Bcrtt z=;S_Ejx$UQzU~a5bHsmvR*nTSFuY~tn9j^Nm5Jv#C=t4V54W2GI^2$RIx}NGl9Rz} z({Q>O-&zK|a;l7q(X7`&XC`sH0y)Wvf#Dt_>r>DQJf7{KVLZfIT9i3e66X*9Gjbr- z{$N=X&pMxp@d=|2cqr!atvZ^Nhj+Y>d0uUNf?O zk7fAI$n`sfVILFk=@5n$%v|?l8ICgZev4sv!pzzk&hU#_;B*+n8y2p+u?&}41@=cV zJZ1&0uY1hKdn1nF1_#&eScZ$7ylbKurf_rJjAdBL!*xBDVLi`!b_Rxf!hAjP42wm$ zuEsKK6y@3*%g`pqdL*2oTP&A>;fEO4?pTH<@sErQ44);qcE&Q?mE@Wk#qd&Ecw0Qf zD;cisu?$yax!R%_4$E~ za9f+TE12Pdw!o_(hUYp0(_+pVzVwk1N`ag_enJ(9kFow6fpfLKW%k?pYVXvOR zmJo(pdaTcb8Q$yhUJqtirqA^}gyFhA>w<8G@A_P;LKyBDu-*=1_-w#CFN|SmVUG=Ke;C6R8`ejm3^#2A_J=YYv}OGi%5cq=_k1YB6bFIH5e%!GSm%T?tanOe zV3^>{^*fm1sx#l}IEFXQtmncRJ~}@J-KpcsJ1dysi!1A|Acmi=0=I$~I^95H6m#6U zP6RV7bAJH39Lk@oJ(gjD|5DIYUjTn=Jj0OyI|hcPK>l-a4ATPnkHj&o3gqvPW7rqS ze=COJQXv1n7>37z{B1D|Ujq5xM>Dhr@n4Q+m=?spJ(^*85dWnph8;otJ0lrR2J!z1 zXP6(%dnuT4TQKk0V8%DWypO^eXN2%>iDcXv0%BhX;e8ascsIm_fni~&NR85k~JL7*9pmGca^U^3I54Toeg1YhNU9 zLpzPyT2tb9m&Gw|hy&SrH;(sB9OI&R-i`5$hvRu~#WP-r z=SLdLRb^E4;Fj85vwMK}{X-S)e8nyx&G8TsSOrU|M78d^REDTdw z__weyY-f@A#KL%)#RAnWE?gHt`zHm~F)?gm%mgi$=HJ7_u%C(RG!x@VCisXOc;4ED zYabKCW=7sQObiDYy%`v~nfOeWjg9ip%BtqaeBSS_K1H&ms{vV7CHyMo~YB)JG83e(1 zc*rt}hp;YZX4t{VF&VUbYc}ZeX=aY6%t-a8Bcl~VFatv{=$POFj=ziy6>bcm`!qH( zFzXUWL>7Uw?hLb81va}dOlA|<>CVv1&NbbYp_M~msXN0#E`cK+4E@}^mpmBeaD&ba zIm9D8-JM|@FISr@!yZ0?sqPGG__@BiF!TztwmLIx5EMA+#BfxQcb*f&13}PG`cpxH z^9~H1!dxHS7-owIOm=7J7Ug>4!mva$)FH5a@Ja_^H5k)P>=uqTm!~h6W|x zt zHZd_UbZfIVJ2Ons7C!F8uw0wB-HBm~HmDclYDSm3K8!wVDE#ZC-wO$44hGORS? zJ>|e~*o=3k14Fkt?|KJ@)#j|t4h$R21)kV5Y_MRR=)iE)g7=d>!vQOSg^mmttd4{3 zG`8j6@4>LzmV228!vS0V$sP>nZABOu9^3Lac`$sp<$v$a&~3+m$BkjW9seOWhRt^T zYuy-**zr$xW4LO^|I?M>nH~QVSBCF){3~1;I_&v(xG>DL=bz=mu*#nQi!;Mc`$`6e zO%5J2ofwxm+B|Y({Nc!Z$ceGbiFc+G<1#0X4Ni>u!wq-FUZp zFurjE9hBGV!Lz}GaheC;Ru9Ij9=tuCjITU+r+G4d_u!rA$=KqFnDGL)>0xU)QQCLZ z$_t8&((;^5pnGnnfX;E@=x1bH%E)sDwDSOM--d)OYda%@J4Z2tzZ3S990%deO{Ird60#BqESVJPP4kN}NY+!F!yQT~ZDY+(##VCZCG z{V&L{jEVJ&IKw_Bj&(wysmuA241YiyXVx%tyb)s90vgP`&dl*j9JKxGlO#hgXivZr z7SN?%J6S*@1P58185mkvIrfP&%w*-5D$cN#m1Ck1!%bF>&B6@tSUDz(Gkjx>U|=}M z#?dLxaG#Cig&61>nGX^SbJ%ql7*4Qr91&x<%g%8{gy9`KXjI}P2kSp!hT9w*v&0x4 zb3`#P?B(S6CdzP$ljD>K!(&d4bD|7CI61b9F!XY9%oJgm$HlQylwk)K$3?XG>)*Hn`5mA!$)q`%hC+LxjDXwGj#B9+!J9~#lt#5nBfKw z$2%d02Ryk93}<;+?@2Ly;N>_e#ITl+b%7K^BR}g`L54g00{?^=KJbG!BK#I8{U^-O zBE)e-nsJX1#|ufuBSN5sMC~FRQ$!f2i*hUxW!x>w_fUfIfvDg!3C0dFj;UgdE5taq ziZNaj<9IB__)CnnMVxW5xZqB4#)T5%uO%4IOK{wgVCdPJIWu{7UFX~vDx77Pq8rFnl#!zzUTpuN6gtWQDf z{@dZ}{@Xyq@}PD9JxrkP)fCXW|36HuKUf%H>;8G0!0Y}$voM}!5&yx$_y}#?Kcc-) zL?7utBL|-QAa;W8gXjU>2eANjAH+6hh8j=MZatDSObm58d4eKO*l@mK-c@< zWd*JGUk}b3T`Zv4paaYddzl;<82&P`P6LgH@wS2{Sb2|v?{1jL%GkxqdXSBADJ#zn zR>qC2Cg7z%d)OGe*%S`4F|J0;9z)u3@O4(y8Z)4z&p!JFsNq+@x>|stl4B|#Lmwl@ z1zv{5jI6B!3>z6aR`4>MX5^U83%Vfg7%ylP`;8#O3MP)7yr6?v9`iGtW8#?1$MBem z<0wDFA102kyr4UfmJ2dmW@cT%54z^!2`|G(W{%Um3{5N?ZTz4c#UAl8%x8&UVEE3$ z@q~||hn3?2FT*ZYjthJYr&&RVBHdx-IK#*AmX%`}A43xx$0c5dIcyx0cp3JxvF_t# z_{+w6M}XlQJ8KsY!yFFQOFRraIaoLFFg)g9{lmlXgM;-K55r&3!fA#MF4o)J46C>} zj`J{V;__l(_`}8egNI=kH|UU~-`uRNJdDeDJU;Uk)PupKjUY9js^k79s#NApks*yF9|R{72sJU$oNqJw8l%2 z_qibBAwgpXhOdG=2Zb1C2?_2IVqA@MDiI|9k?MV<`4iB1rOY};hGLGDpsSA14#&Ye zmIXPBieVxn1H(i{;Tbv%bD6lN>w#ugr|L1RVBxx`%dm)*Yq2iFbT+PLU515hpyO|s zb8t=8W7x<6x)k;xC+l7xF8!B-yMKiUi({DQmm z820fCoYZ4D$G;ggrzgzSugB0Q!quzCFhc~?ES@FC)vd>{MC>{v1H*4|fi4|}ZV6uo zh8q&BJG2;HN$}3mV%Q?Zbx51xjkLfPZH7P6N0}KI4$AX3X)&CWzr@JEut1UPuO`DT z6|M_f4Aa%P4rwtgRNKMGz;IKY|A-#L3v~eoh9BzuKXn;;H2Cl9GAz*G->A#5MT38$ zF2e~8{&zYIcQp8~>o9!K;NPpm(5T73Oow5TCjUEahQ*rv7ql6+X!1|jW;m+J|4WPE znkN4nEr#cs{P(mNTD5qmYcc-S65XoDI7?e}gC64@ZQj*-j4!pr85j=e@LtkkyrskS zQit)Q4oG;4uI_$4#z(rmUvwG&=<@E@W9-xmV_>+i$J?pT_(hMmPoJ?-AF+x8f81#@ zDlKQ^eZjus6(ega59lzK=R6E=89C>1gKlTI!Ow7>iS;56Ln|{V>-K^+ z`7UK<-Oa`z`)SU&f37wu#=tjC>O(Rc8(TqhIS6tC0qb`5AZf^PS^oe9F(WSb(ux zfN!1v<4ysdQv$Fi55xc2nvBY`7zNg`Fw9^QXlG$~z|4P&h2bMJ|5O%+xhz~OSs0hI zn8Ak&57jDi~&`42KO9AV@_KR&mf zNi$60O%G`B}dzG92XR=#^zS z$IsC$#qfcj^|A!RJOPf)5)8{gGmU=*SdYqq?%!!4bqHMc&tnjIByM8)bQVC2aOG{=VX|{#6O#p z;XM<7J14^yX8z9{3_qFq?{hF*VBtT_!7z`Ne>(@m8&>`W91LsO_&Yfm*0A$`VrSUR zuFSx2kDco+JL6Y&t`-i)9uBVA9E^)OxHfSx?&9D&#=&@wgXSrg1XPj)>~9!{kC5tNo#eHny(A#GeGjxYu-FHn00Iw!siG$;N7 zG$+0ZJSV=E2UJg80MCif=L5}&xA21I#NUAD#Gixb#M}Acdw^T{Ky%^`!E@sO!E@p# zc|mjH6ZzqD;>&m$8d+Hzgc$l+ITrFVEMVoB!^`l1mE$N6!xA=*J^_X`Y!VEhRWj3g z8P0&_#9y$nw)25*hu_W5um&_I{+FHgmH@*F4%Wxq3}-nwR`W1?<6u3&%`lsjV*ePW-6=??OSwPC>yrpu35Ae+x3+78Lv@ z$oK{{Cq7e%cQw+SI4F!^_dipTU;i_5h_S{pNQZ*sicg$%HY0->=n@R;V#pZb0!GGJ zjQbe{-td4HeBR(=*u^Zcl8@m43)eM1h8wH`7kC(6u!63J*vT$1mzUurdov>g!x;{N zeqM&_oB~()7@l*2dQ|JV`M2{i9OmZl;A6PL&Hs&;;VC!hl8|rQ{8xDy+Ijeo^D@lf z;a|#9A z8iPfQUy(3hJz9?qd_6Y%1`Fdw7Jt??QVbCs2gMn3S-(p%Ok)Hs9ed6Q+H}yt#QIu< zp_hqct_Z^#Ce~Xb3|E;r{>m`iWzu0_=w#-YB*rj{ne~zs=(_V+atvocCkeb@W<4Xx zu#kmyl_bMe7LEln40l;V7#KFPf>zlbW@YV`WH`^t(ICR`g_YyJ7(*u;Yo{c`S2m9G zvJ8LOTo@P*va?>3XE@K!`bmP}D?7()X@b-Zga9umSA|o$+1bC;VUQW4{?TOE{;E93@f-mOY3%Wf!uhTi}jQ^!xJu! zmEsH&xmoupGHmANd@9Oto}2ZcD8mnKj=7=?dwE!|$T7U-VLc$i@QH`xl`z9}UXJ;~ z4EuRG9*Q%Z<^`E^mzVX5FhegN>s~R2-FzHV#260qMKOSyz{{i=F7tCViZa~hPhw!$ zE5N#6f#HDw$2(Dmxq__IkwQsQT&7`I5V?vrBNDP_aJ@KuU;A!ykh&ogPpP8r_W z;AM9|WEk(rh@S^7yW>42%eY&X^(biB9q&{*#%?**T?&jl<#^mV=>((F=4e6YFy}hIS^_^K76?-rLz2wlJ~2VFe8iZf9d?1D|3# zg_(6e8^c^?j%GH71I(yk!n&U^v3UF@v4q3`+(B!xmQ7L#zxtS=AUA z?z3_{=3xBD%JGkt@h7W31H%e7j!kTg2iQ1Hu`%9Y<9GyG($4XXjj@HDbuv3+Cn#ZU zW#{?F&UlbL1$2Wd?+Xsb(;TdiIT$Z+m@+W5a`NotWSj`vFbZAC3flK1PUyTeK@Q#sz;TnA7U zN8~oh>`caFhEfKGQjRn147K|}H!?7bcd#>DVlH4{IK;yHjh*2U3+q01hUYAxt1?>I zIOec3^s-qoFdS#&ozBj1k4@?uJHszFo<4SlHch4&c^L|n89*mOzY}1X z4Z211C?m%c0fwiHpvJ~uMve#E3|p8u?h7*P0Zp#GVFInc`@*Em06LWLf&gfT`z9fV zv!GF+C(Inj1Q>oYb1WBNSj)mOSAbz33&&&u(Du`}{0#3|I1Y0&OlAeGeum$y9M}07de}I2@`GAGiv=0Zu<3wS1aeH}XXs_;n8(X7kDa4~A2f*bmXF~% zJI6#`hCl2aXZaXfKxc3rNah-?ZC8rMPSVxY%JPeDuICk)YX5gOiFg)a9eIUf}nv3I>0K+?Ojuk?T zr+7K8^D@5U<(nzUIGImyo*?6HK8_Q7jJNqXUhpw~g3i7NKVw@+$xFu;%#fo9+Q-as8GORgE@p=Hj2t_d8MZTugD<(A$;|MW zk>e&4!xu)5UrY?0OrTk-Sxg+anHbhHfv#?T$He-TiLsZNbqX`%8fMnb%#0hE<>5^k zup0;G+E`CUXED%{MjO!KPPwcv!58*!U}kv3$gvLO-8}H!hHWg2UzvDUGczt>W^H3( zJj%@5$inyq%>IeGzA=?C-jw4N3-liHFRY+@$d7>MT2_JQTCRfTS^~hwGj3yLfE;ta zm4){y=tL#njjW8TSXm#jF&<^*eb35xiPe~ap%r{&+64t}Q*VSTQ z`;9m=o%FS`h;z6N8MXCU+nE@uIHoW$908xLdWO-CfuV~@Z3h$M1}0So2H1LM_)1*{ z2E6kMpn9BDn}G*(R}tI~Sk6GhD@SNuydUP(vXTT)s81GA?E2J;%)Wl$m!D3*%N6-rp>Yw^_s+SQ$UDAP#3HIQKAH zlo98>?Ee|L_c5||g04dXU0nEo_6iop1uP7^7#SFLF>>rSU^v7GTG)JuiQ}0*!zm`v zYS{P899Ik&zB9XkZnWZPGGI8&a*UCIp_5JElp(`&cF}$M41d@`6N6hhg&rF+T;k-t zs>kq{Tk^3XLpKlaYkh_WUe-4{46VHG3=C&@IZo*^T;X+KV3@+kdsvrY8K2O5U53^C z{3mo7p79Ia(q?ED;9aN9Fk6uKunxltL5@wj40i=tUl=k>6JlL$$go6+_mm;SP9fg& zh73)@LPzx(rU-k17Fl!bG+=lp3|b-jTZE(0kfB)=G$3(BjAMx&!yPfuHqMEXyqgUf zmPm3;)o0i%HIZ?%A;V>9ju{3F&!xFG8!~*9p31_&(5B$A%7EdD0>>R~hIfh+7*`oE zG%Ir~&}EpeEVIghVX+F=d_9J>D%|~g46UjhS9KVARXJMp85XN@v=}g~R<&Yac&f^= zPKV)`8pm{Ph8t>Jb95NysdKgJFsxATXJTO3uF17ekKvpq*GfHx6-eYjf?>VeHW1ny$k*Ux(|cA>&3Jj(s|e$8@;<>NDQe z2{>xVxK`Jgf#HEJ*JUHdPr4xCNqQVd4H?(yaqQG%JgCQYL67l-KJPgr#&`N4*&q7K z3=FdkWR4m#9x&iKZ@_rUAcuirn<2>X>xNwCj2OQf^4>6FTw}z0*@$tc5lH7TBh>ju zPexaUUu+Bvzu0)+@iVlu?`2_NIKnM*ou6R=kH~I*hAlj=nHU)6^Rq4$U|0g$-MEpT zW2pec34ZyP{EYwjc^7~t=Zs)2o&WzC#U?X~Z)9Rv#aPL}u$YPGAgF~T2WmKj(zz%* zt1p8nj|YRI1p`B*N-HB{Exg4ImiJ~|z{n5|8nIf%$a&;#qgaA#O~zg*sRI0f(OLj#l!JKgW&@2Qnp4NhDjnEYqc2Gitsn;Ff0%S z?c3cdD)38-;h8Aw3oV8TV&coS8Fq;A-_&AQC&9Z{i(!i-$cST-92+$mwo8H7XQenk zYcR~0u0O2JuvCU)vj)R`S&qZn3~yvXPI)KCdtHlRiM+s8O@`g_9Dg+!ZYpqW*JQY^ z$a_hH;h7TG8x7DVg1H(DZ&uTDU)!==u!MI}0CPi4{0j;N=Ey&2L%Nog$$}^pju@GJxg75P6V_@(D4FZOhfszx$ z|JkvOkqn?y)_Hr`7*aS6u`;}5>pTk z85riW@;_!}*vQJYmzD7uE7vDh#t*Ct3=9+4I2M480!K=dQy3Y08GX5bi!;P=oD^rc z#3=AvoZ%7U9~K6Ndu)PV#TaI@^Bxmp*u>7URE*&}C&vjfhX0(P^7JV8Cg$Jb4Bz=c z7o_eJ5O^uha8BSA69dBzVUAtm3{Ql)Tg4f^3Ugc)V|XjV(Js#LRRnYZ^As`uDdG&L z#oQ-LFisceSSZdoUtErXVXwH~WC_M@3AoEZ?SnT=jL(_OIDX196bjszW$0qIKPks> zo0;{q48sGK&rB!f82)gGUzB0^!pXZ_hT$L=Xj=C!m)}V_h7~-l=VcgH@Um`}Vc5^h zx?YB1A|J;T8HTxh91SuIXZY10N;AwA;5{kFuu)iizAVEp5rtk^hV`Oc$E6v5h;u!Z zW;iLqx>1JVg#^cA8HQC-T$`mCen<&jQec=Q&9P2_VZJo~d1;1i(p-n6881omUX^8h zBF(!|gK@SD>mnJ(D>5LF39>S`WEt1Ug4iczSue;kK9c4ABFoq*$FoU}ajG2XD1>?P z<{LE_@5_T+(yhR;Oo3sig5yRF#y<+YmlPOgDFy#iXE>(}l0B{x_(q-KpsMhFb%y_{ zLJ!p$uB&mKP-ob#&ND}Y;j}vMEp^8C>Q);y7!PRhKGtAZp(%b#fnkvr?|fZ`Q`#WY zZfWzbQ(!o!!?jbF;f4;!NnM6Ty1ZL-8TaUNY}A0xj{cubrTP8;$Y=lI+lwH`$RolL z%n;3y&6tdcd{Em9ao#)lZV;sV4mpAuy^++;zQfFTg&A_{)m|fpgzbzB4AYr7T8$Xy zGxdU2ZZLDS8!>EQ2Cr~u;kaVRaGRx;f#C)#N3#*b16I%}FyGiXE*UcHX6IjS%y5c* z4-*4J8y82bAwwTmHUq;?F5V4B3~k(?JHwaraO^N-SkKeW#K5qPkK?T&!#?nRN&=MvFhG!!D*9;lHis&#fEEMJ4Ysj!p z6tvrCqBzGg1BT-g0<(=6u1okaFf5hioo&Q0MT+CKA;S?V?q)-Vt5O`R4H#}pbF4OG zcqYy9-jLy)bQJ@`3mJ~j1`J1KIi?#hoRtMxcS(+8k^yMH)lVaaRSN$=w>m0w{MKjK zpu7aMuSkXCn?A!lHIP$Rs-0zKVECrV@ll`QpXLun28M6i+zkc{?K&Lm^%)v;EgK9N zUh48c(P#LlE7V}Xa7vHsygtKCJ&9Sy44?J*JB%4x^!c9~F-+B$m}$UpNuT4sKI3!! z>5RLK8UGm=Ffgn$1JNS}e> zl@Z4mBgQ{q;cjD&sm6?RjYW4EGj1|Q#4xBVkYyBO0G++j#>l;vkzoTP*C9s6U5Eqi z!DZ_kM#g81nY>q|8EQEGN-;cV0x|zFar~BI*vkxJUt#9>FU7E%mFJ2y!(CR^jnWJg zIQy8cNHgr<<~=FJFoDNoh9tuxUaqr}4A=O0k4iIqDTZc2 z{x6aYYXyTqB0^l}q!`u;b1aZ%I4I2VT#DhO@KYuRhIL~6SELypit(P7WcVV+u}YGm zO@iZzB*QETj`h+E?UMYPq!?yPa=nyhydcSSUy|{;B*#l>#_y6`ZJ;<t}oBFG_Je zkYc5@Sk0vUw~mTNAwbYhU1)E2l*I! zxj-T<+#HAb8G5+6xA8N)BI|*$lq(l- zact3KSiuD{Y!f#}izdS^?psU@3{&{HZfP;h<11xgn9T2bON-$-KgVnhhWGp+)29n^ z?9*VFF9^DGe5Nq(UrmM$!W`e!8CHpatU4yb@ll;&qbUDhO@@17yzjIaK8kT{(_}a* z9{f&=VY39sCM|{zDUP`s3=^b4S8Y#{4!fnr@L8JUjXJ|K8ITG8WH=tFGqlKo*bC%1 zZm2Uf$~)fDVmK=gYBC*A0EypF;JB;Ka8D7${-wxqS)HL*8N^8Xz?~`Gxlm}FfeS@;yS3scv6e&suts2Ev}bZj32c)8nqdJYN5uN zHA6B3Lo&x-7KUul4uy409KTr@wt<#7e`DhK$-?jtbUE8DW{&SH42PK07#LQtur6U` zSj*B4+Qj#N_7^6`w@eHP3=9bzuhkhcCNnWG{AS{wp~29`ya-fevU1PVWZ22d@m+)A zFq`vCO@Q`s@&kqv6Bfzy%o#B=si2YiSqg9>Zx)6x{LWtwM8pAvhhYcDGPeeG5sxdqh z1&QAh12tdYiLoA4XILoCy-tH+lQ_pIHHKZ{Cm9(SnkAFhX)t`1bkKkzM5W^RKjt7Da2L(Brgcw?dINk^|_6k)p zFtiDazY%8KD$Mg-nDM$WNcg_68UsVC2+vLt#)%?`GZah3=AuHxOVX{ zZsI`-V%Qn#J z$0h}a2{IhV6&RMtaJ*GuxFE~1NP*$89LFRDh7WT5Uz8Xc<@p~dF-(%@U$4k8RYBsA z0^?Q%j-ASkdlgC<7&a+#9aLnzsL1s|k@2=-2?N7jxvpbasXYrYXz}3{zNno7owb zvvNFQV^|LwRA4y8#?i{o(810ziJfr*yCKY=|Fc&xGA?Fhc)`fP@PbkN0WZUUMo^1z zF|*J_K86F#99_H&Q(46)f^HoUI?KZ_k&R;}55qh*{)v1H%h`Dw`4}Fv3*F;oXyD*@ z0Gc%8ddADJmW%ZS55qn#)@DA2!(1K=4BgzI#o3d&Z5bFYaPw~AWq8ERahQkUJ-5_E zK89`{o*%pn7kIco^D^G%DQ94~#LKmekMSih$7f!~DSROIJU)1c|DW9>$k-yt5YE65 z&e3#%ks*EqC_^!E{5Z?VFrDcYBLhPt3;*Uzj0_W4dYBm)=CF%zJITnfnH_ZX-*%3u z{g)US7I1RBJ<7kHjZ2ISXT$^+UuI}9aj0|%XEEyQCDR7^- zz{s#riMRPYBf|qF*7uhf8Qv-Jf;_N5nfv$^Muv^b9Fs0GGVE2+2Ju={!EzT>x%)0L zGCWh|czK$U;f)4w`(;LkRxPl%rfG2;yTHiMs14>#(&qSkmXYCxb`8kPdpaEbXBZha z>2iR0Gxa$@rYzKNU}a!fXu`4oC?i9QIq%YQj105QIldoeWH@ZWz3>Vn!xamT6QHoM z6b12STJiq8z{v333M|)Q%`xQ+Bg1SPu-r6T-q+_D8E)G0ZaB-x@WGa2&tXP}{Z68w z7<}x+@!>Ed!x3j*5bv6^z`|3E47Xgk=A2?=nCi;=?l2?6CRdK{2N@Z5x!z`EV3_JI zH2VZ2!*zG(ug4e}W_f@Hc`ti%eLTs?aMu&mI$h(<@%1nx!xnE)>#NU?|7#SFPgG)d@`xe5r^9&=yno!<-M;I9nhjL6i%*b#d zRN%}hMuw|lTzii(GTaa2UJcR~&hhsUBg3f(uHH*8xU`xiMfv7R7SCILgSdCYJl!QAUP;u^dkhF*3BpRWUF$#B&@u%E<62 zp5yc(Muu1MpbpT71ddIhrTIxUpa9#N!ZrOABg2Oj-ZzIC8G2JWwjX3W1%*b#j<2(}s!|LoHkZXE!IHnzBWSE=FarFoz!_r*ti)R@b_T_OL zKElXwERUo26eGiye4))p85w@$bGmlfkdfhS8zaZo{frD>+ZaJTk&7LS9A6JGGTiK7e89rMu(Ovj?)ec$hV^}nZOoHS zGBT{1#K`sOAS1(;NsQbN4l*+IO=jeHwV#n;?PNx-I|mpUwoeA1>9}_aBS+(YMuwwP z7(oYhexJ(7vF-pP!?|gU9P{@xGF+PmI*so$c}9@ z8CNnMJ;2Cte-4k>kdGMuyvS8983=V`O+d7i`DNd5jzj_AxSioX7YOwBBeT zBS*(RMuuAp8Lu)iFsxs~$no(ABg6J3prPdrOBp%V9%N+Lv6OKEGXuko6^yqS=YnKc zF>);3$H;Jc6(bjje{~gTrfu?SM&8*685tI=W-Ml4n7oEj0OYJ0YZ|{ce|8@u!#2-!jg5>(Ani??8Tmi#Wn`GRnUUkpUPgu&n;AKl?`358u$d9m zr1-jpk!$5%Mux_%5SMmuWdt32I&&K%*Oa}C4DH()Wt%QDGOXOr$g}hkBg3xkjQsa5 zGBTXo&d9&^0wcqt?Tq|a&NDK6+s??p3^#T&O6&q9!`+M$OZGD|OxnXJ(Y>FMVa*;!iP!rW8IJ8?l<42b z$nanfqr}&}j10f_FiK3@%g8W$FC*8*Q;dvD_cGcrFg)DLXba-4+Q-PX1#}0@KE_fI zfB$|)u4Ts<8Sn0AR0Q#R4={2)Kg`Iu@BpJ3i2v{aBiDxmjEtQJ896}e793>c0O@~v zkdXrX93`qUeLlAS`9b!~IbcK;|(Gf;okh&8`7&(rgWn{c{gps5BDkI~gBaG<` z3@495OuK!QkprZ9<}pT&ljj&2HynfTryghIT5_C`asF|}AD}_DlZ;Xz%Z{96A1qk`0z5LAp^stD-hkAuQ2k0e0%K*#HKG-7?!y!*0-$&3;zi?_3OvSUIk6F|1+*on5w=gZB^@!!{0%g3&R%{j(;qSe?W5xFpvMA4Zi0X(og#<&5!`H{5K=VOKFB? zre@GkDGSGQX@)+Q3ycg5_gFceN;5oTeZ&Yp0pYPU!(UGB9Wo4kTpXLF88&g-?2rMi z_uMAM(8|NRLx$lC565EAKt1;^+7#$uM02v=nu| zz#1k7hSNf#J7gFh2qiEu91vzbFU4?F7&LD>O_XDo6vI4GP|kYRWx$?+I;qHzTS!!s$4AJUBPq)ZqX7D;pckY-#X?Zm+FP8uZoO*$Ob zY6gu5wJc=Z_=cJgwa=4Cw0i-#8#Biv7KT1%PzM?0 zR#8U59!CDTjG#41X!nB7?qOtXVT6opHSsc}fm#x87`+bgGVEdExXiPFT+n} z*0sD0KUjEY@-cL?a$M(SSjc8GlaJvs8^={%hU@Gg@mK7iHGzLPKD3G;b>7{c*zQ4H?VQMlV`ZZ#yd-qVHpS4XGMmk zoV?GK8Fp}TTvTM(zy)F-=HfW3$gqH$A&`t$(h}@RpCGN0DKM0M~P6hE)OrATtH|CMz=B5#;?O&+u80W2!vEQXzp43Jj}+ zxn3(UJP_vnD97+!nB%-0!v;}~3knP?#W?oJGdvaJn5N9|R%{k%ghIl5rV_&q363-J z48J7%8D}ane3$0xQ)E~v!}~#=VUG;QXE}!LvK(LJ8J@^;993d?BWumTuv|{`mmcC7!HaGOiN^#D=vOJmSKxHs9*O)LbNM^p+k~)N-V<)Y2K~`h8NPJH)9!kWO)BZ zGaQov$-a`|ogU4wP>%OkEW;6bkjM*p-p`Q??-iuF5*RiszF>S3%dkY5cW*euE@j>) zu?)La!@Cj~=BTrF$1z+`7d;=%@Ijq-e-y(KP2Qa`42Lxjfi(2%uy#fK;7pwIh1g5i=rNc^J#>(WSuZw3NWA{ky9^7cnC z{5Ish7|k%th;?T?!%ic;X^9Nmj0NTwcoDe>Lj%P6pSIj`-@60$( zMKc^W=bf9t@ZVhER1CvR3ywL_4D&2OvO6p}c11D#w-lM1!0^dRba5QRb!)wA(F}8K zIZnhfOtu5*+GEEtA&%jm9mkm%hQ|&9i{lvnI&iFtV3_R4@hysBu_M>DXogLWO-zg9 z7}mS6Zi!*I<05b)lHrpJ$C^lnf36&D(F|+dSl1>nY;rSUV0h-nu{@q(sypwCB!+z+ zQr99Fo_X+gMKIj(_0Y88bsPXm;@hqx5L0cpj%PkE6G4*vo51L18Drei;=sZ8FY)}dnSg@j1m3J45yjg85kxp zb1h+JoP%_%I>UeP`d!cpp{b1AJ2)7YF>-uiXZXt4$+&|9bo%lgc7|8XJUciTI$2n! zaWFh#;oZT(aE=w!)cD8BJ%xjzpN(S=JLsC?B^(U1*+E%#IS0o^4#wT!b?HY@)`H_* zM|Xpf@dC8&I3>i8whl7R*(k&?hY7U6WF`y82_c4sEC(1F7#_0nwh1$QW#woVVrXUe zYZGSJ#=+Gn%zCj30&J3opR+ z&>1GiBTNig3=CNu3zQg&`j|k67f4J{Vwk}Us+{Mr2pv-bwU0h2GOT6g0kK&@b1J*p z(vK-ItYzo;pvbV5{W2ryzGshPN({F-IW8$OT;KxfddtOeM3Lbu7ibJ>6A#A;MTT8G z4;UF3X7ORNX_f|!Q-I5$96&MandNMHdNU<(f zWSA%wc1n@qku=9G1%^Hu-cyPU?Xp}86&WVVa!*ubcrMGaRDq#gj$@hv!*V&0n)PyV z3=F;UQpc1SR?72CS7O*MFL7Fd;iA06E(M0y^8BY18UDyiELUKdsc?buwIbt7#RLY1 zli&f=%SuR16^8$_7cer;hNhWbeulL7OyEV3$M_juGILz!W4Ofy z(8a2g*m#feGt6hRVqmz*#=4DR)FjEsjF8NRVFFnnX--7W&k68ps% z{<0b{Fsx`Cu1?82)jX?H6WP%*E9w%y5m1_m>dED=v=J zLJY6DL3eu3t z7|t+qJYi?J#mLdc!SI`r;}JVUGm{?!!$l_6V_Xc6nK(YMGb{vOO}C8MngO&#?HD`5 zOJ)xShK($&t2r62vv90pXSmPe#K5qSm9?9b;TS7NA3MW2R(l49UN+X391N4#UW2YR zW9Qhz#W4xTnn#;Ke<%fMT2UVygVxG*rZa`7AlO?UI{ z;bOeX#XEtU@i!M=H#g%_Zr>f8HOuNAU5a%VQGd#%##@3$}rqx;pmfQ z=w%gnE5opumE*58!)7-Aw=xV@*;r4@FzjRpiSOdzcrC;5ii7*448v~@j=9nd9b6nY zWf;1-LB`GD=IE4Wc+CT1H}i5llVX_82V$?_$-Nj+J+*3d2KIjus_`=WHPMKQ@kQiVU~e z&6cV#^l|bYS7uns$+1C^;U6bR_Aj^4abWHL=QQ^h&1C^Br5a9^y#&@9QZ zPLZKa3M76|N?^Gn!x?F=MT!h9GQ1}g7-q|GELUJSEyMFcf#IPH>wN`=E3zCnl^O2H zdNMF9mE%37z_3!Dq zS4zs~RT!r#^R827T%^o(UWIX+GS?wx##73?=T#WLD)Y=!VO*gie_n<0xC&CxgZiFG zV;>Kg7;iFF@vc$;9k=ybo?$OD_f=(v^UNI0iVUAvEUzjvY+?mXA)aFsxT?%Bhn>4y z3ABK)NrB-2`+df%$_&@JIJ%V>W^r@3Dlx3#=2)-5u$hPNhZ4gH9**k@3~zWiT9p`{ z^YZ^t0#)xHl^K2ra-CIT_$nmuOrD`ZgzKR^!)_7YGx7}AML4F&GjxiAoU%}qW1Bp~ z6;Y1WiVPFQI6lZTbcln*7l?E8%QKvk;98}?a7BXqjU2;vNse1`pfy$JIf*-R z3=ibe-zYO)lIK{c#CTMZr$LFaUx|0265}c*t`ka(Ta-BNsW4tt;<%^8_*{wWvl8Qf zC82vNj7ybyE`TN%H5eFfDs#P2W_+xy#K6$1!gEuF@u&(&1*B#IwHd+XDnlXzLn6mH zafVFLLdy+Ipv9Ftm>QWF7B+R>CjNzjQ*Eey7-y+-##2C(ta&(I^JP_rdB+l?rRH9dmVS<=+ zw*=#Au`C9Lsp4E)#TgfhYj;a9o)On&VE8G{)h)r;j9B3b+RrIz!coFt*&K|M5v||JxPurNesG^* zoGQX_gqQoh5W`|VQ1!lspJSph!y$gtsUi#u1b7b!Gi(vym?zAzOOWHPFvA%^m8l{O z-vuT12{B9*l2|Lmut6y2l`!KRVHXC52f`e$gc)B5`yuLS@O`lipkDO`M(#;c44`pg zNrp>IAogP>jz1C%f0#KYNip1D<^Ctd@RF6|gCxT=c9VZn3>VlrUP^*SuKr0eEaK!{ zDaG)XlWV#Z$S41#7@l(RPLcwhUo-)Wp$J#8( zu$_#Vq{n$BEEGABg1|XP#5pCDDUCTj12q4z;3xD#_?|rBf~>+ zFmIV8$FlW|3>&04`qnct9Fbng2vYh}hHKw?Mur|)UXWo=Wra2_XJlxS<6S4|5n9 z)@yPdnZwBNSCebq97cxYT41-G*9L3&pw0DcHY3A3U9MGg85wryf#r_s^|3H8TsGp^ zwv3VCwvjyp!z^Ro^~)F;RvGiY+|0G6nNKm~y<@z{s%49Lzgu z&areEBg1x!L{Ko!x8!)bj*;Pr6os&e67skztMpSaQ1u$EszF4EH^EfF+N4^LDOhWVq+ev0?=y!!aLTkX22-yp1av z8D{x%OjyduFgbwt-+D%d)d3vcOBflB1~^aO!pJZ=kmJ-+Muu&HU=5!FdH<|nWatXw zc(#O*VN($Ao7IdApM!X}Y+__+59YYEf|21zhyaK;HB@Nh21bStpOqh$I%Up43{E#w{Kx&*cQz-XEh_kfoSdvs~8z($8aoJ%*e1lhWG1AMuv|u+#mntIo#XmKMuwjm92ZwJ zGBjs#Y+KF9Fee)v0MB!{wyk4iIG)G#Y8@lP#XRmOiy0X<=W|S0z{oJCz;4GzMuzSp zu-w!l?w?B;8NL^B++M)Q@UU3m;c`ZX7bRTxmoqYaD&fAcoRQ&7DaXErj12F}I3})O zWN0eqn7M(GVP6Fo$du!iTr1ZwGPKrcH>_b~XshG;w}_G9X+77*m5dDU>$%^~XJk0r zz{vY!E+fN>21c-rpBfms_bz5+xYEeT(Y=6?;d&DzSoy;yM((`}7#a3AGx8pu$H=h0 zg^}y<5=MrZZ4iBn+Zeg8FJff)+s4STZ9XGIOD7}8*{zHWJ)Mjp3=9uC8Nt!Jq>GW` z`F2KzHC>D@3=AK-7&*3XWn{SD!^qXPl9AzAFQX_Z8-D6zWn@@45n|4+NsL^- z=P@#TpTsEidNw1&jLD2#EwdRJ=1gVeoj8Y)Vfi#h-Y>Hm8MaJgSZSM*hj0 z85w>|W8}ZEiIJgaI-~IPjf@P-r!(?^^5~A~jQnlu7#S{2XH*6i5Wl7~^88)S$k085 zQ34dCD`qfCtX#~0Qx`BYbkAax*gc<-Vd*SJ{yXy+8Me)0lsGYu zk>SEDMu~~@7#Uv8VwCthmyw};4x`fI6^x9V=P+{ZpTo#_atp6^!H|H?&g2cbh zVdPpmmyz-R97YuofBjrWu8VUS8F$WQ)CcjK<}rpo-@(ZEa2_Mqw|R_=2j(-bX9NlS zT)@aRV<98siG_?@Ab#5-My{!g7#Zg;V&vMnh>`K|B1W!Dix?U2FJj~X$u}=%;+=#mKmG6{8AB-IG;}T+>%GGQL~IxEgHix;2bk z=hrYY?pVW^1yZnbEhE?UwTz6r*D{KL_}%Lmxn`|nWL&b2kr%|@y^fLV!8%69Y3mvH zgAJIok&$=vMn=Z38yN#Z3a)NqD-PGZZl}6mj%wGgN_EVEs%SzqJ^qGu>ojVEDiy{#A>iowX4(0>>tJL7U+& zo9K3JhQDkar!*Nhb0}@sX4t~bFm4(v`LNOw-onZRfa{< ztT$B|u1a(4QDwL*Ey2L>Ra$hNCc^|--g_Dhb7ciiX)rX(@g7oV=#%5Pqs6dQp7((U z!y$R@1}%oa@~pSC8CEK=9@A!6rvMs+zpBi8ONHT)GCu>uM`fuC+6=uaJpZ*AW~=b7 z)M8krB70n&;iL-x6BUM+D!kiO8NaFUZc=4zR@Hi;#<*5BlYwEHn&?_J#_eiKFVq-s zsu|x_XY5f|XJFW@&b3gN@r?Qx#_76@o3(i7=rUf?lAEr}_(7|bf#In(&m}3VPM$9&UKxg@fbVTC3eR9>|AXej4#=xn>ZQ! zIJjnUFfQZZY~o}*%E8ml$@l?$n%plAL~9Z>E+NFB#UKSba|3iX8Mh&WB8WZv2P5ML zMh4IbPL53?3|qKB?DJe4T_Oz6xIyez9*zzXh9^86 zZK4csc(#JBQ{n@O@8RQU6Ja>T4`M&%=V%dOxFY~!e;43r5@EP681+zuVZRW_RcC}W z85q6_aZD6p_$%bbz;IYtphtw^hOktlD8mxmJuE z;QJx085qtmvMyv|e9FkXjEQjy6No*N31K?uJ^)Y1iiEWs3<;YU85kxpajfQGn8nn~ z!~hy!Tgkz&p5;Fy1H(Et?x`FM``I|YvNIfK19f`uvU5!5V3@_hv4n$h5r;7>ss8`Z zc#jD()&EF?AsMu-{4pcP0}Y1PjG(doeasy9G#HM7cac41;kcv0@RnsgBLl-6Hqb_o zC2Z3f85nl6bKKBiILr>3_(qP!d)56HW zu#cDHf(FAeUJ&~fAICWjhD&@P_BDQvGa3x{_(AMP0vx9_7+wj0*zW{6PG~TE69l>K zn-Iql4TgV0pwe)%2*&{phS?%_nHU&;h;ba#U}z8rscDelIHbYQApu%fyw;Tvb(b47+1TpZ^V7`nN6Hz_de=Qeq+$ncY!V}d+GE3edZMTYOZ zTyqr|mhty9K9OfwEXXlQp5eM6_g6WFH-a2f)eKsO z&UH|M@uC7prxN2=1)d3tj9V3X9w{;&R5WH__@c<$sl?cbm_`AWD~R<*nvANttj`%4 zA~-HHGE{SHWn^e(EMj2z%E-G9bQ`(gPEauk&mjM2=Q5@-R4_19aNOWwXlIsL!pHEQ zmG>zxLpKNSUtWfJ92~8@3_mz5|MD^{=CWDF%W$6ybn5vw9{!8G499u+_wq7a;|XS9 zSjo$~gO~9DFV`7f#w)yB4|o~x@#-)zbn$^sHk{6<1Is+%a{dV;XhkM?YtCyKhHTI} zp*ALt`!WoDOrZInzbv4j>}KWYmScFssyRiT;SwkRbysCI*H>QrstG7%oe3tdL;-m?GeQg}I0SwPGu-8nc`eNF6O;%T z&TxTbpL21v2rs(HT3XcD5484pT>)03; zF|z*RVA#OO(Z|Mcijm_lE5m(8jwNiM-F4467`m7^=Cgrrc|F3xuz`u=7aPM-CXQts z4ELBg?y!L-iB5AeY-VQd6onZ+p=n~m|tQv2YgtBgE<7#SZjnlLa-W#YZf#JGz|Ipq58KO>J6M*@QhhYy1ddV$;c4Ev6YD-kz*ngLq1186DTTvGcxRF$o}o1u*>Kz5|kY#>+83fMGk|T@Yuc0LPOch8+T2vx6DF3UKTUX80>$ z!N9OpkpEC1Lx&LW^gxCMLLA%u8QO&BG0hHUXcgz09>}m*T;OK_!)b|>mw^nsBsmuO zG2E4W#5y~ep=ajh?_%l3K?f`NAsB(4sGc>DjVV)h#@Lda}tY0U0 zb}+*kU5P`!3^NR5-vlr$FnqxLGLWIil;eRv!wNIWmw^n^%sGw)FkCg~_#DJ=*F2Yj z;gki(^#F#~791x67!F&Cy$ocyY03N8k72vjV#b$&47aSgFZ(fUvf=3QV>oXUI6Ii( zscmeZAH!*Tf!BTvtqvx$gBi9sa((q>*yqUo)R$qJ6USp;hILLHF9R74I160#W0>Ot z3XB&nASeEJG3oPTSm(xdz?Wf%8~0{kh6(N*8+{p0xhKpHX4vDwzrdH_yr)37FT)d0 z-k&}UEnZyreHd1Ff%G2t%6;O)@X(vTIgsJIw?uCM!$cp6zrGBseI%~`2B5rtftm3nGebQCLp}FaV}=Qg95)RZRxxpGHDc74D(qzju=(uiO`IMK45v63GQKco zIL<9P-I$?`hxdgs!(<+Tc4LMMJOwvR7#{JmJ~d)E#}6{|K0imFA;Sv+5c{tH$2EP1 zbwWlrO&FdDbGMl=d>7_uHDdTB0%G@zavU;bcqTfDvCV|xpBTq^1BQMHki-HBj*I#X zpCvikOc;X3B%u>*P63 z88FOK0C{PzBKI?6h7C$wH%%ChD6y_LWSFchu+^AhkqXCIBZey~+>;F%o~m#xFkpD8 z$}!cD;h`EwlL5m=HLlP446`%^&Kof-*Wx&%&u~+Vd#gUfD=m(x`V3ceIJWCEe9_@L zZ^W=xmvyQML#Lj4t1-hSJ&CVI3}^Jr&KrRaDY&iAuuGrgxIW`OeU5kfjL-Cy7#KPX zcvl%RPBj2cZ!IunU1i9))Nm~m1H&a_-iOAFb4_@zm@uw1F=k-6W5WB}gz=>b(xF2C zXTM-%e833leOwWTuZO-Q&d|)XAJhb45n3w2aD@f5HF-Ll^%e<+n`|6E#TaIA*lv+v zc)-DNNDQ!|;tVsnxYvs_tmfi4CdP1to8zcB!z-TrEfNfOc{%2bGyLF{ z+9JWwz|V15oM9tB_YpCM!~7f*#28NVZ)9X(_#?paQjDQbkmJ8N!ydtxj2p!nK%D_G zhS?(Ao5dJ@iEuQEG4zP?ZjoS^C(5x=oZ*@%|6~b<=b{qLVhn9!rx?#jFkTRMV_=vj z!LdMsafO7;841QCh)FtdTW1a%;}kZCe>?pc5?eHeDLE@NU~c*xE%*_YuZ`&lLihHYHjC;dSS)YtklY~}{Bk8pFe`G8g* zob+dC;N_U-#ju~3_oP2VBOmvAKZa?19Gkru=JBmzWMDYO&wb95;XXe{gD1l!0g&u- z0glC<4BLc2=A01X_~*s&T^Pjf5aD?4&G1D8#O@U3Xz^k=E&74+q(8%cagHax43EV* zPWm(a5D)m`%Wz48@&PeNu{Jr8~oZY2NjI4F9EhA9yqD zk>TCy&v0928smCDhL5u1_k9^UkP85XN>taE3WtIE;o#jsPAW0?=b0X6O~z6@8@I99qb zbf|ND@nzVkF7U>i;fV(CUpI!28eHo=8CGdZtny^os@2T&#g}1+j>H>phO0WfUwj#k z>vEj*WcaMhJ>8w5MUP{h8^b?6j+yQZv-CMGcrq-~FJ@qvYT&%hkKvvH$89f$R--1y zZGH?r#zIql8IBq2Zu4V!V#0C7mtlb^_fv0%t)?6gJsGZ=@m}>|_+!q$)q|nig8PR% z!*>gg%We!kmRyhB8Rl4mWOrF{bo(%LS+kz@X6Uz8W?kXO8=>3{5T)r(7B4yYPSXX4vk+x89H8xQp}) zH-;xJ(l^`~8eREkx-m?0=+Ai5AGJTQhM93G^bDF?dJGAm(SYxa9Q}F>{~6~n zF)++#;po+4Sj_T?iGg7%J9o1I!wU8`#*g|8J2`lp4H%Abh%+$U<=~y7&+v-F?!G?5 zCQgnIIt;rwL7Q~%adAJ;X86p-u|b<*0naDK`}z#i_=FzoGMwY%y|2%3lAmL<9>ZUL z?iIQWlLR>0br|*taa`7AI3)y9b6<$#zCJ^PFh_$vLx(V^Lq1i6b%!29n<(pP9frkX ztgCbw4oh$^)@QgP!SO_!VTqK(Vts~JQXG%88LrC+EY@duEyKG^k71oG$3#7bwelR3 zbs5$xay-ysSfM0vTbtp467OtnhUZF3x3w9jDDz&{W>}~Ua@A{P-cD_XjjCLav>3jq z3f$FVSf$Q!S)1XLy3kpDhE5IsAG!={H3WC)F)Y#K-=oWLK{I=mF2i0efgO4b=e2n5 z>oYvn;%(7p{G??$!+>#{j>2sn#>YAwGYlBF>WZJ!WxS>fVn5U6_^iwLTbH9lk8z5g z>dt7Tzh$V^)|7X8oW_-*Hapyl1hNNYn zac(A#WhM+0n5Hr@Ff3)^SYpDkmIXBOwTq48t|`MIHcbYG*KCeAOc}Pbb6hlL*v}3c z_Ib&{d&7vKk(1-NA;V@at{bMHL6jAy42!ur<{2?;;O4zy%CMe?>yHV;BOcx^6NYa* z9IuTS`uRAfm@u5?U(B?^l;MF8SC0w9bYb3WMhxqPITjc)EEC~9Y0R)ogyXXzXn6dj zF~fdQj(LU*uf*puelcO_l@$14%&<(7>x&7)ektA)CZN9gJ44Vqn-eAst+Koe%@}6N za-20`*eWNq(2QZ4Jns=xhCT8;CrlVF$+I3cVmPY6JIR>grvk?XX&n{;^R88DpE;rOA?a9sx^ z(yYhv+<@VnKF1LQhI{%F*9;hr8*sceW4vj=^~sF!6`1|Yfa8-H<5Xj=CB}?vj3qvq zG5$8@dTYiw-2@~)-vl%sc-)lhvMJ*OQ;@E&raW`Z7?+qyy)|RpXQuwijPa=%(%8)u zM#g?<`=XzpAz>CH1H&&yj$VF-CZ<-$7?=@JM6*R`56{+a=heYxXQ^rosZ!aC&zctRvpk1`JY_e$M_h!xH)F>G0fuO zIKjtol$T>CAH#KCj;nkOd-%j}@-trMOJ`u%#Sda$L?p)lvuhbEAftCvc^Fbb341CN zM@L8??5VnQ@7hnL%Ste^@w{>oByig64+qvWu_NVfeyc&%p4RL#SDg zVFD+|KW&DITp;!)E{><#3@foHsu*v7a{pJ9>^#~D3_rNSVI1Hv40^%%~Ig4mBlrRM81ycFZ=&}X zL$8WxvmV1DRjz$H47XK<9%?iEQ03UE&CsjP`&^shtvc^1J%-I1T+Mn6do@0R&MnfC z_@>8jQVVni;VmtxW<7>)T0GZu7+SRXr)o3I(B|5r&A3RL_pm!Xyf2N)T5LeuddA$XnmQi$O{ zBWV3v0}ID{?u#7r4mE@j`^*CM&2oe#g$c zU6kQByD+T%y68$jq!*m!zCV}HzEw3 zyfQ~b8GiACZem`?$GueqR5d&jW_ZBQwOxc^wIIiB5r#v8yo*H{&I^JLxN8&UXcA#q zFU)^ZgrQZ$>5eGl84-?aB8>M$r0<9_{uFU!VAv%pbw`x(iYSU-7BDi-V1(r0UjhuN zRSckExE+EF&lz7cGca6Y<$WT^@RXI~rU1hkHW2$h8^=-shU4slPXrnEbMP({WH`VH z62HvJab1An4HxSZ&?XMh?lW%I-gnt|cH0M~B;#%4jTse+8X2q%K?*Eq@uIho~#2t)2>Q1W8pxF*7|g6Rt* z1H&8^jw>PzOTaTwi`n?6h%#(qo50M#aEOz;L6qS#C&x4qhQC}Ob{{urncqB~^afFe zPF~RL-%MVP22qC1yr2laz{}ep%Fw~bbxfFHKOgHxVTMn9AYIM;98*LXx&=ZSL>bNq za$FK&_#w!>O@yISh~vI6L$ff)Q4xl2VLJwflfqm#gc(~!y!%BNFNhd3Ff@yD^@}pj z73JL|%D4(8ZTx5CkY=@EPyn6H1e&h{7qDNM7_!zgfd&V`=hy18PGV$;Wu4B*fN^vD z|JkmLc455T>^KLfvb#x;TbpA4{pW}+%gOdJv>|oc^Ieh$S^Q$;^92V!+4H|cM9l$96Oi` zLE}g_7#S}yGPp4?xGiG-B+BrP88jDslZF42D8o`#-Up%#J6J(8zwg+@ABZw6;o$us z%CMb-w_r6M1IycVhp?a`R9o;%oAX35@q-+#5!M$;f^r>3lWCb z!l2o{*CJehMHs(|NH8$;iW(ddXWT0q%)l@~jQ5B*<8m>c=VFYT#T*$JzKHRh6la_x z&UHkbahbRV+=KsTCo;yk^EPuZM01>DXSl-%Vt!%dSi#Qll8LLCgW)r1+Wa*$NccGm zS0e|*ELPr6>|<)7Vc|W^2bwv4!OL)*HS{ze!&5enCwvTV z**=2ywR4zW=4JT6#W9;}+}!v17*2D8j__Q^%iqJtu%B0G8y~|pUfvh{ zjQxDP3;7u5@R=|$T;Sul#mD%Ek98V9<6?fb7yOKu`FY>+Gd|#lH~ARAX96g3v~x4K ziJakLhyva9Fpr71of~w0cRLruN)~}#Tnt-TIqq{Y>}6fS%)s!JgJUr_!&?pu28N}a z{L8o)9&ieN=4ANB$<+kf+rqV#i*YlTEd#>`F5V_?#!1{<^SBwea`QgsW<12Lh7|TI zm>3r^C9PrXQfK(j#QRu{VHz{XUNwfR%pB*{8SXNJ+MeH8K;nI@9P`x}&az6~Qv>a~ zeyql@hm&KCD#L$H*?VdX-+4f4Ch>AyRAqR{%kfx^;Sit1R8@u+evtTdevY|n46Onn z_6z}z<*Ez^1wrf^f*cc68P*H^VtK5_uvwg=Tb1Ffc;I6-h6$1qKUEl}N`Vxuk>dEG z!th>dBjaN=&}m;ART=Kef^2vq$1z8p;f);VY?5w;n;_{IiuL!@7=9^pfy_|hU#P~g zP=&u!jbW1t|5sIp!zvPwR2ZJB*tV)O{!ry=QDf{;wyxI~R>hZ^HEHQrWr#?NX> z)72Sws`H#uXMC#8+o!?!NgX*2O#tmOQ7O4C$}odb>X<0QF{XaT+oGWRky=C<-myg8 z7G=21%CSV0;Q(7J^KDUv3!EHHq6{0kcyEg`oa6!(>_52HfF!o?ar_fuXcgpGBgW7x z2=c=kp{(1Y46Py@-$faEMa&o&4vTQy7G*dsG8eSRO_bx4DC1Ny-sNJ9N5y#Gi7{Rh zLw1)fqd8=R?k^id0_ZTYMkbEmYz&=D^O+eKRJ07794}QE_OXE2*H}3IDl=?m<(Z()aFUhvjtavMR*wnl z45!&RI#n1pvI|X6XPC>ubx#dc;BHf4Sk1|MPmSRaC&znbhE^{Ab!rS>xHzV(GyLEY zov+4lhEL$08p9JlrBiAQXZbYy$o?|XH|%gVg3lo{u%@NQILoTKWx zQjM`wjc1k`<7PG9qiT%j)f7LeG5%5G?N(>ps?PIDo$;DF*L!uw2kP*ZY5!+;a4I-8&M@UOFzjaL?yd(-THdZ{JDFmaB13XkcX6tH$xMn&GWl z*ta@{bLt#hsu+4SML`l@G&xSxG5pay3A%S!C-Yk!!z2UVhjk1a4Z+$E8*(hJWmszj z=Il4(XsTwoY0Lq#rPGA_TOGq}6OMUh46Ua6-|85)m@Q)5UBPh8d^zL)Qige!+;2)4 z9$58)#O~X3T(4$W=)iHOis7;YcTYLPO9ze}WendOctH;T=E!lglHs2t_sL3z+fE$c z%NY8c`Ttcg9CYT|QqFMDMc`)z!$TL|x%CY9TzPNTGW5A|f2m+t;KtEc&alm$<5?BM zZFkn0H4G2jLCa^FJy{=AFnsd_hhmQx$CNUL&0dq3R@F0n@ex>6#n9=?yQ-d{(~o0L zHN!+d?w)FfXMP;N%Ne@;LE@7FJV8!+7Qpekl%YSchjCRs!@gjFgXIi=L(M=kyTUkr zR55%F2gmcS2#&jD496qD-Z&D;v8ImUQzZBEYKE35j(e31&CwjqwG6jnz)txP!!fgr zVQn1O>vD$EaU2V)86L-h_1%rTmRrxU;urxQ6ol`&jS*rMDSDyd&it7t0xMmN$WUw=1+67}_d%=T$Ops(ix?QZTO;G>ovb zjtj&&T<6We&{r=7Vy~zNt*X1*z{m^Yy=p+-ZU`Ee;AWh`-N@*(<}f2@E#kF9j0_#j z0wCUEW{#PM7#Sw9xPy34SU4seVr2NpI-e25ZROxNaF~&ymjl#dzQuVSEVzZ6waV8KKRGaK&WatwW0P$9eay0H{WOyNZ7c6;3f}>|IBg0k6EzBU|kWLsKC8o2P4BCMUIo(7#YqhPGkgWIjSsiWh*1YBjx#E z?lV=1ms=Sb7HRN;{Iy?$x8V>YLzkw&!-I?rkF~`A>|td1r3DJY^*W+!_AxS?*Wq}( zn~~wB4)5=Sj0_KT)s7uxWLTufy5|5R!)-mV;2eE$0B+akn7Egb;TeSYSD)k3UPgu& zhG4m7BaWH77#V&UJpzZ^9g|oFhMlGyjr$lG4x0KiFibEL__LRh;jKAXb%zDV&mD{m zuPsDDZk%aZuy-#b!%~|CV7+tf3f6C9WZ2;VR(jrnHTRFwLFg`yNJyKkmF2_A@ecdT<}!&&cr8gJa8XMuvXRS1h0~ zyYDBle=8%yA3sPC_6C4Tw`)Nhprh3e1sj5t90}!JdXSOfOqj&%LyQdX!#LV@Gcx=M zQ}}j}kzrbdBuH>q1jmM*j10RXC$WII7vp#v4=^&^i{pN`pON8WJjc1+j12eU1weA2 z6L=r)V`OMZPV9$GlyP4AYW7FoGm+qzX(2*^$a|at|ZJ_cSnXTSoY^eT)oK zGC3Y^V`S*dG6C@}X6Lu;Vq`d8CDhvbRJ}6I8ekfa}OiKf)ZH} z?@T%GsRN+H|GdVB}u6pON8JBO}N2U5pGTni)Aje&5@|2#%Obt&F^nb}=&CZ)N1Zw2P79QX3=3 zsU3_AKiU|7fPHnplTmc?Hb#a&os3|ECw4RPuHMPWFt3}Dd&W*ihKW6l9P@TCGJNTQ z$anTJ@_yOD$S|#sk^9LGMuyIQMvi6M!CNazK^AvRWHbS#lY^5Od3SGTWH>j8k$d%a zMuwe}89CN&V`MlpnGu{SzE5W42SwnrDU4T`K*9TeIwNo2PDX~F8I0Wjb}%yhpTWp+ zYda%D|18F}Oxq7IG8~-4SPfFxHIGpOtaCo2D2V@LJ|hPxfu32wDDiJABg4xDj2s~G z)y871EAVr1B~kx^nVC?RZQlwQ1xk>UMDM(OuE85#OFF-n}@!N{;? z6Qjh|9gGYoH!(_g?qFnixrtHY%XUVFw#|$Z_qQ`LEZ)p0adbN)!-36=5)-#GGThqC zD6wT5Bg2=?j1n_I$!!ax#PuzV3@f%UN*vn4$Z&KEV+ZH%!;Fk)_cHo2FwEM=$UEr} zBjfsgjJzlJF*07+$GCwBBz^iIqZ&wJ;UUHuj39xlhZ%XBk1#SmI?RaZ@qpU7s*H-N zvRfD#YFYm?G8|>({RLXD#_^SraVit@+#LoX}GSvH0rtQ?EkK<8R4WMk-M%Yv+h7GZT{ zkn{oBkALlwhzZ9OMh2Tq2G9`8HAcpbjL2i(H<%bNFa>hYR%J-yxU9m^&SXDZ6?C_F zmkPsOCf?bq47Zs%W~wrDvv7Y_0gXZ}Q~|9kY*%GC#0JuIla1q;GQ&&`zS*jv)_RvR z!y^umt{yJ#gDMPjxj0@aGi>IzJE+3&o10^F`1=9r?&xJa2}y)xr=lR*v@)3~e0T>!lf{b8!5ZWcbU$wO*QGA}8w=DTX_oAn~`H96ux(j&Ucimu5K5 z%dtp`VILpY9SMdneB52q46XbeTcj8k3RrbXGh7hl{UyoJCd7S0f?>80$219s#X<`h zLAwdKw@EPE5a#$M&hS8ZH6sH+)<6t<=%you?p^=667CXZX7LJ|l3`^NSml|JWW1Y{zaE;BA zfnh$o!~_n8?d<*x3~d}7uQ?d|I6N2_u5s|b=3sn`*f9>x&m5@?GBKd|pTNu5&C39q zmR-ik`?QadVJ9QUscuGwzf54>6lRW9U5pINc1Tt<-OM-GnP6Brq$bFzYXYdBfo_AxTt<>ChMK67z=>0xAe#0}>C;O3as z&B(BTR}>_7mrr0)A0xv80fAY4;8Uwx`xqG}3voZ~Wn@?(#BrvBk>P-lKSc`ajTt?;i)J;NJEP_SjlX0j{B{Q49_IMf(?>dAT!TPayRue zGCYvvIM>C<@J;FoBZzxnM&M@;Bf}(FSrBiP9LKL-MuvNG+!MMP89vK#yz5|OSRn7x z-OI@EPM)KsjgjG#0>_(fMuu*sWRTz+Wsdb-j0_7@xL33>GHg}hxY5GMFiDkrRR<%( zK2=_jk_&2JH$7M5=xJeOIIBK~5#)>a8XS{585!Pdf+gFuIBvBvGF;W_1WP{F=GflD z$k3w01yXunhj(fhBf~~Lu+kHH9F6Ua40rX-?({G+{4)>$Dfw&2JE@zIVVe>6opwfs z(?%RSS{WH`8iO?~G!>ZN&B$=mjQdbGBg0H{?p>XX4C~A}wzV)aY_i~(-oeOl&H@~x zAFQ}ev@tRqw&C~+GQ~#VLl+~%TwB(q6B!v6**Y;WJhA2YF_DpBrXBCbK1PORcA&$D z4%zeG1|(eq6s= z7#VK)gU$ZpuLTN~!vWl9dKek51aM4iWn_32_=FL}y&Npi+QG=s79tDc%?sst*~!Ro zDU^Fz8zaN>P>zW$j11GmthaYCGTaH{xZlLc@F1L{t(}qKW(3&5A0jw5G%+$fiUhmu zdnCuFMn;CUQLG!<85uT3ZDV3!coCBd(tSFPYho)SLt{K|b2B5ujChW|CPs$O@f#CqpR_VE{7q$@)X&J!l;*_1 za3qc6Za*W#&otic-HZ%v>CK?aBr|xob}}+-%K)1+HS;hNC{&K;aGY&sWH_J0y}Ox_ zVRJ6W_eMsB1G(Tx*`LR;teKJFcpmraW=4j^`5d}X)*Ki|p7 zaI%4se_A^u!>tBJi9d~u3||@;B_1>~GAw9hertu{u+o_0o7ko?Sc zMy}QEjEwu*8Kpq{hwY49Aay_5896>rWMu5Va5zz6avqKRt}{An{YZj9k}x85v*nGV+4>bNd*1Uru6V{Llw6zqKFY zz*+r_JU99o8ISZc@`Bv;uAhj=XM&7xT85yTeMy##}&F3NZ4|Omx zHZei(hU9)G!*Gs~W33Fs9VQU_BNNA8X@(Qb9A{-1ZnN+{lVP~P3OaSFg^l})G{a0b zj``9ISJ-Tx$uP`f=h!dJu%Gh><1-nC-P|1WWEie-b3Bt_c+DNvBg1f>hoemjbZP1} zX@)DjpfwJ!_}$LSFl-ax_#?$|Tdw*+R zt0;Gm3~1NYS}BJ0Vn#hO3^&9%E=e=ANN_)uVwfty(ILgKRFdP36vGZlj)T$+wnHw!Q)dY!u*KC&1Vz z;126jF#MklI#W2G;{^*tE$3xshF(UF&&&)L8CmDCGW=oWxWdBF%fz~!1#}h8ZDxjL zpwl7WGO?a!W%$j+I*$c(@?#qd!z5 zh+(Zd>+yPqRt=6N4U7!E8s-cPM>Kdpl`~w_XklewxT?$XsFLBXZa1jD(&t)O%FtrS z(N)RNV+dNFa@~maV=2QOqn*qQ3{%ZGzSlC$H49*1cx%SGy_R8#Imd?*hBfA(^B~Mi z78EnISh}n(Ww>m~u_}k*jaAm0GKQlzT>V81e{6Us=XhVuFgG0J^KjOA)eN7)LF1zPBYB_aGQ5d&Sz64nJBs5# zHpBH8u8v%WO>rDoa~XEU37juvSe8(-w3uOX64#qNhEqwrT{#Sok~n5(Gwey`J(kOG zH<@>7F~gA*-oGUbx6-(Jav1hzaD2&OIGQ2wEuY~+CikBrh7DQVs|y+SW=R~cVYr^f zzp|X+MHc_WGKQa7{MSkuy0ZBn7BfuD;aZTx_%nxNQ!Qg}F4vq~##^}@^BWi$59V=Q z$YcDL$8oihk#S+6=B8T4AB6&YYZy-#1%TvN74vSYWxQU@y0?b$Suxk<62?!(HhXIr z_m+UfuatOz^ld2R1*tt=$_3)xF6DYt%GgrIalejnS{c{UGRE~~VEJ2RynE{zKbG-= zRCSc|E-7c6S`IR1T{+j@a>nE3V2Q`&T$^ec+bVefHZU^It>E2R!MLhI8D##m3f}!q zjEsLPz>Zy7$#b`o@k}M}{W`|4mAo^n8CO+h-LGTZTFv{an(_n(mizR!HNB%`Pt=yX{3_pmW& zt;b{|hW(5n_GLznUxp0Zn0XExgO=0IG-X)J0$MV3gw^)2F+&F%#}h+_Gwfd&4;wQa zK9-TS@Eh~cad#}j>q zy~4b^j2JEob9Cu5yc0ggxXXxPzo^z-BZhu4-Yv!qi^Vv088B=Xf5EuLm|=mWz%xUJ zlalgVj2W&=aa}ZG=#%DMZ^*Drnxor*;j*;%A47(fG8}vK7*@%0Y&2vzA(#5ckYSDj z*H#0D%L=@Y^%!0&aJOuk;xHt8(<{GfY?G=rv@xtHyfO zm|=@L#}X5UJ?bV5paZfm8!@cW5cp=muv(MrivhzMP2OgGh88W3sd@}OS{s-c820FZ z?gu@i!|~97VYM#rVMB&px)R&;8LsF`Ox9<3ugCRIk8y^+&@2ms}a`7{E6>-ehM;1KnY~hUq!uBo2lpEUf?88CJ5K0c~$* zg7p3q<$Z0#FhvX`K1IV*-Y(!3k(7+PdFR#-B8lo6k2$M93`6XQlZP?vmyCBq6O&y98ri@1!?F~7x-<>a8w|wZMvDzcF{06~hb@jtv$JD@=qo+A+K}VLj`>u*H<)q&>qPQ!@sJ zPo^9@Z5h^@u}*Sem}M@z)q-KCh0{q##$A@Y4=oulSsr9M>BzX=hWDTi;}x49j3*r# zAKURPv}fFG&#}OX@qs;0uLI+32c8oSjJF+ljyN(lID&LPb>vy<#MtG;yTFNYx)b~$ zSaAEukWq)hi-Ez5<19175=QPx%naKYIo>icEN0@^&CIZyiDLpY!$M}&6U>aqn5E$< z27JcgKE|Vr@mqvJTL9k*GAv@|-6G7em6_wYAj2#c5PKI3>vbW9|E%I$gc+u>JFOIA zxW~?MOpxI;2ggbwhAvL7i9!qyIYBDFaB{pBWVpf=xITw8=0cJK-u z1f7x1wMUTQ9Ut#1L54KHYxFx``NRZ)!0RIyqhV_CRCxscO z2yrhFV%#Cbe@Te(xe(W9A;wl=p7p|v6G7J=ZWrb{Da?2fX+iA&**AC@FY<0>;@!NC zk>Mm0$KSP#49}UlK)eksyr5&o*0SEbGcx>V;|KBnvh!|Q z!w5QlW6?53hIbrb-ULpLh07TkPIDQ7fst1w6RY(|Dd!oDEE$)ddH7BDib7UlRflaXPI7+BvmF^ZnC6-(u8?y$;hzSj(5XKMuvs<;8=a;05+w`Q4wU{Nk`syD;OE> zI&!R@&&cr3=_MnGd&foK!(v8;DX#J$-fA~~(AkGi+;|T!WMuf`#?d{OkztLyQ*#$KAP% z4EOzBGJ?2g0|X{6Vq|CyQ~~i82625}!pLwVhtJh_+=bQQt+ z>5L4&LO32TU}WeDO9EN{B%JH(d`5=Z5xng)85uT5a9o>u-kpmX87{>0f=(iP63@{!osr>w0+{zbfn(=1Mur)Q z{2;kq$y_}%85tI&CV?FBD~;>U97cwX>AV|fFfyD>=jfTn$gntrw|O=r!^I2E(SW}-wUCkFX*VO+ zhN+AUdwLl;?o451IMT}~G-nng!?j*URR)INy^O4@7BDh2^f4+kFf8t4g+MuyE(8MzKkWn}z6m67A;Qbxvo(-^tV zPGe;JI)jm8&k9Dy{+Wzi^JX$KUYW(ndUrJ=VCD+Y#3%NTh;r0M&6dyjEr+vFiL@JIkSS1_uX1X z#-A%7@_j2Ac~7rnWZb-xk@x6IM#i5j8F@NaGcwLw1<|*96=OKa_64gMc^<81WIVkZ zqOWxgBhT73jEq~?KwNuw4I|IzwTz5SYa!i`Fr6ty{;) zxNRLo{O~&Dg*^Xf9{^n~559Yp^(8w)D#v*?P-kHd8$%bPH3P#@MviG53}+c77#N;1 zvR-Cqc*n?bn4Mt`6US+G(9!lsI2l@*Ip(l4EMn$(z{aqO*@}VT2{XqOPKGzkr3?%Y zSvdRHK*y4NV`G@W%CVh|VFs%$1H)BTjx!t#cUdhM7^bqZ_HZ!HV#{G*Xk!=b;b2_D z&byDD@fJJl6L!WA>{1iKtDBE=Fh1qr?dN3t1UkZMDJRc<@R=kZI2oY_NdN!OsKyY+ zz!1iwDa>dBgbkMhR=+k&h`psj+HD78<;_BOTqJ5o{-H9^EeoCeHcJ9SPM89 z4l;tai=ANNm;;(b11++@#>_E`gW(=CsM+1b$}xk3p^Fu?2jdPKC{UiTf#xs4?W7xw zj29TEFur1%Ez8i!0-A8#%fdBVmf;@@?@cL&X{?~*dsnh$&z5DF&Cbyw0~$}7Ez9tU zQ=n6p;XOC+0U3s79*(2Z4C{D>4#+S}Fz+&HhN+^$ebNl?#kqD!Gc-wn?jq}wuwr01BEhj$mf?&9XxnzH6vu5T zhI>*R-Exc*rH!V^G9H$;U|{$y-NQIdma#`xrCW~isw_{N9OHLc-flU@rEMF<6o~hni{tGUMutA_G7xVjFE3~{$Sz)vqZ=6+*7FI0cxU)H{;XwWc*Vb*3B;Wt z#PMh~Bg13i35+0avnWURW=4i3Vql$z#5g{#XJnWoei5wpyQI*yEsPBNrK&(m&q{OL z-^j@DK>7(-=M7no18W%>rpj@>-OR|)r;ra)vq{Nx(iTRBP8G0mt5i6?tzu;OrNRZ0 z`=iSHeG4PQTs4mOYZw_;sU?F{F4o{b3R;z+DR6!>Bf}Rh-hG=H8MbNjF51Y*a7mlv z^GZgBPdZx|K^pJq@t#=2$nZmtQFj$L`gP3{U(XFoL)z0|c(EXJq&jAP?eA3F11ik&)qi5bv=y zj0~@XI2Np8WS9}``fWWU!<%4^GfNp6-i2@+UCYSuAQbH3KcO7+mNGId4C4oTKOF4f zmk~)I4M(E5rmSXU_#egleJLZu>}ZZdOBfkGNArGI!N{;Mh8LvdYAjga`&cDVAnuOi zeFE}!9LM1mj0}(CA25QrClUpgu4QESohT3DO-|-Iv!0RRTr%&8m5dCpk~yXS~OZeV1%QUyM7`C2vjjOC9tyr2~JuO@+k z;a;ua!DWmLTk1KUZ3oSK*)uTwuIB=!r)>?4L7)n}qmhw&=3+*MZ;gx`n-?)MY-(cU z0*UWwV&p!vh>>AYGb6{dg^=TZLHee&F!Ih^&B(C7g)tkXZhb2w*u1Ijj6&NMGcqi1 zXXIMBn33UhJ0tJ;g^UanIvBx;a%~4AxLb3&lTi|6&b%(h^Nh!rGcvUIFbaSKruH&& z?OeggFu#|Pd*KR3hMqn~j+sjt8D{n|3V_tj?Puir4YHu0ksH((>6yUDaeNUY!^#N| z3ocG%6ukp#Cr@JJ0hzaF5~JX*g^UbmCo$%L^go}%$lI`lk>T1@#;S*l7#ZeFXJq}c zkdfj0Oh&F33mF-X%wptywuq78!EDCm%pe06&u8Rm+QP`NWj><>C_i1C&nVFjO2YFQ zCAKbNWawVND6wP_Bg6RxjDjEoA1z>%0G;&wX91(cw1tceGZ!*`XS%e5k@52qMy{r% zjEr4N8M#3GO-mVBe{5o8oUn|MYyL7u#lt-H@~<~A@_ydL$T)E$BNxd0bsHIZLE>jOLfr9TBcmut zed{KOx=EWD<3Z-!-pt5*dOIWIhs}(jJFJ0s)WZ4h%_ZDWiF+26W@k!R};M#hOd7KP7PzI#aD#>Ssw%@= zR^Az^3>#TFW-2qRVFR%buyNc|Vz|Y2mT`tE!xj#utEvoboV>48L3bX!P-a-i^_cOM zD#J7$f$u5|`+1aJsWM#PN$9xF3k7v?>x#PC`ev;^#f2*(2@h6|$nZK@2b#CSg_ zG29XZts;9Qrp5re++&3b!&!0G|Edg2Bsk8fF|3i$VPLo+!FyJf;jKjWdR2yvQoP+N z45y`ezpFCbkj`gdI4&d9pv-VYk@toQ!(~PO<4O#V6f+nYPAPHSRAPLl#Ck}Lv00hp zzdGYNm8e5%jJs92{;M<>(gubKWbO1x2LSkEl5M4jOy3-26thHb3857Zb= zv2xs0VK~GFVqat9n6AR`f$bFI12u-@97=Q48D?_w-cV;)!wK3jwU6r=BZ$Mpdr*zx z43GK^b%sa0{9n}=X7Ta9RAt!6$MH{vVI@Du7IlU#0vz3H48H|t;X<3gnyAL!!%Lef65FiMLCuzGprHgn5n|hCC-0Z zjp3y@?`jo>SrXibl^K>ws4*~{mf(J^%Frvx`bC}Li6qBC4Td+8W(*9Aq9Y9@3~h2k2UHkZl(`qFF-%nEZ%|=apq$LW(5%8WNriEa z3fFcG#=|NcpEVgLtHo~DU~E?B`mD*gT%F^kCgXN>-plHYN7U7}YcT#%=iQ^hxI%+> zy9VPW4W4(JjNdhQUurV8XnKCuWIU_M%fN6;llQYGG~}V--oPZWRD)p~v%p<-hF>ha zSJfHzv+_<;2kp>mS7kWO24df5<2bIu@RRKn<1}@K3mi&U)j_vkOw?f5%E@t6mEkzo zbH<4p4BL2kzpF7^<58ce!SIHcf3-Tp5Nyz5jLu8MM8QD(Ry z#&J@GVVgLAqdG&E1n+GXhTRg}pOqPofx`Wb1os>@hP9HcYc&{Jq&R+QF!V^7fsVT5 zJ*&=eT`Fa*I>U4s-ao1g8)SKxYB1~th5H&gq1P%5Ta>wPs4*N==HH;gZ~+wVn^m|D zsW6^V;rgJ#_)djmy%yt1wb&0DjC<6%)@w07Q0G{x#rQ#;w?~8Vue#a?4aTh+yk9jK zA8PP^&|vJ=c-L#e!X3147<`}FeMW}x)r<__ zzQ7eG#`8>j7`f+afesyfq0aD($ziS*!y0CeMs9QV~2uCeQX(qx#%$$MEH6d^m+7>;t?U~1E1SSZB1Sc74%2uNa|7;ldT!xeGv z7A=OS;vB8&43{K8?8g!ux6~Lqr7T*s7>-MEG^;b5mj;P1mEl;e$*@+&nStShjKFGj zhDEXhThtg<$#Jb$V|XCP+pfm&U5?|tD#I*!o>giL8{}DMsxfR);Ml9dutx!O`qe{4 zj!rd(>q;VDRT*Y03+z^9*r?1gQI+9}GVdu>hLN1CS$KA?=nrsS(;p1wHS|T z^1jt%{Hh63*{Q`lLyK{N7KptT6zY(!28h~!wz!jM?Qz;Kt5V<8K} zQ$|o1^b-@ud=`dZOrXX)IBlph%JYM!>RdP$F*5kLGcZhM{1g_Rq{XmSlxwFNXjwv!8pA?y zt{GM>`ldZod5MFXVd zlLlA2CgUE>nhssY9a^aPg)0r7S zD{JmCa?ey{c+bf3Nrj<>8N{B+%<(~mp^wF8rYge~7LIo+3@2GZ;`dlN9x5}uU;~M- zW9QhY%&?msv>1LB2gi98hD{vY2NfB5I60OpfG#DUsmd^ki=$JSp@I7~<4jeCS$u-i z6&ZH%f$n#^$R{vUmEk-;$0SvT-~8OKl^J>jIQoyoXdkCrh7KVd#IPKx)fGQ$*Ut`kZOdt|tlDKUJJ;hm_&&?_s{ zqXfFH^SdI$40)kv$_(q}`KPEb9FXV#q|9(pp8t$8!y|c#ji5U^`I{6OdKDzrC@`#7 z0IhOwRpgkY$T&-}9kl#?r4q+sCB}_Pyi-&ePb+bJQDVHTWH?2Y@w_s}9c9L^${hVF zjDM9uveQ*K_Np+>SMi;q$~Z@rccUufN>zA9|35pDF%+`Oyor+`1vKG0pXmwXDo%!G zmN?Kj7w;-ghHI=GD>xaN*tp+uFid9S*u%ll&Cc!fNK-hxm55Wm6B(883*!0?HQ>n%G&H#6%Cc7_SeaSROan1yDu zGjy|XykldS%mO+9U@j}iR(6J^to95HPgr?3uro|yBjj1~V}9GjY6PV%*Ba`<{vMHWTYBCdLO$rVI>InR!k!GcIICEKvuw z%Q?7N6&M6mKxSTGWIWBt@Q;as;UANDuPDP*<_9bc3}4yB+eI0AK!r2IZ7z=cq71LO zc)y7<{O4l5F3Qltt;N8wjyw32C_@hq$2k#(X}m(GL>V^oa-0%j_`=6~N|d3IUxI;Q zCO^jvQHF*5{tOHs_ys15GPDYS)J+%UZ53s>EGTqFgyDlA#{vW z>;atw{X$sknfI~$S!7%Q+W)#m~S&OFid6T zeV5O$hLz(?Hp3QHP~Ccyjek=f!wa^028QSCLfdm0ezJoG7*BI@ZO>%5%6WwmbZivI ziY$hW+@MYK7kGHr0c6e;MUD-b3|&fG>v9?PD|7ECV7Q>n z(V5GzTvcF40mD&Mf!=(EX==Q)@)(|}`R^!T*sspe}Yx5YEX@YcZ z*W_58&G1pn0wk`@u_2pbp^nIo0*0+R(^(l9&KPcDoRq_`(3EFgF2gC)F2?^k3{%Xx z&Sx^*H5d4w!|=d@>wFf&D+}&@SqzUYIbLTle6ZyDpTqFU3gq@qYmP7J4AZPZDyQ3U z{m5ikXv6(HlVO4_$Ioj`u*sA6a~{JNFOEkA41c^p zad6H@{9Qi79AB=9*$gZExZdS6-16i7o5}Fjk7IuZ!^8lNwOI`F0#1Moni#};F`eO0 z5ZC;4hP}bOo#_mhf>~SA8J35rUP@!Q5SIHcjp2GY@8VR3LlImbQy4lTd2gpM%#CEd zmcp2z!#g{Tp*IG!7JEW0 z_pelj&#@fWQW;Lh30z78?Sj0K%J3zQ>rxuS#CWbL&GQ3RY`jO1on8Gz9g>hjD*VYuqBPkj;3K+kpaLr3){GT#| z@kRmTiZrh6X^aQbqHYv0E>7njJq?rPGvG)&g6QO z$@n^x<8A@tmMqpA1&oKXKH7!TwHGB8Zc=ek?Kct4-xWj^Dle30sn08UrqPZ{#xkV4cADCzqj*onuNm z!vYS0Ke-HlI7JR6GECqCU30ydTVz`{!yj(Z2k8uRcz7G*8Se4UVtkO!u$5nEaRS3- zexa@L46Onn=_P`^t;q}z1V!5t7#f6l*T;bu5GODk7Ut+qWjHM?%fRqLn6)8;;hS*5 zpInAFA{;j|8GeX@Y`h>YzCVTGxp)l&!($1_%{dGwB}E(48D2_qd{1EbC^?UjfuUcT zqcMeHy0j+)!vkr7-^mPLr9n!%WO+BGF&vW>U7E=7OqSzDJVS##@8v{>+43AS(ij%Y zOEEC)m1q5t#c*1l_fIavas`2RxeSLCI96veG%14EGZi^jW-@G1=6#pT@J?Cac{W3* z3df`jhP$dlQ}P-1s%>F>m&-6qgZFeg!#0h0kY-JRd+7{!H96L&GCb7fn4QD$Q5R%T zn?CQmEQSO60;^IPZtHV&Br)tX1m(FiMjS`e7`_;B?8#;LV-(21aMqajTr$H|6W-Oy z46jUBmnJj(GMUNPl*Vw+jO$q(!wa)`28QG2DgR;_ep_&LB{Tf8;(Zazu*9BYRSd%c zd)_563}@|?85lm;bNq;A_+cNwz;MDr;8Qe1yQAofScW-HylQRj$CfmPC$78)vKaoka&%=gEOzI(lEbjX zgXdfh!xImV#d!>GJbV}!c6f46&t-V$#d{{3q1RvJOA^CEf9?xO4FCN(IuaP#132!c zG4u!Uu1#S$6#!CmCxH87D#NZoj^&9AhXQ%;q%yn@1XUhKgSpzW7;Xmh-b-Sb6~eVO ziD6p^@1b;trJ-COQW)lkaa~Pe_z=eaCzoMqxX6VBhMnQuhY}d3M{rDuW0)Vou`_{T zc?3xPmI$u3DGa|O`1>*$`Xl+TXD}>|CBLFQT;=7$(K=KFVf16eIF2o$-DQ@1$79H!+Ie(ivyR@;;7bToKEAFP3p@ ztjo7_#-=!pWBH7);&}hWF-}b2J(kb7Jc0LHI^(ef>0|kfZxdL*r890w1c_fyhe z7#O~$${ovRoSdf0z_25Y<8v0{g*1>rYdY8ObjI`PT*vYmpQM8&)Ywk;k|-kLP_JP)oXIC;7F@QE+erFUv%Ei#f1hW1Bv*;r( zh6l_XA2}KRvVhnNSvlTwGR$UEe8k1DhYi%5V&_=E#n8)c&%khoop&}D!!Hj0M_ddu zI9ac7G0f%EU|=}PDfNhp;UOo_X)cDhoIVT;JGm@>aWQ`4LiK|zqxc3!{)3DRM;N&t zGculIN&~e&bs5$CcrP+DByp@|X2{ya#K16zng1~}!xd(Zd(4c_n7Mv1 zGk#!3HMfJEv6-C#e8Lt3_FBC;^&1pCdDzd3WL~lggNfUGVBmFpPI(-OO)egJi|jVuBmAZ zU&UB2B`~ZLubZ02uv>!TM-0Oo$r+5R(-=CXc~`|T%$EjPIZ=jdPa?xo8P**M3~nh8sm&ahVx1sQ{ow3D{=gd zW4NFSa>X-MjtB7!XVrvOrZG&`0*Tzv;=Pf|@LZesT`I#bZH{~K40m)u?De`Fi;@|( z>pC+q{LCQ&QX7#5py zd`o7SZUz!xW5#hJiQ%Bx491md46`k`j-)aywYb8}!0^+W_j(e;6&sE@sSF=%c&Dc_ ztg$m)na1$kj^k_+!)XVBrZk4jj$9`aKu2?biDj7U#L*JVaM;Q4QWC>IC)Q)}44a&J zFC{UYbmsUQ!*J0VG~V~eg?D)@!(>;EH8Bj++&CKI81}gF?v7d*B!nqj>^ z_r++2jsT99XoiIW0}tDWX`K#u1iS_uR^)L#WG9{<9!j$up*3OdNjlSaE_@l3=hJ2r^hk0MR1%?X4nz| z^6$wA{wFC6cO&@cq%eGp;O|UkXpNLOl+3Uwl7CSW!^|kbL&*$lqWGW0fy()|Xiz!- zIf~&&)IsLsX^b!9xPHVjHpQDBPh;F3|BR7=VQ!+~@ifNeNnD4M7&j*I9#3Pulf?Bp ziScU^S4%QuUozL+WX2iEos0|&3sZRSr!cNd;k}i@xI0A(WLgT>q*TVwDapsv81JTX zy-a2Noa%Kvjd5=pKdhwrKYIrw<0i%fOk9oP4BJ?^o{BNdVdZ@+#?Z*dwL*+x89VnB zafbcu9BtwZ{T#eE#TeFbvbKvcoZ;e~Dax>ko9l!q!#p1D!{Q9DctEn(`5brAk{J?=6Oe8fKpB(# z&&a{cVaOl~I)8HZ2^PkKERZ|7pF1#QOlD?a_|44!)rsLPyTCSkhQI9GEA1KXaB%#! zW%$g&yTgHDHW%+*XNL7$9M>Hg_Hl#Qm$*5mIWo-S1+h2ra%^^Bc)-Vd(urXTKS*Q+ zKgSG5hS&U)81FhWToB~l>&S3dZ~_wp!&_nA8BPorMa=IyGxUpctaD&kEhco=nc<@t z?>|S-s7<>A!$JwJe~t`GBzey|FkF}9ndr#ySn>}e1H*l30T5e;tI2_3iY)IzJBBr~ z938d{Gvvf4Ix@_YmsoGdutEW(W}70{5_^W{ioEM>8U8DBY_wtMQ4*MM&oEV)f0jMN zS!LcfThO3hmkq;971LMt4D(dEU)eGIRpr=d%P?IH+-hPG91?Bcx=t^QWxaHA9@^z?HF41IVL(X%r&q(Vb5^efP20j z!x2M{8#W9#40)&9F}yGYnLO8s^{*4dabu3RwhX6CIBwfATr%P4v}bs3%5mD3VXhhL zA7_S3X1rgW819={FfdFvFQ4eh@W6t%*_z>$rNm<=hUb?2o17RLtt3G4VkOaJ$FS8( zVw)|)c`J!eHViMVB<|WUJg`aoL-;K+N) zk+IQH**JDOGF)K?vFCD%f467Y!dbw;u!M_ur8C1WE{-jZ42QUQe>yW9 z;}KZo&TyB9V}>ik2|o8l?hLc|IX1d5Y~TlpFBcHl@5XRQfTPic;hG>wk>q&k$S_CR^pPvW zRT0*9R$7RhonJ27mQ<9O)|IxV`@mEo=YGsf?(43`zZGcz!pQsv$6#_&^} zYlR!bObvm%t_ddgsPHLqy!zDYO`wk2b>?Bs%GyJlXm}bu~)87BBJ>v^|(AJ8njvV`(8J9Y8 zbhzcb_xk31{A0&WvxILE>MWuQM_*oOb11?8f-iRjJdBaiSZDz1od; zmmA|#H=eofj7!}W&$%-mb4Rp*AniJE+i)f~L+pOgNxw`S)43UzFo6#2Tgl8Zm78H2 z3&&k3u~uyNnzW;n3wknYq_+GR$G-xC+|%;=P8G z;Vvu3Do%z@Htw$+471ocwsJ5`VdwbH!7zs%H2nUHgX174V-u$?1H*bwu7jM6J2??9 z`ae6A(T^dKfgzEji;E!>r2aS)>n1LSZ!FwB+zcJ897nkrwz3KLa5J1>o5#$+@QhRN zFBij4PX6ay3>{oa3=FThxPEXke&LE`V7SOF`JS5*GO-0}hlAEH1~V`Oa~x!4h(5*0 zz_65w_cbfSP9~0iR)&kr;;&g5UND0;8H2*bkWm{l7QKL#Aq8~iWity$A1lK}7LNZc z3{P1k8d(`ySVd>EGR|a08;|AS)@A^Wd;b5=$R*A(hmk=Zv@aNBrXr(EHpdf2hPjNa zFBus&GV5h;*Cb8zwuwG0fk{D+wsE-`YfW@5O-n8UzujEM_;S`Q+) zz~jFn90?3E;UM#K8Pgb285mNzCvY>AaqQ$|Xk)UNz|C-kiDNq_!#Sqaj1#yS?z6GJ z<6?Nr!GDK~;U9;@6i{D)=O-t_GEV;IoD5qzO&LH(`+wnN+{eY*&CPh2ONN2rJ{QMJ zF2PkFfC3o`uT;W#VE z(8Rldk%3_mANN~9hV6VDYXuqh^MTIA{>0DGCrVTQ?q679kaUj!v4 z3NiKwfr5LkFvnV9#-+mWlb1l@Bgn|($sffK%aO~NiU>qdn}MBGn}Np)q-F*q;{-;? zdFGo18B!-QF)(~%;=U=!(9X=!FUW9&CG(~r!)8{FUO|R+Y`ixG8T#3|UJ5Y0WCyAF z#m+HNkl`x_h~37?aZ7+<78i)Unu}wyAj1dl#f&!v8Fuq>-w*(8YF{A$D&Ox2Ff8IP zWnh>tz<)x3;k1CvJ3+?h0;LQLcLcfK2{JxI91;#n!?PtBMc7$A8ALfu8Dxza7y?*h z8AEaTMUhcjoTHhM!IyO&BSSwU$4t;XDDOQ+#zTyX$aNW>^P~PVatN{-F^GZNP@;@{ zS^U)ubsT++jBTjvgJvr-N^^5mFeq?jF<5bgF*vy~Fmx~qE@Wh!iLCJde@4z!(82Y& zW}vBj2GAMb4xWPdSQw&O8Q-!nJYnQG&%)5av>e1)!_0Ajh2aP@*IO2bbD;U+N6cKC zSs4B>b1h?GSjiI9%*yzi1@7M z1BR{a)0wXuF!)hMh1BMLycsLH|Go0n+y=cJjgqLHc9>Y4m-~)yX zpZK{N3>j7k@NU;<*e}3wOOIiWFvkmhhULN_Lnn#$GF~)bSR%%;RG(po7}rGuhPC2C zKlB;)N%HIQQ-KZ%dk(8Yl8v9Hf6VG1`PjIc&8gMJXPhrs>jfx#<5bDVZA!X zVLgVs>a6`n3~ico8L#RwT-M^9uFLRDi{q0H!#gd|fyMng95ZzpR_X{`)MdD!!~f8b z;h_%yOaq2Fx*Wd^7?ta zk&(fPV>%;)A1G^vc`z`{V`NVQe7da3 z45hsD7#W+8lM6vPeifNKhE_(NwTz4tkv0DR4=VZYaWOF5tRr%_`u)|jUrUS!sTZtONU^r(l*zCY?-yYN&0+o6H8O8oHOW$E-n8gyq!0?Sl`W`F8MAmFj=J`Kc zlTnGmm4U&Pvy>s7XCfm*1xF7fV*{fI1H%+XjwOtYbC5y}lz&ti6&aiv7@Rqa8B%%r z85znrx)>SjL>L$*F>)+oWSoUi{{KHC_bx`(&!GEFgCOoenroG1lvLpiVQ}LqU*uL9Ydc4$EG@l9}=v`Y8d`XTxVxsxS}Auww7U;qWFzk zhHJ{Kn`#&qsfZk`W!R>&l!<}iw%Rh5x3vt7+J+1ao3ta|)-rVII504r(&=J+Tgz}o zSC4_ANssq!EyEc-u8B1a?~SEFN=#}P7}`vwC)O}5G~LX`z;MNy>qafZZX4FMwG5|S zB|ld)JaLU=VA$)%`?;E7qr1SvYKCj>ygzCfzIuwStzqc)@?v1P>J_@ShGCWW4`v32 zMgGz^Y8m$W_cJpvoCyM%wJVtSYc<2=P`TGN3?D-+7#LQDond@k!|*VI>sd9!%Sf@; zH4OhFw}Yloft z@f@yY_**4$qn2S-HUH}xhSk+PPiq-=R`Yb$FdVOzcv{QwqnhVR9b-$)NhSt{vvsUj z>KH%QakbVn{;h*Y5ySu4o{TPgnf@~FQ(@>~6I`ysaGH&^TZQ2#JBYoSgLS3~!%+^7 zeJTw1c`mbesxb75?&NJ(VR)=mzE6c=y$Z)p6~^r{*%rO zo1FQNJ2M<~&H{Ol0dzK_>|!RacF@T@T(ejhUNB2Eu`sM=;o8f>xE0ap0jp!!#>>F4 zjdwlMLP3V7{Gd{Ei6GZDLB@56rsMzrj5bR+rB4bn?B@((V3^3ods2|0kz3%nAj3Lt zF3=S{yseC<1sPuPfx4aV`8R<$I|X?z2r?WM^aRIO&;?HE4WbOMIsF+Jc5(4;5M`Lj z&A(2RVIMcwX;Fs1yq6h|i85T^w_srC5D+;g$}mR&wAX8~pujOvhRuS9nHdeIkBRF86XOe{Ra~IB zwq!Ii<5ostYI7+DvJf%e_6m1Nk*7{ z=a@L|h%mG;b9|F#=wa4pVA##f@lAx`FtaiP!!u@%m68loSvVHRGR$QWX8<)MmrF7< zvvMqzV(4a7V*ssu|18C@lhvJpp@EHKsU*WxHjZBs3>(=v4u~*ZW#gDC%5awrG(N@7 zv0RGb1bZR_!%7a09}*0^I5@6KFr4S$m?H+d;&qb*!&eTD>0%6RoE#e@82)jx-V|k+ zz{N39f?)>eT8^t+9Ph*#UU6|u5@Yzy#c@QOVFEYDUr~mo+#H`p8MbkA%o1m~zzw>w zWhxKH8fk{PJfM>0D=)_-8HT^SpqpRU@pD`eW!TTp@m-AJ3O~mWQHGcN91p}8S_C*& zOEOFp;8-Zeuv!3g;lxn^@TF3M90$Z0_6u^%5@q-+$a+DR;jj?LG7*N0LIO8M8J-Gp z>=t9#A)I+rlwq?7$89mjmm(Y|WEdZca=a5|JR!zyf^nV%$7%`2!x9`9Bp9DbaD0|vY?l;SAjx<|Qfh$|V~Z5WL@CB6 zQXKE37^h0}E|+H9C(Zj&nsKTO&siD9eKM>kWEh{w@XnTH{3zqWz_3%6_p~hIQ(4|M za*RE49Lwbxr^unKC;ZRI!N+07AO>z@zX7dPO=SHh#E{SWm!F}Q;|DLpY(|dHybNm? zIiB+~>}BNG&JXIDALCb#{SqX;*L7lQ(a8H0uq149%?7Gn~k2K_%flQAirV>vTJ z4rs0M6h@Av%%G0yF&2hTj2!=&874DvEM{g{$i#7AI#mqQ?g<}>A<8~H~gDi}XSvcmiGQMU}Wnh@V$}x)-?mbYw$05w&&LHgt z@`o>@hXco27KXKq9RHXZwlc~wFkEKj_`}R_o{8fQGsAVJSO!p{+RVbRhuM&U;Vm=A zcV@<~%&H6wvsidmurNMl;rY+P_>l#1>IkUrWap4);D^+`9B}q*Uq<&3j#egy7#RkJ z3XWzbh9*XihfEB8j2!EjKpEf=6T=Qhj;D+a2N>fS80Ir^tYl(b&ZN!2aEXcI4ydT+ z_`$^Z0lB~iwV_eYgZt0O!NY;5w~_n3$3fLL^7?GhIZQBj&JJYs^5b~L#1PN1k(r@^ zk>dpu!&F9&E@n_>e8$Ak!o+cr8FUiL6DEdDOa%-KiP%lJqzPE zW-SJW1uPt^SdhYcHf-#JXE`HdBl7Zaa6d{wg~Ode$C7~|m8Xue5K)sr&tGxk_|MLe z#<7ZxAM0|~8V-gwCXV@R4AYr7?y@uNVB(m|#&DL2 zV*@+GM<$LYHin-}9t;cznOSFZGF)cnXkur0!_0A%jiH}~<0&h{bQU)ThPy1Rzd0Bt zvU1#H1Krrvz{aqbbu%La!v{8wzif~0He&k?$%g*tOopBn6;2RFcJscb- zIT&woa6IQ=Y~|#c208$mXB#KuQBI!koQxMa5djTuLzr`vGPr;SW_%177-~4$KqEz* zrx_XdA#w_6oj!7WVT@DEmSq&zNZwt~|(uK33^Pn1!Bhr@tD zg2RWwoWq^b9x-V3f3_~8nghoaCWiTp9Df)YmNRNHFkE1in8w8L0(7YRRwmBVOpN=O z5HSXB!*C$ZudHRP$mjS5Ix_J*_{hZf;3E^)gO5yn#KO?U#JYurVKx)Tb!LXeOjZmG zcbQmkvogG9Vx7&x@P&z^frX)!nYD?9p^Lem0kk1~8Vlnh7Em(V%_4i3h4BXHMDPDB znyXkDkFxSyV`Y5G$}@$H@gpnZu*CoW8F_d(OcljDUR6dpevVoO7tlbu zk0S#^FC)ivP~ybc&H+wajvSE;o}hAVHi0oUh->_HmX292-a&ij&#q9z<4 z7#VC%f)46r;yJ*?IFZQ&)(HgpNm!gChryP$1T@aF9W>5@$ZlYFBEq$jvDAd)A{&E^ zBLhP%>vVR8g^Zxszstz_i-lne6R7Cl!&J?{u$`G>7c0YlW3Tt&168*5F*d%GHRHxc7iL<-%Ox3(@!Rby-ciA zm>HIWQ}I(~p8w2@ADJcK7J|dlgd>;12DFxmkq09zXPYwW32|&=WN_s;!^q&P&cILt z+W1rB#=vlhkz*kf<5Nc7WlW5{Ogsyj7-wRX2Z(rZWVAJ8-O0>Q!|{L_bRS% z&7g7KW@0>tuohI-$}oV=$e7E>`h*d*QwrxCkfIXDRVD`TINDq$)?1(e=D5Jb@RW(C zhnevsBA7vG757-+8%D;bjJBZJG+&N0oD2&YSwC6Bzy+!~cW^M=V&v%IV0gsn z44Mz)Sj5e+mPrECd1778#c+x#oq=H^GwTr^hNsLNb2%BBSU4VXFm$nij=*5yn8L$w z22{>{X5o0q$uOOjV>t)Id{)r(_f|I6f9#-!>vs-@|7;v5IT+g6?HCx2vV+FT&$3%E zFtl>89_M82;;3a{Xy+6>&dIozQ{WIM;}1@bRxZYgT!PQI7}s%e?B-%T&L#Dli?NlP zXD&DB!olO*j8D0F`*|2YaT_x*Ealyyi)%^+munCA)SFCouiG3A>WjN zVF@_Ft^v)V&0ykK#Kd@%iRU;o<5XtOL(Gixm{Hc*f!l(i45}QC47%0~3>iE%j3vlz zK|I3{y~`nnT28K$su zyyjq7$;vUEgW)hM$9{H(XRMst*%{`tvHs>_xXs4;l%3%v8^LpiQOdyZn?vw97h?}-R(K~T$1zUE+ngLPI2pfi3clfDoW{kmn2T`-7spX9 z#*18nAHm7t5I5sQZWjiItK7WpJdBS(sbMM)&j%jHJv?%+c^Gf;AZkHKIRww^C~Z(f zMlC;%ONY(!XJtIRCV;lp+14fQljEt>JJl{cyh4T|A6C))PhX1n-8MVVX_A)ZW z>w)Sd)?17WlNc=-7)~>CTm|Jgo9@PD=}qofFDF@r5@D`@Pw zfst`4Bkw*&#zlycc>MWUkx@E?V=E&=8pl#bhJB12OF=~(&nhOykBrE7y#8kt5aq~c zQ0B;G0N07&`ahI00CK0}URKb)BUXkYj_IrnRiKkA4=}MFV_|s0#PN%T;SEzFsFGp5 z$jUI8g<}&7!)z8`28I_b9A8-&Kd_WCFg#`DnF(skASS*+<(`O%%vMH*fKt$jMm%pB z880Hd!~iPyq+CFk5QcJ;gF0;Y7#WW;@;nBqLRwbC@PD=?qmd2k7eDNAqqOm6D>BMdg2HDqBgYlcWjq|`85zGa z^7Mh`*byp0^N^@>aIk&=w)qs~Iaf0VhG3p_#(3m1A(t`ZF(b!*PKHTL9RE2P7BGRb z%4cSdgPaVDSU7fbF|1;V1&zCMEaznCX9XQ~w3&@#FDJu2HjZPQ40}0PmvS;3;&5VM zXyN2o%*oKh8Oy-%l9T5bC*x8so^4!=Pq}y&a5H}7f;TZB>BvN810zE*>l{Xg3SV%b ze+LC8yrlsObK>TIH5pY+IsP*;*k&;>ENA3+$jGpsF%7(T_dFBhE+&psOpJ$+>o7|8 z`l>R@iE!*=WYFYT#mEp1>YOKMGk{Ky2QMc^ges`5AR7VA23;S`@rjXPEn_-p^p0Z^Gvgd4JqCtTOsw;n8NV`d_A)d6V^Tx3EB-Sg z^#v3eWo|PHtYl{BVCG-K%rG5P-tA)MI>XF(1ZlN0c&u^*BiDKshC@sO3t1SNS@`F( zFiZk<;kUDJodhi~M0LL;qlf`V4MP-Y%5Nzn&ps5VgWG}d^@*UqE~^X!j|#}&f{Z+} zti}wkJaLSHaIb>}6uz$iz5_$r#j%;C%}pxcQG$KQ1?lGU9843mbD(G9++RgRZqg3tEQ%vmF_& z7{H5tE-*0^aQtOtsBmKdm6sctK;tK~nHU~2a?E97c*z*ez;J|#^)wUX118qDpn*Ts zIQ+oO_=?$+ z8Rmc{j!v+1Toq%u%MQBB`yD&SX)%VA9IW?*8E$iMtQKQ<%n`-Fu$PmgU5w!pC&wxg zhR2*7_eB|gaB@r+Vd&-J_$kaVkBeiMD8mjej*Y?$ceyy4MHrrP=`euC4X+3@EaK*v zCd#m#o1<5R;UhO|uQcdBuT}|$4jztuA`Gi|SkDSE+~DC@EyVDE$B%(w9WTdI5r*@; z9DTwJy?m@2q!=FZv0fEq*uyVyPnh8XKgVqmhT8(A_k2cm&}KE8|60l(7TBMT{JGm>6a;aol5KScI4}X46wuhiA12lx zEby@h-X>62i03m4<7pQ0A1GZRaQTK9$2`KsxR)uBwM~#ApLG`>LoG)O4`@j7KQ|~J zE#d=pMn3X_#?-IzfX3AK@qqe=J9*H?)UWe`#?&|Sg2vP@@_@$FXY+!FKOci`U5AXR z|KI_QsXq_|jj4a;0gb7@<6-!~$}yb>G^YNJpJ5N11OvkrHjbA(40qUM7#M!Afky4O zu!F8*-@_irz|hOVx=Vmz2M6m`Zic%Ypp`^zoUD_$8CG+GRs(J3RAykf#>sJmn_&?b z=L;@|)m%TB7#NoDvaaK0Jj%;)iI?#aFY6m##%4aLdwh&@`P3K~4)Y1#`OT32LEmTxVi9 z3mQ9K10E+j%EWOAG)~03k(sfHIhZ=*L^Bx~Amc==Q*ewE%~oZUN1AKMV_>+?$U2{i z@d=|2=3E1|d4xBNjJFtBpEEMvM~sd_(mS}V4b6MP_{M-{r!vNyaGYX+j{DqY1&#Zx z2j{mg7SM{W1I!G2nH(4x{xY#nV`aF?%-hPsIF*I>D0oDFA}eDTE9*fvQ2B6!m2o4h z3AjRdU_FfsVLgO|qq0(C$G85rI&a!hAtoXW&= zoQZKElM4gGQzqUypvE=pbY{kWdX+zlgF5d+%{SO8s5ogZQ*9903D6m%gAwx12nvHgPoy~iS-N*!we>l z9UKfRnK&MCf$Hcuj7Pb7ns^v5 zf;z%ed3cZWFfQUTW?;C=!?Tc=@fVNa9MDaI$Y}w&j6mrJD>6#Ub2fq2icVob#^J|c2klq-F_bbelyZDw0ZkcwVqxfFd<;5f zgNbzpD`;}#3ut9E$14_w56oT+47*rZudy)fXGvpVSjx)#o|W+mE9)y(#+$4L3=ExY zJhRx~MIFQc*|v<9zO4Tl8G0F6=Q1;#Wn?|i#4weK_Y@Q30Va+I%#2T&cxHfx!%P@J zgNRR=8BZ~@K44}%j~HbJw>z<>83OI|*}9DCCLFsM8Cn=Q_A@f{FnTgDTxH}r%Eb7a zk>dckf4>{lzn5WPfHjiA{dC}gCw{tlw}mFWxdMC@Dv<)Q<*pqFfqTp}|`{xET z;{|4a(6WyRjy-}5xvam18KyCE%;jfz&d9o(kD-H!^)^34FB8W^eugzntf%=It}<~f z5M{Uv@<%5##|M6fSP`RbG#R2I0KsDf5FUpNtj_K3rKi13+onPhV3jIU-=mB zuyE`WVED+w3R?Eg%CSnA;Sek96k&$1tQ;>y82+;AFfgoSWBn(@aG8y@Q;6Xy8|zCU zh6C)NrSvD+S+@u>+-7IpDa7!E9drxBS9aFOR&a345oFlO0kZHm2kU1+ zh9?{xO9VmpuC|IZEazn1#LuvXlj8v&!$nSxd3+3?IXOCo82)pD)KBDMJwGbWS3IoK_!#!_al8{`+{!OFU6An{ zKgUy1#(Vr6ulX6D@qY!a(i3ETC&>6jkoC71<1azh79qw7Laeid7?%n09Tj0bAjEn~ zi1C^b-zgEsH$oggLCXVJ`-K^23$rd2X520;cvhJ4gs?XQ!(Z3R-ZFxDQn8KknIZ6h<&v=tA5+KRmASs6F6f(B4odH1q0_OYoS zVq@IOhG<4HfY#wCMzdZA&r!SrH4&W{816B$J_QekZwJkDBE}cd`W}L;xeQ{(pt^y? zz6TB4R85l}g zn;03Z;2maA-7djk%)nsGI+>BdA{AVjt^!r2a3$b+TLkG|c7YPki;N7lpksv^m^iwS z#==1Lr_wG)hN56l$B5?{Xy{f7QCIzEOkK_{@k)qcKj=8I=j{Bigc$a5aP@TE?_*@`WMVkXm;$cbMH%_iMQTB-Y$h-= zb|7k4aJrObn5xIXFjbFtyCK6CJ)yOR472nFP8u?-(mw#c77Jt^hl*qYgDq&CFL>P! z*AG^P2=QC2pcOllSQ+jz^1lR)l}PPnWthe^or!^AEeqFlR)*~?UJMM4to+MZ8D_C^ zEn#C^$;!KfmGLgC*%CI!$!ucq&;g|}QAPo9r$U^8L7CNnQ3E9oaIGiiV*sBedXb4C zd>+`bpmr03J_Cb3M=FE4KiGeQ44~W9r!WfrW@1sLMG7?DxnB%4PV-BWVGC%D)O|*d=aLK)nOLVQ zFsx%@eJTlBJ@7>sv`V%|mZ68)05na`(Jabv1T^aToSEY>c$MrE|X+9!pgB;hT#lrCM~8voD-TDf7(*K`$8|A=*}NPx z#27B}vc6SdSjNYCR+!-wAIAp~hBthyXGIt$^Mi(5&+@Z=m1FqG&+$}};U7Q8eldmx z0<23#8O{lCw2CrZ69{KuSS!f7Rhr>}AV&z zu~(e$t`y@YaluDYjJL!&o{Ka766a`_V4Nz!u}Fe(p9IHg3C2eftZyV3+ayKiOET`4 zWc?t=_(78Ou>#{o0jHjhIZb&hcutn%wk%_-9M2Xx##M5xlN1Wh7F7yJJ>*r zDX*|GykXR50Ij$>#>%jUiDNSx!(Jwijcg1@ndBH49y5Us;Q7JCafX$lhneF8E5kx& zj#I1*o0vJyu`(QI<~RWwBjIRd1ue;b&I0PNpJ8F>WfeTg%DA4DV-G9iLsr(;tc=ZU zti5cEOW9c0urZ!sV?EEt_>_%jIy>V>Hf?z60_wY5f&BIuuNN^pIBqRQDApCh4 z`}pYr^zqXb;PKP%yx7N2?;zGB-vW=HZo?QqeM#B)=^b9sNXBe_21>?HIX3b#p5W!U z%FFnam*W#JV<(@~6F$bppz+g_e1i9>H+~A5yVqxJXJV)VEg(Ds>dP~n0nMIwF=_5* zV%*H6#K3TsiKm^J@gZn&E2MP*sdI3yvq2tLnN7qxyV;J6c*o>sp^wR7pYR5yRm9$9 z{Ame3b~js<5#Gjo3vc6bydc!ZBXxZz%9t|k#$4g+%RqH>4Ff|B=UvbURw1~Ko-NBL zHjR<zDCStn$Z(VqZ80Z! zT_M8?Mh1ozjGW&<=NNe~F#KfX=magXL=3}#+EqMK9Ci#U95xI(YM}P>1182BOr@+{ zd<=E0S9loO898S1fYzd);bwTq$a;pK;XNbkM_$nN>z8;KI+<8+@PbxUUf^L^%*48z z7t|{}#KUlkiQ^$R!+j>!dAtlSm{|AnfHqQ1=K-x`Zs!LbhPs5C;RUld18A*s7cavR z7S@kE3};z5cJnYiVqv|*!|GX0xhrl%Ej=Go#QhX!#DOS28ItDtarH>esXZ^ z=3;2%^k!fwGSTCtR%WxETAm1y^!2UgI`d&d1or6UxAFpNHcO591FW zj#ggA23}PLhNZlMYxo!s@d|F_W4zDH@rIZ22QNn}ALB$m!EJnuNBMY~_!%$qxiBzH z<>x)l&$x&mG{wu$vrvHX7r)>f0mg0tq$ys8|FbWEW+`8LqOit`}g~z|J~VfMF*)>t8;G)9kGO`5CUTbNt|Ac*@TDl%L@pJL_jY zhVSeg7x)-DI6xMz;$Yp$&#;+;;~gKvLk`xbA`IU-SfBAS{NdnOzzaIY_AVd8GER>3 z{0y5oLF$iivUc+_JmX}&%E$1VlVb@VLo;X=YabU!7eB)-F4mWP41c*;{|hsm;%5EE z!|;!XV+%jyOJ2d#e2h(e97ly2C-HI2=VP432im;8ke_u6KjSKX*4rYC2l!b}@iSiI zXMMoW_=caaTZpkufOUcZ;~W9L2||pU1UU8!FrF4*y(+-?P=NKd0OMZ)!O4P*eS+Q$ z3^xVErwTFt5oB!xZH#qcU^pto`$33tDtJrmZeiA=!i+D4d435qP8H#OAi}su1Z3Yq z5eo)}pCUY6qVO>k6bm6>-vXqh%>IVdylTo%T6%<79kYgv${9l+;s zIEk>X1g$^&#{}E^b{upc2J1r5njwx~j0{&9vl&1;ab7TkHc9+s0Ye9~x0-?O|fv&XmY{jGrN&wE;99^Mo6;p6xz(J=-f@ z(0aCA;PIGE;Pq^?!Ry(k@i5G00_~<*0NNvdn2BQtFT)ikj;Xv1FPT86PW@tH{l^0u z;CjWwaFB&{z5v5{7LKPp3=dd19`G8&+iohJH4V+dK?^*;r3- zGhAk8y}`wBhaF`4Lv|YmhPfP|{pPzlSod=?9OvMe#?A1UgLNA>!+Q>nDclU-Ig}Yd zH}1XXVtB>Lxq*w}GiNRX!vikXSD@wQ*$fO9xLI#;GhXE`XJ9zP!+MQ}v5l8?0x#n- zUXIPYjHh{}7V|MaKtg>Ax94z!(Gt0egli^XBNpE8`wk zj$^EhmsmOOurfYj<#@-+_=}abosIE7Xd-(l8}BnV#?x%957`(muz_Zx*?G3JGfrej zjKYH23xwiL60{HVHzR}1O-9ge1)h_jC2a6bDUh)-*qVA-Mq=i*i5g3TjQQf(lNiew z*2Ku&&dSgWTA{O(k$*NT!wJwKGz?#uc)zhSG%|xuZ{N(qahR21FAL~6%A+iXpp&im zAF(oYv2smgWt_qq2wKv|^$|4F&)dhw*oJzh{C`Hl6^tB@m_VCNo-i@208Rgb%RO+I zl`+_WPJ&=$-36MSL^|l=|Li@?j9ZvJIWCDZ#Bux(WGDu$VVTFs`cx1!zcWpgVGE-c zXvUYLN0i|oBWsf=!!#z2FT$`8w4VJ53&&9rhMz1P^FiU%XF-+&?SS`qKk(>2^IKypjjwVrt7u+0A1sS?{Sla{` zcJOdK;b%C&Q^UZphgaa60K)}dj#eRtZG8FP1Q@RJb99I^-sK0KBKKc_qeqZ&i4ey| zA;uFzeBVSF-wFx-7G<0&%&|zAajP)LAz{X6!WqJiEjguZr>XiZlKbW9<-UTq(}GTb%KxIPYuZwJe}^0DP|q4aVC* z=EK$=p!Cg$dA|$P?;YrM!J}guG#b;O=NPyrql+QyeP)IljyK@F4jM-vYlikC}*a{k(0k6(I!4BH`c8iVS zG$Y3iHipZLppz62GP8bQW0=Uox{8zGEDP&h4u)P<)_x9#)2tk4*%&UfdNF{uZ|`Jd zSOhwttd*VjFgxQGcGi9Dj91xtyEqsdI5-w?GA`xdxxvA>kpr{?frDo$Cu0{U>jF;3 zeoie0hMk-|r#PXleNcOjO5??lHZS%x_n%R0G9&9lMur)T7N8Sh_&b;w?lam#<^l~F zbp!Z!GBL!1mg{_E>oGjuZ-L(CRnSjfo0u#i#o86(3s(5VjpXVY$N^8)bN=1t(W&HKP>n;(PMHva&x zZQj8OTHAb*@Y?3R?4Y&H$G~fwZ-Cb}KLoFB{sdmz+yGwNycE2)c^i0b^9}IY=7*ze zo5ATCrHzKApUE+wiSaq;fF$&D)UfSsdJo#$1UmfS5&GUHM1Oj8%`er~{0_+c2@U!T zvmtlSMl&!(v%Uteg})153(s+#4L;VeA9Rfx$9M2p!yQ)8Si^EQ&{)G)@K{4X8)&TI zGkC1w6nI6~XLg3Wpat<;SU5V^8TNn{#4llG-NeeU5;Tr*o|WS=2jfHV@WM;bg7_J1 z9E;c(H?VQ+0h3*x78@ZR8H+|9vy znS=2FXhHl}4xW{qjE#r|@t`%o1jh|Pd->?KJ{#0GgZKTwZLegkXMiJ*34_m%hu#tV zpAl`XuOy?0E9l5Y-vS1Pz2Jr3hd}4jKo>pzpS^{VaUJ7vCf0{C3?G@fPRcNBWMgfW zWmv$@@lTdvCHH>DRniRed3kS0fvya0m0~!`$8k%F;Ta$69BGC|e%6Ch4Bh-38>AQx z^K;CRX1Fh8_*k0ZkT6G&G{XiF@yF5(&qX-SNHa_p6@4ttuvAR+lN7^gagKIrhR2fp zOJx|oNb+x$W;i3odRdC`v6TEtImR8*yvISS7DE^qX3B7#lw({W!+S)AajQ%Z(@8nT zgL3d{8#MkV1HCd&{u>L!G$zpT#FtojzOgXeV=)7-^>sSO$bW&0;XR|kdM<|dOhOm9 z80IhwEahVO&3usY0vE$MR)NJ_4EI=nGBPk+XMe}|f{WoOrwao^Czr%4E{26%iJ-!G{U=Db^7a{=Tb)n)7W)O7(P<|Z~ z0|Ore149l}oe)$!49bU@r+HBxECX}DW($Px4Hji!IK$4s01BA|7l=DS?gB}{{R0($ z0HqzE^n*zJ>K&pW@-X!vGm$aOJs;R1K0d2{%xjgM7Lc>dq>txFkrBfq}t?fq{XOfq?;C+z%>l@CjlL$nPL6pbg!i z^o%ZE&cMKcO}qk!_#qtT|7L)s2Xyn97#SEqH({cSSK%U zJre_i7bu+3+;avheg-NI$|Inl-VJppy7(R(;-K&W`4?S1H`HI~;-GRGRF1*QJCL0q zZ21!s-;mmjfdRdoj)cm?%Jpn0Ukap|fq`Kzln;|%59NdMI7rDMC?8aIfcULYKCFEI z$p#5mre6?uz|`G^`WsywR1SgsEe=%=s(V1@YC!p*G7ZG%_yaKy<}Q#J2*b)z7`>ne zQl3sgtJhMX`o%$-7#J9;p?pwT1QJ45zW_~t3z~X#{U9?y7#0pN_XO;NxaR=$3=V~Z z5dLhad9ZLzV_;waxoz8Dh(BTCi#Zt>KzSEkd<`c911Qc;Le+!HRgnFn{~-Ed7NYcgD*;CU|`q}<-_9t3Y4!6 zQVeQ`ptT?VL*+q!0x6OF5Ag@gz1mQ|7D$qTfgu!)Uk~Mj!Vsh+oRxtAq!*hw=%PY& zaW6JVeTXhzfkV6!Dn1QrFU+593=9m)3=9mbq2iF(W?(>92b#tKg~cYQI#{}25CQQw z3&;};3=9X*;>7?h+zvqXb3@gihVnsa1|*bW3o#Ft9zR0m*+7z@@{E9a-=XSZ@s4gk zFSK<7ORpap7#KilKmjTaYY%|p6;z+1i*qqBFo43r11-OU%3x4Dp^HZ`Fff4J@{ASI zQUb9-URlM+zyK}_^&#SxAVCHO23u1IKLN@wgx0Tfq2jQ18tAfDP+5R3uFnq1Kj`A? zSs?L@F8-bcQs1MCe_)1`i>+o5_rTII=*)Rgy@)Qpmyvb5}iVPc&TcP@4`NI~<_lMe(&&Z{R(vPEM^7< zP#*|gJeL_#4xo!yF+}_O) zlt<|5XRk$wK34`kv1_lO!LT0dN1zNrO z5Na;W9bch*kY7O>8qm~>Swq|fQ?CW(!^(3vC?D3JK(BWvLgkAx_Bc40|Tf{gD$Sj z2=SA-9VEPA?V?yHAG9_Tj14G6>JVe$Fl zJtRI4fEpqo1yGExZo)^1x`a;<8mbIDt_Who%rp25k$(WCL2@9BVcr*rI)QHx8l(n< zG1PsB$UA^8t7l+fnBoWtmk5wzPyu0jM~L50Yw!j;k>{L)7Pj1fgwTklh7PaZsKFNujF)mH(hP zMHlyAfQ+-Di-T@n2bBfr;<}8Gb_u$;Ar5gP9O9E1A>)nc=71JtgYpcz_;UtG{}WyO zE3|!%F8&3F_!1oA8PIW4baQqxGBEHnFfgEt?}3U>g@!w*KMe|Z(0D1ReSj_w>VJXC zNObY1ObiU5_yg$$VOaWt(F$82J+mrkdH}W2LF&-chbuHap^JmkAt>I_(-|mTg4`n- z3Q13}@<9*Ehowi*m?5ZaKo`FR9p6M37iENuYom*c;Sg6~gw)UI>J=FwR&H_s!s+f zW?*0d#WzR~b2!8tSbqm}z$>h51}TNbBaDW{XCj(D(0DqizlttC8ye30q3Sb1hB7cP zWHUnAo9NVjrlj2;zg%7pU)-0u_g~k3iu7(%%mihm9L;gYseO zK@R|fgZu*$2Zb5P z&vVekVeUN!6^GT!F!A?LahSdO(0rJfg6bYndIZ^vE)H@dXyyoA92BmgkrZ_CcpT;@ zLEBW)(GYuKWeU3fI%s+_hpL0QI~mFcr4vwifbs&Ud_WfmZJ+`916|w=YCpO-XdDEa zdQdtB`5Rq*HfXGlfq?;Cycg|M;jzyJzAboF}~ApLf9@nbm5KMys3B{Y0s z=?FB=1oGE)s5mIzLE#1pcaXj4;)YQ3*P<@InZovQzx@On^ras;Xlmp?!!d4tq3CPUokjKjRSQ2)9RP`3c8t{til)b0WqiJlG? zL)9IEs>78|uQNf~-RSxmq4NnPsStOA+GZeoKy@9c4T&xes;5AC23;J~egf%17YDVy zu!)1}7tmM|x_XeEp#1b7>K{-)7UUilR!IND9oqf^m7ySU^mb4l17!RXB!`S)ZTAVQ zK%+Yh40E977(*3->PJvp5nUWqci|ETg%!Gbke{%r2Z>`-4=TSwZOHRb_rS_6P<;wY zOf-yAbp_rJ1DLX zY=MLqs67J`htUrIYQ2xSZk2`d%BLS)()V>GlM^6`^b||Qw zG6$*-6kpiXf!2+I)Gddq1BDefb)fJ9soP9I9cUg4q;5Y{9WHx8^NApJr=aRUa{$=v z1@%io>h43;;c_3S9Su_V8mbO7_JGYiP-VT5Oa~`Kx~*iY#k*?3>m}Z zA2_1whl#`J1DvSxpfU|)4lH~ep!PRF>4Z{<`f8{@VC^ALeFI8!=;ENfj!hg?eqa*^ zjcb6~lj!E;L)*dV;sp$l_7A!^Xr2Hx7lBP2R92&lgVG(StVS0H^;bb{5p;1-J0H|G zMHk=702xn07w=+VVDJR3!$AwTZfJWPT|Gz~RDYq1&t-tjhoOr%LCYs}aZvvS)Q>|K zhmGg1fw~7)AA{Owpm{iSagbZEiG%uE*u+8Q8>o&%HwRSyfa(`?aZvbx$_{jKIYvl7 z0$m(5-V3U$(8Wy{85lriwJda=0@kmZ5DBW?85kg=nG6hJPg4{Zmdi-X#WARE!em6;&(@aWqAIu0DzvzL6%M@t%&4AMDq2irTdJU9@shb1k zPlwXWp)^c>B9y-nO3#6sy8udWf{Me`!{|P!_&g}Bk`3{v3Upl$Ox+Zy{1Paw4wVOm z1u}+}gBPIX+Tu)zd7yR;NF6BrK$tNLA|4A8WME)$WPr5upj`MoBCOnm&CkR^^?}+c zAhlg*A?Cp5d5%KYCAUJ=fzk{%bt|Ci(DlE9j-#N9gXSwh<1y&si=pdk(Zv_w5TAoX zd^S`(VFIK+K(99p1VAgD7#J2n=?j7ozQII@|3PaEK>mEk1}PWO#ZRz8#>udWgUWSu z@jcLab~R{v0F6_E%m2es3{Yv&pv?uW%2jNZ@%5eJ!pjN$3!A*dIHkb&ug z(HB}F`j0~673Q7@CdfJ;baBx5A1IBqLfsE4BSEIWWP{{Gba7B~78Jke;^&wl;}C11 z=D^w+_n`BM=;{NQA?phMLe+!%M<9DepyLlP|ANFo*bthJVB+Zf3vCd8gZd*N^|0_r zXorYT=z!1#(C|f%M<3{VvNt)PScCMDLFObeLe@o~i^Ik>(8V9KK-O6aOtdyAoWY2d{}?sEp+^PFH{_~e*mOzdmh9d&^`tbUp61Yhm9+7 zK>4ut_GA{w`u0euIL!PD(0v3TGe8(UUkR{4@{t0RE`sWZ^+&p(<3RrZICy%j1Bu6v+!$RPdb z>aCd|<4Ne^p!GSRJ|eof1v_Nj(LJd7pgB^IxtEwA?JsokpG=T(Ms)Gt(D4;?aSmq4 z{4lz>2oCW&Xg)$$U(XC#?};uxg&DG52wfbs9t_mhLKmNf!yM51E^O*|<1l{%)SS1_ zaD%n`(CvHA3JG6On1V1YAH!&aEs%U10Hwu?A?X8_4(BmI@*leRP3X8e$V?E1nFpgk zh(OXMgBXOyrXMsW84R@#7Vn^=#z6H#5>y=KFPM8Ks6os_@BeLpio@~)$W0&&8q)yL zFn1|PLG&9yX`K>?f5B}h1_lOuC?C?xV_Otc+AoFn5>jEZ_Z~&s<$7|I8=xxxO1+KcZ00;u=|D7^tn!`undi;Q96e*voQ0@NPZ_&j<%!Sp&n z8L;%3APotR0w@iY#%Px=_z7vZ9DvfSWsq=#jc2Dr*CE5)1v6(6G`wKx2VLF}Y7T7t z4!vEVRROUF)Mf#hX#?eh`rIHsXdeNn{}%=ohm9-1+9NGcaajEV%O_Kz;-E1DkU5}! zunPkN1G+e<9}LSYAa$^CgV76WA?4WtG#aE9gkkDn^aH3mhB}Bo7`+kd9$0+`>aT-h z<_uIE*1ktq2O4Jpg$24eXg(S=_WBK~A6Bj@R6@cNR5ya$_X2HwJ7|9%D6G)MLHmzD zDIf!?AJk6=>E8_H!_on0%mZY@eW*Ch9+3Y*<7v!QAXx?m(6}r}zZ;Yf8ZQU&LG1}p z9HEPY)*FEQ$yg214~u8eEf=7^I=c7-XnRc`svcJUf!fQUutXOJ^;f`Y#vCNe!0;a0 zzF{bU*e3uLSAfz&P;pf#Z4RYfpmY$FPKVOPP`VCEPlnPfp!9YqeH2RHfYSe1rr#0Cit0ls^YbZ-vr_q4WhPy#ZSOKY{Z9Lum)7IlR#Ps|=+rptLiT zj)c-_P`VIG*Fb4doFZdb{-0nDO5F?$4i*slfhC02MB5)dgB`LT#J~$8k6vybfQojo|8zB2FpnTYYXEUJtEH6RDVf$M^>tjK7=r%y~!`lDo`cs)8?QnE) zP`?PI(;*1rjxwk@F(5}k$Lv7)2o?@dVTMakb+B@>p%9`UCXe2pXQ+qBFM!ftq547N znjk%(eaN745yVEuFnbdkA^HoTbOV%DL~C!PHiCQuS)&FrXCagi+BXB@gU02+Wpfim z9jsmi$$>B^EI~9V|AXicQm~!?h{wQyE`I?k4^!tb3p5JJ!05VzB@F(!TK?vH~?W-{)W*3 z(x6%sBm=>)@Pg3~py?AL3)uqzV#DMoxI;=L1!ai+3@Q-%f*quugsEe=0LlNbcHEWo z5I(5R2bre|m523nbfO{pVdLr+mr>O_p{e({3XzAlniy=*^gn>w2a`X6=00wyc`*09 zf~tr3j)6e~%{&39dYFIYp?sM8g`s?ydC#Hd!PMV`@?r88Xy$vM>1RXZe}d|V+4lj> zKQ>VHFnQ-osNrLRW}gZg-w3K7QVTFJ{Ds;FbH4#p9u__!X!<3f^04rJ1Jw_6j{%zc zA5eK%c-({XVdkT|pBZXC%sv00^%BgzSD}2EeSv8He}g6;50wYiy`c1X1}YEZYeVgW zx$g{gJ^_|KjXELW3sXPkG=vXpH-OH~0L|;QG(*HeZD^1^Q=xp=`2Q{z$oMp_`apmK zQX@7%=>?Xc7BvF{db_Ba3w0g=WETj-@;&TamkH4J6lfk4BoCSo0J#la9CQu_HgV9p zc#t@Hc%z3WdibNKpM+LOxWMA`0a|*Nu!ocfu=3;sv|S40qsJ$@`+q>!Poe8WSGS%S zvR@Znd<_n9ZWhQsYIOCY%#d+qba8PU;%Yd|*MN#|fQApOUPCuGi5W7Uk1l?a1-pNY zq38D~v_Zlh)E@-J|6k~SWpr_EMuv7dp~jDhyoqls%m$JHB*A@K$>8yiM9 z?;y0@jV{g#ov%a}=Yy{QLKhE$?r%mH_hf>^3%dA49O^;iouGCyy82_xkhwZ^@l(v$ z!|4fhpE0`n+su&pUvzPE=>Au9aSP}?2D-QlG##Rge`kS=f1``*vO?B3po^Q~5I2C% zgQ2U}V1dT<}T+z)hVuR!Zba4T8?CC)g zhj>3bWFCy61Cnn*egUOx^mz+(d$QOe^91PP&g_tUi!Oed9nybHhS~$#HvzH-U7ZdG zB)x5essru!0;vmv?gv8`2aOwn#!t}2r$gs~t)cZ8XuS-`9MHHYsQ`h9e9H|Tf`y0|-ZpB1`z79(Vy0bP6wv>Zbh z2d%RPg$ufPE3_Qb=z_#IXk7!y|DgG9ka~3Sxlnu2#iv8pJ3v9Vi-XRE0Hj*E4{IlZ=3PMP7+oARJ`Zvqx;SWGEjICq z&~h4GJ?MNnkbls{k3;hby7(FBIvaFxP&k6}3A%VV^!yie@%vE!ql-(kK*nX!#rvV{ z7j*HRERb}DE`A(`_!}0;8HniWzpyYcfaX|}p#4WsJp+ml(7I62m>+sMi{39m@3)|r zi|G9l^nN*d|AJ6I2i={YpyddNrTXI11HM+PP2Ll6W?-aUt1P<{e4oE)h+-GQ850E>5%#cbPfW@f_2a}Q0U^Ib3{RP54t#LJs4>I_abz?2CUxz zYO{gXcA$%c=3hZ={|nH0KgcK)1B2ych&w=a8^|5#`f{M|LKg>(GlAN@=;F7b?J;!m z|Im62T^zK259D6Ca}amH>RZq{dQiGX7YDTuL38@(;s>B}Z|LGzplfnfpzCX4?RHQ* z7i2!VxH+`H;4lT^9$5T<&RYeA5xV#?X!{#odazW19)1L})H)tI)NW1{bhxr>6uAsSc7wEVpZ2V1O z9%P;dLNYL@pSHbyvB7+E0(6`XmTnmqLR7%Ub$jb~t}`)Sd2InSUBSc)7C_X2+9Du# zz{~@&K^SHpjAjS`rCg8<1jEE(G;E$@g8@Vx%-t~BU>{^3=9I6 z5P6tB7~KFBN6%-V_8=(Vpo@1x*Le%ig@iZEpE6KBY~0!l%7@KMgU$m1xxjTEL?3M3 z&_O64lqNwTz&IZw4_ohxeqL1#R35Z$0;Jw|Aw)eWPlEXIP(EzFHV?{&jn5WB`4C+U z4B=?y(`BeUY&_loZ9MlbR2~*Ts!Jdy!ThZa<-^w5tym6`hpi)tLMtE9&D*yUq8_%+ z3f=#ES3~4MWAY&XMy!GGLE|PM{wgRR=6{v75P8^o6%QyMmR`~A7h4BW4@or)4Ej($ zWOj^!0bRWnR34V@(B;pqhnNQ{%R%l#m+$xu8D|BR0U&uo_AT5BF%K4==;ob;%EQ6~ zU0!}0L_cg?%6&J44?3#`WIwuk^l}xnjsg@m=;EOBqd@IK0xUWb&zn`P!FLQ8X$B6l!mE00Od0@LgXEw^a3b-07^47LF5&nbODrZfYKMJ zL_0J??3n{mh07}EmIe^B00Od2ZL(PNI4p2G)N;g1hm^lle`~y(>0hDIwfSLoP9iTK! zUjiDx0m?rBr4>3M`V*k^0w~SU4G|xuN5cVJ1B|8za4?LN{NS(`($0YOS3&z^LH$@* zI}#EY3=D+!MWC-Ehv|d$YhmsBf_;#DHsLCShPBUN@(&t8tr!M|1X)P`0bO390wOOU z2a$*AgV7IUAm+mChxr3W!}=`&7a{6k`d~D}C5ZS3F6`!C(1VD>%!lcN(GyA`?!zVj zzye}^fic7!bpI`=gy?tRg~-Fqh0zK|5b=a-5OXl}*Ff|?xD1hp^;cl}7hHjeC)|Y4 z==udTAmRzPAvC)Df-;EtxcryU0U8ZpVCXvuNmsCYjDi>$7(ne!ba6-Mx%cSe=U5=? zZP3L%pyQS3;xnP+o|e#lIc%K}XfFZCC)mV6eIayl(78CEHA(2}jX>i&pm7m&ac$_m zR19Yz{so7&_hq+y4scr@;DpAg!?U1EU{UL3(OT(0KvS z`F$XD=;MIw+|c=bkR%nbK?Wq;9H2Ce52In?RIrMwM!?)hRYOM&8x4UW5&{9x{5ncQ z%CFII7!3zd)*UJ70OVI>3~P^1fSxaL0XqH+J8uNEjtbPCIbZ=9hlRDD(ANcCK$DM! zj+;YTCz$ulJs?qiJk&hcJP#rBKagmC0n~ihxIVi7stCw0gUZA9rJ#@F!@?ZaZiBV^ z7C`sA5$XrP^uyu{M#K71FnO4{FxsI7<|Bv-nEf!C;69j>px9?%IB*0~PQb?DVfr^5 zg@`BIg3vH=7!B(OZkUBb{yIdQP(Kvndc@r;F#j*O3(+62974nFh0zH`kbW92{Tsv~ z`wSXnAT)YEE1?R~&mz>1JFp&N4=jJc>}L>!m>a+iq0z&y0V?j$gWdfP9z()E;RQq< z!+i}9_rd%Jvlm7O+=1vjuna=O#9?&9PKY=z{SN*Rf5GHo;SQq{K11{iK+Oluae&mq z%n$eokq3!^FiadqI|M+?pMC?y$8cC#257(gjHA1V%;Uqn|2 zTmMLCzsUjUJ`>n}lg?WZ`(UnytY%GegLIm=D=uP6Nou>P&yk*&xX<;p!XFv^kWvgwobf+7?PXKxr4~ zK163I-xW%`LupSa?E|I#p>z@VP}sg%*#2MGK1=j?#}$r)H66p!DSCQ_ zrCZoKVhd=#%!ATC(Db+!ntlSH{3q8S^#^R9qYqR)EI-5YH!QzDhswkD<$6K+x1r`f zgVLH%aoB#>e^7Dp>k#`sLHTM>bsSK-5=w7}%11!?51@QWC_e*AAA^d^L-{|U{9-8I z3QFIAt`qWr`uhM>od8rGwhtJ#P8+s<8@8^y0@~iGh0-O^{8bO79iZk`Lj7l83F)u3 zLitmmv;$OpF_gavN*{#M7ohZADE%Hv|AEq6(01BtsJrh$_opv`@_V4}m;j}pL*-9F z_qkty($}CgsO^Id9}tJMdq(NeZ~&!`(R45}(*Y>%kuj{_h%5$T;}Qq;i$L<|7}k$Q z7l(v0x+vss6iiXb*|gZiVf|oqIoQ5hbaB`@Ht6E8`8;%S*m+0j;-Gbg=wcu~XkQ_S zM#rG_;pk!@{sRz!4Z}MAXmSoX#2avkAHX3F+V_WMG??1}8%PB6kOSPApfS3&0%Lj5#i58@P z1RFh1ur4tf^MW6 zG(N+ibQ+W{gVJqKdK#2o2Bo(_>0?m(8kBwprN2RGHbF>;h(T#JD2?up!NON~2#qi* zJLp0T#9RkxenB_h04m;a7kfOx)Ej)oFAq~kF8$yU#GMWIAT-RJ4Vuu50TUpRc6fnm z9+R7PvYX15(_=cnEql13<$9-V%rMq15Pv6*M4l zmBg@-OQ94|ZRcST2j!3ks5r9wL1X-jq2e$zKr|@l%)}xNnv+-u6-PD)l%w`Q z#Zy2AKrv{K$$6+aR0vFgs+!wa#6fGvUqQu@%>kW>^%E)%(hD{OcAqMA{S~q}sLJAo zii5%mrXF-QmjqNCCI+HG`>u7M;xKbyw7avjm4ZfcQGRi8Nq&BguAjStp`MY6o`IgR zg+;ujNs^^SqKT%0iJpa?DML|daY?d5S!z*nW`3T6p`L}Yo`Hgfr9qOhX`-2tv4W9- zk%_LMp{|jcCPQdaXoz4YYd_|%Hz)Pj=ulEkE(R0h2gh=!7+ z;$n!&@rgx6iIog`$tC$k#SD5W5GpIVh(Qme6yzekqI|IH6LT|@A)*X=VExJYxw)x% zphK-e5lI0CrBzV=1m$&*F|c_w7<~gI$-uw>%JU$3Sh@n`br2tvm%jb~pAXXyn|FiJ zuyf1M^@H?+Feq(;%z){K&C9{)7a&RKetb~ggV_&jhJi-^L1x4B!{+&5G;CfEWETj7 z%mC3a3>tj{&7r~c!{*Ik^gpOVkR2c8V@iwhz9kuKw%2gZvfQ?qZvSwAcas2D_>wVXg?8130yyP z9?t+ucR=;QD473YG^o5p)_(x14@Pg40HqL^Zp`7{EHwYa=AB_QsEkMGMw|-)69cXD z0@)9XKL!Knd=`}Ecma}ysYc9O!$c~e_QUjZNI>dO7%c({Aedq-;SaiJ6l4QTzd|uY zKa9S>4~lt&0kCj`iA+GV|3ee#R2v2c82x7l$aI)$O#d%}>SqQeLIwtg50Ri8#lY~v z6GEeRbI|Qy2~CqQ{jhm{2``9#OIX5yIssij=$u(l9Kn2vt{;6pA51@t-VJj<)cgqO zI)ezP{jhWjm4?sX!}y@{{XroFvp)l>KZ8j9C(-P$faW8@#W*<8L9Gd>!6YhnE4NM t-#thL`nVHJKPY`6bVJHY5FexmM#I7m#D`(=FA)2GzyzQ)OdpiX008AsX1@Rc diff --git a/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/README.md b/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/README.md deleted file mode 100644 index 5848a6c6..00000000 --- a/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# `@rollup/rollup-linux-x64-musl` - -This is the **x86_64-unknown-linux-musl** binary for `rollup` diff --git a/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/package.json b/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/package.json deleted file mode 100644 index 299d8edb..00000000 --- a/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "@rollup/rollup-linux-x64-musl", - "version": "4.28.1", - "os": [ - "linux" - ], - "cpu": [ - "x64" - ], - "files": [ - "rollup.linux-x64-musl.node" - ], - "description": "Native bindings for Rollup", - "author": "Lukas Taegert-Atkinson", - "homepage": "https://rollupjs.org/", - "license": "MIT", - "repository": "rollup/rollup", - "libc": [ - "musl" - ], - "main": "./rollup.linux-x64-musl.node" -} \ No newline at end of file diff --git a/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/rollup.linux-x64-musl.node b/node_modules/.pnpm/@rollup+rollup-linux-x64-musl@4.28.1/node_modules/@rollup/rollup-linux-x64-musl/rollup.linux-x64-musl.node deleted file mode 100644 index e91a5fe2d8c3a0736d3c4d71618fac1cc309bf71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2489368 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�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

i79rVpBh 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 z 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�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

rlgQ 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

WkiRaC;B5m*lWVFYC2eps7dL9mfY={{IgdKJaL^ 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%0A_dSo50Av+jJ*7kRM5O4 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

#4UeKD`rOd3mc^K9)vo7Ujc*xAULI8AW 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%0AYwkYdUQN~U&o>^jy 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 diff --git a/node_modules/.pnpm/@types+babel__core@7.20.5/node_modules/@types/babel__core/node_modules/.bin/parser b/node_modules/.pnpm/@types+babel__core@7.20.5/node_modules/@types/babel__core/node_modules/.bin/parser index 69710994..518ed2d2 100755 --- a/node_modules/.pnpm/@types+babel__core@7.20.5/node_modules/@types/babel__core/node_modules/.bin/parser +++ b/node_modules/.pnpm/@types+babel__core@7.20.5/node_modules/@types/babel__core/node_modules/.bin/parser @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@" diff --git a/node_modules/.pnpm/@types+babel__template@7.4.4/node_modules/@types/babel__template/node_modules/.bin/parser b/node_modules/.pnpm/@types+babel__template@7.4.4/node_modules/@types/babel__template/node_modules/.bin/parser index 69710994..518ed2d2 100755 --- a/node_modules/.pnpm/@types+babel__template@7.4.4/node_modules/@types/babel__template/node_modules/.bin/parser +++ b/node_modules/.pnpm/@types+babel__template@7.4.4/node_modules/@types/babel__template/node_modules/.bin/parser @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/parser/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules/@babel/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/@babel+parser@7.26.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../@babel+parser@7.26.3/node_modules/@babel/parser/bin/babel-parser.js" "$@" diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react deleted file mode 120000 index a55ad8d7..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react +++ /dev/null @@ -1 +0,0 @@ -../../../@types+react@18.3.17/node_modules/@types/react \ No newline at end of file diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/LICENSE b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/LICENSE deleted file mode 100644 index 9e841e7a..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/README.md b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/README.md deleted file mode 100644 index ac85c8e8..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Installation -> `npm install --save @types/react-dom` - -# Summary -This package contains type definitions for react-dom (https://reactjs.org). - -# Details -Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom/v18. - -### Additional Details - * Last updated: Wed, 11 Dec 2024 02:54:10 GMT - * Dependencies: none - * Peer dependencies: [@types/react](https://npmjs.com/package/@types/react) - -# Credits -These definitions were written by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com), [MartynasZilinskas](https://github.com/MartynasZilinskas), [Josh Rutherford](https://github.com/theruther4d), [Jessica Franco](https://github.com/Jessidhia), and [Sebastian Silbermann](https://github.com/eps1lon). diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/canary.d.ts b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/canary.d.ts deleted file mode 100644 index 827928da..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/canary.d.ts +++ /dev/null @@ -1,184 +0,0 @@ -/** - * These are types for things that are present in the upcoming React 18 release. - * - * Once React 18 is released they can just be moved to the main index file. - * - * To load the types declared here in an actual project, there are three ways. The easiest one, - * if your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section, - * is to add `"react-dom/canary"` to the `"types"` array. - * - * Alternatively, a specific import syntax can to be used from a typescript file. - * This module does not exist in reality, which is why the {} is important: - * - * ```ts - * import {} from 'react-dom/canary' - * ``` - * - * It is also possible to include it through a triple-slash reference: - * - * ```ts - * /// - * ``` - * - * Either the import or the reference only needs to appear once, anywhere in the project. - */ - -// See https://github.com/facebook/react/blob/main/packages/react-dom/index.js to see how the exports are declared, -// but confirm with published source code (e.g. https://unpkg.com/react-dom@canary) that these exports end up in the published code - -import React = require("react"); -import ReactDOM = require("."); - -export {}; - -declare const REACT_FORM_STATE_SIGIL: unique symbol; - -declare module "." { - function prefetchDNS(href: string): void; - - interface PreconnectOptions { - // Don't create a helper type. - // It would have to be in module scope to be inlined in TS tooltips. - // But then it becomes part of the public API. - // TODO: Upstream to microsoft/TypeScript-DOM-lib-generator -> w3c/webref - // since the spec has a notion of a dedicated type: https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attribute - crossOrigin?: "anonymous" | "use-credentials" | "" | undefined; - } - function preconnect(href: string, options?: PreconnectOptions): void; - - type PreloadAs = - | "audio" - | "document" - | "embed" - | "fetch" - | "font" - | "image" - | "object" - | "track" - | "script" - | "style" - | "video" - | "worker"; - interface PreloadOptions { - as: PreloadAs; - crossOrigin?: "anonymous" | "use-credentials" | "" | undefined; - fetchPriority?: "high" | "low" | "auto" | undefined; - // TODO: These should only be allowed with `as: 'image'` but it's not trivial to write tests against the full TS support matrix. - imageSizes?: string | undefined; - imageSrcSet?: string | undefined; - integrity?: string | undefined; - type?: string | undefined; - nonce?: string | undefined; - referrerPolicy?: ReferrerPolicy | undefined; - } - function preload(href: string, options?: PreloadOptions): void; - - // https://html.spec.whatwg.org/multipage/links.html#link-type-modulepreload - type PreloadModuleAs = RequestDestination; - interface PreloadModuleOptions { - /** - * @default "script" - */ - as: PreloadModuleAs; - crossOrigin?: "anonymous" | "use-credentials" | "" | undefined; - integrity?: string | undefined; - nonce?: string | undefined; - } - function preloadModule(href: string, options?: PreloadModuleOptions): void; - - type PreinitAs = "script" | "style"; - interface PreinitOptions { - as: PreinitAs; - crossOrigin?: "anonymous" | "use-credentials" | "" | undefined; - fetchPriority?: "high" | "low" | "auto" | undefined; - precedence?: string | undefined; - integrity?: string | undefined; - nonce?: string | undefined; - } - function preinit(href: string, options?: PreinitOptions): void; - - // Will be expanded to include all of https://github.com/tc39/proposal-import-attributes - type PreinitModuleAs = "script"; - interface PreinitModuleOptions { - /** - * @default "script" - */ - as?: PreinitModuleAs; - crossOrigin?: "anonymous" | "use-credentials" | "" | undefined; - integrity?: string | undefined; - nonce?: string | undefined; - } - function preinitModule(href: string, options?: PreinitModuleOptions): void; - - interface FormStatusNotPending { - pending: false; - data: null; - method: null; - action: null; - } - - interface FormStatusPending { - pending: true; - data: FormData; - method: string; - action: string | ((formData: FormData) => void | Promise); - } - - type FormStatus = FormStatusPending | FormStatusNotPending; - - function useFormStatus(): FormStatus; - - function useFormState( - action: (state: Awaited) => State | Promise, - initialState: Awaited, - permalink?: string, - ): [state: Awaited, dispatch: () => void, isPending: boolean]; - function useFormState( - action: (state: Awaited, payload: Payload) => State | Promise, - initialState: Awaited, - permalink?: string, - ): [state: Awaited, dispatch: (payload: Payload) => void, isPending: boolean]; - - function requestFormReset(form: HTMLFormElement): void; -} - -declare module "./client" { - interface ReactFormState { - [REACT_FORM_STATE_SIGIL]: never; - } - - interface RootOptions { - onUncaughtError?: - | ((error: unknown, errorInfo: { componentStack?: string | undefined }) => void) - | undefined; - onCaughtError?: - | (( - error: unknown, - errorInfo: { - componentStack?: string | undefined; - errorBoundary?: React.Component | undefined; - }, - ) => void) - | undefined; - } - - interface HydrationOptions { - formState?: ReactFormState | null; - onUncaughtError?: - | ((error: unknown, errorInfo: { componentStack?: string | undefined }) => void) - | undefined; - onCaughtError?: - | (( - error: unknown, - errorInfo: { - componentStack?: string | undefined; - errorBoundary?: React.Component | undefined; - }, - ) => void) - | undefined; - } - - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_CREATE_ROOT_CONTAINERS { - document: Document; - } -} diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/client.d.ts b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/client.d.ts deleted file mode 100644 index a0e070ac..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/client.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * WARNING: This entrypoint is only available starting with `react-dom@18.0.0-rc.1` - */ - -// See https://github.com/facebook/react/blob/main/packages/react-dom/client.js to see how the exports are declared, - -import React = require("react"); -export interface HydrationOptions { - /** - * Prefix for `useId`. - */ - identifierPrefix?: string; - onRecoverableError?: (error: unknown, errorInfo: ErrorInfo) => void; -} - -export interface RootOptions { - /** - * Prefix for `useId`. - */ - identifierPrefix?: string; - onRecoverableError?: (error: unknown, errorInfo: ErrorInfo) => void; -} - -export interface ErrorInfo { - digest?: string; - componentStack?: string; -} - -export interface Root { - render(children: React.ReactNode): void; - unmount(): void; -} - -/** - * Different release channels declare additional types of ReactNode this particular release channel accepts. - * App or library types should never augment this interface. - */ -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_CREATE_ROOT_CONTAINERS {} - -export type Container = - | Element - | DocumentFragment - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_CREATE_ROOT_CONTAINERS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_CREATE_ROOT_CONTAINERS - ]; - -/** - * createRoot lets you create a root to display React components inside a browser DOM node. - * - * @see {@link https://react.dev/reference/react-dom/client/createRoot API Reference for `createRoot`} - */ -export function createRoot(container: Container, options?: RootOptions): Root; - -/** - * Same as `createRoot()`, but is used to hydrate a container whose HTML contents were rendered by ReactDOMServer. - * - * React will attempt to attach event listeners to the existing markup. - * - * **Example Usage** - * - * ```jsx - * hydrateRoot(document.querySelector('#root'), ) - * ``` - * - * @see https://reactjs.org/docs/react-dom-client.html#hydrateroot - */ -export function hydrateRoot( - container: Element | Document, - initialChildren: React.ReactNode, - options?: HydrationOptions, -): Root; diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/experimental.d.ts b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/experimental.d.ts deleted file mode 100644 index 1ff5729f..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/experimental.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * These are types for things that are present in the `experimental` builds of React but not yet - * on a stable build. - * - * Once they are promoted to stable they can just be moved to the main index file. - * - * To load the types declared here in an actual project, there are three ways. The easiest one, - * if your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section, - * is to add `"react-dom/experimental"` to the `"types"` array. - * - * Alternatively, a specific import syntax can to be used from a typescript file. - * This module does not exist in reality, which is why the {} is important: - * - * ```ts - * import {} from 'react-dom/experimental' - * ``` - * - * It is also possible to include it through a triple-slash reference: - * - * ```ts - * /// - * ``` - * - * Either the import or the reference only needs to appear once, anywhere in the project. - */ - -// See https://github.com/facebook/react/blob/main/packages/react-dom/index.experimental.js to see how the exports are declared, -// but confirm with published source code (e.g. https://unpkg.com/react-dom@experimental) that these exports end up in the published code - -import React = require("react"); -import ReactDOM = require("./canary"); - -export {}; - -declare module "." { -} diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/index.d.ts b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/index.d.ts deleted file mode 100644 index 97a12771..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/index.d.ts +++ /dev/null @@ -1,150 +0,0 @@ -// NOTE: Users of the `experimental` builds of React should add a reference -// to 'react-dom/experimental' in their project. See experimental.d.ts's top comment -// for reference and documentation on how exactly to do it. - -export as namespace ReactDOM; - -import { - CElement, - Component, - ComponentState, - DOMAttributes, - DOMElement, - FunctionComponentElement, - Key, - ReactElement, - ReactInstance, - ReactNode, - ReactPortal, -} from "react"; - -/** - * @deprecated See https://react.dev/reference/react-dom/findDOMNode#alternatives - */ -export function findDOMNode(instance: ReactInstance | null | undefined): Element | null | Text; -/** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ -export function unmountComponentAtNode(container: Element | DocumentFragment): boolean; - -export function createPortal( - children: ReactNode, - container: Element | DocumentFragment, - key?: Key | null, -): ReactPortal; - -export const version: string; -/** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ -export const render: Renderer; -/** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ -export const hydrate: Renderer; - -export function flushSync(fn: () => R): R; - -export function unstable_batchedUpdates(callback: (a: A) => R, a: A): R; -export function unstable_batchedUpdates(callback: () => R): R; - -/** - * @deprecated - */ -export function unstable_renderSubtreeIntoContainer( - parentComponent: Component, - element: DOMElement, T>, - container: Element, - callback?: (element: T) => any, -): T; -/** - * @deprecated - */ -export function unstable_renderSubtreeIntoContainer>( - parentComponent: Component, - element: CElement, - container: Element, - callback?: (component: T) => any, -): T; -/** - * @deprecated - */ -export function unstable_renderSubtreeIntoContainer

( - parentComponent: Component, - element: ReactElement

, - container: Element, - callback?: (component?: Component | Element) => any, - // eslint-disable-next-line @typescript-eslint/no-invalid-void-type -): Component | Element | void; - -export type Container = Element | Document | DocumentFragment; - -export interface Renderer { - // Deprecated(render): The return value is deprecated. - // In future releases the render function's return type will be void. - - /** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ - ( - element: DOMElement, T>, - container: Container | null, - callback?: () => void, - ): T; - - /** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ - ( - element: Array, any>>, - container: Container | null, - callback?: () => void, - ): Element; - - /** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ - ( - element: FunctionComponentElement | Array>, - container: Container | null, - callback?: () => void, - ): void; - - /** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ - >( - element: CElement, - container: Container | null, - callback?: () => void, - ): T; - - /** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ - ( - element: Array>>, - container: Container | null, - callback?: () => void, - ): Component; - - /** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ -

( - element: ReactElement

, - container: Container | null, - callback?: () => void, - // eslint-disable-next-line @typescript-eslint/no-invalid-void-type - ): Component | Element | void; - - /** - * @deprecated See https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis - */ - ( - element: ReactElement[], - container: Container | null, - callback?: () => void, - // eslint-disable-next-line @typescript-eslint/no-invalid-void-type - ): Component | Element | void; -} diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/package.json b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/package.json deleted file mode 100644 index 3ffec696..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "name": "@types/react-dom", - "version": "18.3.5", - "description": "TypeScript definitions for react-dom", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom", - "license": "MIT", - "contributors": [ - { - "name": "Asana", - "url": "https://asana.com" - }, - { - "name": "AssureSign", - "url": "http://www.assuresign.com" - }, - { - "name": "Microsoft", - "url": "https://microsoft.com" - }, - { - "name": "MartynasZilinskas", - "githubUsername": "MartynasZilinskas", - "url": "https://github.com/MartynasZilinskas" - }, - { - "name": "Josh Rutherford", - "githubUsername": "theruther4d", - "url": "https://github.com/theruther4d" - }, - { - "name": "Jessica Franco", - "githubUsername": "Jessidhia", - "url": "https://github.com/Jessidhia" - }, - { - "name": "Sebastian Silbermann", - "githubUsername": "eps1lon", - "url": "https://github.com/eps1lon" - } - ], - "main": "", - "types": "index.d.ts", - "exports": { - ".": { - "types": { - "default": "./index.d.ts" - } - }, - "./canary": { - "types": { - "default": "./canary.d.ts" - } - }, - "./client": { - "types": { - "default": "./client.d.ts" - } - }, - "./server": { - "types": { - "default": "./server.d.ts" - } - }, - "./experimental": { - "types": { - "default": "./experimental.d.ts" - } - }, - "./test-utils": { - "types": { - "default": "./test-utils/index.d.ts" - } - }, - "./package.json": "./package.json" - }, - "repository": { - "type": "git", - "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", - "directory": "types/react-dom" - }, - "scripts": {}, - "dependencies": {}, - "peerDependencies": { - "@types/react": "^18.0.0" - }, - "typesPublisherContentHash": "15456a5462ef352f9e36979359f3f69058800e6b78eb73df502bca624fc31eb5", - "typeScriptVersion": "5.0" -} \ No newline at end of file diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/server.d.ts b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/server.d.ts deleted file mode 100644 index 236bc58f..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/server.d.ts +++ /dev/null @@ -1,126 +0,0 @@ -// forward declarations -declare global { - namespace NodeJS { - // eslint-disable-next-line @typescript-eslint/no-empty-interface - interface ReadableStream {} - - // eslint-disable-next-line @typescript-eslint/no-empty-interface - interface WritableStream {} - } - - /** - * Stub for https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal - */ - // eslint-disable-next-line @typescript-eslint/no-empty-interface - interface AbortSignal {} - - /** - * Stub for https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream - */ - // eslint-disable-next-line @typescript-eslint/no-empty-interface - interface ReadableStream {} -} - -import { ReactNode } from "react"; -import { ErrorInfo } from "./client"; - -export interface RenderToPipeableStreamOptions { - identifierPrefix?: string; - namespaceURI?: string; - nonce?: string; - bootstrapScriptContent?: string; - bootstrapScripts?: string[]; - bootstrapModules?: string[]; - progressiveChunkSize?: number; - onShellReady?: () => void; - onShellError?: (error: unknown) => void; - onAllReady?: () => void; - onError?: (error: unknown, errorInfo: ErrorInfo) => string | void; -} - -export interface PipeableStream { - abort: (reason?: unknown) => void; - pipe: (destination: Writable) => Writable; -} - -export interface ServerOptions { - identifierPrefix?: string; -} - -/** - * Only available in the environments with [Node.js Streams](https://nodejs.dev/learn/nodejs-streams). - * - * @see [API](https://reactjs.org/docs/react-dom-server.html#rendertopipeablestream) - * - * @param children - * @param options - */ -export function renderToPipeableStream(children: ReactNode, options?: RenderToPipeableStreamOptions): PipeableStream; - -/** - * Render a React element to its initial HTML. This should only be used on the server. - * React will return an HTML string. You can use this method to generate HTML on the server - * and send the markup down on the initial request for faster page loads and to allow search - * engines to crawl your pages for SEO purposes. - * - * If you call `ReactDOMClient.hydrateRoot()` on a node that already has this server-rendered markup, - * React will preserve it and only attach event handlers, allowing you - * to have a very performant first-load experience. - */ -export function renderToString(element: ReactNode, options?: ServerOptions): string; - -/** - * Render a React element to its initial HTML. Returns a Readable stream that outputs - * an HTML string. The HTML output by this stream is exactly equal to what - * `ReactDOMServer.renderToString()` would return. - * - * @deprecated - */ -export function renderToNodeStream(element: ReactNode, options?: ServerOptions): NodeJS.ReadableStream; - -/** - * Similar to `renderToString`, except this doesn't create extra DOM attributes - * such as `data-reactid`, that React uses internally. This is useful if you want - * to use React as a simple static page generator, as stripping away the extra - * attributes can save lots of bytes. - */ -export function renderToStaticMarkup(element: ReactNode, options?: ServerOptions): string; - -/** - * Similar to `renderToNodeStream`, except this doesn't create extra DOM attributes - * such as `data-reactid`, that React uses internally. The HTML output by this stream - * is exactly equal to what `ReactDOMServer.renderToStaticMarkup()` would return. - * - * @deprecated - */ -export function renderToStaticNodeStream(element: ReactNode, options?: ServerOptions): NodeJS.ReadableStream; - -export interface RenderToReadableStreamOptions { - identifierPrefix?: string; - namespaceURI?: string; - nonce?: string; - bootstrapScriptContent?: string; - bootstrapScripts?: string[]; - bootstrapModules?: string[]; - progressiveChunkSize?: number; - signal?: AbortSignal; - onError?: (error: unknown, errorInfo: ErrorInfo) => string | void; -} - -export interface ReactDOMServerReadableStream extends ReadableStream { - allReady: Promise; -} - -/** - * Only available in the environments with [Web Streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API) (this includes browsers, Deno, and some modern edge runtimes). - * - * @see [API](https://reactjs.org/docs/react-dom-server.html#rendertoreadablestream) - */ -export function renderToReadableStream( - children: ReactNode, - options?: RenderToReadableStreamOptions, -): Promise; - -export const version: string; - -export as namespace ReactDOMServer; diff --git a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/test-utils/index.d.ts b/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/test-utils/index.d.ts deleted file mode 100644 index c6dc1245..00000000 --- a/node_modules/.pnpm/@types+react-dom@18.3.5_@types+react@18.3.17/node_modules/@types/react-dom/test-utils/index.d.ts +++ /dev/null @@ -1,402 +0,0 @@ -import { - AbstractView, - CElement, - ClassType, - Component, - ComponentClass, - DOMAttributes, - DOMElement, - FC, - FunctionComponentElement, - ReactElement, - ReactHTMLElement, - ReactInstance, -} from "react"; - -import * as ReactTestUtils from "."; - -export {}; - -export interface OptionalEventProperties { - bubbles?: boolean | undefined; - cancelable?: boolean | undefined; - currentTarget?: EventTarget | undefined; - defaultPrevented?: boolean | undefined; - eventPhase?: number | undefined; - isTrusted?: boolean | undefined; - nativeEvent?: Event | undefined; - preventDefault?(): void; - stopPropagation?(): void; - target?: EventTarget | undefined; - timeStamp?: Date | undefined; - type?: string | undefined; -} - -export type ModifierKey = - | "Alt" - | "AltGraph" - | "CapsLock" - | "Control" - | "Fn" - | "FnLock" - | "Hyper" - | "Meta" - | "NumLock" - | "ScrollLock" - | "Shift" - | "Super" - | "Symbol" - | "SymbolLock"; - -export interface SyntheticEventData extends OptionalEventProperties { - altKey?: boolean | undefined; - button?: number | undefined; - buttons?: number | undefined; - clientX?: number | undefined; - clientY?: number | undefined; - changedTouches?: TouchList | undefined; - charCode?: number | undefined; - clipboardData?: DataTransfer | undefined; - ctrlKey?: boolean | undefined; - deltaMode?: number | undefined; - deltaX?: number | undefined; - deltaY?: number | undefined; - deltaZ?: number | undefined; - detail?: number | undefined; - getModifierState?(key: ModifierKey): boolean; - key?: string | undefined; - keyCode?: number | undefined; - locale?: string | undefined; - location?: number | undefined; - metaKey?: boolean | undefined; - pageX?: number | undefined; - pageY?: number | undefined; - relatedTarget?: EventTarget | undefined; - repeat?: boolean | undefined; - screenX?: number | undefined; - screenY?: number | undefined; - shiftKey?: boolean | undefined; - targetTouches?: TouchList | undefined; - touches?: TouchList | undefined; - view?: AbstractView | undefined; - which?: number | undefined; -} - -export type EventSimulator = (element: Element | Component, eventData?: SyntheticEventData) => void; - -export interface MockedComponentClass { - new(props: any): any; -} - -export interface ShallowRenderer { - /** - * After `shallowRenderer.render()` has been called, returns shallowly rendered output. - */ - getRenderOutput(): E; - /** - * Similar to `ReactDOM.render` but it doesn't require DOM and only renders a single level deep. - */ - render(element: ReactElement, context?: any): void; - unmount(): void; -} - -/** - * Simulate an event dispatch on a DOM node with optional `eventData` event data. - * `Simulate` has a method for every event that React understands. - */ -export namespace Simulate { - const abort: EventSimulator; - const animationEnd: EventSimulator; - const animationIteration: EventSimulator; - const animationStart: EventSimulator; - const blur: EventSimulator; - const cancel: EventSimulator; - const canPlay: EventSimulator; - const canPlayThrough: EventSimulator; - const change: EventSimulator; - const click: EventSimulator; - const close: EventSimulator; - const compositionEnd: EventSimulator; - const compositionStart: EventSimulator; - const compositionUpdate: EventSimulator; - const contextMenu: EventSimulator; - const copy: EventSimulator; - const cut: EventSimulator; - const auxClick: EventSimulator; - const doubleClick: EventSimulator; - const drag: EventSimulator; - const dragEnd: EventSimulator; - const dragEnter: EventSimulator; - const dragExit: EventSimulator; - const dragLeave: EventSimulator; - const dragOver: EventSimulator; - const dragStart: EventSimulator; - const drop: EventSimulator; - const durationChange: EventSimulator; - const emptied: EventSimulator; - const encrypted: EventSimulator; - const ended: EventSimulator; - const error: EventSimulator; - const focus: EventSimulator; - const input: EventSimulator; - const invalid: EventSimulator; - const keyDown: EventSimulator; - const keyPress: EventSimulator; - const keyUp: EventSimulator; - const load: EventSimulator; - const loadStart: EventSimulator; - const loadedData: EventSimulator; - const loadedMetadata: EventSimulator; - const mouseDown: EventSimulator; - const mouseEnter: EventSimulator; - const mouseLeave: EventSimulator; - const mouseMove: EventSimulator; - const mouseOut: EventSimulator; - const mouseOver: EventSimulator; - const mouseUp: EventSimulator; - const paste: EventSimulator; - const pause: EventSimulator; - const play: EventSimulator; - const playing: EventSimulator; - const progress: EventSimulator; - const pointerCancel: EventSimulator; - const pointerDown: EventSimulator; - const pointerUp: EventSimulator; - const pointerMove: EventSimulator; - const pointerOut: EventSimulator; - const pointerOver: EventSimulator; - const pointerEnter: EventSimulator; - const pointerLeave: EventSimulator; - const gotPointerCapture: EventSimulator; - const lostPointerCapture: EventSimulator; - const rateChange: EventSimulator; - const reset: EventSimulator; - const resize: EventSimulator; - const scroll: EventSimulator; - const toggle: EventSimulator; - const seeked: EventSimulator; - const seeking: EventSimulator; - const select: EventSimulator; - const beforeInput: EventSimulator; - const stalled: EventSimulator; - const submit: EventSimulator; - const suspend: EventSimulator; - const timeUpdate: EventSimulator; - const touchCancel: EventSimulator; - const touchEnd: EventSimulator; - const touchMove: EventSimulator; - const touchStart: EventSimulator; - const transitionEnd: EventSimulator; - const volumeChange: EventSimulator; - const waiting: EventSimulator; - const wheel: EventSimulator; -} - -/** - * Render a React element into a detached DOM node in the document. __This function requires a DOM__. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function renderIntoDocument( - element: DOMElement, -): T; -/** @deprecated https://react.dev/warnings/react-dom-test-utils */ -export function renderIntoDocument( - element: FunctionComponentElement, -): void; -// If we replace `P` with `any` in this overload, then some tests fail because -// calls to `renderIntoDocument` choose the last overload on the -// subtype-relation pass and get an undesirably broad return type. Using `P` -// allows this overload to match on the subtype-relation pass. -/** - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function renderIntoDocument>( - element: CElement, -): T; -/** - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function renderIntoDocument

( - element: ReactElement

, -): Component

| Element | void; - -/** - * Pass a mocked component module to this method to augment it with useful methods that allow it to - * be used as a dummy React component. Instead of rendering as usual, the component will become - * a simple `

` (or other tag if `mockTagName` is provided) containing any provided children. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function mockComponent( - mocked: MockedComponentClass, - mockTagName?: string, -): typeof ReactTestUtils; - -/** - * Returns `true` if `element` is any React element. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isElement(element: any): boolean; - -/** - * Returns `true` if `element` is a React element whose type is of a React `componentClass`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isElementOfType( - element: ReactElement, - type: string, -): element is ReactHTMLElement; -/** - * Returns `true` if `element` is a React element whose type is of a React `componentClass`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isElementOfType

, T extends Element>( - element: ReactElement, - type: string, -): element is DOMElement; -/** - * Returns `true` if `element` is a React element whose type is of a React `componentClass`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isElementOfType

( - element: ReactElement, - type: FC

, -): element is FunctionComponentElement

; -/** - * Returns `true` if `element` is a React element whose type is of a React `componentClass`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isElementOfType, C extends ComponentClass

>( - element: ReactElement, - type: ClassType, -): element is CElement; - -/** - * Returns `true` if `instance` is a DOM component (such as a `

` or ``). - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isDOMComponent(instance: ReactInstance): instance is Element; -/** - * Returns `true` if `instance` is a user-defined component, such as a class or a function. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isCompositeComponent(instance: ReactInstance): instance is Component; -/** - * Returns `true` if `instance` is a component whose type is of a React `componentClass`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function isCompositeComponentWithType, C extends ComponentClass>( - instance: ReactInstance, - type: ClassType, -): boolean; - -/** - * Traverse all components in `tree` and accumulate all components where - * `test(component)` is `true`. This is not that useful on its own, but it's used - * as a primitive for other test utils. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function findAllInRenderedTree( - root: Component, - fn: (i: ReactInstance) => boolean, -): ReactInstance[]; - -/** - * Finds all DOM elements of components in the rendered tree that are - * DOM components with the class name matching `className`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function scryRenderedDOMComponentsWithClass( - root: Component, - className: string, -): Element[]; -/** - * Like `scryRenderedDOMComponentsWithClass()` but expects there to be one result, - * and returns that one result, or throws exception if there is any other - * number of matches besides one. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function findRenderedDOMComponentWithClass( - root: Component, - className: string, -): Element; - -/** - * Finds all DOM elements of components in the rendered tree that are - * DOM components with the tag name matching `tagName`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function scryRenderedDOMComponentsWithTag( - root: Component, - tagName: string, -): Element[]; -/** - * Like `scryRenderedDOMComponentsWithTag()` but expects there to be one result, - * and returns that one result, or throws exception if there is any other - * number of matches besides one. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function findRenderedDOMComponentWithTag( - root: Component, - tagName: string, -): Element; - -/** - * Finds all instances of components with type equal to `componentClass`. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function scryRenderedComponentsWithType, C extends ComponentClass>( - root: Component, - type: ClassType, -): T[]; - -/** - * Same as `scryRenderedComponentsWithType()` but expects there to be one result - * and returns that one result, or throws exception if there is any other - * number of matches besides one. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function findRenderedComponentWithType, C extends ComponentClass>( - root: Component, - type: ClassType, -): T; - -/** - * Call this in your tests to create a shallow renderer. - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function createRenderer(): ShallowRenderer; - -// NOTES -// - the order of these signatures matters - typescript will check the signatures in source order. -// If the `() => VoidOrUndefinedOnly` signature is first, it'll erroneously match a Promise returning function for users with -// `strictNullChecks: false`. -// - VoidOrUndefinedOnly is there to forbid any non-void return values for users with `strictNullChecks: true` -declare const UNDEFINED_VOID_ONLY: unique symbol; -// eslint-disable-next-line @typescript-eslint/no-invalid-void-type -type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never }; -/** - * Wrap any code rendering and triggering updates to your components into `act()` calls. - * - * Ensures that the behavior in your tests matches what happens in the browser - * more closely by executing pending `useEffect`s before returning. This also - * reduces the amount of re-renders done. - * - * @param callback A synchronous, void callback that will execute as a single, complete React commit. - * - * @see https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#testing-hooks - * - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -// While act does always return Thenable, if a void function is passed, we pretend the return value is also void to not trigger dangling Promise lint rules. -export function act(callback: () => VoidOrUndefinedOnly): void; -/** - * @deprecated https://react.dev/warnings/react-dom-test-utils - */ -export function act(callback: () => T | Promise): Promise; - -// Intentionally doesn't extend PromiseLike. -// Ideally this should be as hard to accidentally use as possible. -export interface DebugPromiseLike { - // the actual then() in here is 0-ary, but that doesn't count as a PromiseLike. - then(onfulfilled: (value: never) => never, onrejected: (reason: never) => never): never; -} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/prop-types b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/prop-types deleted file mode 120000 index a7f2a135..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/prop-types +++ /dev/null @@ -1 +0,0 @@ -../../../@types+prop-types@15.7.14/node_modules/@types/prop-types \ No newline at end of file diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/LICENSE b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/LICENSE deleted file mode 100644 index 9e841e7a..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/README.md b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/README.md deleted file mode 100644 index 0b84cd1e..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Installation -> `npm install --save @types/react` - -# Summary -This package contains type definitions for react (https://react.dev/). - -# Details -Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react/v18. - -### Additional Details - * Last updated: Mon, 16 Dec 2024 12:44:17 GMT - * Dependencies: [@types/prop-types](https://npmjs.com/package/@types/prop-types), [csstype](https://npmjs.com/package/csstype) - -# Credits -These definitions were written by [Asana](https://asana.com), [AssureSign](http://www.assuresign.com), [Microsoft](https://microsoft.com), [John Reilly](https://github.com/johnnyreilly), [Benoit Benezech](https://github.com/bbenezech), [Patricio Zavolinsky](https://github.com/pzavolinsky), [Eric Anderson](https://github.com/ericanderson), [Dovydas Navickas](https://github.com/DovydasNavickas), [Josh Rutherford](https://github.com/theruther4d), [Guilherme Hübner](https://github.com/guilhermehubner), [Ferdy Budhidharma](https://github.com/ferdaber), [Johann Rakotoharisoa](https://github.com/jrakotoharisoa), [Olivier Pascal](https://github.com/pascaloliv), [Martin Hochel](https://github.com/hotell), [Frank Li](https://github.com/franklixuefei), [Jessica Franco](https://github.com/Jessidhia), [Saransh Kataria](https://github.com/saranshkataria), [Kanitkorn Sujautra](https://github.com/lukyth), [Sebastian Silbermann](https://github.com/eps1lon), [Kyle Scully](https://github.com/zieka), [Cong Zhang](https://github.com/dancerphil), [Dimitri Mitropoulos](https://github.com/dimitropoulos), [JongChan Choi](https://github.com/disjukr), [Victor Magalhães](https://github.com/vhfmag), [Priyanshu Rav](https://github.com/priyanshurav), [Dmitry Semigradsky](https://github.com/Semigradsky), and [Matt Pocock](https://github.com/mattpocock). diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/canary.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/canary.d.ts deleted file mode 100644 index 74795b53..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/canary.d.ts +++ /dev/null @@ -1,166 +0,0 @@ -/** - * These are types for things that are present in the React `canary` release channel. - * - * To load the types declared here in an actual project, there are three ways. The easiest one, - * if your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section, - * is to add `"react/canary"` to the `"types"` array. - * - * Alternatively, a specific import syntax can to be used from a typescript file. - * This module does not exist in reality, which is why the {} is important: - * - * ```ts - * import {} from 'react/canary' - * ``` - * - * It is also possible to include it through a triple-slash reference: - * - * ```ts - * /// - * ``` - * - * Either the import or the reference only needs to appear once, anywhere in the project. - */ - -// See https://github.com/facebook/react/blob/main/packages/react/src/React.js to see how the exports are declared, - -import React = require("."); - -export {}; - -declare const UNDEFINED_VOID_ONLY: unique symbol; -type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never }; - -type NativeToggleEvent = ToggleEvent; - -declare module "." { - export type Usable = PromiseLike | Context; - - export function use(usable: Usable): T; - - interface ServerContextJSONArray extends ReadonlyArray {} - export type ServerContextJSONValue = - | string - | boolean - | number - | null - | ServerContextJSONArray - | { [key: string]: ServerContextJSONValue }; - export interface ServerContext { - Provider: Provider; - } - /** - * Accepts a context object (the value returned from `React.createContext` or `React.createServerContext`) and returns the current - * context value, as given by the nearest context provider for the given context. - * - * @version 16.8.0 - * @see https://react.dev/reference/react/useContext - */ - function useContext(context: ServerContext): T; - export function createServerContext( - globalName: string, - defaultValue: T, - ): ServerContext; - - // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type - export function cache(fn: CachedFunction): CachedFunction; - - export function unstable_useCacheRefresh(): () => void; - - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS { - functions: (formData: FormData) => void | Promise; - } - - export interface TransitionStartFunction { - /** - * Marks all state updates inside the async function as transitions - * - * @see {https://react.dev/reference/react/useTransition#starttransition} - * - * @param callback - */ - (callback: () => Promise): void; - } - - /** - * Similar to `useTransition` but allows uses where hooks are not available. - * - * @param callback An _asynchronous_ function which causes state updates that can be deferred. - */ - export function startTransition(scope: () => Promise): void; - - export function useOptimistic( - passthrough: State, - ): [State, (action: State | ((pendingState: State) => State)) => void]; - export function useOptimistic( - passthrough: State, - reducer: (state: State, action: Action) => State, - ): [State, (action: Action) => void]; - - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES { - cleanup: () => VoidOrUndefinedOnly; - } - - export function useActionState( - action: (state: Awaited) => State | Promise, - initialState: Awaited, - permalink?: string, - ): [state: Awaited, dispatch: () => void, isPending: boolean]; - export function useActionState( - action: (state: Awaited, payload: Payload) => State | Promise, - initialState: Awaited, - permalink?: string, - ): [state: Awaited, dispatch: (payload: Payload) => void, isPending: boolean]; - - interface DOMAttributes { - // Transition Events - onTransitionCancel?: TransitionEventHandler | undefined; - onTransitionCancelCapture?: TransitionEventHandler | undefined; - onTransitionRun?: TransitionEventHandler | undefined; - onTransitionRunCapture?: TransitionEventHandler | undefined; - onTransitionStart?: TransitionEventHandler | undefined; - onTransitionStartCapture?: TransitionEventHandler | undefined; - } - - type ToggleEventHandler = EventHandler>; - - interface HTMLAttributes { - popover?: "" | "auto" | "manual" | undefined; - popoverTargetAction?: "toggle" | "show" | "hide" | undefined; - popoverTarget?: string | undefined; - onToggle?: ToggleEventHandler | undefined; - onBeforeToggle?: ToggleEventHandler | undefined; - } - - interface ToggleEvent extends SyntheticEvent { - oldState: "closed" | "open"; - newState: "closed" | "open"; - } - - interface LinkHTMLAttributes { - precedence?: string | undefined; - } - - interface StyleHTMLAttributes { - href?: string | undefined; - precedence?: string | undefined; - } - - /** - * @internal Use `Awaited` instead - */ - // Helper type to enable `Awaited`. - // Must be a copy of the non-thenables of `ReactNode`. - type AwaitedReactNode = - | ReactElement - | string - | number - | Iterable - | ReactPortal - | boolean - | null - | undefined; - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES { - promises: Promise; - bigints: bigint; - } -} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/experimental.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/experimental.d.ts deleted file mode 100644 index 3b71d145..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/experimental.d.ts +++ /dev/null @@ -1,132 +0,0 @@ -/** - * These are types for things that are present in the `experimental` builds of React but not yet - * on a stable build. - * - * Once they are promoted to stable they can just be moved to the main index file. - * - * To load the types declared here in an actual project, there are three ways. The easiest one, - * if your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section, - * is to add `"react/experimental"` to the `"types"` array. - * - * Alternatively, a specific import syntax can to be used from a typescript file. - * This module does not exist in reality, which is why the {} is important: - * - * ```ts - * import {} from 'react/experimental' - * ``` - * - * It is also possible to include it through a triple-slash reference: - * - * ```ts - * /// - * ``` - * - * Either the import or the reference only needs to appear once, anywhere in the project. - */ - -// See https://github.com/facebook/react/blob/master/packages/react/src/React.js to see how the exports are declared, -// and https://github.com/facebook/react/blob/master/packages/shared/ReactFeatureFlags.js to verify which APIs are -// flagged experimental or not. Experimental APIs will be tagged with `__EXPERIMENTAL__`. -// -// For the inputs of types exported as simply a fiber tag, the `beginWork` function of ReactFiberBeginWork.js -// is a good place to start looking for details; it generally calls prop validation functions or delegates -// all tasks done as part of the render phase (the concurrent part of the React update cycle). -// -// Suspense-related handling can be found in ReactFiberThrow.js. - -import React = require("./canary"); - -export {}; - -declare const UNDEFINED_VOID_ONLY: unique symbol; -type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never }; - -declare module "." { - export interface SuspenseProps { - /** - * The presence of this prop indicates that the content is computationally expensive to render. - * In other words, the tree is CPU bound and not I/O bound (e.g. due to fetching data). - * @see {@link https://github.com/facebook/react/pull/19936} - */ - unstable_expectedLoadTime?: number | undefined; - } - - export type SuspenseListRevealOrder = "forwards" | "backwards" | "together"; - export type SuspenseListTailMode = "collapsed" | "hidden"; - - export interface SuspenseListCommonProps { - /** - * Note that SuspenseList require more than one child; - * it is a runtime warning to provide only a single child. - * - * It does, however, allow those children to be wrapped inside a single - * level of ``. - */ - children: ReactElement | Iterable; - } - - interface DirectionalSuspenseListProps extends SuspenseListCommonProps { - /** - * Defines the order in which the `SuspenseList` children should be revealed. - */ - revealOrder: "forwards" | "backwards"; - /** - * Dictates how unloaded items in a SuspenseList is shown. - * - * - By default, `SuspenseList` will show all fallbacks in the list. - * - `collapsed` shows only the next fallback in the list. - * - `hidden` doesn’t show any unloaded items. - */ - tail?: SuspenseListTailMode | undefined; - } - - interface NonDirectionalSuspenseListProps extends SuspenseListCommonProps { - /** - * Defines the order in which the `SuspenseList` children should be revealed. - */ - revealOrder?: Exclude | undefined; - /** - * The tail property is invalid when not using the `forwards` or `backwards` reveal orders. - */ - tail?: never | undefined; - } - - export type SuspenseListProps = DirectionalSuspenseListProps | NonDirectionalSuspenseListProps; - - /** - * `SuspenseList` helps coordinate many components that can suspend by orchestrating the order - * in which these components are revealed to the user. - * - * When multiple components need to fetch data, this data may arrive in an unpredictable order. - * However, if you wrap these items in a `SuspenseList`, React will not show an item in the list - * until previous items have been displayed (this behavior is adjustable). - * - * @see https://reactjs.org/docs/concurrent-mode-reference.html#suspenselist - * @see https://reactjs.org/docs/concurrent-mode-patterns.html#suspenselist - */ - export const unstable_SuspenseList: ExoticComponent; - - // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type - export function experimental_useEffectEvent(event: T): T; - - /** - * Warning: Only available in development builds. - */ - function captureOwnerStack(): string | null; - - type Reference = object; - type TaintableUniqueValue = string | bigint | ArrayBufferView; - function experimental_taintUniqueValue( - message: string | undefined, - lifetime: Reference, - value: TaintableUniqueValue, - ): void; - function experimental_taintObjectReference(message: string | undefined, object: Reference): void; - - export interface HTMLAttributes { - /** - * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert - */ - inert?: boolean | undefined; - } -} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/global.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/global.d.ts deleted file mode 100644 index 8ae2ddd8..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/global.d.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* -React projects that don't include the DOM library need these interfaces to compile. -React Native applications use React, but there is no DOM available. The JavaScript runtime -is ES6/ES2015 only. These definitions allow such projects to compile with only `--lib ES6`. - -Warning: all of these interfaces are empty. If you want type definitions for various properties -(such as HTMLInputElement.prototype.value), you need to add `--lib DOM` (via command line or tsconfig.json). -*/ - -interface Event {} -interface AnimationEvent extends Event {} -interface ClipboardEvent extends Event {} -interface CompositionEvent extends Event {} -interface DragEvent extends Event {} -interface FocusEvent extends Event {} -interface KeyboardEvent extends Event {} -interface MouseEvent extends Event {} -interface TouchEvent extends Event {} -interface PointerEvent extends Event {} -interface ToggleEvent extends Event {} -interface TransitionEvent extends Event {} -interface UIEvent extends Event {} -interface WheelEvent extends Event {} - -interface EventTarget {} -interface Document {} -interface DataTransfer {} -interface StyleMedia {} - -interface Element {} -interface DocumentFragment {} - -interface HTMLElement extends Element {} -interface HTMLAnchorElement extends HTMLElement {} -interface HTMLAreaElement extends HTMLElement {} -interface HTMLAudioElement extends HTMLElement {} -interface HTMLBaseElement extends HTMLElement {} -interface HTMLBodyElement extends HTMLElement {} -interface HTMLBRElement extends HTMLElement {} -interface HTMLButtonElement extends HTMLElement {} -interface HTMLCanvasElement extends HTMLElement {} -interface HTMLDataElement extends HTMLElement {} -interface HTMLDataListElement extends HTMLElement {} -interface HTMLDetailsElement extends HTMLElement {} -interface HTMLDialogElement extends HTMLElement {} -interface HTMLDivElement extends HTMLElement {} -interface HTMLDListElement extends HTMLElement {} -interface HTMLEmbedElement extends HTMLElement {} -interface HTMLFieldSetElement extends HTMLElement {} -interface HTMLFormElement extends HTMLElement {} -interface HTMLHeadingElement extends HTMLElement {} -interface HTMLHeadElement extends HTMLElement {} -interface HTMLHRElement extends HTMLElement {} -interface HTMLHtmlElement extends HTMLElement {} -interface HTMLIFrameElement extends HTMLElement {} -interface HTMLImageElement extends HTMLElement {} -interface HTMLInputElement extends HTMLElement {} -interface HTMLModElement extends HTMLElement {} -interface HTMLLabelElement extends HTMLElement {} -interface HTMLLegendElement extends HTMLElement {} -interface HTMLLIElement extends HTMLElement {} -interface HTMLLinkElement extends HTMLElement {} -interface HTMLMapElement extends HTMLElement {} -interface HTMLMetaElement extends HTMLElement {} -interface HTMLMeterElement extends HTMLElement {} -interface HTMLObjectElement extends HTMLElement {} -interface HTMLOListElement extends HTMLElement {} -interface HTMLOptGroupElement extends HTMLElement {} -interface HTMLOptionElement extends HTMLElement {} -interface HTMLOutputElement extends HTMLElement {} -interface HTMLParagraphElement extends HTMLElement {} -interface HTMLParamElement extends HTMLElement {} -interface HTMLPreElement extends HTMLElement {} -interface HTMLProgressElement extends HTMLElement {} -interface HTMLQuoteElement extends HTMLElement {} -interface HTMLSlotElement extends HTMLElement {} -interface HTMLScriptElement extends HTMLElement {} -interface HTMLSelectElement extends HTMLElement {} -interface HTMLSourceElement extends HTMLElement {} -interface HTMLSpanElement extends HTMLElement {} -interface HTMLStyleElement extends HTMLElement {} -interface HTMLTableElement extends HTMLElement {} -interface HTMLTableColElement extends HTMLElement {} -interface HTMLTableDataCellElement extends HTMLElement {} -interface HTMLTableHeaderCellElement extends HTMLElement {} -interface HTMLTableRowElement extends HTMLElement {} -interface HTMLTableSectionElement extends HTMLElement {} -interface HTMLTemplateElement extends HTMLElement {} -interface HTMLTextAreaElement extends HTMLElement {} -interface HTMLTimeElement extends HTMLElement {} -interface HTMLTitleElement extends HTMLElement {} -interface HTMLTrackElement extends HTMLElement {} -interface HTMLUListElement extends HTMLElement {} -interface HTMLVideoElement extends HTMLElement {} -interface HTMLWebViewElement extends HTMLElement {} - -interface SVGElement extends Element {} -interface SVGSVGElement extends SVGElement {} -interface SVGCircleElement extends SVGElement {} -interface SVGClipPathElement extends SVGElement {} -interface SVGDefsElement extends SVGElement {} -interface SVGDescElement extends SVGElement {} -interface SVGEllipseElement extends SVGElement {} -interface SVGFEBlendElement extends SVGElement {} -interface SVGFEColorMatrixElement extends SVGElement {} -interface SVGFEComponentTransferElement extends SVGElement {} -interface SVGFECompositeElement extends SVGElement {} -interface SVGFEConvolveMatrixElement extends SVGElement {} -interface SVGFEDiffuseLightingElement extends SVGElement {} -interface SVGFEDisplacementMapElement extends SVGElement {} -interface SVGFEDistantLightElement extends SVGElement {} -interface SVGFEDropShadowElement extends SVGElement {} -interface SVGFEFloodElement extends SVGElement {} -interface SVGFEFuncAElement extends SVGElement {} -interface SVGFEFuncBElement extends SVGElement {} -interface SVGFEFuncGElement extends SVGElement {} -interface SVGFEFuncRElement extends SVGElement {} -interface SVGFEGaussianBlurElement extends SVGElement {} -interface SVGFEImageElement extends SVGElement {} -interface SVGFEMergeElement extends SVGElement {} -interface SVGFEMergeNodeElement extends SVGElement {} -interface SVGFEMorphologyElement extends SVGElement {} -interface SVGFEOffsetElement extends SVGElement {} -interface SVGFEPointLightElement extends SVGElement {} -interface SVGFESpecularLightingElement extends SVGElement {} -interface SVGFESpotLightElement extends SVGElement {} -interface SVGFETileElement extends SVGElement {} -interface SVGFETurbulenceElement extends SVGElement {} -interface SVGFilterElement extends SVGElement {} -interface SVGForeignObjectElement extends SVGElement {} -interface SVGGElement extends SVGElement {} -interface SVGImageElement extends SVGElement {} -interface SVGLineElement extends SVGElement {} -interface SVGLinearGradientElement extends SVGElement {} -interface SVGMarkerElement extends SVGElement {} -interface SVGMaskElement extends SVGElement {} -interface SVGMetadataElement extends SVGElement {} -interface SVGPathElement extends SVGElement {} -interface SVGPatternElement extends SVGElement {} -interface SVGPolygonElement extends SVGElement {} -interface SVGPolylineElement extends SVGElement {} -interface SVGRadialGradientElement extends SVGElement {} -interface SVGRectElement extends SVGElement {} -interface SVGSetElement extends SVGElement {} -interface SVGStopElement extends SVGElement {} -interface SVGSwitchElement extends SVGElement {} -interface SVGSymbolElement extends SVGElement {} -interface SVGTextElement extends SVGElement {} -interface SVGTextPathElement extends SVGElement {} -interface SVGTSpanElement extends SVGElement {} -interface SVGUseElement extends SVGElement {} -interface SVGViewElement extends SVGElement {} - -interface FormData {} -interface Text {} -interface TouchList {} -interface WebGLRenderingContext {} -interface WebGL2RenderingContext {} - -interface TrustedHTML {} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/index.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/index.d.ts deleted file mode 100644 index 22634a0b..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/index.d.ts +++ /dev/null @@ -1,4543 +0,0 @@ -// NOTE: Users of the `experimental` builds of React should add a reference -// to 'react/experimental' in their project. See experimental.d.ts's top comment -// for reference and documentation on how exactly to do it. - -/// - -import * as CSS from "csstype"; -import * as PropTypes from "prop-types"; - -type NativeAnimationEvent = AnimationEvent; -type NativeClipboardEvent = ClipboardEvent; -type NativeCompositionEvent = CompositionEvent; -type NativeDragEvent = DragEvent; -type NativeFocusEvent = FocusEvent; -type NativeKeyboardEvent = KeyboardEvent; -type NativeMouseEvent = MouseEvent; -type NativeTouchEvent = TouchEvent; -type NativePointerEvent = PointerEvent; -type NativeTransitionEvent = TransitionEvent; -type NativeUIEvent = UIEvent; -type NativeWheelEvent = WheelEvent; - -/** - * Used to represent DOM API's where users can either pass - * true or false as a boolean or as its equivalent strings. - */ -type Booleanish = boolean | "true" | "false"; - -/** - * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin MDN} - */ -type CrossOrigin = "anonymous" | "use-credentials" | "" | undefined; - -declare const UNDEFINED_VOID_ONLY: unique symbol; - -/** - * The function returned from an effect passed to {@link React.useEffect useEffect}, - * which can be used to clean up the effect when the component unmounts. - * - * @see {@link https://react.dev/reference/react/useEffect React Docs} - */ -type Destructor = () => void | { [UNDEFINED_VOID_ONLY]: never }; -type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never }; - -// eslint-disable-next-line @definitelytyped/export-just-namespace -export = React; -export as namespace React; - -declare namespace React { - // - // React Elements - // ---------------------------------------------------------------------- - - /** - * Used to retrieve the possible components which accept a given set of props. - * - * Can be passed no type parameters to get a union of all possible components - * and tags. - * - * Is a superset of {@link ComponentType}. - * - * @template P The props to match against. If not passed, defaults to any. - * @template Tag An optional tag to match against. If not passed, attempts to match against all possible tags. - * - * @example - * - * ```tsx - * // All components and tags (img, embed etc.) - * // which accept `src` - * type SrcComponents = ElementType<{ src: any }>; - * ``` - * - * @example - * - * ```tsx - * // All components - * type AllComponents = ElementType; - * ``` - * - * @example - * - * ```tsx - * // All custom components which match `src`, and tags which - * // match `src`, narrowed down to just `audio` and `embed` - * type SrcComponents = ElementType<{ src: any }, 'audio' | 'embed'>; - * ``` - */ - type ElementType

= - | { [K in Tag]: P extends JSX.IntrinsicElements[K] ? K : never }[Tag] - | ComponentType

; - - /** - * Represents any user-defined component, either as a function or a class. - * - * Similar to {@link JSXElementConstructor}, but with extra properties like - * {@link FunctionComponent.defaultProps defaultProps } and - * {@link ComponentClass.contextTypes contextTypes}. - * - * @template P The props the component accepts. - * - * @see {@link ComponentClass} - * @see {@link FunctionComponent} - */ - type ComponentType

= ComponentClass

| FunctionComponent

; - - /** - * Represents any user-defined component, either as a function or a class. - * - * Similar to {@link ComponentType}, but without extra properties like - * {@link FunctionComponent.defaultProps defaultProps } and - * {@link ComponentClass.contextTypes contextTypes}. - * - * @template P The props the component accepts. - */ - type JSXElementConstructor

= - | (( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-stateless-function-components React Docs} - */ - deprecatedLegacyContext?: any, - ) => ReactNode) - | (new( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ) => Component); - - /** - * A readonly ref container where {@link current} cannot be mutated. - * - * Created by {@link createRef}, or {@link useRef} when passed `null`. - * - * @template T The type of the ref's value. - * - * @example - * - * ```tsx - * const ref = createRef(); - * - * ref.current = document.createElement('div'); // Error - * ``` - */ - interface RefObject { - /** - * The current value of the ref. - */ - readonly current: T | null; - } - - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES { - } - /** - * A callback fired whenever the ref's value changes. - * - * @template T The type of the ref's value. - * - * @see {@link https://react.dev/reference/react-dom/components/common#ref-callback React Docs} - * - * @example - * - * ```tsx - *

console.log(node)} /> - * ``` - */ - type RefCallback = { - bivarianceHack( - instance: T | null, - ): - | void - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES - ]; - }["bivarianceHack"]; - - /** - * A union type of all possible shapes for React refs. - * - * @see {@link RefCallback} - * @see {@link RefObject} - */ - - type Ref = RefCallback | RefObject | null; - /** - * A legacy implementation of refs where you can pass a string to a ref prop. - * - * @see {@link https://react.dev/reference/react/Component#refs React Docs} - * - * @example - * - * ```tsx - *
- * ``` - */ - // TODO: Remove the string ref special case from `PropsWithRef` once we remove LegacyRef - type LegacyRef = string | Ref; - - /** - * Retrieves the type of the 'ref' prop for a given component type or tag name. - * - * @template C The component type. - * - * @example - * - * ```tsx - * type MyComponentRef = React.ElementRef; - * ``` - * - * @example - * - * ```tsx - * type DivRef = React.ElementRef<'div'>; - * ``` - */ - type ElementRef< - C extends - | ForwardRefExoticComponent - | { new(props: any): Component } - | ((props: any, deprecatedLegacyContext?: any) => ReactNode) - | keyof JSX.IntrinsicElements, - > = - // need to check first if `ref` is a valid prop for ts@3.0 - // otherwise it will infer `{}` instead of `never` - "ref" extends keyof ComponentPropsWithRef - ? NonNullable["ref"]> extends RefAttributes< - infer Instance - >["ref"] ? Instance - : never - : never; - - type ComponentState = any; - - /** - * A value which uniquely identifies a node among items in an array. - * - * @see {@link https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key React Docs} - */ - type Key = string | number | bigint; - - /** - * @internal The props any component can receive. - * You don't have to add this type. All components automatically accept these props. - * ```tsx - * const Component = () =>
; - * - * ``` - * - * WARNING: The implementation of a component will never have access to these attributes. - * The following example would be incorrect usage because {@link Component} would never have access to `key`: - * ```tsx - * const Component = (props: React.Attributes) => props.key; - * ``` - */ - interface Attributes { - key?: Key | null | undefined; - } - /** - * The props any component accepting refs can receive. - * Class components, built-in browser components (e.g. `div`) and forwardRef components can receive refs and automatically accept these props. - * ```tsx - * const Component = forwardRef(() =>
); - * console.log(current)} /> - * ``` - * - * You only need this type if you manually author the types of props that need to be compatible with legacy refs. - * ```tsx - * interface Props extends React.RefAttributes {} - * declare const Component: React.FunctionComponent; - * ``` - * - * Otherwise it's simpler to directly use {@link Ref} since you can safely use the - * props type to describe to props that a consumer can pass to the component - * as well as describing the props the implementation of a component "sees". - * {@link RefAttributes} is generally not safe to describe both consumer and seen props. - * - * ```tsx - * interface Props extends { - * ref?: React.Ref | undefined; - * } - * declare const Component: React.FunctionComponent; - * ``` - * - * WARNING: The implementation of a component will not have access to the same type in versions of React supporting string refs. - * The following example would be incorrect usage because {@link Component} would never have access to a `ref` with type `string` - * ```tsx - * const Component = (props: React.RefAttributes) => props.ref; - * ``` - */ - interface RefAttributes extends Attributes { - /** - * Allows getting a ref to the component instance. - * Once the component unmounts, React will set `ref.current` to `null` - * (or call the ref with `null` if you passed a callback ref). - * - * @see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs} - */ - ref?: LegacyRef | undefined; - } - - /** - * Represents the built-in attributes available to class components. - */ - interface ClassAttributes extends RefAttributes { - } - - /** - * Represents a JSX element. - * - * Where {@link ReactNode} represents everything that can be rendered, `ReactElement` - * only represents JSX. - * - * @template P The type of the props object - * @template T The type of the component or tag - * - * @example - * - * ```tsx - * const element: ReactElement =
; - * ``` - */ - interface ReactElement< - P = any, - T extends string | JSXElementConstructor = string | JSXElementConstructor, - > { - type: T; - props: P; - key: string | null; - } - - /** - * @deprecated - */ - interface ReactComponentElement< - T extends keyof JSX.IntrinsicElements | JSXElementConstructor, - P = Pick, Exclude, "key" | "ref">>, - > extends ReactElement> {} - - interface FunctionComponentElement

extends ReactElement> { - ref?: ("ref" extends keyof P ? P extends { ref?: infer R | undefined } ? R : never : never) | undefined; - } - - type CElement> = ComponentElement; - interface ComponentElement> extends ReactElement> { - ref?: LegacyRef | undefined; - } - - /** - * @deprecated Use {@link ComponentElement} instead. - */ - type ClassicElement

= CElement>; - - // string fallback for custom web-components - interface DOMElement

| SVGAttributes, T extends Element> - extends ReactElement - { - ref: LegacyRef; - } - - // ReactHTML for ReactHTMLElement - interface ReactHTMLElement extends DetailedReactHTMLElement, T> {} - - interface DetailedReactHTMLElement

, T extends HTMLElement> extends DOMElement { - type: keyof ReactHTML; - } - - // ReactSVG for ReactSVGElement - interface ReactSVGElement extends DOMElement, SVGElement> { - type: keyof ReactSVG; - } - - interface ReactPortal extends ReactElement { - children: ReactNode; - } - - // - // Factories - // ---------------------------------------------------------------------- - - type Factory

= (props?: Attributes & P, ...children: ReactNode[]) => ReactElement

; - - /** - * @deprecated Please use `FunctionComponentFactory` - */ - type SFCFactory

= FunctionComponentFactory

; - - type FunctionComponentFactory

= ( - props?: Attributes & P, - ...children: ReactNode[] - ) => FunctionComponentElement

; - - type ComponentFactory> = ( - props?: ClassAttributes & P, - ...children: ReactNode[] - ) => CElement; - - type CFactory> = ComponentFactory; - type ClassicFactory

= CFactory>; - - type DOMFactory

, T extends Element> = ( - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ) => DOMElement; - - interface HTMLFactory extends DetailedHTMLFactory, T> {} - - interface DetailedHTMLFactory

, T extends HTMLElement> extends DOMFactory { - (props?: ClassAttributes & P | null, ...children: ReactNode[]): DetailedReactHTMLElement; - } - - interface SVGFactory extends DOMFactory, SVGElement> { - ( - props?: ClassAttributes & SVGAttributes | null, - ...children: ReactNode[] - ): ReactSVGElement; - } - - /** - * @deprecated - This type is not relevant when using React. Inline the type instead to make the intent clear. - */ - type ReactText = string | number; - /** - * @deprecated - This type is not relevant when using React. Inline the type instead to make the intent clear. - */ - type ReactChild = ReactElement | string | number; - - /** - * @deprecated Use either `ReactNode[]` if you need an array or `Iterable` if its passed to a host component. - */ - interface ReactNodeArray extends ReadonlyArray {} - /** - * WARNING: Not related to `React.Fragment`. - * @deprecated This type is not relevant when using React. Inline the type instead to make the intent clear. - */ - type ReactFragment = Iterable; - - /** - * Different release channels declare additional types of ReactNode this particular release channel accepts. - * App or library types should never augment this interface. - */ - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES {} - - /** - * Represents all of the things React can render. - * - * Where {@link ReactElement} only represents JSX, `ReactNode` represents everything that can be rendered. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/reactnode/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Typing children - * type Props = { children: ReactNode } - * - * const Component = ({ children }: Props) =>

{children}
- * - * hello - * ``` - * - * @example - * - * ```tsx - * // Typing a custom element - * type Props = { customElement: ReactNode } - * - * const Component = ({ customElement }: Props) =>
{customElement}
- * - * hello
} /> - * ``` - */ - // non-thenables need to be kept in sync with AwaitedReactNode - type ReactNode = - | ReactElement - | string - | number - | Iterable - | ReactPortal - | boolean - | null - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES - ]; - - // - // Top Level API - // ---------------------------------------------------------------------- - - // DOM Elements - /** @deprecated */ - function createFactory( - type: keyof ReactHTML, - ): HTMLFactory; - /** @deprecated */ - function createFactory( - type: keyof ReactSVG, - ): SVGFactory; - /** @deprecated */ - function createFactory

, T extends Element>( - type: string, - ): DOMFactory; - - // Custom components - /** @deprecated */ - function createFactory

(type: FunctionComponent

): FunctionComponentFactory

; - /** @deprecated */ - function createFactory, C extends ComponentClass

>( - type: ClassType, - ): CFactory; - /** @deprecated */ - function createFactory

(type: ComponentClass

): Factory

; - - // DOM Elements - // TODO: generalize this to everything in `keyof ReactHTML`, not just "input" - function createElement( - type: "input", - props?: InputHTMLAttributes & ClassAttributes | null, - ...children: ReactNode[] - ): DetailedReactHTMLElement, HTMLInputElement>; - function createElement

, T extends HTMLElement>( - type: keyof ReactHTML, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): DetailedReactHTMLElement; - function createElement

, T extends SVGElement>( - type: keyof ReactSVG, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): ReactSVGElement; - function createElement

, T extends Element>( - type: string, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): DOMElement; - - // Custom components - - function createElement

( - type: FunctionComponent

, - props?: Attributes & P | null, - ...children: ReactNode[] - ): FunctionComponentElement

; - function createElement

, C extends ComponentClass

>( - type: ClassType, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): CElement; - function createElement

( - type: FunctionComponent

| ComponentClass

| string, - props?: Attributes & P | null, - ...children: ReactNode[] - ): ReactElement

; - - // DOM Elements - // ReactHTMLElement - function cloneElement

, T extends HTMLElement>( - element: DetailedReactHTMLElement, - props?: P, - ...children: ReactNode[] - ): DetailedReactHTMLElement; - // ReactHTMLElement, less specific - function cloneElement

, T extends HTMLElement>( - element: ReactHTMLElement, - props?: P, - ...children: ReactNode[] - ): ReactHTMLElement; - // SVGElement - function cloneElement

, T extends SVGElement>( - element: ReactSVGElement, - props?: P, - ...children: ReactNode[] - ): ReactSVGElement; - // DOM Element (has to be the last, because type checking stops at first overload that fits) - function cloneElement

, T extends Element>( - element: DOMElement, - props?: DOMAttributes & P, - ...children: ReactNode[] - ): DOMElement; - - // Custom components - function cloneElement

( - element: FunctionComponentElement

, - props?: Partial

& Attributes, - ...children: ReactNode[] - ): FunctionComponentElement

; - function cloneElement>( - element: CElement, - props?: Partial

& ClassAttributes, - ...children: ReactNode[] - ): CElement; - function cloneElement

( - element: ReactElement

, - props?: Partial

& Attributes, - ...children: ReactNode[] - ): ReactElement

; - - /** - * Describes the props accepted by a Context {@link Provider}. - * - * @template T The type of the value the context provides. - */ - interface ProviderProps { - value: T; - children?: ReactNode | undefined; - } - - /** - * Describes the props accepted by a Context {@link Consumer}. - * - * @template T The type of the value the context provides. - */ - interface ConsumerProps { - children: (value: T) => ReactNode; - } - - /** - * An object masquerading as a component. These are created by functions - * like {@link forwardRef}, {@link memo}, and {@link createContext}. - * - * In order to make TypeScript work, we pretend that they are normal - * components. - * - * But they are, in fact, not callable - instead, they are objects which - * are treated specially by the renderer. - * - * @template P The props the component accepts. - */ - interface ExoticComponent

{ - (props: P): ReactNode; - readonly $$typeof: symbol; - } - - /** - * An {@link ExoticComponent} with a `displayName` property applied to it. - * - * @template P The props the component accepts. - */ - interface NamedExoticComponent

extends ExoticComponent

{ - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - } - - /** - * An {@link ExoticComponent} with a `propTypes` property applied to it. - * - * @template P The props the component accepts. - */ - interface ProviderExoticComponent

extends ExoticComponent

{ - propTypes?: WeakValidationMap

| undefined; - } - - /** - * Used to retrieve the type of a context object from a {@link Context}. - * - * @template C The context object. - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const MyContext = createContext({ foo: 'bar' }); - * - * type ContextType = ContextType; - * // ContextType = { foo: string } - * ``` - */ - type ContextType> = C extends Context ? T : never; - - /** - * Wraps your components to specify the value of this context for all components inside. - * - * @see {@link https://react.dev/reference/react/createContext#provider React Docs} - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const ThemeContext = createContext('light'); - * - * function App() { - * return ( - * - * - * - * ); - * } - * ``` - */ - type Provider = ProviderExoticComponent>; - - /** - * The old way to read context, before {@link useContext} existed. - * - * @see {@link https://react.dev/reference/react/createContext#consumer React Docs} - * - * @example - * - * ```tsx - * import { UserContext } from './user-context'; - * - * function Avatar() { - * return ( - * - * {user => {user.name}} - * - * ); - * } - * ``` - */ - type Consumer = ExoticComponent>; - - /** - * Context lets components pass information deep down without explicitly - * passing props. - * - * Created from {@link createContext} - * - * @see {@link https://react.dev/learn/passing-data-deeply-with-context React Docs} - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/context/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const ThemeContext = createContext('light'); - * ``` - */ - interface Context { - Provider: Provider; - Consumer: Consumer; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - } - - /** - * Lets you create a {@link Context} that components can provide or read. - * - * @param defaultValue The value you want the context to have when there is no matching - * {@link Provider} in the tree above the component reading the context. This is meant - * as a "last resort" fallback. - * - * @see {@link https://react.dev/reference/react/createContext#reference React Docs} - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/context/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const ThemeContext = createContext('light'); - * ``` - */ - function createContext( - // If you thought this should be optional, see - // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/24509#issuecomment-382213106 - defaultValue: T, - ): Context; - - function isValidElement

(object: {} | null | undefined): object is ReactElement

; - - /** - * Maintainer's note: Sync with {@link ReactChildren} until {@link ReactChildren} is removed. - */ - const Children: { - map( - children: C | readonly C[], - fn: (child: C, index: number) => T, - ): C extends null | undefined ? C : Array>; - forEach(children: C | readonly C[], fn: (child: C, index: number) => void): void; - count(children: any): number; - only(children: C): C extends any[] ? never : C; - toArray(children: ReactNode | ReactNode[]): Array>; - }; - /** - * Lets you group elements without a wrapper node. - * - * @see {@link https://react.dev/reference/react/Fragment React Docs} - * - * @example - * - * ```tsx - * import { Fragment } from 'react'; - * - * - * Hello - * World - * - * ``` - * - * @example - * - * ```tsx - * // Using the <> shorthand syntax: - * - * <> - * Hello - * World - * - * ``` - */ - const Fragment: ExoticComponent<{ children?: ReactNode | undefined }>; - - /** - * Lets you find common bugs in your components early during development. - * - * @see {@link https://react.dev/reference/react/StrictMode React Docs} - * - * @example - * - * ```tsx - * import { StrictMode } from 'react'; - * - * - * - * - * ``` - */ - const StrictMode: ExoticComponent<{ children?: ReactNode | undefined }>; - - /** - * The props accepted by {@link Suspense}. - * - * @see {@link https://react.dev/reference/react/Suspense React Docs} - */ - interface SuspenseProps { - children?: ReactNode | undefined; - - /** A fallback react tree to show when a Suspense child (like React.lazy) suspends */ - fallback?: ReactNode; - - /** - * A name for this Suspense boundary for instrumentation purposes. - * The name will help identify this boundary in React DevTools. - */ - name?: string | undefined; - } - - /** - * Lets you display a fallback until its children have finished loading. - * - * @see {@link https://react.dev/reference/react/Suspense React Docs} - * - * @example - * - * ```tsx - * import { Suspense } from 'react'; - * - * }> - * - * - * ``` - */ - const Suspense: ExoticComponent; - const version: string; - - /** - * The callback passed to {@link ProfilerProps.onRender}. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - type ProfilerOnRenderCallback = ( - /** - * The string id prop of the {@link Profiler} tree that has just committed. This lets - * you identify which part of the tree was committed if you are using multiple - * profilers. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - id: string, - /** - * This lets you know whether the tree has just been mounted for the first time - * or re-rendered due to a change in props, state, or hooks. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - phase: "mount" | "update" | "nested-update", - /** - * The number of milliseconds spent rendering the {@link Profiler} and its descendants - * for the current update. This indicates how well the subtree makes use of - * memoization (e.g. {@link memo} and {@link useMemo}). Ideally this value should decrease - * significantly after the initial mount as many of the descendants will only need to - * re-render if their specific props change. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - actualDuration: number, - /** - * The number of milliseconds estimating how much time it would take to re-render the entire - * {@link Profiler} subtree without any optimizations. It is calculated by summing up the most - * recent render durations of each component in the tree. This value estimates a worst-case - * cost of rendering (e.g. the initial mount or a tree with no memoization). Compare - * {@link actualDuration} against it to see if memoization is working. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - baseDuration: number, - /** - * A numeric timestamp for when React began rendering the current update. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - startTime: number, - /** - * A numeric timestamp for when React committed the current update. This value is shared - * between all profilers in a commit, enabling them to be grouped if desirable. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - commitTime: number, - ) => void; - - /** - * The props accepted by {@link Profiler}. - * - * @see {@link https://react.dev/reference/react/Profiler React Docs} - */ - interface ProfilerProps { - children?: ReactNode | undefined; - id: string; - onRender: ProfilerOnRenderCallback; - } - - /** - * Lets you measure rendering performance of a React tree programmatically. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - * - * @example - * - * ```tsx - * - * - * - * ``` - */ - const Profiler: ExoticComponent; - - // - // Component API - // ---------------------------------------------------------------------- - - type ReactInstance = Component | Element; - - // Base component for plain JS classes - interface Component

extends ComponentLifecycle {} - class Component { - /** - * If set, `this.context` will be set at runtime to the current value of the given Context. - * - * @example - * - * ```ts - * type MyContext = number - * const Ctx = React.createContext(0) - * - * class Foo extends React.Component { - * static contextType = Ctx - * context!: React.ContextType - * render () { - * return <>My context's value: {this.context}; - * } - * } - * ``` - * - * @see {@link https://react.dev/reference/react/Component#static-contexttype} - */ - static contextType?: Context | undefined; - - /** - * If using the new style context, re-declare this in your class to be the - * `React.ContextType` of your `static contextType`. - * Should be used with type annotation or static contextType. - * - * @example - * ```ts - * static contextType = MyContext - * // For TS pre-3.7: - * context!: React.ContextType - * // For TS 3.7 and above: - * declare context: React.ContextType - * ``` - * - * @see {@link https://react.dev/reference/react/Component#context React Docs} - */ - context: unknown; - - constructor(props: P); - /** - * @deprecated - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html React Docs} - */ - constructor(props: P, context: any); - - // We MUST keep setState() as a unified signature because it allows proper checking of the method return type. - // See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18365#issuecomment-351013257 - // Also, the ` | S` allows intellisense to not be dumbisense - setState( - state: ((prevState: Readonly, props: Readonly

) => Pick | S | null) | (Pick | S | null), - callback?: () => void, - ): void; - - forceUpdate(callback?: () => void): void; - render(): ReactNode; - - readonly props: Readonly

; - state: Readonly; - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs Legacy React Docs} - */ - refs: { - [key: string]: ReactInstance; - }; - } - - class PureComponent

extends Component {} - - /** - * @deprecated Use `ClassicComponent` from `create-react-class` - * - * @see {@link https://legacy.reactjs.org/docs/react-without-es6.html Legacy React Docs} - * @see {@link https://www.npmjs.com/package/create-react-class `create-react-class` on npm} - */ - interface ClassicComponent

extends Component { - replaceState(nextState: S, callback?: () => void): void; - isMounted(): boolean; - getInitialState?(): S; - } - - interface ChildContextProvider { - getChildContext(): CC; - } - - // - // Class Interfaces - // ---------------------------------------------------------------------- - - /** - * Represents the type of a function component. Can optionally - * receive a type argument that represents the props the component - * receives. - * - * @template P The props the component accepts. - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/function_components React TypeScript Cheatsheet} - * @alias for {@link FunctionComponent} - * - * @example - * - * ```tsx - * // With props: - * type Props = { name: string } - * - * const MyComponent: FC = (props) => { - * return

{props.name}
- * } - * ``` - * - * @example - * - * ```tsx - * // Without props: - * const MyComponentWithoutProps: FC = () => { - * return
MyComponentWithoutProps
- * } - * ``` - */ - type FC

= FunctionComponent

; - - /** - * Represents the type of a function component. Can optionally - * receive a type argument that represents the props the component - * accepts. - * - * @template P The props the component accepts. - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/function_components React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // With props: - * type Props = { name: string } - * - * const MyComponent: FunctionComponent = (props) => { - * return

{props.name}
- * } - * ``` - * - * @example - * - * ```tsx - * // Without props: - * const MyComponentWithoutProps: FunctionComponent = () => { - * return
MyComponentWithoutProps
- * } - * ``` - */ - interface FunctionComponent

{ - ( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ): ReactNode; - /** - * Used to declare the types of the props accepted by the - * component. These types will be checked during rendering - * and in development only. - * - * We recommend using TypeScript instead of checking prop - * types at runtime. - * - * @see {@link https://react.dev/reference/react/Component#static-proptypes React Docs} - */ - propTypes?: WeakValidationMap

| undefined; - /** - * @deprecated - * - * Lets you specify which legacy context is consumed by - * this component. - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html Legacy React Docs} - */ - contextTypes?: ValidationMap | undefined; - /** - * Used to define default values for the props accepted by - * the component. - * - * @see {@link https://react.dev/reference/react/Component#static-defaultprops React Docs} - * - * @example - * - * ```tsx - * type Props = { name?: string } - * - * const MyComponent: FC = (props) => { - * return

{props.name}
- * } - * - * MyComponent.defaultProps = { - * name: 'John Doe' - * } - * ``` - * - * @deprecated Use {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#default_value|default values for destructuring assignments instead}. - */ - defaultProps?: Partial

| undefined; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - * - * @example - * - * ```tsx - * - * const MyComponent: FC = () => { - * return

Hello!
- * } - * - * MyComponent.displayName = 'MyAwesomeComponent' - * ``` - */ - displayName?: string | undefined; - } - - /** - * @deprecated - Equivalent to {@link React.FunctionComponent}. - * - * @see {@link React.FunctionComponent} - * @alias {@link VoidFunctionComponent} - */ - type VFC

= VoidFunctionComponent

; - - /** - * @deprecated - Equivalent to {@link React.FunctionComponent}. - * - * @see {@link React.FunctionComponent} - */ - interface VoidFunctionComponent

{ - ( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ): ReactNode; - propTypes?: WeakValidationMap

| undefined; - contextTypes?: ValidationMap | undefined; - /** - * @deprecated Use {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#default_value|default values for destructuring assignments instead}. - */ - defaultProps?: Partial

| undefined; - displayName?: string | undefined; - } - - /** - * The type of the ref received by a {@link ForwardRefRenderFunction}. - * - * @see {@link ForwardRefRenderFunction} - */ - type ForwardedRef = ((instance: T | null) => void) | MutableRefObject | null; - - /** - * The type of the function passed to {@link forwardRef}. This is considered different - * to a normal {@link FunctionComponent} because it receives an additional argument, - * - * @param props Props passed to the component, if any. - * @param ref A ref forwarded to the component of type {@link ForwardedRef}. - * - * @template T The type of the forwarded ref. - * @template P The type of the props the component accepts. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/forward_and_create_ref/ React TypeScript Cheatsheet} - * @see {@link forwardRef} - */ - interface ForwardRefRenderFunction { - (props: P, ref: ForwardedRef): ReactNode; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * Will show `ForwardRef(${Component.displayName || Component.name})` - * in devtools by default, but can be given its own specific name. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - /** - * defaultProps are not supported on render functions passed to forwardRef. - * - * @see {@link https://github.com/microsoft/TypeScript/issues/36826 linked GitHub issue} for context - * @see {@link https://react.dev/reference/react/Component#static-defaultprops React Docs} - */ - defaultProps?: never | undefined; - /** - * propTypes are not supported on render functions passed to forwardRef. - * - * @see {@link https://github.com/microsoft/TypeScript/issues/36826 linked GitHub issue} for context - * @see {@link https://react.dev/reference/react/Component#static-proptypes React Docs} - */ - propTypes?: never | undefined; - } - - /** - * Represents a component class in React. - * - * @template P The props the component accepts. - * @template S The internal state of the component. - */ - interface ComponentClass

extends StaticLifecycle { - new( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ): Component; - /** - * Used to declare the types of the props accepted by the - * component. These types will be checked during rendering - * and in development only. - * - * We recommend using TypeScript instead of checking prop - * types at runtime. - * - * @see {@link https://react.dev/reference/react/Component#static-proptypes React Docs} - */ - propTypes?: WeakValidationMap

| undefined; - contextType?: Context | undefined; - /** - * @deprecated use {@link ComponentClass.contextType} instead - * - * Lets you specify which legacy context is consumed by - * this component. - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html Legacy React Docs} - */ - contextTypes?: ValidationMap | undefined; - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#how-to-use-context Legacy React Docs} - */ - childContextTypes?: ValidationMap | undefined; - /** - * Used to define default values for the props accepted by - * the component. - * - * @see {@link https://react.dev/reference/react/Component#static-defaultprops React Docs} - */ - defaultProps?: Partial

| undefined; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - } - - /** - * @deprecated Use `ClassicComponentClass` from `create-react-class` - * - * @see {@link https://legacy.reactjs.org/docs/react-without-es6.html Legacy React Docs} - * @see {@link https://www.npmjs.com/package/create-react-class `create-react-class` on npm} - */ - interface ClassicComponentClass

extends ComponentClass

{ - new(props: P, deprecatedLegacyContext?: any): ClassicComponent; - getDefaultProps?(): P; - } - - /** - * Used in {@link createElement} and {@link createFactory} to represent - * a class. - * - * An intersection type is used to infer multiple type parameters from - * a single argument, which is useful for many top-level API defs. - * See {@link https://github.com/Microsoft/TypeScript/issues/7234 this GitHub issue} - * for more info. - */ - type ClassType, C extends ComponentClass

> = - & C - & (new(props: P, deprecatedLegacyContext?: any) => T); - - // - // Component Specs and Lifecycle - // ---------------------------------------------------------------------- - - // This should actually be something like `Lifecycle | DeprecatedLifecycle`, - // as React will _not_ call the deprecated lifecycle methods if any of the new lifecycle - // methods are present. - interface ComponentLifecycle extends NewLifecycle, DeprecatedLifecycle { - /** - * Called immediately after a component is mounted. Setting state here will trigger re-rendering. - */ - componentDidMount?(): void; - /** - * Called to determine whether the change in props and state should trigger a re-render. - * - * `Component` always returns true. - * `PureComponent` implements a shallow comparison on props and state and returns true if any - * props or states have changed. - * - * If false is returned, {@link Component.render}, `componentWillUpdate` - * and `componentDidUpdate` will not be called. - */ - shouldComponentUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): boolean; - /** - * Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as - * cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`. - */ - componentWillUnmount?(): void; - /** - * Catches exceptions generated in descendant components. Unhandled exceptions will cause - * the entire component tree to unmount. - */ - componentDidCatch?(error: Error, errorInfo: ErrorInfo): void; - } - - // Unfortunately, we have no way of declaring that the component constructor must implement this - interface StaticLifecycle { - getDerivedStateFromProps?: GetDerivedStateFromProps | undefined; - getDerivedStateFromError?: GetDerivedStateFromError | undefined; - } - - type GetDerivedStateFromProps = - /** - * Returns an update to a component's state based on its new props and old state. - * - * Note: its presence prevents any of the deprecated lifecycle methods from being invoked - */ - (nextProps: Readonly

, prevState: S) => Partial | null; - - type GetDerivedStateFromError = - /** - * This lifecycle is invoked after an error has been thrown by a descendant component. - * It receives the error that was thrown as a parameter and should return a value to update state. - * - * Note: its presence prevents any of the deprecated lifecycle methods from being invoked - */ - (error: any) => Partial | null; - - // This should be "infer SS" but can't use it yet - interface NewLifecycle { - /** - * Runs before React applies the result of {@link Component.render render} to the document, and - * returns an object to be given to {@link componentDidUpdate}. Useful for saving - * things such as scroll position before {@link Component.render render} causes changes to it. - * - * Note: the presence of this method prevents any of the deprecated - * lifecycle events from running. - */ - getSnapshotBeforeUpdate?(prevProps: Readonly

, prevState: Readonly): SS | null; - /** - * Called immediately after updating occurs. Not called for the initial render. - * - * The snapshot is only present if {@link getSnapshotBeforeUpdate} is present and returns non-null. - */ - componentDidUpdate?(prevProps: Readonly

, prevState: Readonly, snapshot?: SS): void; - } - - interface DeprecatedLifecycle { - /** - * Called immediately before mounting occurs, and before {@link Component.render}. - * Avoid introducing any side-effects or subscriptions in this method. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use {@link ComponentLifecycle.componentDidMount componentDidMount} or the constructor instead; will stop working in React 17 - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - componentWillMount?(): void; - /** - * Called immediately before mounting occurs, and before {@link Component.render}. - * Avoid introducing any side-effects or subscriptions in this method. - * - * This method will not stop working in React 17. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use {@link ComponentLifecycle.componentDidMount componentDidMount} or the constructor instead - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - UNSAFE_componentWillMount?(): void; - /** - * Called when the component may be receiving new props. - * React may call this even if props have not changed, so be sure to compare new and existing - * props if you only want to handle changes. - * - * Calling {@link Component.setState} generally does not trigger this method. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use static {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} instead; will stop working in React 17 - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; - /** - * Called when the component may be receiving new props. - * React may call this even if props have not changed, so be sure to compare new and existing - * props if you only want to handle changes. - * - * Calling {@link Component.setState} generally does not trigger this method. - * - * This method will not stop working in React 17. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use static {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} instead - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - UNSAFE_componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; - /** - * Called immediately before rendering when new props or state is received. Not called for the initial render. - * - * Note: You cannot call {@link Component.setState} here. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17 - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; - /** - * Called immediately before rendering when new props or state is received. Not called for the initial render. - * - * Note: You cannot call {@link Component.setState} here. - * - * This method will not stop working in React 17. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use getSnapshotBeforeUpdate instead - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - UNSAFE_componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; - } - - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/blog/2016/07/13/mixins-considered-harmful.html Mixins Considered Harmful} - */ - interface Mixin extends ComponentLifecycle { - mixins?: Array> | undefined; - statics?: { - [key: string]: any; - } | undefined; - - displayName?: string | undefined; - propTypes?: ValidationMap | undefined; - contextTypes?: ValidationMap | undefined; - childContextTypes?: ValidationMap | undefined; - - getDefaultProps?(): P; - getInitialState?(): S; - } - - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/blog/2016/07/13/mixins-considered-harmful.html Mixins Considered Harmful} - */ - interface ComponentSpec extends Mixin { - render(): ReactNode; - - [propertyName: string]: any; - } - - function createRef(): RefObject; - - /** - * The type of the component returned from {@link forwardRef}. - * - * @template P The props the component accepts, if any. - * - * @see {@link ExoticComponent} - */ - interface ForwardRefExoticComponent

extends NamedExoticComponent

{ - /** - * @deprecated Use {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#default_value|default values for destructuring assignments instead}. - */ - defaultProps?: Partial

| undefined; - propTypes?: WeakValidationMap

| undefined; - } - - /** - * Lets your component expose a DOM node to a parent component - * using a ref. - * - * @see {@link https://react.dev/reference/react/forwardRef React Docs} - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/forward_and_create_ref/ React TypeScript Cheatsheet} - * - * @param render See the {@link ForwardRefRenderFunction}. - * - * @template T The type of the DOM node. - * @template P The props the component accepts, if any. - * - * @example - * - * ```tsx - * interface Props { - * children?: ReactNode; - * type: "submit" | "button"; - * } - * - * export const FancyButton = forwardRef((props, ref) => ( - * - * )); - * ``` - */ - function forwardRef( - render: ForwardRefRenderFunction>, - ): ForwardRefExoticComponent & RefAttributes>; - - /** - * Omits the 'ref' attribute from the given props object. - * - * @template P The props object type. - */ - type PropsWithoutRef

= - // Omit would not be sufficient for this. We'd like to avoid unnecessary mapping and need a distributive conditional to support unions. - // see: https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types - // https://github.com/Microsoft/TypeScript/issues/28339 - P extends any ? ("ref" extends keyof P ? Omit : P) : P; - /** Ensures that the props do not include string ref, which cannot be forwarded */ - type PropsWithRef

= - // Note: String refs can be forwarded. We can't fix this bug without breaking a bunch of libraries now though. - // Just "P extends { ref?: infer R }" looks sufficient, but R will infer as {} if P is {}. - "ref" extends keyof P - ? P extends { ref?: infer R | undefined } - ? string extends R ? PropsWithoutRef

& { ref?: Exclude | undefined } - : P - : P - : P; - - type PropsWithChildren

= P & { children?: ReactNode | undefined }; - - /** - * Used to retrieve the props a component accepts. Can either be passed a string, - * indicating a DOM element (e.g. 'div', 'span', etc.) or the type of a React - * component. - * - * It's usually better to use {@link ComponentPropsWithRef} or {@link ComponentPropsWithoutRef} - * instead of this type, as they let you be explicit about whether or not to include - * the `ref` prop. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/componentprops/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Retrieves the props an 'input' element accepts - * type InputProps = React.ComponentProps<'input'>; - * ``` - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>

; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentProps = React.ComponentProps; - * ``` - */ - type ComponentProps> = T extends - JSXElementConstructor ? P - : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] - : {}; - - /** - * Used to retrieve the props a component accepts with its ref. Can either be - * passed a string, indicating a DOM element (e.g. 'div', 'span', etc.) or the - * type of a React component. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/componentprops/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Retrieves the props an 'input' element accepts - * type InputProps = React.ComponentPropsWithRef<'input'>; - * ``` - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>
; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentPropsWithRef = React.ComponentPropsWithRef; - * ``` - */ - type ComponentPropsWithRef = T extends (new(props: infer P) => Component) - ? PropsWithoutRef

& RefAttributes> - : PropsWithRef>; - /** - * Used to retrieve the props a custom component accepts with its ref. - * - * Unlike {@link ComponentPropsWithRef}, this only works with custom - * components, i.e. components you define yourself. This is to improve - * type-checking performance. - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>

; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentPropsWithRef = React.CustomComponentPropsWithRef; - * ``` - */ - type CustomComponentPropsWithRef = T extends (new(props: infer P) => Component) - ? (PropsWithoutRef

& RefAttributes>) - : T extends ((props: infer P, legacyContext?: any) => ReactNode) ? PropsWithRef

- : never; - - /** - * Used to retrieve the props a component accepts without its ref. Can either be - * passed a string, indicating a DOM element (e.g. 'div', 'span', etc.) or the - * type of a React component. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/componentprops/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Retrieves the props an 'input' element accepts - * type InputProps = React.ComponentPropsWithoutRef<'input'>; - * ``` - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>

; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentPropsWithoutRef = React.ComponentPropsWithoutRef; - * ``` - */ - type ComponentPropsWithoutRef = PropsWithoutRef>; - - type ComponentRef = T extends NamedExoticComponent< - ComponentPropsWithoutRef & RefAttributes - > ? Method - : ComponentPropsWithRef extends RefAttributes ? Method - : never; - - // will show `Memo(${Component.displayName || Component.name})` in devtools by default, - // but can be given its own specific name - type MemoExoticComponent> = NamedExoticComponent> & { - readonly type: T; - }; - - /** - * Lets you skip re-rendering a component when its props are unchanged. - * - * @see {@link https://react.dev/reference/react/memo React Docs} - * - * @param Component The component to memoize. - * @param propsAreEqual A function that will be used to determine if the props have changed. - * - * @example - * - * ```tsx - * import { memo } from 'react'; - * - * const SomeComponent = memo(function SomeComponent(props: { foo: string }) { - * // ... - * }); - * ``` - */ - function memo

( - Component: FunctionComponent

, - propsAreEqual?: (prevProps: Readonly

, nextProps: Readonly

) => boolean, - ): NamedExoticComponent

; - function memo>( - Component: T, - propsAreEqual?: (prevProps: Readonly>, nextProps: Readonly>) => boolean, - ): MemoExoticComponent; - - interface LazyExoticComponent> - extends ExoticComponent> - { - readonly _result: T; - } - - /** - * Lets you defer loading a component’s code until it is rendered for the first time. - * - * @see {@link https://react.dev/reference/react/lazy React Docs} - * - * @param load A function that returns a `Promise` or another thenable (a `Promise`-like object with a - * then method). React will not call `load` until the first time you attempt to render the returned - * component. After React first calls load, it will wait for it to resolve, and then render the - * resolved value’s `.default` as a React component. Both the returned `Promise` and the `Promise`’s - * resolved value will be cached, so React will not call load more than once. If the `Promise` rejects, - * React will throw the rejection reason for the nearest Error Boundary to handle. - * - * @example - * - * ```tsx - * import { lazy } from 'react'; - * - * const MarkdownPreview = lazy(() => import('./MarkdownPreview.js')); - * ``` - */ - function lazy>( - load: () => Promise<{ default: T }>, - ): LazyExoticComponent; - - // - // React Hooks - // ---------------------------------------------------------------------- - - /** - * The instruction passed to a {@link Dispatch} function in {@link useState} - * to tell React what the next value of the {@link useState} should be. - * - * Often found wrapped in {@link Dispatch}. - * - * @template S The type of the state. - * - * @example - * - * ```tsx - * // This return type correctly represents the type of - * // `setCount` in the example below. - * const useCustomState = (): Dispatch> => { - * const [count, setCount] = useState(0); - * - * return setCount; - * } - * ``` - */ - type SetStateAction = S | ((prevState: S) => S); - - /** - * A function that can be used to update the state of a {@link useState} - * or {@link useReducer} hook. - */ - type Dispatch = (value: A) => void; - /** - * A {@link Dispatch} function can sometimes be called without any arguments. - */ - type DispatchWithoutAction = () => void; - // Unlike redux, the actions _can_ be anything - type Reducer = (prevState: S, action: A) => S; - // If useReducer accepts a reducer without action, dispatch may be called without any parameters. - type ReducerWithoutAction = (prevState: S) => S; - // types used to try and prevent the compiler from reducing S - // to a supertype common with the second argument to useReducer() - type ReducerState> = R extends Reducer ? S : never; - type ReducerAction> = R extends Reducer ? A : never; - // The identity check is done with the SameValue algorithm (Object.is), which is stricter than === - type ReducerStateWithoutAction> = R extends ReducerWithoutAction ? S - : never; - type DependencyList = readonly unknown[]; - - // NOTE: callbacks are _only_ allowed to return either void, or a destructor. - type EffectCallback = () => void | Destructor; - - interface MutableRefObject { - current: T; - } - - // This will technically work if you give a Consumer or Provider but it's deprecated and warns - /** - * Accepts a context object (the value returned from `React.createContext`) and returns the current - * context value, as given by the nearest context provider for the given context. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useContext} - */ - function useContext(context: Context /*, (not public API) observedBits?: number|boolean */): T; - /** - * Returns a stateful value, and a function to update it. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useState} - */ - function useState(initialState: S | (() => S)): [S, Dispatch>]; - // convenience overload when first argument is omitted - /** - * Returns a stateful value, and a function to update it. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useState} - */ - function useState(): [S | undefined, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload where dispatch could accept 0 arguments. - function useReducer, I>( - reducer: R, - initializerArg: I, - initializer: (arg: I) => ReducerStateWithoutAction, - ): [ReducerStateWithoutAction, DispatchWithoutAction]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload where dispatch could accept 0 arguments. - function useReducer>( - reducer: R, - initializerArg: ReducerStateWithoutAction, - initializer?: undefined, - ): [ReducerStateWithoutAction, DispatchWithoutAction]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload where "I" may be a subset of ReducerState; used to provide autocompletion. - // If "I" matches ReducerState exactly then the last overload will allow initializer to be omitted. - // the last overload effectively behaves as if the identity function (x => x) is the initializer. - function useReducer, I>( - reducer: R, - initializerArg: I & ReducerState, - initializer: (arg: I & ReducerState) => ReducerState, - ): [ReducerState, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload for free "I"; all goes as long as initializer converts it into "ReducerState". - function useReducer, I>( - reducer: R, - initializerArg: I, - initializer: (arg: I) => ReducerState, - ): [ReducerState, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - - // I'm not sure if I keep this 2-ary or if I make it (2,3)-ary; it's currently (2,3)-ary. - // The Flow types do have an overload for 3-ary invocation with undefined initializer. - - // NOTE: without the ReducerState indirection, TypeScript would reduce S to be the most common - // supertype between the reducer's return type and the initialState (or the initializer's return type), - // which would prevent autocompletion from ever working. - - // TODO: double-check if this weird overload logic is necessary. It is possible it's either a bug - // in older versions, or a regression in newer versions of the typescript completion service. - function useReducer>( - reducer: R, - initialState: ReducerState, - initializer?: undefined, - ): [ReducerState, Dispatch>]; - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useRef} - */ - function useRef(initialValue: T): MutableRefObject; - // convenience overload for refs given as a ref prop as they typically start with a null value - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - * - * Usage note: if you need the result of useRef to be directly mutable, include `| null` in the type - * of the generic argument. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useRef} - */ - function useRef(initialValue: T | null): RefObject; - // convenience overload for potentially undefined initialValue / call with 0 arguments - // has a default to stop it from defaulting to {} instead - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useRef} - */ - function useRef(initialValue?: undefined): MutableRefObject; - /** - * The signature is identical to `useEffect`, but it fires synchronously after all DOM mutations. - * Use this to read layout from the DOM and synchronously re-render. Updates scheduled inside - * `useLayoutEffect` will be flushed synchronously, before the browser has a chance to paint. - * - * Prefer the standard `useEffect` when possible to avoid blocking visual updates. - * - * If you’re migrating code from a class component, `useLayoutEffect` fires in the same phase as - * `componentDidMount` and `componentDidUpdate`. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useLayoutEffect} - */ - function useLayoutEffect(effect: EffectCallback, deps?: DependencyList): void; - /** - * Accepts a function that contains imperative, possibly effectful code. - * - * @param effect Imperative function that can return a cleanup function - * @param deps If present, effect will only activate if the values in the list change. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useEffect} - */ - function useEffect(effect: EffectCallback, deps?: DependencyList): void; - // NOTE: this does not accept strings, but this will have to be fixed by removing strings from type Ref - /** - * `useImperativeHandle` customizes the instance value that is exposed to parent components when using - * `ref`. As always, imperative code using refs should be avoided in most cases. - * - * `useImperativeHandle` should be used with `React.forwardRef`. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useImperativeHandle} - */ - function useImperativeHandle(ref: Ref | undefined, init: () => R, deps?: DependencyList): void; - // I made 'inputs' required here and in useMemo as there's no point to memoizing without the memoization key - // useCallback(X) is identical to just using X, useMemo(() => Y) is identical to just using Y. - /** - * `useCallback` will return a memoized version of the callback that only changes if one of the `inputs` - * has changed. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useCallback} - */ - // A specific function type would not trigger implicit any. - // See https://github.com/DefinitelyTyped/DefinitelyTyped/issues/52873#issuecomment-845806435 for a comparison between `Function` and more specific types. - // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type - function useCallback(callback: T, deps: DependencyList): T; - /** - * `useMemo` will only recompute the memoized value when one of the `deps` has changed. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useMemo} - */ - // allow undefined, but don't make it optional as that is very likely a mistake - function useMemo(factory: () => T, deps: DependencyList): T; - /** - * `useDebugValue` can be used to display a label for custom hooks in React DevTools. - * - * NOTE: We don’t recommend adding debug values to every custom hook. - * It’s most valuable for custom hooks that are part of shared libraries. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useDebugValue} - */ - // the name of the custom hook is itself derived from the function name at runtime: - // it's just the function name without the "use" prefix. - function useDebugValue(value: T, format?: (value: T) => any): void; - - // must be synchronous - export type TransitionFunction = () => VoidOrUndefinedOnly; - // strange definition to allow vscode to show documentation on the invocation - export interface TransitionStartFunction { - /** - * State updates caused inside the callback are allowed to be deferred. - * - * **If some state update causes a component to suspend, that state update should be wrapped in a transition.** - * - * @param callback A _synchronous_ function which causes state updates that can be deferred. - */ - (callback: TransitionFunction): void; - } - - /** - * Returns a deferred version of the value that may “lag behind” it. - * - * This is commonly used to keep the interface responsive when you have something that renders immediately - * based on user input and something that needs to wait for a data fetch. - * - * A good example of this is a text input. - * - * @param value The value that is going to be deferred - * - * @see {@link https://react.dev/reference/react/useDeferredValue} - */ - export function useDeferredValue(value: T): T; - - /** - * Allows components to avoid undesirable loading states by waiting for content to load - * before transitioning to the next screen. It also allows components to defer slower, - * data fetching updates until subsequent renders so that more crucial updates can be - * rendered immediately. - * - * The `useTransition` hook returns two values in an array. - * - * The first is a boolean, React’s way of informing us whether we’re waiting for the transition to finish. - * The second is a function that takes a callback. We can use it to tell React which state we want to defer. - * - * **If some state update causes a component to suspend, that state update should be wrapped in a transition.** - * - * @see {@link https://react.dev/reference/react/useTransition} - */ - export function useTransition(): [boolean, TransitionStartFunction]; - - /** - * Similar to `useTransition` but allows uses where hooks are not available. - * - * @param callback A _synchronous_ function which causes state updates that can be deferred. - */ - export function startTransition(scope: TransitionFunction): void; - - /** - * Wrap any code rendering and triggering updates to your components into `act()` calls. - * - * Ensures that the behavior in your tests matches what happens in the browser - * more closely by executing pending `useEffect`s before returning. This also - * reduces the amount of re-renders done. - * - * @param callback A synchronous, void callback that will execute as a single, complete React commit. - * - * @see https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#testing-hooks - */ - // While act does always return Thenable, if a void function is passed, we pretend the return value is also void to not trigger dangling Promise lint rules. - export function act(callback: () => VoidOrUndefinedOnly): void; - export function act(callback: () => T | Promise): Promise; - - export function useId(): string; - - /** - * @param effect Imperative function that can return a cleanup function - * @param deps If present, effect will only activate if the values in the list change. - * - * @see {@link https://github.com/facebook/react/pull/21913} - */ - export function useInsertionEffect(effect: EffectCallback, deps?: DependencyList): void; - - /** - * @param subscribe - * @param getSnapshot - * - * @see {@link https://github.com/reactwg/react-18/discussions/86} - */ - // keep in sync with `useSyncExternalStore` from `use-sync-external-store` - export function useSyncExternalStore( - subscribe: (onStoreChange: () => void) => () => void, - getSnapshot: () => Snapshot, - getServerSnapshot?: () => Snapshot, - ): Snapshot; - - // - // Event System - // ---------------------------------------------------------------------- - // TODO: change any to unknown when moving to TS v3 - interface BaseSyntheticEvent { - nativeEvent: E; - currentTarget: C; - target: T; - bubbles: boolean; - cancelable: boolean; - defaultPrevented: boolean; - eventPhase: number; - isTrusted: boolean; - preventDefault(): void; - isDefaultPrevented(): boolean; - stopPropagation(): void; - isPropagationStopped(): boolean; - persist(): void; - timeStamp: number; - type: string; - } - - /** - * currentTarget - a reference to the element on which the event listener is registered. - * - * target - a reference to the element from which the event was originally dispatched. - * This might be a child element to the element on which the event listener is registered. - * If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11508#issuecomment-256045682 - */ - interface SyntheticEvent extends BaseSyntheticEvent {} - - interface ClipboardEvent extends SyntheticEvent { - clipboardData: DataTransfer; - } - - interface CompositionEvent extends SyntheticEvent { - data: string; - } - - interface DragEvent extends MouseEvent { - dataTransfer: DataTransfer; - } - - interface PointerEvent extends MouseEvent { - pointerId: number; - pressure: number; - tangentialPressure: number; - tiltX: number; - tiltY: number; - twist: number; - width: number; - height: number; - pointerType: "mouse" | "pen" | "touch"; - isPrimary: boolean; - } - - interface FocusEvent extends SyntheticEvent { - relatedTarget: (EventTarget & RelatedTarget) | null; - target: EventTarget & Target; - } - - interface FormEvent extends SyntheticEvent { - } - - interface InvalidEvent extends SyntheticEvent { - target: EventTarget & T; - } - - interface ChangeEvent extends SyntheticEvent { - target: EventTarget & T; - } - - export type ModifierKey = - | "Alt" - | "AltGraph" - | "CapsLock" - | "Control" - | "Fn" - | "FnLock" - | "Hyper" - | "Meta" - | "NumLock" - | "ScrollLock" - | "Shift" - | "Super" - | "Symbol" - | "SymbolLock"; - - interface KeyboardEvent extends UIEvent { - altKey: boolean; - /** @deprecated */ - charCode: number; - ctrlKey: boolean; - code: string; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: ModifierKey): boolean; - /** - * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values - */ - key: string; - /** @deprecated */ - keyCode: number; - locale: string; - location: number; - metaKey: boolean; - repeat: boolean; - shiftKey: boolean; - /** @deprecated */ - which: number; - } - - interface MouseEvent extends UIEvent { - altKey: boolean; - button: number; - buttons: number; - clientX: number; - clientY: number; - ctrlKey: boolean; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: ModifierKey): boolean; - metaKey: boolean; - movementX: number; - movementY: number; - pageX: number; - pageY: number; - relatedTarget: EventTarget | null; - screenX: number; - screenY: number; - shiftKey: boolean; - } - - interface TouchEvent extends UIEvent { - altKey: boolean; - changedTouches: TouchList; - ctrlKey: boolean; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: ModifierKey): boolean; - metaKey: boolean; - shiftKey: boolean; - targetTouches: TouchList; - touches: TouchList; - } - - interface UIEvent extends SyntheticEvent { - detail: number; - view: AbstractView; - } - - interface WheelEvent extends MouseEvent { - deltaMode: number; - deltaX: number; - deltaY: number; - deltaZ: number; - } - - interface AnimationEvent extends SyntheticEvent { - animationName: string; - elapsedTime: number; - pseudoElement: string; - } - - interface TransitionEvent extends SyntheticEvent { - elapsedTime: number; - propertyName: string; - pseudoElement: string; - } - - // - // Event Handler Types - // ---------------------------------------------------------------------- - - type EventHandler> = { bivarianceHack(event: E): void }["bivarianceHack"]; - - type ReactEventHandler = EventHandler>; - - type ClipboardEventHandler = EventHandler>; - type CompositionEventHandler = EventHandler>; - type DragEventHandler = EventHandler>; - type FocusEventHandler = EventHandler>; - type FormEventHandler = EventHandler>; - type ChangeEventHandler = EventHandler>; - type KeyboardEventHandler = EventHandler>; - type MouseEventHandler = EventHandler>; - type TouchEventHandler = EventHandler>; - type PointerEventHandler = EventHandler>; - type UIEventHandler = EventHandler>; - type WheelEventHandler = EventHandler>; - type AnimationEventHandler = EventHandler>; - type TransitionEventHandler = EventHandler>; - - // - // Props / DOM Attributes - // ---------------------------------------------------------------------- - - interface HTMLProps extends AllHTMLAttributes, ClassAttributes { - } - - type DetailedHTMLProps, T> = ClassAttributes & E; - - interface SVGProps extends SVGAttributes, ClassAttributes { - } - - interface SVGLineElementAttributes extends SVGProps {} - interface SVGTextElementAttributes extends SVGProps {} - - interface DOMAttributes { - children?: ReactNode | undefined; - dangerouslySetInnerHTML?: { - // Should be InnerHTML['innerHTML']. - // But unfortunately we're mixing renderer-specific type declarations. - __html: string | TrustedHTML; - } | undefined; - - // Clipboard Events - onCopy?: ClipboardEventHandler | undefined; - onCopyCapture?: ClipboardEventHandler | undefined; - onCut?: ClipboardEventHandler | undefined; - onCutCapture?: ClipboardEventHandler | undefined; - onPaste?: ClipboardEventHandler | undefined; - onPasteCapture?: ClipboardEventHandler | undefined; - - // Composition Events - onCompositionEnd?: CompositionEventHandler | undefined; - onCompositionEndCapture?: CompositionEventHandler | undefined; - onCompositionStart?: CompositionEventHandler | undefined; - onCompositionStartCapture?: CompositionEventHandler | undefined; - onCompositionUpdate?: CompositionEventHandler | undefined; - onCompositionUpdateCapture?: CompositionEventHandler | undefined; - - // Focus Events - onFocus?: FocusEventHandler | undefined; - onFocusCapture?: FocusEventHandler | undefined; - onBlur?: FocusEventHandler | undefined; - onBlurCapture?: FocusEventHandler | undefined; - - // Form Events - onChange?: FormEventHandler | undefined; - onChangeCapture?: FormEventHandler | undefined; - onBeforeInput?: FormEventHandler | undefined; - onBeforeInputCapture?: FormEventHandler | undefined; - onInput?: FormEventHandler | undefined; - onInputCapture?: FormEventHandler | undefined; - onReset?: FormEventHandler | undefined; - onResetCapture?: FormEventHandler | undefined; - onSubmit?: FormEventHandler | undefined; - onSubmitCapture?: FormEventHandler | undefined; - onInvalid?: FormEventHandler | undefined; - onInvalidCapture?: FormEventHandler | undefined; - - // Image Events - onLoad?: ReactEventHandler | undefined; - onLoadCapture?: ReactEventHandler | undefined; - onError?: ReactEventHandler | undefined; // also a Media Event - onErrorCapture?: ReactEventHandler | undefined; // also a Media Event - - // Keyboard Events - onKeyDown?: KeyboardEventHandler | undefined; - onKeyDownCapture?: KeyboardEventHandler | undefined; - /** @deprecated Use `onKeyUp` or `onKeyDown` instead */ - onKeyPress?: KeyboardEventHandler | undefined; - /** @deprecated Use `onKeyUpCapture` or `onKeyDownCapture` instead */ - onKeyPressCapture?: KeyboardEventHandler | undefined; - onKeyUp?: KeyboardEventHandler | undefined; - onKeyUpCapture?: KeyboardEventHandler | undefined; - - // Media Events - onAbort?: ReactEventHandler | undefined; - onAbortCapture?: ReactEventHandler | undefined; - onCanPlay?: ReactEventHandler | undefined; - onCanPlayCapture?: ReactEventHandler | undefined; - onCanPlayThrough?: ReactEventHandler | undefined; - onCanPlayThroughCapture?: ReactEventHandler | undefined; - onDurationChange?: ReactEventHandler | undefined; - onDurationChangeCapture?: ReactEventHandler | undefined; - onEmptied?: ReactEventHandler | undefined; - onEmptiedCapture?: ReactEventHandler | undefined; - onEncrypted?: ReactEventHandler | undefined; - onEncryptedCapture?: ReactEventHandler | undefined; - onEnded?: ReactEventHandler | undefined; - onEndedCapture?: ReactEventHandler | undefined; - onLoadedData?: ReactEventHandler | undefined; - onLoadedDataCapture?: ReactEventHandler | undefined; - onLoadedMetadata?: ReactEventHandler | undefined; - onLoadedMetadataCapture?: ReactEventHandler | undefined; - onLoadStart?: ReactEventHandler | undefined; - onLoadStartCapture?: ReactEventHandler | undefined; - onPause?: ReactEventHandler | undefined; - onPauseCapture?: ReactEventHandler | undefined; - onPlay?: ReactEventHandler | undefined; - onPlayCapture?: ReactEventHandler | undefined; - onPlaying?: ReactEventHandler | undefined; - onPlayingCapture?: ReactEventHandler | undefined; - onProgress?: ReactEventHandler | undefined; - onProgressCapture?: ReactEventHandler | undefined; - onRateChange?: ReactEventHandler | undefined; - onRateChangeCapture?: ReactEventHandler | undefined; - onResize?: ReactEventHandler | undefined; - onResizeCapture?: ReactEventHandler | undefined; - onSeeked?: ReactEventHandler | undefined; - onSeekedCapture?: ReactEventHandler | undefined; - onSeeking?: ReactEventHandler | undefined; - onSeekingCapture?: ReactEventHandler | undefined; - onStalled?: ReactEventHandler | undefined; - onStalledCapture?: ReactEventHandler | undefined; - onSuspend?: ReactEventHandler | undefined; - onSuspendCapture?: ReactEventHandler | undefined; - onTimeUpdate?: ReactEventHandler | undefined; - onTimeUpdateCapture?: ReactEventHandler | undefined; - onVolumeChange?: ReactEventHandler | undefined; - onVolumeChangeCapture?: ReactEventHandler | undefined; - onWaiting?: ReactEventHandler | undefined; - onWaitingCapture?: ReactEventHandler | undefined; - - // MouseEvents - onAuxClick?: MouseEventHandler | undefined; - onAuxClickCapture?: MouseEventHandler | undefined; - onClick?: MouseEventHandler | undefined; - onClickCapture?: MouseEventHandler | undefined; - onContextMenu?: MouseEventHandler | undefined; - onContextMenuCapture?: MouseEventHandler | undefined; - onDoubleClick?: MouseEventHandler | undefined; - onDoubleClickCapture?: MouseEventHandler | undefined; - onDrag?: DragEventHandler | undefined; - onDragCapture?: DragEventHandler | undefined; - onDragEnd?: DragEventHandler | undefined; - onDragEndCapture?: DragEventHandler | undefined; - onDragEnter?: DragEventHandler | undefined; - onDragEnterCapture?: DragEventHandler | undefined; - onDragExit?: DragEventHandler | undefined; - onDragExitCapture?: DragEventHandler | undefined; - onDragLeave?: DragEventHandler | undefined; - onDragLeaveCapture?: DragEventHandler | undefined; - onDragOver?: DragEventHandler | undefined; - onDragOverCapture?: DragEventHandler | undefined; - onDragStart?: DragEventHandler | undefined; - onDragStartCapture?: DragEventHandler | undefined; - onDrop?: DragEventHandler | undefined; - onDropCapture?: DragEventHandler | undefined; - onMouseDown?: MouseEventHandler | undefined; - onMouseDownCapture?: MouseEventHandler | undefined; - onMouseEnter?: MouseEventHandler | undefined; - onMouseLeave?: MouseEventHandler | undefined; - onMouseMove?: MouseEventHandler | undefined; - onMouseMoveCapture?: MouseEventHandler | undefined; - onMouseOut?: MouseEventHandler | undefined; - onMouseOutCapture?: MouseEventHandler | undefined; - onMouseOver?: MouseEventHandler | undefined; - onMouseOverCapture?: MouseEventHandler | undefined; - onMouseUp?: MouseEventHandler | undefined; - onMouseUpCapture?: MouseEventHandler | undefined; - - // Selection Events - onSelect?: ReactEventHandler | undefined; - onSelectCapture?: ReactEventHandler | undefined; - - // Touch Events - onTouchCancel?: TouchEventHandler | undefined; - onTouchCancelCapture?: TouchEventHandler | undefined; - onTouchEnd?: TouchEventHandler | undefined; - onTouchEndCapture?: TouchEventHandler | undefined; - onTouchMove?: TouchEventHandler | undefined; - onTouchMoveCapture?: TouchEventHandler | undefined; - onTouchStart?: TouchEventHandler | undefined; - onTouchStartCapture?: TouchEventHandler | undefined; - - // Pointer Events - onPointerDown?: PointerEventHandler | undefined; - onPointerDownCapture?: PointerEventHandler | undefined; - onPointerMove?: PointerEventHandler | undefined; - onPointerMoveCapture?: PointerEventHandler | undefined; - onPointerUp?: PointerEventHandler | undefined; - onPointerUpCapture?: PointerEventHandler | undefined; - onPointerCancel?: PointerEventHandler | undefined; - onPointerCancelCapture?: PointerEventHandler | undefined; - onPointerEnter?: PointerEventHandler | undefined; - onPointerLeave?: PointerEventHandler | undefined; - onPointerOver?: PointerEventHandler | undefined; - onPointerOverCapture?: PointerEventHandler | undefined; - onPointerOut?: PointerEventHandler | undefined; - onPointerOutCapture?: PointerEventHandler | undefined; - onGotPointerCapture?: PointerEventHandler | undefined; - onGotPointerCaptureCapture?: PointerEventHandler | undefined; - onLostPointerCapture?: PointerEventHandler | undefined; - onLostPointerCaptureCapture?: PointerEventHandler | undefined; - - // UI Events - onScroll?: UIEventHandler | undefined; - onScrollCapture?: UIEventHandler | undefined; - - // Wheel Events - onWheel?: WheelEventHandler | undefined; - onWheelCapture?: WheelEventHandler | undefined; - - // Animation Events - onAnimationStart?: AnimationEventHandler | undefined; - onAnimationStartCapture?: AnimationEventHandler | undefined; - onAnimationEnd?: AnimationEventHandler | undefined; - onAnimationEndCapture?: AnimationEventHandler | undefined; - onAnimationIteration?: AnimationEventHandler | undefined; - onAnimationIterationCapture?: AnimationEventHandler | undefined; - - // Transition Events - onTransitionEnd?: TransitionEventHandler | undefined; - onTransitionEndCapture?: TransitionEventHandler | undefined; - } - - export interface CSSProperties extends CSS.Properties { - /** - * The index signature was removed to enable closed typing for style - * using CSSType. You're able to use type assertion or module augmentation - * to add properties or an index signature of your own. - * - * For examples and more information, visit: - * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors - */ - } - - // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ - interface AriaAttributes { - /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ - "aria-activedescendant"?: string | undefined; - /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ - "aria-atomic"?: Booleanish | undefined; - /** - * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be - * presented if they are made. - */ - "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined; - /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ - /** - * Defines a string value that labels the current element, which is intended to be converted into Braille. - * @see aria-label. - */ - "aria-braillelabel"?: string | undefined; - /** - * Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille. - * @see aria-roledescription. - */ - "aria-brailleroledescription"?: string | undefined; - "aria-busy"?: Booleanish | undefined; - /** - * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. - * @see aria-pressed @see aria-selected. - */ - "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined; - /** - * Defines the total number of columns in a table, grid, or treegrid. - * @see aria-colindex. - */ - "aria-colcount"?: number | undefined; - /** - * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. - * @see aria-colcount @see aria-colspan. - */ - "aria-colindex"?: number | undefined; - /** - * Defines a human readable text alternative of aria-colindex. - * @see aria-rowindextext. - */ - "aria-colindextext"?: string | undefined; - /** - * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. - * @see aria-colindex @see aria-rowspan. - */ - "aria-colspan"?: number | undefined; - /** - * Identifies the element (or elements) whose contents or presence are controlled by the current element. - * @see aria-owns. - */ - "aria-controls"?: string | undefined; - /** Indicates the element that represents the current item within a container or set of related elements. */ - "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined; - /** - * Identifies the element (or elements) that describes the object. - * @see aria-labelledby - */ - "aria-describedby"?: string | undefined; - /** - * Defines a string value that describes or annotates the current element. - * @see related aria-describedby. - */ - "aria-description"?: string | undefined; - /** - * Identifies the element that provides a detailed, extended description for the object. - * @see aria-describedby. - */ - "aria-details"?: string | undefined; - /** - * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. - * @see aria-hidden @see aria-readonly. - */ - "aria-disabled"?: Booleanish | undefined; - /** - * Indicates what functions can be performed when a dragged object is released on the drop target. - * @deprecated in ARIA 1.1 - */ - "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined; - /** - * Identifies the element that provides an error message for the object. - * @see aria-invalid @see aria-describedby. - */ - "aria-errormessage"?: string | undefined; - /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ - "aria-expanded"?: Booleanish | undefined; - /** - * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, - * allows assistive technology to override the general default of reading in document source order. - */ - "aria-flowto"?: string | undefined; - /** - * Indicates an element's "grabbed" state in a drag-and-drop operation. - * @deprecated in ARIA 1.1 - */ - "aria-grabbed"?: Booleanish | undefined; - /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ - "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined; - /** - * Indicates whether the element is exposed to an accessibility API. - * @see aria-disabled. - */ - "aria-hidden"?: Booleanish | undefined; - /** - * Indicates the entered value does not conform to the format expected by the application. - * @see aria-errormessage. - */ - "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined; - /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ - "aria-keyshortcuts"?: string | undefined; - /** - * Defines a string value that labels the current element. - * @see aria-labelledby. - */ - "aria-label"?: string | undefined; - /** - * Identifies the element (or elements) that labels the current element. - * @see aria-describedby. - */ - "aria-labelledby"?: string | undefined; - /** Defines the hierarchical level of an element within a structure. */ - "aria-level"?: number | undefined; - /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ - "aria-live"?: "off" | "assertive" | "polite" | undefined; - /** Indicates whether an element is modal when displayed. */ - "aria-modal"?: Booleanish | undefined; - /** Indicates whether a text box accepts multiple lines of input or only a single line. */ - "aria-multiline"?: Booleanish | undefined; - /** Indicates that the user may select more than one item from the current selectable descendants. */ - "aria-multiselectable"?: Booleanish | undefined; - /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ - "aria-orientation"?: "horizontal" | "vertical" | undefined; - /** - * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship - * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. - * @see aria-controls. - */ - "aria-owns"?: string | undefined; - /** - * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. - * A hint could be a sample value or a brief description of the expected format. - */ - "aria-placeholder"?: string | undefined; - /** - * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. - * @see aria-setsize. - */ - "aria-posinset"?: number | undefined; - /** - * Indicates the current "pressed" state of toggle buttons. - * @see aria-checked @see aria-selected. - */ - "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined; - /** - * Indicates that the element is not editable, but is otherwise operable. - * @see aria-disabled. - */ - "aria-readonly"?: Booleanish | undefined; - /** - * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. - * @see aria-atomic. - */ - "aria-relevant"?: - | "additions" - | "additions removals" - | "additions text" - | "all" - | "removals" - | "removals additions" - | "removals text" - | "text" - | "text additions" - | "text removals" - | undefined; - /** Indicates that user input is required on the element before a form may be submitted. */ - "aria-required"?: Booleanish | undefined; - /** Defines a human-readable, author-localized description for the role of an element. */ - "aria-roledescription"?: string | undefined; - /** - * Defines the total number of rows in a table, grid, or treegrid. - * @see aria-rowindex. - */ - "aria-rowcount"?: number | undefined; - /** - * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. - * @see aria-rowcount @see aria-rowspan. - */ - "aria-rowindex"?: number | undefined; - /** - * Defines a human readable text alternative of aria-rowindex. - * @see aria-colindextext. - */ - "aria-rowindextext"?: string | undefined; - /** - * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. - * @see aria-rowindex @see aria-colspan. - */ - "aria-rowspan"?: number | undefined; - /** - * Indicates the current "selected" state of various widgets. - * @see aria-checked @see aria-pressed. - */ - "aria-selected"?: Booleanish | undefined; - /** - * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. - * @see aria-posinset. - */ - "aria-setsize"?: number | undefined; - /** Indicates if items in a table or grid are sorted in ascending or descending order. */ - "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined; - /** Defines the maximum allowed value for a range widget. */ - "aria-valuemax"?: number | undefined; - /** Defines the minimum allowed value for a range widget. */ - "aria-valuemin"?: number | undefined; - /** - * Defines the current value for a range widget. - * @see aria-valuetext. - */ - "aria-valuenow"?: number | undefined; - /** Defines the human readable text alternative of aria-valuenow for a range widget. */ - "aria-valuetext"?: string | undefined; - } - - // All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions - type AriaRole = - | "alert" - | "alertdialog" - | "application" - | "article" - | "banner" - | "button" - | "cell" - | "checkbox" - | "columnheader" - | "combobox" - | "complementary" - | "contentinfo" - | "definition" - | "dialog" - | "directory" - | "document" - | "feed" - | "figure" - | "form" - | "grid" - | "gridcell" - | "group" - | "heading" - | "img" - | "link" - | "list" - | "listbox" - | "listitem" - | "log" - | "main" - | "marquee" - | "math" - | "menu" - | "menubar" - | "menuitem" - | "menuitemcheckbox" - | "menuitemradio" - | "navigation" - | "none" - | "note" - | "option" - | "presentation" - | "progressbar" - | "radio" - | "radiogroup" - | "region" - | "row" - | "rowgroup" - | "rowheader" - | "scrollbar" - | "search" - | "searchbox" - | "separator" - | "slider" - | "spinbutton" - | "status" - | "switch" - | "tab" - | "table" - | "tablist" - | "tabpanel" - | "term" - | "textbox" - | "timer" - | "toolbar" - | "tooltip" - | "tree" - | "treegrid" - | "treeitem" - | (string & {}); - - interface HTMLAttributes extends AriaAttributes, DOMAttributes { - // React-specific Attributes - defaultChecked?: boolean | undefined; - defaultValue?: string | number | readonly string[] | undefined; - suppressContentEditableWarning?: boolean | undefined; - suppressHydrationWarning?: boolean | undefined; - - // Standard HTML Attributes - accessKey?: string | undefined; - autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}); - autoFocus?: boolean | undefined; - className?: string | undefined; - contentEditable?: Booleanish | "inherit" | "plaintext-only" | undefined; - contextMenu?: string | undefined; - dir?: string | undefined; - draggable?: Booleanish | undefined; - enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined; - hidden?: boolean | undefined; - id?: string | undefined; - lang?: string | undefined; - nonce?: string | undefined; - slot?: string | undefined; - spellCheck?: Booleanish | undefined; - style?: CSSProperties | undefined; - tabIndex?: number | undefined; - title?: string | undefined; - translate?: "yes" | "no" | undefined; - - // Unknown - radioGroup?: string | undefined; // , - - // WAI-ARIA - role?: AriaRole | undefined; - - // RDFa Attributes - about?: string | undefined; - content?: string | undefined; - datatype?: string | undefined; - inlist?: any; - prefix?: string | undefined; - property?: string | undefined; - rel?: string | undefined; - resource?: string | undefined; - rev?: string | undefined; - typeof?: string | undefined; - vocab?: string | undefined; - - // Non-standard Attributes - autoCorrect?: string | undefined; - autoSave?: string | undefined; - color?: string | undefined; - itemProp?: string | undefined; - itemScope?: boolean | undefined; - itemType?: string | undefined; - itemID?: string | undefined; - itemRef?: string | undefined; - results?: number | undefined; - security?: string | undefined; - unselectable?: "on" | "off" | undefined; - - // Living Standard - /** - * Hints at the type of data that might be entered by the user while editing the element or its contents - * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute} - */ - inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined; - /** - * Specify that a standard HTML element should behave like a defined custom built-in element - * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is} - */ - is?: string | undefined; - } - - /** - * For internal usage only. - * Different release channels declare additional types of ReactNode this particular release channel accepts. - * App or library types should never augment this interface. - */ - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS {} - - interface AllHTMLAttributes extends HTMLAttributes { - // Standard HTML Attributes - accept?: string | undefined; - acceptCharset?: string | undefined; - action?: - | string - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ]; - allowFullScreen?: boolean | undefined; - allowTransparency?: boolean | undefined; - alt?: string | undefined; - as?: string | undefined; - async?: boolean | undefined; - autoComplete?: string | undefined; - autoPlay?: boolean | undefined; - capture?: boolean | "user" | "environment" | undefined; - cellPadding?: number | string | undefined; - cellSpacing?: number | string | undefined; - charSet?: string | undefined; - challenge?: string | undefined; - checked?: boolean | undefined; - cite?: string | undefined; - classID?: string | undefined; - cols?: number | undefined; - colSpan?: number | undefined; - controls?: boolean | undefined; - coords?: string | undefined; - crossOrigin?: CrossOrigin; - data?: string | undefined; - dateTime?: string | undefined; - default?: boolean | undefined; - defer?: boolean | undefined; - disabled?: boolean | undefined; - download?: any; - encType?: string | undefined; - form?: string | undefined; - formAction?: - | string - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ]; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - frameBorder?: number | string | undefined; - headers?: string | undefined; - height?: number | string | undefined; - high?: number | undefined; - href?: string | undefined; - hrefLang?: string | undefined; - htmlFor?: string | undefined; - httpEquiv?: string | undefined; - integrity?: string | undefined; - keyParams?: string | undefined; - keyType?: string | undefined; - kind?: string | undefined; - label?: string | undefined; - list?: string | undefined; - loop?: boolean | undefined; - low?: number | undefined; - manifest?: string | undefined; - marginHeight?: number | undefined; - marginWidth?: number | undefined; - max?: number | string | undefined; - maxLength?: number | undefined; - media?: string | undefined; - mediaGroup?: string | undefined; - method?: string | undefined; - min?: number | string | undefined; - minLength?: number | undefined; - multiple?: boolean | undefined; - muted?: boolean | undefined; - name?: string | undefined; - noValidate?: boolean | undefined; - open?: boolean | undefined; - optimum?: number | undefined; - pattern?: string | undefined; - placeholder?: string | undefined; - playsInline?: boolean | undefined; - poster?: string | undefined; - preload?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - reversed?: boolean | undefined; - rows?: number | undefined; - rowSpan?: number | undefined; - sandbox?: string | undefined; - scope?: string | undefined; - scoped?: boolean | undefined; - scrolling?: string | undefined; - seamless?: boolean | undefined; - selected?: boolean | undefined; - shape?: string | undefined; - size?: number | undefined; - sizes?: string | undefined; - span?: number | undefined; - src?: string | undefined; - srcDoc?: string | undefined; - srcLang?: string | undefined; - srcSet?: string | undefined; - start?: number | undefined; - step?: number | string | undefined; - summary?: string | undefined; - target?: string | undefined; - type?: string | undefined; - useMap?: string | undefined; - value?: string | readonly string[] | number | undefined; - width?: number | string | undefined; - wmode?: string | undefined; - wrap?: string | undefined; - } - - type HTMLAttributeReferrerPolicy = - | "" - | "no-referrer" - | "no-referrer-when-downgrade" - | "origin" - | "origin-when-cross-origin" - | "same-origin" - | "strict-origin" - | "strict-origin-when-cross-origin" - | "unsafe-url"; - - type HTMLAttributeAnchorTarget = - | "_self" - | "_blank" - | "_parent" - | "_top" - | (string & {}); - - interface AnchorHTMLAttributes extends HTMLAttributes { - download?: any; - href?: string | undefined; - hrefLang?: string | undefined; - media?: string | undefined; - ping?: string | undefined; - target?: HTMLAttributeAnchorTarget | undefined; - type?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - } - - interface AudioHTMLAttributes extends MediaHTMLAttributes {} - - interface AreaHTMLAttributes extends HTMLAttributes { - alt?: string | undefined; - coords?: string | undefined; - download?: any; - href?: string | undefined; - hrefLang?: string | undefined; - media?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - shape?: string | undefined; - target?: string | undefined; - } - - interface BaseHTMLAttributes extends HTMLAttributes { - href?: string | undefined; - target?: string | undefined; - } - - interface BlockquoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - } - - interface ButtonHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - form?: string | undefined; - formAction?: - | string - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ] - | undefined; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - name?: string | undefined; - type?: "submit" | "reset" | "button" | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface CanvasHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - width?: number | string | undefined; - } - - interface ColHTMLAttributes extends HTMLAttributes { - span?: number | undefined; - width?: number | string | undefined; - } - - interface ColgroupHTMLAttributes extends HTMLAttributes { - span?: number | undefined; - } - - interface DataHTMLAttributes extends HTMLAttributes { - value?: string | readonly string[] | number | undefined; - } - - interface DetailsHTMLAttributes extends HTMLAttributes { - open?: boolean | undefined; - onToggle?: ReactEventHandler | undefined; - name?: string | undefined; - } - - interface DelHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - dateTime?: string | undefined; - } - - interface DialogHTMLAttributes extends HTMLAttributes { - onCancel?: ReactEventHandler | undefined; - onClose?: ReactEventHandler | undefined; - open?: boolean | undefined; - } - - interface EmbedHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - src?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - } - - interface FieldsetHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - form?: string | undefined; - name?: string | undefined; - } - - interface FormHTMLAttributes extends HTMLAttributes { - acceptCharset?: string | undefined; - action?: - | string - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ]; - autoComplete?: string | undefined; - encType?: string | undefined; - method?: string | undefined; - name?: string | undefined; - noValidate?: boolean | undefined; - target?: string | undefined; - } - - interface HtmlHTMLAttributes extends HTMLAttributes { - manifest?: string | undefined; - } - - interface IframeHTMLAttributes extends HTMLAttributes { - allow?: string | undefined; - allowFullScreen?: boolean | undefined; - allowTransparency?: boolean | undefined; - /** @deprecated */ - frameBorder?: number | string | undefined; - height?: number | string | undefined; - loading?: "eager" | "lazy" | undefined; - /** @deprecated */ - marginHeight?: number | undefined; - /** @deprecated */ - marginWidth?: number | undefined; - name?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - sandbox?: string | undefined; - /** @deprecated */ - scrolling?: string | undefined; - seamless?: boolean | undefined; - src?: string | undefined; - srcDoc?: string | undefined; - width?: number | string | undefined; - } - - interface ImgHTMLAttributes extends HTMLAttributes { - alt?: string | undefined; - crossOrigin?: CrossOrigin; - decoding?: "async" | "auto" | "sync" | undefined; - fetchPriority?: "high" | "low" | "auto"; - height?: number | string | undefined; - loading?: "eager" | "lazy" | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - sizes?: string | undefined; - src?: string | undefined; - srcSet?: string | undefined; - useMap?: string | undefined; - width?: number | string | undefined; - } - - interface InsHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - dateTime?: string | undefined; - } - - type HTMLInputTypeAttribute = - | "button" - | "checkbox" - | "color" - | "date" - | "datetime-local" - | "email" - | "file" - | "hidden" - | "image" - | "month" - | "number" - | "password" - | "radio" - | "range" - | "reset" - | "search" - | "submit" - | "tel" - | "text" - | "time" - | "url" - | "week" - | (string & {}); - - type AutoFillAddressKind = "billing" | "shipping"; - type AutoFillBase = "" | "off" | "on"; - type AutoFillContactField = - | "email" - | "tel" - | "tel-area-code" - | "tel-country-code" - | "tel-extension" - | "tel-local" - | "tel-local-prefix" - | "tel-local-suffix" - | "tel-national"; - type AutoFillContactKind = "home" | "mobile" | "work"; - type AutoFillCredentialField = "webauthn"; - type AutoFillNormalField = - | "additional-name" - | "address-level1" - | "address-level2" - | "address-level3" - | "address-level4" - | "address-line1" - | "address-line2" - | "address-line3" - | "bday-day" - | "bday-month" - | "bday-year" - | "cc-csc" - | "cc-exp" - | "cc-exp-month" - | "cc-exp-year" - | "cc-family-name" - | "cc-given-name" - | "cc-name" - | "cc-number" - | "cc-type" - | "country" - | "country-name" - | "current-password" - | "family-name" - | "given-name" - | "honorific-prefix" - | "honorific-suffix" - | "name" - | "new-password" - | "one-time-code" - | "organization" - | "postal-code" - | "street-address" - | "transaction-amount" - | "transaction-currency" - | "username"; - type OptionalPrefixToken = `${T} ` | ""; - type OptionalPostfixToken = ` ${T}` | ""; - type AutoFillField = AutoFillNormalField | `${OptionalPrefixToken}${AutoFillContactField}`; - type AutoFillSection = `section-${string}`; - type AutoFill = - | AutoFillBase - | `${OptionalPrefixToken}${OptionalPrefixToken< - AutoFillAddressKind - >}${AutoFillField}${OptionalPostfixToken}`; - type HTMLInputAutoCompleteAttribute = AutoFill | (string & {}); - - interface InputHTMLAttributes extends HTMLAttributes { - accept?: string | undefined; - alt?: string | undefined; - autoComplete?: HTMLInputAutoCompleteAttribute | undefined; - capture?: boolean | "user" | "environment" | undefined; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute - checked?: boolean | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - formAction?: - | string - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ] - | undefined; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - height?: number | string | undefined; - list?: string | undefined; - max?: number | string | undefined; - maxLength?: number | undefined; - min?: number | string | undefined; - minLength?: number | undefined; - multiple?: boolean | undefined; - name?: string | undefined; - pattern?: string | undefined; - placeholder?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - size?: number | undefined; - src?: string | undefined; - step?: number | string | undefined; - type?: HTMLInputTypeAttribute | undefined; - value?: string | readonly string[] | number | undefined; - width?: number | string | undefined; - - onChange?: ChangeEventHandler | undefined; - } - - interface KeygenHTMLAttributes extends HTMLAttributes { - challenge?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - keyType?: string | undefined; - keyParams?: string | undefined; - name?: string | undefined; - } - - interface LabelHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - htmlFor?: string | undefined; - } - - interface LiHTMLAttributes extends HTMLAttributes { - value?: string | readonly string[] | number | undefined; - } - - interface LinkHTMLAttributes extends HTMLAttributes { - as?: string | undefined; - crossOrigin?: CrossOrigin; - fetchPriority?: "high" | "low" | "auto"; - href?: string | undefined; - hrefLang?: string | undefined; - integrity?: string | undefined; - media?: string | undefined; - imageSrcSet?: string | undefined; - imageSizes?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - sizes?: string | undefined; - type?: string | undefined; - charSet?: string | undefined; - } - - interface MapHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - } - - interface MenuHTMLAttributes extends HTMLAttributes { - type?: string | undefined; - } - - interface MediaHTMLAttributes extends HTMLAttributes { - autoPlay?: boolean | undefined; - controls?: boolean | undefined; - controlsList?: string | undefined; - crossOrigin?: CrossOrigin; - loop?: boolean | undefined; - mediaGroup?: string | undefined; - muted?: boolean | undefined; - playsInline?: boolean | undefined; - preload?: string | undefined; - src?: string | undefined; - } - - interface MetaHTMLAttributes extends HTMLAttributes { - charSet?: string | undefined; - content?: string | undefined; - httpEquiv?: string | undefined; - media?: string | undefined; - name?: string | undefined; - } - - interface MeterHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - high?: number | undefined; - low?: number | undefined; - max?: number | string | undefined; - min?: number | string | undefined; - optimum?: number | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface QuoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - } - - interface ObjectHTMLAttributes extends HTMLAttributes { - classID?: string | undefined; - data?: string | undefined; - form?: string | undefined; - height?: number | string | undefined; - name?: string | undefined; - type?: string | undefined; - useMap?: string | undefined; - width?: number | string | undefined; - wmode?: string | undefined; - } - - interface OlHTMLAttributes extends HTMLAttributes { - reversed?: boolean | undefined; - start?: number | undefined; - type?: "1" | "a" | "A" | "i" | "I" | undefined; - } - - interface OptgroupHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - label?: string | undefined; - } - - interface OptionHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - label?: string | undefined; - selected?: boolean | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface OutputHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - htmlFor?: string | undefined; - name?: string | undefined; - } - - interface ParamHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface ProgressHTMLAttributes extends HTMLAttributes { - max?: number | string | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface SlotHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - } - - interface ScriptHTMLAttributes extends HTMLAttributes { - async?: boolean | undefined; - /** @deprecated */ - charSet?: string | undefined; - crossOrigin?: CrossOrigin; - defer?: boolean | undefined; - integrity?: string | undefined; - noModule?: boolean | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - src?: string | undefined; - type?: string | undefined; - } - - interface SelectHTMLAttributes extends HTMLAttributes { - autoComplete?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - multiple?: boolean | undefined; - name?: string | undefined; - required?: boolean | undefined; - size?: number | undefined; - value?: string | readonly string[] | number | undefined; - onChange?: ChangeEventHandler | undefined; - } - - interface SourceHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - media?: string | undefined; - sizes?: string | undefined; - src?: string | undefined; - srcSet?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - } - - interface StyleHTMLAttributes extends HTMLAttributes { - media?: string | undefined; - scoped?: boolean | undefined; - type?: string | undefined; - } - - interface TableHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | undefined; - bgcolor?: string | undefined; - border?: number | undefined; - cellPadding?: number | string | undefined; - cellSpacing?: number | string | undefined; - frame?: boolean | undefined; - rules?: "none" | "groups" | "rows" | "columns" | "all" | undefined; - summary?: string | undefined; - width?: number | string | undefined; - } - - interface TextareaHTMLAttributes extends HTMLAttributes { - autoComplete?: string | undefined; - cols?: number | undefined; - dirName?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - maxLength?: number | undefined; - minLength?: number | undefined; - name?: string | undefined; - placeholder?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - rows?: number | undefined; - value?: string | readonly string[] | number | undefined; - wrap?: string | undefined; - - onChange?: ChangeEventHandler | undefined; - } - - interface TdHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined; - colSpan?: number | undefined; - headers?: string | undefined; - rowSpan?: number | undefined; - scope?: string | undefined; - abbr?: string | undefined; - height?: number | string | undefined; - width?: number | string | undefined; - valign?: "top" | "middle" | "bottom" | "baseline" | undefined; - } - - interface ThHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined; - colSpan?: number | undefined; - headers?: string | undefined; - rowSpan?: number | undefined; - scope?: string | undefined; - abbr?: string | undefined; - } - - interface TimeHTMLAttributes extends HTMLAttributes { - dateTime?: string | undefined; - } - - interface TrackHTMLAttributes extends HTMLAttributes { - default?: boolean | undefined; - kind?: string | undefined; - label?: string | undefined; - src?: string | undefined; - srcLang?: string | undefined; - } - - interface VideoHTMLAttributes extends MediaHTMLAttributes { - height?: number | string | undefined; - playsInline?: boolean | undefined; - poster?: string | undefined; - width?: number | string | undefined; - disablePictureInPicture?: boolean | undefined; - disableRemotePlayback?: boolean | undefined; - } - - // this list is "complete" in that it contains every SVG attribute - // that React supports, but the types can be improved. - // Full list here: https://facebook.github.io/react/docs/dom-elements.html - // - // The three broad type categories are (in order of restrictiveness): - // - "number | string" - // - "string" - // - union of string literals - interface SVGAttributes extends AriaAttributes, DOMAttributes { - // React-specific Attributes - suppressHydrationWarning?: boolean | undefined; - - // Attributes which also defined in HTMLAttributes - // See comment in SVGDOMPropertyConfig.js - className?: string | undefined; - color?: string | undefined; - height?: number | string | undefined; - id?: string | undefined; - lang?: string | undefined; - max?: number | string | undefined; - media?: string | undefined; - method?: string | undefined; - min?: number | string | undefined; - name?: string | undefined; - style?: CSSProperties | undefined; - target?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - - // Other HTML properties supported by SVG elements in browsers - role?: AriaRole | undefined; - tabIndex?: number | undefined; - crossOrigin?: CrossOrigin; - - // SVG Specific attributes - accentHeight?: number | string | undefined; - accumulate?: "none" | "sum" | undefined; - additive?: "replace" | "sum" | undefined; - alignmentBaseline?: - | "auto" - | "baseline" - | "before-edge" - | "text-before-edge" - | "middle" - | "central" - | "after-edge" - | "text-after-edge" - | "ideographic" - | "alphabetic" - | "hanging" - | "mathematical" - | "inherit" - | undefined; - allowReorder?: "no" | "yes" | undefined; - alphabetic?: number | string | undefined; - amplitude?: number | string | undefined; - arabicForm?: "initial" | "medial" | "terminal" | "isolated" | undefined; - ascent?: number | string | undefined; - attributeName?: string | undefined; - attributeType?: string | undefined; - autoReverse?: Booleanish | undefined; - azimuth?: number | string | undefined; - baseFrequency?: number | string | undefined; - baselineShift?: number | string | undefined; - baseProfile?: number | string | undefined; - bbox?: number | string | undefined; - begin?: number | string | undefined; - bias?: number | string | undefined; - by?: number | string | undefined; - calcMode?: number | string | undefined; - capHeight?: number | string | undefined; - clip?: number | string | undefined; - clipPath?: string | undefined; - clipPathUnits?: number | string | undefined; - clipRule?: number | string | undefined; - colorInterpolation?: number | string | undefined; - colorInterpolationFilters?: "auto" | "sRGB" | "linearRGB" | "inherit" | undefined; - colorProfile?: number | string | undefined; - colorRendering?: number | string | undefined; - contentScriptType?: number | string | undefined; - contentStyleType?: number | string | undefined; - cursor?: number | string | undefined; - cx?: number | string | undefined; - cy?: number | string | undefined; - d?: string | undefined; - decelerate?: number | string | undefined; - descent?: number | string | undefined; - diffuseConstant?: number | string | undefined; - direction?: number | string | undefined; - display?: number | string | undefined; - divisor?: number | string | undefined; - dominantBaseline?: number | string | undefined; - dur?: number | string | undefined; - dx?: number | string | undefined; - dy?: number | string | undefined; - edgeMode?: number | string | undefined; - elevation?: number | string | undefined; - enableBackground?: number | string | undefined; - end?: number | string | undefined; - exponent?: number | string | undefined; - externalResourcesRequired?: Booleanish | undefined; - fill?: string | undefined; - fillOpacity?: number | string | undefined; - fillRule?: "nonzero" | "evenodd" | "inherit" | undefined; - filter?: string | undefined; - filterRes?: number | string | undefined; - filterUnits?: number | string | undefined; - floodColor?: number | string | undefined; - floodOpacity?: number | string | undefined; - focusable?: Booleanish | "auto" | undefined; - fontFamily?: string | undefined; - fontSize?: number | string | undefined; - fontSizeAdjust?: number | string | undefined; - fontStretch?: number | string | undefined; - fontStyle?: number | string | undefined; - fontVariant?: number | string | undefined; - fontWeight?: number | string | undefined; - format?: number | string | undefined; - fr?: number | string | undefined; - from?: number | string | undefined; - fx?: number | string | undefined; - fy?: number | string | undefined; - g1?: number | string | undefined; - g2?: number | string | undefined; - glyphName?: number | string | undefined; - glyphOrientationHorizontal?: number | string | undefined; - glyphOrientationVertical?: number | string | undefined; - glyphRef?: number | string | undefined; - gradientTransform?: string | undefined; - gradientUnits?: string | undefined; - hanging?: number | string | undefined; - horizAdvX?: number | string | undefined; - horizOriginX?: number | string | undefined; - href?: string | undefined; - ideographic?: number | string | undefined; - imageRendering?: number | string | undefined; - in2?: number | string | undefined; - in?: string | undefined; - intercept?: number | string | undefined; - k1?: number | string | undefined; - k2?: number | string | undefined; - k3?: number | string | undefined; - k4?: number | string | undefined; - k?: number | string | undefined; - kernelMatrix?: number | string | undefined; - kernelUnitLength?: number | string | undefined; - kerning?: number | string | undefined; - keyPoints?: number | string | undefined; - keySplines?: number | string | undefined; - keyTimes?: number | string | undefined; - lengthAdjust?: number | string | undefined; - letterSpacing?: number | string | undefined; - lightingColor?: number | string | undefined; - limitingConeAngle?: number | string | undefined; - local?: number | string | undefined; - markerEnd?: string | undefined; - markerHeight?: number | string | undefined; - markerMid?: string | undefined; - markerStart?: string | undefined; - markerUnits?: number | string | undefined; - markerWidth?: number | string | undefined; - mask?: string | undefined; - maskContentUnits?: number | string | undefined; - maskUnits?: number | string | undefined; - mathematical?: number | string | undefined; - mode?: number | string | undefined; - numOctaves?: number | string | undefined; - offset?: number | string | undefined; - opacity?: number | string | undefined; - operator?: number | string | undefined; - order?: number | string | undefined; - orient?: number | string | undefined; - orientation?: number | string | undefined; - origin?: number | string | undefined; - overflow?: number | string | undefined; - overlinePosition?: number | string | undefined; - overlineThickness?: number | string | undefined; - paintOrder?: number | string | undefined; - panose1?: number | string | undefined; - path?: string | undefined; - pathLength?: number | string | undefined; - patternContentUnits?: string | undefined; - patternTransform?: number | string | undefined; - patternUnits?: string | undefined; - pointerEvents?: number | string | undefined; - points?: string | undefined; - pointsAtX?: number | string | undefined; - pointsAtY?: number | string | undefined; - pointsAtZ?: number | string | undefined; - preserveAlpha?: Booleanish | undefined; - preserveAspectRatio?: string | undefined; - primitiveUnits?: number | string | undefined; - r?: number | string | undefined; - radius?: number | string | undefined; - refX?: number | string | undefined; - refY?: number | string | undefined; - renderingIntent?: number | string | undefined; - repeatCount?: number | string | undefined; - repeatDur?: number | string | undefined; - requiredExtensions?: number | string | undefined; - requiredFeatures?: number | string | undefined; - restart?: number | string | undefined; - result?: string | undefined; - rotate?: number | string | undefined; - rx?: number | string | undefined; - ry?: number | string | undefined; - scale?: number | string | undefined; - seed?: number | string | undefined; - shapeRendering?: number | string | undefined; - slope?: number | string | undefined; - spacing?: number | string | undefined; - specularConstant?: number | string | undefined; - specularExponent?: number | string | undefined; - speed?: number | string | undefined; - spreadMethod?: string | undefined; - startOffset?: number | string | undefined; - stdDeviation?: number | string | undefined; - stemh?: number | string | undefined; - stemv?: number | string | undefined; - stitchTiles?: number | string | undefined; - stopColor?: string | undefined; - stopOpacity?: number | string | undefined; - strikethroughPosition?: number | string | undefined; - strikethroughThickness?: number | string | undefined; - string?: number | string | undefined; - stroke?: string | undefined; - strokeDasharray?: string | number | undefined; - strokeDashoffset?: string | number | undefined; - strokeLinecap?: "butt" | "round" | "square" | "inherit" | undefined; - strokeLinejoin?: "miter" | "round" | "bevel" | "inherit" | undefined; - strokeMiterlimit?: number | string | undefined; - strokeOpacity?: number | string | undefined; - strokeWidth?: number | string | undefined; - surfaceScale?: number | string | undefined; - systemLanguage?: number | string | undefined; - tableValues?: number | string | undefined; - targetX?: number | string | undefined; - targetY?: number | string | undefined; - textAnchor?: string | undefined; - textDecoration?: number | string | undefined; - textLength?: number | string | undefined; - textRendering?: number | string | undefined; - to?: number | string | undefined; - transform?: string | undefined; - u1?: number | string | undefined; - u2?: number | string | undefined; - underlinePosition?: number | string | undefined; - underlineThickness?: number | string | undefined; - unicode?: number | string | undefined; - unicodeBidi?: number | string | undefined; - unicodeRange?: number | string | undefined; - unitsPerEm?: number | string | undefined; - vAlphabetic?: number | string | undefined; - values?: string | undefined; - vectorEffect?: number | string | undefined; - version?: string | undefined; - vertAdvY?: number | string | undefined; - vertOriginX?: number | string | undefined; - vertOriginY?: number | string | undefined; - vHanging?: number | string | undefined; - vIdeographic?: number | string | undefined; - viewBox?: string | undefined; - viewTarget?: number | string | undefined; - visibility?: number | string | undefined; - vMathematical?: number | string | undefined; - widths?: number | string | undefined; - wordSpacing?: number | string | undefined; - writingMode?: number | string | undefined; - x1?: number | string | undefined; - x2?: number | string | undefined; - x?: number | string | undefined; - xChannelSelector?: string | undefined; - xHeight?: number | string | undefined; - xlinkActuate?: string | undefined; - xlinkArcrole?: string | undefined; - xlinkHref?: string | undefined; - xlinkRole?: string | undefined; - xlinkShow?: string | undefined; - xlinkTitle?: string | undefined; - xlinkType?: string | undefined; - xmlBase?: string | undefined; - xmlLang?: string | undefined; - xmlns?: string | undefined; - xmlnsXlink?: string | undefined; - xmlSpace?: string | undefined; - y1?: number | string | undefined; - y2?: number | string | undefined; - y?: number | string | undefined; - yChannelSelector?: string | undefined; - z?: number | string | undefined; - zoomAndPan?: string | undefined; - } - - interface WebViewHTMLAttributes extends HTMLAttributes { - allowFullScreen?: boolean | undefined; - allowpopups?: boolean | undefined; - autosize?: boolean | undefined; - blinkfeatures?: string | undefined; - disableblinkfeatures?: string | undefined; - disableguestresize?: boolean | undefined; - disablewebsecurity?: boolean | undefined; - guestinstance?: string | undefined; - httpreferrer?: string | undefined; - nodeintegration?: boolean | undefined; - partition?: string | undefined; - plugins?: boolean | undefined; - preload?: string | undefined; - src?: string | undefined; - useragent?: string | undefined; - webpreferences?: string | undefined; - } - - // - // React.DOM - // ---------------------------------------------------------------------- - - interface ReactHTML { - a: DetailedHTMLFactory, HTMLAnchorElement>; - abbr: DetailedHTMLFactory, HTMLElement>; - address: DetailedHTMLFactory, HTMLElement>; - area: DetailedHTMLFactory, HTMLAreaElement>; - article: DetailedHTMLFactory, HTMLElement>; - aside: DetailedHTMLFactory, HTMLElement>; - audio: DetailedHTMLFactory, HTMLAudioElement>; - b: DetailedHTMLFactory, HTMLElement>; - base: DetailedHTMLFactory, HTMLBaseElement>; - bdi: DetailedHTMLFactory, HTMLElement>; - bdo: DetailedHTMLFactory, HTMLElement>; - big: DetailedHTMLFactory, HTMLElement>; - blockquote: DetailedHTMLFactory, HTMLQuoteElement>; - body: DetailedHTMLFactory, HTMLBodyElement>; - br: DetailedHTMLFactory, HTMLBRElement>; - button: DetailedHTMLFactory, HTMLButtonElement>; - canvas: DetailedHTMLFactory, HTMLCanvasElement>; - caption: DetailedHTMLFactory, HTMLElement>; - center: DetailedHTMLFactory, HTMLElement>; - cite: DetailedHTMLFactory, HTMLElement>; - code: DetailedHTMLFactory, HTMLElement>; - col: DetailedHTMLFactory, HTMLTableColElement>; - colgroup: DetailedHTMLFactory, HTMLTableColElement>; - data: DetailedHTMLFactory, HTMLDataElement>; - datalist: DetailedHTMLFactory, HTMLDataListElement>; - dd: DetailedHTMLFactory, HTMLElement>; - del: DetailedHTMLFactory, HTMLModElement>; - details: DetailedHTMLFactory, HTMLDetailsElement>; - dfn: DetailedHTMLFactory, HTMLElement>; - dialog: DetailedHTMLFactory, HTMLDialogElement>; - div: DetailedHTMLFactory, HTMLDivElement>; - dl: DetailedHTMLFactory, HTMLDListElement>; - dt: DetailedHTMLFactory, HTMLElement>; - em: DetailedHTMLFactory, HTMLElement>; - embed: DetailedHTMLFactory, HTMLEmbedElement>; - fieldset: DetailedHTMLFactory, HTMLFieldSetElement>; - figcaption: DetailedHTMLFactory, HTMLElement>; - figure: DetailedHTMLFactory, HTMLElement>; - footer: DetailedHTMLFactory, HTMLElement>; - form: DetailedHTMLFactory, HTMLFormElement>; - h1: DetailedHTMLFactory, HTMLHeadingElement>; - h2: DetailedHTMLFactory, HTMLHeadingElement>; - h3: DetailedHTMLFactory, HTMLHeadingElement>; - h4: DetailedHTMLFactory, HTMLHeadingElement>; - h5: DetailedHTMLFactory, HTMLHeadingElement>; - h6: DetailedHTMLFactory, HTMLHeadingElement>; - head: DetailedHTMLFactory, HTMLHeadElement>; - header: DetailedHTMLFactory, HTMLElement>; - hgroup: DetailedHTMLFactory, HTMLElement>; - hr: DetailedHTMLFactory, HTMLHRElement>; - html: DetailedHTMLFactory, HTMLHtmlElement>; - i: DetailedHTMLFactory, HTMLElement>; - iframe: DetailedHTMLFactory, HTMLIFrameElement>; - img: DetailedHTMLFactory, HTMLImageElement>; - input: DetailedHTMLFactory, HTMLInputElement>; - ins: DetailedHTMLFactory, HTMLModElement>; - kbd: DetailedHTMLFactory, HTMLElement>; - keygen: DetailedHTMLFactory, HTMLElement>; - label: DetailedHTMLFactory, HTMLLabelElement>; - legend: DetailedHTMLFactory, HTMLLegendElement>; - li: DetailedHTMLFactory, HTMLLIElement>; - link: DetailedHTMLFactory, HTMLLinkElement>; - main: DetailedHTMLFactory, HTMLElement>; - map: DetailedHTMLFactory, HTMLMapElement>; - mark: DetailedHTMLFactory, HTMLElement>; - menu: DetailedHTMLFactory, HTMLElement>; - menuitem: DetailedHTMLFactory, HTMLElement>; - meta: DetailedHTMLFactory, HTMLMetaElement>; - meter: DetailedHTMLFactory, HTMLMeterElement>; - nav: DetailedHTMLFactory, HTMLElement>; - noscript: DetailedHTMLFactory, HTMLElement>; - object: DetailedHTMLFactory, HTMLObjectElement>; - ol: DetailedHTMLFactory, HTMLOListElement>; - optgroup: DetailedHTMLFactory, HTMLOptGroupElement>; - option: DetailedHTMLFactory, HTMLOptionElement>; - output: DetailedHTMLFactory, HTMLOutputElement>; - p: DetailedHTMLFactory, HTMLParagraphElement>; - param: DetailedHTMLFactory, HTMLParamElement>; - picture: DetailedHTMLFactory, HTMLElement>; - pre: DetailedHTMLFactory, HTMLPreElement>; - progress: DetailedHTMLFactory, HTMLProgressElement>; - q: DetailedHTMLFactory, HTMLQuoteElement>; - rp: DetailedHTMLFactory, HTMLElement>; - rt: DetailedHTMLFactory, HTMLElement>; - ruby: DetailedHTMLFactory, HTMLElement>; - s: DetailedHTMLFactory, HTMLElement>; - samp: DetailedHTMLFactory, HTMLElement>; - search: DetailedHTMLFactory, HTMLElement>; - slot: DetailedHTMLFactory, HTMLSlotElement>; - script: DetailedHTMLFactory, HTMLScriptElement>; - section: DetailedHTMLFactory, HTMLElement>; - select: DetailedHTMLFactory, HTMLSelectElement>; - small: DetailedHTMLFactory, HTMLElement>; - source: DetailedHTMLFactory, HTMLSourceElement>; - span: DetailedHTMLFactory, HTMLSpanElement>; - strong: DetailedHTMLFactory, HTMLElement>; - style: DetailedHTMLFactory, HTMLStyleElement>; - sub: DetailedHTMLFactory, HTMLElement>; - summary: DetailedHTMLFactory, HTMLElement>; - sup: DetailedHTMLFactory, HTMLElement>; - table: DetailedHTMLFactory, HTMLTableElement>; - template: DetailedHTMLFactory, HTMLTemplateElement>; - tbody: DetailedHTMLFactory, HTMLTableSectionElement>; - td: DetailedHTMLFactory, HTMLTableDataCellElement>; - textarea: DetailedHTMLFactory, HTMLTextAreaElement>; - tfoot: DetailedHTMLFactory, HTMLTableSectionElement>; - th: DetailedHTMLFactory, HTMLTableHeaderCellElement>; - thead: DetailedHTMLFactory, HTMLTableSectionElement>; - time: DetailedHTMLFactory, HTMLTimeElement>; - title: DetailedHTMLFactory, HTMLTitleElement>; - tr: DetailedHTMLFactory, HTMLTableRowElement>; - track: DetailedHTMLFactory, HTMLTrackElement>; - u: DetailedHTMLFactory, HTMLElement>; - ul: DetailedHTMLFactory, HTMLUListElement>; - "var": DetailedHTMLFactory, HTMLElement>; - video: DetailedHTMLFactory, HTMLVideoElement>; - wbr: DetailedHTMLFactory, HTMLElement>; - webview: DetailedHTMLFactory, HTMLWebViewElement>; - } - - interface ReactSVG { - animate: SVGFactory; - circle: SVGFactory; - clipPath: SVGFactory; - defs: SVGFactory; - desc: SVGFactory; - ellipse: SVGFactory; - feBlend: SVGFactory; - feColorMatrix: SVGFactory; - feComponentTransfer: SVGFactory; - feComposite: SVGFactory; - feConvolveMatrix: SVGFactory; - feDiffuseLighting: SVGFactory; - feDisplacementMap: SVGFactory; - feDistantLight: SVGFactory; - feDropShadow: SVGFactory; - feFlood: SVGFactory; - feFuncA: SVGFactory; - feFuncB: SVGFactory; - feFuncG: SVGFactory; - feFuncR: SVGFactory; - feGaussianBlur: SVGFactory; - feImage: SVGFactory; - feMerge: SVGFactory; - feMergeNode: SVGFactory; - feMorphology: SVGFactory; - feOffset: SVGFactory; - fePointLight: SVGFactory; - feSpecularLighting: SVGFactory; - feSpotLight: SVGFactory; - feTile: SVGFactory; - feTurbulence: SVGFactory; - filter: SVGFactory; - foreignObject: SVGFactory; - g: SVGFactory; - image: SVGFactory; - line: SVGFactory; - linearGradient: SVGFactory; - marker: SVGFactory; - mask: SVGFactory; - metadata: SVGFactory; - path: SVGFactory; - pattern: SVGFactory; - polygon: SVGFactory; - polyline: SVGFactory; - radialGradient: SVGFactory; - rect: SVGFactory; - stop: SVGFactory; - svg: SVGFactory; - switch: SVGFactory; - symbol: SVGFactory; - text: SVGFactory; - textPath: SVGFactory; - tspan: SVGFactory; - use: SVGFactory; - view: SVGFactory; - } - - interface ReactDOM extends ReactHTML, ReactSVG {} - - // - // React.PropTypes - // ---------------------------------------------------------------------- - - /** - * @deprecated Use `Validator` from the ´prop-types` instead. - */ - type Validator = PropTypes.Validator; - - /** - * @deprecated Use `Requireable` from the ´prop-types` instead. - */ - type Requireable = PropTypes.Requireable; - - /** - * @deprecated Use `ValidationMap` from the ´prop-types` instead. - */ - type ValidationMap = PropTypes.ValidationMap; - - /** - * @deprecated Use `WeakValidationMap` from the ´prop-types` instead. - */ - type WeakValidationMap = { - [K in keyof T]?: null extends T[K] ? Validator - : undefined extends T[K] ? Validator - : Validator; - }; - - /** - * @deprecated Use `PropTypes.*` where `PropTypes` comes from `import * as PropTypes from 'prop-types'` instead. - */ - interface ReactPropTypes { - any: typeof PropTypes.any; - array: typeof PropTypes.array; - bool: typeof PropTypes.bool; - func: typeof PropTypes.func; - number: typeof PropTypes.number; - object: typeof PropTypes.object; - string: typeof PropTypes.string; - node: typeof PropTypes.node; - element: typeof PropTypes.element; - instanceOf: typeof PropTypes.instanceOf; - oneOf: typeof PropTypes.oneOf; - oneOfType: typeof PropTypes.oneOfType; - arrayOf: typeof PropTypes.arrayOf; - objectOf: typeof PropTypes.objectOf; - shape: typeof PropTypes.shape; - exact: typeof PropTypes.exact; - } - - // - // React.Children - // ---------------------------------------------------------------------- - - /** - * @deprecated - Use `typeof React.Children` instead. - */ - // Sync with type of `const Children`. - interface ReactChildren { - map( - children: C | readonly C[], - fn: (child: C, index: number) => T, - ): C extends null | undefined ? C : Array>; - forEach(children: C | readonly C[], fn: (child: C, index: number) => void): void; - count(children: any): number; - only(children: C): C extends any[] ? never : C; - toArray(children: ReactNode | ReactNode[]): Array>; - } - - // - // Browser Interfaces - // https://github.com/nikeee/2048-typescript/blob/master/2048/js/touch.d.ts - // ---------------------------------------------------------------------- - - interface AbstractView { - styleMedia: StyleMedia; - document: Document; - } - - interface Touch { - identifier: number; - target: EventTarget; - screenX: number; - screenY: number; - clientX: number; - clientY: number; - pageX: number; - pageY: number; - } - - interface TouchList { - [index: number]: Touch; - length: number; - item(index: number): Touch; - identifiedTouch(identifier: number): Touch; - } - - // - // Error Interfaces - // ---------------------------------------------------------------------- - interface ErrorInfo { - /** - * Captures which component contained the exception, and its ancestors. - */ - componentStack?: string | null; - digest?: string | null; - } - - // Keep in sync with JSX namespace in ./jsx-runtime.d.ts and ./jsx-dev-runtime.d.ts - namespace JSX { - type ElementType = GlobalJSXElementType; - interface Element extends GlobalJSXElement {} - interface ElementClass extends GlobalJSXElementClass {} - interface ElementAttributesProperty extends GlobalJSXElementAttributesProperty {} - interface ElementChildrenAttribute extends GlobalJSXElementChildrenAttribute {} - - type LibraryManagedAttributes = GlobalJSXLibraryManagedAttributes; - - interface IntrinsicAttributes extends GlobalJSXIntrinsicAttributes {} - interface IntrinsicClassAttributes extends GlobalJSXIntrinsicClassAttributes {} - interface IntrinsicElements extends GlobalJSXIntrinsicElements {} - } -} - -// naked 'any' type in a conditional type will short circuit and union both the then/else branches -// so boolean is only resolved for T = any -type IsExactlyAny = boolean extends (T extends never ? true : false) ? true : false; - -type ExactlyAnyPropertyKeys = { [K in keyof T]: IsExactlyAny extends true ? K : never }[keyof T]; -type NotExactlyAnyPropertyKeys = Exclude>; - -// Try to resolve ill-defined props like for JS users: props can be any, or sometimes objects with properties of type any -type MergePropTypes = - // Distribute over P in case it is a union type - P extends any - // If props is type any, use propTypes definitions - ? IsExactlyAny

extends true ? T - // If declared props have indexed properties, ignore inferred props entirely as keyof gets widened - : string extends keyof P ? P - // Prefer declared types which are not exactly any - : - & Pick> - // For props which are exactly any, use the type inferred from propTypes if present - & Pick>> - // Keep leftover props not specified in propTypes - & Pick> - : never; - -type InexactPartial = { [K in keyof T]?: T[K] | undefined }; - -// Any prop that has a default prop becomes optional, but its type is unchanged -// Undeclared default props are augmented into the resulting allowable attributes -// If declared props have indexed properties, ignore default props entirely as keyof gets widened -// Wrap in an outer-level conditional type to allow distribution over props that are unions -type Defaultize = P extends any ? string extends keyof P ? P - : - & Pick> - & InexactPartial>> - & InexactPartial>> - : never; - -type ReactManagedAttributes = C extends { propTypes: infer T; defaultProps: infer D } - ? Defaultize>, D> - : C extends { propTypes: infer T } ? MergePropTypes> - : C extends { defaultProps: infer D } ? Defaultize - : P; - -declare global { - /** - * @deprecated Use `React.JSX` instead of the global `JSX` namespace. - */ - namespace JSX { - // We don't just alias React.ElementType because React.ElementType - // historically does more than we need it to. - // E.g. it also contains .propTypes and so TS also verifies the declared - // props type does match the declared .propTypes. - // But if libraries declared their .propTypes but not props type, - // or they mismatch, you won't be able to use the class component - // as a JSX.ElementType. - // We could fix this everywhere but we're ultimately not interested in - // .propTypes assignability so we might as well drop it entirely here to - // reduce the work of the type-checker. - // TODO: Check impact of making React.ElementType

= React.JSXElementConstructor

- type ElementType = string | React.JSXElementConstructor; - interface Element extends React.ReactElement {} - interface ElementClass extends React.Component { - render(): React.ReactNode; - } - interface ElementAttributesProperty { - props: {}; - } - interface ElementChildrenAttribute { - children: {}; - } - - // We can't recurse forever because `type` can't be self-referential; - // let's assume it's reasonable to do a single React.lazy() around a single React.memo() / vice-versa - type LibraryManagedAttributes = C extends - React.MemoExoticComponent | React.LazyExoticComponent - ? T extends React.MemoExoticComponent | React.LazyExoticComponent - ? ReactManagedAttributes - : ReactManagedAttributes - : ReactManagedAttributes; - - interface IntrinsicAttributes extends React.Attributes {} - interface IntrinsicClassAttributes extends React.ClassAttributes {} - - interface IntrinsicElements { - // HTML - a: React.DetailedHTMLProps, HTMLAnchorElement>; - abbr: React.DetailedHTMLProps, HTMLElement>; - address: React.DetailedHTMLProps, HTMLElement>; - area: React.DetailedHTMLProps, HTMLAreaElement>; - article: React.DetailedHTMLProps, HTMLElement>; - aside: React.DetailedHTMLProps, HTMLElement>; - audio: React.DetailedHTMLProps, HTMLAudioElement>; - b: React.DetailedHTMLProps, HTMLElement>; - base: React.DetailedHTMLProps, HTMLBaseElement>; - bdi: React.DetailedHTMLProps, HTMLElement>; - bdo: React.DetailedHTMLProps, HTMLElement>; - big: React.DetailedHTMLProps, HTMLElement>; - blockquote: React.DetailedHTMLProps, HTMLQuoteElement>; - body: React.DetailedHTMLProps, HTMLBodyElement>; - br: React.DetailedHTMLProps, HTMLBRElement>; - button: React.DetailedHTMLProps, HTMLButtonElement>; - canvas: React.DetailedHTMLProps, HTMLCanvasElement>; - caption: React.DetailedHTMLProps, HTMLElement>; - center: React.DetailedHTMLProps, HTMLElement>; - cite: React.DetailedHTMLProps, HTMLElement>; - code: React.DetailedHTMLProps, HTMLElement>; - col: React.DetailedHTMLProps, HTMLTableColElement>; - colgroup: React.DetailedHTMLProps, HTMLTableColElement>; - data: React.DetailedHTMLProps, HTMLDataElement>; - datalist: React.DetailedHTMLProps, HTMLDataListElement>; - dd: React.DetailedHTMLProps, HTMLElement>; - del: React.DetailedHTMLProps, HTMLModElement>; - details: React.DetailedHTMLProps, HTMLDetailsElement>; - dfn: React.DetailedHTMLProps, HTMLElement>; - dialog: React.DetailedHTMLProps, HTMLDialogElement>; - div: React.DetailedHTMLProps, HTMLDivElement>; - dl: React.DetailedHTMLProps, HTMLDListElement>; - dt: React.DetailedHTMLProps, HTMLElement>; - em: React.DetailedHTMLProps, HTMLElement>; - embed: React.DetailedHTMLProps, HTMLEmbedElement>; - fieldset: React.DetailedHTMLProps, HTMLFieldSetElement>; - figcaption: React.DetailedHTMLProps, HTMLElement>; - figure: React.DetailedHTMLProps, HTMLElement>; - footer: React.DetailedHTMLProps, HTMLElement>; - form: React.DetailedHTMLProps, HTMLFormElement>; - h1: React.DetailedHTMLProps, HTMLHeadingElement>; - h2: React.DetailedHTMLProps, HTMLHeadingElement>; - h3: React.DetailedHTMLProps, HTMLHeadingElement>; - h4: React.DetailedHTMLProps, HTMLHeadingElement>; - h5: React.DetailedHTMLProps, HTMLHeadingElement>; - h6: React.DetailedHTMLProps, HTMLHeadingElement>; - head: React.DetailedHTMLProps, HTMLHeadElement>; - header: React.DetailedHTMLProps, HTMLElement>; - hgroup: React.DetailedHTMLProps, HTMLElement>; - hr: React.DetailedHTMLProps, HTMLHRElement>; - html: React.DetailedHTMLProps, HTMLHtmlElement>; - i: React.DetailedHTMLProps, HTMLElement>; - iframe: React.DetailedHTMLProps, HTMLIFrameElement>; - img: React.DetailedHTMLProps, HTMLImageElement>; - input: React.DetailedHTMLProps, HTMLInputElement>; - ins: React.DetailedHTMLProps, HTMLModElement>; - kbd: React.DetailedHTMLProps, HTMLElement>; - keygen: React.DetailedHTMLProps, HTMLElement>; - label: React.DetailedHTMLProps, HTMLLabelElement>; - legend: React.DetailedHTMLProps, HTMLLegendElement>; - li: React.DetailedHTMLProps, HTMLLIElement>; - link: React.DetailedHTMLProps, HTMLLinkElement>; - main: React.DetailedHTMLProps, HTMLElement>; - map: React.DetailedHTMLProps, HTMLMapElement>; - mark: React.DetailedHTMLProps, HTMLElement>; - menu: React.DetailedHTMLProps, HTMLElement>; - menuitem: React.DetailedHTMLProps, HTMLElement>; - meta: React.DetailedHTMLProps, HTMLMetaElement>; - meter: React.DetailedHTMLProps, HTMLMeterElement>; - nav: React.DetailedHTMLProps, HTMLElement>; - noindex: React.DetailedHTMLProps, HTMLElement>; - noscript: React.DetailedHTMLProps, HTMLElement>; - object: React.DetailedHTMLProps, HTMLObjectElement>; - ol: React.DetailedHTMLProps, HTMLOListElement>; - optgroup: React.DetailedHTMLProps, HTMLOptGroupElement>; - option: React.DetailedHTMLProps, HTMLOptionElement>; - output: React.DetailedHTMLProps, HTMLOutputElement>; - p: React.DetailedHTMLProps, HTMLParagraphElement>; - param: React.DetailedHTMLProps, HTMLParamElement>; - picture: React.DetailedHTMLProps, HTMLElement>; - pre: React.DetailedHTMLProps, HTMLPreElement>; - progress: React.DetailedHTMLProps, HTMLProgressElement>; - q: React.DetailedHTMLProps, HTMLQuoteElement>; - rp: React.DetailedHTMLProps, HTMLElement>; - rt: React.DetailedHTMLProps, HTMLElement>; - ruby: React.DetailedHTMLProps, HTMLElement>; - s: React.DetailedHTMLProps, HTMLElement>; - samp: React.DetailedHTMLProps, HTMLElement>; - search: React.DetailedHTMLProps, HTMLElement>; - slot: React.DetailedHTMLProps, HTMLSlotElement>; - script: React.DetailedHTMLProps, HTMLScriptElement>; - section: React.DetailedHTMLProps, HTMLElement>; - select: React.DetailedHTMLProps, HTMLSelectElement>; - small: React.DetailedHTMLProps, HTMLElement>; - source: React.DetailedHTMLProps, HTMLSourceElement>; - span: React.DetailedHTMLProps, HTMLSpanElement>; - strong: React.DetailedHTMLProps, HTMLElement>; - style: React.DetailedHTMLProps, HTMLStyleElement>; - sub: React.DetailedHTMLProps, HTMLElement>; - summary: React.DetailedHTMLProps, HTMLElement>; - sup: React.DetailedHTMLProps, HTMLElement>; - table: React.DetailedHTMLProps, HTMLTableElement>; - template: React.DetailedHTMLProps, HTMLTemplateElement>; - tbody: React.DetailedHTMLProps, HTMLTableSectionElement>; - td: React.DetailedHTMLProps, HTMLTableDataCellElement>; - textarea: React.DetailedHTMLProps, HTMLTextAreaElement>; - tfoot: React.DetailedHTMLProps, HTMLTableSectionElement>; - th: React.DetailedHTMLProps, HTMLTableHeaderCellElement>; - thead: React.DetailedHTMLProps, HTMLTableSectionElement>; - time: React.DetailedHTMLProps, HTMLTimeElement>; - title: React.DetailedHTMLProps, HTMLTitleElement>; - tr: React.DetailedHTMLProps, HTMLTableRowElement>; - track: React.DetailedHTMLProps, HTMLTrackElement>; - u: React.DetailedHTMLProps, HTMLElement>; - ul: React.DetailedHTMLProps, HTMLUListElement>; - "var": React.DetailedHTMLProps, HTMLElement>; - video: React.DetailedHTMLProps, HTMLVideoElement>; - wbr: React.DetailedHTMLProps, HTMLElement>; - webview: React.DetailedHTMLProps, HTMLWebViewElement>; - - // SVG - svg: React.SVGProps; - - animate: React.SVGProps; // TODO: It is SVGAnimateElement but is not in TypeScript's lib.dom.d.ts for now. - animateMotion: React.SVGProps; - animateTransform: React.SVGProps; // TODO: It is SVGAnimateTransformElement but is not in TypeScript's lib.dom.d.ts for now. - circle: React.SVGProps; - clipPath: React.SVGProps; - defs: React.SVGProps; - desc: React.SVGProps; - ellipse: React.SVGProps; - feBlend: React.SVGProps; - feColorMatrix: React.SVGProps; - feComponentTransfer: React.SVGProps; - feComposite: React.SVGProps; - feConvolveMatrix: React.SVGProps; - feDiffuseLighting: React.SVGProps; - feDisplacementMap: React.SVGProps; - feDistantLight: React.SVGProps; - feDropShadow: React.SVGProps; - feFlood: React.SVGProps; - feFuncA: React.SVGProps; - feFuncB: React.SVGProps; - feFuncG: React.SVGProps; - feFuncR: React.SVGProps; - feGaussianBlur: React.SVGProps; - feImage: React.SVGProps; - feMerge: React.SVGProps; - feMergeNode: React.SVGProps; - feMorphology: React.SVGProps; - feOffset: React.SVGProps; - fePointLight: React.SVGProps; - feSpecularLighting: React.SVGProps; - feSpotLight: React.SVGProps; - feTile: React.SVGProps; - feTurbulence: React.SVGProps; - filter: React.SVGProps; - foreignObject: React.SVGProps; - g: React.SVGProps; - image: React.SVGProps; - line: React.SVGLineElementAttributes; - linearGradient: React.SVGProps; - marker: React.SVGProps; - mask: React.SVGProps; - metadata: React.SVGProps; - mpath: React.SVGProps; - path: React.SVGProps; - pattern: React.SVGProps; - polygon: React.SVGProps; - polyline: React.SVGProps; - radialGradient: React.SVGProps; - rect: React.SVGProps; - set: React.SVGProps; - stop: React.SVGProps; - switch: React.SVGProps; - symbol: React.SVGProps; - text: React.SVGTextElementAttributes; - textPath: React.SVGProps; - tspan: React.SVGProps; - use: React.SVGProps; - view: React.SVGProps; - } - } -} - -// React.JSX needs to point to global.JSX to keep global module augmentations intact. -// But we can't access global.JSX so we need to create these aliases instead. -// Once the global JSX namespace will be removed we replace React.JSX with the contents of global.JSX -type GlobalJSXElementType = JSX.ElementType; -interface GlobalJSXElement extends JSX.Element {} -interface GlobalJSXElementClass extends JSX.ElementClass {} -interface GlobalJSXElementAttributesProperty extends JSX.ElementAttributesProperty {} -interface GlobalJSXElementChildrenAttribute extends JSX.ElementChildrenAttribute {} - -type GlobalJSXLibraryManagedAttributes = JSX.LibraryManagedAttributes; - -interface GlobalJSXIntrinsicAttributes extends JSX.IntrinsicAttributes {} -interface GlobalJSXIntrinsicClassAttributes extends JSX.IntrinsicClassAttributes {} - -interface GlobalJSXIntrinsicElements extends JSX.IntrinsicElements {} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-dev-runtime.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-dev-runtime.d.ts deleted file mode 100644 index d28644c6..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-dev-runtime.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -import * as React from "./"; -export { Fragment } from "./"; - -export namespace JSX { - type ElementType = React.JSX.ElementType; - interface Element extends React.JSX.Element {} - interface ElementClass extends React.JSX.ElementClass {} - interface ElementAttributesProperty extends React.JSX.ElementAttributesProperty {} - interface ElementChildrenAttribute extends React.JSX.ElementChildrenAttribute {} - type LibraryManagedAttributes = React.JSX.LibraryManagedAttributes; - interface IntrinsicAttributes extends React.JSX.IntrinsicAttributes {} - interface IntrinsicClassAttributes extends React.JSX.IntrinsicClassAttributes {} - interface IntrinsicElements extends React.JSX.IntrinsicElements {} -} - -export interface JSXSource { - /** - * The source file where the element originates from. - */ - fileName?: string | undefined; - - /** - * The line number where the element was created. - */ - lineNumber?: number | undefined; - - /** - * The column number where the element was created. - */ - columnNumber?: number | undefined; -} - -/** - * Create a React element. - * - * You should not use this function directly. Use JSX and a transpiler instead. - */ -export function jsxDEV( - type: React.ElementType, - props: unknown, - key: React.Key | undefined, - isStatic: boolean, - source?: JSXSource, - self?: unknown, -): React.ReactElement; diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-runtime.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-runtime.d.ts deleted file mode 100644 index e9fea27d..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/jsx-runtime.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from "./"; -export { Fragment } from "./"; - -export namespace JSX { - type ElementType = React.JSX.ElementType; - interface Element extends React.JSX.Element {} - interface ElementClass extends React.JSX.ElementClass {} - interface ElementAttributesProperty extends React.JSX.ElementAttributesProperty {} - interface ElementChildrenAttribute extends React.JSX.ElementChildrenAttribute {} - type LibraryManagedAttributes = React.JSX.LibraryManagedAttributes; - interface IntrinsicAttributes extends React.JSX.IntrinsicAttributes {} - interface IntrinsicClassAttributes extends React.JSX.IntrinsicClassAttributes {} - interface IntrinsicElements extends React.JSX.IntrinsicElements {} -} - -/** - * Create a React element. - * - * You should not use this function directly. Use JSX and a transpiler instead. - */ -export function jsx( - type: React.ElementType, - props: unknown, - key?: React.Key, -): React.ReactElement; - -/** - * Create a React element. - * - * You should not use this function directly. Use JSX and a transpiler instead. - */ -export function jsxs( - type: React.ElementType, - props: unknown, - key?: React.Key, -): React.ReactElement; diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/package.json b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/package.json deleted file mode 100644 index e3078fec..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/package.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "name": "@types/react", - "version": "18.3.17", - "description": "TypeScript definitions for react", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react", - "license": "MIT", - "contributors": [ - { - "name": "Asana", - "url": "https://asana.com" - }, - { - "name": "AssureSign", - "url": "http://www.assuresign.com" - }, - { - "name": "Microsoft", - "url": "https://microsoft.com" - }, - { - "name": "John Reilly", - "githubUsername": "johnnyreilly", - "url": "https://github.com/johnnyreilly" - }, - { - "name": "Benoit Benezech", - "githubUsername": "bbenezech", - "url": "https://github.com/bbenezech" - }, - { - "name": "Patricio Zavolinsky", - "githubUsername": "pzavolinsky", - "url": "https://github.com/pzavolinsky" - }, - { - "name": "Eric Anderson", - "githubUsername": "ericanderson", - "url": "https://github.com/ericanderson" - }, - { - "name": "Dovydas Navickas", - "githubUsername": "DovydasNavickas", - "url": "https://github.com/DovydasNavickas" - }, - { - "name": "Josh Rutherford", - "githubUsername": "theruther4d", - "url": "https://github.com/theruther4d" - }, - { - "name": "Guilherme Hübner", - "githubUsername": "guilhermehubner", - "url": "https://github.com/guilhermehubner" - }, - { - "name": "Ferdy Budhidharma", - "githubUsername": "ferdaber", - "url": "https://github.com/ferdaber" - }, - { - "name": "Johann Rakotoharisoa", - "githubUsername": "jrakotoharisoa", - "url": "https://github.com/jrakotoharisoa" - }, - { - "name": "Olivier Pascal", - "githubUsername": "pascaloliv", - "url": "https://github.com/pascaloliv" - }, - { - "name": "Martin Hochel", - "githubUsername": "hotell", - "url": "https://github.com/hotell" - }, - { - "name": "Frank Li", - "githubUsername": "franklixuefei", - "url": "https://github.com/franklixuefei" - }, - { - "name": "Jessica Franco", - "githubUsername": "Jessidhia", - "url": "https://github.com/Jessidhia" - }, - { - "name": "Saransh Kataria", - "githubUsername": "saranshkataria", - "url": "https://github.com/saranshkataria" - }, - { - "name": "Kanitkorn Sujautra", - "githubUsername": "lukyth", - "url": "https://github.com/lukyth" - }, - { - "name": "Sebastian Silbermann", - "githubUsername": "eps1lon", - "url": "https://github.com/eps1lon" - }, - { - "name": "Kyle Scully", - "githubUsername": "zieka", - "url": "https://github.com/zieka" - }, - { - "name": "Cong Zhang", - "githubUsername": "dancerphil", - "url": "https://github.com/dancerphil" - }, - { - "name": "Dimitri Mitropoulos", - "githubUsername": "dimitropoulos", - "url": "https://github.com/dimitropoulos" - }, - { - "name": "JongChan Choi", - "githubUsername": "disjukr", - "url": "https://github.com/disjukr" - }, - { - "name": "Victor Magalhães", - "githubUsername": "vhfmag", - "url": "https://github.com/vhfmag" - }, - { - "name": "Priyanshu Rav", - "githubUsername": "priyanshurav", - "url": "https://github.com/priyanshurav" - }, - { - "name": "Dmitry Semigradsky", - "githubUsername": "Semigradsky", - "url": "https://github.com/Semigradsky" - }, - { - "name": "Matt Pocock", - "githubUsername": "mattpocock", - "url": "https://github.com/mattpocock" - } - ], - "main": "", - "types": "index.d.ts", - "typesVersions": { - "<=5.0": { - "*": [ - "ts5.0/*" - ] - } - }, - "exports": { - ".": { - "types@<=5.0": { - "default": "./ts5.0/index.d.ts" - }, - "types": { - "default": "./index.d.ts" - } - }, - "./canary": { - "types@<=5.0": { - "default": "./ts5.0/canary.d.ts" - }, - "types": { - "default": "./canary.d.ts" - } - }, - "./experimental": { - "types@<=5.0": { - "default": "./ts5.0/experimental.d.ts" - }, - "types": { - "default": "./experimental.d.ts" - } - }, - "./jsx-runtime": { - "types@<=5.0": { - "default": "./ts5.0/jsx-runtime.d.ts" - }, - "types": { - "default": "./jsx-runtime.d.ts" - } - }, - "./jsx-dev-runtime": { - "types@<=5.0": { - "default": "./ts5.0/jsx-dev-runtime.d.ts" - }, - "types": { - "default": "./jsx-dev-runtime.d.ts" - } - }, - "./package.json": "./package.json" - }, - "repository": { - "type": "git", - "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git", - "directory": "types/react" - }, - "scripts": {}, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - }, - "peerDependencies": {}, - "typesPublisherContentHash": "f8c1650d1099e4f098246067ac4105b0fa376c5cb8197c08daab74d4dc2defbd", - "typeScriptVersion": "5.0" -} \ No newline at end of file diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/canary.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/canary.d.ts deleted file mode 100644 index 74795b53..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/canary.d.ts +++ /dev/null @@ -1,166 +0,0 @@ -/** - * These are types for things that are present in the React `canary` release channel. - * - * To load the types declared here in an actual project, there are three ways. The easiest one, - * if your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section, - * is to add `"react/canary"` to the `"types"` array. - * - * Alternatively, a specific import syntax can to be used from a typescript file. - * This module does not exist in reality, which is why the {} is important: - * - * ```ts - * import {} from 'react/canary' - * ``` - * - * It is also possible to include it through a triple-slash reference: - * - * ```ts - * /// - * ``` - * - * Either the import or the reference only needs to appear once, anywhere in the project. - */ - -// See https://github.com/facebook/react/blob/main/packages/react/src/React.js to see how the exports are declared, - -import React = require("."); - -export {}; - -declare const UNDEFINED_VOID_ONLY: unique symbol; -type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never }; - -type NativeToggleEvent = ToggleEvent; - -declare module "." { - export type Usable = PromiseLike | Context; - - export function use(usable: Usable): T; - - interface ServerContextJSONArray extends ReadonlyArray {} - export type ServerContextJSONValue = - | string - | boolean - | number - | null - | ServerContextJSONArray - | { [key: string]: ServerContextJSONValue }; - export interface ServerContext { - Provider: Provider; - } - /** - * Accepts a context object (the value returned from `React.createContext` or `React.createServerContext`) and returns the current - * context value, as given by the nearest context provider for the given context. - * - * @version 16.8.0 - * @see https://react.dev/reference/react/useContext - */ - function useContext(context: ServerContext): T; - export function createServerContext( - globalName: string, - defaultValue: T, - ): ServerContext; - - // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type - export function cache(fn: CachedFunction): CachedFunction; - - export function unstable_useCacheRefresh(): () => void; - - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS { - functions: (formData: FormData) => void | Promise; - } - - export interface TransitionStartFunction { - /** - * Marks all state updates inside the async function as transitions - * - * @see {https://react.dev/reference/react/useTransition#starttransition} - * - * @param callback - */ - (callback: () => Promise): void; - } - - /** - * Similar to `useTransition` but allows uses where hooks are not available. - * - * @param callback An _asynchronous_ function which causes state updates that can be deferred. - */ - export function startTransition(scope: () => Promise): void; - - export function useOptimistic( - passthrough: State, - ): [State, (action: State | ((pendingState: State) => State)) => void]; - export function useOptimistic( - passthrough: State, - reducer: (state: State, action: Action) => State, - ): [State, (action: Action) => void]; - - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES { - cleanup: () => VoidOrUndefinedOnly; - } - - export function useActionState( - action: (state: Awaited) => State | Promise, - initialState: Awaited, - permalink?: string, - ): [state: Awaited, dispatch: () => void, isPending: boolean]; - export function useActionState( - action: (state: Awaited, payload: Payload) => State | Promise, - initialState: Awaited, - permalink?: string, - ): [state: Awaited, dispatch: (payload: Payload) => void, isPending: boolean]; - - interface DOMAttributes { - // Transition Events - onTransitionCancel?: TransitionEventHandler | undefined; - onTransitionCancelCapture?: TransitionEventHandler | undefined; - onTransitionRun?: TransitionEventHandler | undefined; - onTransitionRunCapture?: TransitionEventHandler | undefined; - onTransitionStart?: TransitionEventHandler | undefined; - onTransitionStartCapture?: TransitionEventHandler | undefined; - } - - type ToggleEventHandler = EventHandler>; - - interface HTMLAttributes { - popover?: "" | "auto" | "manual" | undefined; - popoverTargetAction?: "toggle" | "show" | "hide" | undefined; - popoverTarget?: string | undefined; - onToggle?: ToggleEventHandler | undefined; - onBeforeToggle?: ToggleEventHandler | undefined; - } - - interface ToggleEvent extends SyntheticEvent { - oldState: "closed" | "open"; - newState: "closed" | "open"; - } - - interface LinkHTMLAttributes { - precedence?: string | undefined; - } - - interface StyleHTMLAttributes { - href?: string | undefined; - precedence?: string | undefined; - } - - /** - * @internal Use `Awaited` instead - */ - // Helper type to enable `Awaited`. - // Must be a copy of the non-thenables of `ReactNode`. - type AwaitedReactNode = - | ReactElement - | string - | number - | Iterable - | ReactPortal - | boolean - | null - | undefined; - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES { - promises: Promise; - bigints: bigint; - } -} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/experimental.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/experimental.d.ts deleted file mode 100644 index 3b71d145..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/experimental.d.ts +++ /dev/null @@ -1,132 +0,0 @@ -/** - * These are types for things that are present in the `experimental` builds of React but not yet - * on a stable build. - * - * Once they are promoted to stable they can just be moved to the main index file. - * - * To load the types declared here in an actual project, there are three ways. The easiest one, - * if your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section, - * is to add `"react/experimental"` to the `"types"` array. - * - * Alternatively, a specific import syntax can to be used from a typescript file. - * This module does not exist in reality, which is why the {} is important: - * - * ```ts - * import {} from 'react/experimental' - * ``` - * - * It is also possible to include it through a triple-slash reference: - * - * ```ts - * /// - * ``` - * - * Either the import or the reference only needs to appear once, anywhere in the project. - */ - -// See https://github.com/facebook/react/blob/master/packages/react/src/React.js to see how the exports are declared, -// and https://github.com/facebook/react/blob/master/packages/shared/ReactFeatureFlags.js to verify which APIs are -// flagged experimental or not. Experimental APIs will be tagged with `__EXPERIMENTAL__`. -// -// For the inputs of types exported as simply a fiber tag, the `beginWork` function of ReactFiberBeginWork.js -// is a good place to start looking for details; it generally calls prop validation functions or delegates -// all tasks done as part of the render phase (the concurrent part of the React update cycle). -// -// Suspense-related handling can be found in ReactFiberThrow.js. - -import React = require("./canary"); - -export {}; - -declare const UNDEFINED_VOID_ONLY: unique symbol; -type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never }; - -declare module "." { - export interface SuspenseProps { - /** - * The presence of this prop indicates that the content is computationally expensive to render. - * In other words, the tree is CPU bound and not I/O bound (e.g. due to fetching data). - * @see {@link https://github.com/facebook/react/pull/19936} - */ - unstable_expectedLoadTime?: number | undefined; - } - - export type SuspenseListRevealOrder = "forwards" | "backwards" | "together"; - export type SuspenseListTailMode = "collapsed" | "hidden"; - - export interface SuspenseListCommonProps { - /** - * Note that SuspenseList require more than one child; - * it is a runtime warning to provide only a single child. - * - * It does, however, allow those children to be wrapped inside a single - * level of ``. - */ - children: ReactElement | Iterable; - } - - interface DirectionalSuspenseListProps extends SuspenseListCommonProps { - /** - * Defines the order in which the `SuspenseList` children should be revealed. - */ - revealOrder: "forwards" | "backwards"; - /** - * Dictates how unloaded items in a SuspenseList is shown. - * - * - By default, `SuspenseList` will show all fallbacks in the list. - * - `collapsed` shows only the next fallback in the list. - * - `hidden` doesn’t show any unloaded items. - */ - tail?: SuspenseListTailMode | undefined; - } - - interface NonDirectionalSuspenseListProps extends SuspenseListCommonProps { - /** - * Defines the order in which the `SuspenseList` children should be revealed. - */ - revealOrder?: Exclude | undefined; - /** - * The tail property is invalid when not using the `forwards` or `backwards` reveal orders. - */ - tail?: never | undefined; - } - - export type SuspenseListProps = DirectionalSuspenseListProps | NonDirectionalSuspenseListProps; - - /** - * `SuspenseList` helps coordinate many components that can suspend by orchestrating the order - * in which these components are revealed to the user. - * - * When multiple components need to fetch data, this data may arrive in an unpredictable order. - * However, if you wrap these items in a `SuspenseList`, React will not show an item in the list - * until previous items have been displayed (this behavior is adjustable). - * - * @see https://reactjs.org/docs/concurrent-mode-reference.html#suspenselist - * @see https://reactjs.org/docs/concurrent-mode-patterns.html#suspenselist - */ - export const unstable_SuspenseList: ExoticComponent; - - // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type - export function experimental_useEffectEvent(event: T): T; - - /** - * Warning: Only available in development builds. - */ - function captureOwnerStack(): string | null; - - type Reference = object; - type TaintableUniqueValue = string | bigint | ArrayBufferView; - function experimental_taintUniqueValue( - message: string | undefined, - lifetime: Reference, - value: TaintableUniqueValue, - ): void; - function experimental_taintObjectReference(message: string | undefined, object: Reference): void; - - export interface HTMLAttributes { - /** - * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert - */ - inert?: boolean | undefined; - } -} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/global.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/global.d.ts deleted file mode 100644 index 8ae2ddd8..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/global.d.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* -React projects that don't include the DOM library need these interfaces to compile. -React Native applications use React, but there is no DOM available. The JavaScript runtime -is ES6/ES2015 only. These definitions allow such projects to compile with only `--lib ES6`. - -Warning: all of these interfaces are empty. If you want type definitions for various properties -(such as HTMLInputElement.prototype.value), you need to add `--lib DOM` (via command line or tsconfig.json). -*/ - -interface Event {} -interface AnimationEvent extends Event {} -interface ClipboardEvent extends Event {} -interface CompositionEvent extends Event {} -interface DragEvent extends Event {} -interface FocusEvent extends Event {} -interface KeyboardEvent extends Event {} -interface MouseEvent extends Event {} -interface TouchEvent extends Event {} -interface PointerEvent extends Event {} -interface ToggleEvent extends Event {} -interface TransitionEvent extends Event {} -interface UIEvent extends Event {} -interface WheelEvent extends Event {} - -interface EventTarget {} -interface Document {} -interface DataTransfer {} -interface StyleMedia {} - -interface Element {} -interface DocumentFragment {} - -interface HTMLElement extends Element {} -interface HTMLAnchorElement extends HTMLElement {} -interface HTMLAreaElement extends HTMLElement {} -interface HTMLAudioElement extends HTMLElement {} -interface HTMLBaseElement extends HTMLElement {} -interface HTMLBodyElement extends HTMLElement {} -interface HTMLBRElement extends HTMLElement {} -interface HTMLButtonElement extends HTMLElement {} -interface HTMLCanvasElement extends HTMLElement {} -interface HTMLDataElement extends HTMLElement {} -interface HTMLDataListElement extends HTMLElement {} -interface HTMLDetailsElement extends HTMLElement {} -interface HTMLDialogElement extends HTMLElement {} -interface HTMLDivElement extends HTMLElement {} -interface HTMLDListElement extends HTMLElement {} -interface HTMLEmbedElement extends HTMLElement {} -interface HTMLFieldSetElement extends HTMLElement {} -interface HTMLFormElement extends HTMLElement {} -interface HTMLHeadingElement extends HTMLElement {} -interface HTMLHeadElement extends HTMLElement {} -interface HTMLHRElement extends HTMLElement {} -interface HTMLHtmlElement extends HTMLElement {} -interface HTMLIFrameElement extends HTMLElement {} -interface HTMLImageElement extends HTMLElement {} -interface HTMLInputElement extends HTMLElement {} -interface HTMLModElement extends HTMLElement {} -interface HTMLLabelElement extends HTMLElement {} -interface HTMLLegendElement extends HTMLElement {} -interface HTMLLIElement extends HTMLElement {} -interface HTMLLinkElement extends HTMLElement {} -interface HTMLMapElement extends HTMLElement {} -interface HTMLMetaElement extends HTMLElement {} -interface HTMLMeterElement extends HTMLElement {} -interface HTMLObjectElement extends HTMLElement {} -interface HTMLOListElement extends HTMLElement {} -interface HTMLOptGroupElement extends HTMLElement {} -interface HTMLOptionElement extends HTMLElement {} -interface HTMLOutputElement extends HTMLElement {} -interface HTMLParagraphElement extends HTMLElement {} -interface HTMLParamElement extends HTMLElement {} -interface HTMLPreElement extends HTMLElement {} -interface HTMLProgressElement extends HTMLElement {} -interface HTMLQuoteElement extends HTMLElement {} -interface HTMLSlotElement extends HTMLElement {} -interface HTMLScriptElement extends HTMLElement {} -interface HTMLSelectElement extends HTMLElement {} -interface HTMLSourceElement extends HTMLElement {} -interface HTMLSpanElement extends HTMLElement {} -interface HTMLStyleElement extends HTMLElement {} -interface HTMLTableElement extends HTMLElement {} -interface HTMLTableColElement extends HTMLElement {} -interface HTMLTableDataCellElement extends HTMLElement {} -interface HTMLTableHeaderCellElement extends HTMLElement {} -interface HTMLTableRowElement extends HTMLElement {} -interface HTMLTableSectionElement extends HTMLElement {} -interface HTMLTemplateElement extends HTMLElement {} -interface HTMLTextAreaElement extends HTMLElement {} -interface HTMLTimeElement extends HTMLElement {} -interface HTMLTitleElement extends HTMLElement {} -interface HTMLTrackElement extends HTMLElement {} -interface HTMLUListElement extends HTMLElement {} -interface HTMLVideoElement extends HTMLElement {} -interface HTMLWebViewElement extends HTMLElement {} - -interface SVGElement extends Element {} -interface SVGSVGElement extends SVGElement {} -interface SVGCircleElement extends SVGElement {} -interface SVGClipPathElement extends SVGElement {} -interface SVGDefsElement extends SVGElement {} -interface SVGDescElement extends SVGElement {} -interface SVGEllipseElement extends SVGElement {} -interface SVGFEBlendElement extends SVGElement {} -interface SVGFEColorMatrixElement extends SVGElement {} -interface SVGFEComponentTransferElement extends SVGElement {} -interface SVGFECompositeElement extends SVGElement {} -interface SVGFEConvolveMatrixElement extends SVGElement {} -interface SVGFEDiffuseLightingElement extends SVGElement {} -interface SVGFEDisplacementMapElement extends SVGElement {} -interface SVGFEDistantLightElement extends SVGElement {} -interface SVGFEDropShadowElement extends SVGElement {} -interface SVGFEFloodElement extends SVGElement {} -interface SVGFEFuncAElement extends SVGElement {} -interface SVGFEFuncBElement extends SVGElement {} -interface SVGFEFuncGElement extends SVGElement {} -interface SVGFEFuncRElement extends SVGElement {} -interface SVGFEGaussianBlurElement extends SVGElement {} -interface SVGFEImageElement extends SVGElement {} -interface SVGFEMergeElement extends SVGElement {} -interface SVGFEMergeNodeElement extends SVGElement {} -interface SVGFEMorphologyElement extends SVGElement {} -interface SVGFEOffsetElement extends SVGElement {} -interface SVGFEPointLightElement extends SVGElement {} -interface SVGFESpecularLightingElement extends SVGElement {} -interface SVGFESpotLightElement extends SVGElement {} -interface SVGFETileElement extends SVGElement {} -interface SVGFETurbulenceElement extends SVGElement {} -interface SVGFilterElement extends SVGElement {} -interface SVGForeignObjectElement extends SVGElement {} -interface SVGGElement extends SVGElement {} -interface SVGImageElement extends SVGElement {} -interface SVGLineElement extends SVGElement {} -interface SVGLinearGradientElement extends SVGElement {} -interface SVGMarkerElement extends SVGElement {} -interface SVGMaskElement extends SVGElement {} -interface SVGMetadataElement extends SVGElement {} -interface SVGPathElement extends SVGElement {} -interface SVGPatternElement extends SVGElement {} -interface SVGPolygonElement extends SVGElement {} -interface SVGPolylineElement extends SVGElement {} -interface SVGRadialGradientElement extends SVGElement {} -interface SVGRectElement extends SVGElement {} -interface SVGSetElement extends SVGElement {} -interface SVGStopElement extends SVGElement {} -interface SVGSwitchElement extends SVGElement {} -interface SVGSymbolElement extends SVGElement {} -interface SVGTextElement extends SVGElement {} -interface SVGTextPathElement extends SVGElement {} -interface SVGTSpanElement extends SVGElement {} -interface SVGUseElement extends SVGElement {} -interface SVGViewElement extends SVGElement {} - -interface FormData {} -interface Text {} -interface TouchList {} -interface WebGLRenderingContext {} -interface WebGL2RenderingContext {} - -interface TrustedHTML {} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/index.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/index.d.ts deleted file mode 100644 index d3b44031..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/index.d.ts +++ /dev/null @@ -1,4530 +0,0 @@ -// NOTE: Users of the `experimental` builds of React should add a reference -// to 'react/experimental' in their project. See experimental.d.ts's top comment -// for reference and documentation on how exactly to do it. - -/// - -import * as CSS from "csstype"; -import * as PropTypes from "prop-types"; - -type NativeAnimationEvent = AnimationEvent; -type NativeClipboardEvent = ClipboardEvent; -type NativeCompositionEvent = CompositionEvent; -type NativeDragEvent = DragEvent; -type NativeFocusEvent = FocusEvent; -type NativeKeyboardEvent = KeyboardEvent; -type NativeMouseEvent = MouseEvent; -type NativeTouchEvent = TouchEvent; -type NativePointerEvent = PointerEvent; -type NativeTransitionEvent = TransitionEvent; -type NativeUIEvent = UIEvent; -type NativeWheelEvent = WheelEvent; - -/** - * Used to represent DOM API's where users can either pass - * true or false as a boolean or as its equivalent strings. - */ -type Booleanish = boolean | "true" | "false"; - -/** - * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin MDN} - */ -type CrossOrigin = "anonymous" | "use-credentials" | "" | undefined; - -declare const UNDEFINED_VOID_ONLY: unique symbol; - -/** - * The function returned from an effect passed to {@link React.useEffect useEffect}, - * which can be used to clean up the effect when the component unmounts. - * - * @see {@link https://react.dev/reference/react/useEffect React Docs} - */ -type Destructor = () => void | { [UNDEFINED_VOID_ONLY]: never }; -type VoidOrUndefinedOnly = void | { [UNDEFINED_VOID_ONLY]: never }; - -// eslint-disable-next-line @definitelytyped/export-just-namespace -export = React; -export as namespace React; - -declare namespace React { - // - // React Elements - // ---------------------------------------------------------------------- - - /** - * Used to retrieve the possible components which accept a given set of props. - * - * Can be passed no type parameters to get a union of all possible components - * and tags. - * - * Is a superset of {@link ComponentType}. - * - * @template P The props to match against. If not passed, defaults to any. - * @template Tag An optional tag to match against. If not passed, attempts to match against all possible tags. - * - * @example - * - * ```tsx - * // All components and tags (img, embed etc.) - * // which accept `src` - * type SrcComponents = ElementType<{ src: any }>; - * ``` - * - * @example - * - * ```tsx - * // All components - * type AllComponents = ElementType; - * ``` - * - * @example - * - * ```tsx - * // All custom components which match `src`, and tags which - * // match `src`, narrowed down to just `audio` and `embed` - * type SrcComponents = ElementType<{ src: any }, 'audio' | 'embed'>; - * ``` - */ - type ElementType

= - | { [K in Tag]: P extends JSX.IntrinsicElements[K] ? K : never }[Tag] - | ComponentType

; - - /** - * Represents any user-defined component, either as a function or a class. - * - * Similar to {@link JSXElementConstructor}, but with extra properties like - * {@link FunctionComponent.defaultProps defaultProps } and - * {@link ComponentClass.contextTypes contextTypes}. - * - * @template P The props the component accepts. - * - * @see {@link ComponentClass} - * @see {@link FunctionComponent} - */ - type ComponentType

= ComponentClass

| FunctionComponent

; - - /** - * Represents any user-defined component, either as a function or a class. - * - * Similar to {@link ComponentType}, but without extra properties like - * {@link FunctionComponent.defaultProps defaultProps } and - * {@link ComponentClass.contextTypes contextTypes}. - * - * @template P The props the component accepts. - */ - type JSXElementConstructor

= - | (( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-stateless-function-components React Docs} - */ - deprecatedLegacyContext?: any, - ) => ReactElement | null) - | (new( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ) => Component); - - /** - * A readonly ref container where {@link current} cannot be mutated. - * - * Created by {@link createRef}, or {@link useRef} when passed `null`. - * - * @template T The type of the ref's value. - * - * @example - * - * ```tsx - * const ref = createRef(); - * - * ref.current = document.createElement('div'); // Error - * ``` - */ - interface RefObject { - /** - * The current value of the ref. - */ - readonly current: T | null; - } - - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES { - } - /** - * A callback fired whenever the ref's value changes. - * - * @template T The type of the ref's value. - * - * @see {@link https://react.dev/reference/react-dom/components/common#ref-callback React Docs} - * - * @example - * - * ```tsx - *

console.log(node)} /> - * ``` - */ - type RefCallback = { - bivarianceHack( - instance: T | null, - ): - | void - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES - ]; - }["bivarianceHack"]; - - /** - * A union type of all possible shapes for React refs. - * - * @see {@link RefCallback} - * @see {@link RefObject} - */ - - type Ref = RefCallback | RefObject | null; - /** - * A legacy implementation of refs where you can pass a string to a ref prop. - * - * @see {@link https://react.dev/reference/react/Component#refs React Docs} - * - * @example - * - * ```tsx - *
- * ``` - */ - // TODO: Remove the string ref special case from `PropsWithRef` once we remove LegacyRef - type LegacyRef = string | Ref; - - /** - * Retrieves the type of the 'ref' prop for a given component type or tag name. - * - * @template C The component type. - * - * @example - * - * ```tsx - * type MyComponentRef = React.ElementRef; - * ``` - * - * @example - * - * ```tsx - * type DivRef = React.ElementRef<'div'>; - * ``` - */ - type ElementRef< - C extends - | ForwardRefExoticComponent - | { new(props: any): Component } - | ((props: any, deprecatedLegacyContext?: any) => ReactElement | null) - | keyof JSX.IntrinsicElements, - > = - // need to check first if `ref` is a valid prop for ts@3.0 - // otherwise it will infer `{}` instead of `never` - "ref" extends keyof ComponentPropsWithRef - ? NonNullable["ref"]> extends RefAttributes< - infer Instance - >["ref"] ? Instance - : never - : never; - - type ComponentState = any; - - /** - * A value which uniquely identifies a node among items in an array. - * - * @see {@link https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key React Docs} - */ - type Key = string | number | bigint; - - /** - * @internal The props any component can receive. - * You don't have to add this type. All components automatically accept these props. - * ```tsx - * const Component = () =>
; - * - * ``` - * - * WARNING: The implementation of a component will never have access to these attributes. - * The following example would be incorrect usage because {@link Component} would never have access to `key`: - * ```tsx - * const Component = (props: React.Attributes) => props.key; - * ``` - */ - interface Attributes { - key?: Key | null | undefined; - } - /** - * The props any component accepting refs can receive. - * Class components, built-in browser components (e.g. `div`) and forwardRef components can receive refs and automatically accept these props. - * ```tsx - * const Component = forwardRef(() =>
); - * console.log(current)} /> - * ``` - * - * You only need this type if you manually author the types of props that need to be compatible with legacy refs. - * ```tsx - * interface Props extends React.RefAttributes {} - * declare const Component: React.FunctionComponent; - * ``` - * - * Otherwise it's simpler to directly use {@link Ref} since you can safely use the - * props type to describe to props that a consumer can pass to the component - * as well as describing the props the implementation of a component "sees". - * {@link RefAttributes} is generally not safe to describe both consumer and seen props. - * - * ```tsx - * interface Props extends { - * ref?: React.Ref | undefined; - * } - * declare const Component: React.FunctionComponent; - * ``` - * - * WARNING: The implementation of a component will not have access to the same type in versions of React supporting string refs. - * The following example would be incorrect usage because {@link Component} would never have access to a `ref` with type `string` - * ```tsx - * const Component = (props: React.RefAttributes) => props.ref; - * ``` - */ - interface RefAttributes extends Attributes { - /** - * Allows getting a ref to the component instance. - * Once the component unmounts, React will set `ref.current` to `null` - * (or call the ref with `null` if you passed a callback ref). - * - * @see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs} - */ - ref?: LegacyRef | undefined; - } - - /** - * Represents the built-in attributes available to class components. - */ - interface ClassAttributes extends RefAttributes { - } - - /** - * Represents a JSX element. - * - * Where {@link ReactNode} represents everything that can be rendered, `ReactElement` - * only represents JSX. - * - * @template P The type of the props object - * @template T The type of the component or tag - * - * @example - * - * ```tsx - * const element: ReactElement =
; - * ``` - */ - interface ReactElement< - P = any, - T extends string | JSXElementConstructor = string | JSXElementConstructor, - > { - type: T; - props: P; - key: string | null; - } - - /** - * @deprecated - */ - interface ReactComponentElement< - T extends keyof JSX.IntrinsicElements | JSXElementConstructor, - P = Pick, Exclude, "key" | "ref">>, - > extends ReactElement> {} - - interface FunctionComponentElement

extends ReactElement> { - ref?: ("ref" extends keyof P ? P extends { ref?: infer R | undefined } ? R : never : never) | undefined; - } - - type CElement> = ComponentElement; - interface ComponentElement> extends ReactElement> { - ref?: LegacyRef | undefined; - } - - /** - * @deprecated Use {@link ComponentElement} instead. - */ - type ClassicElement

= CElement>; - - // string fallback for custom web-components - interface DOMElement

| SVGAttributes, T extends Element> - extends ReactElement - { - ref: LegacyRef; - } - - // ReactHTML for ReactHTMLElement - interface ReactHTMLElement extends DetailedReactHTMLElement, T> {} - - interface DetailedReactHTMLElement

, T extends HTMLElement> extends DOMElement { - type: keyof ReactHTML; - } - - // ReactSVG for ReactSVGElement - interface ReactSVGElement extends DOMElement, SVGElement> { - type: keyof ReactSVG; - } - - interface ReactPortal extends ReactElement { - children: ReactNode; - } - - // - // Factories - // ---------------------------------------------------------------------- - - type Factory

= (props?: Attributes & P, ...children: ReactNode[]) => ReactElement

; - - /** - * @deprecated Please use `FunctionComponentFactory` - */ - type SFCFactory

= FunctionComponentFactory

; - - type FunctionComponentFactory

= ( - props?: Attributes & P, - ...children: ReactNode[] - ) => FunctionComponentElement

; - - type ComponentFactory> = ( - props?: ClassAttributes & P, - ...children: ReactNode[] - ) => CElement; - - type CFactory> = ComponentFactory; - type ClassicFactory

= CFactory>; - - type DOMFactory

, T extends Element> = ( - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ) => DOMElement; - - interface HTMLFactory extends DetailedHTMLFactory, T> {} - - interface DetailedHTMLFactory

, T extends HTMLElement> extends DOMFactory { - (props?: ClassAttributes & P | null, ...children: ReactNode[]): DetailedReactHTMLElement; - } - - interface SVGFactory extends DOMFactory, SVGElement> { - ( - props?: ClassAttributes & SVGAttributes | null, - ...children: ReactNode[] - ): ReactSVGElement; - } - - /** - * @deprecated - This type is not relevant when using React. Inline the type instead to make the intent clear. - */ - type ReactText = string | number; - /** - * @deprecated - This type is not relevant when using React. Inline the type instead to make the intent clear. - */ - type ReactChild = ReactElement | string | number; - - /** - * @deprecated Use either `ReactNode[]` if you need an array or `Iterable` if its passed to a host component. - */ - interface ReactNodeArray extends ReadonlyArray {} - /** - * WARNING: Not related to `React.Fragment`. - * @deprecated This type is not relevant when using React. Inline the type instead to make the intent clear. - */ - type ReactFragment = Iterable; - - /** - * For internal usage only. - * Different release channels declare additional types of ReactNode this particular release channel accepts. - * App or library types should never augment this interface. - */ - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES {} - - /** - * Represents all of the things React can render. - * - * Where {@link ReactElement} only represents JSX, `ReactNode` represents everything that can be rendered. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/reactnode/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Typing children - * type Props = { children: ReactNode } - * - * const Component = ({ children }: Props) =>

{children}
- * - * hello - * ``` - * - * @example - * - * ```tsx - * // Typing a custom element - * type Props = { customElement: ReactNode } - * - * const Component = ({ customElement }: Props) =>
{customElement}
- * - * hello
} /> - * ``` - */ - // non-thenables need to be kept in sync with AwaitedReactNode - type ReactNode = - | ReactElement - | string - | number - | Iterable - | ReactPortal - | boolean - | null - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES - ]; - - // - // Top Level API - // ---------------------------------------------------------------------- - - // DOM Elements - /** @deprecated */ - function createFactory( - type: keyof ReactHTML, - ): HTMLFactory; - /** @deprecated */ - function createFactory( - type: keyof ReactSVG, - ): SVGFactory; - /** @deprecated */ - function createFactory

, T extends Element>( - type: string, - ): DOMFactory; - - // Custom components - /** @deprecated */ - function createFactory

(type: FunctionComponent

): FunctionComponentFactory

; - /** @deprecated */ - function createFactory, C extends ComponentClass

>( - type: ClassType, - ): CFactory; - /** @deprecated */ - function createFactory

(type: ComponentClass

): Factory

; - - // DOM Elements - // TODO: generalize this to everything in `keyof ReactHTML`, not just "input" - function createElement( - type: "input", - props?: InputHTMLAttributes & ClassAttributes | null, - ...children: ReactNode[] - ): DetailedReactHTMLElement, HTMLInputElement>; - function createElement

, T extends HTMLElement>( - type: keyof ReactHTML, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): DetailedReactHTMLElement; - function createElement

, T extends SVGElement>( - type: keyof ReactSVG, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): ReactSVGElement; - function createElement

, T extends Element>( - type: string, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): DOMElement; - - // Custom components - - function createElement

( - type: FunctionComponent

, - props?: Attributes & P | null, - ...children: ReactNode[] - ): FunctionComponentElement

; - function createElement

, C extends ComponentClass

>( - type: ClassType, - props?: ClassAttributes & P | null, - ...children: ReactNode[] - ): CElement; - function createElement

( - type: FunctionComponent

| ComponentClass

| string, - props?: Attributes & P | null, - ...children: ReactNode[] - ): ReactElement

; - - // DOM Elements - // ReactHTMLElement - function cloneElement

, T extends HTMLElement>( - element: DetailedReactHTMLElement, - props?: P, - ...children: ReactNode[] - ): DetailedReactHTMLElement; - // ReactHTMLElement, less specific - function cloneElement

, T extends HTMLElement>( - element: ReactHTMLElement, - props?: P, - ...children: ReactNode[] - ): ReactHTMLElement; - // SVGElement - function cloneElement

, T extends SVGElement>( - element: ReactSVGElement, - props?: P, - ...children: ReactNode[] - ): ReactSVGElement; - // DOM Element (has to be the last, because type checking stops at first overload that fits) - function cloneElement

, T extends Element>( - element: DOMElement, - props?: DOMAttributes & P, - ...children: ReactNode[] - ): DOMElement; - - // Custom components - function cloneElement

( - element: FunctionComponentElement

, - props?: Partial

& Attributes, - ...children: ReactNode[] - ): FunctionComponentElement

; - function cloneElement>( - element: CElement, - props?: Partial

& ClassAttributes, - ...children: ReactNode[] - ): CElement; - function cloneElement

( - element: ReactElement

, - props?: Partial

& Attributes, - ...children: ReactNode[] - ): ReactElement

; - - /** - * Describes the props accepted by a Context {@link Provider}. - * - * @template T The type of the value the context provides. - */ - interface ProviderProps { - value: T; - children?: ReactNode | undefined; - } - - /** - * Describes the props accepted by a Context {@link Consumer}. - * - * @template T The type of the value the context provides. - */ - interface ConsumerProps { - children: (value: T) => ReactNode; - } - - /** - * An object masquerading as a component. These are created by functions - * like {@link forwardRef}, {@link memo}, and {@link createContext}. - * - * In order to make TypeScript work, we pretend that they are normal - * components. - * - * But they are, in fact, not callable - instead, they are objects which - * are treated specially by the renderer. - * - * @template P The props the component accepts. - */ - interface ExoticComponent

{ - (props: P): ReactElement | null; - readonly $$typeof: symbol; - } - - /** - * An {@link ExoticComponent} with a `displayName` property applied to it. - * - * @template P The props the component accepts. - */ - interface NamedExoticComponent

extends ExoticComponent

{ - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - } - - /** - * An {@link ExoticComponent} with a `propTypes` property applied to it. - * - * @template P The props the component accepts. - */ - interface ProviderExoticComponent

extends ExoticComponent

{ - propTypes?: WeakValidationMap

| undefined; - } - - /** - * Used to retrieve the type of a context object from a {@link Context}. - * - * @template C The context object. - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const MyContext = createContext({ foo: 'bar' }); - * - * type ContextType = ContextType; - * // ContextType = { foo: string } - * ``` - */ - type ContextType> = C extends Context ? T : never; - - /** - * Wraps your components to specify the value of this context for all components inside. - * - * @see {@link https://react.dev/reference/react/createContext#provider React Docs} - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const ThemeContext = createContext('light'); - * - * function App() { - * return ( - * - * - * - * ); - * } - * ``` - */ - type Provider = ProviderExoticComponent>; - - /** - * The old way to read context, before {@link useContext} existed. - * - * @see {@link https://react.dev/reference/react/createContext#consumer React Docs} - * - * @example - * - * ```tsx - * import { UserContext } from './user-context'; - * - * function Avatar() { - * return ( - * - * {user => {user.name}} - * - * ); - * } - * ``` - */ - type Consumer = ExoticComponent>; - - /** - * Context lets components pass information deep down without explicitly - * passing props. - * - * Created from {@link createContext} - * - * @see {@link https://react.dev/learn/passing-data-deeply-with-context React Docs} - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/context/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const ThemeContext = createContext('light'); - * ``` - */ - interface Context { - Provider: Provider; - Consumer: Consumer; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - } - - /** - * Lets you create a {@link Context} that components can provide or read. - * - * @param defaultValue The value you want the context to have when there is no matching - * {@link Provider} in the tree above the component reading the context. This is meant - * as a "last resort" fallback. - * - * @see {@link https://react.dev/reference/react/createContext#reference React Docs} - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/context/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * import { createContext } from 'react'; - * - * const ThemeContext = createContext('light'); - * ``` - */ - function createContext( - // If you thought this should be optional, see - // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/24509#issuecomment-382213106 - defaultValue: T, - ): Context; - - function isValidElement

(object: {} | null | undefined): object is ReactElement

; - - /** - * Maintainer's note: Sync with {@link ReactChildren} until {@link ReactChildren} is removed. - */ - const Children: { - map( - children: C | readonly C[], - fn: (child: C, index: number) => T, - ): C extends null | undefined ? C : Array>; - forEach(children: C | readonly C[], fn: (child: C, index: number) => void): void; - count(children: any): number; - only(children: C): C extends any[] ? never : C; - toArray(children: ReactNode | ReactNode[]): Array>; - }; - /** - * Lets you group elements without a wrapper node. - * - * @see {@link https://react.dev/reference/react/Fragment React Docs} - * - * @example - * - * ```tsx - * import { Fragment } from 'react'; - * - * - * Hello - * World - * - * ``` - * - * @example - * - * ```tsx - * // Using the <> shorthand syntax: - * - * <> - * Hello - * World - * - * ``` - */ - const Fragment: ExoticComponent<{ children?: ReactNode | undefined }>; - - /** - * Lets you find common bugs in your components early during development. - * - * @see {@link https://react.dev/reference/react/StrictMode React Docs} - * - * @example - * - * ```tsx - * import { StrictMode } from 'react'; - * - * - * - * - * ``` - */ - const StrictMode: ExoticComponent<{ children?: ReactNode | undefined }>; - - /** - * The props accepted by {@link Suspense}. - * - * @see {@link https://react.dev/reference/react/Suspense React Docs} - */ - interface SuspenseProps { - children?: ReactNode | undefined; - - /** A fallback react tree to show when a Suspense child (like React.lazy) suspends */ - fallback?: ReactNode; - - /** - * A name for this Suspense boundary for instrumentation purposes. - * The name will help identify this boundary in React DevTools. - */ - name?: string | undefined; - } - - /** - * Lets you display a fallback until its children have finished loading. - * - * @see {@link https://react.dev/reference/react/Suspense React Docs} - * - * @example - * - * ```tsx - * import { Suspense } from 'react'; - * - * }> - * - * - * ``` - */ - const Suspense: ExoticComponent; - const version: string; - - /** - * The callback passed to {@link ProfilerProps.onRender}. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - type ProfilerOnRenderCallback = ( - /** - * The string id prop of the {@link Profiler} tree that has just committed. This lets - * you identify which part of the tree was committed if you are using multiple - * profilers. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - id: string, - /** - * This lets you know whether the tree has just been mounted for the first time - * or re-rendered due to a change in props, state, or hooks. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - phase: "mount" | "update" | "nested-update", - /** - * The number of milliseconds spent rendering the {@link Profiler} and its descendants - * for the current update. This indicates how well the subtree makes use of - * memoization (e.g. {@link memo} and {@link useMemo}). Ideally this value should decrease - * significantly after the initial mount as many of the descendants will only need to - * re-render if their specific props change. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - actualDuration: number, - /** - * The number of milliseconds estimating how much time it would take to re-render the entire - * {@link Profiler} subtree without any optimizations. It is calculated by summing up the most - * recent render durations of each component in the tree. This value estimates a worst-case - * cost of rendering (e.g. the initial mount or a tree with no memoization). Compare - * {@link actualDuration} against it to see if memoization is working. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - baseDuration: number, - /** - * A numeric timestamp for when React began rendering the current update. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - startTime: number, - /** - * A numeric timestamp for when React committed the current update. This value is shared - * between all profilers in a commit, enabling them to be grouped if desirable. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - */ - commitTime: number, - ) => void; - - /** - * The props accepted by {@link Profiler}. - * - * @see {@link https://react.dev/reference/react/Profiler React Docs} - */ - interface ProfilerProps { - children?: ReactNode | undefined; - id: string; - onRender: ProfilerOnRenderCallback; - } - - /** - * Lets you measure rendering performance of a React tree programmatically. - * - * @see {@link https://react.dev/reference/react/Profiler#onrender-callback React Docs} - * - * @example - * - * ```tsx - * - * - * - * ``` - */ - const Profiler: ExoticComponent; - - // - // Component API - // ---------------------------------------------------------------------- - - type ReactInstance = Component | Element; - - // Base component for plain JS classes - interface Component

extends ComponentLifecycle {} - class Component { - /** - * If set, `this.context` will be set at runtime to the current value of the given Context. - * - * @example - * - * ```ts - * type MyContext = number - * const Ctx = React.createContext(0) - * - * class Foo extends React.Component { - * static contextType = Ctx - * context!: React.ContextType - * render () { - * return <>My context's value: {this.context}; - * } - * } - * ``` - * - * @see {@link https://react.dev/reference/react/Component#static-contexttype} - */ - static contextType?: Context | undefined; - - /** - * If using the new style context, re-declare this in your class to be the - * `React.ContextType` of your `static contextType`. - * Should be used with type annotation or static contextType. - * - * @example - * ```ts - * static contextType = MyContext - * // For TS pre-3.7: - * context!: React.ContextType - * // For TS 3.7 and above: - * declare context: React.ContextType - * ``` - * - * @see {@link https://react.dev/reference/react/Component#context React Docs} - */ - context: unknown; - - constructor(props: P); - /** - * @deprecated - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html React Docs} - */ - constructor(props: P, context: any); - - // We MUST keep setState() as a unified signature because it allows proper checking of the method return type. - // See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18365#issuecomment-351013257 - // Also, the ` | S` allows intellisense to not be dumbisense - setState( - state: ((prevState: Readonly, props: Readonly

) => Pick | S | null) | (Pick | S | null), - callback?: () => void, - ): void; - - forceUpdate(callback?: () => void): void; - render(): ReactNode; - - readonly props: Readonly

; - state: Readonly; - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs Legacy React Docs} - */ - refs: { - [key: string]: ReactInstance; - }; - } - - class PureComponent

extends Component {} - - /** - * @deprecated Use `ClassicComponent` from `create-react-class` - * - * @see {@link https://legacy.reactjs.org/docs/react-without-es6.html Legacy React Docs} - * @see {@link https://www.npmjs.com/package/create-react-class `create-react-class` on npm} - */ - interface ClassicComponent

extends Component { - replaceState(nextState: S, callback?: () => void): void; - isMounted(): boolean; - getInitialState?(): S; - } - - interface ChildContextProvider { - getChildContext(): CC; - } - - // - // Class Interfaces - // ---------------------------------------------------------------------- - - /** - * Represents the type of a function component. Can optionally - * receive a type argument that represents the props the component - * receives. - * - * @template P The props the component accepts. - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/function_components React TypeScript Cheatsheet} - * @alias for {@link FunctionComponent} - * - * @example - * - * ```tsx - * // With props: - * type Props = { name: string } - * - * const MyComponent: FC = (props) => { - * return

{props.name}
- * } - * ``` - * - * @example - * - * ```tsx - * // Without props: - * const MyComponentWithoutProps: FC = () => { - * return
MyComponentWithoutProps
- * } - * ``` - */ - type FC

= FunctionComponent

; - - /** - * Represents the type of a function component. Can optionally - * receive a type argument that represents the props the component - * accepts. - * - * @template P The props the component accepts. - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/function_components React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // With props: - * type Props = { name: string } - * - * const MyComponent: FunctionComponent = (props) => { - * return

{props.name}
- * } - * ``` - * - * @example - * - * ```tsx - * // Without props: - * const MyComponentWithoutProps: FunctionComponent = () => { - * return
MyComponentWithoutProps
- * } - * ``` - */ - interface FunctionComponent

{ - ( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ): ReactElement | null; - /** - * Used to declare the types of the props accepted by the - * component. These types will be checked during rendering - * and in development only. - * - * We recommend using TypeScript instead of checking prop - * types at runtime. - * - * @see {@link https://react.dev/reference/react/Component#static-proptypes React Docs} - */ - propTypes?: WeakValidationMap

| undefined; - /** - * @deprecated - * - * Lets you specify which legacy context is consumed by - * this component. - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html Legacy React Docs} - */ - contextTypes?: ValidationMap | undefined; - /** - * Used to define default values for the props accepted by - * the component. - * - * @see {@link https://react.dev/reference/react/Component#static-defaultprops React Docs} - * - * @example - * - * ```tsx - * type Props = { name?: string } - * - * const MyComponent: FC = (props) => { - * return

{props.name}
- * } - * - * MyComponent.defaultProps = { - * name: 'John Doe' - * } - * ``` - * - * @deprecated Use {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#default_value|default values for destructuring assignments instead}. - */ - defaultProps?: Partial

| undefined; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - * - * @example - * - * ```tsx - * - * const MyComponent: FC = () => { - * return

Hello!
- * } - * - * MyComponent.displayName = 'MyAwesomeComponent' - * ``` - */ - displayName?: string | undefined; - } - - /** - * @deprecated - Equivalent to {@link React.FunctionComponent}. - * - * @see {@link React.FunctionComponent} - * @alias {@link VoidFunctionComponent} - */ - type VFC

= VoidFunctionComponent

; - - /** - * @deprecated - Equivalent to {@link React.FunctionComponent}. - * - * @see {@link React.FunctionComponent} - */ - interface VoidFunctionComponent

{ - ( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ): ReactElement | null; - propTypes?: WeakValidationMap

| undefined; - contextTypes?: ValidationMap | undefined; - /** - * @deprecated Use {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#default_value|default values for destructuring assignments instead}. - */ - defaultProps?: Partial

| undefined; - displayName?: string | undefined; - } - - /** - * The type of the ref received by a {@link ForwardRefRenderFunction}. - * - * @see {@link ForwardRefRenderFunction} - */ - type ForwardedRef = ((instance: T | null) => void) | MutableRefObject | null; - - /** - * The type of the function passed to {@link forwardRef}. This is considered different - * to a normal {@link FunctionComponent} because it receives an additional argument, - * - * @param props Props passed to the component, if any. - * @param ref A ref forwarded to the component of type {@link ForwardedRef}. - * - * @template T The type of the forwarded ref. - * @template P The type of the props the component accepts. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/forward_and_create_ref/ React TypeScript Cheatsheet} - * @see {@link forwardRef} - */ - interface ForwardRefRenderFunction { - (props: P, ref: ForwardedRef): ReactElement | null; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * Will show `ForwardRef(${Component.displayName || Component.name})` - * in devtools by default, but can be given its own specific name. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - /** - * defaultProps are not supported on render functions passed to forwardRef. - * - * @see {@link https://github.com/microsoft/TypeScript/issues/36826 linked GitHub issue} for context - * @see {@link https://react.dev/reference/react/Component#static-defaultprops React Docs} - */ - defaultProps?: never | undefined; - /** - * propTypes are not supported on render functions passed to forwardRef. - * - * @see {@link https://github.com/microsoft/TypeScript/issues/36826 linked GitHub issue} for context - * @see {@link https://react.dev/reference/react/Component#static-proptypes React Docs} - */ - propTypes?: never | undefined; - } - - /** - * Represents a component class in React. - * - * @template P The props the component accepts. - * @template S The internal state of the component. - */ - interface ComponentClass

extends StaticLifecycle { - new( - props: P, - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods React Docs} - */ - deprecatedLegacyContext?: any, - ): Component; - /** - * Used to declare the types of the props accepted by the - * component. These types will be checked during rendering - * and in development only. - * - * We recommend using TypeScript instead of checking prop - * types at runtime. - * - * @see {@link https://react.dev/reference/react/Component#static-proptypes React Docs} - */ - propTypes?: WeakValidationMap

| undefined; - contextType?: Context | undefined; - /** - * @deprecated use {@link ComponentClass.contextType} instead - * - * Lets you specify which legacy context is consumed by - * this component. - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html Legacy React Docs} - */ - contextTypes?: ValidationMap | undefined; - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/docs/legacy-context.html#how-to-use-context Legacy React Docs} - */ - childContextTypes?: ValidationMap | undefined; - /** - * Used to define default values for the props accepted by - * the component. - * - * @see {@link https://react.dev/reference/react/Component#static-defaultprops React Docs} - */ - defaultProps?: Partial

| undefined; - /** - * Used in debugging messages. You might want to set it - * explicitly if you want to display a different name for - * debugging purposes. - * - * @see {@link https://legacy.reactjs.org/docs/react-component.html#displayname Legacy React Docs} - */ - displayName?: string | undefined; - } - - /** - * @deprecated Use `ClassicComponentClass` from `create-react-class` - * - * @see {@link https://legacy.reactjs.org/docs/react-without-es6.html Legacy React Docs} - * @see {@link https://www.npmjs.com/package/create-react-class `create-react-class` on npm} - */ - interface ClassicComponentClass

extends ComponentClass

{ - new(props: P, deprecatedLegacyContext?: any): ClassicComponent; - getDefaultProps?(): P; - } - - /** - * Used in {@link createElement} and {@link createFactory} to represent - * a class. - * - * An intersection type is used to infer multiple type parameters from - * a single argument, which is useful for many top-level API defs. - * See {@link https://github.com/Microsoft/TypeScript/issues/7234 this GitHub issue} - * for more info. - */ - type ClassType, C extends ComponentClass

> = - & C - & (new(props: P, deprecatedLegacyContext?: any) => T); - - // - // Component Specs and Lifecycle - // ---------------------------------------------------------------------- - - // This should actually be something like `Lifecycle | DeprecatedLifecycle`, - // as React will _not_ call the deprecated lifecycle methods if any of the new lifecycle - // methods are present. - interface ComponentLifecycle extends NewLifecycle, DeprecatedLifecycle { - /** - * Called immediately after a component is mounted. Setting state here will trigger re-rendering. - */ - componentDidMount?(): void; - /** - * Called to determine whether the change in props and state should trigger a re-render. - * - * `Component` always returns true. - * `PureComponent` implements a shallow comparison on props and state and returns true if any - * props or states have changed. - * - * If false is returned, {@link Component.render}, `componentWillUpdate` - * and `componentDidUpdate` will not be called. - */ - shouldComponentUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): boolean; - /** - * Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as - * cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`. - */ - componentWillUnmount?(): void; - /** - * Catches exceptions generated in descendant components. Unhandled exceptions will cause - * the entire component tree to unmount. - */ - componentDidCatch?(error: Error, errorInfo: ErrorInfo): void; - } - - // Unfortunately, we have no way of declaring that the component constructor must implement this - interface StaticLifecycle { - getDerivedStateFromProps?: GetDerivedStateFromProps | undefined; - getDerivedStateFromError?: GetDerivedStateFromError | undefined; - } - - type GetDerivedStateFromProps = - /** - * Returns an update to a component's state based on its new props and old state. - * - * Note: its presence prevents any of the deprecated lifecycle methods from being invoked - */ - (nextProps: Readonly

, prevState: S) => Partial | null; - - type GetDerivedStateFromError = - /** - * This lifecycle is invoked after an error has been thrown by a descendant component. - * It receives the error that was thrown as a parameter and should return a value to update state. - * - * Note: its presence prevents any of the deprecated lifecycle methods from being invoked - */ - (error: any) => Partial | null; - - // This should be "infer SS" but can't use it yet - interface NewLifecycle { - /** - * Runs before React applies the result of {@link Component.render render} to the document, and - * returns an object to be given to {@link componentDidUpdate}. Useful for saving - * things such as scroll position before {@link Component.render render} causes changes to it. - * - * Note: the presence of this method prevents any of the deprecated - * lifecycle events from running. - */ - getSnapshotBeforeUpdate?(prevProps: Readonly

, prevState: Readonly): SS | null; - /** - * Called immediately after updating occurs. Not called for the initial render. - * - * The snapshot is only present if {@link getSnapshotBeforeUpdate} is present and returns non-null. - */ - componentDidUpdate?(prevProps: Readonly

, prevState: Readonly, snapshot?: SS): void; - } - - interface DeprecatedLifecycle { - /** - * Called immediately before mounting occurs, and before {@link Component.render}. - * Avoid introducing any side-effects or subscriptions in this method. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use {@link ComponentLifecycle.componentDidMount componentDidMount} or the constructor instead; will stop working in React 17 - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - componentWillMount?(): void; - /** - * Called immediately before mounting occurs, and before {@link Component.render}. - * Avoid introducing any side-effects or subscriptions in this method. - * - * This method will not stop working in React 17. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use {@link ComponentLifecycle.componentDidMount componentDidMount} or the constructor instead - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - UNSAFE_componentWillMount?(): void; - /** - * Called when the component may be receiving new props. - * React may call this even if props have not changed, so be sure to compare new and existing - * props if you only want to handle changes. - * - * Calling {@link Component.setState} generally does not trigger this method. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use static {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} instead; will stop working in React 17 - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; - /** - * Called when the component may be receiving new props. - * React may call this even if props have not changed, so be sure to compare new and existing - * props if you only want to handle changes. - * - * Calling {@link Component.setState} generally does not trigger this method. - * - * This method will not stop working in React 17. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use static {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} instead - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - UNSAFE_componentWillReceiveProps?(nextProps: Readonly

, nextContext: any): void; - /** - * Called immediately before rendering when new props or state is received. Not called for the initial render. - * - * Note: You cannot call {@link Component.setState} here. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17 - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; - /** - * Called immediately before rendering when new props or state is received. Not called for the initial render. - * - * Note: You cannot call {@link Component.setState} here. - * - * This method will not stop working in React 17. - * - * Note: the presence of {@link NewLifecycle.getSnapshotBeforeUpdate getSnapshotBeforeUpdate} - * or {@link StaticLifecycle.getDerivedStateFromProps getDerivedStateFromProps} prevents - * this from being invoked. - * - * @deprecated 16.3, use getSnapshotBeforeUpdate instead - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update} - * @see {@link https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path} - */ - UNSAFE_componentWillUpdate?(nextProps: Readonly

, nextState: Readonly, nextContext: any): void; - } - - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/blog/2016/07/13/mixins-considered-harmful.html Mixins Considered Harmful} - */ - interface Mixin extends ComponentLifecycle { - mixins?: Array> | undefined; - statics?: { - [key: string]: any; - } | undefined; - - displayName?: string | undefined; - propTypes?: ValidationMap | undefined; - contextTypes?: ValidationMap | undefined; - childContextTypes?: ValidationMap | undefined; - - getDefaultProps?(): P; - getInitialState?(): S; - } - - /** - * @deprecated - * - * @see {@link https://legacy.reactjs.org/blog/2016/07/13/mixins-considered-harmful.html Mixins Considered Harmful} - */ - interface ComponentSpec extends Mixin { - render(): ReactNode; - - [propertyName: string]: any; - } - - function createRef(): RefObject; - - /** - * The type of the component returned from {@link forwardRef}. - * - * @template P The props the component accepts, if any. - * - * @see {@link ExoticComponent} - */ - interface ForwardRefExoticComponent

extends NamedExoticComponent

{ - /** - * @deprecated Use {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#default_value|default values for destructuring assignments instead}. - */ - defaultProps?: Partial

| undefined; - propTypes?: WeakValidationMap

| undefined; - } - - /** - * Lets your component expose a DOM node to a parent component - * using a ref. - * - * @see {@link https://react.dev/reference/react/forwardRef React Docs} - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/forward_and_create_ref/ React TypeScript Cheatsheet} - * - * @param render See the {@link ForwardRefRenderFunction}. - * - * @template T The type of the DOM node. - * @template P The props the component accepts, if any. - * - * @example - * - * ```tsx - * interface Props { - * children?: ReactNode; - * type: "submit" | "button"; - * } - * - * export const FancyButton = forwardRef((props, ref) => ( - * - * )); - * ``` - */ - function forwardRef( - render: ForwardRefRenderFunction>, - ): ForwardRefExoticComponent & RefAttributes>; - - /** - * Omits the 'ref' attribute from the given props object. - * - * @template P The props object type. - */ - type PropsWithoutRef

= - // Omit would not be sufficient for this. We'd like to avoid unnecessary mapping and need a distributive conditional to support unions. - // see: https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types - // https://github.com/Microsoft/TypeScript/issues/28339 - P extends any ? ("ref" extends keyof P ? Omit : P) : P; - /** Ensures that the props do not include string ref, which cannot be forwarded */ - type PropsWithRef

= - // Note: String refs can be forwarded. We can't fix this bug without breaking a bunch of libraries now though. - // Just "P extends { ref?: infer R }" looks sufficient, but R will infer as {} if P is {}. - "ref" extends keyof P - ? P extends { ref?: infer R | undefined } - ? string extends R ? PropsWithoutRef

& { ref?: Exclude | undefined } - : P - : P - : P; - - type PropsWithChildren

= P & { children?: ReactNode | undefined }; - - /** - * Used to retrieve the props a component accepts. Can either be passed a string, - * indicating a DOM element (e.g. 'div', 'span', etc.) or the type of a React - * component. - * - * It's usually better to use {@link ComponentPropsWithRef} or {@link ComponentPropsWithoutRef} - * instead of this type, as they let you be explicit about whether or not to include - * the `ref` prop. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/componentprops/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Retrieves the props an 'input' element accepts - * type InputProps = React.ComponentProps<'input'>; - * ``` - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>

; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentProps = React.ComponentProps; - * ``` - */ - type ComponentProps> = T extends - JSXElementConstructor ? P - : T extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[T] - : {}; - - /** - * Used to retrieve the props a component accepts with its ref. Can either be - * passed a string, indicating a DOM element (e.g. 'div', 'span', etc.) or the - * type of a React component. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/componentprops/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Retrieves the props an 'input' element accepts - * type InputProps = React.ComponentPropsWithRef<'input'>; - * ``` - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>
; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentPropsWithRef = React.ComponentPropsWithRef; - * ``` - */ - type ComponentPropsWithRef = T extends (new(props: infer P) => Component) - ? PropsWithoutRef

& RefAttributes> - : PropsWithRef>; - /** - * Used to retrieve the props a custom component accepts with its ref. - * - * Unlike {@link ComponentPropsWithRef}, this only works with custom - * components, i.e. components you define yourself. This is to improve - * type-checking performance. - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>

; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentPropsWithRef = React.CustomComponentPropsWithRef; - * ``` - */ - type CustomComponentPropsWithRef = T extends (new(props: infer P) => Component) - ? (PropsWithoutRef

& RefAttributes>) - : T extends ((props: infer P, legacyContext?: any) => ReactNode) ? PropsWithRef

- : never; - - /** - * Used to retrieve the props a component accepts without its ref. Can either be - * passed a string, indicating a DOM element (e.g. 'div', 'span', etc.) or the - * type of a React component. - * - * @see {@link https://react-typescript-cheatsheet.netlify.app/docs/react-types/componentprops/ React TypeScript Cheatsheet} - * - * @example - * - * ```tsx - * // Retrieves the props an 'input' element accepts - * type InputProps = React.ComponentPropsWithoutRef<'input'>; - * ``` - * - * @example - * - * ```tsx - * const MyComponent = (props: { foo: number, bar: string }) =>

; - * - * // Retrieves the props 'MyComponent' accepts - * type MyComponentPropsWithoutRef = React.ComponentPropsWithoutRef; - * ``` - */ - type ComponentPropsWithoutRef = PropsWithoutRef>; - - type ComponentRef = T extends NamedExoticComponent< - ComponentPropsWithoutRef & RefAttributes - > ? Method - : ComponentPropsWithRef extends RefAttributes ? Method - : never; - - // will show `Memo(${Component.displayName || Component.name})` in devtools by default, - // but can be given its own specific name - type MemoExoticComponent> = NamedExoticComponent> & { - readonly type: T; - }; - - /** - * Lets you skip re-rendering a component when its props are unchanged. - * - * @see {@link https://react.dev/reference/react/memo React Docs} - * - * @param Component The component to memoize. - * @param propsAreEqual A function that will be used to determine if the props have changed. - * - * @example - * - * ```tsx - * import { memo } from 'react'; - * - * const SomeComponent = memo(function SomeComponent(props: { foo: string }) { - * // ... - * }); - * ``` - */ - function memo

( - Component: FunctionComponent

, - propsAreEqual?: (prevProps: Readonly

, nextProps: Readonly

) => boolean, - ): NamedExoticComponent

; - function memo>( - Component: T, - propsAreEqual?: (prevProps: Readonly>, nextProps: Readonly>) => boolean, - ): MemoExoticComponent; - - interface LazyExoticComponent> - extends ExoticComponent> - { - readonly _result: T; - } - - /** - * Lets you defer loading a component’s code until it is rendered for the first time. - * - * @see {@link https://react.dev/reference/react/lazy React Docs} - * - * @param load A function that returns a `Promise` or another thenable (a `Promise`-like object with a - * then method). React will not call `load` until the first time you attempt to render the returned - * component. After React first calls load, it will wait for it to resolve, and then render the - * resolved value’s `.default` as a React component. Both the returned `Promise` and the `Promise`’s - * resolved value will be cached, so React will not call load more than once. If the `Promise` rejects, - * React will throw the rejection reason for the nearest Error Boundary to handle. - * - * @example - * - * ```tsx - * import { lazy } from 'react'; - * - * const MarkdownPreview = lazy(() => import('./MarkdownPreview.js')); - * ``` - */ - function lazy>( - load: () => Promise<{ default: T }>, - ): LazyExoticComponent; - - // - // React Hooks - // ---------------------------------------------------------------------- - - /** - * The instruction passed to a {@link Dispatch} function in {@link useState} - * to tell React what the next value of the {@link useState} should be. - * - * Often found wrapped in {@link Dispatch}. - * - * @template S The type of the state. - * - * @example - * - * ```tsx - * // This return type correctly represents the type of - * // `setCount` in the example below. - * const useCustomState = (): Dispatch> => { - * const [count, setCount] = useState(0); - * - * return setCount; - * } - * ``` - */ - type SetStateAction = S | ((prevState: S) => S); - - /** - * A function that can be used to update the state of a {@link useState} - * or {@link useReducer} hook. - */ - type Dispatch = (value: A) => void; - /** - * A {@link Dispatch} function can sometimes be called without any arguments. - */ - type DispatchWithoutAction = () => void; - // Unlike redux, the actions _can_ be anything - type Reducer = (prevState: S, action: A) => S; - // If useReducer accepts a reducer without action, dispatch may be called without any parameters. - type ReducerWithoutAction = (prevState: S) => S; - // types used to try and prevent the compiler from reducing S - // to a supertype common with the second argument to useReducer() - type ReducerState> = R extends Reducer ? S : never; - type ReducerAction> = R extends Reducer ? A : never; - // The identity check is done with the SameValue algorithm (Object.is), which is stricter than === - type ReducerStateWithoutAction> = R extends ReducerWithoutAction ? S - : never; - type DependencyList = readonly unknown[]; - - // NOTE: callbacks are _only_ allowed to return either void, or a destructor. - type EffectCallback = () => void | Destructor; - - interface MutableRefObject { - current: T; - } - - // This will technically work if you give a Consumer or Provider but it's deprecated and warns - /** - * Accepts a context object (the value returned from `React.createContext`) and returns the current - * context value, as given by the nearest context provider for the given context. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useContext} - */ - function useContext(context: Context /*, (not public API) observedBits?: number|boolean */): T; - /** - * Returns a stateful value, and a function to update it. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useState} - */ - function useState(initialState: S | (() => S)): [S, Dispatch>]; - // convenience overload when first argument is omitted - /** - * Returns a stateful value, and a function to update it. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useState} - */ - function useState(): [S | undefined, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload where dispatch could accept 0 arguments. - function useReducer, I>( - reducer: R, - initializerArg: I, - initializer: (arg: I) => ReducerStateWithoutAction, - ): [ReducerStateWithoutAction, DispatchWithoutAction]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload where dispatch could accept 0 arguments. - function useReducer>( - reducer: R, - initializerArg: ReducerStateWithoutAction, - initializer?: undefined, - ): [ReducerStateWithoutAction, DispatchWithoutAction]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload where "I" may be a subset of ReducerState; used to provide autocompletion. - // If "I" matches ReducerState exactly then the last overload will allow initializer to be omitted. - // the last overload effectively behaves as if the identity function (x => x) is the initializer. - function useReducer, I>( - reducer: R, - initializerArg: I & ReducerState, - initializer: (arg: I & ReducerState) => ReducerState, - ): [ReducerState, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - // overload for free "I"; all goes as long as initializer converts it into "ReducerState". - function useReducer, I>( - reducer: R, - initializerArg: I, - initializer: (arg: I) => ReducerState, - ): [ReducerState, Dispatch>]; - /** - * An alternative to `useState`. - * - * `useReducer` is usually preferable to `useState` when you have complex state logic that involves - * multiple sub-values. It also lets you optimize performance for components that trigger deep - * updates because you can pass `dispatch` down instead of callbacks. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useReducer} - */ - - // I'm not sure if I keep this 2-ary or if I make it (2,3)-ary; it's currently (2,3)-ary. - // The Flow types do have an overload for 3-ary invocation with undefined initializer. - - // NOTE: without the ReducerState indirection, TypeScript would reduce S to be the most common - // supertype between the reducer's return type and the initialState (or the initializer's return type), - // which would prevent autocompletion from ever working. - - // TODO: double-check if this weird overload logic is necessary. It is possible it's either a bug - // in older versions, or a regression in newer versions of the typescript completion service. - function useReducer>( - reducer: R, - initialState: ReducerState, - initializer?: undefined, - ): [ReducerState, Dispatch>]; - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useRef} - */ - function useRef(initialValue: T): MutableRefObject; - // convenience overload for refs given as a ref prop as they typically start with a null value - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - * - * Usage note: if you need the result of useRef to be directly mutable, include `| null` in the type - * of the generic argument. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useRef} - */ - function useRef(initialValue: T | null): RefObject; - // convenience overload for potentially undefined initialValue / call with 0 arguments - // has a default to stop it from defaulting to {} instead - /** - * `useRef` returns a mutable ref object whose `.current` property is initialized to the passed argument - * (`initialValue`). The returned object will persist for the full lifetime of the component. - * - * Note that `useRef()` is useful for more than the `ref` attribute. It’s handy for keeping any mutable - * value around similar to how you’d use instance fields in classes. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useRef} - */ - function useRef(initialValue?: undefined): MutableRefObject; - /** - * The signature is identical to `useEffect`, but it fires synchronously after all DOM mutations. - * Use this to read layout from the DOM and synchronously re-render. Updates scheduled inside - * `useLayoutEffect` will be flushed synchronously, before the browser has a chance to paint. - * - * Prefer the standard `useEffect` when possible to avoid blocking visual updates. - * - * If you’re migrating code from a class component, `useLayoutEffect` fires in the same phase as - * `componentDidMount` and `componentDidUpdate`. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useLayoutEffect} - */ - function useLayoutEffect(effect: EffectCallback, deps?: DependencyList): void; - /** - * Accepts a function that contains imperative, possibly effectful code. - * - * @param effect Imperative function that can return a cleanup function - * @param deps If present, effect will only activate if the values in the list change. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useEffect} - */ - function useEffect(effect: EffectCallback, deps?: DependencyList): void; - // NOTE: this does not accept strings, but this will have to be fixed by removing strings from type Ref - /** - * `useImperativeHandle` customizes the instance value that is exposed to parent components when using - * `ref`. As always, imperative code using refs should be avoided in most cases. - * - * `useImperativeHandle` should be used with `React.forwardRef`. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useImperativeHandle} - */ - function useImperativeHandle(ref: Ref | undefined, init: () => R, deps?: DependencyList): void; - // I made 'inputs' required here and in useMemo as there's no point to memoizing without the memoization key - // useCallback(X) is identical to just using X, useMemo(() => Y) is identical to just using Y. - /** - * `useCallback` will return a memoized version of the callback that only changes if one of the `inputs` - * has changed. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useCallback} - */ - // A specific function type would not trigger implicit any. - // See https://github.com/DefinitelyTyped/DefinitelyTyped/issues/52873#issuecomment-845806435 for a comparison between `Function` and more specific types. - // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type - function useCallback(callback: T, deps: DependencyList): T; - /** - * `useMemo` will only recompute the memoized value when one of the `deps` has changed. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useMemo} - */ - // allow undefined, but don't make it optional as that is very likely a mistake - function useMemo(factory: () => T, deps: DependencyList): T; - /** - * `useDebugValue` can be used to display a label for custom hooks in React DevTools. - * - * NOTE: We don’t recommend adding debug values to every custom hook. - * It’s most valuable for custom hooks that are part of shared libraries. - * - * @version 16.8.0 - * @see {@link https://react.dev/reference/react/useDebugValue} - */ - // the name of the custom hook is itself derived from the function name at runtime: - // it's just the function name without the "use" prefix. - function useDebugValue(value: T, format?: (value: T) => any): void; - - // must be synchronous - export type TransitionFunction = () => VoidOrUndefinedOnly; - // strange definition to allow vscode to show documentation on the invocation - export interface TransitionStartFunction { - /** - * State updates caused inside the callback are allowed to be deferred. - * - * **If some state update causes a component to suspend, that state update should be wrapped in a transition.** - * - * @param callback A _synchronous_ function which causes state updates that can be deferred. - */ - (callback: TransitionFunction): void; - } - - /** - * Returns a deferred version of the value that may “lag behind” it. - * - * This is commonly used to keep the interface responsive when you have something that renders immediately - * based on user input and something that needs to wait for a data fetch. - * - * A good example of this is a text input. - * - * @param value The value that is going to be deferred - * - * @see {@link https://react.dev/reference/react/useDeferredValue} - */ - export function useDeferredValue(value: T): T; - - /** - * Allows components to avoid undesirable loading states by waiting for content to load - * before transitioning to the next screen. It also allows components to defer slower, - * data fetching updates until subsequent renders so that more crucial updates can be - * rendered immediately. - * - * The `useTransition` hook returns two values in an array. - * - * The first is a boolean, React’s way of informing us whether we’re waiting for the transition to finish. - * The second is a function that takes a callback. We can use it to tell React which state we want to defer. - * - * **If some state update causes a component to suspend, that state update should be wrapped in a transition.** - * - * @see {@link https://react.dev/reference/react/useTransition} - */ - export function useTransition(): [boolean, TransitionStartFunction]; - - /** - * Similar to `useTransition` but allows uses where hooks are not available. - * - * @param callback A _synchronous_ function which causes state updates that can be deferred. - */ - export function startTransition(scope: TransitionFunction): void; - - /** - * Wrap any code rendering and triggering updates to your components into `act()` calls. - * - * Ensures that the behavior in your tests matches what happens in the browser - * more closely by executing pending `useEffect`s before returning. This also - * reduces the amount of re-renders done. - * - * @param callback A synchronous, void callback that will execute as a single, complete React commit. - * - * @see https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#testing-hooks - */ - // While act does always return Thenable, if a void function is passed, we pretend the return value is also void to not trigger dangling Promise lint rules. - export function act(callback: () => VoidOrUndefinedOnly): void; - export function act(callback: () => T | Promise): Promise; - - export function useId(): string; - - /** - * @param effect Imperative function that can return a cleanup function - * @param deps If present, effect will only activate if the values in the list change. - * - * @see {@link https://github.com/facebook/react/pull/21913} - */ - export function useInsertionEffect(effect: EffectCallback, deps?: DependencyList): void; - - /** - * @param subscribe - * @param getSnapshot - * - * @see {@link https://github.com/reactwg/react-18/discussions/86} - */ - // keep in sync with `useSyncExternalStore` from `use-sync-external-store` - export function useSyncExternalStore( - subscribe: (onStoreChange: () => void) => () => void, - getSnapshot: () => Snapshot, - getServerSnapshot?: () => Snapshot, - ): Snapshot; - - // - // Event System - // ---------------------------------------------------------------------- - // TODO: change any to unknown when moving to TS v3 - interface BaseSyntheticEvent { - nativeEvent: E; - currentTarget: C; - target: T; - bubbles: boolean; - cancelable: boolean; - defaultPrevented: boolean; - eventPhase: number; - isTrusted: boolean; - preventDefault(): void; - isDefaultPrevented(): boolean; - stopPropagation(): void; - isPropagationStopped(): boolean; - persist(): void; - timeStamp: number; - type: string; - } - - /** - * currentTarget - a reference to the element on which the event listener is registered. - * - * target - a reference to the element from which the event was originally dispatched. - * This might be a child element to the element on which the event listener is registered. - * If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11508#issuecomment-256045682 - */ - interface SyntheticEvent extends BaseSyntheticEvent {} - - interface ClipboardEvent extends SyntheticEvent { - clipboardData: DataTransfer; - } - - interface CompositionEvent extends SyntheticEvent { - data: string; - } - - interface DragEvent extends MouseEvent { - dataTransfer: DataTransfer; - } - - interface PointerEvent extends MouseEvent { - pointerId: number; - pressure: number; - tangentialPressure: number; - tiltX: number; - tiltY: number; - twist: number; - width: number; - height: number; - pointerType: "mouse" | "pen" | "touch"; - isPrimary: boolean; - } - - interface FocusEvent extends SyntheticEvent { - relatedTarget: (EventTarget & RelatedTarget) | null; - target: EventTarget & Target; - } - - interface FormEvent extends SyntheticEvent { - } - - interface InvalidEvent extends SyntheticEvent { - target: EventTarget & T; - } - - interface ChangeEvent extends SyntheticEvent { - target: EventTarget & T; - } - - export type ModifierKey = - | "Alt" - | "AltGraph" - | "CapsLock" - | "Control" - | "Fn" - | "FnLock" - | "Hyper" - | "Meta" - | "NumLock" - | "ScrollLock" - | "Shift" - | "Super" - | "Symbol" - | "SymbolLock"; - - interface KeyboardEvent extends UIEvent { - altKey: boolean; - /** @deprecated */ - charCode: number; - ctrlKey: boolean; - code: string; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: ModifierKey): boolean; - /** - * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values - */ - key: string; - /** @deprecated */ - keyCode: number; - locale: string; - location: number; - metaKey: boolean; - repeat: boolean; - shiftKey: boolean; - /** @deprecated */ - which: number; - } - - interface MouseEvent extends UIEvent { - altKey: boolean; - button: number; - buttons: number; - clientX: number; - clientY: number; - ctrlKey: boolean; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: ModifierKey): boolean; - metaKey: boolean; - movementX: number; - movementY: number; - pageX: number; - pageY: number; - relatedTarget: EventTarget | null; - screenX: number; - screenY: number; - shiftKey: boolean; - } - - interface TouchEvent extends UIEvent { - altKey: boolean; - changedTouches: TouchList; - ctrlKey: boolean; - /** - * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method. - */ - getModifierState(key: ModifierKey): boolean; - metaKey: boolean; - shiftKey: boolean; - targetTouches: TouchList; - touches: TouchList; - } - - interface UIEvent extends SyntheticEvent { - detail: number; - view: AbstractView; - } - - interface WheelEvent extends MouseEvent { - deltaMode: number; - deltaX: number; - deltaY: number; - deltaZ: number; - } - - interface AnimationEvent extends SyntheticEvent { - animationName: string; - elapsedTime: number; - pseudoElement: string; - } - - interface TransitionEvent extends SyntheticEvent { - elapsedTime: number; - propertyName: string; - pseudoElement: string; - } - - // - // Event Handler Types - // ---------------------------------------------------------------------- - - type EventHandler> = { bivarianceHack(event: E): void }["bivarianceHack"]; - - type ReactEventHandler = EventHandler>; - - type ClipboardEventHandler = EventHandler>; - type CompositionEventHandler = EventHandler>; - type DragEventHandler = EventHandler>; - type FocusEventHandler = EventHandler>; - type FormEventHandler = EventHandler>; - type ChangeEventHandler = EventHandler>; - type KeyboardEventHandler = EventHandler>; - type MouseEventHandler = EventHandler>; - type TouchEventHandler = EventHandler>; - type PointerEventHandler = EventHandler>; - type UIEventHandler = EventHandler>; - type WheelEventHandler = EventHandler>; - type AnimationEventHandler = EventHandler>; - type TransitionEventHandler = EventHandler>; - - // - // Props / DOM Attributes - // ---------------------------------------------------------------------- - - interface HTMLProps extends AllHTMLAttributes, ClassAttributes { - } - - type DetailedHTMLProps, T> = ClassAttributes & E; - - interface SVGProps extends SVGAttributes, ClassAttributes { - } - - interface SVGLineElementAttributes extends SVGProps {} - interface SVGTextElementAttributes extends SVGProps {} - - interface DOMAttributes { - children?: ReactNode | undefined; - dangerouslySetInnerHTML?: { - // Should be InnerHTML['innerHTML']. - // But unfortunately we're mixing renderer-specific type declarations. - __html: string | TrustedHTML; - } | undefined; - - // Clipboard Events - onCopy?: ClipboardEventHandler | undefined; - onCopyCapture?: ClipboardEventHandler | undefined; - onCut?: ClipboardEventHandler | undefined; - onCutCapture?: ClipboardEventHandler | undefined; - onPaste?: ClipboardEventHandler | undefined; - onPasteCapture?: ClipboardEventHandler | undefined; - - // Composition Events - onCompositionEnd?: CompositionEventHandler | undefined; - onCompositionEndCapture?: CompositionEventHandler | undefined; - onCompositionStart?: CompositionEventHandler | undefined; - onCompositionStartCapture?: CompositionEventHandler | undefined; - onCompositionUpdate?: CompositionEventHandler | undefined; - onCompositionUpdateCapture?: CompositionEventHandler | undefined; - - // Focus Events - onFocus?: FocusEventHandler | undefined; - onFocusCapture?: FocusEventHandler | undefined; - onBlur?: FocusEventHandler | undefined; - onBlurCapture?: FocusEventHandler | undefined; - - // Form Events - onChange?: FormEventHandler | undefined; - onChangeCapture?: FormEventHandler | undefined; - onBeforeInput?: FormEventHandler | undefined; - onBeforeInputCapture?: FormEventHandler | undefined; - onInput?: FormEventHandler | undefined; - onInputCapture?: FormEventHandler | undefined; - onReset?: FormEventHandler | undefined; - onResetCapture?: FormEventHandler | undefined; - onSubmit?: FormEventHandler | undefined; - onSubmitCapture?: FormEventHandler | undefined; - onInvalid?: FormEventHandler | undefined; - onInvalidCapture?: FormEventHandler | undefined; - - // Image Events - onLoad?: ReactEventHandler | undefined; - onLoadCapture?: ReactEventHandler | undefined; - onError?: ReactEventHandler | undefined; // also a Media Event - onErrorCapture?: ReactEventHandler | undefined; // also a Media Event - - // Keyboard Events - onKeyDown?: KeyboardEventHandler | undefined; - onKeyDownCapture?: KeyboardEventHandler | undefined; - /** @deprecated Use `onKeyUp` or `onKeyDown` instead */ - onKeyPress?: KeyboardEventHandler | undefined; - /** @deprecated Use `onKeyUpCapture` or `onKeyDownCapture` instead */ - onKeyPressCapture?: KeyboardEventHandler | undefined; - onKeyUp?: KeyboardEventHandler | undefined; - onKeyUpCapture?: KeyboardEventHandler | undefined; - - // Media Events - onAbort?: ReactEventHandler | undefined; - onAbortCapture?: ReactEventHandler | undefined; - onCanPlay?: ReactEventHandler | undefined; - onCanPlayCapture?: ReactEventHandler | undefined; - onCanPlayThrough?: ReactEventHandler | undefined; - onCanPlayThroughCapture?: ReactEventHandler | undefined; - onDurationChange?: ReactEventHandler | undefined; - onDurationChangeCapture?: ReactEventHandler | undefined; - onEmptied?: ReactEventHandler | undefined; - onEmptiedCapture?: ReactEventHandler | undefined; - onEncrypted?: ReactEventHandler | undefined; - onEncryptedCapture?: ReactEventHandler | undefined; - onEnded?: ReactEventHandler | undefined; - onEndedCapture?: ReactEventHandler | undefined; - onLoadedData?: ReactEventHandler | undefined; - onLoadedDataCapture?: ReactEventHandler | undefined; - onLoadedMetadata?: ReactEventHandler | undefined; - onLoadedMetadataCapture?: ReactEventHandler | undefined; - onLoadStart?: ReactEventHandler | undefined; - onLoadStartCapture?: ReactEventHandler | undefined; - onPause?: ReactEventHandler | undefined; - onPauseCapture?: ReactEventHandler | undefined; - onPlay?: ReactEventHandler | undefined; - onPlayCapture?: ReactEventHandler | undefined; - onPlaying?: ReactEventHandler | undefined; - onPlayingCapture?: ReactEventHandler | undefined; - onProgress?: ReactEventHandler | undefined; - onProgressCapture?: ReactEventHandler | undefined; - onRateChange?: ReactEventHandler | undefined; - onRateChangeCapture?: ReactEventHandler | undefined; - onResize?: ReactEventHandler | undefined; - onResizeCapture?: ReactEventHandler | undefined; - onSeeked?: ReactEventHandler | undefined; - onSeekedCapture?: ReactEventHandler | undefined; - onSeeking?: ReactEventHandler | undefined; - onSeekingCapture?: ReactEventHandler | undefined; - onStalled?: ReactEventHandler | undefined; - onStalledCapture?: ReactEventHandler | undefined; - onSuspend?: ReactEventHandler | undefined; - onSuspendCapture?: ReactEventHandler | undefined; - onTimeUpdate?: ReactEventHandler | undefined; - onTimeUpdateCapture?: ReactEventHandler | undefined; - onVolumeChange?: ReactEventHandler | undefined; - onVolumeChangeCapture?: ReactEventHandler | undefined; - onWaiting?: ReactEventHandler | undefined; - onWaitingCapture?: ReactEventHandler | undefined; - - // MouseEvents - onAuxClick?: MouseEventHandler | undefined; - onAuxClickCapture?: MouseEventHandler | undefined; - onClick?: MouseEventHandler | undefined; - onClickCapture?: MouseEventHandler | undefined; - onContextMenu?: MouseEventHandler | undefined; - onContextMenuCapture?: MouseEventHandler | undefined; - onDoubleClick?: MouseEventHandler | undefined; - onDoubleClickCapture?: MouseEventHandler | undefined; - onDrag?: DragEventHandler | undefined; - onDragCapture?: DragEventHandler | undefined; - onDragEnd?: DragEventHandler | undefined; - onDragEndCapture?: DragEventHandler | undefined; - onDragEnter?: DragEventHandler | undefined; - onDragEnterCapture?: DragEventHandler | undefined; - onDragExit?: DragEventHandler | undefined; - onDragExitCapture?: DragEventHandler | undefined; - onDragLeave?: DragEventHandler | undefined; - onDragLeaveCapture?: DragEventHandler | undefined; - onDragOver?: DragEventHandler | undefined; - onDragOverCapture?: DragEventHandler | undefined; - onDragStart?: DragEventHandler | undefined; - onDragStartCapture?: DragEventHandler | undefined; - onDrop?: DragEventHandler | undefined; - onDropCapture?: DragEventHandler | undefined; - onMouseDown?: MouseEventHandler | undefined; - onMouseDownCapture?: MouseEventHandler | undefined; - onMouseEnter?: MouseEventHandler | undefined; - onMouseLeave?: MouseEventHandler | undefined; - onMouseMove?: MouseEventHandler | undefined; - onMouseMoveCapture?: MouseEventHandler | undefined; - onMouseOut?: MouseEventHandler | undefined; - onMouseOutCapture?: MouseEventHandler | undefined; - onMouseOver?: MouseEventHandler | undefined; - onMouseOverCapture?: MouseEventHandler | undefined; - onMouseUp?: MouseEventHandler | undefined; - onMouseUpCapture?: MouseEventHandler | undefined; - - // Selection Events - onSelect?: ReactEventHandler | undefined; - onSelectCapture?: ReactEventHandler | undefined; - - // Touch Events - onTouchCancel?: TouchEventHandler | undefined; - onTouchCancelCapture?: TouchEventHandler | undefined; - onTouchEnd?: TouchEventHandler | undefined; - onTouchEndCapture?: TouchEventHandler | undefined; - onTouchMove?: TouchEventHandler | undefined; - onTouchMoveCapture?: TouchEventHandler | undefined; - onTouchStart?: TouchEventHandler | undefined; - onTouchStartCapture?: TouchEventHandler | undefined; - - // Pointer Events - onPointerDown?: PointerEventHandler | undefined; - onPointerDownCapture?: PointerEventHandler | undefined; - onPointerMove?: PointerEventHandler | undefined; - onPointerMoveCapture?: PointerEventHandler | undefined; - onPointerUp?: PointerEventHandler | undefined; - onPointerUpCapture?: PointerEventHandler | undefined; - onPointerCancel?: PointerEventHandler | undefined; - onPointerCancelCapture?: PointerEventHandler | undefined; - onPointerEnter?: PointerEventHandler | undefined; - onPointerLeave?: PointerEventHandler | undefined; - onPointerOver?: PointerEventHandler | undefined; - onPointerOverCapture?: PointerEventHandler | undefined; - onPointerOut?: PointerEventHandler | undefined; - onPointerOutCapture?: PointerEventHandler | undefined; - onGotPointerCapture?: PointerEventHandler | undefined; - onGotPointerCaptureCapture?: PointerEventHandler | undefined; - onLostPointerCapture?: PointerEventHandler | undefined; - onLostPointerCaptureCapture?: PointerEventHandler | undefined; - - // UI Events - onScroll?: UIEventHandler | undefined; - onScrollCapture?: UIEventHandler | undefined; - - // Wheel Events - onWheel?: WheelEventHandler | undefined; - onWheelCapture?: WheelEventHandler | undefined; - - // Animation Events - onAnimationStart?: AnimationEventHandler | undefined; - onAnimationStartCapture?: AnimationEventHandler | undefined; - onAnimationEnd?: AnimationEventHandler | undefined; - onAnimationEndCapture?: AnimationEventHandler | undefined; - onAnimationIteration?: AnimationEventHandler | undefined; - onAnimationIterationCapture?: AnimationEventHandler | undefined; - - // Transition Events - onTransitionEnd?: TransitionEventHandler | undefined; - onTransitionEndCapture?: TransitionEventHandler | undefined; - } - - export interface CSSProperties extends CSS.Properties { - /** - * The index signature was removed to enable closed typing for style - * using CSSType. You're able to use type assertion or module augmentation - * to add properties or an index signature of your own. - * - * For examples and more information, visit: - * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors - */ - } - - // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ - interface AriaAttributes { - /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ - "aria-activedescendant"?: string | undefined; - /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ - "aria-atomic"?: Booleanish | undefined; - /** - * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be - * presented if they are made. - */ - "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined; - /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ - /** - * Defines a string value that labels the current element, which is intended to be converted into Braille. - * @see aria-label. - */ - "aria-braillelabel"?: string | undefined; - /** - * Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille. - * @see aria-roledescription. - */ - "aria-brailleroledescription"?: string | undefined; - "aria-busy"?: Booleanish | undefined; - /** - * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. - * @see aria-pressed @see aria-selected. - */ - "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined; - /** - * Defines the total number of columns in a table, grid, or treegrid. - * @see aria-colindex. - */ - "aria-colcount"?: number | undefined; - /** - * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. - * @see aria-colcount @see aria-colspan. - */ - "aria-colindex"?: number | undefined; - /** - * Defines a human readable text alternative of aria-colindex. - * @see aria-rowindextext. - */ - "aria-colindextext"?: string | undefined; - /** - * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. - * @see aria-colindex @see aria-rowspan. - */ - "aria-colspan"?: number | undefined; - /** - * Identifies the element (or elements) whose contents or presence are controlled by the current element. - * @see aria-owns. - */ - "aria-controls"?: string | undefined; - /** Indicates the element that represents the current item within a container or set of related elements. */ - "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined; - /** - * Identifies the element (or elements) that describes the object. - * @see aria-labelledby - */ - "aria-describedby"?: string | undefined; - /** - * Defines a string value that describes or annotates the current element. - * @see related aria-describedby. - */ - "aria-description"?: string | undefined; - /** - * Identifies the element that provides a detailed, extended description for the object. - * @see aria-describedby. - */ - "aria-details"?: string | undefined; - /** - * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. - * @see aria-hidden @see aria-readonly. - */ - "aria-disabled"?: Booleanish | undefined; - /** - * Indicates what functions can be performed when a dragged object is released on the drop target. - * @deprecated in ARIA 1.1 - */ - "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined; - /** - * Identifies the element that provides an error message for the object. - * @see aria-invalid @see aria-describedby. - */ - "aria-errormessage"?: string | undefined; - /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ - "aria-expanded"?: Booleanish | undefined; - /** - * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, - * allows assistive technology to override the general default of reading in document source order. - */ - "aria-flowto"?: string | undefined; - /** - * Indicates an element's "grabbed" state in a drag-and-drop operation. - * @deprecated in ARIA 1.1 - */ - "aria-grabbed"?: Booleanish | undefined; - /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ - "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined; - /** - * Indicates whether the element is exposed to an accessibility API. - * @see aria-disabled. - */ - "aria-hidden"?: Booleanish | undefined; - /** - * Indicates the entered value does not conform to the format expected by the application. - * @see aria-errormessage. - */ - "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined; - /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ - "aria-keyshortcuts"?: string | undefined; - /** - * Defines a string value that labels the current element. - * @see aria-labelledby. - */ - "aria-label"?: string | undefined; - /** - * Identifies the element (or elements) that labels the current element. - * @see aria-describedby. - */ - "aria-labelledby"?: string | undefined; - /** Defines the hierarchical level of an element within a structure. */ - "aria-level"?: number | undefined; - /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ - "aria-live"?: "off" | "assertive" | "polite" | undefined; - /** Indicates whether an element is modal when displayed. */ - "aria-modal"?: Booleanish | undefined; - /** Indicates whether a text box accepts multiple lines of input or only a single line. */ - "aria-multiline"?: Booleanish | undefined; - /** Indicates that the user may select more than one item from the current selectable descendants. */ - "aria-multiselectable"?: Booleanish | undefined; - /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ - "aria-orientation"?: "horizontal" | "vertical" | undefined; - /** - * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship - * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. - * @see aria-controls. - */ - "aria-owns"?: string | undefined; - /** - * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. - * A hint could be a sample value or a brief description of the expected format. - */ - "aria-placeholder"?: string | undefined; - /** - * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. - * @see aria-setsize. - */ - "aria-posinset"?: number | undefined; - /** - * Indicates the current "pressed" state of toggle buttons. - * @see aria-checked @see aria-selected. - */ - "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined; - /** - * Indicates that the element is not editable, but is otherwise operable. - * @see aria-disabled. - */ - "aria-readonly"?: Booleanish | undefined; - /** - * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. - * @see aria-atomic. - */ - "aria-relevant"?: - | "additions" - | "additions removals" - | "additions text" - | "all" - | "removals" - | "removals additions" - | "removals text" - | "text" - | "text additions" - | "text removals" - | undefined; - /** Indicates that user input is required on the element before a form may be submitted. */ - "aria-required"?: Booleanish | undefined; - /** Defines a human-readable, author-localized description for the role of an element. */ - "aria-roledescription"?: string | undefined; - /** - * Defines the total number of rows in a table, grid, or treegrid. - * @see aria-rowindex. - */ - "aria-rowcount"?: number | undefined; - /** - * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. - * @see aria-rowcount @see aria-rowspan. - */ - "aria-rowindex"?: number | undefined; - /** - * Defines a human readable text alternative of aria-rowindex. - * @see aria-colindextext. - */ - "aria-rowindextext"?: string | undefined; - /** - * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. - * @see aria-rowindex @see aria-colspan. - */ - "aria-rowspan"?: number | undefined; - /** - * Indicates the current "selected" state of various widgets. - * @see aria-checked @see aria-pressed. - */ - "aria-selected"?: Booleanish | undefined; - /** - * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. - * @see aria-posinset. - */ - "aria-setsize"?: number | undefined; - /** Indicates if items in a table or grid are sorted in ascending or descending order. */ - "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined; - /** Defines the maximum allowed value for a range widget. */ - "aria-valuemax"?: number | undefined; - /** Defines the minimum allowed value for a range widget. */ - "aria-valuemin"?: number | undefined; - /** - * Defines the current value for a range widget. - * @see aria-valuetext. - */ - "aria-valuenow"?: number | undefined; - /** Defines the human readable text alternative of aria-valuenow for a range widget. */ - "aria-valuetext"?: string | undefined; - } - - // All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions - type AriaRole = - | "alert" - | "alertdialog" - | "application" - | "article" - | "banner" - | "button" - | "cell" - | "checkbox" - | "columnheader" - | "combobox" - | "complementary" - | "contentinfo" - | "definition" - | "dialog" - | "directory" - | "document" - | "feed" - | "figure" - | "form" - | "grid" - | "gridcell" - | "group" - | "heading" - | "img" - | "link" - | "list" - | "listbox" - | "listitem" - | "log" - | "main" - | "marquee" - | "math" - | "menu" - | "menubar" - | "menuitem" - | "menuitemcheckbox" - | "menuitemradio" - | "navigation" - | "none" - | "note" - | "option" - | "presentation" - | "progressbar" - | "radio" - | "radiogroup" - | "region" - | "row" - | "rowgroup" - | "rowheader" - | "scrollbar" - | "search" - | "searchbox" - | "separator" - | "slider" - | "spinbutton" - | "status" - | "switch" - | "tab" - | "table" - | "tablist" - | "tabpanel" - | "term" - | "textbox" - | "timer" - | "toolbar" - | "tooltip" - | "tree" - | "treegrid" - | "treeitem" - | (string & {}); - - interface HTMLAttributes extends AriaAttributes, DOMAttributes { - // React-specific Attributes - defaultChecked?: boolean | undefined; - defaultValue?: string | number | readonly string[] | undefined; - suppressContentEditableWarning?: boolean | undefined; - suppressHydrationWarning?: boolean | undefined; - - // Standard HTML Attributes - accessKey?: string | undefined; - autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}); - autoFocus?: boolean | undefined; - className?: string | undefined; - contentEditable?: Booleanish | "inherit" | "plaintext-only" | undefined; - contextMenu?: string | undefined; - dir?: string | undefined; - draggable?: Booleanish | undefined; - enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined; - hidden?: boolean | undefined; - id?: string | undefined; - lang?: string | undefined; - nonce?: string | undefined; - slot?: string | undefined; - spellCheck?: Booleanish | undefined; - style?: CSSProperties | undefined; - tabIndex?: number | undefined; - title?: string | undefined; - translate?: "yes" | "no" | undefined; - - // Unknown - radioGroup?: string | undefined; // , - - // WAI-ARIA - role?: AriaRole | undefined; - - // RDFa Attributes - about?: string | undefined; - content?: string | undefined; - datatype?: string | undefined; - inlist?: any; - prefix?: string | undefined; - property?: string | undefined; - rel?: string | undefined; - resource?: string | undefined; - rev?: string | undefined; - typeof?: string | undefined; - vocab?: string | undefined; - - // Non-standard Attributes - autoCorrect?: string | undefined; - autoSave?: string | undefined; - color?: string | undefined; - itemProp?: string | undefined; - itemScope?: boolean | undefined; - itemType?: string | undefined; - itemID?: string | undefined; - itemRef?: string | undefined; - results?: number | undefined; - security?: string | undefined; - unselectable?: "on" | "off" | undefined; - - // Living Standard - /** - * Hints at the type of data that might be entered by the user while editing the element or its contents - * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute} - */ - inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined; - /** - * Specify that a standard HTML element should behave like a defined custom built-in element - * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is} - */ - is?: string | undefined; - } - - /** - * For internal usage only. - * Different release channels declare additional types of ReactNode this particular release channel accepts. - * App or library types should never augment this interface. - */ - interface DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS {} - - interface AllHTMLAttributes extends HTMLAttributes { - // Standard HTML Attributes - accept?: string | undefined; - acceptCharset?: string | undefined; - action?: - | string - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ]; - allowFullScreen?: boolean | undefined; - allowTransparency?: boolean | undefined; - alt?: string | undefined; - as?: string | undefined; - async?: boolean | undefined; - autoComplete?: string | undefined; - autoPlay?: boolean | undefined; - capture?: boolean | "user" | "environment" | undefined; - cellPadding?: number | string | undefined; - cellSpacing?: number | string | undefined; - charSet?: string | undefined; - challenge?: string | undefined; - checked?: boolean | undefined; - cite?: string | undefined; - classID?: string | undefined; - cols?: number | undefined; - colSpan?: number | undefined; - controls?: boolean | undefined; - coords?: string | undefined; - crossOrigin?: CrossOrigin; - data?: string | undefined; - dateTime?: string | undefined; - default?: boolean | undefined; - defer?: boolean | undefined; - disabled?: boolean | undefined; - download?: any; - encType?: string | undefined; - form?: string | undefined; - formAction?: - | string - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ]; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - frameBorder?: number | string | undefined; - headers?: string | undefined; - height?: number | string | undefined; - high?: number | undefined; - href?: string | undefined; - hrefLang?: string | undefined; - htmlFor?: string | undefined; - httpEquiv?: string | undefined; - integrity?: string | undefined; - keyParams?: string | undefined; - keyType?: string | undefined; - kind?: string | undefined; - label?: string | undefined; - list?: string | undefined; - loop?: boolean | undefined; - low?: number | undefined; - manifest?: string | undefined; - marginHeight?: number | undefined; - marginWidth?: number | undefined; - max?: number | string | undefined; - maxLength?: number | undefined; - media?: string | undefined; - mediaGroup?: string | undefined; - method?: string | undefined; - min?: number | string | undefined; - minLength?: number | undefined; - multiple?: boolean | undefined; - muted?: boolean | undefined; - name?: string | undefined; - noValidate?: boolean | undefined; - open?: boolean | undefined; - optimum?: number | undefined; - pattern?: string | undefined; - placeholder?: string | undefined; - playsInline?: boolean | undefined; - poster?: string | undefined; - preload?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - reversed?: boolean | undefined; - rows?: number | undefined; - rowSpan?: number | undefined; - sandbox?: string | undefined; - scope?: string | undefined; - scoped?: boolean | undefined; - scrolling?: string | undefined; - seamless?: boolean | undefined; - selected?: boolean | undefined; - shape?: string | undefined; - size?: number | undefined; - sizes?: string | undefined; - span?: number | undefined; - src?: string | undefined; - srcDoc?: string | undefined; - srcLang?: string | undefined; - srcSet?: string | undefined; - start?: number | undefined; - step?: number | string | undefined; - summary?: string | undefined; - target?: string | undefined; - type?: string | undefined; - useMap?: string | undefined; - value?: string | readonly string[] | number | undefined; - width?: number | string | undefined; - wmode?: string | undefined; - wrap?: string | undefined; - } - - type HTMLAttributeReferrerPolicy = - | "" - | "no-referrer" - | "no-referrer-when-downgrade" - | "origin" - | "origin-when-cross-origin" - | "same-origin" - | "strict-origin" - | "strict-origin-when-cross-origin" - | "unsafe-url"; - - type HTMLAttributeAnchorTarget = - | "_self" - | "_blank" - | "_parent" - | "_top" - | (string & {}); - - interface AnchorHTMLAttributes extends HTMLAttributes { - download?: any; - href?: string | undefined; - hrefLang?: string | undefined; - media?: string | undefined; - ping?: string | undefined; - target?: HTMLAttributeAnchorTarget | undefined; - type?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - } - - interface AudioHTMLAttributes extends MediaHTMLAttributes {} - - interface AreaHTMLAttributes extends HTMLAttributes { - alt?: string | undefined; - coords?: string | undefined; - download?: any; - href?: string | undefined; - hrefLang?: string | undefined; - media?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - shape?: string | undefined; - target?: string | undefined; - } - - interface BaseHTMLAttributes extends HTMLAttributes { - href?: string | undefined; - target?: string | undefined; - } - - interface BlockquoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - } - - interface ButtonHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - form?: string | undefined; - formAction?: - | string - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ] - | undefined; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - name?: string | undefined; - type?: "submit" | "reset" | "button" | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface CanvasHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - width?: number | string | undefined; - } - - interface ColHTMLAttributes extends HTMLAttributes { - span?: number | undefined; - width?: number | string | undefined; - } - - interface ColgroupHTMLAttributes extends HTMLAttributes { - span?: number | undefined; - } - - interface DataHTMLAttributes extends HTMLAttributes { - value?: string | readonly string[] | number | undefined; - } - - interface DetailsHTMLAttributes extends HTMLAttributes { - open?: boolean | undefined; - onToggle?: ReactEventHandler | undefined; - name?: string | undefined; - } - - interface DelHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - dateTime?: string | undefined; - } - - interface DialogHTMLAttributes extends HTMLAttributes { - onCancel?: ReactEventHandler | undefined; - onClose?: ReactEventHandler | undefined; - open?: boolean | undefined; - } - - interface EmbedHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - src?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - } - - interface FieldsetHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - form?: string | undefined; - name?: string | undefined; - } - - interface FormHTMLAttributes extends HTMLAttributes { - acceptCharset?: string | undefined; - action?: - | string - | undefined - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ]; - autoComplete?: string | undefined; - encType?: string | undefined; - method?: string | undefined; - name?: string | undefined; - noValidate?: boolean | undefined; - target?: string | undefined; - } - - interface HtmlHTMLAttributes extends HTMLAttributes { - manifest?: string | undefined; - } - - interface IframeHTMLAttributes extends HTMLAttributes { - allow?: string | undefined; - allowFullScreen?: boolean | undefined; - allowTransparency?: boolean | undefined; - /** @deprecated */ - frameBorder?: number | string | undefined; - height?: number | string | undefined; - loading?: "eager" | "lazy" | undefined; - /** @deprecated */ - marginHeight?: number | undefined; - /** @deprecated */ - marginWidth?: number | undefined; - name?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - sandbox?: string | undefined; - /** @deprecated */ - scrolling?: string | undefined; - seamless?: boolean | undefined; - src?: string | undefined; - srcDoc?: string | undefined; - width?: number | string | undefined; - } - - interface ImgHTMLAttributes extends HTMLAttributes { - alt?: string | undefined; - crossOrigin?: CrossOrigin; - decoding?: "async" | "auto" | "sync" | undefined; - fetchPriority?: "high" | "low" | "auto"; - height?: number | string | undefined; - loading?: "eager" | "lazy" | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - sizes?: string | undefined; - src?: string | undefined; - srcSet?: string | undefined; - useMap?: string | undefined; - width?: number | string | undefined; - } - - interface InsHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - dateTime?: string | undefined; - } - - type HTMLInputTypeAttribute = - | "button" - | "checkbox" - | "color" - | "date" - | "datetime-local" - | "email" - | "file" - | "hidden" - | "image" - | "month" - | "number" - | "password" - | "radio" - | "range" - | "reset" - | "search" - | "submit" - | "tel" - | "text" - | "time" - | "url" - | "week" - | (string & {}); - - type AutoFillAddressKind = "billing" | "shipping"; - type AutoFillBase = "" | "off" | "on"; - type AutoFillContactField = - | "email" - | "tel" - | "tel-area-code" - | "tel-country-code" - | "tel-extension" - | "tel-local" - | "tel-local-prefix" - | "tel-local-suffix" - | "tel-national"; - type AutoFillContactKind = "home" | "mobile" | "work"; - type AutoFillCredentialField = "webauthn"; - type AutoFillNormalField = - | "additional-name" - | "address-level1" - | "address-level2" - | "address-level3" - | "address-level4" - | "address-line1" - | "address-line2" - | "address-line3" - | "bday-day" - | "bday-month" - | "bday-year" - | "cc-csc" - | "cc-exp" - | "cc-exp-month" - | "cc-exp-year" - | "cc-family-name" - | "cc-given-name" - | "cc-name" - | "cc-number" - | "cc-type" - | "country" - | "country-name" - | "current-password" - | "family-name" - | "given-name" - | "honorific-prefix" - | "honorific-suffix" - | "name" - | "new-password" - | "one-time-code" - | "organization" - | "postal-code" - | "street-address" - | "transaction-amount" - | "transaction-currency" - | "username"; - type OptionalPrefixToken = `${T} ` | ""; - type OptionalPostfixToken = ` ${T}` | ""; - type AutoFillField = AutoFillNormalField | `${OptionalPrefixToken}${AutoFillContactField}`; - type AutoFillSection = `section-${string}`; - type AutoFill = - | AutoFillBase - | `${OptionalPrefixToken}${OptionalPrefixToken< - AutoFillAddressKind - >}${AutoFillField}${OptionalPostfixToken}`; - type HTMLInputAutoCompleteAttribute = AutoFill | (string & {}); - - interface InputHTMLAttributes extends HTMLAttributes { - accept?: string | undefined; - alt?: string | undefined; - autoComplete?: HTMLInputAutoCompleteAttribute | undefined; - capture?: boolean | "user" | "environment" | undefined; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute - checked?: boolean | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - formAction?: - | string - | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS[ - keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_FORM_ACTIONS - ] - | undefined; - formEncType?: string | undefined; - formMethod?: string | undefined; - formNoValidate?: boolean | undefined; - formTarget?: string | undefined; - height?: number | string | undefined; - list?: string | undefined; - max?: number | string | undefined; - maxLength?: number | undefined; - min?: number | string | undefined; - minLength?: number | undefined; - multiple?: boolean | undefined; - name?: string | undefined; - pattern?: string | undefined; - placeholder?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - size?: number | undefined; - src?: string | undefined; - step?: number | string | undefined; - type?: HTMLInputTypeAttribute | undefined; - value?: string | readonly string[] | number | undefined; - width?: number | string | undefined; - - onChange?: ChangeEventHandler | undefined; - } - - interface KeygenHTMLAttributes extends HTMLAttributes { - challenge?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - keyType?: string | undefined; - keyParams?: string | undefined; - name?: string | undefined; - } - - interface LabelHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - htmlFor?: string | undefined; - } - - interface LiHTMLAttributes extends HTMLAttributes { - value?: string | readonly string[] | number | undefined; - } - - interface LinkHTMLAttributes extends HTMLAttributes { - as?: string | undefined; - crossOrigin?: CrossOrigin; - fetchPriority?: "high" | "low" | "auto"; - href?: string | undefined; - hrefLang?: string | undefined; - integrity?: string | undefined; - media?: string | undefined; - imageSrcSet?: string | undefined; - imageSizes?: string | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - sizes?: string | undefined; - type?: string | undefined; - charSet?: string | undefined; - } - - interface MapHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - } - - interface MenuHTMLAttributes extends HTMLAttributes { - type?: string | undefined; - } - - interface MediaHTMLAttributes extends HTMLAttributes { - autoPlay?: boolean | undefined; - controls?: boolean | undefined; - controlsList?: string | undefined; - crossOrigin?: CrossOrigin; - loop?: boolean | undefined; - mediaGroup?: string | undefined; - muted?: boolean | undefined; - playsInline?: boolean | undefined; - preload?: string | undefined; - src?: string | undefined; - } - - interface MetaHTMLAttributes extends HTMLAttributes { - charSet?: string | undefined; - content?: string | undefined; - httpEquiv?: string | undefined; - media?: string | undefined; - name?: string | undefined; - } - - interface MeterHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - high?: number | undefined; - low?: number | undefined; - max?: number | string | undefined; - min?: number | string | undefined; - optimum?: number | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface QuoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined; - } - - interface ObjectHTMLAttributes extends HTMLAttributes { - classID?: string | undefined; - data?: string | undefined; - form?: string | undefined; - height?: number | string | undefined; - name?: string | undefined; - type?: string | undefined; - useMap?: string | undefined; - width?: number | string | undefined; - wmode?: string | undefined; - } - - interface OlHTMLAttributes extends HTMLAttributes { - reversed?: boolean | undefined; - start?: number | undefined; - type?: "1" | "a" | "A" | "i" | "I" | undefined; - } - - interface OptgroupHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - label?: string | undefined; - } - - interface OptionHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; - label?: string | undefined; - selected?: boolean | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface OutputHTMLAttributes extends HTMLAttributes { - form?: string | undefined; - htmlFor?: string | undefined; - name?: string | undefined; - } - - interface ParamHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface ProgressHTMLAttributes extends HTMLAttributes { - max?: number | string | undefined; - value?: string | readonly string[] | number | undefined; - } - - interface SlotHTMLAttributes extends HTMLAttributes { - name?: string | undefined; - } - - interface ScriptHTMLAttributes extends HTMLAttributes { - async?: boolean | undefined; - /** @deprecated */ - charSet?: string | undefined; - crossOrigin?: CrossOrigin; - defer?: boolean | undefined; - integrity?: string | undefined; - noModule?: boolean | undefined; - referrerPolicy?: HTMLAttributeReferrerPolicy | undefined; - src?: string | undefined; - type?: string | undefined; - } - - interface SelectHTMLAttributes extends HTMLAttributes { - autoComplete?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - multiple?: boolean | undefined; - name?: string | undefined; - required?: boolean | undefined; - size?: number | undefined; - value?: string | readonly string[] | number | undefined; - onChange?: ChangeEventHandler | undefined; - } - - interface SourceHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined; - media?: string | undefined; - sizes?: string | undefined; - src?: string | undefined; - srcSet?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - } - - interface StyleHTMLAttributes extends HTMLAttributes { - media?: string | undefined; - scoped?: boolean | undefined; - type?: string | undefined; - } - - interface TableHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | undefined; - bgcolor?: string | undefined; - border?: number | undefined; - cellPadding?: number | string | undefined; - cellSpacing?: number | string | undefined; - frame?: boolean | undefined; - rules?: "none" | "groups" | "rows" | "columns" | "all" | undefined; - summary?: string | undefined; - width?: number | string | undefined; - } - - interface TextareaHTMLAttributes extends HTMLAttributes { - autoComplete?: string | undefined; - cols?: number | undefined; - dirName?: string | undefined; - disabled?: boolean | undefined; - form?: string | undefined; - maxLength?: number | undefined; - minLength?: number | undefined; - name?: string | undefined; - placeholder?: string | undefined; - readOnly?: boolean | undefined; - required?: boolean | undefined; - rows?: number | undefined; - value?: string | readonly string[] | number | undefined; - wrap?: string | undefined; - - onChange?: ChangeEventHandler | undefined; - } - - interface TdHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined; - colSpan?: number | undefined; - headers?: string | undefined; - rowSpan?: number | undefined; - scope?: string | undefined; - abbr?: string | undefined; - height?: number | string | undefined; - width?: number | string | undefined; - valign?: "top" | "middle" | "bottom" | "baseline" | undefined; - } - - interface ThHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined; - colSpan?: number | undefined; - headers?: string | undefined; - rowSpan?: number | undefined; - scope?: string | undefined; - abbr?: string | undefined; - } - - interface TimeHTMLAttributes extends HTMLAttributes { - dateTime?: string | undefined; - } - - interface TrackHTMLAttributes extends HTMLAttributes { - default?: boolean | undefined; - kind?: string | undefined; - label?: string | undefined; - src?: string | undefined; - srcLang?: string | undefined; - } - - interface VideoHTMLAttributes extends MediaHTMLAttributes { - height?: number | string | undefined; - playsInline?: boolean | undefined; - poster?: string | undefined; - width?: number | string | undefined; - disablePictureInPicture?: boolean | undefined; - disableRemotePlayback?: boolean | undefined; - } - - // this list is "complete" in that it contains every SVG attribute - // that React supports, but the types can be improved. - // Full list here: https://facebook.github.io/react/docs/dom-elements.html - // - // The three broad type categories are (in order of restrictiveness): - // - "number | string" - // - "string" - // - union of string literals - interface SVGAttributes extends AriaAttributes, DOMAttributes { - // React-specific Attributes - suppressHydrationWarning?: boolean | undefined; - - // Attributes which also defined in HTMLAttributes - // See comment in SVGDOMPropertyConfig.js - className?: string | undefined; - color?: string | undefined; - height?: number | string | undefined; - id?: string | undefined; - lang?: string | undefined; - max?: number | string | undefined; - media?: string | undefined; - method?: string | undefined; - min?: number | string | undefined; - name?: string | undefined; - style?: CSSProperties | undefined; - target?: string | undefined; - type?: string | undefined; - width?: number | string | undefined; - - // Other HTML properties supported by SVG elements in browsers - role?: AriaRole | undefined; - tabIndex?: number | undefined; - crossOrigin?: CrossOrigin; - - // SVG Specific attributes - accentHeight?: number | string | undefined; - accumulate?: "none" | "sum" | undefined; - additive?: "replace" | "sum" | undefined; - alignmentBaseline?: - | "auto" - | "baseline" - | "before-edge" - | "text-before-edge" - | "middle" - | "central" - | "after-edge" - | "text-after-edge" - | "ideographic" - | "alphabetic" - | "hanging" - | "mathematical" - | "inherit" - | undefined; - allowReorder?: "no" | "yes" | undefined; - alphabetic?: number | string | undefined; - amplitude?: number | string | undefined; - arabicForm?: "initial" | "medial" | "terminal" | "isolated" | undefined; - ascent?: number | string | undefined; - attributeName?: string | undefined; - attributeType?: string | undefined; - autoReverse?: Booleanish | undefined; - azimuth?: number | string | undefined; - baseFrequency?: number | string | undefined; - baselineShift?: number | string | undefined; - baseProfile?: number | string | undefined; - bbox?: number | string | undefined; - begin?: number | string | undefined; - bias?: number | string | undefined; - by?: number | string | undefined; - calcMode?: number | string | undefined; - capHeight?: number | string | undefined; - clip?: number | string | undefined; - clipPath?: string | undefined; - clipPathUnits?: number | string | undefined; - clipRule?: number | string | undefined; - colorInterpolation?: number | string | undefined; - colorInterpolationFilters?: "auto" | "sRGB" | "linearRGB" | "inherit" | undefined; - colorProfile?: number | string | undefined; - colorRendering?: number | string | undefined; - contentScriptType?: number | string | undefined; - contentStyleType?: number | string | undefined; - cursor?: number | string | undefined; - cx?: number | string | undefined; - cy?: number | string | undefined; - d?: string | undefined; - decelerate?: number | string | undefined; - descent?: number | string | undefined; - diffuseConstant?: number | string | undefined; - direction?: number | string | undefined; - display?: number | string | undefined; - divisor?: number | string | undefined; - dominantBaseline?: number | string | undefined; - dur?: number | string | undefined; - dx?: number | string | undefined; - dy?: number | string | undefined; - edgeMode?: number | string | undefined; - elevation?: number | string | undefined; - enableBackground?: number | string | undefined; - end?: number | string | undefined; - exponent?: number | string | undefined; - externalResourcesRequired?: Booleanish | undefined; - fill?: string | undefined; - fillOpacity?: number | string | undefined; - fillRule?: "nonzero" | "evenodd" | "inherit" | undefined; - filter?: string | undefined; - filterRes?: number | string | undefined; - filterUnits?: number | string | undefined; - floodColor?: number | string | undefined; - floodOpacity?: number | string | undefined; - focusable?: Booleanish | "auto" | undefined; - fontFamily?: string | undefined; - fontSize?: number | string | undefined; - fontSizeAdjust?: number | string | undefined; - fontStretch?: number | string | undefined; - fontStyle?: number | string | undefined; - fontVariant?: number | string | undefined; - fontWeight?: number | string | undefined; - format?: number | string | undefined; - fr?: number | string | undefined; - from?: number | string | undefined; - fx?: number | string | undefined; - fy?: number | string | undefined; - g1?: number | string | undefined; - g2?: number | string | undefined; - glyphName?: number | string | undefined; - glyphOrientationHorizontal?: number | string | undefined; - glyphOrientationVertical?: number | string | undefined; - glyphRef?: number | string | undefined; - gradientTransform?: string | undefined; - gradientUnits?: string | undefined; - hanging?: number | string | undefined; - horizAdvX?: number | string | undefined; - horizOriginX?: number | string | undefined; - href?: string | undefined; - ideographic?: number | string | undefined; - imageRendering?: number | string | undefined; - in2?: number | string | undefined; - in?: string | undefined; - intercept?: number | string | undefined; - k1?: number | string | undefined; - k2?: number | string | undefined; - k3?: number | string | undefined; - k4?: number | string | undefined; - k?: number | string | undefined; - kernelMatrix?: number | string | undefined; - kernelUnitLength?: number | string | undefined; - kerning?: number | string | undefined; - keyPoints?: number | string | undefined; - keySplines?: number | string | undefined; - keyTimes?: number | string | undefined; - lengthAdjust?: number | string | undefined; - letterSpacing?: number | string | undefined; - lightingColor?: number | string | undefined; - limitingConeAngle?: number | string | undefined; - local?: number | string | undefined; - markerEnd?: string | undefined; - markerHeight?: number | string | undefined; - markerMid?: string | undefined; - markerStart?: string | undefined; - markerUnits?: number | string | undefined; - markerWidth?: number | string | undefined; - mask?: string | undefined; - maskContentUnits?: number | string | undefined; - maskUnits?: number | string | undefined; - mathematical?: number | string | undefined; - mode?: number | string | undefined; - numOctaves?: number | string | undefined; - offset?: number | string | undefined; - opacity?: number | string | undefined; - operator?: number | string | undefined; - order?: number | string | undefined; - orient?: number | string | undefined; - orientation?: number | string | undefined; - origin?: number | string | undefined; - overflow?: number | string | undefined; - overlinePosition?: number | string | undefined; - overlineThickness?: number | string | undefined; - paintOrder?: number | string | undefined; - panose1?: number | string | undefined; - path?: string | undefined; - pathLength?: number | string | undefined; - patternContentUnits?: string | undefined; - patternTransform?: number | string | undefined; - patternUnits?: string | undefined; - pointerEvents?: number | string | undefined; - points?: string | undefined; - pointsAtX?: number | string | undefined; - pointsAtY?: number | string | undefined; - pointsAtZ?: number | string | undefined; - preserveAlpha?: Booleanish | undefined; - preserveAspectRatio?: string | undefined; - primitiveUnits?: number | string | undefined; - r?: number | string | undefined; - radius?: number | string | undefined; - refX?: number | string | undefined; - refY?: number | string | undefined; - renderingIntent?: number | string | undefined; - repeatCount?: number | string | undefined; - repeatDur?: number | string | undefined; - requiredExtensions?: number | string | undefined; - requiredFeatures?: number | string | undefined; - restart?: number | string | undefined; - result?: string | undefined; - rotate?: number | string | undefined; - rx?: number | string | undefined; - ry?: number | string | undefined; - scale?: number | string | undefined; - seed?: number | string | undefined; - shapeRendering?: number | string | undefined; - slope?: number | string | undefined; - spacing?: number | string | undefined; - specularConstant?: number | string | undefined; - specularExponent?: number | string | undefined; - speed?: number | string | undefined; - spreadMethod?: string | undefined; - startOffset?: number | string | undefined; - stdDeviation?: number | string | undefined; - stemh?: number | string | undefined; - stemv?: number | string | undefined; - stitchTiles?: number | string | undefined; - stopColor?: string | undefined; - stopOpacity?: number | string | undefined; - strikethroughPosition?: number | string | undefined; - strikethroughThickness?: number | string | undefined; - string?: number | string | undefined; - stroke?: string | undefined; - strokeDasharray?: string | number | undefined; - strokeDashoffset?: string | number | undefined; - strokeLinecap?: "butt" | "round" | "square" | "inherit" | undefined; - strokeLinejoin?: "miter" | "round" | "bevel" | "inherit" | undefined; - strokeMiterlimit?: number | string | undefined; - strokeOpacity?: number | string | undefined; - strokeWidth?: number | string | undefined; - surfaceScale?: number | string | undefined; - systemLanguage?: number | string | undefined; - tableValues?: number | string | undefined; - targetX?: number | string | undefined; - targetY?: number | string | undefined; - textAnchor?: string | undefined; - textDecoration?: number | string | undefined; - textLength?: number | string | undefined; - textRendering?: number | string | undefined; - to?: number | string | undefined; - transform?: string | undefined; - u1?: number | string | undefined; - u2?: number | string | undefined; - underlinePosition?: number | string | undefined; - underlineThickness?: number | string | undefined; - unicode?: number | string | undefined; - unicodeBidi?: number | string | undefined; - unicodeRange?: number | string | undefined; - unitsPerEm?: number | string | undefined; - vAlphabetic?: number | string | undefined; - values?: string | undefined; - vectorEffect?: number | string | undefined; - version?: string | undefined; - vertAdvY?: number | string | undefined; - vertOriginX?: number | string | undefined; - vertOriginY?: number | string | undefined; - vHanging?: number | string | undefined; - vIdeographic?: number | string | undefined; - viewBox?: string | undefined; - viewTarget?: number | string | undefined; - visibility?: number | string | undefined; - vMathematical?: number | string | undefined; - widths?: number | string | undefined; - wordSpacing?: number | string | undefined; - writingMode?: number | string | undefined; - x1?: number | string | undefined; - x2?: number | string | undefined; - x?: number | string | undefined; - xChannelSelector?: string | undefined; - xHeight?: number | string | undefined; - xlinkActuate?: string | undefined; - xlinkArcrole?: string | undefined; - xlinkHref?: string | undefined; - xlinkRole?: string | undefined; - xlinkShow?: string | undefined; - xlinkTitle?: string | undefined; - xlinkType?: string | undefined; - xmlBase?: string | undefined; - xmlLang?: string | undefined; - xmlns?: string | undefined; - xmlnsXlink?: string | undefined; - xmlSpace?: string | undefined; - y1?: number | string | undefined; - y2?: number | string | undefined; - y?: number | string | undefined; - yChannelSelector?: string | undefined; - z?: number | string | undefined; - zoomAndPan?: string | undefined; - } - - interface WebViewHTMLAttributes extends HTMLAttributes { - allowFullScreen?: boolean | undefined; - allowpopups?: boolean | undefined; - autosize?: boolean | undefined; - blinkfeatures?: string | undefined; - disableblinkfeatures?: string | undefined; - disableguestresize?: boolean | undefined; - disablewebsecurity?: boolean | undefined; - guestinstance?: string | undefined; - httpreferrer?: string | undefined; - nodeintegration?: boolean | undefined; - partition?: string | undefined; - plugins?: boolean | undefined; - preload?: string | undefined; - src?: string | undefined; - useragent?: string | undefined; - webpreferences?: string | undefined; - } - - // - // React.DOM - // ---------------------------------------------------------------------- - - interface ReactHTML { - a: DetailedHTMLFactory, HTMLAnchorElement>; - abbr: DetailedHTMLFactory, HTMLElement>; - address: DetailedHTMLFactory, HTMLElement>; - area: DetailedHTMLFactory, HTMLAreaElement>; - article: DetailedHTMLFactory, HTMLElement>; - aside: DetailedHTMLFactory, HTMLElement>; - audio: DetailedHTMLFactory, HTMLAudioElement>; - b: DetailedHTMLFactory, HTMLElement>; - base: DetailedHTMLFactory, HTMLBaseElement>; - bdi: DetailedHTMLFactory, HTMLElement>; - bdo: DetailedHTMLFactory, HTMLElement>; - big: DetailedHTMLFactory, HTMLElement>; - blockquote: DetailedHTMLFactory, HTMLQuoteElement>; - body: DetailedHTMLFactory, HTMLBodyElement>; - br: DetailedHTMLFactory, HTMLBRElement>; - button: DetailedHTMLFactory, HTMLButtonElement>; - canvas: DetailedHTMLFactory, HTMLCanvasElement>; - caption: DetailedHTMLFactory, HTMLElement>; - center: DetailedHTMLFactory, HTMLElement>; - cite: DetailedHTMLFactory, HTMLElement>; - code: DetailedHTMLFactory, HTMLElement>; - col: DetailedHTMLFactory, HTMLTableColElement>; - colgroup: DetailedHTMLFactory, HTMLTableColElement>; - data: DetailedHTMLFactory, HTMLDataElement>; - datalist: DetailedHTMLFactory, HTMLDataListElement>; - dd: DetailedHTMLFactory, HTMLElement>; - del: DetailedHTMLFactory, HTMLModElement>; - details: DetailedHTMLFactory, HTMLDetailsElement>; - dfn: DetailedHTMLFactory, HTMLElement>; - dialog: DetailedHTMLFactory, HTMLDialogElement>; - div: DetailedHTMLFactory, HTMLDivElement>; - dl: DetailedHTMLFactory, HTMLDListElement>; - dt: DetailedHTMLFactory, HTMLElement>; - em: DetailedHTMLFactory, HTMLElement>; - embed: DetailedHTMLFactory, HTMLEmbedElement>; - fieldset: DetailedHTMLFactory, HTMLFieldSetElement>; - figcaption: DetailedHTMLFactory, HTMLElement>; - figure: DetailedHTMLFactory, HTMLElement>; - footer: DetailedHTMLFactory, HTMLElement>; - form: DetailedHTMLFactory, HTMLFormElement>; - h1: DetailedHTMLFactory, HTMLHeadingElement>; - h2: DetailedHTMLFactory, HTMLHeadingElement>; - h3: DetailedHTMLFactory, HTMLHeadingElement>; - h4: DetailedHTMLFactory, HTMLHeadingElement>; - h5: DetailedHTMLFactory, HTMLHeadingElement>; - h6: DetailedHTMLFactory, HTMLHeadingElement>; - head: DetailedHTMLFactory, HTMLHeadElement>; - header: DetailedHTMLFactory, HTMLElement>; - hgroup: DetailedHTMLFactory, HTMLElement>; - hr: DetailedHTMLFactory, HTMLHRElement>; - html: DetailedHTMLFactory, HTMLHtmlElement>; - i: DetailedHTMLFactory, HTMLElement>; - iframe: DetailedHTMLFactory, HTMLIFrameElement>; - img: DetailedHTMLFactory, HTMLImageElement>; - input: DetailedHTMLFactory, HTMLInputElement>; - ins: DetailedHTMLFactory, HTMLModElement>; - kbd: DetailedHTMLFactory, HTMLElement>; - keygen: DetailedHTMLFactory, HTMLElement>; - label: DetailedHTMLFactory, HTMLLabelElement>; - legend: DetailedHTMLFactory, HTMLLegendElement>; - li: DetailedHTMLFactory, HTMLLIElement>; - link: DetailedHTMLFactory, HTMLLinkElement>; - main: DetailedHTMLFactory, HTMLElement>; - map: DetailedHTMLFactory, HTMLMapElement>; - mark: DetailedHTMLFactory, HTMLElement>; - menu: DetailedHTMLFactory, HTMLElement>; - menuitem: DetailedHTMLFactory, HTMLElement>; - meta: DetailedHTMLFactory, HTMLMetaElement>; - meter: DetailedHTMLFactory, HTMLMeterElement>; - nav: DetailedHTMLFactory, HTMLElement>; - noscript: DetailedHTMLFactory, HTMLElement>; - object: DetailedHTMLFactory, HTMLObjectElement>; - ol: DetailedHTMLFactory, HTMLOListElement>; - optgroup: DetailedHTMLFactory, HTMLOptGroupElement>; - option: DetailedHTMLFactory, HTMLOptionElement>; - output: DetailedHTMLFactory, HTMLOutputElement>; - p: DetailedHTMLFactory, HTMLParagraphElement>; - param: DetailedHTMLFactory, HTMLParamElement>; - picture: DetailedHTMLFactory, HTMLElement>; - pre: DetailedHTMLFactory, HTMLPreElement>; - progress: DetailedHTMLFactory, HTMLProgressElement>; - q: DetailedHTMLFactory, HTMLQuoteElement>; - rp: DetailedHTMLFactory, HTMLElement>; - rt: DetailedHTMLFactory, HTMLElement>; - ruby: DetailedHTMLFactory, HTMLElement>; - s: DetailedHTMLFactory, HTMLElement>; - samp: DetailedHTMLFactory, HTMLElement>; - search: DetailedHTMLFactory, HTMLElement>; - slot: DetailedHTMLFactory, HTMLSlotElement>; - script: DetailedHTMLFactory, HTMLScriptElement>; - section: DetailedHTMLFactory, HTMLElement>; - select: DetailedHTMLFactory, HTMLSelectElement>; - small: DetailedHTMLFactory, HTMLElement>; - source: DetailedHTMLFactory, HTMLSourceElement>; - span: DetailedHTMLFactory, HTMLSpanElement>; - strong: DetailedHTMLFactory, HTMLElement>; - style: DetailedHTMLFactory, HTMLStyleElement>; - sub: DetailedHTMLFactory, HTMLElement>; - summary: DetailedHTMLFactory, HTMLElement>; - sup: DetailedHTMLFactory, HTMLElement>; - table: DetailedHTMLFactory, HTMLTableElement>; - template: DetailedHTMLFactory, HTMLTemplateElement>; - tbody: DetailedHTMLFactory, HTMLTableSectionElement>; - td: DetailedHTMLFactory, HTMLTableDataCellElement>; - textarea: DetailedHTMLFactory, HTMLTextAreaElement>; - tfoot: DetailedHTMLFactory, HTMLTableSectionElement>; - th: DetailedHTMLFactory, HTMLTableHeaderCellElement>; - thead: DetailedHTMLFactory, HTMLTableSectionElement>; - time: DetailedHTMLFactory, HTMLTimeElement>; - title: DetailedHTMLFactory, HTMLTitleElement>; - tr: DetailedHTMLFactory, HTMLTableRowElement>; - track: DetailedHTMLFactory, HTMLTrackElement>; - u: DetailedHTMLFactory, HTMLElement>; - ul: DetailedHTMLFactory, HTMLUListElement>; - "var": DetailedHTMLFactory, HTMLElement>; - video: DetailedHTMLFactory, HTMLVideoElement>; - wbr: DetailedHTMLFactory, HTMLElement>; - webview: DetailedHTMLFactory, HTMLWebViewElement>; - } - - interface ReactSVG { - animate: SVGFactory; - circle: SVGFactory; - clipPath: SVGFactory; - defs: SVGFactory; - desc: SVGFactory; - ellipse: SVGFactory; - feBlend: SVGFactory; - feColorMatrix: SVGFactory; - feComponentTransfer: SVGFactory; - feComposite: SVGFactory; - feConvolveMatrix: SVGFactory; - feDiffuseLighting: SVGFactory; - feDisplacementMap: SVGFactory; - feDistantLight: SVGFactory; - feDropShadow: SVGFactory; - feFlood: SVGFactory; - feFuncA: SVGFactory; - feFuncB: SVGFactory; - feFuncG: SVGFactory; - feFuncR: SVGFactory; - feGaussianBlur: SVGFactory; - feImage: SVGFactory; - feMerge: SVGFactory; - feMergeNode: SVGFactory; - feMorphology: SVGFactory; - feOffset: SVGFactory; - fePointLight: SVGFactory; - feSpecularLighting: SVGFactory; - feSpotLight: SVGFactory; - feTile: SVGFactory; - feTurbulence: SVGFactory; - filter: SVGFactory; - foreignObject: SVGFactory; - g: SVGFactory; - image: SVGFactory; - line: SVGFactory; - linearGradient: SVGFactory; - marker: SVGFactory; - mask: SVGFactory; - metadata: SVGFactory; - path: SVGFactory; - pattern: SVGFactory; - polygon: SVGFactory; - polyline: SVGFactory; - radialGradient: SVGFactory; - rect: SVGFactory; - stop: SVGFactory; - svg: SVGFactory; - switch: SVGFactory; - symbol: SVGFactory; - text: SVGFactory; - textPath: SVGFactory; - tspan: SVGFactory; - use: SVGFactory; - view: SVGFactory; - } - - interface ReactDOM extends ReactHTML, ReactSVG {} - - // - // React.PropTypes - // ---------------------------------------------------------------------- - - /** - * @deprecated Use `Validator` from the ´prop-types` instead. - */ - type Validator = PropTypes.Validator; - - /** - * @deprecated Use `Requireable` from the ´prop-types` instead. - */ - type Requireable = PropTypes.Requireable; - - /** - * @deprecated Use `ValidationMap` from the ´prop-types` instead. - */ - type ValidationMap = PropTypes.ValidationMap; - - /** - * @deprecated Use `WeakValidationMap` from the ´prop-types` instead. - */ - type WeakValidationMap = { - [K in keyof T]?: null extends T[K] ? Validator - : undefined extends T[K] ? Validator - : Validator; - }; - - /** - * @deprecated Use `PropTypes.*` where `PropTypes` comes from `import * as PropTypes from 'prop-types'` instead. - */ - interface ReactPropTypes { - any: typeof PropTypes.any; - array: typeof PropTypes.array; - bool: typeof PropTypes.bool; - func: typeof PropTypes.func; - number: typeof PropTypes.number; - object: typeof PropTypes.object; - string: typeof PropTypes.string; - node: typeof PropTypes.node; - element: typeof PropTypes.element; - instanceOf: typeof PropTypes.instanceOf; - oneOf: typeof PropTypes.oneOf; - oneOfType: typeof PropTypes.oneOfType; - arrayOf: typeof PropTypes.arrayOf; - objectOf: typeof PropTypes.objectOf; - shape: typeof PropTypes.shape; - exact: typeof PropTypes.exact; - } - - // - // React.Children - // ---------------------------------------------------------------------- - - /** - * @deprecated - Use `typeof React.Children` instead. - */ - // Sync with type of `const Children`. - interface ReactChildren { - map( - children: C | readonly C[], - fn: (child: C, index: number) => T, - ): C extends null | undefined ? C : Array>; - forEach(children: C | readonly C[], fn: (child: C, index: number) => void): void; - count(children: any): number; - only(children: C): C extends any[] ? never : C; - toArray(children: ReactNode | ReactNode[]): Array>; - } - - // - // Browser Interfaces - // https://github.com/nikeee/2048-typescript/blob/master/2048/js/touch.d.ts - // ---------------------------------------------------------------------- - - interface AbstractView { - styleMedia: StyleMedia; - document: Document; - } - - interface Touch { - identifier: number; - target: EventTarget; - screenX: number; - screenY: number; - clientX: number; - clientY: number; - pageX: number; - pageY: number; - } - - interface TouchList { - [index: number]: Touch; - length: number; - item(index: number): Touch; - identifiedTouch(identifier: number): Touch; - } - - // - // Error Interfaces - // ---------------------------------------------------------------------- - interface ErrorInfo { - /** - * Captures which component contained the exception, and its ancestors. - */ - componentStack?: string | null; - digest?: string | null; - } - - // Keep in sync with JSX namespace in ./jsx-runtime.d.ts and ./jsx-dev-runtime.d.ts - namespace JSX { - interface Element extends GlobalJSXElement {} - interface ElementClass extends GlobalJSXElementClass {} - interface ElementAttributesProperty extends GlobalJSXElementAttributesProperty {} - interface ElementChildrenAttribute extends GlobalJSXElementChildrenAttribute {} - - type LibraryManagedAttributes = GlobalJSXLibraryManagedAttributes; - - interface IntrinsicAttributes extends GlobalJSXIntrinsicAttributes {} - interface IntrinsicClassAttributes extends GlobalJSXIntrinsicClassAttributes {} - interface IntrinsicElements extends GlobalJSXIntrinsicElements {} - } -} - -// naked 'any' type in a conditional type will short circuit and union both the then/else branches -// so boolean is only resolved for T = any -type IsExactlyAny = boolean extends (T extends never ? true : false) ? true : false; - -type ExactlyAnyPropertyKeys = { [K in keyof T]: IsExactlyAny extends true ? K : never }[keyof T]; -type NotExactlyAnyPropertyKeys = Exclude>; - -// Try to resolve ill-defined props like for JS users: props can be any, or sometimes objects with properties of type any -type MergePropTypes = - // Distribute over P in case it is a union type - P extends any - // If props is type any, use propTypes definitions - ? IsExactlyAny

extends true ? T - // If declared props have indexed properties, ignore inferred props entirely as keyof gets widened - : string extends keyof P ? P - // Prefer declared types which are not exactly any - : - & Pick> - // For props which are exactly any, use the type inferred from propTypes if present - & Pick>> - // Keep leftover props not specified in propTypes - & Pick> - : never; - -type InexactPartial = { [K in keyof T]?: T[K] | undefined }; - -// Any prop that has a default prop becomes optional, but its type is unchanged -// Undeclared default props are augmented into the resulting allowable attributes -// If declared props have indexed properties, ignore default props entirely as keyof gets widened -// Wrap in an outer-level conditional type to allow distribution over props that are unions -type Defaultize = P extends any ? string extends keyof P ? P - : - & Pick> - & InexactPartial>> - & InexactPartial>> - : never; - -type ReactManagedAttributes = C extends { propTypes: infer T; defaultProps: infer D } - ? Defaultize>, D> - : C extends { propTypes: infer T } ? MergePropTypes> - : C extends { defaultProps: infer D } ? Defaultize - : P; - -declare global { - /** - * @deprecated Use `React.JSX` instead of the global `JSX` namespace. - */ - namespace JSX { - interface Element extends React.ReactElement {} - interface ElementClass extends React.Component { - render(): React.ReactNode; - } - interface ElementAttributesProperty { - props: {}; - } - interface ElementChildrenAttribute { - children: {}; - } - - // We can't recurse forever because `type` can't be self-referential; - // let's assume it's reasonable to do a single React.lazy() around a single React.memo() / vice-versa - type LibraryManagedAttributes = C extends - React.MemoExoticComponent | React.LazyExoticComponent - ? T extends React.MemoExoticComponent | React.LazyExoticComponent - ? ReactManagedAttributes - : ReactManagedAttributes - : ReactManagedAttributes; - - interface IntrinsicAttributes extends React.Attributes {} - interface IntrinsicClassAttributes extends React.ClassAttributes {} - - interface IntrinsicElements { - // HTML - a: React.DetailedHTMLProps, HTMLAnchorElement>; - abbr: React.DetailedHTMLProps, HTMLElement>; - address: React.DetailedHTMLProps, HTMLElement>; - area: React.DetailedHTMLProps, HTMLAreaElement>; - article: React.DetailedHTMLProps, HTMLElement>; - aside: React.DetailedHTMLProps, HTMLElement>; - audio: React.DetailedHTMLProps, HTMLAudioElement>; - b: React.DetailedHTMLProps, HTMLElement>; - base: React.DetailedHTMLProps, HTMLBaseElement>; - bdi: React.DetailedHTMLProps, HTMLElement>; - bdo: React.DetailedHTMLProps, HTMLElement>; - big: React.DetailedHTMLProps, HTMLElement>; - blockquote: React.DetailedHTMLProps, HTMLQuoteElement>; - body: React.DetailedHTMLProps, HTMLBodyElement>; - br: React.DetailedHTMLProps, HTMLBRElement>; - button: React.DetailedHTMLProps, HTMLButtonElement>; - canvas: React.DetailedHTMLProps, HTMLCanvasElement>; - caption: React.DetailedHTMLProps, HTMLElement>; - center: React.DetailedHTMLProps, HTMLElement>; - cite: React.DetailedHTMLProps, HTMLElement>; - code: React.DetailedHTMLProps, HTMLElement>; - col: React.DetailedHTMLProps, HTMLTableColElement>; - colgroup: React.DetailedHTMLProps, HTMLTableColElement>; - data: React.DetailedHTMLProps, HTMLDataElement>; - datalist: React.DetailedHTMLProps, HTMLDataListElement>; - dd: React.DetailedHTMLProps, HTMLElement>; - del: React.DetailedHTMLProps, HTMLModElement>; - details: React.DetailedHTMLProps, HTMLDetailsElement>; - dfn: React.DetailedHTMLProps, HTMLElement>; - dialog: React.DetailedHTMLProps, HTMLDialogElement>; - div: React.DetailedHTMLProps, HTMLDivElement>; - dl: React.DetailedHTMLProps, HTMLDListElement>; - dt: React.DetailedHTMLProps, HTMLElement>; - em: React.DetailedHTMLProps, HTMLElement>; - embed: React.DetailedHTMLProps, HTMLEmbedElement>; - fieldset: React.DetailedHTMLProps, HTMLFieldSetElement>; - figcaption: React.DetailedHTMLProps, HTMLElement>; - figure: React.DetailedHTMLProps, HTMLElement>; - footer: React.DetailedHTMLProps, HTMLElement>; - form: React.DetailedHTMLProps, HTMLFormElement>; - h1: React.DetailedHTMLProps, HTMLHeadingElement>; - h2: React.DetailedHTMLProps, HTMLHeadingElement>; - h3: React.DetailedHTMLProps, HTMLHeadingElement>; - h4: React.DetailedHTMLProps, HTMLHeadingElement>; - h5: React.DetailedHTMLProps, HTMLHeadingElement>; - h6: React.DetailedHTMLProps, HTMLHeadingElement>; - head: React.DetailedHTMLProps, HTMLHeadElement>; - header: React.DetailedHTMLProps, HTMLElement>; - hgroup: React.DetailedHTMLProps, HTMLElement>; - hr: React.DetailedHTMLProps, HTMLHRElement>; - html: React.DetailedHTMLProps, HTMLHtmlElement>; - i: React.DetailedHTMLProps, HTMLElement>; - iframe: React.DetailedHTMLProps, HTMLIFrameElement>; - img: React.DetailedHTMLProps, HTMLImageElement>; - input: React.DetailedHTMLProps, HTMLInputElement>; - ins: React.DetailedHTMLProps, HTMLModElement>; - kbd: React.DetailedHTMLProps, HTMLElement>; - keygen: React.DetailedHTMLProps, HTMLElement>; - label: React.DetailedHTMLProps, HTMLLabelElement>; - legend: React.DetailedHTMLProps, HTMLLegendElement>; - li: React.DetailedHTMLProps, HTMLLIElement>; - link: React.DetailedHTMLProps, HTMLLinkElement>; - main: React.DetailedHTMLProps, HTMLElement>; - map: React.DetailedHTMLProps, HTMLMapElement>; - mark: React.DetailedHTMLProps, HTMLElement>; - menu: React.DetailedHTMLProps, HTMLElement>; - menuitem: React.DetailedHTMLProps, HTMLElement>; - meta: React.DetailedHTMLProps, HTMLMetaElement>; - meter: React.DetailedHTMLProps, HTMLMeterElement>; - nav: React.DetailedHTMLProps, HTMLElement>; - noindex: React.DetailedHTMLProps, HTMLElement>; - noscript: React.DetailedHTMLProps, HTMLElement>; - object: React.DetailedHTMLProps, HTMLObjectElement>; - ol: React.DetailedHTMLProps, HTMLOListElement>; - optgroup: React.DetailedHTMLProps, HTMLOptGroupElement>; - option: React.DetailedHTMLProps, HTMLOptionElement>; - output: React.DetailedHTMLProps, HTMLOutputElement>; - p: React.DetailedHTMLProps, HTMLParagraphElement>; - param: React.DetailedHTMLProps, HTMLParamElement>; - picture: React.DetailedHTMLProps, HTMLElement>; - pre: React.DetailedHTMLProps, HTMLPreElement>; - progress: React.DetailedHTMLProps, HTMLProgressElement>; - q: React.DetailedHTMLProps, HTMLQuoteElement>; - rp: React.DetailedHTMLProps, HTMLElement>; - rt: React.DetailedHTMLProps, HTMLElement>; - ruby: React.DetailedHTMLProps, HTMLElement>; - s: React.DetailedHTMLProps, HTMLElement>; - samp: React.DetailedHTMLProps, HTMLElement>; - search: React.DetailedHTMLProps, HTMLElement>; - slot: React.DetailedHTMLProps, HTMLSlotElement>; - script: React.DetailedHTMLProps, HTMLScriptElement>; - section: React.DetailedHTMLProps, HTMLElement>; - select: React.DetailedHTMLProps, HTMLSelectElement>; - small: React.DetailedHTMLProps, HTMLElement>; - source: React.DetailedHTMLProps, HTMLSourceElement>; - span: React.DetailedHTMLProps, HTMLSpanElement>; - strong: React.DetailedHTMLProps, HTMLElement>; - style: React.DetailedHTMLProps, HTMLStyleElement>; - sub: React.DetailedHTMLProps, HTMLElement>; - summary: React.DetailedHTMLProps, HTMLElement>; - sup: React.DetailedHTMLProps, HTMLElement>; - table: React.DetailedHTMLProps, HTMLTableElement>; - template: React.DetailedHTMLProps, HTMLTemplateElement>; - tbody: React.DetailedHTMLProps, HTMLTableSectionElement>; - td: React.DetailedHTMLProps, HTMLTableDataCellElement>; - textarea: React.DetailedHTMLProps, HTMLTextAreaElement>; - tfoot: React.DetailedHTMLProps, HTMLTableSectionElement>; - th: React.DetailedHTMLProps, HTMLTableHeaderCellElement>; - thead: React.DetailedHTMLProps, HTMLTableSectionElement>; - time: React.DetailedHTMLProps, HTMLTimeElement>; - title: React.DetailedHTMLProps, HTMLTitleElement>; - tr: React.DetailedHTMLProps, HTMLTableRowElement>; - track: React.DetailedHTMLProps, HTMLTrackElement>; - u: React.DetailedHTMLProps, HTMLElement>; - ul: React.DetailedHTMLProps, HTMLUListElement>; - "var": React.DetailedHTMLProps, HTMLElement>; - video: React.DetailedHTMLProps, HTMLVideoElement>; - wbr: React.DetailedHTMLProps, HTMLElement>; - webview: React.DetailedHTMLProps, HTMLWebViewElement>; - - // SVG - svg: React.SVGProps; - - animate: React.SVGProps; // TODO: It is SVGAnimateElement but is not in TypeScript's lib.dom.d.ts for now. - animateMotion: React.SVGProps; - animateTransform: React.SVGProps; // TODO: It is SVGAnimateTransformElement but is not in TypeScript's lib.dom.d.ts for now. - circle: React.SVGProps; - clipPath: React.SVGProps; - defs: React.SVGProps; - desc: React.SVGProps; - ellipse: React.SVGProps; - feBlend: React.SVGProps; - feColorMatrix: React.SVGProps; - feComponentTransfer: React.SVGProps; - feComposite: React.SVGProps; - feConvolveMatrix: React.SVGProps; - feDiffuseLighting: React.SVGProps; - feDisplacementMap: React.SVGProps; - feDistantLight: React.SVGProps; - feDropShadow: React.SVGProps; - feFlood: React.SVGProps; - feFuncA: React.SVGProps; - feFuncB: React.SVGProps; - feFuncG: React.SVGProps; - feFuncR: React.SVGProps; - feGaussianBlur: React.SVGProps; - feImage: React.SVGProps; - feMerge: React.SVGProps; - feMergeNode: React.SVGProps; - feMorphology: React.SVGProps; - feOffset: React.SVGProps; - fePointLight: React.SVGProps; - feSpecularLighting: React.SVGProps; - feSpotLight: React.SVGProps; - feTile: React.SVGProps; - feTurbulence: React.SVGProps; - filter: React.SVGProps; - foreignObject: React.SVGProps; - g: React.SVGProps; - image: React.SVGProps; - line: React.SVGLineElementAttributes; - linearGradient: React.SVGProps; - marker: React.SVGProps; - mask: React.SVGProps; - metadata: React.SVGProps; - mpath: React.SVGProps; - path: React.SVGProps; - pattern: React.SVGProps; - polygon: React.SVGProps; - polyline: React.SVGProps; - radialGradient: React.SVGProps; - rect: React.SVGProps; - set: React.SVGProps; - stop: React.SVGProps; - switch: React.SVGProps; - symbol: React.SVGProps; - text: React.SVGTextElementAttributes; - textPath: React.SVGProps; - tspan: React.SVGProps; - use: React.SVGProps; - view: React.SVGProps; - } - } -} - -// React.JSX needs to point to global.JSX to keep global module augmentations intact. -// But we can't access global.JSX so we need to create these aliases instead. -// Once the global JSX namespace will be removed we replace React.JSX with the contents of global.JSX -interface GlobalJSXElement extends JSX.Element {} -interface GlobalJSXElementClass extends JSX.ElementClass {} -interface GlobalJSXElementAttributesProperty extends JSX.ElementAttributesProperty {} -interface GlobalJSXElementChildrenAttribute extends JSX.ElementChildrenAttribute {} - -type GlobalJSXLibraryManagedAttributes = JSX.LibraryManagedAttributes; - -interface GlobalJSXIntrinsicAttributes extends JSX.IntrinsicAttributes {} -interface GlobalJSXIntrinsicClassAttributes extends JSX.IntrinsicClassAttributes {} - -interface GlobalJSXIntrinsicElements extends JSX.IntrinsicElements {} diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-dev-runtime.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-dev-runtime.d.ts deleted file mode 100644 index 87d1dfe3..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-dev-runtime.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import * as React from "./"; -export { Fragment } from "./"; - -export namespace JSX { - interface Element extends React.JSX.Element {} - interface ElementClass extends React.JSX.ElementClass {} - interface ElementAttributesProperty extends React.JSX.ElementAttributesProperty {} - interface ElementChildrenAttribute extends React.JSX.ElementChildrenAttribute {} - type LibraryManagedAttributes = React.JSX.LibraryManagedAttributes; - interface IntrinsicAttributes extends React.JSX.IntrinsicAttributes {} - interface IntrinsicClassAttributes extends React.JSX.IntrinsicClassAttributes {} - interface IntrinsicElements extends React.JSX.IntrinsicElements {} -} - -export interface JSXSource { - /** - * The source file where the element originates from. - */ - fileName?: string | undefined; - - /** - * The line number where the element was created. - */ - lineNumber?: number | undefined; - - /** - * The column number where the element was created. - */ - columnNumber?: number | undefined; -} - -/** - * Create a React element. - * - * You should not use this function directly. Use JSX and a transpiler instead. - */ -export function jsxDEV( - type: React.ElementType, - props: unknown, - key: React.Key | undefined, - isStatic: boolean, - source?: JSXSource, - self?: unknown, -): React.ReactElement; diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-runtime.d.ts b/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-runtime.d.ts deleted file mode 100644 index 8cc3b974..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/@types/react/ts5.0/jsx-runtime.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -import * as React from "./"; -export { Fragment } from "./"; - -export namespace JSX { - interface Element extends React.JSX.Element {} - interface ElementClass extends React.JSX.ElementClass {} - interface ElementAttributesProperty extends React.JSX.ElementAttributesProperty {} - interface ElementChildrenAttribute extends React.JSX.ElementChildrenAttribute {} - type LibraryManagedAttributes = React.JSX.LibraryManagedAttributes; - interface IntrinsicAttributes extends React.JSX.IntrinsicAttributes {} - interface IntrinsicClassAttributes extends React.JSX.IntrinsicClassAttributes {} - interface IntrinsicElements extends React.JSX.IntrinsicElements {} -} - -/** - * Create a React element. - * - * You should not use this function directly. Use JSX and a transpiler instead. - */ -export function jsx( - type: React.ElementType, - props: unknown, - key?: React.Key, -): React.ReactElement; - -/** - * Create a React element. - * - * You should not use this function directly. Use JSX and a transpiler instead. - */ -export function jsxs( - type: React.ElementType, - props: unknown, - key?: React.Key, -): React.ReactElement; diff --git a/node_modules/.pnpm/@types+react@18.3.17/node_modules/csstype b/node_modules/.pnpm/@types+react@18.3.17/node_modules/csstype deleted file mode 120000 index c93c1778..00000000 --- a/node_modules/.pnpm/@types+react@18.3.17/node_modules/csstype +++ /dev/null @@ -1 +0,0 @@ -../../csstype@3.1.3/node_modules/csstype \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint index a36c7d02..4f4d7136 100755 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint +++ b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/eslint.js" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc index e22a0b41..8df059d3 100755 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc +++ b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver index 9fda3685..0651c4d2 100755 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver +++ b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_7rbxphqf7i6ndyhbnfvy6im7ju/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@eslint-community/regexpp b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@eslint-community/regexpp deleted file mode 120000 index 59dabc87..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@eslint-community/regexpp +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint-community+regexpp@4.12.1/node_modules/@eslint-community/regexpp \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/LICENSE b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/LICENSE deleted file mode 100644 index a1164108..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 typescript-eslint 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/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/README.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/README.md deleted file mode 100644 index 3f894c88..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# `@typescript-eslint/eslint-plugin` - -An ESLint plugin which provides lint rules for TypeScript codebases. - -[![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/eslint-plugin.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) -[![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/eslint-plugin.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) - -👉 See **https://typescript-eslint.io/getting-started** for our Getting Started docs. - -> See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js deleted file mode 100644 index d197fbc4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/adjacent-overload-signatures': 'error', - '@typescript-eslint/array-type': 'error', - '@typescript-eslint/await-thenable': 'error', - '@typescript-eslint/ban-ts-comment': 'error', - '@typescript-eslint/ban-tslint-comment': 'error', - '@typescript-eslint/class-literal-property-style': 'error', - 'class-methods-use-this': 'off', - '@typescript-eslint/class-methods-use-this': 'error', - '@typescript-eslint/consistent-generic-constructors': 'error', - '@typescript-eslint/consistent-indexed-object-style': 'error', - 'consistent-return': 'off', - '@typescript-eslint/consistent-return': 'error', - '@typescript-eslint/consistent-type-assertions': 'error', - '@typescript-eslint/consistent-type-definitions': 'error', - '@typescript-eslint/consistent-type-exports': 'error', - '@typescript-eslint/consistent-type-imports': 'error', - 'default-param-last': 'off', - '@typescript-eslint/default-param-last': 'error', - 'dot-notation': 'off', - '@typescript-eslint/dot-notation': 'error', - '@typescript-eslint/explicit-function-return-type': 'error', - '@typescript-eslint/explicit-member-accessibility': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'error', - 'init-declarations': 'off', - '@typescript-eslint/init-declarations': 'error', - 'max-params': 'off', - '@typescript-eslint/max-params': 'error', - '@typescript-eslint/member-ordering': 'error', - '@typescript-eslint/method-signature-style': 'error', - '@typescript-eslint/naming-convention': 'error', - 'no-array-constructor': 'off', - '@typescript-eslint/no-array-constructor': 'error', - '@typescript-eslint/no-array-delete': 'error', - '@typescript-eslint/no-base-to-string': 'error', - '@typescript-eslint/no-confusing-non-null-assertion': 'error', - '@typescript-eslint/no-confusing-void-expression': 'error', - '@typescript-eslint/no-deprecated': 'error', - 'no-dupe-class-members': 'off', - '@typescript-eslint/no-dupe-class-members': 'error', - '@typescript-eslint/no-duplicate-enum-values': 'error', - '@typescript-eslint/no-duplicate-type-constituents': 'error', - '@typescript-eslint/no-dynamic-delete': 'error', - 'no-empty-function': 'off', - '@typescript-eslint/no-empty-function': 'error', - '@typescript-eslint/no-empty-object-type': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/no-extra-non-null-assertion': 'error', - '@typescript-eslint/no-extraneous-class': 'error', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-for-in-array': 'error', - 'no-implied-eval': 'off', - '@typescript-eslint/no-implied-eval': 'error', - '@typescript-eslint/no-import-type-side-effects': 'error', - '@typescript-eslint/no-inferrable-types': 'error', - 'no-invalid-this': 'off', - '@typescript-eslint/no-invalid-this': 'error', - '@typescript-eslint/no-invalid-void-type': 'error', - 'no-loop-func': 'off', - '@typescript-eslint/no-loop-func': 'error', - 'no-magic-numbers': 'off', - '@typescript-eslint/no-magic-numbers': 'error', - '@typescript-eslint/no-meaningless-void-operator': 'error', - '@typescript-eslint/no-misused-new': 'error', - '@typescript-eslint/no-misused-promises': 'error', - '@typescript-eslint/no-mixed-enums': 'error', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error', - '@typescript-eslint/no-non-null-asserted-optional-chain': 'error', - '@typescript-eslint/no-non-null-assertion': 'error', - 'no-redeclare': 'off', - '@typescript-eslint/no-redeclare': 'error', - '@typescript-eslint/no-redundant-type-constituents': 'error', - '@typescript-eslint/no-require-imports': 'error', - 'no-restricted-imports': 'off', - '@typescript-eslint/no-restricted-imports': 'error', - '@typescript-eslint/no-restricted-types': 'error', - 'no-shadow': 'off', - '@typescript-eslint/no-shadow': 'error', - '@typescript-eslint/no-this-alias': 'error', - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', - '@typescript-eslint/no-unnecessary-condition': 'error', - '@typescript-eslint/no-unnecessary-parameter-property-assignment': 'error', - '@typescript-eslint/no-unnecessary-qualifier': 'error', - '@typescript-eslint/no-unnecessary-template-expression': 'error', - '@typescript-eslint/no-unnecessary-type-arguments': 'error', - '@typescript-eslint/no-unnecessary-type-assertion': 'error', - '@typescript-eslint/no-unnecessary-type-constraint': 'error', - '@typescript-eslint/no-unnecessary-type-parameters': 'error', - '@typescript-eslint/no-unsafe-argument': 'error', - '@typescript-eslint/no-unsafe-assignment': 'error', - '@typescript-eslint/no-unsafe-call': 'error', - '@typescript-eslint/no-unsafe-declaration-merging': 'error', - '@typescript-eslint/no-unsafe-enum-comparison': 'error', - '@typescript-eslint/no-unsafe-function-type': 'error', - '@typescript-eslint/no-unsafe-member-access': 'error', - '@typescript-eslint/no-unsafe-return': 'error', - '@typescript-eslint/no-unsafe-type-assertion': 'error', - '@typescript-eslint/no-unsafe-unary-minus': 'error', - 'no-unused-expressions': 'off', - '@typescript-eslint/no-unused-expressions': 'error', - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'error', - 'no-use-before-define': 'off', - '@typescript-eslint/no-use-before-define': 'error', - 'no-useless-constructor': 'off', - '@typescript-eslint/no-useless-constructor': 'error', - '@typescript-eslint/no-useless-empty-export': 'error', - '@typescript-eslint/no-wrapper-object-types': 'error', - '@typescript-eslint/non-nullable-type-assertion-style': 'error', - 'no-throw-literal': 'off', - '@typescript-eslint/only-throw-error': 'error', - '@typescript-eslint/parameter-properties': 'error', - '@typescript-eslint/prefer-as-const': 'error', - 'prefer-destructuring': 'off', - '@typescript-eslint/prefer-destructuring': 'error', - '@typescript-eslint/prefer-enum-initializers': 'error', - '@typescript-eslint/prefer-find': 'error', - '@typescript-eslint/prefer-for-of': 'error', - '@typescript-eslint/prefer-function-type': 'error', - '@typescript-eslint/prefer-includes': 'error', - '@typescript-eslint/prefer-literal-enum-member': 'error', - '@typescript-eslint/prefer-namespace-keyword': 'error', - '@typescript-eslint/prefer-nullish-coalescing': 'error', - '@typescript-eslint/prefer-optional-chain': 'error', - 'prefer-promise-reject-errors': 'off', - '@typescript-eslint/prefer-promise-reject-errors': 'error', - '@typescript-eslint/prefer-readonly': 'error', - '@typescript-eslint/prefer-readonly-parameter-types': 'error', - '@typescript-eslint/prefer-reduce-type-parameter': 'error', - '@typescript-eslint/prefer-regexp-exec': 'error', - '@typescript-eslint/prefer-return-this-type': 'error', - '@typescript-eslint/prefer-string-starts-ends-with': 'error', - '@typescript-eslint/promise-function-async': 'error', - '@typescript-eslint/related-getter-setter-pairs': 'error', - '@typescript-eslint/require-array-sort-compare': 'error', - 'require-await': 'off', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/restrict-plus-operands': 'error', - '@typescript-eslint/restrict-template-expressions': 'error', - 'no-return-await': 'off', - '@typescript-eslint/return-await': 'error', - '@typescript-eslint/strict-boolean-expressions': 'error', - '@typescript-eslint/switch-exhaustiveness-check': 'error', - '@typescript-eslint/triple-slash-reference': 'error', - '@typescript-eslint/typedef': 'error', - '@typescript-eslint/unbound-method': 'error', - '@typescript-eslint/unified-signatures': 'error', - '@typescript-eslint/use-unknown-in-catch-callback-variable': 'error', - }, -}; -//# sourceMappingURL=all.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map deleted file mode 100644 index 862345a6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js deleted file mode 100644 index cb61c298..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -module.exports = { - parser: '@typescript-eslint/parser', - parserOptions: { sourceType: 'module' }, - plugins: ['@typescript-eslint'], -}; -//# sourceMappingURL=base.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js.map deleted file mode 100644 index 21dfaacb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/base.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":";AAEA,iBAAS;IACP,MAAM,EAAE,2BAA2B;IACnC,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;IACvC,OAAO,EAAE,CAAC,oBAAoB,CAAC;CACD,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js deleted file mode 100644 index 892d8013..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - parserOptions: { project: false, program: null, projectService: false }, - rules: { - '@typescript-eslint/await-thenable': 'off', - '@typescript-eslint/consistent-return': 'off', - '@typescript-eslint/consistent-type-exports': 'off', - '@typescript-eslint/dot-notation': 'off', - '@typescript-eslint/naming-convention': 'off', - '@typescript-eslint/no-array-delete': 'off', - '@typescript-eslint/no-base-to-string': 'off', - '@typescript-eslint/no-confusing-void-expression': 'off', - '@typescript-eslint/no-deprecated': 'off', - '@typescript-eslint/no-duplicate-type-constituents': 'off', - '@typescript-eslint/no-floating-promises': 'off', - '@typescript-eslint/no-for-in-array': 'off', - '@typescript-eslint/no-implied-eval': 'off', - '@typescript-eslint/no-meaningless-void-operator': 'off', - '@typescript-eslint/no-misused-promises': 'off', - '@typescript-eslint/no-mixed-enums': 'off', - '@typescript-eslint/no-redundant-type-constituents': 'off', - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'off', - '@typescript-eslint/no-unnecessary-condition': 'off', - '@typescript-eslint/no-unnecessary-qualifier': 'off', - '@typescript-eslint/no-unnecessary-template-expression': 'off', - '@typescript-eslint/no-unnecessary-type-arguments': 'off', - '@typescript-eslint/no-unnecessary-type-assertion': 'off', - '@typescript-eslint/no-unnecessary-type-parameters': 'off', - '@typescript-eslint/no-unsafe-argument': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-enum-comparison': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-return': 'off', - '@typescript-eslint/no-unsafe-type-assertion': 'off', - '@typescript-eslint/no-unsafe-unary-minus': 'off', - '@typescript-eslint/non-nullable-type-assertion-style': 'off', - '@typescript-eslint/only-throw-error': 'off', - '@typescript-eslint/prefer-destructuring': 'off', - '@typescript-eslint/prefer-find': 'off', - '@typescript-eslint/prefer-includes': 'off', - '@typescript-eslint/prefer-nullish-coalescing': 'off', - '@typescript-eslint/prefer-optional-chain': 'off', - '@typescript-eslint/prefer-promise-reject-errors': 'off', - '@typescript-eslint/prefer-readonly': 'off', - '@typescript-eslint/prefer-readonly-parameter-types': 'off', - '@typescript-eslint/prefer-reduce-type-parameter': 'off', - '@typescript-eslint/prefer-regexp-exec': 'off', - '@typescript-eslint/prefer-return-this-type': 'off', - '@typescript-eslint/prefer-string-starts-ends-with': 'off', - '@typescript-eslint/promise-function-async': 'off', - '@typescript-eslint/related-getter-setter-pairs': 'off', - '@typescript-eslint/require-array-sort-compare': 'off', - '@typescript-eslint/require-await': 'off', - '@typescript-eslint/restrict-plus-operands': 'off', - '@typescript-eslint/restrict-template-expressions': 'off', - '@typescript-eslint/return-await': 'off', - '@typescript-eslint/strict-boolean-expressions': 'off', - '@typescript-eslint/switch-exhaustiveness-check': 'off', - '@typescript-eslint/unbound-method': 'off', - '@typescript-eslint/use-unknown-in-catch-callback-variable': 'off', - }, -}; -//# sourceMappingURL=disable-type-checked.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js.map deleted file mode 100644 index dd0bbd24..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/disable-type-checked.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"disable-type-checked.js","sourceRoot":"","sources":["../../src/configs/disable-type-checked.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;IACvE,KAAK,EAAE;QACL,mCAAmC,EAAE,KAAK;QAC1C,sCAAsC,EAAE,KAAK;QAC7C,4CAA4C,EAAE,KAAK;QACnD,iCAAiC,EAAE,KAAK;QACxC,sCAAsC,EAAE,KAAK;QAC7C,oCAAoC,EAAE,KAAK;QAC3C,sCAAsC,EAAE,KAAK;QAC7C,iDAAiD,EAAE,KAAK;QACxD,kCAAkC,EAAE,KAAK;QACzC,mDAAmD,EAAE,KAAK;QAC1D,yCAAyC,EAAE,KAAK;QAChD,oCAAoC,EAAE,KAAK;QAC3C,oCAAoC,EAAE,KAAK;QAC3C,iDAAiD,EAAE,KAAK;QACxD,wCAAwC,EAAE,KAAK;QAC/C,mCAAmC,EAAE,KAAK;QAC1C,mDAAmD,EAAE,KAAK;QAC1D,2DAA2D,EAAE,KAAK;QAClE,6CAA6C,EAAE,KAAK;QACpD,6CAA6C,EAAE,KAAK;QACpD,uDAAuD,EAAE,KAAK;QAC9D,kDAAkD,EAAE,KAAK;QACzD,kDAAkD,EAAE,KAAK;QACzD,mDAAmD,EAAE,KAAK;QAC1D,uCAAuC,EAAE,KAAK;QAC9C,yCAAyC,EAAE,KAAK;QAChD,mCAAmC,EAAE,KAAK;QAC1C,8CAA8C,EAAE,KAAK;QACrD,4CAA4C,EAAE,KAAK;QACnD,qCAAqC,EAAE,KAAK;QAC5C,6CAA6C,EAAE,KAAK;QACpD,0CAA0C,EAAE,KAAK;QACjD,sDAAsD,EAAE,KAAK;QAC7D,qCAAqC,EAAE,KAAK;QAC5C,yCAAyC,EAAE,KAAK;QAChD,gCAAgC,EAAE,KAAK;QACvC,oCAAoC,EAAE,KAAK;QAC3C,8CAA8C,EAAE,KAAK;QACrD,0CAA0C,EAAE,KAAK;QACjD,iDAAiD,EAAE,KAAK;QACxD,oCAAoC,EAAE,KAAK;QAC3C,oDAAoD,EAAE,KAAK;QAC3D,iDAAiD,EAAE,KAAK;QACxD,uCAAuC,EAAE,KAAK;QAC9C,4CAA4C,EAAE,KAAK;QACnD,mDAAmD,EAAE,KAAK;QAC1D,2CAA2C,EAAE,KAAK;QAClD,gDAAgD,EAAE,KAAK;QACvD,+CAA+C,EAAE,KAAK;QACtD,kCAAkC,EAAE,KAAK;QACzC,2CAA2C,EAAE,KAAK;QAClD,kDAAkD,EAAE,KAAK;QACzD,iCAAiC,EAAE,KAAK;QACxC,+CAA+C,EAAE,KAAK;QACtD,gDAAgD,EAAE,KAAK;QACvD,mCAAmC,EAAE,KAAK;QAC1C,2DAA2D,EAAE,KAAK;KACnE;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js deleted file mode 100644 index a2108339..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -// NOTE: this file is isolated to be shared across legacy and flat configs -// it is exported via `./use-at-your-own-risk/eslint-recommended-raw` -// and it has types manually defined in `./eslint-recommended-raw.d.ts` -/** - * This is a compatibility ruleset that: - * - disables rules from eslint:recommended which are already handled by TypeScript. - * - enables rules that make sense due to TS's typechecking / transpilation. - */ -const config = (style) => ({ - files: style === 'glob' - ? // classic configs use glob syntax - ['*.ts', '*.tsx', '*.mts', '*.cts'] - : // flat configs use minimatch syntax - ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'], - rules: { - 'constructor-super': 'off', // ts(2335) & ts(2377) - 'getter-return': 'off', // ts(2378) - 'no-class-assign': 'off', // ts(2629) - 'no-const-assign': 'off', // ts(2588) - 'no-dupe-args': 'off', // ts(2300) - 'no-dupe-class-members': 'off', // ts(2393) & ts(2300) - 'no-dupe-keys': 'off', // ts(1117) - 'no-func-assign': 'off', // ts(2630) - 'no-import-assign': 'off', // ts(2632) & ts(2540) - // TODO - remove this once we no longer support ESLint v8 - 'no-new-symbol': 'off', // ts(7009) - 'no-new-native-nonconstructor': 'off', // ts(7009) - 'no-obj-calls': 'off', // ts(2349) - 'no-redeclare': 'off', // ts(2451) - 'no-setter-return': 'off', // ts(2408) - 'no-this-before-super': 'off', // ts(2376) & ts(17009) - 'no-undef': 'off', // ts(2304) & ts(2552) - 'no-unreachable': 'off', // ts(7027) - 'no-unsafe-negation': 'off', // ts(2365) & ts(2322) & ts(2358) - 'no-var': 'error', // ts transpiles let/const to var, so no need for vars any more - 'prefer-const': 'error', // ts provides better types with const - 'prefer-rest-params': 'error', // ts provides better types with rest args over arguments - 'prefer-spread': 'error', // ts transpiles spread to apply, so no need for manual apply - }, -}); -module.exports = config; -//# sourceMappingURL=eslint-recommended-raw.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js.map deleted file mode 100644 index ef3fa187..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended-raw.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"eslint-recommended-raw.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended-raw.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;AAEvE;;;;GAIG;AACH,MAAM,MAAM,GAAG,CACb,KAA2B,EAI3B,EAAE,CAAC,CAAC;IACJ,KAAK,EACH,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,kCAAkC;YAClC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;QACrC,CAAC,CAAC,oCAAoC;YACpC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;IACrD,KAAK,EAAE;QACL,mBAAmB,EAAE,KAAK,EAAE,sBAAsB;QAClD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,iBAAiB,EAAE,KAAK,EAAE,WAAW;QACrC,iBAAiB,EAAE,KAAK,EAAE,WAAW;QACrC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,uBAAuB,EAAE,KAAK,EAAE,sBAAsB;QACtD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,kBAAkB,EAAE,KAAK,EAAE,sBAAsB;QACjD,yDAAyD;QACzD,eAAe,EAAE,KAAK,EAAE,WAAW;QACnC,8BAA8B,EAAE,KAAK,EAAE,WAAW;QAClD,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,cAAc,EAAE,KAAK,EAAE,WAAW;QAClC,kBAAkB,EAAE,KAAK,EAAE,WAAW;QACtC,sBAAsB,EAAE,KAAK,EAAE,uBAAuB;QACtD,UAAU,EAAE,KAAK,EAAE,sBAAsB;QACzC,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,oBAAoB,EAAE,KAAK,EAAE,iCAAiC;QAC9D,QAAQ,EAAE,OAAO,EAAE,+DAA+D;QAClF,cAAc,EAAE,OAAO,EAAE,sCAAsC;QAC/D,oBAAoB,EAAE,OAAO,EAAE,yDAAyD;QACxF,eAAe,EAAE,OAAO,EAAE,6DAA6D;KACxF;CACF,CAAC,CAAC;AAEH,iBAAS,MAAM,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js deleted file mode 100644 index 87c38628..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -/** - * This is a compatibility ruleset that: - * - disables rules from eslint:recommended which are already handled by TypeScript. - * - enables rules that make sense due to TS's typechecking / transpilation. - */ -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -const eslint_recommended_raw_1 = __importDefault(require("./eslint-recommended-raw")); -module.exports = { - overrides: [(0, eslint_recommended_raw_1.default)('glob')], -}; -//# sourceMappingURL=eslint-recommended.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map deleted file mode 100644 index 50a38481..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"eslint-recommended.js","sourceRoot":"","sources":["../../src/configs/eslint-recommended.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAIH,sFAA6D;AAE7D,iBAAS;IACP,SAAS,EAAE,CAAC,IAAA,gCAAqB,EAAC,MAAM,CAAC,CAAC;CACZ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js deleted file mode 100644 index c9627df3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/await-thenable': 'error', - '@typescript-eslint/no-array-delete': 'error', - '@typescript-eslint/no-base-to-string': 'error', - '@typescript-eslint/no-duplicate-type-constituents': 'error', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-for-in-array': 'error', - 'no-implied-eval': 'off', - '@typescript-eslint/no-implied-eval': 'error', - '@typescript-eslint/no-misused-promises': 'error', - '@typescript-eslint/no-redundant-type-constituents': 'error', - '@typescript-eslint/no-unnecessary-type-assertion': 'error', - '@typescript-eslint/no-unsafe-argument': 'error', - '@typescript-eslint/no-unsafe-assignment': 'error', - '@typescript-eslint/no-unsafe-call': 'error', - '@typescript-eslint/no-unsafe-enum-comparison': 'error', - '@typescript-eslint/no-unsafe-member-access': 'error', - '@typescript-eslint/no-unsafe-return': 'error', - '@typescript-eslint/no-unsafe-unary-minus': 'error', - 'no-throw-literal': 'off', - '@typescript-eslint/only-throw-error': 'error', - 'prefer-promise-reject-errors': 'off', - '@typescript-eslint/prefer-promise-reject-errors': 'error', - 'require-await': 'off', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/restrict-plus-operands': 'error', - '@typescript-eslint/restrict-template-expressions': 'error', - '@typescript-eslint/unbound-method': 'error', - }, -}; -//# sourceMappingURL=recommended-type-checked-only.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js.map deleted file mode 100644 index 7ca5f56a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked-only.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"recommended-type-checked-only.js","sourceRoot":"","sources":["../../src/configs/recommended-type-checked-only.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,mCAAmC,EAAE,OAAO;QAC5C,oCAAoC,EAAE,OAAO;QAC7C,sCAAsC,EAAE,OAAO;QAC/C,mDAAmD,EAAE,OAAO;QAC5D,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,iBAAiB,EAAE,KAAK;QACxB,oCAAoC,EAAE,OAAO;QAC7C,wCAAwC,EAAE,OAAO;QACjD,mDAAmD,EAAE,OAAO;QAC5D,kDAAkD,EAAE,OAAO;QAC3D,uCAAuC,EAAE,OAAO;QAChD,yCAAyC,EAAE,OAAO;QAClD,mCAAmC,EAAE,OAAO;QAC5C,8CAA8C,EAAE,OAAO;QACvD,4CAA4C,EAAE,OAAO;QACrD,qCAAqC,EAAE,OAAO;QAC9C,0CAA0C,EAAE,OAAO;QACnD,kBAAkB,EAAE,KAAK;QACzB,qCAAqC,EAAE,OAAO;QAC9C,8BAA8B,EAAE,KAAK;QACrC,iDAAiD,EAAE,OAAO;QAC1D,eAAe,EAAE,KAAK;QACtB,kCAAkC,EAAE,OAAO;QAC3C,2CAA2C,EAAE,OAAO;QACpD,kDAAkD,EAAE,OAAO;QAC3D,mCAAmC,EAAE,OAAO;KAC7C;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js deleted file mode 100644 index 1d3496f6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/await-thenable': 'error', - '@typescript-eslint/ban-ts-comment': 'error', - 'no-array-constructor': 'off', - '@typescript-eslint/no-array-constructor': 'error', - '@typescript-eslint/no-array-delete': 'error', - '@typescript-eslint/no-base-to-string': 'error', - '@typescript-eslint/no-duplicate-enum-values': 'error', - '@typescript-eslint/no-duplicate-type-constituents': 'error', - '@typescript-eslint/no-empty-object-type': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/no-extra-non-null-assertion': 'error', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-for-in-array': 'error', - 'no-implied-eval': 'off', - '@typescript-eslint/no-implied-eval': 'error', - '@typescript-eslint/no-misused-new': 'error', - '@typescript-eslint/no-misused-promises': 'error', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-asserted-optional-chain': 'error', - '@typescript-eslint/no-redundant-type-constituents': 'error', - '@typescript-eslint/no-require-imports': 'error', - '@typescript-eslint/no-this-alias': 'error', - '@typescript-eslint/no-unnecessary-type-assertion': 'error', - '@typescript-eslint/no-unnecessary-type-constraint': 'error', - '@typescript-eslint/no-unsafe-argument': 'error', - '@typescript-eslint/no-unsafe-assignment': 'error', - '@typescript-eslint/no-unsafe-call': 'error', - '@typescript-eslint/no-unsafe-declaration-merging': 'error', - '@typescript-eslint/no-unsafe-enum-comparison': 'error', - '@typescript-eslint/no-unsafe-function-type': 'error', - '@typescript-eslint/no-unsafe-member-access': 'error', - '@typescript-eslint/no-unsafe-return': 'error', - '@typescript-eslint/no-unsafe-unary-minus': 'error', - 'no-unused-expressions': 'off', - '@typescript-eslint/no-unused-expressions': 'error', - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'error', - '@typescript-eslint/no-wrapper-object-types': 'error', - 'no-throw-literal': 'off', - '@typescript-eslint/only-throw-error': 'error', - '@typescript-eslint/prefer-as-const': 'error', - '@typescript-eslint/prefer-namespace-keyword': 'error', - 'prefer-promise-reject-errors': 'off', - '@typescript-eslint/prefer-promise-reject-errors': 'error', - 'require-await': 'off', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/restrict-plus-operands': 'error', - '@typescript-eslint/restrict-template-expressions': 'error', - '@typescript-eslint/triple-slash-reference': 'error', - '@typescript-eslint/unbound-method': 'error', - }, -}; -//# sourceMappingURL=recommended-type-checked.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js.map deleted file mode 100644 index a6dbb4d0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-type-checked.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"recommended-type-checked.js","sourceRoot":"","sources":["../../src/configs/recommended-type-checked.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,mCAAmC,EAAE,OAAO;QAC5C,mCAAmC,EAAE,OAAO;QAC5C,sBAAsB,EAAE,KAAK;QAC7B,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,sCAAsC,EAAE,OAAO;QAC/C,6CAA6C,EAAE,OAAO;QACtD,mDAAmD,EAAE,OAAO;QAC5D,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,gDAAgD,EAAE,OAAO;QACzD,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,iBAAiB,EAAE,KAAK;QACxB,oCAAoC,EAAE,OAAO;QAC7C,mCAAmC,EAAE,OAAO;QAC5C,wCAAwC,EAAE,OAAO;QACjD,iCAAiC,EAAE,OAAO;QAC1C,wDAAwD,EAAE,OAAO;QACjE,mDAAmD,EAAE,OAAO;QAC5D,uCAAuC,EAAE,OAAO;QAChD,kCAAkC,EAAE,OAAO;QAC3C,kDAAkD,EAAE,OAAO;QAC3D,mDAAmD,EAAE,OAAO;QAC5D,uCAAuC,EAAE,OAAO;QAChD,yCAAyC,EAAE,OAAO;QAClD,mCAAmC,EAAE,OAAO;QAC5C,kDAAkD,EAAE,OAAO;QAC3D,8CAA8C,EAAE,OAAO;QACvD,4CAA4C,EAAE,OAAO;QACrD,4CAA4C,EAAE,OAAO;QACrD,qCAAqC,EAAE,OAAO;QAC9C,0CAA0C,EAAE,OAAO;QACnD,uBAAuB,EAAE,KAAK;QAC9B,0CAA0C,EAAE,OAAO;QACnD,gBAAgB,EAAE,KAAK;QACvB,mCAAmC,EAAE,OAAO;QAC5C,4CAA4C,EAAE,OAAO;QACrD,kBAAkB,EAAE,KAAK;QACzB,qCAAqC,EAAE,OAAO;QAC9C,oCAAoC,EAAE,OAAO;QAC7C,6CAA6C,EAAE,OAAO;QACtD,8BAA8B,EAAE,KAAK;QACrC,iDAAiD,EAAE,OAAO;QAC1D,eAAe,EAAE,KAAK;QACtB,kCAAkC,EAAE,OAAO;QAC3C,2CAA2C,EAAE,OAAO;QACpD,kDAAkD,EAAE,OAAO;QAC3D,2CAA2C,EAAE,OAAO;QACpD,mCAAmC,EAAE,OAAO;KAC7C;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js deleted file mode 100644 index 51d08969..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/ban-ts-comment': 'error', - 'no-array-constructor': 'off', - '@typescript-eslint/no-array-constructor': 'error', - '@typescript-eslint/no-duplicate-enum-values': 'error', - '@typescript-eslint/no-empty-object-type': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/no-extra-non-null-assertion': 'error', - '@typescript-eslint/no-misused-new': 'error', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-asserted-optional-chain': 'error', - '@typescript-eslint/no-require-imports': 'error', - '@typescript-eslint/no-this-alias': 'error', - '@typescript-eslint/no-unnecessary-type-constraint': 'error', - '@typescript-eslint/no-unsafe-declaration-merging': 'error', - '@typescript-eslint/no-unsafe-function-type': 'error', - 'no-unused-expressions': 'off', - '@typescript-eslint/no-unused-expressions': 'error', - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'error', - '@typescript-eslint/no-wrapper-object-types': 'error', - '@typescript-eslint/prefer-as-const': 'error', - '@typescript-eslint/prefer-namespace-keyword': 'error', - '@typescript-eslint/triple-slash-reference': 'error', - }, -}; -//# sourceMappingURL=recommended.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js.map deleted file mode 100644 index c7e70ec1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"recommended.js","sourceRoot":"","sources":["../../src/configs/recommended.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,mCAAmC,EAAE,OAAO;QAC5C,sBAAsB,EAAE,KAAK;QAC7B,yCAAyC,EAAE,OAAO;QAClD,6CAA6C,EAAE,OAAO;QACtD,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,gDAAgD,EAAE,OAAO;QACzD,mCAAmC,EAAE,OAAO;QAC5C,iCAAiC,EAAE,OAAO;QAC1C,wDAAwD,EAAE,OAAO;QACjE,uCAAuC,EAAE,OAAO;QAChD,kCAAkC,EAAE,OAAO;QAC3C,mDAAmD,EAAE,OAAO;QAC5D,kDAAkD,EAAE,OAAO;QAC3D,4CAA4C,EAAE,OAAO;QACrD,uBAAuB,EAAE,KAAK;QAC9B,0CAA0C,EAAE,OAAO;QACnD,gBAAgB,EAAE,KAAK;QACvB,mCAAmC,EAAE,OAAO;QAC5C,4CAA4C,EAAE,OAAO;QACrD,oCAAoC,EAAE,OAAO;QAC7C,6CAA6C,EAAE,OAAO;QACtD,2CAA2C,EAAE,OAAO;KACrD;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js deleted file mode 100644 index 1c9e99d0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/await-thenable': 'error', - '@typescript-eslint/no-array-delete': 'error', - '@typescript-eslint/no-base-to-string': 'error', - '@typescript-eslint/no-confusing-void-expression': 'error', - '@typescript-eslint/no-deprecated': 'error', - '@typescript-eslint/no-duplicate-type-constituents': 'error', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-for-in-array': 'error', - 'no-implied-eval': 'off', - '@typescript-eslint/no-implied-eval': 'error', - '@typescript-eslint/no-meaningless-void-operator': 'error', - '@typescript-eslint/no-misused-promises': 'error', - '@typescript-eslint/no-mixed-enums': 'error', - '@typescript-eslint/no-redundant-type-constituents': 'error', - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', - '@typescript-eslint/no-unnecessary-condition': 'error', - '@typescript-eslint/no-unnecessary-template-expression': 'error', - '@typescript-eslint/no-unnecessary-type-arguments': 'error', - '@typescript-eslint/no-unnecessary-type-assertion': 'error', - '@typescript-eslint/no-unnecessary-type-parameters': 'error', - '@typescript-eslint/no-unsafe-argument': 'error', - '@typescript-eslint/no-unsafe-assignment': 'error', - '@typescript-eslint/no-unsafe-call': 'error', - '@typescript-eslint/no-unsafe-enum-comparison': 'error', - '@typescript-eslint/no-unsafe-member-access': 'error', - '@typescript-eslint/no-unsafe-return': 'error', - '@typescript-eslint/no-unsafe-unary-minus': 'error', - 'no-throw-literal': 'off', - '@typescript-eslint/only-throw-error': 'error', - 'prefer-promise-reject-errors': 'off', - '@typescript-eslint/prefer-promise-reject-errors': 'error', - '@typescript-eslint/prefer-reduce-type-parameter': 'error', - '@typescript-eslint/prefer-return-this-type': 'error', - '@typescript-eslint/related-getter-setter-pairs': 'error', - 'require-await': 'off', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/restrict-plus-operands': [ - 'error', - { - allowAny: false, - allowBoolean: false, - allowNullish: false, - allowNumberAndString: false, - allowRegExp: false, - }, - ], - '@typescript-eslint/restrict-template-expressions': [ - 'error', - { - allowAny: false, - allowBoolean: false, - allowNullish: false, - allowNumber: false, - allowRegExp: false, - allowNever: false, - }, - ], - 'no-return-await': 'off', - '@typescript-eslint/return-await': [ - 'error', - 'error-handling-correctness-only', - ], - '@typescript-eslint/unbound-method': 'error', - '@typescript-eslint/use-unknown-in-catch-callback-variable': 'error', - }, -}; -//# sourceMappingURL=strict-type-checked-only.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js.map deleted file mode 100644 index f4cf439d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked-only.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"strict-type-checked-only.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked-only.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,mCAAmC,EAAE,OAAO;QAC5C,oCAAoC,EAAE,OAAO;QAC7C,sCAAsC,EAAE,OAAO;QAC/C,iDAAiD,EAAE,OAAO;QAC1D,kCAAkC,EAAE,OAAO;QAC3C,mDAAmD,EAAE,OAAO;QAC5D,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,iBAAiB,EAAE,KAAK;QACxB,oCAAoC,EAAE,OAAO;QAC7C,iDAAiD,EAAE,OAAO;QAC1D,wCAAwC,EAAE,OAAO;QACjD,mCAAmC,EAAE,OAAO;QAC5C,mDAAmD,EAAE,OAAO;QAC5D,2DAA2D,EAAE,OAAO;QACpE,6CAA6C,EAAE,OAAO;QACtD,uDAAuD,EAAE,OAAO;QAChE,kDAAkD,EAAE,OAAO;QAC3D,kDAAkD,EAAE,OAAO;QAC3D,mDAAmD,EAAE,OAAO;QAC5D,uCAAuC,EAAE,OAAO;QAChD,yCAAyC,EAAE,OAAO;QAClD,mCAAmC,EAAE,OAAO;QAC5C,8CAA8C,EAAE,OAAO;QACvD,4CAA4C,EAAE,OAAO;QACrD,qCAAqC,EAAE,OAAO;QAC9C,0CAA0C,EAAE,OAAO;QACnD,kBAAkB,EAAE,KAAK;QACzB,qCAAqC,EAAE,OAAO;QAC9C,8BAA8B,EAAE,KAAK;QACrC,iDAAiD,EAAE,OAAO;QAC1D,iDAAiD,EAAE,OAAO;QAC1D,4CAA4C,EAAE,OAAO;QACrD,gDAAgD,EAAE,OAAO;QACzD,eAAe,EAAE,KAAK;QACtB,kCAAkC,EAAE,OAAO;QAC3C,2CAA2C,EAAE;YAC3C,OAAO;YACP;gBACE,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,KAAK;gBACnB,oBAAoB,EAAE,KAAK;gBAC3B,WAAW,EAAE,KAAK;aACnB;SACF;QACD,kDAAkD,EAAE;YAClD,OAAO;YACP;gBACE,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,KAAK;gBAClB,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,KAAK;aAClB;SACF;QACD,iBAAiB,EAAE,KAAK;QACxB,iCAAiC,EAAE;YACjC,OAAO;YACP,iCAAiC;SAClC;QACD,mCAAmC,EAAE,OAAO;QAC5C,2DAA2D,EAAE,OAAO;KACrE;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js deleted file mode 100644 index 8897b452..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js +++ /dev/null @@ -1,112 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/await-thenable': 'error', - '@typescript-eslint/ban-ts-comment': [ - 'error', - { minimumDescriptionLength: 10 }, - ], - 'no-array-constructor': 'off', - '@typescript-eslint/no-array-constructor': 'error', - '@typescript-eslint/no-array-delete': 'error', - '@typescript-eslint/no-base-to-string': 'error', - '@typescript-eslint/no-confusing-void-expression': 'error', - '@typescript-eslint/no-deprecated': 'error', - '@typescript-eslint/no-duplicate-enum-values': 'error', - '@typescript-eslint/no-duplicate-type-constituents': 'error', - '@typescript-eslint/no-dynamic-delete': 'error', - '@typescript-eslint/no-empty-object-type': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/no-extra-non-null-assertion': 'error', - '@typescript-eslint/no-extraneous-class': 'error', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-for-in-array': 'error', - 'no-implied-eval': 'off', - '@typescript-eslint/no-implied-eval': 'error', - '@typescript-eslint/no-invalid-void-type': 'error', - '@typescript-eslint/no-meaningless-void-operator': 'error', - '@typescript-eslint/no-misused-new': 'error', - '@typescript-eslint/no-misused-promises': 'error', - '@typescript-eslint/no-mixed-enums': 'error', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error', - '@typescript-eslint/no-non-null-asserted-optional-chain': 'error', - '@typescript-eslint/no-non-null-assertion': 'error', - '@typescript-eslint/no-redundant-type-constituents': 'error', - '@typescript-eslint/no-require-imports': 'error', - '@typescript-eslint/no-this-alias': 'error', - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', - '@typescript-eslint/no-unnecessary-condition': 'error', - '@typescript-eslint/no-unnecessary-template-expression': 'error', - '@typescript-eslint/no-unnecessary-type-arguments': 'error', - '@typescript-eslint/no-unnecessary-type-assertion': 'error', - '@typescript-eslint/no-unnecessary-type-constraint': 'error', - '@typescript-eslint/no-unnecessary-type-parameters': 'error', - '@typescript-eslint/no-unsafe-argument': 'error', - '@typescript-eslint/no-unsafe-assignment': 'error', - '@typescript-eslint/no-unsafe-call': 'error', - '@typescript-eslint/no-unsafe-declaration-merging': 'error', - '@typescript-eslint/no-unsafe-enum-comparison': 'error', - '@typescript-eslint/no-unsafe-function-type': 'error', - '@typescript-eslint/no-unsafe-member-access': 'error', - '@typescript-eslint/no-unsafe-return': 'error', - '@typescript-eslint/no-unsafe-unary-minus': 'error', - 'no-unused-expressions': 'off', - '@typescript-eslint/no-unused-expressions': 'error', - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'error', - 'no-useless-constructor': 'off', - '@typescript-eslint/no-useless-constructor': 'error', - '@typescript-eslint/no-wrapper-object-types': 'error', - 'no-throw-literal': 'off', - '@typescript-eslint/only-throw-error': 'error', - '@typescript-eslint/prefer-as-const': 'error', - '@typescript-eslint/prefer-literal-enum-member': 'error', - '@typescript-eslint/prefer-namespace-keyword': 'error', - 'prefer-promise-reject-errors': 'off', - '@typescript-eslint/prefer-promise-reject-errors': 'error', - '@typescript-eslint/prefer-reduce-type-parameter': 'error', - '@typescript-eslint/prefer-return-this-type': 'error', - '@typescript-eslint/related-getter-setter-pairs': 'error', - 'require-await': 'off', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/restrict-plus-operands': [ - 'error', - { - allowAny: false, - allowBoolean: false, - allowNullish: false, - allowNumberAndString: false, - allowRegExp: false, - }, - ], - '@typescript-eslint/restrict-template-expressions': [ - 'error', - { - allowAny: false, - allowBoolean: false, - allowNever: false, - allowNullish: false, - allowNumber: false, - allowRegExp: false, - }, - ], - 'no-return-await': 'off', - '@typescript-eslint/return-await': [ - 'error', - 'error-handling-correctness-only', - ], - '@typescript-eslint/triple-slash-reference': 'error', - '@typescript-eslint/unbound-method': 'error', - '@typescript-eslint/unified-signatures': 'error', - '@typescript-eslint/use-unknown-in-catch-callback-variable': 'error', - }, -}; -//# sourceMappingURL=strict-type-checked.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js.map deleted file mode 100644 index 88ab3565..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict-type-checked.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"strict-type-checked.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js deleted file mode 100644 index 655c7789..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/ban-ts-comment': [ - 'error', - { minimumDescriptionLength: 10 }, - ], - 'no-array-constructor': 'off', - '@typescript-eslint/no-array-constructor': 'error', - '@typescript-eslint/no-duplicate-enum-values': 'error', - '@typescript-eslint/no-dynamic-delete': 'error', - '@typescript-eslint/no-empty-object-type': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/no-extra-non-null-assertion': 'error', - '@typescript-eslint/no-extraneous-class': 'error', - '@typescript-eslint/no-invalid-void-type': 'error', - '@typescript-eslint/no-misused-new': 'error', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error', - '@typescript-eslint/no-non-null-asserted-optional-chain': 'error', - '@typescript-eslint/no-non-null-assertion': 'error', - '@typescript-eslint/no-require-imports': 'error', - '@typescript-eslint/no-this-alias': 'error', - '@typescript-eslint/no-unnecessary-type-constraint': 'error', - '@typescript-eslint/no-unsafe-declaration-merging': 'error', - '@typescript-eslint/no-unsafe-function-type': 'error', - 'no-unused-expressions': 'off', - '@typescript-eslint/no-unused-expressions': 'error', - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'error', - 'no-useless-constructor': 'off', - '@typescript-eslint/no-useless-constructor': 'error', - '@typescript-eslint/no-wrapper-object-types': 'error', - '@typescript-eslint/prefer-as-const': 'error', - '@typescript-eslint/prefer-literal-enum-member': 'error', - '@typescript-eslint/prefer-namespace-keyword': 'error', - '@typescript-eslint/triple-slash-reference': 'error', - '@typescript-eslint/unified-signatures': 'error', - }, -}; -//# sourceMappingURL=strict.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js.map deleted file mode 100644 index eb35e57d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,mCAAmC,EAAE;YACnC,OAAO;YACP,EAAE,wBAAwB,EAAE,EAAE,EAAE;SACjC;QACD,sBAAsB,EAAE,KAAK;QAC7B,yCAAyC,EAAE,OAAO;QAClD,6CAA6C,EAAE,OAAO;QACtD,sCAAsC,EAAE,OAAO;QAC/C,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,gDAAgD,EAAE,OAAO;QACzD,wCAAwC,EAAE,OAAO;QACjD,yCAAyC,EAAE,OAAO;QAClD,mCAAmC,EAAE,OAAO;QAC5C,iCAAiC,EAAE,OAAO;QAC1C,4DAA4D,EAAE,OAAO;QACrE,wDAAwD,EAAE,OAAO;QACjE,0CAA0C,EAAE,OAAO;QACnD,uCAAuC,EAAE,OAAO;QAChD,kCAAkC,EAAE,OAAO;QAC3C,mDAAmD,EAAE,OAAO;QAC5D,kDAAkD,EAAE,OAAO;QAC3D,4CAA4C,EAAE,OAAO;QACrD,uBAAuB,EAAE,KAAK;QAC9B,0CAA0C,EAAE,OAAO;QACnD,gBAAgB,EAAE,KAAK;QACvB,mCAAmC,EAAE,OAAO;QAC5C,wBAAwB,EAAE,KAAK;QAC/B,2CAA2C,EAAE,OAAO;QACpD,4CAA4C,EAAE,OAAO;QACrD,oCAAoC,EAAE,OAAO;QAC7C,+CAA+C,EAAE,OAAO;QACxD,6CAA6C,EAAE,OAAO;QACtD,2CAA2C,EAAE,OAAO;QACpD,uCAAuC,EAAE,OAAO;KACjD;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js deleted file mode 100644 index c9af0687..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - 'dot-notation': 'off', - '@typescript-eslint/dot-notation': 'error', - '@typescript-eslint/non-nullable-type-assertion-style': 'error', - '@typescript-eslint/prefer-find': 'error', - '@typescript-eslint/prefer-includes': 'error', - '@typescript-eslint/prefer-nullish-coalescing': 'error', - '@typescript-eslint/prefer-optional-chain': 'error', - '@typescript-eslint/prefer-regexp-exec': 'error', - '@typescript-eslint/prefer-string-starts-ends-with': 'error', - }, -}; -//# sourceMappingURL=stylistic-type-checked-only.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js.map deleted file mode 100644 index 1cf52610..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked-only.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stylistic-type-checked-only.js","sourceRoot":"","sources":["../../src/configs/stylistic-type-checked-only.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,cAAc,EAAE,KAAK;QACrB,iCAAiC,EAAE,OAAO;QAC1C,sDAAsD,EAAE,OAAO;QAC/D,gCAAgC,EAAE,OAAO;QACzC,oCAAoC,EAAE,OAAO;QAC7C,8CAA8C,EAAE,OAAO;QACvD,0CAA0C,EAAE,OAAO;QACnD,uCAAuC,EAAE,OAAO;QAChD,mDAAmD,EAAE,OAAO;KAC7D;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js deleted file mode 100644 index acb18c63..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/adjacent-overload-signatures': 'error', - '@typescript-eslint/array-type': 'error', - '@typescript-eslint/ban-tslint-comment': 'error', - '@typescript-eslint/class-literal-property-style': 'error', - '@typescript-eslint/consistent-generic-constructors': 'error', - '@typescript-eslint/consistent-indexed-object-style': 'error', - '@typescript-eslint/consistent-type-assertions': 'error', - '@typescript-eslint/consistent-type-definitions': 'error', - 'dot-notation': 'off', - '@typescript-eslint/dot-notation': 'error', - '@typescript-eslint/no-confusing-non-null-assertion': 'error', - 'no-empty-function': 'off', - '@typescript-eslint/no-empty-function': 'error', - '@typescript-eslint/no-inferrable-types': 'error', - '@typescript-eslint/non-nullable-type-assertion-style': 'error', - '@typescript-eslint/prefer-find': 'error', - '@typescript-eslint/prefer-for-of': 'error', - '@typescript-eslint/prefer-function-type': 'error', - '@typescript-eslint/prefer-includes': 'error', - '@typescript-eslint/prefer-nullish-coalescing': 'error', - '@typescript-eslint/prefer-optional-chain': 'error', - '@typescript-eslint/prefer-regexp-exec': 'error', - '@typescript-eslint/prefer-string-starts-ends-with': 'error', - }, -}; -//# sourceMappingURL=stylistic-type-checked.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js.map deleted file mode 100644 index 2444de1f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic-type-checked.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stylistic-type-checked.js","sourceRoot":"","sources":["../../src/configs/stylistic-type-checked.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,iDAAiD,EAAE,OAAO;QAC1D,+BAA+B,EAAE,OAAO;QACxC,uCAAuC,EAAE,OAAO;QAChD,iDAAiD,EAAE,OAAO;QAC1D,oDAAoD,EAAE,OAAO;QAC7D,oDAAoD,EAAE,OAAO;QAC7D,+CAA+C,EAAE,OAAO;QACxD,gDAAgD,EAAE,OAAO;QACzD,cAAc,EAAE,KAAK;QACrB,iCAAiC,EAAE,OAAO;QAC1C,oDAAoD,EAAE,OAAO;QAC7D,mBAAmB,EAAE,KAAK;QAC1B,sCAAsC,EAAE,OAAO;QAC/C,wCAAwC,EAAE,OAAO;QACjD,sDAAsD,EAAE,OAAO;QAC/D,gCAAgC,EAAE,OAAO;QACzC,kCAAkC,EAAE,OAAO;QAC3C,yCAAyC,EAAE,OAAO;QAClD,oCAAoC,EAAE,OAAO;QAC7C,8CAA8C,EAAE,OAAO;QACvD,0CAA0C,EAAE,OAAO;QACnD,uCAAuC,EAAE,OAAO;QAChD,mDAAmD,EAAE,OAAO;KAC7D;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js deleted file mode 100644 index f3c61bd9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// SEE https://typescript-eslint.io/users/configs -// -// For developers working in the typescript-eslint monorepo: -// You can regenerate it using `yarn generate:configs` -module.exports = { - extends: ['./configs/base', './configs/eslint-recommended'], - rules: { - '@typescript-eslint/adjacent-overload-signatures': 'error', - '@typescript-eslint/array-type': 'error', - '@typescript-eslint/ban-tslint-comment': 'error', - '@typescript-eslint/class-literal-property-style': 'error', - '@typescript-eslint/consistent-generic-constructors': 'error', - '@typescript-eslint/consistent-indexed-object-style': 'error', - '@typescript-eslint/consistent-type-assertions': 'error', - '@typescript-eslint/consistent-type-definitions': 'error', - '@typescript-eslint/no-confusing-non-null-assertion': 'error', - 'no-empty-function': 'off', - '@typescript-eslint/no-empty-function': 'error', - '@typescript-eslint/no-inferrable-types': 'error', - '@typescript-eslint/prefer-for-of': 'error', - '@typescript-eslint/prefer-function-type': 'error', - }, -}; -//# sourceMappingURL=stylistic.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js.map deleted file mode 100644 index ab3f7ac5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/configs/stylistic.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"stylistic.js","sourceRoot":"","sources":["../../src/configs/stylistic.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,iDAAiD;AACjD,EAAE;AACF,4DAA4D;AAC5D,sDAAsD;AAItD,iBAAS;IACP,OAAO,EAAE,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC3D,KAAK,EAAE;QACL,iDAAiD,EAAE,OAAO;QAC1D,+BAA+B,EAAE,OAAO;QACxC,uCAAuC,EAAE,OAAO;QAChD,iDAAiD,EAAE,OAAO;QAC1D,oDAAoD,EAAE,OAAO;QAC7D,oDAAoD,EAAE,OAAO;QAC7D,+CAA+C,EAAE,OAAO;QACxD,gDAAgD,EAAE,OAAO;QACzD,oDAAoD,EAAE,OAAO;QAC7D,mBAAmB,EAAE,KAAK;QAC1B,sCAAsC,EAAE,OAAO;QAC/C,wCAAwC,EAAE,OAAO;QACjD,kCAAkC,EAAE,OAAO;QAC3C,yCAAyC,EAAE,OAAO;KACnD;CAC6B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js deleted file mode 100644 index 368c349f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -const all_1 = __importDefault(require("./configs/all")); -const base_1 = __importDefault(require("./configs/base")); -const disable_type_checked_1 = __importDefault(require("./configs/disable-type-checked")); -const eslint_recommended_1 = __importDefault(require("./configs/eslint-recommended")); -const recommended_1 = __importDefault(require("./configs/recommended")); -const recommended_type_checked_1 = __importDefault(require("./configs/recommended-type-checked")); -const recommended_type_checked_only_1 = __importDefault(require("./configs/recommended-type-checked-only")); -const strict_1 = __importDefault(require("./configs/strict")); -const strict_type_checked_1 = __importDefault(require("./configs/strict-type-checked")); -const strict_type_checked_only_1 = __importDefault(require("./configs/strict-type-checked-only")); -const stylistic_1 = __importDefault(require("./configs/stylistic")); -const stylistic_type_checked_1 = __importDefault(require("./configs/stylistic-type-checked")); -const stylistic_type_checked_only_1 = __importDefault(require("./configs/stylistic-type-checked-only")); -const rules_1 = __importDefault(require("./rules")); -// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder -const { name, version } = require('../package.json'); -const configs = { - all: all_1.default, - base: base_1.default, - 'disable-type-checked': disable_type_checked_1.default, - 'eslint-recommended': eslint_recommended_1.default, - recommended: recommended_1.default, - /** @deprecated - please use "recommended-type-checked" instead. */ - 'recommended-requiring-type-checking': recommended_type_checked_1.default, - 'recommended-type-checked': recommended_type_checked_1.default, - 'recommended-type-checked-only': recommended_type_checked_only_1.default, - strict: strict_1.default, - 'strict-type-checked': strict_type_checked_1.default, - 'strict-type-checked-only': strict_type_checked_only_1.default, - stylistic: stylistic_1.default, - 'stylistic-type-checked': stylistic_type_checked_1.default, - 'stylistic-type-checked-only': stylistic_type_checked_only_1.default, -}; -const meta = { - name, - version, -}; -module.exports = { - configs, - meta, - rules: rules_1.default, -}; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js.map deleted file mode 100644 index db9c051f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,wDAAgC;AAChC,0DAAkC;AAClC,0FAAgE;AAChE,sFAA6D;AAC7D,wEAAgD;AAChD,kGAAwE;AACxE,4GAAiF;AACjF,8DAAsC;AACtC,wFAA8D;AAC9D,kGAAuE;AACvE,oEAA4C;AAC5C,8FAAoE;AACpE,wGAA6E;AAC7E,oDAA4B;AAE5B,sHAAsH;AACtH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAGlD,CAAC;AAEF,MAAM,OAAO,GAAG;IACd,GAAG,EAAH,aAAG;IACH,IAAI,EAAJ,cAAI;IACJ,sBAAsB,EAAE,8BAAkB;IAC1C,oBAAoB,EAAE,4BAAiB;IACvC,WAAW,EAAX,qBAAW;IACX,mEAAmE;IACnE,qCAAqC,EAAE,kCAAsB;IAC7D,0BAA0B,EAAE,kCAAsB;IAClD,+BAA+B,EAAE,uCAA0B;IAC3D,MAAM,EAAN,gBAAM;IACN,qBAAqB,EAAE,6BAAiB;IACxC,0BAA0B,EAAE,kCAAqB;IACjD,SAAS,EAAT,mBAAS;IACT,wBAAwB,EAAE,gCAAoB;IAC9C,6BAA6B,EAAE,qCAAwB;CACxD,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,IAAI;IACJ,OAAO;CACR,CAAC;AAEF,iBAAS;IACP,OAAO;IACP,IAAI;IACJ,KAAK,EAAL,eAAK;CACkB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js deleted file mode 100644 index 83c60a5f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js +++ /dev/null @@ -1,125 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'adjacent-overload-signatures', - meta: { - type: 'suggestion', - docs: { - description: 'Require that function overload signatures be consecutive', - recommended: 'stylistic', - }, - messages: { - adjacentSignature: 'All {{name}} signatures should be adjacent.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - /** - * Gets the name and attribute of the member being processed. - * @param member the member being processed. - * @returns the name and attribute of the member or null if it's a member not relevant to the rule. - */ - function getMemberMethod(member) { - switch (member.type) { - case utils_1.AST_NODE_TYPES.ExportDefaultDeclaration: - case utils_1.AST_NODE_TYPES.ExportNamedDeclaration: { - // export statements (e.g. export { a };) - // have no declarations, so ignore them - if (!member.declaration) { - return null; - } - return getMemberMethod(member.declaration); - } - case utils_1.AST_NODE_TYPES.TSDeclareFunction: - case utils_1.AST_NODE_TYPES.FunctionDeclaration: { - const name = member.id?.name ?? null; - if (name == null) { - return null; - } - return { - name, - type: util_1.MemberNameType.Normal, - callSignature: false, - }; - } - case utils_1.AST_NODE_TYPES.TSMethodSignature: - case utils_1.AST_NODE_TYPES.MethodDefinition: - return { - ...(0, util_1.getNameFromMember)(member, context.sourceCode), - callSignature: false, - static: !!member.static, - }; - case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration: - return { - name: 'call', - type: util_1.MemberNameType.Normal, - callSignature: true, - }; - case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration: - return { - name: 'new', - type: util_1.MemberNameType.Normal, - callSignature: false, - }; - } - return null; - } - function isSameMethod(method1, method2) { - return (!!method2 && - method1.name === method2.name && - method1.static === method2.static && - method1.callSignature === method2.callSignature && - method1.type === method2.type); - } - function getMembers(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.ClassBody: - case utils_1.AST_NODE_TYPES.Program: - case utils_1.AST_NODE_TYPES.TSModuleBlock: - case utils_1.AST_NODE_TYPES.TSInterfaceBody: - case utils_1.AST_NODE_TYPES.BlockStatement: - return node.body; - case utils_1.AST_NODE_TYPES.TSTypeLiteral: - return node.members; - } - } - function checkBodyForOverloadMethods(node) { - const members = getMembers(node); - let lastMethod = null; - const seenMethods = []; - members.forEach(member => { - const method = getMemberMethod(member); - if (method == null) { - lastMethod = null; - return; - } - const index = seenMethods.findIndex(seenMethod => isSameMethod(method, seenMethod)); - if (index > -1 && !isSameMethod(method, lastMethod)) { - context.report({ - node: member, - messageId: 'adjacentSignature', - data: { - name: `${method.static ? 'static ' : ''}${method.name}`, - }, - }); - } - else if (index === -1) { - seenMethods.push(method); - } - lastMethod = method; - }); - } - return { - BlockStatement: checkBodyForOverloadMethods, - ClassBody: checkBodyForOverloadMethods, - Program: checkBodyForOverloadMethods, - TSInterfaceBody: checkBodyForOverloadMethods, - TSModuleBlock: checkBodyForOverloadMethods, - TSTypeLiteral: checkBodyForOverloadMethods, - }; - }, -}); -//# sourceMappingURL=adjacent-overload-signatures.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map deleted file mode 100644 index 9bf8ba18..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"adjacent-overload-signatures.js","sourceRoot":"","sources":["../../src/rules/adjacent-overload-signatures.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js deleted file mode 100644 index cb4ad9fb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js +++ /dev/null @@ -1,232 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -/** - * Check whatever node can be considered as simple - * @param node the node to be evaluated. - */ -function isSimpleType(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.Identifier: - case utils_1.AST_NODE_TYPES.TSAnyKeyword: - case utils_1.AST_NODE_TYPES.TSBooleanKeyword: - case utils_1.AST_NODE_TYPES.TSNeverKeyword: - case utils_1.AST_NODE_TYPES.TSNumberKeyword: - case utils_1.AST_NODE_TYPES.TSBigIntKeyword: - case utils_1.AST_NODE_TYPES.TSObjectKeyword: - case utils_1.AST_NODE_TYPES.TSStringKeyword: - case utils_1.AST_NODE_TYPES.TSSymbolKeyword: - case utils_1.AST_NODE_TYPES.TSUnknownKeyword: - case utils_1.AST_NODE_TYPES.TSVoidKeyword: - case utils_1.AST_NODE_TYPES.TSNullKeyword: - case utils_1.AST_NODE_TYPES.TSArrayType: - case utils_1.AST_NODE_TYPES.TSUndefinedKeyword: - case utils_1.AST_NODE_TYPES.TSThisType: - case utils_1.AST_NODE_TYPES.TSQualifiedName: - return true; - case utils_1.AST_NODE_TYPES.TSTypeReference: - if (node.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - node.typeName.name === 'Array') { - if (!node.typeArguments) { - return true; - } - if (node.typeArguments.params.length === 1) { - return isSimpleType(node.typeArguments.params[0]); - } - } - else { - if (node.typeArguments) { - return false; - } - return isSimpleType(node.typeName); - } - return false; - default: - return false; - } -} -/** - * Check if node needs parentheses - * @param node the node to be evaluated. - */ -function typeNeedsParentheses(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSTypeReference: - return typeNeedsParentheses(node.typeName); - case utils_1.AST_NODE_TYPES.TSUnionType: - case utils_1.AST_NODE_TYPES.TSFunctionType: - case utils_1.AST_NODE_TYPES.TSIntersectionType: - case utils_1.AST_NODE_TYPES.TSTypeOperator: - case utils_1.AST_NODE_TYPES.TSInferType: - case utils_1.AST_NODE_TYPES.TSConstructorType: - return true; - case utils_1.AST_NODE_TYPES.Identifier: - return node.name === 'ReadonlyArray'; - default: - return false; - } -} -exports.default = (0, util_1.createRule)({ - name: 'array-type', - meta: { - type: 'suggestion', - docs: { - description: 'Require consistently using either `T[]` or `Array` for arrays', - recommended: 'stylistic', - }, - fixable: 'code', - messages: { - errorStringArray: "Array type using '{{className}}<{{type}}>' is forbidden. Use '{{readonlyPrefix}}{{type}}[]' instead.", - errorStringArrayReadonly: "Array type using '{{className}}<{{type}}>' is forbidden. Use '{{readonlyPrefix}}{{type}}' instead.", - errorStringArraySimple: "Array type using '{{className}}<{{type}}>' is forbidden for simple types. Use '{{readonlyPrefix}}{{type}}[]' instead.", - errorStringArraySimpleReadonly: "Array type using '{{className}}<{{type}}>' is forbidden for simple types. Use '{{readonlyPrefix}}{{type}}' instead.", - errorStringGeneric: "Array type using '{{readonlyPrefix}}{{type}}[]' is forbidden. Use '{{className}}<{{type}}>' instead.", - errorStringGenericSimple: "Array type using '{{readonlyPrefix}}{{type}}[]' is forbidden for non-simple types. Use '{{className}}<{{type}}>' instead.", - }, - schema: [ - { - type: 'object', - $defs: { - arrayOption: { - type: 'string', - enum: ['array', 'generic', 'array-simple'], - }, - }, - additionalProperties: false, - properties: { - default: { - $ref: '#/items/0/$defs/arrayOption', - description: 'The array type expected for mutable cases.', - }, - readonly: { - $ref: '#/items/0/$defs/arrayOption', - description: 'The array type expected for readonly cases. If omitted, the value for `default` will be used.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - default: 'array', - }, - ], - create(context, [options]) { - const defaultOption = options.default; - const readonlyOption = options.readonly ?? defaultOption; - /** - * @param node the node to be evaluated. - */ - function getMessageType(node) { - if (isSimpleType(node)) { - return context.sourceCode.getText(node); - } - return 'T'; - } - return { - TSArrayType(node) { - const isReadonly = node.parent.type === utils_1.AST_NODE_TYPES.TSTypeOperator && - node.parent.operator === 'readonly'; - const currentOption = isReadonly ? readonlyOption : defaultOption; - if (currentOption === 'array' || - (currentOption === 'array-simple' && isSimpleType(node.elementType))) { - return; - } - const messageId = currentOption === 'generic' - ? 'errorStringGeneric' - : 'errorStringGenericSimple'; - const errorNode = isReadonly ? node.parent : node; - context.report({ - node: errorNode, - messageId, - data: { - type: getMessageType(node.elementType), - className: isReadonly ? 'ReadonlyArray' : 'Array', - readonlyPrefix: isReadonly ? 'readonly ' : '', - }, - fix(fixer) { - const typeNode = node.elementType; - const arrayType = isReadonly ? 'ReadonlyArray' : 'Array'; - return [ - fixer.replaceTextRange([errorNode.range[0], typeNode.range[0]], `${arrayType}<`), - fixer.replaceTextRange([typeNode.range[1], errorNode.range[1]], '>'), - ]; - }, - }); - }, - TSTypeReference(node) { - if (node.typeName.type !== utils_1.AST_NODE_TYPES.Identifier || - !(node.typeName.name === 'Array' || - node.typeName.name === 'ReadonlyArray' || - node.typeName.name === 'Readonly') || - (node.typeName.name === 'Readonly' && - node.typeArguments?.params[0].type !== utils_1.AST_NODE_TYPES.TSArrayType)) { - return; - } - const isReadonlyWithGenericArrayType = node.typeName.name === 'Readonly' && - node.typeArguments?.params[0].type === utils_1.AST_NODE_TYPES.TSArrayType; - const isReadonlyArrayType = node.typeName.name === 'ReadonlyArray' || - isReadonlyWithGenericArrayType; - const currentOption = isReadonlyArrayType - ? readonlyOption - : defaultOption; - if (currentOption === 'generic') { - return; - } - const readonlyPrefix = isReadonlyArrayType ? 'readonly ' : ''; - const typeParams = node.typeArguments?.params; - const messageId = currentOption === 'array' - ? isReadonlyWithGenericArrayType - ? 'errorStringArrayReadonly' - : 'errorStringArray' - : isReadonlyArrayType && node.typeName.name !== 'ReadonlyArray' - ? 'errorStringArraySimpleReadonly' - : 'errorStringArraySimple'; - if (!typeParams || typeParams.length === 0) { - // Create an 'any' array - context.report({ - node, - messageId, - data: { - type: 'any', - className: isReadonlyArrayType ? 'ReadonlyArray' : 'Array', - readonlyPrefix, - }, - fix(fixer) { - return fixer.replaceText(node, `${readonlyPrefix}any[]`); - }, - }); - return; - } - if (typeParams.length !== 1 || - (currentOption === 'array-simple' && !isSimpleType(typeParams[0]))) { - return; - } - const type = typeParams[0]; - const typeParens = typeNeedsParentheses(type); - const parentParens = readonlyPrefix && - node.parent.type === utils_1.AST_NODE_TYPES.TSArrayType && - !(0, util_1.isParenthesized)(node.parent.elementType, context.sourceCode); - const start = `${parentParens ? '(' : ''}${readonlyPrefix}${typeParens ? '(' : ''}`; - const end = `${typeParens ? ')' : ''}${isReadonlyWithGenericArrayType ? '' : `[]`}${parentParens ? ')' : ''}`; - context.report({ - node, - messageId, - data: { - type: getMessageType(type), - className: isReadonlyArrayType ? node.typeName.name : 'Array', - readonlyPrefix, - }, - fix(fixer) { - return [ - fixer.replaceTextRange([node.range[0], type.range[0]], start), - fixer.replaceTextRange([type.range[1], node.range[1]], end), - ]; - }, - }); - }, - }; - }, -}); -//# sourceMappingURL=array-type.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map deleted file mode 100644 index 7890773f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"array-type.js","sourceRoot":"","sources":["../../src/rules/array-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js deleted file mode 100644 index 6161a2b8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js +++ /dev/null @@ -1,146 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -const getForStatementHeadLoc_1 = require("../util/getForStatementHeadLoc"); -exports.default = (0, util_1.createRule)({ - name: 'await-thenable', - meta: { - type: 'problem', - docs: { - description: 'Disallow awaiting a value that is not a Thenable', - recommended: 'recommended', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - await: 'Unexpected `await` of a non-Promise (non-"Thenable") value.', - awaitUsingOfNonAsyncDisposable: 'Unexpected `await using` of a value that is not async disposable.', - convertToOrdinaryFor: 'Convert to an ordinary `for...of` loop.', - forAwaitOfNonAsyncIterable: 'Unexpected `for await...of` of a value that is not async iterable.', - removeAwait: 'Remove unnecessary `await`.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - return { - AwaitExpression(node) { - const type = services.getTypeAtLocation(node.argument); - const originalNode = services.esTreeNodeToTSNodeMap.get(node); - const certainty = (0, util_1.needsToBeAwaited)(checker, originalNode, type); - if (certainty === util_1.Awaitable.Never) { - context.report({ - node, - messageId: 'await', - suggest: [ - { - messageId: 'removeAwait', - fix(fixer) { - const awaitKeyword = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isAwaitKeyword), util_1.NullThrowsReasons.MissingToken('await', 'await expression')); - return fixer.remove(awaitKeyword); - }, - }, - ], - }); - } - }, - 'ForOfStatement[await=true]'(node) { - const type = services.getTypeAtLocation(node.right); - if ((0, util_1.isTypeAnyType)(type)) { - return; - } - const hasAsyncIteratorSymbol = tsutils - .unionTypeParts(type) - .some(typePart => tsutils.getWellKnownSymbolPropertyOfType(typePart, 'asyncIterator', checker) != null); - if (!hasAsyncIteratorSymbol) { - context.report({ - loc: (0, getForStatementHeadLoc_1.getForStatementHeadLoc)(context.sourceCode, node), - messageId: 'forAwaitOfNonAsyncIterable', - suggest: [ - // Note that this suggestion causes broken code for sync iterables - // of promises, since the loop variable is not awaited. - { - messageId: 'convertToOrdinaryFor', - fix(fixer) { - const awaitToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isAwaitKeyword), util_1.NullThrowsReasons.MissingToken('await', 'for await loop')); - return fixer.remove(awaitToken); - }, - }, - ], - }); - } - }, - 'VariableDeclaration[kind="await using"]'(node) { - for (const declarator of node.declarations) { - const init = declarator.init; - if (init == null) { - continue; - } - const type = services.getTypeAtLocation(init); - if ((0, util_1.isTypeAnyType)(type)) { - continue; - } - const hasAsyncDisposeSymbol = tsutils - .unionTypeParts(type) - .some(typePart => tsutils.getWellKnownSymbolPropertyOfType(typePart, 'asyncDispose', checker) != null); - if (!hasAsyncDisposeSymbol) { - context.report({ - node: init, - messageId: 'awaitUsingOfNonAsyncDisposable', - // let the user figure out what to do if there's - // await using a = b, c = d, e = f; - // it's rare and not worth the complexity to handle. - ...(0, util_1.getFixOrSuggest)({ - fixOrSuggest: node.declarations.length === 1 ? 'suggest' : 'none', - suggestion: { - messageId: 'removeAwait', - fix(fixer) { - const awaitToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isAwaitKeyword), util_1.NullThrowsReasons.MissingToken('await', 'await using')); - return fixer.remove(awaitToken); - }, - }, - }), - }); - } - } - }, - }; - }, -}); -//# sourceMappingURL=await-thenable.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js.map deleted file mode 100644 index af9dad69..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"await-thenable.js","sourceRoot":"","sources":["../../src/rules/await-thenable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js deleted file mode 100644 index 99a6e417..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js +++ /dev/null @@ -1,185 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const defaultMinimumDescriptionLength = 3; -exports.default = (0, util_1.createRule)({ - name: 'ban-ts-comment', - meta: { - type: 'problem', - docs: { - description: 'Disallow `@ts-` comments or require descriptions after directives', - recommended: { - recommended: true, - strict: [{ minimumDescriptionLength: 10 }], - }, - }, - hasSuggestions: true, - messages: { - replaceTsIgnoreWithTsExpectError: 'Replace "@ts-ignore" with "@ts-expect-error".', - tsDirectiveComment: 'Do not use "@ts-{{directive}}" because it alters compilation errors.', - tsDirectiveCommentDescriptionNotMatchPattern: 'The description for the "@ts-{{directive}}" directive must match the {{format}} format.', - tsDirectiveCommentRequiresDescription: 'Include a description after the "@ts-{{directive}}" directive to explain why the @ts-{{directive}} is necessary. The description must be {{minimumDescriptionLength}} characters or longer.', - tsIgnoreInsteadOfExpectError: 'Use "@ts-expect-error" instead of "@ts-ignore", as "@ts-ignore" will do nothing if the following line is error-free.', - }, - schema: [ - { - type: 'object', - $defs: { - directiveConfigSchema: { - oneOf: [ - { - type: 'boolean', - default: true, - }, - { - type: 'string', - enum: ['allow-with-description'], - }, - { - type: 'object', - additionalProperties: false, - properties: { - descriptionFormat: { type: 'string' }, - }, - }, - ], - }, - }, - additionalProperties: false, - properties: { - minimumDescriptionLength: { - type: 'number', - default: defaultMinimumDescriptionLength, - description: 'A minimum character length for descriptions when `allow-with-description` is enabled.', - }, - 'ts-check': { $ref: '#/items/0/$defs/directiveConfigSchema' }, - 'ts-expect-error': { $ref: '#/items/0/$defs/directiveConfigSchema' }, - 'ts-ignore': { $ref: '#/items/0/$defs/directiveConfigSchema' }, - 'ts-nocheck': { $ref: '#/items/0/$defs/directiveConfigSchema' }, - }, - }, - ], - }, - defaultOptions: [ - { - minimumDescriptionLength: defaultMinimumDescriptionLength, - 'ts-check': false, - 'ts-expect-error': 'allow-with-description', - 'ts-ignore': true, - 'ts-nocheck': true, - }, - ], - create(context, [options]) { - // https://github.com/microsoft/TypeScript/blob/6f1ad5ad8bec5671f7e951a3524b62d82ec4be68/src/compiler/parser.ts#L10591 - const singleLinePragmaRegEx = /^\/\/\/?\s*@ts-(?check|nocheck)(?.*)$/; - /* - The regex used are taken from the ones used in the official TypeScript repo - - https://github.com/microsoft/TypeScript/blob/6f1ad5ad8bec5671f7e951a3524b62d82ec4be68/src/compiler/scanner.ts#L340-L348 - */ - const commentDirectiveRegExSingleLine = /^\/*\s*@ts-(?expect-error|ignore)(?.*)/; - const commentDirectiveRegExMultiLine = /^\s*(?:\/|\*)*\s*@ts-(?expect-error|ignore)(?.*)/; - const descriptionFormats = new Map(); - for (const directive of [ - 'ts-expect-error', - 'ts-ignore', - 'ts-nocheck', - 'ts-check', - ]) { - const option = options[directive]; - if (typeof option === 'object' && option.descriptionFormat) { - descriptionFormats.set(directive, new RegExp(option.descriptionFormat)); - } - } - function execDirectiveRegEx(regex, str) { - const match = regex.exec(str); - if (!match) { - return null; - } - const { description, directive } = (0, util_1.nullThrows)(match.groups, 'RegExp should contain groups'); - return { - description: (0, util_1.nullThrows)(description, 'RegExp should contain "description" group'), - directive: (0, util_1.nullThrows)(directive, 'RegExp should contain "directive" group'), - }; - } - function findDirectiveInComment(comment) { - if (comment.type === utils_1.AST_TOKEN_TYPES.Line) { - const matchedPragma = execDirectiveRegEx(singleLinePragmaRegEx, `//${comment.value}`); - if (matchedPragma) { - return matchedPragma; - } - return execDirectiveRegEx(commentDirectiveRegExSingleLine, comment.value); - } - const commentLines = comment.value.split('\n'); - return execDirectiveRegEx(commentDirectiveRegExMultiLine, commentLines[commentLines.length - 1]); - } - return { - Program(node) { - const firstStatement = node.body.at(0); - const comments = context.sourceCode.getAllComments(); - comments.forEach(comment => { - const match = findDirectiveInComment(comment); - if (!match) { - return; - } - const { description, directive } = match; - if (directive === 'nocheck' && - firstStatement && - firstStatement.loc.start.line <= comment.loc.start.line) { - return; - } - const fullDirective = `ts-${directive}`; - const option = options[fullDirective]; - if (option === true) { - if (directive === 'ignore') { - // Special case to suggest @ts-expect-error instead of @ts-ignore - context.report({ - node: comment, - messageId: 'tsIgnoreInsteadOfExpectError', - suggest: [ - { - messageId: 'replaceTsIgnoreWithTsExpectError', - fix(fixer) { - const commentText = comment.value.replace(/@ts-ignore/, '@ts-expect-error'); - return fixer.replaceText(comment, comment.type === utils_1.AST_TOKEN_TYPES.Line - ? `//${commentText}` - : `/*${commentText}*/`); - }, - }, - ], - }); - } - else { - context.report({ - node: comment, - messageId: 'tsDirectiveComment', - data: { directive }, - }); - } - } - if (option === 'allow-with-description' || - (typeof option === 'object' && option.descriptionFormat)) { - const { minimumDescriptionLength } = options; - const format = descriptionFormats.get(fullDirective); - if ((0, util_1.getStringLength)(description.trim()) < - (0, util_1.nullThrows)(minimumDescriptionLength, 'Expected minimumDescriptionLength to be set')) { - context.report({ - node: comment, - messageId: 'tsDirectiveCommentRequiresDescription', - data: { directive, minimumDescriptionLength }, - }); - } - else if (format && !format.test(description)) { - context.report({ - node: comment, - messageId: 'tsDirectiveCommentDescriptionNotMatchPattern', - data: { directive, format: format.source }, - }); - } - } - }); - }, - }; - }, -}); -//# sourceMappingURL=ban-ts-comment.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map deleted file mode 100644 index 875e5c3b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ban-ts-comment.js","sourceRoot":"","sources":["../../src/rules/ban-ts-comment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js deleted file mode 100644 index f34d601f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -// tslint regex -// https://github.com/palantir/tslint/blob/95d9d958833fd9dc0002d18cbe34db20d0fbf437/src/enableDisableRules.ts#L32 -const ENABLE_DISABLE_REGEX = /^\s*tslint:(enable|disable)(?:-(line|next-line))?(:|\s|$)/; -const toText = (text, type) => type === utils_1.AST_TOKEN_TYPES.Line - ? ['//', text.trim()].join(' ') - : ['/*', text.trim(), '*/'].join(' '); -exports.default = (0, util_1.createRule)({ - name: 'ban-tslint-comment', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow `// tslint:` comments', - recommended: 'stylistic', - }, - fixable: 'code', - messages: { - commentDetected: 'tslint comment detected: "{{ text }}"', - }, - schema: [], - }, - defaultOptions: [], - create: context => { - return { - Program() { - const comments = context.sourceCode.getAllComments(); - comments.forEach(c => { - if (ENABLE_DISABLE_REGEX.test(c.value)) { - context.report({ - node: c, - messageId: 'commentDetected', - data: { text: toText(c.value, c.type) }, - fix(fixer) { - const rangeStart = context.sourceCode.getIndexFromLoc({ - column: c.loc.start.column > 0 ? c.loc.start.column - 1 : 0, - line: c.loc.start.line, - }); - const rangeEnd = context.sourceCode.getIndexFromLoc({ - column: c.loc.end.column, - line: c.loc.end.line, - }); - return fixer.removeRange([rangeStart, rangeEnd + 1]); - }, - }); - } - }); - }, - }; - }, -}); -//# sourceMappingURL=ban-tslint-comment.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map deleted file mode 100644 index 93a6360e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ban-tslint-comment.js","sourceRoot":"","sources":["../../src/rules/ban-tslint-comment.ts"],"names":[],"mappings":";;AAAA,oDAA2D;AAE3D,kCAAqC;AAErC,eAAe;AACf,iHAAiH;AACjH,MAAM,oBAAoB,GACxB,2DAA2D,CAAC;AAE9D,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,IAAkD,EAC1C,EAAE,CACV,IAAI,KAAK,uBAAe,CAAC,IAAI;IAC3B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1C,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,2CAA2C;YACxD,WAAW,EAAE,WAAW;SACzB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,eAAe,EAAE,uCAAuC;SACzD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,OAAO,CAAC,EAAE;QAChB,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACnB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvC,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,iBAAiB;4BAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;4BACvC,GAAG,CAAC,KAAK;gCACP,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;oCACpD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC3D,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;iCACvB,CAAC,CAAC;gCACH,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;oCAClD,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;oCACxB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;iCACrB,CAAC,CAAC;gCACH,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;4BACvD,CAAC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js deleted file mode 100644 index 56d03461..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const printNodeModifiers = (node, final) => `${node.accessibility ?? ''}${node.static ? ' static' : ''} ${final} `.trimStart(); -const isSupportedLiteral = (node) => { - switch (node.type) { - case utils_1.AST_NODE_TYPES.Literal: - return true; - case utils_1.AST_NODE_TYPES.TaggedTemplateExpression: - return node.quasi.quasis.length === 1; - case utils_1.AST_NODE_TYPES.TemplateLiteral: - return node.quasis.length === 1; - default: - return false; - } -}; -exports.default = (0, util_1.createRule)({ - name: 'class-literal-property-style', - meta: { - type: 'problem', - docs: { - description: 'Enforce that literals on classes are exposed in a consistent style', - recommended: 'stylistic', - }, - hasSuggestions: true, - messages: { - preferFieldStyle: 'Literals should be exposed using readonly fields.', - preferFieldStyleSuggestion: 'Replace the literals with readonly fields.', - preferGetterStyle: 'Literals should be exposed using getters.', - preferGetterStyleSuggestion: 'Replace the literals with getters.', - }, - schema: [ - { - type: 'string', - description: 'Which literal class member syntax to prefer.', - enum: ['fields', 'getters'], - }, - ], - }, - defaultOptions: ['fields'], - create(context, [style]) { - const propertiesInfoStack = []; - function enterClassBody() { - propertiesInfoStack.push({ - excludeSet: new Set(), - properties: [], - }); - } - function exitClassBody() { - const { excludeSet, properties } = (0, util_1.nullThrows)(propertiesInfoStack.pop(), 'Stack should exist on class exit'); - properties.forEach(node => { - const { value } = node; - if (!value || !isSupportedLiteral(value)) { - return; - } - const name = (0, util_1.getStaticMemberAccessValue)(node, context); - if (name && excludeSet.has(name)) { - return; - } - context.report({ - node: node.key, - messageId: 'preferGetterStyle', - suggest: [ - { - messageId: 'preferGetterStyleSuggestion', - fix(fixer) { - const name = context.sourceCode.getText(node.key); - let text = ''; - text += printNodeModifiers(node, 'get'); - text += node.computed ? `[${name}]` : name; - text += `() { return ${context.sourceCode.getText(value)}; }`; - return fixer.replaceText(node, text); - }, - }, - ], - }); - }); - } - function excludeAssignedProperty(node) { - if ((0, util_1.isAssignee)(node)) { - const { excludeSet } = propertiesInfoStack[propertiesInfoStack.length - 1]; - const name = (0, util_1.getStaticMemberAccessValue)(node, context); - if (name) { - excludeSet.add(name); - } - } - } - return { - ...(style === 'fields' && { - MethodDefinition(node) { - if (node.kind !== 'get' || - node.override || - !node.value.body || - node.value.body.body.length === 0) { - return; - } - const [statement] = node.value.body.body; - if (statement.type !== utils_1.AST_NODE_TYPES.ReturnStatement) { - return; - } - const { argument } = statement; - if (!argument || !isSupportedLiteral(argument)) { - return; - } - const name = (0, util_1.getStaticMemberAccessValue)(node, context); - const hasDuplicateKeySetter = name && - node.parent.body.some(element => { - return (element.type === utils_1.AST_NODE_TYPES.MethodDefinition && - element.kind === 'set' && - (0, util_1.isStaticMemberAccessOfValue)(element, context, name)); - }); - if (hasDuplicateKeySetter) { - return; - } - context.report({ - node: node.key, - messageId: 'preferFieldStyle', - suggest: [ - { - messageId: 'preferFieldStyleSuggestion', - fix(fixer) { - const name = context.sourceCode.getText(node.key); - let text = ''; - text += printNodeModifiers(node, 'readonly'); - text += node.computed ? `[${name}]` : name; - text += ` = ${context.sourceCode.getText(argument)};`; - return fixer.replaceText(node, text); - }, - }, - ], - }); - }, - }), - ...(style === 'getters' && { - ClassBody: enterClassBody, - 'ClassBody:exit': exitClassBody, - 'MethodDefinition[kind="constructor"] ThisExpression'(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.MemberExpression) { - let parent = node.parent; - while (!(0, util_1.isFunction)(parent)) { - parent = parent.parent; - } - if (parent.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition && - parent.parent.kind === 'constructor') { - excludeAssignedProperty(node.parent); - } - } - }, - PropertyDefinition(node) { - if (!node.readonly || node.declare || node.override) { - return; - } - const { properties } = propertiesInfoStack[propertiesInfoStack.length - 1]; - properties.push(node); - }, - }), - }; - }, -}); -//# sourceMappingURL=class-literal-property-style.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js.map deleted file mode 100644 index b351c138..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"class-literal-property-style.js","sourceRoot":"","sources":["../../src/rules/class-literal-property-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js deleted file mode 100644 index 74fec111..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js +++ /dev/null @@ -1,207 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'class-methods-use-this', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce that class methods utilize `this`', - extendsBaseRule: true, - requiresTypeChecking: false, - }, - messages: { - missingThis: "Expected 'this' to be used by class {{name}}.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - enforceForClassFields: { - type: 'boolean', - default: true, - description: 'Enforces that functions used as instance field initializers utilize `this`.', - }, - exceptMethods: { - type: 'array', - description: 'Allows specified method names to be ignored with this rule.', - items: { - type: 'string', - }, - }, - ignoreClassesThatImplementAnInterface: { - description: 'Makes the rule ignore class members that are defined within a class that `implements` a type', - oneOf: [ - { - type: 'boolean', - description: 'Ignore all classes that implement an interface', - }, - { - type: 'string', - description: 'Ignore only the public fields of classes that implement an interface', - enum: ['public-fields'], - }, - ], - }, - ignoreOverrideMethods: { - type: 'boolean', - description: 'Ignore members marked with the `override` modifier', - }, - }, - }, - ], - }, - defaultOptions: [ - { - enforceForClassFields: true, - exceptMethods: [], - ignoreClassesThatImplementAnInterface: false, - ignoreOverrideMethods: false, - }, - ], - create(context, [{ enforceForClassFields, exceptMethods: exceptMethodsRaw, ignoreClassesThatImplementAnInterface, ignoreOverrideMethods, },]) { - const exceptMethods = new Set(exceptMethodsRaw); - let stack; - function pushContext(member) { - if (member?.parent.type === utils_1.AST_NODE_TYPES.ClassBody) { - stack = { - class: member.parent.parent, - member, - parent: stack, - usesThis: false, - }; - } - else { - stack = { - class: null, - member: null, - parent: stack, - usesThis: false, - }; - } - } - function enterFunction(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition || - node.parent.type === utils_1.AST_NODE_TYPES.PropertyDefinition) { - pushContext(node.parent); - } - else { - pushContext(); - } - } - /** - * Pop `this` used flag from the stack. - */ - function popContext() { - const oldStack = stack; - stack = stack?.parent; - return oldStack; - } - function isPublicField(accessibility) { - if (!accessibility || accessibility === 'public') { - return true; - } - return false; - } - /** - * Check if the node is an instance method not excluded by config - */ - function isIncludedInstanceMethod(node) { - if (node.static || - (node.type === utils_1.AST_NODE_TYPES.MethodDefinition && - node.kind === 'constructor') || - (node.type === utils_1.AST_NODE_TYPES.PropertyDefinition && - !enforceForClassFields)) { - return false; - } - if (node.computed || exceptMethods.size === 0) { - return true; - } - const hashIfNeeded = node.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier ? '#' : ''; - const name = (0, util_1.getStaticMemberAccessValue)(node, context); - return (typeof name !== 'string' || !exceptMethods.has(hashIfNeeded + name)); - } - /** - * Checks if we are leaving a function that is a method, and reports if 'this' has not been used. - * Static methods and the constructor are exempt. - * Then pops the context off the stack. - */ - function exitFunction(node) { - const stackContext = popContext(); - if (stackContext?.member == null || - stackContext.usesThis || - (ignoreOverrideMethods && stackContext.member.override) || - (ignoreClassesThatImplementAnInterface === true && - stackContext.class.implements.length > 0) || - (ignoreClassesThatImplementAnInterface === 'public-fields' && - stackContext.class.implements.length > 0 && - isPublicField(stackContext.member.accessibility))) { - return; - } - if (isIncludedInstanceMethod(stackContext.member)) { - context.report({ - loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode), - node, - messageId: 'missingThis', - data: { - name: (0, util_1.getFunctionNameWithKind)(node), - }, - }); - } - } - return { - // function declarations have their own `this` context - FunctionDeclaration() { - pushContext(); - }, - 'FunctionDeclaration:exit'() { - popContext(); - }, - FunctionExpression(node) { - enterFunction(node); - }, - 'FunctionExpression:exit'(node) { - exitFunction(node); - }, - ...(enforceForClassFields - ? { - 'PropertyDefinition > ArrowFunctionExpression.value'(node) { - enterFunction(node); - }, - 'PropertyDefinition > ArrowFunctionExpression.value:exit'(node) { - exitFunction(node); - }, - } - : {}), - /* - * Class field value are implicit functions. - */ - 'PropertyDefinition:exit'() { - popContext(); - }, - 'PropertyDefinition > *.key:exit'() { - pushContext(); - }, - /* - * Class static blocks are implicit functions. They aren't required to use `this`, - * but we have to push context so that it captures any use of `this` in the static block - * separately from enclosing contexts, because static blocks have their own `this` and it - * shouldn't count as used `this` in enclosing contexts. - */ - StaticBlock() { - pushContext(); - }, - 'StaticBlock:exit'() { - popContext(); - }, - 'ThisExpression, Super'() { - if (stack) { - stack.usesThis = true; - } - }, - }; - }, -}); -//# sourceMappingURL=class-methods-use-this.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js.map deleted file mode 100644 index a3d35695..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-methods-use-this.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"class-methods-use-this.js","sourceRoot":"","sources":["../../src/rules/class-methods-use-this.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js deleted file mode 100644 index 9b55e45e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js +++ /dev/null @@ -1,109 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'consistent-generic-constructors', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce specifying generic type arguments on type annotation or constructor name of a constructor call', - recommended: 'stylistic', - }, - fixable: 'code', - messages: { - preferConstructor: 'The generic type arguments should be specified as part of the constructor type arguments.', - preferTypeAnnotation: 'The generic type arguments should be specified as part of the type annotation.', - }, - schema: [ - { - type: 'string', - description: 'Which constructor call syntax to prefer.', - enum: ['type-annotation', 'constructor'], - }, - ], - }, - defaultOptions: ['constructor'], - create(context, [mode]) { - return { - 'VariableDeclarator,PropertyDefinition,:matches(FunctionDeclaration,FunctionExpression) > AssignmentPattern'(node) { - function getLHSRHS() { - switch (node.type) { - case utils_1.AST_NODE_TYPES.VariableDeclarator: - return [node.id, node.init]; - case utils_1.AST_NODE_TYPES.PropertyDefinition: - return [node, node.value]; - case utils_1.AST_NODE_TYPES.AssignmentPattern: - return [node.left, node.right]; - default: - throw new Error(`Unhandled node type: ${node.type}`); - } - } - const [lhsName, rhs] = getLHSRHS(); - const lhs = lhsName.typeAnnotation?.typeAnnotation; - if (!rhs || - rhs.type !== utils_1.AST_NODE_TYPES.NewExpression || - rhs.callee.type !== utils_1.AST_NODE_TYPES.Identifier) { - return; - } - if (lhs && - (lhs.type !== utils_1.AST_NODE_TYPES.TSTypeReference || - lhs.typeName.type !== utils_1.AST_NODE_TYPES.Identifier || - lhs.typeName.name !== rhs.callee.name)) { - return; - } - if (mode === 'type-annotation') { - if (!lhs && rhs.typeArguments) { - const { callee, typeArguments } = rhs; - const typeAnnotation = context.sourceCode.getText(callee) + - context.sourceCode.getText(typeArguments); - context.report({ - node, - messageId: 'preferTypeAnnotation', - fix(fixer) { - function getIDToAttachAnnotation() { - if (node.type !== utils_1.AST_NODE_TYPES.PropertyDefinition) { - return lhsName; - } - if (!node.computed) { - return node.key; - } - // If the property's computed, we have to attach the - // annotation after the square bracket, not the enclosed expression - return (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.key), util_1.NullThrowsReasons.MissingToken(']', 'key')); - } - return [ - fixer.remove(typeArguments), - fixer.insertTextAfter(getIDToAttachAnnotation(), `: ${typeAnnotation}`), - ]; - }, - }); - } - return; - } - if (lhs?.typeArguments && !rhs.typeArguments) { - const hasParens = context.sourceCode.getTokenAfter(rhs.callee)?.value === '('; - const extraComments = new Set(context.sourceCode.getCommentsInside(lhs.parent)); - context.sourceCode - .getCommentsInside(lhs.typeArguments) - .forEach(c => extraComments.delete(c)); - context.report({ - node, - messageId: 'preferConstructor', - *fix(fixer) { - yield fixer.remove(lhs.parent); - for (const comment of extraComments) { - yield fixer.insertTextAfter(rhs.callee, context.sourceCode.getText(comment)); - } - yield fixer.insertTextAfter(rhs.callee, context.sourceCode.getText(lhs.typeArguments)); - if (!hasParens) { - yield fixer.insertTextAfter(rhs.callee, '()'); - } - }, - }); - } - }, - }; - }, -}); -//# sourceMappingURL=consistent-generic-constructors.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js.map deleted file mode 100644 index 779c0b14..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"consistent-generic-constructors.js","sourceRoot":"","sources":["../../src/rules/consistent-generic-constructors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js deleted file mode 100644 index 02e93402..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js +++ /dev/null @@ -1,182 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'consistent-indexed-object-style', - meta: { - type: 'suggestion', - docs: { - description: 'Require or disallow the `Record` type', - recommended: 'stylistic', - }, - fixable: 'code', - messages: { - preferIndexSignature: 'An index signature is preferred over a record.', - preferRecord: 'A record is preferred over an index signature.', - }, - schema: [ - { - type: 'string', - description: 'Which indexed object syntax to prefer.', - enum: ['record', 'index-signature'], - }, - ], - }, - defaultOptions: ['record'], - create(context, [mode]) { - function checkMembers(members, node, parentId, prefix, postfix, safeFix = true) { - if (members.length !== 1) { - return; - } - const [member] = members; - if (member.type !== utils_1.AST_NODE_TYPES.TSIndexSignature) { - return; - } - const parameter = member.parameters.at(0); - if (parameter?.type !== utils_1.AST_NODE_TYPES.Identifier) { - return; - } - const keyType = parameter.typeAnnotation; - if (!keyType) { - return; - } - const valueType = member.typeAnnotation; - if (!valueType) { - return; - } - if (parentId) { - const scope = context.sourceCode.getScope(parentId); - const superVar = utils_1.ASTUtils.findVariable(scope, parentId.name); - if (superVar) { - const isCircular = superVar.references.some(item => item.isTypeReference && - node.range[0] <= item.identifier.range[0] && - node.range[1] >= item.identifier.range[1]); - if (isCircular) { - return; - } - } - } - context.report({ - node, - messageId: 'preferRecord', - fix: safeFix - ? (fixer) => { - const key = context.sourceCode.getText(keyType.typeAnnotation); - const value = context.sourceCode.getText(valueType.typeAnnotation); - const record = member.readonly - ? `Readonly>` - : `Record<${key}, ${value}>`; - return fixer.replaceText(node, `${prefix}${record}${postfix}`); - } - : null, - }); - } - return { - ...(mode === 'index-signature' && { - TSTypeReference(node) { - const typeName = node.typeName; - if (typeName.type !== utils_1.AST_NODE_TYPES.Identifier) { - return; - } - if (typeName.name !== 'Record') { - return; - } - const params = node.typeArguments?.params; - if (params?.length !== 2) { - return; - } - context.report({ - node, - messageId: 'preferIndexSignature', - fix(fixer) { - const key = context.sourceCode.getText(params[0]); - const type = context.sourceCode.getText(params[1]); - return fixer.replaceText(node, `{ [key: ${key}]: ${type} }`); - }, - }); - }, - }), - ...(mode === 'record' && { - TSInterfaceDeclaration(node) { - let genericTypes = ''; - if (node.typeParameters?.params.length) { - genericTypes = `<${node.typeParameters.params - .map(p => context.sourceCode.getText(p)) - .join(', ')}>`; - } - checkMembers(node.body.body, node, node.id, `type ${node.id.name}${genericTypes} = `, ';', !node.extends.length); - }, - TSMappedType(node) { - const key = node.key; - const scope = context.sourceCode.getScope(key); - const scopeManagerKey = (0, util_1.nullThrows)(scope.variables.find(value => value.name === key.name && value.isTypeVariable), 'key type parameter must be a defined type variable in its scope'); - // If the key is used to compute the value, we can't convert to a Record. - if (scopeManagerKey.references.some(reference => reference.isTypeReference)) { - return; - } - const constraint = node.constraint; - if (constraint.type === utils_1.AST_NODE_TYPES.TSTypeOperator && - constraint.operator === 'keyof' && - !(0, util_1.isParenthesized)(constraint, context.sourceCode)) { - // This is a weird special case, since modifiers are preserved by - // the mapped type, but not by the Record type. So this type is not, - // in general, equivalent to a Record type. - return; - } - // If the mapped type is circular, we can't convert it to a Record. - const parentId = findParentDeclaration(node)?.id; - if (parentId) { - const scope = context.sourceCode.getScope(key); - const superVar = utils_1.ASTUtils.findVariable(scope, parentId.name); - if (superVar) { - const isCircular = superVar.references.some(item => item.isTypeReference && - node.range[0] <= item.identifier.range[0] && - node.range[1] >= item.identifier.range[1]); - if (isCircular) { - return; - } - } - } - // There's no builtin Mutable type, so we can't autofix it really. - const canFix = node.readonly !== '-'; - context.report({ - node, - messageId: 'preferRecord', - ...(canFix && { - fix: (fixer) => { - const keyType = context.sourceCode.getText(constraint); - const valueType = context.sourceCode.getText(node.typeAnnotation); - let recordText = `Record<${keyType}, ${valueType}>`; - if (node.optional === '+' || node.optional === true) { - recordText = `Partial<${recordText}>`; - } - else if (node.optional === '-') { - recordText = `Required<${recordText}>`; - } - if (node.readonly === '+' || node.readonly === true) { - recordText = `Readonly<${recordText}>`; - } - return fixer.replaceText(node, recordText); - }, - }), - }); - }, - TSTypeLiteral(node) { - const parent = findParentDeclaration(node); - checkMembers(node.members, node, parent?.id, '', ''); - }, - }), - }; - }, -}); -function findParentDeclaration(node) { - if (node.parent && node.parent.type !== utils_1.AST_NODE_TYPES.TSTypeAnnotation) { - if (node.parent.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration) { - return node.parent; - } - return findParentDeclaration(node.parent); - } - return undefined; -} -//# sourceMappingURL=consistent-indexed-object-style.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map deleted file mode 100644 index d5c90bb0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"consistent-indexed-object-style.js","sourceRoot":"","sources":["../../src/rules/consistent-indexed-object-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js deleted file mode 100644 index 05223f3d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js +++ /dev/null @@ -1,136 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('consistent-return'); -const defaultOptions = [{ treatUndefinedAsUnspecified: false }]; -exports.default = (0, util_1.createRule)({ - name: 'consistent-return', - meta: { - type: 'suggestion', - defaultOptions, - docs: { - description: 'Require `return` statements to either always or never specify values', - extendsBaseRule: true, - requiresTypeChecking: true, - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: baseRule.meta.schema, - }, - defaultOptions, - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const rules = baseRule.create(context); - const functions = []; - const treatUndefinedAsUnspecified = options?.treatUndefinedAsUnspecified === true; - function enterFunction(node) { - functions.push(node); - } - function exitFunction() { - functions.pop(); - } - function getCurrentFunction() { - return functions[functions.length - 1] ?? null; - } - function isPromiseVoid(node, type) { - if (tsutils.isThenableType(checker, node, type) && - tsutils.isTypeReference(type)) { - const awaitedType = type.typeArguments?.[0]; - if (awaitedType) { - if ((0, util_1.isTypeFlagSet)(awaitedType, ts.TypeFlags.Void)) { - return true; - } - return isPromiseVoid(node, awaitedType); - } - } - return false; - } - function isReturnVoidOrThenableVoid(node) { - const functionType = services.getTypeAtLocation(node); - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - const callSignatures = functionType.getCallSignatures(); - return callSignatures.some(signature => { - const returnType = signature.getReturnType(); - if (node.async) { - return isPromiseVoid(tsNode, returnType); - } - return (0, util_1.isTypeFlagSet)(returnType, ts.TypeFlags.Void); - }); - } - return { - ...rules, - ArrowFunctionExpression: enterFunction, - 'ArrowFunctionExpression:exit'(node) { - exitFunction(); - rules['ArrowFunctionExpression:exit'](node); - }, - FunctionDeclaration: enterFunction, - 'FunctionDeclaration:exit'(node) { - exitFunction(); - rules['FunctionDeclaration:exit'](node); - }, - FunctionExpression: enterFunction, - 'FunctionExpression:exit'(node) { - exitFunction(); - rules['FunctionExpression:exit'](node); - }, - ReturnStatement(node) { - const functionNode = getCurrentFunction(); - if (!node.argument && - functionNode && - isReturnVoidOrThenableVoid(functionNode)) { - return; - } - if (treatUndefinedAsUnspecified && node.argument) { - const returnValueType = services.getTypeAtLocation(node.argument); - if (returnValueType.flags === ts.TypeFlags.Undefined) { - rules.ReturnStatement({ - ...node, - argument: null, - }); - return; - } - } - rules.ReturnStatement(node); - }, - }; - }, -}); -//# sourceMappingURL=consistent-return.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js.map deleted file mode 100644 index 7500b2d8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-return.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"consistent-return.js","sourceRoot":"","sources":["../../src/rules/consistent-return.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sDAAwC;AACxC,+CAAiC;AAOjC,kCAAuE;AACvE,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,mBAAmB,CAAC,CAAC;AAUxD,MAAM,cAAc,GAAY,CAAC,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,CAAC;AACzE,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,cAAc;QACd,IAAI,EAAE;YACJ,WAAW,EACT,sEAAsE;YACxE,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc;IACd,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,SAAS,GAAmB,EAAE,CAAC;QACrC,MAAM,2BAA2B,GAC/B,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;QAEhD,SAAS,aAAa,CAAC,IAAkB;YACvC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,SAAS,YAAY;YACnB,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,SAAS,kBAAkB;YACzB,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QACjD,CAAC;QAED,SAAS,aAAa,CAAC,IAAa,EAAE,IAAa;YACjD,IACE,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;gBAC3C,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAC7B,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,IAAA,oBAAa,EAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,0BAA0B,CAAC,IAAkB;YACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAExD,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACrC,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC7C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,IAAA,oBAAa,EAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,GAAG,KAAK;YACR,uBAAuB,EAAE,aAAa;YACtC,8BAA8B,CAAC,IAAI;gBACjC,YAAY,EAAE,CAAC;gBACf,KAAK,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;YACD,mBAAmB,EAAE,aAAa;YAClC,0BAA0B,CAAC,IAAI;gBAC7B,YAAY,EAAE,CAAC;gBACf,KAAK,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,kBAAkB,EAAE,aAAa;YACjC,yBAAyB,CAAC,IAAI;gBAC5B,YAAY,EAAE,CAAC;gBACf,KAAK,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,eAAe,CAAC,IAAI;gBAClB,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;gBAC1C,IACE,CAAC,IAAI,CAAC,QAAQ;oBACd,YAAY;oBACZ,0BAA0B,CAAC,YAAY,CAAC,EACxC,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IAAI,2BAA2B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAClE,IAAI,eAAe,CAAC,KAAK,KAAK,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;wBACrD,KAAK,CAAC,eAAe,CAAC;4BACpB,GAAG,IAAI;4BACP,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js deleted file mode 100644 index 6e9c2ed2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js +++ /dev/null @@ -1,222 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getWrappedCode_1 = require("../util/getWrappedCode"); -exports.default = (0, util_1.createRule)({ - name: 'consistent-type-assertions', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce consistent usage of type assertions', - recommended: 'stylistic', - }, - fixable: 'code', - hasSuggestions: true, - messages: { - 'angle-bracket': "Use '<{{cast}}>' instead of 'as {{cast}}'.", - as: "Use 'as {{cast}}' instead of '<{{cast}}>'.", - never: 'Do not use any type assertions.', - replaceObjectTypeAssertionWithAnnotation: 'Use const x: {{cast}} = { ... } instead.', - replaceObjectTypeAssertionWithSatisfies: 'Use const x = { ... } satisfies {{cast}} instead.', - unexpectedObjectTypeAssertion: 'Always prefer const x: T = { ... }.', - }, - schema: [ - { - oneOf: [ - { - type: 'object', - additionalProperties: false, - properties: { - assertionStyle: { - type: 'string', - description: 'The expected assertion style to enforce.', - enum: ['never'], - }, - }, - required: ['assertionStyle'], - }, - { - type: 'object', - additionalProperties: false, - properties: { - assertionStyle: { - type: 'string', - description: 'The expected assertion style to enforce.', - enum: ['as', 'angle-bracket'], - }, - objectLiteralTypeAssertions: { - type: 'string', - description: 'Whether to always prefer type declarations for object literals used as variable initializers, rather than type assertions.', - enum: ['allow', 'allow-as-parameter', 'never'], - }, - }, - required: ['assertionStyle'], - }, - ], - }, - ], - }, - defaultOptions: [ - { - assertionStyle: 'as', - objectLiteralTypeAssertions: 'allow', - }, - ], - create(context, [options]) { - function isConst(node) { - if (node.type !== utils_1.AST_NODE_TYPES.TSTypeReference) { - return false; - } - return (node.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - node.typeName.name === 'const'); - } - function reportIncorrectAssertionType(node) { - const messageId = options.assertionStyle; - // If this node is `as const`, then don't report an error. - if (isConst(node.typeAnnotation) && messageId === 'never') { - return; - } - context.report({ - node, - messageId, - data: messageId !== 'never' - ? { cast: context.sourceCode.getText(node.typeAnnotation) } - : {}, - fix: messageId === 'as' - ? (fixer) => { - // lazily access parserServices to avoid crashing on non TS files (#9860) - const tsNode = (0, util_1.getParserServices)(context, true).esTreeNodeToTSNodeMap.get(node); - const expressionCode = context.sourceCode.getText(node.expression); - const typeAnnotationCode = context.sourceCode.getText(node.typeAnnotation); - const asPrecedence = (0, util_1.getOperatorPrecedence)(ts.SyntaxKind.AsExpression, ts.SyntaxKind.Unknown); - const parentPrecedence = (0, util_1.getOperatorPrecedence)(tsNode.parent.kind, ts.isBinaryExpression(tsNode.parent) - ? tsNode.parent.operatorToken.kind - : ts.SyntaxKind.Unknown, ts.isNewExpression(tsNode.parent) - ? tsNode.parent.arguments != null && - tsNode.parent.arguments.length > 0 - : undefined); - const expressionPrecedence = (0, util_1.getOperatorPrecedenceForNode)(node.expression); - const expressionCodeWrapped = (0, getWrappedCode_1.getWrappedCode)(expressionCode, expressionPrecedence, asPrecedence); - const text = `${expressionCodeWrapped} as ${typeAnnotationCode}`; - return fixer.replaceText(node, (0, util_1.isParenthesized)(node, context.sourceCode) - ? text - : (0, getWrappedCode_1.getWrappedCode)(text, asPrecedence, parentPrecedence)); - } - : undefined, - }); - } - function checkType(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSAnyKeyword: - case utils_1.AST_NODE_TYPES.TSUnknownKeyword: - return false; - case utils_1.AST_NODE_TYPES.TSTypeReference: - return ( - // Ignore `as const` and `` - !isConst(node) || - // Allow qualified names which have dots between identifiers, `Foo.Bar` - node.typeName.type === utils_1.AST_NODE_TYPES.TSQualifiedName); - default: - return true; - } - } - function checkExpression(node) { - if (options.assertionStyle === 'never' || - options.objectLiteralTypeAssertions === 'allow' || - node.expression.type !== utils_1.AST_NODE_TYPES.ObjectExpression) { - return; - } - if (options.objectLiteralTypeAssertions === 'allow-as-parameter' && - (node.parent.type === utils_1.AST_NODE_TYPES.NewExpression || - node.parent.type === utils_1.AST_NODE_TYPES.CallExpression || - node.parent.type === utils_1.AST_NODE_TYPES.ThrowStatement || - node.parent.type === utils_1.AST_NODE_TYPES.AssignmentPattern || - node.parent.type === utils_1.AST_NODE_TYPES.JSXExpressionContainer || - (node.parent.type === utils_1.AST_NODE_TYPES.TemplateLiteral && - node.parent.parent.type === - utils_1.AST_NODE_TYPES.TaggedTemplateExpression))) { - return; - } - if (checkType(node.typeAnnotation)) { - const suggest = []; - if (node.parent.type === utils_1.AST_NODE_TYPES.VariableDeclarator && - !node.parent.id.typeAnnotation) { - const { parent } = node; - suggest.push({ - messageId: 'replaceObjectTypeAssertionWithAnnotation', - data: { cast: context.sourceCode.getText(node.typeAnnotation) }, - fix: fixer => [ - fixer.insertTextAfter(parent.id, `: ${context.sourceCode.getText(node.typeAnnotation)}`), - fixer.replaceText(node, (0, util_1.getTextWithParentheses)(context.sourceCode, node.expression)), - ], - }); - } - suggest.push({ - messageId: 'replaceObjectTypeAssertionWithSatisfies', - data: { cast: context.sourceCode.getText(node.typeAnnotation) }, - fix: fixer => [ - fixer.replaceText(node, (0, util_1.getTextWithParentheses)(context.sourceCode, node.expression)), - fixer.insertTextAfter(node, ` satisfies ${context.sourceCode.getText(node.typeAnnotation)}`), - ], - }); - context.report({ - node, - messageId: 'unexpectedObjectTypeAssertion', - suggest, - }); - } - } - return { - TSAsExpression(node) { - if (options.assertionStyle !== 'as') { - reportIncorrectAssertionType(node); - return; - } - checkExpression(node); - }, - TSTypeAssertion(node) { - if (options.assertionStyle !== 'angle-bracket') { - reportIncorrectAssertionType(node); - return; - } - checkExpression(node); - }, - }; - }, -}); -//# sourceMappingURL=consistent-type-assertions.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map deleted file mode 100644 index 205fc4fe..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"consistent-type-assertions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-assertions.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js deleted file mode 100644 index 7e70451f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js +++ /dev/null @@ -1,101 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'consistent-type-definitions', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce type definitions to consistently use either `interface` or `type`', - recommended: 'stylistic', - }, - fixable: 'code', - messages: { - interfaceOverType: 'Use an `interface` instead of a `type`.', - typeOverInterface: 'Use a `type` instead of an `interface`.', - }, - schema: [ - { - type: 'string', - description: 'Which type definition syntax to prefer.', - enum: ['interface', 'type'], - }, - ], - }, - defaultOptions: ['interface'], - create(context, [option]) { - /** - * Iterates from the highest parent to the currently traversed node - * to determine whether any node in tree is globally declared module declaration - */ - function isCurrentlyTraversedNodeWithinModuleDeclaration(node) { - return context.sourceCode - .getAncestors(node) - .some(node => node.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration && - node.declare && - node.kind === 'global'); - } - return { - ...(option === 'interface' && { - "TSTypeAliasDeclaration[typeAnnotation.type='TSTypeLiteral']"(node) { - context.report({ - node: node.id, - messageId: 'interfaceOverType', - fix(fixer) { - const typeToken = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(node.id, token => token.value === 'type'), util_1.NullThrowsReasons.MissingToken('type keyword', 'type alias')); - const equalsToken = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(node.typeAnnotation, token => token.value === '='), util_1.NullThrowsReasons.MissingToken('=', 'type alias')); - const beforeEqualsToken = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(equalsToken, { - includeComments: true, - }), util_1.NullThrowsReasons.MissingToken('before =', 'type alias')); - return [ - // replace 'type' with 'interface'. - fixer.replaceText(typeToken, 'interface'), - // delete from the = to the { of the type, and put a space to be pretty. - fixer.replaceTextRange([beforeEqualsToken.range[1], node.typeAnnotation.range[0]], ' '), - // remove from the closing } through the end of the statement. - fixer.removeRange([ - node.typeAnnotation.range[1], - node.range[1], - ]), - ]; - }, - }); - }, - }), - ...(option === 'type' && { - TSInterfaceDeclaration(node) { - const fix = isCurrentlyTraversedNodeWithinModuleDeclaration(node) - ? null - : (fixer) => { - const typeNode = node.typeParameters ?? node.id; - const fixes = []; - const firstToken = context.sourceCode.getTokenBefore(node.id); - if (firstToken) { - fixes.push(fixer.replaceText(firstToken, 'type')); - fixes.push(fixer.replaceTextRange([typeNode.range[1], node.body.range[0]], ' = ')); - } - node.extends.forEach(heritage => { - const typeIdentifier = context.sourceCode.getText(heritage); - fixes.push(fixer.insertTextAfter(node.body, ` & ${typeIdentifier}`)); - }); - if (node.parent.type === utils_1.AST_NODE_TYPES.ExportDefaultDeclaration) { - fixes.push(fixer.removeRange([node.parent.range[0], node.range[0]]), fixer.insertTextAfter(node.body, `\nexport default ${node.id.name}`)); - } - return fixes; - }; - context.report({ - node: node.id, - messageId: 'typeOverInterface', - /** - * remove automatically fix when the interface is within a declare global - * @see {@link https://github.com/typescript-eslint/typescript-eslint/issues/2707} - */ - fix, - }); - }, - }), - }; - }, -}); -//# sourceMappingURL=consistent-type-definitions.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map deleted file mode 100644 index 8c946b33..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"consistent-type-definitions.js","sourceRoot":"","sources":["../../src/rules/consistent-type-definitions.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js deleted file mode 100644 index 505a8fc8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js +++ /dev/null @@ -1,336 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'consistent-type-exports', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce consistent usage of type exports', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - multipleExportsAreTypes: 'Type exports {{exportNames}} are not values and should be exported using `export type`.', - singleExportIsType: 'Type export {{exportNames}} is not a value and should be exported using `export type`.', - typeOverValue: 'All exports in the declaration are only used as types. Use `export type`.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - fixMixedExportsWithInlineTypeSpecifier: { - type: 'boolean', - description: 'Whether the rule will autofix "mixed" export cases using TS inline type specifiers.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - fixMixedExportsWithInlineTypeSpecifier: false, - }, - ], - create(context, [{ fixMixedExportsWithInlineTypeSpecifier }]) { - const sourceExportsMap = {}; - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - /** - * Helper for identifying if a symbol resolves to a - * JavaScript value or a TypeScript type. - * - * @returns True/false if is a type or not, or undefined if the specifier - * can't be resolved. - */ - function isSymbolTypeBased(symbol) { - if (!symbol) { - return undefined; - } - const aliasedSymbol = tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Alias) - ? checker.getAliasedSymbol(symbol) - : symbol; - if (checker.isUnknownSymbol(aliasedSymbol)) { - return undefined; - } - return !(aliasedSymbol.flags & ts.SymbolFlags.Value); - } - return { - ExportAllDeclaration(node) { - if (node.exportKind === 'type') { - return; - } - const sourceModule = ts.resolveModuleName(node.source.value, context.filename, services.program.getCompilerOptions(), ts.sys); - if (sourceModule.resolvedModule == null) { - return; - } - const sourceFile = services.program.getSourceFile(sourceModule.resolvedModule.resolvedFileName); - if (sourceFile == null) { - return; - } - const sourceFileSymbol = checker.getSymbolAtLocation(sourceFile); - if (sourceFileSymbol == null) { - return; - } - const sourceFileType = checker.getTypeOfSymbol(sourceFileSymbol); - // Module can explicitly export types or values, and it's not difficult - // to distinguish one from the other, since we can get the flags of - // the exported symbols or check if symbol export declaration has - // the "type" keyword in it. - // - // Things get a lot more complicated when we're dealing with - // export * from './module-with-type-only-exports' - // export type * from './module-with-type-and-value-exports' - // - // TS checker has an internal function getExportsOfModuleWorker that - // recursively visits all module exports, including "export *". It then - // puts type-only-star-exported symbols into the typeOnlyExportStarMap - // property of sourceFile's SymbolLinks. Since symbol links aren't - // exposed outside the checker, we cannot access it directly. - // - // Therefore, to filter out value properties, we use the following hack: - // checker.getPropertiesOfType returns all exports that were originally - // values, but checker.getPropertyOfType returns undefined for - // properties that are mentioned in the typeOnlyExportStarMap. - const isThereAnyExportedValue = checker - .getPropertiesOfType(sourceFileType) - .some(propertyTypeSymbol => checker.getPropertyOfType(sourceFileType, propertyTypeSymbol.escapedName.toString()) != null); - if (isThereAnyExportedValue) { - return; - } - context.report({ - node, - messageId: 'typeOverValue', - fix(fixer) { - const asteriskToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, token => token.type === utils_1.AST_TOKEN_TYPES.Punctuator && - token.value === '*'), util_1.NullThrowsReasons.MissingToken('asterisk', 'export all declaration')); - return fixer.insertTextBefore(asteriskToken, 'type '); - }, - }); - }, - ExportNamedDeclaration(node) { - // Coerce the source into a string for use as a lookup entry. - const source = getSourceFromExport(node) ?? 'undefined'; - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - const sourceExports = (sourceExportsMap[source] ||= { - reportValueExports: [], - source, - typeOnlyNamedExport: null, - valueOnlyNamedExport: null, - }); - // Cache the first encountered exports for the package. We will need to come - // back to these later when fixing the problems. - if (node.exportKind === 'type') { - if (sourceExports.typeOnlyNamedExport == null) { - // The export is a type export - sourceExports.typeOnlyNamedExport = node; - } - } - else if (sourceExports.valueOnlyNamedExport == null) { - // The export is a value export - sourceExports.valueOnlyNamedExport = node; - } - // Next for the current export, we will separate type/value specifiers. - const typeBasedSpecifiers = []; - const inlineTypeSpecifiers = []; - const valueSpecifiers = []; - // Note: it is valid to export values as types. We will avoid reporting errors - // when this is encountered. - if (node.exportKind !== 'type') { - for (const specifier of node.specifiers) { - if (specifier.exportKind === 'type') { - inlineTypeSpecifiers.push(specifier); - continue; - } - const isTypeBased = isSymbolTypeBased(services.getSymbolAtLocation(specifier.exported)); - if (isTypeBased === true) { - typeBasedSpecifiers.push(specifier); - } - else if (isTypeBased === false) { - // When isTypeBased is undefined, we should avoid reporting them. - valueSpecifiers.push(specifier); - } - } - } - if ((node.exportKind === 'value' && typeBasedSpecifiers.length) || - (node.exportKind === 'type' && valueSpecifiers.length)) { - sourceExports.reportValueExports.push({ - node, - inlineTypeSpecifiers, - typeBasedSpecifiers, - valueSpecifiers, - }); - } - }, - 'Program:exit'() { - for (const sourceExports of Object.values(sourceExportsMap)) { - // If this export has no issues, move on. - if (sourceExports.reportValueExports.length === 0) { - continue; - } - for (const report of sourceExports.reportValueExports) { - if (report.valueSpecifiers.length === 0) { - // Export is all type-only with no type specifiers; convert the entire export to `export type`. - context.report({ - node: report.node, - messageId: 'typeOverValue', - *fix(fixer) { - yield* fixExportInsertType(fixer, context.sourceCode, report.node); - }, - }); - continue; - } - // We have both type and value violations. - const allExportNames = report.typeBasedSpecifiers.map(specifier => specifier.local.type === utils_1.AST_NODE_TYPES.Identifier - ? specifier.local.name - : specifier.local.value); - if (allExportNames.length === 1) { - const exportNames = allExportNames[0]; - context.report({ - node: report.node, - messageId: 'singleExportIsType', - data: { exportNames }, - *fix(fixer) { - if (fixMixedExportsWithInlineTypeSpecifier) { - yield* fixAddTypeSpecifierToNamedExports(fixer, report); - } - else { - yield* fixSeparateNamedExports(fixer, context.sourceCode, report); - } - }, - }); - } - else { - const exportNames = (0, util_1.formatWordList)(allExportNames); - context.report({ - node: report.node, - messageId: 'multipleExportsAreTypes', - data: { exportNames }, - *fix(fixer) { - if (fixMixedExportsWithInlineTypeSpecifier) { - yield* fixAddTypeSpecifierToNamedExports(fixer, report); - } - else { - yield* fixSeparateNamedExports(fixer, context.sourceCode, report); - } - }, - }); - } - } - } - }, - }; - }, -}); -/** - * Inserts "type" into an export. - * - * Example: - * - * export type { Foo } from 'foo'; - * ^^^^ - */ -function* fixExportInsertType(fixer, sourceCode, node) { - const exportToken = (0, util_1.nullThrows)(sourceCode.getFirstToken(node), util_1.NullThrowsReasons.MissingToken('export', node.type)); - yield fixer.insertTextAfter(exportToken, ' type'); - for (const specifier of node.specifiers) { - if (specifier.exportKind === 'type') { - const kindToken = (0, util_1.nullThrows)(sourceCode.getFirstToken(specifier), util_1.NullThrowsReasons.MissingToken('export', specifier.type)); - const firstTokenAfter = (0, util_1.nullThrows)(sourceCode.getTokenAfter(kindToken, { - includeComments: true, - }), 'Missing token following the export kind.'); - yield fixer.removeRange([kindToken.range[0], firstTokenAfter.range[0]]); - } - } -} -/** - * Separates the exports which mismatch the kind of export the given - * node represents. For example, a type export's named specifiers which - * represent values will be inserted in a separate `export` statement. - */ -function* fixSeparateNamedExports(fixer, sourceCode, report) { - const { node, inlineTypeSpecifiers, typeBasedSpecifiers, valueSpecifiers } = report; - const typeSpecifiers = [...typeBasedSpecifiers, ...inlineTypeSpecifiers]; - const source = getSourceFromExport(node); - const specifierNames = typeSpecifiers.map(getSpecifierText).join(', '); - const exportToken = (0, util_1.nullThrows)(sourceCode.getFirstToken(node), util_1.NullThrowsReasons.MissingToken('export', node.type)); - // Filter the bad exports from the current line. - const filteredSpecifierNames = valueSpecifiers - .map(getSpecifierText) - .join(', '); - const openToken = (0, util_1.nullThrows)(sourceCode.getFirstToken(node, util_1.isOpeningBraceToken), util_1.NullThrowsReasons.MissingToken('{', node.type)); - const closeToken = (0, util_1.nullThrows)(sourceCode.getLastToken(node, util_1.isClosingBraceToken), util_1.NullThrowsReasons.MissingToken('}', node.type)); - // Remove exports from the current line which we're going to re-insert. - yield fixer.replaceTextRange([openToken.range[1], closeToken.range[0]], ` ${filteredSpecifierNames} `); - // Insert the bad exports into a new export line above. - yield fixer.insertTextBefore(exportToken, `export type { ${specifierNames} }${source ? ` from '${source}'` : ''};\n`); -} -function* fixAddTypeSpecifierToNamedExports(fixer, report) { - if (report.node.exportKind === 'type') { - return; - } - for (const specifier of report.typeBasedSpecifiers) { - yield fixer.insertTextBefore(specifier, 'type '); - } -} -/** - * Returns the source of the export, or undefined if the named export has no source. - */ -function getSourceFromExport(node) { - if (node.source?.type === utils_1.AST_NODE_TYPES.Literal && - typeof node.source.value === 'string') { - return node.source.value; - } - return undefined; -} -/** - * Returns the specifier text for the export. If it is aliased, we take care to return - * the proper formatting. - */ -function getSpecifierText(specifier) { - const exportedName = specifier.exported.type === utils_1.AST_NODE_TYPES.Literal - ? specifier.exported.raw - : specifier.exported.name; - const localName = specifier.local.type === utils_1.AST_NODE_TYPES.Literal - ? specifier.local.raw - : specifier.local.name; - return `${localName}${exportedName !== localName ? ` as ${exportedName}` : ''}`; -} -//# sourceMappingURL=consistent-type-exports.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js.map deleted file mode 100644 index d623f065..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"consistent-type-exports.js","sourceRoot":"","sources":["../../src/rules/consistent-type-exports.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js deleted file mode 100644 index 62943c1a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js +++ /dev/null @@ -1,609 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'consistent-type-imports', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce consistent usage of type imports', - }, - fixable: 'code', - messages: { - avoidImportType: 'Use an `import` instead of an `import type`.', - noImportTypeAnnotations: '`import()` type annotations are forbidden.', - someImportsAreOnlyTypes: 'Imports {{typeImports}} are only used as type.', - typeOverValue: 'All imports in the declaration are only used as types. Use `import type`.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - disallowTypeAnnotations: { - type: 'boolean', - description: 'Whether to disallow type imports in type annotations (`import()`).', - }, - fixStyle: { - type: 'string', - description: 'The expected type modifier to be added when an import is detected as used only in the type position.', - enum: ['separate-type-imports', 'inline-type-imports'], - }, - prefer: { - type: 'string', - description: 'The expected import kind for type-only imports.', - enum: ['type-imports', 'no-type-imports'], - }, - }, - }, - ], - }, - defaultOptions: [ - { - disallowTypeAnnotations: true, - fixStyle: 'separate-type-imports', - prefer: 'type-imports', - }, - ], - create(context, [option]) { - const prefer = option.prefer ?? 'type-imports'; - const disallowTypeAnnotations = option.disallowTypeAnnotations !== false; - const selectors = {}; - if (disallowTypeAnnotations) { - selectors.TSImportType = (node) => { - context.report({ - node, - messageId: 'noImportTypeAnnotations', - }); - }; - } - if (prefer === 'no-type-imports') { - return { - ...selectors, - 'ImportDeclaration[importKind = "type"]'(node) { - context.report({ - node, - messageId: 'avoidImportType', - fix(fixer) { - return fixRemoveTypeSpecifierFromImportDeclaration(fixer, node); - }, - }); - }, - 'ImportSpecifier[importKind = "type"]'(node) { - context.report({ - node, - messageId: 'avoidImportType', - fix(fixer) { - return fixRemoveTypeSpecifierFromImportSpecifier(fixer, node); - }, - }); - }, - }; - } - // prefer type imports - const fixStyle = option.fixStyle ?? 'separate-type-imports'; - let hasDecoratorMetadata = false; - const sourceImportsMap = {}; - const emitDecoratorMetadata = (0, util_1.getParserServices)(context, true).emitDecoratorMetadata ?? false; - const experimentalDecorators = (0, util_1.getParserServices)(context, true).experimentalDecorators ?? false; - if (experimentalDecorators && emitDecoratorMetadata) { - selectors.Decorator = () => { - hasDecoratorMetadata = true; - }; - } - return { - ...selectors, - ImportDeclaration(node) { - const source = node.source.value; - // sourceImports is the object containing all the specifics for a particular import source, type or value - sourceImportsMap[source] ??= { - reportValueImports: [], // if there is a mismatch where type importKind but value specifiers - source, - typeOnlyNamedImport: null, // if only type imports - valueImport: null, // if only value imports - valueOnlyNamedImport: null, // if only value imports with named specifiers - }; - const sourceImports = sourceImportsMap[source]; - if (node.importKind === 'type') { - if (!sourceImports.typeOnlyNamedImport && - node.specifiers.every(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier)) { - // definitely import type { TypeX } - sourceImports.typeOnlyNamedImport = node; - } - } - else if (!sourceImports.valueOnlyNamedImport && - node.specifiers.length && - node.specifiers.every(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier)) { - sourceImports.valueOnlyNamedImport = node; - sourceImports.valueImport = node; - } - else if (!sourceImports.valueImport && - node.specifiers.some(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportDefaultSpecifier)) { - sourceImports.valueImport = node; - } - const typeSpecifiers = []; - const inlineTypeSpecifiers = []; - const valueSpecifiers = []; - const unusedSpecifiers = []; - for (const specifier of node.specifiers) { - if (specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier && - specifier.importKind === 'type') { - inlineTypeSpecifiers.push(specifier); - continue; - } - const [variable] = context.sourceCode.getDeclaredVariables(specifier); - if (variable.references.length === 0) { - unusedSpecifiers.push(specifier); - } - else { - const onlyHasTypeReferences = variable.references.every(ref => { - /** - * keep origin import kind when export - * export { Type } - * export default Type; - * export = Type; - */ - if ((ref.identifier.parent.type === - utils_1.AST_NODE_TYPES.ExportSpecifier || - ref.identifier.parent.type === - utils_1.AST_NODE_TYPES.ExportDefaultDeclaration || - ref.identifier.parent.type === - utils_1.AST_NODE_TYPES.TSExportAssignment) && - ref.isValueReference && - ref.isTypeReference) { - return node.importKind === 'type'; - } - if (ref.isValueReference) { - let parent = ref.identifier.parent; - let child = ref.identifier; - while (parent) { - switch (parent.type) { - // CASE 1: - // `type T = typeof foo` will create a value reference because "foo" must be a value type - // however this value reference is safe to use with type-only imports - case utils_1.AST_NODE_TYPES.TSTypeQuery: - return true; - case utils_1.AST_NODE_TYPES.TSQualifiedName: - // TSTypeQuery must have a TSESTree.EntityName as its child, so we can filter here and break early - if (parent.left !== child) { - return false; - } - child = parent; - parent = parent.parent; - continue; - // END CASE 1 - ////////////// - // CASE 2: - // `type T = { [foo]: string }` will create a value reference because "foo" must be a value type - // however this value reference is safe to use with type-only imports. - // Also this is represented as a non-type AST - hence it uses MemberExpression - case utils_1.AST_NODE_TYPES.TSPropertySignature: - return parent.key === child; - case utils_1.AST_NODE_TYPES.MemberExpression: - if (parent.object !== child) { - return false; - } - child = parent; - parent = parent.parent; - continue; - // END CASE 2 - default: - return false; - } - } - } - return ref.isTypeReference; - }); - if (onlyHasTypeReferences) { - typeSpecifiers.push(specifier); - } - else { - valueSpecifiers.push(specifier); - } - } - } - if (node.importKind === 'value' && typeSpecifiers.length) { - sourceImports.reportValueImports.push({ - node, - inlineTypeSpecifiers, - typeSpecifiers, - unusedSpecifiers, - valueSpecifiers, - }); - } - }, - 'Program:exit'() { - if (hasDecoratorMetadata) { - // Experimental decorator metadata is bowl of poop that cannot be - // supported based on pure syntactic analysis. - // - // So we can do one of two things: - // 1) add type-information to the rule in a breaking change and - // prevent users from using it so that we can fully support this - // case. - // 2) make the rule ignore all imports that are used in a file that - // might have decorator metadata. - // - // (1) is has huge impact and prevents the rule from being used by 99% - // of users Frankly - it's a straight-up bad option. So instead we - // choose with option (2) and just avoid reporting on any imports in a - // file with both emitDecoratorMetadata AND decorators - // - // For more context see the discussion in this issue and its linked - // issues: - // https://github.com/typescript-eslint/typescript-eslint/issues/5468 - // - // - // NOTE - in TS 5.0 `experimentalDecorators` became the legacy option, - // replaced with un-flagged, stable decorators and thus the type-aware - // emitDecoratorMetadata implementation also became legacy. in TS 5.2 - // support for the new, stable decorator metadata proposal was added - - // however this proposal does not include type information - // - // - // PHEW. So TL;DR what does all this mean? - // - if you use experimentalDecorators:true, - // emitDecoratorMetadata:true, and have a decorator in the file - - // the rule will do nothing in the file out of an abundance of - // caution. - // - else the rule will work as normal. - return; - } - for (const sourceImports of Object.values(sourceImportsMap)) { - if (sourceImports.reportValueImports.length === 0) { - // nothing to fix. value specifiers and type specifiers are correctly written - continue; - } - for (const report of sourceImports.reportValueImports) { - if (report.valueSpecifiers.length === 0 && - report.unusedSpecifiers.length === 0 && - report.node.importKind !== 'type') { - /** - * checks if import has type assertions - * @example - * ```ts - * import * as type from 'mod' assert \{ type: 'json' \}; - * ``` - * https://github.com/typescript-eslint/typescript-eslint/issues/7527 - */ - if (report.node.attributes.length === 0) { - context.report({ - node: report.node, - messageId: 'typeOverValue', - *fix(fixer) { - yield* fixToTypeImportDeclaration(fixer, report, sourceImports); - }, - }); - } - } - else { - // we have a mixed type/value import or just value imports, so we need to split them out into multiple imports if separate-type-imports is configured - const importNames = report.typeSpecifiers.map(specifier => `"${specifier.local.name}"`); - const message = (() => { - const typeImports = (0, util_1.formatWordList)(importNames); - if (importNames.length === 1) { - return { - messageId: 'someImportsAreOnlyTypes', - data: { - typeImports, - }, - }; - } - return { - messageId: 'someImportsAreOnlyTypes', - data: { - typeImports, - }, - }; - })(); - context.report({ - node: report.node, - ...message, - *fix(fixer) { - // take all the typeSpecifiers and put them on a new line - yield* fixToTypeImportDeclaration(fixer, report, sourceImports); - }, - }); - } - } - } - }, - }; - function classifySpecifier(node) { - const defaultSpecifier = node.specifiers[0].type === utils_1.AST_NODE_TYPES.ImportDefaultSpecifier - ? node.specifiers[0] - : null; - const namespaceSpecifier = node.specifiers.find((specifier) => specifier.type === utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier) ?? null; - const namedSpecifiers = node.specifiers.filter((specifier) => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier); - return { - defaultSpecifier, - namedSpecifiers, - namespaceSpecifier, - }; - } - /** - * Returns information for fixing named specifiers, type or value - */ - function getFixesNamedSpecifiers(fixer, node, subsetNamedSpecifiers, allNamedSpecifiers) { - if (allNamedSpecifiers.length === 0) { - return { - removeTypeNamedSpecifiers: [], - typeNamedSpecifiersText: '', - }; - } - const typeNamedSpecifiersTexts = []; - const removeTypeNamedSpecifiers = []; - if (subsetNamedSpecifiers.length === allNamedSpecifiers.length) { - // import Foo, {Type1, Type2} from 'foo' - // import DefType, {Type1, Type2} from 'foo' - const openingBraceToken = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(subsetNamedSpecifiers[0], util_1.isOpeningBraceToken), util_1.NullThrowsReasons.MissingToken('{', node.type)); - const commaToken = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(openingBraceToken, util_1.isCommaToken), util_1.NullThrowsReasons.MissingToken(',', node.type)); - const closingBraceToken = (0, util_1.nullThrows)(context.sourceCode.getFirstTokenBetween(openingBraceToken, node.source, util_1.isClosingBraceToken), util_1.NullThrowsReasons.MissingToken('}', node.type)); - // import DefType, {...} from 'foo' - // ^^^^^^^ remove - removeTypeNamedSpecifiers.push(fixer.removeRange([commaToken.range[0], closingBraceToken.range[1]])); - typeNamedSpecifiersTexts.push(context.sourceCode.text.slice(openingBraceToken.range[1], closingBraceToken.range[0])); - } - else { - const namedSpecifierGroups = []; - let group = []; - for (const namedSpecifier of allNamedSpecifiers) { - if (subsetNamedSpecifiers.includes(namedSpecifier)) { - group.push(namedSpecifier); - } - else if (group.length) { - namedSpecifierGroups.push(group); - group = []; - } - } - if (group.length) { - namedSpecifierGroups.push(group); - } - for (const namedSpecifiers of namedSpecifierGroups) { - const { removeRange, textRange } = getNamedSpecifierRanges(namedSpecifiers, allNamedSpecifiers); - removeTypeNamedSpecifiers.push(fixer.removeRange(removeRange)); - typeNamedSpecifiersTexts.push(context.sourceCode.text.slice(...textRange)); - } - } - return { - removeTypeNamedSpecifiers, - typeNamedSpecifiersText: typeNamedSpecifiersTexts.join(','), - }; - } - /** - * Returns ranges for fixing named specifier. - */ - function getNamedSpecifierRanges(namedSpecifierGroup, allNamedSpecifiers) { - const first = namedSpecifierGroup[0]; - const last = namedSpecifierGroup[namedSpecifierGroup.length - 1]; - const removeRange = [first.range[0], last.range[1]]; - const textRange = [...removeRange]; - const before = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(first), util_1.NullThrowsReasons.MissingToken('token', 'first specifier')); - textRange[0] = before.range[1]; - if ((0, util_1.isCommaToken)(before)) { - removeRange[0] = before.range[0]; - } - else { - removeRange[0] = before.range[1]; - } - const isFirst = allNamedSpecifiers[0] === first; - const isLast = allNamedSpecifiers[allNamedSpecifiers.length - 1] === last; - const after = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(last), util_1.NullThrowsReasons.MissingToken('token', 'last specifier')); - textRange[1] = after.range[0]; - if ((isFirst || isLast) && (0, util_1.isCommaToken)(after)) { - removeRange[1] = after.range[1]; - } - return { - removeRange, - textRange, - }; - } - /** - * insert specifiers to named import node. - * e.g. - * import type { Already, Type1, Type2 } from 'foo' - * ^^^^^^^^^^^^^ insert - */ - function fixInsertNamedSpecifiersInNamedSpecifierList(fixer, target, insertText) { - const closingBraceToken = (0, util_1.nullThrows)(context.sourceCode.getFirstTokenBetween((0, util_1.nullThrows)(context.sourceCode.getFirstToken(target), util_1.NullThrowsReasons.MissingToken('token before', 'import')), target.source, util_1.isClosingBraceToken), util_1.NullThrowsReasons.MissingToken('}', target.type)); - const before = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(closingBraceToken), util_1.NullThrowsReasons.MissingToken('token before', 'closing brace')); - if (!(0, util_1.isCommaToken)(before) && !(0, util_1.isOpeningBraceToken)(before)) { - insertText = `,${insertText}`; - } - return fixer.insertTextBefore(closingBraceToken, insertText); - } - /** - * insert type keyword to named import node. - * e.g. - * import ADefault, { Already, type Type1, type Type2 } from 'foo' - * ^^^^ insert - */ - function* fixInsertTypeKeywordInNamedSpecifierList(fixer, typeSpecifiers) { - for (const spec of typeSpecifiers) { - const insertText = context.sourceCode.text.slice(...spec.range); - yield fixer.replaceTextRange(spec.range, `type ${insertText}`); - } - } - function* fixInlineTypeImportDeclaration(fixer, report, sourceImports) { - const { node } = report; - // For a value import, will only add an inline type to named specifiers - const { namedSpecifiers } = classifySpecifier(node); - const typeNamedSpecifiers = namedSpecifiers.filter(specifier => report.typeSpecifiers.includes(specifier)); - if (sourceImports.valueImport) { - // add import named type specifiers to its value import - // import ValueA, { type A } - // ^^^^ insert - const { namedSpecifiers: valueImportNamedSpecifiers } = classifySpecifier(sourceImports.valueImport); - if (sourceImports.valueOnlyNamedImport || - valueImportNamedSpecifiers.length) { - yield* fixInsertTypeKeywordInNamedSpecifierList(fixer, typeNamedSpecifiers); - } - } - } - function* fixToTypeImportDeclaration(fixer, report, sourceImports) { - const { node } = report; - const { defaultSpecifier, namedSpecifiers, namespaceSpecifier } = classifySpecifier(node); - if (namespaceSpecifier && !defaultSpecifier) { - // import * as types from 'foo' - // checks for presence of import assertions - if (node.attributes.length === 0) { - yield* fixInsertTypeSpecifierForImportDeclaration(fixer, node, false); - } - return; - } - if (defaultSpecifier) { - if (report.typeSpecifiers.includes(defaultSpecifier) && - namedSpecifiers.length === 0 && - !namespaceSpecifier) { - // import Type from 'foo' - yield* fixInsertTypeSpecifierForImportDeclaration(fixer, node, true); - return; - } - if (fixStyle === 'inline-type-imports' && - !report.typeSpecifiers.includes(defaultSpecifier) && - namedSpecifiers.length > 0 && - !namespaceSpecifier) { - // if there is a default specifier but it isn't a type specifier, then just add the inline type modifier to the named specifiers - // import AValue, {BValue, Type1, Type2} from 'foo' - yield* fixInlineTypeImportDeclaration(fixer, report, sourceImports); - return; - } - } - else if (!namespaceSpecifier) { - if (fixStyle === 'inline-type-imports' && - namedSpecifiers.some(specifier => report.typeSpecifiers.includes(specifier))) { - // import {AValue, Type1, Type2} from 'foo' - yield* fixInlineTypeImportDeclaration(fixer, report, sourceImports); - return; - } - if (namedSpecifiers.every(specifier => report.typeSpecifiers.includes(specifier))) { - // import {Type1, Type2} from 'foo' - yield* fixInsertTypeSpecifierForImportDeclaration(fixer, node, false); - return; - } - } - const typeNamedSpecifiers = namedSpecifiers.filter(specifier => report.typeSpecifiers.includes(specifier)); - const fixesNamedSpecifiers = getFixesNamedSpecifiers(fixer, node, typeNamedSpecifiers, namedSpecifiers); - const afterFixes = []; - if (typeNamedSpecifiers.length) { - if (sourceImports.typeOnlyNamedImport) { - const insertTypeNamedSpecifiers = fixInsertNamedSpecifiersInNamedSpecifierList(fixer, sourceImports.typeOnlyNamedImport, fixesNamedSpecifiers.typeNamedSpecifiersText); - if (sourceImports.typeOnlyNamedImport.range[1] <= node.range[0]) { - yield insertTypeNamedSpecifiers; - } - else { - afterFixes.push(insertTypeNamedSpecifiers); - } - } - else { - // The import is both default and named. Insert named on new line because can't mix default type import and named type imports - // eslint-disable-next-line no-lonely-if - if (fixStyle === 'inline-type-imports') { - yield fixer.insertTextBefore(node, `import {${typeNamedSpecifiers - .map(spec => { - const insertText = context.sourceCode.text.slice(...spec.range); - return `type ${insertText}`; - }) - .join(', ')}} from ${context.sourceCode.getText(node.source)};\n`); - } - else { - yield fixer.insertTextBefore(node, `import type {${fixesNamedSpecifiers.typeNamedSpecifiersText}} from ${context.sourceCode.getText(node.source)};\n`); - } - } - } - const fixesRemoveTypeNamespaceSpecifier = []; - if (namespaceSpecifier && - report.typeSpecifiers.includes(namespaceSpecifier)) { - // import Foo, * as Type from 'foo' - // import DefType, * as Type from 'foo' - // import DefType, * as Type from 'foo' - const commaToken = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(namespaceSpecifier, util_1.isCommaToken), util_1.NullThrowsReasons.MissingToken(',', node.type)); - // import Def, * as Ns from 'foo' - // ^^^^^^^^^ remove - fixesRemoveTypeNamespaceSpecifier.push(fixer.removeRange([commaToken.range[0], namespaceSpecifier.range[1]])); - // import type * as Ns from 'foo' - // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ insert - yield fixer.insertTextBefore(node, `import type ${context.sourceCode.getText(namespaceSpecifier)} from ${context.sourceCode.getText(node.source)};\n`); - } - if (defaultSpecifier && - report.typeSpecifiers.includes(defaultSpecifier)) { - if (report.typeSpecifiers.length === node.specifiers.length) { - const importToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isImportKeyword), util_1.NullThrowsReasons.MissingToken('import', node.type)); - // import type Type from 'foo' - // ^^^^ insert - yield fixer.insertTextAfter(importToken, ' type'); - } - else { - const commaToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(defaultSpecifier, util_1.isCommaToken), util_1.NullThrowsReasons.MissingToken(',', defaultSpecifier.type)); - // import Type , {...} from 'foo' - // ^^^^^ pick - const defaultText = context.sourceCode.text - .slice(defaultSpecifier.range[0], commaToken.range[0]) - .trim(); - yield fixer.insertTextBefore(node, `import type ${defaultText} from ${context.sourceCode.getText(node.source)};\n`); - const afterToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(commaToken, { - includeComments: true, - }), util_1.NullThrowsReasons.MissingToken('any token', node.type)); - // import Type , {...} from 'foo' - // ^^^^^^^ remove - yield fixer.removeRange([ - defaultSpecifier.range[0], - afterToken.range[0], - ]); - } - } - yield* fixesNamedSpecifiers.removeTypeNamedSpecifiers; - yield* fixesRemoveTypeNamespaceSpecifier; - yield* afterFixes; - } - function* fixInsertTypeSpecifierForImportDeclaration(fixer, node, isDefaultImport) { - // import type Foo from 'foo' - // ^^^^^ insert - const importToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isImportKeyword), util_1.NullThrowsReasons.MissingToken('import', node.type)); - yield fixer.insertTextAfter(importToken, ' type'); - if (isDefaultImport) { - // Has default import - const openingBraceToken = context.sourceCode.getFirstTokenBetween(importToken, node.source, util_1.isOpeningBraceToken); - if (openingBraceToken) { - // Only braces. e.g. import Foo, {} from 'foo' - const commaToken = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(openingBraceToken, util_1.isCommaToken), util_1.NullThrowsReasons.MissingToken(',', node.type)); - const closingBraceToken = (0, util_1.nullThrows)(context.sourceCode.getFirstTokenBetween(openingBraceToken, node.source, util_1.isClosingBraceToken), util_1.NullThrowsReasons.MissingToken('}', node.type)); - // import type Foo, {} from 'foo' - // ^^ remove - yield fixer.removeRange([ - commaToken.range[0], - closingBraceToken.range[1], - ]); - const specifiersText = context.sourceCode.text.slice(commaToken.range[1], closingBraceToken.range[1]); - if (node.specifiers.length > 1) { - yield fixer.insertTextAfter(node, `\nimport type${specifiersText} from ${context.sourceCode.getText(node.source)};`); - } - } - } - // make sure we don't do anything like `import type {type T} from 'foo';` - for (const specifier of node.specifiers) { - if (specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier && - specifier.importKind === 'type') { - yield* fixRemoveTypeSpecifierFromImportSpecifier(fixer, specifier); - } - } - } - function* fixRemoveTypeSpecifierFromImportDeclaration(fixer, node) { - // import type Foo from 'foo' - // ^^^^ remove - const importToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isImportKeyword), util_1.NullThrowsReasons.MissingToken('import', node.type)); - const typeToken = (0, util_1.nullThrows)(context.sourceCode.getFirstTokenBetween(importToken, node.specifiers[0]?.local ?? node.source, util_1.isTypeKeyword), util_1.NullThrowsReasons.MissingToken('type', node.type)); - const afterToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(typeToken, { includeComments: true }), util_1.NullThrowsReasons.MissingToken('any token', node.type)); - yield fixer.removeRange([typeToken.range[0], afterToken.range[0]]); - } - function* fixRemoveTypeSpecifierFromImportSpecifier(fixer, node) { - // import { type Foo } from 'foo' - // ^^^^ remove - const typeToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isTypeKeyword), util_1.NullThrowsReasons.MissingToken('type', node.type)); - const afterToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(typeToken, { includeComments: true }), util_1.NullThrowsReasons.MissingToken('any token', node.type)); - yield fixer.removeRange([typeToken.range[0], afterToken.range[0]]); - } - }, -}); -//# sourceMappingURL=consistent-type-imports.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map deleted file mode 100644 index 3cffc616..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"consistent-type-imports.js","sourceRoot":"","sources":["../../src/rules/consistent-type-imports.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js deleted file mode 100644 index fedfd99a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'default-param-last', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce default parameters to be last', - extendsBaseRule: true, - }, - messages: { - shouldBeLast: 'Default parameters should be last.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - /** - * checks if node is optional parameter - * @param node the node to be evaluated - * @private - */ - function isOptionalParam(node) { - return ((node.type === utils_1.AST_NODE_TYPES.ArrayPattern || - node.type === utils_1.AST_NODE_TYPES.AssignmentPattern || - node.type === utils_1.AST_NODE_TYPES.Identifier || - node.type === utils_1.AST_NODE_TYPES.ObjectPattern || - node.type === utils_1.AST_NODE_TYPES.RestElement) && - node.optional); - } - /** - * checks if node is plain parameter - * @param node the node to be evaluated - * @private - */ - function isPlainParam(node) { - return !(node.type === utils_1.AST_NODE_TYPES.AssignmentPattern || - node.type === utils_1.AST_NODE_TYPES.RestElement || - isOptionalParam(node)); - } - function checkDefaultParamLast(node) { - let hasSeenPlainParam = false; - for (let i = node.params.length - 1; i >= 0; i--) { - const current = node.params[i]; - const param = current.type === utils_1.AST_NODE_TYPES.TSParameterProperty - ? current.parameter - : current; - if (isPlainParam(param)) { - hasSeenPlainParam = true; - continue; - } - if (hasSeenPlainParam && - (isOptionalParam(param) || - param.type === utils_1.AST_NODE_TYPES.AssignmentPattern)) { - context.report({ node: current, messageId: 'shouldBeLast' }); - } - } - } - return { - ArrowFunctionExpression: checkDefaultParamLast, - FunctionDeclaration: checkDefaultParamLast, - FunctionExpression: checkDefaultParamLast, - }; - }, -}); -//# sourceMappingURL=default-param-last.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js.map deleted file mode 100644 index 66e1ab8a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/default-param-last.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"default-param-last.js","sourceRoot":"","sources":["../../src/rules/default-param-last.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,oCAAoC;SACnD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;;WAIG;QACH,SAAS,eAAe,CAAC,IAAwB;YAC/C,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY;gBACxC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACvC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa;gBAC1C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CACd,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,SAAS,YAAY,CAAC,IAAwB;YAC5C,OAAO,CAAC,CACN,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;gBAC9C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW;gBACxC,eAAe,CAAC,IAAI,CAAC,CACtB,CAAC;QACJ,CAAC;QAED,SAAS,qBAAqB,CAC5B,IAG+B;YAE/B,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB;oBACjD,CAAC,CAAC,OAAO,CAAC,SAAS;oBACnB,CAAC,CAAC,OAAO,CAAC;gBAEd,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,iBAAiB,GAAG,IAAI,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,IACE,iBAAiB;oBACjB,CAAC,eAAe,CAAC,KAAK,CAAC;wBACrB,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,CAAC,EAClD,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,uBAAuB,EAAE,qBAAqB;YAC9C,mBAAmB,EAAE,qBAAqB;YAC1C,kBAAkB,EAAE,qBAAqB;SAC1C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js deleted file mode 100644 index 05f5ce6a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js +++ /dev/null @@ -1,143 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('dot-notation'); -const defaultOptions = [ - { - allowIndexSignaturePropertyAccess: false, - allowKeywords: true, - allowPattern: '', - allowPrivateClassPropertyAccess: false, - allowProtectedClassPropertyAccess: false, - }, -]; -exports.default = (0, util_1.createRule)({ - name: 'dot-notation', - meta: { - type: 'suggestion', - defaultOptions, - docs: { - description: 'Enforce dot notation whenever possible', - extendsBaseRule: true, - recommended: 'stylistic', - requiresTypeChecking: true, - }, - fixable: baseRule.meta.fixable, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowIndexSignaturePropertyAccess: { - type: 'boolean', - default: false, - description: 'Whether to allow accessing properties matching an index signature with array notation.', - }, - allowKeywords: { - type: 'boolean', - default: true, - description: 'Whether to allow keywords such as ["class"]`.', - }, - allowPattern: { - type: 'string', - default: '', - description: 'Regular expression of names to allow.', - }, - allowPrivateClassPropertyAccess: { - type: 'boolean', - default: false, - description: 'Whether to allow accessing class members marked as `private` with array notation.', - }, - allowProtectedClassPropertyAccess: { - type: 'boolean', - default: false, - description: 'Whether to allow accessing class members marked as `protected` with array notation.', - }, - }, - }, - ], - }, - defaultOptions, - create(context, [options]) { - const rules = baseRule.create(context); - const services = (0, util_1.getParserServices)(context); - const allowPrivateClassPropertyAccess = options.allowPrivateClassPropertyAccess; - const allowProtectedClassPropertyAccess = options.allowProtectedClassPropertyAccess; - const allowIndexSignaturePropertyAccess = (options.allowIndexSignaturePropertyAccess ?? false) || - tsutils.isCompilerOptionEnabled(services.program.getCompilerOptions(), 'noPropertyAccessFromIndexSignature'); - return { - MemberExpression(node) { - if ((allowPrivateClassPropertyAccess || - allowProtectedClassPropertyAccess || - allowIndexSignaturePropertyAccess) && - node.computed) { - // for perf reasons - only fetch symbols if we have to - const propertySymbol = services.getSymbolAtLocation(node.property) ?? - services - .getTypeAtLocation(node.object) - .getNonNullableType() - .getProperties() - .find(propertySymbol => node.property.type === utils_1.AST_NODE_TYPES.Literal && - propertySymbol.escapedName === node.property.value); - const modifierKind = (0, util_1.getModifiers)(propertySymbol?.getDeclarations()?.[0])?.[0].kind; - if ((allowPrivateClassPropertyAccess && - modifierKind === ts.SyntaxKind.PrivateKeyword) || - (allowProtectedClassPropertyAccess && - modifierKind === ts.SyntaxKind.ProtectedKeyword)) { - return; - } - if (propertySymbol == null && allowIndexSignaturePropertyAccess) { - const objectType = services.getTypeAtLocation(node.object); - const indexType = objectType - .getNonNullableType() - .getStringIndexType(); - if (indexType != null) { - return; - } - } - } - rules.MemberExpression(node); - }, - }; - }, -}); -//# sourceMappingURL=dot-notation.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map deleted file mode 100644 index f49b3eb9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dot-notation.js","sourceRoot":"","sources":["../../src/rules/dot-notation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js deleted file mode 100644 index 122b135b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js +++ /dev/null @@ -1,122 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEnumLiterals = getEnumLiterals; -exports.getEnumTypes = getEnumTypes; -exports.getEnumKeyForLiteral = getEnumKeyForLiteral; -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../../util"); -/* - * If passed an enum member, returns the type of the parent. Otherwise, - * returns itself. - * - * For example: - * - `Fruit` --> `Fruit` - * - `Fruit.Apple` --> `Fruit` - */ -function getBaseEnumType(typeChecker, type) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const symbol = type.getSymbol(); - if (!tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.EnumMember)) { - return type; - } - return typeChecker.getTypeAtLocation(symbol.valueDeclaration.parent); -} -/** - * Retrieve only the Enum literals from a type. for example: - * - 123 --> [] - * - {} --> [] - * - Fruit.Apple --> [Fruit.Apple] - * - Fruit.Apple | Vegetable.Lettuce --> [Fruit.Apple, Vegetable.Lettuce] - * - Fruit.Apple | Vegetable.Lettuce | 123 --> [Fruit.Apple, Vegetable.Lettuce] - * - T extends Fruit --> [Fruit] - */ -function getEnumLiterals(type) { - return tsutils - .unionTypeParts(type) - .filter((subType) => (0, util_1.isTypeFlagSet)(subType, ts.TypeFlags.EnumLiteral)); -} -/** - * A type can have 0 or more enum types. For example: - * - 123 --> [] - * - {} --> [] - * - Fruit.Apple --> [Fruit] - * - Fruit.Apple | Vegetable.Lettuce --> [Fruit, Vegetable] - * - Fruit.Apple | Vegetable.Lettuce | 123 --> [Fruit, Vegetable] - * - T extends Fruit --> [Fruit] - */ -function getEnumTypes(typeChecker, type) { - return getEnumLiterals(type).map(type => getBaseEnumType(typeChecker, type)); -} -/** - * Returns the enum key that matches the given literal node, or null if none - * match. For example: - * ```ts - * enum Fruit { - * Apple = 'apple', - * Banana = 'banana', - * } - * - * getEnumKeyForLiteral([Fruit.Apple, Fruit.Banana], 'apple') --> 'Fruit.Apple' - * getEnumKeyForLiteral([Fruit.Apple, Fruit.Banana], 'banana') --> 'Fruit.Banana' - * getEnumKeyForLiteral([Fruit.Apple, Fruit.Banana], 'cherry') --> null - * ``` - */ -function getEnumKeyForLiteral(enumLiterals, literal) { - for (const enumLiteral of enumLiterals) { - if (enumLiteral.value === literal) { - const { symbol } = enumLiteral; - const memberDeclaration = symbol.valueDeclaration; - const enumDeclaration = memberDeclaration.parent; - const memberNameIdentifier = memberDeclaration.name; - const enumName = enumDeclaration.name.text; - switch (memberNameIdentifier.kind) { - case ts.SyntaxKind.Identifier: - return `${enumName}.${memberNameIdentifier.text}`; - case ts.SyntaxKind.StringLiteral: { - const memberName = memberNameIdentifier.text.replaceAll("'", "\\'"); - return `${enumName}['${memberName}']`; - } - case ts.SyntaxKind.ComputedPropertyName: - return `${enumName}[${memberNameIdentifier.expression.getText()}]`; - default: - break; - } - } - } - return null; -} -//# sourceMappingURL=shared.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js.map deleted file mode 100644 index 74eecb84..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/rules/enum-utils/shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,0CAMC;AAWD,oCAKC;AAgBD,oDAkCC;AA1GD,sDAAwC;AACxC,+CAAiC;AAEjC,qCAA2C;AAE3C;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,WAA2B,EAAE,IAAa;IACjE,oEAAoE;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,WAAW,CAAC,iBAAiB,CACjC,MAAM,CAAC,gBAAkC,CAAC,MAAM,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,OAAO;SACX,cAAc,CAAC,IAAI,CAAC;SACpB,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAC7C,IAAA,oBAAa,EAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CACjD,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,WAA2B,EAC3B,IAAa;IAEb,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,oBAAoB,CAClC,YAA8B,EAC9B,OAAgB;IAEhB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,WAAW,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;YAE/B,MAAM,iBAAiB,GAAG,MAAM,CAAC,gBAAiC,CAAC;YACnE,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC;YAEjD,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC;YACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAE3C,QAAQ,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBAClC,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;oBAC3B,OAAO,GAAG,QAAQ,IAAI,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBAEpD,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;oBACjC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAEpE,OAAO,GAAG,QAAQ,KAAK,UAAU,IAAI,CAAC;gBACxC,CAAC;gBAED,KAAK,EAAE,CAAC,UAAU,CAAC,oBAAoB;oBACrC,OAAO,GAAG,QAAQ,IAAI,oBAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;gBAErE;oBACE,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js deleted file mode 100644 index 43e6ac28..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js +++ /dev/null @@ -1,180 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const explicitReturnTypeUtils_1 = require("../util/explicitReturnTypeUtils"); -exports.default = (0, util_1.createRule)({ - name: 'explicit-function-return-type', - meta: { - type: 'problem', - docs: { - description: 'Require explicit return types on functions and class methods', - }, - messages: { - missingReturnType: 'Missing return type on function.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowConciseArrowFunctionExpressionsStartingWithVoid: { - type: 'boolean', - description: 'Whether to allow arrow functions that start with the `void` keyword.', - }, - allowDirectConstAssertionInArrowFunctions: { - type: 'boolean', - description: 'Whether to ignore arrow functions immediately returning a `as const` value.', - }, - allowedNames: { - type: 'array', - description: 'An array of function/method names that will not have their arguments or return values checked.', - items: { - type: 'string', - }, - }, - allowExpressions: { - type: 'boolean', - description: 'Whether to ignore function expressions (functions which are not part of a declaration).', - }, - allowFunctionsWithoutTypeParameters: { - type: 'boolean', - description: "Whether to ignore functions that don't have generic type parameters.", - }, - allowHigherOrderFunctions: { - type: 'boolean', - description: 'Whether to ignore functions immediately returning another function expression.', - }, - allowIIFEs: { - type: 'boolean', - description: 'Whether to ignore immediately invoked function expressions (IIFEs).', - }, - allowTypedFunctionExpressions: { - type: 'boolean', - description: 'Whether to ignore type annotations on the variable of function expressions.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowConciseArrowFunctionExpressionsStartingWithVoid: false, - allowDirectConstAssertionInArrowFunctions: true, - allowedNames: [], - allowExpressions: false, - allowFunctionsWithoutTypeParameters: false, - allowHigherOrderFunctions: true, - allowIIFEs: false, - allowTypedFunctionExpressions: true, - }, - ], - create(context, [options]) { - const functionInfoStack = []; - function enterFunction(node) { - functionInfoStack.push({ - node, - returns: [], - }); - } - function popFunctionInfo(exitNodeType) { - return (0, util_1.nullThrows)(functionInfoStack.pop(), `Stack should exist on ${exitNodeType} exit`); - } - function isAllowedFunction(node) { - if (options.allowFunctionsWithoutTypeParameters && !node.typeParameters) { - return true; - } - if (options.allowIIFEs && isIIFE(node)) { - return true; - } - if (!options.allowedNames?.length) { - return false; - } - if (node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression || - node.type === utils_1.AST_NODE_TYPES.FunctionExpression) { - const parent = node.parent; - let funcName; - if (node.id?.name) { - funcName = node.id.name; - } - else { - switch (parent.type) { - case utils_1.AST_NODE_TYPES.VariableDeclarator: { - if (parent.id.type === utils_1.AST_NODE_TYPES.Identifier) { - funcName = parent.id.name; - } - break; - } - case utils_1.AST_NODE_TYPES.MethodDefinition: - case utils_1.AST_NODE_TYPES.PropertyDefinition: - case utils_1.AST_NODE_TYPES.Property: { - if (parent.key.type === utils_1.AST_NODE_TYPES.Identifier && - !parent.computed) { - funcName = parent.key.name; - } - break; - } - } - } - if (!!funcName && !!options.allowedNames.includes(funcName)) { - return true; - } - } - if (node.type === utils_1.AST_NODE_TYPES.FunctionDeclaration && - node.id && - !!options.allowedNames.includes(node.id.name)) { - return true; - } - return false; - } - function isIIFE(node) { - return node.parent.type === utils_1.AST_NODE_TYPES.CallExpression; - } - function exitFunctionExpression(node) { - const info = popFunctionInfo('function expression'); - if (options.allowConciseArrowFunctionExpressionsStartingWithVoid && - node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - node.expression && - node.body.type === utils_1.AST_NODE_TYPES.UnaryExpression && - node.body.operator === 'void') { - return; - } - if (isAllowedFunction(node)) { - return; - } - if (options.allowTypedFunctionExpressions && - ((0, explicitReturnTypeUtils_1.isValidFunctionExpressionReturnType)(node, options) || - (0, explicitReturnTypeUtils_1.ancestorHasReturnType)(node))) { - return; - } - (0, explicitReturnTypeUtils_1.checkFunctionReturnType)(info, options, context.sourceCode, loc => context.report({ - loc, - node, - messageId: 'missingReturnType', - })); - } - return { - 'ArrowFunctionExpression, FunctionExpression, FunctionDeclaration': enterFunction, - 'ArrowFunctionExpression:exit': exitFunctionExpression, - 'FunctionDeclaration:exit'(node) { - const info = popFunctionInfo('function declaration'); - if (isAllowedFunction(node)) { - return; - } - if (options.allowTypedFunctionExpressions && node.returnType) { - return; - } - (0, explicitReturnTypeUtils_1.checkFunctionReturnType)(info, options, context.sourceCode, loc => context.report({ - loc, - node, - messageId: 'missingReturnType', - })); - }, - 'FunctionExpression:exit': exitFunctionExpression, - ReturnStatement(node) { - functionInfoStack.at(-1)?.returns.push(node); - }, - }; - }, -}); -//# sourceMappingURL=explicit-function-return-type.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js.map deleted file mode 100644 index c5be9db8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"explicit-function-return-type.js","sourceRoot":"","sources":["../../src/rules/explicit-function-return-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js deleted file mode 100644 index 7fbbf163..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js +++ /dev/null @@ -1,293 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getMemberHeadLoc_1 = require("../util/getMemberHeadLoc"); -const rangeToLoc_1 = require("../util/rangeToLoc"); -exports.default = (0, util_1.createRule)({ - name: 'explicit-member-accessibility', - meta: { - type: 'problem', - docs: { - description: 'Require explicit accessibility modifiers on class properties and methods', - // too opinionated to be recommended - }, - fixable: 'code', - hasSuggestions: true, - messages: { - addExplicitAccessibility: "Add '{{ type }}' accessibility modifier", - missingAccessibility: 'Missing accessibility modifier on {{type}} {{name}}.', - unwantedPublicAccessibility: 'Public accessibility modifier on {{type}} {{name}}.', - }, - schema: [ - { - type: 'object', - $defs: { - accessibilityLevel: { - oneOf: [ - { - type: 'string', - description: 'Always require an accessor.', - enum: ['explicit'], - }, - { - type: 'string', - description: 'Require an accessor except when public.', - enum: ['no-public'], - }, - { - type: 'string', - description: 'Never check whether there is an accessor.', - enum: ['off'], - }, - ], - }, - }, - additionalProperties: false, - properties: { - accessibility: { - $ref: '#/items/0/$defs/accessibilityLevel', - description: 'Which accessibility modifier is required to exist or not exist.', - }, - ignoredMethodNames: { - type: 'array', - description: 'Specific method names that may be ignored.', - items: { - type: 'string', - }, - }, - overrides: { - type: 'object', - additionalProperties: false, - description: 'Changes to required accessibility modifiers for specific kinds of class members.', - properties: { - accessors: { $ref: '#/items/0/$defs/accessibilityLevel' }, - constructors: { $ref: '#/items/0/$defs/accessibilityLevel' }, - methods: { $ref: '#/items/0/$defs/accessibilityLevel' }, - parameterProperties: { - $ref: '#/items/0/$defs/accessibilityLevel', - }, - properties: { $ref: '#/items/0/$defs/accessibilityLevel' }, - }, - }, - }, - }, - ], - }, - defaultOptions: [{ accessibility: 'explicit' }], - create(context, [option]) { - const baseCheck = option.accessibility ?? 'explicit'; - const overrides = option.overrides ?? {}; - const ctorCheck = overrides.constructors ?? baseCheck; - const accessorCheck = overrides.accessors ?? baseCheck; - const methodCheck = overrides.methods ?? baseCheck; - const propCheck = overrides.properties ?? baseCheck; - const paramPropCheck = overrides.parameterProperties ?? baseCheck; - const ignoredMethodNames = new Set(option.ignoredMethodNames ?? []); - /** - * Checks if a method declaration has an accessibility modifier. - * @param methodDefinition The node representing a MethodDefinition. - */ - function checkMethodAccessibilityModifier(methodDefinition) { - if (methodDefinition.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - return; - } - let nodeType = 'method definition'; - let check = baseCheck; - switch (methodDefinition.kind) { - case 'method': - check = methodCheck; - break; - case 'constructor': - check = ctorCheck; - break; - case 'get': - case 'set': - check = accessorCheck; - nodeType = `${methodDefinition.kind} property accessor`; - break; - } - const { name: methodName } = (0, util_1.getNameFromMember)(methodDefinition, context.sourceCode); - if (check === 'off' || ignoredMethodNames.has(methodName)) { - return; - } - if (check === 'no-public' && - methodDefinition.accessibility === 'public') { - const publicKeyword = findPublicKeyword(methodDefinition); - context.report({ - loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, publicKeyword.range), - messageId: 'unwantedPublicAccessibility', - data: { - name: methodName, - type: nodeType, - }, - fix: fixer => fixer.removeRange(publicKeyword.rangeToRemove), - }); - } - else if (check === 'explicit' && !methodDefinition.accessibility) { - context.report({ - loc: (0, getMemberHeadLoc_1.getMemberHeadLoc)(context.sourceCode, methodDefinition), - messageId: 'missingAccessibility', - data: { - name: methodName, - type: nodeType, - }, - suggest: getMissingAccessibilitySuggestions(methodDefinition), - }); - } - } - /** - * Returns an object containing a range that corresponds to the "public" - * keyword for a node, and the range that would need to be removed to - * remove the "public" keyword (including associated whitespace). - */ - function findPublicKeyword(node) { - const tokens = context.sourceCode.getTokens(node); - let rangeToRemove; - let keywordRange; - for (let i = 0; i < tokens.length; i++) { - const token = tokens[i]; - if (token.type === utils_1.AST_TOKEN_TYPES.Keyword && - token.value === 'public') { - keywordRange = structuredClone(token.range); - const commensAfterPublicKeyword = context.sourceCode.getCommentsAfter(token); - if (commensAfterPublicKeyword.length) { - // public /* Hi there! */ static foo() - // ^^^^^^^ - rangeToRemove = [ - token.range[0], - commensAfterPublicKeyword[0].range[0], - ]; - break; - } - else { - // public static foo() - // ^^^^^^^ - rangeToRemove = [token.range[0], tokens[i + 1].range[0]]; - break; - } - } - } - return { range: keywordRange, rangeToRemove }; - } - /** - * Creates a fixer that adds an accessibility modifier keyword - */ - function getMissingAccessibilitySuggestions(node) { - function fix(accessibility, fixer) { - if (node.decorators.length) { - const lastDecorator = node.decorators[node.decorators.length - 1]; - const nextToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(lastDecorator), util_1.NullThrowsReasons.MissingToken('token', 'last decorator')); - return fixer.insertTextBefore(nextToken, `${accessibility} `); - } - return fixer.insertTextBefore(node, `${accessibility} `); - } - return [ - { - messageId: 'addExplicitAccessibility', - data: { type: 'public' }, - fix: fixer => fix('public', fixer), - }, - { - messageId: 'addExplicitAccessibility', - data: { type: 'private' }, - fix: fixer => fix('private', fixer), - }, - { - messageId: 'addExplicitAccessibility', - data: { type: 'protected' }, - fix: fixer => fix('protected', fixer), - }, - ]; - } - /** - * Checks if property has an accessibility modifier. - * @param propertyDefinition The node representing a PropertyDefinition. - */ - function checkPropertyAccessibilityModifier(propertyDefinition) { - if (propertyDefinition.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - return; - } - const nodeType = 'class property'; - const { name: propertyName } = (0, util_1.getNameFromMember)(propertyDefinition, context.sourceCode); - if (propCheck === 'no-public' && - propertyDefinition.accessibility === 'public') { - const publicKeywordRange = findPublicKeyword(propertyDefinition); - context.report({ - loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, publicKeywordRange.range), - messageId: 'unwantedPublicAccessibility', - data: { - name: propertyName, - type: nodeType, - }, - fix: fixer => fixer.removeRange(publicKeywordRange.rangeToRemove), - }); - } - else if (propCheck === 'explicit' && - !propertyDefinition.accessibility) { - context.report({ - loc: (0, getMemberHeadLoc_1.getMemberHeadLoc)(context.sourceCode, propertyDefinition), - messageId: 'missingAccessibility', - data: { - name: propertyName, - type: nodeType, - }, - suggest: getMissingAccessibilitySuggestions(propertyDefinition), - }); - } - } - /** - * Checks that the parameter property has the desired accessibility modifiers set. - * @param node The node representing a Parameter Property - */ - function checkParameterPropertyAccessibilityModifier(node) { - const nodeType = 'parameter property'; - // HAS to be an identifier or assignment or TSC will throw - if (node.parameter.type !== utils_1.AST_NODE_TYPES.Identifier && - node.parameter.type !== utils_1.AST_NODE_TYPES.AssignmentPattern) { - return; - } - const nodeName = node.parameter.type === utils_1.AST_NODE_TYPES.Identifier - ? node.parameter.name - : // has to be an Identifier or TSC will throw an error - node.parameter.left.name; - switch (paramPropCheck) { - case 'explicit': { - if (!node.accessibility) { - context.report({ - loc: (0, getMemberHeadLoc_1.getParameterPropertyHeadLoc)(context.sourceCode, node, nodeName), - messageId: 'missingAccessibility', - data: { - name: nodeName, - type: nodeType, - }, - suggest: getMissingAccessibilitySuggestions(node), - }); - } - break; - } - case 'no-public': { - if (node.accessibility === 'public' && node.readonly) { - const publicKeyword = findPublicKeyword(node); - context.report({ - loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, publicKeyword.range), - messageId: 'unwantedPublicAccessibility', - data: { - name: nodeName, - type: nodeType, - }, - fix: fixer => fixer.removeRange(publicKeyword.rangeToRemove), - }); - } - break; - } - } - } - return { - 'MethodDefinition, TSAbstractMethodDefinition': checkMethodAccessibilityModifier, - 'PropertyDefinition, TSAbstractPropertyDefinition': checkPropertyAccessibilityModifier, - TSParameterProperty: checkParameterPropertyAccessibilityModifier, - }; - }, -}); -//# sourceMappingURL=explicit-member-accessibility.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map deleted file mode 100644 index 86ae8365..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"explicit-member-accessibility.js","sourceRoot":"","sources":["../../src/rules/explicit-member-accessibility.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js deleted file mode 100644 index f02b1dec..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js +++ /dev/null @@ -1,371 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const explicitReturnTypeUtils_1 = require("../util/explicitReturnTypeUtils"); -exports.default = (0, util_1.createRule)({ - name: 'explicit-module-boundary-types', - meta: { - type: 'problem', - docs: { - description: "Require explicit return and argument types on exported functions' and classes' public class methods", - }, - messages: { - anyTypedArg: "Argument '{{name}}' should be typed with a non-any type.", - anyTypedArgUnnamed: '{{type}} argument should be typed with a non-any type.', - missingArgType: "Argument '{{name}}' should be typed.", - missingArgTypeUnnamed: '{{type}} argument should be typed.', - missingReturnType: 'Missing return type on function.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowArgumentsExplicitlyTypedAsAny: { - type: 'boolean', - description: 'Whether to ignore arguments that are explicitly typed as `any`.', - }, - allowDirectConstAssertionInArrowFunctions: { - type: 'boolean', - description: [ - 'Whether to ignore return type annotations on body-less arrow functions that return an `as const` type assertion.', - 'You must still type the parameters of the function.', - ].join('\n'), - }, - allowedNames: { - type: 'array', - description: 'An array of function/method names that will not have their arguments or return values checked.', - items: { - type: 'string', - }, - }, - allowHigherOrderFunctions: { - type: 'boolean', - description: [ - 'Whether to ignore return type annotations on functions immediately returning another function expression.', - 'You must still type the parameters of the function.', - ].join('\n'), - }, - allowTypedFunctionExpressions: { - type: 'boolean', - description: 'Whether to ignore type annotations on the variable of a function expression.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowArgumentsExplicitlyTypedAsAny: false, - allowDirectConstAssertionInArrowFunctions: true, - allowedNames: [], - allowHigherOrderFunctions: true, - allowTypedFunctionExpressions: true, - }, - ], - create(context, [options]) { - // tracks all of the functions we've already checked - const checkedFunctions = new Set(); - const functionStack = []; - const functionReturnsMap = new Map(); - // all nodes visited, avoids infinite recursion for cyclic references - // (such as class member referring to itself) - const alreadyVisited = new Set(); - function getReturnsInFunction(node) { - return functionReturnsMap.get(node) ?? []; - } - function enterFunction(node) { - functionStack.push(node); - functionReturnsMap.set(node, []); - } - function exitFunction() { - functionStack.pop(); - } - /* - # How the rule works: - - As the rule traverses the AST, it immediately checks every single function that it finds is exported. - "exported" means that it is either directly exported, or that its name is exported. - - It also collects a list of every single function it finds on the way, but does not check them. - After it's finished traversing the AST, it then iterates through the list of found functions, and checks to see if - any of them are part of a higher-order function - */ - return { - 'ArrowFunctionExpression, FunctionDeclaration, FunctionExpression': enterFunction, - 'ArrowFunctionExpression:exit': exitFunction, - 'ExportDefaultDeclaration:exit'(node) { - checkNode(node.declaration); - }, - 'ExportNamedDeclaration:not([source]):exit'(node) { - if (node.declaration) { - checkNode(node.declaration); - } - else { - for (const specifier of node.specifiers) { - followReference(specifier.local); - } - } - }, - 'FunctionDeclaration:exit': exitFunction, - 'FunctionExpression:exit': exitFunction, - 'Program:exit'() { - for (const [node, returns] of functionReturnsMap) { - if (isExportedHigherOrderFunction({ node, returns })) { - checkNode(node); - } - } - }, - ReturnStatement(node) { - const current = functionStack[functionStack.length - 1]; - functionReturnsMap.get(current)?.push(node); - }, - 'TSExportAssignment:exit'(node) { - checkNode(node.expression); - }, - }; - function checkParameters(node) { - function checkParameter(param) { - function report(namedMessageId, unnamedMessageId) { - if (param.type === utils_1.AST_NODE_TYPES.Identifier) { - context.report({ - node: param, - messageId: namedMessageId, - data: { name: param.name }, - }); - } - else if (param.type === utils_1.AST_NODE_TYPES.ArrayPattern) { - context.report({ - node: param, - messageId: unnamedMessageId, - data: { type: 'Array pattern' }, - }); - } - else if (param.type === utils_1.AST_NODE_TYPES.ObjectPattern) { - context.report({ - node: param, - messageId: unnamedMessageId, - data: { type: 'Object pattern' }, - }); - } - else if (param.type === utils_1.AST_NODE_TYPES.RestElement) { - if (param.argument.type === utils_1.AST_NODE_TYPES.Identifier) { - context.report({ - node: param, - messageId: namedMessageId, - data: { name: param.argument.name }, - }); - } - else { - context.report({ - node: param, - messageId: unnamedMessageId, - data: { type: 'Rest' }, - }); - } - } - } - switch (param.type) { - case utils_1.AST_NODE_TYPES.ArrayPattern: - case utils_1.AST_NODE_TYPES.Identifier: - case utils_1.AST_NODE_TYPES.ObjectPattern: - case utils_1.AST_NODE_TYPES.RestElement: - if (!param.typeAnnotation) { - report('missingArgType', 'missingArgTypeUnnamed'); - } - else if (options.allowArgumentsExplicitlyTypedAsAny !== true && - param.typeAnnotation.typeAnnotation.type === - utils_1.AST_NODE_TYPES.TSAnyKeyword) { - report('anyTypedArg', 'anyTypedArgUnnamed'); - } - return; - case utils_1.AST_NODE_TYPES.TSParameterProperty: - return checkParameter(param.parameter); - case utils_1.AST_NODE_TYPES.AssignmentPattern: // ignored as it has a type via its assignment - return; - } - } - for (const arg of node.params) { - checkParameter(arg); - } - } - /** - * Checks if a function name is allowed and should not be checked. - */ - function isAllowedName(node) { - if (!node || !options.allowedNames || options.allowedNames.length === 0) { - return false; - } - if (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator || - node.type === utils_1.AST_NODE_TYPES.FunctionDeclaration) { - return (node.id?.type === utils_1.AST_NODE_TYPES.Identifier && - options.allowedNames.includes(node.id.name)); - } - if (node.type === utils_1.AST_NODE_TYPES.MethodDefinition || - node.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition || - (node.type === utils_1.AST_NODE_TYPES.Property && node.method) || - node.type === utils_1.AST_NODE_TYPES.PropertyDefinition) { - return (0, util_1.isStaticMemberAccessOfValue)(node, context, ...options.allowedNames); - } - return false; - } - function isExportedHigherOrderFunction({ node, }) { - let current = node.parent; - while (current) { - if (current.type === utils_1.AST_NODE_TYPES.ReturnStatement) { - // the parent of a return will always be a block statement, so we can skip over it - current = current.parent.parent; - continue; - } - if (!(0, util_1.isFunction)(current)) { - return false; - } - const returns = getReturnsInFunction(current); - if (!(0, explicitReturnTypeUtils_1.doesImmediatelyReturnFunctionExpression)({ node: current, returns })) { - return false; - } - if (checkedFunctions.has(current)) { - return true; - } - current = current.parent; - } - return false; - } - function followReference(node) { - const scope = context.sourceCode.getScope(node); - const variable = scope.set.get(node.name); - /* istanbul ignore if */ if (!variable) { - return; - } - // check all of the definitions - for (const definition of variable.defs) { - // cases we don't care about in this rule - if ([ - scope_manager_1.DefinitionType.CatchClause, - scope_manager_1.DefinitionType.ImplicitGlobalVariable, - scope_manager_1.DefinitionType.ImportBinding, - scope_manager_1.DefinitionType.Parameter, - ].includes(definition.type)) { - continue; - } - checkNode(definition.node); - } - // follow references to find writes to the variable - for (const reference of variable.references) { - if ( - // we don't want to check the initialization ref, as this is handled by the declaration check - !reference.init && - reference.writeExpr) { - checkNode(reference.writeExpr); - } - } - } - function checkNode(node) { - if (node == null || alreadyVisited.has(node)) { - return; - } - alreadyVisited.add(node); - switch (node.type) { - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionExpression: { - const returns = getReturnsInFunction(node); - return checkFunctionExpression({ node, returns }); - } - case utils_1.AST_NODE_TYPES.ArrayExpression: - for (const element of node.elements) { - checkNode(element); - } - return; - case utils_1.AST_NODE_TYPES.PropertyDefinition: - case utils_1.AST_NODE_TYPES.MethodDefinition: - case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition: - if (node.accessibility === 'private' || - node.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - return; - } - return checkNode(node.value); - case utils_1.AST_NODE_TYPES.ClassDeclaration: - case utils_1.AST_NODE_TYPES.ClassExpression: - for (const element of node.body.body) { - checkNode(element); - } - return; - case utils_1.AST_NODE_TYPES.FunctionDeclaration: { - const returns = getReturnsInFunction(node); - return checkFunction({ node, returns }); - } - case utils_1.AST_NODE_TYPES.Identifier: - return followReference(node); - case utils_1.AST_NODE_TYPES.ObjectExpression: - for (const property of node.properties) { - checkNode(property); - } - return; - case utils_1.AST_NODE_TYPES.Property: - return checkNode(node.value); - case utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression: - return checkEmptyBodyFunctionExpression(node); - case utils_1.AST_NODE_TYPES.VariableDeclaration: - for (const declaration of node.declarations) { - checkNode(declaration); - } - return; - case utils_1.AST_NODE_TYPES.VariableDeclarator: - return checkNode(node.init); - } - } - function checkEmptyBodyFunctionExpression(node) { - const isConstructor = node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition && - node.parent.kind === 'constructor'; - const isSetAccessor = (node.parent.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition || - node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition) && - node.parent.kind === 'set'; - if (!isConstructor && !isSetAccessor && !node.returnType) { - context.report({ - node, - messageId: 'missingReturnType', - }); - } - checkParameters(node); - } - function checkFunctionExpression({ node, returns, }) { - if (checkedFunctions.has(node)) { - return; - } - checkedFunctions.add(node); - if (isAllowedName(node.parent) || - (0, explicitReturnTypeUtils_1.isTypedFunctionExpression)(node, options) || - (0, explicitReturnTypeUtils_1.ancestorHasReturnType)(node)) { - return; - } - (0, explicitReturnTypeUtils_1.checkFunctionExpressionReturnType)({ node, returns }, options, context.sourceCode, loc => { - context.report({ - loc, - node, - messageId: 'missingReturnType', - }); - }); - checkParameters(node); - } - function checkFunction({ node, returns, }) { - if (checkedFunctions.has(node)) { - return; - } - checkedFunctions.add(node); - if (isAllowedName(node) || (0, explicitReturnTypeUtils_1.ancestorHasReturnType)(node)) { - return; - } - (0, explicitReturnTypeUtils_1.checkFunctionReturnType)({ node, returns }, options, context.sourceCode, loc => { - context.report({ - loc, - node, - messageId: 'missingReturnType', - }); - }); - checkParameters(node); - } - }, -}); -//# sourceMappingURL=explicit-module-boundary-types.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map deleted file mode 100644 index 834a3b0b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"explicit-module-boundary-types.js","sourceRoot":"","sources":["../../src/rules/explicit-module-boundary-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js deleted file mode 100644 index 05fb277b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js +++ /dev/null @@ -1,266 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -const adjacent_overload_signatures_1 = __importDefault(require("./adjacent-overload-signatures")); -const array_type_1 = __importDefault(require("./array-type")); -const await_thenable_1 = __importDefault(require("./await-thenable")); -const ban_ts_comment_1 = __importDefault(require("./ban-ts-comment")); -const ban_tslint_comment_1 = __importDefault(require("./ban-tslint-comment")); -const class_literal_property_style_1 = __importDefault(require("./class-literal-property-style")); -const class_methods_use_this_1 = __importDefault(require("./class-methods-use-this")); -const consistent_generic_constructors_1 = __importDefault(require("./consistent-generic-constructors")); -const consistent_indexed_object_style_1 = __importDefault(require("./consistent-indexed-object-style")); -const consistent_return_1 = __importDefault(require("./consistent-return")); -const consistent_type_assertions_1 = __importDefault(require("./consistent-type-assertions")); -const consistent_type_definitions_1 = __importDefault(require("./consistent-type-definitions")); -const consistent_type_exports_1 = __importDefault(require("./consistent-type-exports")); -const consistent_type_imports_1 = __importDefault(require("./consistent-type-imports")); -const default_param_last_1 = __importDefault(require("./default-param-last")); -const dot_notation_1 = __importDefault(require("./dot-notation")); -const explicit_function_return_type_1 = __importDefault(require("./explicit-function-return-type")); -const explicit_member_accessibility_1 = __importDefault(require("./explicit-member-accessibility")); -const explicit_module_boundary_types_1 = __importDefault(require("./explicit-module-boundary-types")); -const init_declarations_1 = __importDefault(require("./init-declarations")); -const max_params_1 = __importDefault(require("./max-params")); -const member_ordering_1 = __importDefault(require("./member-ordering")); -const method_signature_style_1 = __importDefault(require("./method-signature-style")); -const naming_convention_1 = __importDefault(require("./naming-convention")); -const no_array_constructor_1 = __importDefault(require("./no-array-constructor")); -const no_array_delete_1 = __importDefault(require("./no-array-delete")); -const no_base_to_string_1 = __importDefault(require("./no-base-to-string")); -const no_confusing_non_null_assertion_1 = __importDefault(require("./no-confusing-non-null-assertion")); -const no_confusing_void_expression_1 = __importDefault(require("./no-confusing-void-expression")); -const no_deprecated_1 = __importDefault(require("./no-deprecated")); -const no_dupe_class_members_1 = __importDefault(require("./no-dupe-class-members")); -const no_duplicate_enum_values_1 = __importDefault(require("./no-duplicate-enum-values")); -const no_duplicate_type_constituents_1 = __importDefault(require("./no-duplicate-type-constituents")); -const no_dynamic_delete_1 = __importDefault(require("./no-dynamic-delete")); -const no_empty_function_1 = __importDefault(require("./no-empty-function")); -const no_empty_interface_1 = __importDefault(require("./no-empty-interface")); -const no_empty_object_type_1 = __importDefault(require("./no-empty-object-type")); -const no_explicit_any_1 = __importDefault(require("./no-explicit-any")); -const no_extra_non_null_assertion_1 = __importDefault(require("./no-extra-non-null-assertion")); -const no_extraneous_class_1 = __importDefault(require("./no-extraneous-class")); -const no_floating_promises_1 = __importDefault(require("./no-floating-promises")); -const no_for_in_array_1 = __importDefault(require("./no-for-in-array")); -const no_implied_eval_1 = __importDefault(require("./no-implied-eval")); -const no_import_type_side_effects_1 = __importDefault(require("./no-import-type-side-effects")); -const no_inferrable_types_1 = __importDefault(require("./no-inferrable-types")); -const no_invalid_this_1 = __importDefault(require("./no-invalid-this")); -const no_invalid_void_type_1 = __importDefault(require("./no-invalid-void-type")); -const no_loop_func_1 = __importDefault(require("./no-loop-func")); -const no_loss_of_precision_1 = __importDefault(require("./no-loss-of-precision")); -const no_magic_numbers_1 = __importDefault(require("./no-magic-numbers")); -const no_meaningless_void_operator_1 = __importDefault(require("./no-meaningless-void-operator")); -const no_misused_new_1 = __importDefault(require("./no-misused-new")); -const no_misused_promises_1 = __importDefault(require("./no-misused-promises")); -const no_mixed_enums_1 = __importDefault(require("./no-mixed-enums")); -const no_namespace_1 = __importDefault(require("./no-namespace")); -const no_non_null_asserted_nullish_coalescing_1 = __importDefault(require("./no-non-null-asserted-nullish-coalescing")); -const no_non_null_asserted_optional_chain_1 = __importDefault(require("./no-non-null-asserted-optional-chain")); -const no_non_null_assertion_1 = __importDefault(require("./no-non-null-assertion")); -const no_redeclare_1 = __importDefault(require("./no-redeclare")); -const no_redundant_type_constituents_1 = __importDefault(require("./no-redundant-type-constituents")); -const no_require_imports_1 = __importDefault(require("./no-require-imports")); -const no_restricted_imports_1 = __importDefault(require("./no-restricted-imports")); -const no_restricted_types_1 = __importDefault(require("./no-restricted-types")); -const no_shadow_1 = __importDefault(require("./no-shadow")); -const no_this_alias_1 = __importDefault(require("./no-this-alias")); -const no_type_alias_1 = __importDefault(require("./no-type-alias")); -const no_unnecessary_boolean_literal_compare_1 = __importDefault(require("./no-unnecessary-boolean-literal-compare")); -const no_unnecessary_condition_1 = __importDefault(require("./no-unnecessary-condition")); -const no_unnecessary_parameter_property_assignment_1 = __importDefault(require("./no-unnecessary-parameter-property-assignment")); -const no_unnecessary_qualifier_1 = __importDefault(require("./no-unnecessary-qualifier")); -const no_unnecessary_template_expression_1 = __importDefault(require("./no-unnecessary-template-expression")); -const no_unnecessary_type_arguments_1 = __importDefault(require("./no-unnecessary-type-arguments")); -const no_unnecessary_type_assertion_1 = __importDefault(require("./no-unnecessary-type-assertion")); -const no_unnecessary_type_constraint_1 = __importDefault(require("./no-unnecessary-type-constraint")); -const no_unnecessary_type_parameters_1 = __importDefault(require("./no-unnecessary-type-parameters")); -const no_unsafe_argument_1 = __importDefault(require("./no-unsafe-argument")); -const no_unsafe_assignment_1 = __importDefault(require("./no-unsafe-assignment")); -const no_unsafe_call_1 = __importDefault(require("./no-unsafe-call")); -const no_unsafe_declaration_merging_1 = __importDefault(require("./no-unsafe-declaration-merging")); -const no_unsafe_enum_comparison_1 = __importDefault(require("./no-unsafe-enum-comparison")); -const no_unsafe_function_type_1 = __importDefault(require("./no-unsafe-function-type")); -const no_unsafe_member_access_1 = __importDefault(require("./no-unsafe-member-access")); -const no_unsafe_return_1 = __importDefault(require("./no-unsafe-return")); -const no_unsafe_type_assertion_1 = __importDefault(require("./no-unsafe-type-assertion")); -const no_unsafe_unary_minus_1 = __importDefault(require("./no-unsafe-unary-minus")); -const no_unused_expressions_1 = __importDefault(require("./no-unused-expressions")); -const no_unused_vars_1 = __importDefault(require("./no-unused-vars")); -const no_use_before_define_1 = __importDefault(require("./no-use-before-define")); -const no_useless_constructor_1 = __importDefault(require("./no-useless-constructor")); -const no_useless_empty_export_1 = __importDefault(require("./no-useless-empty-export")); -const no_var_requires_1 = __importDefault(require("./no-var-requires")); -const no_wrapper_object_types_1 = __importDefault(require("./no-wrapper-object-types")); -const non_nullable_type_assertion_style_1 = __importDefault(require("./non-nullable-type-assertion-style")); -const only_throw_error_1 = __importDefault(require("./only-throw-error")); -const parameter_properties_1 = __importDefault(require("./parameter-properties")); -const prefer_as_const_1 = __importDefault(require("./prefer-as-const")); -const prefer_destructuring_1 = __importDefault(require("./prefer-destructuring")); -const prefer_enum_initializers_1 = __importDefault(require("./prefer-enum-initializers")); -const prefer_find_1 = __importDefault(require("./prefer-find")); -const prefer_for_of_1 = __importDefault(require("./prefer-for-of")); -const prefer_function_type_1 = __importDefault(require("./prefer-function-type")); -const prefer_includes_1 = __importDefault(require("./prefer-includes")); -const prefer_literal_enum_member_1 = __importDefault(require("./prefer-literal-enum-member")); -const prefer_namespace_keyword_1 = __importDefault(require("./prefer-namespace-keyword")); -const prefer_nullish_coalescing_1 = __importDefault(require("./prefer-nullish-coalescing")); -const prefer_optional_chain_1 = __importDefault(require("./prefer-optional-chain")); -const prefer_promise_reject_errors_1 = __importDefault(require("./prefer-promise-reject-errors")); -const prefer_readonly_1 = __importDefault(require("./prefer-readonly")); -const prefer_readonly_parameter_types_1 = __importDefault(require("./prefer-readonly-parameter-types")); -const prefer_reduce_type_parameter_1 = __importDefault(require("./prefer-reduce-type-parameter")); -const prefer_regexp_exec_1 = __importDefault(require("./prefer-regexp-exec")); -const prefer_return_this_type_1 = __importDefault(require("./prefer-return-this-type")); -const prefer_string_starts_ends_with_1 = __importDefault(require("./prefer-string-starts-ends-with")); -const prefer_ts_expect_error_1 = __importDefault(require("./prefer-ts-expect-error")); -const promise_function_async_1 = __importDefault(require("./promise-function-async")); -const related_getter_setter_pairs_1 = __importDefault(require("./related-getter-setter-pairs")); -const require_array_sort_compare_1 = __importDefault(require("./require-array-sort-compare")); -const require_await_1 = __importDefault(require("./require-await")); -const restrict_plus_operands_1 = __importDefault(require("./restrict-plus-operands")); -const restrict_template_expressions_1 = __importDefault(require("./restrict-template-expressions")); -const return_await_1 = __importDefault(require("./return-await")); -const sort_type_constituents_1 = __importDefault(require("./sort-type-constituents")); -const strict_boolean_expressions_1 = __importDefault(require("./strict-boolean-expressions")); -const switch_exhaustiveness_check_1 = __importDefault(require("./switch-exhaustiveness-check")); -const triple_slash_reference_1 = __importDefault(require("./triple-slash-reference")); -const typedef_1 = __importDefault(require("./typedef")); -const unbound_method_1 = __importDefault(require("./unbound-method")); -const unified_signatures_1 = __importDefault(require("./unified-signatures")); -const use_unknown_in_catch_callback_variable_1 = __importDefault(require("./use-unknown-in-catch-callback-variable")); -const rules = { - 'adjacent-overload-signatures': adjacent_overload_signatures_1.default, - 'array-type': array_type_1.default, - 'await-thenable': await_thenable_1.default, - 'ban-ts-comment': ban_ts_comment_1.default, - 'ban-tslint-comment': ban_tslint_comment_1.default, - 'class-literal-property-style': class_literal_property_style_1.default, - 'class-methods-use-this': class_methods_use_this_1.default, - 'consistent-generic-constructors': consistent_generic_constructors_1.default, - 'consistent-indexed-object-style': consistent_indexed_object_style_1.default, - 'consistent-return': consistent_return_1.default, - 'consistent-type-assertions': consistent_type_assertions_1.default, - 'consistent-type-definitions': consistent_type_definitions_1.default, - 'consistent-type-exports': consistent_type_exports_1.default, - 'consistent-type-imports': consistent_type_imports_1.default, - 'default-param-last': default_param_last_1.default, - 'dot-notation': dot_notation_1.default, - 'explicit-function-return-type': explicit_function_return_type_1.default, - 'explicit-member-accessibility': explicit_member_accessibility_1.default, - 'explicit-module-boundary-types': explicit_module_boundary_types_1.default, - 'init-declarations': init_declarations_1.default, - 'max-params': max_params_1.default, - 'member-ordering': member_ordering_1.default, - 'method-signature-style': method_signature_style_1.default, - 'naming-convention': naming_convention_1.default, - 'no-array-constructor': no_array_constructor_1.default, - 'no-array-delete': no_array_delete_1.default, - 'no-base-to-string': no_base_to_string_1.default, - 'no-confusing-non-null-assertion': no_confusing_non_null_assertion_1.default, - 'no-confusing-void-expression': no_confusing_void_expression_1.default, - 'no-deprecated': no_deprecated_1.default, - 'no-dupe-class-members': no_dupe_class_members_1.default, - 'no-duplicate-enum-values': no_duplicate_enum_values_1.default, - 'no-duplicate-type-constituents': no_duplicate_type_constituents_1.default, - 'no-dynamic-delete': no_dynamic_delete_1.default, - 'no-empty-function': no_empty_function_1.default, - 'no-empty-interface': no_empty_interface_1.default, - 'no-empty-object-type': no_empty_object_type_1.default, - 'no-explicit-any': no_explicit_any_1.default, - 'no-extra-non-null-assertion': no_extra_non_null_assertion_1.default, - 'no-extraneous-class': no_extraneous_class_1.default, - 'no-floating-promises': no_floating_promises_1.default, - 'no-for-in-array': no_for_in_array_1.default, - 'no-implied-eval': no_implied_eval_1.default, - 'no-import-type-side-effects': no_import_type_side_effects_1.default, - 'no-inferrable-types': no_inferrable_types_1.default, - 'no-invalid-this': no_invalid_this_1.default, - 'no-invalid-void-type': no_invalid_void_type_1.default, - 'no-loop-func': no_loop_func_1.default, - 'no-loss-of-precision': no_loss_of_precision_1.default, - 'no-magic-numbers': no_magic_numbers_1.default, - 'no-meaningless-void-operator': no_meaningless_void_operator_1.default, - 'no-misused-new': no_misused_new_1.default, - 'no-misused-promises': no_misused_promises_1.default, - 'no-mixed-enums': no_mixed_enums_1.default, - 'no-namespace': no_namespace_1.default, - 'no-non-null-asserted-nullish-coalescing': no_non_null_asserted_nullish_coalescing_1.default, - 'no-non-null-asserted-optional-chain': no_non_null_asserted_optional_chain_1.default, - 'no-non-null-assertion': no_non_null_assertion_1.default, - 'no-redeclare': no_redeclare_1.default, - 'no-redundant-type-constituents': no_redundant_type_constituents_1.default, - 'no-require-imports': no_require_imports_1.default, - 'no-restricted-imports': no_restricted_imports_1.default, - 'no-restricted-types': no_restricted_types_1.default, - 'no-shadow': no_shadow_1.default, - 'no-this-alias': no_this_alias_1.default, - 'no-type-alias': no_type_alias_1.default, - 'no-unnecessary-boolean-literal-compare': no_unnecessary_boolean_literal_compare_1.default, - 'no-unnecessary-condition': no_unnecessary_condition_1.default, - 'no-unnecessary-parameter-property-assignment': no_unnecessary_parameter_property_assignment_1.default, - 'no-unnecessary-qualifier': no_unnecessary_qualifier_1.default, - 'no-unnecessary-template-expression': no_unnecessary_template_expression_1.default, - 'no-unnecessary-type-arguments': no_unnecessary_type_arguments_1.default, - 'no-unnecessary-type-assertion': no_unnecessary_type_assertion_1.default, - 'no-unnecessary-type-constraint': no_unnecessary_type_constraint_1.default, - 'no-unnecessary-type-parameters': no_unnecessary_type_parameters_1.default, - 'no-unsafe-argument': no_unsafe_argument_1.default, - 'no-unsafe-assignment': no_unsafe_assignment_1.default, - 'no-unsafe-call': no_unsafe_call_1.default, - 'no-unsafe-declaration-merging': no_unsafe_declaration_merging_1.default, - 'no-unsafe-enum-comparison': no_unsafe_enum_comparison_1.default, - 'no-unsafe-function-type': no_unsafe_function_type_1.default, - 'no-unsafe-member-access': no_unsafe_member_access_1.default, - 'no-unsafe-return': no_unsafe_return_1.default, - 'no-unsafe-type-assertion': no_unsafe_type_assertion_1.default, - 'no-unsafe-unary-minus': no_unsafe_unary_minus_1.default, - 'no-unused-expressions': no_unused_expressions_1.default, - 'no-unused-vars': no_unused_vars_1.default, - 'no-use-before-define': no_use_before_define_1.default, - 'no-useless-constructor': no_useless_constructor_1.default, - 'no-useless-empty-export': no_useless_empty_export_1.default, - 'no-var-requires': no_var_requires_1.default, - 'no-wrapper-object-types': no_wrapper_object_types_1.default, - 'non-nullable-type-assertion-style': non_nullable_type_assertion_style_1.default, - 'only-throw-error': only_throw_error_1.default, - 'parameter-properties': parameter_properties_1.default, - 'prefer-as-const': prefer_as_const_1.default, - 'prefer-destructuring': prefer_destructuring_1.default, - 'prefer-enum-initializers': prefer_enum_initializers_1.default, - 'prefer-find': prefer_find_1.default, - 'prefer-for-of': prefer_for_of_1.default, - 'prefer-function-type': prefer_function_type_1.default, - 'prefer-includes': prefer_includes_1.default, - 'prefer-literal-enum-member': prefer_literal_enum_member_1.default, - 'prefer-namespace-keyword': prefer_namespace_keyword_1.default, - 'prefer-nullish-coalescing': prefer_nullish_coalescing_1.default, - 'prefer-optional-chain': prefer_optional_chain_1.default, - 'prefer-promise-reject-errors': prefer_promise_reject_errors_1.default, - 'prefer-readonly': prefer_readonly_1.default, - 'prefer-readonly-parameter-types': prefer_readonly_parameter_types_1.default, - 'prefer-reduce-type-parameter': prefer_reduce_type_parameter_1.default, - 'prefer-regexp-exec': prefer_regexp_exec_1.default, - 'prefer-return-this-type': prefer_return_this_type_1.default, - 'prefer-string-starts-ends-with': prefer_string_starts_ends_with_1.default, - 'prefer-ts-expect-error': prefer_ts_expect_error_1.default, - 'promise-function-async': promise_function_async_1.default, - 'related-getter-setter-pairs': related_getter_setter_pairs_1.default, - 'require-array-sort-compare': require_array_sort_compare_1.default, - 'require-await': require_await_1.default, - 'restrict-plus-operands': restrict_plus_operands_1.default, - 'restrict-template-expressions': restrict_template_expressions_1.default, - 'return-await': return_await_1.default, - 'sort-type-constituents': sort_type_constituents_1.default, - 'strict-boolean-expressions': strict_boolean_expressions_1.default, - 'switch-exhaustiveness-check': switch_exhaustiveness_check_1.default, - 'triple-slash-reference': triple_slash_reference_1.default, - typedef: typedef_1.default, - 'unbound-method': unbound_method_1.default, - 'unified-signatures': unified_signatures_1.default, - 'use-unknown-in-catch-callback-variable': use_unknown_in_catch_callback_variable_1.default, -}; -module.exports = rules; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map deleted file mode 100644 index 40a54519..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js deleted file mode 100644 index 59756602..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js +++ /dev/null @@ -1,105 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('init-declarations'); -exports.default = (0, util_1.createRule)({ - name: 'init-declarations', - meta: { - type: 'suggestion', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Require or disallow initialization in variable declarations', - extendsBaseRule: true, - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: baseRule.meta.schema, - }, - defaultOptions: ['always'], - create(context, [mode]) { - // Make a custom context to adjust the loc of reports where the base - // rule's behavior is a bit too aggressive with TS-specific syntax (namely, - // type annotations). - function getBaseContextOverride() { - const reportOverride = descriptor => { - if ('node' in descriptor && descriptor.loc == null) { - const { node, ...rest } = descriptor; - // We only want to special case the report loc when reporting on - // variables declarations that are not initialized. Declarations that - // _are_ initialized get reported by the base rule due to a setting to - // prohibit initializing variables entirely, in which case underlining - // the whole node including the type annotation and initializer is - // appropriate. - if (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator && - node.init == null) { - context.report({ - ...rest, - loc: getReportLoc(node), - }); - return; - } - } - context.report(descriptor); - }; - // `return { ...context, report: reportOverride }` isn't safe because the - // `context` object has some getters that need to be preserved. - // - // `return new Proxy(context, ...)` doesn't work because `context` has - // non-configurable properties that throw when constructing a Proxy. - // - // So, we'll just use Proxy on a dummy object and use the `get` trap to - // proxy `context`'s properties. - return new Proxy({}, { - get: (target, prop, receiver) => prop === 'report' - ? reportOverride - : Reflect.get(context, prop, receiver), - }); - } - const rules = baseRule.create(getBaseContextOverride()); - return { - 'VariableDeclaration:exit'(node) { - if (mode === 'always') { - if (node.declare) { - return; - } - if (isAncestorNamespaceDeclared(node)) { - return; - } - } - rules['VariableDeclaration:exit'](node); - }, - }; - function isAncestorNamespaceDeclared(node) { - let ancestor = node.parent; - while (ancestor) { - if (ancestor.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration && - ancestor.declare) { - return true; - } - ancestor = ancestor.parent; - } - return false; - } - }, -}); -/** - * When reporting an uninitialized variable declarator, get the loc excluding - * the type annotation. - */ -function getReportLoc(node) { - const start = structuredClone(node.loc.start); - const end = { - line: node.loc.start.line, - // `if (id.type === AST_NODE_TYPES.Identifier)` is a condition for - // reporting in the base rule (as opposed to things like destructuring - // assignment), so the type assertion should always be valid. - column: node.loc.start.column + node.id.name.length, - }; - return { - start, - end, - }; -} -//# sourceMappingURL=init-declarations.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map deleted file mode 100644 index 3d059600..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"init-declarations.js","sourceRoot":"","sources":["../../src/rules/init-declarations.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js deleted file mode 100644 index e3e807aa..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('max-params'); -exports.default = (0, util_1.createRule)({ - name: 'max-params', - meta: { - type: 'suggestion', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Enforce a maximum number of parameters in function definitions', - extendsBaseRule: true, - }, - messages: baseRule.meta.messages, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - countVoidThis: { - type: 'boolean', - description: 'Whether to count a `this` declaration when the type is `void`.', - }, - max: { - type: 'integer', - description: 'A maximum number of parameters in function definitions.', - minimum: 0, - }, - maximum: { - type: 'integer', - description: '(deprecated) A maximum number of parameters in function definitions.', - minimum: 0, - }, - }, - }, - ], - }, - defaultOptions: [{ countVoidThis: false, max: 3 }], - create(context, [{ countVoidThis }]) { - const baseRules = baseRule.create(context); - if (countVoidThis === true) { - return baseRules; - } - const removeVoidThisParam = (node) => { - if (node.params.length === 0 || - node.params[0].type !== utils_1.AST_NODE_TYPES.Identifier || - node.params[0].name !== 'this' || - node.params[0].typeAnnotation?.typeAnnotation.type !== - utils_1.AST_NODE_TYPES.TSVoidKeyword) { - return node; - } - return { - ...node, - params: node.params.slice(1), - }; - }; - const wrapListener = (listener) => { - return (node) => { - listener(removeVoidThisParam(node)); - }; - }; - return { - ArrowFunctionExpression: wrapListener(baseRules.ArrowFunctionExpression), - FunctionDeclaration: wrapListener(baseRules.FunctionDeclaration), - FunctionExpression: wrapListener(baseRules.FunctionExpression), - TSDeclareFunction: wrapListener(baseRules.FunctionDeclaration), - TSFunctionType: wrapListener(baseRules.FunctionDeclaration), - }; - }, -}); -//# sourceMappingURL=max-params.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js.map deleted file mode 100644 index 187e02b1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/max-params.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"max-params.js","sourceRoot":"","sources":["../../src/rules/max-params.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAW9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,YAAY,CAAC,CAAC;AAKjD,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,2DAA2D;QAC3D,IAAI,EAAE;YACJ,WAAW,EACT,gEAAgE;YAClE,eAAe,EAAE,IAAI;SACtB;QACD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,gEAAgE;qBACnE;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,yDAAyD;wBAC3D,OAAO,EAAE,CAAC;qBACX;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,sEAAsE;wBACxE,OAAO,EAAE,CAAC;qBACX;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAElD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAyB,IAAO,EAAK,EAAE;YACjE,IACE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM;gBAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI;oBAChD,sBAAc,CAAC,aAAa,EAC9B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7B,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CACnB,QAAiC,EACR,EAAE;YAC3B,OAAO,CAAC,IAAO,EAAQ,EAAE;gBACvB,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,uBAAuB,EAAE,YAAY,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACxE,mBAAmB,EAAE,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAChE,kBAAkB,EAAE,YAAY,CAAC,SAAS,CAAC,kBAAkB,CAAC;YAC9D,iBAAiB,EAAE,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAC9D,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js deleted file mode 100644 index 1c4b9115..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js +++ /dev/null @@ -1,824 +0,0 @@ -"use strict"; -// This rule was feature-frozen before we enabled no-property-in-node. -/* eslint-disable eslint-plugin/no-property-in-node */ -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.defaultOrder = void 0; -const utils_1 = require("@typescript-eslint/utils"); -const natural_compare_1 = __importDefault(require("natural-compare")); -const util_1 = require("../util"); -const neverConfig = { - type: 'string', - enum: ['never'], -}; -const arrayConfig = (memberTypes) => ({ - type: 'array', - items: { - oneOf: [ - { - $ref: memberTypes, - }, - { - type: 'array', - items: { - $ref: memberTypes, - }, - }, - ], - }, -}); -const objectConfig = (memberTypes) => ({ - type: 'object', - additionalProperties: false, - properties: { - memberTypes: { - oneOf: [arrayConfig(memberTypes), neverConfig], - }, - optionalityOrder: { - $ref: '#/items/0/$defs/optionalityOrderOptions', - }, - order: { - $ref: '#/items/0/$defs/orderOptions', - }, - }, -}); -exports.defaultOrder = [ - // Index signature - 'signature', - 'call-signature', - // Fields - 'public-static-field', - 'protected-static-field', - 'private-static-field', - '#private-static-field', - 'public-decorated-field', - 'protected-decorated-field', - 'private-decorated-field', - 'public-instance-field', - 'protected-instance-field', - 'private-instance-field', - '#private-instance-field', - 'public-abstract-field', - 'protected-abstract-field', - 'public-field', - 'protected-field', - 'private-field', - '#private-field', - 'static-field', - 'instance-field', - 'abstract-field', - 'decorated-field', - 'field', - // Static initialization - 'static-initialization', - // Constructors - 'public-constructor', - 'protected-constructor', - 'private-constructor', - 'constructor', - // Accessors - 'public-static-accessor', - 'protected-static-accessor', - 'private-static-accessor', - '#private-static-accessor', - 'public-decorated-accessor', - 'protected-decorated-accessor', - 'private-decorated-accessor', - 'public-instance-accessor', - 'protected-instance-accessor', - 'private-instance-accessor', - '#private-instance-accessor', - 'public-abstract-accessor', - 'protected-abstract-accessor', - 'public-accessor', - 'protected-accessor', - 'private-accessor', - '#private-accessor', - 'static-accessor', - 'instance-accessor', - 'abstract-accessor', - 'decorated-accessor', - 'accessor', - // Getters - 'public-static-get', - 'protected-static-get', - 'private-static-get', - '#private-static-get', - 'public-decorated-get', - 'protected-decorated-get', - 'private-decorated-get', - 'public-instance-get', - 'protected-instance-get', - 'private-instance-get', - '#private-instance-get', - 'public-abstract-get', - 'protected-abstract-get', - 'public-get', - 'protected-get', - 'private-get', - '#private-get', - 'static-get', - 'instance-get', - 'abstract-get', - 'decorated-get', - 'get', - // Setters - 'public-static-set', - 'protected-static-set', - 'private-static-set', - '#private-static-set', - 'public-decorated-set', - 'protected-decorated-set', - 'private-decorated-set', - 'public-instance-set', - 'protected-instance-set', - 'private-instance-set', - '#private-instance-set', - 'public-abstract-set', - 'protected-abstract-set', - 'public-set', - 'protected-set', - 'private-set', - '#private-set', - 'static-set', - 'instance-set', - 'abstract-set', - 'decorated-set', - 'set', - // Methods - 'public-static-method', - 'protected-static-method', - 'private-static-method', - '#private-static-method', - 'public-decorated-method', - 'protected-decorated-method', - 'private-decorated-method', - 'public-instance-method', - 'protected-instance-method', - 'private-instance-method', - '#private-instance-method', - 'public-abstract-method', - 'protected-abstract-method', - 'public-method', - 'protected-method', - 'private-method', - '#private-method', - 'static-method', - 'instance-method', - 'abstract-method', - 'decorated-method', - 'method', -]; -const allMemberTypes = [ - ...new Set([ - 'readonly-signature', - 'signature', - 'readonly-field', - 'field', - 'method', - 'call-signature', - 'constructor', - 'accessor', - 'get', - 'set', - 'static-initialization', - ].flatMap(type => [ - type, - ...['public', 'protected', 'private', '#private'] - .flatMap(accessibility => [ - type !== 'readonly-signature' && - type !== 'signature' && - type !== 'static-initialization' && - type !== 'call-signature' && - !(type === 'constructor' && accessibility === '#private') - ? `${accessibility}-${type}` // e.g. `public-field` - : [], - // Only class instance fields, methods, accessors, get and set can have decorators attached to them - accessibility !== '#private' && - (type === 'readonly-field' || - type === 'field' || - type === 'method' || - type === 'accessor' || - type === 'get' || - type === 'set') - ? [`${accessibility}-decorated-${type}`, `decorated-${type}`] - : [], - type !== 'constructor' && - type !== 'readonly-signature' && - type !== 'signature' && - type !== 'call-signature' - ? [ - 'static', - 'instance', - // There is no `static-constructor` or `instance-constructor` or `abstract-constructor` - ...(accessibility === '#private' || - accessibility === 'private' - ? [] - : ['abstract']), - ].flatMap(scope => [ - `${scope}-${type}`, - `${accessibility}-${scope}-${type}`, - ]) - : [], - ]) - .flat(), - ])), -]; -const functionExpressions = [ - utils_1.AST_NODE_TYPES.FunctionExpression, - utils_1.AST_NODE_TYPES.ArrowFunctionExpression, -]; -/** - * Gets the node type. - * - * @param node the node to be evaluated. - */ -function getNodeType(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition: - case utils_1.AST_NODE_TYPES.MethodDefinition: - case utils_1.AST_NODE_TYPES.TSMethodSignature: - return node.kind; - case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration: - return 'call-signature'; - case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration: - return 'constructor'; - case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition: - case utils_1.AST_NODE_TYPES.TSPropertySignature: - return node.readonly ? 'readonly-field' : 'field'; - case utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty: - case utils_1.AST_NODE_TYPES.AccessorProperty: - return 'accessor'; - case utils_1.AST_NODE_TYPES.PropertyDefinition: - return node.value && functionExpressions.includes(node.value.type) - ? 'method' - : node.readonly - ? 'readonly-field' - : 'field'; - case utils_1.AST_NODE_TYPES.TSIndexSignature: - return node.readonly ? 'readonly-signature' : 'signature'; - case utils_1.AST_NODE_TYPES.StaticBlock: - return 'static-initialization'; - default: - return null; - } -} -/** - * Gets the raw string value of a member's name - */ -function getMemberRawName(member, sourceCode) { - const { name, type } = (0, util_1.getNameFromMember)(member, sourceCode); - if (type === util_1.MemberNameType.Quoted) { - return name.slice(1, -1); - } - if (type === util_1.MemberNameType.Private) { - return name.slice(1); - } - return name; -} -/** - * Gets the member name based on the member type. - * - * @param node the node to be evaluated. - */ -function getMemberName(node, sourceCode) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSPropertySignature: - case utils_1.AST_NODE_TYPES.TSMethodSignature: - case utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty: - case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition: - case utils_1.AST_NODE_TYPES.AccessorProperty: - case utils_1.AST_NODE_TYPES.PropertyDefinition: - return getMemberRawName(node, sourceCode); - case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition: - case utils_1.AST_NODE_TYPES.MethodDefinition: - return node.kind === 'constructor' - ? 'constructor' - : getMemberRawName(node, sourceCode); - case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration: - return 'new'; - case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration: - return 'call'; - case utils_1.AST_NODE_TYPES.TSIndexSignature: - return (0, util_1.getNameFromIndexSignature)(node); - case utils_1.AST_NODE_TYPES.StaticBlock: - return 'static block'; - default: - return null; - } -} -/** - * Returns true if the member is optional based on the member type. - * - * @param node the node to be evaluated. - * - * @returns Whether the member is optional, or false if it cannot be optional at all. - */ -function isMemberOptional(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSPropertySignature: - case utils_1.AST_NODE_TYPES.TSMethodSignature: - case utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty: - case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition: - case utils_1.AST_NODE_TYPES.AccessorProperty: - case utils_1.AST_NODE_TYPES.PropertyDefinition: - case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition: - case utils_1.AST_NODE_TYPES.MethodDefinition: - return !!node.optional; - } - return false; -} -/** - * Gets the calculated rank using the provided method definition. - * The algorithm is as follows: - * - Get the rank based on the accessibility-scope-type name, e.g. public-instance-field - * - If there is no order for accessibility-scope-type, then strip out the accessibility. - * - If there is no order for scope-type, then strip out the scope. - * - If there is no order for type, then return -1 - * @param memberGroups the valid names to be validated. - * @param orderConfig the current order to be validated. - * - * @return Index of the matching member type in the order configuration. - */ -function getRankOrder(memberGroups, orderConfig) { - let rank = -1; - const stack = [...memberGroups]; // Get a copy of the member groups - while (stack.length > 0 && rank === -1) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const memberGroup = stack.shift(); - rank = orderConfig.findIndex(memberType => Array.isArray(memberType) - ? memberType.includes(memberGroup) - : memberType === memberGroup); - } - return rank; -} -function getAccessibility(node) { - if ('accessibility' in node && node.accessibility) { - return node.accessibility; - } - if ('key' in node && node.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - return '#private'; - } - return 'public'; -} -/** - * Gets the rank of the node given the order. - * @param node the node to be evaluated. - * @param orderConfig the current order to be validated. - * @param supportsModifiers a flag indicating whether the type supports modifiers (scope or accessibility) or not. - */ -function getRank(node, orderConfig, supportsModifiers) { - const type = getNodeType(node); - if (type == null) { - // shouldn't happen but just in case, put it on the end - return orderConfig.length - 1; - } - const abstract = node.type === utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty || - node.type === utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition || - node.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition; - const scope = 'static' in node && node.static - ? 'static' - : abstract - ? 'abstract' - : 'instance'; - const accessibility = getAccessibility(node); - // Collect all existing member groups that apply to this node... - // (e.g. 'public-instance-field', 'instance-field', 'public-field', 'constructor' etc.) - const memberGroups = []; - if (supportsModifiers) { - const decorated = 'decorators' in node && node.decorators.length > 0; - if (decorated && - (type === 'readonly-field' || - type === 'field' || - type === 'method' || - type === 'accessor' || - type === 'get' || - type === 'set')) { - memberGroups.push(`${accessibility}-decorated-${type}`); - memberGroups.push(`decorated-${type}`); - if (type === 'readonly-field') { - memberGroups.push(`${accessibility}-decorated-field`); - memberGroups.push(`decorated-field`); - } - } - if (type !== 'readonly-signature' && - type !== 'signature' && - type !== 'static-initialization') { - if (type !== 'constructor') { - // Constructors have no scope - memberGroups.push(`${accessibility}-${scope}-${type}`); - memberGroups.push(`${scope}-${type}`); - if (type === 'readonly-field') { - memberGroups.push(`${accessibility}-${scope}-field`); - memberGroups.push(`${scope}-field`); - } - } - memberGroups.push(`${accessibility}-${type}`); - if (type === 'readonly-field') { - memberGroups.push(`${accessibility}-field`); - } - } - } - memberGroups.push(type); - if (type === 'readonly-signature') { - memberGroups.push('signature'); - } - else if (type === 'readonly-field') { - memberGroups.push('field'); - } - // ...then get the rank order for those member groups based on the node - return getRankOrder(memberGroups, orderConfig); -} -/** - * Groups members into arrays of consecutive members with the same rank. - * If, for example, the memberSet parameter looks like the following... - * @example - * ``` - * interface Foo { - * [a: string]: number; - * - * a: x; - * B: x; - * c: x; - * - * c(): void; - * B(): void; - * a(): void; - * - * (): Baz; - * - * new (): Bar; - * } - * ``` - * ...the resulting array will look like: [[a, B, c], [c, B, a]]. - * @param memberSet The members to be grouped. - * @param memberType The configured order of member types. - * @param supportsModifiers It'll get passed to getRank(). - * @returns The array of groups of members. - */ -function groupMembersByType(members, memberTypes, supportsModifiers) { - const groupedMembers = []; - const memberRanks = members.map(member => getRank(member, memberTypes, supportsModifiers)); - let previousRank = undefined; - members.forEach((member, index) => { - if (index === members.length - 1) { - return; - } - const rankOfCurrentMember = memberRanks[index]; - const rankOfNextMember = memberRanks[index + 1]; - if (rankOfCurrentMember === previousRank) { - groupedMembers.at(-1)?.push(member); - } - else if (rankOfCurrentMember === rankOfNextMember) { - groupedMembers.push([member]); - previousRank = rankOfCurrentMember; - } - }); - return groupedMembers; -} -/** - * Gets the lowest possible rank(s) higher than target. - * e.g. given the following order: - * ... - * public-static-method - * protected-static-method - * private-static-method - * public-instance-method - * protected-instance-method - * private-instance-method - * ... - * and considering that a public-instance-method has already been declared, so ranks contains - * public-instance-method, then the lowest possible rank for public-static-method is - * public-instance-method. - * If a lowest possible rank is a member group, a comma separated list of ranks is returned. - * @param ranks the existing ranks in the object. - * @param target the minimum target rank to filter on. - * @param order the current order to be validated. - * @returns the name(s) of the lowest possible rank without dashes (-). - */ -function getLowestRank(ranks, target, order) { - let lowest = ranks[ranks.length - 1]; - ranks.forEach(rank => { - if (rank > target) { - lowest = Math.min(lowest, rank); - } - }); - const lowestRank = order[lowest]; - const lowestRanks = Array.isArray(lowestRank) ? lowestRank : [lowestRank]; - return lowestRanks.map(rank => rank.replaceAll('-', ' ')).join(', '); -} -exports.default = (0, util_1.createRule)({ - name: 'member-ordering', - meta: { - type: 'suggestion', - docs: { - description: 'Require a consistent member declaration order', - }, - messages: { - incorrectGroupOrder: 'Member {{name}} should be declared before all {{rank}} definitions.', - incorrectOrder: 'Member {{member}} should be declared before member {{beforeMember}}.', - incorrectRequiredMembersOrder: `Member {{member}} should be declared after all {{optionalOrRequired}} members.`, - }, - schema: [ - { - type: 'object', - $defs: { - allItems: { - type: 'string', - enum: allMemberTypes, - }, - optionalityOrderOptions: { - type: 'string', - enum: ['optional-first', 'required-first'], - }, - orderOptions: { - type: 'string', - enum: [ - 'alphabetically', - 'alphabetically-case-insensitive', - 'as-written', - 'natural', - 'natural-case-insensitive', - ], - }, - typeItems: { - type: 'string', - enum: [ - 'readonly-signature', - 'signature', - 'readonly-field', - 'field', - 'method', - 'constructor', - ], - }, - // ajv is order-dependent; these configs must come last - baseConfig: { - oneOf: [ - neverConfig, - arrayConfig('#/items/0/$defs/allItems'), - objectConfig('#/items/0/$defs/allItems'), - ], - }, - typesConfig: { - oneOf: [ - neverConfig, - arrayConfig('#/items/0/$defs/typeItems'), - objectConfig('#/items/0/$defs/typeItems'), - ], - }, - }, - additionalProperties: false, - properties: { - classes: { - $ref: '#/items/0/$defs/baseConfig', - }, - classExpressions: { - $ref: '#/items/0/$defs/baseConfig', - }, - default: { - $ref: '#/items/0/$defs/baseConfig', - }, - interfaces: { - $ref: '#/items/0/$defs/typesConfig', - }, - typeLiterals: { - $ref: '#/items/0/$defs/typesConfig', - }, - }, - }, - ], - }, - defaultOptions: [ - { - default: { - memberTypes: exports.defaultOrder, - }, - }, - ], - create(context, [options]) { - /** - * Checks if the member groups are correctly sorted. - * - * @param members Members to be validated. - * @param groupOrder Group order to be validated. - * @param supportsModifiers A flag indicating whether the type supports modifiers (scope or accessibility) or not. - * - * @return Array of member groups or null if one of the groups is not correctly sorted. - */ - function checkGroupSort(members, groupOrder, supportsModifiers) { - const previousRanks = []; - const memberGroups = []; - let isCorrectlySorted = true; - // Find first member which isn't correctly sorted - for (const member of members) { - const rank = getRank(member, groupOrder, supportsModifiers); - const name = getMemberName(member, context.sourceCode); - const rankLastMember = previousRanks[previousRanks.length - 1]; - if (rank === -1) { - continue; - } - // Works for 1st item because x < undefined === false for any x (typeof string) - if (rank < rankLastMember) { - context.report({ - node: member, - messageId: 'incorrectGroupOrder', - data: { - name, - rank: getLowestRank(previousRanks, rank, groupOrder), - }, - }); - isCorrectlySorted = false; - } - else if (rank === rankLastMember) { - // Same member group --> Push to existing member group array - memberGroups[memberGroups.length - 1].push(member); - } - else { - // New member group --> Create new member group array - previousRanks.push(rank); - memberGroups.push([member]); - } - } - return isCorrectlySorted ? memberGroups : null; - } - /** - * Checks if the members are alphabetically sorted. - * - * @param members Members to be validated. - * @param order What order the members should be sorted in. - * - * @return True if all members are correctly sorted. - */ - function checkAlphaSort(members, order) { - let previousName = ''; - let isCorrectlySorted = true; - // Find first member which isn't correctly sorted - members.forEach(member => { - const name = getMemberName(member, context.sourceCode); - // Note: Not all members have names - if (name) { - if (naturalOutOfOrder(name, previousName, order)) { - context.report({ - node: member, - messageId: 'incorrectOrder', - data: { - beforeMember: previousName, - member: name, - }, - }); - isCorrectlySorted = false; - } - previousName = name; - } - }); - return isCorrectlySorted; - } - function naturalOutOfOrder(name, previousName, order) { - if (name === previousName) { - return false; - } - switch (order) { - case 'alphabetically': - return name < previousName; - case 'alphabetically-case-insensitive': - return name.toLowerCase() < previousName.toLowerCase(); - case 'natural': - return (0, natural_compare_1.default)(name, previousName) !== 1; - case 'natural-case-insensitive': - return ((0, natural_compare_1.default)(name.toLowerCase(), previousName.toLowerCase()) !== 1); - } - } - /** - * Checks if the order of optional and required members is correct based - * on the given 'required' parameter. - * - * @param members Members to be validated. - * @param optionalityOrder Where to place optional members, if not intermixed. - * - * @return True if all required and optional members are correctly sorted. - */ - function checkRequiredOrder(members, optionalityOrder) { - const switchIndex = members.findIndex((member, i) => i && isMemberOptional(member) !== isMemberOptional(members[i - 1])); - const report = (member) => context.report({ - loc: member.loc, - messageId: 'incorrectRequiredMembersOrder', - data: { - member: getMemberName(member, context.sourceCode), - optionalOrRequired: optionalityOrder === 'required-first' ? 'required' : 'optional', - }, - }); - // if the optionality of the first item is correct (based on optionalityOrder) - // then the first 0 inclusive to switchIndex exclusive members all - // have the correct optionality - if (isMemberOptional(members[0]) !== - (optionalityOrder === 'optional-first')) { - report(members[0]); - return false; - } - for (let i = switchIndex + 1; i < members.length; i++) { - if (isMemberOptional(members[i]) !== - isMemberOptional(members[switchIndex])) { - report(members[switchIndex]); - return false; - } - } - return true; - } - /** - * Validates if all members are correctly sorted. - * - * @param members Members to be validated. - * @param orderConfig Order config to be validated. - * @param supportsModifiers A flag indicating whether the type supports modifiers (scope or accessibility) or not. - */ - function validateMembersOrder(members, orderConfig, supportsModifiers) { - if (orderConfig === 'never') { - return; - } - // Standardize config - let order; - let memberTypes; - let optionalityOrder; - /** - * It runs an alphabetic sort on the groups of the members of the class in the source code. - * @param memberSet The members in the class of the source code on which the grouping operation will be performed. - */ - const checkAlphaSortForAllMembers = (memberSet) => { - const hasAlphaSort = !!(order && order !== 'as-written'); - if (hasAlphaSort && Array.isArray(memberTypes)) { - groupMembersByType(memberSet, memberTypes, supportsModifiers).forEach(members => { - checkAlphaSort(members, order); - }); - } - }; - // returns true if everything is good and false if an error was reported - const checkOrder = (memberSet) => { - const hasAlphaSort = !!(order && order !== 'as-written'); - // Check order - if (Array.isArray(memberTypes)) { - const grouped = checkGroupSort(memberSet, memberTypes, supportsModifiers); - if (grouped == null) { - checkAlphaSortForAllMembers(members); - return false; - } - if (hasAlphaSort) { - grouped.map(groupMember => checkAlphaSort(groupMember, order)); - } - } - else if (hasAlphaSort) { - return checkAlphaSort(memberSet, order); - } - return false; - }; - if (Array.isArray(orderConfig)) { - memberTypes = orderConfig; - } - else { - order = orderConfig.order; - memberTypes = orderConfig.memberTypes; - optionalityOrder = orderConfig.optionalityOrder; - } - if (!optionalityOrder) { - checkOrder(members); - return; - } - const switchIndex = members.findIndex((member, i) => i && isMemberOptional(member) !== isMemberOptional(members[i - 1])); - if (switchIndex !== -1) { - if (!checkRequiredOrder(members, optionalityOrder)) { - return; - } - checkOrder(members.slice(0, switchIndex)); - checkOrder(members.slice(switchIndex)); - } - else { - checkOrder(members); - } - } - // https://github.com/typescript-eslint/typescript-eslint/issues/5439 - /* eslint-disable @typescript-eslint/no-non-null-assertion */ - return { - ClassDeclaration(node) { - validateMembersOrder(node.body.body, options.classes ?? options.default, true); - }, - 'ClassDeclaration, FunctionDeclaration'(node) { - if ('superClass' in node) { - // ... - } - }, - ClassExpression(node) { - validateMembersOrder(node.body.body, options.classExpressions ?? options.default, true); - }, - TSInterfaceDeclaration(node) { - validateMembersOrder(node.body.body, options.interfaces ?? options.default, false); - }, - TSTypeLiteral(node) { - validateMembersOrder(node.members, options.typeLiterals ?? options.default, false); - }, - }; - /* eslint-enable @typescript-eslint/no-non-null-assertion */ - }, -}); -//# sourceMappingURL=member-ordering.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map deleted file mode 100644 index 442ee739..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"member-ordering.js","sourceRoot":"","sources":["../../src/rules/member-ordering.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js deleted file mode 100644 index e5b57ce7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js +++ /dev/null @@ -1,177 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'method-signature-style', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce using a particular method signature syntax', - }, - fixable: 'code', - messages: { - errorMethod: 'Shorthand method signature is forbidden. Use a function property instead.', - errorProperty: 'Function property signature is forbidden. Use a method shorthand instead.', - }, - schema: [ - { - type: 'string', - enum: ['property', 'method'], - }, - ], - }, - defaultOptions: ['property'], - create(context, [mode]) { - function getMethodKey(node) { - let key = context.sourceCode.getText(node.key); - if (node.computed) { - key = `[${key}]`; - } - if (node.optional) { - key = `${key}?`; - } - if (node.readonly) { - key = `readonly ${key}`; - } - return key; - } - function getMethodParams(node) { - let params = '()'; - if (node.params.length > 0) { - const openingParen = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(node.params[0], util_1.isOpeningParenToken), 'Missing opening paren before first parameter'); - const closingParen = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.params[node.params.length - 1], util_1.isClosingParenToken), 'Missing closing paren after last parameter'); - params = context.sourceCode.text.substring(openingParen.range[0], closingParen.range[1]); - } - if (node.typeParameters != null) { - const typeParams = context.sourceCode.getText(node.typeParameters); - params = `${typeParams}${params}`; - } - return params; - } - function getMethodReturnType(node) { - return node.returnType == null - ? // if the method has no return type, it implicitly has an `any` return type - // we just make it explicit here so we can do the fix - 'any' - : context.sourceCode.getText(node.returnType.typeAnnotation); - } - function getDelimiter(node) { - const lastToken = context.sourceCode.getLastToken(node); - if (lastToken && - ((0, util_1.isSemicolonToken)(lastToken) || (0, util_1.isCommaToken)(lastToken))) { - return lastToken.value; - } - return ''; - } - function isNodeParentModuleDeclaration(node) { - if (!node.parent) { - return false; - } - if (node.parent.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration) { - return true; - } - if (node.parent.type === utils_1.AST_NODE_TYPES.Program) { - return false; - } - return isNodeParentModuleDeclaration(node.parent); - } - return { - ...(mode === 'property' && { - TSMethodSignature(methodNode) { - if (methodNode.kind !== 'method') { - return; - } - const parent = methodNode.parent; - const members = parent.type === utils_1.AST_NODE_TYPES.TSInterfaceBody - ? parent.body - : parent.members; - const duplicatedKeyMethodNodes = members.filter((element) => element.type === utils_1.AST_NODE_TYPES.TSMethodSignature && - element !== methodNode && - getMethodKey(element) === getMethodKey(methodNode)); - const isParentModule = isNodeParentModuleDeclaration(methodNode); - if (duplicatedKeyMethodNodes.length > 0) { - if (isParentModule) { - context.report({ - node: methodNode, - messageId: 'errorMethod', - }); - } - else { - context.report({ - node: methodNode, - messageId: 'errorMethod', - *fix(fixer) { - const methodNodes = [ - methodNode, - ...duplicatedKeyMethodNodes, - ].sort((a, b) => (a.range[0] < b.range[0] ? -1 : 1)); - const typeString = methodNodes - .map(node => { - const params = getMethodParams(node); - const returnType = getMethodReturnType(node); - return `(${params} => ${returnType})`; - }) - .join(' & '); - const key = getMethodKey(methodNode); - const delimiter = getDelimiter(methodNode); - yield fixer.replaceText(methodNode, `${key}: ${typeString}${delimiter}`); - for (const node of duplicatedKeyMethodNodes) { - const lastToken = context.sourceCode.getLastToken(node); - if (lastToken) { - const nextToken = context.sourceCode.getTokenAfter(lastToken); - if (nextToken) { - yield fixer.remove(node); - yield fixer.replaceTextRange([lastToken.range[1], nextToken.range[0]], ''); - } - } - } - }, - }); - } - return; - } - if (isParentModule) { - context.report({ - node: methodNode, - messageId: 'errorMethod', - }); - } - else { - context.report({ - node: methodNode, - messageId: 'errorMethod', - fix: fixer => { - const key = getMethodKey(methodNode); - const params = getMethodParams(methodNode); - const returnType = getMethodReturnType(methodNode); - const delimiter = getDelimiter(methodNode); - return fixer.replaceText(methodNode, `${key}: ${params} => ${returnType}${delimiter}`); - }, - }); - } - }, - }), - ...(mode === 'method' && { - TSPropertySignature(propertyNode) { - const typeNode = propertyNode.typeAnnotation?.typeAnnotation; - if (typeNode?.type !== utils_1.AST_NODE_TYPES.TSFunctionType) { - return; - } - context.report({ - node: propertyNode, - messageId: 'errorProperty', - fix: fixer => { - const key = getMethodKey(propertyNode); - const params = getMethodParams(typeNode); - const returnType = getMethodReturnType(typeNode); - const delimiter = getDelimiter(propertyNode); - return fixer.replaceText(propertyNode, `${key}${params}: ${returnType}${delimiter}`); - }, - }); - }, - }), - }; - }, -}); -//# sourceMappingURL=method-signature-style.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map deleted file mode 100644 index 5a4870c5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"method-signature-style.js","sourceRoot":"","sources":["../../src/rules/method-signature-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js deleted file mode 100644 index 244fcdc1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js +++ /dev/null @@ -1,103 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.UnderscoreOptions = exports.TypeModifiers = exports.Selectors = exports.PredefinedFormats = exports.Modifiers = exports.MetaSelectors = void 0; -var PredefinedFormats; -(function (PredefinedFormats) { - PredefinedFormats[PredefinedFormats["camelCase"] = 1] = "camelCase"; - PredefinedFormats[PredefinedFormats["strictCamelCase"] = 2] = "strictCamelCase"; - PredefinedFormats[PredefinedFormats["PascalCase"] = 3] = "PascalCase"; - PredefinedFormats[PredefinedFormats["StrictPascalCase"] = 4] = "StrictPascalCase"; - PredefinedFormats[PredefinedFormats["snake_case"] = 5] = "snake_case"; - PredefinedFormats[PredefinedFormats["UPPER_CASE"] = 6] = "UPPER_CASE"; -})(PredefinedFormats || (exports.PredefinedFormats = PredefinedFormats = {})); -var UnderscoreOptions; -(function (UnderscoreOptions) { - UnderscoreOptions[UnderscoreOptions["forbid"] = 1] = "forbid"; - UnderscoreOptions[UnderscoreOptions["allow"] = 2] = "allow"; - UnderscoreOptions[UnderscoreOptions["require"] = 3] = "require"; - // special cases as it's common practice to use double underscore - UnderscoreOptions[UnderscoreOptions["requireDouble"] = 4] = "requireDouble"; - UnderscoreOptions[UnderscoreOptions["allowDouble"] = 5] = "allowDouble"; - UnderscoreOptions[UnderscoreOptions["allowSingleOrDouble"] = 6] = "allowSingleOrDouble"; -})(UnderscoreOptions || (exports.UnderscoreOptions = UnderscoreOptions = {})); -var Selectors; -(function (Selectors) { - // variableLike - Selectors[Selectors["variable"] = 1] = "variable"; - Selectors[Selectors["function"] = 2] = "function"; - Selectors[Selectors["parameter"] = 4] = "parameter"; - // memberLike - Selectors[Selectors["parameterProperty"] = 8] = "parameterProperty"; - Selectors[Selectors["classicAccessor"] = 16] = "classicAccessor"; - Selectors[Selectors["enumMember"] = 32] = "enumMember"; - Selectors[Selectors["classMethod"] = 64] = "classMethod"; - Selectors[Selectors["objectLiteralMethod"] = 128] = "objectLiteralMethod"; - Selectors[Selectors["typeMethod"] = 256] = "typeMethod"; - Selectors[Selectors["classProperty"] = 512] = "classProperty"; - Selectors[Selectors["objectLiteralProperty"] = 1024] = "objectLiteralProperty"; - Selectors[Selectors["typeProperty"] = 2048] = "typeProperty"; - Selectors[Selectors["autoAccessor"] = 4096] = "autoAccessor"; - // typeLike - Selectors[Selectors["class"] = 8192] = "class"; - Selectors[Selectors["interface"] = 16384] = "interface"; - Selectors[Selectors["typeAlias"] = 32768] = "typeAlias"; - Selectors[Selectors["enum"] = 65536] = "enum"; - Selectors[Selectors["typeParameter"] = 131072] = "typeParameter"; - // other - Selectors[Selectors["import"] = 262144] = "import"; -})(Selectors || (exports.Selectors = Selectors = {})); -var MetaSelectors; -(function (MetaSelectors) { - /* eslint-disable @typescript-eslint/prefer-literal-enum-member */ - MetaSelectors[MetaSelectors["default"] = -1] = "default"; - MetaSelectors[MetaSelectors["variableLike"] = 7] = "variableLike"; - MetaSelectors[MetaSelectors["memberLike"] = 8184] = "memberLike"; - MetaSelectors[MetaSelectors["typeLike"] = 253952] = "typeLike"; - MetaSelectors[MetaSelectors["method"] = 448] = "method"; - MetaSelectors[MetaSelectors["property"] = 3584] = "property"; - MetaSelectors[MetaSelectors["accessor"] = 4112] = "accessor"; - /* eslint-enable @typescript-eslint/prefer-literal-enum-member */ -})(MetaSelectors || (exports.MetaSelectors = MetaSelectors = {})); -var Modifiers; -(function (Modifiers) { - // const variable - Modifiers[Modifiers["const"] = 1] = "const"; - // readonly members - Modifiers[Modifiers["readonly"] = 2] = "readonly"; - // static members - Modifiers[Modifiers["static"] = 4] = "static"; - // member accessibility - Modifiers[Modifiers["public"] = 8] = "public"; - Modifiers[Modifiers["protected"] = 16] = "protected"; - Modifiers[Modifiers["private"] = 32] = "private"; - Modifiers[Modifiers["#private"] = 64] = "#private"; - Modifiers[Modifiers["abstract"] = 128] = "abstract"; - // destructured variable - Modifiers[Modifiers["destructured"] = 256] = "destructured"; - // variables declared in the top-level scope - Modifiers[Modifiers["global"] = 512] = "global"; - // things that are exported - Modifiers[Modifiers["exported"] = 1024] = "exported"; - // things that are unused - Modifiers[Modifiers["unused"] = 2048] = "unused"; - // properties that require quoting - Modifiers[Modifiers["requiresQuotes"] = 4096] = "requiresQuotes"; - // class members that are overridden - Modifiers[Modifiers["override"] = 8192] = "override"; - // class methods, object function properties, or functions that are async via the `async` keyword - Modifiers[Modifiers["async"] = 16384] = "async"; - // default imports - Modifiers[Modifiers["default"] = 32768] = "default"; - // namespace imports - Modifiers[Modifiers["namespace"] = 65536] = "namespace"; - // make sure TypeModifiers starts at Modifiers + 1 or else sorting won't work -})(Modifiers || (exports.Modifiers = Modifiers = {})); -var TypeModifiers; -(function (TypeModifiers) { - TypeModifiers[TypeModifiers["boolean"] = 131072] = "boolean"; - TypeModifiers[TypeModifiers["string"] = 262144] = "string"; - TypeModifiers[TypeModifiers["number"] = 524288] = "number"; - TypeModifiers[TypeModifiers["function"] = 1048576] = "function"; - TypeModifiers[TypeModifiers["array"] = 2097152] = "array"; -})(TypeModifiers || (exports.TypeModifiers = TypeModifiers = {})); -//# sourceMappingURL=enums.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map deleted file mode 100644 index d2fd9843..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/enums.ts"],"names":[],"mappings":";;;AAAA,IAAK,iBAOJ;AAPD,WAAK,iBAAiB;IACpB,mEAAa,CAAA;IACb,+EAAe,CAAA;IACf,qEAAU,CAAA;IACV,iFAAgB,CAAA;IAChB,qEAAU,CAAA;IACV,qEAAU,CAAA;AACZ,CAAC,EAPI,iBAAiB,iCAAjB,iBAAiB,QAOrB;AAGD,IAAK,iBASJ;AATD,WAAK,iBAAiB;IACpB,6DAAU,CAAA;IACV,2DAAK,CAAA;IACL,+DAAO,CAAA;IAEP,iEAAiE;IACjE,2EAAa,CAAA;IACb,uEAAW,CAAA;IACX,uFAAmB,CAAA;AACrB,CAAC,EATI,iBAAiB,iCAAjB,iBAAiB,QASrB;AAGD,IAAK,SA2BJ;AA3BD,WAAK,SAAS;IACZ,eAAe;IACf,iDAAiB,CAAA;IACjB,iDAAiB,CAAA;IACjB,mDAAkB,CAAA;IAElB,aAAa;IACb,mEAA0B,CAAA;IAC1B,gEAAwB,CAAA;IACxB,sDAAmB,CAAA;IACnB,wDAAoB,CAAA;IACpB,yEAA4B,CAAA;IAC5B,uDAAmB,CAAA;IACnB,6DAAsB,CAAA;IACtB,8EAA+B,CAAA;IAC/B,4DAAsB,CAAA;IACtB,4DAAsB,CAAA;IAEtB,WAAW;IACX,8CAAe,CAAA;IACf,uDAAmB,CAAA;IACnB,uDAAmB,CAAA;IACnB,6CAAc,CAAA;IACd,gEAAuB,CAAA;IAEvB,QAAQ;IACR,kDAAgB,CAAA;AAClB,CAAC,EA3BI,SAAS,yBAAT,SAAS,QA2Bb;AAGD,IAAK,aAkCJ;AAlCD,WAAK,aAAa;IAChB,kEAAkE;IAClE,wDAAY,CAAA;IACZ,iEAGqB,CAAA;IACrB,gEAUwB,CAAA;IACxB,8DAKyB,CAAA;IACzB,uDAGsB,CAAA;IACtB,4DAGwB,CAAA;IACxB,4DAAiE,CAAA;IACjE,iEAAiE;AACnE,CAAC,EAlCI,aAAa,6BAAb,aAAa,QAkCjB;AAID,IAAK,SAiCJ;AAjCD,WAAK,SAAS;IACZ,iBAAiB;IACjB,2CAAc,CAAA;IACd,mBAAmB;IACnB,iDAAiB,CAAA;IACjB,iBAAiB;IACjB,6CAAe,CAAA;IACf,uBAAuB;IACvB,6CAAe,CAAA;IACf,oDAAkB,CAAA;IAClB,gDAAgB,CAAA;IAChB,kDAAmB,CAAA;IACnB,mDAAiB,CAAA;IACjB,wBAAwB;IACxB,2DAAqB,CAAA;IACrB,4CAA4C;IAC5C,+CAAe,CAAA;IACf,2BAA2B;IAC3B,oDAAkB,CAAA;IAClB,yBAAyB;IACzB,gDAAgB,CAAA;IAChB,kCAAkC;IAClC,gEAAwB,CAAA;IACxB,oCAAoC;IACpC,oDAAkB,CAAA;IAClB,iGAAiG;IACjG,+CAAe,CAAA;IACf,kBAAkB;IAClB,mDAAiB,CAAA;IACjB,oBAAoB;IACpB,uDAAmB,CAAA;IAEnB,6EAA6E;AAC/E,CAAC,EAjCI,SAAS,yBAAT,SAAS,QAiCb;AAGD,IAAK,aAMJ;AAND,WAAK,aAAa;IAChB,4DAAiB,CAAA;IACjB,0DAAgB,CAAA;IAChB,0DAAgB,CAAA;IAChB,+DAAkB,CAAA;IAClB,yDAAe,CAAA;AACjB,CAAC,EANI,aAAa,6BAAb,aAAa,QAMjB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js deleted file mode 100644 index 9eda0c5f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js +++ /dev/null @@ -1,91 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PredefinedFormatToCheckFunction = void 0; -const enums_1 = require("./enums"); -/* -These format functions are taken from `tslint-consistent-codestyle/naming-convention`: -https://github.com/ajafff/tslint-consistent-codestyle/blob/ab156cc8881bcc401236d999f4ce034b59039e81/rules/namingConventionRule.ts#L603-L645 - -The license for the code can be viewed here: -https://github.com/ajafff/tslint-consistent-codestyle/blob/ab156cc8881bcc401236d999f4ce034b59039e81/LICENSE -*/ -/* -Why not regex here? Because it's actually really, really difficult to create a regex to handle -all of the unicode cases, and we have many non-english users that use non-english characters. -https://gist.github.com/mathiasbynens/6334847 -*/ -function isPascalCase(name) { - return (name.length === 0 || - (name[0] === name[0].toUpperCase() && !name.includes('_'))); -} -function isStrictPascalCase(name) { - return (name.length === 0 || - (name[0] === name[0].toUpperCase() && hasStrictCamelHumps(name, true))); -} -function isCamelCase(name) { - return (name.length === 0 || - (name[0] === name[0].toLowerCase() && !name.includes('_'))); -} -function isStrictCamelCase(name) { - return (name.length === 0 || - (name[0] === name[0].toLowerCase() && hasStrictCamelHumps(name, false))); -} -function hasStrictCamelHumps(name, isUpper) { - function isUppercaseChar(char) { - return char === char.toUpperCase() && char !== char.toLowerCase(); - } - if (name.startsWith('_')) { - return false; - } - for (let i = 1; i < name.length; ++i) { - if (name[i] === '_') { - return false; - } - if (isUpper === isUppercaseChar(name[i])) { - if (isUpper) { - return false; - } - } - else { - isUpper = !isUpper; - } - } - return true; -} -function isSnakeCase(name) { - return (name.length === 0 || - (name === name.toLowerCase() && validateUnderscores(name))); -} -function isUpperCase(name) { - return (name.length === 0 || - (name === name.toUpperCase() && validateUnderscores(name))); -} -/** Check for leading trailing and adjacent underscores */ -function validateUnderscores(name) { - if (name.startsWith('_')) { - return false; - } - let wasUnderscore = false; - for (let i = 1; i < name.length; ++i) { - if (name[i] === '_') { - if (wasUnderscore) { - return false; - } - wasUnderscore = true; - } - else { - wasUnderscore = false; - } - } - return !wasUnderscore; -} -const PredefinedFormatToCheckFunction = { - [enums_1.PredefinedFormats.camelCase]: isCamelCase, - [enums_1.PredefinedFormats.PascalCase]: isPascalCase, - [enums_1.PredefinedFormats.snake_case]: isSnakeCase, - [enums_1.PredefinedFormats.strictCamelCase]: isStrictCamelCase, - [enums_1.PredefinedFormats.StrictPascalCase]: isStrictPascalCase, - [enums_1.PredefinedFormats.UPPER_CASE]: isUpperCase, -}; -exports.PredefinedFormatToCheckFunction = PredefinedFormatToCheckFunction; -//# sourceMappingURL=format.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js.map deleted file mode 100644 index b050d34a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/format.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/format.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js deleted file mode 100644 index c6f1fe36..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.selectorTypeToMessageString = exports.SCHEMA = exports.parseOptions = exports.Modifiers = void 0; -var enums_1 = require("./enums"); -Object.defineProperty(exports, "Modifiers", { enumerable: true, get: function () { return enums_1.Modifiers; } }); -var parse_options_1 = require("./parse-options"); -Object.defineProperty(exports, "parseOptions", { enumerable: true, get: function () { return parse_options_1.parseOptions; } }); -var schema_1 = require("./schema"); -Object.defineProperty(exports, "SCHEMA", { enumerable: true, get: function () { return schema_1.SCHEMA; } }); -var shared_1 = require("./shared"); -Object.defineProperty(exports, "selectorTypeToMessageString", { enumerable: true, get: function () { return shared_1.selectorTypeToMessageString; } }); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js.map deleted file mode 100644 index 4f8f3ebd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/index.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAuD;AAA9C,qHAAA,2BAA2B,OAAA"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js deleted file mode 100644 index 58ebafbb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parseOptions = parseOptions; -const util_1 = require("../../util"); -const enums_1 = require("./enums"); -const shared_1 = require("./shared"); -const validator_1 = require("./validator"); -function normalizeOption(option) { - let weight = 0; - option.modifiers?.forEach(mod => { - weight |= enums_1.Modifiers[mod]; - }); - option.types?.forEach(mod => { - weight |= enums_1.TypeModifiers[mod]; - }); - // give selectors with a filter the _highest_ priority - if (option.filter) { - weight |= 1 << 30; - } - const normalizedOption = { - // format options - custom: option.custom - ? { - match: option.custom.match, - regex: new RegExp(option.custom.regex, 'u'), - } - : null, - filter: option.filter != null - ? typeof option.filter === 'string' - ? { - match: true, - regex: new RegExp(option.filter, 'u'), - } - : { - match: option.filter.match, - regex: new RegExp(option.filter.regex, 'u'), - } - : null, - format: option.format ? option.format.map(f => enums_1.PredefinedFormats[f]) : null, - leadingUnderscore: option.leadingUnderscore != null - ? enums_1.UnderscoreOptions[option.leadingUnderscore] - : null, - modifiers: option.modifiers?.map(m => enums_1.Modifiers[m]) ?? null, - prefix: option.prefix && option.prefix.length > 0 ? option.prefix : null, - suffix: option.suffix && option.suffix.length > 0 ? option.suffix : null, - trailingUnderscore: option.trailingUnderscore != null - ? enums_1.UnderscoreOptions[option.trailingUnderscore] - : null, - types: option.types?.map(m => enums_1.TypeModifiers[m]) ?? null, - // calculated ordering weight based on modifiers - modifierWeight: weight, - }; - const selectors = Array.isArray(option.selector) - ? option.selector - : [option.selector]; - return selectors.map(selector => ({ - selector: (0, shared_1.isMetaSelector)(selector) - ? enums_1.MetaSelectors[selector] - : enums_1.Selectors[selector], - ...normalizedOption, - })); -} -function parseOptions(context) { - const normalizedOptions = context.options.flatMap(normalizeOption); - return Object.fromEntries((0, util_1.getEnumNames)(enums_1.Selectors).map(k => [ - k, - (0, validator_1.createValidator)(k, context, normalizedOptions), - ])); -} -//# sourceMappingURL=parse-options.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js.map deleted file mode 100644 index 0b2dca37..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/parse-options.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parse-options.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/parse-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js deleted file mode 100644 index 04002301..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js +++ /dev/null @@ -1,307 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SCHEMA = void 0; -const util_1 = require("../../util"); -const enums_1 = require("./enums"); -const $DEFS = { - // enums - predefinedFormats: { - enum: (0, util_1.getEnumNames)(enums_1.PredefinedFormats), - type: 'string', - }, - typeModifiers: { - enum: (0, util_1.getEnumNames)(enums_1.TypeModifiers), - type: 'string', - }, - underscoreOptions: { - enum: (0, util_1.getEnumNames)(enums_1.UnderscoreOptions), - type: 'string', - }, - // repeated types - formatOptionsConfig: { - oneOf: [ - { - additionalItems: false, - items: { - $ref: '#/$defs/predefinedFormats', - }, - type: 'array', - }, - { - type: 'null', - }, - ], - }, - matchRegexConfig: { - additionalProperties: false, - properties: { - match: { type: 'boolean' }, - regex: { type: 'string' }, - }, - required: ['match', 'regex'], - type: 'object', - }, - prefixSuffixConfig: { - additionalItems: false, - items: { - minLength: 1, - type: 'string', - }, - type: 'array', - }, -}; -const UNDERSCORE_SCHEMA = { - $ref: '#/$defs/underscoreOptions', -}; -const PREFIX_SUFFIX_SCHEMA = { - $ref: '#/$defs/prefixSuffixConfig', -}; -const MATCH_REGEX_SCHEMA = { - $ref: '#/$defs/matchRegexConfig', -}; -const FORMAT_OPTIONS_PROPERTIES = { - custom: MATCH_REGEX_SCHEMA, - failureMessage: { - type: 'string', - }, - format: { - $ref: '#/$defs/formatOptionsConfig', - }, - leadingUnderscore: UNDERSCORE_SCHEMA, - prefix: PREFIX_SUFFIX_SCHEMA, - suffix: PREFIX_SUFFIX_SCHEMA, - trailingUnderscore: UNDERSCORE_SCHEMA, -}; -function selectorSchema(selectorString, allowType, modifiers) { - const selector = { - filter: { - oneOf: [ - { - minLength: 1, - type: 'string', - }, - MATCH_REGEX_SCHEMA, - ], - }, - selector: { - enum: [selectorString], - type: 'string', - }, - }; - if (modifiers && modifiers.length > 0) { - selector.modifiers = { - additionalItems: false, - items: { - enum: modifiers, - type: 'string', - }, - type: 'array', - }; - } - if (allowType) { - selector.types = { - additionalItems: false, - items: { - $ref: '#/$defs/typeModifiers', - }, - type: 'array', - }; - } - return [ - { - additionalProperties: false, - description: `Selector '${selectorString}'`, - properties: { - ...FORMAT_OPTIONS_PROPERTIES, - ...selector, - }, - required: ['selector', 'format'], - type: 'object', - }, - ]; -} -function selectorsSchema() { - return { - additionalProperties: false, - description: 'Multiple selectors in one config', - properties: { - ...FORMAT_OPTIONS_PROPERTIES, - filter: { - oneOf: [ - { - minLength: 1, - type: 'string', - }, - MATCH_REGEX_SCHEMA, - ], - }, - modifiers: { - additionalItems: false, - items: { - enum: (0, util_1.getEnumNames)(enums_1.Modifiers), - type: 'string', - }, - type: 'array', - }, - selector: { - additionalItems: false, - items: { - enum: [...(0, util_1.getEnumNames)(enums_1.MetaSelectors), ...(0, util_1.getEnumNames)(enums_1.Selectors)], - type: 'string', - }, - type: 'array', - }, - types: { - additionalItems: false, - items: { - $ref: '#/$defs/typeModifiers', - }, - type: 'array', - }, - }, - required: ['selector', 'format'], - type: 'object', - }; -} -const SCHEMA = { - $defs: $DEFS, - additionalItems: false, - items: { - oneOf: [ - selectorsSchema(), - ...selectorSchema('default', false, (0, util_1.getEnumNames)(enums_1.Modifiers)), - ...selectorSchema('variableLike', false, ['unused', 'async']), - ...selectorSchema('variable', true, [ - 'const', - 'destructured', - 'exported', - 'global', - 'unused', - 'async', - ]), - ...selectorSchema('function', false, [ - 'exported', - 'global', - 'unused', - 'async', - ]), - ...selectorSchema('parameter', true, ['destructured', 'unused']), - ...selectorSchema('memberLike', false, [ - 'abstract', - 'private', - '#private', - 'protected', - 'public', - 'readonly', - 'requiresQuotes', - 'static', - 'override', - 'async', - ]), - ...selectorSchema('classProperty', true, [ - 'abstract', - 'private', - '#private', - 'protected', - 'public', - 'readonly', - 'requiresQuotes', - 'static', - 'override', - ]), - ...selectorSchema('objectLiteralProperty', true, [ - 'public', - 'requiresQuotes', - ]), - ...selectorSchema('typeProperty', true, [ - 'public', - 'readonly', - 'requiresQuotes', - ]), - ...selectorSchema('parameterProperty', true, [ - 'private', - 'protected', - 'public', - 'readonly', - ]), - ...selectorSchema('property', true, [ - 'abstract', - 'private', - '#private', - 'protected', - 'public', - 'readonly', - 'requiresQuotes', - 'static', - 'override', - 'async', - ]), - ...selectorSchema('classMethod', false, [ - 'abstract', - 'private', - '#private', - 'protected', - 'public', - 'requiresQuotes', - 'static', - 'override', - 'async', - ]), - ...selectorSchema('objectLiteralMethod', false, [ - 'public', - 'requiresQuotes', - 'async', - ]), - ...selectorSchema('typeMethod', false, ['public', 'requiresQuotes']), - ...selectorSchema('method', false, [ - 'abstract', - 'private', - '#private', - 'protected', - 'public', - 'requiresQuotes', - 'static', - 'override', - 'async', - ]), - ...selectorSchema('classicAccessor', true, [ - 'abstract', - 'private', - 'protected', - 'public', - 'requiresQuotes', - 'static', - 'override', - ]), - ...selectorSchema('autoAccessor', true, [ - 'abstract', - 'private', - 'protected', - 'public', - 'requiresQuotes', - 'static', - 'override', - ]), - ...selectorSchema('accessor', true, [ - 'abstract', - 'private', - 'protected', - 'public', - 'requiresQuotes', - 'static', - 'override', - ]), - ...selectorSchema('enumMember', false, ['requiresQuotes']), - ...selectorSchema('typeLike', false, ['abstract', 'exported', 'unused']), - ...selectorSchema('class', false, ['abstract', 'exported', 'unused']), - ...selectorSchema('interface', false, ['exported', 'unused']), - ...selectorSchema('typeAlias', false, ['exported', 'unused']), - ...selectorSchema('enum', false, ['exported', 'unused']), - ...selectorSchema('typeParameter', false, ['unused']), - ...selectorSchema('import', false, ['default', 'namespace']), - ], - }, - type: 'array', -}; -exports.SCHEMA = SCHEMA; -//# sourceMappingURL=schema.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map deleted file mode 100644 index 7273a646..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/schema.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js deleted file mode 100644 index 63367175..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isMetaSelector = isMetaSelector; -exports.isMethodOrPropertySelector = isMethodOrPropertySelector; -exports.selectorTypeToMessageString = selectorTypeToMessageString; -const enums_1 = require("./enums"); -function selectorTypeToMessageString(selectorType) { - const notCamelCase = selectorType.replaceAll(/([A-Z])/g, ' $1'); - return notCamelCase.charAt(0).toUpperCase() + notCamelCase.slice(1); -} -function isMetaSelector(selector) { - return selector in enums_1.MetaSelectors; -} -function isMethodOrPropertySelector(selector) { - return (selector === enums_1.MetaSelectors.method || selector === enums_1.MetaSelectors.property); -} -//# sourceMappingURL=shared.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js.map deleted file mode 100644 index ac186b6a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/shared.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/shared.ts"],"names":[],"mappings":";;AA6BE,wCAAc;AACd,gEAA0B;AAC1B,kEAA2B;AAxB7B,mCAAwC;AAExC,SAAS,2BAA2B,CAAC,YAA6B;IAChE,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CACrB,QAAsE;IAEtE,OAAO,QAAQ,IAAI,qBAAa,CAAC;AACnC,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAsE;IAEtE,OAAO,CACL,QAAQ,KAAK,qBAAa,CAAC,MAAM,IAAI,QAAQ,KAAK,qBAAa,CAAC,QAAQ,CACzE,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js deleted file mode 100644 index 11e638d1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js.map deleted file mode 100644 index 60c24d81..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js deleted file mode 100644 index abaa1070..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js +++ /dev/null @@ -1,350 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createValidator = createValidator; -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../../util"); -const enums_1 = require("./enums"); -const format_1 = require("./format"); -const shared_1 = require("./shared"); -function createValidator(type, context, allConfigs) { - // make sure the "highest priority" configs are checked first - const selectorType = enums_1.Selectors[type]; - const configs = allConfigs - // gather all of the applicable selectors - .filter(c => (c.selector & selectorType) !== 0 || - c.selector === enums_1.MetaSelectors.default) - .sort((a, b) => { - if (a.selector === b.selector) { - // in the event of the same selector, order by modifier weight - // sort descending - the type modifiers are "more important" - return b.modifierWeight - a.modifierWeight; - } - const aIsMeta = (0, shared_1.isMetaSelector)(a.selector); - const bIsMeta = (0, shared_1.isMetaSelector)(b.selector); - // non-meta selectors should go ahead of meta selectors - if (aIsMeta && !bIsMeta) { - return 1; - } - if (!aIsMeta && bIsMeta) { - return -1; - } - const aIsMethodOrProperty = (0, shared_1.isMethodOrPropertySelector)(a.selector); - const bIsMethodOrProperty = (0, shared_1.isMethodOrPropertySelector)(b.selector); - // for backward compatibility, method and property have higher precedence than other meta selectors - if (aIsMethodOrProperty && !bIsMethodOrProperty) { - return -1; - } - if (!aIsMethodOrProperty && bIsMethodOrProperty) { - return 1; - } - // both aren't meta selectors - // sort descending - the meta selectors are "least important" - return b.selector - a.selector; - }); - return (node, modifiers = new Set()) => { - const originalName = node.type === utils_1.AST_NODE_TYPES.Identifier || - node.type === utils_1.AST_NODE_TYPES.PrivateIdentifier - ? node.name - : `${node.value}`; - // return will break the loop and stop checking configs - // it is only used when the name is known to have failed or succeeded a config. - for (const config of configs) { - if (config.filter?.regex.test(originalName) !== config.filter?.match) { - // name does not match the filter - continue; - } - if (config.modifiers?.some(modifier => !modifiers.has(modifier))) { - // does not have the required modifiers - continue; - } - if (!isCorrectType(node, config, context, selectorType)) { - // is not the correct type - continue; - } - let name = originalName; - name = validateUnderscore('leading', config, name, node, originalName); - if (name == null) { - // fail - return; - } - name = validateUnderscore('trailing', config, name, node, originalName); - if (name == null) { - // fail - return; - } - name = validateAffix('prefix', config, name, node, originalName); - if (name == null) { - // fail - return; - } - name = validateAffix('suffix', config, name, node, originalName); - if (name == null) { - // fail - return; - } - if (!validateCustom(config, name, node, originalName)) { - // fail - return; - } - if (!validatePredefinedFormat(config, name, node, originalName, modifiers)) { - // fail - return; - } - // it's valid for this config, so we don't need to check any more configs - return; - } - }; - // centralizes the logic for formatting the report data - function formatReportData({ affixes, count, custom, formats, originalName, position, processedName, }) { - return { - affixes: affixes?.join(', '), - count, - formats: formats?.map(f => enums_1.PredefinedFormats[f]).join(', '), - name: originalName, - position, - processedName, - regex: custom?.regex.toString(), - regexMatch: custom?.match === true - ? 'match' - : custom?.match === false - ? 'not match' - : null, - type: (0, shared_1.selectorTypeToMessageString)(type), - }; - } - /** - * @returns the name with the underscore removed, if it is valid according to the specified underscore option, null otherwise - */ - function validateUnderscore(position, config, name, node, originalName) { - const option = position === 'leading' - ? config.leadingUnderscore - : config.trailingUnderscore; - if (!option) { - return name; - } - const hasSingleUnderscore = position === 'leading' - ? () => name.startsWith('_') - : () => name.endsWith('_'); - const trimSingleUnderscore = position === 'leading' - ? () => name.slice(1) - : () => name.slice(0, -1); - const hasDoubleUnderscore = position === 'leading' - ? () => name.startsWith('__') - : () => name.endsWith('__'); - const trimDoubleUnderscore = position === 'leading' - ? () => name.slice(2) - : () => name.slice(0, -2); - switch (option) { - // ALLOW - no conditions as the user doesn't care if it's there or not - case enums_1.UnderscoreOptions.allow: { - if (hasSingleUnderscore()) { - return trimSingleUnderscore(); - } - return name; - } - case enums_1.UnderscoreOptions.allowDouble: { - if (hasDoubleUnderscore()) { - return trimDoubleUnderscore(); - } - return name; - } - case enums_1.UnderscoreOptions.allowSingleOrDouble: { - if (hasDoubleUnderscore()) { - return trimDoubleUnderscore(); - } - if (hasSingleUnderscore()) { - return trimSingleUnderscore(); - } - return name; - } - // FORBID - case enums_1.UnderscoreOptions.forbid: { - if (hasSingleUnderscore()) { - context.report({ - data: formatReportData({ - count: 'one', - originalName, - position, - }), - messageId: 'unexpectedUnderscore', - node, - }); - return null; - } - return name; - } - // REQUIRE - case enums_1.UnderscoreOptions.require: { - if (!hasSingleUnderscore()) { - context.report({ - data: formatReportData({ - count: 'one', - originalName, - position, - }), - messageId: 'missingUnderscore', - node, - }); - return null; - } - return trimSingleUnderscore(); - } - case enums_1.UnderscoreOptions.requireDouble: { - if (!hasDoubleUnderscore()) { - context.report({ - data: formatReportData({ - count: 'two', - originalName, - position, - }), - messageId: 'missingUnderscore', - node, - }); - return null; - } - return trimDoubleUnderscore(); - } - } - } - /** - * @returns the name with the affix removed, if it is valid according to the specified affix option, null otherwise - */ - function validateAffix(position, config, name, node, originalName) { - const affixes = config[position]; - if (!affixes || affixes.length === 0) { - return name; - } - for (const affix of affixes) { - const hasAffix = position === 'prefix' ? name.startsWith(affix) : name.endsWith(affix); - const trimAffix = position === 'prefix' - ? () => name.slice(affix.length) - : () => name.slice(0, -affix.length); - if (hasAffix) { - // matches, so trim it and return - return trimAffix(); - } - } - context.report({ - data: formatReportData({ - affixes, - originalName, - position, - }), - messageId: 'missingAffix', - node, - }); - return null; - } - /** - * @returns true if the name is valid according to the `regex` option, false otherwise - */ - function validateCustom(config, name, node, originalName) { - const custom = config.custom; - if (!custom) { - return true; - } - const result = custom.regex.test(name); - if (custom.match && result) { - return true; - } - if (!custom.match && !result) { - return true; - } - context.report({ - data: formatReportData({ - custom, - originalName, - }), - messageId: 'satisfyCustom', - node, - }); - return false; - } - /** - * @returns true if the name is valid according to the `format` option, false otherwise - */ - function validatePredefinedFormat(config, name, node, originalName, modifiers) { - const formats = config.format; - if (!formats?.length) { - return true; - } - if (!modifiers.has(enums_1.Modifiers.requiresQuotes)) { - for (const format of formats) { - const checker = format_1.PredefinedFormatToCheckFunction[format]; - if (checker(name)) { - return true; - } - } - } - context.report({ - data: formatReportData({ - formats, - originalName, - processedName: name, - }), - messageId: originalName === name - ? 'doesNotMatchFormat' - : 'doesNotMatchFormatTrimmed', - node, - }); - return false; - } -} -const SelectorsAllowedToHaveTypes = enums_1.Selectors.variable | - enums_1.Selectors.parameter | - enums_1.Selectors.classProperty | - enums_1.Selectors.objectLiteralProperty | - enums_1.Selectors.typeProperty | - enums_1.Selectors.parameterProperty | - enums_1.Selectors.classicAccessor; -function isCorrectType(node, config, context, selector) { - if (config.types == null) { - return true; - } - if ((SelectorsAllowedToHaveTypes & selector) === 0) { - return true; - } - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const type = services - .getTypeAtLocation(node) - // remove null and undefined from the type, as we don't care about it here - .getNonNullableType(); - for (const allowedType of config.types) { - switch (allowedType) { - case enums_1.TypeModifiers.array: - if (isAllTypesMatch(type, t => checker.isArrayType(t) || checker.isTupleType(t))) { - return true; - } - break; - case enums_1.TypeModifiers.function: - if (isAllTypesMatch(type, t => t.getCallSignatures().length > 0)) { - return true; - } - break; - case enums_1.TypeModifiers.boolean: - case enums_1.TypeModifiers.number: - case enums_1.TypeModifiers.string: { - const typeString = checker.typeToString( - // this will resolve things like true => boolean, 'a' => string and 1 => number - checker.getWidenedType(checker.getBaseTypeOfLiteralType(type))); - const allowedTypeString = enums_1.TypeModifiers[allowedType]; - if (typeString === allowedTypeString) { - return true; - } - break; - } - } - } - return false; -} -/** - * @returns `true` if the type (or all union types) in the given type return true for the callback - */ -function isAllTypesMatch(type, cb) { - if (type.isUnion()) { - return type.types.every(t => cb(t)); - } - return cb(type); -} -//# sourceMappingURL=validator.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map deleted file mode 100644 index ff2c4919..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/rules/naming-convention-utils/validator.ts"],"names":[],"mappings":";;AAkfS,0CAAe;AA/exB,oDAA0D;AAK1D,qCAA+C;AAC/C,mCAOiB;AACjB,qCAA2D;AAC3D,qCAIkB;AAElB,SAAS,eAAe,CACtB,IAAqB,EACrB,OAAgB,EAChB,UAAgC;IAIhC,6DAA6D;IAC7D,MAAM,YAAY,GAAG,iBAAS,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU;QACxB,yCAAyC;SACxC,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,QAAQ,KAAK,qBAAa,CAAC,OAAO,CACvC;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9B,8DAA8D;YAC9D,4DAA4D;YAC5D,OAAO,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE3C,uDAAuD;QACvD,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAA,mCAA0B,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG,IAAA,mCAA0B,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEnE,mGAAmG;QACnG,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,6BAA6B;QAC7B,6DAA6D;QAC7D,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IACjC,CAAC,CAAC,CAAC;IAEL,OAAO,CACL,IAAyE,EACzE,YAA4B,IAAI,GAAG,EAAa,EAC1C,EAAE;QACR,MAAM,YAAY,GAChB,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;YACvC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;YAC5C,CAAC,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAEtB,uDAAuD;QACvD,+EAA+E;QAC/E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;gBACrE,iCAAiC;gBACjC,SAAS;YACX,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACjE,uCAAuC;gBACvC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;gBACxD,0BAA0B;gBAC1B,SAAS;YACX,CAAC;YAED,IAAI,IAAI,GAAkB,YAAY,CAAC;YAEvC,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACvE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO;gBACP,OAAO;YACT,CAAC;YAED,IAAI,GAAG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACxE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO;gBACP,OAAO;YACT,CAAC;YAED,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACjE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO;gBACP,OAAO;YACT,CAAC;YAED,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACjE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO;gBACP,OAAO;YACT,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;gBACtD,OAAO;gBACP,OAAO;YACT,CAAC;YAED,IACE,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EACtE,CAAC;gBACD,OAAO;gBACP,OAAO;YACT,CAAC;YAED,yEAAyE;YACzE,OAAO;QACT,CAAC;IACH,CAAC,CAAC;IAEF,uDAAuD;IACvD,SAAS,gBAAgB,CAAC,EACxB,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,aAAa,GASd;QACC,OAAO;YACL,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;YAC5B,KAAK;YACL,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3D,IAAI,EAAE,YAAY;YAClB,QAAQ;YACR,aAAa;YACb,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC/B,UAAU,EACR,MAAM,EAAE,KAAK,KAAK,IAAI;gBACpB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,KAAK;oBACvB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,IAAA,oCAA2B,EAAC,IAAI,CAAC;SACxC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,kBAAkB,CACzB,QAAgC,EAChC,MAA0B,EAC1B,IAAY,EACZ,IAAyE,EACzE,YAAoB;QAEpB,MAAM,MAAM,GACV,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,MAAM,CAAC,iBAAiB;YAC1B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,mBAAmB,GACvB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,GAAY,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,oBAAoB,GACxB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtC,MAAM,mBAAmB,GACvB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,GAAY,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,GAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,oBAAoB,GACxB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtC,QAAQ,MAAM,EAAE,CAAC;YACf,sEAAsE;YACtE,KAAK,yBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7B,IAAI,mBAAmB,EAAE,EAAE,CAAC;oBAC1B,OAAO,oBAAoB,EAAE,CAAC;gBAChC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,yBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnC,IAAI,mBAAmB,EAAE,EAAE,CAAC;oBAC1B,OAAO,oBAAoB,EAAE,CAAC;gBAChC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,yBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC3C,IAAI,mBAAmB,EAAE,EAAE,CAAC;oBAC1B,OAAO,oBAAoB,EAAE,CAAC;gBAChC,CAAC;gBAED,IAAI,mBAAmB,EAAE,EAAE,CAAC;oBAC1B,OAAO,oBAAoB,EAAE,CAAC;gBAChC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAED,SAAS;YACT,KAAK,yBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9B,IAAI,mBAAmB,EAAE,EAAE,CAAC;oBAC1B,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,gBAAgB,CAAC;4BACrB,KAAK,EAAE,KAAK;4BACZ,YAAY;4BACZ,QAAQ;yBACT,CAAC;wBACF,SAAS,EAAE,sBAAsB;wBACjC,IAAI;qBACL,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAED,UAAU;YACV,KAAK,yBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBAC3B,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,gBAAgB,CAAC;4BACrB,KAAK,EAAE,KAAK;4BACZ,YAAY;4BACZ,QAAQ;yBACT,CAAC;wBACF,SAAS,EAAE,mBAAmB;wBAC9B,IAAI;qBACL,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;YAED,KAAK,yBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBAC3B,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,gBAAgB,CAAC;4BACrB,KAAK,EAAE,KAAK;4BACZ,YAAY;4BACZ,QAAQ;yBACT,CAAC;wBACF,SAAS,EAAE,mBAAmB;wBAC9B,IAAI;qBACL,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,aAAa,CACpB,QAA6B,EAC7B,MAA0B,EAC1B,IAAY,EACZ,IAAyE,EACzE,YAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GACZ,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,SAAS,GACb,QAAQ,KAAK,QAAQ;gBACnB,CAAC,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;gBACxC,CAAC,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEjD,IAAI,QAAQ,EAAE,CAAC;gBACb,iCAAiC;gBACjC,OAAO,SAAS,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,gBAAgB,CAAC;gBACrB,OAAO;gBACP,YAAY;gBACZ,QAAQ;aACT,CAAC;YACF,SAAS,EAAE,cAAc;YACzB,IAAI;SACL,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,cAAc,CACrB,MAA0B,EAC1B,IAAY,EACZ,IAAyE,EACzE,YAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,gBAAgB,CAAC;gBACrB,MAAM;gBACN,YAAY;aACb,CAAC;YACF,SAAS,EAAE,eAAe;YAC1B,IAAI;SACL,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,SAAS,wBAAwB,CAC/B,MAA0B,EAC1B,IAAY,EACZ,IAAyE,EACzE,YAAoB,EACpB,SAAyB;QAEzB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,wCAA+B,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,gBAAgB,CAAC;gBACrB,OAAO;gBACP,YAAY;gBACZ,aAAa,EAAE,IAAI;aACpB,CAAC;YACF,SAAS,EACP,YAAY,KAAK,IAAI;gBACnB,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,2BAA2B;YACjC,IAAI;SACL,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,2BAA2B,GAC/B,iBAAS,CAAC,QAAQ;IAClB,iBAAS,CAAC,SAAS;IACnB,iBAAS,CAAC,aAAa;IACvB,iBAAS,CAAC,qBAAqB;IAC/B,iBAAS,CAAC,YAAY;IACtB,iBAAS,CAAC,iBAAiB;IAC3B,iBAAS,CAAC,eAAe,CAAC;AAE5B,SAAS,aAAa,CACpB,IAAmB,EACnB,MAA0B,EAC1B,OAAgB,EAChB,QAAmB;IAEnB,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,2BAA2B,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,QAAQ;SAClB,iBAAiB,CAAC,IAAI,CAAC;QACxB,0EAA0E;SACzE,kBAAkB,EAAE,CAAC;IAExB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACvC,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,qBAAa,CAAC,KAAK;gBACtB,IACE,eAAe,CACb,IAAI,EACJ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CACtD,EACD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YAER,KAAK,qBAAa,CAAC,QAAQ;gBACzB,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBACjE,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YAER,KAAK,qBAAa,CAAC,OAAO,CAAC;YAC3B,KAAK,qBAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,qBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY;gBACrC,+EAA+E;gBAC/E,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC;gBACF,MAAM,iBAAiB,GAAG,qBAAa,CAAC,WAAW,CAAC,CAAC;gBACrD,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,IAAa,EACb,EAA8B;IAE9B,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js deleted file mode 100644 index 744296b7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js +++ /dev/null @@ -1,505 +0,0 @@ -"use strict"; -// This rule was feature-frozen before we enabled no-property-in-node. -/* eslint-disable eslint-plugin/no-property-in-node */ -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const naming_convention_utils_1 = require("./naming-convention-utils"); -// This essentially mirrors ESLint's `camelcase` rule -// note that that rule ignores leading and trailing underscores and only checks those in the middle of a variable name -const defaultCamelCaseAllTheThingsConfig = [ - { - format: ['camelCase'], - leadingUnderscore: 'allow', - selector: 'default', - trailingUnderscore: 'allow', - }, - { - format: ['camelCase', 'PascalCase'], - selector: 'import', - }, - { - format: ['camelCase', 'UPPER_CASE'], - leadingUnderscore: 'allow', - selector: 'variable', - trailingUnderscore: 'allow', - }, - { - format: ['PascalCase'], - selector: 'typeLike', - }, -]; -exports.default = (0, util_1.createRule)({ - name: 'naming-convention', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce naming conventions for everything across a codebase', - // technically only requires type checking if the user uses "type" modifiers - requiresTypeChecking: true, - }, - messages: { - doesNotMatchFormat: '{{type}} name `{{name}}` must match one of the following formats: {{formats}}', - doesNotMatchFormatTrimmed: '{{type}} name `{{name}}` trimmed as `{{processedName}}` must match one of the following formats: {{formats}}', - missingAffix: '{{type}} name `{{name}}` must have one of the following {{position}}es: {{affixes}}', - missingUnderscore: '{{type}} name `{{name}}` must have {{count}} {{position}} underscore(s).', - satisfyCustom: '{{type}} name `{{name}}` must {{regexMatch}} the RegExp: {{regex}}', - unexpectedUnderscore: '{{type}} name `{{name}}` must not have a {{position}} underscore.', - }, - schema: naming_convention_utils_1.SCHEMA, - }, - defaultOptions: defaultCamelCaseAllTheThingsConfig, - create(contextWithoutDefaults) { - const context = contextWithoutDefaults.options.length > 0 - ? contextWithoutDefaults - : // only apply the defaults when the user provides no config - Object.setPrototypeOf({ - options: defaultCamelCaseAllTheThingsConfig, - }, contextWithoutDefaults); - const validators = (0, naming_convention_utils_1.parseOptions)(context); - const compilerOptions = (0, util_1.getParserServices)(context, true).program?.getCompilerOptions() ?? {}; - function handleMember(validator, node, modifiers) { - const key = node.key; - if (requiresQuoting(key, compilerOptions.target)) { - modifiers.add(naming_convention_utils_1.Modifiers.requiresQuotes); - } - validator(key, modifiers); - } - function getMemberModifiers(node) { - const modifiers = new Set(); - if ('key' in node && node.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - modifiers.add(naming_convention_utils_1.Modifiers['#private']); - } - else if (node.accessibility) { - modifiers.add(naming_convention_utils_1.Modifiers[node.accessibility]); - } - else { - modifiers.add(naming_convention_utils_1.Modifiers.public); - } - if (node.static) { - modifiers.add(naming_convention_utils_1.Modifiers.static); - } - if ('readonly' in node && node.readonly) { - modifiers.add(naming_convention_utils_1.Modifiers.readonly); - } - if ('override' in node && node.override) { - modifiers.add(naming_convention_utils_1.Modifiers.override); - } - if (node.type === utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition || - node.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition || - node.type === utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty) { - modifiers.add(naming_convention_utils_1.Modifiers.abstract); - } - return modifiers; - } - const { unusedVariables } = (0, util_1.collectVariables)(context); - function isUnused(name, initialScope) { - let variable = null; - let scope = initialScope; - while (scope) { - variable = scope.set.get(name) ?? null; - if (variable) { - break; - } - scope = scope.upper; - } - if (!variable) { - return false; - } - return unusedVariables.has(variable); - } - function isDestructured(id) { - return ( - // `const { x }` - // does not match `const { x: y }` - (id.parent.type === utils_1.AST_NODE_TYPES.Property && id.parent.shorthand) || - // `const { x = 2 }` - // does not match const `{ x: y = 2 }` - (id.parent.type === utils_1.AST_NODE_TYPES.AssignmentPattern && - id.parent.parent.type === utils_1.AST_NODE_TYPES.Property && - id.parent.parent.shorthand)); - } - function isAsyncMemberOrProperty(propertyOrMemberNode) { - return Boolean('value' in propertyOrMemberNode && - propertyOrMemberNode.value && - 'async' in propertyOrMemberNode.value && - propertyOrMemberNode.value.async); - } - function isAsyncVariableIdentifier(id) { - return Boolean(('async' in id.parent && id.parent.async) || - ('init' in id.parent && - id.parent.init && - 'async' in id.parent.init && - id.parent.init.async)); - } - const selectors = { - // #region import - 'FunctionDeclaration, TSDeclareFunction, FunctionExpression': { - handler: (node, validator) => { - if (node.id == null) { - return; - } - const modifiers = new Set(); - // functions create their own nested scope - const scope = context.sourceCode.getScope(node).upper; - if (isGlobal(scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.global); - } - if (isExported(node, node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.exported); - } - if (isUnused(node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - if (node.async) { - modifiers.add(naming_convention_utils_1.Modifiers.async); - } - validator(node.id, modifiers); - }, - validator: validators.function, - }, - // #endregion - // #region variable - 'ImportDefaultSpecifier, ImportNamespaceSpecifier, ImportSpecifier': { - handler: (node, validator) => { - const modifiers = new Set(); - switch (node.type) { - case utils_1.AST_NODE_TYPES.ImportDefaultSpecifier: - modifiers.add(naming_convention_utils_1.Modifiers.default); - break; - case utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier: - modifiers.add(naming_convention_utils_1.Modifiers.namespace); - break; - case utils_1.AST_NODE_TYPES.ImportSpecifier: - // Handle `import { default as Foo }` - if (node.imported.type === utils_1.AST_NODE_TYPES.Identifier && - node.imported.name !== 'default') { - return; - } - modifiers.add(naming_convention_utils_1.Modifiers.default); - break; - } - validator(node.local, modifiers); - }, - validator: validators.import, - }, - // #endregion - // #region function - VariableDeclarator: { - handler: (node, validator) => { - const identifiers = getIdentifiersFromPattern(node.id); - const baseModifiers = new Set(); - const parent = node.parent; - if (parent.kind === 'const') { - baseModifiers.add(naming_convention_utils_1.Modifiers.const); - } - if (isGlobal(context.sourceCode.getScope(node))) { - baseModifiers.add(naming_convention_utils_1.Modifiers.global); - } - identifiers.forEach(id => { - const modifiers = new Set(baseModifiers); - if (isDestructured(id)) { - modifiers.add(naming_convention_utils_1.Modifiers.destructured); - } - const scope = context.sourceCode.getScope(id); - if (isExported(parent, id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.exported); - } - if (isUnused(id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - if (isAsyncVariableIdentifier(id)) { - modifiers.add(naming_convention_utils_1.Modifiers.async); - } - validator(id, modifiers); - }); - }, - validator: validators.variable, - }, - // #endregion function - // #region parameter - ':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]': { - handler: (node, validator) => { - const modifiers = getMemberModifiers(node); - handleMember(validator, node, modifiers); - }, - validator: validators.classProperty, - }, - // #endregion parameter - // #region parameterProperty - ':not(ObjectPattern) > Property[computed = false][kind = "init"][value.type != "ArrowFunctionExpression"][value.type != "FunctionExpression"][value.type != "TSEmptyBodyFunctionExpression"]': { - handler: (node, validator) => { - const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); - handleMember(validator, node, modifiers); - }, - validator: validators.objectLiteralProperty, - }, - // #endregion parameterProperty - // #region property - [[ - ':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "ArrowFunctionExpression"]', - ':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "FunctionExpression"]', - ':matches(PropertyDefinition, TSAbstractPropertyDefinition)[computed = false][value.type = "TSEmptyBodyFunctionExpression"]', - ':matches(MethodDefinition, TSAbstractMethodDefinition)[computed = false][kind = "method"]', - ].join(', ')]: { - handler: (node, validator) => { - const modifiers = getMemberModifiers(node); - if (isAsyncMemberOrProperty(node)) { - modifiers.add(naming_convention_utils_1.Modifiers.async); - } - handleMember(validator, node, modifiers); - }, - validator: validators.classMethod, - }, - [[ - 'MethodDefinition[computed = false]:matches([kind = "get"], [kind = "set"])', - 'TSAbstractMethodDefinition[computed = false]:matches([kind="get"], [kind="set"])', - ].join(', ')]: { - handler: (node, validator) => { - const modifiers = getMemberModifiers(node); - handleMember(validator, node, modifiers); - }, - validator: validators.classicAccessor, - }, - [[ - 'Property[computed = false][kind = "init"][value.type = "ArrowFunctionExpression"]', - 'Property[computed = false][kind = "init"][value.type = "FunctionExpression"]', - 'Property[computed = false][kind = "init"][value.type = "TSEmptyBodyFunctionExpression"]', - ].join(', ')]: { - handler: (node, validator) => { - const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); - if (isAsyncMemberOrProperty(node)) { - modifiers.add(naming_convention_utils_1.Modifiers.async); - } - handleMember(validator, node, modifiers); - }, - validator: validators.objectLiteralMethod, - }, - // #endregion property - // #region method - [[ - 'TSMethodSignature[computed = false]', - 'TSPropertySignature[computed = false][typeAnnotation.typeAnnotation.type = "TSFunctionType"]', - ].join(', ')]: { - handler: (node, validator) => { - const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); - handleMember(validator, node, modifiers); - }, - validator: validators.typeMethod, - }, - [[ - utils_1.AST_NODE_TYPES.AccessorProperty, - utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty, - ].join(', ')]: { - handler: (node, validator) => { - const modifiers = getMemberModifiers(node); - handleMember(validator, node, modifiers); - }, - validator: validators.autoAccessor, - }, - 'FunctionDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, FunctionExpression, ArrowFunctionExpression': { - handler: (node, validator) => { - node.params.forEach(param => { - if (param.type === utils_1.AST_NODE_TYPES.TSParameterProperty) { - return; - } - const identifiers = getIdentifiersFromPattern(param); - identifiers.forEach(i => { - const modifiers = new Set(); - if (isDestructured(i)) { - modifiers.add(naming_convention_utils_1.Modifiers.destructured); - } - if (isUnused(i.name, context.sourceCode.getScope(i))) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - validator(i, modifiers); - }); - }); - }, - validator: validators.parameter, - }, - // #endregion method - // #region accessor - 'Property[computed = false]:matches([kind = "get"], [kind = "set"])': { - handler: (node, validator) => { - const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); - handleMember(validator, node, modifiers); - }, - validator: validators.classicAccessor, - }, - TSParameterProperty: { - handler: (node, validator) => { - const modifiers = getMemberModifiers(node); - const identifiers = getIdentifiersFromPattern(node.parameter); - identifiers.forEach(i => { - validator(i, modifiers); - }); - }, - validator: validators.parameterProperty, - }, - // #endregion accessor - // #region autoAccessor - 'TSPropertySignature[computed = false][typeAnnotation.typeAnnotation.type != "TSFunctionType"]': { - handler: (node, validator) => { - const modifiers = new Set([naming_convention_utils_1.Modifiers.public]); - if (node.readonly) { - modifiers.add(naming_convention_utils_1.Modifiers.readonly); - } - handleMember(validator, node, modifiers); - }, - validator: validators.typeProperty, - }, - // #endregion autoAccessor - // #region enumMember - // computed is optional, so can't do [computed = false] - 'ClassDeclaration, ClassExpression': { - handler: (node, validator) => { - const id = node.id; - if (id == null) { - return; - } - const modifiers = new Set(); - // classes create their own nested scope - const scope = context.sourceCode.getScope(node).upper; - if (node.abstract) { - modifiers.add(naming_convention_utils_1.Modifiers.abstract); - } - if (isExported(node, id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.exported); - } - if (isUnused(id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - validator(id, modifiers); - }, - validator: validators.class, - }, - // #endregion enumMember - // #region class - TSEnumDeclaration: { - handler: (node, validator) => { - const modifiers = new Set(); - // enums create their own nested scope - const scope = context.sourceCode.getScope(node).upper; - if (isExported(node, node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.exported); - } - if (isUnused(node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - validator(node.id, modifiers); - }, - validator: validators.enum, - }, - // #endregion class - // #region interface - 'TSEnumMember[computed != true]': { - handler: (node, validator) => { - const id = node.id; - const modifiers = new Set(); - if (requiresQuoting(id, compilerOptions.target)) { - modifiers.add(naming_convention_utils_1.Modifiers.requiresQuotes); - } - validator(id, modifiers); - }, - validator: validators.enumMember, - }, - // #endregion interface - // #region typeAlias - TSInterfaceDeclaration: { - handler: (node, validator) => { - const modifiers = new Set(); - const scope = context.sourceCode.getScope(node); - if (isExported(node, node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.exported); - } - if (isUnused(node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - validator(node.id, modifiers); - }, - validator: validators.interface, - }, - // #endregion typeAlias - // #region enum - TSTypeAliasDeclaration: { - handler: (node, validator) => { - const modifiers = new Set(); - const scope = context.sourceCode.getScope(node); - if (isExported(node, node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.exported); - } - if (isUnused(node.id.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - validator(node.id, modifiers); - }, - validator: validators.typeAlias, - }, - // #endregion enum - // #region typeParameter - 'TSTypeParameterDeclaration > TSTypeParameter': { - handler: (node, validator) => { - const modifiers = new Set(); - const scope = context.sourceCode.getScope(node); - if (isUnused(node.name.name, scope)) { - modifiers.add(naming_convention_utils_1.Modifiers.unused); - } - validator(node.name, modifiers); - }, - validator: validators.typeParameter, - }, - // #endregion typeParameter - }; - return Object.fromEntries(Object.entries(selectors).map(([selector, { handler, validator }]) => { - return [ - selector, - (node) => { - handler(node, validator); - }, - ]; - })); - }, -}); -function getIdentifiersFromPattern(pattern) { - const identifiers = []; - const visitor = new scope_manager_1.PatternVisitor({}, pattern, id => identifiers.push(id)); - visitor.visit(pattern); - return identifiers; -} -function isExported(node, name, scope) { - if (node?.parent?.type === utils_1.AST_NODE_TYPES.ExportDefaultDeclaration || - node?.parent?.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration) { - return true; - } - if (scope == null) { - return false; - } - const variable = scope.set.get(name); - if (variable) { - for (const ref of variable.references) { - const refParent = ref.identifier.parent; - if (refParent.type === utils_1.AST_NODE_TYPES.ExportDefaultDeclaration || - refParent.type === utils_1.AST_NODE_TYPES.ExportSpecifier) { - return true; - } - } - } - return false; -} -function isGlobal(scope) { - if (scope == null) { - return false; - } - return (scope.type === utils_1.TSESLint.Scope.ScopeType.global || - scope.type === utils_1.TSESLint.Scope.ScopeType.module); -} -function requiresQuoting(node, target) { - const name = node.type === utils_1.AST_NODE_TYPES.Identifier || - node.type === utils_1.AST_NODE_TYPES.PrivateIdentifier - ? node.name - : `${node.value}`; - return (0, util_1.requiresQuoting)(name, target); -} -//# sourceMappingURL=naming-convention.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map deleted file mode 100644 index 10944306..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"naming-convention.js","sourceRoot":"","sources":["../../src/rules/naming-convention.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js deleted file mode 100644 index c3476757..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-array-constructor', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow generic `Array` constructors', - extendsBaseRule: true, - recommended: 'recommended', - }, - fixable: 'code', - messages: { - useLiteral: 'The array literal notation [] is preferable.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - /** - * Disallow construction of dense arrays using the Array constructor - * @param node node to evaluate - */ - function check(node) { - if (node.arguments.length !== 1 && - node.callee.type === utils_1.AST_NODE_TYPES.Identifier && - node.callee.name === 'Array' && - !node.typeArguments && - !(0, util_1.isOptionalCallExpression)(node)) { - context.report({ - node, - messageId: 'useLiteral', - fix(fixer) { - if (node.arguments.length === 0) { - return fixer.replaceText(node, '[]'); - } - const fullText = context.sourceCode.getText(node); - const preambleLength = node.callee.range[1] - node.range[0]; - return fixer.replaceText(node, `[${fullText.slice(preambleLength + 1, -1)}]`); - }, - }); - } - } - return { - CallExpression: check, - NewExpression: check, - }; - }, -}); -//# sourceMappingURL=no-array-constructor.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js.map deleted file mode 100644 index 33b67c3b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-constructor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-array-constructor.js","sourceRoot":"","sources":["../../src/rules/no-array-constructor.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAA+D;AAE/D,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,UAAU,EAAE,8CAA8C;SAC3D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;WAGG;QACH,SAAS,KAAK,CACZ,IAAsD;YAEtD,IACE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBAC5B,CAAC,IAAI,CAAC,aAAa;gBACnB,CAAC,IAAA,+BAAwB,EAAC,IAAI,CAAC,EAC/B,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,YAAY;oBACvB,GAAG,CAAC,KAAK;wBACP,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAChC,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACvC,CAAC;wBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAE5D,OAAO,KAAK,CAAC,WAAW,CACtB,IAAI,EACJ,IAAI,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC9C,CAAC;oBACJ,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js deleted file mode 100644 index 03bad920..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-array-delete', - meta: { - type: 'problem', - docs: { - description: 'Disallow using the `delete` operator on array values', - recommended: 'recommended', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - noArrayDelete: 'Using the `delete` operator with an array expression is unsafe.', - useSplice: 'Use `array.splice()` instead.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function isUnderlyingTypeArray(type) { - const predicate = (t) => checker.isArrayType(t) || checker.isTupleType(t); - if (type.isUnion()) { - return type.types.every(predicate); - } - if (type.isIntersection()) { - return type.types.some(predicate); - } - return predicate(type); - } - return { - 'UnaryExpression[operator="delete"]'(node) { - const { argument } = node; - if (argument.type !== utils_1.AST_NODE_TYPES.MemberExpression) { - return; - } - const type = (0, util_1.getConstrainedTypeAtLocation)(services, argument.object); - if (!isUnderlyingTypeArray(type)) { - return; - } - context.report({ - node, - messageId: 'noArrayDelete', - suggest: [ - { - messageId: 'useSplice', - fix(fixer) { - const { object, property } = argument; - const shouldHaveParentheses = property.type === utils_1.AST_NODE_TYPES.SequenceExpression; - const nodeMap = services.esTreeNodeToTSNodeMap; - const target = nodeMap.get(object).getText(); - const rawKey = nodeMap.get(property).getText(); - const key = shouldHaveParentheses ? `(${rawKey})` : rawKey; - let suggestion = `${target}.splice(${key}, 1)`; - const comments = context.sourceCode.getCommentsInside(node); - if (comments.length > 0) { - const indentationCount = node.loc.start.column; - const indentation = ' '.repeat(indentationCount); - const commentsText = comments - .map(comment => { - return comment.type === utils_1.AST_TOKEN_TYPES.Line - ? `//${comment.value}` - : `/*${comment.value}*/`; - }) - .join(`\n${indentation}`); - suggestion = `${commentsText}\n${indentation}${suggestion}`; - } - return fixer.replaceText(node, suggestion); - }, - }, - ], - }); - }, - }; - }, -}); -//# sourceMappingURL=no-array-delete.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js.map deleted file mode 100644 index ce99bed6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-array-delete.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-array-delete.js","sourceRoot":"","sources":["../../src/rules/no-array-delete.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js deleted file mode 100644 index 6fafd750..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js +++ /dev/null @@ -1,252 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -var Usefulness; -(function (Usefulness) { - Usefulness["Always"] = "always"; - Usefulness["Never"] = "will"; - Usefulness["Sometimes"] = "may"; -})(Usefulness || (Usefulness = {})); -exports.default = (0, util_1.createRule)({ - name: 'no-base-to-string', - meta: { - type: 'suggestion', - docs: { - description: 'Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - baseArrayJoin: "Using `join()` for {{name}} {{certainty}} use Object's default stringification format ('[object Object]') when stringified.", - baseToString: "'{{name}}' {{certainty}} use Object's default stringification format ('[object Object]') when stringified.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ignoredTypeNames: { - type: 'array', - description: 'Stringified regular expressions of type names to ignore.', - items: { - type: 'string', - }, - }, - }, - }, - ], - }, - defaultOptions: [ - { - ignoredTypeNames: ['Error', 'RegExp', 'URL', 'URLSearchParams'], - }, - ], - create(context, [option]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const ignoredTypeNames = option.ignoredTypeNames ?? []; - function checkExpression(node, type) { - if (node.type === utils_1.AST_NODE_TYPES.Literal) { - return; - } - const certainty = collectToStringCertainty(type ?? services.getTypeAtLocation(node)); - if (certainty === Usefulness.Always) { - return; - } - context.report({ - node, - messageId: 'baseToString', - data: { - name: context.sourceCode.getText(node), - certainty, - }, - }); - } - function checkExpressionForArrayJoin(node, type) { - const certainty = collectJoinCertainty(type); - if (certainty === Usefulness.Always) { - return; - } - context.report({ - node, - messageId: 'baseArrayJoin', - data: { - name: context.sourceCode.getText(node), - certainty, - }, - }); - } - function collectUnionTypeCertainty(type, collectSubTypeCertainty) { - const certainties = type.types.map(t => collectSubTypeCertainty(t)); - if (certainties.every(certainty => certainty === Usefulness.Never)) { - return Usefulness.Never; - } - if (certainties.every(certainty => certainty === Usefulness.Always)) { - return Usefulness.Always; - } - return Usefulness.Sometimes; - } - function collectIntersectionTypeCertainty(type, collectSubTypeCertainty) { - for (const subType of type.types) { - const subtypeUsefulness = collectSubTypeCertainty(subType); - if (subtypeUsefulness === Usefulness.Always) { - return Usefulness.Always; - } - } - return Usefulness.Never; - } - function collectJoinCertainty(type) { - if (tsutils.isUnionType(type)) { - return collectUnionTypeCertainty(type, collectJoinCertainty); - } - if (tsutils.isIntersectionType(type)) { - return collectIntersectionTypeCertainty(type, collectJoinCertainty); - } - if (checker.isTupleType(type)) { - const typeArgs = checker.getTypeArguments(type); - const certainties = typeArgs.map(t => collectToStringCertainty(t)); - if (certainties.some(certainty => certainty === Usefulness.Never)) { - return Usefulness.Never; - } - if (certainties.some(certainty => certainty === Usefulness.Sometimes)) { - return Usefulness.Sometimes; - } - return Usefulness.Always; - } - if (checker.isArrayType(type)) { - const elemType = (0, util_1.nullThrows)(type.getNumberIndexType(), 'array should have number index type'); - return collectToStringCertainty(elemType); - } - return Usefulness.Always; - } - function collectToStringCertainty(type) { - // https://github.com/JoshuaKGoldberg/ts-api-utils/issues/382 - if (tsutils.isTypeParameter(type)) { - const constraint = type.getConstraint(); - if (constraint) { - return collectToStringCertainty(constraint); - } - // unconstrained generic means `unknown` - return Usefulness.Always; - } - // the Boolean type definition missing toString() - if (type.flags & ts.TypeFlags.Boolean || - type.flags & ts.TypeFlags.BooleanLiteral) { - return Usefulness.Always; - } - if (ignoredTypeNames.includes((0, util_1.getTypeName)(checker, type))) { - return Usefulness.Always; - } - if (type.isIntersection()) { - return collectIntersectionTypeCertainty(type, collectToStringCertainty); - } - if (type.isUnion()) { - return collectUnionTypeCertainty(type, collectToStringCertainty); - } - const toString = checker.getPropertyOfType(type, 'toString') ?? - checker.getPropertyOfType(type, 'toLocaleString'); - if (!toString) { - // e.g. any/unknown - return Usefulness.Always; - } - const declarations = toString.getDeclarations(); - if (declarations == null || declarations.length !== 1) { - // If there are multiple declarations, at least one of them must not be - // the default object toString. - // - // This may only matter for older versions of TS - // see https://github.com/typescript-eslint/typescript-eslint/issues/8585 - return Usefulness.Always; - } - const declaration = declarations[0]; - const isBaseToString = ts.isInterfaceDeclaration(declaration.parent) && - declaration.parent.name.text === 'Object'; - return isBaseToString ? Usefulness.Never : Usefulness.Always; - } - function isBuiltInStringCall(node) { - if (node.callee.type === utils_1.AST_NODE_TYPES.Identifier && - // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum - node.callee.name === 'String' && - node.arguments[0]) { - const scope = context.sourceCode.getScope(node); - // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum - const variable = scope.set.get('String'); - return !variable?.defs.length; - } - return false; - } - return { - 'AssignmentExpression[operator = "+="], BinaryExpression[operator = "+"]'(node) { - const leftType = services.getTypeAtLocation(node.left); - const rightType = services.getTypeAtLocation(node.right); - if ((0, util_1.getTypeName)(checker, leftType) === 'string') { - checkExpression(node.right, rightType); - } - else if ((0, util_1.getTypeName)(checker, rightType) === 'string' && - node.left.type !== utils_1.AST_NODE_TYPES.PrivateIdentifier) { - checkExpression(node.left, leftType); - } - }, - CallExpression(node) { - if (isBuiltInStringCall(node) && - node.arguments[0].type !== utils_1.AST_NODE_TYPES.SpreadElement) { - checkExpression(node.arguments[0]); - } - }, - 'CallExpression > MemberExpression.callee > Identifier[name = "join"].property'(node) { - const memberExpr = node.parent; - const type = (0, util_1.getConstrainedTypeAtLocation)(services, memberExpr.object); - checkExpressionForArrayJoin(memberExpr.object, type); - }, - 'CallExpression > MemberExpression.callee > Identifier[name = /^(toLocaleString|toString)$/].property'(node) { - const memberExpr = node.parent; - checkExpression(memberExpr.object); - }, - TemplateLiteral(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression) { - return; - } - for (const expression of node.expressions) { - checkExpression(expression); - } - }, - }; - }, -}); -//# sourceMappingURL=no-base-to-string.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map deleted file mode 100644 index 83812016..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-base-to-string.js","sourceRoot":"","sources":["../../src/rules/no-base-to-string.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js deleted file mode 100644 index 30f37149..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js +++ /dev/null @@ -1,143 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const confusingOperators = new Set([ - '=', - '==', - '===', - 'in', - 'instanceof', -]); -function isConfusingOperator(operator) { - return confusingOperators.has(operator); -} -exports.default = (0, util_1.createRule)({ - name: 'no-confusing-non-null-assertion', - meta: { - type: 'problem', - docs: { - description: 'Disallow non-null assertion in locations that may be confusing', - recommended: 'stylistic', - }, - hasSuggestions: true, - messages: { - confusingAssign: 'Confusing combination of non-null assertion and assignment like `a! = b`, which looks very similar to `a != b`.', - confusingEqual: 'Confusing combination of non-null assertion and equality test like `a! == b`, which looks very similar to `a !== b`.', - confusingOperator: 'Confusing combination of non-null assertion and `{{operator}}` operator like `a! {{operator}} b`, which might be misinterpreted as `!(a {{operator}} b)`.', - notNeedInAssign: 'Remove unnecessary non-null assertion (!) in assignment left-hand side.', - notNeedInEqualTest: 'Remove unnecessary non-null assertion (!) in equality test.', - notNeedInOperator: 'Remove possibly unnecessary non-null assertion (!) in the left operand of the `{{operator}}` operator.', - wrapUpLeft: 'Wrap the left-hand side in parentheses to avoid confusion with "{{operator}}" operator.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function confusingOperatorToMessageData(operator) { - switch (operator) { - case '=': - return { - messageId: 'confusingAssign', - }; - case '==': - case '===': - return { - messageId: 'confusingEqual', - }; - case 'in': - case 'instanceof': - return { - messageId: 'confusingOperator', - data: { operator }, - }; - // istanbul ignore next - default: - operator; - throw new Error(`Unexpected operator ${operator}`); - } - } - return { - 'BinaryExpression, AssignmentExpression'(node) { - const operator = node.operator; - if (isConfusingOperator(operator)) { - // Look for a non-null assertion as the last token on the left hand side. - // That way, we catch things like `1 + two! === 3`, even though the left - // hand side isn't a non-null assertion AST node. - const leftHandFinalToken = context.sourceCode.getLastToken(node.left); - const tokenAfterLeft = context.sourceCode.getTokenAfter(node.left); - if (leftHandFinalToken?.type === utils_1.AST_TOKEN_TYPES.Punctuator && - leftHandFinalToken.value === '!' && - tokenAfterLeft?.value !== ')') { - if (node.left.type === utils_1.AST_NODE_TYPES.TSNonNullExpression) { - let suggestions; - switch (operator) { - case '=': - suggestions = [ - { - messageId: 'notNeedInAssign', - fix: (fixer) => fixer.remove(leftHandFinalToken), - }, - ]; - break; - case '==': - case '===': - suggestions = [ - { - messageId: 'notNeedInEqualTest', - fix: (fixer) => fixer.remove(leftHandFinalToken), - }, - ]; - break; - case 'in': - case 'instanceof': - suggestions = [ - { - messageId: 'notNeedInOperator', - data: { operator }, - fix: (fixer) => fixer.remove(leftHandFinalToken), - }, - { - messageId: 'wrapUpLeft', - data: { operator }, - fix: wrapUpLeftFixer(node), - }, - ]; - break; - // istanbul ignore next - default: - operator; - return; - } - context.report({ - node, - ...confusingOperatorToMessageData(operator), - suggest: suggestions, - }); - } - else { - context.report({ - node, - ...confusingOperatorToMessageData(operator), - suggest: [ - { - messageId: 'wrapUpLeft', - data: { operator }, - fix: wrapUpLeftFixer(node), - }, - ], - }); - } - } - } - }, - }; - }, -}); -function wrapUpLeftFixer(node) { - return (fixer) => [ - fixer.insertTextBefore(node.left, '('), - fixer.insertTextAfter(node.left, ')'), - ]; -} -//# sourceMappingURL=no-confusing-non-null-assertion.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js.map deleted file mode 100644 index 10c21089..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-non-null-assertion.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-confusing-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-confusing-non-null-assertion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js deleted file mode 100644 index 1541895c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js +++ /dev/null @@ -1,360 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getParentFunctionNode_1 = require("../util/getParentFunctionNode"); -exports.default = (0, util_1.createRule)({ - name: 'no-confusing-void-expression', - meta: { - type: 'problem', - docs: { - description: 'Require expressions of type void to appear in statement position', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - hasSuggestions: true, - messages: { - invalidVoidExpr: 'Placing a void expression inside another expression is forbidden. ' + - 'Move it to its own statement instead.', - invalidVoidExprArrow: 'Returning a void expression from an arrow function shorthand is forbidden. ' + - 'Please add braces to the arrow function.', - invalidVoidExprArrowWrapVoid: 'Void expressions returned from an arrow function shorthand ' + - 'must be marked explicitly with the `void` operator.', - invalidVoidExprReturn: 'Returning a void expression from a function is forbidden. ' + - 'Please move it before the `return` statement.', - invalidVoidExprReturnLast: 'Returning a void expression from a function is forbidden. ' + - 'Please remove the `return` statement.', - invalidVoidExprReturnWrapVoid: 'Void expressions returned from a function ' + - 'must be marked explicitly with the `void` operator.', - invalidVoidExprWrapVoid: 'Void expressions used inside another expression ' + - 'must be moved to its own statement ' + - 'or marked explicitly with the `void` operator.', - voidExprWrapVoid: 'Mark with an explicit `void` operator.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ignoreArrowShorthand: { - type: 'boolean', - description: 'Whether to ignore "shorthand" `() =>` arrow functions: those without `{ ... }` braces.', - }, - ignoreVoidOperator: { - type: 'boolean', - description: 'Whether to ignore returns that start with the `void` operator.', - }, - ignoreVoidReturningFunctions: { - type: 'boolean', - description: 'Whether to ignore returns from functions with explicit `void` return types and functions with contextual `void` return types.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - ignoreArrowShorthand: false, - ignoreVoidOperator: false, - ignoreVoidReturningFunctions: false, - }, - ], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - return { - 'AwaitExpression, CallExpression, TaggedTemplateExpression'(node) { - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node); - if (!tsutils.isTypeFlagSet(type, ts.TypeFlags.VoidLike)) { - // not a void expression - return; - } - const invalidAncestor = findInvalidAncestor(node); - if (invalidAncestor == null) { - // void expression is in valid position - return; - } - const wrapVoidFix = (fixer) => { - const nodeText = context.sourceCode.getText(node); - const newNodeText = `void ${nodeText}`; - return fixer.replaceText(node, newNodeText); - }; - if (invalidAncestor.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { - // handle arrow function shorthand - if (options.ignoreVoidReturningFunctions) { - const returnsVoid = isVoidReturningFunctionNode(invalidAncestor); - if (returnsVoid) { - return; - } - } - if (options.ignoreVoidOperator) { - // handle wrapping with `void` - return context.report({ - node, - messageId: 'invalidVoidExprArrowWrapVoid', - fix: wrapVoidFix, - }); - } - // handle wrapping with braces - const arrowFunction = invalidAncestor; - return context.report({ - node, - messageId: 'invalidVoidExprArrow', - fix(fixer) { - if (!canFix(arrowFunction)) { - return null; - } - const arrowBody = arrowFunction.body; - const arrowBodyText = context.sourceCode.getText(arrowBody); - const newArrowBodyText = `{ ${arrowBodyText}; }`; - if ((0, util_1.isParenthesized)(arrowBody, context.sourceCode)) { - const bodyOpeningParen = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(arrowBody, util_1.isOpeningParenToken), util_1.NullThrowsReasons.MissingToken('opening parenthesis', 'arrow body')); - const bodyClosingParen = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(arrowBody, util_1.isClosingParenToken), util_1.NullThrowsReasons.MissingToken('closing parenthesis', 'arrow body')); - return fixer.replaceTextRange([bodyOpeningParen.range[0], bodyClosingParen.range[1]], newArrowBodyText); - } - return fixer.replaceText(arrowBody, newArrowBodyText); - }, - }); - } - if (invalidAncestor.type === utils_1.AST_NODE_TYPES.ReturnStatement) { - // handle return statement - if (options.ignoreVoidReturningFunctions) { - const functionNode = (0, getParentFunctionNode_1.getParentFunctionNode)(invalidAncestor); - if (functionNode) { - const returnsVoid = isVoidReturningFunctionNode(functionNode); - if (returnsVoid) { - return; - } - } - } - if (options.ignoreVoidOperator) { - // handle wrapping with `void` - return context.report({ - node, - messageId: 'invalidVoidExprReturnWrapVoid', - fix: wrapVoidFix, - }); - } - if (isFinalReturn(invalidAncestor)) { - // remove the `return` keyword - return context.report({ - node, - messageId: 'invalidVoidExprReturnLast', - fix(fixer) { - if (!canFix(invalidAncestor)) { - return null; - } - const returnValue = invalidAncestor.argument; - const returnValueText = context.sourceCode.getText(returnValue); - let newReturnStmtText = `${returnValueText};`; - if (isPreventingASI(returnValue)) { - // put a semicolon at the beginning of the line - newReturnStmtText = `;${newReturnStmtText}`; - } - return fixer.replaceText(invalidAncestor, newReturnStmtText); - }, - }); - } - // move before the `return` keyword - return context.report({ - node, - messageId: 'invalidVoidExprReturn', - fix(fixer) { - const returnValue = invalidAncestor.argument; - const returnValueText = context.sourceCode.getText(returnValue); - let newReturnStmtText = `${returnValueText}; return;`; - if (isPreventingASI(returnValue)) { - // put a semicolon at the beginning of the line - newReturnStmtText = `;${newReturnStmtText}`; - } - if (invalidAncestor.parent.type !== utils_1.AST_NODE_TYPES.BlockStatement) { - // e.g. `if (cond) return console.error();` - // add braces if not inside a block - newReturnStmtText = `{ ${newReturnStmtText} }`; - } - return fixer.replaceText(invalidAncestor, newReturnStmtText); - }, - }); - } - // handle generic case - if (options.ignoreVoidOperator) { - // this would be reported by this rule btw. such irony - return context.report({ - node, - messageId: 'invalidVoidExprWrapVoid', - suggest: [{ messageId: 'voidExprWrapVoid', fix: wrapVoidFix }], - }); - } - context.report({ - node, - messageId: 'invalidVoidExpr', - }); - }, - }; - /** - * Inspects the void expression's ancestors and finds closest invalid one. - * By default anything other than an ExpressionStatement is invalid. - * Parent expressions which can be used for their short-circuiting behavior - * are ignored and their parents are checked instead. - * @param node The void expression node to check. - * @returns Invalid ancestor node if it was found. `null` otherwise. - */ - function findInvalidAncestor(node) { - const parent = (0, util_1.nullThrows)(node.parent, util_1.NullThrowsReasons.MissingParent); - if (parent.type === utils_1.AST_NODE_TYPES.SequenceExpression && - node !== parent.expressions[parent.expressions.length - 1]) { - return null; - } - if (parent.type === utils_1.AST_NODE_TYPES.ExpressionStatement) { - // e.g. `{ console.log("foo"); }` - // this is always valid - return null; - } - if (parent.type === utils_1.AST_NODE_TYPES.LogicalExpression && - parent.right === node) { - // e.g. `x && console.log(x)` - // this is valid only if the next ancestor is valid - return findInvalidAncestor(parent); - } - if (parent.type === utils_1.AST_NODE_TYPES.ConditionalExpression && - (parent.consequent === node || parent.alternate === node)) { - // e.g. `cond ? console.log(true) : console.log(false)` - // this is valid only if the next ancestor is valid - return findInvalidAncestor(parent); - } - if (parent.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - // e.g. `() => console.log("foo")` - // this is valid with an appropriate option - options.ignoreArrowShorthand) { - return null; - } - if (parent.type === utils_1.AST_NODE_TYPES.UnaryExpression && - parent.operator === 'void' && - // e.g. `void console.log("foo")` - // this is valid with an appropriate option - options.ignoreVoidOperator) { - return null; - } - if (parent.type === utils_1.AST_NODE_TYPES.ChainExpression) { - // e.g. `console?.log('foo')` - return findInvalidAncestor(parent); - } - // Any other parent is invalid. - // We can assume a return statement will have an argument. - return parent; - } - /** Checks whether the return statement is the last statement in a function body. */ - function isFinalReturn(node) { - // the parent must be a block - const block = (0, util_1.nullThrows)(node.parent, util_1.NullThrowsReasons.MissingParent); - if (block.type !== utils_1.AST_NODE_TYPES.BlockStatement) { - // e.g. `if (cond) return;` (not in a block) - return false; - } - // the block's parent must be a function - const blockParent = (0, util_1.nullThrows)(block.parent, util_1.NullThrowsReasons.MissingParent); - if (![ - utils_1.AST_NODE_TYPES.ArrowFunctionExpression, - utils_1.AST_NODE_TYPES.FunctionDeclaration, - utils_1.AST_NODE_TYPES.FunctionExpression, - ].includes(blockParent.type)) { - // e.g. `if (cond) { return; }` - // not in a top-level function block - return false; - } - // must be the last child of the block - if (block.body.indexOf(node) < block.body.length - 1) { - // not the last statement in the block - return false; - } - return true; - } - /** - * Checks whether the given node, if placed on its own line, - * would prevent automatic semicolon insertion on the line before. - * - * This happens if the line begins with `(`, `[` or `` ` `` - */ - function isPreventingASI(node) { - const startToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node), util_1.NullThrowsReasons.MissingToken('first token', node.type)); - return ['(', '[', '`'].includes(startToken.value); - } - function canFix(node) { - const targetNode = node.type === utils_1.AST_NODE_TYPES.ReturnStatement - ? node.argument - : node.body; - const type = (0, util_1.getConstrainedTypeAtLocation)(services, targetNode); - return tsutils.isTypeFlagSet(type, ts.TypeFlags.VoidLike); - } - function isFunctionReturnTypeIncludesVoid(functionType) { - const callSignatures = tsutils.getCallSignaturesOfType(functionType); - return callSignatures.some(signature => { - const returnType = signature.getReturnType(); - return tsutils - .unionTypeParts(returnType) - .some(tsutils.isIntrinsicVoidType); - }); - } - function isVoidReturningFunctionNode(functionNode) { - // Game plan: - // - If the function node has a type annotation, check if it includes `void`. - // - If it does then the function is safe to return `void` expressions in. - // - Otherwise, check if the function is a function-expression or an arrow-function. - // - If it is, get its contextual type and bail if we cannot. - // - Return based on whether the contextual type includes `void` or not - const functionTSNode = services.esTreeNodeToTSNodeMap.get(functionNode); - if (functionTSNode.type) { - const returnType = checker.getTypeFromTypeNode(functionTSNode.type); - return tsutils - .unionTypeParts(returnType) - .some(tsutils.isIntrinsicVoidType); - } - if (ts.isExpression(functionTSNode)) { - const functionType = checker.getContextualType(functionTSNode); - if (functionType) { - return tsutils - .unionTypeParts(functionType) - .some(isFunctionReturnTypeIncludesVoid); - } - } - return false; - } - }, -}); -//# sourceMappingURL=no-confusing-void-expression.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map deleted file mode 100644 index 23b3349d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-confusing-void-expression.js","sourceRoot":"","sources":["../../src/rules/no-confusing-void-expression.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js deleted file mode 100644 index bccd4730..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js +++ /dev/null @@ -1,298 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-deprecated', - meta: { - type: 'problem', - docs: { - description: 'Disallow using code marked as `@deprecated`', - recommended: 'strict', - requiresTypeChecking: true, - }, - messages: { - deprecated: `\`{{name}}\` is deprecated.`, - deprecatedWithReason: `\`{{name}}\` is deprecated. {{reason}}`, - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const { jsDocParsingMode } = context.parserOptions; - if (jsDocParsingMode === 'none' || jsDocParsingMode === 'type-info') { - throw new Error(`Cannot be used with jsDocParsingMode: '${jsDocParsingMode}'.`); - } - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - // Deprecated jsdoc tags can be added on some symbol alias, e.g. - // - // export { /** @deprecated */ foo } - // - // When we import foo, its symbol is an alias of the exported foo (the one - // with the deprecated tag), which is itself an alias of the original foo. - // Therefore, we carefully go through the chain of aliases and check each - // immediate alias for deprecated tags - function searchForDeprecationInAliasesChain(symbol, checkDeprecationsOfAliasedSymbol) { - if (!symbol || !tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Alias)) { - return checkDeprecationsOfAliasedSymbol - ? getJsDocDeprecation(symbol) - : undefined; - } - const targetSymbol = checker.getAliasedSymbol(symbol); - while (tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Alias)) { - const reason = getJsDocDeprecation(symbol); - if (reason != null) { - return reason; - } - const immediateAliasedSymbol = symbol.getDeclarations() && checker.getImmediateAliasedSymbol(symbol); - if (!immediateAliasedSymbol) { - break; - } - symbol = immediateAliasedSymbol; - if (checkDeprecationsOfAliasedSymbol && symbol === targetSymbol) { - return getJsDocDeprecation(symbol); - } - } - return undefined; - } - function isDeclaration(node) { - const { parent } = node; - switch (parent.type) { - case utils_1.AST_NODE_TYPES.ArrayPattern: - return parent.elements.includes(node); - case utils_1.AST_NODE_TYPES.ClassExpression: - case utils_1.AST_NODE_TYPES.ClassDeclaration: - case utils_1.AST_NODE_TYPES.VariableDeclarator: - case utils_1.AST_NODE_TYPES.TSEnumMember: - return parent.id === node; - case utils_1.AST_NODE_TYPES.MethodDefinition: - case utils_1.AST_NODE_TYPES.PropertyDefinition: - return parent.key === node; - case utils_1.AST_NODE_TYPES.Property: - // foo in "const { foo } = bar" will be processed twice, as parent.key - // and parent.value. The second is treated as a declaration. - return ((parent.shorthand && parent.value === node) || - parent.parent.type === utils_1.AST_NODE_TYPES.ObjectExpression); - case utils_1.AST_NODE_TYPES.AssignmentPattern: - // foo in "const { foo = "" } = bar" will be processed twice, as parent.parent.key - // and parent.left. The second is treated as a declaration. - return parent.left === node; - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionDeclaration: - case utils_1.AST_NODE_TYPES.FunctionExpression: - case utils_1.AST_NODE_TYPES.TSDeclareFunction: - case utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression: - case utils_1.AST_NODE_TYPES.TSEnumDeclaration: - case utils_1.AST_NODE_TYPES.TSInterfaceDeclaration: - case utils_1.AST_NODE_TYPES.TSMethodSignature: - case utils_1.AST_NODE_TYPES.TSModuleDeclaration: - case utils_1.AST_NODE_TYPES.TSParameterProperty: - case utils_1.AST_NODE_TYPES.TSPropertySignature: - case utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration: - case utils_1.AST_NODE_TYPES.TSTypeParameter: - return true; - default: - return false; - } - } - function isInsideExportOrImport(node) { - let current = node; - while (true) { - switch (current.type) { - case utils_1.AST_NODE_TYPES.ExportAllDeclaration: - case utils_1.AST_NODE_TYPES.ExportNamedDeclaration: - case utils_1.AST_NODE_TYPES.ImportDeclaration: - return true; - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.BlockStatement: - case utils_1.AST_NODE_TYPES.ClassDeclaration: - case utils_1.AST_NODE_TYPES.TSInterfaceDeclaration: - case utils_1.AST_NODE_TYPES.FunctionDeclaration: - case utils_1.AST_NODE_TYPES.FunctionExpression: - case utils_1.AST_NODE_TYPES.Program: - case utils_1.AST_NODE_TYPES.TSUnionType: - case utils_1.AST_NODE_TYPES.VariableDeclarator: - return false; - default: - current = current.parent; - } - } - } - function getJsDocDeprecation(symbol) { - let jsDocTags; - try { - jsDocTags = symbol?.getJsDocTags(checker); - } - catch { - // workaround for https://github.com/microsoft/TypeScript/issues/60024 - return; - } - const tag = jsDocTags?.find(tag => tag.name === 'deprecated'); - if (!tag) { - return undefined; - } - const displayParts = tag.text; - return displayParts ? ts.displayPartsToString(displayParts) : ''; - } - function isNodeCalleeOfParent(node) { - switch (node.parent?.type) { - case utils_1.AST_NODE_TYPES.NewExpression: - case utils_1.AST_NODE_TYPES.CallExpression: - return node.parent.callee === node; - case utils_1.AST_NODE_TYPES.TaggedTemplateExpression: - return node.parent.tag === node; - case utils_1.AST_NODE_TYPES.JSXOpeningElement: - return node.parent.name === node; - default: - return false; - } - } - function getCallLikeNode(node) { - let callee = node; - while (callee.parent?.type === utils_1.AST_NODE_TYPES.MemberExpression && - callee.parent.property === callee) { - callee = callee.parent; - } - return isNodeCalleeOfParent(callee) ? callee : undefined; - } - function getCallLikeDeprecation(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node.parent); - // If the node is a direct function call, we look for its signature. - const signature = (0, util_1.nullThrows)(checker.getResolvedSignature(tsNode), 'Expected call like node to have signature'); - const symbol = services.getSymbolAtLocation(node); - const aliasedSymbol = symbol != null && tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Alias) - ? checker.getAliasedSymbol(symbol) - : symbol; - const symbolDeclarationKind = aliasedSymbol?.declarations?.[0].kind; - // Properties with function-like types have "deprecated" jsdoc - // on their symbols, not on their signatures: - // - // interface Props { - // /** @deprecated */ - // property: () => 'foo' - // ^symbol^ ^signature^ - // } - if (symbolDeclarationKind !== ts.SyntaxKind.MethodDeclaration && - symbolDeclarationKind !== ts.SyntaxKind.FunctionDeclaration && - symbolDeclarationKind !== ts.SyntaxKind.MethodSignature) { - return (searchForDeprecationInAliasesChain(symbol, true) ?? - getJsDocDeprecation(signature) ?? - getJsDocDeprecation(aliasedSymbol)); - } - return (searchForDeprecationInAliasesChain(symbol, - // Here we're working with a function declaration or method. - // Both can have 1 or more overloads, each overload creates one - // ts.Declaration which is placed in symbol.declarations. - // - // Imagine the following code: - // - // function foo(): void - // /** @deprecated Some Reason */ - // function foo(arg: string): void - // function foo(arg?: string): void {} - // - // foo() // <- foo is our symbol - // - // If we call getJsDocDeprecation(checker.getAliasedSymbol(symbol)), - // we get 'Some Reason', but after all, we are calling foo with - // a signature that is not deprecated! - // It works this way because symbol.getJsDocTags returns tags from - // all symbol declarations combined into one array. And AFAIK there is - // no publicly exported TS function that can tell us if a particular - // declaration is deprecated or not. - // - // So, in case of function and method declarations, we don't check original - // aliased symbol, but rely on the getJsDocDeprecation(signature) call below. - false) ?? getJsDocDeprecation(signature)); - } - function getJSXAttributeDeprecation(openingElement, propertyName) { - const tsNode = services.esTreeNodeToTSNodeMap.get(openingElement.name); - const contextualType = (0, util_1.nullThrows)(checker.getContextualType(tsNode), 'Expected JSX opening element name to have contextualType'); - const symbol = contextualType.getProperty(propertyName); - return getJsDocDeprecation(symbol); - } - function getDeprecationReason(node) { - const callLikeNode = getCallLikeNode(node); - if (callLikeNode) { - return getCallLikeDeprecation(callLikeNode); - } - if (node.parent.type === utils_1.AST_NODE_TYPES.JSXAttribute && - node.type !== utils_1.AST_NODE_TYPES.Super) { - return getJSXAttributeDeprecation(node.parent.parent, node.name); - } - if (node.parent.type === utils_1.AST_NODE_TYPES.Property && - node.type !== utils_1.AST_NODE_TYPES.Super) { - return getJsDocDeprecation(services.getTypeAtLocation(node.parent.parent).getProperty(node.name)); - } - return searchForDeprecationInAliasesChain(services.getSymbolAtLocation(node), true); - } - function checkIdentifier(node) { - if (isDeclaration(node) || isInsideExportOrImport(node)) { - return; - } - const reason = getDeprecationReason(node); - if (reason == null) { - return; - } - const name = node.type === utils_1.AST_NODE_TYPES.Super ? 'super' : node.name; - context.report({ - ...(reason - ? { - messageId: 'deprecatedWithReason', - data: { name, reason }, - } - : { - messageId: 'deprecated', - data: { name }, - }), - node, - }); - } - return { - Identifier: checkIdentifier, - JSXIdentifier(node) { - if (node.parent.type !== utils_1.AST_NODE_TYPES.JSXClosingElement) { - checkIdentifier(node); - } - }, - Super: checkIdentifier, - }; - }, -}); -//# sourceMappingURL=no-deprecated.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js.map deleted file mode 100644 index 0f5aa118..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-deprecated.js","sourceRoot":"","sources":["../../src/rules/no-deprecated.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAEjC,kCAAoE;AAOpE,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,6CAA6C;YAC1D,WAAW,EAAE,QAAQ;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,6BAA6B;YACzC,oBAAoB,EAAE,wCAAwC;SAC/D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;QACnD,IAAI,gBAAgB,KAAK,MAAM,IAAI,gBAAgB,KAAK,WAAW,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,0CAA0C,gBAAgB,IAAI,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD,gEAAgE;QAChE,EAAE;QACF,oCAAoC;QACpC,EAAE;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,sCAAsC;QACtC,SAAS,kCAAkC,CACzC,MAA6B,EAC7B,gCAAyC;YAEzC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,OAAO,gCAAgC;oBACrC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;oBAC7B,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,MAAM,sBAAsB,GAC1B,MAAM,CAAC,eAAe,EAAE,IAAI,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;gBACxE,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBACD,MAAM,GAAG,sBAAsB,CAAC;gBAChC,IAAI,gCAAgC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAChE,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,SAAS,aAAa,CAAC,IAAoB;YACzC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAExB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,sBAAc,CAAC,YAAY;oBAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAA2B,CAAC,CAAC;gBAE/D,KAAK,sBAAc,CAAC,eAAe,CAAC;gBACpC,KAAK,sBAAc,CAAC,gBAAgB,CAAC;gBACrC,KAAK,sBAAc,CAAC,kBAAkB,CAAC;gBACvC,KAAK,sBAAc,CAAC,YAAY;oBAC9B,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;gBAE5B,KAAK,sBAAc,CAAC,gBAAgB,CAAC;gBACrC,KAAK,sBAAc,CAAC,kBAAkB;oBACpC,OAAO,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC;gBAE7B,KAAK,sBAAc,CAAC,QAAQ;oBAC1B,sEAAsE;oBACtE,4DAA4D;oBAC5D,OAAO,CACL,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;wBAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,CACvD,CAAC;gBAEJ,KAAK,sBAAc,CAAC,iBAAiB;oBACnC,kFAAkF;oBAClF,2DAA2D;oBAC3D,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBAE9B,KAAK,sBAAc,CAAC,uBAAuB,CAAC;gBAC5C,KAAK,sBAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,sBAAc,CAAC,kBAAkB,CAAC;gBACvC,KAAK,sBAAc,CAAC,iBAAiB,CAAC;gBACtC,KAAK,sBAAc,CAAC,6BAA6B,CAAC;gBAClD,KAAK,sBAAc,CAAC,iBAAiB,CAAC;gBACtC,KAAK,sBAAc,CAAC,sBAAsB,CAAC;gBAC3C,KAAK,sBAAc,CAAC,iBAAiB,CAAC;gBACtC,KAAK,sBAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,sBAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,sBAAc,CAAC,mBAAmB,CAAC;gBACxC,KAAK,sBAAc,CAAC,sBAAsB,CAAC;gBAC3C,KAAK,sBAAc,CAAC,eAAe;oBACjC,OAAO,IAAI,CAAC;gBAEd;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,SAAS,sBAAsB,CAAC,IAAmB;YACjD,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,OAAO,IAAI,EAAE,CAAC;gBACZ,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,sBAAc,CAAC,oBAAoB,CAAC;oBACzC,KAAK,sBAAc,CAAC,sBAAsB,CAAC;oBAC3C,KAAK,sBAAc,CAAC,iBAAiB;wBACnC,OAAO,IAAI,CAAC;oBAEd,KAAK,sBAAc,CAAC,uBAAuB,CAAC;oBAC5C,KAAK,sBAAc,CAAC,cAAc,CAAC;oBACnC,KAAK,sBAAc,CAAC,gBAAgB,CAAC;oBACrC,KAAK,sBAAc,CAAC,sBAAsB,CAAC;oBAC3C,KAAK,sBAAc,CAAC,mBAAmB,CAAC;oBACxC,KAAK,sBAAc,CAAC,kBAAkB,CAAC;oBACvC,KAAK,sBAAc,CAAC,OAAO,CAAC;oBAC5B,KAAK,sBAAc,CAAC,WAAW,CAAC;oBAChC,KAAK,sBAAc,CAAC,kBAAkB;wBACpC,OAAO,KAAK,CAAC;oBAEf;wBACE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,SAAS,mBAAmB,CAC1B,MAA4C;YAE5C,IAAI,SAAwC,CAAC;YAC7C,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;gBACtE,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAE9D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;YAE9B,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,CAAC;QAQD,SAAS,oBAAoB,CAAC,IAAmB;YAC/C,QAAQ,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,KAAK,sBAAc,CAAC,aAAa,CAAC;gBAClC,KAAK,sBAAc,CAAC,cAAc;oBAChC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;gBAErC,KAAK,sBAAc,CAAC,wBAAwB;oBAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC;gBAElC,KAAK,sBAAc,CAAC,iBAAiB;oBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;gBAEnC;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,SAAS,eAAe,CAAC,IAAmB;YAC1C,IAAI,MAAM,GAAG,IAAI,CAAC;YAElB,OACE,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,sBAAc,CAAC,gBAAgB;gBACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,EACjC,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;YAED,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,CAAC;QAED,SAAS,sBAAsB,CAAC,IAAkB;YAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/D,oEAAoE;YACpE,MAAM,SAAS,GAAG,IAAA,iBAAU,EAC1B,OAAO,CAAC,oBAAoB,CAAC,MAA+B,CAAC,EAC7D,2CAA2C,CAC5C,CAAC;YAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,aAAa,GACjB,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;gBACrE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAClC,CAAC,CAAC,MAAM,CAAC;YACb,MAAM,qBAAqB,GAAG,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,8DAA8D;YAC9D,6CAA6C;YAC7C,EAAE;YACF,oBAAoB;YACpB,uBAAuB;YACvB,0BAA0B;YAC1B,0BAA0B;YAC1B,IAAI;YACJ,IACE,qBAAqB,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB;gBACzD,qBAAqB,KAAK,EAAE,CAAC,UAAU,CAAC,mBAAmB;gBAC3D,qBAAqB,KAAK,EAAE,CAAC,UAAU,CAAC,eAAe,EACvD,CAAC;gBACD,OAAO,CACL,kCAAkC,CAAC,MAAM,EAAE,IAAI,CAAC;oBAChD,mBAAmB,CAAC,SAAS,CAAC;oBAC9B,mBAAmB,CAAC,aAAa,CAAC,CACnC,CAAC;YACJ,CAAC;YACD,OAAO,CACL,kCAAkC,CAChC,MAAM;YACN,4DAA4D;YAC5D,+DAA+D;YAC/D,yDAAyD;YACzD,EAAE;YACF,8BAA8B;YAC9B,EAAE;YACF,uBAAuB;YACvB,iCAAiC;YACjC,kCAAkC;YAClC,sCAAsC;YACtC,EAAE;YACF,mCAAmC;YACnC,EAAE;YACF,oEAAoE;YACpE,+DAA+D;YAC/D,sCAAsC;YACtC,kEAAkE;YAClE,sEAAsE;YACtE,oEAAoE;YACpE,oCAAoC;YACpC,EAAE;YACF,2EAA2E;YAC3E,6EAA6E;YAC7E,KAAK,CACN,IAAI,mBAAmB,CAAC,SAAS,CAAC,CACpC,CAAC;QACJ,CAAC;QAED,SAAS,0BAA0B,CACjC,cAA0C,EAC1C,YAAoB;YAEpB,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAEvE,MAAM,cAAc,GAAG,IAAA,iBAAU,EAC/B,OAAO,CAAC,iBAAiB,CAAC,MAAuB,CAAC,EAClD,0DAA0D,CAC3D,CAAC;YAEF,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAExD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,SAAS,oBAAoB,CAAC,IAAoB;YAChD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YAED,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY;gBAChD,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,KAAK,EAClC,CAAC;gBACD,OAAO,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;YAED,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,QAAQ;gBAC5C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,KAAK,EAClC,CAAC;gBACD,OAAO,mBAAmB,CACxB,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CACtE,CAAC;YACJ,CAAC;YACD,OAAO,kCAAkC,CACvC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAClC,IAAI,CACL,CAAC;QACJ,CAAC;QAED,SAAS,eAAe,CAAC,IAAoB;YAC3C,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAEtE,OAAO,CAAC,MAAM,CAAC;gBACb,GAAG,CAAC,MAAM;oBACR,CAAC,CAAC;wBACE,SAAS,EAAE,sBAAsB;wBACjC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBACvB;oBACH,CAAC,CAAC;wBACE,SAAS,EAAE,YAAY;wBACvB,IAAI,EAAE,EAAE,IAAI,EAAE;qBACf,CAAC;gBACN,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,UAAU,EAAE,eAAe;YAC3B,aAAa,CAAC,IAAI;gBAChB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,EAAE,CAAC;oBAC1D,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js deleted file mode 100644 index c7e0b3ab..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-dupe-class-members'); -exports.default = (0, util_1.createRule)({ - name: 'no-dupe-class-members', - meta: { - type: 'problem', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Disallow duplicate class members', - extendsBaseRule: true, - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: baseRule.meta.schema, - }, - defaultOptions: [], - create(context) { - const rules = baseRule.create(context); - function wrapMemberDefinitionListener(coreListener) { - return (node) => { - if (node.computed) { - return; - } - if (node.value && - node.value.type === utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression) { - return; - } - return coreListener(node); - }; - } - return { - ...rules, - 'MethodDefinition, PropertyDefinition': wrapMemberDefinitionListener(rules['MethodDefinition, PropertyDefinition']), - }; - }, -}); -//# sourceMappingURL=no-dupe-class-members.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js.map deleted file mode 100644 index dc7806e4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dupe-class-members.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-dupe-class-members.js","sourceRoot":"","sources":["../../src/rules/no-dupe-class-members.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,uBAAuB,CAAC,CAAC;AAK5D,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,2DAA2D;QAC3D,IAAI,EAAE;YACJ,WAAW,EAAE,kCAAkC;YAC/C,eAAe,EAAE,IAAI;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,SAAS,4BAA4B,CAEnC,YAA+B;YAC/B,OAAO,CAAC,IAAO,EAAQ,EAAE;gBACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,6BAA6B,EAChE,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,KAAK;YACR,sCAAsC,EAAE,4BAA4B,CAClE,KAAK,CAAC,sCAAsC,CAAC,CAC9C;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js deleted file mode 100644 index 0a6dfedc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-duplicate-enum-values', - meta: { - type: 'problem', - docs: { - description: 'Disallow duplicate enum member values', - recommended: 'recommended', - }, - hasSuggestions: false, - messages: { - duplicateValue: 'Duplicate enum member value {{value}}.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function isStringLiteral(node) { - return (node.type === utils_1.AST_NODE_TYPES.Literal && typeof node.value === 'string'); - } - function isNumberLiteral(node) { - return (node.type === utils_1.AST_NODE_TYPES.Literal && typeof node.value === 'number'); - } - return { - TSEnumDeclaration(node) { - const enumMembers = node.body.members; - const seenValues = new Set(); - enumMembers.forEach(member => { - if (member.initializer == null) { - return; - } - let value; - if (isStringLiteral(member.initializer)) { - value = String(member.initializer.value); - } - else if (isNumberLiteral(member.initializer)) { - value = Number(member.initializer.value); - } - if (value == null) { - return; - } - if (seenValues.has(value)) { - context.report({ - node: member, - messageId: 'duplicateValue', - data: { - value, - }, - }); - } - else { - seenValues.add(value); - } - }); - }, - }; - }, -}); -//# sourceMappingURL=no-duplicate-enum-values.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js.map deleted file mode 100644 index e8a22395..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-duplicate-enum-values.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-enum-values.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,uCAAuC;YACpD,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACR,cAAc,EAAE,wCAAwC;SACzD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,eAAe,CACtB,IAAyB;YAEzB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CACvE,CAAC;QACJ,CAAC;QAED,SAAS,eAAe,CACtB,IAAyB;YAEzB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CACvE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,IAAgC;gBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;gBAE9C,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC3B,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;wBAC/B,OAAO;oBACT,CAAC;oBAED,IAAI,KAAkC,CAAC;oBACvC,IAAI,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;yBAAM,IAAI,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/C,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;oBAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;wBAClB,OAAO;oBACT,CAAC;oBAED,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,MAAM;4BACZ,SAAS,EAAE,gBAAgB;4BAC3B,IAAI,EAAE;gCACJ,KAAK;6BACN;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js deleted file mode 100644 index 7fc9dead..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js +++ /dev/null @@ -1,194 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const astIgnoreKeys = new Set(['loc', 'parent', 'range']); -const isSameAstNode = (actualNode, expectedNode) => { - if (actualNode === expectedNode) { - return true; - } - if (actualNode && - expectedNode && - typeof actualNode === 'object' && - typeof expectedNode === 'object') { - if (Array.isArray(actualNode) && Array.isArray(expectedNode)) { - if (actualNode.length !== expectedNode.length) { - return false; - } - return !actualNode.some((nodeEle, index) => !isSameAstNode(nodeEle, expectedNode[index])); - } - const actualNodeKeys = Object.keys(actualNode).filter(key => !astIgnoreKeys.has(key)); - const expectedNodeKeys = Object.keys(expectedNode).filter(key => !astIgnoreKeys.has(key)); - if (actualNodeKeys.length !== expectedNodeKeys.length) { - return false; - } - if (actualNodeKeys.some(actualNodeKey => !Object.hasOwn(expectedNode, actualNodeKey))) { - return false; - } - if (actualNodeKeys.some(actualNodeKey => !isSameAstNode(actualNode[actualNodeKey], expectedNode[actualNodeKey]))) { - return false; - } - return true; - } - return false; -}; -exports.default = (0, util_1.createRule)({ - name: 'no-duplicate-type-constituents', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow duplicate constituents of union or intersection types', - recommended: 'recommended', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - duplicate: '{{type}} type constituent is duplicated with {{previous}}.', - unnecessary: 'Explicit undefined is unnecessary on an optional parameter.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ignoreIntersections: { - type: 'boolean', - description: 'Whether to ignore `&` intersections.', - }, - ignoreUnions: { - type: 'boolean', - description: 'Whether to ignore `|` unions.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - ignoreIntersections: false, - ignoreUnions: false, - }, - ], - create(context, [{ ignoreIntersections, ignoreUnions }]) { - const parserServices = (0, util_1.getParserServices)(context); - const { sourceCode } = context; - function checkDuplicate(node, forEachNodeType) { - const cachedTypeMap = new Map(); - node.types.reduce((uniqueConstituents, constituentNode) => { - const constituentNodeType = parserServices.getTypeAtLocation(constituentNode); - if (tsutils.isIntrinsicErrorType(constituentNodeType)) { - return uniqueConstituents; - } - const report = (messageId, data) => { - const getUnionOrIntersectionToken = (where, at) => sourceCode[`getTokens${where}`](constituentNode, { - filter: token => ['&', '|'].includes(token.value), - }).at(at); - const beforeUnionOrIntersectionToken = getUnionOrIntersectionToken('Before', -1); - let afterUnionOrIntersectionToken; - let bracketBeforeTokens; - let bracketAfterTokens; - if (beforeUnionOrIntersectionToken) { - bracketBeforeTokens = sourceCode.getTokensBetween(beforeUnionOrIntersectionToken, constituentNode); - bracketAfterTokens = sourceCode.getTokensAfter(constituentNode, { - count: bracketBeforeTokens.length, - }); - } - else { - afterUnionOrIntersectionToken = (0, util_1.nullThrows)(getUnionOrIntersectionToken('After', 0), util_1.NullThrowsReasons.MissingToken('union or intersection token', 'duplicate type constituent')); - bracketAfterTokens = sourceCode.getTokensBetween(constituentNode, afterUnionOrIntersectionToken); - bracketBeforeTokens = sourceCode.getTokensBefore(constituentNode, { - count: bracketAfterTokens.length, - }); - } - context.report({ - loc: { - start: constituentNode.loc.start, - end: (bracketAfterTokens.at(-1) ?? constituentNode).loc.end, - }, - node: constituentNode, - messageId, - data, - fix: fixer => [ - beforeUnionOrIntersectionToken, - ...bracketBeforeTokens, - constituentNode, - ...bracketAfterTokens, - afterUnionOrIntersectionToken, - ].flatMap(token => (token ? fixer.remove(token) : [])), - }); - }; - const duplicatePrevious = uniqueConstituents.find(ele => isSameAstNode(ele, constituentNode)) ?? cachedTypeMap.get(constituentNodeType); - if (duplicatePrevious) { - report('duplicate', { - type: node.type === utils_1.AST_NODE_TYPES.TSIntersectionType - ? 'Intersection' - : 'Union', - previous: sourceCode.getText(duplicatePrevious), - }); - return uniqueConstituents; - } - forEachNodeType?.(constituentNodeType, report); - cachedTypeMap.set(constituentNodeType, constituentNode); - return [...uniqueConstituents, constituentNode]; - }, []); - } - return { - ...(!ignoreIntersections && { - TSIntersectionType: checkDuplicate, - }), - ...(!ignoreUnions && { - TSUnionType: (node) => checkDuplicate(node, (constituentNodeType, report) => { - const maybeTypeAnnotation = node.parent; - if (maybeTypeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeAnnotation) { - const maybeIdentifier = maybeTypeAnnotation.parent; - if (maybeIdentifier.type === utils_1.AST_NODE_TYPES.Identifier && - maybeIdentifier.optional) { - const maybeFunction = maybeIdentifier.parent; - if ((0, util_1.isFunctionOrFunctionType)(maybeFunction) && - maybeFunction.params.includes(maybeIdentifier) && - tsutils.isTypeFlagSet(constituentNodeType, ts.TypeFlags.Undefined)) { - report('unnecessary'); - } - } - } - }), - }), - }; - }, -}); -//# sourceMappingURL=no-duplicate-type-constituents.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js.map deleted file mode 100644 index 7b2a2bdd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-duplicate-type-constituents.js","sourceRoot":"","sources":["../../src/rules/no-duplicate-type-constituents.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js deleted file mode 100644 index 65d12f27..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-dynamic-delete', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow using the `delete` operator on computed key expressions', - recommended: 'strict', - }, - fixable: 'code', - messages: { - dynamicDelete: 'Do not delete dynamically computed property keys.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function createFixer(member) { - if (member.property.type === utils_1.AST_NODE_TYPES.Literal && - typeof member.property.value === 'string') { - return createPropertyReplacement(member.property, `.${member.property.value}`); - } - return undefined; - } - return { - 'UnaryExpression[operator=delete]'(node) { - if (node.argument.type !== utils_1.AST_NODE_TYPES.MemberExpression || - !node.argument.computed || - isAcceptableIndexExpression(node.argument.property)) { - return; - } - context.report({ - node: node.argument.property, - messageId: 'dynamicDelete', - fix: createFixer(node.argument), - }); - }, - }; - function createPropertyReplacement(property, replacement) { - return (fixer) => fixer.replaceTextRange(getTokenRange(property), replacement); - } - function getTokenRange(property) { - return [ - (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(property), util_1.NullThrowsReasons.MissingToken('token before', 'property')).range[0], - (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(property), util_1.NullThrowsReasons.MissingToken('token after', 'property')).range[1], - ]; - } - }, -}); -function isAcceptableIndexExpression(property) { - return ((property.type === utils_1.AST_NODE_TYPES.Literal && - ['number', 'string'].includes(typeof property.value)) || - (property.type === utils_1.AST_NODE_TYPES.UnaryExpression && - property.operator === '-' && - property.argument.type === utils_1.AST_NODE_TYPES.Literal && - typeof property.argument.value === 'number')); -} -//# sourceMappingURL=no-dynamic-delete.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js.map deleted file mode 100644 index c7ecc6c0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-dynamic-delete.js","sourceRoot":"","sources":["../../src/rules/no-dynamic-delete.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAoE;AAEpE,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,kEAAkE;YACpE,WAAW,EAAE,QAAQ;SACtB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,aAAa,EAAE,mDAAmD;SACnE;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,WAAW,CAClB,MAAiC;YAEjC,IACE,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;gBAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EACzC,CAAC;gBACD,OAAO,yBAAyB,CAC9B,MAAM,CAAC,QAAQ,EACf,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAC5B,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,kCAAkC,CAAC,IAA8B;gBAC/D,IACE,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;oBACtD,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBACvB,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACnD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC5B,SAAS,EAAE,eAAe;oBAC1B,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAChC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEF,SAAS,yBAAyB,CAChC,QAA6B,EAC7B,WAAmB;YAEnB,OAAO,CAAC,KAAyB,EAAoB,EAAE,CACrD,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,SAAS,aAAa,CAAC,QAA6B;YAClD,OAAO;gBACL,IAAA,iBAAU,EACR,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAC3C,wBAAiB,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAC3D,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,IAAA,iBAAU,EACR,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAC1C,wBAAiB,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAC1D,CAAC,KAAK,CAAC,CAAC,CAAC;aACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,2BAA2B,CAAC,QAA6B;IAChE,OAAO,CACL,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;QACvC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;YAC/C,QAAQ,CAAC,QAAQ,KAAK,GAAG;YACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;YACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAC/C,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js deleted file mode 100644 index 0a4a21d6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js +++ /dev/null @@ -1,135 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-empty-function'); -const defaultOptions = [ - { - allow: [], - }, -]; -const schema = (0, util_1.deepMerge)( -// eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- https://github.com/microsoft/TypeScript/issues/17002 -Array.isArray(baseRule.meta.schema) - ? baseRule.meta.schema[0] - : baseRule.meta.schema, { - properties: { - allow: { - description: 'Locations and kinds of functions that are allowed to be empty.', - items: { - type: 'string', - enum: [ - 'functions', - 'arrowFunctions', - 'generatorFunctions', - 'methods', - 'generatorMethods', - 'getters', - 'setters', - 'constructors', - 'private-constructors', - 'protected-constructors', - 'asyncFunctions', - 'asyncMethods', - 'decoratedFunctions', - 'overrideMethods', - ], - }, - }, - }, -}); -exports.default = (0, util_1.createRule)({ - name: 'no-empty-function', - meta: { - type: 'suggestion', - defaultOptions, - docs: { - description: 'Disallow empty functions', - extendsBaseRule: true, - recommended: 'stylistic', - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: [schema], - }, - defaultOptions, - create(context, [{ allow = [] }]) { - const rules = baseRule.create(context); - const isAllowedProtectedConstructors = allow.includes('protected-constructors'); - const isAllowedPrivateConstructors = allow.includes('private-constructors'); - const isAllowedDecoratedFunctions = allow.includes('decoratedFunctions'); - const isAllowedOverrideMethods = allow.includes('overrideMethods'); - /** - * Check if the method body is empty - * @param node the node to be validated - * @returns true if the body is empty - * @private - */ - function isBodyEmpty(node) { - return node.body.body.length === 0; - } - /** - * Check if method has parameter properties - * @param node the node to be validated - * @returns true if the body has parameter properties - * @private - */ - function hasParameterProperties(node) { - return node.params.some(param => param.type === utils_1.AST_NODE_TYPES.TSParameterProperty); - } - /** - * @param node the node to be validated - * @returns true if the constructor is allowed to be empty - * @private - */ - function isAllowedEmptyConstructor(node) { - const parent = node.parent; - if (isBodyEmpty(node) && - parent.type === utils_1.AST_NODE_TYPES.MethodDefinition && - parent.kind === 'constructor') { - const { accessibility } = parent; - return ( - // allow protected constructors - (accessibility === 'protected' && isAllowedProtectedConstructors) || - // allow private constructors - (accessibility === 'private' && isAllowedPrivateConstructors) || - // allow constructors which have parameter properties - hasParameterProperties(node)); - } - return false; - } - /** - * @param node the node to be validated - * @returns true if a function has decorators - * @private - */ - function isAllowedEmptyDecoratedFunctions(node) { - if (isAllowedDecoratedFunctions && isBodyEmpty(node)) { - const decorators = node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition - ? node.parent.decorators - : undefined; - return !!decorators && !!decorators.length; - } - return false; - } - function isAllowedEmptyOverrideMethod(node) { - return (isAllowedOverrideMethods && - isBodyEmpty(node) && - node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition && - node.parent.override); - } - return { - ...rules, - FunctionExpression(node) { - if (isAllowedEmptyConstructor(node) || - isAllowedEmptyDecoratedFunctions(node) || - isAllowedEmptyOverrideMethod(node)) { - return; - } - rules.FunctionExpression(node); - }, - }; - }, -}); -//# sourceMappingURL=no-empty-function.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map deleted file mode 100644 index 3ea15104..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-empty-function.js","sourceRoot":"","sources":["../../src/rules/no-empty-function.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js deleted file mode 100644 index 0f324f12..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js +++ /dev/null @@ -1,92 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-empty-interface', - meta: { - type: 'suggestion', - deprecated: true, - docs: { - description: 'Disallow the declaration of empty interfaces', - }, - fixable: 'code', - hasSuggestions: true, - messages: { - noEmpty: 'An empty interface is equivalent to `{}`.', - noEmptyWithSuper: 'An interface declaring no members is equivalent to its supertype.', - }, - replacedBy: ['@typescript-eslint/no-empty-object-type'], - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowSingleExtends: { - type: 'boolean', - description: 'Whether to allow empty interfaces that extend a single other interface.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowSingleExtends: false, - }, - ], - create(context, [{ allowSingleExtends }]) { - return { - TSInterfaceDeclaration(node) { - if (node.body.body.length !== 0) { - // interface contains members --> Nothing to report - return; - } - const extend = node.extends; - if (extend.length === 0) { - context.report({ - node: node.id, - messageId: 'noEmpty', - }); - } - else if (extend.length === 1 && - // interface extends exactly 1 interface --> Report depending on rule setting - !allowSingleExtends) { - const fix = (fixer) => { - let typeParam = ''; - if (node.typeParameters) { - typeParam = context.sourceCode.getText(node.typeParameters); - } - return fixer.replaceText(node, `type ${context.sourceCode.getText(node.id)}${typeParam} = ${context.sourceCode.getText(extend[0])}`); - }; - const scope = context.sourceCode.getScope(node); - const mergedWithClassDeclaration = scope.set - .get(node.id.name) - ?.defs.some(def => def.node.type === utils_1.AST_NODE_TYPES.ClassDeclaration); - const isInAmbientDeclaration = !!((0, util_1.isDefinitionFile)(context.filename) && - scope.type === scope_manager_1.ScopeType.tsModule && - scope.block.declare); - const useAutoFix = !(isInAmbientDeclaration || mergedWithClassDeclaration); - context.report({ - node: node.id, - messageId: 'noEmptyWithSuper', - ...(useAutoFix - ? { fix } - : !mergedWithClassDeclaration - ? { - suggest: [ - { - messageId: 'noEmptyWithSuper', - fix, - }, - ], - } - : null), - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-empty-interface.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js.map deleted file mode 100644 index 857d6be9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-empty-interface.js","sourceRoot":"","sources":["../../src/rules/no-empty-interface.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js deleted file mode 100644 index 55cd3cc8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js +++ /dev/null @@ -1,144 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const noEmptyMessage = (emptyType) => [ - `${emptyType} allows any non-nullish value, including literals like \`0\` and \`""\`.`, - "- If that's what you want, disable this lint rule with an inline comment or configure the '{{ option }}' rule option.", - '- If you want a type meaning "any object", you probably want `object` instead.', - '- If you want a type meaning "any value", you probably want `unknown` instead.', -].join('\n'); -exports.default = (0, util_1.createRule)({ - name: 'no-empty-object-type', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow accidentally using the "empty object" type', - recommended: 'recommended', - }, - hasSuggestions: true, - messages: { - noEmptyInterface: noEmptyMessage('An empty interface declaration'), - noEmptyInterfaceWithSuper: 'An interface declaring no members is equivalent to its supertype.', - noEmptyObject: noEmptyMessage('The `{}` ("empty object") type'), - replaceEmptyInterface: 'Replace empty interface with `{{replacement}}`.', - replaceEmptyInterfaceWithSuper: 'Replace empty interface with a type alias.', - replaceEmptyObjectType: 'Replace `{}` with `{{replacement}}`.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowInterfaces: { - type: 'string', - description: 'Whether to allow empty interfaces.', - enum: ['always', 'never', 'with-single-extends'], - }, - allowObjectTypes: { - type: 'string', - description: 'Whether to allow empty object type literals.', - enum: ['always', 'never'], - }, - allowWithName: { - type: 'string', - description: 'A stringified regular expression to allow interfaces and object type aliases with the configured name.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowInterfaces: 'never', - allowObjectTypes: 'never', - }, - ], - create(context, [{ allowInterfaces, allowObjectTypes, allowWithName }]) { - const allowWithNameTester = allowWithName - ? new RegExp(allowWithName, 'u') - : undefined; - return { - ...(allowInterfaces !== 'always' && { - TSInterfaceDeclaration(node) { - if (allowWithNameTester?.test(node.id.name)) { - return; - } - const extend = node.extends; - if (node.body.body.length !== 0 || - (extend.length === 1 && - allowInterfaces === 'with-single-extends') || - extend.length > 1) { - return; - } - const scope = context.sourceCode.getScope(node); - const mergedWithClassDeclaration = scope.set - .get(node.id.name) - ?.defs.some(def => def.node.type === utils_1.AST_NODE_TYPES.ClassDeclaration); - if (extend.length === 0) { - context.report({ - node: node.id, - messageId: 'noEmptyInterface', - data: { option: 'allowInterfaces' }, - ...(!mergedWithClassDeclaration && { - suggest: ['object', 'unknown'].map(replacement => ({ - messageId: 'replaceEmptyInterface', - data: { replacement }, - fix(fixer) { - const id = context.sourceCode.getText(node.id); - const typeParam = node.typeParameters - ? context.sourceCode.getText(node.typeParameters) - : ''; - return fixer.replaceText(node, `type ${id}${typeParam} = ${replacement}`); - }, - })), - }), - }); - return; - } - context.report({ - node: node.id, - messageId: 'noEmptyInterfaceWithSuper', - ...(!mergedWithClassDeclaration && { - suggest: [ - { - messageId: 'replaceEmptyInterfaceWithSuper', - fix(fixer) { - const extended = context.sourceCode.getText(extend[0]); - const id = context.sourceCode.getText(node.id); - const typeParam = node.typeParameters - ? context.sourceCode.getText(node.typeParameters) - : ''; - return fixer.replaceText(node, `type ${id}${typeParam} = ${extended}`); - }, - }, - ], - }), - }); - }, - }), - ...(allowObjectTypes !== 'always' && { - TSTypeLiteral(node) { - if (node.members.length || - node.parent.type === utils_1.AST_NODE_TYPES.TSIntersectionType || - (allowWithNameTester && - node.parent.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration && - allowWithNameTester.test(node.parent.id.name))) { - return; - } - context.report({ - node, - messageId: 'noEmptyObject', - data: { option: 'allowObjectTypes' }, - suggest: ['object', 'unknown'].map(replacement => ({ - messageId: 'replaceEmptyObjectType', - data: { replacement }, - fix: (fixer) => fixer.replaceText(node, replacement), - })), - }); - }, - }), - }; - }, -}); -//# sourceMappingURL=no-empty-object-type.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js.map deleted file mode 100644 index 4ceb1be6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-object-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-empty-object-type.js","sourceRoot":"","sources":["../../src/rules/no-empty-object-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js deleted file mode 100644 index 2365b897..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js +++ /dev/null @@ -1,170 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-explicit-any', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow the `any` type', - recommended: 'recommended', - }, - fixable: 'code', - hasSuggestions: true, - messages: { - suggestNever: "Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.", - suggestUnknown: 'Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.', - unexpectedAny: 'Unexpected any. Specify a different type.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - fixToUnknown: { - type: 'boolean', - description: 'Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type.', - }, - ignoreRestArgs: { - type: 'boolean', - description: 'Whether to ignore rest parameter arrays.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - fixToUnknown: false, - ignoreRestArgs: false, - }, - ], - create(context, [{ fixToUnknown, ignoreRestArgs }]) { - /** - * Checks if the node is an arrow function, function/constructor declaration or function expression - * @param node the node to be validated. - * @returns true if the node is any kind of function declaration or expression - * @private - */ - function isNodeValidFunction(node) { - return [ - utils_1.AST_NODE_TYPES.ArrowFunctionExpression, // const x = (...args: any[]) => {}; - utils_1.AST_NODE_TYPES.FunctionDeclaration, // function f(...args: any[]) {} - utils_1.AST_NODE_TYPES.FunctionExpression, // const x = function(...args: any[]) {}; - utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration, // type T = {(...args: any[]): unknown}; - utils_1.AST_NODE_TYPES.TSConstructorType, // type T = new (...args: any[]) => unknown - utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration, // type T = {new (...args: any[]): unknown}; - utils_1.AST_NODE_TYPES.TSDeclareFunction, // declare function _8(...args: any[]): unknown; - utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression, // declare class A { f(...args: any[]): unknown; } - utils_1.AST_NODE_TYPES.TSFunctionType, // type T = (...args: any[]) => unknown; - utils_1.AST_NODE_TYPES.TSMethodSignature, // type T = {f(...args: any[]): unknown}; - ].includes(node.type); - } - /** - * Checks if the node is a rest element child node of a function - * @param node the node to be validated. - * @returns true if the node is a rest element child node of a function - * @private - */ - function isNodeRestElementInFunction(node) { - return (node.type === utils_1.AST_NODE_TYPES.RestElement && - isNodeValidFunction(node.parent)); - } - /** - * Checks if the node is a TSTypeOperator node with a readonly operator - * @param node the node to be validated. - * @returns true if the node is a TSTypeOperator node with a readonly operator - * @private - */ - function isNodeReadonlyTSTypeOperator(node) { - return (node.type === utils_1.AST_NODE_TYPES.TSTypeOperator && - node.operator === 'readonly'); - } - /** - * Checks if the node is a TSTypeReference node with an Array identifier - * @param node the node to be validated. - * @returns true if the node is a TSTypeReference node with an Array identifier - * @private - */ - function isNodeValidArrayTSTypeReference(node) { - return (node.type === utils_1.AST_NODE_TYPES.TSTypeReference && - node.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - ['Array', 'ReadonlyArray'].includes(node.typeName.name)); - } - /** - * Checks if the node is a valid TSTypeOperator or TSTypeReference node - * @param node the node to be validated. - * @returns true if the node is a valid TSTypeOperator or TSTypeReference node - * @private - */ - function isNodeValidTSType(node) { - return (isNodeReadonlyTSTypeOperator(node) || - isNodeValidArrayTSTypeReference(node)); - } - /** - * Checks if the great grand-parent node is a RestElement node in a function - * @param node the node to be validated. - * @returns true if the great grand-parent node is a RestElement node in a function - * @private - */ - function isGreatGrandparentRestElement(node) { - return (node.parent?.parent?.parent != null && - isNodeRestElementInFunction(node.parent.parent.parent)); - } - /** - * Checks if the great great grand-parent node is a valid RestElement node in a function - * @param node the node to be validated. - * @returns true if the great great grand-parent node is a valid RestElement node in a function - * @private - */ - function isGreatGreatGrandparentRestElement(node) { - return (node.parent?.parent?.parent?.parent != null && - isNodeValidTSType(node.parent.parent) && - isNodeRestElementInFunction(node.parent.parent.parent.parent)); - } - /** - * Checks if the great grand-parent or the great great grand-parent node is a RestElement node - * @param node the node to be validated. - * @returns true if the great grand-parent or the great great grand-parent node is a RestElement node - * @private - */ - function isNodeDescendantOfRestElementInFunction(node) { - return (isGreatGrandparentRestElement(node) || - isGreatGreatGrandparentRestElement(node)); - } - return { - TSAnyKeyword(node) { - if (ignoreRestArgs && isNodeDescendantOfRestElementInFunction(node)) { - return; - } - const fixOrSuggest = { - fix: null, - suggest: [ - { - messageId: 'suggestUnknown', - fix(fixer) { - return fixer.replaceText(node, 'unknown'); - }, - }, - { - messageId: 'suggestNever', - fix(fixer) { - return fixer.replaceText(node, 'never'); - }, - }, - ], - }; - if (fixToUnknown) { - fixOrSuggest.fix = (fixer) => fixer.replaceText(node, 'unknown'); - } - context.report({ - node, - messageId: 'unexpectedAny', - ...fixOrSuggest, - }); - }, - }; - }, -}); -//# sourceMappingURL=no-explicit-any.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map deleted file mode 100644 index 4257b790..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-explicit-any.js","sourceRoot":"","sources":["../../src/rules/no-explicit-any.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js deleted file mode 100644 index e5281460..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-extra-non-null-assertion', - meta: { - type: 'problem', - docs: { - description: 'Disallow extra non-null assertions', - recommended: 'recommended', - }, - fixable: 'code', - messages: { - noExtraNonNullAssertion: 'Forbidden extra non-null assertion.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function checkExtraNonNullAssertion(node) { - context.report({ - node, - messageId: 'noExtraNonNullAssertion', - fix(fixer) { - return fixer.removeRange([node.range[1] - 1, node.range[1]]); - }, - }); - } - return { - 'CallExpression[optional = true] > TSNonNullExpression.callee': checkExtraNonNullAssertion, - 'MemberExpression[optional = true] > TSNonNullExpression.object': checkExtraNonNullAssertion, - 'TSNonNullExpression > TSNonNullExpression': checkExtraNonNullAssertion, - }; - }, -}); -//# sourceMappingURL=no-extra-non-null-assertion.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map deleted file mode 100644 index e09cd67e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-extra-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-extra-non-null-assertion.ts"],"names":[],"mappings":";;AAEA,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,oCAAoC;YACjD,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,uBAAuB,EAAE,qCAAqC;SAC/D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,0BAA0B,CACjC,IAAkC;YAElC,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,yBAAyB;gBACpC,GAAG,CAAC,KAAK;oBACP,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,8DAA8D,EAC5D,0BAA0B;YAC5B,gEAAgE,EAC9D,0BAA0B;YAC5B,2CAA2C,EAAE,0BAA0B;SACxE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js deleted file mode 100644 index e300fd3e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js +++ /dev/null @@ -1,120 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-extraneous-class', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow classes used as namespaces', - recommended: 'strict', - }, - messages: { - empty: 'Unexpected empty class.', - onlyConstructor: 'Unexpected class with only a constructor.', - onlyStatic: 'Unexpected class with only static properties.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowConstructorOnly: { - type: 'boolean', - description: 'Whether to allow extraneous classes that contain only a constructor.', - }, - allowEmpty: { - type: 'boolean', - description: 'Whether to allow extraneous classes that have no body (i.e. are empty).', - }, - allowStaticOnly: { - type: 'boolean', - description: 'Whether to allow extraneous classes that only contain static members.', - }, - allowWithDecorator: { - type: 'boolean', - description: 'Whether to allow extraneous classes that include a decorator.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowConstructorOnly: false, - allowEmpty: false, - allowStaticOnly: false, - allowWithDecorator: false, - }, - ], - create(context, [{ allowConstructorOnly, allowEmpty, allowStaticOnly, allowWithDecorator }]) { - const isAllowWithDecorator = (node) => { - return !!(allowWithDecorator && - node?.decorators && - node.decorators.length !== 0); - }; - return { - ClassBody(node) { - const parent = node.parent; - if (parent.superClass || isAllowWithDecorator(parent)) { - return; - } - const reportNode = parent.type === utils_1.AST_NODE_TYPES.ClassDeclaration && parent.id - ? parent.id - : parent; - if (node.body.length === 0) { - if (allowEmpty) { - return; - } - context.report({ - node: reportNode, - messageId: 'empty', - }); - return; - } - let onlyStatic = true; - let onlyConstructor = true; - for (const prop of node.body) { - if (prop.type === utils_1.AST_NODE_TYPES.MethodDefinition && - prop.kind === 'constructor') { - if (prop.value.params.some(param => param.type === utils_1.AST_NODE_TYPES.TSParameterProperty)) { - onlyConstructor = false; - onlyStatic = false; - } - } - else { - onlyConstructor = false; - if (((prop.type === utils_1.AST_NODE_TYPES.PropertyDefinition || - prop.type === utils_1.AST_NODE_TYPES.MethodDefinition) && - !prop.static) || - prop.type === utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition || - prop.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition // `static abstract` methods and properties are currently not supported. See: https://github.com/microsoft/TypeScript/issues/34516 - ) { - onlyStatic = false; - } - } - if (!(onlyStatic || onlyConstructor)) { - break; - } - } - if (onlyConstructor) { - if (!allowConstructorOnly) { - context.report({ - node: reportNode, - messageId: 'onlyConstructor', - }); - } - return; - } - if (onlyStatic && !allowStaticOnly) { - context.report({ - node: reportNode, - messageId: 'onlyStatic', - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-extraneous-class.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map deleted file mode 100644 index 0c7adb74..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-extraneous-class.js","sourceRoot":"","sources":["../../src/rules/no-extraneous-class.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js deleted file mode 100644 index b0961185..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js +++ /dev/null @@ -1,385 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const messageBase = 'Promises must be awaited, end with a call to .catch, or end with a call to .then with a rejection handler.'; -const messageBaseVoid = 'Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler' + - ' or be explicitly marked as ignored with the `void` operator.'; -const messageRejectionHandler = 'A rejection handler that is not a function will be ignored.'; -const messagePromiseArray = "An array of Promises may be unintentional. Consider handling the promises' fulfillment or rejection with Promise.all or similar."; -const messagePromiseArrayVoid = "An array of Promises may be unintentional. Consider handling the promises' fulfillment or rejection with Promise.all or similar," + - ' or explicitly marking the expression as ignored with the `void` operator.'; -exports.default = (0, util_1.createRule)({ - name: 'no-floating-promises', - meta: { - type: 'problem', - docs: { - description: 'Require Promise-like statements to be handled appropriately', - recommended: 'recommended', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - floating: messageBase, - floatingFixAwait: 'Add await operator.', - floatingFixVoid: 'Add void operator to ignore.', - floatingPromiseArray: messagePromiseArray, - floatingPromiseArrayVoid: messagePromiseArrayVoid, - floatingUselessRejectionHandler: `${messageBase} ${messageRejectionHandler}`, - floatingUselessRejectionHandlerVoid: `${messageBaseVoid} ${messageRejectionHandler}`, - floatingVoid: messageBaseVoid, - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowForKnownSafeCalls: { - ...util_1.readonlynessOptionsSchema.properties.allow, - description: 'Type specifiers of functions whose calls are safe to float.', - }, - allowForKnownSafePromises: { - ...util_1.readonlynessOptionsSchema.properties.allow, - description: 'Type specifiers that are known to be safe to float.', - }, - checkThenables: { - type: 'boolean', - description: 'Whether to check all "Thenable"s, not just the built-in Promise type.', - }, - ignoreIIFE: { - type: 'boolean', - description: 'Whether to ignore async IIFEs (Immediately Invoked Function Expressions).', - }, - ignoreVoid: { - type: 'boolean', - description: 'Whether to ignore `void` expressions.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowForKnownSafeCalls: util_1.readonlynessOptionsDefaults.allow, - allowForKnownSafePromises: util_1.readonlynessOptionsDefaults.allow, - checkThenables: false, - ignoreIIFE: false, - ignoreVoid: true, - }, - ], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const { checkThenables } = options; - // TODO: #5439 - /* eslint-disable @typescript-eslint/no-non-null-assertion */ - const allowForKnownSafePromises = options.allowForKnownSafePromises; - const allowForKnownSafeCalls = options.allowForKnownSafeCalls; - /* eslint-enable @typescript-eslint/no-non-null-assertion */ - return { - ExpressionStatement(node) { - if (options.ignoreIIFE && isAsyncIife(node)) { - return; - } - let expression = node.expression; - if (expression.type === utils_1.AST_NODE_TYPES.ChainExpression) { - expression = expression.expression; - } - if (isKnownSafePromiseReturn(expression)) { - return; - } - const { isUnhandled, nonFunctionHandler, promiseArray } = isUnhandledPromise(checker, expression); - if (isUnhandled) { - if (promiseArray) { - context.report({ - node, - messageId: options.ignoreVoid - ? 'floatingPromiseArrayVoid' - : 'floatingPromiseArray', - }); - } - else if (options.ignoreVoid) { - context.report({ - node, - messageId: nonFunctionHandler - ? 'floatingUselessRejectionHandlerVoid' - : 'floatingVoid', - suggest: [ - { - messageId: 'floatingFixVoid', - fix(fixer) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node.expression); - if (isHigherPrecedenceThanUnary(tsNode)) { - return fixer.insertTextBefore(node, 'void '); - } - return [ - fixer.insertTextBefore(node, 'void ('), - fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'), - ]; - }, - }, - { - messageId: 'floatingFixAwait', - fix: (fixer) => addAwait(fixer, expression, node), - }, - ], - }); - } - else { - context.report({ - node, - messageId: nonFunctionHandler - ? 'floatingUselessRejectionHandler' - : 'floating', - suggest: [ - { - messageId: 'floatingFixAwait', - fix: (fixer) => addAwait(fixer, expression, node), - }, - ], - }); - } - } - }, - }; - function addAwait(fixer, expression, node) { - if (expression.type === utils_1.AST_NODE_TYPES.UnaryExpression && - expression.operator === 'void') { - return fixer.replaceTextRange([expression.range[0], expression.range[0] + 4], 'await'); - } - const tsNode = services.esTreeNodeToTSNodeMap.get(node.expression); - if (isHigherPrecedenceThanUnary(tsNode)) { - return fixer.insertTextBefore(node, 'await '); - } - return [ - fixer.insertTextBefore(node, 'await ('), - fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'), - ]; - } - function isKnownSafePromiseReturn(node) { - if (node.type !== utils_1.AST_NODE_TYPES.CallExpression) { - return false; - } - const type = services.getTypeAtLocation(node.callee); - return (0, util_1.typeMatchesSomeSpecifier)(type, allowForKnownSafeCalls, services.program); - } - function isHigherPrecedenceThanUnary(node) { - const operator = ts.isBinaryExpression(node) - ? node.operatorToken.kind - : ts.SyntaxKind.Unknown; - const nodePrecedence = (0, util_1.getOperatorPrecedence)(node.kind, operator); - return nodePrecedence > util_1.OperatorPrecedence.Unary; - } - function isAsyncIife(node) { - if (node.expression.type !== utils_1.AST_NODE_TYPES.CallExpression) { - return false; - } - return (node.expression.callee.type === - utils_1.AST_NODE_TYPES.ArrowFunctionExpression || - node.expression.callee.type === utils_1.AST_NODE_TYPES.FunctionExpression); - } - function isValidRejectionHandler(rejectionHandler) { - return (services.program - .getTypeChecker() - .getTypeAtLocation(services.esTreeNodeToTSNodeMap.get(rejectionHandler)) - .getCallSignatures().length > 0); - } - function isUnhandledPromise(checker, node) { - if (node.type === utils_1.AST_NODE_TYPES.AssignmentExpression) { - return { isUnhandled: false }; - } - // First, check expressions whose resulting types may not be promise-like - if (node.type === utils_1.AST_NODE_TYPES.SequenceExpression) { - // Any child in a comma expression could return a potentially unhandled - // promise, so we check them all regardless of whether the final returned - // value is promise-like. - return (node.expressions - .map(item => isUnhandledPromise(checker, item)) - .find(result => result.isUnhandled) ?? { isUnhandled: false }); - } - if (!options.ignoreVoid && - node.type === utils_1.AST_NODE_TYPES.UnaryExpression && - node.operator === 'void') { - // Similarly, a `void` expression always returns undefined, so we need to - // see what's inside it without checking the type of the overall expression. - return isUnhandledPromise(checker, node.argument); - } - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - // Check the type. At this point it can't be unhandled if it isn't a promise - // or array thereof. - if (isPromiseArray(tsNode)) { - return { isUnhandled: true, promiseArray: true }; - } - // await expression addresses promises, but not promise arrays. - if (node.type === utils_1.AST_NODE_TYPES.AwaitExpression) { - // you would think this wouldn't be strictly necessary, since we're - // anyway checking the type of the expression, but, unfortunately TS - // reports the result of `await (promise as Promise & number)` - // as `Promise & number` instead of `number`. - return { isUnhandled: false }; - } - if (!isPromiseLike(tsNode)) { - return { isUnhandled: false }; - } - if (node.type === utils_1.AST_NODE_TYPES.CallExpression) { - // If the outer expression is a call, a `.catch()` or `.then()` with - // rejection handler handles the promise. - const { callee } = node; - if (callee.type === utils_1.AST_NODE_TYPES.MemberExpression) { - const methodName = (0, util_1.getStaticMemberAccessValue)(callee, context); - const catchRejectionHandler = methodName === 'catch' && node.arguments.length >= 1 - ? node.arguments[0] - : undefined; - if (catchRejectionHandler) { - if (isValidRejectionHandler(catchRejectionHandler)) { - return { isUnhandled: false }; - } - return { isUnhandled: true, nonFunctionHandler: true }; - } - const thenRejectionHandler = methodName === 'then' && node.arguments.length >= 2 - ? node.arguments[1] - : undefined; - if (thenRejectionHandler) { - if (isValidRejectionHandler(thenRejectionHandler)) { - return { isUnhandled: false }; - } - return { isUnhandled: true, nonFunctionHandler: true }; - } - // `x.finally()` is transparent to resolution of the promise, so check `x`. - // ("object" in this context is the `x` in `x.finally()`) - const promiseFinallyObject = methodName === 'finally' ? callee.object : undefined; - if (promiseFinallyObject) { - return isUnhandledPromise(checker, promiseFinallyObject); - } - } - // All other cases are unhandled. - return { isUnhandled: true }; - } - if (node.type === utils_1.AST_NODE_TYPES.ConditionalExpression) { - // We must be getting the promise-like value from one of the branches of the - // ternary. Check them directly. - const alternateResult = isUnhandledPromise(checker, node.alternate); - if (alternateResult.isUnhandled) { - return alternateResult; - } - return isUnhandledPromise(checker, node.consequent); - } - if (node.type === utils_1.AST_NODE_TYPES.LogicalExpression) { - const leftResult = isUnhandledPromise(checker, node.left); - if (leftResult.isUnhandled) { - return leftResult; - } - return isUnhandledPromise(checker, node.right); - } - // Anything else is unhandled. - return { isUnhandled: true }; - } - function isPromiseArray(node) { - const type = checker.getTypeAtLocation(node); - for (const ty of tsutils - .unionTypeParts(type) - .map(t => checker.getApparentType(t))) { - if (checker.isArrayType(ty)) { - const arrayType = checker.getTypeArguments(ty)[0]; - if (isPromiseLike(node, arrayType)) { - return true; - } - } - if (checker.isTupleType(ty)) { - for (const tupleElementType of checker.getTypeArguments(ty)) { - if (isPromiseLike(node, tupleElementType)) { - return true; - } - } - } - } - return false; - } - function isPromiseLike(node, type) { - type ??= checker.getTypeAtLocation(node); - // The highest priority is to allow anything allowlisted - if ((0, util_1.typeMatchesSomeSpecifier)(type, allowForKnownSafePromises, services.program)) { - return false; - } - // Otherwise, we always consider the built-in Promise to be Promise-like... - const typeParts = tsutils.unionTypeParts(checker.getApparentType(type)); - if (typeParts.some(typePart => (0, util_1.isBuiltinSymbolLike)(services.program, typePart, 'Promise'))) { - return true; - } - // ...and only check all Thenables if explicitly told to - if (!checkThenables) { - return false; - } - // Modified from tsutils.isThenable() to only consider thenables which can be - // rejected/caught via a second parameter. Original source (MIT licensed): - // - // https://github.com/ajafff/tsutils/blob/49d0d31050b44b81e918eae4fbaf1dfe7b7286af/util/type.ts#L95-L125 - for (const ty of typeParts) { - const then = ty.getProperty('then'); - if (then == null) { - continue; - } - const thenType = checker.getTypeOfSymbolAtLocation(then, node); - if (hasMatchingSignature(thenType, signature => signature.parameters.length >= 2 && - isFunctionParam(checker, signature.parameters[0], node) && - isFunctionParam(checker, signature.parameters[1], node))) { - return true; - } - } - return false; - } - }, -}); -function hasMatchingSignature(type, matcher) { - for (const t of tsutils.unionTypeParts(type)) { - if (t.getCallSignatures().some(matcher)) { - return true; - } - } - return false; -} -function isFunctionParam(checker, param, node) { - const type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node)); - for (const t of tsutils.unionTypeParts(type)) { - if (t.getCallSignatures().length !== 0) { - return true; - } - } - return false; -} -//# sourceMappingURL=no-floating-promises.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map deleted file mode 100644 index c32e2421..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-floating-promises.js","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js deleted file mode 100644 index d4c48260..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js +++ /dev/null @@ -1,71 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getForStatementHeadLoc_1 = require("../util/getForStatementHeadLoc"); -exports.default = (0, util_1.createRule)({ - name: 'no-for-in-array', - meta: { - type: 'problem', - docs: { - description: 'Disallow iterating over an array with a for-in loop', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - forInViolation: 'For-in loops over arrays skips holes, returns indices as strings, and may visit the prototype chain or other enumerable properties. Use a more robust iteration method such as for-of or array.forEach instead.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - ForInStatement(node) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node.right); - if ((0, util_1.isTypeArrayTypeOrUnionOfArrayTypes)(type, checker) || - (type.flags & ts.TypeFlags.StringLike) !== 0) { - context.report({ - loc: (0, getForStatementHeadLoc_1.getForStatementHeadLoc)(context.sourceCode, node), - messageId: 'forInViolation', - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-for-in-array.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js.map deleted file mode 100644 index 963a101b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-for-in-array.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-for-in-array.js","sourceRoot":"","sources":["../../src/rules/no-for-in-array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,kCAKiB;AACjB,2EAAwE;AAExE,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,cAAc,EACZ,iNAAiN;SACpN;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,cAAc,CAAC,IAAI;gBACjB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAElD,MAAM,IAAI,GAAG,IAAA,mCAA4B,EAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEhE,IACE,IAAA,yCAAkC,EAAC,IAAI,EAAE,OAAO,CAAC;oBACjD,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAC5C,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,IAAA,+CAAsB,EAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;wBACrD,SAAS,EAAE,gBAAgB;qBAC5B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js deleted file mode 100644 index da016efa..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js +++ /dev/null @@ -1,153 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const FUNCTION_CONSTRUCTOR = 'Function'; -const GLOBAL_CANDIDATES = new Set(['global', 'globalThis', 'window']); -const EVAL_LIKE_METHODS = new Set([ - 'execScript', - 'setImmediate', - 'setInterval', - 'setTimeout', -]); -exports.default = (0, util_1.createRule)({ - name: 'no-implied-eval', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow the use of `eval()`-like methods', - extendsBaseRule: true, - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - noFunctionConstructor: 'Implied eval. Do not use the Function constructor to create functions.', - noImpliedEvalError: 'Implied eval. Consider passing a function.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function getCalleeName(node) { - if (node.type === utils_1.AST_NODE_TYPES.Identifier) { - return node.name; - } - if (node.type === utils_1.AST_NODE_TYPES.MemberExpression && - node.object.type === utils_1.AST_NODE_TYPES.Identifier && - GLOBAL_CANDIDATES.has(node.object.name)) { - if (node.property.type === utils_1.AST_NODE_TYPES.Identifier) { - return node.property.name; - } - if (node.property.type === utils_1.AST_NODE_TYPES.Literal && - typeof node.property.value === 'string') { - return node.property.value; - } - } - return null; - } - function isFunctionType(node) { - const type = services.getTypeAtLocation(node); - const symbol = type.getSymbol(); - if (symbol && - tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Function | ts.SymbolFlags.Method)) { - return true; - } - if ((0, util_1.isBuiltinSymbolLike)(services.program, type, FUNCTION_CONSTRUCTOR)) { - return true; - } - const signatures = checker.getSignaturesOfType(type, ts.SignatureKind.Call); - return signatures.length > 0; - } - function isBind(node) { - return node.type === utils_1.AST_NODE_TYPES.MemberExpression - ? isBind(node.property) - : node.type === utils_1.AST_NODE_TYPES.Identifier && node.name === 'bind'; - } - function isFunction(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionDeclaration: - case utils_1.AST_NODE_TYPES.FunctionExpression: - return true; - case utils_1.AST_NODE_TYPES.Literal: - case utils_1.AST_NODE_TYPES.TemplateLiteral: - return false; - case utils_1.AST_NODE_TYPES.CallExpression: - return isBind(node.callee) || isFunctionType(node); - default: - return isFunctionType(node); - } - } - function checkImpliedEval(node) { - const calleeName = getCalleeName(node.callee); - if (calleeName == null) { - return; - } - if (calleeName === FUNCTION_CONSTRUCTOR) { - const type = services.getTypeAtLocation(node.callee); - const symbol = type.getSymbol(); - if (symbol) { - if ((0, util_1.isBuiltinSymbolLike)(services.program, type, 'FunctionConstructor')) { - context.report({ node, messageId: 'noFunctionConstructor' }); - return; - } - } - else { - context.report({ node, messageId: 'noFunctionConstructor' }); - return; - } - } - if (node.arguments.length === 0) { - return; - } - const [handler] = node.arguments; - if (EVAL_LIKE_METHODS.has(calleeName) && - !isFunction(handler) && - (0, util_1.isReferenceToGlobalFunction)(calleeName, node, context.sourceCode)) { - context.report({ node: handler, messageId: 'noImpliedEvalError' }); - } - } - return { - CallExpression: checkImpliedEval, - NewExpression: checkImpliedEval, - }; - }, -}); -//# sourceMappingURL=no-implied-eval.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map deleted file mode 100644 index 1362432c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-implied-eval.js","sourceRoot":"","sources":["../../src/rules/no-implied-eval.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js deleted file mode 100644 index b6d6724a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-import-type-side-effects', - meta: { - type: 'problem', - docs: { - description: 'Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers', - }, - fixable: 'code', - messages: { - useTopLevelQualifier: 'TypeScript will only remove the inline type specifiers which will leave behind a side effect import at runtime. Convert this to a top-level type qualifier to properly remove the entire import.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - 'ImportDeclaration[importKind!="type"]'(node) { - if (node.specifiers.length === 0) { - return; - } - const specifiers = []; - for (const specifier of node.specifiers) { - if (specifier.type !== utils_1.AST_NODE_TYPES.ImportSpecifier || - specifier.importKind !== 'type') { - return; - } - specifiers.push(specifier); - } - context.report({ - node, - messageId: 'useTopLevelQualifier', - fix(fixer) { - const fixes = []; - for (const specifier of specifiers) { - const qualifier = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(specifier, util_1.isTypeKeyword), util_1.NullThrowsReasons.MissingToken('type keyword', 'import specifier')); - fixes.push(fixer.removeRange([ - qualifier.range[0], - specifier.imported.range[0], - ])); - } - const importKeyword = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node, util_1.isImportKeyword), util_1.NullThrowsReasons.MissingToken('import keyword', 'import')); - fixes.push(fixer.insertTextAfter(importKeyword, ' type')); - return fixes; - }, - }); - }, - }; - }, -}); -//# sourceMappingURL=no-import-type-side-effects.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js.map deleted file mode 100644 index eabd4d26..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-import-type-side-effects.js","sourceRoot":"","sources":["../../src/rules/no-import-type-side-effects.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAMiB;AAKjB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,mHAAmH;SACtH;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,oBAAoB,EAClB,kMAAkM;SACrM;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,uCAAuC,CACrC,IAAgC;gBAEhC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAA+B,EAAE,CAAC;gBAClD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxC,IACE,SAAS,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;wBACjD,SAAS,CAAC,UAAU,KAAK,MAAM,EAC/B,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,sBAAsB;oBACjC,GAAG,CAAC,KAAK;wBACP,MAAM,KAAK,GAAuB,EAAE,CAAC;wBACrC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;4BACnC,MAAM,SAAS,GAAG,IAAA,iBAAU,EAC1B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,EAAE,oBAAa,CAAC,EAC1D,wBAAiB,CAAC,YAAY,CAC5B,cAAc,EACd,kBAAkB,CACnB,CACF,CAAC;4BACF,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CAAC;gCAChB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gCAClB,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;6BAC5B,CAAC,CACH,CAAC;wBACJ,CAAC;wBAED,MAAM,aAAa,GAAG,IAAA,iBAAU,EAC9B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,sBAAe,CAAC,EACvD,wBAAiB,CAAC,YAAY,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAC3D,CAAC;wBACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;wBAE1D,OAAO,KAAK,CAAC;oBACf,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js deleted file mode 100644 index 5574a071..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js +++ /dev/null @@ -1,184 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-inferrable-types', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean', - recommended: 'stylistic', - }, - fixable: 'code', - messages: { - noInferrableType: 'Type {{type}} trivially inferred from a {{type}} literal, remove type annotation.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ignoreParameters: { - type: 'boolean', - description: 'Whether to ignore function parameters.', - }, - ignoreProperties: { - type: 'boolean', - description: 'Whether to ignore class properties.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - ignoreParameters: false, - ignoreProperties: false, - }, - ], - create(context, [{ ignoreParameters, ignoreProperties }]) { - function isFunctionCall(init, callName) { - if (init.type === utils_1.AST_NODE_TYPES.ChainExpression) { - return isFunctionCall(init.expression, callName); - } - return (init.type === utils_1.AST_NODE_TYPES.CallExpression && - init.callee.type === utils_1.AST_NODE_TYPES.Identifier && - init.callee.name === callName); - } - function isLiteral(init, typeName) { - return (init.type === utils_1.AST_NODE_TYPES.Literal && typeof init.value === typeName); - } - function isIdentifier(init, ...names) { - return (init.type === utils_1.AST_NODE_TYPES.Identifier && names.includes(init.name)); - } - function hasUnaryPrefix(init, ...operators) { - return (init.type === utils_1.AST_NODE_TYPES.UnaryExpression && - operators.includes(init.operator)); - } - const keywordMap = { - [utils_1.AST_NODE_TYPES.TSBigIntKeyword]: 'bigint', - [utils_1.AST_NODE_TYPES.TSBooleanKeyword]: 'boolean', - [utils_1.AST_NODE_TYPES.TSNullKeyword]: 'null', - [utils_1.AST_NODE_TYPES.TSNumberKeyword]: 'number', - [utils_1.AST_NODE_TYPES.TSStringKeyword]: 'string', - [utils_1.AST_NODE_TYPES.TSSymbolKeyword]: 'symbol', - [utils_1.AST_NODE_TYPES.TSUndefinedKeyword]: 'undefined', - }; - /** - * Returns whether a node has an inferrable value or not - */ - function isInferrable(annotation, init) { - switch (annotation.type) { - case utils_1.AST_NODE_TYPES.TSBigIntKeyword: { - // note that bigint cannot have + prefixed to it - const unwrappedInit = hasUnaryPrefix(init, '-') - ? init.argument - : init; - return (isFunctionCall(unwrappedInit, 'BigInt') || - unwrappedInit.type === utils_1.AST_NODE_TYPES.Literal); - } - case utils_1.AST_NODE_TYPES.TSBooleanKeyword: - return (hasUnaryPrefix(init, '!') || - isFunctionCall(init, 'Boolean') || - isLiteral(init, 'boolean')); - case utils_1.AST_NODE_TYPES.TSNumberKeyword: { - const unwrappedInit = hasUnaryPrefix(init, '+', '-') - ? init.argument - : init; - return (isIdentifier(unwrappedInit, 'Infinity', 'NaN') || - isFunctionCall(unwrappedInit, 'Number') || - isLiteral(unwrappedInit, 'number')); - } - case utils_1.AST_NODE_TYPES.TSNullKeyword: - return init.type === utils_1.AST_NODE_TYPES.Literal && init.value == null; - case utils_1.AST_NODE_TYPES.TSStringKeyword: - return (isFunctionCall(init, 'String') || - isLiteral(init, 'string') || - init.type === utils_1.AST_NODE_TYPES.TemplateLiteral); - case utils_1.AST_NODE_TYPES.TSSymbolKeyword: - return isFunctionCall(init, 'Symbol'); - case utils_1.AST_NODE_TYPES.TSTypeReference: { - if (annotation.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - annotation.typeName.name === 'RegExp') { - const isRegExpLiteral = init.type === utils_1.AST_NODE_TYPES.Literal && - init.value instanceof RegExp; - const isRegExpNewCall = init.type === utils_1.AST_NODE_TYPES.NewExpression && - init.callee.type === utils_1.AST_NODE_TYPES.Identifier && - init.callee.name === 'RegExp'; - const isRegExpCall = isFunctionCall(init, 'RegExp'); - return isRegExpLiteral || isRegExpCall || isRegExpNewCall; - } - return false; - } - case utils_1.AST_NODE_TYPES.TSUndefinedKeyword: - return (hasUnaryPrefix(init, 'void') || isIdentifier(init, 'undefined')); - } - return false; - } - /** - * Reports an inferrable type declaration, if any - */ - function reportInferrableType(node, typeNode, initNode) { - if (!typeNode || !initNode) { - return; - } - if (!isInferrable(typeNode.typeAnnotation, initNode)) { - return; - } - const type = typeNode.typeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeReference - ? // TODO - if we add more references - 'RegExp' - : keywordMap[typeNode.typeAnnotation.type]; - context.report({ - node, - messageId: 'noInferrableType', - data: { - type, - }, - *fix(fixer) { - if ((node.type === utils_1.AST_NODE_TYPES.AssignmentPattern && - node.left.optional) || - (node.type === utils_1.AST_NODE_TYPES.PropertyDefinition && node.definite)) { - yield fixer.remove((0, util_1.nullThrows)(context.sourceCode.getTokenBefore(typeNode), util_1.NullThrowsReasons.MissingToken('token before', 'type node'))); - } - yield fixer.remove(typeNode); - }, - }); - } - function inferrableVariableVisitor(node) { - reportInferrableType(node, node.id.typeAnnotation, node.init); - } - function inferrableParameterVisitor(node) { - if (ignoreParameters) { - return; - } - node.params.forEach(param => { - if (param.type === utils_1.AST_NODE_TYPES.TSParameterProperty) { - param = param.parameter; - } - if (param.type === utils_1.AST_NODE_TYPES.AssignmentPattern) { - reportInferrableType(param, param.left.typeAnnotation, param.right); - } - }); - } - function inferrablePropertyVisitor(node) { - // We ignore `readonly` because of Microsoft/TypeScript#14416 - // Essentially a readonly property without a type - // will result in its value being the type, leading to - // compile errors if the type is stripped. - if (ignoreProperties || node.readonly || node.optional) { - return; - } - reportInferrableType(node, node.typeAnnotation, node.value); - } - return { - ArrowFunctionExpression: inferrableParameterVisitor, - FunctionDeclaration: inferrableParameterVisitor, - FunctionExpression: inferrableParameterVisitor, - PropertyDefinition: inferrablePropertyVisitor, - VariableDeclarator: inferrableVariableVisitor, - }; - }, -}); -//# sourceMappingURL=no-inferrable-types.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map deleted file mode 100644 index a0e51091..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-inferrable-types.js","sourceRoot":"","sources":["../../src/rules/no-inferrable-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js deleted file mode 100644 index 63938771..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js +++ /dev/null @@ -1,76 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-invalid-this'); -const defaultOptions = [{ capIsConstructor: true }]; -exports.default = (0, util_1.createRule)({ - name: 'no-invalid-this', - meta: { - type: 'suggestion', - defaultOptions, - docs: { - description: 'Disallow `this` keywords outside of classes or class-like objects', - extendsBaseRule: true, - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: baseRule.meta.schema, - }, - defaultOptions, - create(context) { - const rules = baseRule.create(context); - /** - * Since function definitions can be nested we use a stack storing if "this" is valid in the current context. - * - * Example: - * - * function a(this: number) { // valid "this" - * function b() { - * console.log(this); // invalid "this" - * } - * } - * - * When parsing the function declaration of "a" the stack will be: [true] - * When parsing the function declaration of "b" the stack will be: [true, false] - */ - const thisIsValidStack = []; - return { - ...rules, - AccessorProperty() { - thisIsValidStack.push(true); - }, - 'AccessorProperty:exit'() { - thisIsValidStack.pop(); - }, - FunctionDeclaration(node) { - thisIsValidStack.push(node.params.some(param => param.type === utils_1.AST_NODE_TYPES.Identifier && param.name === 'this')); - }, - 'FunctionDeclaration:exit'() { - thisIsValidStack.pop(); - }, - FunctionExpression(node) { - thisIsValidStack.push(node.params.some(param => param.type === utils_1.AST_NODE_TYPES.Identifier && param.name === 'this')); - }, - 'FunctionExpression:exit'() { - thisIsValidStack.pop(); - }, - PropertyDefinition() { - thisIsValidStack.push(true); - }, - 'PropertyDefinition:exit'() { - thisIsValidStack.pop(); - }, - ThisExpression(node) { - const thisIsValidHere = thisIsValidStack[thisIsValidStack.length - 1]; - if (thisIsValidHere) { - return; - } - // baseRule's work - rules.ThisExpression(node); - }, - }; - }, -}); -//# sourceMappingURL=no-invalid-this.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map deleted file mode 100644 index 16291f29..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-this.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-invalid-this.js","sourceRoot":"","sources":["../../src/rules/no-invalid-this.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,iBAAiB,CAAC,CAAC;AAKtD,MAAM,cAAc,GAAY,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7D,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,cAAc;QACd,IAAI,EAAE;YACJ,WAAW,EACT,mEAAmE;YACrE,eAAe,EAAE,IAAI;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc;IACd,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC;;;;;;;;;;;;;WAaG;QACH,MAAM,gBAAgB,GAAc,EAAE,CAAC;QAEvC,OAAO;YACL,GAAG,KAAK;YACR,gBAAgB;gBACd,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,uBAAuB;gBACrB,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,mBAAmB,CAAC,IAAkC;gBACpD,gBAAgB,CAAC,IAAI,CACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CACpE,CACF,CAAC;YACJ,CAAC;YACD,0BAA0B;gBACxB,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,kBAAkB,CAAC,IAAiC;gBAClD,gBAAgB,CAAC,IAAI,CACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CACpE,CACF,CAAC;YACJ,CAAC;YACD,yBAAyB;gBACvB,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,kBAAkB;gBAChB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,yBAAyB;gBACvB,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,cAAc,CAAC,IAA6B;gBAC1C,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEtE,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,kBAAkB;gBAClB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js deleted file mode 100644 index e5cb5cc3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js +++ /dev/null @@ -1,188 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-invalid-void-type', - meta: { - type: 'problem', - docs: { - description: 'Disallow `void` type outside of generic or return types', - recommended: 'strict', - }, - messages: { - invalidVoidForGeneric: '{{ generic }} may not have void as a type argument.', - invalidVoidNotReturn: 'void is only valid as a return type.', - invalidVoidNotReturnOrGeneric: 'void is only valid as a return type or generic type argument.', - invalidVoidNotReturnOrThisParam: 'void is only valid as return type or type of `this` parameter.', - invalidVoidNotReturnOrThisParamOrGeneric: 'void is only valid as a return type or generic type argument or the type of a `this` parameter.', - invalidVoidUnionConstituent: 'void is not valid as a constituent in a union type', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowAsThisParameter: { - type: 'boolean', - description: 'Whether a `this` parameter of a function may be `void`.', - }, - allowInGenericTypeArguments: { - description: 'Whether `void` can be used as a valid value for generic type parameters.', - oneOf: [ - { - type: 'boolean', - description: 'Whether `void` can be used as a valid value for all generic type parameters.', - }, - { - type: 'array', - description: 'Allowlist of types that may accept `void` as a generic type parameter.', - items: { type: 'string' }, - minItems: 1, - }, - ], - }, - }, - }, - ], - }, - defaultOptions: [ - { allowAsThisParameter: false, allowInGenericTypeArguments: true }, - ], - create(context, [{ allowAsThisParameter, allowInGenericTypeArguments }]) { - const validParents = [ - utils_1.AST_NODE_TYPES.TSTypeAnnotation, // - ]; - const invalidGrandParents = [ - utils_1.AST_NODE_TYPES.TSPropertySignature, - utils_1.AST_NODE_TYPES.CallExpression, - utils_1.AST_NODE_TYPES.PropertyDefinition, - utils_1.AST_NODE_TYPES.Identifier, - ]; - const validUnionMembers = [ - utils_1.AST_NODE_TYPES.TSVoidKeyword, - utils_1.AST_NODE_TYPES.TSNeverKeyword, - ]; - if (allowInGenericTypeArguments === true) { - validParents.push(utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation); - } - /** - * @brief check if the given void keyword is used as a valid generic type - * - * reports if the type parametrized by void is not in the allowlist, or - * allowInGenericTypeArguments is false. - * no-op if the given void keyword is not used as generic type - */ - function checkGenericTypeArgument(node) { - // only matches T<..., void, ...> - // extra check for precaution - /* istanbul ignore next */ - if (node.parent.type !== utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation || - node.parent.parent.type !== utils_1.AST_NODE_TYPES.TSTypeReference) { - return; - } - // check allowlist - if (Array.isArray(allowInGenericTypeArguments)) { - const fullyQualifiedName = context.sourceCode - .getText(node.parent.parent.typeName) - .replaceAll(' ', ''); - if (!allowInGenericTypeArguments - .map(s => s.replaceAll(' ', '')) - .includes(fullyQualifiedName)) { - context.report({ - node, - messageId: 'invalidVoidForGeneric', - data: { generic: fullyQualifiedName }, - }); - } - return; - } - if (!allowInGenericTypeArguments) { - context.report({ - node, - messageId: allowAsThisParameter - ? 'invalidVoidNotReturnOrThisParam' - : 'invalidVoidNotReturn', - }); - } - } - /** - * @brief checks if the generic type parameter defaults to void - */ - function checkDefaultVoid(node, parentNode) { - if (parentNode.default !== node) { - context.report({ - node, - messageId: getNotReturnOrGenericMessageId(node), - }); - } - } - /** - * @brief checks that a union containing void is valid - * @return true if every member of the union is specified as a valid type in - * validUnionMembers, or is a valid generic type parametrized by void - */ - function isValidUnionType(node) { - return node.types.every(member => validUnionMembers.includes(member.type) || - // allows any T<..., void, ...> here, checked by checkGenericTypeArgument - (member.type === utils_1.AST_NODE_TYPES.TSTypeReference && - member.typeArguments?.type === - utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation && - member.typeArguments.params - .map(param => param.type) - .includes(utils_1.AST_NODE_TYPES.TSVoidKeyword))); - } - return { - TSVoidKeyword(node) { - // checks T<..., void, ...> against specification of allowInGenericArguments option - if (node.parent.type === utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation && - node.parent.parent.type === utils_1.AST_NODE_TYPES.TSTypeReference) { - checkGenericTypeArgument(node); - return; - } - // allow if allowInGenericTypeArguments is specified, and report if the generic type parameter extends void - if (allowInGenericTypeArguments && - node.parent.type === utils_1.AST_NODE_TYPES.TSTypeParameter && - node.parent.default?.type === utils_1.AST_NODE_TYPES.TSVoidKeyword) { - checkDefaultVoid(node, node.parent); - return; - } - // union w/ void must contain types from validUnionMembers, or a valid generic void type - if (node.parent.type === utils_1.AST_NODE_TYPES.TSUnionType && - isValidUnionType(node.parent)) { - return; - } - // this parameter is ok to be void. - if (allowAsThisParameter && - node.parent.type === utils_1.AST_NODE_TYPES.TSTypeAnnotation && - node.parent.parent.type === utils_1.AST_NODE_TYPES.Identifier && - node.parent.parent.name === 'this') { - return; - } - // default cases - if (validParents.includes(node.parent.type) && - // https://github.com/typescript-eslint/typescript-eslint/issues/6225 - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - !invalidGrandParents.includes(node.parent.parent.type)) { - return; - } - context.report({ - node, - messageId: allowInGenericTypeArguments && allowAsThisParameter - ? 'invalidVoidNotReturnOrThisParamOrGeneric' - : allowInGenericTypeArguments - ? getNotReturnOrGenericMessageId(node) - : allowAsThisParameter - ? 'invalidVoidNotReturnOrThisParam' - : 'invalidVoidNotReturn', - }); - }, - }; - }, -}); -function getNotReturnOrGenericMessageId(node) { - return node.parent.type === utils_1.AST_NODE_TYPES.TSUnionType - ? 'invalidVoidUnionConstituent' - : 'invalidVoidNotReturnOrGeneric'; -} -//# sourceMappingURL=no-invalid-void-type.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map deleted file mode 100644 index ef0d58cd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-invalid-void-type.js","sourceRoot":"","sources":["../../src/rules/no-invalid-void-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js deleted file mode 100644 index 6587e432..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js +++ /dev/null @@ -1,188 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-loop-func'); -exports.default = (0, util_1.createRule)({ - name: 'no-loop-func', - meta: { - type: 'suggestion', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Disallow function declarations that contain unsafe references inside loop statements', - extendsBaseRule: true, - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: [], - }, - defaultOptions: [], - create(context) { - const SKIPPED_IIFE_NODES = new Set(); - /** - * Gets the containing loop node of a specified node. - * - * We don't need to check nested functions, so this ignores those. - * `Scope.through` contains references of nested functions. - * - * @param node An AST node to get. - * @returns The containing loop node of the specified node, or `null`. - */ - function getContainingLoopNode(node) { - for (let currentNode = node; currentNode.parent; currentNode = currentNode.parent) { - const parent = currentNode.parent; - switch (parent.type) { - case utils_1.AST_NODE_TYPES.WhileStatement: - case utils_1.AST_NODE_TYPES.DoWhileStatement: - return parent; - case utils_1.AST_NODE_TYPES.ForStatement: - // `init` is outside of the loop. - if (parent.init !== currentNode) { - return parent; - } - break; - case utils_1.AST_NODE_TYPES.ForInStatement: - case utils_1.AST_NODE_TYPES.ForOfStatement: - // `right` is outside of the loop. - if (parent.right !== currentNode) { - return parent; - } - break; - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionDeclaration: - // We don't need to check nested functions. - // We need to check nested functions only in case of IIFE. - if (SKIPPED_IIFE_NODES.has(parent)) { - break; - } - return null; - default: - break; - } - } - return null; - } - /** - * Gets the containing loop node of a given node. - * If the loop was nested, this returns the most outer loop. - * @param node A node to get. This is a loop node. - * @param excludedNode A node that the result node should not include. - * @returns The most outer loop node. - */ - function getTopLoopNode(node, excludedNode) { - const border = excludedNode ? excludedNode.range[1] : 0; - let retv = node; - let containingLoopNode = node; - while (containingLoopNode && containingLoopNode.range[0] >= border) { - retv = containingLoopNode; - containingLoopNode = getContainingLoopNode(containingLoopNode); - } - return retv; - } - /** - * Checks whether a given reference which refers to an upper scope's variable is - * safe or not. - * @param loopNode A containing loop node. - * @param reference A reference to check. - * @returns `true` if the reference is safe or not. - */ - function isSafe(loopNode, reference) { - const variable = reference.resolved; - const definition = variable?.defs[0]; - const declaration = definition?.parent; - const kind = declaration?.type === utils_1.AST_NODE_TYPES.VariableDeclaration - ? declaration.kind - : ''; - // type references are all safe - // this only really matters for global types that haven't been configured - if (reference.isTypeReference) { - return true; - } - // Variables which are declared by `const` is safe. - if (kind === 'const') { - return true; - } - /* - * Variables which are declared by `let` in the loop is safe. - * It's a different instance from the next loop step's. - */ - if (kind === 'let' && - declaration && - declaration.range[0] > loopNode.range[0] && - declaration.range[1] < loopNode.range[1]) { - return true; - } - /* - * WriteReferences which exist after this border are unsafe because those - * can modify the variable. - */ - const border = getTopLoopNode(loopNode, kind === 'let' ? declaration : null).range[0]; - /** - * Checks whether a given reference is safe or not. - * The reference is every reference of the upper scope's variable we are - * looking now. - * - * It's safe if the reference matches one of the following condition. - * - is readonly. - * - doesn't exist inside a local function and after the border. - * - * @param upperRef A reference to check. - * @returns `true` if the reference is safe. - */ - function isSafeReference(upperRef) { - const id = upperRef.identifier; - return (!upperRef.isWrite() || - (variable?.scope.variableScope === upperRef.from.variableScope && - id.range[0] < border)); - } - return variable?.references.every(isSafeReference) ?? false; - } - /** - * Reports functions which match the following condition: - * - has a loop node in ancestors. - * - has any references which refers to an unsafe variable. - * - * @param node The AST node to check. - */ - function checkForLoops(node) { - const loopNode = getContainingLoopNode(node); - if (!loopNode) { - return; - } - const references = context.sourceCode.getScope(node).through; - if (!(node.async || node.generator) && isIIFE(node)) { - const isFunctionExpression = node.type === utils_1.AST_NODE_TYPES.FunctionExpression; - // Check if the function is referenced elsewhere in the code - const isFunctionReferenced = isFunctionExpression && node.id - ? references.some(r => r.identifier.name === node.id?.name) - : false; - if (!isFunctionReferenced) { - SKIPPED_IIFE_NODES.add(node); - return; - } - } - const unsafeRefs = references - .filter(r => r.resolved && !isSafe(loopNode, r)) - .map(r => r.identifier.name); - if (unsafeRefs.length > 0) { - context.report({ - node, - messageId: 'unsafeRefs', - data: { varNames: `'${unsafeRefs.join("', '")}'` }, - }); - } - } - return { - ArrowFunctionExpression: checkForLoops, - FunctionDeclaration: checkForLoops, - FunctionExpression: checkForLoops, - }; - }, -}); -function isIIFE(node) { - return (node.parent.type === utils_1.AST_NODE_TYPES.CallExpression && - node.parent.callee === node); -} -//# sourceMappingURL=no-loop-func.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map deleted file mode 100644 index 7fdea988..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-loop-func.js","sourceRoot":"","sources":["../../src/rules/no-loop-func.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,cAAc,CAAC,CAAC;AAKnD,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,2DAA2D;QAC3D,IAAI,EAAE;YACJ,WAAW,EACT,sFAAsF;YACxF,eAAe,EAAE,IAAI;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAI/B,CAAC;QAEJ;;;;;;;;WAQG;QACH,SAAS,qBAAqB,CAAC,IAAmB;YAChD,KACE,IAAI,WAAW,GAAG,IAAI,EACtB,WAAW,CAAC,MAAM,EAClB,WAAW,GAAG,WAAW,CAAC,MAAM,EAChC,CAAC;gBACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAElC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,sBAAc,CAAC,cAAc,CAAC;oBACnC,KAAK,sBAAc,CAAC,gBAAgB;wBAClC,OAAO,MAAM,CAAC;oBAEhB,KAAK,sBAAc,CAAC,YAAY;wBAC9B,iCAAiC;wBACjC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BAChC,OAAO,MAAM,CAAC;wBAChB,CAAC;wBACD,MAAM;oBAER,KAAK,sBAAc,CAAC,cAAc,CAAC;oBACnC,KAAK,sBAAc,CAAC,cAAc;wBAChC,kCAAkC;wBAClC,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;4BACjC,OAAO,MAAM,CAAC;wBAChB,CAAC;wBACD,MAAM;oBAER,KAAK,sBAAc,CAAC,uBAAuB,CAAC;oBAC5C,KAAK,sBAAc,CAAC,kBAAkB,CAAC;oBACvC,KAAK,sBAAc,CAAC,mBAAmB;wBACrC,2CAA2C;wBAE3C,0DAA0D;wBAC1D,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;4BACnC,MAAM;wBACR,CAAC;wBACD,OAAO,IAAI,CAAC;oBAEd;wBACE,MAAM;gBACV,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;;;;WAMG;QACH,SAAS,cAAc,CACrB,IAAmB,EACnB,YAA8C;YAE9C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,kBAAkB,GAAyB,IAAI,CAAC;YAEpD,OAAO,kBAAkB,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;gBACnE,IAAI,GAAG,kBAAkB,CAAC;gBAC1B,kBAAkB,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;;;;WAMG;QACH,SAAS,MAAM,CACb,QAAuB,EACvB,SAAmC;YAEnC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACpC,MAAM,UAAU,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,CAAC;YACvC,MAAM,IAAI,GACR,WAAW,EAAE,IAAI,KAAK,sBAAc,CAAC,mBAAmB;gBACtD,CAAC,CAAC,WAAW,CAAC,IAAI;gBAClB,CAAC,CAAC,EAAE,CAAC;YAET,+BAA+B;YAC/B,yEAAyE;YACzE,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,mDAAmD;YACnD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED;;;eAGG;YACH,IACE,IAAI,KAAK,KAAK;gBACd,WAAW;gBACX,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACxC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED;;;eAGG;YACH,MAAM,MAAM,GAAG,cAAc,CAC3B,QAAQ,EACR,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CACpC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEX;;;;;;;;;;;eAWG;YACH,SAAS,eAAe,CAAC,QAAkC;gBACzD,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAE/B,OAAO,CACL,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACnB,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,CAAC,aAAa;wBAC5D,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CACxB,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC;QAC9D,CAAC;QAED;;;;;;WAMG;QACH,SAAS,aAAa,CACpB,IAG+B;YAE/B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAE7D,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,CAAC;gBAElD,4DAA4D;gBAC5D,MAAM,oBAAoB,GACxB,oBAAoB,IAAI,IAAI,CAAC,EAAE;oBAC7B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;oBAC3D,CAAC,CAAC,KAAK,CAAC;gBAEZ,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,UAAU;iBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;iBAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,YAAY;oBACvB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;iBACnD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,uBAAuB,EAAE,aAAa;YACtC,mBAAmB,EAAE,aAAa;YAClC,kBAAkB,EAAE,aAAa;SAClC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,MAAM,CACb,IAG+B;IAE/B,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAC5B,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js deleted file mode 100644 index c66e9675..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-loss-of-precision'); -exports.default = (0, util_1.createRule)({ - name: 'no-loss-of-precision', - meta: { - type: 'problem', - // defaultOptions, -- base rule does not use defaultOptions - deprecated: true, - docs: { - description: 'Disallow literal numbers that lose precision', - extendsBaseRule: true, - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: [], - }, - defaultOptions: [], - create(context) { - return baseRule.create(context); - }, -}); -//# sourceMappingURL=no-loss-of-precision.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map deleted file mode 100644 index 7966fc5c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-loss-of-precision.js","sourceRoot":"","sources":["../../src/rules/no-loss-of-precision.ts"],"names":[],"mappings":";;AAKA,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,sBAAsB,CAAC,CAAC;AAK3D,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,2DAA2D;QAC3D,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACJ,WAAW,EAAE,8CAA8C;YAC3D,eAAe,EAAE,IAAI;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js deleted file mode 100644 index 582ca410..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js +++ /dev/null @@ -1,248 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-magic-numbers'); -// Extend base schema with additional property to ignore TS numeric literal types -const schema = (0, util_1.deepMerge)( -// eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- https://github.com/microsoft/TypeScript/issues/17002 -Array.isArray(baseRule.meta.schema) - ? baseRule.meta.schema[0] - : baseRule.meta.schema, { - properties: { - ignoreEnums: { - type: 'boolean', - description: 'Whether enums used in TypeScript are considered okay.', - }, - ignoreNumericLiteralTypes: { - type: 'boolean', - description: 'Whether numbers used in TypeScript numeric literal types are considered okay.', - }, - ignoreReadonlyClassProperties: { - type: 'boolean', - description: 'Whether `readonly` class properties are considered okay.', - }, - ignoreTypeIndexes: { - type: 'boolean', - description: 'Whether numbers used to index types are okay.', - }, - }, -}); -exports.default = (0, util_1.createRule)({ - name: 'no-magic-numbers', - meta: { - type: 'suggestion', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Disallow magic numbers', - extendsBaseRule: true, - }, - messages: baseRule.meta.messages, - schema: [schema], - }, - defaultOptions: [ - { - detectObjects: false, - enforceConst: false, - ignore: [], - ignoreArrayIndexes: false, - ignoreEnums: false, - ignoreNumericLiteralTypes: false, - ignoreReadonlyClassProperties: false, - ignoreTypeIndexes: false, - }, - ], - create(context, [options]) { - const rules = baseRule.create(context); - const ignored = new Set((options.ignore ?? []).map(normalizeIgnoreValue)); - return { - Literal(node) { - // If it’s not a numeric literal we’re not interested - if (typeof node.value !== 'number' && typeof node.value !== 'bigint') { - return; - } - // This will be `true` if we’re configured to ignore this case (eg. it’s - // an enum and `ignoreEnums` is `true`). It will be `false` if we’re not - // configured to ignore this case. It will remain `undefined` if this is - // not one of our exception cases, and we’ll fall back to the base rule. - let isAllowed; - // Check if the node is ignored - if (ignored.has(normalizeLiteralValue(node, node.value))) { - isAllowed = true; - } - // Check if the node is a TypeScript enum declaration - else if (isParentTSEnumDeclaration(node)) { - isAllowed = options.ignoreEnums === true; - } - // Check TypeScript specific nodes for Numeric Literal - else if (isTSNumericLiteralType(node)) { - isAllowed = options.ignoreNumericLiteralTypes === true; - } - // Check if the node is a type index - else if (isAncestorTSIndexedAccessType(node)) { - isAllowed = options.ignoreTypeIndexes === true; - } - // Check if the node is a readonly class property - else if (isParentTSReadonlyPropertyDefinition(node)) { - isAllowed = options.ignoreReadonlyClassProperties === true; - } - // If we’ve hit a case where the ignore option is true we can return now - if (isAllowed === true) { - return; - } - // If the ignore option is *not* set we can report it now - if (isAllowed === false) { - let fullNumberNode = node; - let raw = node.raw; - if (node.parent.type === utils_1.AST_NODE_TYPES.UnaryExpression && - // the base rule only shows the operator for negative numbers - // https://github.com/eslint/eslint/blob/9dfc8501fb1956c90dc11e6377b4cb38a6bea65d/lib/rules/no-magic-numbers.js#L126 - node.parent.operator === '-') { - fullNumberNode = node.parent; - raw = `${node.parent.operator}${node.raw}`; - } - context.report({ - node: fullNumberNode, - messageId: 'noMagic', - data: { raw }, - }); - return; - } - // Let the base rule deal with the rest - rules.Literal(node); - }, - }; - }, -}); -/** - * Convert the value to bigint if it's a string. Otherwise, return the value as-is. - * @param value The value to normalize. - * @returns The normalized value. - */ -function normalizeIgnoreValue(value) { - if (typeof value === 'string') { - return BigInt(value.slice(0, -1)); - } - return value; -} -/** - * Converts the node to its numeric value, handling prefixed numbers (-1 / +1) - * @param node the node to normalize. - * @param value the node's value. - */ -function normalizeLiteralValue(node, value) { - if (node.parent.type === utils_1.AST_NODE_TYPES.UnaryExpression && - ['-', '+'].includes(node.parent.operator) && - node.parent.operator === '-') { - return -value; - } - return value; -} -/** - * Gets the true parent of the literal, handling prefixed numbers (-1 / +1) - */ -function getLiteralParent(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.UnaryExpression && - ['-', '+'].includes(node.parent.operator)) { - return node.parent.parent; - } - return node.parent; -} -/** - * Checks if the node grandparent is a Typescript type alias declaration - * @param node the node to be validated. - * @returns true if the node grandparent is a Typescript type alias declaration - * @private - */ -function isGrandparentTSTypeAliasDeclaration(node) { - return node.parent?.parent?.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration; -} -/** - * Checks if the node grandparent is a Typescript union type and its parent is a type alias declaration - * @param node the node to be validated. - * @returns true if the node grandparent is a Typescript union type and its parent is a type alias declaration - * @private - */ -function isGrandparentTSUnionType(node) { - if (node.parent?.parent?.type === utils_1.AST_NODE_TYPES.TSUnionType) { - return isGrandparentTSTypeAliasDeclaration(node.parent); - } - return false; -} -/** - * Checks if the node parent is a Typescript enum member - * @param node the node to be validated. - * @returns true if the node parent is a Typescript enum member - * @private - */ -function isParentTSEnumDeclaration(node) { - const parent = getLiteralParent(node); - return parent?.type === utils_1.AST_NODE_TYPES.TSEnumMember; -} -/** - * Checks if the node parent is a Typescript literal type - * @param node the node to be validated. - * @returns true if the node parent is a Typescript literal type - * @private - */ -function isParentTSLiteralType(node) { - return node.parent?.type === utils_1.AST_NODE_TYPES.TSLiteralType; -} -/** - * Checks if the node is a valid TypeScript numeric literal type. - * @param node the node to be validated. - * @returns true if the node is a TypeScript numeric literal type. - * @private - */ -function isTSNumericLiteralType(node) { - // For negative numbers, use the parent node - if (node.parent?.type === utils_1.AST_NODE_TYPES.UnaryExpression && - node.parent.operator === '-') { - node = node.parent; - } - // If the parent node is not a TSLiteralType, early return - if (!isParentTSLiteralType(node)) { - return false; - } - // If the grandparent is a TSTypeAliasDeclaration, ignore - if (isGrandparentTSTypeAliasDeclaration(node)) { - return true; - } - // If the grandparent is a TSUnionType and it's parent is a TSTypeAliasDeclaration, ignore - if (isGrandparentTSUnionType(node)) { - return true; - } - return false; -} -/** - * Checks if the node parent is a readonly class property - * @param node the node to be validated. - * @returns true if the node parent is a readonly class property - * @private - */ -function isParentTSReadonlyPropertyDefinition(node) { - const parent = getLiteralParent(node); - if (parent?.type === utils_1.AST_NODE_TYPES.PropertyDefinition && parent.readonly) { - return true; - } - return false; -} -/** - * Checks if the node is part of a type indexed access (eg. Foo[4]) - * @param node the node to be validated. - * @returns true if the node is part of an indexed access - * @private - */ -function isAncestorTSIndexedAccessType(node) { - // Handle unary expressions (eg. -4) - let ancestor = getLiteralParent(node); - // Go up another level while we’re part of a type union (eg. 1 | 2) or - // intersection (eg. 1 & 2) - while (ancestor?.parent?.type === utils_1.AST_NODE_TYPES.TSUnionType || - ancestor?.parent?.type === utils_1.AST_NODE_TYPES.TSIntersectionType) { - ancestor = ancestor.parent; - } - return ancestor?.parent?.type === utils_1.AST_NODE_TYPES.TSIndexedAccessType; -} -//# sourceMappingURL=no-magic-numbers.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map deleted file mode 100644 index d3116c81..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-magic-numbers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-magic-numbers.js","sourceRoot":"","sources":["../../src/rules/no-magic-numbers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js deleted file mode 100644 index 38c1cf14..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js +++ /dev/null @@ -1,105 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-meaningless-void-operator', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow the `void` operator except when used to discard a value', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - hasSuggestions: true, - messages: { - meaninglessVoidOperator: "void operator shouldn't be used on {{type}}; it should convey that a return value is being ignored", - removeVoid: "Remove 'void'", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - checkNever: { - type: 'boolean', - default: false, - description: 'Whether to suggest removing `void` when the argument has type `never`.', - }, - }, - }, - ], - }, - defaultOptions: [{ checkNever: false }], - create(context, [{ checkNever }]) { - const services = utils_1.ESLintUtils.getParserServices(context); - const checker = services.program.getTypeChecker(); - return { - 'UnaryExpression[operator="void"]'(node) { - const fix = (fixer) => { - return fixer.removeRange([ - context.sourceCode.getTokens(node)[0].range[0], - context.sourceCode.getTokens(node)[1].range[0], - ]); - }; - const argType = services.getTypeAtLocation(node.argument); - const unionParts = tsutils.unionTypeParts(argType); - if (unionParts.every(part => part.flags & (ts.TypeFlags.Void | ts.TypeFlags.Undefined))) { - context.report({ - node, - messageId: 'meaninglessVoidOperator', - data: { type: checker.typeToString(argType) }, - fix, - }); - } - else if (checkNever && - unionParts.every(part => part.flags & - (ts.TypeFlags.Void | ts.TypeFlags.Undefined | ts.TypeFlags.Never))) { - context.report({ - node, - messageId: 'meaninglessVoidOperator', - data: { type: checker.typeToString(argType) }, - suggest: [{ messageId: 'removeVoid', fix }], - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-meaningless-void-operator.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js.map deleted file mode 100644 index 8a5728e4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-meaningless-void-operator.js","sourceRoot":"","sources":["../../src/rules/no-meaningless-void-operator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAAuD;AACvD,sDAAwC;AACxC,+CAAiC;AAEjC,kCAAqC;AAQrC,kBAAe,IAAA,iBAAU,EAAoD;IAC3E,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,kEAAkE;YACpE,WAAW,EAAE,QAAQ;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,uBAAuB,EACrB,oGAAoG;YACtG,UAAU,EAAE,eAAe;SAC5B;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,KAAK;wBACd,WAAW,EACT,wEAAwE;qBAC3E;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAEvC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,mBAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD,OAAO;YACL,kCAAkC,CAAC,IAA8B;gBAC/D,MAAM,GAAG,GAAG,CAAC,KAAyB,EAAoB,EAAE;oBAC1D,OAAO,KAAK,CAAC,WAAW,CAAC;wBACvB,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC9C,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;gBACL,CAAC,CAAC;gBAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACnD,IACE,UAAU,CAAC,KAAK,CACd,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAClE,EACD,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,yBAAyB;wBACpC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;wBAC7C,GAAG;qBACJ,CAAC,CAAC;gBACL,CAAC;qBAAM,IACL,UAAU;oBACV,UAAU,CAAC,KAAK,CACd,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,KAAK;wBACV,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CACpE,EACD,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,yBAAyB;wBACpC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;wBAC7C,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;qBAC5C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js deleted file mode 100644 index 2249331c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-misused-new', - meta: { - type: 'problem', - docs: { - description: 'Enforce valid definition of `new` and `constructor`', - recommended: 'recommended', - }, - messages: { - errorMessageClass: 'Class cannot have method named `new`.', - errorMessageInterface: 'Interfaces cannot be constructed, only classes.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - /** - * @param node type to be inspected. - * @returns name of simple type or null - */ - function getTypeReferenceName(node) { - if (node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSTypeAnnotation: - return getTypeReferenceName(node.typeAnnotation); - case utils_1.AST_NODE_TYPES.TSTypeReference: - return getTypeReferenceName(node.typeName); - case utils_1.AST_NODE_TYPES.Identifier: - return node.name; - default: - break; - } - } - return null; - } - /** - * @param parent parent node. - * @param returnType type to be compared - */ - function isMatchingParentType(parent, returnType) { - if (parent && - (parent.type === utils_1.AST_NODE_TYPES.ClassDeclaration || - parent.type === utils_1.AST_NODE_TYPES.ClassExpression || - parent.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration) && - parent.id) { - return getTypeReferenceName(returnType) === parent.id.name; - } - return false; - } - return { - "ClassBody > MethodDefinition[key.name='new']"(node) { - if (node.value.type === utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression && - isMatchingParentType(node.parent.parent, node.value.returnType)) { - context.report({ - node, - messageId: 'errorMessageClass', - }); - } - }, - 'TSInterfaceBody > TSConstructSignatureDeclaration'(node) { - if (isMatchingParentType(node.parent.parent, node.returnType)) { - // constructor - context.report({ - node, - messageId: 'errorMessageInterface', - }); - } - }, - "TSMethodSignature[key.name='constructor']"(node) { - context.report({ - node, - messageId: 'errorMessageInterface', - }); - }, - }; - }, -}); -//# sourceMappingURL=no-misused-new.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js.map deleted file mode 100644 index e4a03696..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-new.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-misused-new.js","sourceRoot":"","sources":["../../src/rules/no-misused-new.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,qDAAqD;YAClE,WAAW,EAAE,aAAa;SAC3B;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,uCAAuC;YAC1D,qBAAqB,EAAE,iDAAiD;SACzE;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;WAGG;QACH,SAAS,oBAAoB,CAC3B,IAIa;YAEb,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,sBAAc,CAAC,gBAAgB;wBAClC,OAAO,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACnD,KAAK,sBAAc,CAAC,eAAe;wBACjC,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7C,KAAK,sBAAc,CAAC,UAAU;wBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC;oBACnB;wBACE,MAAM;gBACV,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;WAGG;QACH,SAAS,oBAAoB,CAC3B,MAKa,EACb,UAAiD;YAEjD,IACE,MAAM;gBACN,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;oBAC9C,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;oBAC9C,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB,CAAC;gBACxD,MAAM,CAAC,EAAE,EACT,CAAC;gBACD,OAAO,oBAAoB,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;YAC7D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO;YACL,8CAA8C,CAC5C,IAA+B;gBAE/B,IACE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,6BAA6B;oBAChE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAC/D,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,mBAAmB;qBAC/B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,mDAAmD,CACjD,IAA8C;gBAE9C,IACE,oBAAoB,CAClB,IAAI,CAAC,MAAM,CAAC,MAAyC,EACrD,IAAI,CAAC,UAAU,CAChB,EACD,CAAC;oBACD,cAAc;oBACd,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,uBAAuB;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,2CAA2C,CACzC,IAAgC;gBAEhC,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,uBAAuB;iBACnC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js deleted file mode 100644 index 9d096e0e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js +++ /dev/null @@ -1,753 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -function parseChecksVoidReturn(checksVoidReturn) { - switch (checksVoidReturn) { - case false: - return false; - case true: - case undefined: - return { - arguments: true, - attributes: true, - inheritedMethods: true, - properties: true, - returns: true, - variables: true, - }; - default: - return { - arguments: checksVoidReturn.arguments ?? true, - attributes: checksVoidReturn.attributes ?? true, - inheritedMethods: checksVoidReturn.inheritedMethods ?? true, - properties: checksVoidReturn.properties ?? true, - returns: checksVoidReturn.returns ?? true, - variables: checksVoidReturn.variables ?? true, - }; - } -} -exports.default = (0, util_1.createRule)({ - name: 'no-misused-promises', - meta: { - type: 'problem', - docs: { - description: 'Disallow Promises in places not designed to handle them', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - conditional: 'Expected non-Promise value in a boolean conditional.', - predicate: 'Expected a non-Promise value to be returned.', - spread: 'Expected a non-Promise value to be spreaded in an object.', - voidReturnArgument: 'Promise returned in function argument where a void return was expected.', - voidReturnAttribute: 'Promise-returning function provided to attribute where a void return was expected.', - voidReturnInheritedMethod: "Promise-returning method provided where a void return was expected by extended/implemented type '{{ heritageTypeName }}'.", - voidReturnProperty: 'Promise-returning function provided to property where a void return was expected.', - voidReturnReturnValue: 'Promise-returning function provided to return value where a void return was expected.', - voidReturnVariable: 'Promise-returning function provided to variable where a void return was expected.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - checksConditionals: { - type: 'boolean', - description: 'Whether to warn when a Promise is provided to conditional statements.', - }, - checksSpreads: { - type: 'boolean', - description: 'Whether to warn when `...` spreading a `Promise`.', - }, - checksVoidReturn: { - description: 'Whether to warn when a Promise is returned from a function typed as returning `void`.', - oneOf: [ - { - type: 'boolean', - description: 'Whether to disable checking all asynchronous functions.', - }, - { - type: 'object', - additionalProperties: false, - description: 'Which forms of functions may have checking disabled.', - properties: { - arguments: { - type: 'boolean', - description: 'Disables checking an asynchronous function passed as argument where the parameter type expects a function that returns `void`.', - }, - attributes: { - type: 'boolean', - description: 'Disables checking an asynchronous function passed as a JSX attribute expected to be a function that returns `void`.', - }, - inheritedMethods: { - type: 'boolean', - description: 'Disables checking an asynchronous method in a type that extends or implements another type expecting that method to return `void`.', - }, - properties: { - type: 'boolean', - description: 'Disables checking an asynchronous function passed as an object property expected to be a function that returns `void`.', - }, - returns: { - type: 'boolean', - description: 'Disables checking an asynchronous function returned in a function whose return type is a function that returns `void`.', - }, - variables: { - type: 'boolean', - description: 'Disables checking an asynchronous function used as a variable whose return type is a function that returns `void`.', - }, - }, - }, - ], - }, - }, - }, - ], - }, - defaultOptions: [ - { - checksConditionals: true, - checksSpreads: true, - checksVoidReturn: true, - }, - ], - create(context, [{ checksConditionals, checksSpreads, checksVoidReturn }]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const checkedNodes = new Set(); - const conditionalChecks = { - 'CallExpression > MemberExpression': checkArrayPredicates, - ConditionalExpression: checkTestConditional, - DoWhileStatement: checkTestConditional, - ForStatement: checkTestConditional, - IfStatement: checkTestConditional, - LogicalExpression: checkConditional, - 'UnaryExpression[operator="!"]'(node) { - checkConditional(node.argument, true); - }, - WhileStatement: checkTestConditional, - }; - checksVoidReturn = parseChecksVoidReturn(checksVoidReturn); - const voidReturnChecks = checksVoidReturn - ? { - ...(checksVoidReturn.arguments && { - CallExpression: checkArguments, - NewExpression: checkArguments, - }), - ...(checksVoidReturn.attributes && { - JSXAttribute: checkJSXAttribute, - }), - ...(checksVoidReturn.inheritedMethods && { - ClassDeclaration: checkClassLikeOrInterfaceNode, - ClassExpression: checkClassLikeOrInterfaceNode, - TSInterfaceDeclaration: checkClassLikeOrInterfaceNode, - }), - ...(checksVoidReturn.properties && { - Property: checkProperty, - }), - ...(checksVoidReturn.returns && { - ReturnStatement: checkReturnStatement, - }), - ...(checksVoidReturn.variables && { - AssignmentExpression: checkAssignment, - VariableDeclarator: checkVariableDeclaration, - }), - } - : {}; - const spreadChecks = { - SpreadElement: checkSpread, - }; - /** - * A syntactic check to see if an annotated type is maybe a function type. - * This is a perf optimization to help avoid requesting types where possible - */ - function isPossiblyFunctionType(node) { - switch (node.typeAnnotation.type) { - case utils_1.AST_NODE_TYPES.TSConditionalType: - case utils_1.AST_NODE_TYPES.TSConstructorType: - case utils_1.AST_NODE_TYPES.TSFunctionType: - case utils_1.AST_NODE_TYPES.TSImportType: - case utils_1.AST_NODE_TYPES.TSIndexedAccessType: - case utils_1.AST_NODE_TYPES.TSInferType: - case utils_1.AST_NODE_TYPES.TSIntersectionType: - case utils_1.AST_NODE_TYPES.TSQualifiedName: - case utils_1.AST_NODE_TYPES.TSThisType: - case utils_1.AST_NODE_TYPES.TSTypeOperator: - case utils_1.AST_NODE_TYPES.TSTypeQuery: - case utils_1.AST_NODE_TYPES.TSTypeReference: - case utils_1.AST_NODE_TYPES.TSUnionType: - return true; - case utils_1.AST_NODE_TYPES.TSTypeLiteral: - return node.typeAnnotation.members.some(member => member.type === utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration || - member.type === utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration); - case utils_1.AST_NODE_TYPES.TSAbstractKeyword: - case utils_1.AST_NODE_TYPES.TSAnyKeyword: - case utils_1.AST_NODE_TYPES.TSArrayType: - case utils_1.AST_NODE_TYPES.TSAsyncKeyword: - case utils_1.AST_NODE_TYPES.TSBigIntKeyword: - case utils_1.AST_NODE_TYPES.TSBooleanKeyword: - case utils_1.AST_NODE_TYPES.TSDeclareKeyword: - case utils_1.AST_NODE_TYPES.TSExportKeyword: - case utils_1.AST_NODE_TYPES.TSIntrinsicKeyword: - case utils_1.AST_NODE_TYPES.TSLiteralType: - case utils_1.AST_NODE_TYPES.TSMappedType: - case utils_1.AST_NODE_TYPES.TSNamedTupleMember: - case utils_1.AST_NODE_TYPES.TSNeverKeyword: - case utils_1.AST_NODE_TYPES.TSNullKeyword: - case utils_1.AST_NODE_TYPES.TSNumberKeyword: - case utils_1.AST_NODE_TYPES.TSObjectKeyword: - case utils_1.AST_NODE_TYPES.TSOptionalType: - case utils_1.AST_NODE_TYPES.TSPrivateKeyword: - case utils_1.AST_NODE_TYPES.TSProtectedKeyword: - case utils_1.AST_NODE_TYPES.TSPublicKeyword: - case utils_1.AST_NODE_TYPES.TSReadonlyKeyword: - case utils_1.AST_NODE_TYPES.TSRestType: - case utils_1.AST_NODE_TYPES.TSStaticKeyword: - case utils_1.AST_NODE_TYPES.TSStringKeyword: - case utils_1.AST_NODE_TYPES.TSSymbolKeyword: - case utils_1.AST_NODE_TYPES.TSTemplateLiteralType: - case utils_1.AST_NODE_TYPES.TSTupleType: - case utils_1.AST_NODE_TYPES.TSTypePredicate: - case utils_1.AST_NODE_TYPES.TSUndefinedKeyword: - case utils_1.AST_NODE_TYPES.TSUnknownKeyword: - case utils_1.AST_NODE_TYPES.TSVoidKeyword: - return false; - } - } - function checkTestConditional(node) { - if (node.test) { - checkConditional(node.test, true); - } - } - /** - * This function analyzes the type of a node and checks if it is a Promise in a boolean conditional. - * It uses recursion when checking nested logical operators. - * @param node The AST node to check. - * @param isTestExpr Whether the node is a descendant of a test expression. - */ - function checkConditional(node, isTestExpr = false) { - // prevent checking the same node multiple times - if (checkedNodes.has(node)) { - return; - } - checkedNodes.add(node); - if (node.type === utils_1.AST_NODE_TYPES.LogicalExpression) { - // ignore the left operand for nullish coalescing expressions not in a context of a test expression - if (node.operator !== '??' || isTestExpr) { - checkConditional(node.left, isTestExpr); - } - // we ignore the right operand when not in a context of a test expression - if (isTestExpr) { - checkConditional(node.right, isTestExpr); - } - return; - } - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - if (isAlwaysThenable(checker, tsNode)) { - context.report({ - node, - messageId: 'conditional', - }); - } - } - function checkArrayPredicates(node) { - const parent = node.parent; - if (parent.type === utils_1.AST_NODE_TYPES.CallExpression) { - const callback = parent.arguments.at(0); - if (callback && - (0, util_1.isArrayMethodCallWithPredicate)(context, services, parent)) { - const type = services.esTreeNodeToTSNodeMap.get(callback); - if (returnsThenable(checker, type)) { - context.report({ - node: callback, - messageId: 'predicate', - }); - } - } - } - } - function checkArguments(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - const voidArgs = voidFunctionArguments(checker, tsNode); - if (voidArgs.size === 0) { - return; - } - for (const [index, argument] of node.arguments.entries()) { - if (!voidArgs.has(index)) { - continue; - } - const tsNode = services.esTreeNodeToTSNodeMap.get(argument); - if (returnsThenable(checker, tsNode)) { - context.report({ - node: argument, - messageId: 'voidReturnArgument', - }); - } - } - } - function checkAssignment(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - const varType = services.getTypeAtLocation(node.left); - if (!isVoidReturningFunctionType(checker, tsNode.left, varType)) { - return; - } - if (returnsThenable(checker, tsNode.right)) { - context.report({ - node: node.right, - messageId: 'voidReturnVariable', - }); - } - } - function checkVariableDeclaration(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - if (tsNode.initializer == null || - node.init == null || - node.id.typeAnnotation == null) { - return; - } - // syntactically ignore some known-good cases to avoid touching type info - if (!isPossiblyFunctionType(node.id.typeAnnotation)) { - return; - } - const varType = services.getTypeAtLocation(node.id); - if (!isVoidReturningFunctionType(checker, tsNode.initializer, varType)) { - return; - } - if (returnsThenable(checker, tsNode.initializer)) { - context.report({ - node: node.init, - messageId: 'voidReturnVariable', - }); - } - } - function checkProperty(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - if (ts.isPropertyAssignment(tsNode)) { - const contextualType = checker.getContextualType(tsNode.initializer); - if (contextualType != null && - isVoidReturningFunctionType(checker, tsNode.initializer, contextualType) && - returnsThenable(checker, tsNode.initializer)) { - if ((0, util_1.isFunction)(node.value)) { - const functionNode = node.value; - if (functionNode.returnType) { - context.report({ - node: functionNode.returnType.typeAnnotation, - messageId: 'voidReturnProperty', - }); - } - else { - context.report({ - loc: (0, util_1.getFunctionHeadLoc)(functionNode, context.sourceCode), - messageId: 'voidReturnProperty', - }); - } - } - else { - context.report({ - node: node.value, - messageId: 'voidReturnProperty', - }); - } - } - } - else if (ts.isShorthandPropertyAssignment(tsNode)) { - const contextualType = checker.getContextualType(tsNode.name); - if (contextualType != null && - isVoidReturningFunctionType(checker, tsNode.name, contextualType) && - returnsThenable(checker, tsNode.name)) { - context.report({ - node: node.value, - messageId: 'voidReturnProperty', - }); - } - } - else if (ts.isMethodDeclaration(tsNode)) { - if (ts.isComputedPropertyName(tsNode.name)) { - return; - } - const obj = tsNode.parent; - // Below condition isn't satisfied unless something goes wrong, - // but is needed for type checking. - // 'node' does not include class method declaration so 'obj' is - // always an object literal expression, but after converting 'node' - // to TypeScript AST, its type includes MethodDeclaration which - // does include the case of class method declaration. - if (!ts.isObjectLiteralExpression(obj)) { - return; - } - if (!returnsThenable(checker, tsNode)) { - return; - } - const objType = checker.getContextualType(obj); - if (objType == null) { - return; - } - const propertySymbol = checker.getPropertyOfType(objType, tsNode.name.text); - if (propertySymbol == null) { - return; - } - const contextualType = checker.getTypeOfSymbolAtLocation(propertySymbol, tsNode.name); - if (isVoidReturningFunctionType(checker, tsNode.name, contextualType)) { - const functionNode = node.value; - if (functionNode.returnType) { - context.report({ - node: functionNode.returnType.typeAnnotation, - messageId: 'voidReturnProperty', - }); - } - else { - context.report({ - loc: (0, util_1.getFunctionHeadLoc)(functionNode, context.sourceCode), - messageId: 'voidReturnProperty', - }); - } - } - return; - } - } - function checkReturnStatement(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - if (tsNode.expression == null || node.argument == null) { - return; - } - // syntactically ignore some known-good cases to avoid touching type info - const functionNode = (() => { - let current = node.parent; - while (current && !(0, util_1.isFunction)(current)) { - current = current.parent; - } - return (0, util_1.nullThrows)(current, util_1.NullThrowsReasons.MissingParent); - })(); - if (functionNode.returnType && - !isPossiblyFunctionType(functionNode.returnType)) { - return; - } - const contextualType = checker.getContextualType(tsNode.expression); - if (contextualType != null && - isVoidReturningFunctionType(checker, tsNode.expression, contextualType) && - returnsThenable(checker, tsNode.expression)) { - context.report({ - node: node.argument, - messageId: 'voidReturnReturnValue', - }); - } - } - function checkClassLikeOrInterfaceNode(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - const heritageTypes = getHeritageTypes(checker, tsNode); - if (!heritageTypes?.length) { - return; - } - for (const nodeMember of tsNode.members) { - const memberName = nodeMember.name?.getText(); - if (memberName == null) { - // Call/construct/index signatures don't have names. TS allows call signatures to mismatch, - // and construct signatures can't be async. - // TODO - Once we're able to use `checker.isTypeAssignableTo` (v8), we can check an index - // signature here against its compatible index signatures in `heritageTypes` - continue; - } - if (!returnsThenable(checker, nodeMember)) { - continue; - } - const node = services.tsNodeToESTreeNodeMap.get(nodeMember); - if (isStaticMember(node)) { - continue; - } - for (const heritageType of heritageTypes) { - checkHeritageTypeForMemberReturningVoid(nodeMember, heritageType, memberName); - } - } - } - /** - * Checks `heritageType` for a member named `memberName` that returns void; reports the - * 'voidReturnInheritedMethod' message if found. - * @param nodeMember Node member that returns a Promise - * @param heritageType Heritage type to check against - * @param memberName Name of the member to check for - */ - function checkHeritageTypeForMemberReturningVoid(nodeMember, heritageType, memberName) { - const heritageMember = getMemberIfExists(heritageType, memberName); - if (heritageMember == null) { - return; - } - const memberType = checker.getTypeOfSymbolAtLocation(heritageMember, nodeMember); - if (!isVoidReturningFunctionType(checker, nodeMember, memberType)) { - return; - } - context.report({ - node: services.tsNodeToESTreeNodeMap.get(nodeMember), - messageId: 'voidReturnInheritedMethod', - data: { heritageTypeName: checker.typeToString(heritageType) }, - }); - } - function checkJSXAttribute(node) { - if (node.value == null || - node.value.type !== utils_1.AST_NODE_TYPES.JSXExpressionContainer) { - return; - } - const expressionContainer = services.esTreeNodeToTSNodeMap.get(node.value); - const expression = services.esTreeNodeToTSNodeMap.get(node.value.expression); - const contextualType = checker.getContextualType(expressionContainer); - if (contextualType != null && - isVoidReturningFunctionType(checker, expressionContainer, contextualType) && - returnsThenable(checker, expression)) { - context.report({ - node: node.value, - messageId: 'voidReturnAttribute', - }); - } - } - function checkSpread(node) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - if (isSometimesThenable(checker, tsNode.expression)) { - context.report({ - node: node.argument, - messageId: 'spread', - }); - } - } - return { - ...(checksConditionals ? conditionalChecks : {}), - ...(checksVoidReturn ? voidReturnChecks : {}), - ...(checksSpreads ? spreadChecks : {}), - }; - }, -}); -function isSometimesThenable(checker, node) { - const type = checker.getTypeAtLocation(node); - for (const subType of tsutils.unionTypeParts(checker.getApparentType(type))) { - if (tsutils.isThenableType(checker, node, subType)) { - return true; - } - } - return false; -} -// Variation on the thenable check which requires all forms of the type (read: -// alternates in a union) to be thenable. Otherwise, you might be trying to -// check if something is defined or undefined and get caught because one of the -// branches is thenable. -function isAlwaysThenable(checker, node) { - const type = checker.getTypeAtLocation(node); - for (const subType of tsutils.unionTypeParts(checker.getApparentType(type))) { - const thenProp = subType.getProperty('then'); - // If one of the alternates has no then property, it is not thenable in all - // cases. - if (thenProp == null) { - return false; - } - // We walk through each variation of the then property. Since we know it - // exists at this point, we just need at least one of the alternates to - // be of the right form to consider it thenable. - const thenType = checker.getTypeOfSymbolAtLocation(thenProp, node); - let hasThenableSignature = false; - for (const subType of tsutils.unionTypeParts(thenType)) { - for (const signature of subType.getCallSignatures()) { - if (signature.parameters.length !== 0 && - isFunctionParam(checker, signature.parameters[0], node)) { - hasThenableSignature = true; - break; - } - } - // We only need to find one variant of the then property that has a - // function signature for it to be thenable. - if (hasThenableSignature) { - break; - } - } - // If no flavors of the then property are thenable, we don't consider the - // overall type to be thenable - if (!hasThenableSignature) { - return false; - } - } - // If all variants are considered thenable (i.e. haven't returned false), we - // consider the overall type thenable - return true; -} -function isFunctionParam(checker, param, node) { - const type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node)); - for (const subType of tsutils.unionTypeParts(type)) { - if (subType.getCallSignatures().length !== 0) { - return true; - } - } - return false; -} -function checkThenableOrVoidArgument(checker, node, type, index, thenableReturnIndices, voidReturnIndices) { - if (isThenableReturningFunctionType(checker, node.expression, type)) { - thenableReturnIndices.add(index); - } - else if (isVoidReturningFunctionType(checker, node.expression, type) && - // If a certain argument accepts both thenable and void returns, - // a promise-returning function is valid - !thenableReturnIndices.has(index)) { - voidReturnIndices.add(index); - } - const contextualType = checker.getContextualTypeForArgumentAtIndex(node, index); - if (contextualType !== type) { - checkThenableOrVoidArgument(checker, node, contextualType, index, thenableReturnIndices, voidReturnIndices); - } -} -// Get the positions of arguments which are void functions (and not also -// thenable functions). These are the candidates for the void-return check at -// the current call site. -// If the function parameters end with a 'rest' parameter, then we consider -// the array type parameter (e.g. '...args:Array') when determining -// if trailing arguments are candidates. -function voidFunctionArguments(checker, node) { - // 'new' can be used without any arguments, as in 'let b = new Object;' - // In this case, there are no argument positions to check, so return early. - if (!node.arguments) { - return new Set(); - } - const thenableReturnIndices = new Set(); - const voidReturnIndices = new Set(); - const type = checker.getTypeAtLocation(node.expression); - // We can't use checker.getResolvedSignature because it prefers an early '() => void' over a later '() => Promise' - // See https://github.com/microsoft/TypeScript/issues/48077 - for (const subType of tsutils.unionTypeParts(type)) { - // Standard function calls and `new` have two different types of signatures - const signatures = ts.isCallExpression(node) - ? subType.getCallSignatures() - : subType.getConstructSignatures(); - for (const signature of signatures) { - for (const [index, parameter] of signature.parameters.entries()) { - const decl = parameter.valueDeclaration; - let type = checker.getTypeOfSymbolAtLocation(parameter, node.expression); - // If this is a array 'rest' parameter, check all of the argument indices - // from the current argument to the end. - if (decl && (0, util_1.isRestParameterDeclaration)(decl)) { - if (checker.isArrayType(type)) { - // Unwrap 'Array' to 'MaybeVoidFunction', - // so that we'll handle it in the same way as a non-rest - // 'param: MaybeVoidFunction' - type = checker.getTypeArguments(type)[0]; - for (let i = index; i < node.arguments.length; i++) { - checkThenableOrVoidArgument(checker, node, type, i, thenableReturnIndices, voidReturnIndices); - } - } - else if (checker.isTupleType(type)) { - // Check each type in the tuple - for example, [boolean, () => void] would - // add the index of the second tuple parameter to 'voidReturnIndices' - const typeArgs = checker.getTypeArguments(type); - for (let i = index; i < node.arguments.length && i - index < typeArgs.length; i++) { - checkThenableOrVoidArgument(checker, node, typeArgs[i - index], i, thenableReturnIndices, voidReturnIndices); - } - } - } - else { - checkThenableOrVoidArgument(checker, node, type, index, thenableReturnIndices, voidReturnIndices); - } - } - } - } - for (const index of thenableReturnIndices) { - voidReturnIndices.delete(index); - } - return voidReturnIndices; -} -/** - * @returns Whether any call signature of the type has a thenable return type. - */ -function anySignatureIsThenableType(checker, node, type) { - for (const signature of type.getCallSignatures()) { - const returnType = signature.getReturnType(); - if (tsutils.isThenableType(checker, node, returnType)) { - return true; - } - } - return false; -} -/** - * @returns Whether type is a thenable-returning function. - */ -function isThenableReturningFunctionType(checker, node, type) { - for (const subType of tsutils.unionTypeParts(type)) { - if (anySignatureIsThenableType(checker, node, subType)) { - return true; - } - } - return false; -} -/** - * @returns Whether type is a void-returning function. - */ -function isVoidReturningFunctionType(checker, node, type) { - let hadVoidReturn = false; - for (const subType of tsutils.unionTypeParts(type)) { - for (const signature of subType.getCallSignatures()) { - const returnType = signature.getReturnType(); - // If a certain positional argument accepts both thenable and void returns, - // a promise-returning function is valid - if (tsutils.isThenableType(checker, node, returnType)) { - return false; - } - hadVoidReturn ||= tsutils.isTypeFlagSet(returnType, ts.TypeFlags.Void); - } - } - return hadVoidReturn; -} -/** - * @returns Whether expression is a function that returns a thenable. - */ -function returnsThenable(checker, node) { - const type = checker.getApparentType(checker.getTypeAtLocation(node)); - return tsutils - .unionTypeParts(type) - .some(t => anySignatureIsThenableType(checker, node, t)); -} -function getHeritageTypes(checker, tsNode) { - return tsNode.heritageClauses - ?.flatMap(clause => clause.types) - .map(typeExpression => checker.getTypeAtLocation(typeExpression)); -} -/** - * @returns The member with the given name in `type`, if it exists. - */ -function getMemberIfExists(type, memberName) { - const escapedMemberName = ts.escapeLeadingUnderscores(memberName); - const symbolMemberMatch = type.getSymbol()?.members?.get(escapedMemberName); - return (symbolMemberMatch ?? tsutils.getPropertyOfType(type, escapedMemberName)); -} -function isStaticMember(node) { - return ((node.type === utils_1.AST_NODE_TYPES.MethodDefinition || - node.type === utils_1.AST_NODE_TYPES.PropertyDefinition) && - node.static); -} -//# sourceMappingURL=no-misused-promises.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map deleted file mode 100644 index 61568fc4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-misused-promises.js","sourceRoot":"","sources":["../../src/rules/no-misused-promises.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js deleted file mode 100644 index 833597a9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js +++ /dev/null @@ -1,201 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -var AllowedType; -(function (AllowedType) { - AllowedType[AllowedType["Number"] = 0] = "Number"; - AllowedType[AllowedType["String"] = 1] = "String"; - AllowedType[AllowedType["Unknown"] = 2] = "Unknown"; -})(AllowedType || (AllowedType = {})); -exports.default = (0, util_1.createRule)({ - name: 'no-mixed-enums', - meta: { - type: 'problem', - docs: { - description: 'Disallow enums from having both number and string members', - recommended: 'strict', - requiresTypeChecking: true, - }, - messages: { - mixed: `Mixing number and string enums can be confusing.`, - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const parserServices = (0, util_1.getParserServices)(context); - const typeChecker = parserServices.program.getTypeChecker(); - function collectNodeDefinitions(node) { - const { name } = node.id; - const found = { - imports: [], - previousSibling: undefined, - }; - let scope = context.sourceCode.getScope(node); - for (const definition of scope.upper?.set.get(name)?.defs ?? []) { - if (definition.node.type === utils_1.AST_NODE_TYPES.TSEnumDeclaration && - definition.node.range[0] < node.range[0] && - definition.node.body.members.length > 0) { - found.previousSibling = definition.node; - break; - } - } - while (scope) { - scope.set.get(name)?.defs.forEach(definition => { - if (definition.type === scope_manager_1.DefinitionType.ImportBinding) { - found.imports.push(definition.node); - } - }); - scope = scope.upper; - } - return found; - } - function getAllowedTypeForNode(node) { - return tsutils.isTypeFlagSet(typeChecker.getTypeAtLocation(node), ts.TypeFlags.StringLike) - ? AllowedType.String - : AllowedType.Number; - } - function getTypeFromImported(imported) { - const type = typeChecker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(imported)); - const valueDeclaration = type.getSymbol()?.valueDeclaration; - if (!valueDeclaration || - !ts.isEnumDeclaration(valueDeclaration) || - valueDeclaration.members.length === 0) { - return undefined; - } - return getAllowedTypeForNode(valueDeclaration.members[0]); - } - function getMemberType(member) { - if (!member.initializer) { - return AllowedType.Number; - } - switch (member.initializer.type) { - case utils_1.AST_NODE_TYPES.Literal: - switch (typeof member.initializer.value) { - case 'number': - return AllowedType.Number; - case 'string': - return AllowedType.String; - default: - return AllowedType.Unknown; - } - case utils_1.AST_NODE_TYPES.TemplateLiteral: - return AllowedType.String; - default: - return getAllowedTypeForNode(parserServices.esTreeNodeToTSNodeMap.get(member.initializer)); - } - } - function getDesiredTypeForDefinition(node) { - const { imports, previousSibling } = collectNodeDefinitions(node); - // Case: Merged ambiently via module augmentation - // import { MyEnum } from 'other-module'; - // declare module 'other-module' { - // enum MyEnum { A } - // } - for (const imported of imports) { - const typeFromImported = getTypeFromImported(imported); - if (typeFromImported != null) { - return typeFromImported; - } - } - // Case: Multiple enum declarations in the same file - // enum MyEnum { A } - // enum MyEnum { B } - if (previousSibling) { - return getMemberType(previousSibling.body.members[0]); - } - // Case: Namespace declaration merging - // namespace MyNamespace { - // export enum MyEnum { A } - // } - // namespace MyNamespace { - // export enum MyEnum { B } - // } - if (node.parent.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration && - node.parent.parent.type === utils_1.AST_NODE_TYPES.TSModuleBlock) { - // https://github.com/typescript-eslint/typescript-eslint/issues/8352 - // TODO: We don't need to dip into the TypeScript type checker here! - // Merged namespaces must all exist in the same file. - // We could instead compare this file's nodes to find the merges. - const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node.id); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const declarations = typeChecker - .getSymbolAtLocation(tsNode) - .getDeclarations(); - const [{ initializer }] = declarations[0] - .members; - return initializer && - tsutils.isTypeFlagSet(typeChecker.getTypeAtLocation(initializer), ts.TypeFlags.StringLike) - ? AllowedType.String - : AllowedType.Number; - } - // Finally, we default to the type of the first enum member - return getMemberType(node.body.members[0]); - } - return { - TSEnumDeclaration(node) { - if (!node.body.members.length) { - return; - } - let desiredType = getDesiredTypeForDefinition(node); - if (desiredType === ts.TypeFlags.Unknown) { - return; - } - for (const member of node.body.members) { - const currentType = getMemberType(member); - if (currentType === AllowedType.Unknown) { - return; - } - if (currentType === AllowedType.Number) { - desiredType ??= currentType; - } - if (currentType !== desiredType) { - context.report({ - node: member.initializer ?? member, - messageId: 'mixed', - }); - return; - } - } - }, - }; - }, -}); -//# sourceMappingURL=no-mixed-enums.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js.map deleted file mode 100644 index c52bf856..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-mixed-enums.js","sourceRoot":"","sources":["../../src/rules/no-mixed-enums.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js deleted file mode 100644 index 8fe10290..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-namespace', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow TypeScript namespaces', - recommended: 'recommended', - }, - messages: { - moduleSyntaxIsPreferred: 'ES2015 module syntax is preferred over namespaces.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowDeclarations: { - type: 'boolean', - description: 'Whether to allow `declare` with custom TypeScript namespaces.', - }, - allowDefinitionFiles: { - type: 'boolean', - description: 'Whether to allow `declare` with custom TypeScript namespaces inside definition files.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowDeclarations: false, - allowDefinitionFiles: true, - }, - ], - create(context, [{ allowDeclarations, allowDefinitionFiles }]) { - function isDeclaration(node) { - if (node.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration && node.declare) { - return true; - } - return node.parent != null && isDeclaration(node.parent); - } - return { - "TSModuleDeclaration[global!=true][id.type!='Literal']"(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration || - (allowDefinitionFiles && (0, util_1.isDefinitionFile)(context.filename)) || - (allowDeclarations && isDeclaration(node))) { - return; - } - context.report({ - node, - messageId: 'moduleSyntaxIsPreferred', - }); - }, - }; - }, -}); -//# sourceMappingURL=no-namespace.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map deleted file mode 100644 index 71488d31..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-namespace.js","sourceRoot":"","sources":["../../src/rules/no-namespace.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAuD;AAUvD,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,gCAAgC;YAC7C,WAAW,EAAE,aAAa;SAC3B;QACD,QAAQ,EAAE;YACR,uBAAuB,EACrB,oDAAoD;SACvD;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,iBAAiB,EAAE;wBACjB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,+DAA+D;qBAClE;oBACD,oBAAoB,EAAE;wBACpB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,uFAAuF;qBAC1F;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,iBAAiB,EAAE,KAAK;YACxB,oBAAoB,EAAE,IAAI;SAC3B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;QAC3D,SAAS,aAAa,CAAC,IAAmB;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,uDAAuD,CACrD,IAAkC;gBAElC,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB;oBACvD,CAAC,oBAAoB,IAAI,IAAA,uBAAgB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC5D,CAAC,iBAAiB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,EAC1C,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,yBAAyB;iBACrC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js deleted file mode 100644 index d09a327e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -function hasAssignmentBeforeNode(variable, node) { - return (variable.references.some(ref => ref.isWrite() && ref.identifier.range[1] < node.range[1]) || - variable.defs.some(def => isDefinitionWithAssignment(def) && def.node.range[1] < node.range[1])); -} -function isDefinitionWithAssignment(definition) { - if (definition.type !== scope_manager_1.DefinitionType.Variable) { - return false; - } - const variableDeclarator = definition.node; - return variableDeclarator.definite || variableDeclarator.init != null; -} -exports.default = (0, util_1.createRule)({ - name: 'no-non-null-asserted-nullish-coalescing', - meta: { - type: 'problem', - docs: { - description: 'Disallow non-null assertions in the left operand of a nullish coalescing operator', - recommended: 'strict', - }, - hasSuggestions: true, - messages: { - noNonNullAssertedNullishCoalescing: 'The nullish coalescing operator is designed to handle undefined and null - using a non-null assertion is not needed.', - suggestRemovingNonNull: 'Remove the non-null assertion.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - 'LogicalExpression[operator = "??"] > TSNonNullExpression.left'(node) { - if (node.expression.type === utils_1.TSESTree.AST_NODE_TYPES.Identifier) { - const scope = context.sourceCode.getScope(node); - const identifier = node.expression; - const variable = utils_1.ASTUtils.findVariable(scope, identifier.name); - if (variable && !hasAssignmentBeforeNode(variable, node)) { - return; - } - } - context.report({ - node, - messageId: 'noNonNullAssertedNullishCoalescing', - /* - Use a suggestion instead of a fixer, because this can break type checks. - The resulting type of the nullish coalesce is only influenced by the right operand if the left operand can be `null` or `undefined`. - After removing the non-null assertion the type of the left operand might contain `null` or `undefined` and then the type of the right operand - might change the resulting type of the nullish coalesce. - See the following example: - - function test(x?: string): string { - const bar = x! ?? false; // type analysis reports `bar` has type `string` - // x ?? false; // type analysis reports `bar` has type `string | false` - return bar; - } - */ - suggest: [ - { - messageId: 'suggestRemovingNonNull', - fix(fixer) { - const exclamationMark = (0, util_1.nullThrows)(context.sourceCode.getLastToken(node, utils_1.ASTUtils.isNonNullAssertionPunctuator), util_1.NullThrowsReasons.MissingToken('!', 'Non-null Assertion')); - return fixer.remove(exclamationMark); - }, - }, - ], - }); - }, - }; - }, -}); -//# sourceMappingURL=no-non-null-asserted-nullish-coalescing.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js.map deleted file mode 100644 index d48890c1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-non-null-asserted-nullish-coalescing.js","sourceRoot":"","sources":["../../src/rules/no-non-null-asserted-nullish-coalescing.ts"],"names":[],"mappings":";;AAGA,oEAAkE;AAClE,oDAA8D;AAE9D,kCAAoE;AAEpE,SAAS,uBAAuB,CAC9B,QAAiC,EACjC,IAAmB;IAEnB,OAAO,CACL,QAAQ,CAAC,UAAU,CAAC,IAAI,CACtB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAChE;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAChB,GAAG,CAAC,EAAE,CACJ,0BAA0B,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACvE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAsB;IACxD,IAAI,UAAU,CAAC,IAAI,KAAK,8BAAc,CAAC,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC;IAC3C,OAAO,kBAAkB,CAAC,QAAQ,IAAI,kBAAkB,CAAC,IAAI,IAAI,IAAI,CAAC;AACxE,CAAC;AAED,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,yCAAyC;IAC/C,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,mFAAmF;YACrF,WAAW,EAAE,QAAQ;SACtB;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,kCAAkC,EAChC,sHAAsH;YACxH,sBAAsB,EAAE,gCAAgC;SACzD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,+DAA+D,CAC7D,IAAkC;gBAElC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,gBAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;oBAChE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;oBACnC,MAAM,QAAQ,GAAG,gBAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC/D,IAAI,QAAQ,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;wBACzD,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,oCAAoC;oBAC/C;;;;;;;;;;;;sBAYE;oBACF,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,wBAAwB;4BACnC,GAAG,CAAC,KAAK;gCACP,MAAM,eAAe,GAAG,IAAA,iBAAU,EAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAC7B,IAAI,EACJ,gBAAQ,CAAC,4BAA4B,CACtC,EACD,wBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAC1D,CAAC;gCACF,OAAO,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;4BACvC,CAAC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js deleted file mode 100644 index 36975d71..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-non-null-asserted-optional-chain', - meta: { - type: 'problem', - docs: { - description: 'Disallow non-null assertions after an optional chain expression', - recommended: 'recommended', - }, - hasSuggestions: true, - messages: { - noNonNullOptionalChain: 'Optional chain expressions can return undefined by design - using a non-null assertion is unsafe and wrong.', - suggestRemovingNonNull: 'You should remove the non-null assertion.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - // non-nulling a wrapped chain will scrub all nulls introduced by the chain - // (x?.y)! - // (x?.())! - 'TSNonNullExpression > ChainExpression'(node) { - // selector guarantees this assertion - const parent = node.parent; - context.report({ - node, - messageId: 'noNonNullOptionalChain', - // use a suggestion instead of a fixer, because this can obviously break type checks - suggest: [ - { - messageId: 'suggestRemovingNonNull', - fix(fixer) { - return fixer.removeRange([ - parent.range[1] - 1, - parent.range[1], - ]); - }, - }, - ], - }); - }, - // non-nulling at the end of a chain will scrub all nulls introduced by the chain - // x?.y! - // x?.()! - 'ChainExpression > TSNonNullExpression'(node) { - context.report({ - node, - messageId: 'noNonNullOptionalChain', - // use a suggestion instead of a fixer, because this can obviously break type checks - suggest: [ - { - messageId: 'suggestRemovingNonNull', - fix(fixer) { - return fixer.removeRange([node.range[1] - 1, node.range[1]]); - }, - }, - ], - }); - }, - }; - }, -}); -//# sourceMappingURL=no-non-null-asserted-optional-chain.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js.map deleted file mode 100644 index 526f40ee..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-non-null-asserted-optional-chain.js","sourceRoot":"","sources":["../../src/rules/no-non-null-asserted-optional-chain.ts"],"names":[],"mappings":";;AAEA,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,qCAAqC;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,iEAAiE;YACnE,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,sBAAsB,EACpB,6GAA6G;YAC/G,sBAAsB,EAAE,2CAA2C;SACpE;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,2EAA2E;YAC3E,UAAU;YACV,WAAW;YACX,uCAAuC,CACrC,IAA8B;gBAE9B,qCAAqC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAsC,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,wBAAwB;oBACnC,oFAAoF;oBACpF,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,wBAAwB;4BACnC,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,WAAW,CAAC;oCACvB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oCACnB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;iCAChB,CAAC,CAAC;4BACL,CAAC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAED,iFAAiF;YACjF,QAAQ;YACR,SAAS;YACT,uCAAuC,CACrC,IAAkC;gBAElC,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,wBAAwB;oBACnC,oFAAoF;oBACpF,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,wBAAwB;4BACnC,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC/D,CAAC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js deleted file mode 100644 index 7aa4e4dd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-non-null-assertion', - meta: { - type: 'problem', - docs: { - description: 'Disallow non-null assertions using the `!` postfix operator', - recommended: 'strict', - }, - hasSuggestions: true, - messages: { - noNonNull: 'Forbidden non-null assertion.', - suggestOptionalChain: 'Consider using the optional chain operator `?.` instead. This operator includes runtime checks, so it is safer than the compile-only non-null assertion operator.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - TSNonNullExpression(node) { - const suggest = []; - // it always exists in non-null assertion - const nonNullOperator = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.expression, util_1.isNonNullAssertionPunctuator), util_1.NullThrowsReasons.MissingToken('!', 'expression')); - function replaceTokenWithOptional() { - return fixer => fixer.replaceText(nonNullOperator, '?.'); - } - function removeToken() { - return fixer => fixer.remove(nonNullOperator); - } - if (node.parent.type === utils_1.AST_NODE_TYPES.MemberExpression && - node.parent.object === node) { - if (!node.parent.optional) { - if (node.parent.computed) { - // it is x![y]?.z - suggest.push({ - messageId: 'suggestOptionalChain', - fix: replaceTokenWithOptional(), - }); - } - else { - // it is x!.y?.z - suggest.push({ - messageId: 'suggestOptionalChain', - fix(fixer) { - // x!.y?.z - // ^ punctuator - const punctuator = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(nonNullOperator), util_1.NullThrowsReasons.MissingToken('.', '!')); - return [ - fixer.remove(nonNullOperator), - fixer.insertTextBefore(punctuator, '?'), - ]; - }, - }); - } - } - else { - // it is x!?.[y].z or x!?.y.z - suggest.push({ - messageId: 'suggestOptionalChain', - fix: removeToken(), - }); - } - } - else if (node.parent.type === utils_1.AST_NODE_TYPES.CallExpression && - node.parent.callee === node) { - if (!node.parent.optional) { - // it is x.y?.z!() - suggest.push({ - messageId: 'suggestOptionalChain', - fix: replaceTokenWithOptional(), - }); - } - else { - // it is x.y.z!?.() - suggest.push({ - messageId: 'suggestOptionalChain', - fix: removeToken(), - }); - } - } - context.report({ - node, - messageId: 'noNonNull', - suggest, - }); - }, - }; - }, -}); -//# sourceMappingURL=no-non-null-assertion.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map deleted file mode 100644 index 0c9ef722..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-non-null-assertion.js","sourceRoot":"","sources":["../../src/rules/no-non-null-assertion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js deleted file mode 100644 index 9ef40249..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js +++ /dev/null @@ -1,201 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-redeclare', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow variable redeclaration', - extendsBaseRule: true, - }, - messages: { - redeclared: "'{{id}}' is already defined.", - redeclaredAsBuiltin: "'{{id}}' is already defined as a built-in global variable.", - redeclaredBySyntax: "'{{id}}' is already defined by a variable declaration.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - builtinGlobals: { - type: 'boolean', - description: 'Whether to report shadowing of built-in global variables.', - }, - ignoreDeclarationMerge: { - type: 'boolean', - description: 'Whether to ignore declaration merges between certain TypeScript declaration types.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - builtinGlobals: true, - ignoreDeclarationMerge: true, - }, - ], - create(context, [options]) { - const CLASS_DECLARATION_MERGE_NODES = new Set([ - utils_1.AST_NODE_TYPES.ClassDeclaration, - utils_1.AST_NODE_TYPES.TSInterfaceDeclaration, - utils_1.AST_NODE_TYPES.TSModuleDeclaration, - ]); - const FUNCTION_DECLARATION_MERGE_NODES = new Set([ - utils_1.AST_NODE_TYPES.FunctionDeclaration, - utils_1.AST_NODE_TYPES.TSModuleDeclaration, - ]); - const ENUM_DECLARATION_MERGE_NODES = new Set([ - utils_1.AST_NODE_TYPES.TSEnumDeclaration, - utils_1.AST_NODE_TYPES.TSModuleDeclaration, - ]); - function* iterateDeclarations(variable) { - if (options.builtinGlobals && - 'eslintImplicitGlobalSetting' in variable && - (variable.eslintImplicitGlobalSetting === 'readonly' || - variable.eslintImplicitGlobalSetting === 'writable')) { - yield { type: 'builtin' }; - } - if ('eslintExplicitGlobalComments' in variable && - variable.eslintExplicitGlobalComments) { - for (const comment of variable.eslintExplicitGlobalComments) { - yield { - loc: (0, util_1.getNameLocationInGlobalDirectiveComment)(context.sourceCode, comment, variable.name), - node: comment, - type: 'comment', - }; - } - } - const identifiers = variable.identifiers - .map(id => ({ - identifier: id, - parent: id.parent, - })) - // ignore function declarations because TS will treat them as an overload - .filter(({ parent }) => parent.type !== utils_1.AST_NODE_TYPES.TSDeclareFunction); - if (options.ignoreDeclarationMerge && identifiers.length > 1) { - if ( - // interfaces merging - identifiers.every(({ parent }) => parent.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration)) { - return; - } - if ( - // namespace/module merging - identifiers.every(({ parent }) => parent.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration)) { - return; - } - if ( - // class + interface/namespace merging - identifiers.every(({ parent }) => CLASS_DECLARATION_MERGE_NODES.has(parent.type))) { - const classDecls = identifiers.filter(({ parent }) => parent.type === utils_1.AST_NODE_TYPES.ClassDeclaration); - if (classDecls.length === 1) { - // safe declaration merging - return; - } - // there's more than one class declaration, which needs to be reported - for (const { identifier } of classDecls) { - yield { loc: identifier.loc, node: identifier, type: 'syntax' }; - } - return; - } - if ( - // class + interface/namespace merging - identifiers.every(({ parent }) => FUNCTION_DECLARATION_MERGE_NODES.has(parent.type))) { - const functionDecls = identifiers.filter(({ parent }) => parent.type === utils_1.AST_NODE_TYPES.FunctionDeclaration); - if (functionDecls.length === 1) { - // safe declaration merging - return; - } - // there's more than one function declaration, which needs to be reported - for (const { identifier } of functionDecls) { - yield { loc: identifier.loc, node: identifier, type: 'syntax' }; - } - return; - } - if ( - // enum + namespace merging - identifiers.every(({ parent }) => ENUM_DECLARATION_MERGE_NODES.has(parent.type))) { - const enumDecls = identifiers.filter(({ parent }) => parent.type === utils_1.AST_NODE_TYPES.TSEnumDeclaration); - if (enumDecls.length === 1) { - // safe declaration merging - return; - } - // there's more than one enum declaration, which needs to be reported - for (const { identifier } of enumDecls) { - yield { loc: identifier.loc, node: identifier, type: 'syntax' }; - } - return; - } - } - for (const { identifier } of identifiers) { - yield { loc: identifier.loc, node: identifier, type: 'syntax' }; - } - } - function findVariablesInScope(scope) { - for (const variable of scope.variables) { - const [declaration, ...extraDeclarations] = iterateDeclarations(variable); - if (extraDeclarations.length === 0) { - continue; - } - /* - * If the type of a declaration is different from the type of - * the first declaration, it shows the location of the first - * declaration. - */ - const detailMessageId = declaration.type === 'builtin' - ? 'redeclaredAsBuiltin' - : 'redeclaredBySyntax'; - const data = { id: variable.name }; - // Report extra declarations. - for (const { loc, node, type } of extraDeclarations) { - const messageId = type === declaration.type ? 'redeclared' : detailMessageId; - if (node) { - context.report({ loc, node, messageId, data }); - } - else if (loc) { - context.report({ loc, messageId, data }); - } - } - } - } - /** - * Find variables in the current scope. - */ - function checkForBlock(node) { - const scope = context.sourceCode.getScope(node); - /* - * In ES5, some node type such as `BlockStatement` doesn't have that scope. - * `scope.block` is a different node in such a case. - */ - if (scope.block === node) { - findVariablesInScope(scope); - } - } - return { - ArrowFunctionExpression: checkForBlock, - BlockStatement: checkForBlock, - ForInStatement: checkForBlock, - ForOfStatement: checkForBlock, - ForStatement: checkForBlock, - FunctionDeclaration: checkForBlock, - FunctionExpression: checkForBlock, - Program(node) { - const scope = context.sourceCode.getScope(node); - findVariablesInScope(scope); - // Node.js or ES modules has a special scope. - if (scope.type === scope_manager_1.ScopeType.global && - scope.childScopes[0] && - // The special scope's block is the Program node. - scope.block === scope.childScopes[0].block) { - findVariablesInScope(scope.childScopes[0]); - } - }, - SwitchStatement: checkForBlock, - }; - }, -}); -//# sourceMappingURL=no-redeclare.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map deleted file mode 100644 index b38344f8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redeclare.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-redeclare.js","sourceRoot":"","sources":["../../src/rules/no-redeclare.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js deleted file mode 100644 index c43290bf..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js +++ /dev/null @@ -1,432 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const literalToPrimitiveTypeFlags = { - [ts.TypeFlags.BigIntLiteral]: ts.TypeFlags.BigInt, - [ts.TypeFlags.BooleanLiteral]: ts.TypeFlags.Boolean, - [ts.TypeFlags.NumberLiteral]: ts.TypeFlags.Number, - [ts.TypeFlags.StringLiteral]: ts.TypeFlags.String, - [ts.TypeFlags.TemplateLiteral]: ts.TypeFlags.String, -}; -const literalTypeFlags = [ - ts.TypeFlags.BigIntLiteral, - ts.TypeFlags.BooleanLiteral, - ts.TypeFlags.NumberLiteral, - ts.TypeFlags.StringLiteral, - ts.TypeFlags.TemplateLiteral, -]; -const primitiveTypeFlags = [ - ts.TypeFlags.BigInt, - ts.TypeFlags.Boolean, - ts.TypeFlags.Number, - ts.TypeFlags.String, -]; -const primitiveTypeFlagNames = { - [ts.TypeFlags.BigInt]: 'bigint', - [ts.TypeFlags.Boolean]: 'boolean', - [ts.TypeFlags.Number]: 'number', - [ts.TypeFlags.String]: 'string', -}; -const primitiveTypeFlagTypes = { - bigint: ts.TypeFlags.BigIntLiteral, - boolean: ts.TypeFlags.BooleanLiteral, - number: ts.TypeFlags.NumberLiteral, - string: ts.TypeFlags.StringLiteral, -}; -const keywordNodeTypesToTsTypes = new Map([ - [utils_1.TSESTree.AST_NODE_TYPES.TSAnyKeyword, ts.TypeFlags.Any], - [utils_1.TSESTree.AST_NODE_TYPES.TSBigIntKeyword, ts.TypeFlags.BigInt], - [utils_1.TSESTree.AST_NODE_TYPES.TSBooleanKeyword, ts.TypeFlags.Boolean], - [utils_1.TSESTree.AST_NODE_TYPES.TSNeverKeyword, ts.TypeFlags.Never], - [utils_1.TSESTree.AST_NODE_TYPES.TSNumberKeyword, ts.TypeFlags.Number], - [utils_1.TSESTree.AST_NODE_TYPES.TSStringKeyword, ts.TypeFlags.String], - [utils_1.TSESTree.AST_NODE_TYPES.TSUnknownKeyword, ts.TypeFlags.Unknown], -]); -function addToMapGroup(map, key, value) { - const existing = map.get(key); - if (existing) { - existing.push(value); - } - else { - map.set(key, [value]); - } -} -function describeLiteralType(type) { - if (type.isStringLiteral()) { - return JSON.stringify(type.value); - } - if ((0, util_1.isTypeBigIntLiteralType)(type)) { - return `${type.value.negative ? '-' : ''}${type.value.base10Value}n`; - } - if (type.isLiteral()) { - // eslint-disable-next-line @typescript-eslint/no-base-to-string - return type.value.toString(); - } - if (tsutils.isIntrinsicErrorType(type) && type.aliasSymbol) { - return type.aliasSymbol.escapedName.toString(); - } - if ((0, util_1.isTypeAnyType)(type)) { - return 'any'; - } - if ((0, util_1.isTypeNeverType)(type)) { - return 'never'; - } - if ((0, util_1.isTypeUnknownType)(type)) { - return 'unknown'; - } - if ((0, util_1.isTypeTemplateLiteralType)(type)) { - return 'template literal type'; - } - if ((0, util_1.isTypeBigIntLiteralType)(type)) { - return `${type.value.negative ? '-' : ''}${type.value.base10Value}n`; - } - if (tsutils.isTrueLiteralType(type)) { - return 'true'; - } - if (tsutils.isFalseLiteralType(type)) { - return 'false'; - } - return 'literal type'; -} -function describeLiteralTypeNode(typeNode) { - switch (typeNode.type) { - case utils_1.AST_NODE_TYPES.TSAnyKeyword: - return 'any'; - case utils_1.AST_NODE_TYPES.TSBooleanKeyword: - return 'boolean'; - case utils_1.AST_NODE_TYPES.TSNeverKeyword: - return 'never'; - case utils_1.AST_NODE_TYPES.TSNumberKeyword: - return 'number'; - case utils_1.AST_NODE_TYPES.TSStringKeyword: - return 'string'; - case utils_1.AST_NODE_TYPES.TSUnknownKeyword: - return 'unknown'; - case utils_1.AST_NODE_TYPES.TSLiteralType: - switch (typeNode.literal.type) { - case utils_1.TSESTree.AST_NODE_TYPES.Literal: - switch (typeof typeNode.literal.value) { - case 'bigint': - return `${typeNode.literal.value < 0 ? '-' : ''}${typeNode.literal.value}n`; - case 'string': - return JSON.stringify(typeNode.literal.value); - default: - return `${typeNode.literal.value}`; - } - case utils_1.TSESTree.AST_NODE_TYPES.TemplateLiteral: - return 'template literal type'; - } - } - return 'literal type'; -} -function isNodeInsideReturnType(node) { - return !!(node.parent.type === utils_1.AST_NODE_TYPES.TSTypeAnnotation && - (0, util_1.isFunctionOrFunctionType)(node.parent.parent)); -} -/** - * @remarks TypeScript stores boolean types as the union false | true, always. - */ -function unionTypePartsUnlessBoolean(type) { - return type.isUnion() && - type.types.length === 2 && - tsutils.isFalseLiteralType(type.types[0]) && - tsutils.isTrueLiteralType(type.types[1]) - ? [type] - : tsutils.unionTypeParts(type); -} -exports.default = (0, util_1.createRule)({ - name: 'no-redundant-type-constituents', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow members of unions and intersections that do nothing or override type information', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - errorTypeOverrides: `'{{typeName}}' is an 'error' type that acts as 'any' and overrides all other types in this {{container}} type.`, - literalOverridden: `{{literal}} is overridden by {{primitive}} in this union type.`, - overridden: `'{{typeName}}' is overridden by other types in this {{container}} type.`, - overrides: `'{{typeName}}' overrides all other types in this {{container}} type.`, - primitiveOverridden: `{{primitive}} is overridden by the {{literal}} in this intersection type.`, - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const typesCache = new Map(); - function getTypeNodeTypePartFlags(typeNode) { - const keywordTypeFlags = keywordNodeTypesToTsTypes.get(typeNode.type); - if (keywordTypeFlags) { - return [ - { - typeFlags: keywordTypeFlags, - typeName: describeLiteralTypeNode(typeNode), - }, - ]; - } - if (typeNode.type === utils_1.AST_NODE_TYPES.TSLiteralType && - typeNode.literal.type === utils_1.AST_NODE_TYPES.Literal) { - return [ - { - typeFlags: primitiveTypeFlagTypes[typeof typeNode.literal - .value], - typeName: describeLiteralTypeNode(typeNode), - }, - ]; - } - if (typeNode.type === utils_1.AST_NODE_TYPES.TSUnionType) { - return typeNode.types.flatMap(getTypeNodeTypePartFlags); - } - const nodeType = services.getTypeAtLocation(typeNode); - const typeParts = unionTypePartsUnlessBoolean(nodeType); - return typeParts.map(typePart => ({ - typeFlags: typePart.flags, - typeName: describeLiteralType(typePart), - })); - } - function getTypeNodeTypePartFlagsCached(typeNode) { - const existing = typesCache.get(typeNode); - if (existing) { - return existing; - } - const created = getTypeNodeTypePartFlags(typeNode); - typesCache.set(typeNode, created); - return created; - } - return { - 'TSIntersectionType:exit'(node) { - const seenLiteralTypes = new Map(); - const seenPrimitiveTypes = new Map(); - const seenUnionTypes = new Map(); - function checkIntersectionBottomAndTopTypes({ typeFlags, typeName }, typeNode) { - for (const [messageId, checkFlag] of [ - ['overrides', ts.TypeFlags.Any], - ['overrides', ts.TypeFlags.Never], - ['overridden', ts.TypeFlags.Unknown], - ]) { - if (typeFlags === checkFlag) { - context.report({ - node: typeNode, - messageId: typeFlags === ts.TypeFlags.Any && typeName !== 'any' - ? 'errorTypeOverrides' - : messageId, - data: { - container: 'intersection', - typeName, - }, - }); - return true; - } - } - return false; - } - for (const typeNode of node.types) { - const typePartFlags = getTypeNodeTypePartFlagsCached(typeNode); - for (const typePart of typePartFlags) { - if (checkIntersectionBottomAndTopTypes(typePart, typeNode)) { - continue; - } - for (const literalTypeFlag of literalTypeFlags) { - if (typePart.typeFlags === literalTypeFlag) { - addToMapGroup(seenLiteralTypes, literalToPrimitiveTypeFlags[literalTypeFlag], typePart.typeName); - break; - } - } - for (const primitiveTypeFlag of primitiveTypeFlags) { - if (typePart.typeFlags === primitiveTypeFlag) { - addToMapGroup(seenPrimitiveTypes, primitiveTypeFlag, typeNode); - } - } - } - // if any typeNode is TSTypeReference and typePartFlags have more than 1 element, than the referenced type is definitely a union. - if (typePartFlags.length >= 2) { - seenUnionTypes.set(typeNode, typePartFlags); - } - } - /** - * @example - * ```ts - * type F = "a"|2|"b"; - * type I = F & string; - * ``` - * This function checks if all the union members of `F` are assignable to the other member of `I`. If every member is assignable, then its reported else not. - */ - const checkIfUnionsAreAssignable = () => { - for (const [typeRef, typeValues] of seenUnionTypes) { - let primitive = undefined; - for (const { typeFlags } of typeValues) { - if (seenPrimitiveTypes.has(literalToPrimitiveTypeFlags[typeFlags])) { - primitive = - literalToPrimitiveTypeFlags[typeFlags]; - } - else { - primitive = undefined; - break; - } - } - if (Number.isInteger(primitive)) { - context.report({ - node: typeRef, - messageId: 'primitiveOverridden', - data: { - literal: typeValues.map(name => name.typeName).join(' | '), - primitive: primitiveTypeFlagNames[primitive], - }, - }); - } - } - }; - if (seenUnionTypes.size > 0) { - checkIfUnionsAreAssignable(); - return; - } - // For each primitive type of all the seen primitive types, - // if there was a literal type seen that overrides it, - // report each of the primitive type's type nodes - for (const [primitiveTypeFlag, typeNodes] of seenPrimitiveTypes) { - const matchedLiteralTypes = seenLiteralTypes.get(primitiveTypeFlag); - if (matchedLiteralTypes) { - for (const typeNode of typeNodes) { - context.report({ - node: typeNode, - messageId: 'primitiveOverridden', - data: { - literal: matchedLiteralTypes.join(' | '), - primitive: primitiveTypeFlagNames[primitiveTypeFlag], - }, - }); - } - } - } - }, - 'TSUnionType:exit'(node) { - const seenLiteralTypes = new Map(); - const seenPrimitiveTypes = new Set(); - function checkUnionBottomAndTopTypes({ typeFlags, typeName }, typeNode) { - for (const checkFlag of [ - ts.TypeFlags.Any, - ts.TypeFlags.Unknown, - ]) { - if (typeFlags === checkFlag) { - context.report({ - node: typeNode, - messageId: typeFlags === ts.TypeFlags.Any && typeName !== 'any' - ? 'errorTypeOverrides' - : 'overrides', - data: { - container: 'union', - typeName, - }, - }); - return true; - } - } - if (typeFlags === ts.TypeFlags.Never && - !isNodeInsideReturnType(node)) { - context.report({ - node: typeNode, - messageId: 'overridden', - data: { - container: 'union', - typeName: 'never', - }, - }); - return true; - } - return false; - } - for (const typeNode of node.types) { - const typePartFlags = getTypeNodeTypePartFlagsCached(typeNode); - for (const typePart of typePartFlags) { - if (checkUnionBottomAndTopTypes(typePart, typeNode)) { - continue; - } - for (const literalTypeFlag of literalTypeFlags) { - if (typePart.typeFlags === literalTypeFlag) { - addToMapGroup(seenLiteralTypes, literalToPrimitiveTypeFlags[literalTypeFlag], { - literalValue: typePart.typeName, - typeNode, - }); - break; - } - } - for (const primitiveTypeFlag of primitiveTypeFlags) { - if ((typePart.typeFlags & primitiveTypeFlag) !== 0) { - seenPrimitiveTypes.add(primitiveTypeFlag); - } - } - } - } - const overriddenTypeNodes = new Map(); - // For each primitive type of all the seen literal types, - // if there was a primitive type seen that overrides it, - // upsert the literal text and primitive type under the backing type node - for (const [primitiveTypeFlag, typeNodesWithText] of seenLiteralTypes) { - if (seenPrimitiveTypes.has(primitiveTypeFlag)) { - for (const { literalValue, typeNode } of typeNodesWithText) { - addToMapGroup(overriddenTypeNodes, typeNode, { - literalValue, - primitiveTypeFlag, - }); - } - } - } - // For each type node that had at least one overridden literal, - // group those literals by their primitive type, - // then report each primitive type with all its literals - for (const [typeNode, typeFlagsWithText] of overriddenTypeNodes) { - const grouped = (0, util_1.arrayGroupByToMap)(typeFlagsWithText, pair => pair.primitiveTypeFlag); - for (const [primitiveTypeFlag, pairs] of grouped) { - context.report({ - node: typeNode, - messageId: 'literalOverridden', - data: { - literal: pairs.map(pair => pair.literalValue).join(' | '), - primitive: primitiveTypeFlagNames[primitiveTypeFlag], - }, - }); - } - } - }, - }; - }, -}); -//# sourceMappingURL=no-redundant-type-constituents.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js.map deleted file mode 100644 index 9aa63e29..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-redundant-type-constituents.js","sourceRoot":"","sources":["../../src/rules/no-redundant-type-constituents.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js deleted file mode 100644 index 181ab0a1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js +++ /dev/null @@ -1,116 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util = __importStar(require("../util")); -exports.default = util.createRule({ - name: 'no-require-imports', - meta: { - type: 'problem', - docs: { - description: 'Disallow invocation of `require()`', - recommended: 'recommended', - }, - messages: { - noRequireImports: 'A `require()` style import is forbidden.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allow: { - type: 'array', - description: 'Patterns of import paths to allow requiring from.', - items: { type: 'string' }, - }, - allowAsImport: { - type: 'boolean', - description: 'Allows `require` statements in import declarations.', - }, - }, - }, - ], - }, - defaultOptions: [{ allow: [], allowAsImport: false }], - create(context, options) { - const allowAsImport = options[0].allowAsImport; - const allowPatterns = options[0].allow?.map(pattern => new RegExp(pattern, 'u')); - function isImportPathAllowed(importPath) { - return allowPatterns?.some(pattern => importPath.match(pattern)); - } - function isStringOrTemplateLiteral(node) { - return ((node.type === utils_1.AST_NODE_TYPES.Literal && - typeof node.value === 'string') || - node.type === utils_1.AST_NODE_TYPES.TemplateLiteral); - } - return { - 'CallExpression[callee.name="require"]'(node) { - if (node.arguments[0] && isStringOrTemplateLiteral(node.arguments[0])) { - const argValue = util.getStaticStringValue(node.arguments[0]); - if (typeof argValue === 'string' && isImportPathAllowed(argValue)) { - return; - } - } - const variable = utils_1.ASTUtils.findVariable(context.sourceCode.getScope(node), 'require'); - // ignore non-global require usage as it's something user-land custom instead - // of the commonjs standard - if (!variable?.identifiers.length) { - context.report({ - node, - messageId: 'noRequireImports', - }); - } - }, - TSExternalModuleReference(node) { - if (isStringOrTemplateLiteral(node.expression)) { - const argValue = util.getStaticStringValue(node.expression); - if (typeof argValue === 'string' && isImportPathAllowed(argValue)) { - return; - } - } - if (allowAsImport && - node.parent.type === utils_1.AST_NODE_TYPES.TSImportEqualsDeclaration) { - return; - } - context.report({ - node, - messageId: 'noRequireImports', - }); - }, - }; - }, -}); -//# sourceMappingURL=no-require-imports.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js.map deleted file mode 100644 index 0ab3ffd2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-require-imports.js","sourceRoot":"","sources":["../../src/rules/no-require-imports.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js deleted file mode 100644 index ed76b457..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js +++ /dev/null @@ -1,237 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const ignore_1 = __importDefault(require("ignore")); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-restricted-imports'); -// In some versions of eslint, the base rule has a completely incompatible schema -// This helper function is to safely try to get parts of the schema. If it's not -// possible, we'll fallback to less strict checks. -const tryAccess = (getter, fallback) => { - try { - return getter(); - } - catch { - return fallback; - } -}; -const baseSchema = baseRule.meta.schema; -const allowTypeImportsOptionSchema = { - allowTypeImports: { - type: 'boolean', - description: 'Whether to allow type-only imports for a path.', - }, -}; -const arrayOfStringsOrObjects = { - type: 'array', - items: { - anyOf: [ - { type: 'string' }, - { - type: 'object', - additionalProperties: false, - properties: { - ...tryAccess(() => baseSchema.anyOf[1].items[0].properties.paths.items.anyOf[1] - .properties, undefined), - ...allowTypeImportsOptionSchema, - }, - required: tryAccess(() => baseSchema.anyOf[1].items[0].properties.paths.items.anyOf[1] - .required, undefined), - }, - ], - }, - uniqueItems: true, -}; -const arrayOfStringsOrObjectPatterns = { - anyOf: [ - { - type: 'array', - items: { - type: 'string', - }, - uniqueItems: true, - }, - { - type: 'array', - items: { - type: 'object', - additionalProperties: false, - properties: { - ...tryAccess(() => baseSchema.anyOf[1].items[0].properties.patterns.anyOf[1].items - .properties, undefined), - ...allowTypeImportsOptionSchema, - }, - required: tryAccess(() => baseSchema.anyOf[1].items[0].properties.patterns.anyOf[1].items - .required, []), - }, - uniqueItems: true, - }, - ], -}; -const schema = { - anyOf: [ - arrayOfStringsOrObjects, - { - type: 'array', - additionalItems: false, - items: [ - { - type: 'object', - additionalProperties: false, - properties: { - paths: arrayOfStringsOrObjects, - patterns: arrayOfStringsOrObjectPatterns, - }, - }, - ], - }, - ], -}; -function isObjectOfPaths(obj) { - return !!obj && Object.hasOwn(obj, 'paths'); -} -function isObjectOfPatterns(obj) { - return !!obj && Object.hasOwn(obj, 'patterns'); -} -function isOptionsArrayOfStringOrObject(options) { - if (isObjectOfPaths(options[0])) { - return false; - } - if (isObjectOfPatterns(options[0])) { - return false; - } - return true; -} -function getRestrictedPaths(options) { - if (isOptionsArrayOfStringOrObject(options)) { - return options; - } - if (isObjectOfPaths(options[0])) { - return options[0].paths; - } - return []; -} -function getRestrictedPatterns(options) { - if (isObjectOfPatterns(options[0])) { - return options[0].patterns; - } - return []; -} -function shouldCreateRule(baseRules, options) { - if (Object.keys(baseRules).length === 0 || options.length === 0) { - return false; - } - if (!isOptionsArrayOfStringOrObject(options)) { - return !!(options[0].paths?.length || options[0].patterns?.length); - } - return true; -} -exports.default = (0, util_1.createRule)({ - name: 'no-restricted-imports', - meta: { - type: 'suggestion', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Disallow specified modules when loaded by `import`', - extendsBaseRule: true, - }, - fixable: baseRule.meta.fixable, - messages: baseRule.meta.messages, - schema, - }, - defaultOptions: [], - create(context) { - const rules = baseRule.create(context); - const { options } = context; - if (!shouldCreateRule(rules, options)) { - return {}; - } - const restrictedPaths = getRestrictedPaths(options); - const allowedTypeImportPathNameSet = new Set(); - for (const restrictedPath of restrictedPaths) { - if (typeof restrictedPath === 'object' && - restrictedPath.allowTypeImports) { - allowedTypeImportPathNameSet.add(restrictedPath.name); - } - } - function isAllowedTypeImportPath(importSource) { - return allowedTypeImportPathNameSet.has(importSource); - } - const restrictedPatterns = getRestrictedPatterns(options); - const allowedImportTypeMatchers = []; - for (const restrictedPattern of restrictedPatterns) { - if (typeof restrictedPattern === 'object' && - restrictedPattern.allowTypeImports) { - // Following how ignore is configured in the base rule - allowedImportTypeMatchers.push((0, ignore_1.default)({ - allowRelativePaths: true, - ignoreCase: !restrictedPattern.caseSensitive, - }).add(restrictedPattern.group)); - } - } - function isAllowedTypeImportPattern(importSource) { - return ( - // As long as there's one matching pattern that allows type import - allowedImportTypeMatchers.some(matcher => matcher.ignores(importSource))); - } - function checkImportNode(node) { - if (node.importKind === 'type' || - (node.specifiers.length > 0 && - node.specifiers.every(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier && - specifier.importKind === 'type'))) { - const importSource = node.source.value.trim(); - if (!isAllowedTypeImportPath(importSource) && - !isAllowedTypeImportPattern(importSource)) { - return rules.ImportDeclaration(node); - } - } - else { - return rules.ImportDeclaration(node); - } - } - return { - ExportAllDeclaration: rules.ExportAllDeclaration, - 'ExportNamedDeclaration[source]'(node) { - if (node.exportKind === 'type' || - (node.specifiers.length > 0 && - node.specifiers.every(specifier => specifier.exportKind === 'type'))) { - const importSource = node.source.value.trim(); - if (!isAllowedTypeImportPath(importSource) && - !isAllowedTypeImportPattern(importSource)) { - return rules.ExportNamedDeclaration(node); - } - } - else { - return rules.ExportNamedDeclaration(node); - } - }, - ImportDeclaration: checkImportNode, - TSImportEqualsDeclaration(node) { - if (node.moduleReference.type === utils_1.AST_NODE_TYPES.TSExternalModuleReference) { - const synthesizedImport = { - ...node, - type: utils_1.AST_NODE_TYPES.ImportDeclaration, - assertions: [], - attributes: [], - source: node.moduleReference.expression, - specifiers: [ - { - ...node.id, - type: utils_1.AST_NODE_TYPES.ImportDefaultSpecifier, - local: node.id, - // @ts-expect-error -- parent types are incompatible but it's fine for the purposes of this extension - parent: node.id.parent, - }, - ], - }; - return checkImportNode(synthesizedImport); - } - }, - }; - }, -}); -//# sourceMappingURL=no-restricted-imports.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js.map deleted file mode 100644 index c8a9b736..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-restricted-imports.js","sourceRoot":"","sources":["../../src/rules/no-restricted-imports.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js deleted file mode 100644 index 0620ff23..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js +++ /dev/null @@ -1,166 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -function removeSpaces(str) { - return str.replaceAll(/\s/g, ''); -} -function stringifyNode(node, sourceCode) { - return removeSpaces(sourceCode.getText(node)); -} -function getCustomMessage(bannedType) { - if (!bannedType || bannedType === true) { - return ''; - } - if (typeof bannedType === 'string') { - return ` ${bannedType}`; - } - if (bannedType.message) { - return ` ${bannedType.message}`; - } - return ''; -} -const TYPE_KEYWORDS = { - bigint: utils_1.AST_NODE_TYPES.TSBigIntKeyword, - boolean: utils_1.AST_NODE_TYPES.TSBooleanKeyword, - never: utils_1.AST_NODE_TYPES.TSNeverKeyword, - null: utils_1.AST_NODE_TYPES.TSNullKeyword, - number: utils_1.AST_NODE_TYPES.TSNumberKeyword, - object: utils_1.AST_NODE_TYPES.TSObjectKeyword, - string: utils_1.AST_NODE_TYPES.TSStringKeyword, - symbol: utils_1.AST_NODE_TYPES.TSSymbolKeyword, - undefined: utils_1.AST_NODE_TYPES.TSUndefinedKeyword, - unknown: utils_1.AST_NODE_TYPES.TSUnknownKeyword, - void: utils_1.AST_NODE_TYPES.TSVoidKeyword, -}; -exports.default = (0, util_1.createRule)({ - name: 'no-restricted-types', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow certain types', - }, - fixable: 'code', - hasSuggestions: true, - messages: { - bannedTypeMessage: "Don't use `{{name}}` as a type.{{customMessage}}", - bannedTypeReplacement: 'Replace `{{name}}` with `{{replacement}}`.', - }, - schema: [ - { - type: 'object', - $defs: { - banConfig: { - oneOf: [ - { - type: 'boolean', - description: 'Bans the type with the default message.', - enum: [true], - }, - { - type: 'string', - description: 'Bans the type with a custom message.', - }, - { - type: 'object', - additionalProperties: false, - description: 'Bans a type.', - properties: { - fixWith: { - type: 'string', - description: 'Type to autofix replace with. Note that autofixers can be applied automatically - so you need to be careful with this option.', - }, - message: { - type: 'string', - description: 'Custom error message.', - }, - suggest: { - type: 'array', - description: 'Types to suggest replacing with.', - items: { type: 'string' }, - }, - }, - }, - ], - }, - }, - additionalProperties: false, - properties: { - types: { - type: 'object', - additionalProperties: { - $ref: '#/items/0/$defs/banConfig', - }, - description: 'An object whose keys are the types you want to ban, and the values are error messages.', - }, - }, - }, - ], - }, - defaultOptions: [{}], - create(context, [{ types = {} }]) { - const bannedTypes = new Map(Object.entries(types).map(([type, data]) => [removeSpaces(type), data])); - function checkBannedTypes(typeNode, name = stringifyNode(typeNode, context.sourceCode)) { - const bannedType = bannedTypes.get(name); - if (bannedType == null || bannedType === false) { - return; - } - const customMessage = getCustomMessage(bannedType); - const fixWith = bannedType && typeof bannedType === 'object' && bannedType.fixWith; - const suggest = bannedType && typeof bannedType === 'object' - ? bannedType.suggest - : undefined; - context.report({ - node: typeNode, - messageId: 'bannedTypeMessage', - data: { - name, - customMessage, - }, - fix: fixWith - ? (fixer) => fixer.replaceText(typeNode, fixWith) - : null, - suggest: suggest?.map(replacement => ({ - messageId: 'bannedTypeReplacement', - data: { - name, - replacement, - }, - fix: (fixer) => fixer.replaceText(typeNode, replacement), - })), - }); - } - const keywordSelectors = (0, util_1.objectReduceKey)(TYPE_KEYWORDS, (acc, keyword) => { - if (bannedTypes.has(keyword)) { - acc[TYPE_KEYWORDS[keyword]] = (node) => checkBannedTypes(node, keyword); - } - return acc; - }, {}); - return { - ...keywordSelectors, - TSClassImplements(node) { - checkBannedTypes(node); - }, - TSInterfaceHeritage(node) { - checkBannedTypes(node); - }, - TSTupleType(node) { - if (!node.elementTypes.length) { - checkBannedTypes(node); - } - }, - TSTypeLiteral(node) { - if (!node.members.length) { - checkBannedTypes(node); - } - }, - TSTypeReference(node) { - checkBannedTypes(node.typeName); - if (node.typeArguments) { - checkBannedTypes(node); - } - }, - }; - }, -}); -//# sourceMappingURL=no-restricted-types.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js.map deleted file mode 100644 index 4b12f780..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-restricted-types.js","sourceRoot":"","sources":["../../src/rules/no-restricted-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js deleted file mode 100644 index 8153d094..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +++ /dev/null @@ -1,484 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const isTypeImport_1 = require("../util/isTypeImport"); -const allowedFunctionVariableDefTypes = new Set([ - utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration, - utils_1.AST_NODE_TYPES.TSFunctionType, - utils_1.AST_NODE_TYPES.TSMethodSignature, -]); -exports.default = (0, util_1.createRule)({ - name: 'no-shadow', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow variable declarations from shadowing variables declared in the outer scope', - extendsBaseRule: true, - }, - messages: { - noShadow: "'{{name}}' is already declared in the upper scope on line {{shadowedLine}} column {{shadowedColumn}}.", - noShadowGlobal: "'{{name}}' is already a global variable.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allow: { - type: 'array', - description: 'Identifier names for which shadowing is allowed.', - items: { - type: 'string', - }, - }, - builtinGlobals: { - type: 'boolean', - description: 'Whether to report shadowing of built-in global variables.', - }, - hoist: { - type: 'string', - description: 'Whether to report shadowing before outer functions or variables are defined.', - enum: ['all', 'functions', 'never'], - }, - ignoreFunctionTypeParameterNameValueShadow: { - type: 'boolean', - description: 'Whether to ignore function parameters named the same as a variable.', - }, - ignoreOnInitialization: { - type: 'boolean', - description: 'Whether to ignore the variable initializers when the shadowed variable is presumably still unitialized.', - }, - ignoreTypeValueShadow: { - type: 'boolean', - description: 'Whether to ignore types named the same as a variable.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allow: [], - builtinGlobals: false, - hoist: 'functions', - ignoreFunctionTypeParameterNameValueShadow: true, - ignoreOnInitialization: false, - ignoreTypeValueShadow: true, - }, - ], - create(context, [options]) { - /** - * Check if a scope is a TypeScript module augmenting the global namespace. - */ - function isGlobalAugmentation(scope) { - return ((scope.type === scope_manager_1.ScopeType.tsModule && scope.block.kind === 'global') || - (!!scope.upper && isGlobalAugmentation(scope.upper))); - } - /** - * Check if variable is a `this` parameter. - */ - function isThisParam(variable) { - return (variable.defs[0].type === scope_manager_1.DefinitionType.Parameter && - variable.name === 'this'); - } - function isTypeValueShadow(variable, shadowed) { - if (options.ignoreTypeValueShadow !== true) { - return false; - } - if (!('isValueVariable' in variable)) { - // this shouldn't happen... - return false; - } - const firstDefinition = shadowed.defs.at(0); - const isShadowedValue = !('isValueVariable' in shadowed) || - !firstDefinition || - (!(0, isTypeImport_1.isTypeImport)(firstDefinition) && shadowed.isValueVariable); - return variable.isValueVariable !== isShadowedValue; - } - function isFunctionTypeParameterNameValueShadow(variable, shadowed) { - if (options.ignoreFunctionTypeParameterNameValueShadow !== true) { - return false; - } - if (!('isValueVariable' in variable)) { - // this shouldn't happen... - return false; - } - const isShadowedValue = 'isValueVariable' in shadowed ? shadowed.isValueVariable : true; - if (!isShadowedValue) { - return false; - } - return variable.defs.every(def => allowedFunctionVariableDefTypes.has(def.node.type)); - } - function isGenericOfStaticMethod(variable) { - if (!('isTypeVariable' in variable)) { - // this shouldn't happen... - return false; - } - if (!variable.isTypeVariable) { - return false; - } - if (variable.identifiers.length === 0) { - return false; - } - const typeParameter = variable.identifiers[0].parent; - if (typeParameter.type !== utils_1.AST_NODE_TYPES.TSTypeParameter) { - return false; - } - const typeParameterDecl = typeParameter.parent; - if (typeParameterDecl.type !== utils_1.AST_NODE_TYPES.TSTypeParameterDeclaration) { - return false; - } - const functionExpr = typeParameterDecl.parent; - if (functionExpr.type !== utils_1.AST_NODE_TYPES.FunctionExpression && - functionExpr.type !== utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression) { - return false; - } - const methodDefinition = functionExpr.parent; - if (methodDefinition.type !== utils_1.AST_NODE_TYPES.MethodDefinition) { - return false; - } - return methodDefinition.static; - } - function isGenericOfClass(variable) { - if (!('isTypeVariable' in variable)) { - // this shouldn't happen... - return false; - } - if (!variable.isTypeVariable) { - return false; - } - if (variable.identifiers.length === 0) { - return false; - } - const typeParameter = variable.identifiers[0].parent; - if (typeParameter.type !== utils_1.AST_NODE_TYPES.TSTypeParameter) { - return false; - } - const typeParameterDecl = typeParameter.parent; - if (typeParameterDecl.type !== utils_1.AST_NODE_TYPES.TSTypeParameterDeclaration) { - return false; - } - const classDecl = typeParameterDecl.parent; - return (classDecl.type === utils_1.AST_NODE_TYPES.ClassDeclaration || - classDecl.type === utils_1.AST_NODE_TYPES.ClassExpression); - } - function isGenericOfAStaticMethodShadow(variable, shadowed) { - return isGenericOfStaticMethod(variable) && isGenericOfClass(shadowed); - } - function isImportDeclaration(definition) { - return definition.type === utils_1.AST_NODE_TYPES.ImportDeclaration; - } - function isExternalModuleDeclarationWithName(scope, name) { - return (scope.type === scope_manager_1.ScopeType.tsModule && - scope.block.id.type === utils_1.AST_NODE_TYPES.Literal && - scope.block.id.value === name); - } - function isExternalDeclarationMerging(scope, variable, shadowed) { - const [firstDefinition] = shadowed.defs; - const [secondDefinition] = variable.defs; - return ((0, isTypeImport_1.isTypeImport)(firstDefinition) && - isImportDeclaration(firstDefinition.parent) && - isExternalModuleDeclarationWithName(scope, firstDefinition.parent.source.value) && - secondDefinition.node.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration && - secondDefinition.node.parent.type === - utils_1.AST_NODE_TYPES.ExportNamedDeclaration); - } - /** - * Check if variable name is allowed. - * @param variable The variable to check. - * @returns Whether or not the variable name is allowed. - */ - function isAllowed(variable) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return options.allow.includes(variable.name); - } - /** - * Checks if a variable of the class name in the class scope of ClassDeclaration. - * - * ClassDeclaration creates two variables of its name into its outer scope and its class scope. - * So we should ignore the variable in the class scope. - * @param variable The variable to check. - * @returns Whether or not the variable of the class name in the class scope of ClassDeclaration. - */ - function isDuplicatedClassNameVariable(variable) { - const block = variable.scope.block; - return (block.type === utils_1.AST_NODE_TYPES.ClassDeclaration && - block.id === variable.identifiers[0]); - } - /** - * Checks if a variable of the class name in the class scope of TSEnumDeclaration. - * - * TSEnumDeclaration creates two variables of its name into its outer scope and its class scope. - * So we should ignore the variable in the class scope. - * @param variable The variable to check. - * @returns Whether or not the variable of the class name in the class scope of TSEnumDeclaration. - */ - function isDuplicatedEnumNameVariable(variable) { - const block = variable.scope.block; - return (block.type === utils_1.AST_NODE_TYPES.TSEnumDeclaration && - block.id === variable.identifiers[0]); - } - /** - * Checks whether or not a given location is inside of the range of a given node. - * @param node An node to check. - * @param location A location to check. - * @returns `true` if the location is inside of the range of the node. - */ - function isInRange(node, location) { - return node && node.range[0] <= location && location <= node.range[1]; - } - /** - * Searches from the current node through its ancestry to find a matching node. - * @param node a node to get. - * @param match a callback that checks whether or not the node verifies its condition or not. - * @returns the matching node. - */ - function findSelfOrAncestor(node, match) { - let currentNode = node; - while (currentNode && !match(currentNode)) { - currentNode = currentNode.parent; - } - return currentNode; - } - /** - * Finds function's outer scope. - * @param scope Function's own scope. - * @returns Function's outer scope. - */ - function getOuterScope(scope) { - const upper = scope.upper; - if (upper?.type === scope_manager_1.ScopeType.functionExpressionName) { - return upper.upper; - } - return upper; - } - /** - * Checks if a variable and a shadowedVariable have the same init pattern ancestor. - * @param variable a variable to check. - * @param shadowedVariable a shadowedVariable to check. - * @returns Whether or not the variable and the shadowedVariable have the same init pattern ancestor. - */ - function isInitPatternNode(variable, shadowedVariable) { - const outerDef = shadowedVariable.defs.at(0); - if (!outerDef) { - return false; - } - const { variableScope } = variable.scope; - if (!((variableScope.block.type === - utils_1.AST_NODE_TYPES.ArrowFunctionExpression || - variableScope.block.type === utils_1.AST_NODE_TYPES.FunctionExpression) && - getOuterScope(variableScope) === shadowedVariable.scope)) { - return false; - } - const fun = variableScope.block; - const { parent } = fun; - const callExpression = findSelfOrAncestor(parent, node => node.type === utils_1.AST_NODE_TYPES.CallExpression); - if (!callExpression) { - return false; - } - let node = outerDef.name; - const location = callExpression.range[1]; - while (node) { - if (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator) { - if (isInRange(node.init, location)) { - return true; - } - if ((node.parent.parent.type === utils_1.AST_NODE_TYPES.ForInStatement || - node.parent.parent.type === utils_1.AST_NODE_TYPES.ForOfStatement) && - isInRange(node.parent.parent.right, location)) { - return true; - } - break; - } - else if (node.type === utils_1.AST_NODE_TYPES.AssignmentPattern) { - if (isInRange(node.right, location)) { - return true; - } - } - else if ([ - utils_1.AST_NODE_TYPES.ArrowFunctionExpression, - utils_1.AST_NODE_TYPES.CatchClause, - utils_1.AST_NODE_TYPES.ClassDeclaration, - utils_1.AST_NODE_TYPES.ClassExpression, - utils_1.AST_NODE_TYPES.ExportNamedDeclaration, - utils_1.AST_NODE_TYPES.FunctionDeclaration, - utils_1.AST_NODE_TYPES.FunctionExpression, - utils_1.AST_NODE_TYPES.ImportDeclaration, - ].includes(node.type)) { - break; - } - node = node.parent; - } - return false; - } - /** - * Checks if a variable is inside the initializer of scopeVar. - * - * To avoid reporting at declarations such as `var a = function a() {};`. - * But it should report `var a = function(a) {};` or `var a = function() { function a() {} };`. - * @param variable The variable to check. - * @param scopeVar The scope variable to look for. - * @returns Whether or not the variable is inside initializer of scopeVar. - */ - function isOnInitializer(variable, scopeVar) { - const outerScope = scopeVar.scope; - const outerDef = scopeVar.defs.at(0); - const outer = outerDef?.parent?.range; - const innerScope = variable.scope; - const innerDef = variable.defs.at(0); - const inner = innerDef?.name.range; - return !!(outer && - inner && - outer[0] < inner[0] && - inner[1] < outer[1] && - ((innerDef.type === scope_manager_1.DefinitionType.FunctionName && - innerDef.node.type === utils_1.AST_NODE_TYPES.FunctionExpression) || - innerDef.node.type === utils_1.AST_NODE_TYPES.ClassExpression) && - outerScope === innerScope.upper); - } - /** - * Get a range of a variable's identifier node. - * @param variable The variable to get. - * @returns The range of the variable's identifier node. - */ - function getNameRange(variable) { - const def = variable.defs.at(0); - return def?.name.range; - } - /** - * Checks if a variable is in TDZ of scopeVar. - * @param variable The variable to check. - * @param scopeVar The variable of TDZ. - * @returns Whether or not the variable is in TDZ of scopeVar. - */ - function isInTdz(variable, scopeVar) { - const outerDef = scopeVar.defs.at(0); - const inner = getNameRange(variable); - const outer = getNameRange(scopeVar); - return !!(inner && - outer && - inner[1] < outer[0] && - // Excepts FunctionDeclaration if is {"hoist":"function"}. - (options.hoist !== 'functions' || - !outerDef || - outerDef.node.type !== utils_1.AST_NODE_TYPES.FunctionDeclaration)); - } - /** - * Get declared line and column of a variable. - * @param variable The variable to get. - * @returns The declared line and column of the variable. - */ - function getDeclaredLocation(variable) { - const identifier = variable.identifiers.at(0); - if (identifier) { - return { - column: identifier.loc.start.column + 1, - global: false, - line: identifier.loc.start.line, - }; - } - return { - global: true, - }; - } - /** - * Checks the current context for shadowed variables. - * @param scope Fixme - */ - function checkForShadows(scope) { - // ignore global augmentation - if (isGlobalAugmentation(scope)) { - return; - } - const variables = scope.variables; - for (const variable of variables) { - // ignore "arguments" - if (variable.identifiers.length === 0) { - continue; - } - // this params are pseudo-params that cannot be shadowed - if (isThisParam(variable)) { - continue; - } - // ignore variables of a class name in the class scope of ClassDeclaration - if (isDuplicatedClassNameVariable(variable)) { - continue; - } - // ignore variables of a class name in the class scope of ClassDeclaration - if (isDuplicatedEnumNameVariable(variable)) { - continue; - } - // ignore configured allowed names - if (isAllowed(variable)) { - continue; - } - // Gets shadowed variable. - const shadowed = scope.upper - ? utils_1.ASTUtils.findVariable(scope.upper, variable.name) - : null; - if (!shadowed) { - continue; - } - // ignore type value variable shadowing if configured - if (isTypeValueShadow(variable, shadowed)) { - continue; - } - // ignore function type parameter name shadowing if configured - if (isFunctionTypeParameterNameValueShadow(variable, shadowed)) { - continue; - } - // ignore static class method generic shadowing class generic - // this is impossible for the scope analyser to understand - // so we have to handle this manually in this rule - if (isGenericOfAStaticMethodShadow(variable, shadowed)) { - continue; - } - if (isExternalDeclarationMerging(scope, variable, shadowed)) { - continue; - } - const isESLintGlobal = 'writeable' in shadowed; - if ((shadowed.identifiers.length > 0 || - (options.builtinGlobals && isESLintGlobal)) && - !isOnInitializer(variable, shadowed) && - !(options.ignoreOnInitialization && - isInitPatternNode(variable, shadowed)) && - !(options.hoist !== 'all' && isInTdz(variable, shadowed))) { - const location = getDeclaredLocation(shadowed); - context.report({ - node: variable.identifiers[0], - ...(location.global - ? { - messageId: 'noShadowGlobal', - data: { - name: variable.name, - }, - } - : { - messageId: 'noShadow', - data: { - name: variable.name, - shadowedColumn: location.column, - shadowedLine: location.line, - }, - }), - }); - } - } - } - return { - 'Program:exit'(node) { - const globalScope = context.sourceCode.getScope(node); - const stack = [...globalScope.childScopes]; - while (stack.length) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const scope = stack.pop(); - stack.push(...scope.childScopes); - checkForShadows(scope); - } - }, - }; - }, -}); -//# sourceMappingURL=no-shadow.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map deleted file mode 100644 index 57b080b9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-shadow.js","sourceRoot":"","sources":["../../src/rules/no-shadow.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js deleted file mode 100644 index 5ab5dc89..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-this-alias', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow aliasing `this`', - recommended: 'recommended', - }, - messages: { - thisAssignment: "Unexpected aliasing of 'this' to local variable.", - thisDestructure: "Unexpected aliasing of members of 'this' to local variables.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowDestructuring: { - type: 'boolean', - description: 'Whether to ignore destructurings, such as `const { props, state } = this`.', - }, - allowedNames: { - type: 'array', - description: 'Names to ignore, such as ["self"] for `const self = this;`.', - items: { - type: 'string', - }, - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowDestructuring: true, - allowedNames: [], - }, - ], - create(context, [{ allowDestructuring, allowedNames }]) { - return { - "VariableDeclarator[init.type='ThisExpression'], AssignmentExpression[right.type='ThisExpression']"(node) { - const id = node.type === utils_1.AST_NODE_TYPES.VariableDeclarator ? node.id : node.left; - if (allowDestructuring && id.type !== utils_1.AST_NODE_TYPES.Identifier) { - return; - } - const hasAllowedName = id.type === utils_1.AST_NODE_TYPES.Identifier - ? // https://github.com/typescript-eslint/typescript-eslint/issues/5439 - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - allowedNames.includes(id.name) - : false; - if (!hasAllowedName) { - context.report({ - node: id, - messageId: id.type === utils_1.AST_NODE_TYPES.Identifier - ? 'thisAssignment' - : 'thisDestructure', - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-this-alias.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js.map deleted file mode 100644 index d6250211..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-this-alias.js","sourceRoot":"","sources":["../../src/rules/no-this-alias.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAqC;AAUrC,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,0BAA0B;YACvC,WAAW,EAAE,aAAa;SAC3B;QACD,QAAQ,EAAE;YACR,cAAc,EAAE,kDAAkD;YAClE,eAAe,EACb,8DAA8D;SACjE;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,kBAAkB,EAAE;wBAClB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,4EAA4E;qBAC/E;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,WAAW,EACT,6DAA6D;wBAC/D,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,kBAAkB,EAAE,IAAI;YACxB,YAAY,EAAE,EAAE;SACjB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC;QACpD,OAAO;YACL,mGAAmG,CACjG,IAAiE;gBAEjE,MAAM,EAAE,GACN,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxE,IAAI,kBAAkB,IAAI,EAAE,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE,CAAC;oBAChE,OAAO;gBACT,CAAC;gBAED,MAAM,cAAc,GAClB,EAAE,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;oBACnC,CAAC,CAAC,qEAAqE;wBACrE,oEAAoE;wBACpE,YAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC;gBACZ,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,EAAE;wBACR,SAAS,EACP,EAAE,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;4BACnC,CAAC,CAAC,gBAAgB;4BAClB,CAAC,CAAC,iBAAiB;qBACxB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js deleted file mode 100644 index db5ceca9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js +++ /dev/null @@ -1,259 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-type-alias', - meta: { - type: 'suggestion', - deprecated: true, - docs: { - description: 'Disallow type aliases', - // too opinionated to be recommended - }, - messages: { - noCompositionAlias: '{{typeName}} in {{compositionType}} types are not allowed.', - noTypeAlias: 'Type {{alias}} are not allowed.', - }, - schema: [ - { - type: 'object', - $defs: { - expandedOptions: { - type: 'string', - enum: [ - 'always', - 'never', - 'in-unions', - 'in-intersections', - 'in-unions-and-intersections', - ], - }, - simpleOptions: { - type: 'string', - enum: ['always', 'never'], - }, - }, - additionalProperties: false, - properties: { - allowAliases: { - $ref: '#/items/0/$defs/expandedOptions', - description: 'Whether to allow direct one-to-one type aliases.', - }, - allowCallbacks: { - $ref: '#/items/0/$defs/simpleOptions', - description: 'Whether to allow type aliases for callbacks.', - }, - allowConditionalTypes: { - $ref: '#/items/0/$defs/simpleOptions', - description: 'Whether to allow type aliases for conditional types.', - }, - allowConstructors: { - $ref: '#/items/0/$defs/simpleOptions', - description: 'Whether to allow type aliases with constructors.', - }, - allowGenerics: { - $ref: '#/items/0/$defs/simpleOptions', - description: 'Whether to allow type aliases with generic types.', - }, - allowLiterals: { - $ref: '#/items/0/$defs/expandedOptions', - description: 'Whether to allow type aliases with object literal types.', - }, - allowMappedTypes: { - $ref: '#/items/0/$defs/expandedOptions', - description: 'Whether to allow type aliases with mapped types.', - }, - allowTupleTypes: { - $ref: '#/items/0/$defs/expandedOptions', - description: 'Whether to allow type aliases with tuple types.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowAliases: 'never', - allowCallbacks: 'never', - allowConditionalTypes: 'never', - allowConstructors: 'never', - allowGenerics: 'never', - allowLiterals: 'never', - allowMappedTypes: 'never', - allowTupleTypes: 'never', - }, - ], - create(context, [{ allowAliases, allowCallbacks, allowConditionalTypes, allowConstructors, allowGenerics, allowLiterals, allowMappedTypes, allowTupleTypes, },]) { - const unions = ['always', 'in-unions', 'in-unions-and-intersections']; - const intersections = [ - 'always', - 'in-intersections', - 'in-unions-and-intersections', - ]; - const compositions = [ - 'in-unions', - 'in-intersections', - 'in-unions-and-intersections', - ]; - const aliasTypes = new Set([ - utils_1.AST_NODE_TYPES.TSArrayType, - utils_1.AST_NODE_TYPES.TSImportType, - utils_1.AST_NODE_TYPES.TSIndexedAccessType, - utils_1.AST_NODE_TYPES.TSLiteralType, - utils_1.AST_NODE_TYPES.TSTemplateLiteralType, - utils_1.AST_NODE_TYPES.TSTypeQuery, - utils_1.AST_NODE_TYPES.TSTypeReference, - ]); - /** - * Determines if the composition type is supported by the allowed flags. - * @param isTopLevel a flag indicating this is the top level node. - * @param compositionType the composition type (either TSUnionType or TSIntersectionType) - * @param allowed the currently allowed flags. - */ - function isSupportedComposition(isTopLevel, compositionType, allowed) { - return (!compositions.includes(allowed) || - (!isTopLevel && - ((compositionType === utils_1.AST_NODE_TYPES.TSUnionType && - unions.includes(allowed)) || - (compositionType === utils_1.AST_NODE_TYPES.TSIntersectionType && - intersections.includes(allowed))))); - } - /** - * Gets the message to be displayed based on the node type and whether the node is a top level declaration. - * @param node the location - * @param compositionType the type of composition this alias is part of (undefined if not - * part of a composition) - * @param isRoot a flag indicating we are dealing with the top level declaration. - * @param type the kind of type alias being validated. - */ - function reportError(node, compositionType, isRoot, type) { - if (isRoot) { - return context.report({ - node, - messageId: 'noTypeAlias', - data: { - alias: type.toLowerCase(), - }, - }); - } - return context.report({ - node, - messageId: 'noCompositionAlias', - data: { - compositionType: compositionType === utils_1.AST_NODE_TYPES.TSUnionType - ? 'union' - : 'intersection', - typeName: type, - }, - }); - } - const isValidTupleType = (type) => { - if (type.node.type === utils_1.AST_NODE_TYPES.TSTupleType) { - return true; - } - if (type.node.type === utils_1.AST_NODE_TYPES.TSTypeOperator && - ['keyof', 'readonly'].includes(type.node.operator) && - type.node.typeAnnotation && - type.node.typeAnnotation.type === utils_1.AST_NODE_TYPES.TSTupleType) { - return true; - } - return false; - }; - const isValidGeneric = (type) => { - return (type.node.type === utils_1.AST_NODE_TYPES.TSTypeReference && - type.node.typeArguments != null); - }; - const checkAndReport = (optionValue, isTopLevel, type, label) => { - if (optionValue === 'never' || - !isSupportedComposition(isTopLevel, type.compositionType, optionValue)) { - reportError(type.node, type.compositionType, isTopLevel, label); - } - }; - /** - * Validates the node looking for aliases, callbacks and literals. - * @param type the type of composition this alias is part of (null if not - * part of a composition) - * @param isTopLevel a flag indicating this is the top level node. - */ - function validateTypeAliases(type, isTopLevel = false) { - // https://github.com/typescript-eslint/typescript-eslint/issues/5439 - /* eslint-disable @typescript-eslint/no-non-null-assertion */ - if (type.node.type === utils_1.AST_NODE_TYPES.TSFunctionType) { - // callback - if (allowCallbacks === 'never') { - reportError(type.node, type.compositionType, isTopLevel, 'Callbacks'); - } - } - else if (type.node.type === utils_1.AST_NODE_TYPES.TSConditionalType) { - // conditional type - if (allowConditionalTypes === 'never') { - reportError(type.node, type.compositionType, isTopLevel, 'Conditional types'); - } - } - else if (type.node.type === utils_1.AST_NODE_TYPES.TSConstructorType) { - if (allowConstructors === 'never') { - reportError(type.node, type.compositionType, isTopLevel, 'Constructors'); - } - } - else if (type.node.type === utils_1.AST_NODE_TYPES.TSTypeLiteral) { - // literal object type - checkAndReport(allowLiterals, isTopLevel, type, 'Literals'); - } - else if (type.node.type === utils_1.AST_NODE_TYPES.TSMappedType) { - // mapped type - checkAndReport(allowMappedTypes, isTopLevel, type, 'Mapped types'); - } - else if (isValidTupleType(type)) { - // tuple types - checkAndReport(allowTupleTypes, isTopLevel, type, 'Tuple Types'); - } - else if (isValidGeneric(type)) { - if (allowGenerics === 'never') { - reportError(type.node, type.compositionType, isTopLevel, 'Generics'); - } - } - else if (type.node.type.endsWith(utils_1.AST_TOKEN_TYPES.Keyword) || - aliasTypes.has(type.node.type) || - (type.node.type === utils_1.AST_NODE_TYPES.TSTypeOperator && - (type.node.operator === 'keyof' || - (type.node.operator === 'readonly' && - type.node.typeAnnotation && - aliasTypes.has(type.node.typeAnnotation.type))))) { - // alias / keyword - checkAndReport(allowAliases, isTopLevel, type, 'Aliases'); - } - else { - // unhandled type - shouldn't happen - reportError(type.node, type.compositionType, isTopLevel, 'Unhandled'); - } - /* eslint-enable @typescript-eslint/no-non-null-assertion */ - } - /** - * Flatten the given type into an array of its dependencies - */ - function getTypes(node, compositionType = null) { - if (node.type === utils_1.AST_NODE_TYPES.TSUnionType || - node.type === utils_1.AST_NODE_TYPES.TSIntersectionType) { - return node.types.flatMap(type => getTypes(type, node.type)); - } - return [{ node, compositionType }]; - } - return { - TSTypeAliasDeclaration(node) { - const types = getTypes(node.typeAnnotation); - if (types.length === 1) { - // is a top level type annotation - validateTypeAliases(types[0], true); - } - else { - // is a composition type - types.forEach(type => { - validateTypeAliases(type); - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-type-alias.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map deleted file mode 100644 index 993b8bf7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-type-alias.js","sourceRoot":"","sources":["../../src/rules/no-type-alias.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js deleted file mode 100644 index 30eb3102..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js +++ /dev/null @@ -1,242 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-boolean-literal-compare', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow unnecessary equality comparisons against boolean literals', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - comparingNullableToFalse: 'This expression unnecessarily compares a nullable boolean value to false instead of using the ?? operator to provide a default.', - comparingNullableToTrueDirect: 'This expression unnecessarily compares a nullable boolean value to true instead of using it directly.', - comparingNullableToTrueNegated: 'This expression unnecessarily compares a nullable boolean value to true instead of negating it.', - direct: 'This expression unnecessarily compares a boolean value to a boolean instead of using it directly.', - negated: 'This expression unnecessarily compares a boolean value to a boolean instead of negating it.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowComparingNullableBooleansToFalse: { - type: 'boolean', - description: 'Whether to allow comparisons between nullable boolean variables and `false`.', - }, - allowComparingNullableBooleansToTrue: { - type: 'boolean', - description: 'Whether to allow comparisons between nullable boolean variables and `true`.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowComparingNullableBooleansToFalse: true, - allowComparingNullableBooleansToTrue: true, - }, - ], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - function getBooleanComparison(node) { - const comparison = deconstructComparison(node); - if (!comparison) { - return undefined; - } - const expressionType = (0, util_1.getConstrainedTypeAtLocation)(services, comparison.expression); - if (isBooleanType(expressionType)) { - return { - ...comparison, - expressionIsNullableBoolean: false, - }; - } - if (isNullableBoolean(expressionType)) { - return { - ...comparison, - expressionIsNullableBoolean: true, - }; - } - return undefined; - } - function isBooleanType(expressionType) { - return tsutils.isTypeFlagSet(expressionType, ts.TypeFlags.Boolean | ts.TypeFlags.BooleanLiteral); - } - /** - * checks if the expressionType is a union that - * 1) contains at least one nullish type (null or undefined) - * 2) contains at least once boolean type (true or false or boolean) - * 3) does not contain any types besides nullish and boolean types - */ - function isNullableBoolean(expressionType) { - if (!expressionType.isUnion()) { - return false; - } - const { types } = expressionType; - const nonNullishTypes = types.filter(type => !tsutils.isTypeFlagSet(type, ts.TypeFlags.Undefined | ts.TypeFlags.Null)); - const hasNonNullishType = nonNullishTypes.length > 0; - if (!hasNonNullishType) { - return false; - } - const hasNullableType = nonNullishTypes.length < types.length; - if (!hasNullableType) { - return false; - } - const allNonNullishTypesAreBoolean = nonNullishTypes.every(isBooleanType); - if (!allNonNullishTypesAreBoolean) { - return false; - } - return true; - } - function deconstructComparison(node) { - const comparisonType = getEqualsKind(node.operator); - if (!comparisonType) { - return undefined; - } - for (const [against, expression] of [ - [node.right, node.left], - [node.left, node.right], - ]) { - if (against.type !== utils_1.AST_NODE_TYPES.Literal || - typeof against.value !== 'boolean') { - continue; - } - const { value: literalBooleanInComparison } = against; - const negated = !comparisonType.isPositive; - return { - expression, - literalBooleanInComparison, - negated, - }; - } - return undefined; - } - function nodeIsUnaryNegation(node) { - return (node.type === utils_1.AST_NODE_TYPES.UnaryExpression && - node.prefix && - node.operator === '!'); - } - return { - BinaryExpression(node) { - const comparison = getBooleanComparison(node); - if (comparison == null) { - return; - } - if (comparison.expressionIsNullableBoolean) { - if (comparison.literalBooleanInComparison && - options.allowComparingNullableBooleansToTrue) { - return; - } - if (!comparison.literalBooleanInComparison && - options.allowComparingNullableBooleansToFalse) { - return; - } - } - context.report({ - node, - messageId: comparison.expressionIsNullableBoolean - ? comparison.literalBooleanInComparison - ? comparison.negated - ? 'comparingNullableToTrueNegated' - : 'comparingNullableToTrueDirect' - : 'comparingNullableToFalse' - : comparison.negated - ? 'negated' - : 'direct', - *fix(fixer) { - // 1. isUnaryNegation - parent negation - // 2. literalBooleanInComparison - is compared to literal boolean - // 3. negated - is expression negated - const isUnaryNegation = nodeIsUnaryNegation(node.parent); - const shouldNegate = comparison.negated !== comparison.literalBooleanInComparison; - const mutatedNode = isUnaryNegation ? node.parent : node; - yield fixer.replaceText(mutatedNode, context.sourceCode.getText(comparison.expression)); - // if `isUnaryNegation === literalBooleanInComparison === !negated` is true - negate the expression - if (shouldNegate === isUnaryNegation) { - yield fixer.insertTextBefore(mutatedNode, '!'); - // if the expression `exp` is not a strong precedence node, wrap it in parentheses - if (!(0, util_1.isStrongPrecedenceNode)(comparison.expression)) { - yield fixer.insertTextBefore(mutatedNode, '('); - yield fixer.insertTextAfter(mutatedNode, ')'); - } - } - // if the expression `exp` is nullable, and we're not comparing to `true`, insert `?? true` - if (comparison.expressionIsNullableBoolean && - !comparison.literalBooleanInComparison) { - // provide the default `true` - yield fixer.insertTextBefore(mutatedNode, '('); - yield fixer.insertTextAfter(mutatedNode, ' ?? true)'); - } - }, - }); - }, - }; - }, -}); -function getEqualsKind(operator) { - switch (operator) { - case '!=': - return { - isPositive: false, - isStrict: false, - }; - case '!==': - return { - isPositive: false, - isStrict: true, - }; - case '==': - return { - isPositive: true, - isStrict: false, - }; - case '===': - return { - isPositive: true, - isStrict: true, - }; - default: - return undefined; - } -} -//# sourceMappingURL=no-unnecessary-boolean-literal-compare.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js.map deleted file mode 100644 index ea33bc9a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-boolean-literal-compare.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-boolean-literal-compare.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js deleted file mode 100644 index 8c7110bb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js +++ /dev/null @@ -1,649 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const assertionFunctionUtils_1 = require("../util/assertionFunctionUtils"); -// Truthiness utilities -// #region -const valueIsPseudoBigInt = (value) => { - return typeof value === 'object'; -}; -const getValueOfLiteralType = (type) => { - if (valueIsPseudoBigInt(type.value)) { - return pseudoBigIntToBigInt(type.value); - } - return type.value; -}; -const isFalsyBigInt = (type) => { - return (tsutils.isLiteralType(type) && - valueIsPseudoBigInt(type.value) && - !getValueOfLiteralType(type)); -}; -const isTruthyLiteral = (type) => tsutils.isTrueLiteralType(type) || - (type.isLiteral() && !!getValueOfLiteralType(type)); -const isPossiblyFalsy = (type) => tsutils - .unionTypeParts(type) - // Intersections like `string & {}` can also be possibly falsy, - // requiring us to look into the intersection. - .flatMap(type => tsutils.intersectionTypeParts(type)) - // PossiblyFalsy flag includes literal values, so exclude ones that - // are definitely truthy - .filter(t => !isTruthyLiteral(t)) - .some(type => (0, util_1.isTypeFlagSet)(type, ts.TypeFlags.PossiblyFalsy)); -const isPossiblyTruthy = (type) => tsutils - .unionTypeParts(type) - .map(type => tsutils.intersectionTypeParts(type)) - .some(intersectionParts => -// It is possible to define intersections that are always falsy, -// like `"" & { __brand: string }`. -intersectionParts.every(type => !tsutils.isFalsyType(type) && - // below is a workaround for ts-api-utils bug - // see https://github.com/JoshuaKGoldberg/ts-api-utils/issues/544 - !isFalsyBigInt(type))); -// Nullish utilities -const nullishFlag = ts.TypeFlags.Undefined | ts.TypeFlags.Null; -const isNullishType = (type) => (0, util_1.isTypeFlagSet)(type, nullishFlag); -const isPossiblyNullish = (type) => tsutils.unionTypeParts(type).some(isNullishType); -const isAlwaysNullish = (type) => tsutils.unionTypeParts(type).every(isNullishType); -function toStaticValue(type) { - // type.isLiteral() only covers numbers/bigints and strings, hence the rest of the branches. - if (tsutils.isBooleanLiteralType(type)) { - // Using `type.intrinsicName` instead of `type.value` because `type.value` - // is `undefined`, contrary to what the type guard tells us. - // See https://github.com/JoshuaKGoldberg/ts-api-utils/issues/528 - return { value: type.intrinsicName === 'true' }; - } - if (type.flags === ts.TypeFlags.Undefined) { - return { value: undefined }; - } - if (type.flags === ts.TypeFlags.Null) { - return { value: null }; - } - if (type.isLiteral()) { - return { value: getValueOfLiteralType(type) }; - } - return undefined; -} -function pseudoBigIntToBigInt(value) { - return BigInt((value.negative ? '-' : '') + value.base10Value); -} -const BOOL_OPERATORS = new Set([ - '<', - '>', - '<=', - '>=', - '==', - '===', - '!=', - '!==', -]); -function isBoolOperator(operator) { - return BOOL_OPERATORS.has(operator); -} -function booleanComparison(left, operator, right) { - switch (operator) { - case '!=': - // eslint-disable-next-line eqeqeq -- intentionally comparing with loose equality - return left != right; - case '!==': - return left !== right; - case '<': - // @ts-expect-error: we don't care if the comparison seems unintentional. - return left < right; - case '<=': - // @ts-expect-error: we don't care if the comparison seems unintentional. - return left <= right; - case '==': - // eslint-disable-next-line eqeqeq -- intentionally comparing with loose equality - return left == right; - case '===': - return left === right; - case '>': - // @ts-expect-error: we don't care if the comparison seems unintentional. - return left > right; - case '>=': - // @ts-expect-error: we don't care if the comparison seems unintentional. - return left >= right; - } -} -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-condition', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow conditionals where the type is always truthy or always falsy', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - alwaysFalsy: 'Unnecessary conditional, value is always falsy.', - alwaysFalsyFunc: 'This callback should return a conditional, but return is always falsy.', - alwaysNullish: 'Unnecessary conditional, left-hand side of `??` operator is always `null` or `undefined`.', - alwaysTruthy: 'Unnecessary conditional, value is always truthy.', - alwaysTruthyFunc: 'This callback should return a conditional, but return is always truthy.', - comparisonBetweenLiteralTypes: 'Unnecessary conditional, comparison is always {{trueOrFalse}}, since `{{left}} {{operator}} {{right}}` is {{trueOrFalse}}.', - never: 'Unnecessary conditional, value is `never`.', - neverNullish: 'Unnecessary conditional, expected left-hand side of `??` operator to be possibly null or undefined.', - neverOptionalChain: 'Unnecessary optional chain on a non-nullish value.', - noOverlapBooleanExpression: 'Unnecessary conditional, the types have no overlap.', - noStrictNullCheck: 'This rule requires the `strictNullChecks` compiler option to be turned on to function correctly.', - typeGuardAlreadyIsType: 'Unnecessary conditional, expression already has the type being checked by the {{typeGuardOrAssertionFunction}}.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowConstantLoopConditions: { - type: 'boolean', - description: 'Whether to ignore constant loop conditions, such as `while (true)`.', - }, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: { - type: 'boolean', - description: 'Whether to not error when running with a tsconfig that has strictNullChecks turned.', - }, - checkTypePredicates: { - type: 'boolean', - description: 'Whether to check the asserted argument of a type predicate function for unnecessary conditions', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowConstantLoopConditions: false, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false, - checkTypePredicates: false, - }, - ], - create(context, [{ allowConstantLoopConditions, allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing, checkTypePredicates, },]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const compilerOptions = services.program.getCompilerOptions(); - const isStrictNullChecks = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'strictNullChecks'); - if (!isStrictNullChecks && - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing !== true) { - context.report({ - loc: { - start: { column: 0, line: 0 }, - end: { column: 0, line: 0 }, - }, - messageId: 'noStrictNullCheck', - }); - } - function nodeIsArrayType(node) { - const nodeType = (0, util_1.getConstrainedTypeAtLocation)(services, node); - return tsutils - .unionTypeParts(nodeType) - .some(part => checker.isArrayType(part)); - } - function nodeIsTupleType(node) { - const nodeType = (0, util_1.getConstrainedTypeAtLocation)(services, node); - return tsutils - .unionTypeParts(nodeType) - .some(part => checker.isTupleType(part)); - } - function isArrayIndexExpression(node) { - return ( - // Is an index signature - node.type === utils_1.AST_NODE_TYPES.MemberExpression && - node.computed && - // ...into an array type - (nodeIsArrayType(node.object) || - // ... or a tuple type - (nodeIsTupleType(node.object) && - // Exception: literal index into a tuple - will have a sound type - node.property.type !== utils_1.AST_NODE_TYPES.Literal))); - } - function isNullableMemberExpression(node) { - const objectType = services.getTypeAtLocation(node.object); - if (node.computed) { - const propertyType = services.getTypeAtLocation(node.property); - return isNullablePropertyType(objectType, propertyType); - } - const property = node.property; - // Get the actual property name, to account for private properties (this.#prop). - const propertyName = context.sourceCode.getText(property); - const propertyType = objectType - .getProperties() - .find(prop => prop.name === propertyName); - if (propertyType && - tsutils.isSymbolFlagSet(propertyType, ts.SymbolFlags.Optional)) { - return true; - } - return false; - } - /** - * Checks if a conditional node is necessary: - * if the type of the node is always true or always false, it's not necessary. - */ - function checkNode(expression, isUnaryNotArgument = false, node = expression) { - // Check if the node is Unary Negation expression and handle it - if (expression.type === utils_1.AST_NODE_TYPES.UnaryExpression && - expression.operator === '!') { - return checkNode(expression.argument, !isUnaryNotArgument, node); - } - // Since typescript array index signature types don't represent the - // possibility of out-of-bounds access, if we're indexing into an array - // just skip the check, to avoid false positives - if (isArrayIndexExpression(expression)) { - return; - } - // When checking logical expressions, only check the right side - // as the left side has been checked by checkLogicalExpressionForUnnecessaryConditionals - // - // Unless the node is nullish coalescing, as it's common to use patterns like `nullBool ?? true` to to strict - // boolean checks if we inspect the right here, it'll usually be a constant condition on purpose. - // In this case it's better to inspect the type of the expression as a whole. - if (expression.type === utils_1.AST_NODE_TYPES.LogicalExpression && - expression.operator !== '??') { - return checkNode(expression.right); - } - const type = (0, util_1.getConstrainedTypeAtLocation)(services, expression); - // Conditional is always necessary if it involves: - // `any` or `unknown` or a naked type variable - if (tsutils - .unionTypeParts(type) - .some(part => (0, util_1.isTypeAnyType)(part) || - (0, util_1.isTypeUnknownType)(part) || - (0, util_1.isTypeFlagSet)(part, ts.TypeFlags.TypeVariable))) { - return; - } - let messageId = null; - if ((0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Never)) { - messageId = 'never'; - } - else if (!isPossiblyTruthy(type)) { - messageId = !isUnaryNotArgument ? 'alwaysFalsy' : 'alwaysTruthy'; - } - else if (!isPossiblyFalsy(type)) { - messageId = !isUnaryNotArgument ? 'alwaysTruthy' : 'alwaysFalsy'; - } - if (messageId) { - context.report({ node, messageId }); - } - } - function checkNodeForNullish(node) { - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node); - // Conditional is always necessary if it involves `any`, `unknown` or a naked type parameter - if ((0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Any | - ts.TypeFlags.Unknown | - ts.TypeFlags.TypeParameter | - ts.TypeFlags.TypeVariable)) { - return; - } - let messageId = null; - if ((0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Never)) { - messageId = 'never'; - } - else if (!isPossiblyNullish(type) && - !(node.type === utils_1.AST_NODE_TYPES.MemberExpression && - isNullableMemberExpression(node))) { - // Since typescript array index signature types don't represent the - // possibility of out-of-bounds access, if we're indexing into an array - // just skip the check, to avoid false positives - if (!isArrayIndexExpression(node) && - !(node.type === utils_1.AST_NODE_TYPES.ChainExpression && - node.expression.type !== utils_1.AST_NODE_TYPES.TSNonNullExpression && - optionChainContainsOptionArrayIndex(node.expression))) { - messageId = 'neverNullish'; - } - } - else if (isAlwaysNullish(type)) { - messageId = 'alwaysNullish'; - } - if (messageId) { - context.report({ node, messageId }); - } - } - /** - * Checks that a binary expression is necessarily conditional, reports otherwise. - * If both sides of the binary expression are literal values, it's not a necessary condition. - * - * NOTE: It's also unnecessary if the types that don't overlap at all - * but that case is handled by the Typescript compiler itself. - * Known exceptions: - * - https://github.com/microsoft/TypeScript/issues/32627 - * - https://github.com/microsoft/TypeScript/issues/37160 (handled) - */ - function checkIfBoolExpressionIsNecessaryConditional(node, left, right, operator) { - const leftType = (0, util_1.getConstrainedTypeAtLocation)(services, left); - const rightType = (0, util_1.getConstrainedTypeAtLocation)(services, right); - const leftStaticValue = toStaticValue(leftType); - const rightStaticValue = toStaticValue(rightType); - if (leftStaticValue != null && rightStaticValue != null) { - const conditionIsTrue = booleanComparison(leftStaticValue.value, operator, rightStaticValue.value); - context.report({ - node, - messageId: 'comparisonBetweenLiteralTypes', - data: { - left: checker.typeToString(leftType), - operator, - right: checker.typeToString(rightType), - trueOrFalse: conditionIsTrue ? 'true' : 'false', - }, - }); - return; - } - // Workaround for https://github.com/microsoft/TypeScript/issues/37160 - if (isStrictNullChecks) { - const UNDEFINED = ts.TypeFlags.Undefined; - const NULL = ts.TypeFlags.Null; - const VOID = ts.TypeFlags.Void; - const isComparable = (type, flag) => { - // Allow comparison to `any`, `unknown` or a naked type parameter. - flag |= - ts.TypeFlags.Any | - ts.TypeFlags.Unknown | - ts.TypeFlags.TypeParameter | - ts.TypeFlags.TypeVariable; - // Allow loose comparison to nullish values. - if (operator === '==' || operator === '!=') { - flag |= NULL | UNDEFINED | VOID; - } - return (0, util_1.isTypeFlagSet)(type, flag); - }; - if ((leftType.flags === UNDEFINED && - !isComparable(rightType, UNDEFINED | VOID)) || - (rightType.flags === UNDEFINED && - !isComparable(leftType, UNDEFINED | VOID)) || - (leftType.flags === NULL && !isComparable(rightType, NULL)) || - (rightType.flags === NULL && !isComparable(leftType, NULL))) { - context.report({ node, messageId: 'noOverlapBooleanExpression' }); - return; - } - } - } - /** - * Checks that a logical expression contains a boolean, reports otherwise. - */ - function checkLogicalExpressionForUnnecessaryConditionals(node) { - if (node.operator === '??') { - checkNodeForNullish(node.left); - return; - } - // Only checks the left side, since the right side might not be "conditional" at all. - // The right side will be checked if the LogicalExpression is used in a conditional context - checkNode(node.left); - } - /** - * Checks that a testable expression of a loop is necessarily conditional, reports otherwise. - */ - function checkIfLoopIsNecessaryConditional(node) { - if (node.test == null) { - // e.g. `for(;;)` - return; - } - /** - * Allow: - * while (true) {} - * for (;true;) {} - * do {} while (true) - */ - if (allowConstantLoopConditions && - tsutils.isTrueLiteralType((0, util_1.getConstrainedTypeAtLocation)(services, node.test))) { - return; - } - checkNode(node.test); - } - function checkCallExpression(node) { - if (checkTypePredicates) { - const truthinessAssertedArgument = (0, assertionFunctionUtils_1.findTruthinessAssertedArgument)(services, node); - if (truthinessAssertedArgument != null) { - checkNode(truthinessAssertedArgument); - } - const typeGuardAssertedArgument = (0, assertionFunctionUtils_1.findTypeGuardAssertedArgument)(services, node); - if (typeGuardAssertedArgument != null) { - const typeOfArgument = (0, util_1.getConstrainedTypeAtLocation)(services, typeGuardAssertedArgument.argument); - if (typeOfArgument === typeGuardAssertedArgument.type) { - context.report({ - node: typeGuardAssertedArgument.argument, - messageId: 'typeGuardAlreadyIsType', - data: { - typeGuardOrAssertionFunction: typeGuardAssertedArgument.asserts - ? 'assertion function' - : 'type guard', - }, - }); - } - } - } - // If this is something like arr.filter(x => /*condition*/), check `condition` - if ((0, util_1.isArrayMethodCallWithPredicate)(context, services, node) && - node.arguments.length) { - const callback = node.arguments[0]; - // Inline defined functions - if (callback.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression || - callback.type === utils_1.AST_NODE_TYPES.FunctionExpression) { - // Two special cases, where we can directly check the node that's returned: - // () => something - if (callback.body.type !== utils_1.AST_NODE_TYPES.BlockStatement) { - return checkNode(callback.body); - } - // () => { return something; } - const callbackBody = callback.body.body; - if (callbackBody.length === 1 && - callbackBody[0].type === utils_1.AST_NODE_TYPES.ReturnStatement && - callbackBody[0].argument) { - return checkNode(callbackBody[0].argument); - } - // Potential enhancement: could use code-path analysis to check - // any function with a single return statement - // (Value to complexity ratio is dubious however) - } - // Otherwise just do type analysis on the function as a whole. - const returnTypes = tsutils - .getCallSignaturesOfType((0, util_1.getConstrainedTypeAtLocation)(services, callback)) - .map(sig => sig.getReturnType()); - /* istanbul ignore if */ if (returnTypes.length === 0) { - // Not a callable function - return; - } - // Predicate is always necessary if it involves `any` or `unknown` - if (returnTypes.some(t => (0, util_1.isTypeAnyType)(t) || (0, util_1.isTypeUnknownType)(t))) { - return; - } - if (!returnTypes.some(isPossiblyFalsy)) { - return context.report({ - node: callback, - messageId: 'alwaysTruthyFunc', - }); - } - if (!returnTypes.some(isPossiblyTruthy)) { - return context.report({ - node: callback, - messageId: 'alwaysFalsyFunc', - }); - } - } - } - // Recursively searches an optional chain for an array index expression - // Has to search the entire chain, because an array index will "infect" the rest of the types - // Example: - // ``` - // [{x: {y: "z"} }][n] // type is {x: {y: "z"}} - // ?.x // type is {y: "z"} - // ?.y // This access is considered "unnecessary" according to the types - // ``` - function optionChainContainsOptionArrayIndex(node) { - const lhsNode = node.type === utils_1.AST_NODE_TYPES.CallExpression ? node.callee : node.object; - if (node.optional && isArrayIndexExpression(lhsNode)) { - return true; - } - if (lhsNode.type === utils_1.AST_NODE_TYPES.MemberExpression || - lhsNode.type === utils_1.AST_NODE_TYPES.CallExpression) { - return optionChainContainsOptionArrayIndex(lhsNode); - } - return false; - } - function isNullablePropertyType(objType, propertyType) { - if (propertyType.isUnion()) { - return propertyType.types.some(type => isNullablePropertyType(objType, type)); - } - if (propertyType.isNumberLiteral() || propertyType.isStringLiteral()) { - const propType = (0, util_1.getTypeOfPropertyOfName)(checker, objType, propertyType.value.toString()); - if (propType) { - return (0, util_1.isNullableType)(propType); - } - } - const typeName = (0, util_1.getTypeName)(checker, propertyType); - return checker - .getIndexInfosOfType(objType) - .some(info => (0, util_1.getTypeName)(checker, info.keyType) === typeName); - } - // Checks whether a member expression is nullable or not regardless of it's previous node. - // Example: - // ``` - // // 'bar' is nullable if 'foo' is null. - // // but this function checks regardless of 'foo' type, so returns 'true'. - // declare const foo: { bar : { baz: string } } | null - // foo?.bar; - // ``` - function isMemberExpressionNullableOriginFromObject(node) { - const prevType = (0, util_1.getConstrainedTypeAtLocation)(services, node.object); - const property = node.property; - if (prevType.isUnion() && (0, util_1.isIdentifier)(property)) { - const isOwnNullable = prevType.types.some(type => { - if (node.computed) { - const propertyType = (0, util_1.getConstrainedTypeAtLocation)(services, node.property); - return isNullablePropertyType(type, propertyType); - } - const propType = (0, util_1.getTypeOfPropertyOfName)(checker, type, property.name); - if (propType) { - return (0, util_1.isNullableType)(propType); - } - const indexInfo = checker.getIndexInfosOfType(type); - return indexInfo.some(info => (0, util_1.getTypeName)(checker, info.keyType) === 'string' && - (0, util_1.isNullableType)(info.type)); - }); - return !isOwnNullable && (0, util_1.isNullableType)(prevType); - } - return false; - } - function isCallExpressionNullableOriginFromCallee(node) { - const prevType = (0, util_1.getConstrainedTypeAtLocation)(services, node.callee); - if (prevType.isUnion()) { - const isOwnNullable = prevType.types.some(type => { - const signatures = type.getCallSignatures(); - return signatures.some(sig => (0, util_1.isNullableType)(sig.getReturnType())); - }); - return !isOwnNullable && (0, util_1.isNullableType)(prevType); - } - return false; - } - function isOptionableExpression(node) { - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node); - const isOwnNullable = node.type === utils_1.AST_NODE_TYPES.MemberExpression - ? !isMemberExpressionNullableOriginFromObject(node) - : node.type === utils_1.AST_NODE_TYPES.CallExpression - ? !isCallExpressionNullableOriginFromCallee(node) - : true; - return ((0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown) || - (isOwnNullable && (0, util_1.isNullableType)(type))); - } - function checkOptionalChain(node, beforeOperator, fix) { - // We only care if this step in the chain is optional. If just descend - // from an optional chain, then that's fine. - if (!node.optional) { - return; - } - // Since typescript array index signature types don't represent the - // possibility of out-of-bounds access, if we're indexing into an array - // just skip the check, to avoid false positives - if (optionChainContainsOptionArrayIndex(node)) { - return; - } - const nodeToCheck = node.type === utils_1.AST_NODE_TYPES.CallExpression ? node.callee : node.object; - if (isOptionableExpression(nodeToCheck)) { - return; - } - const questionDotOperator = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(beforeOperator, token => token.type === utils_1.AST_TOKEN_TYPES.Punctuator && token.value === '?.'), util_1.NullThrowsReasons.MissingToken('operator', node.type)); - context.report({ - loc: questionDotOperator.loc, - node, - messageId: 'neverOptionalChain', - fix(fixer) { - return fixer.replaceText(questionDotOperator, fix); - }, - }); - } - function checkOptionalMemberExpression(node) { - checkOptionalChain(node, node.object, node.computed ? '' : '.'); - } - function checkOptionalCallExpression(node) { - checkOptionalChain(node, node.callee, ''); - } - function checkAssignmentExpression(node) { - // Similar to checkLogicalExpressionForUnnecessaryConditionals, since - // a ||= b is equivalent to a || (a = b) - if (['&&=', '||='].includes(node.operator)) { - checkNode(node.left); - } - else if (node.operator === '??=') { - checkNodeForNullish(node.left); - } - } - return { - AssignmentExpression: checkAssignmentExpression, - BinaryExpression(node) { - const { operator } = node; - if (isBoolOperator(operator)) { - checkIfBoolExpressionIsNecessaryConditional(node, node.left, node.right, operator); - } - }, - CallExpression: checkCallExpression, - 'CallExpression[optional = true]': checkOptionalCallExpression, - ConditionalExpression: (node) => checkNode(node.test), - DoWhileStatement: checkIfLoopIsNecessaryConditional, - ForStatement: checkIfLoopIsNecessaryConditional, - IfStatement: (node) => checkNode(node.test), - LogicalExpression: checkLogicalExpressionForUnnecessaryConditionals, - 'MemberExpression[optional = true]': checkOptionalMemberExpression, - SwitchCase({ parent, test }) { - // only check `case ...:`, not `default:` - if (test) { - checkIfBoolExpressionIsNecessaryConditional(test, parent.discriminant, test, '==='); - } - }, - WhileStatement: checkIfLoopIsNecessaryConditional, - }; - }, -}); -//# sourceMappingURL=no-unnecessary-condition.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map deleted file mode 100644 index f029d485..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-condition.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-condition.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js deleted file mode 100644 index 89ca69b2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js +++ /dev/null @@ -1,150 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const UNNECESSARY_OPERATORS = new Set(['??=', '&&=', '=', '||=']); -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-parameter-property-assignment', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow unnecessary assignment of constructor property parameter', - }, - messages: { - unnecessaryAssign: 'This assignment is unnecessary since it is already assigned by a parameter property.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const reportInfoStack = []; - function isThisMemberExpression(node) { - return (node.type === utils_1.AST_NODE_TYPES.MemberExpression && - node.object.type === utils_1.AST_NODE_TYPES.ThisExpression); - } - function getPropertyName(node) { - if (!isThisMemberExpression(node)) { - return null; - } - if (node.property.type === utils_1.AST_NODE_TYPES.Identifier) { - return node.property.name; - } - if (node.computed) { - return (0, util_1.getStaticStringValue)(node.property); - } - return null; - } - function findParentFunction(node) { - if (!node || - node.type === utils_1.AST_NODE_TYPES.FunctionDeclaration || - node.type === utils_1.AST_NODE_TYPES.FunctionExpression || - node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { - return node; - } - return findParentFunction(node.parent); - } - function findParentPropertyDefinition(node) { - if (!node || node.type === utils_1.AST_NODE_TYPES.PropertyDefinition) { - return node; - } - return findParentPropertyDefinition(node.parent); - } - function isConstructorFunctionExpression(node) { - return (node?.type === utils_1.AST_NODE_TYPES.FunctionExpression && - utils_1.ASTUtils.isConstructor(node.parent)); - } - function isReferenceFromParameter(node) { - const scope = context.sourceCode.getScope(node); - const rightRef = scope.references.find(ref => ref.identifier.name === node.name); - return rightRef?.resolved?.defs.at(0)?.type === scope_manager_1.DefinitionType.Parameter; - } - function isParameterPropertyWithName(node, name) { - return (node.type === utils_1.AST_NODE_TYPES.TSParameterProperty && - ((node.parameter.type === utils_1.AST_NODE_TYPES.Identifier && // constructor (public foo) {} - node.parameter.name === name) || - (node.parameter.type === utils_1.AST_NODE_TYPES.AssignmentPattern && // constructor (public foo = 1) {} - node.parameter.left.type === utils_1.AST_NODE_TYPES.Identifier && - node.parameter.left.name === name))); - } - function getIdentifier(node) { - if (node.type === utils_1.AST_NODE_TYPES.Identifier) { - return node; - } - if (node.type === utils_1.AST_NODE_TYPES.TSAsExpression || - node.type === utils_1.AST_NODE_TYPES.TSNonNullExpression) { - return getIdentifier(node.expression); - } - return null; - } - function isArrowIIFE(node) { - return (node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - node.parent.type === utils_1.AST_NODE_TYPES.CallExpression); - } - return { - ClassBody() { - reportInfoStack.push({ - assignedBeforeConstructor: new Set(), - assignedBeforeUnnecessary: new Set(), - unnecessaryAssignments: [], - }); - }, - 'ClassBody:exit'() { - const { assignedBeforeConstructor, unnecessaryAssignments } = (0, util_1.nullThrows)(reportInfoStack.pop(), 'The top stack should exist'); - unnecessaryAssignments.forEach(({ name, node }) => { - if (assignedBeforeConstructor.has(name)) { - return; - } - context.report({ - node, - messageId: 'unnecessaryAssign', - }); - }); - }, - "MethodDefinition[kind='constructor'] > FunctionExpression AssignmentExpression"(node) { - const leftName = getPropertyName(node.left); - if (!leftName) { - return; - } - let functionNode = findParentFunction(node); - if (functionNode && isArrowIIFE(functionNode)) { - functionNode = findParentFunction(functionNode.parent); - } - if (!isConstructorFunctionExpression(functionNode)) { - return; - } - const { assignedBeforeUnnecessary, unnecessaryAssignments } = (0, util_1.nullThrows)(reportInfoStack.at(reportInfoStack.length - 1), 'The top of stack should exist'); - if (!UNNECESSARY_OPERATORS.has(node.operator)) { - assignedBeforeUnnecessary.add(leftName); - return; - } - const rightId = getIdentifier(node.right); - if (leftName !== rightId?.name || !isReferenceFromParameter(rightId)) { - return; - } - const hasParameterProperty = functionNode.params.some(param => isParameterPropertyWithName(param, rightId.name)); - if (hasParameterProperty && !assignedBeforeUnnecessary.has(leftName)) { - unnecessaryAssignments.push({ - name: leftName, - node, - }); - } - }, - 'PropertyDefinition AssignmentExpression'(node) { - const name = getPropertyName(node.left); - if (!name) { - return; - } - const functionNode = findParentFunction(node); - if (functionNode && - !(isArrowIIFE(functionNode) && - findParentPropertyDefinition(node)?.value === functionNode.parent)) { - return; - } - const { assignedBeforeConstructor } = (0, util_1.nullThrows)(reportInfoStack.at(-1), 'The top stack should exist'); - assignedBeforeConstructor.add(name); - }, - }; - }, -}); -//# sourceMappingURL=no-unnecessary-parameter-property-assignment.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js.map deleted file mode 100644 index 04f4747c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-parameter-property-assignment.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-parameter-property-assignment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js deleted file mode 100644 index ee6a7a1c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js +++ /dev/null @@ -1,157 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-qualifier', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow unnecessary namespace qualifiers', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - unnecessaryQualifier: "Qualifier is unnecessary since '{{ name }}' is in scope.", - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const namespacesInScope = []; - let currentFailedNamespaceExpression = null; - const services = (0, util_1.getParserServices)(context); - const esTreeNodeToTSNodeMap = services.esTreeNodeToTSNodeMap; - const checker = services.program.getTypeChecker(); - function tryGetAliasedSymbol(symbol, checker) { - return tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Alias) - ? checker.getAliasedSymbol(symbol) - : null; - } - function symbolIsNamespaceInScope(symbol) { - const symbolDeclarations = symbol.getDeclarations() ?? []; - if (symbolDeclarations.some(decl => namespacesInScope.some(ns => ns === decl))) { - return true; - } - const alias = tryGetAliasedSymbol(symbol, checker); - return alias != null && symbolIsNamespaceInScope(alias); - } - function getSymbolInScope(node, flags, name) { - const scope = checker.getSymbolsInScope(node, flags); - return scope.find(scopeSymbol => scopeSymbol.name === name); - } - function symbolsAreEqual(accessed, inScope) { - return accessed === checker.getExportSymbolOfSymbol(inScope); - } - function qualifierIsUnnecessary(qualifier, name) { - const namespaceSymbol = services.getSymbolAtLocation(qualifier); - if (namespaceSymbol == null || - !symbolIsNamespaceInScope(namespaceSymbol)) { - return false; - } - const accessedSymbol = services.getSymbolAtLocation(name); - if (accessedSymbol == null) { - return false; - } - // If the symbol in scope is different, the qualifier is necessary. - const tsQualifier = esTreeNodeToTSNodeMap.get(qualifier); - const fromScope = getSymbolInScope(tsQualifier, accessedSymbol.flags, context.sourceCode.getText(name)); - return !!fromScope && symbolsAreEqual(accessedSymbol, fromScope); - } - function visitNamespaceAccess(node, qualifier, name) { - // Only look for nested qualifier errors if we didn't already fail on the outer qualifier. - if (!currentFailedNamespaceExpression && - qualifierIsUnnecessary(qualifier, name)) { - currentFailedNamespaceExpression = node; - context.report({ - node: qualifier, - messageId: 'unnecessaryQualifier', - data: { - name: context.sourceCode.getText(name), - }, - fix(fixer) { - return fixer.removeRange([qualifier.range[0], name.range[0]]); - }, - }); - } - } - function enterDeclaration(node) { - namespacesInScope.push(esTreeNodeToTSNodeMap.get(node)); - } - function exitDeclaration() { - namespacesInScope.pop(); - } - function resetCurrentNamespaceExpression(node) { - if (node === currentFailedNamespaceExpression) { - currentFailedNamespaceExpression = null; - } - } - function isPropertyAccessExpression(node) { - return node.type === utils_1.AST_NODE_TYPES.MemberExpression && !node.computed; - } - function isEntityNameExpression(node) { - return (node.type === utils_1.AST_NODE_TYPES.Identifier || - (isPropertyAccessExpression(node) && - isEntityNameExpression(node.object))); - } - return { - 'ExportNamedDeclaration[declaration.type="TSEnumDeclaration"]': enterDeclaration, - 'ExportNamedDeclaration[declaration.type="TSEnumDeclaration"]:exit': exitDeclaration, - 'ExportNamedDeclaration[declaration.type="TSModuleDeclaration"]': enterDeclaration, - 'ExportNamedDeclaration[declaration.type="TSModuleDeclaration"]:exit': exitDeclaration, - 'MemberExpression:exit': resetCurrentNamespaceExpression, - 'MemberExpression[computed=false]'(node) { - const property = node.property; - if (isEntityNameExpression(node.object)) { - visitNamespaceAccess(node, node.object, property); - } - }, - TSEnumDeclaration: enterDeclaration, - 'TSEnumDeclaration:exit': exitDeclaration, - 'TSModuleDeclaration:exit': exitDeclaration, - 'TSModuleDeclaration > TSModuleBlock'(node) { - enterDeclaration(node.parent); - }, - TSQualifiedName(node) { - visitNamespaceAccess(node, node.left, node.right); - }, - 'TSQualifiedName:exit': resetCurrentNamespaceExpression, - }; - }, -}); -//# sourceMappingURL=no-unnecessary-qualifier.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map deleted file mode 100644 index d5f15ced..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-qualifier.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-qualifier.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js deleted file mode 100644 index 0ffd7f73..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js +++ /dev/null @@ -1,274 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const rangeToLoc_1 = require("../util/rangeToLoc"); -const evenNumOfBackslashesRegExp = /(? { - return (0, util_1.isTypeFlagSet)(t, ts.TypeFlags.StringLike); - }; - if (type.isUnion()) { - return type.types.every(isString); - } - if (type.isIntersection()) { - return type.types.some(isString); - } - return isString(type); - } - function isLiteral(expression) { - return expression.type === utils_1.AST_NODE_TYPES.Literal; - } - function isTemplateLiteral(expression) { - return expression.type === utils_1.AST_NODE_TYPES.TemplateLiteral; - } - function isInfinityIdentifier(expression) { - return (expression.type === utils_1.AST_NODE_TYPES.Identifier && - expression.name === 'Infinity'); - } - function isNaNIdentifier(expression) { - return (expression.type === utils_1.AST_NODE_TYPES.Identifier && - expression.name === 'NaN'); - } - function hasCommentsBetweenQuasi(startQuasi, endQuasi) { - const startToken = (0, util_1.nullThrows)(context.sourceCode.getTokenByRangeStart(startQuasi.range[0]), util_1.NullThrowsReasons.MissingToken('`${', 'opening template literal')); - const endToken = (0, util_1.nullThrows)(context.sourceCode.getTokenByRangeStart(endQuasi.range[0]), util_1.NullThrowsReasons.MissingToken('}', 'closing template literal')); - return context.sourceCode.commentsExistBetween(startToken, endToken); - } - return { - TemplateLiteral(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression) { - return; - } - const hasSingleStringVariable = node.quasis.length === 2 && - node.quasis[0].value.raw === '' && - node.quasis[1].value.raw === '' && - node.expressions.length === 1 && - isUnderlyingTypeString(node.expressions[0]); - if (hasSingleStringVariable) { - if (hasCommentsBetweenQuasi(node.quasis[0], node.quasis[1])) { - return; - } - context.report({ - loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, [ - node.expressions[0].range[0] - 2, - node.expressions[0].range[1] + 1, - ]), - messageId: 'noUnnecessaryTemplateExpression', - fix(fixer) { - const wrappingCode = (0, util_1.getMovedNodeCode)({ - destinationNode: node, - nodeToMove: node.expressions[0], - sourceCode: context.sourceCode, - }); - return fixer.replaceText(node, wrappingCode); - }, - }); - return; - } - const fixableExpressionsReversed = node.expressions - .map((expression, index) => ({ - expression, - nextQuasi: node.quasis[index + 1], - prevQuasi: node.quasis[index], - })) - .filter(({ expression, nextQuasi, prevQuasi }) => { - if ((0, util_1.isUndefinedIdentifier)(expression) || - isInfinityIdentifier(expression) || - isNaNIdentifier(expression)) { - return true; - } - // allow expressions that include comments - if (hasCommentsBetweenQuasi(prevQuasi, nextQuasi)) { - return false; - } - if (isLiteral(expression)) { - // allow trailing whitespace literal - if (startsWithNewLine(nextQuasi.value.raw)) { - return !(typeof expression.value === 'string' && - isWhitespace(expression.value)); - } - return true; - } - if (isTemplateLiteral(expression)) { - // allow trailing whitespace literal - if (startsWithNewLine(nextQuasi.value.raw)) { - return !(expression.quasis.length === 1 && - isWhitespace(expression.quasis[0].value.raw)); - } - return true; - } - return false; - }) - .reverse(); - let nextCharacterIsOpeningCurlyBrace = false; - for (const { expression, nextQuasi, prevQuasi, } of fixableExpressionsReversed) { - const fixers = []; - if (nextQuasi.value.raw !== '') { - nextCharacterIsOpeningCurlyBrace = - nextQuasi.value.raw.startsWith('{'); - } - if (isLiteral(expression)) { - let escapedValue = (typeof expression.value === 'string' - ? // The value is already a string, so we're removing quotes: - // "'va`lue'" -> "va`lue" - expression.raw.slice(1, -1) - : // The value may be one of number | bigint | boolean | RegExp | null. - // In regular expressions, we escape every backslash - String(expression.value).replaceAll('\\', '\\\\')) - // The string or RegExp may contain ` or ${. - // We want both of these to be escaped in the final template expression. - // - // A pair of backslashes means "escaped backslash", so backslashes - // from this pair won't escape ` or ${. Therefore, to escape these - // sequences in the resulting template expression, we need to escape - // all sequences that are preceded by an even number of backslashes. - // - // This RegExp does the following transformations: - // \` -> \` - // \\` -> \\\` - // \${ -> \${ - // \\${ -> \\\${ - .replaceAll(new RegExp(`${String(evenNumOfBackslashesRegExp.source)}(\`|\\\${)`, 'g'), '\\$1'); - // `...${'...$'}{...` - // ^^^^ - if (nextCharacterIsOpeningCurlyBrace && - endsWithUnescapedDollarSign(escapedValue)) { - escapedValue = escapedValue.replaceAll(/\$$/g, '\\$'); - } - if (escapedValue.length !== 0) { - nextCharacterIsOpeningCurlyBrace = escapedValue.startsWith('{'); - } - fixers.push(fixer => [fixer.replaceText(expression, escapedValue)]); - } - else if (isTemplateLiteral(expression)) { - // Since we iterate from the last expression to the first, - // a subsequent expression can tell the current expression - // that it starts with {. - // - // `... ${`... $`}${'{...'} ...` - // ^ ^ subsequent expression starts with { - // current expression ends with a dollar sign, - // so '$' + '{' === '${' (bad news for us). - // Let's escape the dollar sign at the end. - if (nextCharacterIsOpeningCurlyBrace && - endsWithUnescapedDollarSign(expression.quasis[expression.quasis.length - 1].value.raw)) { - fixers.push(fixer => [ - fixer.replaceTextRange([expression.range[1] - 2, expression.range[1] - 2], '\\'), - ]); - } - if (expression.quasis.length === 1 && - expression.quasis[0].value.raw.length !== 0) { - nextCharacterIsOpeningCurlyBrace = - expression.quasis[0].value.raw.startsWith('{'); - } - // Remove the beginning and trailing backtick characters. - fixers.push(fixer => [ - fixer.removeRange([expression.range[0], expression.range[0] + 1]), - fixer.removeRange([expression.range[1] - 1, expression.range[1]]), - ]); - } - else { - nextCharacterIsOpeningCurlyBrace = false; - } - // `... $${'{...'} ...` - // ^^^^^ - if (nextCharacterIsOpeningCurlyBrace && - endsWithUnescapedDollarSign(prevQuasi.value.raw)) { - fixers.push(fixer => [ - fixer.replaceTextRange([prevQuasi.range[1] - 3, prevQuasi.range[1] - 2], '\\$'), - ]); - } - const warnLocStart = prevQuasi.range[1] - 2; - const warnLocEnd = nextQuasi.range[0] + 1; - context.report({ - loc: (0, rangeToLoc_1.rangeToLoc)(context.sourceCode, [warnLocStart, warnLocEnd]), - messageId: 'noUnnecessaryTemplateExpression', - fix(fixer) { - return [ - // Remove the quasis' parts that are related to the current expression. - fixer.removeRange([warnLocStart, expression.range[0]]), - fixer.removeRange([expression.range[1], warnLocEnd]), - ...fixers.flatMap(cb => cb(fixer)), - ]; - }, - }); - } - }, - }; - }, -}); -function isWhitespace(x) { - // allow empty string too since we went to allow - // ` ${''} - // `; - // - // in addition to - // `${' '} - // `; - // - return /^\s*$/.test(x); -} -function startsWithNewLine(x) { - return x.startsWith('\n') || x.startsWith('\r\n'); -} -//# sourceMappingURL=no-unnecessary-template-expression.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js.map deleted file mode 100644 index f264f886..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-template-expression.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-template-expression.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js deleted file mode 100644 index 1bbf4f9a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js +++ /dev/null @@ -1,162 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-type-arguments', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow type arguments that are equal to the default', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - unnecessaryTypeParameter: 'This is the default value for this type parameter, so it can be omitted.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function getTypeForComparison(type) { - if ((0, util_1.isTypeReferenceType)(type)) { - return { - type: type.target, - typeArguments: checker.getTypeArguments(type), - }; - } - return { - type, - typeArguments: [], - }; - } - function checkTSArgsAndParameters(esParameters, typeParameters) { - // Just check the last one. Must specify previous type parameters if the last one is specified. - const i = esParameters.params.length - 1; - const arg = esParameters.params[i]; - const param = typeParameters.at(i); - if (!param?.default) { - return; - } - // TODO: would like checker.areTypesEquivalent. https://github.com/Microsoft/TypeScript/issues/13502 - const defaultType = checker.getTypeAtLocation(param.default); - const argType = services.getTypeAtLocation(arg); - // this check should handle some of the most simple cases of like strings, numbers, etc - if (defaultType !== argType) { - // For more complex types (like aliases to generic object types) - TS won't always create a - // global shared type object for the type - so we need to resort to manually comparing the - // reference type and the passed type arguments. - // Also - in case there are aliases - we need to resolve them before we do checks - const defaultTypeResolved = getTypeForComparison(defaultType); - const argTypeResolved = getTypeForComparison(argType); - if ( - // ensure the resolved type AND all the parameters are the same - defaultTypeResolved.type !== argTypeResolved.type || - defaultTypeResolved.typeArguments.length !== - argTypeResolved.typeArguments.length || - defaultTypeResolved.typeArguments.some((t, i) => t !== argTypeResolved.typeArguments[i])) { - return; - } - } - context.report({ - node: arg, - messageId: 'unnecessaryTypeParameter', - fix: fixer => fixer.removeRange(i === 0 - ? esParameters.range - : [esParameters.params[i - 1].range[1], arg.range[1]]), - }); - } - return { - TSTypeParameterInstantiation(node) { - const expression = services.esTreeNodeToTSNodeMap.get(node); - const typeParameters = getTypeParametersFromNode(expression, checker); - if (typeParameters) { - checkTSArgsAndParameters(node, typeParameters); - } - }, - }; - }, -}); -function getTypeParametersFromNode(node, checker) { - if (ts.isExpressionWithTypeArguments(node)) { - return getTypeParametersFromType(node.expression, checker); - } - if (ts.isTypeReferenceNode(node)) { - return getTypeParametersFromType(node.typeName, checker); - } - if (ts.isCallExpression(node) || - ts.isNewExpression(node) || - ts.isTaggedTemplateExpression(node)) { - return getTypeParametersFromCall(node, checker); - } - return undefined; -} -function getTypeParametersFromType(type, checker) { - const symAtLocation = checker.getSymbolAtLocation(type); - if (!symAtLocation) { - return undefined; - } - const sym = getAliasedSymbol(symAtLocation, checker); - const declarations = sym.getDeclarations(); - if (!declarations) { - return undefined; - } - return (0, util_1.findFirstResult)(declarations, decl => ts.isClassLike(decl) || - ts.isTypeAliasDeclaration(decl) || - ts.isInterfaceDeclaration(decl) - ? decl.typeParameters - : undefined); -} -function getTypeParametersFromCall(node, checker) { - const sig = checker.getResolvedSignature(node); - const sigDecl = sig?.getDeclaration(); - if (!sigDecl) { - return ts.isNewExpression(node) - ? getTypeParametersFromType(node.expression, checker) - : undefined; - } - return sigDecl.typeParameters; -} -function getAliasedSymbol(symbol, checker) { - return tsutils.isSymbolFlagSet(symbol, ts.SymbolFlags.Alias) - ? checker.getAliasedSymbol(symbol) - : symbol; -} -//# sourceMappingURL=no-unnecessary-type-arguments.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map deleted file mode 100644 index dd47794c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-type-arguments.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-arguments.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js deleted file mode 100644 index 2555447a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js +++ /dev/null @@ -1,290 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-type-assertion', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow type assertions that do not change the type of an expression', - recommended: 'recommended', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - contextuallyUnnecessary: 'This assertion is unnecessary since the receiver accepts the original type of the expression.', - unnecessaryAssertion: 'This assertion is unnecessary since it does not change the type of the expression.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - typesToIgnore: { - type: 'array', - description: 'A list of type names to ignore.', - items: { - type: 'string', - }, - }, - }, - }, - ], - }, - defaultOptions: [{}], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const compilerOptions = services.program.getCompilerOptions(); - /** - * Returns true if there's a chance the variable has been used before a value has been assigned to it - */ - function isPossiblyUsedBeforeAssigned(node) { - const declaration = (0, util_1.getDeclaration)(services, node); - if (!declaration) { - // don't know what the declaration is for some reason, so just assume the worst - return true; - } - if ( - // non-strict mode doesn't care about used before assigned errors - tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'strictNullChecks') && - // ignore class properties as they are compile time guarded - // also ignore function arguments as they can't be used before defined - ts.isVariableDeclaration(declaration)) { - // For var declarations, we need to check whether the node - // is actually in a descendant of its declaration or not. If not, - // it may be used before defined. - // eg - // if (Math.random() < 0.5) { - // var x: number = 2; - // } else { - // x!.toFixed(); - // } - if (ts.isVariableDeclarationList(declaration.parent) && - // var - declaration.parent.flags === ts.NodeFlags.None && - // If they are not in the same file it will not exist. - // This situation must not occur using before defined. - services.tsNodeToESTreeNodeMap.has(declaration)) { - const declaratorNode = services.tsNodeToESTreeNodeMap.get(declaration); - const scope = context.sourceCode.getScope(node); - const declaratorScope = context.sourceCode.getScope(declaratorNode); - let parentScope = declaratorScope; - while ((parentScope = parentScope.upper)) { - if (parentScope === scope) { - return true; - } - } - } - if ( - // is it `const x!: number` - declaration.initializer == null && - declaration.exclamationToken == null && - declaration.type != null) { - // check if the defined variable type has changed since assignment - const declarationType = checker.getTypeFromTypeNode(declaration.type); - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node); - if (declarationType === type && - // `declare`s are never narrowed, so never skip them - !(ts.isVariableDeclarationList(declaration.parent) && - ts.isVariableStatement(declaration.parent.parent) && - tsutils.includesModifier((0, util_1.getModifiers)(declaration.parent.parent), ts.SyntaxKind.DeclareKeyword))) { - // possibly used before assigned, so just skip it - // better to false negative and skip it, than false positive and fix to compile erroring code - // - // no better way to figure this out right now - // https://github.com/Microsoft/TypeScript/issues/31124 - return true; - } - } - } - return false; - } - function isConstAssertion(node) { - return (node.type === utils_1.AST_NODE_TYPES.TSTypeReference && - node.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - node.typeName.name === 'const'); - } - function isImplicitlyNarrowedConstDeclaration({ expression, parent, }) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const maybeDeclarationNode = parent.parent; - const isTemplateLiteralWithExpressions = expression.type === utils_1.AST_NODE_TYPES.TemplateLiteral && - expression.expressions.length !== 0; - return (maybeDeclarationNode.type === utils_1.AST_NODE_TYPES.VariableDeclaration && - maybeDeclarationNode.kind === 'const' && - /** - * Even on `const` variable declarations, template literals with expressions can sometimes be widened without a type assertion. - * @see https://github.com/typescript-eslint/typescript-eslint/issues/8737 - */ - !isTemplateLiteralWithExpressions); - } - function isTypeUnchanged(uncast, cast) { - if (uncast === cast) { - return true; - } - if ((0, util_1.isTypeFlagSet)(uncast, ts.TypeFlags.Undefined) && - (0, util_1.isTypeFlagSet)(cast, ts.TypeFlags.Undefined) && - tsutils.isCompilerOptionEnabled(compilerOptions, 'exactOptionalPropertyTypes')) { - const uncastParts = tsutils - .unionTypeParts(uncast) - .filter(part => !(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.Undefined)); - const castParts = tsutils - .unionTypeParts(cast) - .filter(part => !(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.Undefined)); - if (uncastParts.length !== castParts.length) { - return false; - } - const uncastPartsSet = new Set(uncastParts); - return castParts.every(part => uncastPartsSet.has(part)); - } - return false; - } - return { - 'TSAsExpression, TSTypeAssertion'(node) { - if (options.typesToIgnore?.includes(context.sourceCode.getText(node.typeAnnotation))) { - return; - } - const castType = services.getTypeAtLocation(node); - const uncastType = services.getTypeAtLocation(node.expression); - const typeIsUnchanged = isTypeUnchanged(uncastType, castType); - const wouldSameTypeBeInferred = castType.isLiteral() - ? isImplicitlyNarrowedConstDeclaration(node) - : !isConstAssertion(node.typeAnnotation); - if (typeIsUnchanged && wouldSameTypeBeInferred) { - context.report({ - node, - messageId: 'unnecessaryAssertion', - fix(fixer) { - if (node.type === utils_1.AST_NODE_TYPES.TSTypeAssertion) { - const openingAngleBracket = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(node.typeAnnotation, token => token.type === utils_1.AST_TOKEN_TYPES.Punctuator && - token.value === '<'), util_1.NullThrowsReasons.MissingToken('<', 'type annotation')); - const closingAngleBracket = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.typeAnnotation, token => token.type === utils_1.AST_TOKEN_TYPES.Punctuator && - token.value === '>'), util_1.NullThrowsReasons.MissingToken('>', 'type annotation')); - // < ( number ) > ( 3 + 5 ) - // ^---remove---^ - return fixer.removeRange([ - openingAngleBracket.range[0], - closingAngleBracket.range[1], - ]); - } - // `as` is always present in TSAsExpression - const asToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.expression, token => token.type === utils_1.AST_TOKEN_TYPES.Identifier && - token.value === 'as'), util_1.NullThrowsReasons.MissingToken('>', 'type annotation')); - const tokenBeforeAs = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(asToken, { - includeComments: true, - }), util_1.NullThrowsReasons.MissingToken('comment', 'as')); - // ( 3 + 5 ) as number - // ^--remove--^ - return fixer.removeRange([tokenBeforeAs.range[1], node.range[1]]); - }, - }); - } - // TODO - add contextually unnecessary check for this - }, - TSNonNullExpression(node) { - const removeExclamationFix = fixer => { - const exclamationToken = (0, util_1.nullThrows)(context.sourceCode.getLastToken(node, token => token.value === '!'), util_1.NullThrowsReasons.MissingToken('exclamation mark', 'non-null assertion')); - return fixer.removeRange(exclamationToken.range); - }; - if (node.parent.type === utils_1.AST_NODE_TYPES.AssignmentExpression && - node.parent.operator === '=') { - if (node.parent.left === node) { - context.report({ - node, - messageId: 'contextuallyUnnecessary', - fix: removeExclamationFix, - }); - } - // for all other = assignments we ignore non-null checks - // this is because non-null assertions can change the type-flow of the code - // so whilst they might be unnecessary for the assignment - they are necessary - // for following code - return; - } - const originalNode = services.esTreeNodeToTSNodeMap.get(node); - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node.expression); - if (!(0, util_1.isNullableType)(type)) { - if (node.expression.type === utils_1.AST_NODE_TYPES.Identifier && - isPossiblyUsedBeforeAssigned(node.expression)) { - return; - } - context.report({ - node, - messageId: 'unnecessaryAssertion', - fix: removeExclamationFix, - }); - } - else { - // we know it's a nullable type - // so figure out if the variable is used in a place that accepts nullable types - const contextualType = (0, util_1.getContextualType)(checker, originalNode); - if (contextualType) { - // in strict mode you can't assign null to undefined, so we have to make sure that - // the two types share a nullable type - const typeIncludesUndefined = (0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Undefined); - const typeIncludesNull = (0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Null); - const typeIncludesVoid = (0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Void); - const contextualTypeIncludesUndefined = (0, util_1.isTypeFlagSet)(contextualType, ts.TypeFlags.Undefined); - const contextualTypeIncludesNull = (0, util_1.isTypeFlagSet)(contextualType, ts.TypeFlags.Null); - const contextualTypeIncludesVoid = (0, util_1.isTypeFlagSet)(contextualType, ts.TypeFlags.Void); - // make sure that the parent accepts the same types - // i.e. assigning `string | null | undefined` to `string | undefined` is invalid - const isValidUndefined = typeIncludesUndefined - ? contextualTypeIncludesUndefined - : true; - const isValidNull = typeIncludesNull - ? contextualTypeIncludesNull - : true; - const isValidVoid = typeIncludesVoid - ? contextualTypeIncludesVoid - : true; - if (isValidUndefined && isValidNull && isValidVoid) { - context.report({ - node, - messageId: 'contextuallyUnnecessary', - fix: removeExclamationFix, - }); - } - } - } - }, - }; - }, -}); -//# sourceMappingURL=no-unnecessary-type-assertion.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map deleted file mode 100644 index 77a6ec23..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-type-assertion.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-assertion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js deleted file mode 100644 index 7449f10e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js +++ /dev/null @@ -1,120 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const node_path_1 = require("node:path"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-type-constraint', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow unnecessary constraints on generic types', - recommended: 'recommended', - }, - hasSuggestions: true, - messages: { - removeUnnecessaryConstraint: 'Remove the unnecessary `{{constraint}}` constraint.', - unnecessaryConstraint: 'Constraining the generic type `{{name}}` to `{{constraint}}` does nothing and is unnecessary.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - // In theory, we could use the type checker for more advanced constraint types... - // ...but in practice, these types are rare, and likely not worth requiring type info. - // https://github.com/typescript-eslint/typescript-eslint/pull/2516#discussion_r495731858 - const unnecessaryConstraints = new Map([ - [utils_1.AST_NODE_TYPES.TSAnyKeyword, 'any'], - [utils_1.AST_NODE_TYPES.TSUnknownKeyword, 'unknown'], - ]); - function checkRequiresGenericDeclarationDisambiguation(filename) { - const pathExt = (0, node_path_1.extname)(filename).toLocaleLowerCase(); - switch (pathExt) { - case ts.Extension.Cts: - case ts.Extension.Mts: - case ts.Extension.Tsx: - return true; - default: - return false; - } - } - const requiresGenericDeclarationDisambiguation = checkRequiresGenericDeclarationDisambiguation(context.filename); - const checkNode = (node, inArrowFunction) => { - const constraint = unnecessaryConstraints.get(node.constraint.type); - function shouldAddTrailingComma() { - if (!inArrowFunction || !requiresGenericDeclarationDisambiguation) { - return false; - } - // Only () => {} would need trailing comma - return (node.parent.params.length === - 1 && - context.sourceCode.getTokensAfter(node)[0].value !== ',' && - !node.default); - } - if (constraint) { - context.report({ - node, - messageId: 'unnecessaryConstraint', - data: { - name: node.name.name, - constraint, - }, - suggest: [ - { - messageId: 'removeUnnecessaryConstraint', - data: { - constraint, - }, - fix(fixer) { - return fixer.replaceTextRange([node.name.range[1], node.constraint.range[1]], shouldAddTrailingComma() ? ',' : ''); - }, - }, - ], - }); - } - }; - return { - ':not(ArrowFunctionExpression) > TSTypeParameterDeclaration > TSTypeParameter[constraint]'(node) { - checkNode(node, false); - }, - 'ArrowFunctionExpression > TSTypeParameterDeclaration > TSTypeParameter[constraint]'(node) { - checkNode(node, true); - }, - }; - }, -}); -//# sourceMappingURL=no-unnecessary-type-constraint.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map deleted file mode 100644 index 55cee2a6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-type-constraint.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-constraint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAA0D;AAC1D,yCAAoC;AACpC,+CAAiC;AAIjC,kCAAqC;AAOrC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,2BAA2B,EACzB,qDAAqD;YACvD,qBAAqB,EACnB,+FAA+F;SAClG;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,iFAAiF;QACjF,sFAAsF;QACtF,yFAAyF;QACzF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;YACrC,CAAC,sBAAc,CAAC,YAAY,EAAE,KAAK,CAAC;YACpC,CAAC,sBAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QAEH,SAAS,6CAA6C,CACpD,QAAgB;YAEhB,MAAM,OAAO,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAkB,CAAC;YACtE,QAAQ,OAAO,EAAE,CAAC;gBAChB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;gBACtB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;gBACtB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;oBACnB,OAAO,IAAI,CAAC;gBAEd;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED,MAAM,wCAAwC,GAC5C,6CAA6C,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,CAChB,IAAiC,EACjC,eAAwB,EAClB,EAAE;YACR,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpE,SAAS,sBAAsB;gBAC7B,IAAI,CAAC,eAAe,IAAI,CAAC,wCAAwC,EAAE,CAAC;oBAClE,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,6CAA6C;gBAC7C,OAAO,CACJ,IAAI,CAAC,MAA8C,CAAC,MAAM,CAAC,MAAM;oBAChE,CAAC;oBACH,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG;oBACxD,CAAC,IAAI,CAAC,OAAO,CACd,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,uBAAuB;oBAClC,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBACpB,UAAU;qBACX;oBACD,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,6BAA6B;4BACxC,IAAI,EAAE;gCACJ,UAAU;6BACX;4BACD,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,gBAAgB,CAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9C,sBAAsB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;4BACJ,CAAC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,0FAA0F,CACxF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,oFAAoF,CAClF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js deleted file mode 100644 index da5558e2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js +++ /dev/null @@ -1,386 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unnecessary-type-parameters', - meta: { - type: 'problem', - docs: { - description: "Disallow type parameters that aren't used multiple times", - recommended: 'strict', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - replaceUsagesWithConstraint: 'Replace all usages of type parameter with its constraint.', - sole: 'Type parameter {{name}} is {{uses}} in the {{descriptor}} signature.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const parserServices = (0, util_1.getParserServices)(context); - function checkNode(node, descriptor) { - const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); - const checker = parserServices.program.getTypeChecker(); - let counts; - // Get the scope in which the type parameters are declared. - const scope = context.sourceCode.getScope(node); - for (const typeParameter of tsNode.typeParameters) { - const esTypeParameter = parserServices.tsNodeToESTreeNodeMap.get(typeParameter); - const smTypeParameterVariable = (0, util_1.nullThrows)((() => { - const variable = scope.set.get(esTypeParameter.name.name); - return variable?.isTypeVariable ? variable : undefined; - })(), "Type parameter should be present in scope's variables."); - // Quick path: if the type parameter is used multiple times in the AST, - // we don't need to dip into types to know it's repeated. - if (isTypeParameterRepeatedInAST(esTypeParameter, smTypeParameterVariable.references, node.body?.range[0] ?? node.returnType?.range[1])) { - continue; - } - // For any inferred types, we have to dip into type checking. - counts ??= countTypeParameterUsage(checker, tsNode); - const identifierCounts = counts.get(typeParameter.name); - if (!identifierCounts || identifierCounts > 2) { - continue; - } - context.report({ - node: esTypeParameter, - messageId: 'sole', - data: { - name: typeParameter.name.text, - descriptor, - uses: identifierCounts === 1 ? 'never used' : 'used only once', - }, - suggest: [ - { - messageId: 'replaceUsagesWithConstraint', - *fix(fixer) { - // Replace all the usages of the type parameter with the constraint... - const constraint = esTypeParameter.constraint; - // special case - a constraint of 'any' actually acts like 'unknown' - const constraintText = constraint != null && - constraint.type !== utils_1.AST_NODE_TYPES.TSAnyKeyword - ? context.sourceCode.getText(constraint) - : 'unknown'; - for (const reference of smTypeParameterVariable.references) { - if (reference.isTypeReference) { - const referenceNode = reference.identifier; - yield fixer.replaceText(referenceNode, constraintText); - } - } - // ...and remove the type parameter itself from the declaration. - const typeParamsNode = (0, util_1.nullThrows)(node.typeParameters, 'node should have type parameters'); - // We are assuming at this point that the reported type parameter - // is present in the inspected node's type parameters. - if (typeParamsNode.params.length === 1) { - // Remove the whole generic syntax if we're removing the only type parameter in the list. - yield fixer.remove(typeParamsNode); - } - else { - const index = typeParamsNode.params.indexOf(esTypeParameter); - if (index === 0) { - const commaAfter = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(esTypeParameter, token => token.value === ','), util_1.NullThrowsReasons.MissingToken('comma', 'type parameter list')); - const tokenAfterComma = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(commaAfter, { - includeComments: true, - }), util_1.NullThrowsReasons.MissingToken('token', 'type parameter list')); - yield fixer.removeRange([ - esTypeParameter.range[0], - tokenAfterComma.range[0], - ]); - } - else { - const commaBefore = (0, util_1.nullThrows)(context.sourceCode.getTokenBefore(esTypeParameter, token => token.value === ','), util_1.NullThrowsReasons.MissingToken('comma', 'type parameter list')); - yield fixer.removeRange([ - commaBefore.range[0], - esTypeParameter.range[1], - ]); - } - } - }, - }, - ], - }); - } - } - return { - [[ - 'ArrowFunctionExpression[typeParameters]', - 'FunctionDeclaration[typeParameters]', - 'FunctionExpression[typeParameters]', - 'TSCallSignatureDeclaration[typeParameters]', - 'TSConstructorType[typeParameters]', - 'TSDeclareFunction[typeParameters]', - 'TSEmptyBodyFunctionExpression[typeParameters]', - 'TSFunctionType[typeParameters]', - 'TSMethodSignature[typeParameters]', - ].join(', ')](node) { - checkNode(node, 'function'); - }, - [[ - 'ClassDeclaration[typeParameters]', - 'ClassExpression[typeParameters]', - ].join(', ')](node) { - checkNode(node, 'class'); - }, - }; - }, -}); -function isTypeParameterRepeatedInAST(node, references, startOfBody = Infinity) { - let total = 0; - for (const reference of references) { - // References inside the type parameter's definition don't count... - if (reference.identifier.range[0] < node.range[1] && - reference.identifier.range[1] > node.range[0]) { - continue; - } - // ...nor references that are outside the declaring signature. - if (reference.identifier.range[0] > startOfBody) { - continue; - } - // Neither do references that aren't to the same type parameter, - // namely value-land (non-type) identifiers of the type parameter's type, - // and references to different type parameters or values. - if (!reference.isTypeReference || - reference.identifier.name !== node.name.name) { - continue; - } - // If the type parameter is being used as a type argument, then we - // know the type parameter is being reused and can't be reported. - if (reference.identifier.parent.type === utils_1.AST_NODE_TYPES.TSTypeReference) { - const grandparent = skipConstituentsUpward(reference.identifier.parent.parent); - if (grandparent.type === utils_1.AST_NODE_TYPES.TSTypeParameterInstantiation && - grandparent.params.includes(reference.identifier.parent)) { - return true; - } - } - total += 1; - if (total >= 2) { - return true; - } - } - return false; -} -function skipConstituentsUpward(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSIntersectionType: - case utils_1.AST_NODE_TYPES.TSUnionType: - return skipConstituentsUpward(node.parent); - default: - return node; - } -} -/** - * Count uses of type parameters in inferred return types. - * We need to resolve and analyze the inferred return type of a function - * to see whether it contains additional references to the type parameters. - * For classes, we need to do this for all their methods. - */ -function countTypeParameterUsage(checker, node) { - const counts = new Map(); - if (ts.isClassLike(node)) { - for (const typeParameter of node.typeParameters) { - collectTypeParameterUsageCounts(checker, typeParameter, counts); - } - for (const member of node.members) { - collectTypeParameterUsageCounts(checker, member, counts); - } - } - else { - collectTypeParameterUsageCounts(checker, node, counts); - } - return counts; -} -/** - * Populates {@link foundIdentifierUsages} by the number of times each type parameter - * appears in the given type by checking its uses through its type references. - * This is essentially a limited subset of the scope manager, but for types. - */ -function collectTypeParameterUsageCounts(checker, node, foundIdentifierUsages) { - const visitedSymbolLists = new Set(); - const type = checker.getTypeAtLocation(node); - const typeUsages = new Map(); - const visitedConstraints = new Set(); - let functionLikeType = false; - let visitedDefault = false; - if (ts.isCallSignatureDeclaration(node) || - ts.isConstructorDeclaration(node)) { - functionLikeType = true; - visitSignature(checker.getSignatureFromDeclaration(node)); - } - if (!functionLikeType) { - visitType(type, false); - } - function visitType(type, assumeMultipleUses) { - // Seeing the same type > (threshold=3 ** 2) times indicates a likely - // recursive type, like `type T = { [P in keyof T]: T }`. - // If it's not recursive, then heck, we've seen it enough times that any - // referenced types have been counted enough to qualify as used. - if (!type || incrementTypeUsages(type) > 9) { - return; - } - // https://github.com/JoshuaKGoldberg/ts-api-utils/issues/382 - if (tsutils.isTypeParameter(type)) { - const declaration = type.getSymbol()?.getDeclarations()?.[0]; - if (declaration) { - incrementIdentifierCount(declaration.name, assumeMultipleUses); - // Visiting the type of a constrained type parameter will recurse into - // the constraint. We avoid infinite loops by visiting each only once. - if (declaration.constraint && - !visitedConstraints.has(declaration.constraint)) { - visitedConstraints.add(declaration.constraint); - visitType(checker.getTypeAtLocation(declaration.constraint), false); - } - if (declaration.default && !visitedDefault) { - visitedDefault = true; - visitType(checker.getTypeAtLocation(declaration.default), false); - } - } - } - // Catch-all: generic type references like `Exclude` - else if (type.aliasTypeArguments) { - // We don't descend into the definition of the type alias, so we don't - // know whether it's used multiple times. It's safest to assume it is. - visitTypesList(type.aliasTypeArguments, true); - } - // Intersections and unions like `0 | 1` - else if (tsutils.isUnionOrIntersectionType(type)) { - visitTypesList(type.types, assumeMultipleUses); - } - // Index access types like `T[K]` - else if (tsutils.isIndexedAccessType(type)) { - visitType(type.objectType, assumeMultipleUses); - visitType(type.indexType, assumeMultipleUses); - } - // Tuple types like `[K, V]` - // Generic type references like `Map` - else if (tsutils.isTupleType(type) || tsutils.isTypeReference(type)) { - for (const typeArgument of type.typeArguments ?? []) { - visitType(typeArgument, true); - } - } - // Template literals like `a${T}b` - else if (tsutils.isTemplateLiteralType(type)) { - for (const subType of type.types) { - visitType(subType, assumeMultipleUses); - } - } - // Conditional types like `T extends string ? T : never` - else if (tsutils.isConditionalType(type)) { - visitType(type.checkType, assumeMultipleUses); - visitType(type.extendsType, assumeMultipleUses); - } - // Catch-all: inferred object types like `{ K: V }`. - // These catch-alls should be _after_ more specific checks like - // `isTypeReference` to avoid descending into all the properties of a - // generic interface/class, e.g. `Map`. - else if (tsutils.isObjectType(type)) { - const properties = type.getProperties(); - visitSymbolsListOnce(properties, false); - if (isMappedType(type)) { - visitType(type.typeParameter, false); - if (properties.length === 0) { - // TS treats mapped types like `{[k in "a"]: T}` like `{a: T}`. - // They have properties, so we need to avoid double-counting. - visitType(type.templateType ?? type.constraintType, false); - } - } - visitType(type.getNumberIndexType(), true); - visitType(type.getStringIndexType(), true); - type.getCallSignatures().forEach(signature => { - functionLikeType = true; - visitSignature(signature); - }); - type.getConstructSignatures().forEach(signature => { - functionLikeType = true; - visitSignature(signature); - }); - } - // Catch-all: operator types like `keyof T` - else if (isOperatorType(type)) { - visitType(type.type, assumeMultipleUses); - } - } - function incrementIdentifierCount(id, assumeMultipleUses) { - const identifierCount = foundIdentifierUsages.get(id) ?? 0; - const value = assumeMultipleUses ? 2 : 1; - foundIdentifierUsages.set(id, identifierCount + value); - } - function incrementTypeUsages(type) { - const count = (typeUsages.get(type) ?? 0) + 1; - typeUsages.set(type, count); - return count; - } - function visitSignature(signature) { - if (!signature) { - return; - } - if (signature.thisParameter) { - visitType(checker.getTypeOfSymbol(signature.thisParameter), false); - } - for (const parameter of signature.parameters) { - visitType(checker.getTypeOfSymbol(parameter), false); - } - for (const typeParameter of signature.getTypeParameters() ?? []) { - visitType(typeParameter, false); - } - visitType(checker.getTypePredicateOfSignature(signature)?.type ?? - signature.getReturnType(), false); - } - function visitSymbolsListOnce(symbols, assumeMultipleUses) { - if (visitedSymbolLists.has(symbols)) { - return; - } - visitedSymbolLists.add(symbols); - for (const symbol of symbols) { - visitType(checker.getTypeOfSymbol(symbol), assumeMultipleUses); - } - } - function visitTypesList(types, assumeMultipleUses) { - for (const type of types) { - visitType(type, assumeMultipleUses); - } - } -} -function isMappedType(type) { - return 'typeParameter' in type; -} -function isOperatorType(type) { - return 'type' in type && !!type.type; -} -//# sourceMappingURL=no-unnecessary-type-parameters.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js.map deleted file mode 100644 index 7a6c0dce..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-parameters.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unnecessary-type-parameters.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAIjC,kCAKiB;AAOjB,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,0DAA0D;YACvE,WAAW,EAAE,QAAQ;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,2BAA2B,EACzB,2DAA2D;YAC7D,IAAI,EAAE,sEAAsE;SAC7E;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAElD,SAAS,SAAS,CAAC,IAA2B,EAAE,UAAkB;YAChE,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CACrD,IAAI,CACqB,CAAC;YAE5B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACxD,IAAI,MAA8C,CAAC;YAEnD,2DAA2D;YAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAClD,MAAM,eAAe,GACnB,cAAc,CAAC,qBAAqB,CAAC,GAAG,CACtC,aAAa,CACd,CAAC;gBAEJ,MAAM,uBAAuB,GAAG,IAAA,iBAAU,EACxC,CAAC,GAAG,EAAE;oBACJ,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1D,OAAO,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzD,CAAC,CAAC,EAAE,EACJ,wDAAwD,CACzD,CAAC;gBAEF,uEAAuE;gBACvE,yDAAyD;gBACzD,IACE,4BAA4B,CAC1B,eAAe,EACf,uBAAuB,CAAC,UAAU,EAClC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CACjD,EACD,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,6DAA6D;gBAC7D,MAAM,KAAK,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBAC9C,SAAS;gBACX,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,MAAM;oBACjB,IAAI,EAAE;wBACJ,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI;wBAC7B,UAAU;wBACV,IAAI,EAAE,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB;qBAC/D;oBACD,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,6BAA6B;4BACxC,CAAC,GAAG,CAAC,KAAK;gCACR,sEAAsE;gCAEtE,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;gCAC9C,oEAAoE;gCACpE,MAAM,cAAc,GAClB,UAAU,IAAI,IAAI;oCAClB,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY;oCAC7C,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC;oCACxC,CAAC,CAAC,SAAS,CAAC;gCAChB,KAAK,MAAM,SAAS,IAAI,uBAAuB,CAAC,UAAU,EAAE,CAAC;oCAC3D,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;wCAC9B,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;wCAC3C,MAAM,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;oCACzD,CAAC;gCACH,CAAC;gCAED,gEAAgE;gCAEhE,MAAM,cAAc,GAAG,IAAA,iBAAU,EAC/B,IAAI,CAAC,cAAc,EACnB,kCAAkC,CACnC,CAAC;gCAEF,iEAAiE;gCACjE,sDAAsD;gCACtD,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oCACvC,6FAA6F;oCAC7F,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gCACrC,CAAC;qCAAM,CAAC;oCACN,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oCAE7D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wCAChB,MAAM,UAAU,GAAG,IAAA,iBAAU,EAC3B,OAAO,CAAC,UAAU,CAAC,aAAa,CAC9B,eAAe,EACf,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAC7B,EACD,wBAAiB,CAAC,YAAY,CAC5B,OAAO,EACP,qBAAqB,CACtB,CACF,CAAC;wCAEF,MAAM,eAAe,GAAG,IAAA,iBAAU,EAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE;4CAC3C,eAAe,EAAE,IAAI;yCACtB,CAAC,EACF,wBAAiB,CAAC,YAAY,CAC5B,OAAO,EACP,qBAAqB,CACtB,CACF,CAAC;wCAEF,MAAM,KAAK,CAAC,WAAW,CAAC;4CACtB,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;4CACxB,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;yCACzB,CAAC,CAAC;oCACL,CAAC;yCAAM,CAAC;wCACN,MAAM,WAAW,GAAG,IAAA,iBAAU,EAC5B,OAAO,CAAC,UAAU,CAAC,cAAc,CAC/B,eAAe,EACf,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAC7B,EACD,wBAAiB,CAAC,YAAY,CAC5B,OAAO,EACP,qBAAqB,CACtB,CACF,CAAC;wCAEF,MAAM,KAAK,CAAC,WAAW,CAAC;4CACtB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;4CACpB,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;yCACzB,CAAC,CAAC;oCACL,CAAC;gCACH,CAAC;4BACH,CAAC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,CAAC;gBACC,yCAAyC;gBACzC,qCAAqC;gBACrC,oCAAoC;gBACpC,4CAA4C;gBAC5C,mCAAmC;gBACnC,mCAAmC;gBACnC,+CAA+C;gBAC/C,gCAAgC;gBAChC,mCAAmC;aACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAA2B;gBACvC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9B,CAAC;YACD,CAAC;gBACC,kCAAkC;gBAClC,iCAAiC;aAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAA2B;gBACvC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,4BAA4B,CACnC,IAA8B,EAC9B,UAAuB,EACvB,WAAW,GAAG,QAAQ;IAEtB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,mEAAmE;QACnE,IACE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAC7C,CAAC;YACD,SAAS;QACX,CAAC;QAED,8DAA8D;QAC9D,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC;YAChD,SAAS;QACX,CAAC;QAED,gEAAgE;QAChE,yEAAyE;QACzE,yDAAyD;QACzD,IACE,CAAC,SAAS,CAAC,eAAe;YAC1B,SAAS,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAC5C,CAAC;YACD,SAAS;QACX,CAAC;QAED,kEAAkE;QAClE,iEAAiE;QACjE,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAAE,CAAC;YACxE,MAAM,WAAW,GAAG,sBAAsB,CACxC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CACnC,CAAC;YACF,IACE,WAAW,CAAC,IAAI,KAAK,sBAAc,CAAC,4BAA4B;gBAChE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,CAAC;QAEX,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAmB;IACjD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,sBAAc,CAAC,kBAAkB,CAAC;QACvC,KAAK,sBAAc,CAAC,WAAW;YAC7B,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,OAAuB,EACvB,IAA4B;IAE5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEhD,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,+BAA+B,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,+BAA+B,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,+BAA+B,CACtC,OAAuB,EACvB,IAAa,EACb,qBAAiD;IAEjD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAe,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAe,CAAC;IAClD,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IACE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC;QACnC,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,EACjC,CAAC;QACD,gBAAgB,GAAG,IAAI,CAAC;QACxB,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,SAAS,CAChB,IAAyB,EACzB,kBAA2B;QAE3B,qEAAqE;QACrE,yDAAyD;QACzD,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,6DAA6D;QAC7D,IAAK,OAAO,CAAC,eAA8C,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,CAE9C,CAAC;YAEd,IAAI,WAAW,EAAE,CAAC;gBAChB,wBAAwB,CAAC,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;gBAE/D,sEAAsE;gBACtE,sEAAsE;gBACtE,IACE,WAAW,CAAC,UAAU;oBACtB,CAAC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,EAC/C,CAAC;oBACD,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC/C,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtE,CAAC;gBAED,IAAI,WAAW,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC3C,cAAc,GAAG,IAAI,CAAC;oBACtB,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QAED,6DAA6D;aACxD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,sEAAsE;YACtE,sEAAsE;YACtE,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,wCAAwC;aACnC,IAAI,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,iCAAiC;aAC5B,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAChD,CAAC;QAED,4BAA4B;QAC5B,2CAA2C;aACtC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;gBACpD,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,kCAAkC;aAC7B,IAAI,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjC,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,wDAAwD;aACnD,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAC9C,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;QAED,oDAAoD;QACpD,+DAA+D;QAC/D,qEAAqE;QACrE,6CAA6C;aACxC,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAExC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACrC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,+DAA+D;oBAC/D,6DAA6D;oBAC7D,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,CAAC;YAE3C,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3C,gBAAgB,GAAG,IAAI,CAAC;gBACxB,cAAc,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAChD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,cAAc,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,2CAA2C;aACtC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,SAAS,wBAAwB,CAC/B,EAAiB,EACjB,kBAA2B;QAE3B,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,GAAG,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,mBAAmB,CAAC,IAAa;QACxC,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,cAAc,CAAC,SAAmC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YAC7C,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,MAAM,aAAa,IAAI,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;YAChE,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,SAAS,CACP,OAAO,CAAC,2BAA2B,CAAC,SAAS,CAAC,EAAE,IAAI;YAClD,SAAS,CAAC,aAAa,EAAE,EAC3B,KAAK,CACN,CAAC;IACJ,CAAC;IAED,SAAS,oBAAoB,CAC3B,OAAoB,EACpB,kBAA2B;QAE3B,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,SAAS,cAAc,CACrB,KAAyB,EACzB,kBAA2B;QAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAQD,SAAS,YAAY,CAAC,IAAa;IACjC,OAAO,eAAe,IAAI,IAAI,CAAC;AACjC,CAAC;AAMD,SAAS,cAAc,CAAC,IAAa;IACnC,OAAO,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACvC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js deleted file mode 100644 index 12f63b62..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js +++ /dev/null @@ -1,267 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -class FunctionSignature { - paramTypes; - restType; - hasConsumedArguments = false; - parameterTypeIndex = 0; - constructor(paramTypes, restType) { - this.paramTypes = paramTypes; - this.restType = restType; - } - static create(checker, tsNode) { - const signature = checker.getResolvedSignature(tsNode); - if (!signature) { - return null; - } - const paramTypes = []; - let restType = null; - const parameters = signature.getParameters(); - for (let i = 0; i < parameters.length; i += 1) { - const param = parameters[i]; - const type = checker.getTypeOfSymbolAtLocation(param, tsNode); - const decl = param.getDeclarations()?.[0]; - if (decl && (0, util_1.isRestParameterDeclaration)(decl)) { - // is a rest param - if (checker.isArrayType(type)) { - restType = { - type: checker.getTypeArguments(type)[0], - index: i, - kind: 0 /* RestTypeKind.Array */, - }; - } - else if (checker.isTupleType(type)) { - restType = { - index: i, - kind: 1 /* RestTypeKind.Tuple */, - typeArguments: checker.getTypeArguments(type), - }; - } - else { - restType = { - type, - index: i, - kind: 2 /* RestTypeKind.Other */, - }; - } - break; - } - paramTypes.push(type); - } - return new this(paramTypes, restType); - } - consumeRemainingArguments() { - this.hasConsumedArguments = true; - } - getNextParameterType() { - const index = this.parameterTypeIndex; - this.parameterTypeIndex += 1; - if (index >= this.paramTypes.length || this.hasConsumedArguments) { - if (this.restType == null) { - return null; - } - switch (this.restType.kind) { - case 1 /* RestTypeKind.Tuple */: { - const typeArguments = this.restType.typeArguments; - if (this.hasConsumedArguments) { - // all types consumed by a rest - just assume it's the last type - // there is one edge case where this is wrong, but we ignore it because - // it's rare and really complicated to handle - // eg: function foo(...a: [number, ...string[], number]) - return typeArguments[typeArguments.length - 1]; - } - const typeIndex = index - this.restType.index; - if (typeIndex >= typeArguments.length) { - return typeArguments[typeArguments.length - 1]; - } - return typeArguments[typeIndex]; - } - case 0 /* RestTypeKind.Array */: - case 2 /* RestTypeKind.Other */: - return this.restType.type; - } - } - return this.paramTypes[index]; - } -} -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-argument', - meta: { - type: 'problem', - docs: { - description: 'Disallow calling a function with a value with type `any`', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - unsafeArgument: 'Unsafe argument of type {{sender}} assigned to a parameter of type {{receiver}}.', - unsafeArraySpread: 'Unsafe spread of an {{sender}} array type.', - unsafeSpread: 'Unsafe spread of an {{sender}} type.', - unsafeTupleSpread: 'Unsafe spread of a tuple type. The argument is {{sender}} and is assigned to a parameter of type {{receiver}}.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function describeType(type) { - if (tsutils.isIntrinsicErrorType(type)) { - return 'error typed'; - } - return `\`${checker.typeToString(type)}\``; - } - function describeTypeForSpread(type) { - if (checker.isArrayType(type) && - tsutils.isIntrinsicErrorType(checker.getTypeArguments(type)[0])) { - return 'error'; - } - return describeType(type); - } - function describeTypeForTuple(type) { - if (tsutils.isIntrinsicErrorType(type)) { - return 'error typed'; - } - return `of type \`${checker.typeToString(type)}\``; - } - function checkUnsafeArguments(args, callee, node) { - if (args.length === 0) { - return; - } - // ignore any-typed calls as these are caught by no-unsafe-call - if ((0, util_1.isTypeAnyType)(services.getTypeAtLocation(callee))) { - return; - } - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - const signature = (0, util_1.nullThrows)(FunctionSignature.create(checker, tsNode), 'Expected to a signature resolved'); - if (node.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression) { - // Consumes the first parameter (TemplateStringsArray) of the function called with TaggedTemplateExpression. - signature.getNextParameterType(); - } - for (const argument of args) { - switch (argument.type) { - // spreads consume - case utils_1.AST_NODE_TYPES.SpreadElement: { - const spreadArgType = services.getTypeAtLocation(argument.argument); - if ((0, util_1.isTypeAnyType)(spreadArgType)) { - // foo(...any) - context.report({ - node: argument, - messageId: 'unsafeSpread', - data: { sender: describeType(spreadArgType) }, - }); - } - else if ((0, util_1.isTypeAnyArrayType)(spreadArgType, checker)) { - // foo(...any[]) - // TODO - we could break down the spread and compare the array type against each argument - context.report({ - node: argument, - messageId: 'unsafeArraySpread', - data: { sender: describeTypeForSpread(spreadArgType) }, - }); - } - else if (checker.isTupleType(spreadArgType)) { - // foo(...[tuple1, tuple2]) - const spreadTypeArguments = checker.getTypeArguments(spreadArgType); - for (const tupleType of spreadTypeArguments) { - const parameterType = signature.getNextParameterType(); - if (parameterType == null) { - continue; - } - const result = (0, util_1.isUnsafeAssignment)(tupleType, parameterType, checker, - // we can't pass the individual tuple members in here as this will most likely be a spread variable - // not a spread array - null); - if (result) { - context.report({ - node: argument, - messageId: 'unsafeTupleSpread', - data: { - receiver: describeType(parameterType), - sender: describeTypeForTuple(tupleType), - }, - }); - } - } - if (spreadArgType.target.combinedFlags & ts.ElementFlags.Variable) { - // the last element was a rest - so all remaining defined arguments can be considered "consumed" - // all remaining arguments should be compared against the rest type (if one exists) - signature.consumeRemainingArguments(); - } - } - else { - // something that's iterable - // handling this will be pretty complex - so we ignore it for now - // TODO - handle generic iterable case - } - break; - } - default: { - const parameterType = signature.getNextParameterType(); - if (parameterType == null) { - continue; - } - const argumentType = services.getTypeAtLocation(argument); - const result = (0, util_1.isUnsafeAssignment)(argumentType, parameterType, checker, argument); - if (result) { - context.report({ - node: argument, - messageId: 'unsafeArgument', - data: { - receiver: describeType(parameterType), - sender: describeType(argumentType), - }, - }); - } - } - } - } - } - return { - 'CallExpression, NewExpression'(node) { - checkUnsafeArguments(node.arguments, node.callee, node); - }, - TaggedTemplateExpression(node) { - checkUnsafeArguments(node.quasi.expressions, node.tag, node); - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-argument.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map deleted file mode 100644 index 1f349eca..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-argument.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-argument.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js deleted file mode 100644 index aa35a0d7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js +++ /dev/null @@ -1,307 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-assignment', - meta: { - type: 'problem', - docs: { - description: 'Disallow assigning a value with type `any` to variables and properties', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - anyAssignment: 'Unsafe assignment of an {{sender}} value.', - anyAssignmentThis: [ - 'Unsafe assignment of an {{sender}} value. `this` is typed as `any`.', - 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', - ].join('\n'), - unsafeArrayPattern: 'Unsafe array destructuring of an {{sender}} array value.', - unsafeArrayPatternFromTuple: 'Unsafe array destructuring of a tuple element with an {{sender}} value.', - unsafeArraySpread: 'Unsafe spread of an {{sender}} value in an array.', - unsafeAssignment: 'Unsafe assignment of type {{sender}} to a variable of type {{receiver}}.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const compilerOptions = services.program.getCompilerOptions(); - const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); - // returns true if the assignment reported - function checkArrayDestructureHelper(receiverNode, senderNode) { - if (receiverNode.type !== utils_1.AST_NODE_TYPES.ArrayPattern) { - return false; - } - const senderTsNode = services.esTreeNodeToTSNodeMap.get(senderNode); - const senderType = services.getTypeAtLocation(senderNode); - return checkArrayDestructure(receiverNode, senderType, senderTsNode); - } - // returns true if the assignment reported - function checkArrayDestructure(receiverNode, senderType, senderNode) { - // any array - // const [x] = ([] as any[]); - if ((0, util_1.isTypeAnyArrayType)(senderType, checker)) { - context.report({ - node: receiverNode, - messageId: 'unsafeArrayPattern', - data: createData(senderType), - }); - return false; - } - if (!checker.isTupleType(senderType)) { - return true; - } - const tupleElements = checker.getTypeArguments(senderType); - // tuple with any - // const [x] = [1 as any]; - let didReport = false; - for (let receiverIndex = 0; receiverIndex < receiverNode.elements.length; receiverIndex += 1) { - const receiverElement = receiverNode.elements[receiverIndex]; - if (!receiverElement) { - continue; - } - if (receiverElement.type === utils_1.AST_NODE_TYPES.RestElement) { - // don't handle rests as they're not a 1:1 assignment - continue; - } - const senderType = tupleElements[receiverIndex]; - if (!senderType) { - continue; - } - // check for the any type first so we can handle [[[x]]] = [any] - if ((0, util_1.isTypeAnyType)(senderType)) { - context.report({ - node: receiverElement, - messageId: 'unsafeArrayPatternFromTuple', - data: createData(senderType), - }); - // we want to report on every invalid element in the tuple - didReport = true; - } - else if (receiverElement.type === utils_1.AST_NODE_TYPES.ArrayPattern) { - didReport = checkArrayDestructure(receiverElement, senderType, senderNode); - } - else if (receiverElement.type === utils_1.AST_NODE_TYPES.ObjectPattern) { - didReport = checkObjectDestructure(receiverElement, senderType, senderNode); - } - } - return didReport; - } - // returns true if the assignment reported - function checkObjectDestructureHelper(receiverNode, senderNode) { - if (receiverNode.type !== utils_1.AST_NODE_TYPES.ObjectPattern) { - return false; - } - const senderTsNode = services.esTreeNodeToTSNodeMap.get(senderNode); - const senderType = services.getTypeAtLocation(senderNode); - return checkObjectDestructure(receiverNode, senderType, senderTsNode); - } - // returns true if the assignment reported - function checkObjectDestructure(receiverNode, senderType, senderNode) { - const properties = new Map(senderType - .getProperties() - .map(property => [ - property.getName(), - checker.getTypeOfSymbolAtLocation(property, senderNode), - ])); - let didReport = false; - for (const receiverProperty of receiverNode.properties) { - if (receiverProperty.type === utils_1.AST_NODE_TYPES.RestElement) { - // don't bother checking rest - continue; - } - let key; - if (!receiverProperty.computed) { - key = - receiverProperty.key.type === utils_1.AST_NODE_TYPES.Identifier - ? receiverProperty.key.name - : String(receiverProperty.key.value); - } - else if (receiverProperty.key.type === utils_1.AST_NODE_TYPES.Literal) { - key = String(receiverProperty.key.value); - } - else if (receiverProperty.key.type === utils_1.AST_NODE_TYPES.TemplateLiteral && - receiverProperty.key.quasis.length === 1) { - key = String(receiverProperty.key.quasis[0].value.cooked); - } - else { - // can't figure out the name, so skip it - continue; - } - const senderType = properties.get(key); - if (!senderType) { - continue; - } - // check for the any type first so we can handle {x: {y: z}} = {x: any} - if ((0, util_1.isTypeAnyType)(senderType)) { - context.report({ - node: receiverProperty.value, - messageId: 'unsafeArrayPatternFromTuple', - data: createData(senderType), - }); - didReport = true; - } - else if (receiverProperty.value.type === utils_1.AST_NODE_TYPES.ArrayPattern) { - didReport = checkArrayDestructure(receiverProperty.value, senderType, senderNode); - } - else if (receiverProperty.value.type === utils_1.AST_NODE_TYPES.ObjectPattern) { - didReport = checkObjectDestructure(receiverProperty.value, senderType, senderNode); - } - } - return didReport; - } - // returns true if the assignment reported - function checkAssignment(receiverNode, senderNode, reportingNode, comparisonType) { - const receiverTsNode = services.esTreeNodeToTSNodeMap.get(receiverNode); - const receiverType = comparisonType === 2 /* ComparisonType.Contextual */ - ? (0, util_1.getContextualType)(checker, receiverTsNode) ?? - services.getTypeAtLocation(receiverNode) - : services.getTypeAtLocation(receiverNode); - const senderType = services.getTypeAtLocation(senderNode); - if ((0, util_1.isTypeAnyType)(senderType)) { - // handle cases when we assign any ==> unknown. - if ((0, util_1.isTypeUnknownType)(receiverType)) { - return false; - } - let messageId = 'anyAssignment'; - if (!isNoImplicitThis) { - // `var foo = this` - const thisExpression = (0, util_1.getThisExpression)(senderNode); - if (thisExpression && - (0, util_1.isTypeAnyType)((0, util_1.getConstrainedTypeAtLocation)(services, thisExpression))) { - messageId = 'anyAssignmentThis'; - } - } - context.report({ - node: reportingNode, - messageId, - data: createData(senderType), - }); - return true; - } - if (comparisonType === 0 /* ComparisonType.None */) { - return false; - } - const result = (0, util_1.isUnsafeAssignment)(senderType, receiverType, checker, senderNode); - if (!result) { - return false; - } - const { receiver, sender } = result; - context.report({ - node: reportingNode, - messageId: 'unsafeAssignment', - data: createData(sender, receiver), - }); - return true; - } - function getComparisonType(typeAnnotation) { - return typeAnnotation - ? // if there's a type annotation, we can do a comparison - 1 /* ComparisonType.Basic */ - : // no type annotation means the variable's type will just be inferred, thus equal - 0 /* ComparisonType.None */; - } - function createData(senderType, receiverType) { - if (receiverType) { - return { - receiver: `\`${checker.typeToString(receiverType)}\``, - sender: `\`${checker.typeToString(senderType)}\``, - }; - } - return { - sender: tsutils.isIntrinsicErrorType(senderType) - ? 'error typed' - : '`any`', - }; - } - return { - 'AssignmentExpression[operator = "="], AssignmentPattern'(node) { - let didReport = checkAssignment(node.left, node.right, node, 1 /* ComparisonType.Basic */); - if (!didReport) { - didReport = checkArrayDestructureHelper(node.left, node.right); - } - if (!didReport) { - checkObjectDestructureHelper(node.left, node.right); - } - }, - 'PropertyDefinition[value != null]'(node) { - checkAssignment(node.key, node.value, node, getComparisonType(node.typeAnnotation)); - }, - 'VariableDeclarator[init != null]'(node) { - const init = (0, util_1.nullThrows)(node.init, util_1.NullThrowsReasons.MissingToken(node.type, 'init')); - let didReport = checkAssignment(node.id, init, node, getComparisonType(node.id.typeAnnotation)); - if (!didReport) { - didReport = checkArrayDestructureHelper(node.id, init); - } - if (!didReport) { - checkObjectDestructureHelper(node.id, init); - } - }, - // object pattern props are checked via assignments - ':not(ObjectPattern) > Property'(node) { - if (node.value.type === utils_1.AST_NODE_TYPES.AssignmentPattern || - node.value.type === utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression) { - // handled by other selector - return; - } - checkAssignment(node.key, node.value, node, 2 /* ComparisonType.Contextual */); - }, - 'ArrayExpression > SpreadElement'(node) { - const restType = services.getTypeAtLocation(node.argument); - if ((0, util_1.isTypeAnyType)(restType) || (0, util_1.isTypeAnyArrayType)(restType, checker)) { - context.report({ - node, - messageId: 'unsafeArraySpread', - data: createData(restType), - }); - } - }, - 'JSXAttribute[value != null]'(node) { - const value = (0, util_1.nullThrows)(node.value, util_1.NullThrowsReasons.MissingToken(node.type, 'value')); - if (value.type !== utils_1.AST_NODE_TYPES.JSXExpressionContainer || - value.expression.type === utils_1.AST_NODE_TYPES.JSXEmptyExpression) { - return; - } - checkAssignment(node.name, value.expression, value.expression, 2 /* ComparisonType.Contextual */); - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-assignment.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map deleted file mode 100644 index a81e7586..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-assignment.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-assignment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js deleted file mode 100644 index c6ca5668..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js +++ /dev/null @@ -1,132 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-call', - meta: { - type: 'problem', - docs: { - description: 'Disallow calling a value with type `any`', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - unsafeCall: 'Unsafe call of a(n) {{type}} typed value.', - unsafeCallThis: [ - 'Unsafe call of a(n) {{type}} typed value. `this` is typed as {{type}}.', - 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', - ].join('\n'), - unsafeNew: 'Unsafe construction of a(n) {{type}} typed value.', - unsafeTemplateTag: 'Unsafe use of a(n) {{type}} typed template tag.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const compilerOptions = services.program.getCompilerOptions(); - const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); - function checkCall(node, reportingNode, messageId) { - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node); - if ((0, util_1.isTypeAnyType)(type)) { - if (!isNoImplicitThis) { - // `this()` or `this.foo()` or `this.foo[bar]()` - const thisExpression = (0, util_1.getThisExpression)(node); - if (thisExpression && - (0, util_1.isTypeAnyType)((0, util_1.getConstrainedTypeAtLocation)(services, thisExpression))) { - messageId = 'unsafeCallThis'; - } - } - const isErrorType = tsutils.isIntrinsicErrorType(type); - context.report({ - node: reportingNode, - messageId, - data: { - type: isErrorType ? '`error` type' : '`any`', - }, - }); - return; - } - if ((0, util_1.isBuiltinSymbolLike)(services.program, type, 'Function')) { - // this also matches subtypes of `Function`, like `interface Foo extends Function {}`. - // - // For weird TS reasons that I don't understand, these are - // - // safe to construct if: - // - they have at least one call signature _that is not void-returning_, - // - OR they have at least one construct signature. - // - // safe to call (including as template) if: - // - they have at least one call signature - // - OR they have at least one construct signature. - const constructSignatures = type.getConstructSignatures(); - if (constructSignatures.length > 0) { - return; - } - const callSignatures = type.getCallSignatures(); - if (messageId === 'unsafeNew') { - if (callSignatures.some(signature => !tsutils.isIntrinsicVoidType(signature.getReturnType()))) { - return; - } - } - else if (callSignatures.length > 0) { - return; - } - context.report({ - node: reportingNode, - messageId, - data: { - type: '`Function`', - }, - }); - return; - } - } - return { - 'CallExpression > *.callee'(node) { - checkCall(node, node, 'unsafeCall'); - }, - NewExpression(node) { - checkCall(node.callee, node, 'unsafeNew'); - }, - 'TaggedTemplateExpression > *.tag'(node) { - checkCall(node, node, 'unsafeTemplateTag'); - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-call.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map deleted file mode 100644 index e27acb65..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-call.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sDAAwC;AAExC,kCAOiB;AAQjB,kBAAe,IAAA,iBAAU,EAAiB;IACxC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,0CAA0C;YACvD,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,2CAA2C;YACvD,cAAc,EAAE;gBACd,wEAAwE;gBACxE,2HAA2H;aAC5H,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,mDAAmD;YAC9D,iBAAiB,EAAE,iDAAiD;SACrE;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC9D,MAAM,gBAAgB,GAAG,OAAO,CAAC,6BAA6B,CAC5D,eAAe,EACf,gBAAgB,CACjB,CAAC;QAEF,SAAS,SAAS,CAChB,IAAmB,EACnB,aAA4B,EAC5B,SAAqB;YAErB,MAAM,IAAI,GAAG,IAAA,mCAA4B,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE1D,IAAI,IAAA,oBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,gDAAgD;oBAChD,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAC;oBAC/C,IACE,cAAc;wBACd,IAAA,oBAAa,EACX,IAAA,mCAA4B,EAAC,QAAQ,EAAE,cAAc,CAAC,CACvD,EACD,CAAC;wBACD,SAAS,GAAG,gBAAgB,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEvD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,aAAa;oBACnB,SAAS;oBACT,IAAI,EAAE;wBACJ,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;qBAC7C;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,IAAA,0BAAmB,EAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC5D,sFAAsF;gBACtF,EAAE;gBACF,0DAA0D;gBAC1D,EAAE;gBACF,wBAAwB;gBACxB,wEAAwE;gBACxE,mDAAmD;gBACnD,EAAE;gBACF,2CAA2C;gBAC3C,0CAA0C;gBAC1C,mDAAmD;gBAEnD,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC1D,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO;gBACT,CAAC;gBAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAChD,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;oBAC9B,IACE,cAAc,CAAC,IAAI,CACjB,SAAS,CAAC,EAAE,CACV,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAC1D,EACD,CAAC;wBACD,OAAO;oBACT,CAAC;gBACH,CAAC;qBAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,aAAa;oBACnB,SAAS;oBACT,IAAI,EAAE;wBACJ,IAAI,EAAE,YAAY;qBACnB;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO;YACL,2BAA2B,CACzB,IAAuC;gBAEvC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC;YACD,aAAa,CAAC,IAAI;gBAChB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC;YACD,kCAAkC,CAAC,IAAmB;gBACpD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js deleted file mode 100644 index 8781f538..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-declaration-merging', - meta: { - type: 'problem', - docs: { - description: 'Disallow unsafe declaration merging', - recommended: 'recommended', - requiresTypeChecking: false, - }, - messages: { - unsafeMerging: 'Unsafe declaration merging between classes and interfaces.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function checkUnsafeDeclaration(scope, node, unsafeKind) { - const variable = scope.set.get(node.name); - if (!variable) { - return; - } - const defs = variable.defs; - if (defs.length <= 1) { - return; - } - if (defs.some(def => def.node.type === unsafeKind)) { - context.report({ - node, - messageId: 'unsafeMerging', - }); - } - } - return { - ClassDeclaration(node) { - if (node.id) { - // by default eslint returns the inner class scope for the ClassDeclaration node - // but we want the outer scope within which merged variables will sit - const currentScope = context.sourceCode.getScope(node).upper; - if (currentScope == null) { - return; - } - checkUnsafeDeclaration(currentScope, node.id, utils_1.AST_NODE_TYPES.TSInterfaceDeclaration); - } - }, - TSInterfaceDeclaration(node) { - checkUnsafeDeclaration(context.sourceCode.getScope(node), node.id, utils_1.AST_NODE_TYPES.ClassDeclaration); - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-declaration-merging.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js.map deleted file mode 100644 index bdb81977..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-declaration-merging.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-declaration-merging.ts"],"names":[],"mappings":";;AAGA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,qCAAqC;YAClD,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,KAAK;SAC5B;QACD,QAAQ,EAAE;YACR,aAAa,EACX,4DAA4D;SAC/D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,sBAAsB,CAC7B,KAAY,EACZ,IAAyB,EACzB,UAA0B;YAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,eAAe;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,gBAAgB,CAAC,IAAI;gBACnB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,gFAAgF;oBAChF,qEAAqE;oBACrE,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;oBAC7D,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;wBACzB,OAAO;oBACT,CAAC;oBAED,sBAAsB,CACpB,YAAY,EACZ,IAAI,CAAC,EAAE,EACP,sBAAc,CAAC,sBAAsB,CACtC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,sBAAsB,CAAC,IAAI;gBACzB,sBAAsB,CACpB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EACjC,IAAI,CAAC,EAAE,EACP,sBAAc,CAAC,gBAAgB,CAChC,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js deleted file mode 100644 index ae7dacb9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js +++ /dev/null @@ -1,191 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const shared_1 = require("./enum-utils/shared"); -/** - * @returns Whether the right type is an unsafe comparison against any left type. - */ -function typeViolates(leftTypeParts, rightType) { - const leftEnumValueTypes = new Set(leftTypeParts.map(getEnumValueType)); - return ((leftEnumValueTypes.has(ts.TypeFlags.Number) && isNumberLike(rightType)) || - (leftEnumValueTypes.has(ts.TypeFlags.String) && isStringLike(rightType))); -} -function isNumberLike(type) { - const typeParts = tsutils.intersectionTypeParts(type); - return typeParts.some(typePart => { - return tsutils.isTypeFlagSet(typePart, ts.TypeFlags.Number | ts.TypeFlags.NumberLike); - }); -} -function isStringLike(type) { - const typeParts = tsutils.intersectionTypeParts(type); - return typeParts.some(typePart => { - return tsutils.isTypeFlagSet(typePart, ts.TypeFlags.String | ts.TypeFlags.StringLike); - }); -} -/** - * @returns What type a type's enum value is (number or string), if either. - */ -function getEnumValueType(type) { - return tsutils.isTypeFlagSet(type, ts.TypeFlags.EnumLike) - ? tsutils.isTypeFlagSet(type, ts.TypeFlags.NumberLiteral) - ? ts.TypeFlags.Number - : ts.TypeFlags.String - : undefined; -} -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-enum-comparison', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow comparing an enum value with a non-enum value', - recommended: 'recommended', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - mismatchedCase: 'The case statement does not have a shared enum type with the switch predicate.', - mismatchedCondition: 'The two values in this comparison do not have a shared enum type.', - replaceValueWithEnum: 'Replace with an enum value comparison.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const parserServices = (0, util_1.getParserServices)(context); - const typeChecker = parserServices.program.getTypeChecker(); - function isMismatchedComparison(leftType, rightType) { - // Allow comparisons that don't have anything to do with enums: - // - // ```ts - // 1 === 2; - // ``` - const leftEnumTypes = (0, shared_1.getEnumTypes)(typeChecker, leftType); - const rightEnumTypes = new Set((0, shared_1.getEnumTypes)(typeChecker, rightType)); - if (leftEnumTypes.length === 0 && rightEnumTypes.size === 0) { - return false; - } - // Allow comparisons that share an enum type: - // - // ```ts - // Fruit.Apple === Fruit.Banana; - // ``` - for (const leftEnumType of leftEnumTypes) { - if (rightEnumTypes.has(leftEnumType)) { - return false; - } - } - // We need to split the type into the union type parts in order to find - // valid enum comparisons like: - // - // ```ts - // declare const something: Fruit | Vegetable; - // something === Fruit.Apple; - // ``` - const leftTypeParts = tsutils.unionTypeParts(leftType); - const rightTypeParts = tsutils.unionTypeParts(rightType); - // If a type exists in both sides, we consider this comparison safe: - // - // ```ts - // declare const fruit: Fruit.Apple | 0; - // fruit === 0; - // ``` - for (const leftTypePart of leftTypeParts) { - if (rightTypeParts.includes(leftTypePart)) { - return false; - } - } - return (typeViolates(leftTypeParts, rightType) || - typeViolates(rightTypeParts, leftType)); - } - return { - 'BinaryExpression[operator=/^[<>!=]?={0,2}$/]'(node) { - const leftType = parserServices.getTypeAtLocation(node.left); - const rightType = parserServices.getTypeAtLocation(node.right); - if (isMismatchedComparison(leftType, rightType)) { - context.report({ - node, - messageId: 'mismatchedCondition', - suggest: [ - { - messageId: 'replaceValueWithEnum', - fix(fixer) { - // Replace the right side with an enum key if possible: - // - // ```ts - // Fruit.Apple === 'apple'; // Fruit.Apple === Fruit.Apple - // ``` - const leftEnumKey = (0, shared_1.getEnumKeyForLiteral)((0, shared_1.getEnumLiterals)(leftType), (0, util_1.getStaticValue)(node.right)?.value); - if (leftEnumKey) { - return fixer.replaceText(node.right, leftEnumKey); - } - // Replace the left side with an enum key if possible: - // - // ```ts - // declare const fruit: Fruit; - // 'apple' === Fruit.Apple; // Fruit.Apple === Fruit.Apple - // ``` - const rightEnumKey = (0, shared_1.getEnumKeyForLiteral)((0, shared_1.getEnumLiterals)(rightType), (0, util_1.getStaticValue)(node.left)?.value); - if (rightEnumKey) { - return fixer.replaceText(node.left, rightEnumKey); - } - return null; - }, - }, - ], - }); - } - }, - SwitchCase(node) { - // Ignore `default` cases. - if (node.test == null) { - return; - } - const { parent } = node; - const leftType = parserServices.getTypeAtLocation(parent.discriminant); - const rightType = parserServices.getTypeAtLocation(node.test); - if (isMismatchedComparison(leftType, rightType)) { - context.report({ - node, - messageId: 'mismatchedCase', - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-enum-comparison.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js.map deleted file mode 100644 index 914eac98..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-enum-comparison.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-enum-comparison.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-enum-comparison.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js deleted file mode 100644 index 84c60c03..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-function-type', - meta: { - type: 'problem', - docs: { - description: 'Disallow using the unsafe built-in Function type', - recommended: 'recommended', - }, - fixable: 'code', - messages: { - bannedFunctionType: [ - 'The `Function` type accepts any function-like value.', - 'Prefer explicitly defining any function parameters and return type.', - ].join('\n'), - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function checkBannedTypes(node) { - if (node.type === utils_1.AST_NODE_TYPES.Identifier && - node.name === 'Function' && - (0, util_1.isReferenceToGlobalFunction)('Function', node, context.sourceCode)) { - context.report({ - node, - messageId: 'bannedFunctionType', - }); - } - } - return { - TSClassImplements(node) { - checkBannedTypes(node.expression); - }, - TSInterfaceHeritage(node) { - checkBannedTypes(node.expression); - }, - TSTypeReference(node) { - checkBannedTypes(node.typeName); - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-function-type.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js.map deleted file mode 100644 index e2c0cea5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-function-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-function-type.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-function-type.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAkE;AAElE,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,kDAAkD;YAC/D,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,kBAAkB,EAAE;gBAClB,sDAAsD;gBACtD,qEAAqE;aACtE,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,gBAAgB,CAAC,IAAmB;YAC3C,IACE,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBACvC,IAAI,CAAC,IAAI,KAAK,UAAU;gBACxB,IAAA,kCAA2B,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EACjE,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI;oBACJ,SAAS,EAAE,oBAAoB;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,IAAI;gBACpB,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;YACD,mBAAmB,CAAC,IAAI;gBACtB,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;YACD,eAAe,CAAC,IAAI;gBAClB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js deleted file mode 100644 index 8e7d6407..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js +++ /dev/null @@ -1,137 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -function createDataType(type) { - const isErrorType = tsutils.isIntrinsicErrorType(type); - return isErrorType ? '`error` typed' : '`any`'; -} -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-member-access', - meta: { - type: 'problem', - docs: { - description: 'Disallow member access on a value with type `any`', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - unsafeComputedMemberAccess: 'Computed name {{property}} resolves to an {{type}} value.', - unsafeMemberExpression: 'Unsafe member access {{property}} on an {{type}} value.', - unsafeThisMemberExpression: [ - 'Unsafe member access {{property}} on an `any` value. `this` is typed as `any`.', - 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', - ].join('\n'), - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const compilerOptions = services.program.getCompilerOptions(); - const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); - const stateCache = new Map(); - function checkMemberExpression(node) { - const cachedState = stateCache.get(node); - if (cachedState) { - return cachedState; - } - if (node.object.type === utils_1.AST_NODE_TYPES.MemberExpression) { - const objectState = checkMemberExpression(node.object); - if (objectState === 1 /* State.Unsafe */) { - // if the object is unsafe, we know this will be unsafe as well - // we don't need to report, as we have already reported on the inner member expr - stateCache.set(node, objectState); - return objectState; - } - } - const type = services.getTypeAtLocation(node.object); - const state = (0, util_1.isTypeAnyType)(type) ? 1 /* State.Unsafe */ : 2 /* State.Safe */; - stateCache.set(node, state); - if (state === 1 /* State.Unsafe */) { - const propertyName = context.sourceCode.getText(node.property); - let messageId = 'unsafeMemberExpression'; - if (!isNoImplicitThis) { - // `this.foo` or `this.foo[bar]` - const thisExpression = (0, util_1.getThisExpression)(node); - if (thisExpression && - (0, util_1.isTypeAnyType)((0, util_1.getConstrainedTypeAtLocation)(services, thisExpression))) { - messageId = 'unsafeThisMemberExpression'; - } - } - context.report({ - node: node.property, - messageId, - data: { - type: createDataType(type), - property: node.computed ? `[${propertyName}]` : `.${propertyName}`, - }, - }); - } - return state; - } - return { - // ignore MemberExpressions with ancestors of type `TSClassImplements` or `TSInterfaceHeritage` - 'MemberExpression:not(TSClassImplements MemberExpression, TSInterfaceHeritage MemberExpression)': checkMemberExpression, - 'MemberExpression[computed = true] > *.property'(node) { - if ( - // x[1] - node.type === utils_1.AST_NODE_TYPES.Literal || - // x[1++] x[++x] etc - // FUN FACT - **all** update expressions return type number, regardless of the argument's type, - // because JS engines return NaN if there the argument is not a number. - node.type === utils_1.AST_NODE_TYPES.UpdateExpression) { - // perf optimizations - literals can obviously never be `any` - return; - } - const type = services.getTypeAtLocation(node); - if ((0, util_1.isTypeAnyType)(type)) { - const propertyName = context.sourceCode.getText(node); - context.report({ - node, - messageId: 'unsafeComputedMemberAccess', - data: { - type: createDataType(type), - property: `[${propertyName}]`, - }, - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-member-access.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map deleted file mode 100644 index 25f8402b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-member-access.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-member-access.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js deleted file mode 100644 index eb561f99..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js +++ /dev/null @@ -1,186 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getParentFunctionNode_1 = require("../util/getParentFunctionNode"); -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-return', - meta: { - type: 'problem', - docs: { - description: 'Disallow returning a value with type `any` from a function', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - unsafeReturn: 'Unsafe return of a value of type {{type}}.', - unsafeReturnAssignment: 'Unsafe return of type `{{sender}}` from function with return type `{{receiver}}`.', - unsafeReturnThis: [ - 'Unsafe return of a value of type `{{type}}`. `this` is typed as `any`.', - 'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.', - ].join('\n'), - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const compilerOptions = services.program.getCompilerOptions(); - const isNoImplicitThis = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'noImplicitThis'); - function checkReturn(returnNode, reportingNode = returnNode) { - const tsNode = services.esTreeNodeToTSNodeMap.get(returnNode); - const type = checker.getTypeAtLocation(tsNode); - const anyType = (0, util_1.discriminateAnyType)(type, checker, services.program, tsNode); - const functionNode = (0, getParentFunctionNode_1.getParentFunctionNode)(returnNode); - /* istanbul ignore if */ if (!functionNode) { - return; - } - // function has an explicit return type, so ensure it's a safe return - const returnNodeType = (0, util_1.getConstrainedTypeAtLocation)(services, returnNode); - const functionTSNode = services.esTreeNodeToTSNodeMap.get(functionNode); - // function expressions will not have their return type modified based on receiver typing - // so we have to use the contextual typing in these cases, i.e. - // const foo1: () => Set = () => new Set(); - // the return type of the arrow function is Set even though the variable is typed as Set - let functionType = ts.isFunctionExpression(functionTSNode) || - ts.isArrowFunction(functionTSNode) - ? (0, util_1.getContextualType)(checker, functionTSNode) - : services.getTypeAtLocation(functionNode); - if (!functionType) { - functionType = services.getTypeAtLocation(functionNode); - } - const callSignatures = tsutils.getCallSignaturesOfType(functionType); - // If there is an explicit type annotation *and* that type matches the actual - // function return type, we shouldn't complain (it's intentional, even if unsafe) - if (functionTSNode.type) { - for (const signature of callSignatures) { - const signatureReturnType = signature.getReturnType(); - if (returnNodeType === signatureReturnType || - (0, util_1.isTypeFlagSet)(signatureReturnType, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) { - return; - } - if (functionNode.async) { - const awaitedSignatureReturnType = checker.getAwaitedType(signatureReturnType); - const awaitedReturnNodeType = checker.getAwaitedType(returnNodeType); - if (awaitedReturnNodeType === awaitedSignatureReturnType || - (awaitedSignatureReturnType && - (0, util_1.isTypeFlagSet)(awaitedSignatureReturnType, ts.TypeFlags.Any | ts.TypeFlags.Unknown))) { - return; - } - } - } - } - if (anyType !== util_1.AnyType.Safe) { - // Allow cases when the declared return type of the function is either unknown or unknown[] - // and the function is returning any or any[]. - for (const signature of callSignatures) { - const functionReturnType = signature.getReturnType(); - if (anyType === util_1.AnyType.Any && - (0, util_1.isTypeUnknownType)(functionReturnType)) { - return; - } - if (anyType === util_1.AnyType.AnyArray && - (0, util_1.isTypeUnknownArrayType)(functionReturnType, checker)) { - return; - } - const awaitedType = checker.getAwaitedType(functionReturnType); - if (awaitedType && - anyType === util_1.AnyType.PromiseAny && - (0, util_1.isTypeUnknownType)(awaitedType)) { - return; - } - } - if (anyType === util_1.AnyType.PromiseAny && !functionNode.async) { - return; - } - let messageId = 'unsafeReturn'; - const isErrorType = tsutils.isIntrinsicErrorType(returnNodeType); - if (!isNoImplicitThis) { - // `return this` - const thisExpression = (0, util_1.getThisExpression)(returnNode); - if (thisExpression && - (0, util_1.isTypeAnyType)((0, util_1.getConstrainedTypeAtLocation)(services, thisExpression))) { - messageId = 'unsafeReturnThis'; - } - } - // If the function return type was not unknown/unknown[], mark usage as unsafeReturn. - return context.report({ - node: reportingNode, - messageId, - data: { - type: isErrorType - ? 'error' - : anyType === util_1.AnyType.Any - ? '`any`' - : anyType === util_1.AnyType.PromiseAny - ? '`Promise`' - : '`any[]`', - }, - }); - } - const signature = functionType.getCallSignatures().at(0); - if (signature) { - const functionReturnType = signature.getReturnType(); - const result = (0, util_1.isUnsafeAssignment)(returnNodeType, functionReturnType, checker, returnNode); - if (!result) { - return; - } - const { receiver, sender } = result; - return context.report({ - node: reportingNode, - messageId: 'unsafeReturnAssignment', - data: { - receiver: checker.typeToString(receiver), - sender: checker.typeToString(sender), - }, - }); - } - } - return { - 'ArrowFunctionExpression > :not(BlockStatement).body': checkReturn, - ReturnStatement(node) { - const argument = node.argument; - if (!argument) { - return; - } - checkReturn(argument, node); - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-return.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map deleted file mode 100644 index 029c127a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-return.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-return.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js deleted file mode 100644 index 719bfc95..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js +++ /dev/null @@ -1,127 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-unsafe-type-assertion', - meta: { - type: 'problem', - docs: { - description: 'Disallow type assertions that narrow a type', - requiresTypeChecking: true, - }, - messages: { - unsafeOfAnyTypeAssertion: 'Unsafe assertion from {{type}} detected: consider using type guards or a safer assertion.', - unsafeToAnyTypeAssertion: 'Unsafe assertion to {{type}} detected: consider using a more specific type to ensure safety.', - unsafeTypeAssertion: "Unsafe type assertion: type '{{type}}' is more narrow than the original type.", - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function getAnyTypeName(type) { - return tsutils.isIntrinsicErrorType(type) ? 'error typed' : '`any`'; - } - function isObjectLiteralType(type) { - return (tsutils.isObjectType(type) && - tsutils.isObjectFlagSet(type, ts.ObjectFlags.ObjectLiteral)); - } - function checkExpression(node) { - const expressionType = (0, util_1.getConstrainedTypeAtLocation)(services, node.expression); - const assertedType = (0, util_1.getConstrainedTypeAtLocation)(services, node.typeAnnotation); - if (expressionType === assertedType) { - return; - } - // handle cases when asserting unknown ==> any. - if ((0, util_1.isTypeAnyType)(assertedType) && (0, util_1.isTypeUnknownType)(expressionType)) { - context.report({ - node, - messageId: 'unsafeToAnyTypeAssertion', - data: { - type: '`any`', - }, - }); - return; - } - const unsafeExpressionAny = (0, util_1.isUnsafeAssignment)(expressionType, assertedType, checker, node.expression); - if (unsafeExpressionAny) { - context.report({ - node, - messageId: 'unsafeOfAnyTypeAssertion', - data: { - type: getAnyTypeName(unsafeExpressionAny.sender), - }, - }); - return; - } - const unsafeAssertedAny = (0, util_1.isUnsafeAssignment)(assertedType, expressionType, checker, node.typeAnnotation); - if (unsafeAssertedAny) { - context.report({ - node, - messageId: 'unsafeToAnyTypeAssertion', - data: { - type: getAnyTypeName(unsafeAssertedAny.sender), - }, - }); - return; - } - // Use the widened type in case of an object literal so `isTypeAssignableTo()` - // won't fail on excess property check. - const nodeWidenedType = isObjectLiteralType(expressionType) - ? checker.getWidenedType(expressionType) - : expressionType; - const isAssertionSafe = checker.isTypeAssignableTo(nodeWidenedType, assertedType); - if (!isAssertionSafe) { - context.report({ - node, - messageId: 'unsafeTypeAssertion', - data: { - type: checker.typeToString(assertedType), - }, - }); - } - } - return { - 'TSAsExpression, TSTypeAssertion'(node) { - checkExpression(node); - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-type-assertion.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js.map deleted file mode 100644 index 677c7cd2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-type-assertion.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-type-assertion.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-type-assertion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js deleted file mode 100644 index a2a05414..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util = __importStar(require("../util")); -exports.default = util.createRule({ - name: 'no-unsafe-unary-minus', - meta: { - type: 'problem', - docs: { - description: 'Require unary negation to take a number', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - unaryMinus: 'Argument of unary negation should be assignable to number | bigint but is {{type}} instead.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - UnaryExpression(node) { - if (node.operator !== '-') { - return; - } - const services = util.getParserServices(context); - const argType = util.getConstrainedTypeAtLocation(services, node.argument); - const checker = services.program.getTypeChecker(); - if (tsutils - .unionTypeParts(argType) - .some(type => !tsutils.isTypeFlagSet(type, ts.TypeFlags.Any | - ts.TypeFlags.Never | - ts.TypeFlags.BigIntLike | - ts.TypeFlags.NumberLike))) { - context.report({ - node, - messageId: 'unaryMinus', - data: { type: checker.typeToString(argType) }, - }); - } - }, - }; - }, -}); -//# sourceMappingURL=no-unsafe-unary-minus.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js.map deleted file mode 100644 index f453affb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unsafe-unary-minus.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-unary-minus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AACxC,+CAAiC;AAEjC,8CAAgC;AAKhC,kBAAe,IAAI,CAAC,UAAU,CAAsB;IAClD,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,yCAAyC;YACtD,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,UAAU,EACR,6FAA6F;SAChG;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,eAAe,CAAC,IAAI;gBAClB,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAC1B,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAC/C,QAAQ,EACR,IAAI,CAAC,QAAQ,CACd,CAAC;gBACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAClD,IACE,OAAO;qBACJ,cAAc,CAAC,OAAO,CAAC;qBACvB,IAAI,CACH,IAAI,CAAC,EAAE,CACL,CAAC,OAAO,CAAC,aAAa,CACpB,IAAI,EACJ,EAAE,CAAC,SAAS,CAAC,GAAG;oBACd,EAAE,CAAC,SAAS,CAAC,KAAK;oBAClB,EAAE,CAAC,SAAS,CAAC,UAAU;oBACvB,EAAE,CAAC,SAAS,CAAC,UAAU,CAC1B,CACJ,EACH,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,YAAY;wBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;qBAC9C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js deleted file mode 100644 index 64875d11..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-unused-expressions'); -const defaultOptions = [ - { - allowShortCircuit: false, - allowTaggedTemplates: false, - allowTernary: false, - }, -]; -exports.default = (0, util_1.createRule)({ - name: 'no-unused-expressions', - meta: { - type: 'suggestion', - defaultOptions, - docs: { - description: 'Disallow unused expressions', - extendsBaseRule: true, - recommended: 'recommended', - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: baseRule.meta.schema, - }, - defaultOptions, - create(context, [{ allowShortCircuit = false, allowTernary = false }]) { - const rules = baseRule.create(context); - function isValidExpression(node) { - if (allowShortCircuit && node.type === utils_1.AST_NODE_TYPES.LogicalExpression) { - return isValidExpression(node.right); - } - if (allowTernary && node.type === utils_1.AST_NODE_TYPES.ConditionalExpression) { - return (isValidExpression(node.alternate) && - isValidExpression(node.consequent)); - } - return ((node.type === utils_1.AST_NODE_TYPES.ChainExpression && - node.expression.type === utils_1.AST_NODE_TYPES.CallExpression) || - node.type === utils_1.AST_NODE_TYPES.ImportExpression); - } - return { - ExpressionStatement(node) { - if (node.directive || isValidExpression(node.expression)) { - return; - } - const expressionType = node.expression.type; - if (expressionType === - utils_1.TSESTree.AST_NODE_TYPES.TSInstantiationExpression || - expressionType === utils_1.TSESTree.AST_NODE_TYPES.TSAsExpression || - expressionType === utils_1.TSESTree.AST_NODE_TYPES.TSNonNullExpression || - expressionType === utils_1.TSESTree.AST_NODE_TYPES.TSTypeAssertion) { - rules.ExpressionStatement({ - ...node, - expression: node.expression.expression, - }); - return; - } - rules.ExpressionStatement(node); - }, - }; - }, -}); -//# sourceMappingURL=no-unused-expressions.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map deleted file mode 100644 index e642f432..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-expressions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unused-expressions.js","sourceRoot":"","sources":["../../src/rules/no-unused-expressions.ts"],"names":[],"mappings":";;AAAA,oDAAoE;AAOpE,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,uBAAuB,CAAC,CAAC;AAK5D,MAAM,cAAc,GAAY;IAC9B;QACE,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,YAAY,EAAE,KAAK;KACpB;CACF,CAAC;AAEF,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,cAAc;QACd,IAAI,EAAE;YACJ,WAAW,EAAE,6BAA6B;YAC1C,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc;IACd,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvC,SAAS,iBAAiB,CAAC,IAAmB;YAC5C,IAAI,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,EAAE,CAAC;gBACxE,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,qBAAqB,EAAE,CAAC;gBACvE,OAAO,CACL,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CACnC,CAAC;YACJ,CAAC;YACD,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,CAAC;gBACzD,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,CAC9C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,mBAAmB,CAAC,IAAI;gBACtB,IAAI,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzD,OAAO;gBACT,CAAC;gBAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAE5C,IACE,cAAc;oBACZ,gBAAQ,CAAC,cAAc,CAAC,yBAAyB;oBACnD,cAAc,KAAK,gBAAQ,CAAC,cAAc,CAAC,cAAc;oBACzD,cAAc,KAAK,gBAAQ,CAAC,cAAc,CAAC,mBAAmB;oBAC9D,cAAc,KAAK,gBAAQ,CAAC,cAAc,CAAC,eAAe,EAC1D,CAAC;oBACD,KAAK,CAAC,mBAAmB,CAAC;wBACxB,GAAG,IAAI;wBACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;qBACvC,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js deleted file mode 100644 index 1ba60282..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js +++ /dev/null @@ -1,635 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const referenceContainsTypeQuery_1 = require("../util/referenceContainsTypeQuery"); -exports.default = (0, util_1.createRule)({ - name: 'no-unused-vars', - meta: { - type: 'problem', - docs: { - description: 'Disallow unused variables', - extendsBaseRule: true, - recommended: 'recommended', - }, - messages: { - unusedVar: "'{{varName}}' is {{action}} but never used{{additional}}.", - usedIgnoredVar: "'{{varName}}' is marked as ignored but is used{{additional}}.", - usedOnlyAsType: "'{{varName}}' is {{action}} but only used as a type{{additional}}.", - }, - schema: [ - { - oneOf: [ - { - type: 'string', - enum: ['all', 'local'], - }, - { - type: 'object', - additionalProperties: false, - properties: { - args: { - type: 'string', - description: 'Whether to check all, some, or no arguments.', - enum: ['all', 'after-used', 'none'], - }, - argsIgnorePattern: { - type: 'string', - description: 'Regular expressions of argument names to not check for usage.', - }, - caughtErrors: { - type: 'string', - description: 'Whether to check catch block arguments.', - enum: ['all', 'none'], - }, - caughtErrorsIgnorePattern: { - type: 'string', - description: 'Regular expressions of catch block argument names to not check for usage.', - }, - destructuredArrayIgnorePattern: { - type: 'string', - description: 'Regular expressions of destructured array variable names to not check for usage.', - }, - ignoreClassWithStaticInitBlock: { - type: 'boolean', - description: 'Whether to ignore classes with at least one static initialization block.', - }, - ignoreRestSiblings: { - type: 'boolean', - description: 'Whether to ignore sibling properties in `...` destructurings.', - }, - reportUsedIgnorePattern: { - type: 'boolean', - description: 'Whether to report variables that match any of the valid ignore pattern options if they have been used.', - }, - vars: { - type: 'string', - description: 'Whether to check all variables or only locally-declared variables.', - enum: ['all', 'local'], - }, - varsIgnorePattern: { - type: 'string', - description: 'Regular expressions of variable names to not check for usage.', - }, - }, - }, - ], - }, - ], - }, - defaultOptions: [{}], - create(context, [firstOption]) { - const MODULE_DECL_CACHE = new Map(); - const options = (() => { - const options = { - args: 'after-used', - caughtErrors: 'all', - ignoreClassWithStaticInitBlock: false, - ignoreRestSiblings: false, - reportUsedIgnorePattern: false, - vars: 'all', - }; - if (typeof firstOption === 'string') { - options.vars = firstOption; - } - else { - options.vars = firstOption.vars ?? options.vars; - options.args = firstOption.args ?? options.args; - options.ignoreRestSiblings = - firstOption.ignoreRestSiblings ?? options.ignoreRestSiblings; - options.caughtErrors = firstOption.caughtErrors ?? options.caughtErrors; - options.ignoreClassWithStaticInitBlock = - firstOption.ignoreClassWithStaticInitBlock ?? - options.ignoreClassWithStaticInitBlock; - options.reportUsedIgnorePattern = - firstOption.reportUsedIgnorePattern ?? - options.reportUsedIgnorePattern; - if (firstOption.varsIgnorePattern) { - options.varsIgnorePattern = new RegExp(firstOption.varsIgnorePattern, 'u'); - } - if (firstOption.argsIgnorePattern) { - options.argsIgnorePattern = new RegExp(firstOption.argsIgnorePattern, 'u'); - } - if (firstOption.caughtErrorsIgnorePattern) { - options.caughtErrorsIgnorePattern = new RegExp(firstOption.caughtErrorsIgnorePattern, 'u'); - } - if (firstOption.destructuredArrayIgnorePattern) { - options.destructuredArrayIgnorePattern = new RegExp(firstOption.destructuredArrayIgnorePattern, 'u'); - } - } - return options; - })(); - /** - * Determines what variable type a def is. - * @param def the declaration to check - * @returns a simple name for the types of variables that this rule supports - */ - function defToVariableType(def) { - /* - * This `destructuredArrayIgnorePattern` error report works differently from the catch - * clause and parameter error reports. _Both_ the `varsIgnorePattern` and the - * `destructuredArrayIgnorePattern` will be checked for array destructuring. However, - * for the purposes of the report, the currently defined behavior is to only inform the - * user of the `destructuredArrayIgnorePattern` if it's present (regardless of the fact - * that the `varsIgnorePattern` would also apply). If it's not present, the user will be - * informed of the `varsIgnorePattern`, assuming that's present. - */ - if (options.destructuredArrayIgnorePattern && - def.name.parent.type === utils_1.AST_NODE_TYPES.ArrayPattern) { - return 'array-destructure'; - } - switch (def.type) { - case scope_manager_1.DefinitionType.CatchClause: - return 'catch-clause'; - case scope_manager_1.DefinitionType.Parameter: - return 'parameter'; - default: - return 'variable'; - } - } - /** - * Gets a given variable's description and configured ignore pattern - * based on the provided variableType - * @param variableType a simple name for the types of variables that this rule supports - * @returns the given variable's description and - * ignore pattern - */ - function getVariableDescription(variableType) { - switch (variableType) { - case 'array-destructure': - return { - pattern: options.destructuredArrayIgnorePattern?.toString(), - variableDescription: 'elements of array destructuring', - }; - case 'catch-clause': - return { - pattern: options.caughtErrorsIgnorePattern?.toString(), - variableDescription: 'caught errors', - }; - case 'parameter': - return { - pattern: options.argsIgnorePattern?.toString(), - variableDescription: 'args', - }; - case 'variable': - return { - pattern: options.varsIgnorePattern?.toString(), - variableDescription: 'vars', - }; - } - } - /** - * Generates the message data about the variable being defined and unused, - * including the ignore pattern if configured. - * @param unusedVar eslint-scope variable object. - * @returns The message data to be used with this unused variable. - */ - function getDefinedMessageData(unusedVar) { - const def = unusedVar.defs.at(0); - let additionalMessageData = ''; - if (def) { - const { pattern, variableDescription } = getVariableDescription(defToVariableType(def)); - if (pattern && variableDescription) { - additionalMessageData = `. Allowed unused ${variableDescription} must match ${pattern}`; - } - } - return { - action: 'defined', - additional: additionalMessageData, - varName: unusedVar.name, - }; - } - /** - * Generate the warning message about the variable being - * assigned and unused, including the ignore pattern if configured. - * @param unusedVar eslint-scope variable object. - * @returns The message data to be used with this unused variable. - */ - function getAssignedMessageData(unusedVar) { - const def = unusedVar.defs.at(0); - let additionalMessageData = ''; - if (def) { - const { pattern, variableDescription } = getVariableDescription(defToVariableType(def)); - if (pattern && variableDescription) { - additionalMessageData = `. Allowed unused ${variableDescription} must match ${pattern}`; - } - } - return { - action: 'assigned a value', - additional: additionalMessageData, - varName: unusedVar.name, - }; - } - /** - * Generate the warning message about a variable being used even though - * it is marked as being ignored. - * @param variable eslint-scope variable object - * @param variableType a simple name for the types of variables that this rule supports - * @returns The message data to be used with this used ignored variable. - */ - function getUsedIgnoredMessageData(variable, variableType) { - const { pattern, variableDescription } = getVariableDescription(variableType); - let additionalMessageData = ''; - if (pattern && variableDescription) { - additionalMessageData = `. Used ${variableDescription} must not match ${pattern}`; - } - return { - additional: additionalMessageData, - varName: variable.name, - }; - } - function collectUnusedVariables() { - /** - * Checks whether a node is a sibling of the rest property or not. - * @param node a node to check - * @returns True if the node is a sibling of the rest property, otherwise false. - */ - function hasRestSibling(node) { - return (node.type === utils_1.AST_NODE_TYPES.Property && - node.parent.type === utils_1.AST_NODE_TYPES.ObjectPattern && - node.parent.properties[node.parent.properties.length - 1].type === - utils_1.AST_NODE_TYPES.RestElement); - } - /** - * Determines if a variable has a sibling rest property - * @param variable eslint-scope variable object. - * @returns True if the variable is exported, false if not. - */ - function hasRestSpreadSibling(variable) { - if (options.ignoreRestSiblings) { - const hasRestSiblingDefinition = variable.defs.some(def => hasRestSibling(def.name.parent)); - const hasRestSiblingReference = variable.references.some(ref => hasRestSibling(ref.identifier.parent)); - return hasRestSiblingDefinition || hasRestSiblingReference; - } - return false; - } - /** - * Checks whether the given variable is after the last used parameter. - * @param variable The variable to check. - * @returns `true` if the variable is defined after the last used parameter. - */ - function isAfterLastUsedArg(variable) { - const def = variable.defs[0]; - const params = context.sourceCode.getDeclaredVariables(def.node); - const posteriorParams = params.slice(params.indexOf(variable) + 1); - // If any used parameters occur after this parameter, do not report. - return !posteriorParams.some(v => v.references.length > 0 || v.eslintUsed); - } - const analysisResults = (0, util_1.collectVariables)(context); - const variables = [ - ...Array.from(analysisResults.unusedVariables, variable => ({ - used: false, - variable, - })), - ...Array.from(analysisResults.usedVariables, variable => ({ - used: true, - variable, - })), - ]; - const unusedVariablesReturn = []; - for (const { used, variable } of variables) { - // explicit global variables don't have definitions. - if (variable.defs.length === 0) { - if (!used) { - unusedVariablesReturn.push(variable); - } - continue; - } - const def = variable.defs[0]; - if (variable.scope.type === utils_1.TSESLint.Scope.ScopeType.global && - options.vars === 'local') { - // skip variables in the global scope if configured to - continue; - } - const refUsedInArrayPatterns = variable.references.some(ref => ref.identifier.parent.type === utils_1.AST_NODE_TYPES.ArrayPattern); - // skip elements of array destructuring patterns - if ((def.name.parent.type === utils_1.AST_NODE_TYPES.ArrayPattern || - refUsedInArrayPatterns) && - def.name.type === utils_1.AST_NODE_TYPES.Identifier && - options.destructuredArrayIgnorePattern?.test(def.name.name)) { - if (options.reportUsedIgnorePattern && used) { - context.report({ - node: def.name, - messageId: 'usedIgnoredVar', - data: getUsedIgnoredMessageData(variable, 'array-destructure'), - }); - } - continue; - } - if (def.type === utils_1.TSESLint.Scope.DefinitionType.ClassName) { - const hasStaticBlock = def.node.body.body.some(node => node.type === utils_1.AST_NODE_TYPES.StaticBlock); - if (options.ignoreClassWithStaticInitBlock && hasStaticBlock) { - continue; - } - } - // skip catch variables - if (def.type === utils_1.TSESLint.Scope.DefinitionType.CatchClause) { - if (options.caughtErrors === 'none') { - continue; - } - // skip ignored parameters - if (def.name.type === utils_1.AST_NODE_TYPES.Identifier && - options.caughtErrorsIgnorePattern?.test(def.name.name)) { - if (options.reportUsedIgnorePattern && used) { - context.report({ - node: def.name, - messageId: 'usedIgnoredVar', - data: getUsedIgnoredMessageData(variable, 'catch-clause'), - }); - } - continue; - } - } - else if (def.type === utils_1.TSESLint.Scope.DefinitionType.Parameter) { - // if "args" option is "none", skip any parameter - if (options.args === 'none') { - continue; - } - // skip ignored parameters - if (def.name.type === utils_1.AST_NODE_TYPES.Identifier && - options.argsIgnorePattern?.test(def.name.name)) { - if (options.reportUsedIgnorePattern && used) { - context.report({ - node: def.name, - messageId: 'usedIgnoredVar', - data: getUsedIgnoredMessageData(variable, 'parameter'), - }); - } - continue; - } - // if "args" option is "after-used", skip used variables - if (options.args === 'after-used' && - (0, util_1.isFunction)(def.name.parent) && - !isAfterLastUsedArg(variable)) { - continue; - } - } - // skip ignored variables - else if (def.name.type === utils_1.AST_NODE_TYPES.Identifier && - options.varsIgnorePattern?.test(def.name.name)) { - if (options.reportUsedIgnorePattern && - used && - /* enum members are always marked as 'used' by `collectVariables`, but in reality they may be used or - unused. either way, don't complain about their naming. */ - def.type !== utils_1.TSESLint.Scope.DefinitionType.TSEnumMember) { - context.report({ - node: def.name, - messageId: 'usedIgnoredVar', - data: getUsedIgnoredMessageData(variable, 'variable'), - }); - } - continue; - } - if (hasRestSpreadSibling(variable)) { - continue; - } - // in case another rule has run and used the collectUnusedVariables, - // we want to ensure our selectors that marked variables as used are respected - if (variable.eslintUsed) { - continue; - } - if (!used) { - unusedVariablesReturn.push(variable); - } - } - return unusedVariablesReturn; - } - return { - // declaration file handling - [ambientDeclarationSelector(utils_1.AST_NODE_TYPES.Program, true)](node) { - if (!(0, util_1.isDefinitionFile)(context.filename)) { - return; - } - markDeclarationChildAsUsed(node); - }, - // children of a namespace that is a child of a declared namespace are auto-exported - [ambientDeclarationSelector('TSModuleDeclaration[declare = true] > TSModuleBlock TSModuleDeclaration > TSModuleBlock', false)](node) { - markDeclarationChildAsUsed(node); - }, - // declared namespace handling - [ambientDeclarationSelector('TSModuleDeclaration[declare = true] > TSModuleBlock', false)](node) { - const moduleDecl = (0, util_1.nullThrows)(node.parent.parent, util_1.NullThrowsReasons.MissingParent); - // declared ambient modules with an `export =` statement will only export that one thing - // all other statements are not automatically exported in this case - if (moduleDecl.id.type === utils_1.AST_NODE_TYPES.Literal && - checkModuleDeclForExportEquals(moduleDecl)) { - return; - } - markDeclarationChildAsUsed(node); - }, - // collect - 'Program:exit'(programNode) { - const unusedVars = collectUnusedVariables(); - for (const unusedVar of unusedVars) { - // Report the first declaration. - if (unusedVar.defs.length > 0) { - const usedOnlyAsType = unusedVar.references.some(ref => (0, referenceContainsTypeQuery_1.referenceContainsTypeQuery)(ref.identifier)); - const isImportUsedOnlyAsType = usedOnlyAsType && - unusedVar.defs.some(def => def.type === scope_manager_1.DefinitionType.ImportBinding); - if (isImportUsedOnlyAsType) { - continue; - } - const writeReferences = unusedVar.references.filter(ref => ref.isWrite() && - ref.from.variableScope === unusedVar.scope.variableScope); - const id = writeReferences.length - ? writeReferences[writeReferences.length - 1].identifier - : unusedVar.identifiers[0]; - const messageId = usedOnlyAsType ? 'usedOnlyAsType' : 'unusedVar'; - const { start } = id.loc; - const idLength = id.name.length; - const loc = { - start, - end: { - column: start.column + idLength, - line: start.line, - }, - }; - context.report({ - loc, - messageId, - data: unusedVar.references.some(ref => ref.isWrite()) - ? getAssignedMessageData(unusedVar) - : getDefinedMessageData(unusedVar), - }); - // If there are no regular declaration, report the first `/*globals*/` comment directive. - } - else if ('eslintExplicitGlobalComments' in unusedVar && - unusedVar.eslintExplicitGlobalComments) { - const directiveComment = unusedVar.eslintExplicitGlobalComments[0]; - context.report({ - loc: (0, util_1.getNameLocationInGlobalDirectiveComment)(context.sourceCode, directiveComment, unusedVar.name), - node: programNode, - messageId: 'unusedVar', - data: getDefinedMessageData(unusedVar), - }); - } - } - }, - }; - function checkModuleDeclForExportEquals(node) { - const cached = MODULE_DECL_CACHE.get(node); - if (cached != null) { - return cached; - } - if (node.body) { - for (const statement of node.body.body) { - if (statement.type === utils_1.AST_NODE_TYPES.TSExportAssignment) { - MODULE_DECL_CACHE.set(node, true); - return true; - } - } - } - MODULE_DECL_CACHE.set(node, false); - return false; - } - function ambientDeclarationSelector(parent, childDeclare) { - return [ - // Types are ambiently exported - `${parent} > :matches(${[ - utils_1.AST_NODE_TYPES.TSInterfaceDeclaration, - utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration, - ].join(', ')})`, - // Value things are ambiently exported if they are "declare"d - `${parent} > :matches(${[ - utils_1.AST_NODE_TYPES.ClassDeclaration, - utils_1.AST_NODE_TYPES.TSDeclareFunction, - utils_1.AST_NODE_TYPES.TSEnumDeclaration, - utils_1.AST_NODE_TYPES.TSModuleDeclaration, - utils_1.AST_NODE_TYPES.VariableDeclaration, - ].join(', ')})${childDeclare ? '[declare = true]' : ''}`, - ].join(', '); - } - function markDeclarationChildAsUsed(node) { - const identifiers = []; - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSInterfaceDeclaration: - case utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration: - case utils_1.AST_NODE_TYPES.ClassDeclaration: - case utils_1.AST_NODE_TYPES.FunctionDeclaration: - case utils_1.AST_NODE_TYPES.TSDeclareFunction: - case utils_1.AST_NODE_TYPES.TSEnumDeclaration: - case utils_1.AST_NODE_TYPES.TSModuleDeclaration: - if (node.id?.type === utils_1.AST_NODE_TYPES.Identifier) { - identifiers.push(node.id); - } - break; - case utils_1.AST_NODE_TYPES.VariableDeclaration: - for (const declaration of node.declarations) { - visitPattern(declaration, pattern => { - identifiers.push(pattern); - }); - } - break; - } - let scope = context.sourceCode.getScope(node); - const shouldUseUpperScope = [ - utils_1.AST_NODE_TYPES.TSDeclareFunction, - utils_1.AST_NODE_TYPES.TSModuleDeclaration, - ].includes(node.type); - if (scope.variableScope !== scope) { - scope = scope.variableScope; - } - else if (shouldUseUpperScope && scope.upper) { - scope = scope.upper; - } - for (const id of identifiers) { - const superVar = scope.set.get(id.name); - if (superVar) { - superVar.eslintUsed = true; - } - } - } - function visitPattern(node, cb) { - const visitor = new scope_manager_1.PatternVisitor({}, node, cb); - visitor.visit(node); - } - }, -}); -/* - -###### TODO ###### - -Edge cases that aren't currently handled due to laziness and them being super edgy edge cases - - ---- function params referenced in typeof type refs in the function declaration --- ---- NOTE - TS gets these cases wrong - -function _foo( - arg: number // arg should be unused -): typeof arg { - return 1 as any; -} - -function _bar( - arg: number, // arg should be unused - _arg2: typeof arg, -) {} - - ---- function names referenced in typeof type refs in the function declaration --- ---- NOTE - TS gets these cases right - -function foo( // foo should be unused -): typeof foo { - return 1 as any; -} - -function bar( // bar should be unused - _arg: typeof bar -) {} - - ---- if an interface is merged into a namespace --- ---- NOTE - TS gets these cases wrong - -namespace Test { - interface Foo { // Foo should be unused here - a: string; - } - export namespace Foo { - export type T = 'b'; - } -} -type T = Test.Foo; // Error: Namespace 'Test' has no exported member 'Foo'. - - -namespace Test { - export interface Foo { - a: string; - } - namespace Foo { // Foo should be unused here - export type T = 'b'; - } -} -type T = Test.Foo.T; // Error: Namespace 'Test' has no exported member 'Foo'. - ---- - -These cases are mishandled because the base rule assumes that each variable has one def, but type-value shadowing -creates a variable with two defs - ---- type-only or value-only references to type/value shadowed variables --- ---- NOTE - TS gets these cases wrong - -type T = 1; -const T = 2; // this T should be unused - -type U = T; // this U should be unused -const U = 3; - -const _V = U; - - ---- partially exported type/value shadowed variables --- ---- NOTE - TS gets these cases wrong - -export interface Foo {} -const Foo = 1; // this Foo should be unused - -interface Bar {} // this Bar should be unused -export const Bar = 1; - -*/ -//# sourceMappingURL=no-unused-vars.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map deleted file mode 100644 index d0d1ac0e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-unused-vars.js","sourceRoot":"","sources":["../../src/rules/no-unused-vars.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js deleted file mode 100644 index da69e7fa..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js +++ /dev/null @@ -1,303 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const referenceContainsTypeQuery_1 = require("../util/referenceContainsTypeQuery"); -const SENTINEL_TYPE = /^(?:(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|CatchClause|ImportDeclaration|ExportNamedDeclaration)$/; -/** - * Parses a given value as options. - */ -function parseOptions(options) { - let functions = true; - let classes = true; - let enums = true; - let variables = true; - let typedefs = true; - let ignoreTypeReferences = true; - let allowNamedExports = false; - if (typeof options === 'string') { - functions = options !== 'nofunc'; - } - else if (typeof options === 'object' && options != null) { - functions = options.functions !== false; - classes = options.classes !== false; - enums = options.enums !== false; - variables = options.variables !== false; - typedefs = options.typedefs !== false; - ignoreTypeReferences = options.ignoreTypeReferences !== false; - allowNamedExports = options.allowNamedExports !== false; - } - return { - allowNamedExports, - classes, - enums, - functions, - ignoreTypeReferences, - typedefs, - variables, - }; -} -/** - * Checks whether or not a given variable is a function declaration. - */ -function isFunction(variable) { - return variable.defs[0].type === scope_manager_1.DefinitionType.FunctionName; -} -/** - * Checks whether or not a given variable is a type declaration. - */ -function isTypedef(variable) { - return variable.defs[0].type === scope_manager_1.DefinitionType.Type; -} -/** - * Checks whether or not a given variable is a enum declaration. - */ -function isOuterEnum(variable, reference) { - return (variable.defs[0].type === scope_manager_1.DefinitionType.TSEnumName && - variable.scope.variableScope !== reference.from.variableScope); -} -/** - * Checks whether or not a given variable is a class declaration in an upper function scope. - */ -function isOuterClass(variable, reference) { - return (variable.defs[0].type === scope_manager_1.DefinitionType.ClassName && - variable.scope.variableScope !== reference.from.variableScope); -} -/** - * Checks whether or not a given variable is a variable declaration in an upper function scope. - */ -function isOuterVariable(variable, reference) { - return (variable.defs[0].type === scope_manager_1.DefinitionType.Variable && - variable.scope.variableScope !== reference.from.variableScope); -} -/** - * Checks whether or not a given reference is a export reference. - */ -function isNamedExports(reference) { - const { identifier } = reference; - return (identifier.parent.type === utils_1.AST_NODE_TYPES.ExportSpecifier && - identifier.parent.local === identifier); -} -/** - * Checks whether or not a given reference is a type reference. - */ -function isTypeReference(reference) { - return (reference.isTypeReference || - (0, referenceContainsTypeQuery_1.referenceContainsTypeQuery)(reference.identifier)); -} -/** - * Checks whether or not a given location is inside of the range of a given node. - */ -function isInRange(node, location) { - return !!node && node.range[0] <= location && location <= node.range[1]; -} -/** - * Decorators are transpiled such that the decorator is placed after the class declaration - * So it is considered safe - */ -function isClassRefInClassDecorator(variable, reference) { - if (variable.defs[0].type !== scope_manager_1.DefinitionType.ClassName || - variable.defs[0].node.decorators.length === 0) { - return false; - } - for (const deco of variable.defs[0].node.decorators) { - if (reference.identifier.range[0] >= deco.range[0] && - reference.identifier.range[1] <= deco.range[1]) { - return true; - } - } - return false; -} -/** - * Checks whether or not a given reference is inside of the initializers of a given variable. - * - * @returns `true` in the following cases: - * - var a = a - * - var [a = a] = list - * - var {a = a} = obj - * - for (var a in a) {} - * - for (var a of a) {} - */ -function isInInitializer(variable, reference) { - if (variable.scope !== reference.from) { - return false; - } - let node = variable.identifiers[0].parent; - const location = reference.identifier.range[1]; - while (node) { - if (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator) { - if (isInRange(node.init, location)) { - return true; - } - if ((node.parent.parent.type === utils_1.AST_NODE_TYPES.ForInStatement || - node.parent.parent.type === utils_1.AST_NODE_TYPES.ForOfStatement) && - isInRange(node.parent.parent.right, location)) { - return true; - } - break; - } - else if (node.type === utils_1.AST_NODE_TYPES.AssignmentPattern) { - if (isInRange(node.right, location)) { - return true; - } - } - else if (SENTINEL_TYPE.test(node.type)) { - break; - } - node = node.parent; - } - return false; -} -exports.default = (0, util_1.createRule)({ - name: 'no-use-before-define', - meta: { - type: 'problem', - docs: { - description: 'Disallow the use of variables before they are defined', - extendsBaseRule: true, - }, - messages: { - noUseBeforeDefine: "'{{name}}' was used before it was defined.", - }, - schema: [ - { - oneOf: [ - { - type: 'string', - enum: ['nofunc'], - }, - { - type: 'object', - additionalProperties: false, - properties: { - allowNamedExports: { - type: 'boolean', - description: 'Whether to ignore named exports.', - }, - classes: { - type: 'boolean', - description: 'Whether to ignore references to class declarations.', - }, - enums: { - type: 'boolean', - description: 'Whether to check references to enums.', - }, - functions: { - type: 'boolean', - description: 'Whether to ignore references to function declarations.', - }, - ignoreTypeReferences: { - type: 'boolean', - description: 'Whether to ignore type references, such as in type annotations and assertions.', - }, - typedefs: { - type: 'boolean', - description: 'Whether to check references to types.', - }, - variables: { - type: 'boolean', - description: 'Whether to ignore references to variables.', - }, - }, - }, - ], - }, - ], - }, - defaultOptions: [ - { - allowNamedExports: false, - classes: true, - enums: true, - functions: true, - ignoreTypeReferences: true, - typedefs: true, - variables: true, - }, - ], - create(context, optionsWithDefault) { - const options = parseOptions(optionsWithDefault[0]); - /** - * Determines whether a given use-before-define case should be reported according to the options. - * @param variable The variable that gets used before being defined - * @param reference The reference to the variable - */ - function isForbidden(variable, reference) { - if (options.ignoreTypeReferences && isTypeReference(reference)) { - return false; - } - if (isFunction(variable)) { - return options.functions; - } - if (isOuterClass(variable, reference)) { - return options.classes; - } - if (isOuterVariable(variable, reference)) { - return options.variables; - } - if (isOuterEnum(variable, reference)) { - return options.enums; - } - if (isTypedef(variable)) { - return options.typedefs; - } - return true; - } - function isDefinedBeforeUse(variable, reference) { - return (variable.identifiers[0].range[1] <= reference.identifier.range[1] && - !(reference.isValueReference && isInInitializer(variable, reference))); - } - /** - * Finds and validates all variables in a given scope. - */ - function findVariablesInScope(scope) { - scope.references.forEach(reference => { - const variable = reference.resolved; - function report() { - context.report({ - node: reference.identifier, - messageId: 'noUseBeforeDefine', - data: { - name: reference.identifier.name, - }, - }); - } - // Skips when the reference is: - // - initializations. - // - referring to an undefined variable. - // - referring to a global environment variable (there're no identifiers). - // - located preceded by the variable (except in initializers). - // - allowed by options. - if (reference.init) { - return; - } - if (!options.allowNamedExports && isNamedExports(reference)) { - if (!variable || !isDefinedBeforeUse(variable, reference)) { - report(); - } - return; - } - if (!variable) { - return; - } - if (variable.identifiers.length === 0 || - isDefinedBeforeUse(variable, reference) || - !isForbidden(variable, reference) || - isClassRefInClassDecorator(variable, reference) || - reference.from.type === utils_1.TSESLint.Scope.ScopeType.functionType) { - return; - } - // Reports. - report(); - }); - scope.childScopes.forEach(findVariablesInScope); - } - return { - Program(node) { - findVariablesInScope(context.sourceCode.getScope(node)); - }, - }; - }, -}); -//# sourceMappingURL=no-use-before-define.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map deleted file mode 100644 index ab49bada..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-use-before-define.js","sourceRoot":"","sources":["../../src/rules/no-use-before-define.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js deleted file mode 100644 index 4166f5e8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-useless-constructor'); -/** - * Check if method with accessibility is not useless - */ -function checkAccessibility(node) { - switch (node.accessibility) { - case 'protected': - case 'private': - return false; - case 'public': - if (node.parent.parent.superClass) { - return false; - } - break; - } - return true; -} -/** - * Check if method is not useless due to typescript parameter properties and decorators - */ -function checkParams(node) { - return !node.value.params.some(param => param.type === utils_1.AST_NODE_TYPES.TSParameterProperty || - param.decorators.length); -} -exports.default = (0, util_1.createRule)({ - name: 'no-useless-constructor', - meta: { - type: 'problem', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Disallow unnecessary constructors', - extendsBaseRule: true, - recommended: 'strict', - }, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema: baseRule.meta.schema, - }, - defaultOptions: [], - create(context) { - const rules = baseRule.create(context); - return { - MethodDefinition(node) { - if (node.value.type === utils_1.AST_NODE_TYPES.FunctionExpression && - checkAccessibility(node) && - checkParams(node)) { - rules.MethodDefinition(node); - } - }, - }; - }, -}); -//# sourceMappingURL=no-useless-constructor.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map deleted file mode 100644 index a5dce1f4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-useless-constructor.js","sourceRoot":"","sources":["../../src/rules/no-useless-constructor.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAO1D,kCAAqC;AACrC,iEAA8D;AAE9D,MAAM,QAAQ,GAAG,IAAA,qCAAiB,EAAC,wBAAwB,CAAC,CAAC;AAK7D;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAA+B;IACzD,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM;IACV,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAA+B;IAClD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAC5B,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB;QACjD,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,CAAC;AACJ,CAAC;AAED,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,2DAA2D;QAC3D,IAAI,EAAE;YACJ,WAAW,EAAE,mCAAmC;YAChD,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,QAAQ;SACtB;QACD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;QAC5C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;QAChC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;KAC7B;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO;YACL,gBAAgB,CAAC,IAAI;gBACnB,IACE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB;oBACrD,kBAAkB,CAAC,IAAI,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,EACjB,CAAC;oBACD,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js deleted file mode 100644 index c369fe5a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js +++ /dev/null @@ -1,71 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -function isEmptyExport(node) { - return (node.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration && - node.specifiers.length === 0 && - !node.declaration); -} -const exportOrImportNodeTypes = new Set([ - utils_1.AST_NODE_TYPES.ExportAllDeclaration, - utils_1.AST_NODE_TYPES.ExportDefaultDeclaration, - utils_1.AST_NODE_TYPES.ExportNamedDeclaration, - utils_1.AST_NODE_TYPES.ExportSpecifier, - utils_1.AST_NODE_TYPES.ImportDeclaration, - utils_1.AST_NODE_TYPES.TSExportAssignment, - utils_1.AST_NODE_TYPES.TSImportEqualsDeclaration, -]); -exports.default = (0, util_1.createRule)({ - name: 'no-useless-empty-export', - meta: { - type: 'suggestion', - docs: { - description: "Disallow empty exports that don't change anything in a module file", - }, - fixable: 'code', - hasSuggestions: false, - messages: { - uselessExport: 'Empty export does nothing and can be removed.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - // In a definition file, export {} is necessary to make the module properly - // encapsulated, even when there are other exports - // https://github.com/typescript-eslint/typescript-eslint/issues/4975 - if ((0, util_1.isDefinitionFile)(context.filename)) { - return {}; - } - function checkNode(node) { - if (!Array.isArray(node.body)) { - return; - } - const emptyExports = []; - let foundOtherExport = false; - for (const statement of node.body) { - if (isEmptyExport(statement)) { - emptyExports.push(statement); - } - else if (exportOrImportNodeTypes.has(statement.type)) { - foundOtherExport = true; - } - } - if (foundOtherExport) { - for (const emptyExport of emptyExports) { - context.report({ - node: emptyExport, - messageId: 'uselessExport', - fix: fixer => fixer.remove(emptyExport), - }); - } - } - } - return { - Program: checkNode, - TSModuleDeclaration: checkNode, - }; - }, -}); -//# sourceMappingURL=no-useless-empty-export.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js.map deleted file mode 100644 index b0e59781..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-useless-empty-export.js","sourceRoot":"","sources":["../../src/rules/no-useless-empty-export.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAuD;AAEvD,SAAS,aAAa,CACpB,IAAmB;IAEnB,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB;QACnD,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAC5B,CAAC,IAAI,CAAC,WAAW,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,sBAAc,CAAC,oBAAoB;IACnC,sBAAc,CAAC,wBAAwB;IACvC,sBAAc,CAAC,sBAAsB;IACrC,sBAAc,CAAC,eAAe;IAC9B,sBAAc,CAAC,iBAAiB;IAChC,sBAAc,CAAC,kBAAkB;IACjC,sBAAc,CAAC,yBAAyB;CACzC,CAAC,CAAC;AAEH,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,oEAAoE;SACvE;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACR,aAAa,EAAE,+CAA+C;SAC/D;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,2EAA2E;QAC3E,kDAAkD;QAClD,qEAAqE;QACrE,IAAI,IAAA,uBAAgB,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,SAAS,SAAS,CAChB,IAAqD;YAErD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAsC,EAAE,CAAC;YAC3D,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,gBAAgB,GAAG,IAAI,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACrB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;oBACvC,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,eAAe;wBAC1B,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;qBACxC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,mBAAmB,EAAE,SAAS;SAC/B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js deleted file mode 100644 index 7c600701..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'no-var-requires', - meta: { - type: 'problem', - deprecated: true, - docs: { - description: 'Disallow `require` statements except in import statements', - }, - messages: { - noVarReqs: 'Require statement not part of import statement.', - }, - replacedBy: ['@typescript-eslint/no-require-imports'], - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allow: { - type: 'array', - description: 'Patterns of import paths to allow requiring from.', - items: { type: 'string' }, - }, - }, - }, - ], - }, - defaultOptions: [{ allow: [] }], - create(context, options) { - const allowPatterns = options[0].allow.map(pattern => new RegExp(pattern, 'u')); - function isImportPathAllowed(importPath) { - return allowPatterns.some(pattern => importPath.match(pattern)); - } - function isStringOrTemplateLiteral(node) { - return ((node.type === utils_1.AST_NODE_TYPES.Literal && - typeof node.value === 'string') || - node.type === utils_1.AST_NODE_TYPES.TemplateLiteral); - } - return { - 'CallExpression[callee.name="require"]'(node) { - if (node.arguments[0] && isStringOrTemplateLiteral(node.arguments[0])) { - const argValue = (0, util_1.getStaticStringValue)(node.arguments[0]); - if (typeof argValue === 'string' && isImportPathAllowed(argValue)) { - return; - } - } - const parent = node.parent.type === utils_1.AST_NODE_TYPES.ChainExpression - ? node.parent.parent - : node.parent; - if ([ - utils_1.AST_NODE_TYPES.CallExpression, - utils_1.AST_NODE_TYPES.MemberExpression, - utils_1.AST_NODE_TYPES.NewExpression, - utils_1.AST_NODE_TYPES.TSAsExpression, - utils_1.AST_NODE_TYPES.TSTypeAssertion, - utils_1.AST_NODE_TYPES.VariableDeclarator, - ].includes(parent.type)) { - const variable = utils_1.ASTUtils.findVariable(context.sourceCode.getScope(node), 'require'); - if (!variable?.identifiers.length) { - context.report({ - node, - messageId: 'noVarReqs', - }); - } - } - }, - }; - }, -}); -//# sourceMappingURL=no-var-requires.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map deleted file mode 100644 index 922d31d3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-var-requires.js","sourceRoot":"","sources":["../../src/rules/no-var-requires.ts"],"names":[],"mappings":";;AAEA,oDAAoE;AAEpE,kCAA2D;AAS3D,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACJ,WAAW,EAAE,2DAA2D;SACzE;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,iDAAiD;SAC7D;QACD,UAAU,EAAE,CAAC,uCAAuC,CAAC;QACrD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,mDAAmD;wBAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC1B;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/B,MAAM,CAAC,OAAO,EAAE,OAAO;QACrB,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CACxC,OAAO,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CACpC,CAAC;QACF,SAAS,mBAAmB,CAAC,UAAkB;YAC7C,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,SAAS,yBAAyB,CAAC,IAAmB;YACpD,OAAO,CACL,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;gBACnC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;gBACjC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,CAC7C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,uCAAuC,CACrC,IAA6B;gBAE7B,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtE,MAAM,QAAQ,GAAG,IAAA,2BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClE,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;oBACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;oBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAElB,IACE;oBACE,sBAAc,CAAC,cAAc;oBAC7B,sBAAc,CAAC,gBAAgB;oBAC/B,sBAAc,CAAC,aAAa;oBAC5B,sBAAc,CAAC,cAAc;oBAC7B,sBAAc,CAAC,eAAe;oBAC9B,sBAAc,CAAC,kBAAkB;iBAClC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,CAAC;oBACD,MAAM,QAAQ,GAAG,gBAAQ,CAAC,YAAY,CACpC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EACjC,SAAS,CACV,CAAC;oBAEF,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;wBAClC,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI;4BACJ,SAAS,EAAE,WAAW;yBACvB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js deleted file mode 100644 index 9a450bfc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const classNames = new Set([ - 'BigInt', - // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum - 'Boolean', - 'Number', - 'Object', - // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum - 'String', - 'Symbol', -]); -exports.default = (0, util_1.createRule)({ - name: 'no-wrapper-object-types', - meta: { - type: 'problem', - docs: { - description: 'Disallow using confusing built-in primitive class wrappers', - recommended: 'recommended', - }, - fixable: 'code', - messages: { - bannedClassType: 'Prefer using the primitive `{{preferred}}` as a type name, rather than the upper-cased `{{typeName}}`.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function checkBannedTypes(node, includeFix) { - const typeName = node.type === utils_1.AST_NODE_TYPES.Identifier && node.name; - if (!typeName || - !classNames.has(typeName) || - !(0, util_1.isReferenceToGlobalFunction)(typeName, node, context.sourceCode)) { - return; - } - const preferred = typeName.toLowerCase(); - context.report({ - node, - messageId: 'bannedClassType', - data: { preferred, typeName }, - fix: includeFix - ? (fixer) => fixer.replaceText(node, preferred) - : undefined, - }); - } - return { - TSClassImplements(node) { - checkBannedTypes(node.expression, false); - }, - TSInterfaceHeritage(node) { - checkBannedTypes(node.expression, false); - }, - TSTypeReference(node) { - checkBannedTypes(node.typeName, true); - }, - }; - }, -}); -//# sourceMappingURL=no-wrapper-object-types.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js.map deleted file mode 100644 index 7611c857..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-wrapper-object-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"no-wrapper-object-types.js","sourceRoot":"","sources":["../../src/rules/no-wrapper-object-types.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAkE;AAElE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,QAAQ;IACR,6EAA6E;IAC7E,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,6EAA6E;IAC7E,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AAEH,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,4DAA4D;YACzE,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,eAAe,EACb,wGAAwG;SAC3G;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,gBAAgB,CACvB,IAA+C,EAC/C,UAAmB;YAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;YACtE,IACE,CAAC,QAAQ;gBACT,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACzB,CAAC,IAAA,kCAA2B,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAChE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAEzC,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,iBAAiB;gBAC5B,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;gBAC7B,GAAG,EAAE,UAAU;oBACb,CAAC,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;oBACjE,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,iBAAiB,CAAC,IAAI;gBACpB,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YACD,mBAAmB,CAAC,IAAI;gBACtB,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YACD,eAAe,CAAC,IAAI;gBAClB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js deleted file mode 100644 index 4b4b9b23..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js +++ /dev/null @@ -1,133 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'non-nullable-type-assertion-style', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce non-null assertions over explicit type assertions', - recommended: 'stylistic', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - preferNonNullAssertion: 'Use a ! assertion to more succinctly remove null and undefined from the type.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const getTypesIfNotLoose = (node) => { - const type = services.getTypeAtLocation(node); - if (tsutils.isTypeFlagSet(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) { - return undefined; - } - return tsutils.unionTypeParts(type); - }; - const couldBeNullish = (type) => { - if (type.flags & ts.TypeFlags.TypeParameter) { - const constraint = type.getConstraint(); - return constraint == null || couldBeNullish(constraint); - } - if (tsutils.isUnionType(type)) { - for (const part of type.types) { - if (couldBeNullish(part)) { - return true; - } - } - return false; - } - return (type.flags & (ts.TypeFlags.Null | ts.TypeFlags.Undefined)) !== 0; - }; - const sameTypeWithoutNullish = (assertedTypes, originalTypes) => { - const nonNullishOriginalTypes = originalTypes.filter(type => (type.flags & (ts.TypeFlags.Null | ts.TypeFlags.Undefined)) === 0); - if (nonNullishOriginalTypes.length === originalTypes.length) { - return false; - } - for (const assertedType of assertedTypes) { - if (couldBeNullish(assertedType) || - !nonNullishOriginalTypes.includes(assertedType)) { - return false; - } - } - for (const originalType of nonNullishOriginalTypes) { - if (!assertedTypes.includes(originalType)) { - return false; - } - } - return true; - }; - const isConstAssertion = (node) => { - return (node.typeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeReference && - node.typeAnnotation.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - node.typeAnnotation.typeName.name === 'const'); - }; - return { - 'TSAsExpression, TSTypeAssertion'(node) { - if (isConstAssertion(node)) { - return; - } - const originalTypes = getTypesIfNotLoose(node.expression); - if (!originalTypes) { - return; - } - const assertedTypes = getTypesIfNotLoose(node.typeAnnotation); - if (!assertedTypes) { - return; - } - if (sameTypeWithoutNullish(assertedTypes, originalTypes)) { - const expressionSourceCode = context.sourceCode.getText(node.expression); - const higherPrecedenceThanUnary = (0, util_1.getOperatorPrecedence)(services.esTreeNodeToTSNodeMap.get(node.expression).kind, ts.SyntaxKind.Unknown) > util_1.OperatorPrecedence.Unary; - context.report({ - node, - messageId: 'preferNonNullAssertion', - fix(fixer) { - return fixer.replaceText(node, higherPrecedenceThanUnary - ? `${expressionSourceCode}!` - : `(${expressionSourceCode})!`); - }, - }); - } - }, - }; - }, -}); -//# sourceMappingURL=non-nullable-type-assertion-style.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map deleted file mode 100644 index 65836205..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"non-nullable-type-assertion-style.js","sourceRoot":"","sources":["../../src/rules/non-nullable-type-assertion-style.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js deleted file mode 100644 index af1accf8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js +++ /dev/null @@ -1,115 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'only-throw-error', - meta: { - type: 'problem', - docs: { - description: 'Disallow throwing non-`Error` values as exceptions', - extendsBaseRule: 'no-throw-literal', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - object: 'Expected an error object to be thrown.', - undef: 'Do not throw undefined.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allow: { - ...util_1.typeOrValueSpecifiersSchema, - description: 'Type specifiers that can be thrown.', - }, - allowThrowingAny: { - type: 'boolean', - description: 'Whether to always allow throwing values typed as `any`.', - }, - allowThrowingUnknown: { - type: 'boolean', - description: 'Whether to always allow throwing values typed as `unknown`.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allow: [], - allowThrowingAny: true, - allowThrowingUnknown: true, - }, - ], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - const allow = options.allow; - function checkThrowArgument(node) { - if (node.type === utils_1.AST_NODE_TYPES.AwaitExpression || - node.type === utils_1.AST_NODE_TYPES.YieldExpression) { - return; - } - const type = services.getTypeAtLocation(node); - if ((0, util_1.typeMatchesSomeSpecifier)(type, allow, services.program)) { - return; - } - if (type.flags & ts.TypeFlags.Undefined) { - context.report({ node, messageId: 'undef' }); - return; - } - if (options.allowThrowingAny && (0, util_1.isTypeAnyType)(type)) { - return; - } - if (options.allowThrowingUnknown && (0, util_1.isTypeUnknownType)(type)) { - return; - } - if ((0, util_1.isErrorLike)(services.program, type)) { - return; - } - context.report({ node, messageId: 'object' }); - } - return { - ThrowStatement(node) { - checkThrowArgument(node.argument); - }, - }; - }, -}); -//# sourceMappingURL=only-throw-error.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js.map deleted file mode 100644 index 1db93b5d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"only-throw-error.js","sourceRoot":"","sources":["../../src/rules/only-throw-error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAA0D;AAC1D,+CAAiC;AAIjC,kCAQiB;AAYjB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,oDAAoD;YACjE,eAAe,EAAE,kBAAkB;YACnC,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,wCAAwC;YAChD,KAAK,EAAE,yBAAyB;SACjC;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,GAAG,kCAA2B;wBAC9B,WAAW,EAAE,qCAAqC;qBACnD;oBACD,gBAAgB,EAAE;wBAChB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,yDAAyD;qBAC5D;oBACD,oBAAoB,EAAE;wBACpB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,6DAA6D;qBAChE;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,KAAK,EAAE,EAAE;YACT,gBAAgB,EAAE,IAAI;YACtB,oBAAoB,EAAE,IAAI;SAC3B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,SAAS,kBAAkB,CAAC,IAAmB;YAC7C,IACE,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBAC5C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAC5C,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,IAAA,+BAAwB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACxC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAA,oBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,IAAI,OAAO,CAAC,oBAAoB,IAAI,IAAA,wBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,IAAI,IAAA,kBAAW,EAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACL,cAAc,CAAC,IAAI;gBACjB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js deleted file mode 100644 index 24282cbc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js +++ /dev/null @@ -1,171 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'parameter-properties', - meta: { - type: 'problem', - docs: { - description: 'Require or disallow parameter properties in class constructors', - }, - messages: { - preferClassProperty: 'Property {{parameter}} should be declared as a class property.', - preferParameterProperty: 'Property {{parameter}} should be declared as a parameter property.', - }, - schema: [ - { - type: 'object', - $defs: { - modifier: { - type: 'string', - enum: [ - 'readonly', - 'private', - 'protected', - 'public', - 'private readonly', - 'protected readonly', - 'public readonly', - ], - }, - }, - additionalProperties: false, - properties: { - allow: { - type: 'array', - description: 'Whether to allow certain kinds of properties to be ignored.', - items: { - $ref: '#/items/0/$defs/modifier', - }, - }, - prefer: { - type: 'string', - description: 'Whether to prefer class properties or parameter properties.', - enum: ['class-property', 'parameter-property'], - }, - }, - }, - ], - }, - defaultOptions: [ - { - allow: [], - prefer: 'class-property', - }, - ], - create(context, [{ allow = [], prefer = 'class-property' }]) { - /** - * Gets the modifiers of `node`. - * @param node the node to be inspected. - */ - function getModifiers(node) { - const modifiers = []; - if (node.accessibility) { - modifiers.push(node.accessibility); - } - if (node.readonly) { - modifiers.push('readonly'); - } - return modifiers.filter(Boolean).join(' '); - } - if (prefer === 'class-property') { - return { - TSParameterProperty(node) { - const modifiers = getModifiers(node); - if (!allow.includes(modifiers)) { - // HAS to be an identifier or assignment or TSC will throw - if (node.parameter.type !== utils_1.AST_NODE_TYPES.Identifier && - node.parameter.type !== utils_1.AST_NODE_TYPES.AssignmentPattern) { - return; - } - const name = node.parameter.type === utils_1.AST_NODE_TYPES.Identifier - ? node.parameter.name - : // has to be an Identifier or TSC will throw an error - node.parameter.left.name; - context.report({ - node, - messageId: 'preferClassProperty', - data: { - parameter: name, - }, - }); - } - }, - }; - } - const propertyNodesByNameStack = []; - function getNodesByName(name) { - const propertyNodesByName = propertyNodesByNameStack[propertyNodesByNameStack.length - 1]; - const existing = propertyNodesByName.get(name); - if (existing) { - return existing; - } - const created = {}; - propertyNodesByName.set(name, created); - return created; - } - function typeAnnotationsMatch(classProperty, constructorParameter) { - if (!classProperty.typeAnnotation || - !constructorParameter.typeAnnotation) { - return (classProperty.typeAnnotation === constructorParameter.typeAnnotation); - } - return (context.sourceCode.getText(classProperty.typeAnnotation) === - context.sourceCode.getText(constructorParameter.typeAnnotation)); - } - return { - ':matches(ClassDeclaration, ClassExpression):exit'() { - const propertyNodesByName = (0, util_1.nullThrows)(propertyNodesByNameStack.pop(), 'Stack should exist on class exit'); - for (const [name, nodes] of propertyNodesByName) { - if (nodes.classProperty && - nodes.constructorAssignment && - nodes.constructorParameter && - typeAnnotationsMatch(nodes.classProperty, nodes.constructorParameter)) { - context.report({ - node: nodes.classProperty, - messageId: 'preferParameterProperty', - data: { - parameter: name, - }, - }); - } - } - }, - ClassBody(node) { - for (const element of node.body) { - if (element.type === utils_1.AST_NODE_TYPES.PropertyDefinition && - element.key.type === utils_1.AST_NODE_TYPES.Identifier && - !element.value && - !allow.includes(getModifiers(element))) { - getNodesByName(element.key.name).classProperty = element; - } - } - }, - 'ClassDeclaration, ClassExpression'() { - propertyNodesByNameStack.push(new Map()); - }, - 'MethodDefinition[kind="constructor"]'(node) { - for (const parameter of node.value.params) { - if (parameter.type === utils_1.AST_NODE_TYPES.Identifier) { - getNodesByName(parameter.name).constructorParameter = parameter; - } - } - for (const statement of node.value.body?.body ?? []) { - if (statement.type !== utils_1.AST_NODE_TYPES.ExpressionStatement || - statement.expression.type !== utils_1.AST_NODE_TYPES.AssignmentExpression || - statement.expression.left.type !== - utils_1.AST_NODE_TYPES.MemberExpression || - statement.expression.left.object.type !== - utils_1.AST_NODE_TYPES.ThisExpression || - statement.expression.left.property.type !== - utils_1.AST_NODE_TYPES.Identifier || - statement.expression.right.type !== utils_1.AST_NODE_TYPES.Identifier) { - break; - } - getNodesByName(statement.expression.right.name).constructorAssignment = statement.expression; - } - }, - }; - }, -}); -//# sourceMappingURL=parameter-properties.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js.map deleted file mode 100644 index cb63387d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parameter-properties.js","sourceRoot":"","sources":["../../src/rules/parameter-properties.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js deleted file mode 100644 index 3702fd25..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-as-const', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce the use of `as const` over literal type', - recommended: 'recommended', - }, - fixable: 'code', - hasSuggestions: true, - messages: { - preferConstAssertion: 'Expected a `const` instead of a literal type assertion.', - variableConstAssertion: 'Expected a `const` assertion instead of a literal type annotation.', - variableSuggest: 'You should use `as const` instead of type annotation.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function compareTypes(valueNode, typeNode, canFix) { - if (valueNode.type === utils_1.AST_NODE_TYPES.Literal && - typeNode.type === utils_1.AST_NODE_TYPES.TSLiteralType && - typeNode.literal.type === utils_1.AST_NODE_TYPES.Literal && - valueNode.raw === typeNode.literal.raw) { - if (canFix) { - context.report({ - node: typeNode, - messageId: 'preferConstAssertion', - fix: fixer => fixer.replaceText(typeNode, 'const'), - }); - } - else { - context.report({ - node: typeNode, - messageId: 'variableConstAssertion', - suggest: [ - { - messageId: 'variableSuggest', - fix: (fixer) => [ - fixer.remove(typeNode.parent), - fixer.insertTextAfter(valueNode, ' as const'), - ], - }, - ], - }); - } - } - } - return { - PropertyDefinition(node) { - if (node.value && node.typeAnnotation) { - compareTypes(node.value, node.typeAnnotation.typeAnnotation, false); - } - }, - TSAsExpression(node) { - compareTypes(node.expression, node.typeAnnotation, true); - }, - TSTypeAssertion(node) { - compareTypes(node.expression, node.typeAnnotation, true); - }, - VariableDeclarator(node) { - if (node.init && node.id.typeAnnotation) { - compareTypes(node.init, node.id.typeAnnotation.typeAnnotation, false); - } - }, - }; - }, -}); -//# sourceMappingURL=prefer-as-const.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js.map deleted file mode 100644 index ccbe588e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-as-const.js","sourceRoot":"","sources":["../../src/rules/prefer-as-const.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,iDAAiD;YAC9D,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,oBAAoB,EAClB,yDAAyD;YAC3D,sBAAsB,EACpB,oEAAoE;YACtE,eAAe,EAAE,uDAAuD;SACzE;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,YAAY,CACnB,SAA8B,EAC9B,QAA2B,EAC3B,MAAe;YAEf,IACE,SAAS,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;gBACzC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa;gBAC9C,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;gBAChD,SAAS,CAAC,GAAG,KAAK,QAAQ,CAAC,OAAO,CAAC,GAAG,EACtC,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,sBAAsB;wBACjC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;qBACnD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,wBAAwB;wBACnC,OAAO,EAAE;4BACP;gCACE,SAAS,EAAE,iBAAiB;gCAC5B,GAAG,EAAE,CAAC,KAAK,EAAsB,EAAE,CAAC;oCAClC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oCAC7B,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC;iCAC9C;6BACF;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,kBAAkB,CAAC,IAAI;gBACrB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,cAAc,CAAC,IAAI;gBACjB,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,eAAe,CAAC,IAAI;gBAClB,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,kBAAkB,CAAC,IAAI;gBACrB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;oBACxC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js deleted file mode 100644 index 07c9116d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js +++ /dev/null @@ -1,215 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -const getESLintCoreRule_1 = require("../util/getESLintCoreRule"); -const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('prefer-destructuring'); -const destructuringTypeConfig = { - type: 'object', - additionalProperties: false, - properties: { - array: { - type: 'boolean', - }, - object: { - type: 'boolean', - }, - }, -}; -const schema = [ - { - oneOf: [ - { - type: 'object', - additionalProperties: false, - properties: { - AssignmentExpression: destructuringTypeConfig, - VariableDeclarator: destructuringTypeConfig, - }, - }, - destructuringTypeConfig, - ], - }, - { - type: 'object', - properties: { - enforceForDeclarationWithTypeAnnotation: { - type: 'boolean', - description: 'Whether to enforce destructuring on variable declarations with type annotations.', - }, - enforceForRenamedProperties: { - type: 'boolean', - description: 'Whether to enforce destructuring that use a different variable name than the property name.', - }, - }, - }, -]; -exports.default = (0, util_1.createRule)({ - name: 'prefer-destructuring', - meta: { - type: 'suggestion', - // defaultOptions, -- base rule does not use defaultOptions - docs: { - description: 'Require destructuring from arrays and/or objects', - extendsBaseRule: true, - requiresTypeChecking: true, - }, - fixable: baseRule.meta.fixable, - hasSuggestions: baseRule.meta.hasSuggestions, - messages: baseRule.meta.messages, - schema, - }, - defaultOptions: [ - { - AssignmentExpression: { - array: true, - object: true, - }, - VariableDeclarator: { - array: true, - object: true, - }, - }, - {}, - ], - create(context, [enabledTypes, options]) { - const { enforceForDeclarationWithTypeAnnotation = false, enforceForRenamedProperties = false, } = options; - const { esTreeNodeToTSNodeMap, program } = (0, util_1.getParserServices)(context); - const typeChecker = program.getTypeChecker(); - const baseRules = baseRule.create(context); - let baseRulesWithoutFixCache = null; - return { - AssignmentExpression(node) { - if (node.operator !== '=') { - return; - } - performCheck(node.left, node.right, node); - }, - VariableDeclarator(node) { - performCheck(node.id, node.init, node); - }, - }; - function performCheck(leftNode, rightNode, reportNode) { - const rules = leftNode.type === utils_1.AST_NODE_TYPES.Identifier && - leftNode.typeAnnotation == null - ? baseRules - : baseRulesWithoutFix(); - if ((leftNode.type === utils_1.AST_NODE_TYPES.ArrayPattern || - leftNode.type === utils_1.AST_NODE_TYPES.Identifier || - leftNode.type === utils_1.AST_NODE_TYPES.ObjectPattern) && - leftNode.typeAnnotation != null && - !enforceForDeclarationWithTypeAnnotation) { - return; - } - if (rightNode != null && - isArrayLiteralIntegerIndexAccess(rightNode) && - rightNode.object.type !== utils_1.AST_NODE_TYPES.Super) { - const tsObj = esTreeNodeToTSNodeMap.get(rightNode.object); - const objType = typeChecker.getTypeAtLocation(tsObj); - if (!isTypeAnyOrIterableType(objType, typeChecker)) { - if (!enforceForRenamedProperties || - !getNormalizedEnabledType(reportNode.type, 'object')) { - return; - } - context.report({ - node: reportNode, - messageId: 'preferDestructuring', - data: { type: 'object' }, - }); - return; - } - } - if (reportNode.type === utils_1.AST_NODE_TYPES.AssignmentExpression) { - rules.AssignmentExpression(reportNode); - } - else { - rules.VariableDeclarator(reportNode); - } - } - function getNormalizedEnabledType(nodeType, destructuringType) { - if ('object' in enabledTypes || 'array' in enabledTypes) { - return enabledTypes[destructuringType]; - } - return enabledTypes[nodeType][destructuringType]; - } - function baseRulesWithoutFix() { - baseRulesWithoutFixCache ??= baseRule.create(noFixContext(context)); - return baseRulesWithoutFixCache; - } - }, -}); -function noFixContext(context) { - const customContext = { - report: (descriptor) => { - context.report({ - ...descriptor, - fix: undefined, - }); - }, - }; - // we can't directly proxy `context` because its `report` property is non-configurable - // and non-writable. So we proxy `customContext` and redirect all - // property access to the original context except for `report` - return new Proxy(customContext, { - get(target, path, receiver) { - if (path !== 'report') { - return Reflect.get(context, path, receiver); - } - return Reflect.get(target, path, receiver); - }, - }); -} -function isTypeAnyOrIterableType(type, typeChecker) { - if ((0, util_1.isTypeAnyType)(type)) { - return true; - } - if (!type.isUnion()) { - const iterator = tsutils.getWellKnownSymbolPropertyOfType(type, 'iterator', typeChecker); - return iterator != null; - } - return type.types.every(t => isTypeAnyOrIterableType(t, typeChecker)); -} -function isArrayLiteralIntegerIndexAccess(node) { - if (node.type !== utils_1.AST_NODE_TYPES.MemberExpression) { - return false; - } - if (node.property.type !== utils_1.AST_NODE_TYPES.Literal) { - return false; - } - return Number.isInteger(node.property.value); -} -//# sourceMappingURL=prefer-destructuring.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js.map deleted file mode 100644 index 9bd13826..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-destructuring.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-destructuring.js","sourceRoot":"","sources":["../../src/rules/prefer-destructuring.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js deleted file mode 100644 index 39f8b7e2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-enum-initializers', - meta: { - type: 'suggestion', - docs: { - description: 'Require each enum member value to be explicitly initialized', - }, - hasSuggestions: true, - messages: { - defineInitializer: "The value of the member '{{ name }}' should be explicitly defined.", - defineInitializerSuggestion: 'Can be fixed to {{ name }} = {{ suggested }}', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function TSEnumDeclaration(node) { - const { members } = node.body; - members.forEach((member, index) => { - if (member.initializer == null) { - const name = context.sourceCode.getText(member); - context.report({ - node: member, - messageId: 'defineInitializer', - data: { - name, - }, - suggest: [ - { - messageId: 'defineInitializerSuggestion', - data: { name, suggested: index }, - fix: (fixer) => { - return fixer.replaceText(member, `${name} = ${index}`); - }, - }, - { - messageId: 'defineInitializerSuggestion', - data: { name, suggested: index + 1 }, - fix: (fixer) => { - return fixer.replaceText(member, `${name} = ${index + 1}`); - }, - }, - { - messageId: 'defineInitializerSuggestion', - data: { name, suggested: `'${name}'` }, - fix: (fixer) => { - return fixer.replaceText(member, `${name} = '${name}'`); - }, - }, - ], - }); - } - }); - } - return { - TSEnumDeclaration, - }; - }, -}); -//# sourceMappingURL=prefer-enum-initializers.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js.map deleted file mode 100644 index 010631a0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-enum-initializers.js","sourceRoot":"","sources":["../../src/rules/prefer-enum-initializers.ts"],"names":[],"mappings":";;AAEA,kCAAqC;AAIrC,kBAAe,IAAA,iBAAU,EAAiB;IACxC,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,6DAA6D;SAChE;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,iBAAiB,EACf,oEAAoE;YACtE,2BAA2B,EACzB,8CAA8C;SACjD;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,SAAS,iBAAiB,CAAC,IAAgC;YACzD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YAE9B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAChC,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,mBAAmB;wBAC9B,IAAI,EAAE;4BACJ,IAAI;yBACL;wBACD,OAAO,EAAE;4BACP;gCACE,SAAS,EAAE,6BAA6B;gCACxC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;gCAChC,GAAG,EAAE,CAAC,KAAK,EAAoB,EAAE;oCAC/B,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;gCACzD,CAAC;6BACF;4BACD;gCACE,SAAS,EAAE,6BAA6B;gCACxC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE;gCACpC,GAAG,EAAE,CAAC,KAAK,EAAoB,EAAE;oCAC/B,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;gCAC7D,CAAC;6BACF;4BACD;gCACE,SAAS,EAAE,6BAA6B;gCACxC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,GAAG,EAAE;gCACtC,GAAG,EAAE,CAAC,KAAK,EAAoB,EAAE;oCAC/B,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,OAAO,IAAI,GAAG,CAAC,CAAC;gCAC1D,CAAC;6BACF;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,iBAAiB;SAClB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js deleted file mode 100644 index 0e1757e7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js +++ /dev/null @@ -1,251 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-find', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result', - recommended: 'stylistic', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - preferFind: 'Prefer .find(...) instead of .filter(...)[0].', - preferFindSuggestion: 'Use .find(...) instead of .filter(...)[0].', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const globalScope = context.sourceCode.getScope(context.sourceCode.ast); - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function parseArrayFilterExpressions(expression) { - if (expression.type === utils_1.AST_NODE_TYPES.SequenceExpression) { - // Only the last expression in (a, b, [1, 2, 3].filter(condition))[0] matters - const lastExpression = (0, util_1.nullThrows)(expression.expressions.at(-1), 'Expected to have more than zero expressions in a sequence expression'); - return parseArrayFilterExpressions(lastExpression); - } - if (expression.type === utils_1.AST_NODE_TYPES.ChainExpression) { - return parseArrayFilterExpressions(expression.expression); - } - // This is the only reason we're returning a list rather than a single value. - if (expression.type === utils_1.AST_NODE_TYPES.ConditionalExpression) { - // Both branches of the ternary _must_ return results. - const consequentResult = parseArrayFilterExpressions(expression.consequent); - if (consequentResult.length === 0) { - return []; - } - const alternateResult = parseArrayFilterExpressions(expression.alternate); - if (alternateResult.length === 0) { - return []; - } - // Accumulate the results from both sides and pass up the chain. - return [...consequentResult, ...alternateResult]; - } - // Check if it looks like <>(...), but not <>?.(...) - if (expression.type === utils_1.AST_NODE_TYPES.CallExpression && - !expression.optional) { - const callee = expression.callee; - // Check if it looks like <>.filter(...) or <>['filter'](...), - // or the optional chaining variants. - if (callee.type === utils_1.AST_NODE_TYPES.MemberExpression) { - const isBracketSyntaxForFilter = callee.computed; - if ((0, util_1.isStaticMemberAccessOfValue)(callee, context, 'filter')) { - const filterNode = callee.property; - const filteredObjectType = (0, util_1.getConstrainedTypeAtLocation)(services, callee.object); - // As long as the object is a (possibly nullable) array, - // this is an Array.prototype.filter expression. - if (isArrayish(filteredObjectType)) { - return [ - { - filterNode, - isBracketSyntaxForFilter, - }, - ]; - } - } - } - } - // not a filter expression. - return []; - } - /** - * Tells whether the type is a possibly nullable array/tuple or union thereof. - */ - function isArrayish(type) { - let isAtLeastOneArrayishComponent = false; - for (const unionPart of tsutils.unionTypeParts(type)) { - if (tsutils.isIntrinsicNullType(unionPart) || - tsutils.isIntrinsicUndefinedType(unionPart)) { - continue; - } - // apparently checker.isArrayType(T[] & S[]) => false. - // so we need to check the intersection parts individually. - const isArrayOrIntersectionThereof = tsutils - .intersectionTypeParts(unionPart) - .every(intersectionPart => checker.isArrayType(intersectionPart) || - checker.isTupleType(intersectionPart)); - if (!isArrayOrIntersectionThereof) { - // There is a non-array, non-nullish type component, - // so it's not an array. - return false; - } - isAtLeastOneArrayishComponent = true; - } - return isAtLeastOneArrayishComponent; - } - function getObjectIfArrayAtZeroExpression(node) { - // .at() should take exactly one argument. - if (node.arguments.length !== 1) { - return undefined; - } - const callee = node.callee; - if (callee.type === utils_1.AST_NODE_TYPES.MemberExpression && - !callee.optional && - (0, util_1.isStaticMemberAccessOfValue)(callee, context, 'at')) { - const atArgument = (0, util_1.getStaticValue)(node.arguments[0], globalScope); - if (atArgument != null && isTreatedAsZeroByArrayAt(atArgument.value)) { - return callee.object; - } - } - return undefined; - } - /** - * Implements the algorithm for array indexing by `.at()` method. - * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at#parameters - */ - function isTreatedAsZeroByArrayAt(value) { - // This would cause the number constructor coercion to throw. Other static - // values are safe. - if (typeof value === 'symbol') { - return false; - } - const asNumber = Number(value); - if (isNaN(asNumber)) { - return true; - } - return Math.trunc(asNumber) === 0; - } - function isMemberAccessOfZero(node) { - const property = (0, util_1.getStaticValue)(node.property, globalScope); - // Check if it looks like <>[0] or <>['0'], but not <>?.[0] - return (!node.optional && - property != null && - isTreatedAsZeroByMemberAccess(property.value)); - } - /** - * Implements the algorithm for array indexing by member operator. - * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#array_indices - */ - function isTreatedAsZeroByMemberAccess(value) { - return String(value) === '0'; - } - function generateFixToRemoveArrayElementAccess(fixer, arrayNode, wholeExpressionBeingFlagged) { - const tokenToStartDeletingFrom = (0, util_1.nullThrows)( - // The next `.` or `[` is what we're looking for. - // think of (...).at(0) or (...)[0] or even (...)["at"](0). - context.sourceCode.getTokenAfter(arrayNode, token => token.value === '.' || token.value === '['), 'Expected to find a member access token!'); - return fixer.removeRange([ - tokenToStartDeletingFrom.range[0], - wholeExpressionBeingFlagged.range[1], - ]); - } - function generateFixToReplaceFilterWithFind(fixer, filterExpression) { - return fixer.replaceText(filterExpression.filterNode, filterExpression.isBracketSyntaxForFilter ? '"find"' : 'find'); - } - return { - // This query will be used to find things like `filteredResults.at(0)`. - CallExpression(node) { - const object = getObjectIfArrayAtZeroExpression(node); - if (object) { - const filterExpressions = parseArrayFilterExpressions(object); - if (filterExpressions.length !== 0) { - context.report({ - node, - messageId: 'preferFind', - suggest: [ - { - messageId: 'preferFindSuggestion', - fix: (fixer) => { - return [ - ...filterExpressions.map(filterExpression => generateFixToReplaceFilterWithFind(fixer, filterExpression)), - // Get rid of the .at(0) or ['at'](0). - generateFixToRemoveArrayElementAccess(fixer, object, node), - ]; - }, - }, - ], - }); - } - } - }, - // This query will be used to find things like `filteredResults[0]`. - // - // Note: we're always looking for array member access to be "computed", - // i.e. `filteredResults[0]`, since `filteredResults.0` isn't a thing. - 'MemberExpression[computed=true]'(node) { - if (isMemberAccessOfZero(node)) { - const object = node.object; - const filterExpressions = parseArrayFilterExpressions(object); - if (filterExpressions.length !== 0) { - context.report({ - node, - messageId: 'preferFind', - suggest: [ - { - messageId: 'preferFindSuggestion', - fix: (fixer) => { - return [ - ...filterExpressions.map(filterExpression => generateFixToReplaceFilterWithFind(fixer, filterExpression)), - // Get rid of the [0]. - generateFixToRemoveArrayElementAccess(fixer, object, node), - ]; - }, - }, - ], - }); - } - } - }, - }; - }, -}); -//# sourceMappingURL=prefer-find.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js.map deleted file mode 100644 index 058a2718..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-find.js","sourceRoot":"","sources":["../../src/rules/prefer-find.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js deleted file mode 100644 index 7618ac8d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js +++ /dev/null @@ -1,116 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-for-of', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce the use of `for-of` loop over the standard `for` loop where possible', - recommended: 'stylistic', - }, - messages: { - preferForOf: 'Expected a `for-of` loop instead of a `for` loop with this simple iteration.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - function isSingleVariableDeclaration(node) { - return (node?.type === utils_1.AST_NODE_TYPES.VariableDeclaration && - node.kind !== 'const' && - node.declarations.length === 1); - } - function isLiteral(node, value) { - return node.type === utils_1.AST_NODE_TYPES.Literal && node.value === value; - } - function isZeroInitialized(node) { - return node.init != null && isLiteral(node.init, 0); - } - function isMatchingIdentifier(node, name) { - return node.type === utils_1.AST_NODE_TYPES.Identifier && node.name === name; - } - function isLessThanLengthExpression(node, name) { - if (node?.type === utils_1.AST_NODE_TYPES.BinaryExpression && - node.operator === '<' && - isMatchingIdentifier(node.left, name) && - node.right.type === utils_1.AST_NODE_TYPES.MemberExpression && - isMatchingIdentifier(node.right.property, 'length')) { - return node.right.object; - } - return null; - } - function isIncrement(node, name) { - if (!node) { - return false; - } - switch (node.type) { - case utils_1.AST_NODE_TYPES.UpdateExpression: - // x++ or ++x - return (node.operator === '++' && isMatchingIdentifier(node.argument, name)); - case utils_1.AST_NODE_TYPES.AssignmentExpression: - if (isMatchingIdentifier(node.left, name)) { - if (node.operator === '+=') { - // x += 1 - return isLiteral(node.right, 1); - } - if (node.operator === '=') { - // x = x + 1 or x = 1 + x - const expr = node.right; - return (expr.type === utils_1.AST_NODE_TYPES.BinaryExpression && - expr.operator === '+' && - ((isMatchingIdentifier(expr.left, name) && - isLiteral(expr.right, 1)) || - (isLiteral(expr.left, 1) && - isMatchingIdentifier(expr.right, name)))); - } - } - } - return false; - } - function contains(outer, inner) { - return (outer.range[0] <= inner.range[0] && outer.range[1] >= inner.range[1]); - } - function isIndexOnlyUsedWithArray(body, indexVar, arrayExpression) { - const arrayText = context.sourceCode.getText(arrayExpression); - return indexVar.references.every(reference => { - const id = reference.identifier; - const node = id.parent; - return (!contains(body, id) || - (node.type === utils_1.AST_NODE_TYPES.MemberExpression && - node.object.type !== utils_1.AST_NODE_TYPES.ThisExpression && - node.property === id && - context.sourceCode.getText(node.object) === arrayText && - !(0, util_1.isAssignee)(node))); - }); - } - return { - 'ForStatement:exit'(node) { - if (!isSingleVariableDeclaration(node.init)) { - return; - } - const declarator = node.init.declarations[0]; - if (!declarator || - !isZeroInitialized(declarator) || - declarator.id.type !== utils_1.AST_NODE_TYPES.Identifier) { - return; - } - const indexName = declarator.id.name; - const arrayExpression = isLessThanLengthExpression(node.test, indexName); - if (!arrayExpression) { - return; - } - const [indexVar] = context.sourceCode.getDeclaredVariables(node.init); - if (isIncrement(node.update, indexName) && - isIndexOnlyUsedWithArray(node.body, indexVar, arrayExpression)) { - context.report({ - node, - messageId: 'preferForOf', - }); - } - }, - }; - }, -}); -//# sourceMappingURL=prefer-for-of.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map deleted file mode 100644 index 92cfabb2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-for-of.js","sourceRoot":"","sources":["../../src/rules/prefer-for-of.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js deleted file mode 100644 index 1e3e2961..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js +++ /dev/null @@ -1,187 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.phrases = void 0; -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.phrases = { - [utils_1.AST_NODE_TYPES.TSInterfaceDeclaration]: 'Interface', - [utils_1.AST_NODE_TYPES.TSTypeLiteral]: 'Type literal', -}; -exports.default = (0, util_1.createRule)({ - name: 'prefer-function-type', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce using function types instead of interfaces with call signatures', - recommended: 'stylistic', - }, - fixable: 'code', - messages: { - functionTypeOverCallableType: '{{ literalOrInterface }} only has a call signature, you should use a function type instead.', - unexpectedThisOnFunctionOnlyInterface: "`this` refers to the function type '{{ interfaceName }}', did you intend to use a generic `this` parameter like `(this: Self, ...) => Self` instead?", - }, - schema: [], - }, - defaultOptions: [], - create(context) { - /** - * Checks if there the interface has exactly one supertype that isn't named 'Function' - * @param node The node being checked - */ - function hasOneSupertype(node) { - if (node.extends.length === 0) { - return false; - } - if (node.extends.length !== 1) { - return true; - } - const expr = node.extends[0].expression; - return (expr.type !== utils_1.AST_NODE_TYPES.Identifier || expr.name !== 'Function'); - } - /** - * @param parent The parent of the call signature causing the diagnostic - */ - function shouldWrapSuggestion(parent) { - if (!parent) { - return false; - } - switch (parent.type) { - case utils_1.AST_NODE_TYPES.TSUnionType: - case utils_1.AST_NODE_TYPES.TSIntersectionType: - case utils_1.AST_NODE_TYPES.TSArrayType: - return true; - default: - return false; - } - } - /** - * @param member The TypeElement being checked - * @param node The parent of member being checked - */ - function checkMember(member, node, tsThisTypes = null) { - if ((member.type === utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration || - member.type === utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration) && - member.returnType != null) { - if (tsThisTypes?.length && - node.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration) { - // the message can be confusing if we don't point directly to the `this` node instead of the whole member - // and in favour of generating at most one error we'll only report the first occurrence of `this` if there are multiple - context.report({ - node: tsThisTypes[0], - messageId: 'unexpectedThisOnFunctionOnlyInterface', - data: { - interfaceName: node.id.name, - }, - }); - return; - } - const fixable = node.parent.type === utils_1.AST_NODE_TYPES.ExportDefaultDeclaration; - const fix = fixable - ? null - : (fixer) => { - const fixes = []; - const start = member.range[0]; - // https://github.com/microsoft/TypeScript/pull/56908 - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const colonPos = member.returnType.range[0] - start; - const text = context.sourceCode - .getText() - .slice(start, member.range[1]); - const comments = [ - ...context.sourceCode.getCommentsBefore(member), - ...context.sourceCode.getCommentsAfter(member), - ]; - let suggestion = `${text.slice(0, colonPos)} =>${text.slice(colonPos + 1)}`; - const lastChar = suggestion.endsWith(';') ? ';' : ''; - if (lastChar) { - suggestion = suggestion.slice(0, -1); - } - if (shouldWrapSuggestion(node.parent)) { - suggestion = `(${suggestion})`; - } - if (node.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration) { - if (node.typeParameters != null) { - suggestion = `type ${context.sourceCode - .getText() - .slice(node.id.range[0], node.typeParameters.range[1])} = ${suggestion}${lastChar}`; - } - else { - suggestion = `type ${node.id.name} = ${suggestion}${lastChar}`; - } - } - const isParentExported = node.parent.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration; - if (node.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration && - isParentExported) { - const commentsText = comments - .map(({ type, value }) => type === utils_1.AST_TOKEN_TYPES.Line - ? `//${value}\n` - : `/*${value}*/\n`) - .join(''); - // comments should move before export and not between export and interface declaration - fixes.push(fixer.insertTextBefore(node.parent, commentsText)); - } - else { - comments.forEach(comment => { - let commentText = comment.type === utils_1.AST_TOKEN_TYPES.Line - ? `//${comment.value}` - : `/*${comment.value}*/`; - const isCommentOnTheSameLine = comment.loc.start.line === member.loc.start.line; - if (!isCommentOnTheSameLine) { - commentText += '\n'; - } - else { - commentText += ' '; - } - suggestion = commentText + suggestion; - }); - } - const fixStart = node.range[0]; - fixes.push(fixer.replaceTextRange([fixStart, node.range[1]], suggestion)); - return fixes; - }; - context.report({ - node: member, - messageId: 'functionTypeOverCallableType', - data: { - literalOrInterface: exports.phrases[node.type], - }, - fix, - }); - } - } - let tsThisTypes = null; - let literalNesting = 0; - return { - TSInterfaceDeclaration() { - // when entering an interface reset the count of `this`s to empty. - tsThisTypes = []; - }, - 'TSInterfaceDeclaration:exit'(node) { - if (!hasOneSupertype(node) && node.body.body.length === 1) { - checkMember(node.body.body[0], node, tsThisTypes); - } - // on exit check member and reset the array to nothing. - tsThisTypes = null; - }, - 'TSInterfaceDeclaration TSThisType'(node) { - // inside an interface keep track of all ThisType references. - // unless it's inside a nested type literal in which case it's invalid code anyway - // we don't want to incorrectly say "it refers to name" while typescript says it's completely invalid. - if (literalNesting === 0 && tsThisTypes != null) { - tsThisTypes.push(node); - } - }, - // keep track of nested literals to avoid complaining about invalid `this` uses - 'TSInterfaceDeclaration TSTypeLiteral'() { - literalNesting += 1; - }, - 'TSInterfaceDeclaration TSTypeLiteral:exit'() { - literalNesting -= 1; - }, - 'TSTypeLiteral[members.length = 1]'(node) { - checkMember(node.members[0], node); - }, - }; - }, -}); -//# sourceMappingURL=prefer-function-type.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map deleted file mode 100644 index 777614f1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-function-type.js","sourceRoot":"","sources":["../../src/rules/prefer-function-type.ts"],"names":[],"mappings":";;;AAEA,oDAA2E;AAE3E,kCAAqC;AAExB,QAAA,OAAO,GAAG;IACrB,CAAC,sBAAc,CAAC,sBAAsB,CAAC,EAAE,WAAW;IACpD,CAAC,sBAAc,CAAC,aAAa,CAAC,EAAE,cAAc;CACtC,CAAC;AAEX,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,yEAAyE;YAC3E,WAAW,EAAE,WAAW;SACzB;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,4BAA4B,EAC1B,6FAA6F;YAC/F,qCAAqC,EACnC,4JAA4J;SAC/J;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ;;;WAGG;QACH,SAAS,eAAe,CAAC,IAAqC;YAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAExC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CACpE,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,SAAS,oBAAoB,CAAC,MAAiC;YAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;YACf,CAAC;YAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,sBAAc,CAAC,WAAW,CAAC;gBAChC,KAAK,sBAAc,CAAC,kBAAkB,CAAC;gBACvC,KAAK,sBAAc,CAAC,WAAW;oBAC7B,OAAO,IAAI,CAAC;gBACd;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,SAAS,WAAW,CAClB,MAA4B,EAC5B,IAA8D,EAC9D,cAA4C,IAAI;YAEhD,IACE,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,0BAA0B;gBACxD,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,+BAA+B,CAAC;gBACjE,MAAM,CAAC,UAAU,IAAI,IAAI,EACzB,CAAC;gBACD,IACE,WAAW,EAAE,MAAM;oBACnB,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB,EACnD,CAAC;oBACD,yGAAyG;oBACzG,uHAAuH;oBACvH,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;wBACpB,SAAS,EAAE,uCAAuC;wBAClD,IAAI,EAAE;4BACJ,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;yBAC5B;qBACF,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,wBAAwB,CAAC;gBAE/D,MAAM,GAAG,GAAG,OAAO;oBACjB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,CAAC,KAAyB,EAAsB,EAAE;wBAChD,MAAM,KAAK,GAAuB,EAAE,CAAC;wBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9B,qDAAqD;wBACrD,oEAAoE;wBACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;wBACrD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU;6BAC5B,OAAO,EAAE;6BACT,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,QAAQ,GAAG;4BACf,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC;4BAC/C,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC;yBAC/C,CAAC;wBACF,IAAI,UAAU,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CACzD,QAAQ,GAAG,CAAC,CACb,EAAE,CAAC;wBACJ,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrD,IAAI,QAAQ,EAAE,CAAC;4BACb,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACvC,CAAC;wBACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;4BACtC,UAAU,GAAG,IAAI,UAAU,GAAG,CAAC;wBACjC,CAAC;wBAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB,EAAE,CAAC;4BACxD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;gCAChC,UAAU,GAAG,QAAQ,OAAO,CAAC,UAAU;qCACpC,OAAO,EAAE;qCACT,KAAK,CACJ,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAChB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7B,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;4BACnC,CAAC;iCAAM,CAAC;gCACN,UAAU,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;4BACjE,CAAC;wBACH,CAAC;wBAED,MAAM,gBAAgB,GACpB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB,CAAC;wBAE7D,IACE,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,sBAAsB;4BACnD,gBAAgB,EAChB,CAAC;4BACD,MAAM,YAAY,GAAG,QAAQ;iCAC1B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,IAAI,KAAK,uBAAe,CAAC,IAAI;gCAC3B,CAAC,CAAC,KAAK,KAAK,IAAI;gCAChB,CAAC,CAAC,KAAK,KAAK,MAAM,CACrB;iCACA,IAAI,CAAC,EAAE,CAAC,CAAC;4BACZ,sFAAsF;4BACtF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;wBAChE,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCACzB,IAAI,WAAW,GACb,OAAO,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI;oCACnC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE;oCACtB,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC;gCAC7B,MAAM,sBAAsB,GAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gCACnD,IAAI,CAAC,sBAAsB,EAAE,CAAC;oCAC5B,WAAW,IAAI,IAAI,CAAC;gCACtB,CAAC;qCAAM,CAAC;oCACN,WAAW,IAAI,GAAG,CAAC;gCACrB,CAAC;gCACD,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;4BACxC,CAAC,CAAC,CAAC;wBACL,CAAC;wBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC/B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAC9D,CAAC;wBACF,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC;gBAEN,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,8BAA8B;oBACzC,IAAI,EAAE;wBACJ,kBAAkB,EAAE,eAAO,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvC;oBACD,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,WAAW,GAAiC,IAAI,CAAC;QACrD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,OAAO;YACL,sBAAsB;gBACpB,kEAAkE;gBAClE,WAAW,GAAG,EAAE,CAAC;YACnB,CAAC;YACD,6BAA6B,CAC3B,IAAqC;gBAErC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBACpD,CAAC;gBACD,uDAAuD;gBACvD,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,mCAAmC,CAAC,IAAyB;gBAC3D,6DAA6D;gBAC7D,kFAAkF;gBAClF,sGAAsG;gBACtG,IAAI,cAAc,KAAK,CAAC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,+EAA+E;YAC/E,sCAAsC;gBACpC,cAAc,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,2CAA2C;gBACzC,cAAc,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,mCAAmC,CAAC,IAA4B;gBAC9D,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js deleted file mode 100644 index 12412510..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js +++ /dev/null @@ -1,243 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const regexpp_1 = require("@eslint-community/regexpp"); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-includes', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce `includes` method over `indexOf` method', - recommended: 'stylistic', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - preferIncludes: "Use 'includes()' method instead.", - preferStringIncludes: 'Use `String#includes()` method with a string instead.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const globalScope = context.sourceCode.getScope(context.sourceCode.ast); - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function isNumber(node, value) { - const evaluated = (0, util_1.getStaticValue)(node, globalScope); - return evaluated != null && evaluated.value === value; - } - function isPositiveCheck(node) { - switch (node.operator) { - case '!==': - case '!=': - case '>': - return isNumber(node.right, -1); - case '>=': - return isNumber(node.right, 0); - default: - return false; - } - } - function isNegativeCheck(node) { - switch (node.operator) { - case '===': - case '==': - case '<=': - return isNumber(node.right, -1); - case '<': - return isNumber(node.right, 0); - default: - return false; - } - } - function hasSameParameters(nodeA, nodeB) { - if (!ts.isFunctionLike(nodeA) || !ts.isFunctionLike(nodeB)) { - return false; - } - const paramsA = nodeA.parameters; - const paramsB = nodeB.parameters; - if (paramsA.length !== paramsB.length) { - return false; - } - for (let i = 0; i < paramsA.length; ++i) { - const paramA = paramsA[i]; - const paramB = paramsB[i]; - // Check name, type, and question token once. - if (paramA.getText() !== paramB.getText()) { - return false; - } - } - return true; - } - /** - * Parse a given node if it's a `RegExp` instance. - * @param node The node to parse. - */ - function parseRegExp(node) { - const evaluated = (0, util_1.getStaticValue)(node, globalScope); - if (evaluated == null || !(evaluated.value instanceof RegExp)) { - return null; - } - const { flags, pattern } = (0, regexpp_1.parseRegExpLiteral)(evaluated.value); - if (pattern.alternatives.length !== 1 || - flags.ignoreCase || - flags.global) { - return null; - } - // Check if it can determine a unique string. - const chars = pattern.alternatives[0].elements; - if (!chars.every(c => c.type === 'Character')) { - return null; - } - // To string. - return String.fromCodePoint(...chars.map(c => c.value)); - } - function escapeString(str) { - const EscapeMap = { - '\0': '\\0', - '\t': '\\t', - '\n': '\\n', - '\v': '\\v', - '\f': '\\f', - '\r': '\\r', - "'": "\\'", - '\\': '\\\\', - // "\b" cause unexpected replacements - // '\b': '\\b', - }; - const replaceRegex = new RegExp(Object.values(EscapeMap).join('|'), 'g'); - return str.replaceAll(replaceRegex, char => EscapeMap[char]); - } - function checkArrayIndexOf(node, allowFixing) { - if (!(0, util_1.isStaticMemberAccessOfValue)(node, context, 'indexOf')) { - return; - } - // Check if the comparison is equivalent to `includes()`. - const callNode = node.parent; - const compareNode = (callNode.parent.type === utils_1.AST_NODE_TYPES.ChainExpression - ? callNode.parent.parent - : callNode.parent); - const negative = isNegativeCheck(compareNode); - if (!negative && !isPositiveCheck(compareNode)) { - return; - } - // Get the symbol of `indexOf` method. - const indexofMethodDeclarations = services - .getSymbolAtLocation(node.property) - ?.getDeclarations(); - if (indexofMethodDeclarations == null || - indexofMethodDeclarations.length === 0) { - return; - } - // Check if every declaration of `indexOf` method has `includes` method - // and the two methods have the same parameters. - for (const instanceofMethodDecl of indexofMethodDeclarations) { - const typeDecl = instanceofMethodDecl.parent; - const type = checker.getTypeAtLocation(typeDecl); - const includesMethodDecl = type - .getProperty('includes') - ?.getDeclarations(); - if (!includesMethodDecl?.some(includesMethodDecl => hasSameParameters(includesMethodDecl, instanceofMethodDecl))) { - return; - } - } - // Report it. - context.report({ - node: compareNode, - messageId: 'preferIncludes', - ...(allowFixing && { - *fix(fixer) { - if (negative) { - yield fixer.insertTextBefore(callNode, '!'); - } - yield fixer.replaceText(node.property, 'includes'); - yield fixer.removeRange([callNode.range[1], compareNode.range[1]]); - }, - }), - }); - } - return { - // a.indexOf(b) !== 1 - 'BinaryExpression > CallExpression.left > MemberExpression'(node) { - checkArrayIndexOf(node, /* allowFixing */ true); - }, - // a?.indexOf(b) !== 1 - 'BinaryExpression > ChainExpression.left > CallExpression > MemberExpression'(node) { - checkArrayIndexOf(node, /* allowFixing */ false); - }, - // /bar/.test(foo) - 'CallExpression[arguments.length=1] > MemberExpression.callee[property.name="test"][computed=false]'(node) { - const callNode = node.parent; - const text = parseRegExp(node.object); - if (text == null) { - return; - } - //check the argument type of test methods - const argument = callNode.arguments[0]; - const type = (0, util_1.getConstrainedTypeAtLocation)(services, argument); - const includesMethodDecl = type - .getProperty('includes') - ?.getDeclarations(); - if (includesMethodDecl == null) { - return; - } - context.report({ - node: callNode, - messageId: 'preferStringIncludes', - *fix(fixer) { - const argNode = callNode.arguments[0]; - const needsParen = argNode.type !== utils_1.AST_NODE_TYPES.Literal && - argNode.type !== utils_1.AST_NODE_TYPES.TemplateLiteral && - argNode.type !== utils_1.AST_NODE_TYPES.Identifier && - argNode.type !== utils_1.AST_NODE_TYPES.MemberExpression && - argNode.type !== utils_1.AST_NODE_TYPES.CallExpression; - yield fixer.removeRange([callNode.range[0], argNode.range[0]]); - yield fixer.removeRange([argNode.range[1], callNode.range[1]]); - if (needsParen) { - yield fixer.insertTextBefore(argNode, '('); - yield fixer.insertTextAfter(argNode, ')'); - } - yield fixer.insertTextAfter(argNode, `${node.optional ? '?.' : '.'}includes('${escapeString(text)}')`); - }, - }); - }, - }; - }, -}); -//# sourceMappingURL=prefer-includes.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map deleted file mode 100644 index f8a09561..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-includes.js","sourceRoot":"","sources":["../../src/rules/prefer-includes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js deleted file mode 100644 index d73390ea..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js +++ /dev/null @@ -1,117 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-literal-enum-member', - meta: { - type: 'suggestion', - docs: { - description: 'Require all enum members to be literal values', - recommended: 'strict', - requiresTypeChecking: false, - }, - messages: { - notLiteral: `Explicit enum value must only be a literal value (string or number).`, - notLiteralOrBitwiseExpression: `Explicit enum value must only be a literal value (string or number) or a bitwise expression.`, - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowBitwiseExpressions: { - type: 'boolean', - description: 'Whether to allow using bitwise expressions in enum initializers.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowBitwiseExpressions: false, - }, - ], - create(context, [{ allowBitwiseExpressions }]) { - function isIdentifierWithName(node, name) { - return node.type === utils_1.AST_NODE_TYPES.Identifier && node.name === name; - } - function hasEnumMember(decl, name) { - return decl.body.members.some(member => isIdentifierWithName(member.id, name) || - (member.id.type === utils_1.AST_NODE_TYPES.Literal && - (0, util_1.getStaticStringValue)(member.id) === name)); - } - function isSelfEnumMember(decl, node) { - if (node.type === utils_1.AST_NODE_TYPES.Identifier) { - return hasEnumMember(decl, node.name); - } - if (node.type === utils_1.AST_NODE_TYPES.MemberExpression && - isIdentifierWithName(node.object, decl.id.name)) { - if (node.property.type === utils_1.AST_NODE_TYPES.Identifier) { - return hasEnumMember(decl, node.property.name); - } - if (node.computed) { - const propertyName = (0, util_1.getStaticStringValue)(node.property); - if (propertyName) { - return hasEnumMember(decl, propertyName); - } - } - } - return false; - } - return { - TSEnumMember(node) { - // If there is no initializer, then this node is just the name of the member, so ignore. - if (node.initializer == null) { - return; - } - const declaration = node.parent.parent; - function isAllowedInitializerExpressionRecursive(node, partOfBitwiseComputation) { - // You can only refer to an enum member if it's part of a bitwise computation. - // so C = B isn't allowed (special case), but C = A | B is. - if (partOfBitwiseComputation && isSelfEnumMember(declaration, node)) { - return true; - } - switch (node.type) { - // any old literal - case utils_1.AST_NODE_TYPES.Literal: - return true; - // TemplateLiteral without expressions - case utils_1.AST_NODE_TYPES.TemplateLiteral: - return node.expressions.length === 0; - case utils_1.AST_NODE_TYPES.UnaryExpression: - // +123, -123, etc. - if (['-', '+'].includes(node.operator)) { - return isAllowedInitializerExpressionRecursive(node.argument, partOfBitwiseComputation); - } - if (allowBitwiseExpressions) { - return (node.operator === '~' && - isAllowedInitializerExpressionRecursive(node.argument, true)); - } - return false; - case utils_1.AST_NODE_TYPES.BinaryExpression: - if (allowBitwiseExpressions) { - return (['&', '^', '<<', '>>', '>>>', '|'].includes(node.operator) && - isAllowedInitializerExpressionRecursive(node.left, true) && - isAllowedInitializerExpressionRecursive(node.right, true)); - } - return false; - default: - return false; - } - } - if (isAllowedInitializerExpressionRecursive(node.initializer, false)) { - return; - } - context.report({ - node: node.id, - messageId: allowBitwiseExpressions - ? 'notLiteralOrBitwiseExpression' - : 'notLiteral', - }); - }, - }; - }, -}); -//# sourceMappingURL=prefer-literal-enum-member.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map deleted file mode 100644 index 4742df14..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-literal-enum-member.js","sourceRoot":"","sources":["../../src/rules/prefer-literal-enum-member.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js deleted file mode 100644 index c127c60e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-namespace-keyword', - meta: { - type: 'suggestion', - docs: { - description: 'Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules', - recommended: 'recommended', - }, - fixable: 'code', - messages: { - useNamespace: "Use 'namespace' instead of 'module' to declare custom TypeScript modules.", - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - TSModuleDeclaration(node) { - // Do nothing if the name is a string. - if (node.id.type === utils_1.AST_NODE_TYPES.Literal) { - return; - } - // Get tokens of the declaration header. - const moduleType = context.sourceCode.getTokenBefore(node.id); - if (moduleType && - moduleType.type === utils_1.AST_TOKEN_TYPES.Identifier && - moduleType.value === 'module') { - context.report({ - node, - messageId: 'useNamespace', - fix(fixer) { - return fixer.replaceText(moduleType, 'namespace'); - }, - }); - } - }, - }; - }, -}); -//# sourceMappingURL=prefer-namespace-keyword.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js.map deleted file mode 100644 index d2f134c5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-namespace-keyword.js","sourceRoot":"","sources":["../../src/rules/prefer-namespace-keyword.ts"],"names":[],"mappings":";;AAAA,oDAA2E;AAE3E,kCAAqC;AAErC,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,8FAA8F;YAChG,WAAW,EAAE,aAAa;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,YAAY,EACV,2EAA2E;SAC9E;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,mBAAmB,CAAC,IAAI;gBACtB,sCAAsC;gBACtC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,wCAAwC;gBACxC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAE9D,IACE,UAAU;oBACV,UAAU,CAAC,IAAI,KAAK,uBAAe,CAAC,UAAU;oBAC9C,UAAU,CAAC,KAAK,KAAK,QAAQ,EAC7B,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,cAAc;wBACzB,GAAG,CAAC,KAAK;4BACP,OAAO,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;wBACpD,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js deleted file mode 100644 index 9a434928..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js +++ /dev/null @@ -1,433 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-nullish-coalescing', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce using the nullish coalescing operator instead of logical assignments or chaining', - recommended: 'stylistic', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - noStrictNullCheck: 'This rule requires the `strictNullChecks` compiler option to be turned on to function correctly.', - preferNullishOverOr: 'Prefer using nullish coalescing operator (`??{{ equals }}`) instead of a logical {{ description }} (`||{{ equals }}`), as it is a safer operator.', - preferNullishOverTernary: 'Prefer using nullish coalescing operator (`??{{ equals }}`) instead of a ternary expression, as it is simpler to read.', - suggestNullish: 'Fix to nullish coalescing operator (`??{{ equals }}`).', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: { - type: 'boolean', - description: 'Unless this is set to `true`, the rule will error on every file whose `tsconfig.json` does _not_ have the `strictNullChecks` compiler option (or `strict`) set to `true`.', - }, - ignoreBooleanCoercion: { - type: 'boolean', - description: 'Whether to ignore arguments to the `Boolean` constructor', - }, - ignoreConditionalTests: { - type: 'boolean', - description: 'Whether to ignore cases that are located within a conditional test.', - }, - ignoreMixedLogicalExpressions: { - type: 'boolean', - description: 'Whether to ignore any logical or expressions that are part of a mixed logical expression (with `&&`).', - }, - ignorePrimitives: { - description: 'Whether to ignore all (`true`) or some (an object with properties) primitive types.', - oneOf: [ - { - type: 'object', - description: 'Which primitives types may be ignored.', - properties: { - bigint: { - type: 'boolean', - description: 'Ignore bigint primitive types.', - }, - boolean: { - type: 'boolean', - description: 'Ignore boolean primitive types.', - }, - number: { - type: 'boolean', - description: 'Ignore number primitive types.', - }, - string: { - type: 'boolean', - description: 'Ignore string primitive types.', - }, - }, - }, - { - type: 'boolean', - description: 'Ignore all primitive types.', - enum: [true], - }, - ], - }, - ignoreTernaryTests: { - type: 'boolean', - description: 'Whether to ignore any ternary expressions that could be simplified by using the nullish coalescing operator.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false, - ignoreBooleanCoercion: false, - ignoreConditionalTests: true, - ignoreMixedLogicalExpressions: false, - ignorePrimitives: { - bigint: false, - boolean: false, - number: false, - string: false, - }, - ignoreTernaryTests: false, - }, - ], - create(context, [{ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing, ignoreBooleanCoercion, ignoreConditionalTests, ignoreMixedLogicalExpressions, ignorePrimitives, ignoreTernaryTests, },]) { - const parserServices = (0, util_1.getParserServices)(context); - const compilerOptions = parserServices.program.getCompilerOptions(); - const checker = parserServices.program.getTypeChecker(); - const isStrictNullChecks = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'strictNullChecks'); - if (!isStrictNullChecks && - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing !== true) { - context.report({ - loc: { - start: { column: 0, line: 0 }, - end: { column: 0, line: 0 }, - }, - messageId: 'noStrictNullCheck', - }); - } - // todo: rename to something more specific? - function checkAssignmentOrLogicalExpression(node, description, equals) { - const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node); - const type = checker.getTypeAtLocation(tsNode.left); - if (!(0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Null | ts.TypeFlags.Undefined)) { - return; - } - if (ignoreConditionalTests === true && isConditionalTest(node)) { - return; - } - if (ignoreMixedLogicalExpressions === true && - isMixedLogicalExpression(node)) { - return; - } - // https://github.com/typescript-eslint/typescript-eslint/issues/5439 - /* eslint-disable @typescript-eslint/no-non-null-assertion */ - const ignorableFlags = [ - (ignorePrimitives === true || ignorePrimitives.bigint) && - ts.TypeFlags.BigIntLike, - (ignorePrimitives === true || ignorePrimitives.boolean) && - ts.TypeFlags.BooleanLike, - (ignorePrimitives === true || ignorePrimitives.number) && - ts.TypeFlags.NumberLike, - (ignorePrimitives === true || ignorePrimitives.string) && - ts.TypeFlags.StringLike, - ] - .filter((flag) => typeof flag === 'number') - .reduce((previous, flag) => previous | flag, 0); - if (type.flags !== ts.TypeFlags.Null && - type.flags !== ts.TypeFlags.Undefined && - type.types.some(t => tsutils - .intersectionTypeParts(t) - .some(t => tsutils.isTypeFlagSet(t, ignorableFlags)))) { - return; - } - /* eslint-enable @typescript-eslint/no-non-null-assertion */ - const barBarOperator = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.left, token => token.type === utils_1.AST_TOKEN_TYPES.Punctuator && - token.value === node.operator), util_1.NullThrowsReasons.MissingToken('operator', node.type)); - function* fix(fixer) { - if ((0, util_1.isLogicalOrOperator)(node.parent)) { - // '&&' and '??' operations cannot be mixed without parentheses (e.g. a && b ?? c) - if (node.left.type === utils_1.AST_NODE_TYPES.LogicalExpression && - !(0, util_1.isLogicalOrOperator)(node.left.left)) { - yield fixer.insertTextBefore(node.left.right, '('); - } - else { - yield fixer.insertTextBefore(node.left, '('); - } - yield fixer.insertTextAfter(node.right, ')'); - } - yield fixer.replaceText(barBarOperator, node.operator.replace('||', '??')); - } - context.report({ - node: barBarOperator, - messageId: 'preferNullishOverOr', - data: { description, equals }, - suggest: [ - { - messageId: 'suggestNullish', - data: { equals }, - fix, - }, - ], - }); - } - return { - 'AssignmentExpression[operator = "||="]'(node) { - checkAssignmentOrLogicalExpression(node, 'assignment', '='); - }, - ConditionalExpression(node) { - if (ignoreTernaryTests) { - return; - } - let operator; - let nodesInsideTestExpression = []; - if (node.test.type === utils_1.AST_NODE_TYPES.BinaryExpression) { - nodesInsideTestExpression = [node.test.left, node.test.right]; - if (node.test.operator === '==' || - node.test.operator === '!=' || - node.test.operator === '===' || - node.test.operator === '!==') { - operator = node.test.operator; - } - } - else if (node.test.type === utils_1.AST_NODE_TYPES.LogicalExpression && - node.test.left.type === utils_1.AST_NODE_TYPES.BinaryExpression && - node.test.right.type === utils_1.AST_NODE_TYPES.BinaryExpression) { - nodesInsideTestExpression = [ - node.test.left.left, - node.test.left.right, - node.test.right.left, - node.test.right.right, - ]; - if (['||', '||='].includes(node.test.operator)) { - if (node.test.left.operator === '===' && - node.test.right.operator === '===') { - operator = '==='; - } - else if (((node.test.left.operator === '===' || - node.test.right.operator === '===') && - (node.test.left.operator === '==' || - node.test.right.operator === '==')) || - (node.test.left.operator === '==' && - node.test.right.operator === '==')) { - operator = '=='; - } - } - else if (node.test.operator === '&&') { - if (node.test.left.operator === '!==' && - node.test.right.operator === '!==') { - operator = '!=='; - } - else if (((node.test.left.operator === '!==' || - node.test.right.operator === '!==') && - (node.test.left.operator === '!=' || - node.test.right.operator === '!=')) || - (node.test.left.operator === '!=' && - node.test.right.operator === '!=')) { - operator = '!='; - } - } - } - if (!operator) { - return; - } - let identifier; - let hasUndefinedCheck = false; - let hasNullCheck = false; - // we check that the test only contains null, undefined and the identifier - for (const testNode of nodesInsideTestExpression) { - if ((0, util_1.isNullLiteral)(testNode)) { - hasNullCheck = true; - } - else if ((0, util_1.isUndefinedIdentifier)(testNode)) { - hasUndefinedCheck = true; - } - else if ((operator === '!==' || operator === '!=') && - (0, util_1.isNodeEqual)(testNode, node.consequent)) { - identifier = testNode; - } - else if ((operator === '===' || operator === '==') && - (0, util_1.isNodeEqual)(testNode, node.alternate)) { - identifier = testNode; - } - else { - return; - } - } - if (!identifier) { - return; - } - const isFixable = (() => { - // it is fixable if we check for both null and undefined, or not if neither - if (hasUndefinedCheck === hasNullCheck) { - return hasUndefinedCheck; - } - // it is fixable if we loosely check for either null or undefined - if (operator === '==' || operator === '!=') { - return true; - } - const tsNode = parserServices.esTreeNodeToTSNodeMap.get(identifier); - const type = checker.getTypeAtLocation(tsNode); - const flags = (0, util_1.getTypeFlags)(type); - if (flags & (ts.TypeFlags.Any | ts.TypeFlags.Unknown)) { - return false; - } - const hasNullType = (flags & ts.TypeFlags.Null) !== 0; - // it is fixable if we check for undefined and the type is not nullable - if (hasUndefinedCheck && !hasNullType) { - return true; - } - const hasUndefinedType = (flags & ts.TypeFlags.Undefined) !== 0; - // it is fixable if we check for null and the type can't be undefined - return hasNullCheck && !hasUndefinedType; - })(); - if (isFixable) { - context.report({ - node, - messageId: 'preferNullishOverTernary', - // TODO: also account for = in the ternary clause - data: { equals: '' }, - suggest: [ - { - messageId: 'suggestNullish', - data: { equals: '' }, - fix(fixer) { - const [left, right] = operator === '===' || operator === '==' - ? [node.alternate, node.consequent] - : [node.consequent, node.alternate]; - return fixer.replaceText(node, `${(0, util_1.getTextWithParentheses)(context.sourceCode, left)} ?? ${(0, util_1.getTextWithParentheses)(context.sourceCode, right)}`); - }, - }, - ], - }); - } - }, - 'LogicalExpression[operator = "||"]'(node) { - if (ignoreBooleanCoercion === true && - isBooleanConstructorContext(node, context)) { - return; - } - checkAssignmentOrLogicalExpression(node, 'or', ''); - }, - }; - }, -}); -function isConditionalTest(node) { - const parent = node.parent; - if (parent == null) { - return false; - } - if (parent.type === utils_1.AST_NODE_TYPES.LogicalExpression) { - return isConditionalTest(parent); - } - if (parent.type === utils_1.AST_NODE_TYPES.ConditionalExpression && - (parent.consequent === node || parent.alternate === node)) { - return isConditionalTest(parent); - } - if (parent.type === utils_1.AST_NODE_TYPES.SequenceExpression && - parent.expressions.at(-1) === node) { - return isConditionalTest(parent); - } - if (parent.type === utils_1.AST_NODE_TYPES.UnaryExpression && - parent.operator === '!') { - return isConditionalTest(parent); - } - if ((parent.type === utils_1.AST_NODE_TYPES.ConditionalExpression || - parent.type === utils_1.AST_NODE_TYPES.DoWhileStatement || - parent.type === utils_1.AST_NODE_TYPES.IfStatement || - parent.type === utils_1.AST_NODE_TYPES.ForStatement || - parent.type === utils_1.AST_NODE_TYPES.WhileStatement) && - parent.test === node) { - return true; - } - return false; -} -function isBooleanConstructorContext(node, context) { - const parent = node.parent; - if (parent == null) { - return false; - } - if (parent.type === utils_1.AST_NODE_TYPES.LogicalExpression) { - return isBooleanConstructorContext(parent, context); - } - if (parent.type === utils_1.AST_NODE_TYPES.ConditionalExpression && - (parent.consequent === node || parent.alternate === node)) { - return isBooleanConstructorContext(parent, context); - } - if (parent.type === utils_1.AST_NODE_TYPES.SequenceExpression && - parent.expressions.at(-1) === node) { - return isBooleanConstructorContext(parent, context); - } - return isBuiltInBooleanCall(parent, context); -} -function isBuiltInBooleanCall(node, context) { - if (node.type === utils_1.AST_NODE_TYPES.CallExpression && - node.callee.type === utils_1.AST_NODE_TYPES.Identifier && - // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum - node.callee.name === 'Boolean' && - node.arguments[0]) { - const scope = context.sourceCode.getScope(node); - const variable = scope.set.get(utils_1.AST_TOKEN_TYPES.Boolean); - return variable == null || variable.defs.length === 0; - } - return false; -} -function isMixedLogicalExpression(node) { - const seen = new Set(); - const queue = [node.parent, node.left, node.right]; - for (const current of queue) { - if (seen.has(current)) { - continue; - } - seen.add(current); - if (current.type === utils_1.AST_NODE_TYPES.LogicalExpression) { - if (current.operator === '&&') { - return true; - } - if (['||', '||='].includes(current.operator)) { - // check the pieces of the node to catch cases like `a || b || c && d` - queue.push(current.parent, current.left, current.right); - } - } - } - return false; -} -//# sourceMappingURL=prefer-nullish-coalescing.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js.map deleted file mode 100644 index d37329c2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-nullish-coalescing.js","sourceRoot":"","sources":["../../src/rules/prefer-nullish-coalescing.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js deleted file mode 100644 index 9dec4475..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=PreferOptionalChainOptions.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js.map deleted file mode 100644 index 163a6d7a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PreferOptionalChainOptions.js","sourceRoot":"","sources":["../../../src/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js deleted file mode 100644 index 0685eb01..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js +++ /dev/null @@ -1,467 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.analyzeChain = analyzeChain; -const utils_1 = require("@typescript-eslint/utils"); -const ts_api_utils_1 = require("ts-api-utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../../util"); -const checkNullishAndReport_1 = require("./checkNullishAndReport"); -const compareNodes_1 = require("./compareNodes"); -function includesType(parserServices, node, typeFlagIn) { - const typeFlag = typeFlagIn | ts.TypeFlags.Any | ts.TypeFlags.Unknown; - const types = (0, ts_api_utils_1.unionTypeParts)(parserServices.getTypeAtLocation(node)); - for (const type of types) { - if ((0, util_1.isTypeFlagSet)(type, typeFlag)) { - return true; - } - } - return false; -} -const analyzeAndChainOperand = (parserServices, operand, index, chain) => { - switch (operand.comparisonType) { - case "Boolean" /* NullishComparisonType.Boolean */: { - const nextOperand = chain.at(index + 1); - if (nextOperand?.comparisonType === - "NotStrictEqualNull" /* NullishComparisonType.NotStrictEqualNull */ && - operand.comparedName.type === utils_1.AST_NODE_TYPES.Identifier) { - return null; - } - return [operand]; - } - case "NotEqualNullOrUndefined" /* NullishComparisonType.NotEqualNullOrUndefined */: - return [operand]; - case "NotStrictEqualNull" /* NullishComparisonType.NotStrictEqualNull */: { - // handle `x !== null && x !== undefined` - const nextOperand = chain.at(index + 1); - if (nextOperand?.comparisonType === - "NotStrictEqualUndefined" /* NullishComparisonType.NotStrictEqualUndefined */ && - (0, compareNodes_1.compareNodes)(operand.comparedName, nextOperand.comparedName) === - "Equal" /* NodeComparisonResult.Equal */) { - return [operand, nextOperand]; - } - if (includesType(parserServices, operand.comparedName, ts.TypeFlags.Undefined)) { - // we know the next operand is not an `undefined` check and that this - // operand includes `undefined` - which means that making this an - // optional chain would change the runtime behavior of the expression - return null; - } - return [operand]; - } - case "NotStrictEqualUndefined" /* NullishComparisonType.NotStrictEqualUndefined */: { - // handle `x !== undefined && x !== null` - const nextOperand = chain.at(index + 1); - if (nextOperand?.comparisonType === - "NotStrictEqualNull" /* NullishComparisonType.NotStrictEqualNull */ && - (0, compareNodes_1.compareNodes)(operand.comparedName, nextOperand.comparedName) === - "Equal" /* NodeComparisonResult.Equal */) { - return [operand, nextOperand]; - } - if (includesType(parserServices, operand.comparedName, ts.TypeFlags.Null)) { - // we know the next operand is not a `null` check and that this - // operand includes `null` - which means that making this an - // optional chain would change the runtime behavior of the expression - return null; - } - return [operand]; - } - default: - return null; - } -}; -const analyzeOrChainOperand = (parserServices, operand, index, chain) => { - switch (operand.comparisonType) { - case "NotBoolean" /* NullishComparisonType.NotBoolean */: - case "EqualNullOrUndefined" /* NullishComparisonType.EqualNullOrUndefined */: - return [operand]; - case "StrictEqualNull" /* NullishComparisonType.StrictEqualNull */: { - // handle `x === null || x === undefined` - const nextOperand = chain.at(index + 1); - if (nextOperand?.comparisonType === - "StrictEqualUndefined" /* NullishComparisonType.StrictEqualUndefined */ && - (0, compareNodes_1.compareNodes)(operand.comparedName, nextOperand.comparedName) === - "Equal" /* NodeComparisonResult.Equal */) { - return [operand, nextOperand]; - } - if (includesType(parserServices, operand.comparedName, ts.TypeFlags.Undefined)) { - // we know the next operand is not an `undefined` check and that this - // operand includes `undefined` - which means that making this an - // optional chain would change the runtime behavior of the expression - return null; - } - return [operand]; - } - case "StrictEqualUndefined" /* NullishComparisonType.StrictEqualUndefined */: { - // handle `x === undefined || x === null` - const nextOperand = chain.at(index + 1); - if (nextOperand?.comparisonType === "StrictEqualNull" /* NullishComparisonType.StrictEqualNull */ && - (0, compareNodes_1.compareNodes)(operand.comparedName, nextOperand.comparedName) === - "Equal" /* NodeComparisonResult.Equal */) { - return [operand, nextOperand]; - } - if (includesType(parserServices, operand.comparedName, ts.TypeFlags.Null)) { - // we know the next operand is not a `null` check and that this - // operand includes `null` - which means that making this an - // optional chain would change the runtime behavior of the expression - return null; - } - return [operand]; - } - default: - return null; - } -}; -/** - * Returns the range that needs to be reported from the chain. - * @param chain The chain of logical expressions. - * @param boundary The boundary range that the range to report cannot fall outside. - * @param sourceCode The source code to get tokens. - * @returns The range to report. - */ -function getReportRange(chain, boundary, sourceCode) { - const leftNode = chain[0].node; - const rightNode = chain[chain.length - 1].node; - let leftMost = (0, util_1.nullThrows)(sourceCode.getFirstToken(leftNode), util_1.NullThrowsReasons.MissingToken('any token', leftNode.type)); - let rightMost = (0, util_1.nullThrows)(sourceCode.getLastToken(rightNode), util_1.NullThrowsReasons.MissingToken('any token', rightNode.type)); - while (leftMost.range[0] > boundary[0]) { - const token = sourceCode.getTokenBefore(leftMost); - if (!token || !(0, util_1.isOpeningParenToken)(token) || token.range[0] < boundary[0]) { - break; - } - leftMost = token; - } - while (rightMost.range[1] < boundary[1]) { - const token = sourceCode.getTokenAfter(rightMost); - if (!token || !(0, util_1.isClosingParenToken)(token) || token.range[1] > boundary[1]) { - break; - } - rightMost = token; - } - return [leftMost.range[0], rightMost.range[1]]; -} -function getReportDescriptor(sourceCode, parserServices, node, operator, options, chain) { - const lastOperand = chain[chain.length - 1]; - let useSuggestionFixer; - if (options.allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing === - true) { - // user has opted-in to the unsafe behavior - useSuggestionFixer = false; - } - // optional chain specifically will union `undefined` into the final type - // so we need to make sure that there is at least one operand that includes - // `undefined`, or else we're going to change the final type - which is - // unsafe and might cause downstream type errors. - else if (lastOperand.comparisonType === "EqualNullOrUndefined" /* NullishComparisonType.EqualNullOrUndefined */ || - lastOperand.comparisonType === - "NotEqualNullOrUndefined" /* NullishComparisonType.NotEqualNullOrUndefined */ || - lastOperand.comparisonType === "StrictEqualUndefined" /* NullishComparisonType.StrictEqualUndefined */ || - lastOperand.comparisonType === - "NotStrictEqualUndefined" /* NullishComparisonType.NotStrictEqualUndefined */ || - (operator === '||' && - lastOperand.comparisonType === "NotBoolean" /* NullishComparisonType.NotBoolean */)) { - // we know the last operand is an equality check - so the change in types - // DOES NOT matter and will not change the runtime result or cause a type - // check error - useSuggestionFixer = false; - } - else { - useSuggestionFixer = true; - for (const operand of chain) { - if (includesType(parserServices, operand.node, ts.TypeFlags.Undefined)) { - useSuggestionFixer = false; - break; - } - } - // TODO - we could further reduce the false-positive rate of this check by - // checking for cases where the change in types don't matter like - // the test location of an if/while/etc statement. - // but it's quite complex to do this without false-negatives, so - // for now we'll just be over-eager with our matching. - // - // it's MUCH better to false-positive here and only provide a - // suggestion fixer, rather than false-negative and autofix to - // broken code. - } - // In its most naive form we could just slap `?.` for every single part of the - // chain. However this would be undesirable because it'd create unnecessary - // conditions in the user's code where there were none before - and it would - // cause errors with rules like our `no-unnecessary-condition`. - // - // Instead we want to include the minimum number of `?.` required to correctly - // unify the code into a single chain. Naively you might think that we can - // just take the final operand add `?.` after the locations from the previous - // operands - however this won't be correct either because earlier operands - // can include a necessary `?.` that's not needed or included in a later - // operand. - // - // So instead what we need to do is to start at the first operand and - // iteratively diff it against the next operand, and add the difference to the - // first operand. - // - // eg - // `foo && foo.bar && foo.bar.baz?.bam && foo.bar.baz.bam()` - // 1) `foo` - // 2) diff(`foo`, `foo.bar`) = `.bar` - // 3) result = `foo?.bar` - // 4) diff(`foo.bar`, `foo.bar.baz?.bam`) = `.baz?.bam` - // 5) result = `foo?.bar?.baz?.bam` - // 6) diff(`foo.bar.baz?.bam`, `foo.bar.baz.bam()`) = `()` - // 7) result = `foo?.bar?.baz?.bam?.()` - const parts = []; - for (const current of chain) { - const nextOperand = flattenChainExpression(sourceCode, current.comparedName); - const diff = nextOperand.slice(parts.length); - if (diff.length > 0) { - if (parts.length > 0) { - // we need to make the first operand of the diff optional so it matches the - // logic before merging - // foo.bar && foo.bar.baz - // diff = .baz - // result = foo.bar?.baz - diff[0].optional = true; - } - parts.push(...diff); - } - } - let newCode = parts - .map(part => { - let str = ''; - if (part.optional) { - str += '?.'; - } - else { - if (part.nonNull) { - str += '!'; - } - if (part.requiresDot) { - str += '.'; - } - } - if (part.precedence !== util_1.OperatorPrecedence.Invalid && - part.precedence < util_1.OperatorPrecedence.Member) { - str += `(${part.text})`; - } - else { - str += part.text; - } - return str; - }) - .join(''); - if (lastOperand.node.type === utils_1.AST_NODE_TYPES.BinaryExpression) { - // retain the ending comparison for cases like - // x && x.a != null - // x && typeof x.a !== 'undefined' - const operator = lastOperand.node.operator; - const { left, right } = (() => { - if (lastOperand.isYoda) { - const unaryOperator = lastOperand.node.right.type === utils_1.AST_NODE_TYPES.UnaryExpression - ? `${lastOperand.node.right.operator} ` - : ''; - return { - left: sourceCode.getText(lastOperand.node.left), - right: unaryOperator + newCode, - }; - } - const unaryOperator = lastOperand.node.left.type === utils_1.AST_NODE_TYPES.UnaryExpression - ? `${lastOperand.node.left.operator} ` - : ''; - return { - left: unaryOperator + newCode, - right: sourceCode.getText(lastOperand.node.right), - }; - })(); - newCode = `${left} ${operator} ${right}`; - } - else if (lastOperand.comparisonType === "NotBoolean" /* NullishComparisonType.NotBoolean */) { - newCode = `!${newCode}`; - } - const reportRange = getReportRange(chain, node.range, sourceCode); - const fix = fixer => fixer.replaceTextRange(reportRange, newCode); - return { - loc: { - end: sourceCode.getLocFromIndex(reportRange[1]), - start: sourceCode.getLocFromIndex(reportRange[0]), - }, - messageId: 'preferOptionalChain', - ...(0, util_1.getFixOrSuggest)({ - fixOrSuggest: useSuggestionFixer ? 'suggest' : 'fix', - suggestion: { - fix, - messageId: 'optionalChainSuggest', - }, - }), - }; - function flattenChainExpression(sourceCode, node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.ChainExpression: - return flattenChainExpression(sourceCode, node.expression); - case utils_1.AST_NODE_TYPES.CallExpression: { - const argumentsText = (() => { - const closingParenToken = (0, util_1.nullThrows)(sourceCode.getLastToken(node), util_1.NullThrowsReasons.MissingToken('closing parenthesis', node.type)); - const openingParenToken = (0, util_1.nullThrows)(sourceCode.getFirstTokenBetween(node.typeArguments ?? node.callee, closingParenToken, util_1.isOpeningParenToken), util_1.NullThrowsReasons.MissingToken('opening parenthesis', node.type)); - return sourceCode.text.substring(openingParenToken.range[0], closingParenToken.range[1]); - })(); - const typeArgumentsText = (() => { - if (node.typeArguments == null) { - return ''; - } - return sourceCode.getText(node.typeArguments); - })(); - return [ - ...flattenChainExpression(sourceCode, node.callee), - { - nonNull: false, - optional: node.optional, - // no precedence for this - precedence: util_1.OperatorPrecedence.Invalid, - requiresDot: false, - text: typeArgumentsText + argumentsText, - }, - ]; - } - case utils_1.AST_NODE_TYPES.MemberExpression: { - const propertyText = sourceCode.getText(node.property); - return [ - ...flattenChainExpression(sourceCode, node.object), - { - nonNull: node.object.type === utils_1.AST_NODE_TYPES.TSNonNullExpression, - optional: node.optional, - precedence: node.computed - ? // computed is already wrapped in [] so no need to wrap in () as well - util_1.OperatorPrecedence.Invalid - : (0, util_1.getOperatorPrecedenceForNode)(node.property), - requiresDot: !node.computed, - text: node.computed ? `[${propertyText}]` : propertyText, - }, - ]; - } - case utils_1.AST_NODE_TYPES.TSNonNullExpression: - return flattenChainExpression(sourceCode, node.expression); - default: - return [ - { - nonNull: false, - optional: false, - precedence: (0, util_1.getOperatorPrecedenceForNode)(node), - requiresDot: false, - text: sourceCode.getText(node), - }, - ]; - } - } -} -function analyzeChain(context, parserServices, options, node, operator, chain) { - // need at least 2 operands in a chain for it to be a chain - if (chain.length <= 1 || - /* istanbul ignore next -- previous checks make this unreachable, but keep it for exhaustiveness check */ - operator === '??') { - return; - } - const analyzeOperand = (() => { - switch (operator) { - case '&&': - return analyzeAndChainOperand; - case '||': - return analyzeOrChainOperand; - } - })(); - // Things like x !== null && x !== undefined have two nodes, but they are - // one logical unit here, so we'll allow them to be grouped. - let subChain = []; - const maybeReportThenReset = (newChainSeed) => { - if (subChain.length > 1) { - const subChainFlat = subChain.flat(); - (0, checkNullishAndReport_1.checkNullishAndReport)(context, parserServices, options, subChainFlat.slice(0, -1).map(({ node }) => node), getReportDescriptor(context.sourceCode, parserServices, node, operator, options, subChainFlat)); - } - // we've reached the end of a chain of logical expressions - // i.e. the current operand doesn't belong to the previous chain. - // - // we don't want to throw away the current operand otherwise we will skip it - // and that can cause us to miss chains. So instead we seed the new chain - // with the current operand - // - // eg this means we can catch cases like: - // unrelated != null && foo != null && foo.bar != null; - // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ first "chain" - // ^^^^^^^^^^^ newChainSeed - // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ second chain - subChain = newChainSeed ? [newChainSeed] : []; - }; - for (let i = 0; i < chain.length; i += 1) { - const lastOperand = subChain.flat().at(-1); - const operand = chain[i]; - const validatedOperands = analyzeOperand(parserServices, operand, i, chain); - if (!validatedOperands) { - // TODO - #7170 - // check if the name is a superset/equal - if it is, then it likely - // intended to be part of the chain and something we should include in the - // report, eg - // foo == null || foo.bar; - // ^^^^^^^^^^^ valid OR chain - // ^^^^^^^ invalid OR chain logical, but still part of - // the chain for combination purposes - maybeReportThenReset(); - continue; - } - // in case multiple operands were consumed - make sure to correctly increment the index - i += validatedOperands.length - 1; - const currentOperand = validatedOperands[0]; - if (lastOperand) { - const comparisonResult = (0, compareNodes_1.compareNodes)(lastOperand.comparedName, - // purposely inspect and push the last operand because the prior operands don't matter - // this also means we won't false-positive in cases like - // foo !== null && foo !== undefined - validatedOperands[validatedOperands.length - 1].comparedName); - if (comparisonResult === "Subset" /* NodeComparisonResult.Subset */) { - // the operands are comparable, so we can continue searching - subChain.push(currentOperand); - } - else if (comparisonResult === "Invalid" /* NodeComparisonResult.Invalid */) { - maybeReportThenReset(validatedOperands); - } - else { - // purposely don't push this case because the node is a no-op and if - // we consider it then we might report on things like - // foo && foo - } - } - else { - subChain.push(currentOperand); - } - } - // check the leftovers - maybeReportThenReset(); -} -//# sourceMappingURL=analyzeChain.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map deleted file mode 100644 index 416916c1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"analyzeChain.js","sourceRoot":"","sources":["../../../src/rules/prefer-optional-chain-utils/analyzeChain.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js deleted file mode 100644 index 9e308d35..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.checkNullishAndReport = checkNullishAndReport; -const type_utils_1 = require("@typescript-eslint/type-utils"); -const ts_api_utils_1 = require("ts-api-utils"); -const ts = __importStar(require("typescript")); -function checkNullishAndReport(context, parserServices, { requireNullish }, maybeNullishNodes, descriptor) { - if (!requireNullish || - maybeNullishNodes.some(node => (0, ts_api_utils_1.unionTypeParts)(parserServices.getTypeAtLocation(node)).some(t => (0, type_utils_1.isTypeFlagSet)(t, ts.TypeFlags.Null | ts.TypeFlags.Undefined)))) { - context.report(descriptor); - } -} -//# sourceMappingURL=checkNullishAndReport.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map deleted file mode 100644 index a8842814..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"checkNullishAndReport.js","sourceRoot":"","sources":["../../../src/rules/prefer-optional-chain-utils/checkNullishAndReport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,sDAoBC;AA7BD,8DAA8D;AAC9D,+CAA8C;AAC9C,+CAAiC;AAOjC,SAAgB,qBAAqB,CACnC,OAGC,EACD,cAAiD,EACjD,EAAE,cAAc,EAA8B,EAC9C,iBAAwC,EACxC,UAA2D;IAE3D,IACE,CAAC,cAAc;QACf,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5B,IAAA,6BAAc,EAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9D,IAAA,0BAAa,EAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAC7D,CACF,EACD,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js deleted file mode 100644 index 8c1bfebd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js +++ /dev/null @@ -1,317 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.compareNodes = compareNodes; -const utils_1 = require("@typescript-eslint/utils"); -const visitor_keys_1 = require("@typescript-eslint/visitor-keys"); -function compareArrays(arrayA, arrayB) { - if (arrayA.length !== arrayB.length) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - const result = arrayA.every((elA, idx) => { - const elB = arrayB[idx]; - if (elA == null || elB == null) { - return elA === elB; - } - return compareUnknownValues(elA, elB) === "Equal" /* NodeComparisonResult.Equal */; - }); - if (result) { - return "Equal" /* NodeComparisonResult.Equal */; - } - return "Invalid" /* NodeComparisonResult.Invalid */; -} -function isValidNode(x) { - return (typeof x === 'object' && - x != null && - 'type' in x && - typeof x.type === 'string'); -} -function isValidChainExpressionToLookThrough(node) { - return (!(node.parent?.type === utils_1.AST_NODE_TYPES.MemberExpression && - node.parent.object === node) && - !(node.parent?.type === utils_1.AST_NODE_TYPES.CallExpression && - node.parent.callee === node) && - node.type === utils_1.AST_NODE_TYPES.ChainExpression); -} -function compareUnknownValues(valueA, valueB) { - /* istanbul ignore if -- not possible for us to test this - it's just a sanity safeguard */ - if (valueA == null || valueB == null) { - if (valueA !== valueB) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - return "Equal" /* NodeComparisonResult.Equal */; - } - /* istanbul ignore if -- not possible for us to test this - it's just a sanity safeguard */ - if (!isValidNode(valueA) || !isValidNode(valueB)) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - return compareNodes(valueA, valueB); -} -function compareByVisiting(nodeA, nodeB) { - const currentVisitorKeys = visitor_keys_1.visitorKeys[nodeA.type]; - /* istanbul ignore if -- not possible for us to test this - it's just a sanity safeguard */ - if (currentVisitorKeys == null) { - // we don't know how to visit this node, so assume it's invalid to avoid false-positives / broken fixers - return "Invalid" /* NodeComparisonResult.Invalid */; - } - if (currentVisitorKeys.length === 0) { - // assume nodes with no keys are constant things like keywords - return "Equal" /* NodeComparisonResult.Equal */; - } - for (const key of currentVisitorKeys) { - // @ts-expect-error - dynamic access but it's safe - const nodeAChildOrChildren = nodeA[key]; - // @ts-expect-error - dynamic access but it's safe - const nodeBChildOrChildren = nodeB[key]; - if (Array.isArray(nodeAChildOrChildren)) { - const arrayA = nodeAChildOrChildren; - const arrayB = nodeBChildOrChildren; - const result = compareArrays(arrayA, arrayB); - if (result !== "Equal" /* NodeComparisonResult.Equal */) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - // fallthrough to the next key as the key was "equal" - } - else { - const result = compareUnknownValues(nodeAChildOrChildren, nodeBChildOrChildren); - if (result !== "Equal" /* NodeComparisonResult.Equal */) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - // fallthrough to the next key as the key was "equal" - } - } - return "Equal" /* NodeComparisonResult.Equal */; -} -function compareNodesUncached(nodeA, nodeB) { - if (nodeA.type !== nodeB.type) { - // special cases where nodes are allowed to be non-equal - // look through a chain expression node at the top-level because it only - // exists to delimit the end of an optional chain - // - // a?.b && a.b.c - // ^^^^ ChainExpression, MemberExpression - // ^^^^^ MemberExpression - // - // except for in this class of cases - // (a?.b).c && a.b.c - // because the parentheses have runtime meaning (sad face) - if (isValidChainExpressionToLookThrough(nodeA)) { - return compareNodes(nodeA.expression, nodeB); - } - if (isValidChainExpressionToLookThrough(nodeB)) { - return compareNodes(nodeA, nodeB.expression); - } - // look through the type-only non-null assertion because its existence could - // possibly be replaced by an optional chain instead - // - // a.b! && a.b.c - // ^^^^ TSNonNullExpression - if (nodeA.type === utils_1.AST_NODE_TYPES.TSNonNullExpression) { - return compareNodes(nodeA.expression, nodeB); - } - if (nodeB.type === utils_1.AST_NODE_TYPES.TSNonNullExpression) { - return compareNodes(nodeA, nodeB.expression); - } - // special case for subset optional chains where the node types don't match, - // but we want to try comparing by discarding the "extra" code - // - // a && a.b - // ^ compare this - // a && a() - // ^ compare this - // a.b && a.b() - // ^^^ compare this - // a() && a().b - // ^^^ compare this - // import.meta && import.meta.b - // ^^^^^^^^^^^ compare this - if (nodeA.type === utils_1.AST_NODE_TYPES.CallExpression || - nodeA.type === utils_1.AST_NODE_TYPES.Identifier || - nodeA.type === utils_1.AST_NODE_TYPES.MemberExpression || - nodeA.type === utils_1.AST_NODE_TYPES.MetaProperty) { - switch (nodeB.type) { - case utils_1.AST_NODE_TYPES.MemberExpression: - if (nodeB.property.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - // Private identifiers in optional chaining is not currently allowed - // TODO - handle this once TS supports it (https://github.com/microsoft/TypeScript/issues/42734) - return "Invalid" /* NodeComparisonResult.Invalid */; - } - if (compareNodes(nodeA, nodeB.object) !== "Invalid" /* NodeComparisonResult.Invalid */) { - return "Subset" /* NodeComparisonResult.Subset */; - } - return "Invalid" /* NodeComparisonResult.Invalid */; - case utils_1.AST_NODE_TYPES.CallExpression: - if (compareNodes(nodeA, nodeB.callee) !== "Invalid" /* NodeComparisonResult.Invalid */) { - return "Subset" /* NodeComparisonResult.Subset */; - } - return "Invalid" /* NodeComparisonResult.Invalid */; - default: - return "Invalid" /* NodeComparisonResult.Invalid */; - } - } - return "Invalid" /* NodeComparisonResult.Invalid */; - } - switch (nodeA.type) { - // these expressions create a new instance each time - so it makes no sense to compare the chain - case utils_1.AST_NODE_TYPES.ArrayExpression: - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.ClassExpression: - case utils_1.AST_NODE_TYPES.FunctionExpression: - case utils_1.AST_NODE_TYPES.JSXElement: - case utils_1.AST_NODE_TYPES.JSXFragment: - case utils_1.AST_NODE_TYPES.NewExpression: - case utils_1.AST_NODE_TYPES.ObjectExpression: - return "Invalid" /* NodeComparisonResult.Invalid */; - // chaining from assignments could change the value irrevocably - so it makes no sense to compare the chain - case utils_1.AST_NODE_TYPES.AssignmentExpression: - return "Invalid" /* NodeComparisonResult.Invalid */; - case utils_1.AST_NODE_TYPES.CallExpression: { - const nodeBCall = nodeB; - // check for cases like - // foo() && foo()(bar) - // ^^^^^ nodeA - // ^^^^^^^^^^ nodeB - // we don't want to check the arguments in this case - const aSubsetOfB = compareNodes(nodeA, nodeBCall.callee); - if (aSubsetOfB !== "Invalid" /* NodeComparisonResult.Invalid */) { - return "Subset" /* NodeComparisonResult.Subset */; - } - const calleeCompare = compareNodes(nodeA.callee, nodeBCall.callee); - if (calleeCompare !== "Equal" /* NodeComparisonResult.Equal */) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - // NOTE - we purposely ignore optional flag because for our purposes - // foo?.bar() && foo.bar?.()?.baz - // or - // foo.bar() && foo?.bar?.()?.baz - // are going to be exactly the same - const argumentCompare = compareArrays(nodeA.arguments, nodeBCall.arguments); - if (argumentCompare !== "Equal" /* NodeComparisonResult.Equal */) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - const typeParamCompare = compareNodes(nodeA.typeArguments, nodeBCall.typeArguments); - if (typeParamCompare === "Equal" /* NodeComparisonResult.Equal */) { - return "Equal" /* NodeComparisonResult.Equal */; - } - return "Invalid" /* NodeComparisonResult.Invalid */; - } - case utils_1.AST_NODE_TYPES.ChainExpression: - // special case handling for ChainExpression because it's allowed to be a subset - return compareNodes(nodeA, nodeB.expression); - case utils_1.AST_NODE_TYPES.Identifier: - case utils_1.AST_NODE_TYPES.PrivateIdentifier: - if (nodeA.name === nodeB.name) { - return "Equal" /* NodeComparisonResult.Equal */; - } - return "Invalid" /* NodeComparisonResult.Invalid */; - case utils_1.AST_NODE_TYPES.Literal: { - const nodeBLiteral = nodeB; - if (nodeA.raw === nodeBLiteral.raw && - nodeA.value === nodeBLiteral.value) { - return "Equal" /* NodeComparisonResult.Equal */; - } - return "Invalid" /* NodeComparisonResult.Invalid */; - } - case utils_1.AST_NODE_TYPES.MemberExpression: { - const nodeBMember = nodeB; - if (nodeBMember.property.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - // Private identifiers in optional chaining is not currently allowed - // TODO - handle this once TS supports it (https://github.com/microsoft/TypeScript/issues/42734) - return "Invalid" /* NodeComparisonResult.Invalid */; - } - // check for cases like - // foo.bar && foo.bar.baz - // ^^^^^^^ nodeA - // ^^^^^^^^^^^ nodeB - // result === Equal - // - // foo.bar && foo.bar.baz.bam - // ^^^^^^^ nodeA - // ^^^^^^^^^^^^^^^ nodeB - // result === Subset - // - // we don't want to check the property in this case - const aSubsetOfB = compareNodes(nodeA, nodeBMember.object); - if (aSubsetOfB !== "Invalid" /* NodeComparisonResult.Invalid */) { - return "Subset" /* NodeComparisonResult.Subset */; - } - if (nodeA.computed !== nodeBMember.computed) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - // NOTE - we purposely ignore optional flag because for our purposes - // foo?.bar && foo.bar?.baz - // or - // foo.bar && foo?.bar?.baz - // are going to be exactly the same - const objectCompare = compareNodes(nodeA.object, nodeBMember.object); - if (objectCompare !== "Equal" /* NodeComparisonResult.Equal */) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - return compareNodes(nodeA.property, nodeBMember.property); - } - case utils_1.AST_NODE_TYPES.TSTemplateLiteralType: - case utils_1.AST_NODE_TYPES.TemplateLiteral: { - const nodeBTemplate = nodeB; - const areQuasisEqual = nodeA.quasis.length === nodeBTemplate.quasis.length && - nodeA.quasis.every((elA, idx) => { - const elB = nodeBTemplate.quasis[idx]; - return elA.value.cooked === elB.value.cooked; - }); - if (!areQuasisEqual) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - return "Equal" /* NodeComparisonResult.Equal */; - } - case utils_1.AST_NODE_TYPES.TemplateElement: { - const nodeBElement = nodeB; - if (nodeA.value.cooked === nodeBElement.value.cooked) { - return "Equal" /* NodeComparisonResult.Equal */; - } - return "Invalid" /* NodeComparisonResult.Invalid */; - } - // these aren't actually valid expressions. - // https://github.com/typescript-eslint/typescript-eslint/blob/20d7caee35ab84ae6381fdf04338c9e2b9e2bc48/packages/ast-spec/src/unions/Expression.ts#L37-L43 - case utils_1.AST_NODE_TYPES.ArrayPattern: - case utils_1.AST_NODE_TYPES.ObjectPattern: - /* istanbul ignore next */ - return "Invalid" /* NodeComparisonResult.Invalid */; - // update expression returns a number and also changes the value each time - so it makes no sense to compare the chain - case utils_1.AST_NODE_TYPES.UpdateExpression: - return "Invalid" /* NodeComparisonResult.Invalid */; - // yield returns the value passed to the `next` function, so it may not be the same each time - so it makes no sense to compare the chain - case utils_1.AST_NODE_TYPES.YieldExpression: - return "Invalid" /* NodeComparisonResult.Invalid */; - // general-case automatic handling of nodes to save us implementing every - // single case by hand. This just iterates the visitor keys to recursively - // check the children. - // - // Any specific logic cases or short-circuits should be listed as separate - // cases so that they don't fall into this generic handling - default: - return compareByVisiting(nodeA, nodeB); - } -} -const COMPARE_NODES_CACHE = new WeakMap(); -/** - * Compares two nodes' ASTs to determine if the A is equal to or a subset of B - */ -function compareNodes(nodeA, nodeB) { - if (nodeA == null || nodeB == null) { - if (nodeA !== nodeB) { - return "Invalid" /* NodeComparisonResult.Invalid */; - } - return "Equal" /* NodeComparisonResult.Equal */; - } - const cached = COMPARE_NODES_CACHE.get(nodeA)?.get(nodeB); - if (cached) { - return cached; - } - const result = compareNodesUncached(nodeA, nodeB); - let mapA = COMPARE_NODES_CACHE.get(nodeA); - if (mapA == null) { - mapA = new WeakMap(); - COMPARE_NODES_CACHE.set(nodeA, mapA); - } - mapA.set(nodeB, result); - return result; -} -//# sourceMappingURL=compareNodes.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js.map deleted file mode 100644 index 3dbc8cb5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/compareNodes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"compareNodes.js","sourceRoot":"","sources":["../../../src/rules/prefer-optional-chain-utils/compareNodes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js deleted file mode 100644 index 11bbbb91..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +++ /dev/null @@ -1,289 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.gatherLogicalOperands = gatherLogicalOperands; -const utils_1 = require("@typescript-eslint/utils"); -const ts_api_utils_1 = require("ts-api-utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../../util"); -const NULLISH_FLAGS = ts.TypeFlags.Null | ts.TypeFlags.Undefined; -function isValidFalseBooleanCheckType(node, disallowFalseyLiteral, parserServices, options) { - const type = parserServices.getTypeAtLocation(node); - const types = (0, ts_api_utils_1.unionTypeParts)(type); - if (disallowFalseyLiteral && - /* - ``` - declare const x: false | {a: string}; - x && x.a; - !x || x.a; - ``` - - We don't want to consider these two cases because the boolean expression - narrows out the non-nullish falsy cases - so converting the chain to `x?.a` - would introduce a build error - */ (types.some(t => (0, ts_api_utils_1.isBooleanLiteralType)(t) && t.intrinsicName === 'false') || - types.some(t => (0, ts_api_utils_1.isStringLiteralType)(t) && t.value === '') || - types.some(t => (0, ts_api_utils_1.isNumberLiteralType)(t) && t.value === 0) || - types.some(t => (0, ts_api_utils_1.isBigIntLiteralType)(t) && t.value.base10Value === '0'))) { - return false; - } - let allowedFlags = NULLISH_FLAGS | ts.TypeFlags.Object; - if (options.checkAny === true) { - allowedFlags |= ts.TypeFlags.Any; - } - if (options.checkUnknown === true) { - allowedFlags |= ts.TypeFlags.Unknown; - } - if (options.checkString === true) { - allowedFlags |= ts.TypeFlags.StringLike; - } - if (options.checkNumber === true) { - allowedFlags |= ts.TypeFlags.NumberLike; - } - if (options.checkBoolean === true) { - allowedFlags |= ts.TypeFlags.BooleanLike; - } - if (options.checkBigInt === true) { - allowedFlags |= ts.TypeFlags.BigIntLike; - } - return types.every(t => (0, util_1.isTypeFlagSet)(t, allowedFlags)); -} -function gatherLogicalOperands(node, parserServices, sourceCode, options) { - const result = []; - const { newlySeenLogicals, operands } = flattenLogicalOperands(node); - for (const operand of operands) { - const areMoreOperands = operand !== operands.at(-1); - switch (operand.type) { - case utils_1.AST_NODE_TYPES.BinaryExpression: { - // check for "yoda" style logical: null != x - const { comparedExpression, comparedValue, isYoda } = (() => { - // non-yoda checks are by far the most common, so check for them first - const comparedValueRight = getComparisonValueType(operand.right); - if (comparedValueRight) { - return { - comparedExpression: operand.left, - comparedValue: comparedValueRight, - isYoda: false, - }; - } - return { - comparedExpression: operand.right, - comparedValue: getComparisonValueType(operand.left), - isYoda: true, - }; - })(); - if (comparedValue === "UndefinedStringLiteral" /* ComparisonValueType.UndefinedStringLiteral */) { - if (comparedExpression.type === utils_1.AST_NODE_TYPES.UnaryExpression && - comparedExpression.operator === 'typeof') { - const argument = comparedExpression.argument; - if (argument.type === utils_1.AST_NODE_TYPES.Identifier && - // typeof window === 'undefined' - (0, util_1.isReferenceToGlobalFunction)(argument.name, argument, sourceCode)) { - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - continue; - } - // typeof x.y === 'undefined' - result.push({ - comparedName: comparedExpression.argument, - comparisonType: operand.operator.startsWith('!') - ? "NotStrictEqualUndefined" /* NullishComparisonType.NotStrictEqualUndefined */ - : "StrictEqualUndefined" /* NullishComparisonType.StrictEqualUndefined */, - isYoda, - node: operand, - type: "Valid" /* OperandValidity.Valid */, - }); - continue; - } - // y === 'undefined' - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - continue; - } - switch (operand.operator) { - case '!=': - case '==': - if (comparedValue === "Null" /* ComparisonValueType.Null */ || - comparedValue === "Undefined" /* ComparisonValueType.Undefined */) { - // x == null, x == undefined - result.push({ - comparedName: comparedExpression, - comparisonType: operand.operator.startsWith('!') - ? "NotEqualNullOrUndefined" /* NullishComparisonType.NotEqualNullOrUndefined */ - : "EqualNullOrUndefined" /* NullishComparisonType.EqualNullOrUndefined */, - isYoda, - node: operand, - type: "Valid" /* OperandValidity.Valid */, - }); - continue; - } - // x == something :( - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - continue; - case '!==': - case '===': { - const comparedName = comparedExpression; - switch (comparedValue) { - case "Null" /* ComparisonValueType.Null */: - result.push({ - comparedName, - comparisonType: operand.operator.startsWith('!') - ? "NotStrictEqualNull" /* NullishComparisonType.NotStrictEqualNull */ - : "StrictEqualNull" /* NullishComparisonType.StrictEqualNull */, - isYoda, - node: operand, - type: "Valid" /* OperandValidity.Valid */, - }); - continue; - case "Undefined" /* ComparisonValueType.Undefined */: - result.push({ - comparedName, - comparisonType: operand.operator.startsWith('!') - ? "NotStrictEqualUndefined" /* NullishComparisonType.NotStrictEqualUndefined */ - : "StrictEqualUndefined" /* NullishComparisonType.StrictEqualUndefined */, - isYoda, - node: operand, - type: "Valid" /* OperandValidity.Valid */, - }); - continue; - default: - // x === something :( - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - continue; - } - } - } - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - continue; - } - case utils_1.AST_NODE_TYPES.UnaryExpression: - if (operand.operator === '!' && - isValidFalseBooleanCheckType(operand.argument, areMoreOperands && node.operator === '||', parserServices, options)) { - result.push({ - comparedName: operand.argument, - comparisonType: "NotBoolean" /* NullishComparisonType.NotBoolean */, - isYoda: false, - node: operand, - type: "Valid" /* OperandValidity.Valid */, - }); - continue; - } - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - continue; - case utils_1.AST_NODE_TYPES.LogicalExpression: - // explicitly ignore the mixed logical expression cases - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - continue; - default: - if (isValidFalseBooleanCheckType(operand, areMoreOperands && node.operator === '&&', parserServices, options)) { - result.push({ - comparedName: operand, - comparisonType: "Boolean" /* NullishComparisonType.Boolean */, - isYoda: false, - node: operand, - type: "Valid" /* OperandValidity.Valid */, - }); - } - else { - result.push({ type: "Invalid" /* OperandValidity.Invalid */ }); - } - continue; - } - } - return { - newlySeenLogicals, - operands: result, - }; - /* - The AST is always constructed such the first element is always the deepest element. - I.e. for this code: `foo && foo.bar && foo.bar.baz && foo.bar.baz.buzz` - The AST will look like this: - { - left: { - left: { - left: foo - right: foo.bar - } - right: foo.bar.baz - } - right: foo.bar.baz.buzz - } - - So given any logical expression, we can perform a depth-first traversal to get - the operands in order. - - Note that this function purposely does not inspect mixed logical expressions - like `foo || foo.bar && foo.bar.baz` - separate selector - */ - function flattenLogicalOperands(node) { - const operands = []; - const newlySeenLogicals = new Set([node]); - const stack = [node.right, node.left]; - let current; - while ((current = stack.pop())) { - if (current.type === utils_1.AST_NODE_TYPES.LogicalExpression && - current.operator === node.operator) { - newlySeenLogicals.add(current); - stack.push(current.right); - stack.push(current.left); - } - else { - operands.push(current); - } - } - return { - newlySeenLogicals, - operands, - }; - } - function getComparisonValueType(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.Literal: - // eslint-disable-next-line eqeqeq, @typescript-eslint/internal/eqeq-nullish -- intentional exact comparison against null - if (node.value === null && node.raw === 'null') { - return "Null" /* ComparisonValueType.Null */; - } - if (node.value === 'undefined') { - return "UndefinedStringLiteral" /* ComparisonValueType.UndefinedStringLiteral */; - } - return null; - case utils_1.AST_NODE_TYPES.Identifier: - if (node.name === 'undefined') { - return "Undefined" /* ComparisonValueType.Undefined */; - } - return null; - } - return null; - } -} -//# sourceMappingURL=gatherLogicalOperands.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map deleted file mode 100644 index dfe38e5d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"gatherLogicalOperands.js","sourceRoot":"","sources":["../../../src/rules/prefer-optional-chain-utils/gatherLogicalOperands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js deleted file mode 100644 index c1dd5fb4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js +++ /dev/null @@ -1,147 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const analyzeChain_1 = require("./prefer-optional-chain-utils/analyzeChain"); -const checkNullishAndReport_1 = require("./prefer-optional-chain-utils/checkNullishAndReport"); -const gatherLogicalOperands_1 = require("./prefer-optional-chain-utils/gatherLogicalOperands"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-optional-chain', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects', - recommended: 'stylistic', - requiresTypeChecking: true, - }, - fixable: 'code', - hasSuggestions: true, - messages: { - optionalChainSuggest: 'Change to an optional chain.', - preferOptionalChain: "Prefer using an optional chain expression instead, as it's more concise and easier to read.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing: { - type: 'boolean', - description: 'Allow autofixers that will change the return type of the expression. This option is considered unsafe as it may break the build.', - }, - checkAny: { - type: 'boolean', - description: 'Check operands that are typed as `any` when inspecting "loose boolean" operands.', - }, - checkBigInt: { - type: 'boolean', - description: 'Check operands that are typed as `bigint` when inspecting "loose boolean" operands.', - }, - checkBoolean: { - type: 'boolean', - description: 'Check operands that are typed as `boolean` when inspecting "loose boolean" operands.', - }, - checkNumber: { - type: 'boolean', - description: 'Check operands that are typed as `number` when inspecting "loose boolean" operands.', - }, - checkString: { - type: 'boolean', - description: 'Check operands that are typed as `string` when inspecting "loose boolean" operands.', - }, - checkUnknown: { - type: 'boolean', - description: 'Check operands that are typed as `unknown` when inspecting "loose boolean" operands.', - }, - requireNullish: { - type: 'boolean', - description: 'Skip operands that are not typed with `null` and/or `undefined` when inspecting "loose boolean" operands.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing: false, - checkAny: true, - checkBigInt: true, - checkBoolean: true, - checkNumber: true, - checkString: true, - checkUnknown: true, - requireNullish: false, - }, - ], - create(context, [options]) { - const parserServices = (0, util_1.getParserServices)(context); - const seenLogicals = new Set(); - return { - // specific handling for `(foo ?? {}).bar` / `(foo || {}).bar` - 'LogicalExpression[operator!="??"]'(node) { - if (seenLogicals.has(node)) { - return; - } - const { newlySeenLogicals, operands } = (0, gatherLogicalOperands_1.gatherLogicalOperands)(node, parserServices, context.sourceCode, options); - for (const logical of newlySeenLogicals) { - seenLogicals.add(logical); - } - let currentChain = []; - for (const operand of operands) { - if (operand.type === "Invalid" /* OperandValidity.Invalid */) { - (0, analyzeChain_1.analyzeChain)(context, parserServices, options, node, node.operator, currentChain); - currentChain = []; - } - else { - currentChain.push(operand); - } - } - // make sure to check whatever's left - if (currentChain.length > 0) { - (0, analyzeChain_1.analyzeChain)(context, parserServices, options, node, node.operator, currentChain); - } - }, - 'LogicalExpression[operator="||"], LogicalExpression[operator="??"]'(node) { - const leftNode = node.left; - const rightNode = node.right; - const parentNode = node.parent; - const isRightNodeAnEmptyObjectLiteral = rightNode.type === utils_1.AST_NODE_TYPES.ObjectExpression && - rightNode.properties.length === 0; - if (!isRightNodeAnEmptyObjectLiteral || - parentNode.type !== utils_1.AST_NODE_TYPES.MemberExpression || - parentNode.optional) { - return; - } - seenLogicals.add(node); - function isLeftSideLowerPrecedence() { - const logicalTsNode = parserServices.esTreeNodeToTSNodeMap.get(node); - const leftTsNode = parserServices.esTreeNodeToTSNodeMap.get(leftNode); - const leftPrecedence = (0, util_1.getOperatorPrecedence)(leftTsNode.kind, logicalTsNode.operatorToken.kind); - return leftPrecedence < util_1.OperatorPrecedence.LeftHandSide; - } - (0, checkNullishAndReport_1.checkNullishAndReport)(context, parserServices, options, [leftNode], { - node: parentNode, - messageId: 'preferOptionalChain', - suggest: [ - { - messageId: 'optionalChainSuggest', - fix: (fixer) => { - const leftNodeText = context.sourceCode.getText(leftNode); - // Any node that is made of an operator with higher or equal precedence, - const maybeWrappedLeftNode = isLeftSideLowerPrecedence() - ? `(${leftNodeText})` - : leftNodeText; - const propertyToBeOptionalText = context.sourceCode.getText(parentNode.property); - const maybeWrappedProperty = parentNode.computed - ? `[${propertyToBeOptionalText}]` - : propertyToBeOptionalText; - return fixer.replaceTextRange(parentNode.range, `${maybeWrappedLeftNode}?.${maybeWrappedProperty}`); - }, - }, - ], - }); - }, - }; - }, -}); -//# sourceMappingURL=prefer-optional-chain.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map deleted file mode 100644 index 822735ac..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-optional-chain.js","sourceRoot":"","sources":["../../src/rules/prefer-optional-chain.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js deleted file mode 100644 index 760b360a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js +++ /dev/null @@ -1,122 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-promise-reject-errors', - meta: { - type: 'suggestion', - docs: { - description: 'Require using Error objects as Promise rejection reasons', - extendsBaseRule: true, - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - rejectAnError: 'Expected the Promise rejection reason to be an Error.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowEmptyReject: { - type: 'boolean', - description: 'Whether to allow calls to `Promise.reject()` with no arguments.', - }, - allowThrowingAny: { - type: 'boolean', - description: 'Whether to always allow throwing values typed as `any`.', - }, - allowThrowingUnknown: { - type: 'boolean', - description: 'Whether to always allow throwing values typed as `unknown`.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowEmptyReject: false, - allowThrowingAny: false, - allowThrowingUnknown: false, - }, - ], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - function checkRejectCall(callExpression) { - const argument = callExpression.arguments.at(0); - if (argument) { - const type = services.getTypeAtLocation(argument); - if (options.allowThrowingAny && (0, util_1.isTypeAnyType)(type)) { - return; - } - if (options.allowThrowingUnknown && (0, util_1.isTypeUnknownType)(type)) { - return; - } - if ((0, util_1.isErrorLike)(services.program, type) || - (0, util_1.isReadonlyErrorLike)(services.program, type)) { - return; - } - } - else if (options.allowEmptyReject) { - return; - } - context.report({ - node: callExpression, - messageId: 'rejectAnError', - }); - } - function skipChainExpression(node) { - return node.type === utils_1.AST_NODE_TYPES.ChainExpression - ? node.expression - : node; - } - function typeAtLocationIsLikePromise(node) { - const type = services.getTypeAtLocation(node); - return ((0, util_1.isPromiseConstructorLike)(services.program, type) || - (0, util_1.isPromiseLike)(services.program, type)); - } - return { - CallExpression(node) { - const callee = skipChainExpression(node.callee); - if (callee.type !== utils_1.AST_NODE_TYPES.MemberExpression) { - return; - } - if (!(0, util_1.isStaticMemberAccessOfValue)(callee, context, 'reject') || - !typeAtLocationIsLikePromise(callee.object)) { - return; - } - checkRejectCall(node); - }, - NewExpression(node) { - const callee = skipChainExpression(node.callee); - if (!(0, util_1.isPromiseConstructorLike)(services.program, services.getTypeAtLocation(callee))) { - return; - } - const executor = node.arguments.at(0); - if (!executor || !(0, util_1.isFunction)(executor)) { - return; - } - const rejectParamNode = executor.params.at(1); - if (!rejectParamNode || !(0, util_1.isIdentifier)(rejectParamNode)) { - return; - } - // reject param is always present in variables declared by executor - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const rejectVariable = context.sourceCode - .getDeclaredVariables(executor) - .find(variable => variable.identifiers.includes(rejectParamNode)); - rejectVariable.references.forEach(ref => { - if (ref.identifier.parent.type !== utils_1.AST_NODE_TYPES.CallExpression || - ref.identifier !== ref.identifier.parent.callee) { - return; - } - checkRejectCall(ref.identifier.parent); - }); - }, - }; - }, -}); -//# sourceMappingURL=prefer-promise-reject-errors.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js.map deleted file mode 100644 index 4a9b8e7a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-promise-reject-errors.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-promise-reject-errors.js","sourceRoot":"","sources":["../../src/rules/prefer-promise-reject-errors.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAE1D,kCAYiB;AAYjB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,0DAA0D;YACvE,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,aAAa;YAC1B,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,aAAa,EAAE,uDAAuD;SACvE;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,gBAAgB,EAAE;wBAChB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,iEAAiE;qBACpE;oBACD,gBAAgB,EAAE;wBAChB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,yDAAyD;qBAC5D;oBACD,oBAAoB,EAAE;wBACpB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,6DAA6D;qBAChE;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,KAAK;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAE5C,SAAS,eAAe,CAAC,cAAuC;YAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAElD,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAA,oBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,OAAO;gBACT,CAAC;gBAED,IAAI,OAAO,CAAC,oBAAoB,IAAI,IAAA,wBAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;oBAC5D,OAAO;gBACT,CAAC;gBAED,IACE,IAAA,kBAAW,EAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;oBACnC,IAAA,0BAAmB,EAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAC3C,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,SAAS,mBAAmB,CAC1B,IAAO;YAEP,OAAO,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBACjD,CAAC,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QAED,SAAS,2BAA2B,CAAC,IAAmB;YACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,CACL,IAAA,+BAAwB,EAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;gBAChD,IAAA,oBAAa,EAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CACtC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,cAAc,CAAC,IAAI;gBACjB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhD,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;oBACpD,OAAO;gBACT,CAAC;gBAED,IACE,CAAC,IAAA,kCAA2B,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;oBACvD,CAAC,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,EAC3C,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,eAAe,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,aAAa,CAAC,IAAI;gBAChB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,IACE,CAAC,IAAA,+BAAwB,EACvB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CACnC,EACD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAA,iBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,OAAO;gBACT,CAAC;gBACD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,eAAe,IAAI,CAAC,IAAA,mBAAY,EAAC,eAAe,CAAC,EAAE,CAAC;oBACvD,OAAO;gBACT,CAAC;gBAED,mEAAmE;gBACnE,oEAAoE;gBACpE,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU;qBACtC,oBAAoB,CAAC,QAAQ,CAAC;qBAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAE,CAAC;gBAErE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACtC,IACE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;wBAC5D,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAC/C,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js deleted file mode 100644 index 56c32ff8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js +++ /dev/null @@ -1,90 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-readonly-parameter-types', - meta: { - type: 'suggestion', - docs: { - description: 'Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs', - requiresTypeChecking: true, - }, - messages: { - shouldBeReadonly: 'Parameter should be a read only type.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allow: { - ...util_1.readonlynessOptionsSchema.properties.allow, - description: 'An array of type specifiers to ignore.', - }, - checkParameterProperties: { - type: 'boolean', - description: 'Whether to check class parameter properties.', - }, - ignoreInferredTypes: { - type: 'boolean', - description: "Whether to ignore parameters which don't explicitly specify a type.", - }, - treatMethodsAsReadonly: { - ...util_1.readonlynessOptionsSchema.properties.treatMethodsAsReadonly, - description: 'Whether to treat all mutable methods as though they are readonly.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allow: util_1.readonlynessOptionsDefaults.allow, - checkParameterProperties: true, - ignoreInferredTypes: false, - treatMethodsAsReadonly: util_1.readonlynessOptionsDefaults.treatMethodsAsReadonly, - }, - ], - create(context, [{ allow, checkParameterProperties, ignoreInferredTypes, treatMethodsAsReadonly, },]) { - const services = (0, util_1.getParserServices)(context); - return { - [[ - utils_1.AST_NODE_TYPES.ArrowFunctionExpression, - utils_1.AST_NODE_TYPES.FunctionDeclaration, - utils_1.AST_NODE_TYPES.FunctionExpression, - utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration, - utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration, - utils_1.AST_NODE_TYPES.TSDeclareFunction, - utils_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression, - utils_1.AST_NODE_TYPES.TSFunctionType, - utils_1.AST_NODE_TYPES.TSMethodSignature, - ].join(', ')](node) { - for (const param of node.params) { - if (!checkParameterProperties && - param.type === utils_1.AST_NODE_TYPES.TSParameterProperty) { - continue; - } - const actualParam = param.type === utils_1.AST_NODE_TYPES.TSParameterProperty - ? param.parameter - : param; - if (ignoreInferredTypes && actualParam.typeAnnotation == null) { - continue; - } - const type = services.getTypeAtLocation(actualParam); - const isReadOnly = (0, util_1.isTypeReadonly)(services.program, type, { - allow, - treatMethodsAsReadonly: !!treatMethodsAsReadonly, - }); - if (!isReadOnly) { - context.report({ - node: actualParam, - messageId: 'shouldBeReadonly', - }); - } - } - }, - }; - }, -}); -//# sourceMappingURL=prefer-readonly-parameter-types.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map deleted file mode 100644 index bd8a53ab..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-readonly-parameter-types.js","sourceRoot":"","sources":["../../src/rules/prefer-readonly-parameter-types.ts"],"names":[],"mappings":";;AAEA,oDAA0D;AAI1D,kCAMiB;AAYjB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,gGAAgG;YAClG,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,gBAAgB,EAAE,uCAAuC;SAC1D;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,GAAG,gCAAyB,CAAC,UAAU,CAAC,KAAK;wBAC7C,WAAW,EAAE,wCAAwC;qBACtD;oBACD,wBAAwB,EAAE;wBACxB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,8CAA8C;qBAC5D;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,qEAAqE;qBACxE;oBACD,sBAAsB,EAAE;wBACtB,GAAG,gCAAyB,CAAC,UAAU,CAAC,sBAAsB;wBAC9D,WAAW,EACT,mEAAmE;qBACtE;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,KAAK,EAAE,kCAA2B,CAAC,KAAK;YACxC,wBAAwB,EAAE,IAAI;YAC9B,mBAAmB,EAAE,KAAK;YAC1B,sBAAsB,EACpB,kCAA2B,CAAC,sBAAsB;SACrD;KACF;IACD,MAAM,CACJ,OAAO,EACP,CACE,EACE,KAAK,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,GACvB,EACF;QAED,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAE5C,OAAO;YACL,CAAC;gBACC,sBAAc,CAAC,uBAAuB;gBACtC,sBAAc,CAAC,mBAAmB;gBAClC,sBAAc,CAAC,kBAAkB;gBACjC,sBAAc,CAAC,0BAA0B;gBACzC,sBAAc,CAAC,+BAA+B;gBAC9C,sBAAc,CAAC,iBAAiB;gBAChC,sBAAc,CAAC,6BAA6B;gBAC5C,sBAAc,CAAC,cAAc;gBAC7B,sBAAc,CAAC,iBAAiB;aACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACX,IAS8B;gBAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChC,IACE,CAAC,wBAAwB;wBACzB,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB,EACjD,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,MAAM,WAAW,GACf,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB;wBAC/C,CAAC,CAAC,KAAK,CAAC,SAAS;wBACjB,CAAC,CAAC,KAAK,CAAC;oBAEZ,IAAI,mBAAmB,IAAI,WAAW,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;wBAC9D,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACrD,MAAM,UAAU,GAAG,IAAA,qBAAc,EAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE;wBACxD,KAAK;wBACL,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;qBACjD,CAAC,CAAC;oBAEH,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,kBAAkB;yBAC9B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js deleted file mode 100644 index 6c28dca1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js +++ /dev/null @@ -1,336 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getMemberHeadLoc_1 = require("../util/getMemberHeadLoc"); -const functionScopeBoundaries = [ - utils_1.AST_NODE_TYPES.ArrowFunctionExpression, - utils_1.AST_NODE_TYPES.FunctionDeclaration, - utils_1.AST_NODE_TYPES.FunctionExpression, - utils_1.AST_NODE_TYPES.MethodDefinition, -].join(', '); -exports.default = (0, util_1.createRule)({ - name: 'prefer-readonly', - meta: { - type: 'suggestion', - docs: { - description: "Require private members to be marked as `readonly` if they're never modified outside of the constructor", - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - preferReadonly: "Member '{{name}}' is never reassigned; mark it as `readonly`.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - onlyInlineLambdas: { - type: 'boolean', - description: 'Whether to restrict checking only to members immediately assigned a lambda value.', - }, - }, - }, - ], - }, - defaultOptions: [{ onlyInlineLambdas: false }], - create(context, [{ onlyInlineLambdas }]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const classScopeStack = []; - function handlePropertyAccessExpression(node, parent, classScope) { - if (ts.isBinaryExpression(parent)) { - handleParentBinaryExpression(node, parent, classScope); - return; - } - if (ts.isDeleteExpression(parent) || isDestructuringAssignment(node)) { - classScope.addVariableModification(node); - return; - } - if (ts.isPostfixUnaryExpression(parent) || - ts.isPrefixUnaryExpression(parent)) { - handleParentPostfixOrPrefixUnaryExpression(parent, classScope); - } - } - function handleParentBinaryExpression(node, parent, classScope) { - if (parent.left === node && - tsutils.isAssignmentKind(parent.operatorToken.kind)) { - classScope.addVariableModification(node); - } - } - function handleParentPostfixOrPrefixUnaryExpression(node, classScope) { - if (node.operator === ts.SyntaxKind.PlusPlusToken || - node.operator === ts.SyntaxKind.MinusMinusToken) { - classScope.addVariableModification(node.operand); - } - } - function isDestructuringAssignment(node) { - let current = node.parent; - while (current) { - const parent = current.parent; - if (ts.isObjectLiteralExpression(parent) || - ts.isArrayLiteralExpression(parent) || - ts.isSpreadAssignment(parent) || - (ts.isSpreadElement(parent) && - ts.isArrayLiteralExpression(parent.parent))) { - current = parent; - } - else if (ts.isBinaryExpression(parent) && - !ts.isPropertyAccessExpression(current)) { - return (parent.left === current && - parent.operatorToken.kind === ts.SyntaxKind.EqualsToken); - } - else { - break; - } - } - return false; - } - function isFunctionScopeBoundaryInStack(node) { - if (classScopeStack.length === 0) { - return false; - } - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - if (ts.isConstructorDeclaration(tsNode)) { - return false; - } - return tsutils.isFunctionScopeBoundary(tsNode); - } - function getEsNodesFromViolatingNode(violatingNode) { - return { - esNode: services.tsNodeToESTreeNodeMap.get(violatingNode), - nameNode: services.tsNodeToESTreeNodeMap.get(violatingNode.name), - }; - } - return { - [`${functionScopeBoundaries}:exit`](node) { - if (utils_1.ASTUtils.isConstructor(node)) { - classScopeStack[classScopeStack.length - 1].exitConstructor(); - } - else if (isFunctionScopeBoundaryInStack(node)) { - classScopeStack[classScopeStack.length - 1].exitNonConstructor(); - } - }, - 'ClassDeclaration, ClassExpression'(node) { - classScopeStack.push(new ClassScope(checker, services.esTreeNodeToTSNodeMap.get(node), onlyInlineLambdas)); - }, - 'ClassDeclaration, ClassExpression:exit'() { - const finalizedClassScope = (0, util_1.nullThrows)(classScopeStack.pop(), 'Stack should exist on class exit'); - for (const violatingNode of finalizedClassScope.finalizeUnmodifiedPrivateNonReadonlys()) { - const { esNode, nameNode } = getEsNodesFromViolatingNode(violatingNode); - const reportNodeOrLoc = (() => { - switch (esNode.type) { - case utils_1.AST_NODE_TYPES.MethodDefinition: - case utils_1.AST_NODE_TYPES.PropertyDefinition: - case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition: - return { loc: (0, getMemberHeadLoc_1.getMemberHeadLoc)(context.sourceCode, esNode) }; - case utils_1.AST_NODE_TYPES.TSParameterProperty: - return { - loc: (0, getMemberHeadLoc_1.getParameterPropertyHeadLoc)(context.sourceCode, esNode, nameNode.name), - }; - default: - return { node: esNode }; - } - })(); - context.report({ - ...reportNodeOrLoc, - messageId: 'preferReadonly', - data: { - name: context.sourceCode.getText(nameNode), - }, - fix: fixer => fixer.insertTextBefore(nameNode, 'readonly '), - }); - } - }, - [functionScopeBoundaries](node) { - if (utils_1.ASTUtils.isConstructor(node)) { - classScopeStack[classScopeStack.length - 1].enterConstructor(services.esTreeNodeToTSNodeMap.get(node)); - } - else if (isFunctionScopeBoundaryInStack(node)) { - classScopeStack[classScopeStack.length - 1].enterNonConstructor(); - } - }, - MemberExpression(node) { - if (classScopeStack.length !== 0 && !node.computed) { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - handlePropertyAccessExpression(tsNode, tsNode.parent, classScopeStack[classScopeStack.length - 1]); - } - }, - }; - }, -}); -const OUTSIDE_CONSTRUCTOR = -1; -const DIRECTLY_INSIDE_CONSTRUCTOR = 0; -var TypeToClassRelation; -(function (TypeToClassRelation) { - TypeToClassRelation[TypeToClassRelation["ClassAndInstance"] = 0] = "ClassAndInstance"; - TypeToClassRelation[TypeToClassRelation["Class"] = 1] = "Class"; - TypeToClassRelation[TypeToClassRelation["Instance"] = 2] = "Instance"; - TypeToClassRelation[TypeToClassRelation["None"] = 3] = "None"; -})(TypeToClassRelation || (TypeToClassRelation = {})); -class ClassScope { - checker; - onlyInlineLambdas; - classType; - constructorScopeDepth = OUTSIDE_CONSTRUCTOR; - memberVariableModifications = new Set(); - privateModifiableMembers = new Map(); - privateModifiableStatics = new Map(); - staticVariableModifications = new Set(); - constructor(checker, classNode, onlyInlineLambdas) { - this.checker = checker; - this.onlyInlineLambdas = onlyInlineLambdas; - const classType = checker.getTypeAtLocation(classNode); - if (tsutils.isIntersectionType(classType)) { - this.classType = classType.types[0]; - } - else { - this.classType = classType; - } - for (const member of classNode.members) { - if (ts.isPropertyDeclaration(member)) { - this.addDeclaredVariable(member); - } - } - } - addDeclaredVariable(node) { - if (!(tsutils.isModifierFlagSet(node, ts.ModifierFlags.Private) || - node.name.kind === ts.SyntaxKind.PrivateIdentifier) || - tsutils.isModifierFlagSet(node, ts.ModifierFlags.Accessor | ts.ModifierFlags.Readonly) || - ts.isComputedPropertyName(node.name)) { - return; - } - if (this.onlyInlineLambdas && - node.initializer != null && - !ts.isArrowFunction(node.initializer)) { - return; - } - (tsutils.isModifierFlagSet(node, ts.ModifierFlags.Static) - ? this.privateModifiableStatics - : this.privateModifiableMembers).set(node.name.getText(), node); - } - addVariableModification(node) { - const modifierType = this.checker.getTypeAtLocation(node.expression); - const relationOfModifierTypeToClass = this.getTypeToClassRelation(modifierType); - if (relationOfModifierTypeToClass === TypeToClassRelation.Instance && - this.constructorScopeDepth === DIRECTLY_INSIDE_CONSTRUCTOR) { - return; - } - if (relationOfModifierTypeToClass === TypeToClassRelation.Instance || - relationOfModifierTypeToClass === TypeToClassRelation.ClassAndInstance) { - this.memberVariableModifications.add(node.name.text); - } - if (relationOfModifierTypeToClass === TypeToClassRelation.Class || - relationOfModifierTypeToClass === TypeToClassRelation.ClassAndInstance) { - this.staticVariableModifications.add(node.name.text); - } - } - enterConstructor(node) { - this.constructorScopeDepth = DIRECTLY_INSIDE_CONSTRUCTOR; - for (const parameter of node.parameters) { - if (tsutils.isModifierFlagSet(parameter, ts.ModifierFlags.Private)) { - this.addDeclaredVariable(parameter); - } - } - } - enterNonConstructor() { - if (this.constructorScopeDepth !== OUTSIDE_CONSTRUCTOR) { - this.constructorScopeDepth += 1; - } - } - exitConstructor() { - this.constructorScopeDepth = OUTSIDE_CONSTRUCTOR; - } - exitNonConstructor() { - if (this.constructorScopeDepth !== OUTSIDE_CONSTRUCTOR) { - this.constructorScopeDepth -= 1; - } - } - finalizeUnmodifiedPrivateNonReadonlys() { - this.memberVariableModifications.forEach(variableName => { - this.privateModifiableMembers.delete(variableName); - }); - this.staticVariableModifications.forEach(variableName => { - this.privateModifiableStatics.delete(variableName); - }); - return [ - ...this.privateModifiableMembers.values(), - ...this.privateModifiableStatics.values(), - ]; - } - getTypeToClassRelation(type) { - if (type.isIntersection()) { - let result = TypeToClassRelation.None; - for (const subType of type.types) { - const subTypeResult = this.getTypeToClassRelation(subType); - switch (subTypeResult) { - case TypeToClassRelation.Class: - if (result === TypeToClassRelation.Instance) { - return TypeToClassRelation.ClassAndInstance; - } - result = TypeToClassRelation.Class; - break; - case TypeToClassRelation.Instance: - if (result === TypeToClassRelation.Class) { - return TypeToClassRelation.ClassAndInstance; - } - result = TypeToClassRelation.Instance; - break; - } - } - return result; - } - if (type.isUnion()) { - // any union of class/instance and something else will prevent access to - // private members, so we assume that union consists only of classes - // or class instances, because otherwise tsc will report an error - return this.getTypeToClassRelation(type.types[0]); - } - if (!type.getSymbol() || !(0, util_1.typeIsOrHasBaseType)(type, this.classType)) { - return TypeToClassRelation.None; - } - const typeIsClass = tsutils.isObjectType(type) && - tsutils.isObjectFlagSet(type, ts.ObjectFlags.Anonymous); - if (typeIsClass) { - return TypeToClassRelation.Class; - } - return TypeToClassRelation.Instance; - } -} -//# sourceMappingURL=prefer-readonly.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map deleted file mode 100644 index 1e2541c0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-readonly.js","sourceRoot":"","sources":["../../src/rules/prefer-readonly.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js deleted file mode 100644 index bf4f524c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js +++ /dev/null @@ -1,103 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-reduce-type-parameter', - meta: { - type: 'problem', - docs: { - description: 'Enforce using type parameter when calling `Array#reduce` instead of using a type assertion', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - preferTypeParameter: 'Unnecessary assertion: Array#reduce accepts a type parameter for the default value.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function isArrayType(type) { - return tsutils - .unionTypeParts(type) - .every(unionPart => tsutils - .intersectionTypeParts(unionPart) - .every(t => checker.isArrayType(t) || checker.isTupleType(t))); - } - return { - 'CallExpression > MemberExpression.callee'(callee) { - if (!(0, util_1.isStaticMemberAccessOfValue)(callee, context, 'reduce')) { - return; - } - const [, secondArg] = callee.parent.arguments; - if (callee.parent.arguments.length < 2 || !(0, util_1.isTypeAssertion)(secondArg)) { - return; - } - // Get the symbol of the `reduce` method. - const calleeObjType = (0, util_1.getConstrainedTypeAtLocation)(services, callee.object); - // Check the owner type of the `reduce` method. - if (isArrayType(calleeObjType)) { - context.report({ - node: secondArg, - messageId: 'preferTypeParameter', - fix: fixer => { - const fixes = [ - fixer.removeRange([ - secondArg.range[0], - secondArg.expression.range[0], - ]), - fixer.removeRange([ - secondArg.expression.range[1], - secondArg.range[1], - ]), - ]; - if (!callee.parent.typeArguments) { - fixes.push(fixer.insertTextAfter(callee, `<${context.sourceCode.getText(secondArg.typeAnnotation)}>`)); - } - return fixes; - }, - }); - return; - } - }, - }; - }, -}); -//# sourceMappingURL=prefer-reduce-type-parameter.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js.map deleted file mode 100644 index 90ff596d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-reduce-type-parameter.js","sourceRoot":"","sources":["../../src/rules/prefer-reduce-type-parameter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,sDAAwC;AAExC,kCAMiB;AAMjB,kBAAe,IAAA,iBAAU,EAAC;IACxB,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,4FAA4F;YAC9F,WAAW,EAAE,QAAQ;YACrB,oBAAoB,EAAE,IAAI;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,mBAAmB,EACjB,qFAAqF;SACxF;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD,SAAS,WAAW,CAAC,IAAa;YAChC,OAAO,OAAO;iBACX,cAAc,CAAC,IAAI,CAAC;iBACpB,KAAK,CAAC,SAAS,CAAC,EAAE,CACjB,OAAO;iBACJ,qBAAqB,CAAC,SAAS,CAAC;iBAChC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAChE,CAAC;QACN,CAAC;QAED,OAAO;YACL,0CAA0C,CACxC,MAAgD;gBAEhD,IAAI,CAAC,IAAA,kCAA2B,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC5D,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;gBAE9C,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,SAAS,CAAC,EAAE,CAAC;oBACtE,OAAO;gBACT,CAAC;gBAED,yCAAyC;gBACzC,MAAM,aAAa,GAAG,IAAA,mCAA4B,EAChD,QAAQ,EACR,MAAM,CAAC,MAAM,CACd,CAAC;gBAEF,+CAA+C;gBAC/C,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,qBAAqB;wBAChC,GAAG,EAAE,KAAK,CAAC,EAAE;4BACX,MAAM,KAAK,GAAG;gCACZ,KAAK,CAAC,WAAW,CAAC;oCAChB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;oCAClB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;iCAC9B,CAAC;gCACF,KAAK,CAAC,WAAW,CAAC;oCAChB,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;oCAC7B,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;iCACnB,CAAC;6BACH,CAAC;4BAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gCACjC,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,eAAe,CACnB,MAAM,EACN,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAC5D,CACF,CAAC;4BACJ,CAAC;4BAED,OAAO,KAAK,CAAC;wBACf,CAAC;qBACF,CAAC,CAAC;oBAEH,OAAO;gBACT,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js deleted file mode 100644 index f7d97ad9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js +++ /dev/null @@ -1,179 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -var ArgumentType; -(function (ArgumentType) { - ArgumentType[ArgumentType["Other"] = 0] = "Other"; - ArgumentType[ArgumentType["String"] = 1] = "String"; - ArgumentType[ArgumentType["RegExp"] = 2] = "RegExp"; - ArgumentType[ArgumentType["Both"] = 3] = "Both"; -})(ArgumentType || (ArgumentType = {})); -exports.default = (0, util_1.createRule)({ - name: 'prefer-regexp-exec', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce `RegExp#exec` over `String#match` if no global flag is provided', - recommended: 'stylistic', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - regExpExecOverStringMatch: 'Use the `RegExp#exec()` method instead.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const globalScope = context.sourceCode.getScope(context.sourceCode.ast); - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - /** - * Check if a given node type is a string. - * @param type The node type to check. - */ - function isStringType(type) { - return (0, util_1.getTypeName)(checker, type) === 'string'; - } - /** - * Check if a given node type is a RegExp. - * @param type The node type to check. - */ - function isRegExpType(type) { - return (0, util_1.getTypeName)(checker, type) === 'RegExp'; - } - function collectArgumentTypes(types) { - let result = ArgumentType.Other; - for (const type of types) { - if (isRegExpType(type)) { - result |= ArgumentType.RegExp; - } - else if (isStringType(type)) { - result |= ArgumentType.String; - } - } - return result; - } - /** - * Returns true if and only if we have syntactic proof that the /g flag is - * absent. Returns false in all other cases (i.e. it still might or might - * not contain the global flag). - */ - function definitelyDoesNotContainGlobalFlag(node) { - if ((node.type === utils_1.AST_NODE_TYPES.CallExpression || - node.type === utils_1.AST_NODE_TYPES.NewExpression) && - node.callee.type === utils_1.AST_NODE_TYPES.Identifier && - node.callee.name === 'RegExp') { - const flags = node.arguments.at(1); - return !(flags?.type === utils_1.AST_NODE_TYPES.Literal && - typeof flags.value === 'string' && - flags.value.includes('g')); - } - return false; - } - return { - 'CallExpression[arguments.length=1] > MemberExpression'(memberNode) { - if (!(0, util_1.isStaticMemberAccessOfValue)(memberNode, context, 'match')) { - return; - } - const objectNode = memberNode.object; - const callNode = memberNode.parent; - const [argumentNode] = callNode.arguments; - const argumentValue = (0, util_1.getStaticValue)(argumentNode, globalScope); - if (!isStringType(services.getTypeAtLocation(objectNode))) { - return; - } - // Don't report regular expressions with global flag. - if ((!argumentValue && - !definitelyDoesNotContainGlobalFlag(argumentNode)) || - (argumentValue && - argumentValue.value instanceof RegExp && - argumentValue.value.flags.includes('g'))) { - return; - } - if (argumentNode.type === utils_1.AST_NODE_TYPES.Literal && - typeof argumentNode.value === 'string') { - let regExp; - try { - regExp = RegExp(argumentNode.value); - } - catch { - return; - } - return context.report({ - node: memberNode.property, - messageId: 'regExpExecOverStringMatch', - fix: (0, util_1.getWrappingFixer)({ - node: callNode, - innerNode: [objectNode], - sourceCode: context.sourceCode, - wrap: objectCode => `${regExp.toString()}.exec(${objectCode})`, - }), - }); - } - const argumentType = services.getTypeAtLocation(argumentNode); - const argumentTypes = collectArgumentTypes(tsutils.unionTypeParts(argumentType)); - switch (argumentTypes) { - case ArgumentType.RegExp: - return context.report({ - node: memberNode.property, - messageId: 'regExpExecOverStringMatch', - fix: (0, util_1.getWrappingFixer)({ - node: callNode, - innerNode: [objectNode, argumentNode], - sourceCode: context.sourceCode, - wrap: (objectCode, argumentCode) => `${argumentCode}.exec(${objectCode})`, - }), - }); - case ArgumentType.String: - return context.report({ - node: memberNode.property, - messageId: 'regExpExecOverStringMatch', - fix: (0, util_1.getWrappingFixer)({ - node: callNode, - innerNode: [objectNode, argumentNode], - sourceCode: context.sourceCode, - wrap: (objectCode, argumentCode) => `RegExp(${argumentCode}).exec(${objectCode})`, - }), - }); - } - }, - }; - }, -}); -//# sourceMappingURL=prefer-regexp-exec.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map deleted file mode 100644 index 798f3e4a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-regexp-exec.js","sourceRoot":"","sources":["../../src/rules/prefer-regexp-exec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js deleted file mode 100644 index b0af2757..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js +++ /dev/null @@ -1,147 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-return-this-type', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce that `this` is used when only `this` type is returned', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - useThisType: 'Use `this` type instead.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function tryGetNameInType(name, typeNode) { - if (typeNode.type === utils_1.AST_NODE_TYPES.TSTypeReference && - typeNode.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - typeNode.typeName.name === name) { - return typeNode; - } - if (typeNode.type === utils_1.AST_NODE_TYPES.TSUnionType) { - for (const type of typeNode.types) { - const found = tryGetNameInType(name, type); - if (found) { - return found; - } - } - } - return undefined; - } - function isThisSpecifiedInParameters(originalFunc) { - const firstArg = originalFunc.params.at(0); - return !!(firstArg?.type === utils_1.AST_NODE_TYPES.Identifier && firstArg.name === 'this'); - } - function isFunctionReturningThis(originalFunc, originalClass) { - if (isThisSpecifiedInParameters(originalFunc)) { - return false; - } - const func = services.esTreeNodeToTSNodeMap.get(originalFunc); - if (!func.body) { - return false; - } - const classType = services.getTypeAtLocation(originalClass); - if (func.body.kind !== ts.SyntaxKind.Block) { - const type = checker.getTypeAtLocation(func.body); - return classType.thisType === type; - } - let hasReturnThis = false; - let hasReturnClassType = false; - (0, util_1.forEachReturnStatement)(func.body, stmt => { - const expr = stmt.expression; - if (!expr) { - return; - } - // fast check - if (expr.kind === ts.SyntaxKind.ThisKeyword) { - hasReturnThis = true; - return; - } - const type = checker.getTypeAtLocation(expr); - if (classType === type) { - hasReturnClassType = true; - return true; - } - if (classType.thisType === type) { - hasReturnThis = true; - return; - } - return; - }); - return !hasReturnClassType && hasReturnThis; - } - function checkFunction(originalFunc, originalClass) { - const className = originalClass.id?.name; - if (!className || !originalFunc.returnType) { - return; - } - const node = tryGetNameInType(className, originalFunc.returnType.typeAnnotation); - if (!node) { - return; - } - if (isFunctionReturningThis(originalFunc, originalClass)) { - context.report({ - node, - messageId: 'useThisType', - fix: fixer => fixer.replaceText(node, 'this'), - }); - } - } - return { - 'ClassBody > MethodDefinition'(node) { - checkFunction(node.value, node.parent.parent); - }, - 'ClassBody > PropertyDefinition'(node) { - if (!(node.value?.type === utils_1.AST_NODE_TYPES.FunctionExpression || - node.value?.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression)) { - return; - } - checkFunction(node.value, node.parent.parent); - }, - }; - }, -}); -//# sourceMappingURL=prefer-return-this-type.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js.map deleted file mode 100644 index 0aaebb73..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-return-this-type.js","sourceRoot":"","sources":["../../src/rules/prefer-return-this-type.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js deleted file mode 100644 index 40fcfe05..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js +++ /dev/null @@ -1,521 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const regexpp_1 = require("@eslint-community/regexpp"); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -const EQ_OPERATORS = /^[=!]=/; -const regexpp = new regexpp_1.RegExpParser(); -exports.default = (0, util_1.createRule)({ - name: 'prefer-string-starts-ends-with', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings', - recommended: 'stylistic', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - preferEndsWith: "Use the 'String#endsWith' method instead.", - preferStartsWith: "Use 'String#startsWith' method instead.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowSingleElementEquality: { - type: 'string', - description: 'Whether to allow equality checks against the first or last element of a string.', - enum: ['always', 'never'], - }, - }, - }, - ], - }, - defaultOptions: [{ allowSingleElementEquality: 'never' }], - create(context, [{ allowSingleElementEquality }]) { - const globalScope = context.sourceCode.getScope(context.sourceCode.ast); - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - /** - * Check if a given node is a string. - * @param node The node to check. - */ - function isStringType(node) { - const objectType = services.getTypeAtLocation(node); - return (0, util_1.getTypeName)(checker, objectType) === 'string'; - } - /** - * Check if a given node is a `Literal` node that is null. - * @param node The node to check. - */ - function isNull(node) { - const evaluated = (0, util_1.getStaticValue)(node, globalScope); - return evaluated != null && evaluated.value == null; - } - /** - * Check if a given node is a `Literal` node that is a given value. - * @param node The node to check. - * @param value The expected value of the `Literal` node. - */ - function isNumber(node, value) { - const evaluated = (0, util_1.getStaticValue)(node, globalScope); - return evaluated != null && evaluated.value === value; - } - /** - * Check if a given node is a `Literal` node that is a character. - * @param node The node to check. - */ - function isCharacter(node) { - const evaluated = (0, util_1.getStaticValue)(node, globalScope); - return (evaluated != null && - typeof evaluated.value === 'string' && - // checks if the string is a character long - evaluated.value[0] === evaluated.value); - } - /** - * Check if a given node is `==`, `===`, `!=`, or `!==`. - * @param node The node to check. - */ - function isEqualityComparison(node) { - return (node.type === utils_1.AST_NODE_TYPES.BinaryExpression && - EQ_OPERATORS.test(node.operator)); - } - /** - * Check if two given nodes are the same meaning. - * @param node1 A node to compare. - * @param node2 Another node to compare. - */ - function isSameTokens(node1, node2) { - const tokens1 = context.sourceCode.getTokens(node1); - const tokens2 = context.sourceCode.getTokens(node2); - if (tokens1.length !== tokens2.length) { - return false; - } - for (let i = 0; i < tokens1.length; ++i) { - const token1 = tokens1[i]; - const token2 = tokens2[i]; - if (token1.type !== token2.type || token1.value !== token2.value) { - return false; - } - } - return true; - } - /** - * Check if a given node is the expression of the length of a string. - * - * - If `length` property access of `expectedObjectNode`, it's `true`. - * E.g., `foo` → `foo.length` / `"foo"` → `"foo".length` - * - If `expectedObjectNode` is a string literal, `node` can be a number. - * E.g., `"foo"` → `3` - * - * @param node The node to check. - * @param expectedObjectNode The node which is expected as the receiver of `length` property. - */ - function isLengthExpression(node, expectedObjectNode) { - if (node.type === utils_1.AST_NODE_TYPES.MemberExpression) { - return ((0, util_1.getPropertyName)(node, globalScope) === 'length' && - isSameTokens(node.object, expectedObjectNode)); - } - const evaluatedLength = (0, util_1.getStaticValue)(node, globalScope); - const evaluatedString = (0, util_1.getStaticValue)(expectedObjectNode, globalScope); - return (evaluatedLength != null && - evaluatedString != null && - typeof evaluatedLength.value === 'number' && - typeof evaluatedString.value === 'string' && - evaluatedLength.value === evaluatedString.value.length); - } - /** - * Returns true if `node` is `-substring.length` or - * `parentString.length - substring.length` - */ - function isLengthAheadOfEnd(node, substring, parentString) { - return ((node.type === utils_1.AST_NODE_TYPES.UnaryExpression && - node.operator === '-' && - isLengthExpression(node.argument, substring)) || - (node.type === utils_1.AST_NODE_TYPES.BinaryExpression && - node.operator === '-' && - isLengthExpression(node.left, parentString) && - isLengthExpression(node.right, substring))); - } - /** - * Check if a given node is the expression of the last index. - * - * E.g. `foo.length - 1` - * - * @param node The node to check. - * @param expectedObjectNode The node which is expected as the receiver of `length` property. - */ - function isLastIndexExpression(node, expectedObjectNode) { - return (node.type === utils_1.AST_NODE_TYPES.BinaryExpression && - node.operator === '-' && - isLengthExpression(node.left, expectedObjectNode) && - isNumber(node.right, 1)); - } - /** - * Get the range of the property of a given `MemberExpression` node. - * - * - `obj[foo]` → the range of `[foo]` - * - `obf.foo` → the range of `.foo` - * - `(obj).foo` → the range of `.foo` - * - * @param node The member expression node to get. - */ - function getPropertyRange(node) { - const dotOrOpenBracket = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.object, util_1.isNotClosingParenToken), util_1.NullThrowsReasons.MissingToken('closing parenthesis', 'member')); - return [dotOrOpenBracket.range[0], node.range[1]]; - } - /** - * Parse a given `RegExp` pattern to that string if it's a static string. - * @param pattern The RegExp pattern text to parse. - * @param unicode Whether the RegExp is unicode. - */ - function parseRegExpText(pattern, unicode) { - // Parse it. - const ast = regexpp.parsePattern(pattern, undefined, undefined, { - unicode, - }); - if (ast.alternatives.length !== 1) { - return null; - } - // Drop `^`/`$` assertion. - const chars = ast.alternatives[0].elements; - const first = chars[0]; - if (first.type === 'Assertion' && first.kind === 'start') { - chars.shift(); - } - else { - chars.pop(); - } - // Check if it can determine a unique string. - if (!chars.every(c => c.type === 'Character')) { - return null; - } - // To string. - return String.fromCodePoint(...chars.map(c => c.value)); - } - /** - * Parse a given node if it's a `RegExp` instance. - * @param node The node to parse. - */ - function parseRegExp(node) { - const evaluated = (0, util_1.getStaticValue)(node, globalScope); - if (evaluated == null || !(evaluated.value instanceof RegExp)) { - return null; - } - const { flags, source } = evaluated.value; - const isStartsWith = source.startsWith('^'); - const isEndsWith = source.endsWith('$'); - if (isStartsWith === isEndsWith || - flags.includes('i') || - flags.includes('m')) { - return null; - } - const text = parseRegExpText(source, flags.includes('u')); - if (text == null) { - return null; - } - return { isEndsWith, isStartsWith, text }; - } - function getLeftNode(node) { - if (node.type === utils_1.AST_NODE_TYPES.ChainExpression) { - return getLeftNode(node.expression); - } - let leftNode; - if (node.type === utils_1.AST_NODE_TYPES.CallExpression) { - leftNode = node.callee; - } - else { - leftNode = node; - } - if (leftNode.type !== utils_1.AST_NODE_TYPES.MemberExpression) { - throw new Error(`Expected a MemberExpression, got ${leftNode.type}`); - } - return leftNode; - } - /** - * Fix code with using the right operand as the search string. - * For example: `foo.slice(0, 3) === 'bar'` → `foo.startsWith('bar')` - * @param fixer The rule fixer. - * @param node The node which was reported. - * @param kind The kind of the report. - * @param isNegative The flag to fix to negative condition. - */ - function* fixWithRightOperand(fixer, node, kind, isNegative, isOptional) { - // left is CallExpression or MemberExpression. - const leftNode = getLeftNode(node.left); - const propertyRange = getPropertyRange(leftNode); - if (isNegative) { - yield fixer.insertTextBefore(node, '!'); - } - yield fixer.replaceTextRange([propertyRange[0], node.right.range[0]], `${isOptional ? '?.' : '.'}${kind}sWith(`); - yield fixer.replaceTextRange([node.right.range[1], node.range[1]], ')'); - } - /** - * Fix code with using the first argument as the search string. - * For example: `foo.indexOf('bar') === 0` → `foo.startsWith('bar')` - * @param fixer The rule fixer. - * @param node The node which was reported. - * @param kind The kind of the report. - * @param negative The flag to fix to negative condition. - */ - function* fixWithArgument(fixer, node, callNode, calleeNode, kind, negative, isOptional) { - if (negative) { - yield fixer.insertTextBefore(node, '!'); - } - yield fixer.replaceTextRange(getPropertyRange(calleeNode), `${isOptional ? '?.' : '.'}${kind}sWith`); - yield fixer.removeRange([callNode.range[1], node.range[1]]); - } - function getParent(node) { - return (0, util_1.nullThrows)(node.parent?.type === utils_1.AST_NODE_TYPES.ChainExpression - ? node.parent.parent - : node.parent, util_1.NullThrowsReasons.MissingParent); - } - return { - // foo[0] === "a" - // foo.charAt(0) === "a" - // foo[foo.length - 1] === "a" - // foo.charAt(foo.length - 1) === "a" - [[ - 'BinaryExpression > MemberExpression.left[computed=true]', - 'BinaryExpression > CallExpression.left > MemberExpression.callee[property.name="charAt"][computed=false]', - 'BinaryExpression > ChainExpression.left > MemberExpression[computed=true]', - 'BinaryExpression > ChainExpression.left > CallExpression > MemberExpression.callee[property.name="charAt"][computed=false]', - ].join(', ')](node) { - let parentNode = getParent(node); - let indexNode = null; - if (parentNode.type === utils_1.AST_NODE_TYPES.CallExpression) { - if (parentNode.arguments.length === 1) { - indexNode = parentNode.arguments[0]; - } - parentNode = getParent(parentNode); - } - else { - indexNode = node.property; - } - if (indexNode == null || - !isEqualityComparison(parentNode) || - !isStringType(node.object)) { - return; - } - const isEndsWith = isLastIndexExpression(indexNode, node.object); - if (allowSingleElementEquality === 'always' && isEndsWith) { - return; - } - const isStartsWith = !isEndsWith && isNumber(indexNode, 0); - if ((allowSingleElementEquality === 'always' && isStartsWith) || - (!isStartsWith && !isEndsWith)) { - return; - } - const eqNode = parentNode; - context.report({ - node: parentNode, - messageId: isStartsWith ? 'preferStartsWith' : 'preferEndsWith', - fix(fixer) { - // Don't fix if it can change the behavior. - if (!isCharacter(eqNode.right)) { - return null; - } - return fixWithRightOperand(fixer, eqNode, isStartsWith ? 'start' : 'end', eqNode.operator.startsWith('!'), node.optional); - }, - }); - }, - // foo.indexOf('bar') === 0 - [[ - 'BinaryExpression > CallExpression.left > MemberExpression.callee[property.name="indexOf"][computed=false]', - 'BinaryExpression > ChainExpression.left > CallExpression > MemberExpression.callee[property.name="indexOf"][computed=false]', - ].join(', ')](node) { - const callNode = getParent(node); - const parentNode = getParent(callNode); - if (callNode.arguments.length !== 1 || - !isEqualityComparison(parentNode) || - !isNumber(parentNode.right, 0) || - !isStringType(node.object)) { - return; - } - context.report({ - node: parentNode, - messageId: 'preferStartsWith', - fix(fixer) { - return fixWithArgument(fixer, parentNode, callNode, node, 'start', parentNode.operator.startsWith('!'), node.optional); - }, - }); - }, - // foo.lastIndexOf('bar') === foo.length - 3 - // foo.lastIndexOf(bar) === foo.length - bar.length - [[ - 'BinaryExpression > CallExpression.left > MemberExpression.callee[property.name="lastIndexOf"][computed=false]', - 'BinaryExpression > ChainExpression.left > CallExpression > MemberExpression.callee[property.name="lastIndexOf"][computed=false]', - ].join(', ')](node) { - const callNode = getParent(node); - const parentNode = getParent(callNode); - if (callNode.arguments.length !== 1 || - !isEqualityComparison(parentNode) || - parentNode.right.type !== utils_1.AST_NODE_TYPES.BinaryExpression || - parentNode.right.operator !== '-' || - !isLengthExpression(parentNode.right.left, node.object) || - !isLengthExpression(parentNode.right.right, callNode.arguments[0]) || - !isStringType(node.object)) { - return; - } - context.report({ - node: parentNode, - messageId: 'preferEndsWith', - fix(fixer) { - return fixWithArgument(fixer, parentNode, callNode, node, 'end', parentNode.operator.startsWith('!'), node.optional); - }, - }); - }, - // foo.match(/^bar/) === null - // foo.match(/bar$/) === null - [[ - 'BinaryExpression > CallExpression.left > MemberExpression.callee[property.name="match"][computed=false]', - 'BinaryExpression > ChainExpression.left > CallExpression > MemberExpression.callee[property.name="match"][computed=false]', - ].join(', ')](node) { - const callNode = getParent(node); - const parentNode = getParent(callNode); - if (!isNull(parentNode.right) || !isStringType(node.object)) { - return; - } - const parsed = callNode.arguments.length === 1 - ? parseRegExp(callNode.arguments[0]) - : null; - if (parsed == null) { - return; - } - const { isStartsWith, text } = parsed; - context.report({ - node: callNode, - messageId: isStartsWith ? 'preferStartsWith' : 'preferEndsWith', - *fix(fixer) { - if (!parentNode.operator.startsWith('!')) { - yield fixer.insertTextBefore(parentNode, '!'); - } - yield fixer.replaceTextRange(getPropertyRange(node), `${node.optional ? '?.' : '.'}${isStartsWith ? 'start' : 'end'}sWith`); - yield fixer.replaceText(callNode.arguments[0], JSON.stringify(text)); - yield fixer.removeRange([callNode.range[1], parentNode.range[1]]); - }, - }); - }, - // foo.slice(0, 3) === 'bar' - // foo.slice(-3) === 'bar' - // foo.slice(-3, foo.length) === 'bar' - // foo.substring(0, 3) === 'bar' - // foo.substring(foo.length - 3) === 'bar' - // foo.substring(foo.length - 3, foo.length) === 'bar' - [[ - 'BinaryExpression > CallExpression.left > MemberExpression', - 'BinaryExpression > ChainExpression.left > CallExpression > MemberExpression', - ].join(', ')](node) { - if (!(0, util_1.isStaticMemberAccessOfValue)(node, context, 'slice', 'substring')) { - return; - } - const callNode = getParent(node); - const parentNode = getParent(callNode); - if (!isEqualityComparison(parentNode) || !isStringType(node.object)) { - return; - } - let isEndsWith = false; - let isStartsWith = false; - if (callNode.arguments.length === 1) { - if ( - // foo.slice(-bar.length) === bar - // foo.slice(foo.length - bar.length) === bar - isLengthAheadOfEnd(callNode.arguments[0], parentNode.right, node.object)) { - isEndsWith = true; - } - } - else if (callNode.arguments.length === 2) { - if ( - // foo.slice(0, bar.length) === bar - isNumber(callNode.arguments[0], 0) && - isLengthExpression(callNode.arguments[1], parentNode.right)) { - isStartsWith = true; - } - else if ( - // foo.slice(foo.length - bar.length, foo.length) === bar - // foo.slice(foo.length - bar.length, 0) === bar - // foo.slice(-bar.length, foo.length) === bar - // foo.slice(-bar.length, 0) === bar - (isLengthExpression(callNode.arguments[1], node.object) || - isNumber(callNode.arguments[1], 0)) && - isLengthAheadOfEnd(callNode.arguments[0], parentNode.right, node.object)) { - isEndsWith = true; - } - } - if (!isStartsWith && !isEndsWith) { - return; - } - const eqNode = parentNode; - const negativeIndexSupported = node.property.name === 'slice'; - context.report({ - node: parentNode, - messageId: isStartsWith ? 'preferStartsWith' : 'preferEndsWith', - fix(fixer) { - // Don't fix if it can change the behavior. - if (eqNode.operator.length === 2 && - (eqNode.right.type !== utils_1.AST_NODE_TYPES.Literal || - typeof eqNode.right.value !== 'string')) { - return null; - } - // code being checked is likely mistake: - // unequal length of strings being checked for equality - // or reliant on behavior of substring (negative indices interpreted as 0) - if (isStartsWith) { - if (!isLengthExpression(callNode.arguments[1], eqNode.right)) { - return null; - } - } - else { - const posNode = callNode.arguments[0]; - const posNodeIsAbsolutelyValid = (posNode.type === utils_1.AST_NODE_TYPES.BinaryExpression && - posNode.operator === '-' && - isLengthExpression(posNode.left, node.object) && - isLengthExpression(posNode.right, eqNode.right)) || - (negativeIndexSupported && - posNode.type === utils_1.AST_NODE_TYPES.UnaryExpression && - posNode.operator === '-' && - isLengthExpression(posNode.argument, eqNode.right)); - if (!posNodeIsAbsolutelyValid) { - return null; - } - } - return fixWithRightOperand(fixer, parentNode, isStartsWith ? 'start' : 'end', parentNode.operator.startsWith('!'), node.optional); - }, - }); - }, - // /^bar/.test(foo) - // /bar$/.test(foo) - 'CallExpression > MemberExpression.callee[property.name="test"][computed=false]'(node) { - const callNode = getParent(node); - const parsed = callNode.arguments.length === 1 ? parseRegExp(node.object) : null; - if (parsed == null) { - return; - } - const { isStartsWith, text } = parsed; - const messageId = isStartsWith ? 'preferStartsWith' : 'preferEndsWith'; - const methodName = isStartsWith ? 'startsWith' : 'endsWith'; - context.report({ - node: callNode, - messageId, - *fix(fixer) { - const argNode = callNode.arguments[0]; - const needsParen = argNode.type !== utils_1.AST_NODE_TYPES.Literal && - argNode.type !== utils_1.AST_NODE_TYPES.TemplateLiteral && - argNode.type !== utils_1.AST_NODE_TYPES.Identifier && - argNode.type !== utils_1.AST_NODE_TYPES.MemberExpression && - argNode.type !== utils_1.AST_NODE_TYPES.CallExpression; - yield fixer.removeRange([callNode.range[0], argNode.range[0]]); - if (needsParen) { - yield fixer.insertTextBefore(argNode, '('); - yield fixer.insertTextAfter(argNode, ')'); - } - yield fixer.insertTextAfter(argNode, `${node.optional ? '?.' : '.'}${methodName}(${JSON.stringify(text)}`); - }, - }); - }, - }; - }, -}); -//# sourceMappingURL=prefer-string-starts-ends-with.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map deleted file mode 100644 index c8165224..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-string-starts-ends-with.js","sourceRoot":"","sources":["../../src/rules/prefer-string-starts-ends-with.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js deleted file mode 100644 index d346d504..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'prefer-ts-expect-error', - meta: { - type: 'problem', - deprecated: true, - docs: { - description: 'Enforce using `@ts-expect-error` over `@ts-ignore`', - }, - fixable: 'code', - messages: { - preferExpectErrorComment: 'Use "@ts-expect-error" to ensure an error is actually being suppressed.', - }, - replacedBy: ['@typescript-eslint/ban-ts-comment'], - schema: [], - }, - defaultOptions: [], - create(context) { - const tsIgnoreRegExpSingleLine = /^\s*\/?\s*@ts-ignore/; - const tsIgnoreRegExpMultiLine = /^\s*(?:\/|\*)*\s*@ts-ignore/; - function isLineComment(comment) { - return comment.type === utils_1.AST_TOKEN_TYPES.Line; - } - function getLastCommentLine(comment) { - if (isLineComment(comment)) { - return comment.value; - } - // For multiline comments - we look at only the last line. - const commentlines = comment.value.split('\n'); - return commentlines[commentlines.length - 1]; - } - function isValidTsIgnorePresent(comment) { - const line = getLastCommentLine(comment); - return isLineComment(comment) - ? tsIgnoreRegExpSingleLine.test(line) - : tsIgnoreRegExpMultiLine.test(line); - } - return { - Program() { - const comments = context.sourceCode.getAllComments(); - comments.forEach(comment => { - if (isValidTsIgnorePresent(comment)) { - const lineCommentRuleFixer = (fixer) => fixer.replaceText(comment, `//${comment.value.replace('@ts-ignore', '@ts-expect-error')}`); - const blockCommentRuleFixer = (fixer) => fixer.replaceText(comment, `/*${comment.value.replace('@ts-ignore', '@ts-expect-error')}*/`); - context.report({ - node: comment, - messageId: 'preferExpectErrorComment', - fix: isLineComment(comment) - ? lineCommentRuleFixer - : blockCommentRuleFixer, - }); - } - }); - }, - }; - }, -}); -//# sourceMappingURL=prefer-ts-expect-error.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map deleted file mode 100644 index f0ab2ac2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefer-ts-expect-error.js","sourceRoot":"","sources":["../../src/rules/prefer-ts-expect-error.ts"],"names":[],"mappings":";;AAGA,oDAA2D;AAE3D,kCAAqC;AAIrC,kBAAe,IAAA,iBAAU,EAAiB;IACxC,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACJ,WAAW,EAAE,oDAAoD;SAClE;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,wBAAwB,EACtB,yEAAyE;SAC5E;QACD,UAAU,EAAE,CAAC,mCAAmC,CAAC;QACjD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;QACxD,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;QAE9D,SAAS,aAAa,CAAC,OAAyB;YAC9C,OAAO,OAAO,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI,CAAC;QAC/C,CAAC;QAED,SAAS,kBAAkB,CAAC,OAAyB;YACnD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC;YAED,0DAA0D;YAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,SAAS,sBAAsB,CAAC,OAAyB;YACvD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,aAAa,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO;gBACL,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBACrD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACpC,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAW,EAAE,CACzD,KAAK,CAAC,WAAW,CACf,OAAO,EACP,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAC/D,CAAC;wBAEJ,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAW,EAAE,CAC1D,KAAK,CAAC,WAAW,CACf,OAAO,EACP,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CACxB,YAAY,EACZ,kBAAkB,CACnB,IAAI,CACN,CAAC;wBAEJ,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,OAAO;4BACb,SAAS,EAAE,0BAA0B;4BACrC,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC;gCACzB,CAAC,CAAC,oBAAoB;gCACtB,CAAC,CAAC,qBAAqB;yBAC1B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js deleted file mode 100644 index eab01f49..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js +++ /dev/null @@ -1,198 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'promise-function-async', - meta: { - type: 'suggestion', - docs: { - description: 'Require any function or method that returns a Promise to be marked async', - requiresTypeChecking: true, - }, - fixable: 'code', - messages: { - missingAsync: 'Functions that return promises must be async.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowAny: { - type: 'boolean', - description: 'Whether to consider `any` and `unknown` to be Promises.', - }, - allowedPromiseNames: { - type: 'array', - description: 'Any extra names of classes or interfaces to be considered Promises.', - items: { - type: 'string', - }, - }, - checkArrowFunctions: { - type: 'boolean', - description: 'Whether to check arrow functions.', - }, - checkFunctionDeclarations: { - type: 'boolean', - description: 'Whether to check standalone function declarations.', - }, - checkFunctionExpressions: { - type: 'boolean', - description: 'Whether to check inline function expressions', - }, - checkMethodDeclarations: { - type: 'boolean', - description: 'Whether to check methods on classes and object literals.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowAny: true, - allowedPromiseNames: [], - checkArrowFunctions: true, - checkFunctionDeclarations: true, - checkFunctionExpressions: true, - checkMethodDeclarations: true, - }, - ], - create(context, [{ allowAny, allowedPromiseNames, checkArrowFunctions, checkFunctionDeclarations, checkFunctionExpressions, checkMethodDeclarations, },]) { - const allAllowedPromiseNames = new Set([ - 'Promise', - // https://github.com/typescript-eslint/typescript-eslint/issues/5439 - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - ...allowedPromiseNames, - ]); - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - function validateNode(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition) { - // Abstract method can't be async - return; - } - if ((node.parent.type === utils_1.AST_NODE_TYPES.Property || - node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition) && - (node.parent.kind === 'get' || node.parent.kind === 'set')) { - // Getters and setters can't be async - return; - } - const signatures = services.getTypeAtLocation(node).getCallSignatures(); - if (!signatures.length) { - return; - } - const returnTypes = signatures.map(signature => checker.getReturnTypeOfSignature(signature)); - if (!allowAny && - returnTypes.some(type => (0, util_1.isTypeFlagSet)(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown))) { - // Report without auto fixer because the return type is unknown - return context.report({ - loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode), - node, - messageId: 'missingAsync', - }); - } - if ( - // require all potential return types to be promise/any/unknown - returnTypes.every(type => (0, util_1.containsAllTypesByName)(type, true, allAllowedPromiseNames, - // If no return type is explicitly set, we check if any parts of the return type match a Promise (instead of requiring all to match). - node.returnType == null))) { - context.report({ - loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode), - node, - messageId: 'missingAsync', - fix: fixer => { - if (node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition || - (node.parent.type === utils_1.AST_NODE_TYPES.Property && - node.parent.method)) { - // this function is a class method or object function property shorthand - const method = node.parent; - // the token to put `async` before - let keyToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(method), util_1.NullThrowsReasons.MissingToken('key token', 'method')); - // if there are decorators then skip past them - if (method.type === utils_1.AST_NODE_TYPES.MethodDefinition && - method.decorators.length) { - const lastDecorator = method.decorators[method.decorators.length - 1]; - keyToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(lastDecorator), util_1.NullThrowsReasons.MissingToken('key token', 'last decorator')); - } - // if current token is a keyword like `static` or `public` then skip it - while (keyToken.type === utils_1.AST_TOKEN_TYPES.Keyword && - keyToken.range[0] < method.key.range[0]) { - keyToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(keyToken), util_1.NullThrowsReasons.MissingToken('token', 'keyword')); - } - // check if there is a space between key and previous token - const insertSpace = !context.sourceCode.isSpaceBetween((0, util_1.nullThrows)(context.sourceCode.getTokenBefore(keyToken), util_1.NullThrowsReasons.MissingToken('token', 'keyword')), keyToken); - let code = 'async '; - if (insertSpace) { - code = ` ${code}`; - } - return fixer.insertTextBefore(keyToken, code); - } - return fixer.insertTextBefore(node, 'async '); - }, - }); - } - } - return { - ...(checkArrowFunctions && { - 'ArrowFunctionExpression[async = false]'(node) { - validateNode(node); - }, - }), - ...(checkFunctionDeclarations && { - 'FunctionDeclaration[async = false]'(node) { - validateNode(node); - }, - }), - 'FunctionExpression[async = false]'(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition && - node.parent.kind === 'method') { - if (checkMethodDeclarations) { - validateNode(node); - } - return; - } - if (checkFunctionExpressions) { - validateNode(node); - } - }, - }; - }, -}); -//# sourceMappingURL=promise-function-async.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map deleted file mode 100644 index 34998ff2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"promise-function-async.js","sourceRoot":"","sources":["../../src/rules/promise-function-async.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js deleted file mode 100644 index 562c26b8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'related-getter-setter-pairs', - meta: { - type: 'problem', - docs: { - description: 'Enforce that `get()` types should be assignable to their equivalent `set()` type', - recommended: 'strict', - requiresTypeChecking: true, - }, - messages: { - mismatch: '`get()` type should be assignable to its equivalent `set()` type.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const methodPairsStack = []; - function addPropertyNode(member, inner, kind) { - const methodPairs = methodPairsStack[methodPairsStack.length - 1]; - const { name } = (0, util_1.getNameFromMember)(member, context.sourceCode); - methodPairs.set(name, { - ...methodPairs.get(name), - [kind]: inner, - }); - } - return { - ':matches(ClassBody, TSInterfaceBody, TSTypeLiteral):exit'() { - const methodPairs = methodPairsStack[methodPairsStack.length - 1]; - for (const pair of methodPairs.values()) { - if (!pair.get || !pair.set) { - continue; - } - const getter = pair.get; - const getType = services.getTypeAtLocation(getter); - const setType = services.getTypeAtLocation(pair.set.params[0]); - if (!checker.isTypeAssignableTo(getType, setType)) { - context.report({ - node: getter.returnType.typeAnnotation, - messageId: 'mismatch', - }); - } - } - methodPairsStack.pop(); - }, - ':matches(MethodDefinition, TSMethodSignature)[kind=get]'(node) { - const getter = getMethodFromNode(node); - if (getter.returnType) { - addPropertyNode(node, getter, 'get'); - } - }, - ':matches(MethodDefinition, TSMethodSignature)[kind=set]'(node) { - const setter = getMethodFromNode(node); - if (setter.params.length === 1) { - addPropertyNode(node, setter, 'set'); - } - }, - 'ClassBody, TSInterfaceBody, TSTypeLiteral'() { - methodPairsStack.push(new Map()); - }, - }; - }, -}); -function getMethodFromNode(node) { - return node.type === utils_1.AST_NODE_TYPES.TSMethodSignature ? node : node.value; -} -//# sourceMappingURL=related-getter-setter-pairs.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js.map deleted file mode 100644 index 7b3441a3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/related-getter-setter-pairs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"related-getter-setter-pairs.js","sourceRoot":"","sources":["../../src/rules/related-getter-setter-pairs.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js deleted file mode 100644 index cfde2414..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'require-array-sort-compare', - meta: { - type: 'problem', - docs: { - description: 'Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`', - requiresTypeChecking: true, - }, - messages: { - requireCompare: "Require 'compare' argument.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ignoreStringArrays: { - type: 'boolean', - description: 'Whether to ignore arrays in which all elements are strings.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - ignoreStringArrays: true, - }, - ], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - /** - * Check if a given node is an array which all elements are string. - */ - function isStringArrayNode(node) { - const type = services.getTypeAtLocation(node); - if (checker.isArrayType(type) || checker.isTupleType(type)) { - const typeArgs = checker.getTypeArguments(type); - return typeArgs.every(arg => (0, util_1.getTypeName)(checker, arg) === 'string'); - } - return false; - } - function checkSortArgument(callee) { - if (!(0, util_1.isStaticMemberAccessOfValue)(callee, context, 'sort', 'toSorted')) { - return; - } - const calleeObjType = (0, util_1.getConstrainedTypeAtLocation)(services, callee.object); - if (options.ignoreStringArrays && isStringArrayNode(callee.object)) { - return; - } - if ((0, util_1.isTypeArrayTypeOrUnionOfArrayTypes)(calleeObjType, checker)) { - context.report({ node: callee.parent, messageId: 'requireCompare' }); - } - } - return { - 'CallExpression[arguments.length=0] > MemberExpression': checkSortArgument, - }; - }, -}); -//# sourceMappingURL=require-array-sort-compare.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js.map deleted file mode 100644 index 219036f7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"require-array-sort-compare.js","sourceRoot":"","sources":["../../src/rules/require-array-sort-compare.ts"],"names":[],"mappings":";;AAEA,kCAOiB;AASjB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,uFAAuF;YACzF,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,cAAc,EAAE,6BAA6B;SAC9C;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,kBAAkB,EAAE;wBAClB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,6DAA6D;qBAChE;iBACF;aACF;SACF;KACF;IAED,cAAc,EAAE;QACd;YACE,kBAAkB,EAAE,IAAI;SACzB;KACF;IAED,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAElD;;WAEG;QACH,SAAS,iBAAiB,CAAC,IAAyB;YAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,kBAAW,EAAC,OAAO,EAAE,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,iBAAiB,CAAC,MAAiC;YAC1D,IAAI,CAAC,IAAA,kCAA2B,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;gBACtE,OAAO;YACT,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,mCAA4B,EAChD,QAAQ,EACR,MAAM,CAAC,MAAM,CACd,CAAC;YAEF,IAAI,OAAO,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,IAAI,IAAA,yCAAkC,EAAC,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO;YACL,uDAAuD,EACrD,iBAAiB;SACpB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js deleted file mode 100644 index 7c16637e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js +++ /dev/null @@ -1,264 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'require-await', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow async functions which do not return promises and have no `await` expression', - extendsBaseRule: true, - recommended: 'recommended', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - missingAwait: "{{name}} has no 'await' expression.", - removeAsync: "Remove 'async'.", - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - let scopeInfo = null; - /** - * Push the scope info object to the stack. - */ - function enterFunction(node) { - scopeInfo = { - hasAsync: node.async, - hasAwait: false, - isAsyncYield: false, - isGen: node.generator || false, - upper: scopeInfo, - }; - } - /** - * Pop the top scope info object from the stack. - * Also, it reports the function if needed. - */ - function exitFunction(node) { - /* istanbul ignore if */ if (!scopeInfo) { - // this shouldn't ever happen, as we have to exit a function after we enter it - return; - } - if (node.async && - !scopeInfo.hasAwait && - !isEmptyFunction(node) && - !(scopeInfo.isGen && scopeInfo.isAsyncYield)) { - // If the function belongs to a method definition or - // property, then the function's range may not include the - // `async` keyword and we should look at the parent instead. - const nodeWithAsyncKeyword = (node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition && - node.parent.value === node) || - (node.parent.type === utils_1.AST_NODE_TYPES.Property && - node.parent.method && - node.parent.value === node) - ? node.parent - : node; - const asyncToken = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(nodeWithAsyncKeyword, token => token.value === 'async'), 'The node is an async function, so it must have an "async" token.'); - const asyncRange = [ - asyncToken.range[0], - (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(asyncToken, { - includeComments: true, - }), 'There will always be a token after the "async" keyword.').range[0], - ]; - // Removing the `async` keyword can cause parsing errors if the - // current statement is relying on automatic semicolon insertion. - // If ASI is currently being used, then we should replace the - // `async` keyword with a semicolon. - const nextToken = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(asyncToken), 'There will always be a token after the "async" keyword.'); - const addSemiColon = nextToken.type === utils_1.AST_TOKEN_TYPES.Punctuator && - (nextToken.value === '[' || nextToken.value === '(') && - (nodeWithAsyncKeyword.type === utils_1.AST_NODE_TYPES.MethodDefinition || - (0, util_1.isStartOfExpressionStatement)(nodeWithAsyncKeyword)) && - (0, util_1.needsPrecedingSemicolon)(context.sourceCode, nodeWithAsyncKeyword); - const changes = [ - { range: asyncRange, replacement: addSemiColon ? ';' : undefined }, - ]; - // If there's a return type annotation and it's a - // `Promise`, we can also change the return type - // annotation to just `T` as part of the suggestion. - // Alternatively, if the function is a generator and - // the return type annotation is `AsyncGenerator`, - // then we can change it to `Generator`. - if (node.returnType?.typeAnnotation.type === - utils_1.AST_NODE_TYPES.TSTypeReference) { - if (scopeInfo.isGen) { - if (hasTypeName(node.returnType.typeAnnotation, 'AsyncGenerator')) { - changes.push({ - range: node.returnType.typeAnnotation.typeName.range, - replacement: 'Generator', - }); - } - } - else if (hasTypeName(node.returnType.typeAnnotation, 'Promise') && - node.returnType.typeAnnotation.typeArguments != null) { - const openAngle = (0, util_1.nullThrows)(context.sourceCode.getFirstToken(node.returnType.typeAnnotation, token => token.type === utils_1.AST_TOKEN_TYPES.Punctuator && - token.value === '<'), 'There are type arguments, so the angle bracket will exist.'); - const closeAngle = (0, util_1.nullThrows)(context.sourceCode.getLastToken(node.returnType.typeAnnotation, token => token.type === utils_1.AST_TOKEN_TYPES.Punctuator && - token.value === '>'), 'There are type arguments, so the angle bracket will exist.'); - changes.push( - // Remove the closing angled bracket. - { range: closeAngle.range, replacement: undefined }, - // Remove the "Promise" identifier - // and the opening angled bracket. - { - range: [ - node.returnType.typeAnnotation.typeName.range[0], - openAngle.range[1], - ], - replacement: undefined, - }); - } - } - context.report({ - loc: (0, util_1.getFunctionHeadLoc)(node, context.sourceCode), - node, - messageId: 'missingAwait', - data: { - name: (0, util_1.upperCaseFirst)((0, util_1.getFunctionNameWithKind)(node)), - }, - suggest: [ - { - messageId: 'removeAsync', - fix: (fixer) => changes.map(change => change.replacement != null - ? fixer.replaceTextRange(change.range, change.replacement) - : fixer.removeRange(change.range)), - }, - ], - }); - } - scopeInfo = scopeInfo.upper; - } - /** - * Checks if the node returns a thenable type - */ - function isThenableType(node) { - const type = checker.getTypeAtLocation(node); - return tsutils.isThenableType(checker, node, type); - } - /** - * Marks the current scope as having an await - */ - function markAsHasAwait() { - if (!scopeInfo) { - return; - } - scopeInfo.hasAwait = true; - } - /** - * Mark `scopeInfo.isAsyncYield` to `true` if it - * 1) delegates async generator function - * or - * 2) yields thenable type - */ - function visitYieldExpression(node) { - if (!scopeInfo?.isGen || !node.argument) { - return; - } - if (node.argument.type === utils_1.AST_NODE_TYPES.Literal) { - // ignoring this as for literals we don't need to check the definition - // eg : async function* run() { yield* 1 } - return; - } - if (!node.delegate) { - if (isThenableType(services.esTreeNodeToTSNodeMap.get(node.argument))) { - scopeInfo.isAsyncYield = true; - } - return; - } - const type = services.getTypeAtLocation(node.argument); - const typesToCheck = expandUnionOrIntersectionType(type); - for (const type of typesToCheck) { - const asyncIterator = tsutils.getWellKnownSymbolPropertyOfType(type, 'asyncIterator', checker); - if (asyncIterator != null) { - scopeInfo.isAsyncYield = true; - break; - } - } - } - return { - ArrowFunctionExpression: enterFunction, - 'ArrowFunctionExpression:exit': exitFunction, - AwaitExpression: markAsHasAwait, - 'ForOfStatement[await = true]': markAsHasAwait, - FunctionDeclaration: enterFunction, - 'FunctionDeclaration:exit': exitFunction, - FunctionExpression: enterFunction, - 'FunctionExpression:exit': exitFunction, - 'VariableDeclaration[kind = "await using"]': markAsHasAwait, - YieldExpression: visitYieldExpression, - // check body-less async arrow function. - // ignore `async () => await foo` because it's obviously correct - 'ArrowFunctionExpression[async = true] > :not(BlockStatement, AwaitExpression)'(node) { - const expression = services.esTreeNodeToTSNodeMap.get(node); - if (isThenableType(expression)) { - markAsHasAwait(); - } - }, - ReturnStatement(node) { - // short circuit early to avoid unnecessary type checks - if (!scopeInfo || scopeInfo.hasAwait || !scopeInfo.hasAsync) { - return; - } - const { expression } = services.esTreeNodeToTSNodeMap.get(node); - if (expression && isThenableType(expression)) { - markAsHasAwait(); - } - }, - }; - }, -}); -function isEmptyFunction(node) { - return (node.body.type === utils_1.AST_NODE_TYPES.BlockStatement && - node.body.body.length === 0); -} -function expandUnionOrIntersectionType(type) { - if (type.isUnionOrIntersection()) { - return type.types.flatMap(expandUnionOrIntersectionType); - } - return [type]; -} -function hasTypeName(typeReference, typeName) { - return (typeReference.typeName.type === utils_1.AST_NODE_TYPES.Identifier && - typeReference.typeName.name === typeName); -} -//# sourceMappingURL=require-await.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map deleted file mode 100644 index 7cef6a64..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"require-await.js","sourceRoot":"","sources":["../../src/rules/require-await.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js deleted file mode 100644 index d4f996fe..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js +++ /dev/null @@ -1,232 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'restrict-plus-operands', - meta: { - type: 'problem', - docs: { - description: 'Require both operands of addition to be the same type and be `bigint`, `number`, or `string`', - recommended: { - recommended: true, - strict: [ - { - allowAny: false, - allowBoolean: false, - allowNullish: false, - allowNumberAndString: false, - allowRegExp: false, - }, - ], - }, - requiresTypeChecking: true, - }, - messages: { - bigintAndNumber: "Numeric '+' operations must either be both bigints or both numbers. Got `{{left}}` + `{{right}}`.", - invalid: "Invalid operand for a '+' operation. Operands must each be a number or {{stringLike}}. Got `{{type}}`.", - mismatched: "Operands of '+' operations must be a number or {{stringLike}}. Got `{{left}}` + `{{right}}`.", - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowAny: { - type: 'boolean', - description: 'Whether to allow `any` typed values.', - }, - allowBoolean: { - type: 'boolean', - description: 'Whether to allow `boolean` typed values.', - }, - allowNullish: { - type: 'boolean', - description: 'Whether to allow potentially `null` or `undefined` typed values.', - }, - allowNumberAndString: { - type: 'boolean', - description: 'Whether to allow `bigint`/`number` typed values and `string` typed values to be added together.', - }, - allowRegExp: { - type: 'boolean', - description: 'Whether to allow `regexp` typed values.', - }, - skipCompoundAssignments: { - type: 'boolean', - description: 'Whether to skip compound assignments such as `+=`.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowAny: true, - allowBoolean: true, - allowNullish: true, - allowNumberAndString: true, - allowRegExp: true, - skipCompoundAssignments: false, - }, - ], - create(context, [{ allowAny, allowBoolean, allowNullish, allowNumberAndString, allowRegExp, skipCompoundAssignments, },]) { - const services = (0, util_1.getParserServices)(context); - const typeChecker = services.program.getTypeChecker(); - const stringLikes = [ - allowAny && '`any`', - allowBoolean && '`boolean`', - allowNullish && '`null`', - allowRegExp && '`RegExp`', - allowNullish && '`undefined`', - ].filter((value) => typeof value === 'string'); - const stringLike = stringLikes.length - ? stringLikes.length === 1 - ? `string, allowing a string + ${stringLikes[0]}` - : `string, allowing a string + any of: ${stringLikes.join(', ')}` - : 'string'; - function getTypeConstrained(node) { - return typeChecker.getBaseTypeOfLiteralType((0, util_1.getConstrainedTypeAtLocation)(services, node)); - } - function checkPlusOperands(node) { - const leftType = getTypeConstrained(node.left); - const rightType = getTypeConstrained(node.right); - if (leftType === rightType && - tsutils.isTypeFlagSet(leftType, ts.TypeFlags.BigIntLike | - ts.TypeFlags.NumberLike | - ts.TypeFlags.StringLike)) { - return; - } - let hadIndividualComplaint = false; - for (const [baseNode, baseType, otherType] of [ - [node.left, leftType, rightType], - [node.right, rightType, leftType], - ]) { - if (isTypeFlagSetInUnion(baseType, ts.TypeFlags.ESSymbolLike | - ts.TypeFlags.Never | - ts.TypeFlags.Unknown) || - (!allowAny && isTypeFlagSetInUnion(baseType, ts.TypeFlags.Any)) || - (!allowBoolean && - isTypeFlagSetInUnion(baseType, ts.TypeFlags.BooleanLike)) || - (!allowNullish && - (0, util_1.isTypeFlagSet)(baseType, ts.TypeFlags.Null | ts.TypeFlags.Undefined))) { - context.report({ - node: baseNode, - messageId: 'invalid', - data: { - type: typeChecker.typeToString(baseType), - stringLike, - }, - }); - hadIndividualComplaint = true; - continue; - } - // RegExps also contain ts.TypeFlags.Any & ts.TypeFlags.Object - for (const subBaseType of tsutils.unionTypeParts(baseType)) { - const typeName = (0, util_1.getTypeName)(typeChecker, subBaseType); - if (typeName === 'RegExp' - ? !allowRegExp || - tsutils.isTypeFlagSet(otherType, ts.TypeFlags.NumberLike) - : (!allowAny && (0, util_1.isTypeAnyType)(subBaseType)) || - isDeeplyObjectType(subBaseType)) { - context.report({ - node: baseNode, - messageId: 'invalid', - data: { - type: typeChecker.typeToString(subBaseType), - stringLike, - }, - }); - hadIndividualComplaint = true; - continue; - } - } - } - if (hadIndividualComplaint) { - return; - } - for (const [baseType, otherType] of [ - [leftType, rightType], - [rightType, leftType], - ]) { - if (!allowNumberAndString && - isTypeFlagSetInUnion(baseType, ts.TypeFlags.StringLike) && - isTypeFlagSetInUnion(otherType, ts.TypeFlags.NumberLike)) { - return context.report({ - node, - messageId: 'mismatched', - data: { - left: typeChecker.typeToString(leftType), - right: typeChecker.typeToString(rightType), - stringLike, - }, - }); - } - if (isTypeFlagSetInUnion(baseType, ts.TypeFlags.NumberLike) && - isTypeFlagSetInUnion(otherType, ts.TypeFlags.BigIntLike)) { - return context.report({ - node, - messageId: 'bigintAndNumber', - data: { - left: typeChecker.typeToString(leftType), - right: typeChecker.typeToString(rightType), - }, - }); - } - } - } - return { - "BinaryExpression[operator='+']": checkPlusOperands, - ...(!skipCompoundAssignments && { - "AssignmentExpression[operator='+=']"(node) { - checkPlusOperands(node); - }, - }), - }; - }, -}); -function isDeeplyObjectType(type) { - return type.isIntersection() - ? tsutils.intersectionTypeParts(type).every(tsutils.isObjectType) - : tsutils.unionTypeParts(type).every(tsutils.isObjectType); -} -function isTypeFlagSetInUnion(type, flag) { - return tsutils - .unionTypeParts(type) - .some(subType => tsutils.isTypeFlagSet(subType, flag)); -} -//# sourceMappingURL=restrict-plus-operands.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map deleted file mode 100644 index 1c62ac2e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"restrict-plus-operands.js","sourceRoot":"","sources":["../../src/rules/restrict-plus-operands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sDAAwC;AACxC,+CAAiC;AAEjC,kCAOiB;AAejB,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,8FAA8F;YAChG,WAAW,EAAE;gBACX,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE;oBACN;wBACE,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,KAAK;wBACnB,oBAAoB,EAAE,KAAK;wBAC3B,WAAW,EAAE,KAAK;qBACnB;iBACF;aACF;YACD,oBAAoB,EAAE,IAAI;SAC3B;QACD,QAAQ,EAAE;YACR,eAAe,EACb,mGAAmG;YACrG,OAAO,EACL,wGAAwG;YAC1G,UAAU,EACR,8FAA8F;SACjG;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,sCAAsC;qBACpD;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,0CAA0C;qBACxD;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,kEAAkE;qBACrE;oBACD,oBAAoB,EAAE;wBACpB,IAAI,EAAE,SAAS;wBACf,WAAW,EACT,iGAAiG;qBACpG;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,yCAAyC;qBACvD;oBACD,uBAAuB,EAAE;wBACvB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,oDAAoD;qBAClE;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,IAAI;YAC1B,WAAW,EAAE,IAAI;YACjB,uBAAuB,EAAE,KAAK;SAC/B;KACF;IACD,MAAM,CACJ,OAAO,EACP,CACE,EACE,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,uBAAuB,GACxB,EACF;QAED,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAEtD,MAAM,WAAW,GAAG;YAClB,QAAQ,IAAI,OAAO;YACnB,YAAY,IAAI,WAAW;YAC3B,YAAY,IAAI,QAAQ;YACxB,WAAW,IAAI,UAAU;YACzB,YAAY,IAAI,aAAa;SAC9B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM;YACnC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBACxB,CAAC,CAAC,+BAA+B,WAAW,CAAC,CAAC,CAAC,EAAE;gBACjD,CAAC,CAAC,uCAAuC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACnE,CAAC,CAAC,QAAQ,CAAC;QAEb,SAAS,kBAAkB,CAAC,IAAmB;YAC7C,OAAO,WAAW,CAAC,wBAAwB,CACzC,IAAA,mCAA4B,EAAC,QAAQ,EAAE,IAAI,CAAC,CAC7C,CAAC;QACJ,CAAC;QAED,SAAS,iBAAiB,CACxB,IAA+D;YAE/D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEjD,IACE,QAAQ,KAAK,SAAS;gBACtB,OAAO,CAAC,aAAa,CACnB,QAAQ,EACR,EAAE,CAAC,SAAS,CAAC,UAAU;oBACrB,EAAE,CAAC,SAAS,CAAC,UAAU;oBACvB,EAAE,CAAC,SAAS,CAAC,UAAU,CAC1B,EACD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,sBAAsB,GAAG,KAAK,CAAC;YAEnC,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;gBAC5C,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;gBAChC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;aACzB,EAAE,CAAC;gBACX,IACE,oBAAoB,CAClB,QAAQ,EACR,EAAE,CAAC,SAAS,CAAC,YAAY;oBACvB,EAAE,CAAC,SAAS,CAAC,KAAK;oBAClB,EAAE,CAAC,SAAS,CAAC,OAAO,CACvB;oBACD,CAAC,CAAC,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC/D,CAAC,CAAC,YAAY;wBACZ,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC3D,CAAC,CAAC,YAAY;wBACZ,IAAA,oBAAa,EAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EACtE,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,SAAS;wBACpB,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;4BACxC,UAAU;yBACX;qBACF,CAAC,CAAC;oBACH,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,8DAA8D;gBAC9D,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3D,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;oBACvD,IACE,QAAQ,KAAK,QAAQ;wBACnB,CAAC,CAAC,CAAC,WAAW;4BACZ,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;wBAC3D,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAA,oBAAa,EAAC,WAAW,CAAC,CAAC;4BACzC,kBAAkB,CAAC,WAAW,CAAC,EACnC,CAAC;wBACD,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE,QAAQ;4BACd,SAAS,EAAE,SAAS;4BACpB,IAAI,EAAE;gCACJ,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC;gCAC3C,UAAU;6BACX;yBACF,CAAC,CAAC;wBACH,sBAAsB,GAAG,IAAI,CAAC;wBAC9B,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI;gBAClC,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACrB,CAAC,SAAS,EAAE,QAAQ,CAAC;aACb,EAAE,CAAC;gBACX,IACE,CAAC,oBAAoB;oBACrB,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;oBACvD,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EACxD,CAAC;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC;wBACpB,IAAI;wBACJ,SAAS,EAAE,YAAY;wBACvB,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;4BACxC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC;4BAC1C,UAAU;yBACX;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,IACE,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;oBACvD,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EACxD,CAAC;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC;wBACpB,IAAI;wBACJ,SAAS,EAAE,iBAAiB;wBAC5B,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;4BACxC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC;yBAC3C;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,gCAAgC,EAAE,iBAAiB;YACnD,GAAG,CAAC,CAAC,uBAAuB,IAAI;gBAC9B,qCAAqC,CAAC,IAAI;oBACxC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;aACF,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,cAAc,EAAE;QAC1B,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QACjE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa,EAAE,IAAkB;IAC7D,OAAO,OAAO;SACX,cAAc,CAAC,IAAI,CAAC;SACpB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js deleted file mode 100644 index de97ebce..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js +++ /dev/null @@ -1,120 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const type_utils_1 = require("@typescript-eslint/type-utils"); -const utils_1 = require("@typescript-eslint/utils"); -const typescript_1 = require("typescript"); -const util_1 = require("../util"); -const testTypeFlag = (flagsToCheck) => type => (0, util_1.isTypeFlagSet)(type, flagsToCheck); -const optionTesters = [ - ['Any', util_1.isTypeAnyType], - [ - 'Array', - (type, checker, recursivelyCheckType) => (checker.isArrayType(type) || checker.isTupleType(type)) && - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - recursivelyCheckType(type.getNumberIndexType()), - ], - // eslint-disable-next-line @typescript-eslint/internal/prefer-ast-types-enum - ['Boolean', testTypeFlag(typescript_1.TypeFlags.BooleanLike)], - ['Nullish', testTypeFlag(typescript_1.TypeFlags.Null | typescript_1.TypeFlags.Undefined)], - ['Number', testTypeFlag(typescript_1.TypeFlags.NumberLike | typescript_1.TypeFlags.BigIntLike)], - [ - 'RegExp', - (type, checker) => (0, util_1.getTypeName)(checker, type) === 'RegExp', - ], - ['Never', util_1.isTypeNeverType], -].map(([type, tester]) => ({ - type, - option: `allow${type}`, - tester, -})); -exports.default = (0, util_1.createRule)({ - name: 'restrict-template-expressions', - meta: { - type: 'problem', - docs: { - description: 'Enforce template literal expressions to be of `string` type', - recommended: { - recommended: true, - strict: [ - { - allowAny: false, - allowBoolean: false, - allowNever: false, - allowNullish: false, - allowNumber: false, - allowRegExp: false, - }, - ], - }, - requiresTypeChecking: true, - }, - messages: { - invalidType: 'Invalid type "{{type}}" of template literal expression.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ...Object.fromEntries(optionTesters.map(({ type, option }) => [ - option, - { - type: 'boolean', - description: `Whether to allow \`${type.toLowerCase()}\` typed values in template expressions.`, - }, - ])), - allow: { - description: `Types to allow in template expressions.`, - ...type_utils_1.typeOrValueSpecifiersSchema, - }, - }, - }, - ], - }, - defaultOptions: [ - { - allow: [{ name: ['Error', 'URL', 'URLSearchParams'], from: 'lib' }], - allowAny: true, - allowBoolean: true, - allowNullish: true, - allowNumber: true, - allowRegExp: true, - }, - ], - create(context, [{ allow, ...options }]) { - const services = (0, util_1.getParserServices)(context); - const { program } = services; - const checker = program.getTypeChecker(); - const enabledOptionTesters = optionTesters.filter(({ option }) => options[option]); - return { - TemplateLiteral(node) { - // don't check tagged template literals - if (node.parent.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression) { - return; - } - for (const expression of node.expressions) { - const expressionType = (0, util_1.getConstrainedTypeAtLocation)(services, expression); - if (!recursivelyCheckType(expressionType)) { - context.report({ - node: expression, - messageId: 'invalidType', - data: { type: checker.typeToString(expressionType) }, - }); - } - } - }, - }; - function recursivelyCheckType(innerType) { - if (innerType.isUnion()) { - return innerType.types.every(recursivelyCheckType); - } - if (innerType.isIntersection()) { - return innerType.types.some(recursivelyCheckType); - } - return ((0, util_1.isTypeFlagSet)(innerType, typescript_1.TypeFlags.StringLike) || - (0, type_utils_1.typeMatchesSomeSpecifier)(innerType, allow, program) || - enabledOptionTesters.some(({ tester }) => tester(innerType, checker, recursivelyCheckType))); - } - }, -}); -//# sourceMappingURL=restrict-template-expressions.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js.map deleted file mode 100644 index 3602e3f7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"restrict-template-expressions.js","sourceRoot":"","sources":["../../src/rules/restrict-template-expressions.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js deleted file mode 100644 index 51d1c249..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js +++ /dev/null @@ -1,374 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const getOperatorPrecedence_1 = require("../util/getOperatorPrecedence"); -exports.default = (0, util_1.createRule)({ - name: 'return-await', - meta: { - type: 'problem', - docs: { - description: 'Enforce consistent awaiting of returned promises', - extendsBaseRule: 'no-return-await', - recommended: { - strict: ['error-handling-correctness-only'], - }, - requiresTypeChecking: true, - }, - fixable: 'code', - // eslint-disable-next-line eslint-plugin/require-meta-has-suggestions -- suggestions are exposed through a helper. - hasSuggestions: true, - messages: { - disallowedPromiseAwait: 'Returning an awaited promise is not allowed in this context.', - disallowedPromiseAwaitSuggestion: 'Remove `await` before the expression. Use caution as this may impact control flow.', - nonPromiseAwait: 'Returning an awaited value that is not a promise is not allowed.', - requiredPromiseAwait: 'Returning an awaited promise is required in this context.', - requiredPromiseAwaitSuggestion: 'Add `await` before the expression. Use caution as this may impact control flow.', - }, - schema: [ - { - type: 'string', - oneOf: [ - { - type: 'string', - description: 'Requires that all returned promises be awaited.', - enum: ['always'], - }, - { - type: 'string', - description: 'In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule does not enforce any particular behavior around whether returned promises are awaited.', - enum: ['error-handling-correctness-only'], - }, - { - type: 'string', - description: 'In error-handling contexts, the rule enforces that returned promises must be awaited. In ordinary contexts, the rule enforces that returned promises _must not_ be awaited.', - enum: ['in-try-catch'], - }, - { - type: 'string', - description: 'Disallows awaiting any returned promises.', - enum: ['never'], - }, - ], - }, - ], - }, - defaultOptions: ['in-try-catch'], - create(context, [option]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const scopeInfoStack = []; - function enterFunction(node) { - scopeInfoStack.push({ - hasAsync: node.async, - owningFunc: node, - }); - } - function exitFunction() { - scopeInfoStack.pop(); - } - function affectsExplicitResourceManagement(node) { - // just need to determine if there is a `using` declaration in scope. - let scope = context.sourceCode.getScope(node); - const functionScope = scope.variableScope; - while (true) { - for (const variable of scope.variables) { - if (variable.defs.length !== 1) { - // This can't be the case for `using` or `await using` since it's - // an error to redeclare those more than once in the same scope, - // unlike, say, `var` declarations. - continue; - } - const declaration = variable.defs[0]; - const declaratorNode = declaration.node; - const declarationNode = declaratorNode.parent; - // if it's a using/await using declaration, and it comes _before_ the - // node we're checking, it affects control flow for that node. - if (['await using', 'using'].includes(declarationNode.kind) && - declaratorNode.range[1] < node.range[0]) { - return true; - } - } - if (scope === functionScope) { - // We've checked all the relevant scopes - break; - } - // This should always exist, since the rule should only be checking - // contexts in which `return` statements are legal, which should always - // be inside a function. - scope = (0, util_1.nullThrows)(scope.upper, 'Expected parent scope to exist. return-await should only operate on return statements within functions'); - } - return false; - } - /** - * Tests whether a node is inside of an explicit error handling context - * (try/catch/finally) in a way that throwing an exception will have an - * impact on the program's control flow. - */ - function affectsExplicitErrorHandling(node) { - // If an error-handling block is followed by another error-handling block, - // control flow is affected by whether promises in it are awaited or not. - // Otherwise, we need to check recursively for nested try statements until - // we get to the top level of a function or the program. If by then, - // there's no offending error-handling blocks, it doesn't affect control - // flow. - const tryAncestorResult = findContainingTryStatement(node); - if (tryAncestorResult == null) { - return false; - } - const { block, tryStatement } = tryAncestorResult; - switch (block) { - case 'catch': - // Exceptions thrown in catch blocks followed by a finally block affect - // control flow. - if (tryStatement.finallyBlock != null) { - return true; - } - // Otherwise recurse. - return affectsExplicitErrorHandling(tryStatement); - case 'finally': - return affectsExplicitErrorHandling(tryStatement); - case 'try': - // Try blocks are always followed by either a catch or finally, - // so exceptions thrown here always affect control flow. - return true; - default: { - const __never = block; - throw new Error(`Unexpected block type: ${String(__never)}`); - } - } - } - /** - * A try _statement_ is the whole thing that encompasses try block, - * catch clause, and finally block. This function finds the nearest - * enclosing try statement (if present) for a given node, and reports which - * part of the try statement the node is in. - */ - function findContainingTryStatement(node) { - let child = node; - let ancestor = node.parent; - while (ancestor && !ts.isFunctionLike(ancestor)) { - if (ts.isTryStatement(ancestor)) { - let block; - if (child === ancestor.tryBlock) { - block = 'try'; - } - else if (child === ancestor.catchClause) { - block = 'catch'; - } - else if (child === ancestor.finallyBlock) { - block = 'finally'; - } - return { - block: (0, util_1.nullThrows)(block, 'Child of a try statement must be a try block, catch clause, or finally block'), - tryStatement: ancestor, - }; - } - child = ancestor; - ancestor = ancestor.parent; - } - return undefined; - } - function removeAwait(fixer, node) { - // Should always be an await node; but let's be safe. - /* istanbul ignore if */ if (!(0, util_1.isAwaitExpression)(node)) { - return null; - } - const awaitToken = context.sourceCode.getFirstToken(node, util_1.isAwaitKeyword); - // Should always be the case; but let's be safe. - /* istanbul ignore if */ if (!awaitToken) { - return null; - } - const startAt = awaitToken.range[0]; - let endAt = awaitToken.range[1]; - // Also remove any extraneous whitespace after `await`, if there is any. - const nextToken = context.sourceCode.getTokenAfter(awaitToken, { - includeComments: true, - }); - if (nextToken) { - endAt = nextToken.range[0]; - } - return fixer.removeRange([startAt, endAt]); - } - function insertAwait(fixer, node, isHighPrecendence) { - if (isHighPrecendence) { - return fixer.insertTextBefore(node, 'await '); - } - return [ - fixer.insertTextBefore(node, 'await ('), - fixer.insertTextAfter(node, ')'), - ]; - } - function isHigherPrecedenceThanAwait(node) { - const operator = ts.isBinaryExpression(node) - ? node.operatorToken.kind - : ts.SyntaxKind.Unknown; - const nodePrecedence = (0, getOperatorPrecedence_1.getOperatorPrecedence)(node.kind, operator); - const awaitPrecedence = (0, getOperatorPrecedence_1.getOperatorPrecedence)(ts.SyntaxKind.AwaitExpression, ts.SyntaxKind.Unknown); - return nodePrecedence > awaitPrecedence; - } - function test(node, expression) { - let child; - const isAwait = ts.isAwaitExpression(expression); - if (isAwait) { - child = expression.getChildAt(1); - } - else { - child = expression; - } - const type = checker.getTypeAtLocation(child); - const certainty = (0, util_1.needsToBeAwaited)(checker, expression, type); - // handle awaited _non_thenables - if (certainty !== util_1.Awaitable.Always) { - if (isAwait) { - if (certainty === util_1.Awaitable.May) { - return; - } - context.report({ - node, - messageId: 'nonPromiseAwait', - fix: fixer => removeAwait(fixer, node), - }); - } - return; - } - // At this point it's definitely a thenable. - const affectsErrorHandling = affectsExplicitErrorHandling(expression) || - affectsExplicitResourceManagement(node); - const useAutoFix = !affectsErrorHandling; - const ruleConfiguration = getConfiguration(option); - const shouldAwaitInCurrentContext = affectsErrorHandling - ? ruleConfiguration.errorHandlingContext - : ruleConfiguration.ordinaryContext; - switch (shouldAwaitInCurrentContext) { - case 'await': - if (!isAwait) { - context.report({ - node, - messageId: 'requiredPromiseAwait', - ...(0, util_1.getFixOrSuggest)({ - fixOrSuggest: useAutoFix ? 'fix' : 'suggest', - suggestion: { - messageId: 'requiredPromiseAwaitSuggestion', - fix: fixer => insertAwait(fixer, node, isHigherPrecedenceThanAwait(expression)), - }, - }), - }); - } - break; - case "don't-care": - break; - case 'no-await': - if (isAwait) { - context.report({ - node, - messageId: 'disallowedPromiseAwait', - ...(0, util_1.getFixOrSuggest)({ - fixOrSuggest: useAutoFix ? 'fix' : 'suggest', - suggestion: { - messageId: 'disallowedPromiseAwaitSuggestion', - fix: fixer => removeAwait(fixer, node), - }, - }), - }); - } - break; - } - } - function findPossiblyReturnedNodes(node) { - if (node.type === utils_1.AST_NODE_TYPES.ConditionalExpression) { - return [ - ...findPossiblyReturnedNodes(node.alternate), - ...findPossiblyReturnedNodes(node.consequent), - ]; - } - return [node]; - } - return { - ArrowFunctionExpression: enterFunction, - 'ArrowFunctionExpression:exit': exitFunction, - FunctionDeclaration: enterFunction, - 'FunctionDeclaration:exit': exitFunction, - FunctionExpression: enterFunction, - 'FunctionExpression:exit': exitFunction, - // executes after less specific handler, so exitFunction is called - 'ArrowFunctionExpression[async = true]:exit'(node) { - if (node.body.type !== utils_1.AST_NODE_TYPES.BlockStatement) { - findPossiblyReturnedNodes(node.body).forEach(node => { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - test(node, tsNode); - }); - } - }, - ReturnStatement(node) { - const scopeInfo = scopeInfoStack.at(-1); - if (!scopeInfo?.hasAsync || !node.argument) { - return; - } - findPossiblyReturnedNodes(node.argument).forEach(node => { - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - test(node, tsNode); - }); - }, - }; - }, -}); -function getConfiguration(option) { - switch (option) { - case 'always': - return { - errorHandlingContext: 'await', - ordinaryContext: 'await', - }; - case 'error-handling-correctness-only': - return { - errorHandlingContext: 'await', - ordinaryContext: "don't-care", - }; - case 'in-try-catch': - return { - errorHandlingContext: 'await', - ordinaryContext: 'no-await', - }; - case 'never': - return { - errorHandlingContext: 'no-await', - ordinaryContext: 'no-await', - }; - } -} -//# sourceMappingURL=return-await.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map deleted file mode 100644 index 08f48787..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"return-await.js","sourceRoot":"","sources":["../../src/rules/return-await.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js deleted file mode 100644 index cd53a7a2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js +++ /dev/null @@ -1,248 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -var Group; -(function (Group) { - Group["conditional"] = "conditional"; - Group["function"] = "function"; - Group["import"] = "import"; - Group["intersection"] = "intersection"; - Group["keyword"] = "keyword"; - Group["nullish"] = "nullish"; - Group["literal"] = "literal"; - Group["named"] = "named"; - Group["object"] = "object"; - Group["operator"] = "operator"; - Group["tuple"] = "tuple"; - Group["union"] = "union"; -})(Group || (Group = {})); -function getGroup(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSConditionalType: - return Group.conditional; - case utils_1.AST_NODE_TYPES.TSConstructorType: - case utils_1.AST_NODE_TYPES.TSFunctionType: - return Group.function; - case utils_1.AST_NODE_TYPES.TSImportType: - return Group.import; - case utils_1.AST_NODE_TYPES.TSIntersectionType: - return Group.intersection; - case utils_1.AST_NODE_TYPES.TSAnyKeyword: - case utils_1.AST_NODE_TYPES.TSBigIntKeyword: - case utils_1.AST_NODE_TYPES.TSBooleanKeyword: - case utils_1.AST_NODE_TYPES.TSNeverKeyword: - case utils_1.AST_NODE_TYPES.TSNumberKeyword: - case utils_1.AST_NODE_TYPES.TSObjectKeyword: - case utils_1.AST_NODE_TYPES.TSStringKeyword: - case utils_1.AST_NODE_TYPES.TSSymbolKeyword: - case utils_1.AST_NODE_TYPES.TSThisType: - case utils_1.AST_NODE_TYPES.TSUnknownKeyword: - case utils_1.AST_NODE_TYPES.TSIntrinsicKeyword: - return Group.keyword; - case utils_1.AST_NODE_TYPES.TSNullKeyword: - case utils_1.AST_NODE_TYPES.TSUndefinedKeyword: - case utils_1.AST_NODE_TYPES.TSVoidKeyword: - return Group.nullish; - case utils_1.AST_NODE_TYPES.TSLiteralType: - case utils_1.AST_NODE_TYPES.TSTemplateLiteralType: - return Group.literal; - case utils_1.AST_NODE_TYPES.TSArrayType: - case utils_1.AST_NODE_TYPES.TSIndexedAccessType: - case utils_1.AST_NODE_TYPES.TSInferType: - case utils_1.AST_NODE_TYPES.TSTypeReference: - case utils_1.AST_NODE_TYPES.TSQualifiedName: - return Group.named; - case utils_1.AST_NODE_TYPES.TSMappedType: - case utils_1.AST_NODE_TYPES.TSTypeLiteral: - return Group.object; - case utils_1.AST_NODE_TYPES.TSTypeOperator: - case utils_1.AST_NODE_TYPES.TSTypeQuery: - return Group.operator; - case utils_1.AST_NODE_TYPES.TSTupleType: - return Group.tuple; - case utils_1.AST_NODE_TYPES.TSUnionType: - return Group.union; - // These types should never occur as part of a union/intersection - case utils_1.AST_NODE_TYPES.TSAbstractKeyword: - case utils_1.AST_NODE_TYPES.TSAsyncKeyword: - case utils_1.AST_NODE_TYPES.TSDeclareKeyword: - case utils_1.AST_NODE_TYPES.TSExportKeyword: - case utils_1.AST_NODE_TYPES.TSNamedTupleMember: - case utils_1.AST_NODE_TYPES.TSOptionalType: - case utils_1.AST_NODE_TYPES.TSPrivateKeyword: - case utils_1.AST_NODE_TYPES.TSProtectedKeyword: - case utils_1.AST_NODE_TYPES.TSPublicKeyword: - case utils_1.AST_NODE_TYPES.TSReadonlyKeyword: - case utils_1.AST_NODE_TYPES.TSRestType: - case utils_1.AST_NODE_TYPES.TSStaticKeyword: - case utils_1.AST_NODE_TYPES.TSTypePredicate: - /* istanbul ignore next */ - throw new Error(`Unexpected Type ${node.type}`); - } -} -function caseSensitiveSort(a, b) { - if (a < b) { - return -1; - } - if (a > b) { - return 1; - } - return 0; -} -exports.default = (0, util_1.createRule)({ - name: 'sort-type-constituents', - meta: { - type: 'suggestion', - deprecated: true, - docs: { - description: 'Enforce constituents of a type union/intersection to be sorted alphabetically', - }, - fixable: 'code', - hasSuggestions: true, - messages: { - notSorted: '{{type}} type constituents must be sorted.', - notSortedNamed: '{{type}} type {{name}} constituents must be sorted.', - suggestFix: 'Sort constituents of type (removes all comments).', - }, - replacedBy: [ - 'perfectionist/sort-intersection-types', - 'perfectionist/sort-union-types', - ], - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - caseSensitive: { - type: 'boolean', - description: 'Whether to sort using case sensitive string comparisons.', - }, - checkIntersections: { - type: 'boolean', - description: 'Whether to check intersection types (`&`).', - }, - checkUnions: { - type: 'boolean', - description: 'Whether to check union types (`|`).', - }, - groupOrder: { - type: 'array', - description: 'Ordering of the groups.', - items: { - type: 'string', - enum: (0, util_1.getEnumNames)(Group), - }, - }, - }, - }, - ], - }, - defaultOptions: [ - { - caseSensitive: false, - checkIntersections: true, - checkUnions: true, - groupOrder: [ - Group.named, - Group.keyword, - Group.operator, - Group.literal, - Group.function, - Group.import, - Group.conditional, - Group.object, - Group.tuple, - Group.intersection, - Group.union, - Group.nullish, - ], - }, - ], - create(context, [{ caseSensitive, checkIntersections, checkUnions, groupOrder }]) { - const collator = new Intl.Collator('en', { - numeric: true, - sensitivity: 'base', - }); - function checkSorting(node) { - const sourceOrder = node.types.map(type => { - const group = groupOrder?.indexOf(getGroup(type)) ?? -1; - return { - node: type, - group: group === -1 ? Number.MAX_SAFE_INTEGER : group, - text: context.sourceCode.getText(type), - }; - }); - const expectedOrder = [...sourceOrder].sort((a, b) => { - if (a.group !== b.group) { - return a.group - b.group; - } - if (caseSensitive) { - return caseSensitiveSort(a.text, b.text); - } - return (collator.compare(a.text, b.text) || - (a.text < b.text ? -1 : a.text > b.text ? 1 : 0)); - }); - const hasComments = node.types.some(type => { - const count = context.sourceCode.getCommentsBefore(type).length + - context.sourceCode.getCommentsAfter(type).length; - return count > 0; - }); - for (let i = 0; i < expectedOrder.length; i += 1) { - if (expectedOrder[i].node !== sourceOrder[i].node) { - let messageId = 'notSorted'; - const data = { - name: '', - type: node.type === utils_1.AST_NODE_TYPES.TSIntersectionType - ? 'Intersection' - : 'Union', - }; - if (node.parent.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration) { - messageId = 'notSortedNamed'; - data.name = node.parent.id.name; - } - const fix = fixer => { - const sorted = expectedOrder - .map(t => (0, util_1.typeNodeRequiresParentheses)(t.node, t.text) || - (node.type === utils_1.AST_NODE_TYPES.TSIntersectionType && - t.node.type === utils_1.AST_NODE_TYPES.TSUnionType) - ? `(${t.text})` - : t.text) - .join(node.type === utils_1.AST_NODE_TYPES.TSIntersectionType ? ' & ' : ' | '); - return fixer.replaceText(node, sorted); - }; - return context.report({ - node, - messageId, - data, - // don't autofix if any of the types have leading/trailing comments - // the logic for preserving them correctly is a pain - we may implement this later - ...(hasComments - ? { - suggest: [ - { - messageId: 'suggestFix', - fix, - }, - ], - } - : { fix }), - }); - } - } - } - return { - ...(checkIntersections && { - TSIntersectionType(node) { - checkSorting(node); - }, - }), - ...(checkUnions && { - TSUnionType(node) { - checkSorting(node); - }, - }), - }; - }, -}); -//# sourceMappingURL=sort-type-constituents.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js.map deleted file mode 100644 index c250eb1d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sort-type-constituents.js","sourceRoot":"","sources":["../../src/rules/sort-type-constituents.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js deleted file mode 100644 index 87e711aa..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js +++ /dev/null @@ -1,848 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const assertionFunctionUtils_1 = require("../util/assertionFunctionUtils"); -exports.default = (0, util_1.createRule)({ - name: 'strict-boolean-expressions', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow certain types in boolean expressions', - requiresTypeChecking: true, - }, - fixable: 'code', - hasSuggestions: true, - messages: { - conditionErrorAny: 'Unexpected any value in conditional. ' + - 'An explicit comparison or type conversion is required.', - conditionErrorNullableBoolean: 'Unexpected nullable boolean value in conditional. ' + - 'Please handle the nullish case explicitly.', - conditionErrorNullableEnum: 'Unexpected nullable enum value in conditional. ' + - 'Please handle the nullish/zero/NaN cases explicitly.', - conditionErrorNullableNumber: 'Unexpected nullable number value in conditional. ' + - 'Please handle the nullish/zero/NaN cases explicitly.', - conditionErrorNullableObject: 'Unexpected nullable object value in conditional. ' + - 'An explicit null check is required.', - conditionErrorNullableString: 'Unexpected nullable string value in conditional. ' + - 'Please handle the nullish/empty cases explicitly.', - conditionErrorNullish: 'Unexpected nullish value in conditional. ' + - 'The condition is always false.', - conditionErrorNumber: 'Unexpected number value in conditional. ' + - 'An explicit zero/NaN check is required.', - conditionErrorObject: 'Unexpected object value in conditional. ' + - 'The condition is always true.', - conditionErrorOther: 'Unexpected value in conditional. ' + - 'A boolean expression is required.', - conditionErrorString: 'Unexpected string value in conditional. ' + - 'An explicit empty string check is required.', - conditionFixCastBoolean: 'Explicitly convert value to a boolean (`Boolean(value)`)', - conditionFixCompareEmptyString: 'Change condition to check for empty string (`value !== ""`)', - conditionFixCompareFalse: 'Change condition to check if false (`value === false`)', - conditionFixCompareNaN: 'Change condition to check for NaN (`!Number.isNaN(value)`)', - conditionFixCompareNullish: 'Change condition to check for null/undefined (`value != null`)', - conditionFixCompareStringLength: "Change condition to check string's length (`value.length !== 0`)", - conditionFixCompareTrue: 'Change condition to check if true (`value === true`)', - conditionFixCompareZero: 'Change condition to check for 0 (`value !== 0`)', - conditionFixDefaultEmptyString: 'Explicitly treat nullish value the same as an empty string (`value ?? ""`)', - conditionFixDefaultFalse: 'Explicitly treat nullish value the same as false (`value ?? false`)', - conditionFixDefaultZero: 'Explicitly treat nullish value the same as 0 (`value ?? 0`)', - noStrictNullCheck: 'This rule requires the `strictNullChecks` compiler option to be turned on to function correctly.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowAny: { - type: 'boolean', - description: 'Whether to allow `any`s in a boolean context.', - }, - allowNullableBoolean: { - type: 'boolean', - description: 'Whether to allow nullable `boolean`s in a boolean context.', - }, - allowNullableEnum: { - type: 'boolean', - description: 'Whether to allow nullable `enum`s in a boolean context.', - }, - allowNullableNumber: { - type: 'boolean', - description: 'Whether to allow nullable `number`s in a boolean context.', - }, - allowNullableObject: { - type: 'boolean', - description: 'Whether to allow nullable `object`s, `symbol`s, and functions in a boolean context.', - }, - allowNullableString: { - type: 'boolean', - description: 'Whether to allow nullable `string`s in a boolean context.', - }, - allowNumber: { - type: 'boolean', - description: 'Whether to allow `number`s in a boolean context.', - }, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: { - type: 'boolean', - description: 'Unless this is set to `true`, the rule will error on every file whose `tsconfig.json` does _not_ have the `strictNullChecks` compiler option (or `strict`) set to `true`.', - }, - allowString: { - type: 'boolean', - description: 'Whether to allow `string`s in a boolean context.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowAny: false, - allowNullableBoolean: false, - allowNullableEnum: false, - allowNullableNumber: false, - allowNullableObject: true, - allowNullableString: false, - allowNumber: true, - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false, - allowString: true, - }, - ], - create(context, [options]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const compilerOptions = services.program.getCompilerOptions(); - const isStrictNullChecks = tsutils.isStrictCompilerOptionEnabled(compilerOptions, 'strictNullChecks'); - if (!isStrictNullChecks && - options.allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing !== true) { - context.report({ - loc: { - start: { column: 0, line: 0 }, - end: { column: 0, line: 0 }, - }, - messageId: 'noStrictNullCheck', - }); - } - const traversedNodes = new Set(); - return { - CallExpression: traverseCallExpression, - ConditionalExpression: traverseTestExpression, - DoWhileStatement: traverseTestExpression, - ForStatement: traverseTestExpression, - IfStatement: traverseTestExpression, - 'LogicalExpression[operator!="??"]': traverseLogicalExpression, - 'UnaryExpression[operator="!"]': traverseUnaryLogicalExpression, - WhileStatement: traverseTestExpression, - }; - /** - * Inspects condition of a test expression. (`if`, `while`, `for`, etc.) - */ - function traverseTestExpression(node) { - if (node.test == null) { - return; - } - traverseNode(node.test, true); - } - /** - * Inspects the argument of a unary logical expression (`!`). - */ - function traverseUnaryLogicalExpression(node) { - traverseNode(node.argument, true); - } - /** - * Inspects the arguments of a logical expression (`&&`, `||`). - * - * If the logical expression is a descendant of a test expression, - * the `isCondition` flag should be set to true. - * Otherwise, if the logical expression is there on it's own, - * it's used for control flow and is not a condition itself. - */ - function traverseLogicalExpression(node, isCondition = false) { - // left argument is always treated as a condition - traverseNode(node.left, true); - // if the logical expression is used for control flow, - // then its right argument is used for its side effects only - traverseNode(node.right, isCondition); - } - function traverseCallExpression(node) { - const assertedArgument = (0, assertionFunctionUtils_1.findTruthinessAssertedArgument)(services, node); - if (assertedArgument != null) { - traverseNode(assertedArgument, true); - } - } - /** - * Inspects any node. - * - * If it's a logical expression then it recursively traverses its arguments. - * If it's any other kind of node then it's type is finally checked against the rule, - * unless `isCondition` flag is set to false, in which case - * it's assumed to be used for side effects only and is skipped. - */ - function traverseNode(node, isCondition) { - // prevent checking the same node multiple times - if (traversedNodes.has(node)) { - return; - } - traversedNodes.add(node); - // for logical operator, we check its operands - if (node.type === utils_1.AST_NODE_TYPES.LogicalExpression && - node.operator !== '??') { - traverseLogicalExpression(node, isCondition); - return; - } - // skip if node is not a condition - if (!isCondition) { - return; - } - checkNode(node); - } - /** - * This function does the actual type check on a node. - * It analyzes the type of a node and checks if it is allowed in a boolean context. - */ - function checkNode(node) { - const type = (0, util_1.getConstrainedTypeAtLocation)(services, node); - const types = inspectVariantTypes(tsutils.unionTypeParts(type)); - const is = (...wantedTypes) => types.size === wantedTypes.length && - wantedTypes.every(type => types.has(type)); - // boolean - if (is('boolean') || is('truthy boolean')) { - // boolean is always okay - return; - } - // never - if (is('never')) { - // never is always okay - return; - } - // nullish - if (is('nullish')) { - // condition is always false - context.report({ node, messageId: 'conditionErrorNullish' }); - return; - } - // Known edge case: boolean `true` and nullish values are always valid boolean expressions - if (is('nullish', 'truthy boolean')) { - return; - } - // nullable boolean - if (is('nullish', 'boolean')) { - if (!options.allowNullableBoolean) { - if (isLogicalNegationExpression(node.parent)) { - // if (!nullableBoolean) - context.report({ - node, - messageId: 'conditionErrorNullableBoolean', - suggest: [ - { - messageId: 'conditionFixDefaultFalse', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} ?? false`, - }), - }, - { - messageId: 'conditionFixCompareFalse', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code} === false`, - }), - }, - ], - }); - } - else { - // if (nullableBoolean) - context.report({ - node, - messageId: 'conditionErrorNullableBoolean', - suggest: [ - { - messageId: 'conditionFixDefaultFalse', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} ?? false`, - }), - }, - { - messageId: 'conditionFixCompareTrue', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} === true`, - }), - }, - ], - }); - } - } - return; - } - // Known edge case: truthy primitives and nullish values are always valid boolean expressions - if ((options.allowNumber && is('nullish', 'truthy number')) || - (options.allowString && is('nullish', 'truthy string'))) { - return; - } - // string - if (is('string') || is('truthy string')) { - if (!options.allowString) { - if (isLogicalNegationExpression(node.parent)) { - // if (!string) - context.report({ - node, - messageId: 'conditionErrorString', - suggest: [ - { - messageId: 'conditionFixCompareStringLength', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code}.length === 0`, - }), - }, - { - messageId: 'conditionFixCompareEmptyString', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code} === ""`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `!Boolean(${code})`, - }), - }, - ], - }); - } - else { - // if (string) - context.report({ - node, - messageId: 'conditionErrorString', - suggest: [ - { - messageId: 'conditionFixCompareStringLength', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code}.length > 0`, - }), - }, - { - messageId: 'conditionFixCompareEmptyString', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} !== ""`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `Boolean(${code})`, - }), - }, - ], - }); - } - } - return; - } - // nullable string - if (is('nullish', 'string')) { - if (!options.allowNullableString) { - if (isLogicalNegationExpression(node.parent)) { - // if (!nullableString) - context.report({ - node, - messageId: 'conditionErrorNullableString', - suggest: [ - { - messageId: 'conditionFixCompareNullish', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code} == null`, - }), - }, - { - messageId: 'conditionFixDefaultEmptyString', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} ?? ""`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `!Boolean(${code})`, - }), - }, - ], - }); - } - else { - // if (nullableString) - context.report({ - node, - messageId: 'conditionErrorNullableString', - suggest: [ - { - messageId: 'conditionFixCompareNullish', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} != null`, - }), - }, - { - messageId: 'conditionFixDefaultEmptyString', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} ?? ""`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `Boolean(${code})`, - }), - }, - ], - }); - } - } - return; - } - // number - if (is('number') || is('truthy number')) { - if (!options.allowNumber) { - if (isArrayLengthExpression(node, checker, services)) { - if (isLogicalNegationExpression(node.parent)) { - // if (!array.length) - context.report({ - node, - messageId: 'conditionErrorNumber', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code} === 0`, - }), - }); - } - else { - // if (array.length) - context.report({ - node, - messageId: 'conditionErrorNumber', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} > 0`, - }), - }); - } - } - else if (isLogicalNegationExpression(node.parent)) { - // if (!number) - context.report({ - node, - messageId: 'conditionErrorNumber', - suggest: [ - { - messageId: 'conditionFixCompareZero', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - // TODO: we have to compare to 0n if the type is bigint - wrap: code => `${code} === 0`, - }), - }, - { - // TODO: don't suggest this for bigint because it can't be NaN - messageId: 'conditionFixCompareNaN', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `Number.isNaN(${code})`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `!Boolean(${code})`, - }), - }, - ], - }); - } - else { - // if (number) - context.report({ - node, - messageId: 'conditionErrorNumber', - suggest: [ - { - messageId: 'conditionFixCompareZero', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} !== 0`, - }), - }, - { - messageId: 'conditionFixCompareNaN', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `!Number.isNaN(${code})`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `Boolean(${code})`, - }), - }, - ], - }); - } - } - return; - } - // nullable number - if (is('nullish', 'number')) { - if (!options.allowNullableNumber) { - if (isLogicalNegationExpression(node.parent)) { - // if (!nullableNumber) - context.report({ - node, - messageId: 'conditionErrorNullableNumber', - suggest: [ - { - messageId: 'conditionFixCompareNullish', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code} == null`, - }), - }, - { - messageId: 'conditionFixDefaultZero', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} ?? 0`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `!Boolean(${code})`, - }), - }, - ], - }); - } - else { - // if (nullableNumber) - context.report({ - node, - messageId: 'conditionErrorNullableNumber', - suggest: [ - { - messageId: 'conditionFixCompareNullish', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} != null`, - }), - }, - { - messageId: 'conditionFixDefaultZero', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} ?? 0`, - }), - }, - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `Boolean(${code})`, - }), - }, - ], - }); - } - } - return; - } - // object - if (is('object')) { - // condition is always true - context.report({ node, messageId: 'conditionErrorObject' }); - return; - } - // nullable object - if (is('nullish', 'object')) { - if (!options.allowNullableObject) { - if (isLogicalNegationExpression(node.parent)) { - // if (!nullableObject) - context.report({ - node, - messageId: 'conditionErrorNullableObject', - suggest: [ - { - messageId: 'conditionFixCompareNullish', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code} == null`, - }), - }, - ], - }); - } - else { - // if (nullableObject) - context.report({ - node, - messageId: 'conditionErrorNullableObject', - suggest: [ - { - messageId: 'conditionFixCompareNullish', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} != null`, - }), - }, - ], - }); - } - } - return; - } - // nullable enum - if (is('nullish', 'number', 'enum') || - is('nullish', 'string', 'enum') || - is('nullish', 'truthy number', 'enum') || - is('nullish', 'truthy string', 'enum') || - // mixed enums - is('nullish', 'truthy number', 'truthy string', 'enum') || - is('nullish', 'truthy number', 'string', 'enum') || - is('nullish', 'truthy string', 'number', 'enum') || - is('nullish', 'number', 'string', 'enum')) { - if (!options.allowNullableEnum) { - if (isLogicalNegationExpression(node.parent)) { - context.report({ - node, - messageId: 'conditionErrorNullableEnum', - fix: (0, util_1.getWrappingFixer)({ - node: node.parent, - innerNode: node, - sourceCode: context.sourceCode, - wrap: code => `${code} == null`, - }), - }); - } - else { - context.report({ - node, - messageId: 'conditionErrorNullableEnum', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `${code} != null`, - }), - }); - } - } - return; - } - // any - if (is('any')) { - if (!options.allowAny) { - context.report({ - node, - messageId: 'conditionErrorAny', - suggest: [ - { - messageId: 'conditionFixCastBoolean', - fix: (0, util_1.getWrappingFixer)({ - node, - sourceCode: context.sourceCode, - wrap: code => `Boolean(${code})`, - }), - }, - ], - }); - } - return; - } - // other - context.report({ node, messageId: 'conditionErrorOther' }); - } - /** - * Check union variants for the types we care about - */ - function inspectVariantTypes(types) { - const variantTypes = new Set(); - if (types.some(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.Null | ts.TypeFlags.Undefined | ts.TypeFlags.VoidLike))) { - variantTypes.add('nullish'); - } - const booleans = types.filter(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.BooleanLike)); - // If incoming type is either "true" or "false", there will be one type - // object with intrinsicName set accordingly - // If incoming type is boolean, there will be two type objects with - // intrinsicName set "true" and "false" each because of ts-api-utils.unionTypeParts() - if (booleans.length === 1) { - variantTypes.add(tsutils.isTrueLiteralType(booleans[0]) ? 'truthy boolean' : 'boolean'); - } - else if (booleans.length === 2) { - variantTypes.add('boolean'); - } - const strings = types.filter(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.StringLike)); - if (strings.length) { - if (strings.every(type => type.isStringLiteral() && type.value !== '')) { - variantTypes.add('truthy string'); - } - else { - variantTypes.add('string'); - } - } - const numbers = types.filter(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.NumberLike | ts.TypeFlags.BigIntLike)); - if (numbers.length) { - if (numbers.every(type => type.isNumberLiteral() && type.value !== 0)) { - variantTypes.add('truthy number'); - } - else { - variantTypes.add('number'); - } - } - if (types.some(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.EnumLike))) { - variantTypes.add('enum'); - } - if (types.some(type => !tsutils.isTypeFlagSet(type, ts.TypeFlags.Null | - ts.TypeFlags.Undefined | - ts.TypeFlags.VoidLike | - ts.TypeFlags.BooleanLike | - ts.TypeFlags.StringLike | - ts.TypeFlags.NumberLike | - ts.TypeFlags.BigIntLike | - ts.TypeFlags.TypeParameter | - ts.TypeFlags.Any | - ts.TypeFlags.Unknown | - ts.TypeFlags.Never))) { - variantTypes.add(types.some(isBrandedBoolean) ? 'boolean' : 'object'); - } - if (types.some(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.TypeParameter | - ts.TypeFlags.Any | - ts.TypeFlags.Unknown))) { - variantTypes.add('any'); - } - if (types.some(type => tsutils.isTypeFlagSet(type, ts.TypeFlags.Never))) { - variantTypes.add('never'); - } - return variantTypes; - } - }, -}); -function isLogicalNegationExpression(node) { - return node.type === utils_1.AST_NODE_TYPES.UnaryExpression && node.operator === '!'; -} -function isArrayLengthExpression(node, typeChecker, services) { - if (node.type !== utils_1.AST_NODE_TYPES.MemberExpression) { - return false; - } - if (node.computed) { - return false; - } - if (node.property.name !== 'length') { - return false; - } - const objectType = (0, util_1.getConstrainedTypeAtLocation)(services, node.object); - return (0, util_1.isTypeArrayTypeOrUnionOfArrayTypes)(objectType, typeChecker); -} -/** - * Verify is the type is a branded boolean (e.g. `type Foo = boolean & { __brand: 'Foo' }`) - * - * @param type The type checked - */ -function isBrandedBoolean(type) { - return (type.isIntersection() && - type.types.some(childType => tsutils.isTypeFlagSet(childType, ts.TypeFlags.BooleanLiteral | ts.TypeFlags.Boolean))); -} -//# sourceMappingURL=strict-boolean-expressions.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map deleted file mode 100644 index 09b996d5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"strict-boolean-expressions.js","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js deleted file mode 100644 index 02cefb8c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js +++ /dev/null @@ -1,287 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -const DEFAULT_COMMENT_PATTERN = /^no default$/iu; -exports.default = (0, util_1.createRule)({ - name: 'switch-exhaustiveness-check', - meta: { - type: 'suggestion', - docs: { - description: 'Require switch-case statements to be exhaustive', - requiresTypeChecking: true, - }, - hasSuggestions: true, - messages: { - addMissingCases: 'Add branches for missing cases.', - dangerousDefaultCase: 'The switch statement is exhaustive, so the default case is unnecessary.', - switchIsNotExhaustive: 'Switch is not exhaustive. Cases not matched: {{missingBranches}}', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - allowDefaultCaseForExhaustiveSwitch: { - type: 'boolean', - description: `If 'true', allow 'default' cases on switch statements with exhaustive cases.`, - }, - considerDefaultExhaustiveForUnions: { - type: 'boolean', - description: `If 'true', the 'default' clause is used to determine whether the switch statement is exhaustive for union type`, - }, - defaultCaseCommentPattern: { - type: 'string', - description: `Regular expression for a comment that can indicate an intentionally omitted default case.`, - }, - requireDefaultForNonUnion: { - type: 'boolean', - description: `If 'true', require a 'default' clause for switches on non-union types.`, - }, - }, - }, - ], - }, - defaultOptions: [ - { - allowDefaultCaseForExhaustiveSwitch: true, - considerDefaultExhaustiveForUnions: false, - requireDefaultForNonUnion: false, - }, - ], - create(context, [{ allowDefaultCaseForExhaustiveSwitch, considerDefaultExhaustiveForUnions, defaultCaseCommentPattern, requireDefaultForNonUnion, },]) { - const services = (0, util_1.getParserServices)(context); - const checker = services.program.getTypeChecker(); - const compilerOptions = services.program.getCompilerOptions(); - const commentRegExp = defaultCaseCommentPattern != null - ? new RegExp(defaultCaseCommentPattern, 'u') - : DEFAULT_COMMENT_PATTERN; - function getCommentDefaultCase(node) { - const lastCase = node.cases.at(-1); - const commentsAfterLastCase = lastCase - ? context.sourceCode.getCommentsAfter(lastCase) - : []; - const defaultCaseComment = commentsAfterLastCase.at(-1); - if (commentRegExp.test(defaultCaseComment?.value.trim() || '')) { - return defaultCaseComment; - } - return; - } - function getSwitchMetadata(node) { - const defaultCase = node.cases.find(switchCase => switchCase.test == null); - const discriminantType = (0, util_1.getConstrainedTypeAtLocation)(services, node.discriminant); - const symbolName = discriminantType.getSymbol()?.escapedName; - const containsNonLiteralType = doesTypeContainNonLiteralType(discriminantType); - const caseTypes = new Set(); - for (const switchCase of node.cases) { - // If the `test` property of the switch case is `null`, then we are on a - // `default` case. - if (switchCase.test == null) { - continue; - } - const caseType = (0, util_1.getConstrainedTypeAtLocation)(services, switchCase.test); - caseTypes.add(caseType); - } - const missingLiteralBranchTypes = []; - for (const unionPart of tsutils.unionTypeParts(discriminantType)) { - for (const intersectionPart of tsutils.intersectionTypeParts(unionPart)) { - if (caseTypes.has(intersectionPart) || - !isTypeLiteralLikeType(intersectionPart)) { - continue; - } - // "missing", "optional" and "undefined" types are different runtime objects, - // but all of them have TypeFlags.Undefined type flag - if ([...caseTypes].some(tsutils.isIntrinsicUndefinedType) && - tsutils.isIntrinsicUndefinedType(intersectionPart)) { - continue; - } - missingLiteralBranchTypes.push(intersectionPart); - } - } - return { - containsNonLiteralType, - defaultCase: defaultCase ?? getCommentDefaultCase(node), - missingLiteralBranchTypes, - symbolName, - }; - } - function checkSwitchExhaustive(node, switchMetadata) { - const { defaultCase, missingLiteralBranchTypes, symbolName } = switchMetadata; - // If considerDefaultExhaustiveForUnions is enabled, the presence of a default case - // always makes the switch exhaustive. - if (considerDefaultExhaustiveForUnions && defaultCase != null) { - return; - } - if (missingLiteralBranchTypes.length > 0) { - context.report({ - node: node.discriminant, - messageId: 'switchIsNotExhaustive', - data: { - missingBranches: missingLiteralBranchTypes - .map(missingType => tsutils.isTypeFlagSet(missingType, ts.TypeFlags.ESSymbolLike) - ? `typeof ${missingType.getSymbol()?.escapedName}` - : checker.typeToString(missingType)) - .join(' | '), - }, - suggest: [ - { - messageId: 'addMissingCases', - fix(fixer) { - return fixSwitch(fixer, node, missingLiteralBranchTypes, defaultCase, symbolName?.toString()); - }, - }, - ], - }); - } - } - function fixSwitch(fixer, node, missingBranchTypes, // null means default branch - defaultCase, symbolName) { - const lastCase = node.cases.length > 0 ? node.cases[node.cases.length - 1] : null; - const caseIndent = lastCase - ? ' '.repeat(lastCase.loc.start.column) - : // If there are no cases, use indentation of the switch statement and - // leave it to the user to format it correctly. - ' '.repeat(node.loc.start.column); - const missingCases = []; - for (const missingBranchType of missingBranchTypes) { - if (missingBranchType == null) { - missingCases.push(`default: { throw new Error('default case') }`); - continue; - } - const missingBranchName = missingBranchType.getSymbol()?.escapedName; - let caseTest = tsutils.isTypeFlagSet(missingBranchType, ts.TypeFlags.ESSymbolLike) - ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - missingBranchName - : checker.typeToString(missingBranchType); - if (symbolName && - (missingBranchName || missingBranchName === '') && - (0, util_1.requiresQuoting)(missingBranchName.toString(), compilerOptions.target)) { - const escapedBranchName = missingBranchName - .replaceAll("'", "\\'") - .replaceAll('\n', '\\n') - .replaceAll('\r', '\\r'); - caseTest = `${symbolName}['${escapedBranchName}']`; - } - missingCases.push(`case ${caseTest}: { throw new Error('Not implemented yet: ${caseTest - .replaceAll('\\', '\\\\') - .replaceAll("'", "\\'")} case') }`); - } - const fixString = missingCases - .map(code => `${caseIndent}${code}`) - .join('\n'); - if (lastCase) { - if (defaultCase) { - const beforeFixString = missingCases - .map(code => `${code}\n${caseIndent}`) - .join(''); - return fixer.insertTextBefore(defaultCase, beforeFixString); - } - return fixer.insertTextAfter(lastCase, `\n${fixString}`); - } - // There were no existing cases. - const openingBrace = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.discriminant, util_1.isOpeningBraceToken), util_1.NullThrowsReasons.MissingToken('{', 'discriminant')); - const closingBrace = (0, util_1.nullThrows)(context.sourceCode.getTokenAfter(node.discriminant, util_1.isClosingBraceToken), util_1.NullThrowsReasons.MissingToken('}', 'discriminant')); - return fixer.replaceTextRange([openingBrace.range[0], closingBrace.range[1]], ['{', fixString, `${caseIndent}}`].join('\n')); - } - function checkSwitchUnnecessaryDefaultCase(switchMetadata) { - if (allowDefaultCaseForExhaustiveSwitch) { - return; - } - const { containsNonLiteralType, defaultCase, missingLiteralBranchTypes } = switchMetadata; - if (missingLiteralBranchTypes.length === 0 && - defaultCase != null && - !containsNonLiteralType) { - context.report({ - node: defaultCase, - messageId: 'dangerousDefaultCase', - }); - } - } - function checkSwitchNoUnionDefaultCase(node, switchMetadata) { - if (!requireDefaultForNonUnion) { - return; - } - const { containsNonLiteralType, defaultCase } = switchMetadata; - if (containsNonLiteralType && defaultCase == null) { - context.report({ - node: node.discriminant, - messageId: 'switchIsNotExhaustive', - data: { missingBranches: 'default' }, - suggest: [ - { - messageId: 'addMissingCases', - fix(fixer) { - return fixSwitch(fixer, node, [null], defaultCase); - }, - }, - ], - }); - } - } - return { - SwitchStatement(node) { - const switchMetadata = getSwitchMetadata(node); - checkSwitchExhaustive(node, switchMetadata); - checkSwitchUnnecessaryDefaultCase(switchMetadata); - checkSwitchNoUnionDefaultCase(node, switchMetadata); - }, - }; - }, -}); -function isTypeLiteralLikeType(type) { - return tsutils.isTypeFlagSet(type, ts.TypeFlags.Literal | - ts.TypeFlags.Undefined | - ts.TypeFlags.Null | - ts.TypeFlags.UniqueESSymbol); -} -/** - * For example: - * - * - `"foo" | "bar"` is a type with all literal types. - * - `"foo" | number` is a type that contains non-literal types. - * - `"foo" & { bar: 1 }` is a type that contains non-literal types. - * - * Default cases are never superfluous in switches with non-literal types. - */ -function doesTypeContainNonLiteralType(type) { - return tsutils - .unionTypeParts(type) - .some(type => tsutils - .intersectionTypeParts(type) - .every(subType => !isTypeLiteralLikeType(subType))); -} -//# sourceMappingURL=switch-exhaustiveness-check.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map deleted file mode 100644 index 20a46d4c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"switch-exhaustiveness-check.js","sourceRoot":"","sources":["../../src/rules/switch-exhaustiveness-check.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js deleted file mode 100644 index 3fbb427d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js +++ /dev/null @@ -1,111 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'triple-slash-reference', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow certain triple slash directives in favor of ES6-style import declarations', - recommended: 'recommended', - }, - messages: { - tripleSlashReference: 'Do not use a triple slash reference for {{module}}, use `import` style instead.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - lib: { - type: 'string', - description: 'What to enforce for `/// ` references.', - enum: ['always', 'never'], - }, - path: { - type: 'string', - description: 'What to enforce for `/// ` references.', - enum: ['always', 'never'], - }, - types: { - type: 'string', - description: 'What to enforce for `/// ` references.', - enum: ['always', 'never', 'prefer-import'], - }, - }, - }, - ], - }, - defaultOptions: [ - { - lib: 'always', - path: 'never', - types: 'prefer-import', - }, - ], - create(context, [{ lib, path, types }]) { - let programNode; - const references = []; - function hasMatchingReference(source) { - references.forEach(reference => { - if (reference.importName === source.value) { - context.report({ - node: reference.comment, - messageId: 'tripleSlashReference', - data: { - module: reference.importName, - }, - }); - } - }); - } - return { - ImportDeclaration(node) { - if (programNode) { - hasMatchingReference(node.source); - } - }, - Program(node) { - if (lib === 'always' && path === 'always' && types === 'always') { - return; - } - programNode = node; - const referenceRegExp = /^\/\s* { - if (comment.type !== utils_1.AST_TOKEN_TYPES.Line) { - return; - } - const referenceResult = referenceRegExp.exec(comment.value); - if (referenceResult) { - if ((referenceResult[1] === 'types' && types === 'never') || - (referenceResult[1] === 'path' && path === 'never') || - (referenceResult[1] === 'lib' && lib === 'never')) { - context.report({ - node: comment, - messageId: 'tripleSlashReference', - data: { - module: referenceResult[2], - }, - }); - return; - } - if (referenceResult[1] === 'types' && types === 'prefer-import') { - references.push({ comment, importName: referenceResult[2] }); - } - } - }); - }, - TSImportEqualsDeclaration(node) { - if (programNode) { - const reference = node.moduleReference; - if (reference.type === utils_1.AST_NODE_TYPES.TSExternalModuleReference) { - hasMatchingReference(reference.expression); - } - } - }, - }; - }, -}); -//# sourceMappingURL=triple-slash-reference.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map deleted file mode 100644 index 4ac562d5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"triple-slash-reference.js","sourceRoot":"","sources":["../../src/rules/triple-slash-reference.ts"],"names":[],"mappings":";;AAEA,oDAA2E;AAE3E,kCAAqC;AAWrC,kBAAe,IAAA,iBAAU,EAAsB;IAC7C,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EACT,oFAAoF;YACtF,WAAW,EAAE,aAAa;SAC3B;QACD,QAAQ,EAAE;YACR,oBAAoB,EAClB,iFAAiF;SACpF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,+DAA+D;wBACjE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;qBAC1B;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,gEAAgE;wBAClE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;qBAC1B;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,iEAAiE;wBACnE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC;qBAC3C;iBACF;aACF;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,eAAe;SACvB;KACF;IACD,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,WAAsC,CAAC;QAE3C,MAAM,UAAU,GAGV,EAAE,CAAC;QAET,SAAS,oBAAoB,CAAC,MAAwB;YACpD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC7B,IAAI,SAAS,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC1C,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,SAAS,CAAC,OAAO;wBACvB,SAAS,EAAE,sBAAsB;wBACjC,IAAI,EAAE;4BACJ,MAAM,EAAE,SAAS,CAAC,UAAU;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,iBAAiB,CAAC,IAAI;gBACpB,IAAI,WAAW,EAAE,CAAC;oBAChB,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI;gBACV,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAChE,OAAO;gBACT,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM,eAAe,GACnB,0DAA0D,CAAC;gBAC7D,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAEpD,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAe,CAAC,IAAI,EAAE,CAAC;wBAC1C,OAAO;oBACT,CAAC;oBACD,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAE5D,IAAI,eAAe,EAAE,CAAC;wBACpB,IACE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC;4BACrD,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC;4BACnD,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,CAAC,EACjD,CAAC;4BACD,OAAO,CAAC,MAAM,CAAC;gCACb,IAAI,EAAE,OAAO;gCACb,SAAS,EAAE,sBAAsB;gCACjC,IAAI,EAAE;oCACJ,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;iCAC3B;6BACF,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;4BAChE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC/D,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,yBAAyB,CAAC,IAAI;gBAC5B,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;oBAEvC,IAAI,SAAS,CAAC,IAAI,KAAK,sBAAc,CAAC,yBAAyB,EAAE,CAAC;wBAChE,oBAAoB,CAAC,SAAS,CAAC,UAA8B,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js deleted file mode 100644 index d4455966..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js +++ /dev/null @@ -1,224 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'typedef', - meta: { - type: 'suggestion', - docs: { - description: 'Require type annotations in certain places', - }, - messages: { - expectedTypedef: 'Expected a type annotation.', - expectedTypedefNamed: 'Expected {{name}} to have a type annotation.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ["arrayDestructuring" /* OptionKeys.ArrayDestructuring */]: { - type: 'boolean', - description: 'Whether to enforce type annotations on variables declared using array destructuring.', - }, - ["arrowParameter" /* OptionKeys.ArrowParameter */]: { - type: 'boolean', - description: 'Whether to enforce type annotations for parameters of arrow functions.', - }, - ["memberVariableDeclaration" /* OptionKeys.MemberVariableDeclaration */]: { - type: 'boolean', - description: 'Whether to enforce type annotations on member variables of classes.', - }, - ["objectDestructuring" /* OptionKeys.ObjectDestructuring */]: { - type: 'boolean', - description: 'Whether to enforce type annotations on variables declared using object destructuring.', - }, - ["parameter" /* OptionKeys.Parameter */]: { - type: 'boolean', - description: 'Whether to enforce type annotations for parameters of functions and methods.', - }, - ["propertyDeclaration" /* OptionKeys.PropertyDeclaration */]: { - type: 'boolean', - description: 'Whether to enforce type annotations for properties of interfaces and types.', - }, - ["variableDeclaration" /* OptionKeys.VariableDeclaration */]: { - type: 'boolean', - description: 'Whether to enforce type annotations for variable declarations, excluding array and object destructuring.', - }, - ["variableDeclarationIgnoreFunction" /* OptionKeys.VariableDeclarationIgnoreFunction */]: { - type: 'boolean', - description: 'Whether to ignore variable declarations for non-arrow and arrow functions.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - ["arrayDestructuring" /* OptionKeys.ArrayDestructuring */]: false, - ["arrowParameter" /* OptionKeys.ArrowParameter */]: false, - ["memberVariableDeclaration" /* OptionKeys.MemberVariableDeclaration */]: false, - ["objectDestructuring" /* OptionKeys.ObjectDestructuring */]: false, - ["parameter" /* OptionKeys.Parameter */]: false, - ["propertyDeclaration" /* OptionKeys.PropertyDeclaration */]: false, - ["variableDeclaration" /* OptionKeys.VariableDeclaration */]: false, - ["variableDeclarationIgnoreFunction" /* OptionKeys.VariableDeclarationIgnoreFunction */]: false, - }, - ], - create(context, [{ arrayDestructuring, arrowParameter, memberVariableDeclaration, objectDestructuring, parameter, propertyDeclaration, variableDeclaration, variableDeclarationIgnoreFunction, },]) { - function report(location, name) { - context.report({ - node: location, - messageId: name ? 'expectedTypedefNamed' : 'expectedTypedef', - data: { name }, - }); - } - function getNodeName(node) { - return node.type === utils_1.AST_NODE_TYPES.Identifier ? node.name : undefined; - } - function isForOfStatementContext(node) { - let current = node.parent; - while (current) { - switch (current.type) { - case utils_1.AST_NODE_TYPES.VariableDeclarator: - case utils_1.AST_NODE_TYPES.VariableDeclaration: - case utils_1.AST_NODE_TYPES.ObjectPattern: - case utils_1.AST_NODE_TYPES.ArrayPattern: - case utils_1.AST_NODE_TYPES.Property: - current = current.parent; - break; - case utils_1.AST_NODE_TYPES.ForOfStatement: - return true; - default: - current = undefined; - } - } - return false; - } - function checkParameters(params) { - for (const param of params) { - let annotationNode; - switch (param.type) { - case utils_1.AST_NODE_TYPES.AssignmentPattern: - annotationNode = param.left; - break; - case utils_1.AST_NODE_TYPES.TSParameterProperty: - annotationNode = param.parameter; - // Check TS parameter property with default value like `constructor(private param: string = 'something') {}` - if (annotationNode.type === utils_1.AST_NODE_TYPES.AssignmentPattern) { - annotationNode = annotationNode.left; - } - break; - default: - annotationNode = param; - break; - } - if (!annotationNode.typeAnnotation) { - report(param, getNodeName(param)); - } - } - } - function isVariableDeclarationIgnoreFunction(node) { - return (variableDeclarationIgnoreFunction === true && - (node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression || - node.type === utils_1.AST_NODE_TYPES.FunctionExpression)); - } - function isAncestorHasTypeAnnotation(node) { - let ancestor = node.parent; - while (ancestor) { - if ((ancestor.type === utils_1.AST_NODE_TYPES.ObjectPattern || - ancestor.type === utils_1.AST_NODE_TYPES.ArrayPattern) && - ancestor.typeAnnotation) { - return true; - } - ancestor = ancestor.parent; - } - return false; - } - return { - ...(arrayDestructuring && { - ArrayPattern(node) { - if (node.parent.type === utils_1.AST_NODE_TYPES.RestElement && - node.parent.typeAnnotation) { - return; - } - if (!node.typeAnnotation && - !isForOfStatementContext(node) && - !isAncestorHasTypeAnnotation(node) && - node.parent.type !== utils_1.AST_NODE_TYPES.AssignmentExpression) { - report(node); - } - }, - }), - ...(arrowParameter && { - ArrowFunctionExpression(node) { - checkParameters(node.params); - }, - }), - ...(memberVariableDeclaration && { - PropertyDefinition(node) { - if (!(node.value && isVariableDeclarationIgnoreFunction(node.value)) && - !node.typeAnnotation) { - report(node, node.key.type === utils_1.AST_NODE_TYPES.Identifier - ? node.key.name - : undefined); - } - }, - }), - ...(parameter && { - 'FunctionDeclaration, FunctionExpression'(node) { - checkParameters(node.params); - }, - }), - ...(objectDestructuring && { - ObjectPattern(node) { - if (!node.typeAnnotation && - !isForOfStatementContext(node) && - !isAncestorHasTypeAnnotation(node)) { - report(node); - } - }, - }), - ...(propertyDeclaration && { - 'TSIndexSignature, TSPropertySignature'(node) { - if (!node.typeAnnotation) { - report(node, node.type === utils_1.AST_NODE_TYPES.TSPropertySignature - ? getNodeName(node.key) - : undefined); - } - }, - }), - VariableDeclarator(node) { - if (!variableDeclaration || - node.id.typeAnnotation || - (node.id.type === utils_1.AST_NODE_TYPES.ArrayPattern && - !arrayDestructuring) || - (node.id.type === utils_1.AST_NODE_TYPES.ObjectPattern && - !objectDestructuring) || - (node.init && isVariableDeclarationIgnoreFunction(node.init))) { - return; - } - let current = node.parent; - while (current) { - switch (current.type) { - case utils_1.AST_NODE_TYPES.VariableDeclaration: - // Keep looking upwards - current = current.parent; - break; - case utils_1.AST_NODE_TYPES.ForOfStatement: - case utils_1.AST_NODE_TYPES.ForInStatement: - // Stop traversing and don't report an error - return; - default: - // Stop traversing - current = undefined; - break; - } - } - report(node, getNodeName(node.id)); - }, - }; - }, -}); -//# sourceMappingURL=typedef.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map deleted file mode 100644 index 5c62c7a7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typedef.js","sourceRoot":"","sources":["../../src/rules/typedef.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js deleted file mode 100644 index ec08126d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js +++ /dev/null @@ -1,332 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const util_1 = require("../util"); -/** - * Static methods on these globals are either not `this`-aware or supported being - * called without `this`. - * - * - `Promise` is not in the list because it supports subclassing by using `this` - * - `Array` is in the list because although it supports subclassing, the `this` - * value defaults to `Array` when unbound - * - * This is now a language-design invariant: static methods are never `this`-aware - * because TC39 wants to make `array.map(Class.method)` work! - */ -const SUPPORTED_GLOBALS = [ - 'Number', - 'Object', - 'String', // eslint-disable-line @typescript-eslint/internal/prefer-ast-types-enum - 'RegExp', - 'Symbol', - 'Array', - 'Proxy', - 'Date', - 'Atomics', - 'Reflect', - 'console', - 'Math', - 'JSON', - 'Intl', -]; -const nativelyBoundMembers = new Set(SUPPORTED_GLOBALS.flatMap(namespace => { - if (!(namespace in global)) { - // node.js might not have namespaces like Intl depending on compilation options - // https://nodejs.org/api/intl.html#intl_options_for_building_node_js - return []; - } - const object = global[namespace]; - return Object.getOwnPropertyNames(object) - .filter(name => !name.startsWith('_') && - typeof object[name] === 'function') - .map(name => `${namespace}.${name}`); -})); -const SUPPORTED_GLOBAL_TYPES = [ - 'NumberConstructor', - 'ObjectConstructor', - 'StringConstructor', - 'SymbolConstructor', - 'ArrayConstructor', - 'Array', - 'ProxyConstructor', - 'Console', - 'DateConstructor', - 'Atomics', - 'Math', - 'JSON', -]; -const isNotImported = (symbol, currentSourceFile) => { - const { valueDeclaration } = symbol; - if (!valueDeclaration) { - // working around https://github.com/microsoft/TypeScript/issues/31294 - return false; - } - return (!!currentSourceFile && - currentSourceFile !== valueDeclaration.getSourceFile()); -}; -const BASE_MESSAGE = 'Avoid referencing unbound methods which may cause unintentional scoping of `this`.'; -exports.default = (0, util_1.createRule)({ - name: 'unbound-method', - meta: { - type: 'problem', - docs: { - description: 'Enforce unbound methods are called with their expected scope', - recommended: 'recommended', - requiresTypeChecking: true, - }, - messages: { - unbound: BASE_MESSAGE, - unboundWithoutThisAnnotation: `${BASE_MESSAGE}\nIf your function does not access \`this\`, you can annotate it with \`this: void\`, or consider using an arrow function instead.`, - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ignoreStatic: { - type: 'boolean', - description: 'Whether to skip checking whether `static` methods are correctly bound.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - ignoreStatic: false, - }, - ], - create(context, [{ ignoreStatic }]) { - const services = (0, util_1.getParserServices)(context); - const currentSourceFile = services.program.getSourceFile(context.filename); - function checkIfMethodAndReport(node, symbol) { - if (!symbol) { - return false; - } - const { dangerous, firstParamIsThis } = checkIfMethod(symbol, ignoreStatic); - if (dangerous) { - context.report({ - node, - messageId: firstParamIsThis === false - ? 'unboundWithoutThisAnnotation' - : 'unbound', - }); - return true; - } - return false; - } - function isNativelyBound(object, property) { - // We can't rely entirely on the type-level checks made at the end of this - // function, because sometimes type declarations don't come from the - // default library, but come from, for example, "@types/node". And we can't - // tell if a method is unbound just by looking at its signature declared in - // the interface. - // - // See related discussion https://github.com/typescript-eslint/typescript-eslint/pull/8952#discussion_r1576543310 - if (object.type === utils_1.AST_NODE_TYPES.Identifier && - property.type === utils_1.AST_NODE_TYPES.Identifier) { - const objectSymbol = services.getSymbolAtLocation(object); - const notImported = objectSymbol != null && - isNotImported(objectSymbol, currentSourceFile); - if (notImported && - nativelyBoundMembers.has(`${object.name}.${property.name}`)) { - return true; - } - } - // if `${object.name}.${property.name}` doesn't match any of - // the nativelyBoundMembers, then we fallback to type-level checks - return ((0, util_1.isBuiltinSymbolLike)(services.program, services.getTypeAtLocation(object), SUPPORTED_GLOBAL_TYPES) && - (0, util_1.isSymbolFromDefaultLibrary)(services.program, services.getTypeAtLocation(property).getSymbol())); - } - return { - MemberExpression(node) { - if (isSafeUse(node) || isNativelyBound(node.object, node.property)) { - return; - } - checkIfMethodAndReport(node, services.getSymbolAtLocation(node)); - }, - ObjectPattern(node) { - if (isNodeInsideTypeDeclaration(node)) { - return; - } - let initNode = null; - if (node.parent.type === utils_1.AST_NODE_TYPES.VariableDeclarator) { - initNode = node.parent.init; - } - else if (node.parent.type === utils_1.AST_NODE_TYPES.AssignmentPattern || - node.parent.type === utils_1.AST_NODE_TYPES.AssignmentExpression) { - initNode = node.parent.right; - } - for (const property of node.properties) { - if (property.type !== utils_1.AST_NODE_TYPES.Property || - property.key.type !== utils_1.AST_NODE_TYPES.Identifier) { - continue; - } - if (initNode) { - if (!isNativelyBound(initNode, property.key)) { - const reported = checkIfMethodAndReport(property.key, services - .getTypeAtLocation(initNode) - .getProperty(property.key.name)); - if (reported) { - continue; - } - // In assignment patterns, we should also check the type of - // Foo's nativelyBound method because initNode might be used as - // default value: - // function ({ nativelyBound }: Foo = NativeObject) {} - } - else if (node.parent.type !== utils_1.AST_NODE_TYPES.AssignmentPattern) { - continue; - } - } - for (const intersectionPart of tsutils - .unionTypeParts(services.getTypeAtLocation(node)) - .flatMap(unionPart => tsutils.intersectionTypeParts(unionPart))) { - const reported = checkIfMethodAndReport(property.key, intersectionPart.getProperty(property.key.name)); - if (reported) { - break; - } - } - } - }, - }; - }, -}); -function isNodeInsideTypeDeclaration(node) { - let parent = node; - while ((parent = parent.parent)) { - if ((parent.type === utils_1.AST_NODE_TYPES.ClassDeclaration && parent.declare) || - parent.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition || - parent.type === utils_1.AST_NODE_TYPES.TSDeclareFunction || - parent.type === utils_1.AST_NODE_TYPES.TSFunctionType || - parent.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration || - parent.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration || - (parent.type === utils_1.AST_NODE_TYPES.VariableDeclaration && parent.declare)) { - return true; - } - } - return false; -} -function checkIfMethod(symbol, ignoreStatic) { - const { valueDeclaration } = symbol; - if (!valueDeclaration) { - // working around https://github.com/microsoft/TypeScript/issues/31294 - return { dangerous: false }; - } - switch (valueDeclaration.kind) { - case ts.SyntaxKind.PropertyDeclaration: - return { - dangerous: valueDeclaration.initializer?.kind === - ts.SyntaxKind.FunctionExpression, - }; - case ts.SyntaxKind.PropertyAssignment: { - const assignee = valueDeclaration.initializer; - if (assignee.kind !== ts.SyntaxKind.FunctionExpression) { - return { - dangerous: false, - }; - } - return checkMethod(assignee, ignoreStatic); - } - case ts.SyntaxKind.MethodDeclaration: - case ts.SyntaxKind.MethodSignature: { - return checkMethod(valueDeclaration, ignoreStatic); - } - } - return { dangerous: false }; -} -function checkMethod(valueDeclaration, ignoreStatic) { - const firstParam = valueDeclaration.parameters.at(0); - const firstParamIsThis = firstParam?.name.kind === ts.SyntaxKind.Identifier && - // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison - firstParam.name.escapedText === 'this'; - const thisArgIsVoid = firstParamIsThis && firstParam.type?.kind === ts.SyntaxKind.VoidKeyword; - return { - dangerous: !thisArgIsVoid && - !(ignoreStatic && - tsutils.includesModifier((0, util_1.getModifiers)(valueDeclaration), ts.SyntaxKind.StaticKeyword)), - firstParamIsThis, - }; -} -function isSafeUse(node) { - const parent = node.parent; - switch (parent?.type) { - case utils_1.AST_NODE_TYPES.IfStatement: - case utils_1.AST_NODE_TYPES.ForStatement: - case utils_1.AST_NODE_TYPES.MemberExpression: - case utils_1.AST_NODE_TYPES.SwitchStatement: - case utils_1.AST_NODE_TYPES.UpdateExpression: - case utils_1.AST_NODE_TYPES.WhileStatement: - return true; - case utils_1.AST_NODE_TYPES.CallExpression: - return parent.callee === node; - case utils_1.AST_NODE_TYPES.ConditionalExpression: - return parent.test === node; - case utils_1.AST_NODE_TYPES.TaggedTemplateExpression: - return parent.tag === node; - case utils_1.AST_NODE_TYPES.UnaryExpression: - // the first case is safe for obvious - // reasons. The second one is also fine - // since we're returning something falsy - return ['!', 'delete', 'typeof', 'void'].includes(parent.operator); - case utils_1.AST_NODE_TYPES.BinaryExpression: - return ['!=', '!==', '==', '===', 'instanceof'].includes(parent.operator); - case utils_1.AST_NODE_TYPES.AssignmentExpression: - return (parent.operator === '=' && - (node === parent.left || - (node.type === utils_1.AST_NODE_TYPES.MemberExpression && - node.object.type === utils_1.AST_NODE_TYPES.Super && - parent.left.type === utils_1.AST_NODE_TYPES.MemberExpression && - parent.left.object.type === utils_1.AST_NODE_TYPES.ThisExpression))); - case utils_1.AST_NODE_TYPES.ChainExpression: - case utils_1.AST_NODE_TYPES.TSNonNullExpression: - case utils_1.AST_NODE_TYPES.TSAsExpression: - case utils_1.AST_NODE_TYPES.TSTypeAssertion: - return isSafeUse(parent); - case utils_1.AST_NODE_TYPES.LogicalExpression: - if (parent.operator === '&&' && parent.left === node) { - // this is safe, as && will return the left if and only if it's falsy - return true; - } - // in all other cases, it's likely the logical expression will return the method ref - // so make sure the parent is a safe usage - return isSafeUse(parent); - } - return false; -} -//# sourceMappingURL=unbound-method.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map deleted file mode 100644 index 4c530b03..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"unbound-method.js","sourceRoot":"","sources":["../../src/rules/unbound-method.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js deleted file mode 100644 index aa3a50e4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js +++ /dev/null @@ -1,399 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const util_1 = require("../util"); -exports.default = (0, util_1.createRule)({ - name: 'unified-signatures', - meta: { - type: 'suggestion', - docs: { - description: 'Disallow two overloads that could be unified into one with a union or an optional/rest parameter', - // too opinionated to be recommended - recommended: 'strict', - }, - messages: { - omittingRestParameter: '{{failureStringStart}} with a rest parameter.', - omittingSingleParameter: '{{failureStringStart}} with an optional parameter.', - singleParameterDifference: '{{failureStringStart}} taking `{{type1}} | {{type2}}`.', - }, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - ignoreDifferentlyNamedParameters: { - type: 'boolean', - description: 'Whether two parameters with different names at the same index should be considered different even if their types are the same.', - }, - }, - }, - ], - }, - defaultOptions: [ - { - ignoreDifferentlyNamedParameters: false, - }, - ], - create(context, [{ ignoreDifferentlyNamedParameters }]) { - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - function failureStringStart(otherLine) { - // For only 2 overloads we don't need to specify which is the other one. - const overloads = otherLine == null - ? 'These overloads' - : `This overload and the one on line ${otherLine}`; - return `${overloads} can be combined into one signature`; - } - function addFailures(failures) { - for (const failure of failures) { - const { only2, unify } = failure; - switch (unify.kind) { - case 'single-parameter-difference': { - const { p0, p1 } = unify; - const lineOfOtherOverload = only2 ? undefined : p0.loc.start.line; - const typeAnnotation0 = isTSParameterProperty(p0) - ? p0.parameter.typeAnnotation - : p0.typeAnnotation; - const typeAnnotation1 = isTSParameterProperty(p1) - ? p1.parameter.typeAnnotation - : p1.typeAnnotation; - context.report({ - loc: p1.loc, - node: p1, - messageId: 'singleParameterDifference', - data: { - failureStringStart: failureStringStart(lineOfOtherOverload), - type1: context.sourceCode.getText(typeAnnotation0?.typeAnnotation), - type2: context.sourceCode.getText(typeAnnotation1?.typeAnnotation), - }, - }); - break; - } - case 'extra-parameter': { - const { extraParameter, otherSignature } = unify; - const lineOfOtherOverload = only2 - ? undefined - : otherSignature.loc.start.line; - context.report({ - loc: extraParameter.loc, - node: extraParameter, - messageId: extraParameter.type === utils_1.AST_NODE_TYPES.RestElement - ? 'omittingRestParameter' - : 'omittingSingleParameter', - data: { - failureStringStart: failureStringStart(lineOfOtherOverload), - }, - }); - } - } - } - } - function checkOverloads(signatures, typeParameters) { - const result = []; - const isTypeParameter = getIsTypeParameter(typeParameters); - for (const overloads of signatures) { - forEachPair(overloads, (a, b) => { - const signature0 = a.value ?? a; - const signature1 = b.value ?? b; - const unify = compareSignatures(signature0, signature1, isTypeParameter); - if (unify != null) { - result.push({ only2: overloads.length === 2, unify }); - } - }); - } - return result; - } - function compareSignatures(a, b, isTypeParameter) { - if (!signaturesCanBeUnified(a, b, isTypeParameter)) { - return undefined; - } - return a.params.length === b.params.length - ? signaturesDifferBySingleParameter(a.params, b.params) - : signaturesDifferByOptionalOrRestParameter(a, b); - } - function signaturesCanBeUnified(a, b, isTypeParameter) { - // Must return the same type. - const aTypeParams = a.typeParameters != null ? a.typeParameters.params : undefined; - const bTypeParams = b.typeParameters != null ? b.typeParameters.params : undefined; - if (ignoreDifferentlyNamedParameters) { - const commonParamsLength = Math.min(a.params.length, b.params.length); - for (let i = 0; i < commonParamsLength; i += 1) { - if (a.params[i].type === b.params[i].type && - getStaticParameterName(a.params[i]) !== - getStaticParameterName(b.params[i])) { - return false; - } - } - } - return (typesAreEqual(a.returnType, b.returnType) && - // Must take the same type parameters. - // If one uses a type parameter (from outside) and the other doesn't, they shouldn't be joined. - (0, util_1.arraysAreEqual)(aTypeParams, bTypeParams, typeParametersAreEqual) && - signatureUsesTypeParameter(a, isTypeParameter) === - signatureUsesTypeParameter(b, isTypeParameter)); - } - /** Detect `a(x: number, y: number, z: number)` and `a(x: number, y: string, z: number)`. */ - function signaturesDifferBySingleParameter(types1, types2) { - const index = getIndexOfFirstDifference(types1, types2, parametersAreEqual); - if (index == null) { - return undefined; - } - // If remaining arrays are equal, the signatures differ by just one parameter type - if (!(0, util_1.arraysAreEqual)(types1.slice(index + 1), types2.slice(index + 1), parametersAreEqual)) { - return undefined; - } - const a = types1[index]; - const b = types2[index]; - // Can unify `a?: string` and `b?: number`. Can't unify `...args: string[]` and `...args: number[]`. - // See https://github.com/Microsoft/TypeScript/issues/5077 - return parametersHaveEqualSigils(a, b) && - a.type !== utils_1.AST_NODE_TYPES.RestElement - ? { kind: 'single-parameter-difference', p0: a, p1: b } - : undefined; - } - /** - * Detect `a(): void` and `a(x: number): void`. - * Returns the parameter declaration (`x: number` in this example) that should be optional/rest, and overload it's a part of. - */ - function signaturesDifferByOptionalOrRestParameter(a, b) { - const sig1 = a.params; - const sig2 = b.params; - const minLength = Math.min(sig1.length, sig2.length); - const longer = sig1.length < sig2.length ? sig2 : sig1; - const shorter = sig1.length < sig2.length ? sig1 : sig2; - const shorterSig = sig1.length < sig2.length ? a : b; - // If one is has 2+ parameters more than the other, they must all be optional/rest. - // Differ by optional parameters: f() and f(x), f() and f(x, ?y, ...z) - // Not allowed: f() and f(x, y) - for (let i = minLength + 1; i < longer.length; i++) { - if (!parameterMayBeMissing(longer[i])) { - return undefined; - } - } - for (let i = 0; i < minLength; i++) { - const sig1i = sig1[i]; - const sig2i = sig2[i]; - const typeAnnotation1 = isTSParameterProperty(sig1i) - ? sig1i.parameter.typeAnnotation - : sig1i.typeAnnotation; - const typeAnnotation2 = isTSParameterProperty(sig2i) - ? sig2i.parameter.typeAnnotation - : sig2i.typeAnnotation; - if (!typesAreEqual(typeAnnotation1, typeAnnotation2)) { - return undefined; - } - } - if (minLength > 0 && - shorter[minLength - 1].type === utils_1.AST_NODE_TYPES.RestElement) { - return undefined; - } - return { - extraParameter: longer[longer.length - 1], - kind: 'extra-parameter', - otherSignature: shorterSig, - }; - } - /** Given type parameters, returns a function to test whether a type is one of those parameters. */ - function getIsTypeParameter(typeParameters) { - if (typeParameters == null) { - return (() => false); - } - const set = new Set(); - for (const t of typeParameters.params) { - set.add(t.name.name); - } - return (typeName => set.has(typeName)); - } - /** True if any of the outer type parameters are used in a signature. */ - function signatureUsesTypeParameter(sig, isTypeParameter) { - return sig.params.some((p) => typeContainsTypeParameter(isTSParameterProperty(p) - ? p.parameter.typeAnnotation - : p.typeAnnotation)); - function typeContainsTypeParameter(type) { - if (!type) { - return false; - } - if (type.type === utils_1.AST_NODE_TYPES.TSTypeReference) { - const typeName = type.typeName; - if (isIdentifier(typeName) && isTypeParameter(typeName.name)) { - return true; - } - } - return typeContainsTypeParameter(type.typeAnnotation ?? - type.elementType); - } - } - function isTSParameterProperty(node) { - return node.type === utils_1.AST_NODE_TYPES.TSParameterProperty; - } - function parametersAreEqual(a, b) { - const typeAnnotationA = isTSParameterProperty(a) - ? a.parameter.typeAnnotation - : a.typeAnnotation; - const typeAnnotationB = isTSParameterProperty(b) - ? b.parameter.typeAnnotation - : b.typeAnnotation; - return (parametersHaveEqualSigils(a, b) && - typesAreEqual(typeAnnotationA, typeAnnotationB)); - } - /** True for optional/rest parameters. */ - function parameterMayBeMissing(p) { - const optional = isTSParameterProperty(p) - ? p.parameter.optional - : p.optional; - return p.type === utils_1.AST_NODE_TYPES.RestElement || optional; - } - /** False if one is optional and the other isn't, or one is a rest parameter and the other isn't. */ - function parametersHaveEqualSigils(a, b) { - const optionalA = isTSParameterProperty(a) - ? a.parameter.optional - : a.optional; - const optionalB = isTSParameterProperty(b) - ? b.parameter.optional - : b.optional; - return ((a.type === utils_1.AST_NODE_TYPES.RestElement) === - (b.type === utils_1.AST_NODE_TYPES.RestElement) && optionalA === optionalB); - } - function typeParametersAreEqual(a, b) { - return (a.name.name === b.name.name && - constraintsAreEqual(a.constraint, b.constraint)); - } - function typesAreEqual(a, b) { - return (a === b || - (a != null && - b != null && - context.sourceCode.getText(a.typeAnnotation) === - context.sourceCode.getText(b.typeAnnotation))); - } - function constraintsAreEqual(a, b) { - return a === b || (a != null && b != null && a.type === b.type); - } - /* Returns the first index where `a` and `b` differ. */ - function getIndexOfFirstDifference(a, b, equal) { - for (let i = 0; i < a.length && i < b.length; i++) { - if (!equal(a[i], b[i])) { - return i; - } - } - return undefined; - } - /** Calls `action` for every pair of values in `values`. */ - function forEachPair(values, action) { - for (let i = 0; i < values.length; i++) { - for (let j = i + 1; j < values.length; j++) { - action(values[i], values[j]); - } - } - } - const scopes = []; - let currentScope = { - overloads: new Map(), - }; - function createScope(parent, typeParameters) { - if (currentScope) { - scopes.push(currentScope); - } - currentScope = { - overloads: new Map(), - parent, - typeParameters, - }; - } - function checkScope() { - const scope = (0, util_1.nullThrows)(currentScope, 'checkScope() called without a current scope'); - const failures = checkOverloads([...scope.overloads.values()], scope.typeParameters); - addFailures(failures); - currentScope = scopes.pop(); - } - function addOverload(signature, key, containingNode) { - key ??= getOverloadKey(signature); - if (currentScope && - (containingNode ?? signature).parent === currentScope.parent) { - const overloads = currentScope.overloads.get(key); - if (overloads != null) { - overloads.push(signature); - } - else { - currentScope.overloads.set(key, [signature]); - } - } - } - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - return { - ClassDeclaration(node) { - createScope(node.body, node.typeParameters); - }, - Program: createScope, - TSInterfaceDeclaration(node) { - createScope(node.body, node.typeParameters); - }, - TSModuleBlock: createScope, - TSTypeLiteral: createScope, - // collect overloads - MethodDefinition(node) { - if (!node.value.body) { - addOverload(node); - } - }, - TSAbstractMethodDefinition(node) { - if (!node.value.body) { - addOverload(node); - } - }, - TSCallSignatureDeclaration: addOverload, - TSConstructSignatureDeclaration: addOverload, - TSDeclareFunction(node) { - const exportingNode = getExportingNode(node); - addOverload(node, node.id?.name ?? exportingNode?.type, exportingNode); - }, - TSMethodSignature: addOverload, - // validate scopes - 'ClassDeclaration:exit': checkScope, - 'Program:exit': checkScope, - 'TSInterfaceDeclaration:exit': checkScope, - 'TSModuleBlock:exit': checkScope, - 'TSTypeLiteral:exit': checkScope, - }; - }, -}); -function getExportingNode(node) { - return node.parent.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration || - node.parent.type === utils_1.AST_NODE_TYPES.ExportDefaultDeclaration - ? node.parent - : undefined; -} -function getOverloadKey(node) { - const info = getOverloadInfo(node); - return ((node.computed ? '0' : '1') + - (node.static ? '0' : '1') + - info); -} -function getOverloadInfo(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration: - return 'constructor'; - case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration: - return '()'; - default: { - const { key } = node; - return isIdentifier(key) ? key.name : key.raw; - } - } -} -function getStaticParameterName(param) { - switch (param.type) { - case utils_1.AST_NODE_TYPES.Identifier: - return param.name; - case utils_1.AST_NODE_TYPES.RestElement: - return getStaticParameterName(param.argument); - default: - return undefined; - } -} -function isIdentifier(node) { - return node.type === utils_1.AST_NODE_TYPES.Identifier; -} -//# sourceMappingURL=unified-signatures.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map deleted file mode 100644 index a5f74170..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"unified-signatures.js","sourceRoot":"","sources":["../../src/rules/unified-signatures.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js deleted file mode 100644 index b7a5b708..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js +++ /dev/null @@ -1,263 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const util_1 = require("../util"); -const useUnknownMessageBase = 'Prefer the safe `: unknown` for a `{{method}}`{{append}} callback variable.'; -exports.default = (0, util_1.createRule)({ - name: 'use-unknown-in-catch-callback-variable', - meta: { - type: 'suggestion', - docs: { - description: 'Enforce typing arguments in Promise rejection callbacks as `unknown`', - recommended: 'strict', - requiresTypeChecking: true, - }, - fixable: 'code', - hasSuggestions: true, - messages: { - addUnknownRestTypeAnnotationSuggestion: 'Add an explicit `: [unknown]` type annotation to the rejection callback rest variable.', - addUnknownTypeAnnotationSuggestion: 'Add an explicit `: unknown` type annotation to the rejection callback variable.', - useUnknown: useUnknownMessageBase, - useUnknownArrayDestructuringPattern: `${useUnknownMessageBase} The thrown error may not be iterable.`, - useUnknownObjectDestructuringPattern: `${useUnknownMessageBase} The thrown error may be nullable, or may not have the expected shape.`, - wrongRestTypeAnnotationSuggestion: 'Change existing type annotation to `: [unknown]`.', - wrongTypeAnnotationSuggestion: 'Change existing type annotation to `: unknown`.', - }, - schema: [], - }, - defaultOptions: [], - create(context) { - const { esTreeNodeToTSNodeMap, program } = (0, util_1.getParserServices)(context); - const checker = program.getTypeChecker(); - function isFlaggableHandlerType(type) { - for (const unionPart of tsutils.unionTypeParts(type)) { - const callSignatures = tsutils.getCallSignaturesOfType(unionPart); - if (callSignatures.length === 0) { - // Ignore any non-function components to the type. Those are not this rule's problem. - continue; - } - for (const callSignature of callSignatures) { - const firstParam = callSignature.parameters.at(0); - if (!firstParam) { - // it's not an issue if there's no catch variable at all. - continue; - } - let firstParamType = checker.getTypeOfSymbol(firstParam); - const decl = firstParam.valueDeclaration; - if (decl != null && (0, util_1.isRestParameterDeclaration)(decl)) { - if (checker.isArrayType(firstParamType)) { - firstParamType = checker.getTypeArguments(firstParamType)[0]; - } - else if (checker.isTupleType(firstParamType)) { - firstParamType = checker.getTypeArguments(firstParamType)[0]; - } - else { - // a rest arg that's not an array or tuple should definitely be flagged. - return true; - } - } - if (!tsutils.isIntrinsicUnknownType(firstParamType)) { - return true; - } - } - } - return false; - } - function collectFlaggedNodes(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.LogicalExpression: - return [ - ...collectFlaggedNodes(node.left), - ...collectFlaggedNodes(node.right), - ]; - case utils_1.AST_NODE_TYPES.SequenceExpression: - return collectFlaggedNodes((0, util_1.nullThrows)(node.expressions.at(-1), 'sequence expression must have multiple expressions')); - case utils_1.AST_NODE_TYPES.ConditionalExpression: - return [ - ...collectFlaggedNodes(node.consequent), - ...collectFlaggedNodes(node.alternate), - ]; - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionExpression: - { - const argument = esTreeNodeToTSNodeMap.get(node); - const typeOfArgument = checker.getTypeAtLocation(argument); - if (isFlaggableHandlerType(typeOfArgument)) { - return [node]; - } - } - break; - default: - break; - } - return []; - } - /** - * Analyzes the syntax of the catch argument and makes a best effort to pinpoint - * why it's reporting, and to come up with a suggested fix if possible. - * - * This function is explicitly operating under the assumption that the - * rule _is reporting_, so it is not guaranteed to be sound to call otherwise. - */ - function refineReportIfPossible(argument) { - const catchVariableOuterWithIncorrectTypes = (0, util_1.nullThrows)(argument.params.at(0), 'There should have been at least one parameter for the rule to have flagged.'); - // Function expressions can't have parameter properties; those only exist in constructors. - const catchVariableOuter = catchVariableOuterWithIncorrectTypes; - const catchVariableInner = catchVariableOuter.type === utils_1.AST_NODE_TYPES.AssignmentPattern - ? catchVariableOuter.left - : catchVariableOuter; - switch (catchVariableInner.type) { - case utils_1.AST_NODE_TYPES.Identifier: { - const catchVariableTypeAnnotation = catchVariableInner.typeAnnotation; - if (catchVariableTypeAnnotation == null) { - return { - node: catchVariableOuter, - suggest: [ - { - messageId: 'addUnknownTypeAnnotationSuggestion', - fix: (fixer) => { - if (argument.type === - utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - (0, util_1.isParenlessArrowFunction)(argument, context.sourceCode)) { - return [ - fixer.insertTextBefore(catchVariableInner, '('), - fixer.insertTextAfter(catchVariableInner, ': unknown)'), - ]; - } - return [ - fixer.insertTextAfter(catchVariableInner, ': unknown'), - ]; - }, - }, - ], - }; - } - return { - node: catchVariableOuter, - suggest: [ - { - messageId: 'wrongTypeAnnotationSuggestion', - fix: (fixer) => fixer.replaceText(catchVariableTypeAnnotation, ': unknown'), - }, - ], - }; - } - case utils_1.AST_NODE_TYPES.ArrayPattern: { - return { - node: catchVariableOuter, - messageId: 'useUnknownArrayDestructuringPattern', - }; - } - case utils_1.AST_NODE_TYPES.ObjectPattern: { - return { - node: catchVariableOuter, - messageId: 'useUnknownObjectDestructuringPattern', - }; - } - case utils_1.AST_NODE_TYPES.RestElement: { - const catchVariableTypeAnnotation = catchVariableInner.typeAnnotation; - if (catchVariableTypeAnnotation == null) { - return { - node: catchVariableOuter, - suggest: [ - { - messageId: 'addUnknownRestTypeAnnotationSuggestion', - fix: (fixer) => fixer.insertTextAfter(catchVariableInner, ': [unknown]'), - }, - ], - }; - } - return { - node: catchVariableOuter, - suggest: [ - { - messageId: 'wrongRestTypeAnnotationSuggestion', - fix: (fixer) => fixer.replaceText(catchVariableTypeAnnotation, ': [unknown]'), - }, - ], - }; - } - } - } - return { - CallExpression({ arguments: args, callee }) { - if (callee.type !== utils_1.AST_NODE_TYPES.MemberExpression) { - return; - } - const staticMemberAccessKey = (0, util_1.getStaticMemberAccessValue)(callee, context); - if (!staticMemberAccessKey) { - return; - } - const promiseMethodInfo = [ - { append: '', argIndexToCheck: 0, method: 'catch' }, - { append: ' rejection', argIndexToCheck: 1, method: 'then' }, - ].find(({ method }) => staticMemberAccessKey === method); - if (!promiseMethodInfo) { - return; - } - // Need to be enough args to check - const { argIndexToCheck, ...data } = promiseMethodInfo; - if (args.length < argIndexToCheck + 1) { - return; - } - // Argument to check, and all arguments before it, must be "ordinary" arguments (i.e. no spread arguments) - // promise.catch(f), promise.catch(() => {}), promise.catch(, <>) - const argsToCheck = args.slice(0, argIndexToCheck + 1); - if (argsToCheck.some(({ type }) => type === utils_1.AST_NODE_TYPES.SpreadElement)) { - return; - } - if (!tsutils.isThenableType(checker, esTreeNodeToTSNodeMap.get(callee), checker.getTypeAtLocation(esTreeNodeToTSNodeMap.get(callee.object)))) { - return; - } - // the `some` check above has already excluded `SpreadElement`, so we are safe to assert the same - const argToCheck = argsToCheck[argIndexToCheck]; - for (const node of collectFlaggedNodes(argToCheck)) { - // We are now guaranteed to report, but we have a bit of work to do - // to determine exactly where, and whether we can fix it. - const overrides = refineReportIfPossible(node); - context.report({ - node, - messageId: 'useUnknown', - data, - ...overrides, - }); - } - }, - }; - }, -}); -//# sourceMappingURL=use-unknown-in-catch-callback-variable.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js.map deleted file mode 100644 index 9f24a489..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/rules/use-unknown-in-catch-callback-variable.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"use-unknown-in-catch-callback-variable.js","sourceRoot":"","sources":["../../src/rules/use-unknown-in-catch-callback-variable.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js deleted file mode 100644 index d598a39f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.findTruthinessAssertedArgument = findTruthinessAssertedArgument; -exports.findTypeGuardAssertedArgument = findTypeGuardAssertedArgument; -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -/** - * Inspect a call expression to see if it's a call to an assertion function. - * If it is, return the node of the argument that is asserted. - */ -function findTruthinessAssertedArgument(services, node) { - // If the call looks like `assert(expr1, expr2, ...c, d, e, f)`, then we can - // only care if `expr1` or `expr2` is asserted, since anything that happens - // within or after a spread argument is out of scope to reason about. - const checkableArguments = []; - for (const argument of node.arguments) { - if (argument.type === utils_1.AST_NODE_TYPES.SpreadElement) { - break; - } - checkableArguments.push(argument); - } - // nothing to do - if (checkableArguments.length === 0) { - return undefined; - } - const checker = services.program.getTypeChecker(); - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - const signature = checker.getResolvedSignature(tsNode); - if (signature == null) { - return undefined; - } - const firstTypePredicateResult = checker.getTypePredicateOfSignature(signature); - if (firstTypePredicateResult == null) { - return undefined; - } - const { kind, parameterIndex, type } = firstTypePredicateResult; - if (!(kind === ts.TypePredicateKind.AssertsIdentifier && type == null)) { - return undefined; - } - return checkableArguments.at(parameterIndex); -} -/** - * Inspect a call expression to see if it's a call to an assertion function. - * If it is, return the node of the argument that is asserted and other useful info. - */ -function findTypeGuardAssertedArgument(services, node) { - // If the call looks like `assert(expr1, expr2, ...c, d, e, f)`, then we can - // only care if `expr1` or `expr2` is asserted, since anything that happens - // within or after a spread argument is out of scope to reason about. - const checkableArguments = []; - for (const argument of node.arguments) { - if (argument.type === utils_1.AST_NODE_TYPES.SpreadElement) { - break; - } - checkableArguments.push(argument); - } - // nothing to do - if (checkableArguments.length === 0) { - return undefined; - } - const checker = services.program.getTypeChecker(); - const tsNode = services.esTreeNodeToTSNodeMap.get(node); - const callSignature = checker.getResolvedSignature(tsNode); - if (callSignature == null) { - return undefined; - } - const typePredicateInfo = checker.getTypePredicateOfSignature(callSignature); - if (typePredicateInfo == null) { - return undefined; - } - const { kind, parameterIndex, type } = typePredicateInfo; - if (!((kind === ts.TypePredicateKind.AssertsIdentifier || - kind === ts.TypePredicateKind.Identifier) && - type != null)) { - return undefined; - } - if (parameterIndex >= checkableArguments.length) { - return undefined; - } - return { - argument: checkableArguments[parameterIndex], - asserts: kind === ts.TypePredicateKind.AssertsIdentifier, - type, - }; -} -//# sourceMappingURL=assertionFunctionUtils.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js.map deleted file mode 100644 index 7924c859..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/assertionFunctionUtils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"assertionFunctionUtils.js","sourceRoot":"","sources":["../../src/util/assertionFunctionUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js deleted file mode 100644 index 444addb7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js +++ /dev/null @@ -1,98 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getNameLocationInGlobalDirectiveComment = getNameLocationInGlobalDirectiveComment; -exports.forEachReturnStatement = forEachReturnStatement; -const ts = __importStar(require("typescript")); -const escapeRegExp_1 = require("./escapeRegExp"); -// deeply re-export, for convenience -__exportStar(require("@typescript-eslint/utils/ast-utils"), exports); -// The following is copied from `eslint`'s source code since it doesn't exist in eslint@5. -// https://github.com/eslint/eslint/blob/145aec1ab9052fbca96a44d04927c595951b1536/lib/rules/utils/ast-utils.js#L1751-L1779 -// Could be export { getNameLocationInGlobalDirectiveComment } from 'eslint/lib/rules/utils/ast-utils' -/** - * Get the `loc` object of a given name in a `/*globals` directive comment. - * @param sourceCode The source code to convert index to loc. - * @param comment The `/*globals` directive comment which include the name. - * @param name The name to find. - * @returns The `loc` object. - */ -function getNameLocationInGlobalDirectiveComment(sourceCode, comment, name) { - const namePattern = new RegExp(`[\\s,]${(0, escapeRegExp_1.escapeRegExp)(name)}(?:$|[\\s,:])`, 'gu'); - // To ignore the first text "global". - namePattern.lastIndex = comment.value.indexOf('global') + 6; - // Search a given variable name. - const match = namePattern.exec(comment.value); - // Convert the index to loc. - const start = sourceCode.getLocFromIndex(comment.range[0] + '/*'.length + (match ? match.index + 1 : 0)); - const end = { - column: start.column + (match ? name.length : 1), - line: start.line, - }; - return { end, start }; -} -// Copied from typescript https://github.com/microsoft/TypeScript/blob/42b0e3c4630c129ca39ce0df9fff5f0d1b4dd348/src/compiler/utilities.ts#L1335 -// Warning: This has the same semantics as the forEach family of functions, -// in that traversal terminates in the event that 'visitor' supplies a truthy value. -function forEachReturnStatement(body, visitor) { - return traverse(body); - function traverse(node) { - switch (node.kind) { - case ts.SyntaxKind.ReturnStatement: - return visitor(node); - case ts.SyntaxKind.CaseBlock: - case ts.SyntaxKind.Block: - case ts.SyntaxKind.IfStatement: - case ts.SyntaxKind.DoStatement: - case ts.SyntaxKind.WhileStatement: - case ts.SyntaxKind.ForStatement: - case ts.SyntaxKind.ForInStatement: - case ts.SyntaxKind.ForOfStatement: - case ts.SyntaxKind.WithStatement: - case ts.SyntaxKind.SwitchStatement: - case ts.SyntaxKind.CaseClause: - case ts.SyntaxKind.DefaultClause: - case ts.SyntaxKind.LabeledStatement: - case ts.SyntaxKind.TryStatement: - case ts.SyntaxKind.CatchClause: - return ts.forEachChild(node, traverse); - } - return undefined; - } -} -//# sourceMappingURL=astUtils.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map deleted file mode 100644 index 1c052ca8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/astUtils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astUtils.js","sourceRoot":"","sources":["../../src/util/astUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,0FA0BC;AAKD,wDA8BC;AA9ED,+CAAiC;AAEjC,iDAA8C;AAE9C,oCAAoC;AACpC,qEAAmD;AAEnD,0FAA0F;AAC1F,0HAA0H;AAC1H,sGAAsG;AACtG;;;;;;GAMG;AACH,SAAgB,uCAAuC,CACrD,UAA+B,EAC/B,OAAyB,EACzB,IAAY;IAEZ,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,SAAS,IAAA,2BAAY,EAAC,IAAI,CAAC,eAAe,EAC1C,IAAI,CACL,CAAC;IAEF,qCAAqC;IACrC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE5D,gCAAgC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE9C,4BAA4B;IAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,eAAe,CACtC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;IACF,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACxB,CAAC;AAED,+IAA+I;AAC/I,2EAA2E;AAC3E,6FAA6F;AAC7F,SAAgB,sBAAsB,CACpC,IAAc,EACd,OAAwC;IAExC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtB,SAAS,QAAQ,CAAC,IAAa;QAC7B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,EAAE,CAAC,UAAU,CAAC,eAAe;gBAChC,OAAO,OAAO,CAAC,IAA0B,CAAC,CAAC;YAC7C,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAC7B,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACzB,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAClC,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAChC,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAClC,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAClC,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;YACnC,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9B,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACpC,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAChC,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;gBAC5B,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js deleted file mode 100644 index 4c0d2792..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js +++ /dev/null @@ -1,605 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.collectVariables = collectVariables; -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -const isTypeImport_1 = require("./isTypeImport"); -const referenceContainsTypeQuery_1 = require("./referenceContainsTypeQuery"); -/** - * This class leverages an AST visitor to mark variables as used via the - * `eslintUsed` property. - */ -class UnusedVarsVisitor extends scope_manager_1.Visitor { - /** - * We keep a weak cache so that multiple rules can share the calculation - */ - static RESULTS_CACHE = new WeakMap(); - ClassDeclaration = this.visitClass; - ClassExpression = this.visitClass; - ForInStatement = this.visitForInForOf; - ForOfStatement = this.visitForInForOf; - //#region HELPERS - FunctionDeclaration = this.visitFunction; - FunctionExpression = this.visitFunction; - MethodDefinition = this.visitSetter; - Property = this.visitSetter; - TSCallSignatureDeclaration = this.visitFunctionTypeSignature; - TSConstructorType = this.visitFunctionTypeSignature; - TSConstructSignatureDeclaration = this.visitFunctionTypeSignature; - TSDeclareFunction = this.visitFunctionTypeSignature; - TSEmptyBodyFunctionExpression = this.visitFunctionTypeSignature; - //#endregion HELPERS - //#region VISITORS - // NOTE - This is a simple visitor - meaning it does not support selectors - TSFunctionType = this.visitFunctionTypeSignature; - TSMethodSignature = this.visitFunctionTypeSignature; - #scopeManager; - constructor(scopeManager) { - super({ - visitChildrenEvenIfSelectorExists: true, - }); - this.#scopeManager = scopeManager; - } - static collectUnusedVariables(program, scopeManager) { - const cached = this.RESULTS_CACHE.get(program); - if (cached) { - return cached; - } - const visitor = new this(scopeManager); - visitor.visit(program); - const unusedVars = visitor.collectUnusedVariables(visitor.getScope(program)); - this.RESULTS_CACHE.set(program, unusedVars); - return unusedVars; - } - Identifier(node) { - const scope = this.getScope(node); - if (scope.type === utils_1.TSESLint.Scope.ScopeType.function && - node.name === 'this' && - // this parameters should always be considered used as they're pseudo-parameters - 'params' in scope.block && - scope.block.params.includes(node)) { - this.markVariableAsUsed(node); - } - } - TSEnumDeclaration(node) { - // enum members create variables because they can be referenced within the enum, - // but they obviously aren't unused variables for the purposes of this rule. - const scope = this.getScope(node); - for (const variable of scope.variables) { - this.markVariableAsUsed(variable); - } - } - TSMappedType(node) { - // mapped types create a variable for their type name, but it's not necessary to reference it, - // so we shouldn't consider it as unused for the purpose of this rule. - this.markVariableAsUsed(node.key); - } - TSModuleDeclaration(node) { - // -- global augmentation can be in any file, and they do not need exports - if (node.kind === 'global') { - this.markVariableAsUsed('global', node.parent); - } - } - TSParameterProperty(node) { - let identifier = null; - switch (node.parameter.type) { - case utils_1.AST_NODE_TYPES.AssignmentPattern: - if (node.parameter.left.type === utils_1.AST_NODE_TYPES.Identifier) { - identifier = node.parameter.left; - } - break; - case utils_1.AST_NODE_TYPES.Identifier: - identifier = node.parameter; - break; - } - if (identifier) { - this.markVariableAsUsed(identifier); - } - } - collectUnusedVariables(scope, variables = { - unusedVariables: new Set(), - usedVariables: new Set(), - }) { - if ( - // skip function expression names - // this scope is created just to house the variable that allows a function - // expression to self-reference if it has a name defined - !scope.functionExpressionScope) { - for (const variable of scope.variables) { - // cases that we don't want to treat as used or unused - if ( - // implicit lib variables (from @typescript-eslint/scope-manager) - // these aren't variables that should be checked ever - variable instanceof scope_manager_1.ImplicitLibVariable) { - continue; - } - if ( - // variables marked with markVariableAsUsed() - variable.eslintUsed || - // basic exported variables - isExported(variable) || - // variables implicitly exported via a merged declaration - isMergableExported(variable) || - // used variables - isUsedVariable(variable)) { - variables.usedVariables.add(variable); - } - else { - variables.unusedVariables.add(variable); - } - } - } - for (const childScope of scope.childScopes) { - this.collectUnusedVariables(childScope, variables); - } - return variables; - } - getScope(currentNode) { - // On Program node, get the outermost scope to avoid return Node.js special function scope or ES modules scope. - const inner = currentNode.type !== utils_1.AST_NODE_TYPES.Program; - let node = currentNode; - while (node) { - const scope = this.#scopeManager.acquire(node, inner); - if (scope) { - if (scope.type === scope_manager_1.ScopeType.functionExpressionName) { - return scope.childScopes[0]; - } - return scope; - } - node = node.parent; - } - return this.#scopeManager.scopes[0]; - } - markVariableAsUsed(variableOrIdentifierOrName, parent) { - if (typeof variableOrIdentifierOrName !== 'string' && - !('type' in variableOrIdentifierOrName)) { - variableOrIdentifierOrName.eslintUsed = true; - return; - } - let name; - let node; - if (typeof variableOrIdentifierOrName === 'string') { - name = variableOrIdentifierOrName; - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - node = parent; - } - else { - name = variableOrIdentifierOrName.name; - node = variableOrIdentifierOrName; - } - let currentScope = this.getScope(node); - while (currentScope) { - const variable = currentScope.variables.find(scopeVar => scopeVar.name === name); - if (variable) { - variable.eslintUsed = true; - return; - } - currentScope = currentScope.upper; - } - } - visitClass(node) { - // skip a variable of class itself name in the class scope - const scope = this.getScope(node); - for (const variable of scope.variables) { - if (variable.identifiers[0] === scope.block.id) { - this.markVariableAsUsed(variable); - return; - } - } - } - visitForInForOf(node) { - /** - * (Brad Zacher): I hate that this has to exist. - * But it is required for compat with the base ESLint rule. - * - * In 2015, ESLint decided to add an exception for these two specific cases - * ``` - * for (var key in object) return; - * - * var key; - * for (key in object) return; - * ``` - * - * I disagree with it, but what are you going to do... - * - * https://github.com/eslint/eslint/issues/2342 - */ - let idOrVariable; - if (node.left.type === utils_1.AST_NODE_TYPES.VariableDeclaration) { - const variable = this.#scopeManager.getDeclaredVariables(node.left).at(0); - if (!variable) { - return; - } - idOrVariable = variable; - } - if (node.left.type === utils_1.AST_NODE_TYPES.Identifier) { - idOrVariable = node.left; - } - if (idOrVariable == null) { - return; - } - let body = node.body; - if (node.body.type === utils_1.AST_NODE_TYPES.BlockStatement) { - if (node.body.body.length !== 1) { - return; - } - body = node.body.body[0]; - } - if (body.type !== utils_1.AST_NODE_TYPES.ReturnStatement) { - return; - } - this.markVariableAsUsed(idOrVariable); - } - visitFunction(node) { - const scope = this.getScope(node); - // skip implicit "arguments" variable - const variable = scope.set.get('arguments'); - if (variable?.defs.length === 0) { - this.markVariableAsUsed(variable); - } - } - visitFunctionTypeSignature(node) { - // function type signature params create variables because they can be referenced within the signature, - // but they obviously aren't unused variables for the purposes of this rule. - for (const param of node.params) { - this.visitPattern(param, name => { - this.markVariableAsUsed(name); - }); - } - } - visitSetter(node) { - if (node.kind === 'set') { - // ignore setter parameters because they're syntactically required to exist - for (const param of node.value.params) { - this.visitPattern(param, id => { - this.markVariableAsUsed(id); - }); - } - } - } -} -//#region private helpers -/** - * Checks the position of given nodes. - * @param inner A node which is expected as inside. - * @param outer A node which is expected as outside. - * @returns `true` if the `inner` node exists in the `outer` node. - */ -function isInside(inner, outer) { - return inner.range[0] >= outer.range[0] && inner.range[1] <= outer.range[1]; -} -/** - * Determine if an identifier is referencing an enclosing name. - * This only applies to declarations that create their own scope (modules, functions, classes) - * @param ref The reference to check. - * @param nodes The candidate function nodes. - * @returns True if it's a self-reference, false if not. - */ -function isSelfReference(ref, nodes) { - let scope = ref.from; - while (scope) { - if (nodes.has(scope.block)) { - return true; - } - scope = scope.upper; - } - return false; -} -const MERGABLE_TYPES = new Set([ - utils_1.AST_NODE_TYPES.ClassDeclaration, - utils_1.AST_NODE_TYPES.FunctionDeclaration, - utils_1.AST_NODE_TYPES.TSInterfaceDeclaration, - utils_1.AST_NODE_TYPES.TSModuleDeclaration, - utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration, -]); -/** - * Determine if the variable is directly exported - * @param variable the variable to check - */ -function isMergableExported(variable) { - // If all of the merged things are of the same type, TS will error if not all of them are exported - so we only need to find one - for (const def of variable.defs) { - // parameters can never be exported. - // their `node` prop points to the function decl, which can be exported - // so we need to special case them - if (def.type === utils_1.TSESLint.Scope.DefinitionType.Parameter) { - continue; - } - if ((MERGABLE_TYPES.has(def.node.type) && - def.node.parent?.type === utils_1.AST_NODE_TYPES.ExportNamedDeclaration) || - def.node.parent?.type === utils_1.AST_NODE_TYPES.ExportDefaultDeclaration) { - return true; - } - } - return false; -} -/** - * Determines if a given variable is being exported from a module. - * @param variable eslint-scope variable object. - * @returns True if the variable is exported, false if not. - */ -function isExported(variable) { - return variable.defs.some(definition => { - let node = definition.node; - if (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - node = node.parent; - } - else if (definition.type === utils_1.TSESLint.Scope.DefinitionType.Parameter) { - return false; - } - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return node.parent.type.startsWith('Export'); - }); -} -const LOGICAL_ASSIGNMENT_OPERATORS = new Set(['??=', '&&=', '||=']); -/** - * Determines if the variable is used. - * @param variable The variable to check. - * @returns True if the variable is used - */ -function isUsedVariable(variable) { - /** - * Gets a list of function definitions for a specified variable. - * @param variable eslint-scope variable object. - * @returns Function nodes. - */ - function getFunctionDefinitions(variable) { - const functionDefinitions = new Set(); - variable.defs.forEach(def => { - // FunctionDeclarations - if (def.type === utils_1.TSESLint.Scope.DefinitionType.FunctionName) { - functionDefinitions.add(def.node); - } - // FunctionExpressions - if (def.type === utils_1.TSESLint.Scope.DefinitionType.Variable && - (def.node.init?.type === utils_1.AST_NODE_TYPES.FunctionExpression || - def.node.init?.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression)) { - functionDefinitions.add(def.node.init); - } - }); - return functionDefinitions; - } - function getTypeDeclarations(variable) { - const nodes = new Set(); - variable.defs.forEach(def => { - if (def.node.type === utils_1.AST_NODE_TYPES.TSInterfaceDeclaration || - def.node.type === utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration) { - nodes.add(def.node); - } - }); - return nodes; - } - function getModuleDeclarations(variable) { - const nodes = new Set(); - variable.defs.forEach(def => { - if (def.node.type === utils_1.AST_NODE_TYPES.TSModuleDeclaration) { - nodes.add(def.node); - } - }); - return nodes; - } - function getEnumDeclarations(variable) { - const nodes = new Set(); - variable.defs.forEach(def => { - if (def.node.type === utils_1.AST_NODE_TYPES.TSEnumDeclaration) { - nodes.add(def.node); - } - }); - return nodes; - } - /** - * Checks if the ref is contained within one of the given nodes - */ - function isInsideOneOf(ref, nodes) { - for (const node of nodes) { - if (isInside(ref.identifier, node)) { - return true; - } - } - return false; - } - /** - * Checks whether a given node is unused expression or not. - * @param node The node itself - * @returns The node is an unused expression. - */ - function isUnusedExpression(node) { - const parent = node.parent; - if (parent.type === utils_1.AST_NODE_TYPES.ExpressionStatement) { - return true; - } - if (parent.type === utils_1.AST_NODE_TYPES.SequenceExpression) { - const isLastExpression = parent.expressions[parent.expressions.length - 1] === node; - if (!isLastExpression) { - return true; - } - return isUnusedExpression(parent); - } - return false; - } - /** - * If a given reference is left-hand side of an assignment, this gets - * the right-hand side node of the assignment. - * - * In the following cases, this returns null. - * - * - The reference is not the LHS of an assignment expression. - * - The reference is inside of a loop. - * - The reference is inside of a function scope which is different from - * the declaration. - * @param ref A reference to check. - * @param prevRhsNode The previous RHS node. - * @returns The RHS node or null. - */ - function getRhsNode(ref, prevRhsNode) { - /** - * Checks whether the given node is in a loop or not. - * @param node The node to check. - * @returns `true` if the node is in a loop. - */ - function isInLoop(node) { - let currentNode = node; - while (currentNode) { - if (utils_1.ASTUtils.isFunction(currentNode)) { - break; - } - if (utils_1.ASTUtils.isLoop(currentNode)) { - return true; - } - currentNode = currentNode.parent; - } - return false; - } - const id = ref.identifier; - const parent = id.parent; - const refScope = ref.from.variableScope; - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const varScope = ref.resolved.scope.variableScope; - const canBeUsedLater = refScope !== varScope || isInLoop(id); - /* - * Inherits the previous node if this reference is in the node. - * This is for `a = a + a`-like code. - */ - if (prevRhsNode && isInside(id, prevRhsNode)) { - return prevRhsNode; - } - if (parent.type === utils_1.AST_NODE_TYPES.AssignmentExpression && - isUnusedExpression(parent) && - id === parent.left && - !canBeUsedLater) { - return parent.right; - } - return null; - } - /** - * Checks whether a given reference is a read to update itself or not. - * @param ref A reference to check. - * @param rhsNode The RHS node of the previous assignment. - * @returns The reference is a read to update itself. - */ - function isReadForItself(ref, rhsNode) { - /** - * Checks whether a given Identifier node exists inside of a function node which can be used later. - * - * "can be used later" means: - * - the function is assigned to a variable. - * - the function is bound to a property and the object can be used later. - * - the function is bound as an argument of a function call. - * - * If a reference exists in a function which can be used later, the reference is read when the function is called. - * @param id An Identifier node to check. - * @param rhsNode The RHS node of the previous assignment. - * @returns `true` if the `id` node exists inside of a function node which can be used later. - */ - function isInsideOfStorableFunction(id, rhsNode) { - /** - * Finds a function node from ancestors of a node. - * @param node A start node to find. - * @returns A found function node. - */ - function getUpperFunction(node) { - let currentNode = node; - while (currentNode) { - if (utils_1.ASTUtils.isFunction(currentNode)) { - return currentNode; - } - currentNode = currentNode.parent; - } - return null; - } - /** - * Checks whether a given function node is stored to somewhere or not. - * If the function node is stored, the function can be used later. - * @param funcNode A function node to check. - * @param rhsNode The RHS node of the previous assignment. - * @returns `true` if under the following conditions: - * - the funcNode is assigned to a variable. - * - the funcNode is bound as an argument of a function call. - * - the function is bound to a property and the object satisfies above conditions. - */ - function isStorableFunction(funcNode, rhsNode) { - let node = funcNode; - let parent = funcNode.parent; - while (parent && isInside(parent, rhsNode)) { - switch (parent.type) { - case utils_1.AST_NODE_TYPES.SequenceExpression: - if (parent.expressions[parent.expressions.length - 1] !== node) { - return false; - } - break; - case utils_1.AST_NODE_TYPES.CallExpression: - case utils_1.AST_NODE_TYPES.NewExpression: - return parent.callee !== node; - case utils_1.AST_NODE_TYPES.AssignmentExpression: - case utils_1.AST_NODE_TYPES.TaggedTemplateExpression: - case utils_1.AST_NODE_TYPES.YieldExpression: - return true; - default: - if (parent.type.endsWith('Statement') || - parent.type.endsWith('Declaration')) { - /* - * If it encountered statements, this is a complex pattern. - * Since analyzing complex patterns is hard, this returns `true` to avoid false positive. - */ - return true; - } - } - node = parent; - parent = parent.parent; - } - return false; - } - const funcNode = getUpperFunction(id); - return (!!funcNode && - isInside(funcNode, rhsNode) && - isStorableFunction(funcNode, rhsNode)); - } - const id = ref.identifier; - const parent = id.parent; - return (ref.isRead() && // in RHS of an assignment for itself. e.g. `a = a + 1` - // self update. e.g. `a += 1`, `a++` - ((parent.type === utils_1.AST_NODE_TYPES.AssignmentExpression && - !LOGICAL_ASSIGNMENT_OPERATORS.has(parent.operator) && - isUnusedExpression(parent) && - parent.left === id) || - (parent.type === utils_1.AST_NODE_TYPES.UpdateExpression && - isUnusedExpression(parent)) || - (!!rhsNode && - isInside(id, rhsNode) && - !isInsideOfStorableFunction(id, rhsNode)))); - } - const functionNodes = getFunctionDefinitions(variable); - const isFunctionDefinition = functionNodes.size > 0; - const typeDeclNodes = getTypeDeclarations(variable); - const isTypeDecl = typeDeclNodes.size > 0; - const moduleDeclNodes = getModuleDeclarations(variable); - const isModuleDecl = moduleDeclNodes.size > 0; - const enumDeclNodes = getEnumDeclarations(variable); - const isEnumDecl = enumDeclNodes.size > 0; - const isImportedAsType = variable.defs.every(isTypeImport_1.isTypeImport); - let rhsNode = null; - return variable.references.some(ref => { - const forItself = isReadForItself(ref, rhsNode); - rhsNode = getRhsNode(ref, rhsNode); - return (ref.isRead() && - !forItself && - !(!isImportedAsType && (0, referenceContainsTypeQuery_1.referenceContainsTypeQuery)(ref.identifier)) && - !(isFunctionDefinition && isSelfReference(ref, functionNodes)) && - !(isTypeDecl && isInsideOneOf(ref, typeDeclNodes)) && - !(isModuleDecl && isSelfReference(ref, moduleDeclNodes)) && - !(isEnumDecl && isSelfReference(ref, enumDeclNodes))); - }); -} -//#endregion private helpers -/** - * Collects the set of unused variables for a given context. - * - * Due to complexity, this does not take into consideration: - * - variables within declaration files - * - variables within ambient module declarations - */ -function collectVariables(context) { - return UnusedVarsVisitor.collectUnusedVariables(context.sourceCode.ast, utils_1.ESLintUtils.nullThrows(context.sourceCode.scopeManager, 'Missing required scope manager')); -} -//# sourceMappingURL=collectUnusedVariables.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map deleted file mode 100644 index 9aca090d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"collectUnusedVariables.js","sourceRoot":"","sources":["../../src/util/collectUnusedVariables.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js deleted file mode 100644 index a0ee97b4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js +++ /dev/null @@ -1,6 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createRule = void 0; -const utils_1 = require("@typescript-eslint/utils"); -exports.createRule = utils_1.ESLintUtils.RuleCreator(name => `https://typescript-eslint.io/rules/${name}`); -//# sourceMappingURL=createRule.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map deleted file mode 100644 index d50ed381..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/createRule.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createRule.js","sourceRoot":"","sources":["../../src/util/createRule.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AAI1C,QAAA,UAAU,GAAG,mBAAW,CAAC,WAAW,CAC/C,IAAI,CAAC,EAAE,CAAC,sCAAsC,IAAI,EAAE,CACrD,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js deleted file mode 100644 index 3639aa16..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.escapeRegExp = escapeRegExp; -/** - * Lodash - * Released under MIT license - */ -const reRegExpChar = /[\\^$.*+?()[\]{}|]/g; -const reHasRegExpChar = RegExp(reRegExpChar.source); -function escapeRegExp(string = '') { - return string && reHasRegExpChar.test(string) - ? string.replaceAll(reRegExpChar, '\\$&') - : string; -} -//# sourceMappingURL=escapeRegExp.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js.map deleted file mode 100644 index 83b92aa6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/escapeRegExp.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"escapeRegExp.js","sourceRoot":"","sources":["../../src/util/escapeRegExp.ts"],"names":[],"mappings":";;AAOA,oCAIC;AAXD;;;GAGG;AACH,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAEpD,SAAgB,YAAY,CAAC,MAAM,GAAG,EAAE;IACtC,OAAO,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC;AACb,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js deleted file mode 100644 index 5e6de799..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js +++ /dev/null @@ -1,241 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ancestorHasReturnType = ancestorHasReturnType; -exports.checkFunctionExpressionReturnType = checkFunctionExpressionReturnType; -exports.checkFunctionReturnType = checkFunctionReturnType; -exports.doesImmediatelyReturnFunctionExpression = doesImmediatelyReturnFunctionExpression; -exports.isTypedFunctionExpression = isTypedFunctionExpression; -exports.isValidFunctionExpressionReturnType = isValidFunctionExpressionReturnType; -const utils_1 = require("@typescript-eslint/utils"); -const astUtils_1 = require("./astUtils"); -const getFunctionHeadLoc_1 = require("./getFunctionHeadLoc"); -/** - * Checks if a node is a variable declarator with a type annotation. - * ``` - * const x: Foo = ... - * ``` - */ -function isVariableDeclaratorWithTypeAnnotation(node) { - return (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator && !!node.id.typeAnnotation); -} -/** - * Checks if a node is a class property with a type annotation. - * ``` - * public x: Foo = ... - * ``` - */ -function isPropertyDefinitionWithTypeAnnotation(node) { - return (node.type === utils_1.AST_NODE_TYPES.PropertyDefinition && !!node.typeAnnotation); -} -/** - * Checks if a node belongs to: - * ``` - * foo(() => 1) - * ``` - */ -function isFunctionArgument(parent, callee) { - return (parent.type === utils_1.AST_NODE_TYPES.CallExpression && - // make sure this isn't an IIFE - parent.callee !== callee); -} -/** - * Checks if a node is type-constrained in JSX - * ``` - * {}} /> - * {() => {}} - * - * ``` - */ -function isTypedJSX(node) { - return (node.type === utils_1.AST_NODE_TYPES.JSXExpressionContainer || - node.type === utils_1.AST_NODE_TYPES.JSXSpreadAttribute); -} -function isTypedParent(parent, callee) { - return ((0, astUtils_1.isTypeAssertion)(parent) || - isVariableDeclaratorWithTypeAnnotation(parent) || - isDefaultFunctionParameterWithTypeAnnotation(parent) || - isPropertyDefinitionWithTypeAnnotation(parent) || - isFunctionArgument(parent, callee) || - isTypedJSX(parent)); -} -function isDefaultFunctionParameterWithTypeAnnotation(node) { - return (node.type === utils_1.AST_NODE_TYPES.AssignmentPattern && - node.left.typeAnnotation != null); -} -/** - * Checks if a node belongs to: - * ``` - * new Foo(() => {}) - * ^^^^^^^^ - * ``` - */ -function isConstructorArgument(node) { - return node.type === utils_1.AST_NODE_TYPES.NewExpression; -} -/** - * Checks if a node is a property or a nested property of a typed object: - * ``` - * const x: Foo = { prop: () => {} } - * const x = { prop: () => {} } as Foo - * const x = { prop: () => {} } - * const x: Foo = { bar: { prop: () => {} } } - * ``` - */ -function isPropertyOfObjectWithType(property) { - if (!property || property.type !== utils_1.AST_NODE_TYPES.Property) { - return false; - } - const objectExpr = property.parent; - if (objectExpr.type !== utils_1.AST_NODE_TYPES.ObjectExpression) { - return false; - } - const parent = objectExpr.parent; - return isTypedParent(parent) || isPropertyOfObjectWithType(parent); -} -/** - * Checks if a function belongs to: - * ``` - * () => () => ... - * () => function () { ... } - * () => { return () => ... } - * () => { return function () { ... } } - * function fn() { return () => ... } - * function fn() { return function() { ... } } - * ``` - */ -function doesImmediatelyReturnFunctionExpression({ node, returns, }) { - if (node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - utils_1.ASTUtils.isFunction(node.body)) { - return true; - } - if (returns.length === 0) { - return false; - } - return returns.every(node => node.argument && utils_1.ASTUtils.isFunction(node.argument)); -} -/** - * Checks if a function belongs to: - * ``` - * ({ action: 'xxx' } as const) - * ``` - */ -function isConstAssertion(node) { - if ((0, astUtils_1.isTypeAssertion)(node)) { - const { typeAnnotation } = node; - if (typeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeReference) { - const { typeName } = typeAnnotation; - if (typeName.type === utils_1.AST_NODE_TYPES.Identifier && - typeName.name === 'const') { - return true; - } - } - } - return false; -} -/** - * True when the provided function expression is typed. - */ -function isTypedFunctionExpression(node, options) { - const parent = utils_1.ESLintUtils.nullThrows(node.parent, utils_1.ESLintUtils.NullThrowsReasons.MissingParent); - if (!options.allowTypedFunctionExpressions) { - return false; - } - return (isTypedParent(parent, node) || - isPropertyOfObjectWithType(parent) || - isConstructorArgument(parent)); -} -/** - * Check whether the function expression return type is either typed or valid - * with the provided options. - */ -function isValidFunctionExpressionReturnType(node, options) { - if (isTypedFunctionExpression(node, options)) { - return true; - } - const parent = utils_1.ESLintUtils.nullThrows(node.parent, utils_1.ESLintUtils.NullThrowsReasons.MissingParent); - if (options.allowExpressions && - parent.type !== utils_1.AST_NODE_TYPES.VariableDeclarator && - parent.type !== utils_1.AST_NODE_TYPES.MethodDefinition && - parent.type !== utils_1.AST_NODE_TYPES.ExportDefaultDeclaration && - parent.type !== utils_1.AST_NODE_TYPES.PropertyDefinition) { - return true; - } - // https://github.com/typescript-eslint/typescript-eslint/issues/653 - if (!options.allowDirectConstAssertionInArrowFunctions || - node.type !== utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { - return false; - } - let body = node.body; - while (body.type === utils_1.AST_NODE_TYPES.TSSatisfiesExpression) { - body = body.expression; - } - return isConstAssertion(body); -} -/** - * Check that the function expression or declaration is valid. - */ -function isValidFunctionReturnType({ node, returns }, options) { - if (options.allowHigherOrderFunctions && - doesImmediatelyReturnFunctionExpression({ node, returns })) { - return true; - } - return (node.returnType != null || - (0, astUtils_1.isConstructor)(node.parent) || - (0, astUtils_1.isSetter)(node.parent)); -} -/** - * Checks if a function declaration/expression has a return type. - */ -function checkFunctionReturnType({ node, returns }, options, sourceCode, report) { - if (isValidFunctionReturnType({ node, returns }, options)) { - return; - } - report((0, getFunctionHeadLoc_1.getFunctionHeadLoc)(node, sourceCode)); -} -/** - * Checks if a function declaration/expression has a return type. - */ -function checkFunctionExpressionReturnType(info, options, sourceCode, report) { - if (isValidFunctionExpressionReturnType(info.node, options)) { - return; - } - checkFunctionReturnType(info, options, sourceCode, report); -} -/** - * Check whether any ancestor of the provided function has a valid return type. - */ -function ancestorHasReturnType(node) { - let ancestor = node.parent; - if (ancestor.type === utils_1.AST_NODE_TYPES.Property) { - ancestor = ancestor.value; - } - // if the ancestor is not a return, then this function was not returned at all, so we can exit early - const isReturnStatement = ancestor.type === utils_1.AST_NODE_TYPES.ReturnStatement; - const isBodylessArrow = ancestor.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - ancestor.body.type !== utils_1.AST_NODE_TYPES.BlockStatement; - if (!isReturnStatement && !isBodylessArrow) { - return false; - } - while (ancestor) { - switch (ancestor.type) { - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionExpression: - case utils_1.AST_NODE_TYPES.FunctionDeclaration: - if (ancestor.returnType) { - return true; - } - break; - // const x: Foo = () => {}; - // Assume that a typed variable types the function expression - case utils_1.AST_NODE_TYPES.VariableDeclarator: - return !!ancestor.id.typeAnnotation; - case utils_1.AST_NODE_TYPES.PropertyDefinition: - return !!ancestor.typeAnnotation; - case utils_1.AST_NODE_TYPES.ExpressionStatement: - return false; - } - ancestor = ancestor.parent; - } - return false; -} -//# sourceMappingURL=explicitReturnTypeUtils.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map deleted file mode 100644 index 3fb07aae..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/explicitReturnTypeUtils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"explicitReturnTypeUtils.js","sourceRoot":"","sources":["../../src/util/explicitReturnTypeUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js deleted file mode 100644 index 48023ccb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getESLintCoreRule = void 0; -exports.maybeGetESLintCoreRule = maybeGetESLintCoreRule; -const utils_1 = require("@typescript-eslint/utils"); -const use_at_your_own_risk_1 = require("eslint/use-at-your-own-risk"); -const getESLintCoreRule = (ruleId) => utils_1.ESLintUtils.nullThrows(use_at_your_own_risk_1.builtinRules.get(ruleId), `ESLint's core rule '${ruleId}' not found.`); -exports.getESLintCoreRule = getESLintCoreRule; -function maybeGetESLintCoreRule(ruleId) { - try { - return (0, exports.getESLintCoreRule)(ruleId); - } - catch { - return null; - } -} -//# sourceMappingURL=getESLintCoreRule.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js.map deleted file mode 100644 index 66932014..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getESLintCoreRule.js","sourceRoot":"","sources":["../../src/util/getESLintCoreRule.ts"],"names":[],"mappings":";;;AAqCA,wDAQC;AA7CD,oDAAuD;AACvD,sEAA2D;AA8BpD,MAAM,iBAAiB,GAAG,CAAmB,MAAS,EAAc,EAAE,CAC3E,mBAAW,CAAC,UAAU,CACpB,mCAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EACxB,uBAAuB,MAAM,cAAc,CAC5C,CAAC;AAJS,QAAA,iBAAiB,qBAI1B;AAEJ,SAAgB,sBAAsB,CACpC,MAAS;IAET,IAAI,CAAC;QACH,OAAO,IAAA,yBAAiB,EAAI,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js deleted file mode 100644 index b3ccd910..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getFixOrSuggest = getFixOrSuggest; -function getFixOrSuggest({ fixOrSuggest, suggestion, }) { - switch (fixOrSuggest) { - case 'fix': - return { fix: suggestion.fix }; - case 'none': - return undefined; - case 'suggest': - return { suggest: [suggestion] }; - } -} -//# sourceMappingURL=getFixOrSuggest.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js.map deleted file mode 100644 index f84b5b6a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getFixOrSuggest.js","sourceRoot":"","sources":["../../src/util/getFixOrSuggest.ts"],"names":[],"mappings":";;AAEA,0CAkBC;AAlBD,SAAgB,eAAe,CAA2B,EACxD,YAAY,EACZ,UAAU,GAIX;IAIC,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;QACjC,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;IACrC,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js deleted file mode 100644 index fdc79f57..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getForStatementHeadLoc = getForStatementHeadLoc; -const eslint_utils_1 = require("@typescript-eslint/utils/eslint-utils"); -/** - * Gets the location of the head of the given for statement variant for reporting. - * - * - `for (const foo in bar) expressionOrBlock` - * ^^^^^^^^^^^^^^^^^^^^^^ - * - * - `for (const foo of bar) expressionOrBlock` - * ^^^^^^^^^^^^^^^^^^^^^^ - * - * - `for await (const foo of bar) expressionOrBlock` - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - * - * - `for (let i = 0; i < 10; i++) expressionOrBlock` - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - */ -function getForStatementHeadLoc(sourceCode, node) { - const closingParens = (0, eslint_utils_1.nullThrows)(sourceCode.getTokenBefore(node.body, token => token.value === ')'), 'for statement must have a closing parenthesis.'); - return { - end: structuredClone(closingParens.loc.end), - start: structuredClone(node.loc.start), - }; -} -//# sourceMappingURL=getForStatementHeadLoc.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js.map deleted file mode 100644 index 18045b0d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getForStatementHeadLoc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getForStatementHeadLoc.js","sourceRoot":"","sources":["../../src/util/getForStatementHeadLoc.ts"],"names":[],"mappings":";;AAmBA,wDAeC;AAhCD,wEAAmE;AAEnE;;;;;;;;;;;;;;GAcG;AACH,SAAgB,sBAAsB,CACpC,UAA+B,EAC/B,IAGyB;IAEzB,MAAM,aAAa,GAAG,IAAA,yBAAU,EAC9B,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,EAClE,gDAAgD,CACjD,CAAC;IACF,OAAO;QACL,GAAG,EAAE,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3C,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;KACvC,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js deleted file mode 100644 index 0319d147..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js +++ /dev/null @@ -1,162 +0,0 @@ -"use strict"; -// adapted from https://github.com/eslint/eslint/blob/5bdaae205c3a0089ea338b382df59e21d5b06436/lib/rules/utils/ast-utils.js#L1668-L1787 -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getFunctionHeadLoc = getFunctionHeadLoc; -const utils_1 = require("@typescript-eslint/utils"); -const astUtils_1 = require("./astUtils"); -/** - * Gets the `(` token of the given function node. - * @param node The function node to get. - * @param sourceCode The source code object to get tokens. - * @returns `(` token. - */ -function getOpeningParenOfParams(node, sourceCode) { - // If the node is an arrow function and doesn't have parens, this returns the identifier of the first param. - if (node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - node.params.length === 1) { - const argToken = utils_1.ESLintUtils.nullThrows(sourceCode.getFirstToken(node.params[0]), utils_1.ESLintUtils.NullThrowsReasons.MissingToken('parameter', 'arrow function')); - const maybeParenToken = sourceCode.getTokenBefore(argToken); - return maybeParenToken && (0, astUtils_1.isOpeningParenToken)(maybeParenToken) - ? maybeParenToken - : argToken; - } - // Otherwise, returns paren. - return node.id != null - ? utils_1.ESLintUtils.nullThrows(sourceCode.getTokenAfter(node.id, astUtils_1.isOpeningParenToken), utils_1.ESLintUtils.NullThrowsReasons.MissingToken('id', 'function')) - : utils_1.ESLintUtils.nullThrows(sourceCode.getFirstToken(node, astUtils_1.isOpeningParenToken), utils_1.ESLintUtils.NullThrowsReasons.MissingToken('opening parenthesis', 'function')); -} -/** - * Gets the location of the given function node for reporting. - * - * - `function foo() {}` - * ^^^^^^^^^^^^ - * - `(function foo() {})` - * ^^^^^^^^^^^^ - * - `(function() {})` - * ^^^^^^^^ - * - `function* foo() {}` - * ^^^^^^^^^^^^^ - * - `(function* foo() {})` - * ^^^^^^^^^^^^^ - * - `(function*() {})` - * ^^^^^^^^^ - * - `() => {}` - * ^^ - * - `async () => {}` - * ^^ - * - `({ foo: function foo() {} })` - * ^^^^^^^^^^^^^^^^^ - * - `({ foo: function() {} })` - * ^^^^^^^^^^^^^ - * - `({ ['foo']: function() {} })` - * ^^^^^^^^^^^^^^^^^ - * - `({ [foo]: function() {} })` - * ^^^^^^^^^^^^^^^ - * - `({ foo() {} })` - * ^^^ - * - `({ foo: function* foo() {} })` - * ^^^^^^^^^^^^^^^^^^ - * - `({ foo: function*() {} })` - * ^^^^^^^^^^^^^^ - * - `({ ['foo']: function*() {} })` - * ^^^^^^^^^^^^^^^^^^ - * - `({ [foo]: function*() {} })` - * ^^^^^^^^^^^^^^^^ - * - `({ *foo() {} })` - * ^^^^ - * - `({ foo: async function foo() {} })` - * ^^^^^^^^^^^^^^^^^^^^^^^ - * - `({ foo: async function() {} })` - * ^^^^^^^^^^^^^^^^^^^ - * - `({ ['foo']: async function() {} })` - * ^^^^^^^^^^^^^^^^^^^^^^^ - * - `({ [foo]: async function() {} })` - * ^^^^^^^^^^^^^^^^^^^^^ - * - `({ async foo() {} })` - * ^^^^^^^^^ - * - `({ get foo() {} })` - * ^^^^^^^ - * - `({ set foo(a) {} })` - * ^^^^^^^ - * - `class A { constructor() {} }` - * ^^^^^^^^^^^ - * - `class A { foo() {} }` - * ^^^ - * - `class A { *foo() {} }` - * ^^^^ - * - `class A { async foo() {} }` - * ^^^^^^^^^ - * - `class A { ['foo']() {} }` - * ^^^^^^^ - * - `class A { *['foo']() {} }` - * ^^^^^^^^ - * - `class A { async ['foo']() {} }` - * ^^^^^^^^^^^^^ - * - `class A { [foo]() {} }` - * ^^^^^ - * - `class A { *[foo]() {} }` - * ^^^^^^ - * - `class A { async [foo]() {} }` - * ^^^^^^^^^^^ - * - `class A { get foo() {} }` - * ^^^^^^^ - * - `class A { set foo(a) {} }` - * ^^^^^^^ - * - `class A { static foo() {} }` - * ^^^^^^^^^^ - * - `class A { static *foo() {} }` - * ^^^^^^^^^^^ - * - `class A { static async foo() {} }` - * ^^^^^^^^^^^^^^^^ - * - `class A { static get foo() {} }` - * ^^^^^^^^^^^^^^ - * - `class A { static set foo(a) {} }` - * ^^^^^^^^^^^^^^ - * - `class A { foo = function() {} }` - * ^^^^^^^^^^^^^^ - * - `class A { static foo = function() {} }` - * ^^^^^^^^^^^^^^^^^^^^^ - * - `class A { foo = (a, b) => {} }` - * ^^^^^^ - * @param node The function node to get. - * @param sourceCode The source code object to get tokens. - * @returns The location of the function node for reporting. - */ -function getFunctionHeadLoc(node, sourceCode) { - const parent = node.parent; - let start = null; - let end = null; - if (parent.type === utils_1.AST_NODE_TYPES.MethodDefinition || - parent.type === utils_1.AST_NODE_TYPES.PropertyDefinition) { - // the decorator's range is included within the member - // however it's usually irrelevant to the member itself - so we don't want - // to highlight it ever. - if (parent.decorators.length > 0) { - const lastDecorator = parent.decorators[parent.decorators.length - 1]; - const firstTokenAfterDecorator = utils_1.ESLintUtils.nullThrows(sourceCode.getTokenAfter(lastDecorator), utils_1.ESLintUtils.NullThrowsReasons.MissingToken('modifier or member name', 'class member')); - start = firstTokenAfterDecorator.loc.start; - } - else { - start = parent.loc.start; - } - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } - else if (parent.type === utils_1.AST_NODE_TYPES.Property) { - start = parent.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } - else if (node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression) { - const arrowToken = utils_1.ESLintUtils.nullThrows(sourceCode.getTokenBefore(node.body, astUtils_1.isArrowToken), utils_1.ESLintUtils.NullThrowsReasons.MissingToken('arrow token', 'arrow function')); - start = arrowToken.loc.start; - end = arrowToken.loc.end; - } - else { - start = node.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } - return { - end: { ...end }, - start: { ...start }, - }; -} -//# sourceMappingURL=getFunctionHeadLoc.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js.map deleted file mode 100644 index d07aba17..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getFunctionHeadLoc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getFunctionHeadLoc.js","sourceRoot":"","sources":["../../src/util/getFunctionHeadLoc.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js deleted file mode 100644 index 5119d065..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js +++ /dev/null @@ -1,80 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getMemberHeadLoc = getMemberHeadLoc; -exports.getParameterPropertyHeadLoc = getParameterPropertyHeadLoc; -const eslint_utils_1 = require("@typescript-eslint/utils/eslint-utils"); -/** - * Generates report loc suitable for reporting on how a class member is - * declared, rather than how it's implemented. - * - * ```ts - * class A { - * abstract method(): void; - * ~~~~~~~~~~~~~~~ - * - * concreteMethod(): void { - * ~~~~~~~~~~~~~~ - * // code - * } - * - * abstract private property?: string; - * ~~~~~~~~~~~~~~~~~~~~~~~~~ - * - * @decorator override concreteProperty = 'value'; - * ~~~~~~~~~~~~~~~~~~~~~~~~~ - * } - * ``` - */ -function getMemberHeadLoc(sourceCode, node) { - let start; - if (node.decorators.length === 0) { - start = node.loc.start; - } - else { - const lastDecorator = node.decorators[node.decorators.length - 1]; - const nextToken = (0, eslint_utils_1.nullThrows)(sourceCode.getTokenAfter(lastDecorator), eslint_utils_1.NullThrowsReasons.MissingToken('token', 'last decorator')); - start = nextToken.loc.start; - } - let end; - if (!node.computed) { - end = node.key.loc.end; - } - else { - const closingBracket = (0, eslint_utils_1.nullThrows)(sourceCode.getTokenAfter(node.key, token => token.value === ']'), eslint_utils_1.NullThrowsReasons.MissingToken(']', node.type)); - end = closingBracket.loc.end; - } - return { - end: structuredClone(end), - start: structuredClone(start), - }; -} -/** - * Generates report loc suitable for reporting on how a parameter property is - * declared. - * - * ```ts - * class A { - * constructor(private property: string = 'value') { - * ~~~~~~~~~~~~~~~~ - * } - * ``` - */ -function getParameterPropertyHeadLoc(sourceCode, node, nodeName) { - // Parameter properties have a weirdly different AST structure - // than other class members. - let start; - if (node.decorators.length === 0) { - start = structuredClone(node.loc.start); - } - else { - const lastDecorator = node.decorators[node.decorators.length - 1]; - const nextToken = (0, eslint_utils_1.nullThrows)(sourceCode.getTokenAfter(lastDecorator), eslint_utils_1.NullThrowsReasons.MissingToken('token', 'last decorator')); - start = structuredClone(nextToken.loc.start); - } - const end = sourceCode.getLocFromIndex(node.parameter.range[0] + nodeName.length); - return { - end, - start, - }; -} -//# sourceMappingURL=getMemberHeadLoc.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js.map deleted file mode 100644 index 04d20552..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getMemberHeadLoc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getMemberHeadLoc.js","sourceRoot":"","sources":["../../src/util/getMemberHeadLoc.ts"],"names":[],"mappings":";;AA6BA,4CAqCC;AAaD,kEA6BC;AA1GD,wEAG+C;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,gBAAgB,CAC9B,UAAyC,EACzC,IAIyC;IAEzC,IAAI,KAAwB,CAAC;IAE7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,yBAAU,EAC1B,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,EACvC,gCAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAC1D,CAAC;QACF,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,GAAsB,CAAC;IAE3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,IAAA,yBAAU,EAC/B,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,EAChE,gCAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAC/C,CAAC;QACF,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC;QACzB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,2BAA2B,CACzC,UAAyC,EACzC,IAAkC,EAClC,QAAgB;IAEhB,8DAA8D;IAC9D,4BAA4B;IAE5B,IAAI,KAAwB,CAAC;IAE7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,yBAAU,EAC1B,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,EACvC,gCAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAC1D,CAAC;QACF,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,eAAe,CACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAC1C,CAAC;IAEF,OAAO;QACL,GAAG;QACH,KAAK;KACN,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js deleted file mode 100644 index 8d914e74..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js +++ /dev/null @@ -1,418 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OperatorPrecedence = void 0; -exports.getOperatorPrecedenceForNode = getOperatorPrecedenceForNode; -exports.getOperatorPrecedence = getOperatorPrecedence; -exports.getBinaryOperatorPrecedence = getBinaryOperatorPrecedence; -const utils_1 = require("@typescript-eslint/utils"); -const typescript_1 = require("typescript"); -var OperatorPrecedence; -(function (OperatorPrecedence) { - // Expression: - // AssignmentExpression - // Expression `,` AssignmentExpression - OperatorPrecedence[OperatorPrecedence["Comma"] = 0] = "Comma"; - // NOTE: `Spread` is higher than `Comma` due to how it is parsed in |ElementList| - // SpreadElement: - // `...` AssignmentExpression - OperatorPrecedence[OperatorPrecedence["Spread"] = 1] = "Spread"; - // AssignmentExpression: - // ConditionalExpression - // YieldExpression - // ArrowFunction - // AsyncArrowFunction - // LeftHandSideExpression `=` AssignmentExpression - // LeftHandSideExpression AssignmentOperator AssignmentExpression - // - // NOTE: AssignmentExpression is broken down into several precedences due to the requirements - // of the parenthesize rules. - // AssignmentExpression: YieldExpression - // YieldExpression: - // `yield` - // `yield` AssignmentExpression - // `yield` `*` AssignmentExpression - OperatorPrecedence[OperatorPrecedence["Yield"] = 2] = "Yield"; - // AssignmentExpression: LeftHandSideExpression `=` AssignmentExpression - // AssignmentExpression: LeftHandSideExpression AssignmentOperator AssignmentExpression - // AssignmentOperator: one of - // `*=` `/=` `%=` `+=` `-=` `<<=` `>>=` `>>>=` `&=` `^=` `|=` `**=` - OperatorPrecedence[OperatorPrecedence["Assignment"] = 3] = "Assignment"; - // NOTE: `Conditional` is considered higher than `Assignment` here, but in reality they have - // the same precedence. - // AssignmentExpression: ConditionalExpression - // ConditionalExpression: - // ShortCircuitExpression - // ShortCircuitExpression `?` AssignmentExpression `:` AssignmentExpression - // ShortCircuitExpression: - // LogicalORExpression - // CoalesceExpression - OperatorPrecedence[OperatorPrecedence["Conditional"] = 4] = "Conditional"; - // CoalesceExpression: - // CoalesceExpressionHead `??` BitwiseORExpression - // CoalesceExpressionHead: - // CoalesceExpression - // BitwiseORExpression - OperatorPrecedence[OperatorPrecedence["Coalesce"] = 4] = "Coalesce"; - // LogicalORExpression: - // LogicalANDExpression - // LogicalORExpression `||` LogicalANDExpression - OperatorPrecedence[OperatorPrecedence["LogicalOR"] = 5] = "LogicalOR"; - // LogicalANDExpression: - // BitwiseORExpression - // LogicalANDExpression `&&` BitwiseORExpression - OperatorPrecedence[OperatorPrecedence["LogicalAND"] = 6] = "LogicalAND"; - // BitwiseORExpression: - // BitwiseXORExpression - // BitwiseORExpression `^` BitwiseXORExpression - OperatorPrecedence[OperatorPrecedence["BitwiseOR"] = 7] = "BitwiseOR"; - // BitwiseXORExpression: - // BitwiseANDExpression - // BitwiseXORExpression `^` BitwiseANDExpression - OperatorPrecedence[OperatorPrecedence["BitwiseXOR"] = 8] = "BitwiseXOR"; - // BitwiseANDExpression: - // EqualityExpression - // BitwiseANDExpression `^` EqualityExpression - OperatorPrecedence[OperatorPrecedence["BitwiseAND"] = 9] = "BitwiseAND"; - // EqualityExpression: - // RelationalExpression - // EqualityExpression `==` RelationalExpression - // EqualityExpression `!=` RelationalExpression - // EqualityExpression `===` RelationalExpression - // EqualityExpression `!==` RelationalExpression - OperatorPrecedence[OperatorPrecedence["Equality"] = 10] = "Equality"; - // RelationalExpression: - // ShiftExpression - // RelationalExpression `<` ShiftExpression - // RelationalExpression `>` ShiftExpression - // RelationalExpression `<=` ShiftExpression - // RelationalExpression `>=` ShiftExpression - // RelationalExpression `instanceof` ShiftExpression - // RelationalExpression `in` ShiftExpression - // [+TypeScript] RelationalExpression `as` Type - OperatorPrecedence[OperatorPrecedence["Relational"] = 11] = "Relational"; - // ShiftExpression: - // AdditiveExpression - // ShiftExpression `<<` AdditiveExpression - // ShiftExpression `>>` AdditiveExpression - // ShiftExpression `>>>` AdditiveExpression - OperatorPrecedence[OperatorPrecedence["Shift"] = 12] = "Shift"; - // AdditiveExpression: - // MultiplicativeExpression - // AdditiveExpression `+` MultiplicativeExpression - // AdditiveExpression `-` MultiplicativeExpression - OperatorPrecedence[OperatorPrecedence["Additive"] = 13] = "Additive"; - // MultiplicativeExpression: - // ExponentiationExpression - // MultiplicativeExpression MultiplicativeOperator ExponentiationExpression - // MultiplicativeOperator: one of `*`, `/`, `%` - OperatorPrecedence[OperatorPrecedence["Multiplicative"] = 14] = "Multiplicative"; - // ExponentiationExpression: - // UnaryExpression - // UpdateExpression `**` ExponentiationExpression - OperatorPrecedence[OperatorPrecedence["Exponentiation"] = 15] = "Exponentiation"; - // UnaryExpression: - // UpdateExpression - // `delete` UnaryExpression - // `void` UnaryExpression - // `typeof` UnaryExpression - // `+` UnaryExpression - // `-` UnaryExpression - // `~` UnaryExpression - // `!` UnaryExpression - // AwaitExpression - // UpdateExpression: // TODO: Do we need to investigate the precedence here? - // `++` UnaryExpression - // `--` UnaryExpression - OperatorPrecedence[OperatorPrecedence["Unary"] = 16] = "Unary"; - // UpdateExpression: - // LeftHandSideExpression - // LeftHandSideExpression `++` - // LeftHandSideExpression `--` - OperatorPrecedence[OperatorPrecedence["Update"] = 17] = "Update"; - // LeftHandSideExpression: - // NewExpression - // CallExpression - // NewExpression: - // MemberExpression - // `new` NewExpression - OperatorPrecedence[OperatorPrecedence["LeftHandSide"] = 18] = "LeftHandSide"; - // CallExpression: - // CoverCallExpressionAndAsyncArrowHead - // SuperCall - // ImportCall - // CallExpression Arguments - // CallExpression `[` Expression `]` - // CallExpression `.` IdentifierName - // CallExpression TemplateLiteral - // MemberExpression: - // PrimaryExpression - // MemberExpression `[` Expression `]` - // MemberExpression `.` IdentifierName - // MemberExpression TemplateLiteral - // SuperProperty - // MetaProperty - // `new` MemberExpression Arguments - OperatorPrecedence[OperatorPrecedence["Member"] = 19] = "Member"; - // TODO: JSXElement? - // PrimaryExpression: - // `this` - // IdentifierReference - // Literal - // ArrayLiteral - // ObjectLiteral - // FunctionExpression - // ClassExpression - // GeneratorExpression - // AsyncFunctionExpression - // AsyncGeneratorExpression - // RegularExpressionLiteral - // TemplateLiteral - // CoverParenthesizedExpressionAndArrowParameterList - OperatorPrecedence[OperatorPrecedence["Primary"] = 20] = "Primary"; - OperatorPrecedence[OperatorPrecedence["Highest"] = 20] = "Highest"; - OperatorPrecedence[OperatorPrecedence["Lowest"] = 0] = "Lowest"; - // -1 is lower than all other precedences. Returning it will cause binary expression - // parsing to stop. - OperatorPrecedence[OperatorPrecedence["Invalid"] = -1] = "Invalid"; -})(OperatorPrecedence || (exports.OperatorPrecedence = OperatorPrecedence = {})); -function getOperatorPrecedenceForNode(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.SpreadElement: - case utils_1.AST_NODE_TYPES.RestElement: - return OperatorPrecedence.Spread; - case utils_1.AST_NODE_TYPES.YieldExpression: - case utils_1.AST_NODE_TYPES.ArrowFunctionExpression: - return OperatorPrecedence.Yield; - case utils_1.AST_NODE_TYPES.ConditionalExpression: - return OperatorPrecedence.Conditional; - case utils_1.AST_NODE_TYPES.SequenceExpression: - return OperatorPrecedence.Comma; - case utils_1.AST_NODE_TYPES.AssignmentExpression: - case utils_1.AST_NODE_TYPES.BinaryExpression: - case utils_1.AST_NODE_TYPES.LogicalExpression: - switch (node.operator) { - case '==': - case '+=': - case '-=': - case '**=': - case '*=': - case '/=': - case '%=': - case '<<=': - case '>>=': - case '>>>=': - case '&=': - case '^=': - case '|=': - case '||=': - case '&&=': - case '??=': - return OperatorPrecedence.Assignment; - default: - return getBinaryOperatorPrecedence(node.operator); - } - case utils_1.AST_NODE_TYPES.TSTypeAssertion: - case utils_1.AST_NODE_TYPES.TSNonNullExpression: - case utils_1.AST_NODE_TYPES.UnaryExpression: - case utils_1.AST_NODE_TYPES.AwaitExpression: - return OperatorPrecedence.Unary; - case utils_1.AST_NODE_TYPES.UpdateExpression: - // TODO: Should prefix `++` and `--` be moved to the `Update` precedence? - if (node.prefix) { - return OperatorPrecedence.Unary; - } - return OperatorPrecedence.Update; - case utils_1.AST_NODE_TYPES.ChainExpression: - return getOperatorPrecedenceForNode(node.expression); - case utils_1.AST_NODE_TYPES.CallExpression: - return OperatorPrecedence.LeftHandSide; - case utils_1.AST_NODE_TYPES.NewExpression: - return node.arguments.length > 0 - ? OperatorPrecedence.Member - : OperatorPrecedence.LeftHandSide; - case utils_1.AST_NODE_TYPES.TaggedTemplateExpression: - case utils_1.AST_NODE_TYPES.MemberExpression: - case utils_1.AST_NODE_TYPES.MetaProperty: - return OperatorPrecedence.Member; - case utils_1.AST_NODE_TYPES.TSAsExpression: - return OperatorPrecedence.Relational; - case utils_1.AST_NODE_TYPES.ThisExpression: - case utils_1.AST_NODE_TYPES.Super: - case utils_1.AST_NODE_TYPES.Identifier: - case utils_1.AST_NODE_TYPES.PrivateIdentifier: - case utils_1.AST_NODE_TYPES.Literal: - case utils_1.AST_NODE_TYPES.ArrayExpression: - case utils_1.AST_NODE_TYPES.ObjectExpression: - case utils_1.AST_NODE_TYPES.FunctionExpression: - case utils_1.AST_NODE_TYPES.ClassExpression: - case utils_1.AST_NODE_TYPES.TemplateLiteral: - case utils_1.AST_NODE_TYPES.JSXElement: - case utils_1.AST_NODE_TYPES.JSXFragment: - // we don't have nodes for these cases - // case SyntaxKind.ParenthesizedExpression: - // case SyntaxKind.OmittedExpression: - return OperatorPrecedence.Primary; - default: - return OperatorPrecedence.Invalid; - } -} -function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { - switch (nodeKind) { - // A list of comma-separated expressions. This node is only created by transformations. - case typescript_1.SyntaxKind.CommaListExpression: - return OperatorPrecedence.Comma; - case typescript_1.SyntaxKind.SpreadElement: - return OperatorPrecedence.Spread; - case typescript_1.SyntaxKind.YieldExpression: - return OperatorPrecedence.Yield; - case typescript_1.SyntaxKind.ConditionalExpression: - return OperatorPrecedence.Conditional; - case typescript_1.SyntaxKind.BinaryExpression: - switch (operatorKind) { - case typescript_1.SyntaxKind.AmpersandAmpersandEqualsToken: - case typescript_1.SyntaxKind.AmpersandEqualsToken: - case typescript_1.SyntaxKind.AsteriskAsteriskEqualsToken: - case typescript_1.SyntaxKind.AsteriskEqualsToken: - case typescript_1.SyntaxKind.BarBarEqualsToken: - case typescript_1.SyntaxKind.BarEqualsToken: - case typescript_1.SyntaxKind.CaretEqualsToken: - case typescript_1.SyntaxKind.EqualsToken: - case typescript_1.SyntaxKind.GreaterThanGreaterThanEqualsToken: - case typescript_1.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken: - case typescript_1.SyntaxKind.LessThanLessThanEqualsToken: - case typescript_1.SyntaxKind.MinusEqualsToken: - case typescript_1.SyntaxKind.PercentEqualsToken: - case typescript_1.SyntaxKind.PlusEqualsToken: - case typescript_1.SyntaxKind.QuestionQuestionEqualsToken: - case typescript_1.SyntaxKind.SlashEqualsToken: - return OperatorPrecedence.Assignment; - case typescript_1.SyntaxKind.CommaToken: - return OperatorPrecedence.Comma; - default: - return getBinaryOperatorPrecedence(operatorKind); - } - // TODO: Should prefix `++` and `--` be moved to the `Update` precedence? - case typescript_1.SyntaxKind.TypeAssertionExpression: - case typescript_1.SyntaxKind.NonNullExpression: - case typescript_1.SyntaxKind.PrefixUnaryExpression: - case typescript_1.SyntaxKind.TypeOfExpression: - case typescript_1.SyntaxKind.VoidExpression: - case typescript_1.SyntaxKind.DeleteExpression: - case typescript_1.SyntaxKind.AwaitExpression: - return OperatorPrecedence.Unary; - case typescript_1.SyntaxKind.PostfixUnaryExpression: - return OperatorPrecedence.Update; - case typescript_1.SyntaxKind.CallExpression: - return OperatorPrecedence.LeftHandSide; - case typescript_1.SyntaxKind.NewExpression: - return hasArguments - ? OperatorPrecedence.Member - : OperatorPrecedence.LeftHandSide; - case typescript_1.SyntaxKind.TaggedTemplateExpression: - case typescript_1.SyntaxKind.PropertyAccessExpression: - case typescript_1.SyntaxKind.ElementAccessExpression: - case typescript_1.SyntaxKind.MetaProperty: - return OperatorPrecedence.Member; - case typescript_1.SyntaxKind.AsExpression: - case typescript_1.SyntaxKind.SatisfiesExpression: - return OperatorPrecedence.Relational; - case typescript_1.SyntaxKind.ThisKeyword: - case typescript_1.SyntaxKind.SuperKeyword: - case typescript_1.SyntaxKind.Identifier: - case typescript_1.SyntaxKind.PrivateIdentifier: - case typescript_1.SyntaxKind.NullKeyword: - case typescript_1.SyntaxKind.TrueKeyword: - case typescript_1.SyntaxKind.FalseKeyword: - case typescript_1.SyntaxKind.NumericLiteral: - case typescript_1.SyntaxKind.BigIntLiteral: - case typescript_1.SyntaxKind.StringLiteral: - case typescript_1.SyntaxKind.ArrayLiteralExpression: - case typescript_1.SyntaxKind.ObjectLiteralExpression: - case typescript_1.SyntaxKind.FunctionExpression: - case typescript_1.SyntaxKind.ArrowFunction: - case typescript_1.SyntaxKind.ClassExpression: - case typescript_1.SyntaxKind.RegularExpressionLiteral: - case typescript_1.SyntaxKind.NoSubstitutionTemplateLiteral: - case typescript_1.SyntaxKind.TemplateExpression: - case typescript_1.SyntaxKind.ParenthesizedExpression: - case typescript_1.SyntaxKind.OmittedExpression: - case typescript_1.SyntaxKind.JsxElement: - case typescript_1.SyntaxKind.JsxSelfClosingElement: - case typescript_1.SyntaxKind.JsxFragment: - return OperatorPrecedence.Primary; - default: - return OperatorPrecedence.Invalid; - } -} -function getBinaryOperatorPrecedence(kind) { - switch (kind) { - case '-': - case '+': - case typescript_1.SyntaxKind.MinusToken: - case typescript_1.SyntaxKind.PlusToken: - return OperatorPrecedence.Additive; - case '!=': - case '!==': - case '==': - case '===': - case typescript_1.SyntaxKind.EqualsEqualsEqualsToken: - case typescript_1.SyntaxKind.EqualsEqualsToken: - case typescript_1.SyntaxKind.ExclamationEqualsEqualsToken: - case typescript_1.SyntaxKind.ExclamationEqualsToken: - return OperatorPrecedence.Equality; - case '??': - case typescript_1.SyntaxKind.QuestionQuestionToken: - return OperatorPrecedence.Coalesce; - case '*': - case '/': - case '%': - case typescript_1.SyntaxKind.AsteriskToken: - case typescript_1.SyntaxKind.PercentToken: - case typescript_1.SyntaxKind.SlashToken: - return OperatorPrecedence.Multiplicative; - case '**': - case typescript_1.SyntaxKind.AsteriskAsteriskToken: - return OperatorPrecedence.Exponentiation; - case '&': - case typescript_1.SyntaxKind.AmpersandToken: - return OperatorPrecedence.BitwiseAND; - case '&&': - case typescript_1.SyntaxKind.AmpersandAmpersandToken: - return OperatorPrecedence.LogicalAND; - case '^': - case typescript_1.SyntaxKind.CaretToken: - return OperatorPrecedence.BitwiseXOR; - case '<': - case '<=': - case '>': - case '>=': - case 'in': - case 'instanceof': - case typescript_1.SyntaxKind.AsKeyword: - case typescript_1.SyntaxKind.GreaterThanEqualsToken: - case typescript_1.SyntaxKind.GreaterThanToken: - case typescript_1.SyntaxKind.InKeyword: - case typescript_1.SyntaxKind.InstanceOfKeyword: - case typescript_1.SyntaxKind.LessThanEqualsToken: - case typescript_1.SyntaxKind.LessThanToken: - // case 'as': -- we don't have a token for this - return OperatorPrecedence.Relational; - case '<<': - case '>>': - case '>>>': - case typescript_1.SyntaxKind.GreaterThanGreaterThanGreaterThanToken: - case typescript_1.SyntaxKind.GreaterThanGreaterThanToken: - case typescript_1.SyntaxKind.LessThanLessThanToken: - return OperatorPrecedence.Shift; - case '|': - case typescript_1.SyntaxKind.BarToken: - return OperatorPrecedence.BitwiseOR; - case '||': - case typescript_1.SyntaxKind.BarBarToken: - return OperatorPrecedence.LogicalOR; - } - // -1 is lower than all other precedences. Returning it will cause binary expression - // parsing to stop. - return -1; -} -//# sourceMappingURL=getOperatorPrecedence.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js.map deleted file mode 100644 index 199617cd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getOperatorPrecedence.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getOperatorPrecedence.js","sourceRoot":"","sources":["../../src/util/getOperatorPrecedence.ts"],"names":[],"mappings":";;;AAwMA,oEAgGC;AAMD,sDAyGC;AAED,kEAoFC;AA1eD,oDAA0D;AAC1D,2CAAwC;AAIxC,IAAY,kBA8LX;AA9LD,WAAY,kBAAkB;IAC5B,cAAc;IACd,2BAA2B;IAC3B,0CAA0C;IAC1C,6DAAK,CAAA;IAEL,iFAAiF;IACjF,iBAAiB;IACjB,iCAAiC;IACjC,+DAAM,CAAA;IAEN,wBAAwB;IACxB,4BAA4B;IAC5B,sBAAsB;IACtB,oBAAoB;IACpB,yBAAyB;IACzB,sDAAsD;IACtD,qEAAqE;IACrE,EAAE;IACF,6FAA6F;IAC7F,mCAAmC;IAEnC,wCAAwC;IACxC,mBAAmB;IACnB,cAAc;IACd,mCAAmC;IACnC,uCAAuC;IACvC,6DAAK,CAAA;IAEL,wEAAwE;IACxE,uFAAuF;IACvF,6BAA6B;IAC7B,uEAAuE;IACvE,uEAAU,CAAA;IAEV,4FAA4F;IAC5F,6BAA6B;IAC7B,8CAA8C;IAC9C,yBAAyB;IACzB,6BAA6B;IAC7B,+EAA+E;IAC/E,0BAA0B;IAC1B,0BAA0B;IAC1B,yBAAyB;IACzB,yEAAW,CAAA;IAEX,sBAAsB;IACtB,sDAAsD;IACtD,0BAA0B;IAC1B,yBAAyB;IACzB,0BAA0B;IAC1B,mEAAsB,CAAA;IAEtB,uBAAuB;IACvB,2BAA2B;IAC3B,oDAAoD;IACpD,qEAAS,CAAA;IAET,wBAAwB;IACxB,0BAA0B;IAC1B,oDAAoD;IACpD,uEAAU,CAAA;IAEV,uBAAuB;IACvB,2BAA2B;IAC3B,mDAAmD;IACnD,qEAAS,CAAA;IAET,wBAAwB;IACxB,2BAA2B;IAC3B,oDAAoD;IACpD,uEAAU,CAAA;IAEV,wBAAwB;IACxB,yBAAyB;IACzB,kDAAkD;IAClD,uEAAU,CAAA;IAEV,sBAAsB;IACtB,2BAA2B;IAC3B,mDAAmD;IACnD,mDAAmD;IACnD,oDAAoD;IACpD,oDAAoD;IACpD,oEAAQ,CAAA;IAER,wBAAwB;IACxB,sBAAsB;IACtB,+CAA+C;IAC/C,+CAA+C;IAC/C,gDAAgD;IAChD,gDAAgD;IAChD,wDAAwD;IACxD,gDAAgD;IAChD,mDAAmD;IACnD,wEAAU,CAAA;IAEV,mBAAmB;IACnB,yBAAyB;IACzB,8CAA8C;IAC9C,8CAA8C;IAC9C,+CAA+C;IAC/C,8DAAK,CAAA;IAEL,sBAAsB;IACtB,+BAA+B;IAC/B,sDAAsD;IACtD,sDAAsD;IACtD,oEAAQ,CAAA;IAER,4BAA4B;IAC5B,+BAA+B;IAC/B,+EAA+E;IAC/E,+CAA+C;IAC/C,gFAAc,CAAA;IAEd,4BAA4B;IAC5B,sBAAsB;IACtB,qDAAqD;IACrD,gFAAc,CAAA;IAEd,mBAAmB;IACnB,uBAAuB;IACvB,+BAA+B;IAC/B,6BAA6B;IAC7B,+BAA+B;IAC/B,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,sBAAsB;IACtB,uFAAuF;IACvF,2BAA2B;IAC3B,2BAA2B;IAC3B,8DAAK,CAAA;IAEL,oBAAoB;IACpB,6BAA6B;IAC7B,kCAAkC;IAClC,kCAAkC;IAClC,gEAAM,CAAA;IAEN,0BAA0B;IAC1B,oBAAoB;IACpB,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;IACvB,0BAA0B;IAC1B,4EAAY,CAAA;IAEZ,kBAAkB;IAClB,2CAA2C;IAC3C,gBAAgB;IAChB,iBAAiB;IACjB,+BAA+B;IAC/B,wCAAwC;IACxC,wCAAwC;IACxC,qCAAqC;IACrC,oBAAoB;IACpB,wBAAwB;IACxB,0CAA0C;IAC1C,0CAA0C;IAC1C,uCAAuC;IACvC,oBAAoB;IACpB,mBAAmB;IACnB,uCAAuC;IACvC,gEAAM,CAAA;IAEN,oBAAoB;IACpB,qBAAqB;IACrB,aAAa;IACb,0BAA0B;IAC1B,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,sBAAsB;IACtB,0BAA0B;IAC1B,8BAA8B;IAC9B,+BAA+B;IAC/B,+BAA+B;IAC/B,sBAAsB;IACtB,wDAAwD;IACxD,kEAAO,CAAA;IAEP,kEAAiB,CAAA;IACjB,+DAAc,CAAA;IACd,oFAAoF;IACpF,mBAAmB;IACnB,kEAAY,CAAA;AACd,CAAC,EA9LW,kBAAkB,kCAAlB,kBAAkB,QA8L7B;AAED,SAAgB,4BAA4B,CAC1C,IAAmB;IAEnB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,sBAAc,CAAC,aAAa,CAAC;QAClC,KAAK,sBAAc,CAAC,WAAW;YAC7B,OAAO,kBAAkB,CAAC,MAAM,CAAC;QAEnC,KAAK,sBAAc,CAAC,eAAe,CAAC;QACpC,KAAK,sBAAc,CAAC,uBAAuB;YACzC,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAElC,KAAK,sBAAc,CAAC,qBAAqB;YACvC,OAAO,kBAAkB,CAAC,WAAW,CAAC;QAExC,KAAK,sBAAc,CAAC,kBAAkB;YACpC,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAElC,KAAK,sBAAc,CAAC,oBAAoB,CAAC;QACzC,KAAK,sBAAc,CAAC,gBAAgB,CAAC;QACrC,KAAK,sBAAc,CAAC,iBAAiB;YACnC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI,CAAC;gBACV,KAAK,KAAK,CAAC;gBACX,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI,CAAC;gBACV,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM,CAAC;gBACZ,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI,CAAC;gBACV,KAAK,IAAI,CAAC;gBACV,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACR,OAAO,kBAAkB,CAAC,UAAU,CAAC;gBAEvC;oBACE,OAAO,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;QAEH,KAAK,sBAAc,CAAC,eAAe,CAAC;QACpC,KAAK,sBAAc,CAAC,mBAAmB,CAAC;QACxC,KAAK,sBAAc,CAAC,eAAe,CAAC;QACpC,KAAK,sBAAc,CAAC,eAAe;YACjC,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAElC,KAAK,sBAAc,CAAC,gBAAgB;YAClC,yEAAyE;YACzE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,kBAAkB,CAAC,KAAK,CAAC;YAClC,CAAC;YACD,OAAO,kBAAkB,CAAC,MAAM,CAAC;QAEnC,KAAK,sBAAc,CAAC,eAAe;YACjC,OAAO,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvD,KAAK,sBAAc,CAAC,cAAc;YAChC,OAAO,kBAAkB,CAAC,YAAY,CAAC;QAEzC,KAAK,sBAAc,CAAC,aAAa;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC9B,CAAC,CAAC,kBAAkB,CAAC,MAAM;gBAC3B,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC;QAEtC,KAAK,sBAAc,CAAC,wBAAwB,CAAC;QAC7C,KAAK,sBAAc,CAAC,gBAAgB,CAAC;QACrC,KAAK,sBAAc,CAAC,YAAY;YAC9B,OAAO,kBAAkB,CAAC,MAAM,CAAC;QAEnC,KAAK,sBAAc,CAAC,cAAc;YAChC,OAAO,kBAAkB,CAAC,UAAU,CAAC;QAEvC,KAAK,sBAAc,CAAC,cAAc,CAAC;QACnC,KAAK,sBAAc,CAAC,KAAK,CAAC;QAC1B,KAAK,sBAAc,CAAC,UAAU,CAAC;QAC/B,KAAK,sBAAc,CAAC,iBAAiB,CAAC;QACtC,KAAK,sBAAc,CAAC,OAAO,CAAC;QAC5B,KAAK,sBAAc,CAAC,eAAe,CAAC;QACpC,KAAK,sBAAc,CAAC,gBAAgB,CAAC;QACrC,KAAK,sBAAc,CAAC,kBAAkB,CAAC;QACvC,KAAK,sBAAc,CAAC,eAAe,CAAC;QACpC,KAAK,sBAAc,CAAC,eAAe,CAAC;QACpC,KAAK,sBAAc,CAAC,UAAU,CAAC;QAC/B,KAAK,sBAAc,CAAC,WAAW;YAC7B,sCAAsC;YACtC,2CAA2C;YAC3C,qCAAqC;YACrC,OAAO,kBAAkB,CAAC,OAAO,CAAC;QAEpC;YACE,OAAO,kBAAkB,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC;AAMD,SAAgB,qBAAqB,CACnC,QAAoB,EACpB,YAAwB,EACxB,YAAsB;IAEtB,QAAQ,QAAQ,EAAE,CAAC;QACjB,uFAAuF;QACvF,KAAK,uBAAU,CAAC,mBAAmB;YACjC,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAElC,KAAK,uBAAU,CAAC,aAAa;YAC3B,OAAO,kBAAkB,CAAC,MAAM,CAAC;QAEnC,KAAK,uBAAU,CAAC,eAAe;YAC7B,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAElC,KAAK,uBAAU,CAAC,qBAAqB;YACnC,OAAO,kBAAkB,CAAC,WAAW,CAAC;QAExC,KAAK,uBAAU,CAAC,gBAAgB;YAC9B,QAAQ,YAAY,EAAE,CAAC;gBACrB,KAAK,uBAAU,CAAC,6BAA6B,CAAC;gBAC9C,KAAK,uBAAU,CAAC,oBAAoB,CAAC;gBACrC,KAAK,uBAAU,CAAC,2BAA2B,CAAC;gBAC5C,KAAK,uBAAU,CAAC,mBAAmB,CAAC;gBACpC,KAAK,uBAAU,CAAC,iBAAiB,CAAC;gBAClC,KAAK,uBAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,uBAAU,CAAC,gBAAgB,CAAC;gBACjC,KAAK,uBAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,uBAAU,CAAC,iCAAiC,CAAC;gBAClD,KAAK,uBAAU,CAAC,4CAA4C,CAAC;gBAC7D,KAAK,uBAAU,CAAC,2BAA2B,CAAC;gBAC5C,KAAK,uBAAU,CAAC,gBAAgB,CAAC;gBACjC,KAAK,uBAAU,CAAC,kBAAkB,CAAC;gBACnC,KAAK,uBAAU,CAAC,eAAe,CAAC;gBAChC,KAAK,uBAAU,CAAC,2BAA2B,CAAC;gBAC5C,KAAK,uBAAU,CAAC,gBAAgB;oBAC9B,OAAO,kBAAkB,CAAC,UAAU,CAAC;gBAEvC,KAAK,uBAAU,CAAC,UAAU;oBACxB,OAAO,kBAAkB,CAAC,KAAK,CAAC;gBAElC;oBACE,OAAO,2BAA2B,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC;QAEH,yEAAyE;QACzE,KAAK,uBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,uBAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,uBAAU,CAAC,qBAAqB,CAAC;QACtC,KAAK,uBAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,uBAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,uBAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,uBAAU,CAAC,eAAe;YAC7B,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAElC,KAAK,uBAAU,CAAC,sBAAsB;YACpC,OAAO,kBAAkB,CAAC,MAAM,CAAC;QAEnC,KAAK,uBAAU,CAAC,cAAc;YAC5B,OAAO,kBAAkB,CAAC,YAAY,CAAC;QAEzC,KAAK,uBAAU,CAAC,aAAa;YAC3B,OAAO,YAAY;gBACjB,CAAC,CAAC,kBAAkB,CAAC,MAAM;gBAC3B,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC;QAEtC,KAAK,uBAAU,CAAC,wBAAwB,CAAC;QACzC,KAAK,uBAAU,CAAC,wBAAwB,CAAC;QACzC,KAAK,uBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,uBAAU,CAAC,YAAY;YAC1B,OAAO,kBAAkB,CAAC,MAAM,CAAC;QAEnC,KAAK,uBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,uBAAU,CAAC,mBAAmB;YACjC,OAAO,kBAAkB,CAAC,UAAU,CAAC;QAEvC,KAAK,uBAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,uBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,uBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,uBAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,uBAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,uBAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,uBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,uBAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,uBAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,uBAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,uBAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,uBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,uBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,uBAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,uBAAU,CAAC,eAAe,CAAC;QAChC,KAAK,uBAAU,CAAC,wBAAwB,CAAC;QACzC,KAAK,uBAAU,CAAC,6BAA6B,CAAC;QAC9C,KAAK,uBAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,uBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,uBAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,uBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,uBAAU,CAAC,qBAAqB,CAAC;QACtC,KAAK,uBAAU,CAAC,WAAW;YACzB,OAAO,kBAAkB,CAAC,OAAO,CAAC;QAEpC;YACE,OAAO,kBAAkB,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAgB,2BAA2B,CACzC,IAAuC;IAEvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,uBAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,uBAAU,CAAC,SAAS;YACvB,OAAO,kBAAkB,CAAC,QAAQ,CAAC;QAErC,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,uBAAU,CAAC,uBAAuB,CAAC;QACxC,KAAK,uBAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,uBAAU,CAAC,4BAA4B,CAAC;QAC7C,KAAK,uBAAU,CAAC,sBAAsB;YACpC,OAAO,kBAAkB,CAAC,QAAQ,CAAC;QAErC,KAAK,IAAI,CAAC;QACV,KAAK,uBAAU,CAAC,qBAAqB;YACnC,OAAO,kBAAkB,CAAC,QAAQ,CAAC;QAErC,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,uBAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,uBAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,uBAAU,CAAC,UAAU;YACxB,OAAO,kBAAkB,CAAC,cAAc,CAAC;QAE3C,KAAK,IAAI,CAAC;QACV,KAAK,uBAAU,CAAC,qBAAqB;YACnC,OAAO,kBAAkB,CAAC,cAAc,CAAC;QAE3C,KAAK,GAAG,CAAC;QACT,KAAK,uBAAU,CAAC,cAAc;YAC5B,OAAO,kBAAkB,CAAC,UAAU,CAAC;QAEvC,KAAK,IAAI,CAAC;QACV,KAAK,uBAAU,CAAC,uBAAuB;YACrC,OAAO,kBAAkB,CAAC,UAAU,CAAC;QAEvC,KAAK,GAAG,CAAC;QACT,KAAK,uBAAU,CAAC,UAAU;YACxB,OAAO,kBAAkB,CAAC,UAAU,CAAC;QAEvC,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,YAAY,CAAC;QAClB,KAAK,uBAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,uBAAU,CAAC,sBAAsB,CAAC;QACvC,KAAK,uBAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,uBAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,uBAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,uBAAU,CAAC,mBAAmB,CAAC;QACpC,KAAK,uBAAU,CAAC,aAAa;YAC3B,+CAA+C;YAC/C,OAAO,kBAAkB,CAAC,UAAU,CAAC;QAEvC,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,uBAAU,CAAC,sCAAsC,CAAC;QACvD,KAAK,uBAAU,CAAC,2BAA2B,CAAC;QAC5C,KAAK,uBAAU,CAAC,qBAAqB;YACnC,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAElC,KAAK,GAAG,CAAC;QACT,KAAK,uBAAU,CAAC,QAAQ;YACtB,OAAO,kBAAkB,CAAC,SAAS,CAAC;QAEtC,KAAK,IAAI,CAAC;QACV,KAAK,uBAAU,CAAC,WAAW;YACzB,OAAO,kBAAkB,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,qFAAqF;IACrF,mBAAmB;IACnB,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js deleted file mode 100644 index 1deb998a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getParentFunctionNode = getParentFunctionNode; -const utils_1 = require("@typescript-eslint/utils"); -function getParentFunctionNode(node) { - let current = node.parent; - while (current) { - if (current.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression || - current.type === utils_1.AST_NODE_TYPES.FunctionDeclaration || - current.type === utils_1.AST_NODE_TYPES.FunctionExpression) { - return current; - } - current = current.parent; - } - // this shouldn't happen in correct code, but someone may attempt to parse bad code - // the parser won't error, so we shouldn't throw here - /* istanbul ignore next */ return null; -} -//# sourceMappingURL=getParentFunctionNode.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js.map deleted file mode 100644 index 54e18a7e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getParentFunctionNode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getParentFunctionNode.js","sourceRoot":"","sources":["../../src/util/getParentFunctionNode.ts"],"names":[],"mappings":";;AAIA,sDAuBC;AAzBD,oDAA0D;AAE1D,SAAgB,qBAAqB,CACnC,IAAmB;IAMnB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,OAAO,OAAO,EAAE,CAAC;QACf,IACE,OAAO,CAAC,IAAI,KAAK,sBAAc,CAAC,uBAAuB;YACvD,OAAO,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB;YACnD,OAAO,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,EAClD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,mFAAmF;IACnF,qDAAqD;IACrD,0BAA0B,CAAC,OAAO,IAAI,CAAC;AACzC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js deleted file mode 100644 index 7be3b89e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; -// adapted from https://github.com/eslint/eslint/blob/5bdaae205c3a0089ea338b382df59e21d5b06436/lib/rules/utils/ast-utils.js#L191-L230 -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStaticStringValue = getStaticStringValue; -const utils_1 = require("@typescript-eslint/utils"); -const isNullLiteral_1 = require("./isNullLiteral"); -/** - * Returns the result of the string conversion applied to the evaluated value of the given expression node, - * if it can be determined statically. - * - * This function returns a `string` value for all `Literal` nodes and simple `TemplateLiteral` nodes only. - * In all other cases, this function returns `null`. - * @param node Expression node. - * @returns String value if it can be determined. Otherwise, `null`. - */ -function getStaticStringValue(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.Literal: - // eslint-disable-next-line eqeqeq, @typescript-eslint/internal/eqeq-nullish -- intentional strict comparison for literal value - if (node.value === null) { - if ((0, isNullLiteral_1.isNullLiteral)(node)) { - return String(node.value); // "null" - } - if ('regex' in node) { - return `/${node.regex.pattern}/${node.regex.flags}`; - } - if ('bigint' in node) { - return node.bigint; - } - // Otherwise, this is an unknown literal. The function will return null. - } - else { - return String(node.value); - } - break; - case utils_1.AST_NODE_TYPES.TemplateLiteral: - if (node.expressions.length === 0 && node.quasis.length === 1) { - return node.quasis[0].value.cooked; - } - break; - // no default - } - return null; -} -//# sourceMappingURL=getStaticStringValue.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js.map deleted file mode 100644 index 9b6955c5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStaticStringValue.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getStaticStringValue.js","sourceRoot":"","sources":["../../src/util/getStaticStringValue.ts"],"names":[],"mappings":";AAAA,qIAAqI;;AAiBrI,oDAgCC;AA7CD,oDAA0D;AAE1D,mDAAgD;AAEhD;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAC,IAAmB;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,sBAAc,CAAC,OAAO;YACzB,+HAA+H;YAC/H,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAA,6BAAa,EAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACtC,CAAC;gBACD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACtD,CAAC;gBAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC,MAAM,CAAC;gBACrB,CAAC;gBAED,wEAAwE;YAC1E,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM;QAER,KAAK,sBAAc,CAAC,eAAe;YACjC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACrC,CAAC;YACD,MAAM;QAER,aAAa;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js deleted file mode 100644 index 7154fc0e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getStringLength = getStringLength; -const graphemer_1 = __importDefault(require("graphemer")); -let splitter; -function isASCII(value) { - return /^[\u0020-\u007f]*$/u.test(value); -} -function getStringLength(value) { - if (isASCII(value)) { - return value.length; - } - splitter ??= new graphemer_1.default(); - return splitter.countGraphemes(value); -} -//# sourceMappingURL=getStringLength.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js.map deleted file mode 100644 index 9771cf3d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getStringLength.js","sourceRoot":"","sources":["../../src/util/getStringLength.ts"],"names":[],"mappings":";;;;;AAQA,0CAQC;AAhBD,0DAAkC;AAElC,IAAI,QAA+B,CAAC;AAEpC,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,QAAQ,KAAK,IAAI,mBAAS,EAAE,CAAC;IAE7B,OAAO,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js deleted file mode 100644 index 48be26ef..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTextWithParentheses = getTextWithParentheses; -const _1 = require("."); -function getTextWithParentheses(sourceCode, node) { - // Capture parentheses before and after the node - let beforeCount = 0; - let afterCount = 0; - if ((0, _1.isParenthesized)(node, sourceCode)) { - const bodyOpeningParen = (0, _1.nullThrows)(sourceCode.getTokenBefore(node, _1.isOpeningParenToken), _1.NullThrowsReasons.MissingToken('(', 'node')); - const bodyClosingParen = (0, _1.nullThrows)(sourceCode.getTokenAfter(node, _1.isClosingParenToken), _1.NullThrowsReasons.MissingToken(')', 'node')); - beforeCount = node.range[0] - bodyOpeningParen.range[0]; - afterCount = bodyClosingParen.range[1] - node.range[1]; - } - return sourceCode.getText(node, beforeCount, afterCount); -} -//# sourceMappingURL=getTextWithParentheses.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js.map deleted file mode 100644 index 9da346bc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getTextWithParentheses.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getTextWithParentheses.js","sourceRoot":"","sources":["../../src/util/getTextWithParentheses.ts"],"names":[],"mappings":";;AAWA,wDAuBC;AA/BD,wBAMW;AAEX,SAAgB,sBAAsB,CACpC,UAAgC,EAChC,IAAmB;IAEnB,gDAAgD;IAChD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,IAAA,kBAAe,EAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,IAAA,aAAU,EACjC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAmB,CAAC,EACpD,oBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAC5C,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAA,aAAU,EACjC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,sBAAmB,CAAC,EACnD,oBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAC5C,CAAC;QAEF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js deleted file mode 100644 index a132a598..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getThisExpression = getThisExpression; -const utils_1 = require("@typescript-eslint/utils"); -function getThisExpression(node) { - while (true) { - if (node.type === utils_1.AST_NODE_TYPES.CallExpression) { - node = node.callee; - } - else if (node.type === utils_1.AST_NODE_TYPES.ThisExpression) { - return node; - } - else if (node.type === utils_1.AST_NODE_TYPES.MemberExpression) { - node = node.object; - } - else if (node.type === utils_1.AST_NODE_TYPES.ChainExpression) { - node = node.expression; - } - else { - break; - } - } - return; -} -//# sourceMappingURL=getThisExpression.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js.map deleted file mode 100644 index b60de801..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getThisExpression.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getThisExpression.js","sourceRoot":"","sources":["../../src/util/getThisExpression.ts"],"names":[],"mappings":";;AAIA,8CAkBC;AApBD,oDAA0D;AAE1D,SAAgB,iBAAiB,CAC/B,IAAmB;IAEnB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO;AACT,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js deleted file mode 100644 index d6d05430..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getWrappedCode = getWrappedCode; -function getWrappedCode(text, nodePrecedence, parentPrecedence) { - return nodePrecedence > parentPrecedence ? text : `(${text})`; -} -//# sourceMappingURL=getWrappedCode.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js.map deleted file mode 100644 index 958e55f0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappedCode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getWrappedCode.js","sourceRoot":"","sources":["../../src/util/getWrappedCode.ts"],"names":[],"mappings":";;AAEA,wCAMC;AAND,SAAgB,cAAc,CAC5B,IAAY,EACZ,cAAkC,EAClC,gBAAoC;IAEpC,OAAO,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;AAChE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js deleted file mode 100644 index e149da4f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js +++ /dev/null @@ -1,182 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getWrappingFixer = getWrappingFixer; -exports.getMovedNodeCode = getMovedNodeCode; -exports.isStrongPrecedenceNode = isStrongPrecedenceNode; -const utils_1 = require("@typescript-eslint/utils"); -/** - * Wraps node with some code. Adds parenthesis as necessary. - * @returns Fixer which adds the specified code and parens if necessary. - */ -function getWrappingFixer(params) { - const { node, innerNode = node, sourceCode, wrap } = params; - const innerNodes = Array.isArray(innerNode) ? innerNode : [innerNode]; - return (fixer) => { - const innerCodes = innerNodes.map(innerNode => { - let code = sourceCode.getText(innerNode); - /** - * Wrap our node in parens to prevent the following cases: - * - It has a weaker precedence than the code we are wrapping it in - * - It's gotten mistaken as block statement instead of object expression - */ - if (!isStrongPrecedenceNode(innerNode) || - isObjectExpressionInOneLineReturn(node, innerNode)) { - code = `(${code})`; - } - return code; - }); - // do the wrapping - let code = wrap(...innerCodes); - // check the outer expression's precedence - if (isWeakPrecedenceParent(node) && - // we wrapped the node in some expression which very likely has a different precedence than original wrapped node - // let's wrap the whole expression in parens just in case - !utils_1.ASTUtils.isParenthesized(node, sourceCode)) { - code = `(${code})`; - } - // check if we need to insert semicolon - if (/^[`([]/.test(code) && isMissingSemicolonBefore(node, sourceCode)) { - code = `;${code}`; - } - return fixer.replaceText(node, code); - }; -} -/** - * If the node to be moved and the destination node require parentheses, include parentheses in the node to be moved. - * @param sourceCode Source code of current file - * @param nodeToMove Nodes that need to be moved - * @param destinationNode Final destination node with nodeToMove - * @returns If parentheses are required, code for the nodeToMove node is returned with parentheses at both ends of the code. - */ -function getMovedNodeCode(params) { - const { destinationNode, nodeToMove: existingNode, sourceCode } = params; - const code = sourceCode.getText(existingNode); - if (isStrongPrecedenceNode(existingNode)) { - // Moved node never needs parens - return code; - } - if (!isWeakPrecedenceParent(destinationNode)) { - // Destination would never needs parens, regardless what node moves there - return code; - } - // Parens may be necessary - return `(${code})`; -} -/** - * Check if a node will always have the same precedence if it's parent changes. - */ -function isStrongPrecedenceNode(innerNode) { - return (innerNode.type === utils_1.AST_NODE_TYPES.Literal || - innerNode.type === utils_1.AST_NODE_TYPES.Identifier || - innerNode.type === utils_1.AST_NODE_TYPES.TSTypeReference || - innerNode.type === utils_1.AST_NODE_TYPES.TSTypeOperator || - innerNode.type === utils_1.AST_NODE_TYPES.ArrayExpression || - innerNode.type === utils_1.AST_NODE_TYPES.ObjectExpression || - innerNode.type === utils_1.AST_NODE_TYPES.MemberExpression || - innerNode.type === utils_1.AST_NODE_TYPES.CallExpression || - innerNode.type === utils_1.AST_NODE_TYPES.NewExpression || - innerNode.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression || - innerNode.type === utils_1.AST_NODE_TYPES.TSInstantiationExpression); -} -/** - * Check if a node's parent could have different precedence if the node changes. - */ -function isWeakPrecedenceParent(node) { - const parent = node.parent; - if (!parent) { - return false; - } - if (parent.type === utils_1.AST_NODE_TYPES.UpdateExpression || - parent.type === utils_1.AST_NODE_TYPES.UnaryExpression || - parent.type === utils_1.AST_NODE_TYPES.BinaryExpression || - parent.type === utils_1.AST_NODE_TYPES.LogicalExpression || - parent.type === utils_1.AST_NODE_TYPES.ConditionalExpression || - parent.type === utils_1.AST_NODE_TYPES.AwaitExpression) { - return true; - } - if (parent.type === utils_1.AST_NODE_TYPES.MemberExpression && - parent.object === node) { - return true; - } - if ((parent.type === utils_1.AST_NODE_TYPES.CallExpression || - parent.type === utils_1.AST_NODE_TYPES.NewExpression) && - parent.callee === node) { - return true; - } - if (parent.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression && - parent.tag === node) { - return true; - } - return false; -} -/** - * Returns true if a node is at the beginning of expression statement and the statement above doesn't end with semicolon. - * Doesn't check if the node begins with `(`, `[` or `` ` ``. - */ -function isMissingSemicolonBefore(node, sourceCode) { - for (;;) { - // https://github.com/typescript-eslint/typescript-eslint/issues/6225 - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const parent = node.parent; - if (parent.type === utils_1.AST_NODE_TYPES.ExpressionStatement) { - const block = parent.parent; - if (block.type === utils_1.AST_NODE_TYPES.Program || - block.type === utils_1.AST_NODE_TYPES.BlockStatement) { - // parent is an expression statement in a block - const statementIndex = block.body.indexOf(parent); - const previousStatement = block.body[statementIndex - 1]; - if (statementIndex > 0 && - utils_1.ESLintUtils.nullThrows(sourceCode.getLastToken(previousStatement), 'Mismatched semicolon and block').value !== ';') { - return true; - } - } - } - if (!isLeftHandSide(node)) { - return false; - } - node = parent; - } -} -/** - * Checks if a node is LHS of an operator. - */ -function isLeftHandSide(node) { - // https://github.com/typescript-eslint/typescript-eslint/issues/6225 - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const parent = node.parent; - // a++ - if (parent.type === utils_1.AST_NODE_TYPES.UpdateExpression) { - return true; - } - // a + b - if ((parent.type === utils_1.AST_NODE_TYPES.BinaryExpression || - parent.type === utils_1.AST_NODE_TYPES.LogicalExpression || - parent.type === utils_1.AST_NODE_TYPES.AssignmentExpression) && - node === parent.left) { - return true; - } - // a ? b : c - if (parent.type === utils_1.AST_NODE_TYPES.ConditionalExpression && - node === parent.test) { - return true; - } - // a(b) - if (parent.type === utils_1.AST_NODE_TYPES.CallExpression && node === parent.callee) { - return true; - } - // a`b` - if (parent.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression && - node === parent.tag) { - return true; - } - return false; -} -/** - * Checks if a node's parent is arrow function expression and a inner node is object expression - */ -function isObjectExpressionInOneLineReturn(node, innerNode) { - return (node.parent?.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression && - node.parent.body === node && - innerNode.type === utils_1.AST_NODE_TYPES.ObjectExpression); -} -//# sourceMappingURL=getWrappingFixer.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map deleted file mode 100644 index c1cd12e0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getWrappingFixer.js","sourceRoot":"","sources":["../../src/util/getWrappingFixer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js deleted file mode 100644 index 860e8b60..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.NullThrowsReasons = exports.nullThrows = exports.isObjectNotArray = exports.getParserServices = exports.deepMerge = exports.applyDefault = void 0; -const utils_1 = require("@typescript-eslint/utils"); -__exportStar(require("./astUtils"), exports); -__exportStar(require("./collectUnusedVariables"), exports); -__exportStar(require("./createRule"), exports); -__exportStar(require("./getFixOrSuggest"), exports); -__exportStar(require("./getFunctionHeadLoc"), exports); -__exportStar(require("./getOperatorPrecedence"), exports); -__exportStar(require("./getStaticStringValue"), exports); -__exportStar(require("./getStringLength"), exports); -__exportStar(require("./getTextWithParentheses"), exports); -__exportStar(require("./getThisExpression"), exports); -__exportStar(require("./getWrappingFixer"), exports); -__exportStar(require("./isArrayMethodCallWithPredicate"), exports); -__exportStar(require("./isAssignee"), exports); -__exportStar(require("./isNodeEqual"), exports); -__exportStar(require("./isNullLiteral"), exports); -__exportStar(require("./isStartOfExpressionStatement"), exports); -__exportStar(require("./isUndefinedIdentifier"), exports); -__exportStar(require("./misc"), exports); -__exportStar(require("./needsPrecedingSemiColon"), exports); -__exportStar(require("./objectIterators"), exports); -__exportStar(require("./needsToBeAwaited"), exports); -__exportStar(require("./scopeUtils"), exports); -__exportStar(require("./types"), exports); -// this is done for convenience - saves migrating all of the old rules -__exportStar(require("@typescript-eslint/type-utils"), exports); -const { applyDefault, deepMerge, getParserServices, isObjectNotArray, nullThrows, NullThrowsReasons, } = utils_1.ESLintUtils; -exports.applyDefault = applyDefault; -exports.deepMerge = deepMerge; -exports.getParserServices = getParserServices; -exports.isObjectNotArray = isObjectNotArray; -exports.nullThrows = nullThrows; -exports.NullThrowsReasons = NullThrowsReasons; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map deleted file mode 100644 index 1cdac1f4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAuD;AAEvD,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,oDAAkC;AAClC,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,qDAAmC;AACnC,mEAAiD;AACjD,+CAA6B;AAC7B,gDAA8B;AAC9B,kDAAgC;AAChC,iEAA+C;AAC/C,0DAAwC;AACxC,yCAAuB;AACvB,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC;AACnC,+CAA6B;AAC7B,0CAAwB;AAExB,sEAAsE;AACtE,gEAA8C;AAC9C,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,GAClB,GAAG,mBAAW,CAAC;AAMd,oCAAY;AACZ,8BAAS;AACT,8CAAiB;AAGjB,4CAAgB;AAChB,gCAAU;AACV,8CAAiB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js deleted file mode 100644 index f285af4c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isArrayMethodCallWithPredicate = isArrayMethodCallWithPredicate; -const type_utils_1 = require("@typescript-eslint/type-utils"); -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const misc_1 = require("./misc"); -const ARRAY_PREDICATE_FUNCTIONS = new Set([ - 'every', - 'filter', - 'find', - 'findIndex', - 'findLast', - 'findLastIndex', - 'some', -]); -function isArrayMethodCallWithPredicate(context, services, node) { - if (node.callee.type !== utils_1.AST_NODE_TYPES.MemberExpression) { - return false; - } - const staticAccessValue = (0, misc_1.getStaticMemberAccessValue)(node.callee, context); - if (!ARRAY_PREDICATE_FUNCTIONS.has(staticAccessValue)) { - return false; - } - const checker = services.program.getTypeChecker(); - const type = (0, type_utils_1.getConstrainedTypeAtLocation)(services, node.callee.object); - return tsutils - .unionTypeParts(type) - .flatMap(part => tsutils.intersectionTypeParts(part)) - .some(t => checker.isArrayType(t) || checker.isTupleType(t)); -} -//# sourceMappingURL=isArrayMethodCallWithPredicate.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js.map deleted file mode 100644 index 045c694c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isArrayMethodCallWithPredicate.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isArrayMethodCallWithPredicate.js","sourceRoot":"","sources":["../../src/util/isArrayMethodCallWithPredicate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,wEAqBC;AArCD,8DAA6E;AAC7E,oDAA0D;AAC1D,sDAAwC;AAExC,iCAAoD;AAEpD,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAU;IACjD,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;IACX,UAAU;IACV,eAAe;IACf,MAAM;CACP,CAAC,CAAC;AAEH,SAAgB,8BAA8B,CAC5C,OAAuC,EACvC,QAA2C,EAC3C,IAA6B;IAE7B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAA,iCAA0B,EAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3E,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,IAAA,yCAA4B,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,OAAO;SACX,cAAc,CAAC,IAAI,CAAC;SACpB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SACpD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js deleted file mode 100644 index f9483f9d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isAssignee = isAssignee; -const utils_1 = require("@typescript-eslint/utils"); -function isAssignee(node) { - const parent = node.parent; - if (!parent) { - return false; - } - // a[i] = 1, a[i] += 1, etc. - if (parent.type === utils_1.AST_NODE_TYPES.AssignmentExpression && - parent.left === node) { - return true; - } - // delete a[i] - if (parent.type === utils_1.AST_NODE_TYPES.UnaryExpression && - parent.operator === 'delete' && - parent.argument === node) { - return true; - } - // a[i]++, --a[i], etc. - if (parent.type === utils_1.AST_NODE_TYPES.UpdateExpression && - parent.argument === node) { - return true; - } - // [a[i]] = [0] - if (parent.type === utils_1.AST_NODE_TYPES.ArrayPattern) { - return true; - } - // [...a[i]] = [0] - if (parent.type === utils_1.AST_NODE_TYPES.RestElement) { - return true; - } - // ({ foo: a[i] }) = { foo: 0 } - if (parent.type === utils_1.AST_NODE_TYPES.Property && - parent.value === node && - parent.parent.type === utils_1.AST_NODE_TYPES.ObjectExpression && - isAssignee(parent.parent)) { - return true; - } - return false; -} -//# sourceMappingURL=isAssignee.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js.map deleted file mode 100644 index ff8fe9a9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isAssignee.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isAssignee.js","sourceRoot":"","sources":["../../src/util/isAssignee.ts"],"names":[],"mappings":";;AAIA,gCAoDC;AAtDD,oDAA0D;AAE1D,SAAgB,UAAU,CAAC,IAAmB;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,oBAAoB;QACnD,MAAM,CAAC,IAAI,KAAK,IAAI,EACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;IACd,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;QAC9C,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAC5B,MAAM,CAAC,QAAQ,KAAK,IAAI,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,QAAQ,KAAK,IAAI,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,QAAQ;QACvC,MAAM,CAAC,KAAK,KAAK,IAAI;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QACtD,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js deleted file mode 100644 index 8fc4711d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isNodeEqual = isNodeEqual; -const utils_1 = require("@typescript-eslint/utils"); -function isNodeEqual(a, b) { - if (a.type !== b.type) { - return false; - } - if (a.type === utils_1.AST_NODE_TYPES.ThisExpression && - b.type === utils_1.AST_NODE_TYPES.ThisExpression) { - return true; - } - if (a.type === utils_1.AST_NODE_TYPES.Literal && b.type === utils_1.AST_NODE_TYPES.Literal) { - return a.value === b.value; - } - if (a.type === utils_1.AST_NODE_TYPES.Identifier && - b.type === utils_1.AST_NODE_TYPES.Identifier) { - return a.name === b.name; - } - if (a.type === utils_1.AST_NODE_TYPES.MemberExpression && - b.type === utils_1.AST_NODE_TYPES.MemberExpression) { - return (isNodeEqual(a.property, b.property) && isNodeEqual(a.object, b.object)); - } - return false; -} -//# sourceMappingURL=isNodeEqual.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js.map deleted file mode 100644 index 5f671c21..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isNodeEqual.js","sourceRoot":"","sources":["../../src/util/isNodeEqual.ts"],"names":[],"mappings":";;AAIA,kCA4BC;AA9BD,oDAA0D;AAE1D,SAAgB,WAAW,CAAC,CAAgB,EAAE,CAAgB;IAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;QACxC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE,CAAC;QAC3E,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;QACpC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EACpC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC1C,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAC1C,CAAC;QACD,OAAO,CACL,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js deleted file mode 100644 index bfac97cb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isNullLiteral = isNullLiteral; -const utils_1 = require("@typescript-eslint/utils"); -function isNullLiteral(i) { - return i.type === utils_1.AST_NODE_TYPES.Literal && i.value == null; -} -//# sourceMappingURL=isNullLiteral.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js.map deleted file mode 100644 index 7c883ecd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isNullLiteral.js","sourceRoot":"","sources":["../../src/util/isNullLiteral.ts"],"names":[],"mappings":";;AAIA,sCAEC;AAJD,oDAA0D;AAE1D,SAAgB,aAAa,CAAC,CAAgB;IAC5C,OAAO,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;AAC9D,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js deleted file mode 100644 index 8c3d7b41..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isStartOfExpressionStatement = isStartOfExpressionStatement; -const utils_1 = require("@typescript-eslint/utils"); -// The following is copied from `eslint`'s source code. -// https://github.com/eslint/eslint/blob/3a4eaf921543b1cd5d1df4ea9dec02fab396af2a/lib/rules/utils/ast-utils.js#L1026-L1041 -// Could be export { isStartOfExpressionStatement } from 'eslint/lib/rules/utils/ast-utils' -/** - * Tests if a node appears at the beginning of an ancestor ExpressionStatement node. - * @param node The node to check. - * @returns Whether the node appears at the beginning of an ancestor ExpressionStatement node. - */ -function isStartOfExpressionStatement(node) { - const start = node.range[0]; - let ancestor = node; - while ((ancestor = ancestor.parent) && ancestor.range[0] === start) { - if (ancestor.type === utils_1.AST_NODE_TYPES.ExpressionStatement) { - return true; - } - } - return false; -} -//# sourceMappingURL=isStartOfExpressionStatement.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js.map deleted file mode 100644 index 129facad..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isStartOfExpressionStatement.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isStartOfExpressionStatement.js","sourceRoot":"","sources":["../../src/util/isStartOfExpressionStatement.ts"],"names":[],"mappings":";;AAYA,oEAUC;AApBD,oDAA0D;AAE1D,uDAAuD;AACvD,0HAA0H;AAC1H,2FAA2F;AAC3F;;;;GAIG;AACH,SAAgB,4BAA4B,CAAC,IAAmB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,QAAQ,GAA8B,IAAI,CAAC;IAE/C,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js deleted file mode 100644 index 6cc63dd7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isTypeImport = isTypeImport; -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const utils_1 = require("@typescript-eslint/utils"); -/** - * Determine whether a variable definition is a type import. e.g.: - * - * ```ts - * import type { Foo } from 'foo'; - * import { type Bar } from 'bar'; - * ``` - * - * @param definition - The variable definition to check. - */ -function isTypeImport(definition) { - return (definition?.type === scope_manager_1.DefinitionType.ImportBinding && - (definition.parent.importKind === 'type' || - (definition.node.type === utils_1.AST_NODE_TYPES.ImportSpecifier && - definition.node.importKind === 'type'))); -} -//# sourceMappingURL=isTypeImport.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js.map deleted file mode 100644 index ef625d19..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeImport.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isTypeImport.js","sourceRoot":"","sources":["../../src/util/isTypeImport.ts"],"names":[],"mappings":";;AAkBA,oCASC;AAtBD,oEAAkE;AAClE,oDAA0D;AAE1D;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,UAAuB;IAEvB,OAAO,CACL,UAAU,EAAE,IAAI,KAAK,8BAAc,CAAC,aAAa;QACjD,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,KAAK,MAAM;YACtC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBACtD,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAC5C,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js deleted file mode 100644 index 0bbd3186..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isUndefinedIdentifier = isUndefinedIdentifier; -const utils_1 = require("@typescript-eslint/utils"); -function isUndefinedIdentifier(i) { - return i.type === utils_1.AST_NODE_TYPES.Identifier && i.name === 'undefined'; -} -//# sourceMappingURL=isUndefinedIdentifier.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js.map deleted file mode 100644 index 49a8455e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isUndefinedIdentifier.js","sourceRoot":"","sources":["../../src/util/isUndefinedIdentifier.ts"],"names":[],"mappings":";;AAIA,sDAEC;AAJD,oDAA0D;AAE1D,SAAgB,qBAAqB,CAAC,CAAgB;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;AACxE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js deleted file mode 100644 index fb8a6ab3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js +++ /dev/null @@ -1,274 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MemberNameType = exports.isStaticMemberAccessOfValue = void 0; -exports.arrayGroupByToMap = arrayGroupByToMap; -exports.arraysAreEqual = arraysAreEqual; -exports.findFirstResult = findFirstResult; -exports.findLastIndex = findLastIndex; -exports.formatWordList = formatWordList; -exports.getEnumNames = getEnumNames; -exports.getNameFromIndexSignature = getNameFromIndexSignature; -exports.getNameFromMember = getNameFromMember; -exports.getStaticMemberAccessValue = getStaticMemberAccessValue; -exports.isDefinitionFile = isDefinitionFile; -exports.isParenlessArrowFunction = isParenlessArrowFunction; -exports.isRestParameterDeclaration = isRestParameterDeclaration; -exports.typeNodeRequiresParentheses = typeNodeRequiresParentheses; -exports.upperCaseFirst = upperCaseFirst; -const type_utils_1 = require("@typescript-eslint/type-utils"); -const utils_1 = require("@typescript-eslint/utils"); -const ts = __importStar(require("typescript")); -const astUtils_1 = require("./astUtils"); -const DEFINITION_EXTENSIONS = [ - ts.Extension.Dts, - ts.Extension.Dcts, - ts.Extension.Dmts, -]; -/** - * Check if the context file name is *.d.ts or *.d.tsx - */ -function isDefinitionFile(fileName) { - const lowerFileName = fileName.toLowerCase(); - for (const definitionExt of DEFINITION_EXTENSIONS) { - if (lowerFileName.endsWith(definitionExt)) { - return true; - } - } - return false; -} -/** - * Upper cases the first character or the string - */ -function upperCaseFirst(str) { - return str[0].toUpperCase() + str.slice(1); -} -function arrayGroupByToMap(array, getKey) { - const groups = new Map(); - for (const item of array) { - const key = getKey(item); - const existing = groups.get(key); - if (existing) { - existing.push(item); - } - else { - groups.set(key, [item]); - } - } - return groups; -} -function arraysAreEqual(a, b, eq) { - return (a === b || - (a != null && - b != null && - a.length === b.length && - a.every((x, idx) => eq(x, b[idx])))); -} -/** Returns the first non-`undefined` result. */ -function findFirstResult(inputs, getResult) { - for (const element of inputs) { - const result = getResult(element); - // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish - if (result !== undefined) { - return result; - } - } - return undefined; -} -/** - * Gets a string representation of the name of the index signature. - */ -function getNameFromIndexSignature(node) { - const propName = node.parameters.find((parameter) => parameter.type === utils_1.AST_NODE_TYPES.Identifier); - return propName ? propName.name : '(index signature)'; -} -var MemberNameType; -(function (MemberNameType) { - MemberNameType[MemberNameType["Private"] = 1] = "Private"; - MemberNameType[MemberNameType["Quoted"] = 2] = "Quoted"; - MemberNameType[MemberNameType["Normal"] = 3] = "Normal"; - MemberNameType[MemberNameType["Expression"] = 4] = "Expression"; -})(MemberNameType || (exports.MemberNameType = MemberNameType = {})); -/** - * Gets a string name representation of the name of the given MethodDefinition - * or PropertyDefinition node, with handling for computed property names. - */ -function getNameFromMember(member, sourceCode) { - if (member.key.type === utils_1.AST_NODE_TYPES.Identifier) { - return { - name: member.key.name, - type: MemberNameType.Normal, - }; - } - if (member.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) { - return { - name: `#${member.key.name}`, - type: MemberNameType.Private, - }; - } - if (member.key.type === utils_1.AST_NODE_TYPES.Literal) { - const name = `${member.key.value}`; - if ((0, type_utils_1.requiresQuoting)(name)) { - return { - name: `"${name}"`, - type: MemberNameType.Quoted, - }; - } - return { - name, - type: MemberNameType.Normal, - }; - } - return { - name: sourceCode.text.slice(...member.key.range), - type: MemberNameType.Expression, - }; -} -function getEnumNames(myEnum) { - return Object.keys(myEnum).filter(x => isNaN(Number(x))); -} -/** - * Given an array of words, returns an English-friendly concatenation, separated with commas, with - * the `and` clause inserted before the last item. - * - * Example: ['foo', 'bar', 'baz' ] returns the string "foo, bar, and baz". - */ -function formatWordList(words) { - if (!words.length) { - return ''; - } - if (words.length === 1) { - return words[0]; - } - return [words.slice(0, -1).join(', '), words.slice(-1)[0]].join(' and '); -} -/** - * Iterates the array in reverse and returns the index of the first element it - * finds which passes the predicate function. - * - * @returns Returns the index of the element if it finds it or -1 otherwise. - */ -function findLastIndex(members, predicate) { - let idx = members.length - 1; - while (idx >= 0) { - const valid = predicate(members[idx]); - if (valid) { - return idx; - } - idx--; - } - return -1; -} -function typeNodeRequiresParentheses(node, text) { - return (node.type === utils_1.AST_NODE_TYPES.TSFunctionType || - node.type === utils_1.AST_NODE_TYPES.TSConstructorType || - node.type === utils_1.AST_NODE_TYPES.TSConditionalType || - (node.type === utils_1.AST_NODE_TYPES.TSUnionType && text.startsWith('|')) || - (node.type === utils_1.AST_NODE_TYPES.TSIntersectionType && text.startsWith('&'))); -} -function isRestParameterDeclaration(decl) { - return ts.isParameter(decl) && decl.dotDotDotToken != null; -} -function isParenlessArrowFunction(node, sourceCode) { - return (node.params.length === 1 && !(0, astUtils_1.isParenthesized)(node.params[0], sourceCode)); -} -/** - * Gets a member being accessed or declared if its value can be determined statically, and - * resolves it to the string or symbol value that will be used as the actual member - * access key at runtime. Otherwise, returns `undefined`. - * - * ```ts - * x.member // returns 'member' - * ^^^^^^^^ - * - * x?.member // returns 'member' (optional chaining is treated the same) - * ^^^^^^^^^ - * - * x['value'] // returns 'value' - * ^^^^^^^^^^ - * - * x[Math.random()] // returns undefined (not a static value) - * ^^^^^^^^^^^^^^^^ - * - * arr[0] // returns '0' (NOT 0) - * ^^^^^^ - * - * arr[0n] // returns '0' (NOT 0n) - * ^^^^^^^ - * - * const s = Symbol.for('symbolName') - * x[s] // returns `Symbol.for('symbolName')` (since it's a static/global symbol) - * ^^^^ - * - * const us = Symbol('symbolName') - * x[us] // returns undefined (since it's a unique symbol, so not statically analyzable) - * ^^^^^ - * - * var object = { - * 1234: '4567', // returns '1234' (NOT 1234) - * ^^^^^^^^^^^^ - * method() { } // returns 'method' - * ^^^^^^^^^^^^ - * } - * - * class WithMembers { - * foo: string // returns 'foo' - * ^^^^^^^^^^^ - * } - * ``` - */ -function getStaticMemberAccessValue(node, { sourceCode }) { - const key = node.type === utils_1.AST_NODE_TYPES.MemberExpression ? node.property : node.key; - const { type } = key; - if (!node.computed && - (type === utils_1.AST_NODE_TYPES.Identifier || - type === utils_1.AST_NODE_TYPES.PrivateIdentifier)) { - return key.name; - } - const result = (0, astUtils_1.getStaticValue)(key, sourceCode.getScope(node)); - if (!result) { - return undefined; - } - const { value } = result; - return typeof value === 'symbol' ? value : String(value); -} -/** - * Answers whether the member expression looks like - * `x.value`, `x['value']`, - * or even `const v = 'value'; x[v]` (or optional variants thereof). - */ -const isStaticMemberAccessOfValue = (memberExpression, context, ...values) => values.includes(getStaticMemberAccessValue(memberExpression, context)); -exports.isStaticMemberAccessOfValue = isStaticMemberAccessOfValue; -//# sourceMappingURL=misc.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map deleted file mode 100644 index 8d354d7f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/util/misc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsUE,8CAAiB;AACjB,wCAAc;AAGd,0CAAe;AACf,sCAAa;AACb,wCAAc;AACd,oCAAY;AACZ,8DAAyB;AACzB,8CAAiB;AACjB,gEAA0B;AAC1B,4CAAgB;AAChB,4DAAwB;AACxB,gEAA0B;AAI1B,kEAA2B;AAC3B,wCAAc;AAlVhB,8DAAgE;AAChE,oDAA0D;AAC1D,+CAAiC;AAEjC,yCAA6D;AAE7D,MAAM,qBAAqB,GAAG;IAC5B,EAAE,CAAC,SAAS,CAAC,GAAG;IAChB,EAAE,CAAC,SAAS,CAAC,IAAI;IACjB,EAAE,CAAC,SAAS,CAAC,IAAI;CACT,CAAC;AACX;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7C,KAAK,MAAM,aAAa,IAAI,qBAAqB,EAAE,CAAC;QAClD,IAAI,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAU,EACV,MAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAY,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAKD,SAAS,cAAc,CACrB,CAAkB,EAClB,CAAkB,EAClB,EAA2B;IAE3B,OAAO,CACL,CAAC,KAAK,CAAC;QACP,CAAC,CAAC,IAAI,IAAI;YACR,CAAC,IAAI,IAAI;YACT,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YACrB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,SAAS,eAAe,CACtB,MAAW,EACX,SAAkC;IAElC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,oEAAoE;QACpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,IAA+B;IAChE,MAAM,QAAQ,GAAsC,IAAI,CAAC,UAAU,CAAC,IAAI,CACtE,CAAC,SAA6B,EAAoC,EAAE,CAClE,SAAS,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,CAC/C,CAAC;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;AACxD,CAAC;AAED,IAAK,cAKJ;AALD,WAAK,cAAc;IACjB,yDAAW,CAAA;IACX,uDAAU,CAAA;IACV,uDAAU,CAAA;IACV,+DAAc,CAAA;AAChB,CAAC,EALI,cAAc,8BAAd,cAAc,QAKlB;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,MASgC,EAChC,UAA+B;IAE/B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE,CAAC;QAClD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACrB,IAAI,EAAE,cAAc,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,EAAE,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;YAC3B,IAAI,EAAE,cAAc,CAAC,OAAO;SAC7B,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,IAAI,IAAI,GAAG;gBACjB,IAAI,EAAE,cAAc,CAAC,MAAM;aAC5B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,cAAc,CAAC,MAAM;SAC5B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAChD,IAAI,EAAE,cAAc,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC;AAWD,SAAS,YAAY,CAAmB,MAA0B;IAChE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAe;IACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CACpB,OAAY,EACZ,SAAoD;IAEpD,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7B,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,EAAE,CAAC;IACR,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAuB,EACvB,IAAY;IAEZ,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;QAC3C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;QAC9C,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,iBAAiB;QAC9C,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAoB;IACtD,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAsC,EACtC,UAA+B;IAE/B,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CACzE,CAAC;AACJ,CAAC;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,SAAS,0BAA0B,CACjC,IAAiB,EACjB,EAAE,UAAU,EAAkC;IAE9C,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,IACE,CAAC,IAAI,CAAC,QAAQ;QACd,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;YACjC,IAAI,KAAK,sBAAc,CAAC,iBAAiB,CAAC,EAC5C,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,yBAAc,EAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,CAClC,gBAA6B,EAC7B,OAAuC,EACvC,GAAG,MAA2B,EACrB,EAAE,CACV,MAA0C,CAAC,QAAQ,CAClD,0BAA0B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CACtD,CAAC;AAiBF,kEAA2B"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js deleted file mode 100644 index 4fb50f99..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js +++ /dev/null @@ -1,98 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.needsPrecedingSemicolon = needsPrecedingSemicolon; -const utils_1 = require("@typescript-eslint/utils"); -const ast_utils_1 = require("@typescript-eslint/utils/ast-utils"); -// The following is adapted from `eslint`'s source code. -// https://github.com/eslint/eslint/blob/3a4eaf921543b1cd5d1df4ea9dec02fab396af2a/lib/rules/utils/ast-utils.js#L1043-L1132 -// Could be export { isStartOfExpressionStatement } from 'eslint/lib/rules/utils/ast-utils' -const BREAK_OR_CONTINUE = new Set([ - utils_1.AST_NODE_TYPES.BreakStatement, - utils_1.AST_NODE_TYPES.ContinueStatement, -]); -// Declaration types that must contain a string Literal node at the end. -const DECLARATIONS = new Set([ - utils_1.AST_NODE_TYPES.ExportAllDeclaration, - utils_1.AST_NODE_TYPES.ExportNamedDeclaration, - utils_1.AST_NODE_TYPES.ImportDeclaration, -]); -const IDENTIFIER_OR_KEYWORD = new Set([ - utils_1.AST_NODE_TYPES.Identifier, - utils_1.AST_TOKEN_TYPES.Keyword, -]); -// Keywords that can immediately precede an ExpressionStatement node, mapped to the their node types. -const NODE_TYPES_BY_KEYWORD = { - __proto__: null, - break: utils_1.AST_NODE_TYPES.BreakStatement, - continue: utils_1.AST_NODE_TYPES.ContinueStatement, - debugger: utils_1.AST_NODE_TYPES.DebuggerStatement, - do: utils_1.AST_NODE_TYPES.DoWhileStatement, - else: utils_1.AST_NODE_TYPES.IfStatement, - return: utils_1.AST_NODE_TYPES.ReturnStatement, - yield: utils_1.AST_NODE_TYPES.YieldExpression, -}; -/* - * Before an opening parenthesis, postfix `++` and `--` always trigger ASI; - * the tokens `:`, `;`, `{` and `=>` don't expect a semicolon, as that would count as an empty statement. - */ -const PUNCTUATORS = new Set(['--', ';', ':', '{', '++', '=>']); -/* - * Statements that can contain an `ExpressionStatement` after a closing parenthesis. - * DoWhileStatement is an exception in that it always triggers ASI after the closing parenthesis. - */ -const STATEMENTS = new Set([ - utils_1.AST_NODE_TYPES.DoWhileStatement, - utils_1.AST_NODE_TYPES.ForInStatement, - utils_1.AST_NODE_TYPES.ForOfStatement, - utils_1.AST_NODE_TYPES.ForStatement, - utils_1.AST_NODE_TYPES.IfStatement, - utils_1.AST_NODE_TYPES.WhileStatement, - utils_1.AST_NODE_TYPES.WithStatement, -]); -/** - * Determines whether an opening parenthesis `(`, bracket `[` or backtick ``` ` ``` needs to be preceded by a semicolon. - * This opening parenthesis or bracket should be at the start of an `ExpressionStatement`, a `MethodDefinition` or at - * the start of the body of an `ArrowFunctionExpression`. - * @param sourceCode The source code object. - * @param node A node at the position where an opening parenthesis or bracket will be inserted. - * @returns Whether a semicolon is required before the opening parenthesis or bracket. - */ -function needsPrecedingSemicolon(sourceCode, node) { - const prevToken = sourceCode.getTokenBefore(node); - if (!prevToken || - (prevToken.type === utils_1.AST_TOKEN_TYPES.Punctuator && - PUNCTUATORS.has(prevToken.value))) { - return false; - } - const prevNode = sourceCode.getNodeByRangeIndex(prevToken.range[0]); - if (!prevNode) { - return false; - } - if ((0, ast_utils_1.isClosingParenToken)(prevToken)) { - return !STATEMENTS.has(prevNode.type); - } - if ((0, ast_utils_1.isClosingBraceToken)(prevToken)) { - return ((prevNode.type === utils_1.AST_NODE_TYPES.BlockStatement && - prevNode.parent.type === utils_1.AST_NODE_TYPES.FunctionExpression && - prevNode.parent.parent.type !== utils_1.AST_NODE_TYPES.MethodDefinition) || - (prevNode.type === utils_1.AST_NODE_TYPES.ClassBody && - prevNode.parent.type === utils_1.AST_NODE_TYPES.ClassExpression) || - prevNode.type === utils_1.AST_NODE_TYPES.ObjectExpression); - } - if (!prevNode.parent) { - return false; - } - if (IDENTIFIER_OR_KEYWORD.has(prevToken.type)) { - if (BREAK_OR_CONTINUE.has(prevNode.parent.type)) { - return false; - } - const keyword = prevToken.value; - const nodeType = NODE_TYPES_BY_KEYWORD[keyword]; - return prevNode.type !== nodeType; - } - if (prevToken.type === utils_1.AST_TOKEN_TYPES.String) { - return !DECLARATIONS.has(prevNode.parent.type); - } - return true; -} -//# sourceMappingURL=needsPrecedingSemiColon.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js.map deleted file mode 100644 index 6cbaf969..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsPrecedingSemiColon.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"needsPrecedingSemiColon.js","sourceRoot":"","sources":["../../src/util/needsPrecedingSemiColon.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js deleted file mode 100644 index 719f147f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Awaitable = void 0; -exports.needsToBeAwaited = needsToBeAwaited; -const type_utils_1 = require("@typescript-eslint/type-utils"); -const tsutils = __importStar(require("ts-api-utils")); -var Awaitable; -(function (Awaitable) { - Awaitable[Awaitable["Always"] = 0] = "Always"; - Awaitable[Awaitable["Never"] = 1] = "Never"; - Awaitable[Awaitable["May"] = 2] = "May"; -})(Awaitable || (exports.Awaitable = Awaitable = {})); -function needsToBeAwaited(checker, node, type) { - // can't use `getConstrainedTypeAtLocation` directly since it's bugged for - // unconstrained generics. - const constrainedType = !tsutils.isTypeParameter(type) - ? type - : checker.getBaseConstraintOfType(type); - // unconstrained generic types should be treated as unknown - if (constrainedType == null) { - return Awaitable.May; - } - // `any` and `unknown` types may need to be awaited - if ((0, type_utils_1.isTypeAnyType)(constrainedType) || (0, type_utils_1.isTypeUnknownType)(constrainedType)) { - return Awaitable.May; - } - // 'thenable' values should always be be awaited - if (tsutils.isThenableType(checker, node, constrainedType)) { - return Awaitable.Always; - } - // anything else should not be awaited - return Awaitable.Never; -} -//# sourceMappingURL=needsToBeAwaited.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js.map deleted file mode 100644 index 9e8c72ac..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/needsToBeAwaited.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"needsToBeAwaited.js","sourceRoot":"","sources":["../../src/util/needsToBeAwaited.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,4CA4BC;AAxCD,8DAGuC;AACvC,sDAAwC;AAExC,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,6CAAM,CAAA;IACN,2CAAK,CAAA;IACL,uCAAG,CAAA;AACL,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,SAAgB,gBAAgB,CAC9B,OAAuB,EACvB,IAAa,EACb,IAAa;IAEb,0EAA0E;IAC1E,0BAA0B;IAC1B,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;QACpD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE1C,2DAA2D;IAC3D,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAA,0BAAa,EAAC,eAAe,CAAC,IAAI,IAAA,8BAAiB,EAAC,eAAe,CAAC,EAAE,CAAC;QACzE,OAAO,SAAS,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,gDAAgD;IAChD,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,sCAAsC;IACtC,OAAO,SAAS,CAAC,KAAK,CAAC;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js deleted file mode 100644 index d10f56f9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.objectForEachKey = objectForEachKey; -exports.objectMapKey = objectMapKey; -exports.objectReduceKey = objectReduceKey; -function objectForEachKey(obj, callback) { - const keys = Object.keys(obj); - for (const key of keys) { - callback(key); - } -} -function objectMapKey(obj, callback) { - const values = []; - objectForEachKey(obj, key => { - values.push(callback(key)); - }); - return values; -} -function objectReduceKey(obj, callback, initial) { - let accumulator = initial; - objectForEachKey(obj, key => { - accumulator = callback(accumulator, key); - }); - return accumulator; -} -//# sourceMappingURL=objectIterators.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js.map deleted file mode 100644 index 3311f8e8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/objectIterators.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"objectIterators.js","sourceRoot":"","sources":["../../src/util/objectIterators.ts"],"names":[],"mappings":";;AAiCS,4CAAgB;AAAE,oCAAY;AAAE,0CAAe;AAjCxD,SAAS,gBAAgB,CACvB,GAAM,EACN,QAAgC;IAEhC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,GAAM,EACN,QAAkC;IAElC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,GAAM,EACN,QAAyD,EACzD,OAAoB;IAEpB,IAAI,WAAW,GAAG,OAAO,CAAC;IAC1B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAC1B,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js deleted file mode 100644 index 3f126be5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.rangeToLoc = rangeToLoc; -function rangeToLoc(sourceCode, range) { - return { - end: sourceCode.getLocFromIndex(range[1]), - start: sourceCode.getLocFromIndex(range[0]), - }; -} -//# sourceMappingURL=rangeToLoc.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js.map deleted file mode 100644 index 49318de4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/rangeToLoc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"rangeToLoc.js","sourceRoot":"","sources":["../../src/util/rangeToLoc.ts"],"names":[],"mappings":";;AAEA,gCAQC;AARD,SAAgB,UAAU,CACxB,UAA+B,EAC/B,KAAyB;IAEzB,OAAO;QACL,GAAG,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js deleted file mode 100644 index 0ae36860..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.referenceContainsTypeQuery = referenceContainsTypeQuery; -const utils_1 = require("@typescript-eslint/utils"); -/** - * Recursively checks whether a given reference has a type query declaration among its parents - */ -function referenceContainsTypeQuery(node) { - switch (node.type) { - case utils_1.AST_NODE_TYPES.TSTypeQuery: - return true; - case utils_1.AST_NODE_TYPES.TSQualifiedName: - case utils_1.AST_NODE_TYPES.Identifier: - return referenceContainsTypeQuery(node.parent); - default: - // if we find a different node, there's no chance that we're in a TSTypeQuery - return false; - } -} -//# sourceMappingURL=referenceContainsTypeQuery.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js.map deleted file mode 100644 index 508b6eed..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/referenceContainsTypeQuery.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"referenceContainsTypeQuery.js","sourceRoot":"","sources":["../../src/util/referenceContainsTypeQuery.ts"],"names":[],"mappings":";;AAOA,gEAaC;AAlBD,oDAA0D;AAE1D;;GAEG;AACH,SAAgB,0BAA0B,CAAC,IAAmB;IAC5D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,sBAAc,CAAC,WAAW;YAC7B,OAAO,IAAI,CAAC;QAEd,KAAK,sBAAc,CAAC,eAAe,CAAC;QACpC,KAAK,sBAAc,CAAC,UAAU;YAC5B,OAAO,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjD;YACE,6EAA6E;YAC7E,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js deleted file mode 100644 index 18ff6c1d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isReferenceToGlobalFunction = isReferenceToGlobalFunction; -function isReferenceToGlobalFunction(calleeName, node, sourceCode) { - const ref = sourceCode - .getScope(node) - .references.find(ref => ref.identifier.name === calleeName); - // ensure it's the "global" version - return !ref?.resolved?.defs.length; -} -//# sourceMappingURL=scopeUtils.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js.map deleted file mode 100644 index 19b5942d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/scopeUtils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../src/util/scopeUtils.ts"],"names":[],"mappings":";;AAGA,kEAWC;AAXD,SAAgB,2BAA2B,CACzC,UAAkB,EAClB,IAAmB,EACnB,UAAsB;IAEtB,MAAM,GAAG,GAAG,UAAU;SACnB,QAAQ,CAAC,IAAI,CAAC;SACd,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAE9D,mCAAmC;IACnC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;AACrC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js deleted file mode 100644 index 11e638d1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map deleted file mode 100644 index e7579840..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/dist/util/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md deleted file mode 100644 index 75c5723d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Overview -sidebar_label: Overview -pagination_next: null -pagination_prev: null -slug: / ---- - -`@typescript-eslint/eslint-plugin` includes over 100 rules that detect best practice violations, bugs, and/or stylistic issues specifically for TypeScript code. All of our rules are listed below. - -:::tip -Instead of enabling rules one by one, we recommend using one of [our pre-defined configs](/users/configs) to enable a large set of recommended rules. -::: - -## Rules - -The rules are listed in alphabetical order. You can optionally filter them based on these categories: - -import RulesTable from "@site/src/components/RulesTable"; - - - -## Filtering - -### Config Group (⚙️) - -"Config Group" refers to the [pre-defined config](/users/configs) that includes the rule. Extending from a configuration preset allow for enabling a large set of recommended rules all at once. - -### Metadata - -- `🔧 fixable` refers to whether the rule contains an [ESLint `--fix` auto-fixer](https://eslint.org/docs/latest/use/command-line-interface#--fix). -- `💡 has suggestions` refers to whether the rule contains an ESLint suggestion fixer. - - Sometimes, it is not safe to automatically fix the code with an auto-fixer. But in these cases, we often have a good guess of what the correct fix should be, and we can provide it as a suggestion to the developer. -- `💭 requires type information` refers to whether the rule requires [typed linting](/getting-started/typed-linting). -- `🧱 extension rule` means that the rule is an extension of an [core ESLint rule](https://eslint.org/docs/latest/rules) (see [Extension Rules](#extension-rules)). -- `💀 deprecated rule` means that the rule should no longer be used and will be removed from the plugin in a future version. - -## Extension Rules - -Some core ESLint rules do not support TypeScript syntax: either they crash, ignore the syntax, or falsely report against it. -In these cases, we create what we call an "extension rule": a rule within our plugin that has the same functionality, but also supports TypeScript. - -Extension rules generally completely replace the base rule from ESLint core. -If the base rule is enabled in a config you extend from, you'll need to disable the base rule: - -```js -module.exports = { - extends: ['eslint:recommended'], - rules: { - // Note: you must disable the base rule as it can report incorrect errors - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'error', - }, -}; -``` - -[Search for `🧱 extension rule`s](?=extension#rules) in this page to see all extension rules. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md deleted file mode 100644 index 49947c33..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -description: '' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/RULE_NAME_REPLACEME** for documentation. - -## Examples - -To fill out: tell us more about this rule. - - - - -```ts -// To fill out: incorrect code -``` - - - - -```ts -// To fill out: correct code -``` - - - - -## When Not To Use It - -To fill out: why wouldn't you want to use this rule? -For example if this rule requires a feature released in a certain TS version. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.mdx deleted file mode 100644 index 60f62b2f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -description: 'Require that function overload signatures be consecutive.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/adjacent-overload-signatures** for documentation. - -Function overload signatures represent multiple ways a function can be called, potentially with different return types. -It's typical for an interface or type alias describing a function to place all overload signatures next to each other. -If Signatures placed elsewhere in the type are easier to be missed by future developers reading the code. - -## Examples - - - - -```ts -declare namespace Foo { - export function foo(s: string): void; - export function foo(n: number): void; - export function bar(): void; - export function foo(sn: string | number): void; -} - -type Foo = { - foo(s: string): void; - foo(n: number): void; - bar(): void; - foo(sn: string | number): void; -}; - -interface Foo { - foo(s: string): void; - foo(n: number): void; - bar(): void; - foo(sn: string | number): void; -} - -class Foo { - foo(s: string): void; - foo(n: number): void; - bar(): void {} - foo(sn: string | number): void {} -} - -export function foo(s: string): void; -export function foo(n: number): void; -export function bar(): void; -export function foo(sn: string | number): void; -``` - - - - -```ts -declare namespace Foo { - export function foo(s: string): void; - export function foo(n: number): void; - export function foo(sn: string | number): void; - export function bar(): void; -} - -type Foo = { - foo(s: string): void; - foo(n: number): void; - foo(sn: string | number): void; - bar(): void; -}; - -interface Foo { - foo(s: string): void; - foo(n: number): void; - foo(sn: string | number): void; - bar(): void; -} - -class Foo { - foo(s: string): void; - foo(n: number): void; - foo(sn: string | number): void {} - bar(): void {} -} - -export function bar(): void; -export function foo(s: string): void; -export function foo(n: number): void; -export function foo(sn: string | number): void; -``` - - - - -## When Not To Use It - -It can sometimes be useful to place overload signatures alongside other meaningful parts of a type. -For example, if each of a function's overloads corresponds to a different property, you might wish to put each overloads next to its corresponding property. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`unified-signatures`](./unified-signatures.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.mdx deleted file mode 100644 index 8c520c8c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.mdx +++ /dev/null @@ -1,126 +0,0 @@ ---- -description: 'Require consistently using either `T[]` or `Array` for arrays.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/array-type** for documentation. - -TypeScript provides two equivalent ways to define an array type: `T[]` and `Array`. -The two styles are functionally equivalent. -Using the same style consistently across your codebase makes it easier for developers to read and understand array types. - -## Options - -The default config will enforce that all mutable and readonly arrays use the `'array'` syntax. - -### `"array"` - -Always use `T[]` or `readonly T[]` for all array types. - - - - -```ts option='{ "default": "array" }' -const x: Array = ['a', 'b']; -const y: ReadonlyArray = ['a', 'b']; -``` - - - - -```ts option='{ "default": "array" }' -const x: string[] = ['a', 'b']; -const y: readonly string[] = ['a', 'b']; -``` - - - - -### `"generic"` - -Always use `Array`, `ReadonlyArray`, or `Readonly>` for all array types. -`readonly T[]` will be modified to `ReadonlyArray` and `Readonly` will be modified to `Readonly>`. - - - - -```ts option='{ "default": "generic" }' -const x: string[] = ['a', 'b']; -const y: readonly string[] = ['a', 'b']; -const z: Readonly = ['a', 'b']; -``` - - - - -```ts option='{ "default": "generic" }' -const x: Array = ['a', 'b']; -const y: ReadonlyArray = ['a', 'b']; -const z: Readonly> = ['a', 'b']; -``` - - - - -### `"array-simple"` - -Use `T[]` or `readonly T[]` for simple types (i.e. types which are just primitive names or type references). -Use `Array` or `ReadonlyArray` for all other types (union types, intersection types, object types, function types, etc). - - - - -```ts option='{ "default": "array-simple" }' -const a: (string | number)[] = ['a', 'b']; -const b: { prop: string }[] = [{ prop: 'a' }]; -const c: (() => void)[] = [() => {}]; -const d: Array = ['a', 'b']; -const e: Array = ['a', 'b']; -const f: ReadonlyArray = ['a', 'b']; -``` - - - - -```ts option='{ "default": "array-simple" }' -const a: Array = ['a', 'b']; -const b: Array<{ prop: string }> = [{ prop: 'a' }]; -const c: Array<() => void> = [() => {}]; -const d: MyType[] = ['a', 'b']; -const e: string[] = ['a', 'b']; -const f: readonly string[] = ['a', 'b']; -``` - - - - -## Combination Matrix - -This matrix lists all possible option combinations and their expected results for different types of Arrays. - -| defaultOption | readonlyOption | Array with simple type | Array with non simple type | Readonly array with simple type | Readonly array with non simple type | -| -------------- | -------------- | ---------------------- | -------------------------- | ------------------------------- | ----------------------------------- | -| `array` | | `number[]` | `(Foo & Bar)[]` | `readonly number[]` | `readonly (Foo & Bar)[]` | -| `array` | `array` | `number[]` | `(Foo & Bar)[]` | `readonly number[]` | `readonly (Foo & Bar)[]` | -| `array` | `array-simple` | `number[]` | `(Foo & Bar)[]` | `readonly number[]` | `ReadonlyArray` | -| `array` | `generic` | `number[]` | `(Foo & Bar)[]` | `ReadonlyArray` | `ReadonlyArray` | -| `array-simple` | | `number[]` | `Array` | `readonly number[]` | `ReadonlyArray` | -| `array-simple` | `array` | `number[]` | `Array` | `readonly number[]` | `readonly (Foo & Bar)[]` | -| `array-simple` | `array-simple` | `number[]` | `Array` | `readonly number[]` | `ReadonlyArray` | -| `array-simple` | `generic` | `number[]` | `Array` | `ReadonlyArray` | `ReadonlyArray` | -| `generic` | | `Array` | `Array` | `ReadonlyArray` | `ReadonlyArray` | -| `generic` | `array` | `Array` | `Array` | `readonly number[]` | `readonly (Foo & Bar)[]` | -| `generic` | `array-simple` | `Array` | `Array` | `readonly number[]` | `ReadonlyArray` | -| `generic` | `generic` | `Array` | `Array` | `ReadonlyArray` | `ReadonlyArray` | - -## When Not To Use It - -This rule is purely a stylistic rule for maintaining consistency in your project. -You can turn it off if you don't want to keep a consistent style for array types. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.mdx deleted file mode 100644 index c4006c81..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.mdx +++ /dev/null @@ -1,184 +0,0 @@ ---- -description: 'Disallow awaiting a value that is not a Thenable.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/await-thenable** for documentation. - -A "Thenable" value is an object which has a `then` method, such as a Promise. -The [`await` keyword](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await) is generally used to retrieve the result of calling a Thenable's `then` method. - -If the `await` keyword is used on a value that is not a Thenable, the value is directly resolved, but will still pause execution until the next microtask. -While doing so is valid JavaScript, it is often a programmer error, such as forgetting to add parenthesis to call a function that returns a Promise. - -## Examples - - - - -```ts -await 'value'; - -const createValue = () => 'value'; -await createValue(); -``` - - - - -```ts -await Promise.resolve('value'); - -const createValue = async () => 'value'; -await createValue(); -``` - - - - -## Async Iteration (`for await...of` Loops) - -This rule also inspects [`for await...of` statements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of), and reports if the value being iterated over is not async-iterable. - -:::info[Why does the rule report on `for await...of` loops used on an array of Promises?] - -While `for await...of` can be used with synchronous iterables, and it will await each promise produced by the iterable, it is inadvisable to do so. -There are some tiny nuances that you may want to consider. - -The biggest difference between using `for await...of` and using `for...of` (apart from awaiting each result yourself) is error handling. -When an error occurs within the loop body, `for await...of` does _not_ close the original sync iterable, while `for...of` does. -For detailed examples of this, see the [MDN documentation on using `for await...of` with sync-iterables](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of#iterating_over_sync_iterables_and_generators). - -Also consider whether you need sequential awaiting at all. Using `for await...of` may obscure potential opportunities for concurrent processing, such as those reported by [`no-await-in-loop`](https://eslint.org/docs/latest/rules/no-await-in-loop). Consider instead using one of the [promise concurrency methods](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#promise_concurrency) for better performance. - -::: - -### Examples - - - - -```ts -async function syncIterable() { - const arrayOfValues = [1, 2, 3]; - for await (const value of arrayOfValues) { - console.log(value); - } -} - -async function syncIterableOfPromises() { - const arrayOfPromises = [ - Promise.resolve(1), - Promise.resolve(2), - Promise.resolve(3), - ]; - for await (const promisedValue of arrayOfPromises) { - console.log(promisedValue); - } -} -``` - - - - -```ts -async function syncIterable() { - const arrayOfValues = [1, 2, 3]; - for (const value of arrayOfValues) { - console.log(value); - } -} - -async function syncIterableOfPromises() { - const arrayOfPromises = [ - Promise.resolve(1), - Promise.resolve(2), - Promise.resolve(3), - ]; - for (const promisedValue of await Promise.all(arrayOfPromises)) { - console.log(promisedValue); - } -} - -async function validUseOfForAwaitOnAsyncIterable() { - async function* yieldThingsAsynchronously() { - yield 1; - await new Promise(resolve => setTimeout(resolve, 1000)); - yield 2; - } - - for await (const promisedValue of yieldThingsAsynchronously()) { - console.log(promisedValue); - } -} -``` - - - - -## Explicit Resource Management (`await using` Statements) - -This rule also inspects [`await using` statements](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management). -If the disposable being used is not async-disposable, an `await using` statement is unnecessary. - -### Examples - - - - -```ts -function makeSyncDisposable(): Disposable { - return { - [Symbol.dispose](): void { - // Dispose of the resource - }, - }; -} - -async function shouldNotAwait() { - await using resource = makeSyncDisposable(); -} -``` - - - - -```ts -function makeSyncDisposable(): Disposable { - return { - [Symbol.dispose](): void { - // Dispose of the resource - }, - }; -} - -async function shouldNotAwait() { - using resource = makeSyncDisposable(); -} - -function makeAsyncDisposable(): AsyncDisposable { - return { - async [Symbol.asyncDispose](): Promise { - // Dispose of the resource asynchronously - }, - }; -} - -async function shouldAwait() { - await using resource = makeAsyncDisposable(); -} -``` - - - - -## When Not To Use It - -If you want to allow code to `await` non-Promise values. -For example, if your framework is in transition from one style of asynchronous code to another, it may be useful to include `await`s unnecessarily. -This is generally not preferred but can sometimes be useful for visual consistency. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.mdx deleted file mode 100644 index e2338747..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.mdx +++ /dev/null @@ -1,165 +0,0 @@ ---- -description: 'Disallow `@ts-` comments or require descriptions after directives.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/ban-ts-comment** for documentation. - -TypeScript provides several directive comments that can be used to alter how it processes files. -Using these to suppress TypeScript compiler errors reduces the effectiveness of TypeScript overall. -Instead, it's generally better to correct the types of code, to make directives unnecessary. - -The directive comments supported by TypeScript are: - -```ts -// @ts-expect-error -// @ts-ignore -// @ts-nocheck -// @ts-check -``` - -This rule lets you set which directive comments you want to allow in your codebase. - -## Options - -By default, only `@ts-check` is allowed, as it enables rather than suppresses errors. - -### `ts-expect-error`, `ts-ignore`, `ts-nocheck`, `ts-check` directives - -A value of `true` for a particular directive means that this rule will report if it finds any usage of said directive. - - - - -```ts option='{ "ts-ignore": true }' -if (false) { - // @ts-ignore: Unreachable code error - console.log('hello'); -} -if (false) { - /* @ts-ignore: Unreachable code error */ - console.log('hello'); -} -``` - - - - -```ts option='{ "ts-ignore": true }' -if (false) { - // Compiler warns about unreachable code error - console.log('hello'); -} -``` - - - - -### `allow-with-description` - -A value of `'allow-with-description'` for a particular directive means that this rule will report if it finds a directive that does not have a description following the directive (on the same line). - -For example, with `{ 'ts-expect-error': 'allow-with-description' }`: - - - - -```ts option='{ "ts-expect-error": "allow-with-description" }' -if (false) { - // @ts-expect-error - console.log('hello'); -} -if (false) { - /* @ts-expect-error */ - console.log('hello'); -} -``` - - - - -```ts option='{ "ts-expect-error": "allow-with-description" }' -if (false) { - // @ts-expect-error: Unreachable code error - console.log('hello'); -} -if (false) { - /* @ts-expect-error: Unreachable code error */ - console.log('hello'); -} -``` - - - -### `descriptionFormat` - -{/* insert option description */} - -For each directive type, you can specify a custom format in the form of a regular expression. Only description that matches the pattern will be allowed. - -For example, with `{ 'ts-expect-error': { descriptionFormat: '^: TS\\d+ because .+$' } }`: - - - - -{/* prettier-ignore */} -```ts option='{ "ts-expect-error": { "descriptionFormat": "^: TS\\\\d+ because .+$" } }' -// @ts-expect-error: the library definition is wrong -const a = doSomething('hello'); -``` - - - - -{/* prettier-ignore */} -```ts option='{ "ts-expect-error": { "descriptionFormat": "^: TS\\\\d+ because .+$" } }' -// @ts-expect-error: TS1234 because the library definition is wrong -const a = doSomething('hello'); -``` - - - - -### `minimumDescriptionLength` - -{/* insert option description */} - -Use `minimumDescriptionLength` to set a minimum length for descriptions when using the `allow-with-description` option for a directive. - -For example, with `{ 'ts-expect-error': 'allow-with-description', minimumDescriptionLength: 10 }` the following pattern is: - - - - -```ts option='{ "ts-expect-error": "allow-with-description", "minimumDescriptionLength": 10 }' -if (false) { - // @ts-expect-error: TODO - console.log('hello'); -} -``` - - - - -```ts option='{ "ts-expect-error": "allow-with-description", "minimumDescriptionLength": 10 }' -if (false) { - // @ts-expect-error The rationale for this override is described in issue #1337 on GitLab - console.log('hello'); -} -``` - - - - -## When Not To Use It - -If your project or its dependencies were not architected with strong type safety in mind, it can be difficult to always adhere to proper TypeScript semantics. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- TypeScript [Type Checking JavaScript Files](https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.mdx deleted file mode 100644 index c6aa3b9b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -description: 'Disallow `// tslint:` comments.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/ban-tslint-comment** for documentation. - -Useful when migrating from TSLint to ESLint. Once TSLint has been removed, this rule helps locate TSLint annotations (e.g. `// tslint:disable`). - -> See the [TSLint rule flags docs](https://palantir.github.io/tslint/usage/rule-flags) for reference. - -## Examples - - - - -```ts -/* tslint:disable */ -/* tslint:enable */ -/* tslint:disable:rule1 rule2 rule3... */ -/* tslint:enable:rule1 rule2 rule3... */ -// tslint:disable-next-line -someCode(); // tslint:disable-line -// tslint:disable-next-line:rule1 rule2 rule3... -``` - - - - -```ts -// This is a comment that just happens to mention tslint -/* This is a multiline comment that just happens to mention tslint */ -someCode(); // This is a comment that just happens to mention tslint -``` - - - - -## When Not To Use It - -If you are still using TSLint alongside ESLint. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md deleted file mode 100644 index 5145957d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -The old `ban-types` rule encompassed multiple areas of functionality, and so has been split into several rules. - -**[`no-restricted-types`](./no-restricted-types.mdx)** is the new rule for banning a configurable list of type names. -It has no options enabled by default and is akin to rules like [`no-restricted-globals`](https://eslint.org/docs/latest/rules/no-restricted-globals), [`no-restricted-properties`](https://eslint.org/docs/latest/rules/no-restricted-properties), and [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax). - -The default options from `ban-types` are now covered by: - -- **[`no-empty-object-type`](./no-empty-object-type.mdx)**: banning the built-in `{}` type in confusing locations -- **[`no-unsafe-function-type`](./no-unsafe-function-type.mdx)**: banning the built-in `Function` -- **[`no-wrapper-object-types`](./no-wrapper-object-types.mdx)**: banning `Object` and built-in class wrappers such as `Number` - -`ban-types` itself is removed in typescript-eslint v8. -See [Announcing typescript-eslint v8 Beta](/blog/announcing-typescript-eslint-v8-beta) for more details. -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md deleted file mode 100644 index 5abacea9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been deprecated in favour of the [`naming-convention`](./naming-convention.mdx) rule. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.mdx deleted file mode 100644 index d980d3b9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.mdx +++ /dev/null @@ -1,112 +0,0 @@ ---- -description: 'Enforce that literals on classes are exposed in a consistent style.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/class-literal-property-style** for documentation. - -Some TypeScript applications store literal values on classes using fields with the `readonly` modifier to prevent them from being reassigned. -When writing TypeScript libraries that could be used by JavaScript users, however, it's typically safer to expose these literals using `getter`s, since the `readonly` modifier is enforced at compile type. - -This rule aims to ensure that literals exposed by classes are done so consistently, in one of the two style described above. -By default this rule prefers the `fields` style as it means JS doesn't have to setup & teardown a function closure. - -## Options - -:::note -This rule only checks for constant _literal_ values (string, template string, number, bigint, boolean, regexp, null). It does not check objects or arrays, because a readonly field behaves differently to a getter in those cases. It also does not check functions, as it is a common pattern to use readonly fields with arrow function values as auto-bound methods. -This is because these types can be mutated and carry with them more complex implications about their usage. -::: - -### `"fields"` - -This style checks for any getter methods that return literal values, and requires them to be defined using fields with the `readonly` modifier instead. - -Examples of code with the `fields` style: - - - - -```ts option='"fields"' -class Mx { - public static get myField1() { - return 1; - } - - private get ['myField2']() { - return 'hello world'; - } -} -``` - - - - -```ts option='"fields"' -class Mx { - public readonly myField1 = 1; - - // not a literal - public readonly myField2 = [1, 2, 3]; - - private readonly ['myField3'] = 'hello world'; - - public get myField4() { - return `hello from ${window.location.href}`; - } -} -``` - - - - -### `"getters"` - -This style checks for any `readonly` fields that are assigned literal values, and requires them to be defined as getters instead. -This style pairs well with the [`@typescript-eslint/prefer-readonly`](prefer-readonly.mdx) rule, -as it will identify fields that can be `readonly`, and thus should be made into getters. - -Examples of code with the `getters` style: - - - - -```ts option='"getters"' -class Mx { - readonly myField1 = 1; - readonly myField2 = `hello world`; - private readonly myField3 = 'hello world'; -} -``` - - - - -```ts option='"getters"' -class Mx { - // no readonly modifier - public myField1 = 'hello'; - - // not a literal - public readonly myField2 = [1, 2, 3]; - - public static get myField3() { - return 1; - } - - private get ['myField4']() { - return 'hello world'; - } -} -``` - - - - -## When Not To Use It - -When you have no strong preference, or do not wish to enforce a particular style for how literal values are exposed by your classes. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-methods-use-this.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-methods-use-this.mdx deleted file mode 100644 index 7023306a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-methods-use-this.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -description: 'Enforce that class methods utilize `this`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/class-methods-use-this** for documentation. - -This rule extends the base [`eslint/class-methods-use-this`](https://eslint.org/docs/rules/class-methods-use-this) rule. -It adds support for ignoring `override` methods or methods on classes that implement an interface. - -## Options - -This rule adds the following options: - -```ts -interface Options extends BaseClassMethodsUseThisOptions { - ignoreOverrideMethods?: boolean; - ignoreClassesThatImplementAnInterface?: boolean | 'public-fields'; -} - -const defaultOptions: Options = { - ...baseClassMethodsUseThisOptions, - ignoreOverrideMethods: false, - ignoreClassesThatImplementAnInterface: false, -}; -``` - -### `ignoreOverrideMethods` - -{/* insert option description */} - -Makes the rule ignore any class member explicitly marked with `override`. - -Example of a correct code when `ignoreOverrideMethods` is set to `true`: - -```ts option='{ "ignoreOverrideMethods": true }' showPlaygroundButton -class X { - override method() {} - override property = () => {}; -} -``` - -### `ignoreClassesThatImplementAnInterface` - -{/* insert option description */} - -If specified, it can be either: - -- `true`: Ignore all classes that implement an interface -- `'public-fields'`: Ignore only the public fields of classes that implement an interface - -It's important to note that this option does not only apply to members defined in the interface as that would require type information. - -#### `true` - -Example of correct code when `ignoreClassesThatImplementAnInterface` is set to `true`: - -```ts option='{ "ignoreClassesThatImplementAnInterface": true }' showPlaygroundButton -class X implements Y { - method() {} - property = () => {}; -} -``` - -#### `'public-fields'` - -Example of incorrect code when `ignoreClassesThatImplementAnInterface` is set to `'public-fields'`: - - - - -```ts option='{ "ignoreClassesThatImplementAnInterface": "public-fields" }' -class X implements Y { - method() {} - property = () => {}; - - private privateMethod() {} - private privateProperty = () => {}; - - protected privateMethod() {} - protected privateProperty = () => {}; -} -``` - - - - -```ts option='{ "ignoreClassesThatImplementAnInterface": "public-fields" }' -class X implements Y { - method() {} - property = () => {}; -} -``` - - - - -## When Not To Use It - -If your project dynamically changes `this` scopes around in a way TypeScript has difficulties modeling, this rule may not be viable to use. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.mdx deleted file mode 100644 index e4c5e070..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.mdx +++ /dev/null @@ -1,87 +0,0 @@ ---- -description: 'Enforce specifying generic type arguments on type annotation or constructor name of a constructor call.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/consistent-generic-constructors** for documentation. - -When constructing a generic class, you can specify the type arguments on either the left-hand side (as a type annotation) or the right-hand side (as part of the constructor call): - -```ts -// Left-hand side -const map: Map = new Map(); - -// Right-hand side -const map = new Map(); -``` - -This rule ensures that type arguments appear consistently on one side of the declaration. -Keeping to one side consistently improve code readability. - -> The rule never reports when there are type parameters on both sides, or neither sides of the declaration. -> It also doesn't report if the names of the type annotation and the constructor don't match. - -## Options - -- `'constructor'` _(default)_: type arguments that **only** appear on the type annotation are disallowed. -- `'type-annotation'`: type arguments that **only** appear on the constructor are disallowed. - -### `'constructor'` - -{/* insert option description */} - - - - -```ts option='"constructor"' -const map: Map = new Map(); -const set: Set = new Set(); -``` - - - - -```ts option='"constructor"' -const map = new Map(); -const map: Map = new MyMap(); -const set = new Set(); -const set = new Set(); -const set: Set = new Set(); -``` - - - - -### `'type-annotation'` - - - - -```ts option='"type-annotation"' -const map = new Map(); -const set = new Set(); -``` - - - - -```ts option='"type-annotation"' -const map: Map = new Map(); -const set: Set = new Set(); -const set = new Set(); -const set: Set = new Set(); -``` - - - - -## When Not To Use It - -You can turn this rule off if you don't want to enforce one kind of generic constructor style over the other. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.mdx deleted file mode 100644 index 5c980af3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -description: 'Require or disallow the `Record` type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/consistent-indexed-object-style** for documentation. - -TypeScript supports defining arbitrary object keys using an index signature or mapped type. -TypeScript also has a builtin type named `Record` to create an empty object defining only an index signature. -For example, the following types are equal: - -```ts -interface IndexSignatureInterface { - [key: string]: unknown; -} - -type IndexSignatureType = { - [key: string]: unknown; -}; - -type MappedType = { - [key in string]: unknown; -}; - -type RecordType = Record; -``` - -Using one declaration form consistently improves code readability. - -## Options - -- `'record'` _(default)_: only allow the `Record` type. -- `'index-signature'`: only allow index signatures. - -### `'record'` - -{/* insert option description */} - - - - -```ts option='"record"' -interface IndexSignatureInterface { - [key: string]: unknown; -} - -type IndexSignatureType = { - [key: string]: unknown; -}; - -type MappedType = { - [key in string]: unknown; -}; -``` - - - - -```ts option='"record"' -type RecordType = Record; -``` - - - - -### `'index-signature'` - - - - -```ts option='"index-signature"' -type RecordType = Record; -``` - - - - -```ts option='"index-signature"' -interface IndexSignatureInterface { - [key: string]: unknown; -} - -type IndexSignatureType = { - [key: string]: unknown; -}; - -type MappedType = { - [key in string]: unknown; -}; -``` - - - - -## When Not To Use It - -This rule is purely a stylistic rule for maintaining consistency in your project. -You can turn it off if you don't want to keep a consistent style for indexed object types. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-return.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-return.mdx deleted file mode 100644 index 0f56bddb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-return.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -description: 'Require `return` statements to either always or never specify values.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/consistent-return** for documentation. - -This rule extends the base [`eslint/consistent-return`](https://eslint.org/docs/rules/consistent-return) rule. -This version adds support for functions that return `void` or `Promise`. - -:::danger warning -If possible, it is recommended to use tsconfig's `noImplicitReturns` option rather than this rule. `noImplicitReturns` is powered by TS's type information and control-flow analysis so it has better coverage than this rule. -::: - - - - -```ts -function foo(): undefined {} -function bar(flag: boolean): undefined { - if (flag) return foo(); - return; -} - -async function baz(flag: boolean): Promise { - if (flag) return; - return foo(); -} -``` - - - - -```ts -function foo(): void {} -function bar(flag: boolean): void { - if (flag) return foo(); - return; -} - -async function baz(flag: boolean): Promise { - if (flag) return 42; - return; -} -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.mdx deleted file mode 100644 index 0b13d9df..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.mdx +++ /dev/null @@ -1,123 +0,0 @@ ---- -description: 'Enforce consistent usage of type assertions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/consistent-type-assertions** for documentation. - -TypeScript provides two syntaxes for "type assertions": - -- Angle brackets: `value` -- As: `value as Type` - -This rule aims to standardize the use of type assertion style across the codebase. -Keeping to one syntax consistently helps with code readability. - -:::note -Type assertions are also commonly referred as "type casting" in TypeScript. -However, that term is technically slightly different to what is understood by type casting in other languages. -Type assertions are a way to say to the TypeScript compiler, _"I know better than you, it's actually this different type!"_. -::: - -[`const` assertions](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#const-assertions) are always allowed by this rule. -Examples of them include `let x = "hello" as const;` and `let x = "hello";`. - -## Options - -### `assertionStyle` - -{/* insert option description */} - -Valid values for `assertionStyle` are: - -- `as` will enforce that you always use `... as foo`. -- `angle-bracket` will enforce that you always use `...` -- `never` will enforce that you do not do any type assertions. - -Most codebases will want to enforce not using `angle-bracket` style because it conflicts with JSX syntax, and is confusing when paired with generic syntax. - -Some codebases like to go for an extra level of type safety, and ban assertions altogether via the `never` option. - -### `objectLiteralTypeAssertions` - -{/* insert option description */} - -For example, this would prefer `const x: T = { ... };` to `const x = { ... } as T;` (or similar with angle brackets). -The type assertion in the latter case is either unnecessary or will probably hide an error. - -The compiler will warn for excess properties with this syntax, but not missing _required_ fields. For example: `const x: { foo: number } = {};` will fail to compile, but `const x = {} as { foo: number }` will succeed. - -The const assertion `const x = { foo: 1 } as const`, introduced in TypeScript 3.4, is considered beneficial and is ignored by this option. - -Assertions to `any` are also ignored by this option. - -Examples of code for `{ assertionStyle: 'as', objectLiteralTypeAssertions: 'never' }`: - - - - -```ts option='{ "assertionStyle": "as", "objectLiteralTypeAssertions": "never" }' -const x = { foo: 1 } as T; - -function bar() { - return { foo: 1 } as T; -} -``` - - - - -```ts option='{ "assertionStyle": "as", "objectLiteralTypeAssertions": "never" }' -const x: T = { foo: 1 }; -const y = { foo: 1 } as any; -const z = { foo: 1 } as unknown; - -function bar(): T { - return { foo: 1 }; -} -``` - - - - -Examples of code for `{ assertionStyle: 'as', objectLiteralTypeAssertions: 'allow-as-parameter' }`: - - - - -```ts option='{ "assertionStyle": "as", "objectLiteralTypeAssertions": "allow-as-parameter" }' -const x = { foo: 1 } as T; - -function bar() { - return { foo: 1 } as T; -} -``` - - - - -```tsx option='{ "assertionStyle": "as", "objectLiteralTypeAssertions": "allow-as-parameter" }' -const x: T = { foo: 1 }; -const y = { foo: 1 } as any; -const z = { foo: 1 } as unknown; -bar({ foo: 1 } as T); -new Clazz({ foo: 1 } as T); -function bar() { - throw { foo: 1 } as Foo; -} -const foo = ; -``` - - - - -## When Not To Use It - -If you do not want to enforce consistent type assertions. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.mdx deleted file mode 100644 index 68060f55..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.mdx +++ /dev/null @@ -1,94 +0,0 @@ ---- -description: 'Enforce type definitions to consistently use either `interface` or `type`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/consistent-type-definitions** for documentation. - -TypeScript provides two common ways to define an object type: `interface` and `type`. - -```ts -// type alias -type T1 = { - a: string; - b: number; -}; - -// interface keyword -interface T2 { - a: string; - b: number; -} -``` - -The two are generally very similar, and can often be used interchangeably. -Using the same type declaration style consistently helps with code readability. - -## Options - -- `'interface'` _(default)_: enforce using `interface`s for object type definitions. -- `'type'`: enforce using `type`s for object type definitions. - -### `'interface'` - -{/* insert option description */} - - - - -```ts option='"interface"' -type T = { x: number }; -``` - - - - -```ts option='"interface"' -type T = string; -type Foo = string | {}; - -interface T { - x: number; -} -``` - - - - -### `'type'` - -{/* insert option description */} - - - - -```ts option='"type"' -interface T { - x: number; -} -``` - - - - -```ts option='"type"' -type T = { x: number }; -``` - - - - -## When Not To Use It - -If you specifically want to use an interface or type literal for stylistic reasons, you can avoid this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. - -There are also subtle differences between `Record` and `interface` that can be difficult to catch statically. -For example, if your project is a dependency of another project that relies on a specific type definition style, this rule may be counterproductive. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.mdx deleted file mode 100644 index 293db56f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.mdx +++ /dev/null @@ -1,97 +0,0 @@ ---- -description: 'Enforce consistent usage of type exports.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/consistent-type-exports** for documentation. - -TypeScript allows specifying a `type` keyword on exports to indicate that the export exists only in the type system, not at runtime. -This allows transpilers to drop exports without knowing the types of the dependencies. - -> See [Blog > Consistent Type Exports and Imports: Why and How](/blog/consistent-type-imports-and-exports-why-and-how) for more details. - -## Examples - - - - -```ts -interface ButtonProps { - onClick: () => void; -} - -class Button implements ButtonProps { - onClick = () => console.log('button!'); -} - -export { Button, ButtonProps }; -``` - - - - -```ts -interface ButtonProps { - onClick: () => void; -} - -class Button implements ButtonProps { - onClick = () => console.log('button!'); -} - -export { Button }; -export type { ButtonProps }; -``` - - - - -## Options - -### `fixMixedExportsWithInlineTypeSpecifier` - -{/* insert option description */} - -If you are using a TypeScript version less than 4.5, then you will not be able to use this option. - -For example the following code: - -```ts -const x = 1; -type T = number; - -export { x, T }; -``` - -With `{fixMixedExportsWithInlineTypeSpecifier: true}` will be fixed to: - -```ts -const x = 1; -type T = number; - -export { x, type T }; -``` - -With `{fixMixedExportsWithInlineTypeSpecifier: false}` will be fixed to: - -```ts -const x = 1; -type T = number; - -export type { T }; -export { x }; -``` - -## When Not To Use It - -If you use `--isolatedModules` the compiler would error if a type is not re-exported using `export type`. -This rule may be less useful in those cases. - -If you specifically want to use both export kinds for stylistic reasons, or don't wish to enforce one style over the other, you can avoid this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.mdx deleted file mode 100644 index 3f7dc320..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.mdx +++ /dev/null @@ -1,139 +0,0 @@ ---- -description: 'Enforce consistent usage of type imports.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/consistent-type-imports** for documentation. - -TypeScript allows specifying a `type` keyword on imports to indicate that the export exists only in the type system, not at runtime. -This allows transpilers to drop imports without knowing the types of the dependencies. - -> See [Blog > Consistent Type Exports and Imports: Why and How](/blog/consistent-type-imports-and-exports-why-and-how) for more details. - -## Options - -### `prefer` - -{/* insert option description */} - -Valid values for `prefer` are: - -- `type-imports` will enforce that you always use `import type Foo from '...'` except referenced by metadata of decorators. It is the default. -- `no-type-imports` will enforce that you always use `import Foo from '...'`. - -Examples of **correct** code with `{prefer: 'type-imports'}`, and **incorrect** code with `{prefer: 'no-type-imports'}`. - -```ts option='{ "prefer": "type-imports" }' showPlaygroundButton -import type { Foo } from 'Foo'; -import type Bar from 'Bar'; -type T = Foo; -const x: Bar = 1; -``` - -Examples of **incorrect** code with `{prefer: 'type-imports'}`, and **correct** code with `{prefer: 'no-type-imports'}`. - -```ts option='{ "prefer": "type-imports" }' showPlaygroundButton -import { Foo } from 'Foo'; -import Bar from 'Bar'; -type T = Foo; -const x: Bar = 1; -``` - -### `fixStyle` - -{/* insert option description */} - -Valid values for `fixStyle` are: - -- `separate-type-imports` will add the type keyword after the import keyword `import type { A } from '...'`. It is the default. -- `inline-type-imports` will inline the type keyword `import { type A } from '...'` and is only available in TypeScript 4.5 and onwards. See [documentation here](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-5.html#type-modifiers-on-import-names 'TypeScript 4.5 documentation on type modifiers and import names'). - - - - -```ts -import { Foo } from 'Foo'; -import Bar from 'Bar'; -type T = Foo; -const x: Bar = 1; -``` - - - - -```ts option='{ "fixStyle": "separate-type-imports" }' -import type { Foo } from 'Foo'; -import type Bar from 'Bar'; -type T = Foo; -const x: Bar = 1; -``` - - - - -```ts option='{ "fixStyle": "inline-type-imports" }' -import { type Foo } from 'Foo'; -import type Bar from 'Bar'; -type T = Foo; -const x: Bar = 1; -``` - - - - -### `disallowTypeAnnotations` - -{/* insert option description */} - -Examples of **incorrect** code with `{disallowTypeAnnotations: true}`: - -```ts option='{ "disallowTypeAnnotations": true }' showPlaygroundButton -type T = import('Foo').Foo; -const x: import('Bar') = 1; -``` - -## Caveat: `@decorators` + `experimentalDecorators: true` + `emitDecoratorMetadata: true` - -:::note -If you are using `experimentalDecorators: false` (eg [TypeScript v5.0's stable decorators](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#decorators)) then the rule will always report errors as expected. -This caveat **only** applies to `experimentalDecorators: true` -::: - -The rule will **_not_** report any errors in files _that contain decorators_ when **both** `experimentalDecorators` and `emitDecoratorMetadata` are turned on. - -> See [Blog > Changes to consistent-type-imports when used with legacy decorators and decorator metadata](/blog/changes-to-consistent-type-imports-with-decorators) for more details. - -If you are using [type-aware linting](https://typescript-eslint.io/linting/typed-linting) then we will automatically infer your setup from your tsconfig and you should not need to configure anything. -Otherwise you can explicitly tell our tooling to analyze your code as if the compiler option was turned on by setting both [`parserOptions.emitDecoratorMetadata = true`](https://typescript-eslint.io/packages/parser/#emitdecoratormetadata) and [`parserOptions.experimentalDecorators = true`](https://typescript-eslint.io/packages/parser/#experimentaldecorators). - -## Comparison with `importsNotUsedAsValues` / `verbatimModuleSyntax` - -[`verbatimModuleSyntax`](https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax) was introduced in TypeScript v5.0 (as a replacement for `importsNotUsedAsValues`). -This rule and `verbatimModuleSyntax` _mostly_ behave in the same way. -There are a few behavior differences: -| Situation | `consistent-type-imports` (ESLint) | `verbatimModuleSyntax` (TypeScript) | -| -------------------------------------------------------------- | --------------------------------------------------------- | ----------------------------------------------------------- | -| Unused imports | Ignored (consider using [`@typescript-eslint/no-unused-vars`](/rules/no-unused-vars)) | Type error | -| Usage with `emitDecoratorMetadata` & `experimentalDecorations` | Ignores files that contain decorators | Reports on files that contain decorators | -| Failures detected | Does not fail `tsc` build; can be auto-fixed with `--fix` | Fails `tsc` build; cannot be auto-fixed on the command-line | -| `import { type T } from 'T';` | TypeScript will emit nothing (it "elides" the import) | TypeScript emits `import {} from 'T'` | - -Because there are some differences, using both this rule and `verbatimModuleSyntax` at the same time can lead to conflicting errors. -As such we recommend that you only ever use one _or_ the other -- never both. - -## When Not To Use It - -If you specifically want to use both import kinds for stylistic reasons, or don't wish to enforce one style over the other, you can avoid this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. - -## Related To - -- [`no-import-type-side-effects`](./no-import-type-side-effects.mdx) -- [`import/consistent-type-specifier-style`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/consistent-type-specifier-style.md) -- [`import/no-duplicates` with `{"prefer-inline": true}`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-duplicates.md#inline-type-imports) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.mdx deleted file mode 100644 index 38527abf..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -description: 'Enforce default parameters to be last.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/default-param-last** for documentation. - -This rule extends the base [`eslint/default-param-last`](https://eslint.org/docs/rules/default-param-last) rule. -It adds support for optional parameters. - - - - -```ts -function f(a = 0, b: number) {} -function f(a: number, b = 0, c: number) {} -function f(a: number, b?: number, c: number) {} -class Foo { - constructor( - public a = 10, - private b: number, - ) {} -} -class Foo { - constructor( - public a?: number, - private b: number, - ) {} -} -``` - - - - -```ts -function f(a = 0) {} -function f(a: number, b = 0) {} -function f(a: number, b?: number) {} -function f(a: number, b?: number, c = 0) {} -function f(a: number, b = 0, c?: number) {} -class Foo { - constructor( - public a, - private b = 0, - ) {} -} -class Foo { - constructor( - public a, - private b?: number, - ) {} -} -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.mdx deleted file mode 100644 index fd6967f9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.mdx +++ /dev/null @@ -1,95 +0,0 @@ ---- -description: 'Enforce dot notation whenever possible.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/dot-notation** for documentation. - -This rule extends the base [`eslint/dot-notation`](https://eslint.org/docs/rules/dot-notation) rule. -It adds: - -- Support for optionally ignoring computed `private` and/or `protected` member access. -- Compatibility with TypeScript's `noPropertyAccessFromIndexSignature` option. - -## Options - -This rule adds the following options: - -```ts -interface Options extends BaseDotNotationOptions { - allowPrivateClassPropertyAccess?: boolean; - allowProtectedClassPropertyAccess?: boolean; - allowIndexSignaturePropertyAccess?: boolean; -} - -const defaultOptions: Options = { - ...baseDotNotationDefaultOptions, - allowPrivateClassPropertyAccess: false, - allowProtectedClassPropertyAccess: false, - allowIndexSignaturePropertyAccess: false, -}; -``` - -If the TypeScript compiler option `noPropertyAccessFromIndexSignature` is set to `true`, then this rule always allows the use of square bracket notation to access properties of types that have a `string` index signature, even if `allowIndexSignaturePropertyAccess` is `false`. - -### `allowPrivateClassPropertyAccess` - -{/* insert option description */} - -This can be useful because TypeScript will report a type error on dot notation but not array notation. - -Example of a correct code when `allowPrivateClassPropertyAccess` is set to `true`: - -```ts option='{ "allowPrivateClassPropertyAccess": true }' showPlaygroundButton -class X { - private priv_prop = 123; -} - -const x = new X(); -x['priv_prop'] = 123; -``` - -### `allowProtectedClassPropertyAccess` - -{/* insert option description */} - -This can be useful because TypeScript will report a type error on dot notation but not array notation. - -Example of a correct code when `allowProtectedClassPropertyAccess` is set to `true`: - -```ts option='{ "allowProtectedClassPropertyAccess": true }' showPlaygroundButton -class X { - protected protected_prop = 123; -} - -const x = new X(); -x['protected_prop'] = 123; -``` - -### `allowIndexSignaturePropertyAccess` - -{/* insert option description */} - -Example of correct code when `allowIndexSignaturePropertyAccess` is set to `true`: - -```ts option='{ "allowIndexSignaturePropertyAccess": true }' showPlaygroundButton -class X { - [key: string]: number; -} - -const x = new X(); -x['hello'] = 123; -``` - -If the TypeScript compiler option `noPropertyAccessFromIndexSignature` is set to `true`, then the above code is always allowed, even if `allowIndexSignaturePropertyAccess` is `false`. - -## When Not To Use It - -If you specifically want to use both member access kinds for stylistic reasons, or don't wish to enforce one style over the other, you can avoid this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.mdx deleted file mode 100644 index c4493059..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.mdx +++ /dev/null @@ -1,359 +0,0 @@ ---- -description: 'Require explicit return types on functions and class methods.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/explicit-function-return-type** for documentation. - -Functions in TypeScript often don't need to be given an explicit return type annotation. -Leaving off the return type is less code to read or write and allows the compiler to infer it from the contents of the function. - -However, explicit return types do make it visually more clear what type is returned by a function. -They can also speed up TypeScript type checking performance in large codebases with many large functions. - -This rule enforces that functions do have an explicit return type annotation. - -## Examples - - - - -```ts -// Should indicate that no value is returned (void) -function test() { - return; -} - -// Should indicate that a number is returned -var fn = function () { - return 1; -}; - -// Should indicate that a string is returned -var arrowFn = () => 'test'; - -class Test { - // Should indicate that no value is returned (void) - method() { - return; - } -} -``` - - - - -```ts -// No return value should be expected (void) -function test(): void { - return; -} - -// A return value of type number -var fn = function (): number { - return 1; -}; - -// A return value of type string -var arrowFn = (): string => 'test'; - -class Test { - // No return value should be expected (void) - method(): void { - return; - } -} -``` - - - - -## Options - -### Configuring in a mixed JS/TS codebase - -If you are working on a codebase within which you lint non-TypeScript code (i.e. `.js`/`.mjs`/`.cjs`/`.jsx`), you should ensure that you should use [ESLint `overrides`](https://eslint.org/docs/user-guide/configuring#disabling-rules-only-for-a-group-of-files) to only enable the rule on `.ts`/`.mts`/`.cts`/`.tsx` files. If you don't, then you will get unfixable lint errors reported within `.js`/`.mjs`/`.cjs`/`.jsx` files. - -```jsonc -{ - "rules": { - // disable the rule for all files - "@typescript-eslint/explicit-function-return-type": "off", - }, - "overrides": [ - { - // enable the rule specifically for TypeScript files - "files": ["*.ts", "*.mts", "*.cts", "*.tsx"], - "rules": { - "@typescript-eslint/explicit-function-return-type": "error", - }, - }, - ], -} -``` - -### `allowExpressions` - -{/* insert option description */} - -Examples of code for this rule with `{ allowExpressions: true }`: - - - - -```ts option='{ "allowExpressions": true }' -function test() {} - -const fn = () => {}; - -export default () => {}; -``` - - - - -```ts option='{ "allowExpressions": true }' -node.addEventListener('click', () => {}); - -node.addEventListener('click', function () {}); - -const foo = arr.map(i => i * i); -``` - - - - -### `allowTypedFunctionExpressions` - -{/* insert option description */} - -Examples of code for this rule with `{ allowTypedFunctionExpressions: true }`: - - - - -```ts option='{ "allowTypedFunctionExpressions": true }' -let arrowFn = () => 'test'; - -let funcExpr = function () { - return 'test'; -}; - -let objectProp = { - foo: () => 1, -}; -``` - - - - -```ts option='{ "allowTypedFunctionExpressions": true }' -type FuncType = () => string; - -let arrowFn: FuncType = () => 'test'; - -let funcExpr: FuncType = function () { - return 'test'; -}; - -let asTyped = (() => '') as () => string; - -interface ObjectType { - foo(): number; -} -let objectProp: ObjectType = { - foo: () => 1, -}; -let objectPropAs = { - foo: () => 1, -} as ObjectType; - -declare function functionWithArg(arg: () => number); -functionWithArg(() => 1); - -declare function functionWithObjectArg(arg: { method: () => number }); -functionWithObjectArg({ - method() { - return 1; - }, -}); -``` - - - - -### `allowHigherOrderFunctions` - -{/* insert option description */} - -Examples of code for this rule with `{ allowHigherOrderFunctions: true }`: - - - - -```ts option='{ "allowHigherOrderFunctions": true }' -var arrowFn = () => () => {}; - -function fn() { - return function () {}; -} -``` - - - - -```ts option='{ "allowHigherOrderFunctions": true }' -var arrowFn = () => (): void => {}; - -function fn() { - return function (): void {}; -} -``` - - - - -### `allowDirectConstAssertionInArrowFunctions` - -{/* insert option description */} - -Examples of code for this rule with `{ allowDirectConstAssertionInArrowFunctions: true }`: - - - - -```ts option='{ "allowDirectConstAssertionInArrowFunctions": true }' -const func = (value: number) => ({ type: 'X', value }) as any; -const func = (value: number) => ({ type: 'X', value }) as Action; -``` - - - - -```ts option='{ "allowDirectConstAssertionInArrowFunctions": true }' -const func = (value: number) => ({ foo: 'bar', value }) as const; -const func = () => x as const; -``` - - - - -### `allowConciseArrowFunctionExpressionsStartingWithVoid` - -{/* insert option description */} - -Examples of code for this rule with `{ allowConciseArrowFunctionExpressionsStartingWithVoid: true }`: - - - - -```ts option='{ "allowConciseArrowFunctionExpressionsStartingWithVoid": true }' -var join = (a: string, b: string) => `${a}${b}`; - -const log = (message: string) => { - console.log(message); -}; -``` - - - - -```ts option='{ "allowConciseArrowFunctionExpressionsStartingWithVoid": true }' -var log = (message: string) => void console.log(message); -``` - - - - -### `allowFunctionsWithoutTypeParameters` - -{/* insert option description */} - -Examples of code for this rule with `{ allowFunctionsWithoutTypeParameters: true }`: - - - - -```ts option='{ "allowFunctionsWithoutTypeParameters": true }' -function foo(t: T) { - return t; -} - -const bar = (t: T) => t; -``` - - - - -```ts option='{ "allowFunctionsWithoutTypeParameters": true }' -function foo(t: T): T { - return t; -} - -const bar = (t: T): T => t; - -function allowedFunction(x: string) { - return x; -} - -const allowedArrow = (x: string) => x; -``` - - - - -### `allowedNames` - -{/* insert option description */} - -You may pass function/method names you would like this rule to ignore, like so: - -```json -{ - "@typescript-eslint/explicit-function-return-type": [ - "error", - { - "allowedNames": ["ignoredFunctionName", "ignoredMethodName"] - } - ] -} -``` - -### `allowIIFEs` - -{/* insert option description */} - -Examples of code for this rule with `{ allowIIFEs: true }`: - - - - -```ts option='{ "allowIIFEs": true }' -var func = () => 'foo'; -``` - - - - -```ts option='{ "allowIIFEs": true }' -var foo = (() => 'foo')(); - -var bar = (function () { - return 'bar'; -})(); -``` - - - - -## When Not To Use It - -If you don't find the added cost of explicitly writing function return types to be worth the visual clarity, or your project is not large enough for it to be a factor in type checking performance, then you will not need this rule. - -## Further Reading - -- TypeScript [Functions](https://www.typescriptlang.org/docs/handbook/functions.html#function-types) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.mdx deleted file mode 100644 index 67b78cbe..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.mdx +++ /dev/null @@ -1,353 +0,0 @@ ---- -description: 'Require explicit accessibility modifiers on class properties and methods.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/explicit-member-accessibility** for documentation. - -TypeScript allows placing explicit `public`, `protected`, and `private` accessibility modifiers in front of class members. -The modifiers exist solely in the type system and just serve to describe who is allowed to access those members. - -Leaving off accessibility modifiers makes for less code to read and write. -Members are `public` by default. - -However, adding in explicit accessibility modifiers can be helpful in codebases with many classes for enforcing proper privacy of members. -Some developers also find it preferable for code readability to keep member publicity explicit. - -## Examples - -This rule aims to make code more readable and explicit about who can use -which properties. - -## Options - -### Configuring in a mixed JS/TS codebase - -If you are working on a codebase within which you lint non-TypeScript code (i.e. `.js`/`.mjs`/`.cjs`/`.jsx`), you should ensure that you should use [ESLint `overrides`](https://eslint.org/docs/user-guide/configuring#disabling-rules-only-for-a-group-of-files) to only enable the rule on `.ts`/`.mts`/`.cts`/`.tsx` files. If you don't, then you will get unfixable lint errors reported within `.js`/`.mjs`/`.cjs`/`.jsx` files. - -```jsonc -{ - "rules": { - // disable the rule for all files - "@typescript-eslint/explicit-member-accessibility": "off", - }, - "overrides": [ - { - // enable the rule specifically for TypeScript files - "files": ["*.ts", "*.mts", "*.cts", "*.tsx"], - "rules": { - "@typescript-eslint/explicit-member-accessibility": "error", - }, - }, - ], -} -``` - -### `accessibility` - -{/* insert option description */} - -This rule in its default state requires no configuration and will enforce that every class member has an accessibility modifier. If you would like to allow for some implicit public members then you have the following options: - -```jsonc -{ - "accessibility": "explicit", - "overrides": { - "accessors": "explicit", - "constructors": "no-public", - "methods": "explicit", - "properties": "off", - "parameterProperties": "explicit", - }, -} -``` - -Note the above is an example of a possible configuration you could use - it is not the default configuration. - -The following patterns are considered incorrect code if no options are provided: - -```ts showPlaygroundButton -class Animal { - constructor(name) { - // No accessibility modifier - this.animalName = name; - } - animalName: string; // No accessibility modifier - get name(): string { - // No accessibility modifier - return this.animalName; - } - set name(value: string) { - // No accessibility modifier - this.animalName = value; - } - walk() { - // method - } -} -``` - -The following patterns are considered correct with the default options `{ accessibility: 'explicit' }`: - -```ts option='{ "accessibility": "explicit" }' showPlaygroundButton -class Animal { - public constructor( - public breed, - name, - ) { - // Parameter property and constructor - this.animalName = name; - } - private animalName: string; // Property - get name(): string { - // get accessor - return this.animalName; - } - set name(value: string) { - // set accessor - this.animalName = value; - } - public walk() { - // method - } -} -``` - -The following patterns are considered incorrect with the accessibility set to **no-public** `[{ accessibility: 'no-public' }]`: - -```ts option='{ "accessibility": "no-public" }' showPlaygroundButton -class Animal { - public constructor( - public breed, - name, - ) { - // Parameter property and constructor - this.animalName = name; - } - public animalName: string; // Property - public get name(): string { - // get accessor - return this.animalName; - } - public set name(value: string) { - // set accessor - this.animalName = value; - } - public walk() { - // method - } -} -``` - -The following patterns are considered correct with the accessibility set to **no-public** `[{ accessibility: 'no-public' }]`: - -```ts option='{ "accessibility": "no-public" }' showPlaygroundButton -class Animal { - constructor( - protected breed, - name, - ) { - // Parameter property and constructor - this.name = name; - } - private animalName: string; // Property - get name(): string { - // get accessor - return this.animalName; - } - private set name(value: string) { - // set accessor - this.animalName = value; - } - protected walk() { - // method - } -} -``` - -### `overrides` - -{/* insert option description */} - -There are three ways in which an override can be used. - -- To disallow the use of public on a given member. -- To enforce explicit member accessibility when the root has allowed implicit public accessibility -- To disable any checks on given member type - -#### Disallow the use of public on a given member - -e.g. `[ { overrides: { constructors: 'no-public' } } ]` - -The following patterns are considered incorrect with the example override - -```ts option='{ "overrides": { "constructors": "no-public" } }' showPlaygroundButton -class Animal { - public constructor(protected animalName) {} - public get name() { - return this.animalName; - } -} -``` - -The following patterns are considered correct with the example override - -```ts option='{ "overrides": { "constructors": "no-public" } }' showPlaygroundButton -class Animal { - constructor(protected animalName) {} - public get name() { - return this.animalName; - } -} -``` - -#### Require explicit accessibility for a given member - -e.g. `[ { accessibility: 'no-public', overrides: { properties: 'explicit' } } ]` - -The following patterns are considered incorrect with the example override - -```ts option='{ "accessibility": "no-public", "overrides": { "properties": "explicit" } }' showPlaygroundButton -class Animal { - constructor(protected animalName) {} - get name() { - return this.animalName; - } - protected set name(value: string) { - this.animalName = value; - } - legs: number; - private hasFleas: boolean; -} -``` - -The following patterns are considered correct with the example override - -```ts option='{ "accessibility": "no-public", "overrides": { "properties": "explicit" } }' showPlaygroundButton -class Animal { - constructor(protected animalName) {} - get name() { - return this.animalName; - } - protected set name(value: string) { - this.animalName = value; - } - public legs: number; - private hasFleas: boolean; -} -``` - -e.g. `[ { accessibility: 'off', overrides: { parameterProperties: 'explicit' } } ]` - -The following code is considered incorrect with the example override - -```ts option='{ "accessibility": "off", "overrides": { "parameterProperties": "explicit" } }' showPlaygroundButton -class Animal { - constructor(readonly animalName: string) {} -} -``` - -The following code patterns are considered correct with the example override - -```ts option='{ "accessibility": "off", "overrides": { "parameterProperties": "explicit" } }' showPlaygroundButton -class Animal { - constructor(public readonly animalName: string) {} -} - -class Animal { - constructor(public animalName: string) {} -} - -class Animal { - constructor(animalName: string) {} -} -``` - -e.g. `[ { accessibility: 'off', overrides: { parameterProperties: 'no-public' } } ]` - -The following code is considered incorrect with the example override - -```ts option='{ "accessibility": "off", "overrides": { "parameterProperties": "no-public" } }' showPlaygroundButton -class Animal { - constructor(public readonly animalName: string) {} -} -``` - -The following code is considered correct with the example override - -```ts option='{ "accessibility": "off", "overrides": { "parameterProperties": "no-public" } }' showPlaygroundButton -class Animal { - constructor(public animalName: string) {} -} -``` - -#### Disable any checks on given member type - -e.g. `[{ overrides: { accessors : 'off' } } ]` - -As no checks on the overridden member type are performed all permutations of visibility are permitted for that member type - -The follow pattern is considered incorrect for the given configuration - -```ts option='{ "overrides": { "accessors" : "off" } }' showPlaygroundButton -class Animal { - constructor(protected animalName) {} - public get name() { - return this.animalName; - } - get legs() { - return this.legCount; - } -} -``` - -The following patterns are considered correct with the example override - -```ts option='{ "overrides": { "accessors" : "off" } }' showPlaygroundButton -class Animal { - public constructor(protected animalName) {} - public get name() { - return this.animalName; - } - get legs() { - return this.legCount; - } -} -``` - -### `ignoredMethodNames` - -{/* insert option description */} - -Note that this option does not care about context, and will ignore every method with these names, which could lead to it missing some cases. You should use this sparingly. -e.g. `[ { ignoredMethodNames: ['specificMethod', 'whateverMethod'] } ]` - -```ts option='{ "ignoredMethodNames": ["specificMethod", "whateverMethod"] }' showPlaygroundButton -class Animal { - get specificMethod() { - console.log('No error because you specified this method on option'); - } - get whateverMethod() { - console.log('No error because you specified this method on option'); - } - public get otherMethod() { - console.log('This method comply with this rule'); - } -} -``` - -## When Not To Use It - -If you think defaulting to public is a good default, then you should consider using the `no-public` setting. -If you want to mix implicit and explicit public members then you can disable this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. - -## Further Reading - -- TypeScript [Accessibility Modifiers Handbook Docs](https://www.typescriptlang.org/docs/handbook/2/classes.html#member-visibility) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.mdx deleted file mode 100644 index 33915032..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.mdx +++ /dev/null @@ -1,273 +0,0 @@ ---- -description: "Require explicit return and argument types on exported functions' and classes' public class methods." ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/explicit-module-boundary-types** for documentation. - -Explicit types for function return values and arguments makes it clear to any calling code what is the module boundary's input and output. -Adding explicit type annotations for those types can help improve code readability. -It can also improve TypeScript type checking performance on larger codebases. - -## Examples - - - - -```ts -// Should indicate that no value is returned (void) -export function test() { - return; -} - -// Should indicate that a string is returned -export var arrowFn = () => 'test'; - -// All arguments should be typed -export var arrowFn = (arg): string => `test ${arg}`; -export var arrowFn = (arg: any): string => `test ${arg}`; - -export class Test { - // Should indicate that no value is returned (void) - method() { - return; - } -} -``` - - - - -```ts -// A function with no return value (void) -export function test(): void { - return; -} - -// A return value of type string -export var arrowFn = (): string => 'test'; - -// All arguments should be typed -export var arrowFn = (arg: string): string => `test ${arg}`; -export var arrowFn = (arg: unknown): string => `test ${arg}`; - -export class Test { - // A class method with no return value (void) - method(): void { - return; - } -} - -// The function does not apply because it is not an exported function. -function test() { - return; -} -``` - - - - -## Options - -### Configuring in a mixed JS/TS codebase - -If you are working on a codebase within which you lint non-TypeScript code (i.e. `.js`/`.mjs`/`.cjs`/`.jsx`), you should ensure that you should use [ESLint `overrides`](https://eslint.org/docs/user-guide/configuring#disabling-rules-only-for-a-group-of-files) to only enable the rule on `.ts`/`.mts`/`.cts`/`.tsx` files. If you don't, then you will get unfixable lint errors reported within `.js`/`.mjs`/`.cjs`/`.jsx` files. - -```jsonc -{ - "rules": { - // disable the rule for all files - "@typescript-eslint/explicit-module-boundary-types": "off", - }, - "overrides": [ - { - // enable the rule specifically for TypeScript files - "files": ["*.ts", "*.mts", "*.cts", "*.tsx"], - "rules": { - "@typescript-eslint/explicit-module-boundary-types": "error", - }, - }, - ], -} -``` - -### `allowArgumentsExplicitlyTypedAsAny` - -{/* insert option description */} - -Examples of code for this rule with `{ allowArgumentsExplicitlyTypedAsAny: false }`: - - - - -```ts option='{ "allowArgumentsExplicitlyTypedAsAny": false }' -export const func = (value: any): number => value + 1; -``` - - - - -```ts option='{ "allowArgumentsExplicitlyTypedAsAny": true }' -export const func = (value: any): number => value + 1; -``` - - - - -### `allowDirectConstAssertionInArrowFunctions` - -{/* insert option description */} - -Examples of code for this rule with `{ allowDirectConstAssertionInArrowFunctions: false }`: - - - - -```ts option='{ "allowDirectConstAssertionInArrowFunctions": false }' -export const func = (value: number) => ({ type: 'X', value }); -export const foo = () => ({ - bar: true, -}); -export const bar = () => 1; -``` - - - - -```ts option='{ "allowDirectConstAssertionInArrowFunctions": true }' -export const func = (value: number) => ({ type: 'X', value }) as const; -export const foo = () => - ({ - bar: true, - }) as const; -export const bar = () => 1 as const; -``` - - - - -### `allowedNames` - -{/* insert option description */} - -You may pass function/method names you would like this rule to ignore, like so: - -```json -{ - "@typescript-eslint/explicit-module-boundary-types": [ - "error", - { - "allowedNames": ["ignoredFunctionName", "ignoredMethodName"] - } - ] -} -``` - -### `allowHigherOrderFunctions` - -{/* insert option description */} - -Examples of code for this rule with `{ allowHigherOrderFunctions: false }`: - - - - -```ts option='{ "allowHigherOrderFunctions": false }' -export const arrowFn = () => () => {}; - -export function fn() { - return function () {}; -} - -export function foo(outer: string) { - return function (inner: string) {}; -} -``` - - - - -```ts option='{ "allowHigherOrderFunctions": true }' -export const arrowFn = () => (): void => {}; - -export function fn() { - return function (): void {}; -} - -export function foo(outer: string) { - return function (inner: string): void {}; -} -``` - - - - -### `allowTypedFunctionExpressions` - -{/* insert option description */} - -Examples of code for this rule with `{ allowTypedFunctionExpressions: false }`: - - - - -```ts option='{ "allowTypedFunctionExpressions": false }' -export let arrowFn = () => 'test'; - -export let funcExpr = function () { - return 'test'; -}; - -export let objectProp = { - foo: () => 1, -}; - -export const foo = bar => {}; -``` - - - - -```ts option='{ "allowTypedFunctionExpressions": true }' -type FuncType = () => string; - -export let arrowFn: FuncType = () => 'test'; - -export let funcExpr: FuncType = function () { - return 'test'; -}; - -export let asTyped = (() => '') as () => string; - -interface ObjectType { - foo(): number; -} -export let objectProp: ObjectType = { - foo: () => 1, -}; -export let objectPropAs = { - foo: () => 1, -} as ObjectType; - -type FooType = (bar: string) => void; -export const foo: FooType = bar => {}; -``` - - - - -## When Not To Use It - -If your project is not used by downstream consumers that are sensitive to API types, you can disable this rule. - -## Further Reading - -- TypeScript [Functions](https://www.typescriptlang.org/docs/handbook/functions.html#function-types) - -## Related To - -- [explicit-function-return-type](./explicit-function-return-type.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.mdx deleted file mode 100644 index 911aeb18..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Require or disallow initialization in variable declarations.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/init-declarations** for documentation. - -This rule extends the base [`eslint/init-declarations`](https://eslint.org/docs/rules/init-declarations) rule. -It adds support for TypeScript's `declare` variables. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/max-params.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/max-params.mdx deleted file mode 100644 index d1a36373..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/max-params.mdx +++ /dev/null @@ -1,55 +0,0 @@ ---- -description: 'Enforce a maximum number of parameters in function definitions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/max-params** for documentation. - -This rule extends the base [`eslint/max-params`](https://eslint.org/docs/rules/max-params) rule. -This version adds support for TypeScript `this` parameters so they won't be counted as a parameter. - -## Options - -This rule adds the following options: - -```ts -interface Options extends BaseMaxParamsOptions { - countVoidThis?: boolean; -} - -const defaultOptions: Options = { - ...baseMaxParamsOptions, - countVoidThis: false, -}; -``` - -### `countVoidThis` - -{/* insert option description */} - -Example of a code when `countVoidThis` is set to `false` and `max` is `1`: - - - - -```ts option='{ "countVoidThis": false, "max": 1 }' -function hasNoThis(this: void, first: string, second: string) { - // ... -} -``` - - - - -```ts option='{ "countVoidThis": false, "max": 1 }' -function hasNoThis(this: void, first: string) { - // ... -} -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.mdx deleted file mode 100644 index 82f8f84f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.mdx +++ /dev/null @@ -1,1483 +0,0 @@ ---- -description: 'Require a consistent member declaration order.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/member-ordering** for documentation. - -This rule aims to standardize the way classes, interfaces, and type literals are structured and ordered. -A consistent ordering of fields, methods and constructors can make code easier to read, navigate, and edit. - -:::note -This rule is _feature frozen_: it will no longer receive new features such as new options. -It still will accept bug and documentation fixes for its existing area of features. - -Stylistic rules that enforce naming and/or sorting conventions tend to grow incomprehensibly complex as increasingly obscure features are requested. -This rule has reached the limit of what is reasonable for the typescript-eslint project to maintain. -See [eslint-plugin: Feature freeze naming and sorting stylistic rules](https://github.com/typescript-eslint/typescript-eslint/issues/8792) for more information. -::: - -## Options - -```ts -interface Options { - default?: OrderConfig; - classes?: OrderConfig; - classExpressions?: OrderConfig; - interfaces?: OrderConfig; - typeLiterals?: OrderConfig; -} - -type OrderConfig = MemberType[] | SortedOrderConfig | 'never'; - -interface SortedOrderConfig { - memberTypes?: MemberType[] | 'never'; - optionalityOrder?: 'optional-first' | 'required-first'; - order?: - | 'alphabetically' - | 'alphabetically-case-insensitive' - | 'as-written' - | 'natural' - | 'natural-case-insensitive'; -} - -// See below for the more specific MemberType strings -type MemberType = string | string[]; -``` - -You can configure `OrderConfig` options for: - -- **`default`**: all constructs (used as a fallback) -- **`classes`**?: override ordering specifically for classes -- **`classExpressions`**?: override ordering specifically for class expressions -- **`interfaces`**?: override ordering specifically for interfaces -- **`typeLiterals`**?: override ordering specifically for type literals - -The `OrderConfig` settings for each kind of construct may configure sorting on up to three levels: - -- **`memberTypes`**: organizing on member type groups such as methods vs. properties -- **`optionalityOrder`**: whether to put all optional members first or all required members first -- **`order`**: organizing based on member names, such as alphabetically - -### Groups - -You can define many different groups based on different attributes of members. -The supported member attributes are, in order: - -- **Accessibility** (`'public' | 'protected' | 'private' | '#private'`) -- **Decoration** (`'decorated'`): Whether the member has an explicit accessibility decorator -- **Kind** (`'call-signature' | 'constructor' | 'field' | 'readonly-field' | 'get' | 'method' | 'set' | 'signature' | 'readonly-signature'`) - -Member attributes may be joined with a `'-'` to combine into more specific groups. -For example, `'public-field'` would come before `'private-field'`. - -### Orders - -The `order` value specifies what order members should be within a group. -It defaults to `as-written`, meaning any order is fine. -Other allowed values are: - -- `alphabetically`: Sorted in a-z alphabetical order, directly using string `<` comparison (so `B` comes before `a`) -- `alphabetically-case-insensitive`: Sorted in a-z alphabetical order, ignoring case (so `a` comes before `B`) -- `natural`: Same as `alphabetically`, but using [`natural-compare-lite`](https://github.com/litejs/natural-compare-lite) for more friendly sorting of numbers -- `natural-case-insensitive`: Same as `alphabetically-case-insensitive`, but using [`natural-compare-lite`](https://github.com/litejs/natural-compare-lite) for more friendly sorting of numbers - -### Default configuration - -The default configuration looks as follows: - -```jsonc -{ - "default": { - "memberTypes": [ - // Index signature - "signature", - "call-signature", - - // Fields - "public-static-field", - "protected-static-field", - "private-static-field", - "#private-static-field", - - "public-decorated-field", - "protected-decorated-field", - "private-decorated-field", - - "public-instance-field", - "protected-instance-field", - "private-instance-field", - "#private-instance-field", - - "public-abstract-field", - "protected-abstract-field", - - "public-field", - "protected-field", - "private-field", - "#private-field", - - "static-field", - "instance-field", - "abstract-field", - - "decorated-field", - - "field", - - // Static initialization - "static-initialization", - - // Constructors - "public-constructor", - "protected-constructor", - "private-constructor", - - "constructor", - - // Accessors - "public-static-accessor", - "protected-static-accessor", - "private-static-accessor", - "#private-static-accessor", - - "public-decorated-accessor", - "protected-decorated-accessor", - "private-decorated-accessor", - - "public-instance-accessor", - "protected-instance-accessor", - "private-instance-accessor", - "#private-instance-accessor", - - "public-abstract-accessor", - "protected-abstract-accessor", - - "public-accessor", - "protected-accessor", - "private-accessor", - "#private-accessor", - - "static-accessor", - "instance-accessor", - "abstract-accessor", - - "decorated-accessor", - - "accessor", - - // Getters - "public-static-get", - "protected-static-get", - "private-static-get", - "#private-static-get", - - "public-decorated-get", - "protected-decorated-get", - "private-decorated-get", - - "public-instance-get", - "protected-instance-get", - "private-instance-get", - "#private-instance-get", - - "public-abstract-get", - "protected-abstract-get", - - "public-get", - "protected-get", - "private-get", - "#private-get", - - "static-get", - "instance-get", - "abstract-get", - - "decorated-get", - - "get", - - // Setters - "public-static-set", - "protected-static-set", - "private-static-set", - "#private-static-set", - - "public-decorated-set", - "protected-decorated-set", - "private-decorated-set", - - "public-instance-set", - "protected-instance-set", - "private-instance-set", - "#private-instance-set", - - "public-abstract-set", - "protected-abstract-set", - - "public-set", - "protected-set", - "private-set", - "#private-set", - - "static-set", - "instance-set", - "abstract-set", - - "decorated-set", - - "set", - - // Methods - "public-static-method", - "protected-static-method", - "private-static-method", - "#private-static-method", - - "public-decorated-method", - "protected-decorated-method", - "private-decorated-method", - - "public-instance-method", - "protected-instance-method", - "private-instance-method", - "#private-instance-method", - - "public-abstract-method", - "protected-abstract-method", - - "public-method", - "protected-method", - "private-method", - "#private-method", - - "static-method", - "instance-method", - "abstract-method", - - "decorated-method", - - "method", - ], - }, -} -``` - -:::note -The default configuration contains member group types which contain other member types. -This is intentional to provide better error messages. -::: - -:::tip -By default, the members are not sorted. -If you want to sort them alphabetically, you have to provide a custom configuration. -::: - -## Examples - -### General Order on All Constructs - -This config specifies the order for all constructs. -It ignores member types other than signatures, methods, constructors, and fields. -It also ignores accessibility and scope. - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "default": ["signature", "method", "constructor", "field"] }, - ], - }, -} -``` - - - - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -interface Foo { - B: string; // -> field - - new (); // -> constructor - - A(): void; // -> method - - [Z: string]: any; // -> signature -} -``` - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -type Foo = { - B: string; // -> field - - // no constructor - - A(): void; // -> method - - // no signature -}; -``` - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -class Foo { - private C: string; // -> field - public D: string; // -> field - protected static E: string; // -> field - - constructor() {} // -> constructor - - public static A(): void {} // -> method - public B(): void {} // -> method - - [Z: string]: any; // -> signature -} -``` - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -const Foo = class { - private C: string; // -> field - public D: string; // -> field - - constructor() {} // -> constructor - - public static A(): void {} // -> method - public B(): void {} // -> method - - [Z: string]: any; // -> signature - - protected static E: string; // -> field -}; -``` - - - - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -interface Foo { - [Z: string]: any; // -> signature - - A(): void; // -> method - - new (); // -> constructor - - B: string; // -> field -} -``` - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -type Foo = { - // no signature - - A(): void; // -> method - - // no constructor - - B: string; // -> field -}; -``` - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -class Foo { - [Z: string]: any; // -> signature - - public static A(): void {} // -> method - public B(): void {} // -> method - - constructor() {} // -> constructor - - private C: string; // -> field - public D: string; // -> field - protected static E: string; // -> field -} -``` - -```ts option='{ "default": ["signature", "method", "constructor", "field"] }' -const Foo = class { - [Z: string]: any; // -> signature - - public static A(): void {} // -> method - public B(): void {} // -> method - - constructor() {} // -> constructor - - private C: string; // -> field - public D: string; // -> field - protected static E: string; // -> field -}; -``` - - - - -### Classes - -#### Public Instance Methods Before Public Static Fields - -This config specifies that public instance methods should come first before public static fields. -Everything else can be placed anywhere. -It doesn't apply to interfaces or type literals as accessibility and scope are not part of them. - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "default": ["public-instance-method", "public-static-field"] }, - ], - }, -} -``` - - - - -```ts option='{ "default": ["public-instance-method", "public-static-field"] }' -class Foo { - private C: string; // (irrelevant) - - public D: string; // (irrelevant) - - public static E: string; // -> public static field - - constructor() {} // (irrelevant) - - public static A(): void {} // (irrelevant) - - [Z: string]: any; // (irrelevant) - - public B(): void {} // -> public instance method -} -``` - -```ts option='{ "default": ["public-instance-method", "public-static-field"] }' -const Foo = class { - private C: string; // (irrelevant) - - [Z: string]: any; // (irrelevant) - - public static E: string; // -> public static field - - public D: string; // (irrelevant) - - constructor() {} // (irrelevant) - - public static A(): void {} // (irrelevant) - - public B(): void {} // -> public instance method -}; -``` - - - - -```ts option='{ "default": ["public-instance-method", "public-static-field"] }' -class Foo { - public B(): void {} // -> public instance method - - private C: string; // (irrelevant) - - public D: string; // (irrelevant) - - public static E: string; // -> public static field - - constructor() {} // (irrelevant) - - public static A(): void {} // (irrelevant) - - [Z: string]: any; // (irrelevant) -} -``` - -```ts option='{ "default": ["public-instance-method", "public-static-field"] }' -const Foo = class { - public B(): void {} // -> public instance method - - private C: string; // (irrelevant) - - [Z: string]: any; // (irrelevant) - - public D: string; // (irrelevant) - - constructor() {} // (irrelevant) - - public static A(): void {} // (irrelevant) - - public static E: string; // -> public static field -}; -``` - - - - -#### Static Fields Before Instance Fields - -This config specifies that static fields should come before instance fields, with public static fields first. -It doesn't apply to interfaces or type literals as accessibility and scope are not part of them. - -```jsonc -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "default": ["public-static-field", "static-field", "instance-field"] }, - ], - }, -} -``` - - - - -```ts option='{ "default": ["public-static-field", "static-field", "instance-field"] }' -class Foo { - private E: string; // -> instance field - - private static B: string; // -> static field - protected static C: string; // -> static field - private static D: string; // -> static field - - public static A: string; // -> public static field - - [Z: string]: any; // (irrelevant) -} -``` - -```ts option='{ "default": ["public-static-field", "static-field", "instance-field"] }' -const foo = class { - public T(): void {} // method (irrelevant) - - private static B: string; // -> static field - - constructor() {} // constructor (irrelevant) - - private E: string; // -> instance field - - protected static C: string; // -> static field - private static D: string; // -> static field - - [Z: string]: any; // signature (irrelevant) - - public static A: string; // -> public static field -}; -``` - - - - -```ts option='{ "default": ["public-static-field", "static-field", "instance-field"] }' -class Foo { - public static A: string; // -> public static field - - private static B: string; // -> static field - protected static C: string; // -> static field - private static D: string; // -> static field - - private E: string; // -> instance field - - [Z: string]: any; // (irrelevant) -} -``` - -```ts option='{ "default": ["public-static-field", "static-field", "instance-field"] }' -const foo = class { - [Z: string]: any; // -> signature (irrelevant) - - public static A: string; // -> public static field - - constructor() {} // -> constructor (irrelevant) - - private static B: string; // -> static field - protected static C: string; // -> static field - private static D: string; // -> static field - - private E: string; // -> instance field - - public T(): void {} // -> method (irrelevant) -}; -``` - - - - -#### Class Declarations - -This config only specifies an order for classes: methods, then the constructor, then fields. -It does not apply to class expressions (use `classExpressions` for them). -Default settings will be used for class declarations and all other syntax constructs other than class declarations. - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "classes": ["method", "constructor", "field"] }, - ], - }, -} -``` - - - - -```ts option='{ "classes": ["method", "constructor", "field"] }' -class Foo { - private C: string; // -> field - public D: string; // -> field - protected static E: string; // -> field - - constructor() {} // -> constructor - - public static A(): void {} // -> method - public B(): void {} // -> method -} -``` - - - - -```ts option='{ "classes": ["method", "constructor", "field"] }' -class Foo { - public static A(): void {} // -> method - public B(): void {} // -> method - - constructor() {} // -> constructor - - private C: string; // -> field - public D: string; // -> field - protected static E: string; // -> field -} -``` - - - - -#### Class Expressions - -This config only specifies an order for classes expressions: methods, then the constructor, then fields. -It does not apply to class declarations (use `classes` for them). -Default settings will be used for class declarations and all other syntax constructs other than class expressions. - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "classExpressions": ["method", "constructor", "field"] }, - ], - }, -} -``` - - - - -```ts option='{ "classExpressions": ["method", "constructor", "field"] }' -const foo = class { - private C: string; // -> field - public D: string; // -> field - protected static E: string; // -> field - - constructor() {} // -> constructor - - public static A(): void {} // -> method - public B(): void {} // -> method -}; -``` - - - - -```ts option='{ "classExpressions": ["method", "constructor", "field"] }' -const foo = class { - public static A(): void {} // -> method - public B(): void {} // -> method - - constructor() {} // -> constructor - - private C: string; // -> field - public D: string; // -> field - protected static E: string; // -> field -}; -``` - - - - -### Interfaces - -This config only specifies an order for interfaces: signatures, then methods, then constructors, then fields. -It does not apply to type literals (use `typeLiterals` for them). -Default settings will be used for type literals and all other syntax constructs other than class expressions. - -:::note -These member types are the only ones allowed for `interfaces`. -::: - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "interfaces": ["signature", "method", "constructor", "field"] }, - ], - }, -} -``` - - - - -```ts option='{ "interfaces": ["signature", "method", "constructor", "field"] }' -interface Foo { - B: string; // -> field - - new (); // -> constructor - - A(): void; // -> method - - [Z: string]: any; // -> signature -} -``` - - - - -```ts option='{ "interfaces": ["signature", "method", "constructor", "field"] }' -interface Foo { - [Z: string]: any; // -> signature - - A(): void; // -> method - - new (); // -> constructor - - B: string; // -> field -} -``` - - - - -### Type Literals - -This config only specifies an order for type literals: signatures, then methods, then constructors, then fields. -It does not apply to interfaces (use `interfaces` for them). -Default settings will be used for interfaces and all other syntax constructs other than class expressions. - -:::note -These member types are the only ones allowed for `typeLiterals`. -::: - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "typeLiterals": ["signature", "method", "constructor", "field"] }, - ], - }, -} -``` - - - - -```ts option='{ "typeLiterals": ["signature", "method", "constructor", "field"] }' -type Foo = { - B: string; // -> field - - A(): void; // -> method - - new (); // -> constructor - - [Z: string]: any; // -> signature -}; -``` - - - - -```ts option='{ "typeLiterals": ["signature", "method", "constructor", "field"] }' -type Foo = { - [Z: string]: any; // -> signature - - A(): void; // -> method - - new (); // -> constructor - - B: string; // -> field -}; -``` - - - - -### Sorting Options - -#### Sorting Alphabetically Within Member Groups - -The default member order will be applied if `memberTypes` is not specified. -You can see the default order in [Default Configuration](#default-configuration). - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { - "default": { - "order": "alphabetically", - }, - }, - ], - }, -} -``` - - - - -```ts option='{"default":{"order":"alphabetically"}}' -interface Foo { - a: x; - B: x; - c: x; - - B(): void; - c(): void; - a(): void; -} -``` - - - - -```ts option='{"default":{"order":"alphabetically"}}' -interface Foo { - B: x; - a: x; - c: x; - - B(): void; - a(): void; - c(): void; -} -``` - - - - -#### Sorting Alphabetically Within Custom Member Groups - -This config specifies that within each custom `memberTypes` group, members are in an alphabetic case-sensitive order. - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { - "default": { - "memberTypes": ["method", "field"], - "order": "alphabetically", - }, - }, - ], - }, -} -``` - - - - -```ts option='{"default":{"memberTypes":["method","field"],"order":"alphabetically"}}' -interface Foo { - B(): void; - c(): void; - a(): void; - - a: x; - B: x; - c: x; -} -``` - - - - -```ts option='{"default":{"memberTypes":["method","field"],"order":"alphabetically"}}' -interface Foo { - B(): void; - a(): void; - c(): void; - - B: x; - a: x; - c: x; -} -``` - - - - -#### Sorting Alphabetically Case Insensitive Within Member Groups - -The default member order will be applied if `memberTypes` is not specified. -You can see the default order in [Default Configuration](#default-configuration). - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { - "default": { - "order": "alphabetically-case-insensitive", - }, - }, - ], - }, -} -``` - - - - -```ts option='{"default":{"order":"alphabetically-case-insensitive"}}' -interface Foo { - B: x; - a: x; - c: x; - - B(): void; - c(): void; - a(): void; -} -``` - - - - -```ts option='{"default":{"order":"alphabetically-case-insensitive"}}' -interface Foo { - a: x; - B: x; - c: x; - - a(): void; - B(): void; - c(): void; -} -``` - - - - -#### Sorting Alphabetically Ignoring Member Groups - -This config specifies that members are all sorted in an alphabetic case-sensitive order. -It ignores any member group types completely by specifying `"never"` for `memberTypes`. - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { "default": { "memberTypes": "never", "order": "alphabetically" } }, - ], - }, -} -``` - - - - -```ts option='{ "default": { "memberTypes": "never", "order": "alphabetically" } }' -interface Foo { - b(): void; - a: boolean; - - [a: string]: number; - new (): Bar; - (): Baz; -} -``` - - - - -```ts option='{ "default": { "memberTypes": "never", "order": "alphabetically" } }' -interface Foo { - [a: string]: number; - a: boolean; - b(): void; - - (): Baz; - new (): Bar; -} -``` - - - - -#### Sorting Optional Members First or Last - -The `optionalityOrder` option may be enabled to place all optional members in a group at the beginning or end of that group. - -This config places all optional members before all required members: - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { - "default": { - "optionalityOrder": "optional-first", - "order": "alphabetically", - }, - }, - ], - }, -} -``` - - - - -```ts option='{ "default": { "optionalityOrder": "optional-first", "order": "alphabetically" } }' -interface Foo { - a: boolean; - b?: number; - c: string; -} -``` - - - - -```ts option='{ "default": { "optionalityOrder": "optional-first", "order": "alphabetically" } }' -interface Foo { - b?: number; - a: boolean; - c: string; -} -``` - - - - -This config places all required members before all optional members: - -```jsonc -// .eslintrc.json -{ - "rules": { - "@typescript-eslint/member-ordering": [ - "error", - { - "default": { - "optionalityOrder": "required-first", - "order": "alphabetically", - }, - }, - ], - }, -} -``` - - - - -```ts option='{ "default": { "optionalityOrder": "required-first", "order": "alphabetically" } }' -interface Foo { - a: boolean; - b?: number; - c: string; -} -``` - - - - -```ts option='{ "default": { "optionalityOrder": "required-first", "order": "alphabetically" } }' -interface Foo { - a: boolean; - c: string; - b?: number; -} -``` - - - - -## All Supported Options - -### Member Types (Granular Form) - -There are multiple ways to specify the member types. -The most explicit and granular form is the following: - -```jsonc -[ - // Index signature - "signature", - "readonly-signature", - - // Fields - "public-static-field", - "public-static-readonly-field", - "protected-static-field", - "protected-static-readonly-field", - "private-static-field", - "private-static-readonly-field", - "#private-static-field", - "#private-static-readonly-field", - - "public-decorated-field", - "public-decorated-readonly-field", - "protected-decorated-field", - "protected-decorated-readonly-field", - "private-decorated-field", - "private-decorated-readonly-field", - - "public-instance-field", - "public-instance-readonly-field", - "protected-instance-field", - "protected-instance-readonly-field", - "private-instance-field", - "private-instance-readonly-field", - "#private-instance-field", - "#private-instance-readonly-field", - - "public-abstract-field", - "public-abstract-readonly-field", - "protected-abstract-field", - "protected-abstract-readonly-field", - - "public-field", - "public-readonly-field", - "protected-field", - "protected-readonly-field", - "private-field", - "private-readonly-field" - "#private-field", - "#private-readonly-field" - - "static-field", - "static-readonly-field", - "instance-field", - "instance-readonly-field" - "abstract-field", - "abstract-readonly-field", - - "decorated-field", - "decorated-readonly-field", - - "field", - "readonly-field", - - // Static initialization - "static-initialization", - - // Constructors - "public-constructor", - "protected-constructor", - "private-constructor", - - // Getters - "public-static-get", - "protected-static-get", - "private-static-get", - "#private-static-get", - - "public-decorated-get", - "protected-decorated-get", - "private-decorated-get", - - "public-instance-get", - "protected-instance-get", - "private-instance-get", - "#private-instance-get", - - "public-abstract-get", - "protected-abstract-get", - - "public-get", - "protected-get", - "private-get", - "#private-get", - - "static-get", - "instance-get", - "abstract-get", - - "decorated-get", - - "get", - - // Setters - "public-static-set", - "protected-static-set", - "private-static-set", - "#private-static-set", - - "public-decorated-set", - "protected-decorated-set", - "private-decorated-set", - - "public-instance-set", - "protected-instance-set", - "private-instance-set", - "#private-instance-set", - - "public-abstract-set", - "protected-abstract-set", - - "public-set", - "protected-set", - "private-set", - - "static-set", - "instance-set", - "abstract-set", - - "decorated-set", - - "set", - - // Methods - "public-static-method", - "protected-static-method", - "private-static-method", - "#private-static-method", - "public-decorated-method", - "protected-decorated-method", - "private-decorated-method", - "public-instance-method", - "protected-instance-method", - "private-instance-method", - "#private-instance-method", - "public-abstract-method", - "protected-abstract-method" -] -``` - -:::note -If you only specify some of the possible types, the non-specified ones can have any particular order. -This means that they can be placed before, within or after the specified types and the linter won't complain about it. -::: - -### Member Group Types (With Accessibility, Ignoring Scope) - -It is also possible to group member types by their accessibility (`static`, `instance`, `abstract`), ignoring their scope. - -```jsonc -[ - // Index signature - // No accessibility for index signature. - - // Fields - "public-field", // = ["public-static-field", "public-instance-field"] - "protected-field", // = ["protected-static-field", "protected-instance-field"] - "private-field", // = ["private-static-field", "private-instance-field"] - - // Static initialization - // No accessibility for static initialization. - - // Constructors - // Only the accessibility of constructors is configurable. See below. - - // Getters - "public-get", // = ["public-static-get", "public-instance-get"] - "protected-get", // = ["protected-static-get", "protected-instance-get"] - "private-get", // = ["private-static-get", "private-instance-get"] - - // Setters - "public-set", // = ["public-static-set", "public-instance-set"] - "protected-set", // = ["protected-static-set", "protected-instance-set"] - "private-set", // = ["private-static-set", "private-instance-set"] - - // Methods - "public-method", // = ["public-static-method", "public-instance-method"] - "protected-method", // = ["protected-static-method", "protected-instance-method"] - "private-method", // = ["private-static-method", "private-instance-method"] -] -``` - -### Member Group Types (With Accessibility and a Decorator) - -It is also possible to group methods or fields with a decorator separately, optionally specifying -their accessibility. - -```jsonc -[ - // Index signature - // No decorators for index signature. - - // Fields - "public-decorated-field", - "protected-decorated-field", - "private-decorated-field", - - "decorated-field", // = ["public-decorated-field", "protected-decorated-field", "private-decorated-field"] - - // Static initialization - // No decorators for static initialization. - - // Constructors - // There are no decorators for constructors. - - // Getters - "public-decorated-get", - "protected-decorated-get", - "private-decorated-get", - - "decorated-get", // = ["public-decorated-get", "protected-decorated-get", "private-decorated-get"] - - // Setters - "public-decorated-set", - "protected-decorated-set", - "private-decorated-set", - - "decorated-set", // = ["public-decorated-set", "protected-decorated-set", "private-decorated-set"] - - // Methods - "public-decorated-method", - "protected-decorated-method", - "private-decorated-method", - - "decorated-method", // = ["public-decorated-method", "protected-decorated-method", "private-decorated-method"] -] -``` - -### Member Group Types (With Scope, Ignoring Accessibility) - -Another option is to group the member types by their scope (`public`, `protected`, `private`), ignoring their accessibility. - -```jsonc -[ - // Index signature - // No scope for index signature. - - // Fields - "static-field", // = ["public-static-field", "protected-static-field", "private-static-field"] - "instance-field", // = ["public-instance-field", "protected-instance-field", "private-instance-field"] - "abstract-field", // = ["public-abstract-field", "protected-abstract-field"] - - // Static initialization - // No scope for static initialization. - - // Constructors - "constructor", // = ["public-constructor", "protected-constructor", "private-constructor"] - - // Getters - "static-get", // = ["public-static-get", "protected-static-get", "private-static-get"] - "instance-get", // = ["public-instance-get", "protected-instance-get", "private-instance-get"] - "abstract-get", // = ["public-abstract-get", "protected-abstract-get"] - - // Setters - "static-set", // = ["public-static-set", "protected-static-set", "private-static-set"] - "instance-set", // = ["public-instance-set", "protected-instance-set", "private-instance-set"] - "abstract-set", // = ["public-abstract-set", "protected-abstract-set"] - - // Methods - "static-method", // = ["public-static-method", "protected-static-method", "private-static-method"] - "instance-method", // = ["public-instance-method", "protected-instance-method", "private-instance-method"] - "abstract-method", // = ["public-abstract-method", "protected-abstract-method"] -] -``` - -### Member Group Types (With Scope and Accessibility) - -The third grouping option is to ignore both scope and accessibility. - -```jsonc -[ - // Index signature - // No grouping for index signature. - - // Fields - "field", // = ["public-static-field", "protected-static-field", "private-static-field", "public-instance-field", "protected-instance-field", "private-instance-field", - // "public-abstract-field", "protected-abstract-field"] - - // Static initialization - // No grouping for static initialization. - - // Constructors - // Only the accessibility of constructors is configurable. - - // Getters - "get", // = ["public-static-get", "protected-static-get", "private-static-get", "public-instance-get", "protected-instance-get", "private-instance-get", - // "public-abstract-get", "protected-abstract-get"] - - // Setters - "set", // = ["public-static-set", "protected-static-set", "private-static-set", "public-instance-set", "protected-instance-set", "private-instance-set", - // "public-abstract-set", "protected-abstract-set"] - - // Methods - "method", // = ["public-static-method", "protected-static-method", "private-static-method", "public-instance-method", "protected-instance-method", "private-instance-method", - // "public-abstract-method", "protected-abstract-method"] -] -``` - -### Member Group Types (Readonly Fields) - -It is possible to group fields by their `readonly` modifiers. - -```jsonc -[ - // Index signature - "readonly-signature", - "signature", - - // Fields - "readonly-field", // = ["public-static-readonly-field", "protected-static-readonly-field", "private-static-readonly-field", "public-instance-readonly-field", "protected-instance-readonly-field", "private-instance-readonly-field", "public-abstract-readonly-field", "protected-abstract-readonly-field"] - "field", // = ["public-static-field", "protected-static-field", "private-static-field", "public-instance-field", "protected-instance-field", "private-instance-field", "public-abstract-field", "protected-abstract-field"] -] -``` - -### Grouping Different Member Types at the Same Rank - -It is also possible to group different member types at the same rank. - -```jsonc -[ - // Index signature - "signature", - - // Fields - "field", - - // Static initialization - "static-initialization", - - // Constructors - "constructor", - - // Getters and Setters at the same rank - ["get", "set"], - - // Methods - "method", -] -``` - -## When Not To Use It - -If you don't care about the general order of your members, then you will not need this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.mdx deleted file mode 100644 index 1f269627..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.mdx +++ /dev/null @@ -1,124 +0,0 @@ ---- -description: 'Enforce using a particular method signature syntax.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/method-signature-style** for documentation. - -TypeScript provides two ways to define an object/interface function property: - -```ts -interface Example { - // method shorthand syntax - func(arg: string): number; - - // regular property with function type - func: (arg: string) => number; -} -``` - -The two are very similar; most of the time it doesn't matter which one you use. - -A good practice is to use the TypeScript's `strict` option (which implies `strictFunctionTypes`) which enables correct typechecking for function properties only (method signatures get old behavior). - -TypeScript FAQ: - -> A method and a function property of the same type behave differently. -> Methods are always bivariant in their argument, while function properties are contravariant in their argument under `strictFunctionTypes`. - -See the reasoning behind that in the [TypeScript PR for the compiler option](https://github.com/microsoft/TypeScript/pull/18654). - -## Options - -This rule accepts one string option: - -- `"property"`: Enforce using property signature for functions. Use this to enforce maximum correctness together with TypeScript's strict mode. -- `"method"`: Enforce using method signature for functions. Use this if you aren't using TypeScript's strict mode and prefer this style. - -### `property` - -{/* insert option description */} - -Examples of code with `property` option. - - - - -```ts option='"property"' -interface T1 { - func(arg: string): number; -} -type T2 = { - func(arg: boolean): void; -}; -interface T3 { - func(arg: number): void; - func(arg: string): void; - func(arg: boolean): void; -} -``` - - - - -```ts option='"property"' -interface T1 { - func: (arg: string) => number; -} -type T2 = { - func: (arg: boolean) => void; -}; -// this is equivalent to the overload -interface T3 { - func: ((arg: number) => void) & - ((arg: string) => void) & - ((arg: boolean) => void); -} -``` - - - - -### `method` - -{/* insert option description */} - -Examples of code with `method` option. - - - - -```ts option='"method"' -interface T1 { - func: (arg: string) => number; -} -type T2 = { - func: (arg: boolean) => void; -}; -``` - - - - -```ts option='"method"' -interface T1 { - func(arg: string): number; -} -type T2 = { - func(arg: boolean): void; -}; -``` - - - - -## When Not To Use It - -If you don't want to enforce a particular style for object/interface function types, and/or if you don't use `strictFunctionTypes`, then you don't need this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.mdx deleted file mode 100644 index e129b443..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.mdx +++ /dev/null @@ -1,755 +0,0 @@ ---- -description: 'Enforce naming conventions for everything across a codebase.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/naming-convention** for documentation. - -Enforcing naming conventions helps keep the codebase consistent, and reduces overhead when thinking about how to name a variable. -Additionally, a well-designed style guide can help communicate intent, such as by enforcing all private properties begin with an `_`, and all global-level constants are written in `UPPER_CASE`. - -:::note -This rule is _feature frozen_: it will no longer receive new features such as new options. -It still will accept bug and documentation fixes for its existing area of features and to support new TypeScript versions. - -Stylistic rules that enforce naming and/or sorting conventions tend to grow incomprehensibly complex as increasingly obscure features are requested. -This rule has reached the limit of what is reasonable for the typescript-eslint project to maintain. -See [eslint-plugin: Feature freeze naming and sorting stylistic rules](https://github.com/typescript-eslint/typescript-eslint/issues/8792) for more information. -::: - -## Examples - -This rule allows you to enforce conventions for any identifier, using granular selectors to create a fine-grained style guide. - -:::note - -This rule only needs type information in specific cases, detailed below. - -::: - -## Options - -This rule accepts an array of objects, with each object describing a different naming convention. -Each property will be described in detail below. Also see the examples section below for illustrated examples. - -```ts -type Options = { - // format options - format: - | ( - | 'camelCase' - | 'strictCamelCase' - | 'PascalCase' - | 'StrictPascalCase' - | 'snake_case' - | 'UPPER_CASE' - )[] - | null; - custom?: { - regex: string; - match: boolean; - }; - leadingUnderscore?: - | 'forbid' - | 'require' - | 'requireDouble' - | 'allow' - | 'allowDouble' - | 'allowSingleOrDouble'; - trailingUnderscore?: - | 'forbid' - | 'require' - | 'requireDouble' - | 'allow' - | 'allowDouble' - | 'allowSingleOrDouble'; - prefix?: string[]; - suffix?: string[]; - - // selector options - selector: Selector | Selector[]; - filter?: - | string - | { - regex: string; - match: boolean; - }; - // the allowed values for these are dependent on the selector - see below - modifiers?: Modifiers[]; - types?: Types[]; -}[]; - -// the default config is similar to ESLint's camelcase rule but more strict -const defaultOptions: Options = [ - { - selector: 'default', - format: ['camelCase'], - leadingUnderscore: 'allow', - trailingUnderscore: 'allow', - }, - - { - selector: 'import', - format: ['camelCase', 'PascalCase'], - }, - - { - selector: 'variable', - format: ['camelCase', 'UPPER_CASE'], - leadingUnderscore: 'allow', - trailingUnderscore: 'allow', - }, - - { - selector: 'typeLike', - format: ['PascalCase'], - }, -]; -``` - -### Format Options - -Every single selector can have the same set of format options. -For information about how each selector is applied, see ["How does the rule evaluate a name's format?"](#how-does-the-rule-evaluate-a-names-format). - -#### `format` - -The `format` option defines the allowed formats for the identifier. This option accepts an array of the following values, and the identifier can match any of them: - -- `camelCase` - standard camelCase format - no underscores are allowed between characters, and consecutive capitals are allowed (i.e. both `myID` and `myId` are valid). -- `PascalCase` - same as `camelCase`, except the first character must be upper-case. -- `snake_case` - standard snake_case format - all characters must be lower-case, and underscores are allowed. -- `strictCamelCase` - same as `camelCase`, but consecutive capitals are not allowed (i.e. `myId` is valid, but `myID` is not). -- `StrictPascalCase` - same as `strictCamelCase`, except the first character must be upper-case. -- `UPPER_CASE` - same as `snake_case`, except all characters must be upper-case. - -Instead of an array, you may also pass `null`. This signifies "this selector shall not have its format checked". -This can be useful if you want to enforce no particular format for a specific selector, after applying a group selector. - -#### `custom` - -The `custom` option defines a custom regex that the identifier must (or must not) match. This option allows you to have a bit more finer-grained control over identifiers, letting you ban (or force) certain patterns and substrings. -Accepts an object with the following properties: - -- `match` - true if the identifier _must_ match the `regex`, false if the identifier _must not_ match the `regex`. -- `regex` - a string that is then passed into RegExp to create a new regular expression: `new RegExp(regex)` - -#### `filter` - -The `filter` option operates similar to `custom`, accepting the same shaped object, except that it controls if the rest of the configuration should or should not be applied to an identifier. - -You can use this to include or exclude specific identifiers from specific configurations. - -Accepts an object with the following properties: - -- `match` - true if the identifier _must_ match the `regex`, false if the identifier _must not_ match the `regex`. -- `regex` - a string that is then passed into RegExp to create a new regular expression: `new RegExp(regex)` - -Alternatively, `filter` accepts a regular expression (anything accepted into `new RegExp(filter)`). In this case, it's treated as if you had passed an object with the regex and `match: true`. - -#### `leadingUnderscore` / `trailingUnderscore` - -The `leadingUnderscore` / `trailingUnderscore` options control whether leading/trailing underscores are considered valid. Accepts one of the following values: - -- `allow` - existence of a single leading/trailing underscore is not explicitly enforced. -- `allowDouble` - existence of a double leading/trailing underscore is not explicitly enforced. -- `allowSingleOrDouble` - existence of a single or a double leading/trailing underscore is not explicitly enforced. -- `forbid` - a leading/trailing underscore is not allowed at all. -- `require` - a single leading/trailing underscore must be included. -- `requireDouble` - two leading/trailing underscores must be included. - -#### `prefix` / `suffix` - -The `prefix` / `suffix` options control which prefix/suffix strings must exist for the identifier. Accepts an array of strings. - -If these are provided, the identifier must start with one of the provided values. For example, if you provide `{ prefix: ['Class', 'IFace', 'Type'] }`, then the following names are valid: `ClassBar`, `IFaceFoo`, `TypeBaz`, but the name `Bang` is not valid, as it contains none of the prefixes. - -**Note:** As [documented above](#format-options), the prefix is trimmed before format is validated, therefore PascalCase must be used to allow variables such as `isEnabled` using the prefix `is`. - -### Selector Options - -- `selector` allows you to specify what types of identifiers to target. - - Accepts one or array of selectors to define an option block that applies to one or multiple selectors. - - For example, if you provide `{ selector: ['function', 'variable'] }`, then it will apply the same option to variable and function nodes. - - See [Allowed Selectors, Modifiers and Types](#allowed-selectors-modifiers-and-types) below for the complete list of allowed selectors. -- `modifiers` allows you to specify which modifiers to granularly apply to, such as the accessibility (`#private`/`private`/`protected`/`public`), or if the thing is `static`, etc. - - The name must match _all_ of the modifiers. - - For example, if you provide `{ modifiers: ['private','readonly','static'] }`, then it will only match something that is `private static readonly`, and something that is just `private` will not match. - - The following `modifiers` are allowed: - - `abstract`,`override`,`private`,`protected`,`readonly`,`static` - matches any member explicitly declared with the given modifier. - - `async` - matches any method, function, or function variable which is async via the `async` keyword (e.g. does not match functions that return promises without using `async` keyword) - - `const` - matches a variable declared as being `const` (`const x = 1`). - - `destructured` - matches a variable declared via an object destructuring pattern (`const {x, z = 2}`). - - Note that this does not match renamed destructured properties (`const {x: y, a: b = 2}`). - - `exported` - matches anything that is exported from the module. - - `global` - matches a variable/function declared in the top-level scope. - - `#private` - matches any member with a private identifier (an identifier that starts with `#`) - - `public` - matches any member that is either explicitly declared as `public`, or has no visibility modifier (i.e. implicitly public). - - `requiresQuotes` - matches any name that requires quotes as it is not a valid identifier (i.e. has a space, a dash, etc in it). - - `unused` - matches anything that is not used. -- `types` allows you to specify which types to match. This option supports simple, primitive types only (`array`,`boolean`,`function`,`number`,`string`). - - The name must match _one_ of the types. - - **_NOTE - Using this option will require that you lint with type information._** - - For example, this lets you do things like enforce that `boolean` variables are prefixed with a verb. - - The following `types` are allowed: - - `array` matches any type assignable to `Array | null | undefined` - - `boolean` matches any type assignable to `boolean | null | undefined` - - `function` matches any type assignable to `Function | null | undefined` - - `number` matches any type assignable to `number | null | undefined` - - `string` matches any type assignable to `string | null | undefined` - -The ordering of selectors does not matter. The implementation will automatically sort the selectors to ensure they match from most-specific to least specific. It will keep checking selectors in that order until it finds one that matches the name. See ["How does the rule automatically order selectors?"](#how-does-the-rule-automatically-order-selectors) - -#### Allowed Selectors, Modifiers and Types - -There are two types of selectors, individual selectors, and grouped selectors. - -##### Individual Selectors - -Individual Selectors match specific, well-defined sets. There is no overlap between each of the individual selectors. - -- `classicAccessor` - matches any accessor. It refers to the methods attached to `get` and `set` syntax. - - Allowed `modifiers`: `abstract`, `override`, `private`, `protected`, `public`, `requiresQuotes`, `static`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `autoAccessor` - matches any auto-accessor. An auto-accessor is just a class field starting with an `accessor` keyword. - - Allowed `modifiers`: `abstract`, `override`, `private`, `protected`, `public`, `requiresQuotes`, `static`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `class` - matches any class declaration. - - Allowed `modifiers`: `abstract`, `exported`, `unused`. - - Allowed `types`: none. -- `classMethod` - matches any class method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors. - - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `requiresQuotes`, `static`. - - Allowed `types`: none. -- `classProperty` - matches any class property. Does not match properties that have direct function expression or arrow function expression values. - - Allowed `modifiers`: `abstract`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `enum` - matches any enum declaration. - - Allowed `modifiers`: `exported`, `unused`. - - Allowed `types`: none. -- `enumMember` - matches any enum member. - - Allowed `modifiers`: `requiresQuotes`. - - Allowed `types`: none. -- `function` - matches any named function declaration or named function expression. - - Allowed `modifiers`: `async`, `exported`, `global`, `unused`. - - Allowed `types`: none. -- `import` - matches namespace imports and default imports (i.e. does not match named imports). - - Allowed `modifiers`: `default`, `namespace`. - - Allowed `types`: none. -- `interface` - matches any interface declaration. - - Allowed `modifiers`: `exported`, `unused`. - - Allowed `types`: none. -- `objectLiteralMethod` - matches any object literal method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors. - - Allowed `modifiers`: `async`, `public`, `requiresQuotes`. - - Allowed `types`: none. -- `objectLiteralProperty` - matches any object literal property. Does not match properties that have direct function expression or arrow function expression values. - - Allowed `modifiers`: `public`, `requiresQuotes`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `parameter` - matches any function parameter. Does not match parameter properties. - - Allowed `modifiers`: `destructured`, `unused`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `parameterProperty` - matches any parameter property. - - Allowed `modifiers`: `private`, `protected`, `public`, `readonly`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `typeAlias` - matches any type alias declaration. - - Allowed `modifiers`: `exported`, `unused`. - - Allowed `types`: none. -- `typeMethod` - matches any object type method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors. - - Allowed `modifiers`: `public`, `requiresQuotes`. - - Allowed `types`: none. -- `typeParameter` - matches any generic type parameter declaration. - - Allowed `modifiers`: `unused`. - - Allowed `types`: none. -- `typeProperty` - matches any object type property. Does not match properties that have direct function expression or arrow function expression values. - - Allowed `modifiers`: `public`, `readonly`, `requiresQuotes`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `variable` - matches any `const` / `let` / `var` variable name. - - Allowed `modifiers`: `async`, `const`, `destructured`, `exported`, `global`, `unused`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. - -##### Group Selectors - -Group Selectors are provided for convenience, and essentially bundle up sets of individual selectors. - -- `default` - matches everything. - - Allowed `modifiers`: all modifiers. - - Allowed `types`: none. -- `accessor` - matches the same as `classicAccessor` and `autoAccessor`. - - Allowed `modifiers`: `abstract`, `override`, `private`, `protected`, `public`, `requiresQuotes`, `static`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `memberLike` - matches the same as `classicAccessor`, `autoAccessor`, `enumMember`, `method`, `parameterProperty`, `property`. - - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`. - - Allowed `types`: none. -- `method` - matches the same as `classMethod`, `objectLiteralMethod`, `typeMethod`. - - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`. - - Allowed `types`: none. -- `property` - matches the same as `classProperty`, `objectLiteralProperty`, `typeProperty`. - - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`. - - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`. -- `typeLike` - matches the same as `class`, `enum`, `interface`, `typeAlias`, `typeParameter`. - - Allowed `modifiers`: `abstract`, `unused`. - - Allowed `types`: none. -- `variableLike` - matches the same as `function`, `parameter` and `variable`. - - Allowed `modifiers`: `async`, `unused`. - - Allowed `types`: none. - -## FAQ - -This is a big rule, and there's a lot of docs. Here are a few clarifications that people often ask about or figure out via trial-and-error. - -### How does the rule evaluate a selector? - -Each selector is checked in the following way: - -1. check the `filter` - 1. if `filter` is omitted → skip this step. - 2. if the name matches the `filter` → continue evaluating this selector. - 3. if the name does not match the `filter` → skip this selector and continue to the next selector. -2. check the `selector` - 1. if `selector` is one individual selector → the name's type must be of that type. - 2. if `selector` is a group selector → the name's type must be one of the grouped types. - 3. if `selector` is an array of selectors → apply the above for each selector in the array. -3. check the `types` - 1. if `types` is omitted → skip this step. - 2. if the name has a type in `types` → continue evaluating this selector. - 3. if the name does not have a type in `types` → skip this selector and continue to the next selector. - -A name is considered to pass the config if it: - -1. Matches one selector and passes all of that selector's format checks. -2. Matches no selectors. - -A name is considered to fail the config if it matches one selector and fails one that selector's format checks. - -### How does the rule automatically order selectors? - -Each identifier should match exactly one selector. It may match multiple group selectors - but only ever one selector. -With that in mind - the base sort order works out to be: - -1. Individual Selectors -2. Grouped Selectors -3. Default Selector - -Within each of these categories, some further sorting occurs based on what selector options are supplied: - -1. `filter` is given the highest priority above all else. -2. `types` -3. `modifiers` -4. everything else - -For example, if you provide the following config: - -```ts -[ - /* 1 */ { selector: 'default', format: ['camelCase'] }, - /* 2 */ { selector: 'variable', format: ['snake_case'] }, - /* 3 */ { selector: 'variable', types: ['boolean'], format: ['UPPER_CASE'] }, - /* 4 */ { selector: 'variableLike', format: ['PascalCase'] }, -]; -``` - -Then for the code `const x = 1`, the rule will validate the selectors in the following order: `3`, `2`, `4`, `1`. -To clearly spell it out: - -- (3) is tested first because it has `types` and is an individual selector. -- (2) is tested next because it is an individual selector. -- (4) is tested next as it is a grouped selector. -- (1) is tested last as it is the base default selector. - -Its worth noting that whilst this order is applied, all selectors may not run on a name. -This is explained in ["How does the rule evaluate a name's format?"](#how-does-the-rule-evaluate-a-names-format) - -### How does the rule evaluate a name's format? - -When the format of an identifier is checked, it is checked in the following order: - -1. validate leading underscore -1. validate trailing underscore -1. validate prefix -1. validate suffix -1. validate custom -1. validate format - -For steps 1-4, if the identifier matches the option, the matching part will be removed. -This is done so that you can apply formats like PascalCase without worrying about prefixes or underscores causing it to not match. - -One final note is that if the name were to become empty via this trimming process, it is considered to match all `format`s. An example of where this might be useful is for generic type parameters, where you want all names to be prefixed with `T`, but also want to allow for the single character `T` name. - -Here are some examples to help illustrate - -Name: `_IMyInterface` -Selector: - -```json -{ - "leadingUnderscore": "require", - "prefix": ["I"], - "format": ["UPPER_CASE", "StrictPascalCase"] -} -``` - -1. `name = _IMyInterface` -1. validate leading underscore - 1. config is provided - 1. check name → pass - 1. Trim underscore → `name = IMyInterface` -1. validate trailing underscore - 1. config is not provided → skip -1. validate prefix - 1. config is provided - 1. check name → pass - 1. Trim prefix → `name = MyInterface` -1. validate suffix - 1. config is not provided → skip -1. validate custom - 1. config is not provided → skip -1. validate format - 1. for each format... - 1. `format = 'UPPER_CASE'` - 1. check format → fail. - - Important to note that if you supply multiple formats - the name only needs to match _one_ of them! - 1. `format = 'StrictPascalCase'` - 1. check format → success. -1. **_success_** - -Name: `IMyInterface` -Selector: - -```json -{ - "format": ["StrictPascalCase"], - "trailingUnderscore": "allow", - "custom": { - "regex": "^I[A-Z]", - "match": false - } -} -``` - -1. `name = IMyInterface` -1. validate leading underscore - 1. config is not provided → skip -1. validate trailing underscore - 1. config is provided - 1. check name → pass - 1. Trim underscore → `name = IMyInterface` -1. validate prefix - 1. config is not provided → skip -1. validate suffix - 1. config is not provided → skip -1. validate custom - 1. config is provided - 1. `regex = new RegExp("^I[A-Z]")` - 1. `regex.test(name) === custom.match` - 1. **_fail_** → report and exit - -### What happens if I provide a `modifiers` to a Group Selector? - -Some group selectors accept `modifiers`. For the most part these will work exactly the same as with individual selectors. -There is one exception to this in that a modifier might not apply to all individual selectors covered by a group selector. - -For example - `memberLike` includes the `enumMember` selector, and it allows the `protected` modifier. -An `enumMember` can never ever be `protected`, which means that the following config will never match any `enumMember`: - -```json -{ - "selector": "memberLike", - "modifiers": ["protected"] -} -``` - -To help with matching, members that cannot specify an accessibility will always have the `public` modifier. This means that the following config will always match any `enumMember`: - -```json -{ - "selector": "memberLike", - "modifiers": ["public"] -} -``` - -## Examples - -### Enforce that all variables, functions and properties follow are camelCase - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { "selector": "variableLike", "format": ["camelCase"] } - ] -} -``` - -### Enforce that private members are prefixed with an underscore - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "memberLike", - "modifiers": ["private"], - "format": ["camelCase"], - "leadingUnderscore": "require" - } - ] -} -``` - -### Enforce that boolean variables are prefixed with an allowed verb - -**Note:** As [documented above](#format-options), the prefix is trimmed before format is validated, thus PascalCase must be used to allow variables such as `isEnabled`. - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "variable", - "types": ["boolean"], - "format": ["PascalCase"], - "prefix": ["is", "should", "has", "can", "did", "will"] - } - ] -} -``` - -### Enforce that all variables are either in camelCase or UPPER_CASE - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "variable", - "format": ["camelCase", "UPPER_CASE"] - } - ] -} -``` - -### Enforce that all const variables are in UPPER_CASE - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "variable", - "modifiers": ["const"], - "format": ["UPPER_CASE"] - } - ] -} -``` - -### Enforce that type parameters (generics) are prefixed with `T` - -This allows you to emulate the old `generic-type-naming` rule. - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "typeParameter", - "format": ["PascalCase"], - "prefix": ["T"] - } - ] -} -``` - -### Enforce that interface names do not begin with an `I` - -This allows you to emulate the old `interface-name-prefix` rule. - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "interface", - "format": ["PascalCase"], - "custom": { - "regex": "^I[A-Z]", - "match": false - } - } - ] -} -``` - -### Enforce that function names are either in camelCase or PascalCase - -Function names are typically camelCase, but UI library components (especially JSX, such as React and Solid) use PascalCase to distinguish them from intrinsic elements. If you are writing function components, consider allowing both camelCase and PascalCase for functions. - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "function", - "format": ["camelCase", "PascalCase"] - } - ] -} -``` - -### Enforce that variable and function names are in camelCase - -This allows you to lint multiple type with same pattern. - -```json -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": ["variable", "function"], - "format": ["camelCase"], - "leadingUnderscore": "allow" - } - ] -} -``` - -### Ignore properties that **_require_** quotes - -Sometimes you have to use a quoted name that breaks the convention (for example, HTTP headers). -If this is a common thing in your codebase, then you have a few options. - -If you simply want to allow all property names that require quotes, you can use the `requiresQuotes` modifier to match any property name that _requires_ quoting, and use `format: null` to ignore the name. - -```jsonc -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": [ - "classProperty", - "objectLiteralProperty", - "typeProperty", - "classMethod", - "objectLiteralMethod", - "typeMethod", - "accessor", - "enumMember", - ], - "format": null, - "modifiers": ["requiresQuotes"], - }, - ], -} -``` - -If you have a small and known list of exceptions, you can use the `filter` option to ignore these specific names only: - -```jsonc -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "property", - "format": ["strictCamelCase"], - "filter": { - // you can expand this regex to add more allowed names - "regex": "^(Property-Name-One|Property-Name-Two)$", - "match": false, - }, - }, - ], -} -``` - -You can use the `filter` option to ignore names with specific characters: - -```jsonc -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "property", - "format": ["strictCamelCase"], - "filter": { - // you can expand this regex as you find more cases that require quoting that you want to allow - "regex": "[- ]", - "match": false, - }, - }, - ], -} -``` - -Note that there is no way to ignore any name that is quoted - only names that are required to be quoted. -This is intentional - adding quotes around a name is not an escape hatch for proper naming. -If you want an escape hatch for a specific name - you should can use an [`eslint-disable` comment](https://eslint.org/docs/user-guide/configuring#disabling-rules-with-inline-comments). - -### Ignore destructured names - -Sometimes you might want to allow destructured properties to retain their original name, even if it breaks your naming convention. - -You can use the `destructured` modifier to match these names, and explicitly set `format: null` to apply no formatting: - -```jsonc -{ - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "variable", - "modifiers": ["destructured"], - "format": null, - }, - ], -} -``` - -### Enforce the codebase follows ESLint's `camelcase` conventions - -```json -{ - "camelcase": "off", - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "default", - "format": ["camelCase"] - }, - - { - "selector": "variable", - "format": ["camelCase", "UPPER_CASE"] - }, - { - "selector": "parameter", - "format": ["camelCase"], - "leadingUnderscore": "allow" - }, - - { - "selector": "memberLike", - "modifiers": ["private"], - "format": ["camelCase"], - "leadingUnderscore": "require" - }, - - { - "selector": "typeLike", - "format": ["PascalCase"] - } - ] -} -``` - -## When Not To Use It - -This rule can be very strict. -If you don't have strong needs for enforcing naming conventions, we recommend using it only to flag very egregious violations of your naming standards. -Consider documenting your naming conventions and enforcing them in code review if you have processes like that. - -If you do not want to enforce naming conventions for anything, you can disable this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend that if you care about naming conventions, pick a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.mdx deleted file mode 100644 index d2349186..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.mdx +++ /dev/null @@ -1,35 +0,0 @@ ---- -description: 'Disallow generic `Array` constructors.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-array-constructor** for documentation. - -This rule extends the base [`eslint/no-array-constructor`](https://eslint.org/docs/rules/no-array-constructor) rule. -It adds support for the generically typed `Array` constructor (`new Array()`). - - - - -```ts -Array(0, 1, 2); -new Array(0, 1, 2); -``` - - - - -```ts -Array(0, 1, 2); -new Array(x, y, z); - -Array(500); -new Array(someOtherArray.length); -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-delete.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-delete.mdx deleted file mode 100644 index 38e170fc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-delete.mdx +++ /dev/null @@ -1,44 +0,0 @@ ---- -description: 'Disallow using the `delete` operator on array values.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-array-delete** for documentation. - -When using the `delete` operator with an array value, the array's `length` property is not affected, -but the element at the specified index is removed and leaves an empty slot in the array. -This is likely to lead to unexpected behavior. As mentioned in the -[MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete#deleting_array_elements), -the recommended way to remove an element from an array is by using the -[`Array#splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) method. - -## Examples - - - - -```ts -declare const arr: number[]; - -delete arr[0]; -``` - - - - -```ts -declare const arr: number[]; - -arr.splice(0, 1); -``` - - - - -## When Not To Use It - -When you want to allow the delete operator with array expressions. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.mdx deleted file mode 100644 index 8097ca8b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.mdx +++ /dev/null @@ -1,115 +0,0 @@ ---- -description: 'Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-base-to-string** for documentation. - -JavaScript will call `toString()` on an object when it is converted to a string, such as when concatenated with a string (`expr + ''`), when interpolated into template literals (`${expr}`), or when passed as an argument to the String constructor (`String(expr)`). -The default Object `.toString()` and `toLocaleString()` use the format `"[object Object]"`, which is often not what was intended. -This rule reports on stringified values that aren't primitives and don't define a more useful `.toString()` or `toLocaleString()` method. - -> Note that `Function` provides its own `.toString()` and `toLocaleString()` that return the function's code. -> Functions are not flagged by this rule. - -## Examples - - - - -```ts -// Passing an object or class instance to string concatenation: -'' + {}; - -class MyClass {} -const value = new MyClass(); -value + ''; - -// Interpolation and manual .toString() and `toLocaleString()` calls too: -`Value: ${value}`; -String({}); -({}).toString(); -({}).toLocaleString(); - -// Stringifying objects or instances in an array with the `Array.prototype.join`. -[{}, new MyClass()].join(''); -``` - - - - -```ts -// These types all have useful .toString() and `toLocaleString()` methods -'Text' + true; -`Value: ${123}`; -`Arrays too: ${[1, 2, 3]}`; -(() => {}).toString(); -String(42); -(() => {}).toLocaleString(); - -// Defining a custom .toString class is considered acceptable -class CustomToString { - toString() { - return 'Hello, world!'; - } -} -`Value: ${new CustomToString()}`; - -const literalWithToString = { - toString: () => 'Hello, world!', -}; - -`Value: ${literalWithToString}`; -``` - - - - -## Alternatives - -Consider using `JSON.stringify` when you want to convert non-primitive things to string for logging, debugging, etc. - -```typescript -declare const o: object; -const errorMessage = 'Found unexpected value: ' + JSON.stringify(o); -``` - -## Options - -### `ignoredTypeNames` - -{/* insert option description */} - -This is useful for types missing `toString()` or `toLocaleString()` (but actually has `toString()` or `toLocaleString()`). -There are some types missing `toString()` or `toLocaleString()` in old versions of TypeScript, like `RegExp`, `URL`, `URLSearchParams` etc. - -The following patterns are considered correct with the default options `{ ignoredTypeNames: ["RegExp"] }`: - -```ts option='{ "ignoredTypeNames": ["RegExp"] }' showPlaygroundButton -`${/regex/}`; -'' + /regex/; -/regex/.toString(); -let value = /regex/; -value.toString(); -let text = `${value}`; -String(/regex/); -``` - -## When Not To Use It - -If you don't mind a risk of `"[object Object]"` or incorrect type coercions in your values, then you will not need this rule. - -## Related To - -- [`restrict-plus-operands`](./restrict-plus-operands.mdx) -- [`restrict-template-expressions`](./restrict-template-expressions.mdx) - -## Further Reading - -- [`Object.prototype.toString()` MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) -- [`Object.prototype.toLocaleString()` MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString) -- [Microsoft/TypeScript Add missing toString declarations for base types that have them](https://github.com/microsoft/TypeScript/issues/38347) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.mdx deleted file mode 100644 index 01a47a9d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.mdx +++ /dev/null @@ -1,75 +0,0 @@ ---- -description: 'Disallow non-null assertion in locations that may be confusing.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-confusing-non-null-assertion** for documentation. - -Using a non-null assertion (`!`) next to an assignment or equality check (`=` or `==` or `===`) creates code that is confusing as it looks similar to an inequality check (`!=` `!==`). - -```typescript -a! == b; // a non-null assertion(`!`) and an equals test(`==`) -a !== b; // not equals test(`!==`) -a! === b; // a non-null assertion(`!`) and a triple equals test(`===`) -``` - -Using a non-null assertion (`!`) next to an in test (`in`) or an instanceof test (`instanceof`) creates code that is confusing since it may look like the operator is negated, but it is actually not. - -{/* prettier-ignore */} -```typescript -a! in b; // a non-null assertion(`!`) and an in test(`in`) -a !in b; // also a non-null assertion(`!`) and an in test(`in`) -!(a in b); // a negated in test - -a! instanceof b; // a non-null assertion(`!`) and an instanceof test(`instanceof`) -a !instanceof b; // also a non-null assertion(`!`) and an instanceof test(`instanceof`) -!(a instanceof b); // a negated instanceof test -```` - -This rule flags confusing `!` assertions and suggests either removing them or wrapping the asserted expression in `()` parenthesis. - -## Examples - - - - -```ts -interface Foo { - bar?: string; - num?: number; -} - -const foo: Foo = getFoo(); -const isEqualsBar = foo.bar! == 'hello'; -const isEqualsNum = 1 + foo.num! == 2; -``` - - - - -{/* prettier-ignore */} -```ts -interface Foo { - bar?: string; - num?: number; -} - -const foo: Foo = getFoo(); -const isEqualsBar = foo.bar == 'hello'; -const isEqualsNum = (1 + foo.num!) == 2; -``` - - - - -## When Not To Use It - -If you don't care about this confusion, then you will not need this rule. - -## Further Reading - -- [`Issue: Easy misunderstanding: "! ==="`](https://github.com/microsoft/TypeScript/issues/37837) in [TypeScript repo](https://github.com/microsoft/TypeScript) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.mdx deleted file mode 100644 index 7f1c1c95..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.mdx +++ /dev/null @@ -1,154 +0,0 @@ ---- -description: 'Require expressions of type void to appear in statement position.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-confusing-void-expression** for documentation. - -`void` in TypeScript refers to a function return that is meant to be ignored. -Attempting to use a `void`-typed value, such as storing the result of a called function in a variable, is often a sign of a programmer error. -`void` can also be misleading for other developers even if used correctly. - -This rule prevents `void` type expressions from being used in misleading locations such as being assigned to a variable, provided as a function argument, or returned from a function. - -## Examples - - - - -```ts -// somebody forgot that `alert` doesn't return anything -const response = alert('Are you sure?'); -console.log(alert('Are you sure?')); - -// it's not obvious whether the chained promise will contain the response (fixable) -promise.then(value => window.postMessage(value)); - -// it looks like we are returning the result of `console.error` (fixable) -function doSomething() { - if (!somethingToDo) { - return console.error('Nothing to do!'); - } - - console.log('Doing a thing...'); -} -``` - - - - -```ts -// just a regular void function in a statement position -alert('Hello, world!'); - -// this function returns a boolean value so it's ok -const response = confirm('Are you sure?'); -console.log(confirm('Are you sure?')); - -// now it's obvious that `postMessage` doesn't return any response -promise.then(value => { - window.postMessage(value); -}); - -// now it's explicit that we want to log the error and return early -function doSomething() { - if (!somethingToDo) { - console.error('Nothing to do!'); - return; - } - - console.log('Doing a thing...'); -} - -// using logical expressions for their side effects is fine -cond && console.log('true'); -cond || console.error('false'); -cond ? console.log('true') : console.error('false'); -``` - - - - -## Options - -### `ignoreArrowShorthand` - -{/* insert option description */} - -Whether to ignore "shorthand" `() =>` arrow functions: those without `{ ... }` braces. - -It might be undesirable to wrap every arrow function shorthand expression. -Especially when using the Prettier formatter, which spreads such code across 3 lines instead of 1. - -Examples of additional **correct** code with this option enabled: - -```ts option='{ "ignoreArrowShorthand": true }' showPlaygroundButton -promise.then(value => window.postMessage(value)); -``` - -### `ignoreVoidOperator` - -{/* insert option description */} - -Whether to ignore returns that start with the `void` operator. - -It might be preferable to only use some distinct syntax -to explicitly mark the confusing but valid usage of void expressions. -This option allows void expressions which are explicitly wrapped in the `void` operator. -This can help avoid confusion among other developers as long as they are made aware of this code style. - -This option also changes the automatic fixes for common cases to use the `void` operator. -It also enables a suggestion fix to wrap the void expression with `void` operator for every problem reported. - -Examples of additional **correct** code with this option enabled: - -```ts option='{ "ignoreVoidOperator": true }' showPlaygroundButton -// now it's obvious that we don't expect any response -promise.then(value => void window.postMessage(value)); - -// now it's explicit that we don't want to return anything -function doSomething() { - if (!somethingToDo) { - return void console.error('Nothing to do!'); - } - - console.log('Doing a thing...'); -} - -// we are sure that we want to always log `undefined` -console.log(void alert('Hello, world!')); -``` - -### `ignoreVoidReturningFunctions` - -{/* insert option description */} - -Whether to ignore returns from functions with `void` return types when inside a function with a `void` return type. - -Some projects prefer allowing functions that explicitly return `void` to return `void` expressions. Doing so allows more writing more succinct functions. - -:::note -This is technically risky as the `void`-returning function might actually be returning a value not seen by the type system. -::: - -```ts option='{ "ignoreVoidReturningFunctions": true }' showPlaygroundButton -function foo(): void { - return console.log(); -} - -function onError(callback: () => void): void { - callback(); -} - -onError(() => console.log('oops')); -``` - -## When Not To Use It - -The return type of a function can be inspected by going to its definition or hovering over it in an IDE. -If you don't care about being explicit about the void type in actual code then don't use this rule. -Also, if you strongly prefer a concise coding style more strongly than any fear of `void`-related bugs then you can avoid this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-deprecated.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-deprecated.mdx deleted file mode 100644 index d5e51132..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-deprecated.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -description: 'Disallow using code marked as `@deprecated`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-deprecated** for documentation. - -The [JSDoc `@deprecated` tag](https://jsdoc.app/tags-deprecated) can be used to document some piece of code being deprecated. -It's best to avoid using code marked as deprecated. -This rule reports on any references to code marked as `@deprecated`. - -:::note -[TypeScript recognizes the `@deprecated` tag](https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#deprecated), allowing editors to visually indicate deprecated code — usually with a ~strikethrough~. -However, TypeScript doesn't report type errors for deprecated code on its own. -::: - -## Examples - - - - -```ts -/** @deprecated Use apiV2 instead. */ -declare function apiV1(): Promise; - -declare function apiV2(): Promise; - -await apiV1(); -``` - -```ts -import { parse } from 'node:url'; - -// 'parse' is deprecated. Use the WHATWG URL API instead. -const url = parse('/foo'); -``` - - - - -```ts -/** @deprecated Use apiV2 instead. */ -declare function apiV1(): Promise; - -declare function apiV2(): Promise; - -await apiV2(); -``` - -```ts -// Modern Node.js API, uses `new URL()` -const url2 = new URL('/foo', 'http://www.example.com'); -``` - - - - -## When Not To Use It - -If portions of your project heavily use deprecated APIs and have no plan for moving to non-deprecated ones, you might want to disable this rule in those portions. - -## Related To - -- [`import/no-deprecated`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-deprecated.md) and [`import-x/no-deprecated`](https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-deprecated.md): Does not use type information, but does also support [TomDoc](http://tomdoc.org) -- [`eslint-plugin-deprecation`](https://github.com/gund/eslint-plugin-deprecation) ([`deprecation/deprecation`](https://github.com/gund/eslint-plugin-deprecation?tab=readme-ov-file#rules)): Predecessor to this rule in a separate plugin diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.mdx deleted file mode 100644 index 804479b2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -description: 'Disallow duplicate class members.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-dupe-class-members** for documentation. - -import TypeScriptOverlap from '@site/src/components/TypeScriptOverlap'; - - - -This rule extends the base [`eslint/no-dupe-class-members`](https://eslint.org/docs/rules/no-dupe-class-members) rule. -It adds support for TypeScript's method overload definitions. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.mdx deleted file mode 100644 index 65162a62..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -description: 'Disallow duplicate enum member values.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-duplicate-enum-values** for documentation. - -Although TypeScript supports duplicate enum member values, people usually expect members to have unique values within the same enum. Duplicate values can lead to bugs that are hard to track down. - -## Examples - -This rule disallows defining an enum with multiple members initialized to the same value. - -> This rule only enforces on enum members initialized with string or number literals. -> Members without an initializer or initialized with an expression are not checked by this rule. - - - - -```ts -enum E { - A = 0, - B = 0, -} -``` - -```ts -enum E { - A = 'A', - B = 'A', -} -``` - - - - -```ts -enum E { - A = 0, - B = 1, -} -``` - -```ts -enum E { - A = 'A', - B = 'B', -} -``` - - - - -## When Not To Use It - -It can sometimes be useful to include duplicate enum members for very specific use cases. -For example, when renaming an enum member, it can sometimes be useful to keep the old name until a scheduled major breaking change. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -In general, if your project intentionally duplicates enum member values, you can avoid this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.mdx deleted file mode 100644 index 45ec178a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been deprecated in favour of the [`import/no-duplicates`](https://github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/no-duplicates.md) rule. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-type-constituents.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-type-constituents.mdx deleted file mode 100644 index dfd7d2d4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-type-constituents.mdx +++ /dev/null @@ -1,89 +0,0 @@ ---- -description: 'Disallow duplicate constituents of union or intersection types.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-duplicate-type-constituents** for documentation. - -TypeScript supports types ("constituents") within union and intersection types being duplicates of each other. -However, developers typically expect each constituent to be unique within its intersection or union. -Duplicate values make the code overly verbose and generally reduce readability. - -This rule disallows duplicate union or intersection constituents. -We consider types to be duplicate if they evaluate to the same result in the type system. -For example, given `type A = string` and `type T = string | A`, this rule would flag that `A` is the same type as `string`. - -This rule also disallows explicitly listing `undefined` in a type union when a function parameter is marked as optional. -Doing so is unnecessary. -Please note that this check only applies to parameters, not properties. -Therefore, it does not conflict with the [`exactOptionalPropertyTypes`](https://www.typescriptlang.org/tsconfig/#exactOptionalPropertyTypes) TypeScript compiler setting. - - - - -```ts -type T1 = 'A' | 'A'; - -type T2 = string | string | number; - -type T3 = { a: string } & { a: string }; - -type T4 = [1, 2, 3] | [1, 2, 3]; - -type StringA = string; -type StringB = string; -type T5 = StringA | StringB; - -const fn = (a?: string | undefined) => {}; -``` - - - - -```ts -type T1 = 'A' | 'B'; - -type T2 = string | number | boolean; - -type T3 = { a: string } & { b: string }; - -type T4 = [1, 2, 3] | [1, 2, 3, 4]; - -type StringA = string; -type NumberB = number; -type T5 = StringA | NumberB; - -const fn = (a?: string) => {}; -``` - - - - -## Options - -### `ignoreIntersections` - -{/* insert option description */} - -When set to true, duplicate checks on intersection type constituents are ignored. - -### `ignoreUnions` - -{/* insert option description */} - -When set to true, duplicate checks on union type constituents are ignored. - -## When Not To Use It - -It can sometimes be useful for the sake of documentation to include aliases for the same type. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -> In some of those cases, [branded types](https://basarat.gitbook.io/typescript/main-1/nominaltyping#using-interfaces) might be a type-safe way to represent the underlying data types. - -## Related To - -- [no-redundant-type-constituents](./no-redundant-type-constituents.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.mdx deleted file mode 100644 index 0bd7d414..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -description: 'Disallow using the `delete` operator on computed key expressions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-dynamic-delete** for documentation. - -Deleting dynamically computed keys can be dangerous and in some cases not well optimized. -Using the `delete` operator on keys that aren't runtime constants could be a sign that you're using the wrong data structures. -Consider using a `Map` or `Set` if you’re using an object as a key-value collection. - -Dynamically adding and removing keys from objects can cause occasional edge case bugs. For example, some objects use "hidden properties" (such as `__data`) for private storage, and deleting them can break the object's internal state. Furthermore, [`delete`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete) cannot remove inherited properties or non-configurable properties. This makes it interact badly with anything more complicated than a plain object: - -- The [`length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length) of an array is non-configurable, and deleting it is a runtime error. -- You can't remove properties on the prototype of an object, such as deleting methods from class instances. -- Sometimes, `delete` only removes the own property, leaving the inherited property intact. For example, deleting the [`name`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name) property of a function only removes the own property, but there's also a `Function.prototype.name` property that remains. - -## Examples - - - - -```ts -// Dynamic, difficult-to-reason-about lookups -const name = 'name'; -delete container[name]; -delete container[name.toUpperCase()]; -``` - - - - -```ts -const container: { [i: string]: number } = { - /* ... */ -}; - -// Constant runtime lookups by string index -delete container.aaa; - -// Constants that must be accessed by [] -delete container[7]; -delete container[-1]; - -// All strings are allowed, to be compatible with the noPropertyAccessFromIndexSignature -// TS compiler option -delete container['aaa']; -delete container['Infinity']; -``` - - - - -## When Not To Use It - -When you know your keys are safe to delete, this rule can be unnecessary. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -Do not consider this rule as performance advice before profiling your code's bottlenecks. -Even repeated minor performance slowdowns likely do not significantly affect your application's general perceived speed. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.mdx deleted file mode 100644 index 9da88ae0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.mdx +++ /dev/null @@ -1,95 +0,0 @@ ---- -description: 'Disallow empty functions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-empty-function** for documentation. - -This rule extends the base [`eslint/no-empty-function`](https://eslint.org/docs/rules/no-empty-function) rule. -It adds support for handling TypeScript specific code that would otherwise trigger the rule. - -One example of valid TypeScript specific code that would otherwise trigger the `no-empty-function` rule is the use of [parameter properties](https://www.typescriptlang.org/docs/handbook/classes.html#parameter-properties) in constructor functions. - -## Options - -This rule adds the following options: - -```ts -type AdditionalAllowOptionEntries = - | 'private-constructors' - | 'protected-constructors' - | 'decoratedFunctions' - | 'overrideMethods'; - -type AllowOptionEntries = - | BaseNoEmptyFunctionAllowOptionEntries - | AdditionalAllowOptionEntries; - -interface Options extends BaseNoEmptyFunctionOptions { - allow?: Array; -} -const defaultOptions: Options = { - ...baseNoEmptyFunctionDefaultOptions, - allow: [], -}; -``` - -### allow: `private-constructors` - -Examples of correct code for the `{ "allow": ["private-constructors"] }` option: - -```ts option='{ "allow": ["private-constructors"] }' showPlaygroundButton -class Foo { - private constructor() {} -} -``` - -### allow: `protected-constructors` - -Examples of correct code for the `{ "allow": ["protected-constructors"] }` option: - -```ts option='{ "allow": ["protected-constructors"] }' showPlaygroundButton -class Foo { - protected constructor() {} -} -``` - -### allow: `decoratedFunctions` - -Examples of correct code for the `{ "allow": ["decoratedFunctions"] }` option: - -```ts option='{ "allow": ["decoratedFunctions"] }' showPlaygroundButton -class Foo { - @decorator() - foo() {} -} -``` - -### allow: `overrideMethods` - -Examples of correct code for the `{ "allow": ["overrideMethods"] }` option: - -```ts option='{ "allow": ["overrideMethods"] }' showPlaygroundButton -abstract class Base { - protected greet(): void { - console.log('Hello!'); - } -} - -class Foo extends Base { - protected override greet(): void {} -} -``` - -## When Not To Use It - -If you are working with external APIs that require functions even if they do nothing, then you may want to avoid this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -Test code often violates this rule as well. -If your testing setup doesn't support "mock" or "spy" functions such as [`jest.fn()`](https://jestjs.io/docs/mock-functions), [`sinon.spy()`](https://sinonjs.org/releases/latest/spies), or [`vi.fn()`](https://vitest.dev/guide/mocking.html), you may wish to disable this rule in test files. -Again, if those cases aren't extremely common, you might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule in test files. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.mdx deleted file mode 100644 index 4eeb2f32..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.mdx +++ /dev/null @@ -1,75 +0,0 @@ ---- -description: 'Disallow the declaration of empty interfaces.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-empty-interface** for documentation. - -:::danger Deprecated - -This rule has been deprecated in favour of the more comprehensive [`@typescript-eslint/no-empty-object-type`](./no-empty-object-type.mdx) rule. - -::: - -An empty interface in TypeScript does very little: any non-nullable value is assignable to `{}`. -Using an empty interface is often a sign of programmer error, such as misunderstanding the concept of `{}` or forgetting to fill in fields. - -This rule aims to ensure that only meaningful interfaces are declared in the code. - -## Examples - - - - -```ts -// an empty interface -interface Foo {} - -// an interface with only one supertype (Bar === Foo) -interface Bar extends Foo {} - -// an interface with an empty list of supertypes -interface Baz {} -``` - - - - -```ts -// an interface with any number of members -interface Foo { - name: string; -} - -// same as above -interface Bar { - age: number; -} - -// an interface with more than one supertype -// in this case the interface can be used as a replacement of an intersection type. -interface Baz extends Foo, Bar {} -``` - - - - -## Options - -### `allowSingleExtends` - -{/* insert option description */} - -`allowSingleExtends: true` will silence warnings about extending a single interface without adding additional members. - -## When Not To Use It - -If you don't care about having empty/meaningless interfaces, then you will not need this rule. - -## Related To - -- [`no-empty-object-type`](./no-empty-object-type.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-object-type.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-object-type.mdx deleted file mode 100644 index b1ed390a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-object-type.mdx +++ /dev/null @@ -1,150 +0,0 @@ ---- -description: 'Disallow accidentally using the "empty object" type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-empty-object-type** for documentation. - -The `{}`, or "empty object" type in TypeScript is a common source of confusion for developers unfamiliar with TypeScript's structural typing. -`{}` represents any _non-nullish value_, including literals like `0` and `""`: - -```ts -let anyNonNullishValue: {} = 'Intentionally allowed by TypeScript.'; -``` - -Often, developers writing `{}` actually mean either: - -- `object`: representing any _object_ value -- `unknown`: representing any value at all, including `null` and `undefined` - -In other words, the "empty object" type `{}` really means _"any value that is defined"_. -That includes arrays, class instances, functions, and primitives such as `string` and `symbol`. - -To avoid confusion around the `{}` type allowing any _non-nullish value_, this rule bans usage of the `{}` type. -That includes interfaces and object type aliases with no fields. - -:::tip -If you do have a use case for an API allowing `{}`, you can always configure the [rule's options](#options), use an [ESLint disable comment](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1), or [disable the rule in your ESLint config](https://eslint.org/docs/latest/use/configure/rules#using-configuration-files-1). -::: - -Note that this rule does not report on: - -- `{}` as a type constituent in an intersection type (e.g. types like TypeScript's built-in `type NonNullable = T & {}`), as this can be useful in type system operations. -- Interfaces that extend from multiple other interfaces. - -## Examples - - - - -```ts -let anyObject: {}; -let anyValue: {}; - -interface AnyObjectA {} -interface AnyValueA {} - -type AnyObjectB = {}; -type AnyValueB = {}; -``` - - - - -```ts -let anyObject: object; -let anyValue: unknown; - -type AnyObjectA = object; -type AnyValueA = unknown; - -type AnyObjectB = object; -type AnyValueB = unknown; - -let objectWith: { property: boolean }; - -interface InterfaceWith { - property: boolean; -} - -type TypeWith = { property: boolean }; -``` - - - - -## Options - -By default, this rule flags both interfaces and object types. - -### `allowInterfaces` - -{/* insert option description */} - -Allowed values are: - -- `'always'`: to always allow interfaces with no fields -- `'never'` _(default)_: to never allow interfaces with no fields -- `'with-single-extends'`: to allow empty interfaces that `extend` from a single base interface - -Examples of **correct** code for this rule with `{ allowInterfaces: 'with-single-extends' }`: - -```ts option='{ "allowInterfaces": "with-single-extends" }' showPlaygroundButton -interface Base { - value: boolean; -} - -interface Derived extends Base {} -``` - -### `allowObjectTypes` - -{/* insert option description */} - -Allowed values are: - -- `'always'`: to always allow object type literals with no fields -- `'never'` _(default)_: to never allow object type literals with no fields - -### `allowWithName` - -{/* insert option description */} - -This can be useful if your existing code style includes a pattern of declaring empty types with `{}` instead of `object`. - -Examples of code for this rule with `{ allowWithName: 'Props$' }`: - - - - -```ts option='{ "allowWithName": "Props$" }' showPlaygroundButton -interface InterfaceValue {} - -type TypeValue = {}; -``` - - - - -```ts option='{ "allowWithName": "Props$" }' showPlaygroundButton -interface InterfaceProps {} - -type TypeProps = {}; -``` - - - - -## When Not To Use It - -If your code commonly needs to represent the _"any non-nullish value"_ type, this rule may not be for you. -Projects that extensively use type operations such as conditional types and mapped types oftentimes benefit from disabling this rule. - -## Further Reading - -- [Enhancement: [ban-types] Split the {} ban into a separate, better-phrased rule](https://github.com/typescript-eslint/typescript-eslint/issues/8700) -- [The Empty Object Type in TypeScript](https://www.totaltypescript.com/the-empty-object-type-in-typescript) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.mdx deleted file mode 100644 index 33b38292..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.mdx +++ /dev/null @@ -1,176 +0,0 @@ ---- -description: 'Disallow the `any` type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-explicit-any** for documentation. - -The `any` type in TypeScript is a dangerous "escape hatch" from the type system. -Using `any` disables many type checking rules and is generally best used only as a last resort or when prototyping code. -This rule reports on explicit uses of the `any` keyword as a type annotation. - -Preferable alternatives to `any` include: - -- If the type is known, describing it in an `interface` or `type` -- If the type is not known, using the safer `unknown` type - -> TypeScript's `--noImplicitAny` compiler option prevents an implied `any`, but doesn't prevent `any` from being explicitly used the way this rule does. - -## Examples - - - - -```ts -const age: any = 'seventeen'; -``` - -```ts -const ages: any[] = ['seventeen']; -``` - -```ts -const ages: Array = ['seventeen']; -``` - -```ts -function greet(): any {} -``` - -```ts -function greet(): any[] {} -``` - -```ts -function greet(): Array {} -``` - -```ts -function greet(): Array> {} -``` - -```ts -function greet(param: Array): string {} -``` - -```ts -function greet(param: Array): Array {} -``` - - - - -```ts -const age: number = 17; -``` - -```ts -const ages: number[] = [17]; -``` - -```ts -const ages: Array = [17]; -``` - -```ts -function greet(): string {} -``` - -```ts -function greet(): string[] {} -``` - -```ts -function greet(): Array {} -``` - -```ts -function greet(): Array> {} -``` - -```ts -function greet(param: Array): string {} -``` - -```ts -function greet(param: Array): Array {} -``` - - - - -## Options - -### `fixToUnknown` - -{/* insert option description */} - -By default, this rule will not provide automatic ESLint _fixes_: only opt-in _suggestions_. -Switching types to `unknown` is safer but is likely to cause additional type errors. - -Enabling `{ "fixToUnknown": true }` gives the rule an auto-fixer to replace `: any` with `: unknown`. - -### `ignoreRestArgs` - -{/* insert option description */} - -The examples below are **incorrect** when `{ignoreRestArgs: false}`, but **correct** when `{ignoreRestArgs: true}`. - -```ts option='{ "ignoreRestArgs": false }' showPlaygroundButton -function foo1(...args: any[]): void {} -function foo2(...args: readonly any[]): void {} -function foo3(...args: Array): void {} -function foo4(...args: ReadonlyArray): void {} - -declare function bar(...args: any[]): void; - -const baz = (...args: any[]) => {}; -const qux = function (...args: any[]) {}; - -type Quux = (...args: any[]) => void; -type Quuz = new (...args: any[]) => void; - -interface Grault { - (...args: any[]): void; -} -interface Corge { - new (...args: any[]): void; -} -interface Garply { - f(...args: any[]): void; -} -``` - -## When Not To Use It - -`any` is always a dangerous escape hatch. -Whenever possible, it is always safer to avoid it. -TypeScript's `unknown` is almost always preferable to `any`. - -However, there are occasional situations where it can be necessary to use `any`. -Most commonly: - -- If your project isn't fully onboarded to TypeScript yet, `any` can be temporarily used in places where types aren't yet known or representable -- If an external package doesn't yet have typings and you want to use `any` pending adding a `.d.ts` for it -- You're working with particularly complex or nuanced code that can't yet be represented in the TypeScript type system - -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-unsafe-argument`](./no-unsafe-argument.mdx) -- [`no-unsafe-assignment`](./no-unsafe-assignment.mdx) -- [`no-unsafe-call`](./no-unsafe-call.mdx) -- [`no-unsafe-member-access`](./no-unsafe-member-access.mdx) -- [`no-unsafe-return`](./no-unsafe-return.mdx) - -## Further Reading - -- TypeScript [`any` type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any) -- TypeScript's [`unknown` type](https://www.typescriptlang.org/docs/handbook/2/functions.html#unknown) -- TypeScript [`any` type documentation](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#any) -- TypeScript [`unknown` type release notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html#new-unknown-top-type) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.mdx deleted file mode 100644 index 5f108b7c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -description: 'Disallow extra non-null assertions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-extra-non-null-assertion** for documentation. - -The `!` non-null assertion operator in TypeScript is used to assert that a value's type does not include `null` or `undefined`. -Using the operator any more than once on a single value does nothing. - -## Examples - - - - -```ts -const foo: { bar: number } | null = null; -const bar = foo!!!.bar; -``` - -```ts -function foo(bar: number | undefined) { - const bar: number = bar!!!; -} -``` - -```ts -function foo(bar?: { n: number }) { - return bar!?.n; -} -``` - - - - -```ts -const foo: { bar: number } | null = null; -const bar = foo!.bar; -``` - -```ts -function foo(bar: number | undefined) { - const bar: number = bar!; -} -``` - -```ts -function foo(bar?: { n: number }) { - return bar?.n; -} -``` - - - - -{/* Intentionally Omitted: When Not To Use It */} diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.mdx deleted file mode 100644 index b6639b5a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.mdx +++ /dev/null @@ -1,329 +0,0 @@ ---- -description: 'Disallow classes used as namespaces.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-extraneous-class** for documentation. - -This rule reports when a class has no non-static members, such as for a class used exclusively as a static namespace. - -Users who come from a [OOP](https://en.wikipedia.org/wiki/Object-oriented_programming) paradigm may wrap their utility functions in an extra class, instead of putting them at the top level of an ECMAScript module. -Doing so is generally unnecessary in JavaScript and TypeScript projects. - -- Wrapper classes add extra cognitive complexity to code without adding any structural improvements - - Whatever would be put on them, such as utility functions, are already organized by virtue of being in a module. - - As an alternative, you can `import * as ...` the module to get all of them in a single object. -- IDEs can't provide as good suggestions for static class or namespace imported properties when you start typing property names -- It's more difficult to statically analyze code for unused variables, etc. when they're all on the class (see: [Finding dead code (and dead types) in TypeScript](https://effectivetypescript.com/2020/10/20/tsprune)). - -This rule also reports classes that have only a constructor and no fields. -Those classes can generally be replaced with a standalone function. - -## Examples - - - - -```ts -class StaticConstants { - static readonly version = 42; - - static isProduction() { - return process.env.NODE_ENV === 'production'; - } -} - -class HelloWorldLogger { - constructor() { - console.log('Hello, world!'); - } -} - -abstract class Foo {} -``` - - - - -```ts -export const version = 42; - -export function isProduction() { - return process.env.NODE_ENV === 'production'; -} - -function logHelloWorld() { - console.log('Hello, world!'); -} - -abstract class Foo { - abstract prop: string; -} -``` - - - - -## Alternatives - -### Individual Exports (Recommended) - -Instead of using a static utility class we recommend you individually export the utilities from your module. - - - - -```ts -export class Utilities { - static util1() { - return Utilities.util3(); - } - - static util2() { - /* ... */ - } - - static util3() { - /* ... */ - } -} -``` - - - - -```ts -export function util1() { - return util3(); -} - -export function util2() { - /* ... */ -} - -export function util3() { - /* ... */ -} -``` - - - - -### Namespace Imports (Not Recommended) - -If you strongly prefer to have all constructs from a module available as properties of a single object, you can `import * as` the module. -This is known as a "namespace import". -Namespace imports are sometimes preferable because they keep all properties nested and don't need to be changed as you start or stop using various properties from the module. - -However, namespace imports are impacted by these downsides: - -- They also don't play as well with tree shaking in modern bundlers -- They require a name prefix before each property's usage - - - - -```ts -// utilities.ts -export class Utilities { - static sayHello() { - console.log('Hello, world!'); - } -} - -// consumers.ts -import { Utilities } from './utilities'; - -Utilities.sayHello(); -``` - - - - -```ts -// utilities.ts -export function sayHello() { - console.log('Hello, world!'); -} - -// consumers.ts -import * as utilities from './utilities'; - -utilities.sayHello(); -``` - - - - -```ts -// utilities.ts -export function sayHello() { - console.log('Hello, world!'); -} - -// consumers.ts -import { sayHello } from './utilities'; - -sayHello(); -``` - - - - -### Notes on Mutating Variables - -One case you need to be careful of is exporting mutable variables. -While class properties can be mutated externally, exported variables are always constant. -This means that importers can only ever read the first value they are assigned and cannot write to the variables. - -Needing to write to an exported variable is very rare and is generally considered a code smell. -If you do need it you can accomplish it using getter and setter functions: - - - - -```ts -export class Utilities { - static mutableCount = 1; - - static incrementCount() { - Utilities.mutableCount += 1; - } -} -``` - - - - -```ts -let mutableCount = 1; - -export function getMutableCount() { - return mutableField; -} - -export function incrementCount() { - mutableField += 1; -} -``` - - - - -## Options - -This rule normally bans classes that are empty (have no constructor or fields). -The rule's options each add an exemption for a specific type of class. - -### `allowConstructorOnly` - -{/* insert option description */} - - - - -```ts option='{ "allowConstructorOnly": true }' -class NoFields {} -``` - - - - -```ts option='{ "allowConstructorOnly": true }' -class NoFields { - constructor() { - console.log('Hello, world!'); - } -} -``` - - - - -### `allowEmpty` - -{/* insert option description */} - - - - -```ts option='{ "allowEmpty": true }' -class NoFields { - constructor() { - console.log('Hello, world!'); - } -} -``` - - - - -```ts option='{ "allowEmpty": true }' -class NoFields {} -``` - - - - -### `allowStaticOnly` - -{/* insert option description */} - -:::caution -We strongly recommend against the `allowStaticOnly` exemption. -It works against this rule's primary purpose of discouraging classes used only for static members. -::: - - - - -```ts option='{ "allowStaticOnly": true }' -class EmptyClass {} -``` - - - - -```ts option='{ "allowStaticOnly": true }' -class NotEmptyClass { - static version = 42; -} -``` - - - - -### `allowWithDecorator` - -{/* insert option description */} - - - - -```ts option='{ "allowWithDecorator": true }' -class Constants { - static readonly version = 42; -} -``` - - - - -```ts option='{ "allowWithDecorator": true }' -@logOnRead() -class Constants { - static readonly version = 42; -} -``` - - - - -## When Not To Use It - -If your project was set up before modern class and namespace practices, and you don't have the time to switch over, you might not be practically able to use this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.mdx deleted file mode 100644 index 12bf7465..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.mdx +++ /dev/null @@ -1,282 +0,0 @@ ---- -description: 'Require Promise-like statements to be handled appropriately.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-floating-promises** for documentation. - -A "floating" Promise is one that is created without any code set up to handle any errors it might throw. -Floating Promises can cause several issues, such as improperly sequenced operations, ignored Promise rejections, and more. - -This rule will report Promise-valued statements that are not treated in one of the following ways: - -- Calling its `.then()` with two arguments -- Calling its `.catch()` with one argument -- `await`ing it -- `return`ing it -- [`void`ing it](#ignorevoid) - -This rule also reports when an Array containing Promises is created and not properly handled. The main way to resolve this is by using one of the Promise concurrency methods to create a single Promise, then handling that according to the procedure above. These methods include: - -- `Promise.all()` -- `Promise.allSettled()` -- `Promise.any()` -- `Promise.race()` - -:::tip -`no-floating-promises` only detects apparently unhandled Promise _statements_. -See [`no-misused-promises`](./no-misused-promises.mdx) for detecting code that provides Promises to _logical_ locations such as if statements. - -See [_Using promises (error handling) on MDN_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#error_handling) for a detailed writeup on Promise error-handling. -::: - -## Examples - - - - -```ts -const promise = new Promise((resolve, reject) => resolve('value')); -promise; - -async function returnsPromise() { - return 'value'; -} -returnsPromise().then(() => {}); - -Promise.reject('value').catch(); - -Promise.reject('value').finally(); - -[1, 2, 3].map(async x => x + 1); -``` - - - - -```ts -const promise = new Promise((resolve, reject) => resolve('value')); -await promise; - -async function returnsPromise() { - return 'value'; -} - -void returnsPromise(); - -returnsPromise().then( - () => {}, - () => {}, -); - -Promise.reject('value').catch(() => {}); - -await Promise.reject('value').finally(() => {}); - -await Promise.all([1, 2, 3].map(async x => x + 1)); -``` - - - - -## Options - -### `checkThenables` - -{/* insert option description */} - -A ["Thenable"](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#thenables) value is an object which has a `then` method, such as a `Promise`. -Other Thenables include TypeScript's built-in `PromiseLike` interface and any custom object that happens to have a `.then()`. - -The `checkThenables` option triggers `no-floating-promises` to also consider all values that satisfy the Thenable shape (a `.then()` method that takes two callback parameters), not just Promises. -This can be useful if your code works with older `Promise` polyfills instead of the native `Promise` class. - - - - -```ts option='{"checkThenables": true}' -declare function createPromiseLike(): PromiseLike; - -createPromiseLike(); - -interface MyThenable { - then(onFulfilled: () => void, onRejected: () => void): MyThenable; -} - -declare function createMyThenable(): MyThenable; - -createMyThenable(); -``` - - - - -```ts option='{"checkThenables": true}' -declare function createPromiseLike(): PromiseLike; - -await createPromiseLike(); - -interface MyThenable { - then(onFulfilled: () => void, onRejected: () => void): MyThenable; -} - -declare function createMyThenable(): MyThenable; - -await createMyThenable(); -``` - - - - -### `ignoreVoid` - -{/* insert option description */} - -Placing the [`void` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void) in front of a Promise can be a convenient way to explicitly mark that Promise as intentionally not awaited. - -:::warning -Voiding a Promise doesn't handle it or change the runtime behavior. -The outcome is just ignored, like disabling the rule with an [ESLint disable comment](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1). -Such Promise rejections will still be unhandled. -::: - -Examples of **correct** code for this rule with `{ ignoreVoid: true }`: - -```ts option='{ "ignoreVoid": true }' showPlaygroundButton -async function returnsPromise() { - return 'value'; -} -void returnsPromise(); - -void Promise.reject('value'); -``` - -When this option is set to `true`, if you are using `no-void`, you should turn on the [`allowAsStatement`](https://eslint.org/docs/rules/no-void#allowasstatement) option. - -### `ignoreIIFE` - -{/* insert option description */} - -Examples of **correct** code for this rule with `{ ignoreIIFE: true }`: - -{/* prettier-ignore */} -```ts option='{ "ignoreIIFE": true }' showPlaygroundButton -await (async function () { - await res(1); -})(); - -(async function () { - await res(1); -})(); -``` - -### `allowForKnownSafePromises` - -{/* insert option description */} - -For example, you may need to do this in the case of libraries whose APIs return Promises whose rejections are safely handled by the library. - -This option takes the shared [`TypeOrValueSpecifier` format](/packages/type-utils/type-or-value-specifier). - -Examples of code for this rule with: - -```json -{ - "allowForKnownSafePromises": [ - { "from": "file", "name": "SafePromise" }, - { "from": "lib", "name": "PromiseLike" }, - { "from": "package", "name": "Bar", "package": "bar-lib" } - ] -} -``` - - - - -```ts option='{"allowForKnownSafePromises":[{"from":"file","name":"SafePromise"},{"from":"lib","name":"PromiseLike"},{"from":"package","name":"Bar","package":"bar-lib"}]}' -let promise: Promise = Promise.resolve(2); -promise; - -function returnsPromise(): Promise { - return Promise.resolve(42); -} - -returnsPromise(); -``` - - - - -```ts option='{"allowForKnownSafePromises":[{"from":"file","name":"SafePromise"},{"from":"lib","name":"PromiseLike"},{"from":"package","name":"Bar","package":"bar-lib"}]}' -// promises can be marked as safe by using branded types -type SafePromise = Promise & { __linterBrands?: string }; - -let promise: SafePromise = Promise.resolve(2); -promise; - -function returnsSafePromise(): SafePromise { - return Promise.resolve(42); -} - -returnsSafePromise(); -``` - - - - -### `allowForKnownSafeCalls` - -{/* insert option description */} - -For example, you may need to do this in the case of libraries whose APIs may be called without handling the resultant Promises. - -This option takes the shared [`TypeOrValueSpecifier` format](/packages/type-utils/type-or-value-specifier). - -Examples of code for this rule with: - -```json -{ - "allowForKnownSafeCalls": [ - { "from": "file", "name": "safe", "path": "input.ts" } - ] -} -``` - - - - -```ts option='{"allowForKnownSafeCalls":[{"from":"file","name":"safe","path":"input.ts"}]}' -declare function unsafe(...args: unknown[]): Promise; - -unsafe('...', () => {}); -``` - - - - -```ts option='{"allowForKnownSafeCalls":[{"from":"file","name":"safe","path":"input.ts"}]}' skipValidation -declare function safe(...args: unknown[]): Promise; - -safe('...', () => {}); -``` - - - - -## When Not To Use It - -This rule can be difficult to enable on large existing projects that set up many floating Promises. -Alternately, if you're not worried about crashes from floating or misused Promises -such as if you have global unhandled Promise handlers registered- then in some cases it may be safe to not use this rule. -You might consider using `void`s and/or [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-misused-promises`](./no-misused-promises.mdx) - -## Further Reading - -- ["Using Promises" MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises). Note especially the sections on [Promise rejection events](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#promise_rejection_events) and [Composition](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#composition). diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.mdx deleted file mode 100644 index d3a1b01d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -description: 'Disallow iterating over an array with a for-in loop.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-for-in-array** for documentation. - -A for-in loop (`for (const i in o)`) iterates over the properties of an Object. -While it is legal to use for-in loops with array values, it is not common. There are several potential bugs with this: - -1. It iterates over all enumerable properties, including non-index ones and the entire prototype chain. For example, [`RegExp.prototype.exec`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec) returns an array with additional properties, and `for-in` will iterate over them. Some libraries or even your own code may add additional methods to `Array.prototype` (either as polyfill or as custom methods), and if not done properly, they may be iterated over as well. -2. It skips holes in the array. While sparse arrays are rare and advised against, they are still possible and your code should be able to handle them. -3. The "index" is returned as a string, not a number. This can be caught by TypeScript, but can still lead to subtle bugs. - -You may have confused for-in with for-of, which iterates over the elements of the array. If you actually need the index, use a regular `for` loop or the `forEach` method. - -## Examples - - - - -```ts -declare const array: string[]; - -for (const i in array) { - console.log(array[i]); -} - -for (const i in array) { - console.log(i, array[i]); -} -``` - - - - -```ts -declare const array: string[]; - -for (const value of array) { - console.log(value); -} - -for (let i = 0; i < array.length; i += 1) { - console.log(i, array[i]); -} - -array.forEach((value, i) => { - console.log(i, value); -}); - -for (const [i, value] of array.entries()) { - console.log(i, value); -} -``` - - - - -## When Not To Use It - -If your project is a rare one that intentionally loops over string indices of arrays, you can turn off this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.mdx deleted file mode 100644 index 5019008c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.mdx +++ /dev/null @@ -1,104 +0,0 @@ ---- -description: 'Disallow the use of `eval()`-like methods.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-implied-eval** for documentation. - -It's considered a good practice to avoid using `eval()`. There are security and performance implications involved with doing so, which is why many linters recommend disallowing `eval()`. However, there are some other ways to pass a string and have it interpreted as JavaScript code that have similar concerns. - -The first is using `setTimeout()`, `setInterval()`, `setImmediate` or `execScript()` (Internet Explorer only), all of which can accept a string of code as their first argument - -```ts -setTimeout('alert(`Hi!`);', 100); -``` - -or using `new Function()` - -```ts -const fn = new Function('a', 'b', 'return a + b'); -``` - -This is considered an implied `eval()` because a string of code is -passed in to be interpreted. The same can be done with `setInterval()`, `setImmediate()` and `execScript()`. All interpret the JavaScript code in the global scope. - -The best practice is to avoid using `new Function()` or `execScript()` and always use a function for the first argument of `setTimeout()`, `setInterval()` and `setImmediate()`. - -## Examples - -This rule aims to eliminate implied `eval()` through the use of `new Function()`, `setTimeout()`, `setInterval()`, `setImmediate()` or `execScript()`. - - - - -```ts -setTimeout('alert(`Hi!`);', 100); - -setInterval('alert(`Hi!`);', 100); - -setImmediate('alert(`Hi!`)'); - -execScript('alert(`Hi!`)'); - -window.setTimeout('count = 5', 10); - -window.setInterval('foo = bar', 10); - -const fn = '() = {}'; -setTimeout(fn, 100); - -const fn = () => { - return 'x = 10'; -}; -setTimeout(fn(), 100); - -const fn = new Function('a', 'b', 'return a + b'); -``` - - - - -```ts -setTimeout(function () { - alert('Hi!'); -}, 100); - -setInterval(function () { - alert('Hi!'); -}, 100); - -setImmediate(function () { - alert('Hi!'); -}); - -execScript(function () { - alert('Hi!'); -}); - -const fn = () => {}; -setTimeout(fn, 100); - -const foo = { - fn: function () {}, -}; -setTimeout(foo.fn, 100); -setTimeout(foo.fn.bind(this), 100); - -class Foo { - static fn = () => {}; -} - -setTimeout(Foo.fn, 100); -``` - - - - -## When Not To Use It - -If your project is a rare one that needs to allow `new Function()` or `setTimeout()`, `setInterval()`, `setImmediate()` and `execScript()` with string arguments, then you can disable this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-import-type-side-effects.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-import-type-side-effects.mdx deleted file mode 100644 index f115b036..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-import-type-side-effects.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -description: 'Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-import-type-side-effects** for documentation. - -The [`--verbatimModuleSyntax`](https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax) compiler option causes TypeScript to do simple and predictable transpilation on import declarations. -Namely, it completely removes import declarations with a top-level `type` qualifier, and it removes any import specifiers with an inline `type` qualifier. - -The latter behavior does have one potentially surprising effect in that in certain cases TS can leave behind a "side effect" import at runtime: - -```ts -import { type A, type B } from 'mod'; - -// is transpiled to - -import {} from 'mod'; -// which is the same as -import 'mod'; -``` - -For the rare case of needing to import for side effects, this may be desirable - but for most cases you will not want to leave behind an unnecessary side effect import. - -## Examples - -This rule enforces that you use a top-level `type` qualifier for imports when it only imports specifiers with an inline `type` qualifier - - - - -```ts -import { type A } from 'mod'; -import { type A as AA } from 'mod'; -import { type A, type B } from 'mod'; -import { type A as AA, type B as BB } from 'mod'; -``` - - - - -```ts -import type { A } from 'mod'; -import type { A as AA } from 'mod'; -import type { A, B } from 'mod'; -import type { A as AA, B as BB } from 'mod'; - -import T from 'mod'; -import type T from 'mod'; - -import * as T from 'mod'; -import type * as T from 'mod'; - -import { T } from 'mod'; -import type { T } from 'mod'; -import { T, U } from 'mod'; -import type { T, U } from 'mod'; -import { type T, U } from 'mod'; -import { T, type U } from 'mod'; - -import type T, { U } from 'mod'; -import T, { type U } from 'mod'; -``` - - - - -## When Not To Use It - -If you're not using TypeScript 5.0's `verbatimModuleSyntax` option and your project is built with a bundler that manages import side effects for you, this rule may not be as useful for you. - -## Related To - -- [`consistent-type-imports`](./consistent-type-imports.mdx) -- [`import/consistent-type-specifier-style`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/consistent-type-specifier-style.md) -- [`import/no-duplicates` with `{"prefer-inline": true}`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-duplicates.md#inline-type-imports) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.mdx deleted file mode 100644 index 25bfbbec..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.mdx +++ /dev/null @@ -1,113 +0,0 @@ ---- -description: 'Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-inferrable-types** for documentation. - -TypeScript is able to infer the types of parameters, properties, and variables from their default or initial values. -There is no need to use an explicit `:` type annotation on one of those constructs initialized to a boolean, number, or string. -Doing so adds unnecessary verbosity to code -making it harder to read- and in some cases can prevent TypeScript from inferring a more specific literal type (e.g. `10`) instead of the more general primitive type (e.g. `number`) - -## Examples - - - - -```ts -const a: bigint = 10n; -const a: bigint = BigInt(10); -const a: boolean = !0; -const a: boolean = Boolean(null); -const a: boolean = true; -const a: null = null; -const a: number = 10; -const a: number = Infinity; -const a: number = NaN; -const a: number = Number('1'); -const a: RegExp = /a/; -const a: RegExp = new RegExp('a'); -const a: string = `str`; -const a: string = String(1); -const a: symbol = Symbol('a'); -const a: undefined = undefined; -const a: undefined = void someValue; - -class Foo { - prop: number = 5; -} - -function fn(a: number = 5, b: boolean = true) {} -``` - - - - -```ts -const a = 10n; -const a = BigInt(10); -const a = !0; -const a = Boolean(null); -const a = true; -const a = null; -const a = 10; -const a = Infinity; -const a = NaN; -const a = Number('1'); -const a = /a/; -const a = new RegExp('a'); -const a = `str`; -const a = String(1); -const a = Symbol('a'); -const a = undefined; -const a = void someValue; - -class Foo { - prop = 5; -} - -function fn(a = 5, b = true) {} -``` - - - - -## Options - -### `ignoreParameters` - -{/* insert option description */} - -When set to true, the following pattern is considered valid: - -```ts option='{ "ignoreParameters": true }' showPlaygroundButton -function foo(a: number = 5, b: boolean = true) { - // ... -} -``` - -### `ignoreProperties` - -{/* insert option description */} - -When set to true, the following pattern is considered valid: - -```ts option='{ "ignoreProperties": true }' showPlaygroundButton -class Foo { - prop: number = 5; -} -``` - -## When Not To Use It - -If you strongly prefer to have explicit types regardless of whether they can be inferred, this rule may not be for you. - -If you use the `--isolatedDeclarations` compiler option, this rule is incompatible. - -## Further Reading - -- [TypeScript Inference](https://www.typescriptlang.org/docs/handbook/type-inference.html) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.mdx deleted file mode 100644 index 518b93fc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -description: 'Disallow `this` keywords outside of classes or class-like objects.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-invalid-this** for documentation. - -import TypeScriptOverlap from '@site/src/components/TypeScriptOverlap'; - - - -This rule extends the base [`eslint/no-invalid-this`](https://eslint.org/docs/rules/no-invalid-this) rule. -It adds support for TypeScript's `this` parameters. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.mdx deleted file mode 100644 index 6cfa2706..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.mdx +++ /dev/null @@ -1,119 +0,0 @@ ---- -description: 'Disallow `void` type outside of generic or return types.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-invalid-void-type** for documentation. - -`void` in TypeScript refers to a function return that is meant to be ignored. -Attempting to use a `void` type outside of a return type or generic type argument is often a sign of programmer error. -`void` can also be misleading for other developers even if used correctly. - -> The `void` type means cannot be mixed with any other types, other than `never`, which accepts all types. -> If you think you need this then you probably want the `undefined` type instead. - -## Examples - - - - -```ts -type PossibleValues = string | number | void; -type MorePossibleValues = string | ((number & any) | (string | void)); - -function logSomething(thing: void) {} -function printArg(arg: T) {} - -logAndReturn(undefined); - -interface Interface { - lambda: () => void; - prop: void; -} - -class MyClass { - private readonly propName: void; -} -``` - - - - -```ts -type NoOp = () => void; - -function noop(): void {} - -let trulyUndefined = void 0; - -async function promiseMeSomething(): Promise {} - -type stillVoid = void | never; -``` - - - - -## Options - -### `allowInGenericTypeArguments` - -{/* insert option description */} - -Alternatively, you can provide an array of strings which allowlist which types may accept `void` as a generic type parameter. - -Any types considered valid by this option will be considered valid as part of a union type with `void`. - -This option is `true` by default. - -The following patterns are considered warnings with `{ allowInGenericTypeArguments: false }`: - -```ts option='{ "allowInGenericTypeArguments": false }' showPlaygroundButton -logAndReturn(undefined); - -let voidPromise: Promise = new Promise(() => {}); -let voidMap: Map = new Map(); -``` - -The following patterns are considered warnings with `{ allowInGenericTypeArguments: ['Ex.Mx.Tx'] }`: - -```ts option='{ "allowInGenericTypeArguments": ["Ex.Mx.Tx"] }' showPlaygroundButton -logAndReturn(undefined); - -type NotAllowedVoid1 = Mx.Tx; -type NotAllowedVoid2 = Tx; -type NotAllowedVoid3 = Promise; -``` - -The following patterns are not considered warnings with `{ allowInGenericTypeArguments: ['Ex.Mx.Tx'] }`: - -```ts option='{ "allowInGenericTypeArguments": ["Ex.Mx.Tx"] }' showPlaygroundButton -type AllowedVoid = Ex.Mx.Tx; -type AllowedVoidUnion = void | Ex.Mx.Tx; -``` - -### `allowAsThisParameter` - -{/* insert option description */} - -This pattern can be useful to explicitly label function types that do not use a `this` argument. [See the TypeScript docs for more information](https://www.typescriptlang.org/docs/handbook/functions.html#this-parameters-in-callbacks). - -This option is `false` by default. - -The following patterns are considered warnings with `{ allowAsThisParameter: false }` but valid with `{ allowAsThisParameter: true }`: - -```ts option='{ "allowAsThisParameter": false }' showPlaygroundButton -function doThing(this: void) {} -class Example { - static helper(this: void) {} - callback(this: void) {} -} -``` - -## When Not To Use It - -If you don't care about if `void` is used with other types, or in invalid places, then you don't need this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.mdx deleted file mode 100644 index 0eb9ff68..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -description: 'Disallow function declarations that contain unsafe references inside loop statements.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-loop-func** for documentation. - -This rule extends the base [`eslint/no-loop-func`](https://eslint.org/docs/rules/no-loop-func) rule. -It adds support for TypeScript types. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.mdx deleted file mode 100644 index 77f48255..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -description: 'Disallow literal numbers that lose precision.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-loss-of-precision** for documentation. - -:::danger Deprecated - -This rule has been deprecated because the base [`eslint/no-loss-of-precision`](https://eslint.org/docs/rules/no-loss-of-precision) rule added support for [numeric separators](https://github.com/tc39/proposal-numeric-separator). -There is no longer any need to use this extension rule. - -::: diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.mdx deleted file mode 100644 index 09f07b94..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.mdx +++ /dev/null @@ -1,132 +0,0 @@ ---- -description: 'Disallow magic numbers.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-magic-numbers** for documentation. - -This rule extends the base [`eslint/no-magic-numbers`](https://eslint.org/docs/rules/no-magic-numbers) rule. -It adds support for: - -- numeric literal types (`type T = 1`), -- `enum` members (`enum Foo { bar = 1 }`), -- `readonly` class properties (`class Foo { readonly bar = 1 }`). - -## Options - -This rule adds the following options: - -```ts -interface Options extends BaseNoMagicNumbersOptions { - ignoreEnums?: boolean; - ignoreNumericLiteralTypes?: boolean; - ignoreReadonlyClassProperties?: boolean; - ignoreTypeIndexes?: boolean; -} - -const defaultOptions: Options = { - ...baseNoMagicNumbersDefaultOptions, - ignoreEnums: false, - ignoreNumericLiteralTypes: false, - ignoreReadonlyClassProperties: false, - ignoreTypeIndexes: false, -}; -``` - -### `ignoreEnums` - -{/* insert option description */} - -Whether enums used in TypeScript are considered okay. `false` by default. - -Examples of **incorrect** code for the `{ "ignoreEnums": false }` option: - -```ts option='{ "ignoreEnums": false }' showPlaygroundButton -enum foo { - SECOND = 1000, -} -``` - -Examples of **correct** code for the `{ "ignoreEnums": true }` option: - -```ts option='{ "ignoreEnums": true }' showPlaygroundButton -enum foo { - SECOND = 1000, -} -``` - -### `ignoreNumericLiteralTypes` - -{/* insert option description */} - -Whether numbers used in TypeScript numeric literal types are considered okay. `false` by default. - -Examples of **incorrect** code for the `{ "ignoreNumericLiteralTypes": false }` option: - -```ts option='{ "ignoreNumericLiteralTypes": false }' showPlaygroundButton -type SmallPrimes = 2 | 3 | 5 | 7 | 11; -``` - -Examples of **correct** code for the `{ "ignoreNumericLiteralTypes": true }` option: - -```ts option='{ "ignoreNumericLiteralTypes": true }' showPlaygroundButton -type SmallPrimes = 2 | 3 | 5 | 7 | 11; -``` - -### `ignoreReadonlyClassProperties` - -{/* insert option description */} - -Whether `readonly` class properties are considered okay. - -Examples of **incorrect** code for the `{ "ignoreReadonlyClassProperties": false }` option: - -```ts option='{ "ignoreReadonlyClassProperties": false }' showPlaygroundButton -class Foo { - readonly A = 1; - readonly B = 2; - public static readonly C = 1; - static readonly D = 1; -} -``` - -Examples of **correct** code for the `{ "ignoreReadonlyClassProperties": true }` option: - -```ts option='{ "ignoreReadonlyClassProperties": true }' showPlaygroundButton -class Foo { - readonly A = 1; - readonly B = 2; - public static readonly C = 1; - static readonly D = 1; -} -``` - -### `ignoreTypeIndexes` - -{/* insert option description */} - -Whether numbers used to index types are okay. `false` by default. - -Examples of **incorrect** code for the `{ "ignoreTypeIndexes": false }` option: - -```ts option='{ "ignoreTypeIndexes": false }' showPlaygroundButton -type Foo = Bar[0]; -type Baz = Parameters[2]; -``` - -Examples of **correct** code for the `{ "ignoreTypeIndexes": true }` option: - -```ts option='{ "ignoreTypeIndexes": true }' showPlaygroundButton -type Foo = Bar[0]; -type Baz = Parameters[2]; -``` - -## When Not To Use It - -If your project frequently deals with constant numbers and you don't wish to take up extra space to declare them, this rule might not be for you. -We recommend at least using descriptive comments and/or names to describe constants. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.mdx deleted file mode 100644 index c4987ea2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.mdx +++ /dev/null @@ -1,61 +0,0 @@ ---- -description: 'Disallow the `void` operator except when used to discard a value.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-meaningless-void-operator** for documentation. - -`void` in TypeScript refers to a function return that is meant to be ignored. -The `void` operator is a useful tool to convey the programmer's intent to discard a value. -For example, it is recommended as one way of suppressing [`@typescript-eslint/no-floating-promises`](./no-floating-promises.mdx) instead of adding `.catch()` to a promise. - -This rule helps an authors catch API changes where previously a value was being discarded at a call site, but the callee changed so it no longer returns a value. -When combined with [no-unused-expressions](https://eslint.org/docs/rules/no-unused-expressions), it also helps _readers_ of the code by ensuring consistency: a statement that looks like `void foo();` is **always** discarding a return value, and a statement that looks like `foo();` is **never** discarding a return value. -This rule reports on any `void` operator whose argument is already of type `void` or `undefined`. - -## Examples - -## Examples - - - - -```ts -void (() => {})(); - -function foo() {} -void foo(); -``` - - - - -```ts -(() => {})(); - -function foo() {} -foo(); // nothing to discard - -function bar(x: number) { - void x; // discarding a number - return 2; -} -void bar(1); // discarding a number -``` - - - - -## Options - -### `checkNever` - -{/* insert option description */} - -## When Not To Use It - -If you don't mind extra `void`s in your project, you can avoid this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.mdx deleted file mode 100644 index e1e02c42..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -description: 'Enforce valid definition of `new` and `constructor`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-misused-new** for documentation. - -JavaScript classes may define a `constructor` method that runs when a class instance is newly created. -TypeScript allows interfaces that describe a static class object to define a `new()` method (though this is rarely used in real world code). -Developers new to JavaScript classes and/or TypeScript interfaces may sometimes confuse when to use `constructor` or `new`. - -This rule reports when a class defines a method named `new` or an interface defines a method named `constructor`. - -## Examples - - - - -```ts -declare class C { - new(): C; -} - -interface I { - new (): I; - constructor(): void; -} -``` - - - - -```ts -declare class C { - constructor(); -} - -interface I { - new (): C; -} -``` - - - - -## When Not To Use It - -If you intentionally want a class with a `new` method, and you're confident nobody working in your code will mistake it with a constructor, you might not want this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.mdx deleted file mode 100644 index 52dc08df..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.mdx +++ /dev/null @@ -1,314 +0,0 @@ ---- -description: 'Disallow Promises in places not designed to handle them.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-misused-promises** for documentation. - -This rule forbids providing Promises to logical locations such as if statements in places where the TypeScript compiler allows them but they are not handled properly. -These situations can often arise due to a missing `await` keyword or just a misunderstanding of the way async -functions are handled/awaited. - -:::tip -`no-misused-promises` only detects code that provides Promises to incorrect _logical_ locations. -See [`no-floating-promises`](./no-floating-promises.mdx) for detecting unhandled Promise _statements_. -::: - -## Options - -### `checksConditionals` - -{/* insert option description */} - -If you don't want to check conditionals, you can configure the rule with `"checksConditionals": false`: - -```json -{ - "@typescript-eslint/no-misused-promises": [ - "error", - { - "checksConditionals": false - } - ] -} -``` - -Doing so prevents the rule from looking at code like `if (somePromise)`. - -### `checksVoidReturn` - -{/* insert option description */} - -Likewise, if you don't want to check functions that return promises where a void return is -expected, your configuration will look like this: - -```json -{ - "@typescript-eslint/no-misused-promises": [ - "error", - { - "checksVoidReturn": false - } - ] -} -``` - -You can disable selective parts of the `checksVoidReturn` option by providing an object that disables specific checks. For example, if you don't mind that passing a `() => Promise` to a `() => void` parameter or JSX attribute can lead to a floating unhandled Promise: - -```json -{ - "@typescript-eslint/no-misused-promises": [ - "error", - { - "checksVoidReturn": { - "arguments": false, - "attributes": false - } - } - ] -} -``` - -The following sub-options are supported: - -#### `arguments` - -Disables checking an asynchronous function passed as argument where the parameter type expects a function that returns `void`. - -#### `attributes` - -Disables checking an asynchronous function passed as a JSX attribute expected to be a function that returns `void`. - -#### `inheritedMethods` - -Disables checking an asynchronous method in a type that extends or implements another type expecting that method to return `void`. - -:::note -For now, `no-misused-promises` only checks _named_ methods against extended/implemented types: that is, call/construct/index signatures are ignored. Call signatures are not required in TypeScript to be consistent with one another, and construct signatures cannot be `async` in the first place. Index signature checking may be implemented in the future. -::: - -#### `properties` - -Disables checking an asynchronous function passed as an object property expected to be a function that returns `void`. - -#### `returns` - -Disables checking an asynchronous function returned in a function whose return type is a function that returns `void`. - -#### `variables` - -Disables checking an asynchronous function used as a variable whose return type is a function that returns `void`. - -### `checksSpreads` - -{/* insert option description */} - -If you don't want to check object spreads, you can add this configuration: - -```json -{ - "@typescript-eslint/no-misused-promises": [ - "error", - { - "checksSpreads": false - } - ] -} -``` - -## Examples - -### `checksConditionals` - -{/* insert option description */} - -Examples of code for this rule with `checksConditionals: true`: - - - - -```ts option='{ "checksConditionals": true }' -const promise = Promise.resolve('value'); - -if (promise) { - // Do something -} - -const val = promise ? 123 : 456; - -[1, 2, 3].filter(() => promise); - -while (promise) { - // Do something -} -``` - - - - -```ts option='{ "checksConditionals": true }' -const promise = Promise.resolve('value'); - -// Always `await` the Promise in a conditional -if (await promise) { - // Do something -} - -const val = (await promise) ? 123 : 456; - -const returnVal = await promise; -[1, 2, 3].filter(() => returnVal); - -while (await promise) { - // Do something -} -``` - - - - -### `checksVoidReturn` - -{/* insert option description */} - -Examples of code for this rule with `checksVoidReturn: true`: - - - - -```ts option='{ "checksVoidReturn": true }' -[1, 2, 3].forEach(async value => { - await fetch(`/${value}`); -}); - -new Promise(async (resolve, reject) => { - await fetch('/'); - resolve(); -}); - -document.addEventListener('click', async () => { - console.log('synchronous call'); - await fetch('/'); - console.log('synchronous call'); -}); - -interface MySyncInterface { - setThing(): void; -} -class MyClass implements MySyncInterface { - async setThing(): Promise { - this.thing = await fetchThing(); - } -} -``` - - - - -```ts option='{ "checksVoidReturn": true }' -// for-of puts `await` in outer context -for (const value of [1, 2, 3]) { - await doSomething(value); -} - -// If outer context is not `async`, handle error explicitly -Promise.all( - [1, 2, 3].map(async value => { - await doSomething(value); - }), -).catch(handleError); - -// Use an async IIFE wrapper -new Promise((resolve, reject) => { - // combine with `void` keyword to tell `no-floating-promises` rule to ignore unhandled rejection - void (async () => { - await doSomething(); - resolve(); - })(); -}); - -// Name the async wrapper to call it later -document.addEventListener('click', () => { - const handler = async () => { - await doSomething(); - otherSynchronousCall(); - }; - - try { - synchronousCall(); - } catch (err) { - handleSpecificError(err); - } - - handler().catch(handleError); -}); - -interface MyAsyncInterface { - setThing(): Promise; -} -class MyClass implements MyAsyncInterface { - async setThing(): Promise { - this.thing = await fetchThing(); - } -} -``` - - - - -### `checksSpreads` - -{/* insert option description */} - -Examples of code for this rule with `checksSpreads: true`: - - - - -```ts option='{ "checksSpreads": true }' -const getData = () => fetch('/'); - -console.log({ foo: 42, ...getData() }); - -const awaitData = async () => { - await fetch('/'); -}; - -console.log({ foo: 42, ...awaitData() }); -``` - - - - -```ts option='{ "checksSpreads": true }' -const getData = () => fetch('/'); - -console.log({ foo: 42, ...(await getData()) }); - -const awaitData = async () => { - await fetch('/'); -}; - -console.log({ foo: 42, ...(await awaitData()) }); -``` - - - - -## When Not To Use It - -This rule can be difficult to enable on large existing projects that set up many misused Promises. -Alternately, if you're not worried about crashes from floating or misused Promises -such as if you have global unhandled Promise handlers registered- then in some cases it may be safe to not use this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [TypeScript void function assignability](https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-functions-returning-non-void-assignable-to-function-returning-void) - -## Related To - -- [`no-floating-promises`](./no-floating-promises.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-mixed-enums.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-mixed-enums.mdx deleted file mode 100644 index 5e168336..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-mixed-enums.mdx +++ /dev/null @@ -1,96 +0,0 @@ ---- -description: 'Disallow enums from having both number and string members.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-mixed-enums** for documentation. - -TypeScript enums are allowed to assign numeric or string values to their members. -Most enums contain either all numbers or all strings, but in theory you can mix-and-match within the same enum. -Mixing enum member types is generally considered confusing and a bad practice. - -## Examples - - - - -```ts -enum Status { - Unknown, - Closed = 1, - Open = 'open', -} -``` - - - - -```ts -enum Status { - Unknown = 0, - Closed = 1, - Open = 2, -} -``` - - - - -```ts -enum Status { - Unknown, - Closed, - Open, -} -``` - - - - -```ts -enum Status { - Unknown = 'unknown', - Closed = 'closed', - Open = 'open', -} -``` - - - - -## Iteration Pitfalls of Mixed Enum Member Values - -Enum values may be iterated over using `Object.entries`/`Object.keys`/`Object.values`. - -If all enum members are strings, the number of items will match the number of enum members: - -```ts -enum Status { - Closed = 'closed', - Open = 'open', -} - -// ['closed', 'open'] -Object.values(Status); -``` - -But if the enum contains members that are initialized with numbers -including implicitly initialized numbers— then iteration over that enum will include those numbers as well: - -```ts -enum Status { - Unknown, - Closed = 1, - Open = 'open', -} - -// ["Unknown", "Closed", 0, 1, "open"] -Object.values(Status); -``` - -## When Not To Use It - -If you don't mind the confusion of mixed enum member values and don't iterate over enums, you can safely disable this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.mdx deleted file mode 100644 index 8e7ca864..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.mdx +++ /dev/null @@ -1,149 +0,0 @@ ---- -description: 'Disallow TypeScript namespaces.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-namespace** for documentation. - -TypeScript historically allowed a form of code organization called "custom modules" (`module Example {}`), later renamed to "namespaces" (`namespace Example`). -Namespaces are an outdated way to organize TypeScript code. -ES2015 module syntax is now preferred (`import`/`export`). - -> This rule does not report on the use of TypeScript module declarations to describe external APIs (`declare module 'foo' {}`). - -## Examples - -Examples of code with the default options: - - - - -```ts -module foo {} -namespace foo {} - -declare module foo {} -declare namespace foo {} -``` - - - - -```ts -declare module 'foo' {} - -// anything inside a d.ts file -``` - - - - -## Options - -### `allowDeclarations` - -{/* insert option description */} - -Examples of code with the `{ "allowDeclarations": true }` option: - - - - -```ts option='{ "allowDeclarations": true }' -module foo {} -namespace foo {} -``` - - - - -```ts option='{ "allowDeclarations": true }' -declare module 'foo' {} -declare module foo {} -declare namespace foo {} - -declare global { - namespace foo {} -} - -declare module foo { - namespace foo {} -} -``` - - - - -Examples of code for the `{ "allowDeclarations": false }` option: - - - - -```ts option='{ "allowDeclarations": false }' -module foo {} -namespace foo {} -declare module foo {} -declare namespace foo {} -``` - - - - -```ts option='{ "allowDeclarations": false }' -declare module 'foo' {} -``` - - - - -### `allowDefinitionFiles` - -{/* insert option description */} - -Examples of code for the `{ "allowDefinitionFiles": true }` option: - - - - -```ts option='{ "allowDefinitionFiles": true }' -// if outside a d.ts file -module foo {} -namespace foo {} - -// if outside a d.ts file and allowDeclarations = false -module foo {} -namespace foo {} -declare module foo {} -declare namespace foo {} -``` - - - - -```ts option='{ "allowDefinitionFiles": true }' -declare module 'foo' {} - -// anything inside a d.ts file -``` - - - - -## When Not To Use It - -If your project was architected before modern modules and namespaces, it may be difficult to migrate off of namespaces. -In that case you may not be able to use this rule for parts of your project. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -{/* cspell:disable-next-line */} - -- [FAQ: I get errors from the `@typescript-eslint/no-namespace` and/or `no-var` rules about declaring global variables](/troubleshooting/faqs/eslint#i-get-errors-from-the-typescript-eslintno-namespace-andor-no-var-rules-about-declaring-global-variables) -- [Modules](https://www.typescriptlang.org/docs/handbook/modules.html) -- [Namespaces](https://www.typescriptlang.org/docs/handbook/namespaces.html) -- [Namespaces and Modules](https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.mdx deleted file mode 100644 index 3c66cdc7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -description: 'Disallow non-null assertions in the left operand of a nullish coalescing operator.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing** for documentation. - -The `??` nullish coalescing runtime operator allows providing a default value when dealing with `null` or `undefined`. -Using a `!` non-null assertion type operator in the left operand of a nullish coalescing operator is redundant, and likely a sign of programmer error or confusion over the two operators. - -## Examples - - - - -```ts -foo! ?? bar; -foo.bazz! ?? bar; -foo!.bazz! ?? bar; -foo()! ?? bar; - -let x!: string; -x! ?? ''; - -let x: string; -x = foo(); -x! ?? ''; -``` - - - - -```ts -foo ?? bar; -foo ?? bar!; -foo!.bazz ?? bar; -foo!.bazz ?? bar!; -foo() ?? bar; - -// This is considered correct code because there's no way for the user to satisfy it. -let x: string; -x! ?? ''; -``` - - - - -## When Not To Use It - -If your project's types don't yet fully describe whether certain values may be nullable, such as if you're transitioning to `strictNullChecks`, this rule might create many false reports. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) -- [Nullish Coalescing Proposal](https://github.com/tc39/proposal-nullish-coalescing) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.mdx deleted file mode 100644 index 0a46583e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -description: 'Disallow non-null assertions after an optional chain expression.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain** for documentation. - -`?.` optional chain expressions provide `undefined` if an object is `null` or `undefined`. -Using a `!` non-null assertion to assert the result of an `?.` optional chain expression is non-nullable is likely wrong. - -> Most of the time, either the object was not nullable and did not need the `?.` for its property lookup, or the `!` is incorrect and introducing a type safety hole. - -## Examples - - - - -```ts -foo?.bar!; -foo?.bar()!; -``` - - - - -```ts -foo?.bar; -foo?.bar(); -``` - - - - -## When Not To Use It - -If your project's types don't yet fully describe whether certain values may be nullable, such as if you're transitioning to `strictNullChecks`, this rule might create many false reports. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) -- [Optional Chaining Proposal](https://github.com/tc39/proposal-optional-chaining/) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.mdx deleted file mode 100644 index b9706331..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.mdx +++ /dev/null @@ -1,48 +0,0 @@ ---- -description: 'Disallow non-null assertions using the `!` postfix operator.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-non-null-assertion** for documentation. - -TypeScript's `!` non-null assertion operator asserts to the type system that an expression is non-nullable, as in not `null` or `undefined`. -Using assertions to tell the type system new information is often a sign that code is not fully type-safe. -It's generally better to structure program logic so that TypeScript understands when values may be nullable. - -## Examples - - - - -```ts -interface Example { - property?: string; -} - -declare const example: Example; -const includesBaz = example.property!.includes('baz'); -``` - - - - -```ts -interface Example { - property?: string; -} - -declare const example: Example; -const includesBaz = example.property?.includes('baz') ?? false; -``` - - - - -## When Not To Use It - -If your project's types don't yet fully describe whether certain values may be nullable, such as if you're transitioning to `strictNullChecks`, this rule might create many false reports. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.mdx deleted file mode 100644 index 4af33c69..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been deprecated in favour of the [`parameter-properties`](https://typescript-eslint.io/rules/parameter-properties/) rule. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.mdx deleted file mode 100644 index 8b24af97..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -description: 'Disallow variable redeclaration.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-redeclare** for documentation. - -import TypeScriptOverlap from '@site/src/components/TypeScriptOverlap'; - - - -This rule extends the base [`eslint/no-redeclare`](https://eslint.org/docs/rules/no-redeclare) rule. -It adds support for TypeScript function overloads, and declaration merging. - -## Options - -This rule adds the following options: - -```ts -interface Options extends BaseNoRedeclareOptions { - ignoreDeclarationMerge?: boolean; -} - -const defaultOptions: Options = { - ...baseNoRedeclareDefaultOptions, - ignoreDeclarationMerge: true, -}; -``` - -### `ignoreDeclarationMerge` - -{/* insert option description */} - -The following sets will be ignored when this option is enabled: - -- interface + interface -- namespace + namespace -- class + interface -- class + namespace -- class + interface + namespace -- function + namespace -- enum + namespace - -Examples of **correct** code with `{ ignoreDeclarationMerge: true }`: - -```ts option='{ "ignoreDeclarationMerge": true }' showPlaygroundButton -interface A { - prop1: 1; -} -interface A { - prop2: 2; -} - -namespace Foo { - export const a = 1; -} -namespace Foo { - export const b = 2; -} - -class Bar {} -namespace Bar {} - -function Baz() {} -namespace Baz {} -``` - -**Note:** Even with this option set to true, this rule will report if you name a type and a variable the same name. **_This is intentional_**. -Declaring a variable and a type the same is usually an accident, and it can lead to hard-to-understand code. -If you have a rare case where you're intentionally naming a type the same name as a variable, use a disable comment. For example: - -```ts option='{ "ignoreDeclarationMerge": true }' showPlaygroundButton -type something = string; -// eslint-disable-next-line @typescript-eslint/no-redeclare -- intentionally naming the variable the same as the type -const something = 2; -``` diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.mdx deleted file mode 100644 index a119ebdd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.mdx +++ /dev/null @@ -1,102 +0,0 @@ ---- -description: 'Disallow members of unions and intersections that do nothing or override type information.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-redundant-type-constituents** for documentation. - -Some types can override some other types ("constituents") in a union or intersection and/or be overridden by some other types. -TypeScript's set theory of types includes cases where a constituent type might be useless in the parent union or intersection. - -Within `|` unions: - -- `any` and `unknown` "override" all other union members -- `never` is dropped from unions in any position except when in a return type position -- primitive types such as `string` "override" any of their literal types such as `""` - -Within `&` intersections: - -- `any` and `never` "override" all other intersection members -- `unknown` is dropped from intersections -- literal types "override" any primitive types in an intersection -- literal types such as `""` "override" any of their primitive types such as `string` - -## Examples - - - - -```ts -type UnionAny = any | 'foo'; -type UnionUnknown = unknown | 'foo'; -type UnionNever = never | 'foo'; - -type UnionBooleanLiteral = boolean | false; -type UnionNumberLiteral = number | 1; -type UnionStringLiteral = string | 'foo'; - -type IntersectionAny = any & 'foo'; -type IntersectionUnknown = string & unknown; -type IntersectionNever = string | never; - -type IntersectionBooleanLiteral = boolean & false; -type IntersectionNumberLiteral = number & 1; -type IntersectionStringLiteral = string & 'foo'; -``` - - - - -```ts -type UnionAny = any; -type UnionUnknown = unknown; -type UnionNever = never; - -type UnionBooleanLiteral = boolean; -type UnionNumberLiteral = number; -type UnionStringLiteral = string; - -type IntersectionAny = any; -type IntersectionUnknown = string; -type IntersectionNever = string; - -type IntersectionBooleanLiteral = false; -type IntersectionNumberLiteral = 1; -type IntersectionStringLiteral = 'foo'; -``` - - - - -## Limitations - -This rule plays it safe and only works with bottom types, top types, and comparing literal types to primitive types. - -## When Not To Use It - -Some projects choose to occasionally intentionally include a redundant type constituent for documentation purposes. -For example, the following code includes `string` in a union even though the `unknown` makes it redundant: - -```ts -/** - * Normally a string name, but sometimes arbitrary unknown data. - */ -type NameOrOther = string | unknown; -``` - -If you strongly feel a preference for these unnecessary type constituents, this rule might not be for you. - -## Further Reading - -- [Union Types](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) -- [Intersection Types](https://www.typescriptlang.org/docs/handbook/2/objects.html#intersection-types) -- [Bottom Types](https://en.wikipedia.org/wiki/Bottom_type) -- [Top Types](https://en.wikipedia.org/wiki/Top_type) - -## Related To - -- [no-duplicate-type-constituents](./no-duplicate-type-constituents.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.mdx deleted file mode 100644 index 1d4fd9ea..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.mdx +++ /dev/null @@ -1,100 +0,0 @@ ---- -description: 'Disallow invocation of `require()`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-require-imports** for documentation. - -Prefer the newer ES6-style imports over `require()`. - -## Examples - - - - -```ts -const lib1 = require('lib1'); -const { lib2 } = require('lib2'); -import lib3 = require('lib3'); -``` - - - - -```ts -import * as lib1 from 'lib1'; -import { lib2 } from 'lib2'; -import * as lib3 from 'lib3'; -``` - - - - -## Options - -### `allow` - -{/* insert option description */} - -These strings will be compiled into regular expressions with the `u` flag and be used to test against the imported path. A common use case is to allow importing `package.json`. This is because `package.json` commonly lives outside of the TS root directory, so statically importing it would lead to root directory conflicts, especially with `resolveJsonModule` enabled. You can also use it to allow importing any JSON if your environment doesn't support JSON modules, or use it for other cases where `import` statements cannot work. - -With `{allow: ['/package\\.json$']}`: - - - - -```ts option='{ "allow": ["/package.json$"] }' -console.log(require('../data.json').version); -``` - - - - -```ts option='{ "allow": ["/package.json$"] }' -console.log(require('../package.json').version); -``` - - - - -### `allowAsImport` - -{/* insert option description */} - -When set to `true`, `import ... = require(...)` declarations won't be reported. -This is useful if you use certain module options that require strict CommonJS interop semantics. - -With `{allowAsImport: true}`: - - - - -```ts option='{ "allowAsImport": true }' -var foo = require('foo'); -const foo = require('foo'); -let foo = require('foo'); -``` - - - - -```ts option='{ "allowAsImport": true }' -import foo = require('foo'); -import foo from 'foo'; -``` - - - - -## When Not To Use It - -If your project frequently uses older CommonJS `require`s, then this rule might not be applicable to you. -If only a subset of your project uses `require`s then you might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-var-requires`](./no-var-requires.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.mdx deleted file mode 100644 index 2c42980c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -description: 'Disallow specified modules when loaded by `import`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-restricted-imports** for documentation. - -This rule extends the base [`eslint/no-restricted-imports`](https://eslint.org/docs/rules/no-restricted-imports) rule. It adds support for the type import (`import type X from "..."`, `import { type X } from "..."`) and `import x = require("...")` syntaxes. - -## Options - -This rule adds the following options: - -### `allowTypeImports` - -{/* insert option description */} - -Whether to allow type-only imports for a path. -Default: `false`. - -You can specify this option for a specific path or pattern as follows: - -```jsonc -{ - "rules": { - "@typescript-eslint/no-restricted-imports": [ - "error", - { - "paths": [ - { - "name": "import-foo", - "message": "Please use import-bar instead.", - "allowTypeImports": true, - }, - { - "name": "import-baz", - "message": "Please use import-quux instead.", - "allowTypeImports": true, - }, - ], - }, - ], - }, -} -``` - -Whether to allow [Type-Only Imports](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export). - -Examples of code with the above config: - - - - -```ts option='{"paths":[{"name":"import-foo","message":"Please use import-bar instead.","allowTypeImports":true},{"name":"import-baz","message":"Please use import-quux instead.","allowTypeImports":true}]}' -import foo from 'import-foo'; -export { Foo } from 'import-foo'; - -import baz from 'import-baz'; -export { Baz } from 'import-baz'; -``` - - - - -```ts option='{"paths":[{"name":"import-foo","message":"Please use import-bar instead.","allowTypeImports":true},{"name":"import-baz","message":"Please use import-quux instead.","allowTypeImports":true}]}' -import { foo } from 'other-module'; - -import type foo from 'import-foo'; -export type { Foo } from 'import-foo'; - -import type baz from 'import-baz'; -export type { Baz } from 'import-baz'; -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-types.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-types.mdx deleted file mode 100644 index 30485e4f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-types.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -description: 'Disallow certain types.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-restricted-types** for documentation. - -It can sometimes be useful to ban specific types from being used in type annotations. -For example, a project might be migrating from using one type to another, and want to ban references to the old type. - -This rule can be configured to ban a list of specific types and can suggest alternatives. -Note that it does not ban the corresponding runtime objects from being used. - -## Options - -### `types` - -{/* insert option description */} - -The type can either be a type name literal (`OldType`) or a a type name with generic parameter instantiation(s) (`OldType`). - -The values can be: - -- A string, which is the error message to be reported; or -- An object with the following properties: - - `message: string`: the message to display when the type is matched. - - `fixWith?: string`: a string to replace the banned type with when the fixer is run. If this is omitted, no fix will be done. - - `suggest?: string[]`: a list of suggested replacements for the banned type. - -Example configuration: - -```jsonc -{ - "@typescript-eslint/no-restricted-types": [ - "error", - { - "types": { - // add a custom message to help explain why not to use it - "OldType": "Don't use OldType because it is unsafe", - - // add a custom message, and tell the plugin how to fix it - "OldAPI": { - "message": "Use NewAPI instead", - "fixWith": "NewAPI", - }, - - // add a custom message, and tell the plugin how to suggest a fix - "SoonToBeOldAPI": { - "message": "Use NewAPI instead", - "suggest": ["NewAPIOne", "NewAPITwo"], - }, - }, - }, - ], -} -``` - -## When Not To Use It - -If you have no need to ban specific types from being used in type annotations, you don't need this rule. - -## Related To - -- [`no-empty-object-type`](./no-empty-object-type.mdx) -- [`no-unsafe-function-type`](./no-unsafe-function-type.mdx) -- [`no-wrapper-object-types`](./no-wrapper-object-types.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.mdx deleted file mode 100644 index ecd105f6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.mdx +++ /dev/null @@ -1,110 +0,0 @@ ---- -description: 'Disallow variable declarations from shadowing variables declared in the outer scope.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-shadow** for documentation. - -This rule extends the base [`eslint/no-shadow`](https://eslint.org/docs/rules/no-shadow) rule. -It adds support for TypeScript's `this` parameters and global augmentation, and adds options for TypeScript features. - -## Options - -This rule adds the following options: - -```ts -interface Options extends BaseNoShadowOptions { - ignoreTypeValueShadow?: boolean; - ignoreFunctionTypeParameterNameValueShadow?: boolean; -} - -const defaultOptions: Options = { - ...baseNoShadowDefaultOptions, - ignoreTypeValueShadow: true, - ignoreFunctionTypeParameterNameValueShadow: true, -}; -``` - -### `ignoreTypeValueShadow` - -{/* insert option description */} - -This is generally safe because you cannot use variables in type locations without a `typeof` operator, so there's little risk of confusion. - -Examples of **correct** code with `{ ignoreTypeValueShadow: true }`: - -```ts option='{ "ignoreTypeValueShadow": true }' showPlaygroundButton -type Foo = number; -interface Bar { - prop: number; -} - -function f() { - const Foo = 1; - const Bar = 'test'; -} -``` - -:::note - -_Shadowing_ specifically refers to two identical identifiers that are in different, nested scopes. This is different from _redeclaration_, which is when two identical identifiers are in the same scope. Redeclaration is covered by the [`no-redeclare`](./no-redeclare.mdx) rule instead. - -::: - -### `ignoreFunctionTypeParameterNameValueShadow` - -{/* insert option description */} - -Each of a function type's arguments creates a value variable within the scope of the function type. This is done so that you can reference the type later using the `typeof` operator: - -```ts -type Func = (test: string) => typeof test; - -declare const fn: Func; -const result = fn('str'); // typeof result === string -``` - -This means that function type arguments shadow value variable names in parent scopes: - -```ts -let test = 1; -type TestType = typeof test; // === number -type Func = (test: string) => typeof test; // this "test" references the argument, not the variable - -declare const fn: Func; -const result = fn('str'); // typeof result === string -``` - -If you do not use the `typeof` operator in a function type return type position, you can safely turn this option on. - -Examples of **correct** code with `{ ignoreFunctionTypeParameterNameValueShadow: true }`: - -```ts option='{ "ignoreFunctionTypeParameterNameValueShadow": true }' showPlaygroundButton -const test = 1; -type Func = (test: string) => typeof test; -``` - -## FAQ - -### Why does the rule report on enum members that share the same name as a variable in a parent scope? - -Reporting on this case isn't a bug - it is completely intentional and correct reporting! The rule reports due to a relatively unknown feature of enums - enum members create a variable within the enum scope so that they can be referenced within the enum without a qualifier. - -To illustrate this with an example: - -```ts -const A = 2; -enum Test { - A = 1, - B = A, -} - -console.log(Test.B); -// what should be logged? -``` - -Naively looking at the above code, it might look like the log should output `2`, because the outer variable `A`'s value is `2` - however, the code instead outputs `1`, which is the value of `Test.A`. This is because the unqualified code `B = A` is equivalent to the fully-qualified code `B = Test.A`. Due to this behavior, the enum member has **shadowed** the outer variable declaration. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.mdx deleted file mode 100644 index f5a9c86f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.mdx +++ /dev/null @@ -1,124 +0,0 @@ ---- -description: 'Disallow aliasing `this`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-this-alias** for documentation. - -Assigning a variable to `this` instead of properly using arrow lambdas may be a symptom of pre-ES6 practices -or not managing scope well. - -## Examples - - - - -```ts -const self = this; - -setTimeout(function () { - self.doWork(); -}); -``` - - - - -```ts -setTimeout(() => { - this.doWork(); -}); -``` - - - - -## Options - -### `allowDestructuring` - -{/* insert option description */} - -It can sometimes be useful to destructure properties from a class instance, such as retrieving multiple properties from the instance in one of its methods. -`allowDestructuring` allows those destructures and is `true` by default. -You can explicitly disallow them by setting `allowDestructuring` to `false`. - -Examples of code for the `{ "allowDestructuring": false }` option: - - - - -```ts option='{ "allowDestructuring": false }' -class ComponentLike { - props: unknown; - state: unknown; - - render() { - const { props, state } = this; - - console.log(props); - console.log(state); - } -} -``` - - - - -```ts option='{ "allowDestructuring": false }' -class ComponentLike { - props: unknown; - state: unknown; - - render() { - console.log(this.props); - console.log(this.state); - } -} -``` - - - - -### `allowedNames` - -{/* insert option description */} - -`no-this-alias` can alternately be used to allow only a specific list of names as `this` aliases. -We recommend against this except as a transitory step towards fixing all rule violations. - -Examples of code for the `{ "allowedNames": ["self"] }` option: - - - - -```ts option='{ "allowedNames": ["self"] }' -class Example { - method() { - const that = this; - } -} -``` - - - - -```ts option='{ "allowedNames": ["self"] }' -class Example { - method() { - const self = this; - } -} -``` - - - - -## When Not To Use It - -If your project is structured in a way that it needs to assign `this` to variables, this rule is likely not for you. -If only a subset of your project assigns `this` to variables then you might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.mdx deleted file mode 100644 index 3142deb7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.mdx +++ /dev/null @@ -1,626 +0,0 @@ ---- -description: 'Disallow type aliases.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-type-alias** for documentation. - -:::danger Deprecated - -This rule has been deprecated in favour of the [`@typescript-eslint/consistent-type-definitions`](./consistent-type-definitions.mdx) rule. -TypeScript type aliases are a commonly necessary language feature; banning it altogether is oftentimes counterproductive. - -::: - -:::note - -If you want to ban certain classifications of type aliases, consider using [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax). -See [Troubleshooting & FAQs](/troubleshooting/faqs/general#how-can-i-ban-specific-language-feature). - -::: - -In TypeScript, type aliases serve three purposes: - -- Aliasing other types so that we can refer to them using a simpler name. - -```ts -// this... -type Person = { - firstName: string; - lastName: string; - age: number; -}; - -function addPerson(person: Person) { - // ... -} - -// is easier to read than this... -function addPerson(person: { - firstName: string; - lastName: string; - age: number; -}) { - // ... -} -``` - -- Act sort of like an interface, providing a set of methods and properties that must exist - in the objects implementing the type. - -```ts -type Person = { - firstName: string; - lastName: string; - age: number; - walk: () => void; - talk: () => void; -}; - -// you know person will have 3 properties and 2 methods, -// because the structure has already been defined. -var person: Person = { - // ... -}; - -// so we can be sure that this will work -person.walk(); -``` - -- Act like mapping tools between types to allow quick modifications. - -```ts -type Immutable = { readonly [P in keyof T]: T[P] }; - -type Person = { - name: string; - age: number; -}; - -type ImmutablePerson = Immutable; - -var person: ImmutablePerson = { name: 'John', age: 30 }; -person.name = 'Brad'; // error, readonly property -``` - -When aliasing, the type alias does not create a new type, it just creates a new name -to refer to the original type. So aliasing primitives and other simple types, tuples, unions -or intersections can some times be redundant. - -```ts -// this doesn't make much sense -type myString = string; -``` - -On the other hand, using a type alias as an interface can limit your ability to: - -- Reuse your code: interfaces can be extended or implemented by other types. Type aliases cannot. -- Debug your code: interfaces create a new name, so is easy to identify the base type of an object - while debugging the application. - -Finally, mapping types is an advanced technique and leaving it open can quickly become a pain point -in your application. - -## Examples - -This rule disallows the use of type aliases in favor of interfaces -and simplified types (primitives, tuples, unions, intersections, etc). - -## Options - -### `allowAliases` - -{/* insert option description */} - -The setting accepts the following values: - -- `"always"` or `"never"` to active or deactivate the feature. -- `"in-unions"`, allows aliasing in union statements, e.g. `type Foo = string | string[];` -- `"in-intersections"`, allows aliasing in intersection statements, e.g. `type Foo = string & string[];` -- `"in-unions-and-intersections"`, allows aliasing in union and/or intersection statements. - -Examples of **correct** code for the `{ "allowAliases": "always" }` options: - -```ts option='{ "allowAliases": "always" }' showPlaygroundButton -// primitives -type Foo = 'a'; - -type Foo = 'a' | 'b'; - -type Foo = string; - -type Foo = string | string[]; - -type Foo = string & string[]; - -type Foo = `foo-${number}`; - -// reference types -interface Bar {} -class Baz implements Bar {} - -type Foo = Bar; - -type Foo = Bar | Baz; - -type Foo = Bar & Baz; -``` - -Examples of **incorrect** code for the `{ "allowAliases": "in-unions" }` option: - -```ts option='{ "allowAliases": "in-unions" }' showPlaygroundButton -// primitives -type Foo = 'a'; - -type Foo = string; - -type Foo = string & string[]; - -type Foo = `foo-${number}`; - -// reference types -interface Bar {} -class Baz implements Bar {} - -type Foo = Bar; - -type Foo = Bar & Baz; -``` - -Examples of **correct** code for the `{ "allowAliases": "in-unions" }` option: - -```ts option='{ "allowAliases": "in-unions" }' showPlaygroundButton -// primitives -type Foo = 'a' | 'b'; - -type Foo = string | string[]; - -type Foo = `a-${number}` | `b-${number}`; - -// reference types -interface Bar {} -class Baz implements Bar {} - -type Foo = Bar | Baz; -``` - -Examples of **incorrect** code for the `{ "allowAliases": "in-intersections" }` option: - -```ts option='{ "allowAliases": "in-intersections" }' showPlaygroundButton -// primitives -type Foo = 'a'; - -type Foo = 'a' | 'b'; - -type Foo = string; - -type Foo = string | string[]; - -type Foo = `a-${number}` | `b-${number}`; - -// reference types -interface Bar {} -class Baz implements Bar {} - -type Foo = Bar; - -type Foo = Bar | Baz; -``` - -Examples of **correct** code for the `{ "allowAliases": "in-intersections" }` option: - -```ts option='{ "allowAliases": "in-intersections" }' showPlaygroundButton -// primitives -type Foo = string & string[]; - -type Foo = `a-${number}` & `b-${number}`; - -// reference types -interface Bar {} -class Baz implements Bar {} - -type Foo = Bar & Baz; -``` - -Examples of **incorrect** code for the `{ "allowAliases": "in-unions-and-intersections" }` option: - -```ts option='{ "allowAliases": "in-unions-and-intersections" }' showPlaygroundButton -// primitives -type Foo = 'a'; - -type Foo = string; - -type Foo = `foo-${number}`; - -// reference types -interface Bar {} -class Baz implements Bar {} - -type Foo = Bar; -``` - -Examples of **correct** code for the `{ "allowAliases": "in-unions-and-intersections" }` option: - -```ts option='{ "allowAliases": "in-unions-and-intersections" }' showPlaygroundButton -// primitives -type Foo = 'a' | 'b'; - -type Foo = string | string[]; - -type Foo = string & string[]; - -type Foo = `a-${number}` & `b-${number}`; - -type Foo = `a-${number}` | `b-${number}`; - -// reference types -interface Bar {} -class Baz implements Bar {} - -type Foo = Bar | Baz; - -type Foo = Bar & Baz; -``` - -### `allowCallbacks` - -{/* insert option description */} - -The setting accepts the following values: - -- `"always"` or `"never"` to active or deactivate the feature. - -Examples of **correct** code for the `{ "allowCallbacks": "always" }` option: - -```ts option='{ "allowCallbacks": "always" }' showPlaygroundButton -type Foo = () => void; - -type Foo = (name: string) => string; - -class Person {} - -type Foo = (name: string, age: number) => string | Person; - -type Foo = (name: string, age: number) => string & Person; -``` - -### `allowConditionalTypes` - -{/* insert option description */} - -Examples of **correct** code for the `{ "allowConditionalTypes": "always" }` option: - -```ts option='{ "allowConditionalTypes": "always" }' showPlaygroundButton -type Foo = T extends number ? number : null; -``` - -### `allowConstructors` - -{/* insert option description */} - -The setting accepts the following values: - -- `"always"` or `"never"` to active or deactivate the feature. - -Examples of **correct** code for the `{ "allowConstructors": "always" }` option: - -```ts option='{ "allowConstructors": "always" }' showPlaygroundButton -type Foo = new () => void; -``` - -### `allowLiterals` - -{/* insert option description */} - -The setting accepts the following options: - -- `"always"` or `"never"` to active or deactivate the feature. -- `"in-unions"`, allows literals in union statements, e.g. `type Foo = string | string[];` -- `"in-intersections"`, allows literals in intersection statements, e.g. `type Foo = string & string[];` -- `"in-unions-and-intersections"`, allows literals in union and/or intersection statements. - -Examples of **correct** code for the `{ "allowLiterals": "always" }` options: - -```ts option='{ "allowLiterals": "always" }' showPlaygroundButton -type Foo = {}; - -type Foo = { - name: string; - age: number; -}; - -type Foo = { - name: string; - age: number; - walk: (miles: number) => void; -}; - -type Foo = { name: string } | { age: number }; - -type Foo = { name: string } & { age: number }; -``` - -Examples of **incorrect** code for the `{ "allowLiterals": "in-unions" }` option: - -```ts option='{ "allowLiterals": "in-unions" }' showPlaygroundButton -type Foo = {}; - -type Foo = { - name: string; - age: number; -}; - -type Foo = { - name: string; - age: number; - walk: (miles: number) => void; -}; - -type Foo = { name: string } & { age: number }; -``` - -Examples of **correct** code for the `{ "allowLiterals": "in-unions" }` option: - -```ts option='{ "allowLiterals": "in-unions" }' showPlaygroundButton -type Foo = { name: string } | { age: number }; -``` - -Examples of **incorrect** code for the `{ "allowLiterals": "in-intersections" }` option: - -```ts option='{ "allowLiterals": "in-intersections" }' showPlaygroundButton -type Foo = {}; - -type Foo = { - name: string; - age: number; -}; - -type Foo = { - name: string; - age: number; - walk: (miles: number) => void; -}; - -type Foo = { name: string } | { age: number }; -``` - -Examples of **correct** code for the `{ "allowLiterals": "in-intersections" }` option: - -```ts option='{ "allowLiterals": "in-intersections" }' showPlaygroundButton -type Foo = { name: string } & { age: number }; -``` - -Examples of **incorrect** code for the `{ "allowLiterals": "in-unions-and-intersections" }` option: - -```ts option='{ "allowLiterals": "in-unions-and-intersections" }' showPlaygroundButton -type Foo = {}; - -type Foo = { - name: string; - age: number; -}; - -type Foo = { - name: string; - age: number; - walk: (miles: number) => void; -}; -``` - -Examples of **correct** code for the `{ "allowLiterals": "in-unions-and-intersections" }` option: - -```ts option='{ "allowLiterals": "in-unions-and-intersections" }' showPlaygroundButton -type Foo = { name: string } | { age: number }; - -type Foo = { name: string } & { age: number }; -``` - -### `allowMappedTypes` - -{/* insert option description */} - -The setting accepts the following values: - -- `"always"` or `"never"` to active or deactivate the feature. -- `"in-unions"`, allows aliasing in union statements, e.g. `type Foo = string | string[];` -- `"in-intersections"`, allows aliasing in intersection statements, e.g. `type Foo = string & string[];` -- `"in-unions-and-intersections"`, allows aliasing in union and/or intersection statements. - -Examples of **correct** code for the `{ "allowMappedTypes": "always" }` options: - -```ts option='{ "allowMappedTypes": "always" }' showPlaygroundButton -type Foo = { readonly [P in keyof T]: T[P] }; - -type Foo = { [P in keyof T]?: T[P] }; - -type Foo = - | { readonly [P in keyof T]: T[P] } - | { readonly [P in keyof U]: U[P] }; - -type Foo = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] }; - -type Foo = { readonly [P in keyof T]: T[P] } & { - readonly [P in keyof U]: U[P]; -}; - -type Foo = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] }; -``` - -Examples of **incorrect** code for the `{ "allowMappedTypes": "in-unions" }` option: - -```ts option='{ "allowMappedTypes": "in-unions" }' showPlaygroundButton -type Foo = { readonly [P in keyof T]: T[P] }; - -type Foo = { [P in keyof T]?: T[P] }; - -type Foo = { readonly [P in keyof T]: T[P] } & { - readonly [P in keyof U]: U[P]; -}; - -type Foo = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] }; -``` - -Examples of **correct** code for the `{ "allowMappedTypes": "in-unions" }` option: - -```ts option='{ "allowMappedTypes": "in-unions" }' showPlaygroundButton -type Foo = - | { readonly [P in keyof T]: T[P] } - | { readonly [P in keyof U]: U[P] }; - -type Foo = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] }; -``` - -Examples of **incorrect** code for the `{ "allowMappedTypes": "in-intersections" }` option: - -```ts option='{ "allowMappedTypes": "in-intersections" }' showPlaygroundButton -type Foo = { readonly [P in keyof T]: T[P] }; - -type Foo = { [P in keyof T]?: T[P] }; - -type Foo = - | { readonly [P in keyof T]: T[P] } - | { readonly [P in keyof U]: U[P] }; - -type Foo = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] }; -``` - -Examples of **correct** code for the `{ "allowMappedTypes": "in-intersections" }` option: - -```ts option='{ "allowMappedTypes": "in-intersections" }' showPlaygroundButton -type Foo = { readonly [P in keyof T]: T[P] } & { - readonly [P in keyof U]: U[P]; -}; - -type Foo = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] }; -``` - -Examples of **incorrect** code for the `{ "allowMappedTypes": "in-unions-and-intersections" }` option: - -```ts option='{ "allowMappedTypes": "in-unions-and-intersections" }' showPlaygroundButton -type Foo = { readonly [P in keyof T]: T[P] }; - -type Foo = { [P in keyof T]?: T[P] }; -``` - -Examples of **correct** code for the `{ "allowMappedTypes": "in-unions-and-intersections" }` option: - -```ts option='{ "allowMappedTypes": "in-unions-and-intersections" }' showPlaygroundButton -type Foo = - | { readonly [P in keyof T]: T[P] } - | { readonly [P in keyof U]: U[P] }; - -type Foo = { [P in keyof T]?: T[P] } | { [P in keyof U]?: U[P] }; - -type Foo = { readonly [P in keyof T]: T[P] } & { - readonly [P in keyof U]: U[P]; -}; - -type Foo = { [P in keyof T]?: T[P] } & { [P in keyof U]?: U[P] }; -``` - -### `allowTupleTypes` - -{/* insert option description */} - -The setting accepts the following options: - -- `"always"` or `"never"` to active or deactivate the feature. -- `"in-unions"`, allows tuples in union statements, e.g. `type Foo = [string] | [string, string];` -- `"in-intersections"`, allows tuples in intersection statements, e.g. `type Foo = [string] & [string, string];` -- `"in-unions-and-intersections"`, allows tuples in union and/or intersection statements. - -Examples of **correct** code for the `{ "allowTupleTypes": "always" }` options: - -```ts option='{ "allowTupleTypes": "always" }' showPlaygroundButton -type Foo = [number]; - -type Foo = [number] | [number, number]; - -type Foo = [number] & [number, number]; - -type Foo = [number] | ([number, number] & [string, string]); -``` - -Examples of **incorrect** code for the `{ "allowTupleTypes": "in-unions" }` option: - -```ts option='{ "allowTupleTypes": "in-unions" }' showPlaygroundButton -type Foo = [number]; - -type Foo = [number] & [number, number]; - -type Foo = [string] & [number]; -``` - -Examples of **correct** code for the `{ "allowTupleTypes": "in-unions" }` option: - -```ts option='{ "allowTupleTypes": "in-unions" }' showPlaygroundButton -type Foo = [number] | [number, number]; - -type Foo = [string] | [number]; -``` - -Examples of **incorrect** code for the `{ "allowTupleTypes": "in-intersections" }` option: - -```ts option='{ "allowTupleTypes": "in-intersections" }' showPlaygroundButton -type Foo = [number]; - -type Foo = [number] | [number, number]; - -type Foo = [string] | [number]; -``` - -Examples of **correct** code for the `{ "allowTupleTypes": "in-intersections" }` option: - -```ts option='{ "allowTupleTypes": "in-intersections" }' showPlaygroundButton -type Foo = [number] & [number, number]; - -type Foo = [string] & [number]; -``` - -Examples of **incorrect** code for the `{ "allowTupleTypes": "in-unions-and-intersections" }` option: - -```ts option='{ "allowTupleTypes": "in-unions-and-intersections" }' showPlaygroundButton -type Foo = [number]; - -type Foo = [string]; -``` - -Examples of **correct** code for the `{ "allowTupleTypes": "in-unions-and-intersections" }` option: - -```ts option='{ "allowTupleTypes": "in-unions-and-intersections" }' showPlaygroundButton -type Foo = [number] & [number, number]; - -type Foo = [string] | [number]; -``` - -### `allowGenerics` - -{/* insert option description */} - -The setting accepts the following options: - -- `"always"` or `"never"` to active or deactivate the feature. - -Examples of **correct** code for the `{ "allowGenerics": "always" }` options: - -```ts option='{ "allowGenerics": "always" }' showPlaygroundButton -type Foo = Bar; - -type Foo = Record; - -type Foo = Readonly; - -type Foo = Partial; - -type Foo = Omit; -``` - -{/* Intentionally Omitted: When Not To Use It */} - -## Further Reading - -- [Advanced Types](https://www.typescriptlang.org/docs/handbook/advanced-types.html) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.mdx deleted file mode 100644 index 16462771..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.mdx +++ /dev/null @@ -1,149 +0,0 @@ ---- -description: 'Disallow unnecessary equality comparisons against boolean literals.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare** for documentation. - -Comparing boolean values to boolean literals is unnecessary: those comparisons result in the same booleans. -Using the boolean values directly, or via a unary negation (`!value`), is more concise and clearer. - -This rule ensures that you do not include unnecessary comparisons with boolean literals. -A comparison is considered unnecessary if it checks a boolean literal against any variable with just the `boolean` type. -A comparison is **_not_** considered unnecessary if the type is a union of booleans (`string | boolean`, `SomeObject | boolean`, etc.). - -## Examples - -:::note -Throughout this page, only strict equality (`===` and `!==`) are used in the examples. -However, the implementation of the rule does not distinguish between strict and loose equality. -Any example below that uses `===` would be treated the same way if `==` was used, and `!==` would be treated the same way if `!=` was used. -::: - - - - -```ts -declare const someCondition: boolean; -if (someCondition === true) { -} -``` - - - - -```ts -declare const someCondition: boolean; -if (someCondition) { -} - -declare const someObjectBoolean: boolean | Record; -if (someObjectBoolean === true) { -} - -declare const someStringBoolean: boolean | string; -if (someStringBoolean === true) { -} -``` - - - - -## Options - -This rule always checks comparisons between a boolean variable and a boolean -literal. Comparisons between nullable boolean variables and boolean literals -are **not** checked by default. - -### `allowComparingNullableBooleansToTrue` - -{/* insert option description */} - -Examples of code for this rule with `{ allowComparingNullableBooleansToTrue: false }`: - - - - -```ts option='{ "allowComparingNullableBooleansToTrue": false }' -declare const someUndefinedCondition: boolean | undefined; -if (someUndefinedCondition === true) { -} - -declare const someNullCondition: boolean | null; -if (someNullCondition !== true) { -} -``` - - - - -```ts option='{ "allowComparingNullableBooleansToTrue": false }' -declare const someUndefinedCondition: boolean | undefined; -if (someUndefinedCondition) { -} - -declare const someNullCondition: boolean | null; -if (!someNullCondition) { -} -``` - - - - -### `allowComparingNullableBooleansToFalse` - -{/* insert option description */} - -Examples of code for this rule with `{ allowComparingNullableBooleansToFalse: false }`: - - - - -```ts option='{ "allowComparingNullableBooleansToFalse": false }' -declare const someUndefinedCondition: boolean | undefined; -if (someUndefinedCondition === false) { -} - -declare const someNullCondition: boolean | null; -if (someNullCondition !== false) { -} -``` - - - - -```ts option='{ "allowComparingNullableBooleansToFalse": false }' -declare const someUndefinedCondition: boolean | undefined; -if (!(someUndefinedCondition ?? true)) { -} - -declare const someNullCondition: boolean | null; -if (someNullCondition ?? true) { -} -``` - - - - -## Fixer - -| Comparison | Fixer Output | Notes | -| :----------------------------: | ------------------------------- | ----------------------------------------------------------------------------------- | -| `booleanVar === true` | `booleanVar` | | -| `booleanVar !== true` | `!booleanVar` | | -| `booleanVar === false` | `!booleanVar` | | -| `booleanVar !== false` | `booleanVar` | | -| `nullableBooleanVar === true` | `nullableBooleanVar` | Only checked/fixed if the `allowComparingNullableBooleansToTrue` option is `false` | -| `nullableBooleanVar !== true` | `!nullableBooleanVar` | Only checked/fixed if the `allowComparingNullableBooleansToTrue` option is `false` | -| `nullableBooleanVar === false` | `!(nullableBooleanVar ?? true)` | Only checked/fixed if the `allowComparingNullableBooleansToFalse` option is `false` | -| `nullableBooleanVar !== false` | `nullableBooleanVar ?? true` | Only checked/fixed if the `allowComparingNullableBooleansToFalse` option is `false` | - -## When Not To Use It - -Do not use this rule when `strictNullChecks` is disabled. -ESLint is not able to distinguish between `false` and `undefined` or `null` values. -This can cause unintended code changes when using autofix. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.mdx deleted file mode 100644 index 06cfc9eb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.mdx +++ /dev/null @@ -1,176 +0,0 @@ ---- -description: 'Disallow conditionals where the type is always truthy or always falsy.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-condition** for documentation. - -Any expression being used as a condition must be able to evaluate as truthy or falsy in order to be considered "necessary". -Conversely, any expression that always evaluates to truthy or always evaluates to falsy, as determined by the type of the expression, is considered unnecessary and will be flagged by this rule. - -The following expressions are checked: - -- Arguments to the `&&`, `||` and `?:` (ternary) operators -- Conditions for `if`, `for`, `while`, and `do-while` statements -- `case`s in `switch` statements -- Base values of optional chain expressions - -## Examples - - - - -```ts -function head(items: T[]) { - // items can never be nullable, so this is unnecessary - if (items) { - return items[0].toUpperCase(); - } -} - -function foo(arg: 'bar' | 'baz') { - // arg is never nullable or empty string, so this is unnecessary - if (arg) { - } -} - -function bar(arg: string) { - // arg can never be nullish, so ?. is unnecessary - return arg?.length; -} - -// Checks array predicate return types, where possible -[ - [1, 2], - [3, 4], -].filter(t => t); // number[] is always truthy -``` - - - - -```ts -function head(items: T[]) { - // Necessary, since items.length might be 0 - if (items.length) { - return items[0].toUpperCase(); - } -} - -function foo(arg: string) { - // Necessary, since foo might be ''. - if (arg) { - } -} - -function bar(arg?: string | null) { - // Necessary, since arg might be nullish - return arg?.length; -} - -[0, 1, 2, 3].filter(t => t); // number can be truthy or falsy -``` - - - - -## Options - -### `allowConstantLoopConditions` - -{/* insert option description */} - -Example of correct code for `{ allowConstantLoopConditions: true }`: - -```ts option='{ "allowConstantLoopConditions": true }' showPlaygroundButton -while (true) {} -for (; true; ) {} -do {} while (true); -``` - -### `checkTypePredicates` - -{/* insert option description */} - -Example of additional incorrect code with `{ checkTypePredicates: true }`: - -```ts option='{ "checkTypePredicates": true }' showPlaygroundButton -function assert(condition: unknown): asserts condition { - if (!condition) { - throw new Error('Condition is falsy'); - } -} - -assert(false); // Unnecessary; condition is always falsy. - -const neverNull = {}; -assert(neverNull); // Unnecessary; condition is always truthy. - -function isString(value: unknown): value is string { - return typeof value === 'string'; -} - -declare const s: string; - -// Unnecessary; s is always a string. -if (isString(s)) { -} - -function assertIsString(value: unknown): asserts value is string { - if (!isString(value)) { - throw new Error('Value is not a string'); - } -} - -assertIsString(s); // Unnecessary; s is always a string. -``` - -Whether this option makes sense for your project may vary. -Some projects may intentionally use type predicates to ensure that runtime values do indeed match the types according to TypeScript, especially in test code. -Often, it makes sense to use eslint-disable comments in these cases, with a comment indicating why the condition should be checked at runtime, despite appearing unnecessary. -However, in some contexts, it may be more appropriate to keep this option disabled entirely. - -### `allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing` - -{/* insert option description */} - -:::danger Deprecated -This option will be removed in the next major version of typescript-eslint. -::: - -If this is set to `false`, then the rule will error on every file whose `tsconfig.json` does _not_ have the `strictNullChecks` compiler option (or `strict`) set to `true`. - -Without `strictNullChecks`, TypeScript essentially erases `undefined` and `null` from the types. This means when this rule inspects the types from a variable, **it will not be able to tell that the variable might be `null` or `undefined`**, which essentially makes this rule useless. - -You should be using `strictNullChecks` to ensure complete type-safety in your codebase. - -If for some reason you cannot turn on `strictNullChecks`, but still want to use this rule - you can use this option to allow it - but know that the behavior of this rule is _undefined_ with the compiler option turned off. We will not accept bug reports if you are using this option. - -## When Not To Use It - -If your project is not accurately typed, such as if it's in the process of being converted to TypeScript or is susceptible to [trade-offs in control flow analysis](https://github.com/Microsoft/TypeScript/issues/9998), it may be difficult to enable this rule for particularly non-type-safe areas of code. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -This rule has a known edge case of triggering on conditions that were modified within function calls (as side effects). -It is due to limitations of TypeScript's type narrowing. -See [#9998](https://github.com/microsoft/TypeScript/issues/9998) for details. -We recommend using a [type assertion](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-assertions) in those cases. - -```ts -let condition = false as boolean; - -const f = () => (condition = true); -f(); - -if (condition) { -} -``` - -## Related To - -- ESLint: [no-constant-condition](https://eslint.org/docs/rules/no-constant-condition) - `no-unnecessary-condition` is essentially a stronger version of `no-constant-condition`, but requires type information. -- [strict-boolean-expressions](./strict-boolean-expressions.mdx) - a more opinionated version of `no-unnecessary-condition`. `strict-boolean-expressions` enforces a specific code style, while `no-unnecessary-condition` is about correctness. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-parameter-property-assignment.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-parameter-property-assignment.mdx deleted file mode 100644 index 836ac8bd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-parameter-property-assignment.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -description: 'Disallow unnecessary assignment of constructor property parameter.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment** for documentation. - -[TypeScript's parameter properties](https://www.typescriptlang.org/docs/handbook/2/classes.html#parameter-properties) allow creating and initializing a member in one place. -Therefore, in most cases, it is not necessary to assign parameter properties of the same name to members within a constructor. - -## Examples - - - - -```ts -class Foo { - constructor(public bar: string) { - this.bar = bar; - } -} -``` - - - - -```ts -class Foo { - constructor(public bar: string) {} -} -``` - - - - -## When Not To Use It - -If you don't use parameter properties, you can ignore this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.mdx deleted file mode 100644 index aaf5edb8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.mdx +++ /dev/null @@ -1,57 +0,0 @@ ---- -description: 'Disallow unnecessary namespace qualifiers.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-qualifier** for documentation. - -Members of TypeScript enums and namespaces are generally retrieved as qualified property lookups: e.g. `Enum.member`. -However, when accessed within their parent enum or namespace, the qualifier is unnecessary: e.g. just `member` instead of `Enum.member`. -This rule reports when an enum or namespace qualifier is unnecessary. - -## Examples - - - - -```ts -enum A { - B, - C = A.B, -} -``` - -```ts -namespace A { - export type B = number; - const x: A.B = 3; -} -``` - - - - -```ts -enum A { - B, - C = B, -} -``` - -```ts -namespace A { - export type B = number; - const x: B = 3; -} -``` - - - - -## When Not To Use It - -If you explicitly prefer to use fully qualified names, such as for explicitness, then you don't need to use this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-template-expression.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-template-expression.mdx deleted file mode 100644 index 1fe39d41..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-template-expression.mdx +++ /dev/null @@ -1,85 +0,0 @@ ---- -description: 'Disallow unnecessary template expressions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-template-expression** for documentation. - -This rule reports template literals that contain substitution expressions (also variously referred to as embedded expressions or string interpolations) that are unnecessary and can be simplified. - -:::info[Migration from `no-useless-template-literals`] - -This rule was formerly known as [`no-useless-template-literals`](./no-useless-template-literals.mdx). -The new name is a drop-in replacement with identical functionality. - -::: - -## Examples - - - - -```ts -// Static values can be incorporated into the surrounding template. - -const ab1 = `${'a'}${'b'}`; -const ab2 = `a${'b'}`; - -const stringWithNumber = `${'1 + 1 = '}${2}`; - -const stringWithBoolean = `${'true is '}${true}`; - -// Some simple expressions that are already strings -// can be rewritten without a template at all. - -const text = 'a'; -const wrappedText = `${text}`; - -declare const intersectionWithString: string & { _brand: 'test-brand' }; -const wrappedIntersection = `${intersectionWithString}`; -``` - - - - -```ts -// Static values can be incorporated into the surrounding template. - -const ab1 = `ab`; -const ab2 = `ab`; - -const stringWithNumber = `1 + 1 = 2`; - -const stringWithBoolean = `true is true`; - -// Some simple expressions that are already strings -// can be rewritten without a template at all. - -const text = 'a'; -const wrappedText = text; - -declare const intersectionWithString: string & { _brand: 'test-brand' }; -const wrappedIntersection = intersectionWithString; -``` - - - - -:::info -This rule does not aim to flag template literals without substitution expressions that could have been written as an ordinary string. -That is to say, this rule will not help you turn `` `this` `` into `"this"`. -If you are looking for such a rule, you can configure the [`@stylistic/ts/quotes`](https://eslint.style/rules/ts/quotes) rule to do this. -::: - -## When Not To Use It - -When you want to allow string expressions inside template literals. - -## Related To - -- [`restrict-template-expressions`](./restrict-template-expressions.mdx) -- [`@stylistic/ts/quotes`](https://eslint.style/rules/ts/quotes) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.mdx deleted file mode 100644 index 875b4f47..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.mdx +++ /dev/null @@ -1,85 +0,0 @@ ---- -description: 'Disallow type arguments that are equal to the default.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-type-arguments** for documentation. - -Type parameters in TypeScript may specify a default value. -For example: - -```ts -function f(/* ... */) { - // ... -} -``` - -It is redundant to provide an explicit type parameter equal to that default: e.g. calling `f(...)`. -This rule reports when an explicitly specified type argument is the default for that type parameter. - -## Examples - - - - -```ts -function f() {} -f(); -``` - -```ts -function g() {} -g(); -``` - -```ts -class C {} -new C(); - -class D extends C {} -``` - -```ts -interface I {} -class Impl implements I {} -``` - - - - -```ts -function f() {} -f(); -f(); -``` - -```ts -function g() {} -g(); -g(); -``` - -```ts -class C {} -new C(); -new C(); - -class D extends C {} -class D extends C {} -``` - -```ts -interface I {} -class Impl implements I {} -``` - - - - -## When Not To Use It - -If you prefer explicitly specifying type parameters even when they are equal to the default, you can skip this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.mdx deleted file mode 100644 index 497f8431..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.mdx +++ /dev/null @@ -1,89 +0,0 @@ ---- -description: 'Disallow type assertions that do not change the type of an expression.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-type-assertion** for documentation. - -TypeScript can be told an expression is a different type than expected using `as` type assertions. -Leaving `as` assertions in the codebase increases visual clutter and harms code readability, so it's generally best practice to remove them if they don't change the type of an expression. -This rule reports when a type assertion does not change the type of an expression. - -## Examples - - - - -```ts -const foo = 3; -const bar = foo!; -``` - -```ts -const foo = (3 + 5); -``` - -```ts -type Foo = number; -const foo = (3 + 5); -``` - -```ts -type Foo = number; -const foo = (3 + 5) as Foo; -``` - -```ts -const foo = 'foo' as const; -``` - -```ts -function foo(x: number): number { - return x!; // unnecessary non-null -} -``` - - - - -```ts -const foo = 3; -``` - -```ts -const foo = 3 as number; -``` - -```ts -let foo = 'foo' as const; -``` - -```ts -function foo(x: number | undefined): number { - return x!; -} -``` - - - - -## Options - -### `typesToIgnore` - -{/* insert option description */} - -With `@typescript-eslint/no-unnecessary-type-assertion: ["error", { typesToIgnore: ['Foo'] }]`, the following is **correct** code: - -```ts option='{ "typesToIgnore": ["Foo"] }' showPlaygroundButton -type Foo = 3; -const foo: Foo = 3; -``` - -## When Not To Use It - -If you don't care about having no-op type assertions in your code, then you can turn off this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.mdx deleted file mode 100644 index ba52d4b9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.mdx +++ /dev/null @@ -1,61 +0,0 @@ ---- -description: 'Disallow unnecessary constraints on generic types.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-type-constraint** for documentation. - -Generic type parameters (``) in TypeScript may be "constrained" with an [`extends` keyword](https://www.typescriptlang.org/docs/handbook/generics.html#generic-constraints). -When no `extends` is provided, type parameters default a constraint to `unknown`. -It is therefore redundant to `extend` from `any` or `unknown`. - -## Examples - - - - -```ts -interface FooAny {} - -interface FooUnknown {} - -type BarAny = {}; - -type BarUnknown = {}; - -class BazAny { - quxAny() {} -} - -const QuuxAny = () => {}; - -function QuuzAny() {} -``` - - - - -```ts -interface Foo {} - -type Bar = {}; - -class Baz { - qux() {} -} - -const Quux = () => {}; - -function Quuz() {} -``` - - - - -## When Not To Use It - -If you don't care about the specific styles of your type constraints, or never use them in the first place, then you will not need this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-parameters.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-parameters.mdx deleted file mode 100644 index c27da761..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-parameters.mdx +++ /dev/null @@ -1,235 +0,0 @@ ---- -description: "Disallow type parameters that aren't used multiple times." ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unnecessary-type-parameters** for documentation. - -This rule forbids type parameters that aren't used multiple times in a function, method, or class definition. - -Type parameters relate two types. -If a type parameter is only used once, then it is not relating anything. -It can usually be replaced with explicit types such as `unknown`. - -At best unnecessary type parameters make code harder to read. -At worst they can be used to disguise unsafe type assertions. - -:::warning -This rule was recently added, and has a surprising amount of hidden complexity compared to most of our rules. If you encounter unexpected behavior with it, please check closely the [Limitations](#limitations) and [FAQ](#faq) sections below and our [issue tracker](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+no-unnecessary-type-parameters). -If you don't see your case covered, please [reach out to us](https://typescript-eslint.io/contributing/issues)! -::: - -## Examples - - - - -```ts -function second(a: A, b: B): B { - return b; -} - -function parseJSON(input: string): T { - return JSON.parse(input); -} - -function printProperty(obj: T, key: K) { - console.log(obj[key]); -} -``` - - - - -```ts -function second(a: unknown, b: B): B { - return b; -} - -function parseJSON(input: string): unknown { - return JSON.parse(input); -} - -function printProperty(obj: T, key: keyof T) { - console.log(obj[key]); -} - -// T appears twice: in the type of arg and as the return type -function identity(arg: T): T { - return arg; -} - -// T appears twice: "keyof T" and in the inferred return type (T[K]). -// K appears twice: "key: K" and in the inferred return type (T[K]). -function getProperty(obj: T, key: K) { - return obj[key]; -} -``` - - - - -## Limitations - -Note that this rule allows any type parameter that is used multiple times, even if those uses are via a type argument. -For example, the following `T` is used multiple times by virtue of being in an `Array`, even though its name only appears once after declaration: - -```ts -declare function createStateHistory(): T[]; -``` - -This is because the type parameter `T` relates multiple methods in the `T[]` together, making it used more than once. - -Therefore, this rule won't report on type parameters used as a type argument. -That includes type arguments given to global types such as `Array` (including the `T[]` shorthand and in tuples), `Map`, and `Set`. - -## FAQ - -### The return type is only used as an input, so why isn't the rule reporting? - -One common reason that this might be the case is when the return type is not specified explicitly. -The rule uses uses type information to count implicit usages of the type parameter in the function signature, including in the inferred return type. -For example, the following function... - -```ts -function identity(arg: T) { - return arg; -} -``` - -...implicitly has a return type of `T`. Therefore, the type parameter `T` is used twice, and the rule will not report this function. - -For other reasons the rule might not be reporting, be sure to check the [Limitations section](#limitations) and other FAQs. - -### I'm using the type parameter inside the function, so why is the rule reporting? - -You might be surprised to that the rule reports on a function like this: - -```ts -function log(string1: T): void { - const string2: T = string1; - console.log(string2); -} -``` - -After all, the type parameter `T` relates the input `string1` and the local variable `string2`, right? -However, this usage is unnecessary, since we can achieve the same results by replacing all usages of the type parameter with its constraint. -That is to say, the function can always be rewritten as: - -```ts -function log(string1: string): void { - const string2: string = string1; - console.log(string2); -} -``` - -Therefore, this rule only counts usages of a type parameter in the _signature_ of a function, method, or class, but not in the implementation. See also [#9735](https://github.com/typescript-eslint/typescript-eslint/issues/9735) - -### Why am I getting TypeScript errors saying "Object literal may only specify known properties" after removing an unnecessary type parameter? - -Suppose you have a situation like the following, which will trigger the rule to report. - -```ts -interface SomeProperties { - foo: string; -} - -// T is only used once, so the rule will report. -function serialize(x: T): string { - return JSON.stringify(x); -} - -serialize({ foo: 'bar', anotherProperty: 'baz' }); -``` - -If we remove the unnecessary type parameter, we'll get an error: - -```ts -function serialize(x: SomeProperties): string { - return JSON.stringify(x); -} - -// TS Error: Object literal may only specify known properties, and 'anotherProperty' does not exist in type 'SomeProperties'. -serialize({ foo: 'bar', anotherProperty: 'baz' }); -``` - -This is because TypeScript figures it's _usually_ an error to explicitly provide excess properties in a location that expects a specific type. -See [the TypeScript handbook's section on excess property checks](https://www.typescriptlang.org/docs/handbook/2/objects.html#excess-property-checks) for further discussion. - -To resolve this, you have two approaches to choose from. - -1. If it doesn't make sense to accept excess properties in your function, you'll want to fix the errors at the call sites. Usually, you can simply remove any excess properties where the function is called. -2. Otherwise, if you do want your function to accept excess properties, you can modify the parameter type in order to allow excess properties explicitly by using an [index signature](https://www.typescriptlang.org/docs/handbook/2/objects.html#index-signatures): - - ```ts - interface SomeProperties { - foo: string; - - // This allows any other properties. - // You may wish to make these types more specific according to your use case. - [key: PropertKey]: unknown; - } - - function serialize(x: SomeProperties): string { - return JSON.stringify(x); - } - - // No error! - serialize({ foo: 'bar', anotherProperty: 'baz' }); - ``` - -Which solution is appropriate is a case-by-case decision, depending on the intended use case of your function. - -### I have a complex scenario that is reported by the rule, but I can't see how to remove the type parameter. What should I do? - -Sometimes, you may be able to rewrite the code by reaching for some niche TypeScript features, such as [the `NoInfer` utility type](https://www.typescriptlang.org/docs/handbook/utility-types.html#noinfertype) (see [#9751](https://github.com/typescript-eslint/typescript-eslint/issues/9751)). - -But, quite possibly, you've hit an edge case where the type is being used in a subtle way that the rule doesn't account for. -For example, the following arcane code is a way of testing whether two types are equal, and will be reported by the rule (see [#9709](https://github.com/typescript-eslint/typescript-eslint/issues/9709)): - -{/* prettier-ignore */} -```ts -type Compute = A extends Function ? A : { [K in keyof A]: Compute }; -type Equal = - (() => T1 extends Compute ? 1 : 2) extends - (() => T2 extends Compute ? 1 : 2) - ? true - : false; -``` - -In this case, the function types created within the `Equal` type are never expected to be assigned to; they're just created for the purpose of type system manipulations. -This usage is not what the rule is intended to analyze. - -Use eslint-disable comments as appropriate to suppress the rule in these kinds of cases. - -{/* TODO - include an FAQ entry regarding instantiation expressions once the conversation in https://github.com/typescript-eslint/typescript-eslint/pull/9536#discussion_r1705850744 is done */} - -## When Not To Use It - -This rule will report on functions that use type parameters solely to test types, for example: - -```ts -function assertType(arg: T) {} - -assertType(123); -assertType('abc'); -// ~~~~~ -// Argument of type 'string' is not assignable to parameter of type 'number'. -``` - -If you're using this pattern then you'll want to disable this rule on files that test types. - -## Further Reading - -- TypeScript handbook: [Type Parameters Should Appear Twice](https://microsoft.github.io/TypeScript-New-Handbook/everything/#type-parameters-should-appear-twice) -- Effective TypeScript: [The Golden Rule of Generics](https://effectivetypescript.com/2020/08/12/generics-golden-rule/) - -## Related To - -- eslint-plugin-etc's [`no-misused-generics`](https://github.com/cartant/eslint-plugin-etc/blob/main/docs/rules/no-misused-generics.md) -- wotan's [`no-misused-generics`](https://github.com/fimbullinter/wotan/blob/master/packages/mimir/docs/no-misused-generics.md) -- DefinitelyTyped-tools' [`no-unnecessary-generics`](https://github.com/microsoft/DefinitelyTyped-tools/blob/main/packages/eslint-plugin/docs/rules/no-unnecessary-generics.md) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.mdx deleted file mode 100644 index 696bc4c5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.mdx +++ /dev/null @@ -1,97 +0,0 @@ ---- -description: 'Disallow calling a function with a value with type `any`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-argument** for documentation. - -The `any` type in TypeScript is a dangerous "escape hatch" from the type system. -Using `any` disables many type checking rules and is generally best used only as a last resort or when prototyping code. - -Despite your best intentions, the `any` type can sometimes leak into your codebase. -Calling a function with an `any` typed argument creates a potential safety hole and source of bugs. - -This rule disallows calling a function with `any` in its arguments. -That includes spreading arrays or tuples with `any` typed elements as function arguments. - -This rule also compares generic type argument types to ensure you don't pass an unsafe `any` in a generic position to a receiver that's expecting a specific type. -For example, it will error if you pass `Set` as an argument to a parameter declared as `Set`. - -## Examples - - - - -```ts -declare function foo(arg1: string, arg2: number, arg3: string): void; - -const anyTyped = 1 as any; - -foo(...anyTyped); -foo(anyTyped, 1, 'a'); - -const anyArray: any[] = []; -foo(...anyArray); - -const tuple1 = ['a', anyTyped, 'b'] as const; -foo(...tuple1); - -const tuple2 = [1] as const; -foo('a', ...tuple2, anyTyped); - -declare function bar(arg1: string, arg2: number, ...rest: string[]): void; -const x = [1, 2] as [number, ...number[]]; -foo('a', ...x, anyTyped); - -declare function baz(arg1: Set, arg2: Map): void; -foo(new Set(), new Map()); -``` - - - - -```ts -declare function foo(arg1: string, arg2: number, arg3: string): void; - -foo('a', 1, 'b'); - -const tuple1 = ['a', 1, 'b'] as const; -foo(...tuple1); - -declare function bar(arg1: string, arg2: number, ...rest: string[]): void; -const array: string[] = ['a']; -bar('a', 1, ...array); - -declare function baz(arg1: Set, arg2: Map): void; -foo(new Set(), new Map()); -``` - - - - -There are cases where the rule allows passing an argument of `any` to `unknown`. - -Example of `any` to `unknown` assignment that are allowed: - -```ts showPlaygroundButton -declare function foo(arg1: unknown, arg2: Set, arg3: unknown[]): void; -foo(1 as any, new Set(), [] as any[]); -``` - -## When Not To Use It - -If your codebase has many existing `any`s or areas of unsafe code, it may be difficult to enable this rule. -It may be easier to skip the `no-unsafe-*` rules pending increasing type safety in unsafe areas of your project. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-explicit-any`](./no-explicit-any.mdx) -- [`no-unsafe-assignment`](./no-unsafe-assignment.mdx) -- [`no-unsafe-call`](./no-unsafe-call.mdx) -- [`no-unsafe-member-access`](./no-unsafe-member-access.mdx) -- [`no-unsafe-return`](./no-unsafe-return.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.mdx deleted file mode 100644 index 84a1d0ee..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.mdx +++ /dev/null @@ -1,100 +0,0 @@ ---- -description: 'Disallow assigning a value with type `any` to variables and properties.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-assignment** for documentation. - -The `any` type in TypeScript is a dangerous "escape hatch" from the type system. -Using `any` disables many type checking rules and is generally best used only as a last resort or when prototyping code. - -Despite your best intentions, the `any` type can sometimes leak into your codebase. -Assigning an `any` typed value to a variable can be hard to pick up on, particularly if it leaks in from an external library. - -This rule disallows assigning `any` to a variable, and assigning `any[]` to an array destructuring. - -This rule also compares generic type argument types to ensure you don't pass an unsafe `any` in a generic position to a receiver that's expecting a specific type. -For example, it will error if you assign `Set` to a variable declared as `Set`. - -## Examples - - - - -```ts -const x = 1 as any, - y = 1 as any; -const [x] = 1 as any; -const [x] = [] as any[]; -const [x] = [1 as any]; -[x] = [1] as [any]; - -function foo(a = 1 as any) {} -class Foo { - constructor(private a = 1 as any) {} -} -class Foo { - private a = 1 as any; -} - -// generic position examples -const x: Set = new Set(); -const x: Map = new Map(); -const x: Set = new Set(); -const x: Set>> = new Set>>(); -``` - - - - -```ts -const x = 1, - y = 1; -const [x] = [1]; -[x] = [1] as [number]; - -function foo(a = 1) {} -class Foo { - constructor(private a = 1) {} -} -class Foo { - private a = 1; -} - -// generic position examples -const x: Set = new Set(); -const x: Map = new Map(); -const x: Set = new Set(); -const x: Set>> = new Set>>(); -``` - - - - -There are cases where the rule allows assignment of `any` to `unknown`. - -Example of `any` to `unknown` assignment that are allowed: - -```ts showPlaygroundButton -const x: unknown = y as any; -const x: unknown[] = y as any[]; -const x: Set = y as Set; -``` - -## When Not To Use It - -If your codebase has many existing `any`s or areas of unsafe code, it may be difficult to enable this rule. -It may be easier to skip the `no-unsafe-*` rules pending increasing type safety in unsafe areas of your project. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-explicit-any`](./no-explicit-any.mdx) -- [`no-unsafe-argument`](./no-unsafe-argument.mdx) -- [`no-unsafe-call`](./no-unsafe-call.mdx) -- [`no-unsafe-member-access`](./no-unsafe-member-access.mdx) -- [`no-unsafe-return`](./no-unsafe-return.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.mdx deleted file mode 100644 index 540d464d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.mdx +++ /dev/null @@ -1,119 +0,0 @@ ---- -description: 'Disallow calling a value with type `any`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-call** for documentation. - -The `any` type in TypeScript is a dangerous "escape hatch" from the type system. -Using `any` disables many type checking rules and is generally best used only as a last resort or when prototyping code. - -Despite your best intentions, the `any` type can sometimes leak into your codebase. -Calling an `any`-typed value as a function creates a potential type safety hole and source of bugs in your codebase. - -This rule disallows calling any value that is typed as `any`. - -## Examples - - - - -```ts -declare const anyVar: any; -declare const nestedAny: { prop: any }; - -anyVar(); -anyVar.a.b(); - -nestedAny.prop(); -nestedAny.prop['a'](); - -new anyVar(); -new nestedAny.prop(); - -anyVar`foo`; -nestedAny.prop`foo`; -``` - - - - -```ts -declare const typedVar: () => void; -declare const typedNested: { prop: { a: () => void } }; - -typedVar(); -typedNested.prop.a(); - -(() => {})(); - -new Map(); - -String.raw`foo`; -``` - - - - -## The Unsafe `Function` Type - -The `Function` type is behaves almost identically to `any` when called, so this rule also disallows calling values of type `Function`. - - - - -```ts -const f: Function = () => {}; -f(); -``` - - - - -Note that whereas [no-unsafe-function-type](./no-unsafe-function-type.mdx) helps prevent the _creation_ of `Function` types, this rule helps prevent the unsafe _use_ of `Function` types, which may creep into your codebase without explicitly referencing the `Function` type at all. -See, for example, the following code: - -```ts -function callUnsafe(maybeFunction: unknown): string { - if (typeof maybeFunction === 'function') { - // TypeScript allows this, but it's completely unsound. - return maybeFunction('call', 'with', 'any', 'args'); - } - // etc -} -``` - -In this sort of situation, beware that there is no way to guarantee with runtime checks that a value is safe to call. -If you _really_ want to call a value whose type you don't know, your best best is to use a `try`/`catch` and suppress any TypeScript or linter errors that get in your way. - -```ts -function callSafe(maybeFunction: unknown): void { - try { - // intentionally unsound type assertion - (maybeFunction as () => unknown)(); - } catch (e) { - console.error( - 'Function either could not be called or threw an error when called: ', - e, - ); - } -} -``` - -## When Not To Use It - -If your codebase has many existing `any`s or areas of unsafe code, it may be difficult to enable this rule. -It may be easier to skip the `no-unsafe-*` rules pending increasing type safety in unsafe areas of your project. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-explicit-any`](./no-explicit-any.mdx) -- [`no-unsafe-argument`](./no-unsafe-argument.mdx) -- [`no-unsafe-assignment`](./no-unsafe-assignment.mdx) -- [`no-unsafe-member-access`](./no-unsafe-member-access.mdx) -- [`no-unsafe-return`](./no-unsafe-return.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-declaration-merging.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-declaration-merging.mdx deleted file mode 100644 index d03605f9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-declaration-merging.mdx +++ /dev/null @@ -1,65 +0,0 @@ ---- -description: 'Disallow unsafe declaration merging.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-declaration-merging** for documentation. - -TypeScript's "declaration merging" supports merging separate declarations with the same name. - -Declaration merging between classes and interfaces is unsafe. -The TypeScript compiler doesn't check whether properties are initialized, which can cause lead to TypeScript not detecting code that will cause runtime errors. - -```ts -interface Foo { - nums: number[]; -} - -class Foo {} - -const foo = new Foo(); - -foo.nums.push(1); // Runtime Error: Cannot read properties of undefined. -``` - -## Examples - - - - -```ts -interface Foo {} - -class Foo {} -``` - - - - -```ts -interface Foo {} -class Bar implements Foo {} - -namespace Baz {} -namespace Baz {} -enum Baz {} - -namespace Qux {} -function Qux() {} -``` - - - - -## When Not To Use It - -If your project intentionally defines classes and interfaces with unsafe declaration merging patterns, this rule might not be for you. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [Declaration Merging](https://www.typescriptlang.org/docs/handbook/declaration-merging.html) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-enum-comparison.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-enum-comparison.mdx deleted file mode 100644 index 4b25e785..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-enum-comparison.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -description: 'Disallow comparing an enum value with a non-enum value.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-enum-comparison** for documentation. - -The TypeScript compiler can be surprisingly lenient when working with enums. -While overt safety problems with enums were [resolved in TypeScript 5.0](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#all-enums-are-union-enums), some logical pitfalls remain permitted. -For example, it is allowed to compare enum values against non-enum values: - -```ts -enum Vegetable { - Asparagus = 'asparagus', -} - -declare const vegetable: Vegetable; - -vegetable === 'asparagus'; // No error -``` - -The above code snippet should instead be written as `vegetable === Vegetable.Asparagus`. -Allowing non-enums in comparisons subverts the point of using enums in the first place. -By enforcing comparisons with properly typed enums: - -- It makes a codebase more resilient to enum members changing values. -- It allows for code IDEs to use the "Rename Symbol" feature to quickly rename an enum. -- It aligns code to the proper enum semantics of referring to them by name and treating their values as implementation details. - -## Examples - - - - -```ts -enum Fruit { - Apple, -} - -declare let fruit: Fruit; - -// bad - comparison between enum and explicit value instead of named enum member -fruit === 0; - -enum Vegetable { - Asparagus = 'asparagus', -} - -declare let vegetable: Vegetable; - -// bad - comparison between enum and explicit value instead of named enum member -vegetable === 'asparagus'; - -declare let anyString: string; - -// bad - comparison between enum and non-enum value -anyString === Vegetable.Asparagus; -``` - - - - -```ts -enum Fruit { - Apple, -} - -declare let fruit: Fruit; - -fruit === Fruit.Apple; - -enum Vegetable { - Asparagus = 'asparagus', -} - -declare let vegetable: Vegetable; - -vegetable === Vegetable.Asparagus; -``` - - - - -## When Not To Use It - -If you don't mind enums being treated as a namespaced bag of values, rather than opaque identifiers, you likely don't need this rule. - -Sometimes, you may want to ingest a value from an API or user input, then use it as an enum throughout your application. -While validating the input, it may be appropriate to disable the rule. -Alternately, you might consider making use of a validation library like [Zod](https://zod.dev/?id=native-enums). -See further discussion of this topic in [#8557](https://github.com/typescript-eslint/typescript-eslint/issues/8557). - -Finally, in the rare case of relying on an third party enums that are only imported as `type`s, it may be difficult to adhere to this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-function-type.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-function-type.mdx deleted file mode 100644 index ee1a8439..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-function-type.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -description: 'Disallow using the unsafe built-in Function type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-function-type** for documentation. - -TypeScript's built-in `Function` type allows being called with any number of arguments and returns type `any`. -`Function` also allows classes or plain objects that happen to possess all properties of the `Function` class. -It's generally better to specify function parameters and return types with the function type syntax. - -"Catch-all" function types include: - -- `() => void`: a function that has no parameters and whose return is ignored -- `(...args: never) => unknown`: a "top type" for functions that can be assigned any function type, but can't be called - -Examples of code for this rule: - - - - -```ts -let noParametersOrReturn: Function; -noParametersOrReturn = () => {}; - -let stringToNumber: Function; -stringToNumber = (text: string) => text.length; - -let identity: Function; -identity = value => value; -``` - - - - -```ts -let noParametersOrReturn: () => void; -noParametersOrReturn = () => {}; - -let stringToNumber: (text: string) => number; -stringToNumber = text => text.length; - -let identity: (value: T) => T; -identity = value => value; -``` - - - - -## When Not To Use It - -If your project is still onboarding to TypeScript, it might be difficult to fully replace all unsafe `Function` types with more precise function types. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-empty-object-type`](./no-empty-object-type.mdx) -- [`no-restricted-types`](./no-restricted-types.mdx) -- [`no-unsafe-call`](./no-unsafe-call.mdx) -- [`no-wrapper-object-types`](./no-wrapper-object-types.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.mdx deleted file mode 100644 index 4b41fb56..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -description: 'Disallow member access on a value with type `any`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-member-access** for documentation. - -The `any` type in TypeScript is a dangerous "escape hatch" from the type system. -Using `any` disables many type checking rules and is generally best used only as a last resort or when prototyping code. - -Despite your best intentions, the `any` type can sometimes leak into your codebase. -Accessing a member of an `any`-typed value creates a potential type safety hole and source of bugs in your codebase. - -This rule disallows member access on any variable that is typed as `any`. - -## Examples - - - - -```ts -declare const anyVar: any; -declare const nestedAny: { prop: any }; - -anyVar.a; -anyVar.a.b; -anyVar['a']; -anyVar['a']['b']; - -nestedAny.prop.a; -nestedAny.prop['a']; - -const key = 'a'; -nestedAny.prop[key]; - -// Using an any to access a member is unsafe -const arr = [1, 2, 3]; -arr[anyVar]; -nestedAny[anyVar]; -``` - - - - -```ts -declare const properlyTyped: { prop: { a: string } }; - -properlyTyped.prop.a; -properlyTyped.prop['a']; - -const key = 'a'; -properlyTyped.prop[key]; - -const arr = [1, 2, 3]; -arr[1]; -let idx = 1; -arr[idx]; -arr[idx++]; -``` - - - - -## When Not To Use It - -If your codebase has many existing `any`s or areas of unsafe code, it may be difficult to enable this rule. -It may be easier to skip the `no-unsafe-*` rules pending increasing type safety in unsafe areas of your project. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-explicit-any`](./no-explicit-any.mdx) -- [`no-unsafe-argument`](./no-unsafe-argument.mdx) -- [`no-unsafe-assignment`](./no-unsafe-assignment.mdx) -- [`no-unsafe-call`](./no-unsafe-call.mdx) -- [`no-unsafe-return`](./no-unsafe-return.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.mdx deleted file mode 100644 index 74e86e07..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.mdx +++ /dev/null @@ -1,125 +0,0 @@ ---- -description: 'Disallow returning a value with type `any` from a function.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-return** for documentation. - -The `any` type in TypeScript is a dangerous "escape hatch" from the type system. -Using `any` disables many type checking rules and is generally best used only as a last resort or when prototyping code. - -Despite your best intentions, the `any` type can sometimes leak into your codebase. -Returning an `any`-typed value from a function creates a potential type safety hole and source of bugs in your codebase. - -This rule disallows returning `any` or `any[]` from a function and returning `Promise` from an async function. - -This rule also compares generic type argument types to ensure you don't return an unsafe `any` in a generic position to a function that's expecting a specific type. -For example, it will error if you return `Set` from a function declared as returning `Set`. - -## Examples - - - - -```ts -function foo1() { - return 1 as any; -} -function foo2() { - return Object.create(null); -} -const foo3 = () => { - return 1 as any; -}; -const foo4 = () => Object.create(null); - -function foo5() { - return [] as any[]; -} -function foo6() { - return [] as Array; -} -function foo7() { - return [] as readonly any[]; -} -function foo8() { - return [] as Readonly; -} -const foo9 = () => { - return [] as any[]; -}; -const foo10 = () => [] as any[]; - -const foo11 = (): string[] => [1, 2, 3] as any[]; - -async function foo13() { - return Promise.resolve({} as any); -} - -// generic position examples -function assignability1(): Set { - return new Set([1]); -} -type TAssign = () => Set; -const assignability2: TAssign = () => new Set([true]); -``` - - - - -```ts -function foo1() { - return 1; -} -function foo2() { - return Object.create(null) as Record; -} - -const foo3 = () => []; -const foo4 = () => ['a']; - -async function foo5() { - return Promise.resolve(1); -} - -function assignability1(): Set { - return new Set(['foo']); -} -type TAssign = () => Set; -const assignability2: TAssign = () => new Set(['foo']); -``` - - - - -There are cases where the rule allows to return `any` to `unknown`. - -Examples of `any` to `unknown` return that are allowed: - -```ts showPlaygroundButton -function foo1(): unknown { - return JSON.parse(singleObjString); // Return type for JSON.parse is any. -} - -function foo2(): unknown[] { - return [] as any[]; -} -``` - -## When Not To Use It - -If your codebase has many existing `any`s or areas of unsafe code, it may be difficult to enable this rule. -It may be easier to skip the `no-unsafe-*` rules pending increasing type safety in unsafe areas of your project. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-explicit-any`](./no-explicit-any.mdx) -- [`no-unsafe-argument`](./no-unsafe-argument.mdx) -- [`no-unsafe-assignment`](./no-unsafe-assignment.mdx) -- [`no-unsafe-call`](./no-unsafe-call.mdx) -- [`no-unsafe-member-access`](./no-unsafe-member-access.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-type-assertion.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-type-assertion.mdx deleted file mode 100644 index 53c1e51e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-type-assertion.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -description: 'Disallow type assertions that narrow a type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-type-assertion** for documentation. - -Type assertions are a way to tell TypeScript what the type of a value is. This can be useful but also unsafe if you use type assertions to narrow down a type. - -This rule forbids using type assertions to narrow a type, as this bypasses TypeScript's type-checking. Type assertions that broaden a type are safe because TypeScript essentially knows _less_ about a type. - -Instead of using type assertions to narrow a type, it's better to rely on type guards, which help avoid potential runtime errors caused by unsafe type assertions. - -## Examples - - - - -```ts -function f() { - return Math.random() < 0.5 ? 42 : 'oops'; -} - -const z = f() as number; - -const items = [1, '2', 3, '4']; - -const number = items[0] as number; -``` - - - - -```ts -function f() { - return Math.random() < 0.5 ? 42 : 'oops'; -} - -const z = f() as number | string | boolean; - -const items = [1, '2', 3, '4']; - -const number = items[0] as number | string | undefined; -``` - - - - -## When Not To Use It - -If your codebase has many unsafe type assertions, then it may be difficult to enable this rule. -It may be easier to skip the `no-unsafe-*` rules pending increasing type safety in unsafe areas of your project. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -If your project frequently stubs objects in test files, the rule may trigger a lot of reports. Consider disabling the rule for such files to reduce frequent warnings. - -## Further Reading - -- More on TypeScript's [type assertions](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-assertions) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-unary-minus.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-unary-minus.mdx deleted file mode 100644 index 307914ef..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-unary-minus.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -description: 'Require unary negation to take a number.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unsafe-unary-minus** for documentation. - -TypeScript does not prevent you from putting a minus sign before things other than numbers: - -```ts -const s = 'hello'; -const x = -s; // x is NaN -``` - -This rule restricts the unary `-` operator to `number | bigint`. - -## Examples - - - - -```ts -declare const a: string; --a; - -declare const b: {}; --b; -``` - - - - -```ts --42; --42n; - -declare const a: number; --a; - -declare const b: number; --b; - -declare const c: number | bigint; --c; - -declare const d: any; --d; - -declare const e: 1 | 2; --e; -``` - - - - -{/* Intentionally Omitted: When Not To Use It */} diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.mdx deleted file mode 100644 index 8d185e92..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -description: 'Disallow unused expressions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unused-expressions** for documentation. - -This rule extends the base [`eslint/no-unused-expressions`](https://eslint.org/docs/rules/no-unused-expressions) rule. -It supports TypeScript-specific expressions: - -- Marks directives in modules declarations (`"use strict"`, etc.) as not unused -- Marks the following expressions as unused if their wrapped value expressions are unused: - - Assertion expressions: `x as number;`, `x!;`, `x;` - - Instantiation expressions: `Set;` - -Although the type expressions never have runtime side effects (that is, `x!;` is the same as `x;`), they can be used to assert types for testing purposes. - -## Examples - - - - -```ts -Set; -1 as number; -window!; -``` - - - - -```ts -function getSet() { - return Set; -} - -// Funtion calls are allowed, so type expressions that wrap function calls are allowed -getSet(); -getSet() as Set; -getSet()!; - -// Namespaces can have directives -namespace A { - 'use strict'; -} -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.mdx deleted file mode 100644 index 0e4fab22..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -description: 'Disallow unused variables.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-unused-vars** for documentation. - -This rule extends the base [`eslint/no-unused-vars`](https://eslint.org/docs/rules/no-unused-vars) rule. -It adds support for TypeScript features, such as types. - -## Benefits Over TypeScript - -TypeScript provides [`noUnusedLocals`](https://www.typescriptlang.org/tsconfig#noUnusedLocals) and [`noUnusedParameters`](https://www.typescriptlang.org/tsconfig#noUnusedParameters) compiler options that can report errors on unused local variables or parameters, respectively. -Those compiler options can be convenient to use if you don't want to set up ESLint and typescript-eslint. -However: - -- These lint rules are more configurable than TypeScript's compiler options. - - For example, the [`varsIgnorePattern` option](https://eslint.org/docs/latest/rules/no-unused-vars#varsignorepattern) can customize what names are always allowed to be exempted. TypeScript hardcodes its exemptions to names starting with `_`. - If you would like to emulate the TypeScript style of exempting names starting with `_`, you can use this configuration (this includes errors as well): - ```json - { - "rules": { - "@typescript-eslint/no-unused-vars": [ - "error", - { - "args": "all", - "argsIgnorePattern": "^_", - "caughtErrors": "all", - "caughtErrorsIgnorePattern": "^_", - "destructuredArrayIgnorePattern": "^_", - "varsIgnorePattern": "^_", - "ignoreRestSiblings": true - } - ] - } - } - ``` -- [ESLint can be configured](https://eslint.org/docs/latest/use/configure/rules) within lines, files, and folders. TypeScript compiler options are linked to their TSConfig file. -- Many projects configure TypeScript's reported errors to block builds more aggressively than ESLint complaints. Blocking builds on unused variables can be inconvenient. - -We generally recommend using `@typescript-eslint/no-unused-vars` to flag unused locals and parameters instead of TypeScript. - -:::tip -Editors such as VS Code will still generally "grey out" unused variables even if `noUnusedLocals` and `noUnusedParameters` are not enabled in a project. -::: - -Also see similar rules provided by ESLint: - -- [`no-unused-private-class-members`](https://eslint.org/docs/latest/rules/no-unused-private-class-members) -- [`no-unused-labels`](https://eslint.org/docs/latest/rules/no-unused-labels) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.mdx deleted file mode 100644 index 5d57c181..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.mdx +++ /dev/null @@ -1,99 +0,0 @@ ---- -description: 'Disallow the use of variables before they are defined.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-use-before-define** for documentation. - -This rule extends the base [`eslint/no-use-before-define`](https://eslint.org/docs/rules/no-use-before-define) rule. -It adds support for `type`, `interface` and `enum` declarations. - -## Options - -This rule adds the following options: - -```ts -interface Options extends BaseNoUseBeforeDefineOptions { - enums?: boolean; - typedefs?: boolean; - ignoreTypeReferences?: boolean; -} - -const defaultOptions: Options = { - ...baseNoUseBeforeDefineDefaultOptions, - enums: true, - typedefs: true, - ignoreTypeReferences: true, -}; -``` - -### `enums` - -{/* insert option description */} - -If this is `true`, this rule warns every reference to a enum before the enum declaration. -If this is `false`, this rule will ignore references to enums, when the reference is in a child scope. - -Examples of code for the `{ "enums": true }` option: - - - - -```ts option='{ "enums": true }' -const x = Foo.FOO; - -enum Foo { - FOO, -} -``` - - - - -```ts option='{ "enums": false }' -function foo() { - return Foo.FOO; -} - -enum Foo { - FOO, -} -``` - - - - -### `typedefs` - -{/* insert option description */} - -If this is `true`, this rule warns every reference to a type before the type declaration. -If this is `false`, this rule will ignore references to types. - -Examples of **correct** code for the `{ "typedefs": false }` option: - -```ts option='{ "typedefs": false }' showPlaygroundButton -let myVar: StringOrNumber; -type StringOrNumber = string | number; -``` - -### `ignoreTypeReferences` - -{/* insert option description */} - -If this is `true`, this rule ignores all type references. -If this is `false`, this will check all type references. - -Examples of **correct** code for the `{ "ignoreTypeReferences": true }` option: - -```ts option='{ "ignoreTypeReferences": true }' showPlaygroundButton -let var1: StringOrNumber; -type StringOrNumber = string | number; - -let var2: Enum; -enum Enum {} -``` diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.mdx deleted file mode 100644 index 4003fefc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -description: 'Disallow unnecessary constructors.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-useless-constructor** for documentation. - -This rule extends the base [`eslint/no-useless-constructor`](https://eslint.org/docs/rules/no-useless-constructor) rule. -It adds support for: - -- constructors marked as `protected` / `private` (i.e. marking a constructor as non-public), -- `public` constructors when there is no superclass, -- constructors with only parameter properties. - -### Caveat - -This lint rule will report on constructors whose sole purpose is to change visibility of a parent constructor. -See [discussion on this rule's lack of type information](https://github.com/typescript-eslint/typescript-eslint/issues/3820#issuecomment-917821240) for context. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.mdx deleted file mode 100644 index 27d66d9d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -description: "Disallow empty exports that don't change anything in a module file." ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-useless-empty-export** for documentation. - -An empty `export {}` statement is sometimes useful in TypeScript code to turn a file that would otherwise be a script file into a module file. -Per the [TypeScript Handbook Modules page](https://www.typescriptlang.org/docs/handbook/modules.html): - -> In TypeScript, just as in ECMAScript 2015, any file containing a top-level import or export is considered a module. -> Conversely, a file without any top-level import or export declarations is treated as a script whose contents are available in the global scope (and therefore to modules as well). - -However, an `export {}` statement does nothing if there are any other top-level import or export statements in a file. - -This rule reports an `export {}` that doesn't do anything in a file already using ES modules. - -## Examples - - - - -```ts -export const value = 'Hello, world!'; -export {}; -``` - -```ts -import 'some-other-module'; -export {}; -``` - - - - -```ts -export const value = 'Hello, world!'; -``` - -```ts -import 'some-other-module'; -``` - - - - -## When Not To Use It - -If you don't mind an empty `export {}` at the bottom of files, you likely don't need this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-template-literals.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-template-literals.mdx deleted file mode 100644 index c255f8c7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-template-literals.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been renamed to [`no-unnecessary-template-expression`](./no-unnecessary-template-expression.mdx). See [#8544](https://github.com/typescript-eslint/typescript-eslint/issues/8544) for more information. - -::: diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.mdx deleted file mode 100644 index fc3e6563..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -description: 'Disallow `require` statements except in import statements.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-var-requires** for documentation. - -:::danger Deprecated - -This rule has been deprecated in favour of the [`@typescript-eslint/no-require-imports`](./no-require-imports.mdx) rule. - -::: - -In other words, the use of forms such as `var foo = require("foo")` are banned. Instead use ES6 style imports or `import foo = require("foo")` imports. - -## Examples - - - - -```ts -var foo = require('foo'); -const foo = require('foo'); -let foo = require('foo'); -``` - - - - -```ts -import foo = require('foo'); -require('foo'); -import foo from 'foo'; -``` - - - - -## Options - -### `allow` - -{/* insert option description */} - -A array of strings. These strings will be compiled into regular expressions with the `u` flag and be used to test against the imported path. A common use case is to allow importing `package.json`. This is because `package.json` commonly lives outside of the TS root directory, so statically importing it would lead to root directory conflicts, especially with `resolveJsonModule` enabled. You can also use it to allow importing any JSON if your environment doesn't support JSON modules, or use it for other cases where `import` statements cannot work. - -With `{allow: ['/package\\.json$']}`: - - - - -```ts option='{ "allow": ["/package.json$"] }' -const foo = require('../data.json'); -``` - - - - -```ts option='{ "allow": ["/package.json$"] }' -const foo = require('../package.json'); -``` - - - - -## When Not To Use It - -If your project frequently uses older CommonJS `require`s, then this rule might not be applicable to you. -If only a subset of your project uses `require`s then you might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Related To - -- [`no-require-imports`](./no-require-imports.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-wrapper-object-types.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-wrapper-object-types.mdx deleted file mode 100644 index 2d6a9337..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-wrapper-object-types.mdx +++ /dev/null @@ -1,75 +0,0 @@ ---- -description: 'Disallow using confusing built-in primitive class wrappers.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/no-wrapper-object-types** for documentation. - -TypeScript defines several confusing pairs of types that look very similar to each other, but actually mean different things: `boolean`/`Boolean`, `number`/`Number`, `string`/`String`, `bigint`/`BigInt`, `symbol`/`Symbol`, `object`/`Object`. -In general, only the lowercase variant is appropriate to use. -Therefore, this rule enforces that you only use the lowercase variant. - -JavaScript has [8 data types](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures) at runtime, and these are described in TypeScript by the lowercase types `undefined`, `null`, `boolean`, `number`, `string`, `bigint`, `symbol`, and `object`. - -As for the uppercase types, these are _structural types_ which describe JavaScript "wrapper" objects for each of the data types, such as [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) and [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number). -Additionally, due to the quirks of structural typing, the corresponding primitives are _also_ assignable to these uppercase types, since they have the same "shape". - -It is a universal best practice to work directly with the built-in primitives, like `0`, rather than objects that "look like" the corresponding primitive, like `new Number(0)`. - -- Primitives have the expected value semantics with `==` and `===` equality checks, whereas their object counterparts are compared by reference. - That is to say, `"str" === "str"` but `new String("str") !== new String("str")`. -- Primitives have well-known behavior around truthiness/falsiness which is common to rely on, whereas all objects are truthy, regardless of the wrapped value (e.g. `new Boolean(false)` is truthy). -- TypeScript only allows arithmetic operations (e.g. `x - y`) to be performed on numeric primitives, not objects. - -As a result, using the lowercase type names like `number` in TypeScript types instead of the uppercase names like `Number` is a better practice that describes code more accurately. - -Examples of code for this rule: - - - - -```ts -let myBigInt: BigInt; -let myBoolean: Boolean; -let myNumber: Number; -let myString: String; -let mySymbol: Symbol; - -let myObject: Object = 'allowed by TypeScript'; -``` - - - - -```ts -let myBigint: bigint; -let myBoolean: boolean; -let myNumber: number; -let myString: string; -let mySymbol: symbol; - -let myObject: object = "Type 'string' is not assignable to type 'object'."; -``` - - - - -## When Not To Use It - -If your project is a rare one that intentionally deals with the class equivalents of primitives, it might not be worthwhile to use this rule. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [MDN documentation on primitives](https://developer.mozilla.org/en-US/docs/Glossary/Primitive) -- [MDN documentation on `string` primitives and `String` objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#string_primitives_and_string_objects) - -## Related To - -- [`no-empty-object-type`](./no-empty-object-type.mdx) -- [`no-restricted-types`](./no-restricted-types.mdx) -- [`no-unsafe-function-type`](./no-unsafe-function-type.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.mdx deleted file mode 100644 index 90ec607e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -description: 'Enforce non-null assertions over explicit type assertions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/non-nullable-type-assertion-style** for documentation. - -There are two common ways to assert to TypeScript that a value is its type without `null` or `undefined`: - -- `!`: Non-null assertion -- `as`: Traditional type assertion with a coincidentally equivalent type - -`!` non-null assertions are generally preferred for requiring less code and being harder to fall out of sync as types change. -This rule reports when an `as` assertion is doing the same job as a `!` would, and suggests fixing the code to be an `!`. - -## Examples - - - - -```ts -const maybe: string | undefined = Math.random() > 0.5 ? '' : undefined; - -const definitely = maybe as string; -const alsoDefinitely = maybe; -``` - - - - -```ts -const maybe: string | undefined = Math.random() > 0.5 ? '' : undefined; - -const definitely = maybe!; -const alsoDefinitely = maybe!; -``` - - - - -## When Not To Use It - -If you don't mind having unnecessarily verbose type assertions, you can avoid this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/only-throw-error.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/only-throw-error.mdx deleted file mode 100644 index 109b1763..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/only-throw-error.mdx +++ /dev/null @@ -1,144 +0,0 @@ ---- -description: 'Disallow throwing non-`Error` values as exceptions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/only-throw-error** for documentation. - -It is considered good practice to only `throw` the `Error` object itself or an object using the `Error` object as base objects for user-defined exceptions. -The fundamental benefit of `Error` objects is that they automatically keep track of where they were built and originated. - -This rule restricts what can be thrown as an exception. - -:::info[Migration from `no-throw-literal`] - -This rule was formerly known as `no-throw-literal`. -The new name is a drop-in replacement with identical functionality. - -::: - -## Examples - -This rule is aimed at maintaining consistency when throwing exception by disallowing to throw literals and other expressions which cannot possibly be an `Error` object. - - - - -```ts -throw 'error'; - -throw 0; - -throw undefined; - -throw null; - -const err = new Error(); -throw 'an ' + err; - -const err = new Error(); -throw `${err}`; - -const err = ''; -throw err; - -function getError() { - return ''; -} -throw getError(); - -const foo = { - bar: '', -}; -throw foo.bar; -``` - - - - -```ts -throw new Error(); - -throw new Error('error'); - -const e = new Error('error'); -throw e; - -try { - throw new Error('error'); -} catch (e) { - throw e; -} - -const err = new Error(); -throw err; - -function getError() { - return new Error(); -} -throw getError(); - -const foo = { - bar: new Error(), -}; -throw foo.bar; - -class CustomError extends Error { - // ... -} -throw new CustomError(); -``` - - - - -## Options - -This rule adds the following options: - -```ts -interface Options { - /** - * Type specifiers that can be thrown. - */ - allow?: ( - | { - from: 'file'; - name: [string, ...string[]] | string; - path?: string; - } - | { - from: 'lib'; - name: [string, ...string[]] | string; - } - | { - from: 'package'; - name: [string, ...string[]] | string; - package: string; - } - | string - )[]; - - /** - * Whether to always allow throwing values typed as `any`. - */ - allowThrowingAny?: boolean; - - /** - * Whether to always allow throwing values typed as `unknown`. - */ - allowThrowingUnknown?: boolean; -} - -const defaultOptions: Options = { - allow: [], - allowThrowingAny: true, - allowThrowingUnknown: true, -}; -``` - -{/* Intentionally Omitted: When Not To Use It */} diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.mdx deleted file mode 100644 index 1e60721f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.mdx +++ /dev/null @@ -1,522 +0,0 @@ ---- -description: 'Require or disallow parameter properties in class constructors.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/parameter-properties** for documentation. - -TypeScript includes a "parameter properties" shorthand for declaring a class constructor parameter and class property in one location. -Parameter properties can be confusing to those new to TypeScript as they are less explicit than other ways of declaring and initializing class members. - -This rule can be configured to always disallow the use of parameter properties or enforce their usage when possible. - -## Options - -This rule, in its default state, does not require any argument and would completely disallow the use of parameter properties. -It may take an options object containing either or both of: - -- `"allow"`: allowing certain kinds of properties to be ignored -- `"prefer"`: either `"class-property"` _(default)_ or `"parameter-property"` - -### `allow` - -{/* insert option description */} - -If you would like to ignore certain kinds of properties then you may pass an object containing `"allow"` as an array of any of the following options: - -- `allow`, an array containing one or more of the allowed modifiers. Valid values are: - - `readonly`, allows **readonly** parameter properties. - - `private`, allows **private** parameter properties. - - `protected`, allows **protected** parameter properties. - - `public`, allows **public** parameter properties. - - `private readonly`, allows **private readonly** parameter properties. - - `protected readonly`, allows **protected readonly** parameter properties. - - `public readonly`, allows **public readonly** parameter properties. - -For example, to ignore `public` properties: - -```json -{ - "@typescript-eslint/parameter-properties": [ - true, - { - "allow": ["public"] - } - ] -} -``` - -### `prefer` - -{/* insert option description */} - -By default, the rule prefers class properties. -You can switch it to instead preferring parameter properties with (`"parameter-property"`). - -In `"parameter-property"` mode, the rule will issue a report when: - -- A class property and constructor parameter have the same name and type -- The constructor parameter is assigned to the class property at the beginning of the constructor - -### default - -Examples of code for this rule with no options at all: - - - - -```ts -class Foo { - constructor(readonly name: string) {} -} - -class Foo { - constructor(private name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} - -class Foo { - constructor(public name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -```ts -class Foo { - constructor(name: string) {} -} -``` - - - - -### readonly - -Examples of code for the `{ "allow": ["readonly"] }` options: - - - - -```ts option='{ "allow": ["readonly"] }' -class Foo { - constructor(private name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} - -class Foo { - constructor(public name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -```ts option='{ "allow": ["readonly"] }' -class Foo { - constructor(name: string) {} -} - -class Foo { - constructor(readonly name: string) {} -} -``` - - - - -### private - -Examples of code for the `{ "allow": ["private"] }` options: - - - - -```ts option='{ "allow": ["private"] }' -class Foo { - constructor(readonly name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} - -class Foo { - constructor(public name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -```ts option='{ "allow": ["private"] }' -class Foo { - constructor(name: string) {} -} - -class Foo { - constructor(private name: string) {} -} -``` - - - - -### protected - -Examples of code for the `{ "allow": ["protected"] }` options: - - - - -```ts option='{ "allow": ["protected"] }' -class Foo { - constructor(readonly name: string) {} -} - -class Foo { - constructor(private name: string) {} -} - -class Foo { - constructor(public name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -```ts option='{ "allow": ["protected"] }' -class Foo { - constructor(name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} -``` - - - - -### public - -Examples of code for the `{ "allow": ["public"] }` options: - - - - -```ts option='{ "allow": ["public"] }' -class Foo { - constructor(readonly name: string) {} -} - -class Foo { - constructor(private name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -```ts option='{ "allow": ["public"] }' -class Foo { - constructor(name: string) {} -} - -class Foo { - constructor(public name: string) {} -} -``` - - - - -### private readonly - -Examples of code for the `{ "allow": ["private readonly"] }` options: - - - - -```ts option='{ "allow": ["private readonly"] }' -class Foo { - constructor(readonly name: string) {} -} - -class Foo { - constructor(private name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} - -class Foo { - constructor(public name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -```ts option='{ "allow": ["private readonly"] }' -class Foo { - constructor(name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} -``` - - - - -### protected readonly - -Examples of code for the `{ "allow": ["protected readonly"] }` options: - - - - -```ts option='{ "allow": ["protected readonly"] }' -class Foo { - constructor(readonly name: string) {} -} - -class Foo { - constructor(private name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} - -class Foo { - constructor(public name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -```ts option='{ "allow": ["protected readonly"] }' -class Foo { - constructor(name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} -``` - - - - -### public readonly - -Examples of code for the `{ "allow": ["public readonly"] }` options: - - - - -```ts option='{ "allow": ["public readonly"] }' -class Foo { - constructor(readonly name: string) {} -} - -class Foo { - constructor(private name: string) {} -} - -class Foo { - constructor(protected name: string) {} -} - -class Foo { - constructor(public name: string) {} -} - -class Foo { - constructor(private readonly name: string) {} -} - -class Foo { - constructor(protected readonly name: string) {} -} -``` - - - - -```ts option='{ "allow": ["public readonly"] }' -class Foo { - constructor(name: string) {} -} - -class Foo { - constructor(public readonly name: string) {} -} -``` - - - - -### `"parameter-property"` - -Examples of code for the `{ "prefer": "parameter-property" }` option: - - - - -```ts option='{ "prefer": "parameter-property" }' -class Foo { - private name: string; - constructor(name: string) { - this.name = name; - } -} - -class Foo { - public readonly name: string; - constructor(name: string) { - this.name = name; - } -} - -class Foo { - constructor(name: string) { - this.name = name; - } - name: string; -} -``` - - - - -```ts option='{ "prefer": "parameter-property" }' -class Foo { - private differentName: string; - constructor(name: string) { - this.differentName = name; - } -} - -class Foo { - private differentType: number | undefined; - constructor(differentType: number) { - this.differentType = differentType; - } -} - -class Foo { - protected logicInConstructor: string; - constructor(logicInConstructor: string) { - console.log('Hello, world!'); - this.logicInConstructor = logicInConstructor; - } -} -``` - - - - -## When Not To Use It - -If you don't care about which style of parameter properties in constructors is used in your classes, then you will not need this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.mdx deleted file mode 100644 index e7237661..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.mdx +++ /dev/null @@ -1,51 +0,0 @@ ---- -description: 'Enforce the use of `as const` over literal type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-as-const** for documentation. - -There are two common ways to tell TypeScript that a literal value should be interpreted as its literal type (e.g. `2`) rather than general primitive type (e.g. `number`); - -- `as const`: telling TypeScript to infer the literal type automatically -- `as` with the literal type: explicitly telling the literal type to TypeScript - -`as const` is generally preferred, as it doesn't require re-typing the literal value. -This rule reports when an `as` with an explicit literal type can be replaced with an `as const`. - -## Examples - - - - -```ts -let bar: 2 = 2; -let foo = <'bar'>'bar'; -let foo = { bar: 'baz' as 'baz' }; -``` - - - - -```ts -let foo = 'bar'; -let foo = 'bar' as const; -let foo: 'bar' = 'bar' as const; -let bar = 'bar' as string; -let foo = 'bar'; -let foo = { bar: 'baz' }; -``` - - - - -## When Not To Use It - -If you don't care about which style of literals assertions is used in your code, then you will not need this rule. - -However, keep in mind that inconsistent style can harm readability in a project. -We recommend picking a single option for this rule that works best for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-destructuring.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-destructuring.mdx deleted file mode 100644 index d4aa0980..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-destructuring.mdx +++ /dev/null @@ -1,102 +0,0 @@ ---- -description: 'Require destructuring from arrays and/or objects.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-destructuring** for documentation. - -## Examples - -This rule extends the base [`eslint/prefer-destructuring`](https://eslint.org/docs/latest/rules/prefer-destructuring) rule. -It adds support for TypeScript's type annotations in variable declarations. - - - - - -```ts -const x: string = obj.x; // This is incorrect and the auto fixer provides following untyped fix. -// const { x } = obj; -``` - - - - -```ts -const x: string = obj.x; // This is correct by default. You can also forbid this by an option. -``` - - - - -And it infers binding patterns more accurately thanks to the type checker. - - - - -```ts -const x = ['a']; -const y = x[0]; -``` - - - - -```ts -const x = { 0: 'a' }; -const y = x[0]; -``` - -It is correct when `enforceForRenamedProperties` is not true. -Valid destructuring syntax is renamed style like `{ 0: y } = x` rather than `[y] = x` because `x` is not iterable. - - - - -## Options - -This rule adds the following options: - -```ts -type Options = [ - BasePreferDestructuringOptions[0], - BasePreferDestructuringOptions[1] & { - enforceForDeclarationWithTypeAnnotation?: boolean; - }, -]; - -const defaultOptions: Options = [ - basePreferDestructuringDefaultOptions[0], - { - ...basePreferDestructuringDefaultOptions[1], - enforceForDeclarationWithTypeAnnotation: false, - }, -]; -``` - -### `enforceForDeclarationWithTypeAnnotation` - -{/* insert option description */} - -Examples with `{ enforceForDeclarationWithTypeAnnotation: true }`: - - - - -```ts option='{ "object": true }, { "enforceForDeclarationWithTypeAnnotation": true }' -const x: string = obj.x; -``` - - - - -```ts option='{ "object": true }, { "enforceForDeclarationWithTypeAnnotation": true }' -const { x }: { x: string } = obj; -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.mdx deleted file mode 100644 index 1c208ed4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.mdx +++ /dev/null @@ -1,68 +0,0 @@ ---- -description: 'Require each enum member value to be explicitly initialized.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-enum-initializers** for documentation. - -TypeScript `enum`s are a practical way to organize semantically related constant values. -Members of `enum`s that don't have explicit values are by default given sequentially increasing numbers. - -In projects where the value of `enum` members are important, allowing implicit values for enums can cause bugs if `enum`s are modified over time. - -This rule recommends having each `enum` member value explicitly initialized. - -## Examples - - - - -```ts -enum Status { - Open = 1, - Close, -} - -enum Direction { - Up, - Down, -} - -enum Color { - Red, - Green = 'Green', - Blue = 'Blue', -} -``` - - - - -```ts -enum Status { - Open = 'Open', - Close = 'Close', -} - -enum Direction { - Up = 1, - Down = 2, -} - -enum Color { - Red = 'Red', - Green = 'Green', - Blue = 'Blue', -} -``` - - - - -## When Not To Use It - -If you don't care about `enum`s having implicit values you can safely disable this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-find.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-find.mdx deleted file mode 100644 index 66089f55..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-find.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -description: 'Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-find** for documentation. - -When searching for the first item in an array matching a condition, it may be tempting to use code like `arr.filter(x => x > 0)[0]`. -However, it is simpler to use [Array.prototype.find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) instead, `arr.find(x => x > 0)`, which also returns the first entry matching a condition. -Because the `.find()` only needs to execute the callback until it finds a match, it's also more efficient. - -:::info - -Beware the difference in short-circuiting behavior between the approaches. -`.find()` will only execute the callback on array elements until it finds a match, whereas `.filter()` executes the callback for all array elements. -Therefore, when fixing errors from this rule, be sure that your `.filter()` callbacks do not have side effects. - -::: - - - - -```ts -[1, 2, 3].filter(x => x > 1)[0]; - -[1, 2, 3].filter(x => x > 1).at(0); -``` - - - - -```ts -[1, 2, 3].find(x => x > 1); -``` - - - - -## When Not To Use It - -If you intentionally use patterns like `.filter(callback)[0]` to execute side effects in `callback` on all array elements, you will want to avoid this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.mdx deleted file mode 100644 index 0399c781..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -description: 'Enforce the use of `for-of` loop over the standard `for` loop where possible.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-for-of** for documentation. - -Many developers default to writing `for (let i = 0; i < ...` loops to iterate over arrays. -However, in many of those arrays, the loop iterator variable (e.g. `i`) is only used to access the respective element of the array. -In those cases, a `for-of` loop is easier to read and write. - -This rule recommends a for-of loop when the loop index is only used to read from an array that is being iterated. - -## Examples - - - - -```ts -declare const array: string[]; - -for (let i = 0; i < array.length; i++) { - console.log(array[i]); -} -``` - - - - -```ts -declare const array: string[]; - -for (const x of array) { - console.log(x); -} - -for (let i = 0; i < array.length; i++) { - // i is used, so for-of could not be used. - console.log(i, array[i]); -} -``` - - - - -{/* Intentionally Omitted: When Not To Use It */} diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.mdx deleted file mode 100644 index e6a69884..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -description: 'Enforce using function types instead of interfaces with call signatures.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-function-type** for documentation. - -TypeScript allows for two common ways to declare a type for a function: - -- Function type: `() => string` -- Object type with a signature: `{ (): string }` - -The function type form is generally preferred when possible for being more succinct. - -This rule suggests using a function type instead of an interface or object type literal with a single call signature. - -## Examples - - - - -```ts -interface Example { - (): string; -} -``` - -```ts -function foo(example: { (): number }): number { - return example(); -} -``` - -```ts -interface ReturnsSelf { - // returns the function itself, not the `this` argument. - (arg: string): this; -} -``` - - - - -```ts -type Example = () => string; -``` - -```ts -function foo(example: () => number): number { - return bar(); -} -``` - -```ts -// returns the function itself, not the `this` argument. -type ReturnsSelf = (arg: string) => ReturnsSelf; -``` - -```ts -function foo(bar: { (): string; baz: number }): string { - return bar(); -} -``` - -```ts -interface Foo { - bar: string; -} -interface Bar extends Foo { - (): void; -} -``` - -```ts -// multiple call signatures (overloads) is allowed: -interface Overloaded { - (data: string): number; - (id: number): string; -} -// this is equivelent to Overloaded interface. -type Intersection = ((data: string) => number) & ((id: number) => string); -``` - - - - -## When Not To Use It - -If you specifically want to use an interface or type literal with a single call signature for stylistic reasons, you can avoid this rule. - -This rule has a known edge case of sometimes triggering on global augmentations such as `interface Function`. -These edge cases are rare and often symptomatic of odd code. -We recommend you use an [inline ESLint disable comment](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1). -See [#454](https://github.com/typescript-eslint/typescript-eslint/issues/454) for details. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.mdx deleted file mode 100644 index eb79a925..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.mdx +++ /dev/null @@ -1,81 +0,0 @@ ---- -description: 'Enforce `includes` method over `indexOf` method.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-includes** for documentation. - -Prior to ES2015, `Array#indexOf` and `String#indexOf` comparisons against `-1` were the standard ways to check whether a value exists in an array or string, respectively. -Alternatives that are easier to read and write now exist: ES2015 added `String#includes` and ES2016 added `Array#includes`. - -This rule reports when an `.indexOf` call can be replaced with an `.includes`. -Additionally, this rule reports the tests of simple regular expressions in favor of `String#includes`. - -> This rule will report on any receiver object of an `indexOf` method call that has an `includes` method where the two methods have the same parameters. -> Matching types include: `String`, `Array`, `ReadonlyArray`, and typed arrays. - -## Examples - - - - -```ts -const str: string; -const array: any[]; -const readonlyArray: ReadonlyArray; -const typedArray: UInt8Array; -const maybe: string; -const userDefined: { - indexOf(x: any): number; - includes(x: any): boolean; -}; - -str.indexOf(value) !== -1; -array.indexOf(value) !== -1; -readonlyArray.indexOf(value) === -1; -typedArray.indexOf(value) > -1; -maybe?.indexOf('') !== -1; -userDefined.indexOf(value) >= 0; - -/example/.test(str); -``` - - - - -```ts -const str: string; -const array: any[]; -const readonlyArray: ReadonlyArray; -const typedArray: UInt8Array; -const maybe: string; -const userDefined: { - indexOf(x: any): number; - includes(x: any): boolean; -}; - -str.includes(value); -array.includes(value); -!readonlyArray.includes(value); -typedArray.includes(value); -maybe?.includes(''); -userDefined.includes(value); - -str.includes('example'); - -// The two methods have different parameters. -declare const mismatchExample: { - indexOf(x: unknown, fromIndex?: number): number; - includes(x: unknown): boolean; -}; -mismatchExample.indexOf(value) >= 0; -``` - - - - -{/* Intentionally Omitted: When Not To Use It */} diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx deleted file mode 100644 index 9d2e2ffb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx +++ /dev/null @@ -1,111 +0,0 @@ ---- -description: 'Require all enum members to be literal values.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-literal-enum-member** for documentation. - -TypeScript allows the value of an enum member to be many different kinds of valid JavaScript expressions. -However, because enums create their own scope whereby each enum member becomes a variable in that scope, developers are often surprised at the resultant values. -For example: - -```ts -const imOutside = 2; -const b = 2; -enum Foo { - outer = imOutside, - a = 1, - b = a, - c = b, - // does c == Foo.b == Foo.c == 1? - // or does c == b == 2? -} -``` - -> The answer is that `Foo.c` will be `1` at runtime [[TypeScript playground](https://www.typescriptlang.org/play/#src=const%20imOutside%20%3D%202%3B%0D%0Aconst%20b%20%3D%202%3B%0D%0Aenum%20Foo%20%7B%0D%0A%20%20%20%20outer%20%3D%20imOutside%2C%0D%0A%20%20%20%20a%20%3D%201%2C%0D%0A%20%20%20%20b%20%3D%20a%2C%0D%0A%20%20%20%20c%20%3D%20b%2C%0D%0A%20%20%20%20%2F%2F%20does%20c%20%3D%3D%20Foo.b%20%3D%3D%20Foo.c%20%3D%3D%201%3F%0D%0A%20%20%20%20%2F%2F%20or%20does%20c%20%3D%3D%20b%20%3D%3D%202%3F%0D%0A%7D)]. - -Therefore, it's often better to prevent unexpected results in code by requiring the use of literal values as enum members. -This rule reports when an enum member is given a value that is not a literal. - -## Examples - - - - -```ts -const str = 'Test'; -const string1 = 'string1'; -const string2 = 'string2'; - -enum Invalid { - A = str, // Variable assignment - B = `Interpolates ${string1} and ${string2}`, // Template literal with interpolation - C = 2 + 2, // Expression assignment - D = C, // Assignment to another enum member -} -``` - - - - -```ts -enum Valid { - A, // No initializer; initialized with ascending integers starting from 0 - B = 'TestStr', // A regular string - C = `A template literal string`, // A template literal without interpolation - D = 4, // A number -} -``` - - - - -## Options - -### `allowBitwiseExpressions` - -{/* insert option description */} - -Examples of code for the `{ "allowBitwiseExpressions": true }` option: - - - - -```ts option='{ "allowBitwiseExpressions": true }' -const x = 1; -enum Foo { - A = x << 0, - B = x >> 0, - C = x >>> 0, - D = x | 0, - E = x & 0, - F = x ^ 0, - G = ~x, -} -``` - - - - -```ts option='{ "allowBitwiseExpressions": true }' -enum Foo { - A = 1 << 0, - B = 1 >> 0, - C = 1 >>> 0, - D = 1 | 0, - E = 1 & 0, - F = 1 ^ 0, - G = ~1, -} -``` - - - - -## When Not To Use It - -If you want use anything other than simple literals as an enum value, this rule might not be for you. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.mdx deleted file mode 100644 index 02dc4628..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.mdx +++ /dev/null @@ -1,51 +0,0 @@ ---- -description: 'Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-namespace-keyword** for documentation. - -TypeScript historically allowed a form of code organization called "custom modules" (`module Example {}`), later renamed to "namespaces" (`namespace Example`). - -Namespaces are an outdated way to organize TypeScript code. -ES2015 module syntax is now preferred (`import`/`export`). - -For projects still using custom modules / namespaces, it's preferred to refer to them as namespaces. -This rule reports when the `module` keyword is used instead of `namespace`. - -> This rule does not report on the use of TypeScript module declarations to describe external APIs (`declare module 'foo' {}`). - -## Examples - - - - -```ts -module Example {} -``` - - - - -```ts -namespace Example {} - -declare module 'foo' {} -``` - - - - -## When Not To Use It - -If you are not using TypeScript's older `module`/`namespace` keywords, then you will not need this rule. - -## Further Reading - -- [Modules](https://www.typescriptlang.org/docs/handbook/modules.html) -- [Namespaces](https://www.typescriptlang.org/docs/handbook/namespaces.html) -- [Namespaces and Modules](https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx deleted file mode 100644 index 2c8e1ed6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.mdx +++ /dev/null @@ -1,222 +0,0 @@ ---- -description: 'Enforce using the nullish coalescing operator instead of logical assignments or chaining.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-nullish-coalescing** for documentation. - -The `??` nullish coalescing runtime operator allows providing a default value when dealing with `null` or `undefined`. -Because the nullish coalescing operator _only_ coalesces when the original value is `null` or `undefined`, it is much safer than relying upon logical OR operator chaining `||`, which coalesces on any _falsy_ value. - -This rule reports when you may consider replacing: - -- An `||` operator with `??` -- An `||=` operator with `??=` - -:::caution -This rule will not work as expected if [`strictNullChecks`](https://www.typescriptlang.org/tsconfig#strictNullChecks) is not enabled. -::: - -## Options - -### `ignoreTernaryTests` - -{/* insert option description */} - -Incorrect code for `ignoreTernaryTests: false`, and correct code for `ignoreTernaryTests: true`: - -```ts option='{ "ignoreTernaryTests": false }' showPlaygroundButton -const foo: any = 'bar'; -foo !== undefined && foo !== null ? foo : 'a string'; -foo === undefined || foo === null ? 'a string' : foo; -foo == undefined ? 'a string' : foo; -foo == null ? 'a string' : foo; - -const foo: string | undefined = 'bar'; -foo !== undefined ? foo : 'a string'; -foo === undefined ? 'a string' : foo; - -const foo: string | null = 'bar'; -foo !== null ? foo : 'a string'; -foo === null ? 'a string' : foo; -``` - -Correct code for `ignoreTernaryTests: false`: - -```ts option='{ "ignoreTernaryTests": false }' showPlaygroundButton -const foo: any = 'bar'; -foo ?? 'a string'; -foo ?? 'a string'; -foo ?? 'a string'; -foo ?? 'a string'; - -const foo: string | undefined = 'bar'; -foo ?? 'a string'; -foo ?? 'a string'; - -const foo: string | null = 'bar'; -foo ?? 'a string'; -foo ?? 'a string'; -``` - -### `ignoreConditionalTests` - -{/* insert option description */} - -Generally expressions within conditional tests intentionally use the falsy fallthrough behavior of the logical or operator, meaning that fixing the operator to the nullish coalesce operator could cause bugs. - -If you're looking to enforce stricter conditional tests, you should consider using the `strict-boolean-expressions` rule. - -Incorrect code for `ignoreConditionalTests: false`, and correct code for `ignoreConditionalTests: true`: - -```ts option='{ "ignoreConditionalTests": false }' showPlaygroundButton -declare const a: string | null; -declare const b: string | null; - -if (a || b) { -} -if ((a ||= b)) { -} -while (a || b) {} -while ((a ||= b)) {} -do {} while (a || b); -for (let i = 0; a || b; i += 1) {} -a || b ? true : false; -``` - -Correct code for `ignoreConditionalTests: false`: - -```ts option='{ "ignoreConditionalTests": false }' showPlaygroundButton -declare const a: string | null; -declare const b: string | null; - -if (a ?? b) { -} -if ((a ??= b)) { -} -while (a ?? b) {} -while ((a ??= b)) {} -do {} while (a ?? b); -for (let i = 0; a ?? b; i += 1) {} -a ?? b ? true : false; -``` - -### `ignoreMixedLogicalExpressions` - -{/* insert option description */} - -Generally expressions within mixed logical expressions intentionally use the falsy fallthrough behavior of the logical or operator, meaning that fixing the operator to the nullish coalesce operator could cause bugs. - -If you're looking to enforce stricter conditional tests, you should consider using the `strict-boolean-expressions` rule. - -Incorrect code for `ignoreMixedLogicalExpressions: false`, and correct code for `ignoreMixedLogicalExpressions: true`: - -```ts option='{ "ignoreMixedLogicalExpressions": false }' showPlaygroundButton -declare const a: string | null; -declare const b: string | null; -declare const c: string | null; -declare const d: string | null; - -a || (b && c); -a ||= b && c; -(a && b) || c || d; -a || (b && c) || d; -a || (b && c && d); -``` - -Correct code for `ignoreMixedLogicalExpressions: false`: - -```ts option='{ "ignoreMixedLogicalExpressions": false }' showPlaygroundButton -declare const a: string | null; -declare const b: string | null; -declare const c: string | null; -declare const d: string | null; - -a ?? (b && c); -a ??= b && c; -(a && b) ?? c ?? d; -a ?? (b && c) ?? d; -a ?? (b && c && d); -``` - -**_NOTE:_** Errors for this specific case will be presented as suggestions (see below), instead of fixes. This is because it is not always safe to automatically convert `||` to `??` within a mixed logical expression, as we cannot tell the intended precedence of the operator. Note that by design, `??` requires parentheses when used with `&&` or `||` in the same expression. - -### `ignorePrimitives` - -{/* insert option description */} - -If you would like to ignore expressions containing operands of certain primitive types that can be falsy then you may pass an object containing a boolean value for each primitive: - -- `string: true`, ignores `null` or `undefined` unions with `string` (default: false). -- `number: true`, ignores `null` or `undefined` unions with `number` (default: false). -- `bigint: true`, ignores `null` or `undefined` unions with `bigint` (default: false). -- `boolean: true`, ignores `null` or `undefined` unions with `boolean` (default: false). - -Incorrect code for `ignorePrimitives: { string: false }`, and correct code for `ignorePrimitives: { string: true }`: - -```ts option='{ "ignorePrimitives": { "string": true } }' showPlaygroundButton -const foo: string | undefined = 'bar'; -foo || 'a string'; -``` - -Correct code for both `ignorePrimitives: { string: false }` and `ignorePrimitives: { string: true }`: - -```ts option='{ "ignorePrimitives": { "string": true } }' showPlaygroundButton -const foo: string | undefined = 'bar'; -foo ?? 'a string'; -``` - -Also, if you would like to ignore all primitives types, you can set `ignorePrimitives: true`. It is equivalent to `ignorePrimitives: { string: true, number: true, bigint: true, boolean: true }`. - -### `ignoreBooleanCoercion` - -{/* insert option description */} - -Whether to ignore expressions that coerce a value into a boolean: `Boolean(...)`. - -Incorrect code for `ignoreBooleanCoercion: false`, and correct code for `ignoreBooleanCoercion: true`: - -```ts option='{ "ignoreBooleanCoercion": true }' showPlaygroundButton -let a: string | true | undefined; -let b: string | boolean | undefined; - -const x = Boolean(a || b); -``` - -Correct code for `ignoreBooleanCoercion: false`: - -```ts option='{ "ignoreBooleanCoercion": false }' showPlaygroundButton -let a: string | true | undefined; -let b: string | boolean | undefined; - -const x = Boolean(a ?? b); -``` - -### `allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing` - -{/* insert option description */} - -:::danger Deprecated - -> This option will be removed in the next major version of typescript-eslint. -> ::: -> Unless this is set to `true`, the rule will error on every file whose `tsconfig.json` does _not_ have the `strictNullChecks` compiler option (or `strict`) set to `true`. - -Without `strictNullChecks`, TypeScript essentially erases `undefined` and `null` from the types. This means when this rule inspects the types from a variable, **it will not be able to tell that the variable might be `null` or `undefined`**, which essentially makes this rule useless. - -You should be using `strictNullChecks` to ensure complete type-safety in your codebase. - -If for some reason you cannot turn on `strictNullChecks`, but still want to use this rule - you can use this option to allow it - but know that the behavior of this rule is _undefined_ with the compiler option turned off. We will not accept bug reports if you are using this option. - -## When Not To Use It - -If you are not using TypeScript 3.7 (or greater), then you will not be able to use this rule, as the operator is not supported. - -## Further Reading - -- [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) -- [Nullish Coalescing Operator Proposal](https://github.com/tc39/proposal-nullish-coalescing/) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.mdx deleted file mode 100644 index f1627d85..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.mdx +++ /dev/null @@ -1,304 +0,0 @@ ---- -description: 'Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-optional-chain** for documentation. - -`?.` optional chain expressions provide `undefined` if an object is `null` or `undefined`. -Because the optional chain operator _only_ chains when the property value is `null` or `undefined`, it is much safer than relying upon logical AND operator chaining `&&`; which chains on any _truthy_ value. -It is also often less code to use `?.` optional chaining than `&&` truthiness checks. - -This rule reports on code where an `&&` operator can be safely replaced with `?.` optional chaining. - -## Examples - - - - -```ts -foo && foo.a && foo.a.b && foo.a.b.c; -foo && foo['a'] && foo['a'].b && foo['a'].b.c; -foo && foo.a && foo.a.b && foo.a.b.method && foo.a.b.method(); - -// With empty objects -(((foo || {}).a || {}).b || {}).c; -(((foo || {})['a'] || {}).b || {}).c; - -// With negated `or`s -!foo || !foo.bar; -!foo || !foo[bar]; -!foo || !foo.bar || !foo.bar.baz || !foo.bar.baz(); - -// this rule also supports converting chained strict nullish checks: -foo && - foo.a != null && - foo.a.b !== null && - foo.a.b.c != undefined && - foo.a.b.c.d !== undefined && - foo.a.b.c.d.e; -``` - - - - -```ts -foo?.a?.b?.c; -foo?.['a']?.b?.c; -foo?.a?.b?.method?.(); - -foo?.a?.b?.c?.d?.e; - -!foo?.bar; -!foo?.[bar]; -!foo?.bar?.baz?.(); -``` - - - - -## Options - -In the context of the descriptions below a "loose boolean" operand is any operand that implicitly coerces the value to a boolean. -Specifically the argument of the not operator (`!loose`) or a bare value in a logical expression (`loose && looser`). - -### `allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing` - -{/* insert option description */} - -When this option is `true`, the rule will provide an auto-fixer for cases where the return type of the expression would change. For example for the expression `!foo || foo.bar` the return type of the expression is `true | T`, however for the equivalent optional chain `foo?.bar` the return type of the expression is `undefined | T`. Thus changing the code from a logical expression to an optional chain expression has altered the type of the expression. - -In some cases this distinction _may_ matter - which is why these fixers are considered unsafe - they may break the build! For example in the following code: - -```ts option='{ "allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing": true }' showPlaygroundButton -declare const foo: { bar: boolean } | null | undefined; -declare function acceptsBoolean(arg: boolean): void; - -// ✅ typechecks succesfully as the expression only returns `boolean` -acceptsBoolean(foo != null && foo.bar); - -// ❌ typechecks UNSUCCESSFULLY as the expression returns `boolean | undefined` -acceptsBoolean(foo?.bar); -``` - -This style of code isn't super common - which means having this option set to `true` _should_ be safe in most codebases. However we default it to `false` due to its unsafe nature. We have provided this option for convenience because it increases the autofix cases covered by the rule. If you set option to `true` the onus is entirely on you and your team to ensure that each fix is correct and safe and that it does not break the build. - -When this option is `false` unsafe cases will have suggestion fixers provided instead of auto-fixers - meaning you can manually apply the fix using your IDE tooling. - -### `checkAny` - -{/* insert option description */} - -Examples of code for this rule with `{ checkAny: false }`: - - - - -```ts option='{ "checkAny": true }' -declare const thing: any; - -thing && thing.toString(); -``` - - - - -```ts option='{ "checkAny": false }' -declare const thing: any; - -thing && thing.toString(); -``` - - - - -### `checkUnknown` - -{/* insert option description */} - -Examples of code for this rule with `{ checkUnknown: false }`: - - - - -```ts option='{ "checkUnknown": true }' -declare const thing: unknown; - -thing && thing.toString(); -``` - - - - -```ts option='{ "checkUnknown": false }' -declare const thing: unknown; - -thing && thing.toString(); -``` - - - - -### `checkString` - -{/* insert option description */} - -Examples of code for this rule with `{ checkString: false }`: - - - - -```ts option='{ "checkString": true }' -declare const thing: string; - -thing && thing.toString(); -``` - - - - -```ts option='{ "checkString": false }' -declare const thing: string; - -thing && thing.toString(); -``` - - - - -### `checkNumber` - -{/* insert option description */} - -Examples of code for this rule with `{ checkNumber: false }`: - - - - -```ts option='{ "checkNumber": true }' -declare const thing: number; - -thing && thing.toString(); -``` - - - - -```ts option='{ "checkNumber": false }' -declare const thing: number; - -thing && thing.toString(); -``` - - - - -### `checkBoolean` - -{/* insert option description */} - -:::note - -This rule intentionally ignores the following case: - -```ts -declare const x: false | { a: string }; -x && x.a; -!x || x.a; -``` - -The boolean expression narrows out the non-nullish falsy cases - so converting the chain to `x?.a` would introduce a type error. - -::: - -Examples of code for this rule with `{ checkBoolean: false }`: - - - - -```ts option='{ "checkBoolean": true }' -declare const thing: true; - -thing && thing.toString(); -``` - - - - -```ts option='{ "checkBoolean": false }' -declare const thing: true; - -thing && thing.toString(); -``` - - - - -### `checkBigInt` - -{/* insert option description */} - -Examples of code for this rule with `{ checkBigInt: false }`: - - - - -```ts option='{ "checkBigInt": true }' -declare const thing: bigint; - -thing && thing.toString(); -``` - - - - -```ts option='{ "checkBigInt": false }' -declare const thing: bigint; - -thing && thing.toString(); -``` - - - - -### `requireNullish` - -{/* insert option description */} - -Examples of code for this rule with `{ requireNullish: false }`: - - - - -```ts option='{ "requireNullish": true }' -declare const thing1: string | null; -thing1 && thing1.toString(); -``` - - - - -```ts option='{ "requireNullish": true }' -declare const thing1: string | null; -thing1?.toString(); - -declare const thing2: string; -thing2 && thing2.toString(); -``` - - - - -## When Not To Use It - -If your project is not accurately typed, such as if it's in the process of being converted to TypeScript or is susceptible to [trade-offs in control flow analysis](https://github.com/Microsoft/TypeScript/issues/9998), it may be difficult to enable this rule for particularly non-type-safe areas of code. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [TypeScript 3.7 Release Notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html) -- [Optional Chaining Proposal](https://github.com/tc39/proposal-optional-chaining/) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-promise-reject-errors.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-promise-reject-errors.mdx deleted file mode 100644 index 951fcc83..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-promise-reject-errors.mdx +++ /dev/null @@ -1,79 +0,0 @@ ---- -description: 'Require using Error objects as Promise rejection reasons.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-promise-reject-errors** for documentation. - -This rule extends the base [`eslint/prefer-promise-reject-errors`](https://eslint.org/docs/rules/prefer-promise-reject-errors) rule. -It uses type information to enforce that `Promise`s are only rejected with `Error` objects. - -## Examples - - - - -```ts -Promise.reject('error'); - -const err = new Error(); -Promise.reject('an ' + err); - -new Promise((resolve, reject) => reject('error')); - -new Promise((resolve, reject) => { - const err = new Error(); - reject('an ' + err); -}); -``` - - - - -```ts -Promise.reject(new Error()); - -class CustomError extends Error { - // ... -} -Promise.reject(new CustomError()); - -new Promise((resolve, reject) => reject(new Error())); - -new Promise((resolve, reject) => { - class CustomError extends Error { - // ... - } - return reject(new CustomError()); -}); -``` - - - - -## Options - -This rule adds the following options: - -```ts -interface Options { - /** - * Whether to always allow throwing values typed as `any`. - */ - allowThrowingAny?: boolean; - - /** - * Whether to always allow throwing values typed as `unknown`. - */ - allowThrowingUnknown?: boolean; -} - -const defaultOptions: Options = { - allowThrowingAny: false, - allowThrowingUnknown: false, -}; -``` diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.mdx deleted file mode 100644 index 02b7dc97..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.mdx +++ /dev/null @@ -1,408 +0,0 @@ ---- -description: 'Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-readonly-parameter-types** for documentation. - -Mutating function arguments can lead to confusing, hard to debug behavior. -Whilst it's easy to implicitly remember to not modify function arguments, explicitly typing arguments as readonly provides clear contract to consumers. -This contract makes it easier for a consumer to reason about if a function has side-effects. - -This rule allows you to enforce that function parameters resolve to readonly types. -A type is considered readonly if: - -- it is a primitive type (`string`, `number`, `boolean`, `symbol`, or an enum), -- it is a function signature type, -- it is a readonly array type whose element type is considered readonly. -- it is a readonly tuple type whose elements are all considered readonly. -- it is an object type whose properties are all marked as readonly, and whose values are all considered readonly. - -## Examples - - - - -```ts -function array1(arg: string[]) {} // array is not readonly -function array2(arg: readonly string[][]) {} // array element is not readonly -function array3(arg: [string, number]) {} // tuple is not readonly -function array4(arg: readonly [string[], number]) {} // tuple element is not readonly -// the above examples work the same if you use ReadonlyArray instead - -function object1(arg: { prop: string }) {} // property is not readonly -function object2(arg: { readonly prop: string; prop2: string }) {} // not all properties are readonly -function object3(arg: { readonly prop: { prop2: string } }) {} // nested property is not readonly -// the above examples work the same if you use Readonly instead - -interface CustomArrayType extends ReadonlyArray { - prop: string; // note: this property is mutable -} -function custom1(arg: CustomArrayType) {} - -interface CustomFunction { - (): void; - prop: string; // note: this property is mutable -} -function custom2(arg: CustomFunction) {} - -function union(arg: string[] | ReadonlyArray) {} // not all types are readonly - -// rule also checks function types -interface Foo { - (arg: string[]): void; -} -interface Foo { - new (arg: string[]): void; -} -const x = { foo(arg: string[]): void {} }; -function foo(arg: string[]); -type Foo = (arg: string[]) => void; -interface Foo { - foo(arg: string[]): void; -} -``` - - - - -```ts -function array1(arg: readonly string[]) {} -function array2(arg: readonly (readonly string[])[]) {} -function array3(arg: readonly [string, number]) {} -function array4(arg: readonly [readonly string[], number]) {} -// the above examples work the same if you use ReadonlyArray instead - -function object1(arg: { readonly prop: string }) {} -function object2(arg: { readonly prop: string; readonly prop2: string }) {} -function object3(arg: { readonly prop: { readonly prop2: string } }) {} -// the above examples work the same if you use Readonly instead - -interface CustomArrayType extends ReadonlyArray { - readonly prop: string; -} -function custom1(arg: Readonly) {} -// interfaces that extend the array types are not considered arrays, and thus must be made readonly. - -interface CustomFunction { - (): void; - readonly prop: string; -} -function custom2(arg: CustomFunction) {} - -function union(arg: readonly string[] | ReadonlyArray) {} - -function primitive1(arg: string) {} -function primitive2(arg: number) {} -function primitive3(arg: boolean) {} -function primitive4(arg: unknown) {} -function primitive5(arg: null) {} -function primitive6(arg: undefined) {} -function primitive7(arg: any) {} -function primitive8(arg: never) {} -function primitive9(arg: string | number | undefined) {} - -function fnSig(arg: () => void) {} - -enum Foo { - a, - b, -} -function enumArg(arg: Foo) {} - -function symb1(arg: symbol) {} -const customSymbol = Symbol('a'); -function symb2(arg: typeof customSymbol) {} - -// function types -interface Foo { - (arg: readonly string[]): void; -} -interface Foo { - new (arg: readonly string[]): void; -} -const x = { foo(arg: readonly string[]): void {} }; -function foo(arg: readonly string[]); -type Foo = (arg: readonly string[]) => void; -interface Foo { - foo(arg: readonly string[]): void; -} -``` - - - - -## Options - -### `allow` - -{/* insert option description */} - -Some complex types cannot easily be made readonly, for example the `HTMLElement` type or the `JQueryStatic` type from `@types/jquery`. This option allows you to globally disable reporting of such types. - -This option takes the shared [`TypeOrValueSpecifier` format](/packages/type-utils/type-or-value-specifier). - -Examples of code for this rule with: - -```json -{ - "allow": [ - { "from": "file", "name": "Foo" }, - { "from": "lib", "name": "HTMLElement" }, - { "from": "package", "name": "Bar", "package": "bar-lib" } - ] -} -``` - - - - -```ts option='{"allow":[{"from":"file","name":"Foo"},{"from":"lib","name":"HTMLElement"},{"from":"package","name":"Bar","package":"bar-lib"}]}' -interface ThisIsMutable { - prop: string; -} - -interface Wrapper { - sub: ThisIsMutable; -} - -interface WrapperWithOther { - readonly sub: Foo; - otherProp: string; -} - -// Incorrect because ThisIsMutable is not readonly -function fn1(arg: ThisIsMutable) {} - -// Incorrect because Wrapper.sub is not readonly -function fn2(arg: Wrapper) {} - -// Incorrect because WrapperWithOther.otherProp is not readonly and not in the allowlist -function fn3(arg: WrapperWithOther) {} -``` - -```ts option='{"allow":[{"from":"file","name":"Foo"},{"from":"lib","name":"HTMLElement"},{"from":"package","name":"Bar","package":"bar-lib"}]}' -import { Foo } from 'some-lib'; -import { Bar } from 'incorrect-lib'; - -interface HTMLElement { - prop: string; -} - -// Incorrect because Foo is not a local type -function fn1(arg: Foo) {} - -// Incorrect because HTMLElement is not from the default library -function fn2(arg: HTMLElement) {} - -// Incorrect because Bar is not from "bar-lib" -function fn3(arg: Bar) {} -``` - - - - -```ts option='{"allow":[{"from":"file","name":"Foo"},{"from":"lib","name":"HTMLElement"},{"from":"package","name":"Bar","package":"bar-lib"}]}' -interface Foo { - prop: string; -} - -interface Wrapper { - readonly sub: Foo; - readonly otherProp: string; -} - -// Works because Foo is allowed -function fn1(arg: Foo) {} - -// Works even when Foo is nested somewhere in the type, with other properties still being checked -function fn2(arg: Wrapper) {} -``` - -```ts option='{"allow":[{"from":"file","name":"Foo"},{"from":"lib","name":"HTMLElement"},{"from":"package","name":"Bar","package":"bar-lib"}]}' -import { Bar } from 'bar-lib'; - -interface Foo { - prop: string; -} - -// Works because Foo is a local type -function fn1(arg: Foo) {} - -// Works because HTMLElement is from the default library -function fn2(arg: HTMLElement) {} - -// Works because Bar is from "bar-lib" -function fn3(arg: Bar) {} -``` - -```ts option='{"allow":[{"from":"file","name":"Foo"},{"from":"lib","name":"HTMLElement"},{"from":"package","name":"Bar","package":"bar-lib"}]}' -import { Foo } from './foo'; - -// Works because Foo is still a local type - it has to be in the same package -function fn(arg: Foo) {} -``` - - - - -### `checkParameterProperties` - -{/* insert option description */} - -Because parameter properties create properties on the class, it may be undesirable to force them to be readonly. - -Examples of code for this rule with `{checkParameterProperties: true}`: - - - - -```ts option='{ "checkParameterProperties": true }' -class Foo { - constructor(private paramProp: string[]) {} -} -``` - - - - -```ts option='{ "checkParameterProperties": true }' -class Foo { - constructor(private paramProp: readonly string[]) {} -} -``` - - - - -Examples of **correct** code for this rule with `{checkParameterProperties: false}`: - -```ts option='{ "checkParameterProperties": false }' showPlaygroundButton -class Foo { - constructor( - private paramProp1: string[], - private paramProp2: readonly string[], - ) {} -} -``` - -### `ignoreInferredTypes` - -{/* insert option description */} - -This may be desirable in cases where an external dependency specifies a callback with mutable parameters, and manually annotating the callback's parameters is undesirable. - -Examples of code for this rule with `{ignoreInferredTypes: true}`: - - - - -```ts option='{ "ignoreInferredTypes": true }' skipValidation -import { acceptsCallback, CallbackOptions } from 'external-dependency'; - -acceptsCallback((options: CallbackOptions) => {}); -``` - -

-external-dependency.d.ts - -```ts option='{ "ignoreInferredTypes": true }' -export interface CallbackOptions { - prop: string; -} -type Callback = (options: CallbackOptions) => void; -type AcceptsCallback = (callback: Callback) => void; - -export const acceptsCallback: AcceptsCallback; -``` - -
- - - - -```ts option='{ "ignoreInferredTypes": true }' -import { acceptsCallback } from 'external-dependency'; - -acceptsCallback(options => {}); -``` - -
-external-dependency.d.ts - -```ts option='{ "ignoreInferredTypes": true }' skipValidation -export interface CallbackOptions { - prop: string; -} -type Callback = (options: CallbackOptions) => void; -type AcceptsCallback = (callback: Callback) => void; - -export const acceptsCallback: AcceptsCallback; -``` - -
- -
- - -### `treatMethodsAsReadonly` - -{/* insert option description */} - -This may be desirable when you are never reassigning methods. - -Examples of code for this rule with `{treatMethodsAsReadonly: false}`: - - - - -```ts option='{ "treatMethodsAsReadonly": false }' -type MyType = { - readonly prop: string; - method(): string; // note: this method is mutable -}; -function foo(arg: MyType) {} -``` - - - - -```ts option='{ "treatMethodsAsReadonly": false }' -type MyType = Readonly<{ - prop: string; - method(): string; -}>; -function foo(arg: MyType) {} - -type MyOtherType = { - readonly prop: string; - readonly method: () => string; -}; -function bar(arg: MyOtherType) {} -``` - - - - -Examples of **correct** code for this rule with `{treatMethodsAsReadonly: true}`: - -```ts option='{ "treatMethodsAsReadonly": true }' showPlaygroundButton -type MyType = { - readonly prop: string; - method(): string; // note: this method is mutable -}; -function foo(arg: MyType) {} -``` - -## When Not To Use It - -If your project does not attempt to enforce strong immutability guarantees of parameters, you can avoid this rule. - -This rule is very strict on what it considers mutable. -Many types that describe themselves as readonly are considered mutable because they have mutable properties such as arrays or tuples. -To work around these limitations, you might need to use the rule's options. -In particular, the [`allow` option](#allow) can explicitly mark a type as readonly. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.mdx deleted file mode 100644 index c7111020..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.mdx +++ /dev/null @@ -1,111 +0,0 @@ ---- -description: "Require private members to be marked as `readonly` if they're never modified outside of the constructor." ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-readonly** for documentation. - -Private member variables (whether using the `private` modifier or private `#` fields) are never permitted to be modified outside of their declaring class. -If that class never modifies their value, they may safely be marked as `readonly`. - -This rule reports on private members are marked as `readonly` if they're never modified outside of the constructor. - -## Examples - - - - -```ts -class Container { - // These member variables could be marked as readonly - private neverModifiedMember = true; - private onlyModifiedInConstructor: number; - #neverModifiedPrivateField = 3; - - public constructor( - onlyModifiedInConstructor: number, - // Private parameter properties can also be marked as readonly - private neverModifiedParameter: string, - ) { - this.onlyModifiedInConstructor = onlyModifiedInConstructor; - } -} -``` - - - - -```ts -class Container { - // Public members might be modified externally - public publicMember: boolean; - - // Protected members might be modified by child classes - protected protectedMember: number; - - // This is modified later on by the class - private modifiedLater = 'unchanged'; - - public mutate() { - this.modifiedLater = 'mutated'; - } - - // This is modified later on by the class - #modifiedLaterPrivateField = 'unchanged'; - - public mutatePrivateField() { - this.#modifiedLaterPrivateField = 'mutated'; - } -} -``` - - - - -## Options - -### `onlyInlineLambdas` - -{/* insert option description */} - -```jsonc -{ - "@typescript-eslint/prefer-readonly": [ - "error", - { "onlyInlineLambdas": true }, - ], -} -``` - -Example of code for the `{ "onlyInlineLambdas": true }` options: - - - - -```ts option='{ "onlyInlineLambdas": true }' -class Container { - private onClick = () => { - /* ... */ - }; -} -``` - - - - -```ts option='{ "onlyInlineLambdas": true }' -class Container { - private neverModifiedPrivate = 'unchanged'; -} -``` - - - - -## When Not To Use It - -If you aren't trying to enforce strong immutability guarantees, this rule may be too restrictive for your project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.mdx deleted file mode 100644 index 999e0e39..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -description: 'Enforce using type parameter when calling `Array#reduce` instead of using a type assertion.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-reduce-type-parameter** for documentation. - -It's common to call `Array#reduce` with a generic type, such as an array or object, as the initial value. -Since these values are empty, their types are not usable: - -- `[]` has type `never[]`, which can't have items pushed into it as nothing is type `never` -- `{}` has type `{}`, which doesn't have an index signature and so can't have properties added to it - -A common solution to this problem is to use an `as` assertion on the initial value. -While this will work, it's not the most optimal solution as type assertions have subtle effects on the underlying types that can allow bugs to slip in. - -A better solution is to pass the type in as a generic type argument to `Array#reduce` explicitly. -This means that TypeScript doesn't have to try to infer the type, and avoids the common pitfalls that come with assertions. - -This rule looks for calls to `Array#reduce`, and reports if an initial value is being passed & asserted. -It will suggest instead pass the asserted type to `Array#reduce` as a generic type argument. - -## Examples - - - - -```ts -[1, 2, 3].reduce((arr, num) => arr.concat(num * 2), [] as number[]); - -['a', 'b'].reduce( - (accum, name) => ({ - ...accum, - [name]: true, - }), - {} as Record, -); -``` - - - - -```ts -[1, 2, 3].reduce((arr, num) => arr.concat(num * 2), []); - -['a', 'b'].reduce>( - (accum, name) => ({ - ...accum, - [name]: true, - }), - {}, -); -``` - - - - -## When Not To Use It - -This rule can sometimes be difficult to work around when creating objects using a `.reduce`. -See [[prefer-reduce-type-parameter] unfixable reporting #3440](https://github.com/typescript-eslint/typescript-eslint/issues/3440) for more details. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.mdx deleted file mode 100644 index 1536638f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -description: 'Enforce `RegExp#exec` over `String#match` if no global flag is provided.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-regexp-exec** for documentation. - -`String#match` is defined to work the same as `RegExp#exec` when the regular expression does not include the `g` flag. -Keeping to consistently using one of the two can help improve code readability. - -This rule reports when a `String#match` call can be replaced with an equivalent `RegExp#exec`. - -> `RegExp#exec` may also be slightly faster than `String#match`; this is the reason to choose it as the preferred usage. - -## Examples - - - - -```ts -'something'.match(/thing/); - -'some things are just things'.match(/thing/); - -const text = 'something'; -const search = /thing/; -text.match(search); -``` - - - - -```ts -/thing/.exec('something'); - -'some things are just things'.match(/thing/g); - -const text = 'something'; -const search = /thing/; -search.exec(text); -``` - - - - -## When Not To Use It - -If you prefer consistent use of `String#match` for both with `g` flag and without it, you can turn this rule off. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.mdx deleted file mode 100644 index 1c45bf8c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.mdx +++ /dev/null @@ -1,93 +0,0 @@ ---- -description: 'Enforce that `this` is used when only `this` type is returned.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-return-this-type** for documentation. - -[Method chaining](https://en.wikipedia.org/wiki/Method_chaining) is a common pattern in OOP languages and TypeScript provides a special [polymorphic `this` type](https://www.typescriptlang.org/docs/handbook/2/classes.html#this-types) to facilitate it. -Class methods that explicitly declare a return type of the class name instead of `this` make it harder for extending classes to call that method: the returned object will be typed as the base class, not the derived class. - -This rule reports when a class method declares a return type of that class name instead of `this`. - -```ts -class Animal { - eat(): Animal { - // ~~~~~~ - // Either removing this type annotation or replacing - // it with `this` would remove the type error below. - console.log("I'm moving!"); - return this; - } -} - -class Cat extends Animal { - meow(): Cat { - console.log('Meow~'); - return this; - } -} - -const cat = new Cat(); -cat.eat().meow(); -// ~~~~ -// Error: Property 'meow' does not exist on type 'Animal'. -// because `eat` returns `Animal` and not all animals meow. -``` - -## Examples - - - - -```ts -class Foo { - f1(): Foo { - return this; - } - f2 = (): Foo => { - return this; - }; - f3(): Foo | undefined { - return Math.random() > 0.5 ? this : undefined; - } -} -``` - - - - -```ts -class Foo { - f1(): this { - return this; - } - f2() { - return this; - } - f3 = (): this => { - return this; - }; - f4 = () => { - return this; - }; -} - -class Base {} -class Derived extends Base { - f(): Base { - return this; - } -} -``` - - - - -## When Not To Use It - -If you don't use method chaining or explicit return values, you can safely turn this rule off. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.mdx deleted file mode 100644 index cc0860bb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.mdx +++ /dev/null @@ -1,84 +0,0 @@ ---- -description: 'Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-string-starts-ends-with** for documentation. - -There are multiple ways to verify if a string starts or ends with a specific string, such as `foo.indexOf('bar') === 0`. -As of ES2015, the most common way in JavaScript is to use `String#startsWith` and `String#endsWith`. -Keeping to those methods consistently helps with code readability. - -This rule reports when a string method can be replaced safely with `String#startsWith` or `String#endsWith`. - -## Examples - - - - -```ts -declare const foo: string; - -// starts with -foo[0] === 'b'; -foo.charAt(0) === 'b'; -foo.indexOf('bar') === 0; -foo.slice(0, 3) === 'bar'; -foo.substring(0, 3) === 'bar'; -foo.match(/^bar/) != null; -/^bar/.test(foo); - -// ends with -foo[foo.length - 1] === 'b'; -foo.charAt(foo.length - 1) === 'b'; -foo.lastIndexOf('bar') === foo.length - 3; -foo.slice(-3) === 'bar'; -foo.substring(foo.length - 3) === 'bar'; -foo.match(/bar$/) != null; -/bar$/.test(foo); -``` - - - - -```ts -declare const foo: string; - -// starts with -foo.startsWith('bar'); - -// ends with -foo.endsWith('bar'); -``` - - - - -## Options - -### `allowSingleElementEquality` - -{/* insert option description */} - -If switched to `'always'`, the rule will allow equality checks against the first or last character in a string. -This can be preferable in projects that don't deal with special character encodings and prefer a more succinct style. - -The following code is considered incorrect by default, but is allowed with `allowSingleElementEquality: 'always'`: - -```ts option='{ "allowSingleElementEquality": "always" }' showPlaygroundButton -declare const text: string; - -text[0] === 'a'; -text[0] === text[0].toUpperCase(); -text[0] === text[1]; -text[text.length - 1] === 'b'; -``` - -## When Not To Use It - -If you don't mind which style of string checking is used, you can turn this rule off safely. -However, keep in mind that inconsistent style can harm readability in a project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.mdx deleted file mode 100644 index 1d0614fa..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -description: 'Enforce using `@ts-expect-error` over `@ts-ignore`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/prefer-ts-expect-error** for documentation. - -:::danger Deprecated - -This rule has been deprecated in favor of [`@typescript-eslint/ban-ts-comment`](./ban-ts-comment.mdx). -This rule (`@typescript-eslint/prefer-ts-expect-error`) will be removed in a future major version of typescript-eslint. - -When it was first created, `@typescript-eslint/ban-ts-comment` rule was only responsible for suggesting to remove `@ts-ignore` directive. -It was later updated to suggest replacing `@ts-ignore` with `@ts-expect-error` directive, so that it replaces `@typescript-eslint/prefer-ts-expect-error` entirely. - -::: - -TypeScript allows you to suppress all errors on a line by placing a comment starting with `@ts-ignore` or `@ts-expect-error` immediately before the erroring line. -The two directives work the same, except `@ts-expect-error` causes a type error if placed before a line that's not erroring in the first place. - -This means it's easy for `@ts-ignore`s to be forgotten about, and remain in code even after the error they were suppressing is fixed. -This is dangerous, as if a new error arises on that line it'll be suppressed by the forgotten about `@ts-ignore`, and so be missed. - -## Examples - -This rule reports any usage of `@ts-ignore`, including a fixer to replace with `@ts-expect-error`. - - - - -```ts -// @ts-ignore -const str: string = 1; - -/** - * Explaining comment - * - * @ts-ignore */ -const multiLine: number = 'value'; - -/** @ts-ignore */ -const block: string = 1; - -const isOptionEnabled = (key: string): boolean => { - // @ts-ignore: if key isn't in globalOptions it'll be undefined which is false - return !!globalOptions[key]; -}; -``` - - - - -```ts -// @ts-expect-error -const str: string = 1; - -/** - * Explaining comment - * - * @ts-expect-error */ -const multiLine: number = 'value'; - -/** @ts-expect-error */ -const block: string = 1; - -const isOptionEnabled = (key: string): boolean => { - // @ts-expect-error: if key isn't in globalOptions it'll be undefined which is false - return !!globalOptions[key]; -}; -``` - - - - -## When Not To Use It - -If you are compiling against multiple versions of TypeScript and using `@ts-ignore` to ignore version-specific type errors, this rule might get in your way. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [Original Implementing PR](https://github.com/microsoft/TypeScript/pull/36014) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.mdx deleted file mode 100644 index f13da18e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -description: 'Require any function or method that returns a Promise to be marked async.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/promise-function-async** for documentation. - -Ensures that each function is only capable of: - -- returning a rejected promise, or -- throwing an Error object. - -In contrast, non-`async`, `Promise`-returning functions are technically capable of either. -Code that handles the results of those functions will often need to handle both cases, which can get complex. -This rule's practice removes a requirement for creating code to handle both cases. - -> When functions return unions of `Promise` and non-`Promise` types implicitly, it is usually a mistake—this rule flags those cases. If it is intentional, make the return type explicitly to allow the rule to pass. - -## Examples - -Examples of code for this rule - - - - -```ts -const arrowFunctionReturnsPromise = () => Promise.resolve('value'); - -function functionReturnsPromise() { - return Promise.resolve('value'); -} - -function functionReturnsUnionWithPromiseImplicitly(p: boolean) { - return p ? 'value' : Promise.resolve('value'); -} -``` - - - - -```ts -const arrowFunctionReturnsPromise = async () => Promise.resolve('value'); - -async function functionReturnsPromise() { - return Promise.resolve('value'); -} - -// An explicit return type that is not Promise means this function cannot be made async, so it is ignored by the rule -function functionReturnsUnionWithPromiseExplicitly( - p: boolean, -): string | Promise { - return p ? 'value' : Promise.resolve('value'); -} - -async function functionReturnsUnionWithPromiseImplicitly(p: boolean) { - return p ? 'value' : Promise.resolve('value'); -} -``` - - - - -## Options - -### `allowAny` - -{/* insert option description */} - -If you want additional safety, consider turning this option off, as it makes the rule less able to catch incorrect Promise behaviors. - -Examples of code with `{ "allowAny": false }`: - - - - -```ts option='{ "allowAny": false }' -const returnsAny = () => ({}) as any; -``` - - - - -```ts option='{ "allowAny": false }' -const returnsAny = async () => ({}) as any; -``` - - - - -### `allowedPromiseNames` - -{/* insert option description */} - -For projects that use constructs other than the global built-in `Promise` for asynchronous code. -This option allows specifying string names of classes or interfaces that cause a function to be checked as well. - -Examples of code with `{ "allowedPromiseNames": ["Bluebird"] }`: - - - - -```ts option='{ "allowedPromiseNames": ["Bluebird"] }' -class Bluebird {} - -const returnsBluebird = () => new Bluebird(() => {}); -``` - - - - -```ts option='{ "allowedPromiseNames": ["Bluebird"] }' -class Bluebird {} - -const returnsBluebird = async () => new Bluebird(() => {}); -``` - - - - -### `checkArrowFunctions` - -{/* insert option description */} - -### `checkFunctionDeclarations` - -{/* insert option description */} - -### `checkFunctionExpressions` - -{/* insert option description */} - -### `checkMethodDeclarations` - -{/* insert option description */} - -## When Not To Use It - -This rule can be difficult to enable on projects that use APIs which require functions to always be `async`. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) along with filing issues on your dependencies for those specific situations instead of completely disabling this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/related-getter-setter-pairs.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/related-getter-setter-pairs.mdx deleted file mode 100644 index d709faf5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/related-getter-setter-pairs.mdx +++ /dev/null @@ -1,61 +0,0 @@ ---- -description: 'Enforce that `get()` types should be assignable to their equivalent `set()` type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/related-getter-setter-pairs** for documentation. - -TypeScript allows defining different types for a `get` parameter and its corresponding `set` return. -Prior to TypeScript 4.3, the types had to be identical. -From TypeScript 4.3 to 5.0, the `get` type had to be a subtype of the `set` type. -As of TypeScript 5.1, the types may be completely unrelated as long as there is an explicit type annotation. - -Defining drastically different types for a `get` and `set` pair can be confusing. -It means that assigning a property to itself would not work: - -```ts -// Assumes box.value's get() return is assignable to its set() parameter -box.value = box.value; -``` - -This rule reports cases where a `get()` and `set()` have the same name, but the `get()`'s type is not assignable to the `set()`'s. - -## Examples - - - - -```ts -interface Box { - get value(): string; - set value(newValue: number); -} -``` - - - - -```ts -interface Box { - get value(): string; - set value(newValue: string); -} -``` - - - - -## When Not To Use It - -If your project needs to model unusual relationships between data, such as older DOM types, this rule may not be useful for you. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## Further Reading - -- [MDN documentation on `get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get) -- [MDN documentation on `set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set) -- [TypeScript 5.1 Release Notes > Unrelated Types for Getters and Setters](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-1.html#unrelated-types-for-getters-and-setters) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.mdx deleted file mode 100644 index 7ca4b942..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.mdx +++ /dev/null @@ -1,89 +0,0 @@ ---- -description: 'Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/require-array-sort-compare** for documentation. - -When called without a compare function, `Array#sort()` and `Array#toSorted()` converts all non-undefined array elements into strings and then compares said strings based off their UTF-16 code units [[ECMA specification](https://www.ecma-international.org/ecma-262/9.0/#sec-sortcompare)]. - -The result is that elements are sorted alphabetically, regardless of their type. -For example, when sorting numbers, this results in a "10 before 2" order: - -```ts -[1, 2, 3, 10, 20, 30].sort(); //→ [1, 10, 2, 20, 3, 30] -``` - -This rule reports on any call to the sort methods that do not provide a `compare` argument. - -## Examples - -This rule aims to ensure all calls of the native sort methods provide a `compareFunction`, while ignoring calls to user-defined methods. - - - - -```ts -const array: any[]; -const stringArray: string[]; - -array.sort(); - -// String arrays should be sorted using `String#localeCompare`. -stringArray.sort(); -``` - - - - -```ts -const array: any[]; -const userDefinedType: { sort(): void }; - -array.sort((a, b) => a - b); -array.sort((a, b) => a.localeCompare(b)); - -userDefinedType.sort(); -``` - - - - -## Options - -### `ignoreStringArrays` - -{/* insert option description */} - -Examples of code for this rule with `{ ignoreStringArrays: true }`: - - - - -```ts option='{ "ignoreStringArrays": true }' -const one = 1; -const two = 2; -const three = 3; -[one, two, three].sort(); -``` - - - - -```ts option='{ "ignoreStringArrays": true }' -const one = '1'; -const two = '2'; -const three = '3'; -[one, two, three].sort(); -``` - - - - -## When Not To Use It - -If you intentionally want your arrays to be always sorted in a string-like manner, you can turn this rule off safely. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.mdx deleted file mode 100644 index c2bd9f7a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -description: 'Disallow async functions which do not return promises and have no `await` expression.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/require-await** for documentation. - -This rule extends the base [`eslint/require-await`](https://eslint.org/docs/rules/require-await) rule. -It uses type information to allow promise-returning functions to be marked as `async` without containing an `await` expression. - -:::note -`yield` expressions in [async generator functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function*) behave differently from sync generator functions (they unwrap promises), so the base rule never checks async generator functions. On the other hand, our rule uses type information and can detect async generator functions that both never use `await` and always yield non-promise values. -::: - -## Examples - - - - -```ts -async function returnNumber() { - return 1; -} - -async function* asyncGenerator() { - yield 1; -} - -const num = returnNumber(); -const callAsyncGenerator = () => asyncGenerator(); -``` - - - - -```ts -function returnNumber() { - return 1; -} - -function* syncGenerator() { - yield 1; -} - -const num = returnNumber(); -const callSyncGenerator = () => syncGenerator(); -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.mdx deleted file mode 100644 index 4a7159aa..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.mdx +++ /dev/null @@ -1,244 +0,0 @@ ---- -description: 'Require both operands of addition to be the same type and be `bigint`, `number`, or `string`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/restrict-plus-operands** for documentation. - -TypeScript allows `+` adding together two values of any type(s). -However, adding values that are not the same type and/or are not the same primitive type is often a sign of programmer error. - -This rule reports when a `+` operation combines two values of different types, or a type that is not `bigint`, `number`, or `string`. - -## Examples - - - - -```ts -let foo = 1n + 1; -let fn = (a: string, b: never) => a + b; -``` - - - - -```ts -let foo = 1n + 1n; -let fn = (a: string, b: string) => a + b; -``` - - - - -## Options - -:::caution -We generally recommend against using these options, as they limit which varieties of incorrect `+` usage can be checked. -This in turn severely limits the validation that the rule can do to ensure that resulting strings and numbers are correct. - -Safer alternatives to using the `allow*` options include: - -- Using variadic forms of logging APIs to avoid needing to `+` values. - ```ts - // Remove this line - console.log('The result is ' + true); - // Add this line - console.log('The result is', true); - ``` -- Using `.toFixed()` to coerce numbers to well-formed string representations: - ```ts - const number = 1.123456789; - const result = 'The number is ' + number.toFixed(2); - // result === 'The number is 1.12' - ``` -- Calling `.toString()` on other types to mark explicit and intentional string coercion: - ```ts - const arg = '11'; - const regex = /[0-9]/; - const result = - 'The result of ' + - regex.toString() + - '.test("' + - arg + - '") is ' + - regex.test(arg).toString(); - // result === 'The result of /[0-9]/.test("11") is true' - ``` - -::: - -### `allowAny` - -{/* insert option description */} - -Examples of code for this rule with `{ allowAny: true }`: - - - - -```ts option='{ "allowAny": true }' -let fn = (a: number, b: []) => a + b; -let fn = (a: string, b: []) => a + b; -``` - - - - -```ts option='{ "allowAny": true }' -let fn = (a: number, b: any) => a + b; -let fn = (a: string, b: any) => a + b; -``` - - - - -### `allowBoolean` - -{/* insert option description */} - -Examples of code for this rule with `{ allowBoolean: true }`: - - - - -```ts option='{ "allowBoolean": true }' -let fn = (a: number, b: unknown) => a + b; -let fn = (a: string, b: unknown) => a + b; -``` - - - - -```ts option='{ "allowBoolean": true }' -let fn = (a: number, b: boolean) => a + b; -let fn = (a: string, b: boolean) => a + b; -``` - - - - -### `allowNullish` - -{/* insert option description */} - -Examples of code for this rule with `{ allowNullish: true }`: - - - - -```ts option='{ "allowNullish": true }' -let fn = (a: number, b: unknown) => a + b; -let fn = (a: number, b: never) => a + b; -let fn = (a: string, b: unknown) => a + b; -let fn = (a: string, b: never) => a + b; -``` - - - - -```ts option='{ "allowNullish": true }' -let fn = (a: number, b: undefined) => a + b; -let fn = (a: number, b: null) => a + b; -let fn = (a: string, b: undefined) => a + b; -let fn = (a: string, b: null) => a + b; -``` - - - - -### `allowNumberAndString` - -{/* insert option description */} - -Examples of code for this rule with `{ allowNumberAndString: true }`: - - - - -```ts option='{ "allowNumberAndString": true }' -let fn = (a: number, b: unknown) => a + b; -let fn = (a: number, b: never) => a + b; -``` - - - - -```ts option='{ "allowNumberAndString": true }' -let fn = (a: number, b: string) => a + b; -let fn = (a: number, b: number | string) => a + b; -``` - - - - -### `allowRegExp` - -{/* insert option description */} - -Examples of code for this rule with `{ allowRegExp: true }`: - - - - -```ts option='{ "allowRegExp": true }' -let fn = (a: number, b: RegExp) => a + b; -``` - - - - -```ts option='{ "allowRegExp": true }' -let fn = (a: string, b: RegExp) => a + b; -``` - - - - -### `skipCompoundAssignments` - -{/* insert option description */} - -Examples of code for this rule with `{ skipCompoundAssignments: false }`: - - - - -```ts option='{ "skipCompoundAssignments": false }' -let foo: bigint = 0n; -foo += 1; - -let bar: number[] = [1]; -bar += 1; -``` - - - - -```ts option='{ "skipCompoundAssignments": false }' -let foo: bigint = 0n; -foo += 1n; - -let bar: number = 1; -bar += 1; -``` - - - - -## When Not To Use It - -If you don't mind a risk of `"[object Object]"` or incorrect type coercions in your values, then you will not need this rule. - -## Related To - -- [`no-base-to-string`](./no-base-to-string.mdx) -- [`restrict-template-expressions`](./restrict-template-expressions.mdx) - -## Further Reading - -- [`Object.prototype.toString()` MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.mdx deleted file mode 100644 index 9ea40aa8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.mdx +++ /dev/null @@ -1,169 +0,0 @@ ---- -description: 'Enforce template literal expressions to be of `string` type.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/restrict-template-expressions** for documentation. - -JavaScript automatically [converts an object to a string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#string_coercion) in a string context, such as when concatenating it with a string using `+` or embedding it in a template literal using `${}`. -The default `toString()` method of objects uses the format `"[object Object]"`, which is often not what was intended. -This rule reports on values used in a template literal string that aren't strings, optionally allowing other data types that provide useful stringification results. - -:::note - -The default settings of this rule intentionally do not allow objects with a custom `toString()` method to be used in template literals, because the stringification result may not be user-friendly. - -For example, arrays have a custom [`toString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString) method, which only calls `join()` internally, which joins the array elements with commas. This means that (1) array elements are not necessarily stringified to useful results (2) the commas don't have spaces after them, making the result not user-friendly. The best way to format arrays is to use [`Intl.ListFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat), which even supports adding the "and" conjunction where necessary. -You must explicitly call `object.toString()` if you want to use this object in a template literal, or turn on the `allowArray` option to specifically allow arrays. -The [`no-base-to-string`](./no-base-to-string.mdx) rule can be used to guard this case against producing `"[object Object]"` by accident. - -::: - -## Examples - - - - -```ts -const arg1 = [1, 2]; -const msg1 = `arg1 = ${arg1}`; - -const arg2 = { name: 'Foo' }; -const msg2 = `arg2 = ${arg2 || null}`; -``` - - - - -```ts -const arg = 'foo'; -const msg1 = `arg = ${arg}`; -const msg2 = `arg = ${arg || 'default'}`; - -const stringWithKindProp: string & { _kind?: 'MyString' } = 'foo'; -const msg3 = `stringWithKindProp = ${stringWithKindProp}`; -``` - - - - -## Options - -### `allowNumber` - -{/* insert option description */} - -Examples of additional **correct** code for this rule with `{ allowNumber: true }`: - -```ts option='{ "allowNumber": true }' showPlaygroundButton -const arg = 123; -const msg1 = `arg = ${arg}`; -const msg2 = `arg = ${arg || 'zero'}`; -``` - -This option controls both numbers and BigInts. - -We recommend avoiding using this option if you use any floating point numbers. -Although `` `${1}` `` evaluates to `'1'`, `` `${0.1 + 0.2}` `` evaluates to `'0.30000000000000004'`. -Consider using [`.toFixed()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) or [`.toPrecision()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision) instead. - -### `allowBoolean` - -{/* insert option description */} - -Examples of additional **correct** code for this rule with `{ allowBoolean: true }`: - -```ts option='{ "allowBoolean": true }' showPlaygroundButton -const arg = true; -const msg1 = `arg = ${arg}`; -const msg2 = `arg = ${arg || 'not truthy'}`; -``` - -### `allowAny` - -{/* insert option description */} - -Examples of additional **correct** code for this rule with `{ allowAny: true }`: - -```ts option='{ "allowAny": true }' showPlaygroundButton -const user = JSON.parse('{ "name": "foo" }'); -const msg1 = `arg = ${user.name}`; -const msg2 = `arg = ${user.name || 'the user with no name'}`; -``` - -### `allowNullish` - -{/* insert option description */} - -Examples of additional **correct** code for this rule with `{ allowNullish: true }`: - -```ts option='{ "allowNullish": true }' showPlaygroundButton -const arg = condition ? 'ok' : null; -const msg1 = `arg = ${arg}`; -``` - -### `allowRegExp` - -{/* insert option description */} - -Examples of additional **correct** code for this rule with `{ allowRegExp: true }`: - -```ts option='{ "allowRegExp": true }' showPlaygroundButton -const arg = new RegExp('foo'); -const msg1 = `arg = ${arg}`; -``` - -```ts option='{ "allowRegExp": true }' showPlaygroundButton -const arg = /foo/; -const msg1 = `arg = ${arg}`; -``` - -### `allowNever` - -{/* insert option description */} - -Examples of additional **correct** code for this rule with `{ allowNever: true }`: - -```ts option='{ "allowNever": true }' showPlaygroundButton -const arg = 'something'; -const msg1 = typeof arg === 'string' ? arg : `arg = ${arg}`; -``` - -### `allowArray` - -{/* insert option description */} - -Examples of additional **correct** code for this rule with `{ allowArray: true }`: - -```ts option='{ "allowArray": true }' showPlaygroundButton -const arg = ['foo', 'bar']; -const msg1 = `arg = ${arg}`; -``` - -### `allow` - -{/* insert option description */} - -Whether to allow additional types in template expressions. - -This option takes the shared [`TypeOrValueSpecifier` format](/packages/type-utils/type-or-value-specifier). - -Examples of additional **correct** code for this rule with the default option `{ allow: [{ from: 'lib', name: 'Error' }, { from: 'lib', name: 'URL' }, { from: 'lib', name: 'URLSearchParams' }] }`: - -```ts showPlaygroundButton -const error = new Error(); -const msg1 = `arg = ${error}`; -``` - -## When Not To Use It - -If you're not worried about incorrectly stringifying non-string values in template literals, then you likely don't need this rule. - -## Related To - -- [`no-base-to-string`](./no-base-to-string.mdx) -- [`restrict-plus-operands`](./restrict-plus-operands.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.mdx deleted file mode 100644 index 34173fae..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.mdx +++ /dev/null @@ -1,328 +0,0 @@ ---- -description: 'Enforce consistent awaiting of returned promises.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/return-await** for documentation. - -This rule builds on top of the [`eslint/no-return-await`](https://eslint.org/docs/rules/no-return-await) rule. -It expands upon the base rule to add support for optionally requiring `return await` in certain cases. - -The extended rule is named `return-await` instead of `no-return-await` because the extended rule can enforce the positive or the negative. Additionally, while the core rule is now deprecated, the extended rule is still useful in many contexts: - -- Returning an awaited promise [improves stack trace information](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await#improving_stack_trace). -- When the `return` statement is in `try...catch`, awaiting the promise also allows the promise's rejection to be caught instead of leaving the error to the caller. -- Contrary to popular belief, `return await promise;` is [at least as fast as directly returning the promise](https://github.com/tc39/proposal-faster-promise-adoption). - -## Options - -```ts -type Options = - | 'in-try-catch' - | 'always' - | 'error-handling-correctness-only' - | 'never'; - -const defaultOptions: Options = 'in-try-catch'; -``` - -The options in this rule distinguish between "ordinary contexts" and "error-handling contexts". -An error-handling context is anywhere where returning an unawaited promise would cause unexpected control flow regarding exceptions/rejections. -See detailed examples in the sections for each option. - -- If you return a promise within a `try` block, it should be awaited in order to trigger subsequent `catch` or `finally` blocks as expected. -- If you return a promise within a `catch` block, and there _is_ a `finally` block, it should be awaited in order to trigger the `finally` block as expected. -- If you return a promise between a `using` or `await using` declaration and the end of its scope, it should be awaited, since it behaves equivalently to code wrapped in a `try` block followed by a `finally`. - -Ordinary contexts are anywhere else a promise may be returned. -The choice of whether to await a returned promise in an ordinary context is mostly stylistic. - -With these terms defined, the options may be summarized as follows: - -| Option | Ordinary Context
(stylistic preference 🎨) | Error-Handling Context
(catches bugs 🐛) | Should I use this option? | -| :-------------------------------: | :----------------------------------------------: | :----------------------------------------------------------: | :--------------------------------------------------------: | -| `always` | `return await promise;` | `return await promise;` | ✅ Yes! | -| `in-try-catch` | `return promise;` | `return await promise;` | ✅ Yes! | -| `error-handling-correctness-only` | don't care 🤷 | `return await promise;` | 🟡 Okay to use, but the above options would be preferable. | -| `never` | `return promise;` | `return promise;`
(⚠️ This behavior may be harmful ⚠️) | ❌ No. This option is deprecated. | - -### `in-try-catch` - -In error-handling contexts, the rule enforces that returned promises must be awaited. -In ordinary contexts, the rule enforces that returned promises _must not_ be awaited. - -This is a good option if you prefer the shorter `return promise` form for stylistic reasons, wherever it's safe to use. - -Examples of code with `in-try-catch`: - - - - -```ts option='"in-try-catch"' -async function invalidInTryCatch1() { - try { - return Promise.reject('try'); - } catch (e) { - // Doesn't execute due to missing await. - } -} - -async function invalidInTryCatch2() { - try { - throw new Error('error'); - } catch (e) { - // Unnecessary await; rejections here don't impact control flow. - return await Promise.reject('catch'); - } -} - -// Prints 'starting async work', 'cleanup', 'async work done'. -async function invalidInTryCatch3() { - async function doAsyncWork(): Promise { - console.log('starting async work'); - await new Promise(resolve => setTimeout(resolve, 1000)); - console.log('async work done'); - } - - try { - throw new Error('error'); - } catch (e) { - // Missing await. - return doAsyncWork(); - } finally { - console.log('cleanup'); - } -} - -async function invalidInTryCatch4() { - try { - throw new Error('error'); - } catch (e) { - throw new Error('error2'); - } finally { - // Unnecessary await; rejections here don't impact control flow. - return await Promise.reject('finally'); - } -} - -async function invalidInTryCatch5() { - return await Promise.resolve('try'); -} - -async function invalidInTryCatch6() { - return await 'value'; -} - -async function invalidInTryCatch7() { - using x = createDisposable(); - return Promise.reject('using in scope'); -} -``` - - - - -```ts option='"in-try-catch"' -async function validInTryCatch1() { - try { - return await Promise.reject('try'); - } catch (e) { - // Executes as expected. - } -} - -async function validInTryCatch2() { - try { - throw new Error('error'); - } catch (e) { - return Promise.reject('catch'); - } -} - -// Prints 'starting async work', 'async work done', 'cleanup'. -async function validInTryCatch3() { - async function doAsyncWork(): Promise { - console.log('starting async work'); - await new Promise(resolve => setTimeout(resolve, 1000)); - console.log('async work done'); - } - - try { - throw new Error('error'); - } catch (e) { - return await doAsyncWork(); - } finally { - console.log('cleanup'); - } -} - -async function validInTryCatch4() { - try { - throw new Error('error'); - } catch (e) { - throw new Error('error2'); - } finally { - return Promise.reject('finally'); - } -} - -async function validInTryCatch5() { - return Promise.resolve('try'); -} - -async function validInTryCatch6() { - return 'value'; -} - -async function validInTryCatch7() { - using x = createDisposable(); - return await Promise.reject('using in scope'); -} -``` - - - - -### `always` - -{/* insert option description */} - -Requires that all returned promises be awaited. - -This is a good option if you like the consistency of simply always awaiting promises, or prefer not having to consider the distinction between error-handling contexts and ordinary contexts. - -Examples of code with `always`: - - - - -```ts option='"always"' -async function invalidAlways1() { - try { - return Promise.resolve('try'); - } catch (e) {} -} - -async function invalidAlways2() { - return Promise.resolve('try'); -} - -async function invalidAlways3() { - return await 'value'; -} -``` - - - - -```ts option='"always"' -async function validAlways1() { - try { - return await Promise.resolve('try'); - } catch (e) {} -} - -async function validAlways2() { - return await Promise.resolve('try'); -} - -async function validAlways3() { - return 'value'; -} -``` - - - - -### `error-handling-correctness-only` - -In error-handling contexts, the rule enforces that returned promises must be awaited. -In ordinary contexts, the rule does not enforce any particular behavior around whether returned promises are awaited. - -This is a good option if you only want to benefit from rule's ability to catch control flow bugs in error-handling contexts, but don't want to enforce a particular style otherwise. - -:::info -We recommend you configure either `in-try-catch` or `always` instead of this option. -While the choice of whether to await promises outside of error-handling contexts is mostly stylistic, it's generally best to be consistent. -::: - -Examples of additional correct code with `error-handling-correctness-only`: - - - - -```ts option='"error-handling-correctness-only"' -async function asyncFunction(): Promise { - if (Math.random() < 0.5) { - return await Promise.resolve(); - } else { - return Promise.resolve(); - } -} -``` - - - - -### `never` - -{/* insert option description */} - -Disallows awaiting any returned promises. - -:::warning - -This option is deprecated and will be removed in a future major version of typescript-eslint. - -The `never` option introduces undesirable behavior in error-handling contexts. -If you prefer to minimize returning awaited promises, consider instead using `in-try-catch` instead, which also generally bans returning awaited promises, but only where it is _safe_ not to await a promise. - -See more details at [typescript-eslint#9433](https://github.com/typescript-eslint/typescript-eslint/issues/9433). -::: - -Examples of code with `never`: - - - - -```ts option='"never"' -async function invalidNever1() { - try { - return await Promise.resolve('try'); - } catch (e) {} -} - -async function invalidNever2() { - return await Promise.resolve('try'); -} - -async function invalidNever3() { - return await 'value'; -} -``` - - - - -```ts option='"never"' -async function validNever1() { - try { - return Promise.resolve('try'); - } catch (e) {} -} - -async function validNever2() { - return Promise.resolve('try'); -} - -async function validNever3() { - return 'value'; -} -``` - - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-constituents.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-constituents.mdx deleted file mode 100644 index 8ed863fb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-constituents.mdx +++ /dev/null @@ -1,209 +0,0 @@ ---- -description: 'Enforce constituents of a type union/intersection to be sorted alphabetically.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/sort-type-constituents** for documentation. - -:::danger Deprecated -This rule has been deprecated in favor of the [`perfectionist/sort-intersection-types`](https://perfectionist.dev/rules/sort-intersection-types) and [`perfectionist/sort-union-types`](https://perfectionist.dev/rules/sort-union-types) rules. - -See [Docs: Deprecate sort-type-constituents in favor of eslint-plugin-perfectionist](https://github.com/typescript-eslint/typescript-eslint/issues/8915) and [eslint-plugin: Feature freeze naming and sorting stylistic rules](https://github.com/typescript-eslint/typescript-eslint/issues/8792) for more information. -::: - -Sorting union (`|`) and intersection (`&`) types can help: - -- keep your codebase standardized -- find repeated types -- reduce diff churn - -This rule reports on any types that aren't sorted alphabetically. - -> Types are sorted case-insensitively and treating numbers like a human would, falling back to character code sorting in case of ties. - -## Examples - - - - -```ts -type T1 = B | A; - -type T2 = { b: string } & { a: string }; - -type T3 = [1, 2, 4] & [1, 2, 3]; - -type T4 = - | [1, 2, 4] - | [1, 2, 3] - | { b: string } - | { a: string } - | (() => void) - | (() => string) - | 'b' - | 'a' - | 'b' - | 'a' - | readonly string[] - | readonly number[] - | string[] - | number[] - | B - | A - | string - | any; -``` - - - - -```ts -type T1 = A | B; - -type T2 = { a: string } & { b: string }; - -type T3 = [1, 2, 3] & [1, 2, 4]; - -type T4 = - | A - | B - | number[] - | string[] - | any - | string - | readonly number[] - | readonly string[] - | 'a' - | 'a' - | 'b' - | 'b' - | (() => string) - | (() => void) - | { a: string } - | { b: string } - | [1, 2, 3] - | [1, 2, 4]; -``` - - - - -## Options - -### `caseSensitive` - -{/* insert option description */} - -Examples of code with `{ "caseSensitive": true }`: - - - - -```ts option='{ "caseSensitive": true }' -type T = 'DeletedAt' | 'DeleteForever'; -``` - - - - -```ts option='{ "caseSensitive": true }' -type T = 'DeleteForever' | 'DeletedAt'; -``` - - - - -### `checkIntersections` - -{/* insert option description */} - -Examples of code with `{ "checkIntersections": true }` (the default): - - - - -```ts option='{ "checkIntersections": true }' -type ExampleIntersection = B & A; -``` - - - - -```ts option='{ "checkIntersections": true }' -type ExampleIntersection = A & B; -``` - - - - -### `checkUnions` - -{/* insert option description */} - -Examples of code with `{ "checkUnions": true }` (the default): - - - - -```ts option='{ "checkUnions": true }' -type ExampleUnion = B | A; -``` - - - - -```ts option='{ "checkUnions": true }' -type ExampleUnion = A | B; -``` - - - - -### `groupOrder` - -{/* insert option description */} - -Each constituent of the type is placed into a group, and then the rule sorts alphabetically within each group. -The ordering of groups is determined by this option. - -- `conditional` - Conditional types (`A extends B ? C : D`) -- `function` - Function and constructor types (`() => void`, `new () => type`) -- `import` - Import types (`import('path')`) -- `intersection` - Intersection types (`A & B`) -- `keyword` - Keyword types (`any`, `string`, etc) -- `literal` - Literal types (`1`, `'b'`, `true`, etc) -- `named` - Named types (`A`, `A['prop']`, `B[]`, `Array`) -- `object` - Object types (`{ a: string }`, `{ [key: string]: number }`) -- `operator` - Operator types (`keyof A`, `typeof B`, `readonly C[]`) -- `tuple` - Tuple types (`[A, B, C]`) -- `union` - Union types (`A | B`) -- `nullish` - `null` and `undefined` - -For example, configuring the rule with `{ "groupOrder": ["literal", "nullish" ]}`: - - - - -```ts option='{ "groupOrder": ["literal", "nullish" ]}' -type ExampleGroup = null | 123; -``` - - - - -```ts option='{ "groupOrder": ["literal", "nullish" ]}' -type ExampleGroup = 123 | null; -``` - - - - -## When Not To Use It - -This rule is purely a stylistic rule for maintaining consistency in your project. -You can turn it off if you don't want to keep a consistent, predictable order for intersection and union types. -However, keep in mind that inconsistent style can harm readability in a project. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.mdx deleted file mode 100644 index af5afd1c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been renamed to [`sort-type-constituents`](https://typescript-eslint.io/rules/sort-type-constituents). - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.mdx deleted file mode 100644 index 94e64787..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.mdx +++ /dev/null @@ -1,212 +0,0 @@ ---- -description: 'Disallow certain types in boolean expressions.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/strict-boolean-expressions** for documentation. - -Forbids usage of non-boolean types in expressions where a boolean is expected. -`boolean` and `never` types are always allowed. -Additional types which are considered safe in a boolean context can be configured via options. - -The following nodes are considered boolean expressions and their type is checked: - -- Argument to the logical negation operator (`!arg`). -- The condition in a conditional expression (`cond ? x : y`). -- Conditions for `if`, `for`, `while`, and `do-while` statements. -- Operands of logical binary operators (`lhs || rhs` and `lhs && rhs`). - - Right-hand side operand is ignored when it's not a descendant of another boolean expression. - This is to allow usage of boolean operators for their short-circuiting behavior. -- Asserted argument of an assertion function (`assert(arg)`). - -## Examples - - - - -```ts -// nullable numbers are considered unsafe by default -declare const num: number | undefined; -if (num) { - console.log('num is defined'); -} - -// nullable strings are considered unsafe by default -declare const str: string | null; -if (!str) { - console.log('str is empty'); -} - -// nullable booleans are considered unsafe by default -function foo(bool?: boolean) { - if (bool) { - bar(); - } -} - -// `any`, unconstrained generics and unions of more than one primitive type are disallowed -const foo = (arg: T) => (arg ? 1 : 0); - -// always-truthy and always-falsy types are disallowed -let obj = {}; -while (obj) { - obj = getObj(); -} - -// assertion functions without an `is` are boolean contexts. -declare function assert(value: unknown): asserts value; -let maybeString = Math.random() > 0.5 ? '' : undefined; -assert(maybeString); -``` - - - - -```tsx -// nullable values should be checked explicitly against null or undefined -let num: number | undefined = 0; -if (num != null) { - console.log('num is defined'); -} - -let str: string | null = null; -if (str != null && !str) { - console.log('str is empty'); -} - -function foo(bool?: boolean) { - if (bool ?? false) { - bar(); - } -} - -// `any` types should be converted to boolean explicitly -const foo = (arg: any) => (Boolean(arg) ? 1 : 0); -``` - - - - -## Options - -### `allowString` - -{/* insert option description */} - -This can be safe because strings have only one falsy value (`""`). -Set this to `false` if you prefer the explicit `str != ""` or `str.length > 0` style. - -### `allowNumber` - -{/* insert option description */} - -This can be safe because numbers have only two falsy values (`0` and `NaN`). -Set this to `false` if you prefer the explicit `num != 0` and `!Number.isNaN(num)` style. - -### `allowNullableObject` - -{/* insert option description */} - -This can be safe because objects, functions, and symbols don't have falsy values. -Set this to `false` if you prefer the explicit `obj != null` style. - -### `allowNullableBoolean` - -{/* insert option description */} - -This is unsafe because nullable booleans can be either `false` or nullish. -Set this to `false` if you want to enforce explicit `bool ?? false` or `bool ?? true` style. -Set this to `true` if you don't mind implicitly treating false the same as a nullish value. - -### `allowNullableString` - -{/* insert option description */} - -This is unsafe because nullable strings can be either an empty string or nullish. -Set this to `true` if you don't mind implicitly treating an empty string the same as a nullish value. - -### `allowNullableNumber` - -{/* insert option description */} - -This is unsafe because nullable numbers can be either a falsy number or nullish. -Set this to `true` if you don't mind implicitly treating zero or NaN the same as a nullish value. - -### `allowNullableEnum` - -{/* insert option description */} - -This is unsafe because nullable enums can be either a falsy number or nullish. -Set this to `true` if you don't mind implicitly treating an enum whose value is zero the same as a nullish value. - -### `allowAny` - -{/* insert option description */} - -This is unsafe for because `any` allows any values and disables many type checking checks. -Set this to `true` at your own risk. - -### `allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing` - -{/* insert option description */} - -:::danger Deprecated - -This option will be removed in the next major version of typescript-eslint. - -::: - -If this is set to `false`, then the rule will error on every file whose `tsconfig.json` does _not_ have the `strictNullChecks` compiler option (or `strict`) set to `true`. - -Without `strictNullChecks`, TypeScript essentially erases `undefined` and `null` from the types. This means when this rule inspects the types from a variable, **it will not be able to tell that the variable might be `null` or `undefined`**, which essentially makes this rule a lot less useful. - -You should be using `strictNullChecks` to ensure complete type-safety in your codebase. - -If for some reason you cannot turn on `strictNullChecks`, but still want to use this rule - you can use this option to allow it - but know that the behavior of this rule is _undefined_ with the compiler option turned off. We will not accept bug reports if you are using this option. - -## Fixes and Suggestions - -This rule provides following fixes and suggestions for particular types in boolean context: - -- `boolean` - Always allowed - no fix needed. -- `string` - (when `allowString` is `false`) - Provides following suggestions: - - Change condition to check string's length (`str` → `str.length > 0`) - - Change condition to check for empty string (`str` → `str !== ""`) - - Explicitly convert value to a boolean (`str` → `Boolean(str)`) -- `number` - (when `allowNumber` is `false`): - - For `array.length` - Provides **autofix**: - - Change condition to check for 0 (`array.length` → `array.length > 0`) - - For other number values - Provides following suggestions: - - Change condition to check for 0 (`num` → `num !== 0`) - - Change condition to check for NaN (`num` → `!Number.isNaN(num)`) - - Explicitly convert value to a boolean (`num` → `Boolean(num)`) -- `object | null | undefined` - (when `allowNullableObject` is `false`) - Provides **autofix**: - - Change condition to check for null/undefined (`maybeObj` → `maybeObj != null`) -- `boolean | null | undefined` - Provides following suggestions: - - Explicitly treat nullish value the same as false (`maybeBool` → `maybeBool ?? false`) - - Change condition to check for true/false (`maybeBool` → `maybeBool === true`) -- `string | null | undefined` - Provides following suggestions: - - Change condition to check for null/undefined (`maybeStr` → `maybeStr != null`) - - Explicitly treat nullish value the same as an empty string (`maybeStr` → `maybeStr ?? ""`) - - Explicitly convert value to a boolean (`maybeStr` → `Boolean(maybeStr)`) -- `number | null | undefined` - Provides following suggestions: - - Change condition to check for null/undefined (`maybeNum` → `maybeNum != null`) - - Explicitly treat nullish value the same as 0 (`maybeNum` → `maybeNum ?? 0`) - - Explicitly convert value to a boolean (`maybeNum` → `Boolean(maybeNum)`) -- `any` and `unknown` - Provides following suggestions: - - Explicitly convert value to a boolean (`value` → `Boolean(value)`) - -## When Not To Use It - -If your project isn't likely to experience bugs from falsy non-boolean values being used in logical conditions, you can skip enabling this rule. - -Otherwise, this rule can be quite strict around requiring exact comparisons in logical checks. -If you prefer more succinct checks over more precise boolean logic, this rule might not be for you. - -## Related To - -- [no-unnecessary-condition](./no-unnecessary-condition.mdx) - Similar rule which reports always-truthy and always-falsy values in conditions diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.mdx deleted file mode 100644 index 20ee0568..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.mdx +++ /dev/null @@ -1,280 +0,0 @@ ---- -description: 'Require switch-case statements to be exhaustive.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/switch-exhaustiveness-check** for documentation. - -When working with union types or enums in TypeScript, it's common to want to write a `switch` statement intended to contain a `case` for each possible type in the union or the enum. -However, if the union type or the enum changes, it's easy to forget to modify the cases to account for any new types. - -This rule reports when a `switch` statement over a value typed as a union of literals or as an enum is missing a case for any of those literal types and does not have a `default` clause. - -## Options - -### `allowDefaultCaseForExhaustiveSwitch` - -{/* insert option description */} - -If set to false, this rule will also report when a `switch` statement has a case for everything in a union and _also_ contains a `default` case. Thus, by setting this option to false, the rule becomes stricter. - -When a `switch` statement over a union type is exhaustive, a final `default` case would be a form of dead code. -Additionally, if a new value is added to the union type and you're using [`considerDefaultExhaustiveForUnions`](#considerDefaultExhaustiveForUnions), a `default` would prevent the `switch-exhaustiveness-check` rule from reporting on the new case not being handled in the `switch` statement. - -#### `allowDefaultCaseForExhaustiveSwitch` Caveats - -It can sometimes be useful to include a redundant `default` case on an exhaustive `switch` statement if it's possible for values to have types not represented by the union type. -For example, in applications that can have version mismatches between clients and servers, it's possible for a server running a newer software version to send a value not recognized by the client's older typings. - -If your project has a small number of intentionally redundant `default` cases, you might want to use an [inline ESLint disable comment](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for each of them. - -If your project has many intentionally redundant `default` cases, you may want to disable `allowDefaultCaseForExhaustiveSwitch` and use the [`default-case` core ESLint rule](https://eslint.org/docs/latest/rules/default-case) along with [a `satisfies never` check](https://www.typescriptlang.org/play?#code/C4TwDgpgBAYgTgVwJbCgXigcgIZjAGwkygB8sAjbAO2u0wG4AoRgMwSoGNgkB7KqBAGcI8ZMAAULRCgBcsacACUcwcDhIqAcygBvRlCiCA7ig4ALKJIWLd+g1A7ZhWXASJy99+3AjAEcfhw8QgApZA4iJi8AX2YvR2dMShoaTA87Lx8-AIpaGjCkCIYMqFiSgBMIFmwEfGB0rwMpMUNsbkEWJAhBKCoIADcIOCjGrP9A9gBrKh4jKgKikYNY5cZYoA). - -### `requireDefaultForNonUnion` - -{/* insert option description */} - -If set to true, this rule will also report when a `switch` statement switches over a non-union type (like a `number` or `string`, for example) and that `switch` statement does not have a `default` case. Thus, by setting this option to true, the rule becomes stricter. - -This is generally desirable so that `number` and `string` switches will be subject to the same exhaustive checks that your other switches are. - -Examples of additional **incorrect** code for this rule with `{ requireDefaultForNonUnion: true }`: - -```ts option='{ "requireDefaultForNonUnion": true }' showPlaygroundButton -const value: number = Math.floor(Math.random() * 3); - -switch (value) { - case 0: - return 0; - case 1: - return 1; -} -``` - -Since `value` is a non-union type it requires the switch case to have a default clause only with `requireDefaultForNonUnion` enabled. - -### `considerDefaultExhaustiveForUnions` - -{/* insert option description */} - -If set to true, a `switch` statement over a union type that includes a `default` case is considered exhaustive. -Otherwise, the rule enforces explicitly handling every constituent of the union type with their own explicit `case`. -Keeping this option disabled can be useful if you want to make sure every value added to the union receives explicit handling, with the `default` case reserved for reporting an error. - -Examples of additional **correct** code with `{ considerDefaultExhaustiveForUnions: true }`: - -```ts option='{ "considerDefaultExhaustiveForUnions": true }' showPlaygroundButton -declare const literal: 'a' | 'b'; - -switch (literal) { - case 'a': - break; - default: - break; -} -``` - -### `defaultCaseCommentPattern` - -{/* insert option description */} - -Default: `/^no default$/iu`. - -It can sometimes be preferable to omit the default case for only some switch statements. -For those situations, this rule can be given a pattern for a comment that's allowed to take the place of a `default:`. - -Examples of additional **correct** code with `{ defaultCaseCommentPattern: "^skip\\sdefault" }`: - -```ts option='{ "defaultCaseCommentPattern": "^skip default" }' showPlaygroundButton -declare const value: 'a' | 'b'; - -switch (value) { - case 'a': - break; - // skip default -} -``` - -## Examples - -When the switch doesn't have exhaustive cases, either filling them all out or adding a default (if you have `considerDefaultExhaustiveForUnions` enabled) will address the rule's complaint. - -Here are some examples of code working with a union of literals: - - - - -```ts -type Day = - | 'Monday' - | 'Tuesday' - | 'Wednesday' - | 'Thursday' - | 'Friday' - | 'Saturday' - | 'Sunday'; - -declare const day: Day; -let result = 0; - -switch (day) { - case 'Monday': - result = 1; - break; -} -``` - - - - -```ts -type Day = - | 'Monday' - | 'Tuesday' - | 'Wednesday' - | 'Thursday' - | 'Friday' - | 'Saturday' - | 'Sunday'; - -declare const day: Day; -let result = 0; - -switch (day) { - case 'Monday': - result = 1; - break; - case 'Tuesday': - result = 2; - break; - case 'Wednesday': - result = 3; - break; - case 'Thursday': - result = 4; - break; - case 'Friday': - result = 5; - break; - case 'Saturday': - result = 6; - break; - case 'Sunday': - result = 7; - break; -} -``` - - - - -```ts option='{ "considerDefaultExhaustiveForUnions": true }' -// requires `considerDefaultExhaustiveForUnions` to be set to true - -type Day = - | 'Monday' - | 'Tuesday' - | 'Wednesday' - | 'Thursday' - | 'Friday' - | 'Saturday' - | 'Sunday'; - -declare const day: Day; -let result = 0; - -switch (day) { - case 'Monday': - result = 1; - break; - default: - result = 42; -} -``` - - - - -Likewise, here are some examples of code working with an enum: - - - - -```ts -enum Fruit { - Apple, - Banana, - Cherry, -} - -declare const fruit: Fruit; - -switch (fruit) { - case Fruit.Apple: - console.log('an apple'); - break; -} -``` - - - - -```ts -enum Fruit { - Apple, - Banana, - Cherry, -} - -declare const fruit: Fruit; - -switch (fruit) { - case Fruit.Apple: - console.log('an apple'); - break; - - case Fruit.Banana: - console.log('a banana'); - break; - - case Fruit.Cherry: - console.log('a cherry'); - break; -} -``` - - - - -```ts option='{ "considerDefaultExhaustiveForUnions": true }' -// requires `considerDefaultExhaustiveForUnions` to be set to true - -enum Fruit { - Apple, - Banana, - Cherry, -} - -declare const fruit: Fruit; - -switch (fruit) { - case Fruit.Apple: - console.log('an apple'); - break; - - default: - console.log('a fruit'); - break; -} -``` - - - - -## When Not To Use It - -If you don't frequently `switch` over union types or enums with many parts, or intentionally wish to leave out some parts, this rule may not be for you. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.mdx deleted file mode 100644 index 2fe7847f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.mdx +++ /dev/null @@ -1,129 +0,0 @@ ---- -description: 'Disallow certain triple slash directives in favor of ES6-style import declarations.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/triple-slash-reference** for documentation. - -TypeScript's `///` triple-slash references are a way to indicate that types from another module are available in a file. -Use of triple-slash reference type directives is generally discouraged in favor of ECMAScript Module `import`s. -This rule reports on the use of `/// `, `/// `, or `/// ` directives. - -## Options - -Any number of the three kinds of references can be specified as an option. -Specifying `'always'` disables this lint rule for that kind of reference. - -### `lib` - -{/* insert option description */} - -When set to `'never'`, bans `/// ` and enforces using an `import` instead: - - - - -```ts option='{ "lib": "never" }' -/// - -globalThis.value; -``` - - - - -```ts option='{ "lib": "never" }' -import { value } from 'code'; -``` - - - - -### `path` - -{/* insert option description */} - -When set to `'never'`, bans `/// ` and enforces using an `import` instead: - - - - -```ts option='{ "path": "never" }' -/// - -globalThis.value; -``` - - - - -```ts option='{ "path": "never" }' -import { value } from 'code'; -``` - - - - -### `types` - -{/* insert option description */} - -When set to `'never'`, bans `/// ` and enforces using an `import` instead: - - - - -```ts option='{ "types": "never" }' -/// - -globalThis.value; -``` - - - - -```ts option='{ "types": "never" }' -import { value } from 'code'; -``` - - - - -The `types` option may alternately be given a `"prefer-import"` value. -Doing so indicates the rule should only report if there is already an `import` from the same location: - - - - -```ts option='{ "types": "prefer-import" }' -/// - -import { valueA } from 'code'; - -globalThis.valueB; -``` - - - - -```ts option='{ "types": "prefer-import" }' -import { valueA, valueB } from 'code'; -``` - - - - -## When Not To Use It - -Most modern TypeScript projects generally use `import` statements to bring in types. -It's rare to need a `///` triple-slash reference outside of auto-generated code. -If your project is a rare one with one of those use cases, this rule might not be for you. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -## When Not To Use It - -If you want to use all flavors of triple slash reference directives. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md deleted file mode 100644 index 039ef6e6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -displayed_sidebar: rulesSidebar ---- - -:::danger Deprecated - -This rule has been moved to the [ESLint stylistic plugin](https://eslint.style). -See [#8072](https://github.com/typescript-eslint/typescript-eslint/issues/8072) and [#8074](https://github.com/typescript-eslint/typescript-eslint/issues/8074) for more information. - -::: - - diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.mdx deleted file mode 100644 index 8af5c045..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.mdx +++ /dev/null @@ -1,347 +0,0 @@ ---- -description: 'Require type annotations in certain places.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/typedef** for documentation. - -TypeScript cannot always infer types for all places in code. -Some locations require type annotations for their types to be inferred. - -This rule can enforce type annotations in locations regardless of whether they're required. -This is typically used to maintain consistency for element types that sometimes require them. - -```ts -class ContainsText { - // There must be a type annotation here to infer the type - delayedText: string; - - // `typedef` requires a type annotation here to maintain consistency - immediateTextExplicit: string = 'text'; - - // This is still a string type because of its initial value - immediateTextImplicit = 'text'; -} -``` - -> To enforce type definitions existing on call signatures, use [`explicit-function-return-type`](./explicit-function-return-type.mdx), or [`explicit-module-boundary-types`](./explicit-module-boundary-types.mdx). - -:::caution - -Requiring type annotations unnecessarily can be cumbersome to maintain and generally reduces code readability. -TypeScript is often better at inferring types than easily written type annotations would allow. - -**Instead of enabling `typedef`, it is generally recommended to use the `--noImplicitAny` and `--strictPropertyInitialization` compiler options to enforce type annotations only when useful.** - -::: - -## Options - -For example, with the following configuration: - -```json -{ - "rules": { - "@typescript-eslint/typedef": [ - "error", - { - "arrowParameter": true, - "variableDeclaration": true - } - ] - } -} -``` - -- Type annotations on arrow function parameters are required -- Type annotations on variables are required - -### `arrayDestructuring` - -{/* insert option description */} - -Examples of code with `{ "arrayDestructuring": true }`: - - - - -```ts option='{ "arrayDestructuring": true }' -const [a] = [1]; -const [b, c] = [1, 2]; -``` - - - - -```ts option='{ "arrayDestructuring": true }' -const [a]: number[] = [1]; -const [b]: [number] = [2]; -const [c, d]: [boolean, string] = [true, 'text']; - -for (const [key, val] of new Map([['key', 1]])) { -} -``` - - - - -### `arrowParameter` - -{/* insert option description */} - -Examples of code with `{ "arrowParameter": true }`: - - - - -```ts option='{ "arrowParameter": true }' -const logsSize = size => console.log(size); - -['hello', 'world'].map(text => text.length); - -const mapper = { - map: text => text + '...', -}; -``` - - - - -```ts option='{ "arrowParameter": true }' -const logsSize = (size: number) => console.log(size); - -['hello', 'world'].map((text: string) => text.length); - -const mapper = { - map: (text: string) => text + '...', -}; -``` - - - - -### `memberVariableDeclaration` - -{/* insert option description */} - -Examples of code with `{ "memberVariableDeclaration": true }`: - - - - -```ts option='{ "memberVariableDeclaration": true }' -class ContainsText { - delayedText; - immediateTextImplicit = 'text'; -} -``` - - - - -```ts option='{ "memberVariableDeclaration": true }' -class ContainsText { - delayedText: string; - immediateTextImplicit: string = 'text'; -} -``` - - - - -### `objectDestructuring` - -{/* insert option description */} - -Examples of code with `{ "objectDestructuring": true }`: - - - - -```ts option='{ "objectDestructuring": true }' -const { length } = 'text'; -const [b, c] = Math.random() ? [1, 2] : [3, 4]; -``` - - - - -```ts option='{ "objectDestructuring": true }' -const { length }: { length: number } = 'text'; -const [b, c]: [number, number] = Math.random() ? [1, 2] : [3, 4]; - -for (const { key, val } of [{ key: 'key', val: 1 }]) { -} -``` - - - - -### `parameter` - -{/* insert option description */} - -Examples of code with `{ "parameter": true }`: - - - - -```ts option='{ "parameter": true }' -function logsSize(size): void { - console.log(size); -} - -const doublesSize = function (size): number { - return size * 2; -}; - -const divider = { - curriesSize(size): number { - return size; - }, - dividesSize: function (size): number { - return size / 2; - }, -}; - -class Logger { - log(text): boolean { - console.log('>', text); - return true; - } -} -``` - - - - -```ts option='{ "parameter": true }' -function logsSize(size: number): void { - console.log(size); -} - -const doublesSize = function (size: number): number { - return size * 2; -}; - -const divider = { - curriesSize(size: number): number { - return size; - }, - dividesSize: function (size: number): number { - return size / 2; - }, -}; - -class Logger { - log(text: boolean): boolean { - console.log('>', text); - return true; - } -} -``` - - - - -### `propertyDeclaration` - -{/* insert option description */} - -Examples of code with `{ "propertyDeclaration": true }`: - - - - -```ts option='{ "propertyDeclaration": true }' -type Members = { - member; - otherMember; -}; -``` - - - - -```ts option='{ "propertyDeclaration": true }' -type Members = { - member: boolean; - otherMember: string; -}; -``` - - - - -### `variableDeclaration` - -{/* insert option description */} - -Examples of code with `{ "variableDeclaration": true }`: - - - - -```ts option='{ "variableDeclaration": true }' -const text = 'text'; -let initialText = 'text'; -let delayedText; -``` - - - - -```ts option='{ "variableDeclaration": true }' -const text: string = 'text'; -let initialText: string = 'text'; -let delayedText: string; -``` - - - - -### `variableDeclarationIgnoreFunction` - -{/* insert option description */} - -Examples of code with `{ "variableDeclaration": true, "variableDeclarationIgnoreFunction": true }`: - - - - -```ts option='{ "variableDeclaration": true, "variableDeclarationIgnoreFunction": true }' -const text = 'text'; -``` - - - - -```ts option='{ "variableDeclaration": true, "variableDeclarationIgnoreFunction": true }' -const a = (): void => {}; -const b = function (): void {}; -const c: () => void = (): void => {}; - -class Foo { - a = (): void => {}; - b = function (): void {}; - c: () => void = (): void => {}; -} -``` - - - - -## When Not To Use It - -If you are using stricter TypeScript compiler options, particularly `--noImplicitAny` and/or `--strictPropertyInitialization`, you likely don't need this rule. - -In general, if you do not consider the cost of writing unnecessary type annotations reasonable, then do not use this rule. - -## Further Reading - -- [TypeScript Type System](https://basarat.gitbooks.io/typescript/docs/types/type-system.html) -- [Type Inference](https://www.typescriptlang.org/docs/handbook/type-inference.html) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.mdx deleted file mode 100644 index bf48bea5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.mdx +++ /dev/null @@ -1,114 +0,0 @@ ---- -description: 'Enforce unbound methods are called with their expected scope.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/unbound-method** for documentation. - -Class method functions don't preserve the class scope when passed as standalone variables ("unbound"). -If your function does not access `this`, [you can annotate it with `this: void`](https://www.typescriptlang.org/docs/handbook/2/functions.html#declaring-this-in-a-function), or consider using an arrow function instead. -Otherwise, passing class methods around as values can remove type safety by failing to capture `this`. - -This rule reports when a class method is referenced in an unbound manner. - -:::note Tip -If you're working with `jest`, you can use [`eslint-plugin-jest`'s version of this rule](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.md) to lint your test files, which knows when it's ok to pass an unbound method to `expect` calls. -::: - -## Examples - - - - -```ts -class MyClass { - public log(): void { - console.log(this); - } -} - -const instance = new MyClass(); - -// This logs the global scope (`window`/`global`), not the class instance -const myLog = instance.log; -myLog(); - -// This log might later be called with an incorrect scope -const { log } = instance; - -// arith.double may refer to `this` internally -const arith = { - double(x: number): number { - return x * 2; - }, -}; -const { double } = arith; -``` - - - - -```ts -class MyClass { - public logUnbound(): void { - console.log(this); - } - - public logBound = () => console.log(this); -} - -const instance = new MyClass(); - -// logBound will always be bound with the correct scope -const { logBound } = instance; -logBound(); - -// .bind and lambdas will also add a correct scope -const dotBindLog = instance.logUnbound.bind(instance); -const innerLog = () => instance.logUnbound(); - -// arith.double explicitly declares that it does not refer to `this` internally -const arith = { - double(this: void, x: number): number { - return x * 2; - }, -}; -const { double } = arith; -``` - - - - -## Options - -### `ignoreStatic` - -{/* insert option description */} - -Examples of **correct** code for this rule with `{ ignoreStatic: true }`: - -```ts option='{ "ignoreStatic": true }' showPlaygroundButton -class OtherClass { - static log() { - console.log(OtherClass); - } -} - -// With `ignoreStatic`, statics are assumed to not rely on a particular scope -const { log } = OtherClass; - -log(); -``` - -## When Not To Use It - -If your project dynamically changes `this` scopes around in a way TypeScript has difficulties modeling, this rule may not be viable to use. -For example, some functions have an additional parameter for specifying the `this` context, such as `Reflect.apply`, and array methods like `Array.prototype.map`. -This semantic is not easily expressed by TypeScript. -You might consider using [ESLint disable comments](https://eslint.org/docs/latest/use/configure/rules#using-configuration-comments-1) for those specific situations instead of completely disabling this rule. - -If you're wanting to use `toBeCalled` and similar matches in `jest` tests, you can disable this rule for your test files in favor of [`eslint-plugin-jest`'s version of this rule](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.mdx). diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.mdx deleted file mode 100644 index 6813957a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.mdx +++ /dev/null @@ -1,88 +0,0 @@ ---- -description: 'Disallow two overloads that could be unified into one with a union or an optional/rest parameter.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/unified-signatures** for documentation. - -Function overload signatures are a TypeScript way to define a function that can be called in multiple very different ways. -Overload signatures add syntax and theoretical bloat, so it's generally best to avoid using them when possible. -Switching to union types and/or optional or rest parameters can often avoid the need for overload signatures. - -This rule reports when function overload signatures can be replaced by a single function signature. - -## Examples - - - - -```ts -function x(x: number): void; -function x(x: string): void; -``` - -```ts -function y(): void; -function y(...x: number[]): void; -``` - - - - -```ts -function x(x: number | string): void; -``` - -```ts -function y(...x: number[]): void; -``` - -```ts -// This rule won't check overload signatures with different rest parameter types. -// See https://github.com/microsoft/TypeScript/issues/5077 -function f(...a: number[]): void; -function f(...a: string[]): void; -``` - - - - -## Options - -### `ignoreDifferentlyNamedParameters` - -{/* insert option description */} - -Examples of code for this rule with `ignoreDifferentlyNamedParameters`: - - - - -```ts option='{ "ignoreDifferentlyNamedParameters": true }' -function f(a: number): void; -function f(a: string): void; -``` - - - - -```ts option='{ "ignoreDifferentlyNamedParameters": true }' -function f(a: number): void; -function f(b: string): void; -``` - - - - -## When Not To Use It - -This is purely a stylistic rule to help with readability of function signature overloads. -You can turn it off if you don't want to consistently keep them next to each other and unified. - -## Related To - -- [`adjacent-overload-signatures`](./adjacent-overload-signatures.mdx) diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/use-unknown-in-catch-callback-variable.mdx b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/use-unknown-in-catch-callback-variable.mdx deleted file mode 100644 index b7423b2d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/docs/rules/use-unknown-in-catch-callback-variable.mdx +++ /dev/null @@ -1,93 +0,0 @@ ---- -description: 'Enforce typing arguments in Promise rejection callbacks as `unknown`.' ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -> 🛑 This file is source code, not the primary documentation location! 🛑 -> -> See **https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable** for documentation. - -This rule enforces that you always use the `unknown` type for the parameter of a Promise rejection callback. - - - - -```ts -Promise.reject(new Error('I will reject!')).catch(err => { - console.log(err); -}); - -Promise.reject(new Error('I will reject!')).catch((err: any) => { - console.log(err); -}); - -Promise.reject(new Error('I will reject!')).catch((err: Error) => { - console.log(err); -}); - -Promise.reject(new Error('I will reject!')).then( - result => { - console.log(result); - }, - err => { - console.log(err); - }, -); -``` - - - - -```ts -Promise.reject(new Error('I will reject!')).catch((err: unknown) => { - console.log(err); -}); -``` - - - - -The reason for this rule is to enable programmers to impose constraints on `Promise` error handling analogously to what TypeScript provides for ordinary exception handling. - -For ordinary exceptions, TypeScript treats the `catch` variable as `any` by default. However, `unknown` would be a more accurate type, so TypeScript [introduced the `useUnknownInCatchVariables` compiler option](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-4.html#defaulting-to-the-unknown-type-in-catch-variables---useunknownincatchvariables) to treat the `catch` variable as `unknown` instead. - -```ts -try { - throw x; -} catch (err) { - // err has type 'any' with useUnknownInCatchVariables: false - // err has type 'unknown' with useUnknownInCatchVariables: true -} -``` - -The Promise analog of the `try-catch` block, [`Promise.prototype.catch()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch), is not affected by the `useUnknownInCatchVariables` compiler option, and its "`catch` variable" will always have the type `any`. - -```ts -Promise.reject(x).catch(err => { - // err has type 'any' regardless of `useUnknownInCatchVariables` -}); -``` - -However, you can still provide an explicit type annotation, which lets you achieve the same effect as the `useUnknownInCatchVariables` option does for synchronous `catch` variables. - -```ts -Promise.reject(x).catch((err: unknown) => { - // err has type 'unknown' -}); -``` - -:::info -There is actually a way to have the `catch()` and `then()` callback variables use the `unknown` type _without_ an explicit type annotation at the call sites, but it has the drawback that it involves overriding global type declarations. -For example, the library [better-TypeScript-lib](https://github.com/uhyo/better-typescript-lib) sets this up globally for your project (see [the relevant lines in the better-TypeScript-lib source code](https://github.com/uhyo/better-typescript-lib/blob/c294e177d1cc2b1d1803febf8192a4c83a1fe028/lib/lib.es5.d.ts#L635) for details on how). - -For further reading on this, you may also want to look into -[the discussion in the proposal for this rule](https://github.com/typescript-eslint/typescript-eslint/issues/7526#issuecomment-1690600813) and [this TypeScript issue on typing catch callback variables as unknown](https://github.com/microsoft/TypeScript/issues/45602). -::: - -## When Not To Use It - -If your codebase is not yet able to enable `useUnknownInCatchVariables`, it likely would be similarly difficult to enable this rule. - -If you have modified the global type declarations in order to make `then()` and `catch()` callbacks use the `unknown` type without an explicit type annotation, you do not need this rule. diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/eslint-recommended-raw.d.ts b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/eslint-recommended-raw.d.ts deleted file mode 100644 index 0fb42307..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/eslint-recommended-raw.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare const config: (style: 'glob' | 'minimatch') => { - files: string[]; - rules: Record; -}; -export = config; diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/index.d.ts b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/index.d.ts deleted file mode 100644 index 756a025e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/index.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { - ClassicConfig, - FlatConfig, -} from '@typescript-eslint/utils/ts-eslint'; - -import type rules from './rules'; - -declare const cjsExport: { - configs: Record; - meta: FlatConfig.PluginMeta; - rules: typeof rules; -}; -export = cjsExport; diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint deleted file mode 100755 index a8276527..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -else - exec node "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc deleted file mode 100755 index e22a0b41..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver deleted file mode 100755 index 9fda3685..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/package.json b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/package.json deleted file mode 100644 index efce3613..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/package.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "name": "@typescript-eslint/eslint-plugin", - "version": "8.18.1", - "description": "TypeScript plugin for ESLint", - "files": [ - "dist", - "docs", - "eslint-recommended-raw.d.ts", - "index.d.ts", - "rules.d.ts", - "package.json", - "README.md", - "LICENSE" - ], - "type": "commonjs", - "exports": { - ".": { - "types": "./index.d.ts", - "default": "./dist/index.js" - }, - "./package.json": "./package.json", - "./use-at-your-own-risk/rules": { - "types": "./rules.d.ts", - "default": "./dist/rules/index.js" - }, - "./use-at-your-own-risk/eslint-recommended-raw": { - "types": "./eslint-recommended-raw.d.ts", - "default": "./dist/configs/eslint-recommended-raw.js" - } - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/typescript-eslint/typescript-eslint.git", - "directory": "packages/eslint-plugin" - }, - "bugs": { - "url": "https://github.com/typescript-eslint/typescript-eslint/issues" - }, - "homepage": "https://typescript-eslint.io/packages/eslint-plugin", - "license": "MIT", - "keywords": [ - "eslint", - "eslintplugin", - "eslint-plugin", - "typescript" - ], - "scripts": { - "build": "tsc -b tsconfig.build.json", - "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf coverage", - "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", - "generate:breaking-changes": "tsx tools/generate-breaking-changes.mts", - "generate:configs": "npx nx generate-configs repo", - "lint": "npx nx lint", - "test": "cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage --logHeapUsage", - "test-single": "cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --no-coverage", - "typecheck": "tsc --noEmit" - }, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.18.1", - "@typescript-eslint/type-utils": "8.18.1", - "@typescript-eslint/utils": "8.18.1", - "@typescript-eslint/visitor-keys": "8.18.1", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "devDependencies": { - "@jest/types": "29.6.3", - "@types/marked": "^5.0.2", - "@types/mdast": "^4.0.3", - "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "8.18.1", - "@typescript-eslint/rule-tester": "8.18.1", - "ajv": "^6.12.6", - "cross-env": "^7.0.3", - "cross-fetch": "*", - "eslint": "*", - "jest": "29.7.0", - "jest-specific-snapshot": "^8.0.0", - "json-schema": "*", - "markdown-table": "^3.0.3", - "marked": "^5.1.2", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0", - "prettier": "^3.2.5", - "rimraf": "*", - "title-case": "^3.0.3", - "tsx": "*", - "typescript": "*", - "unist-util-visit": "^5.0.0" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } -} diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/rules.d.ts b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/rules.d.ts deleted file mode 100644 index 7808db85..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/eslint-plugin/rules.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -/* -We purposely don't generate types for our plugin because TL;DR: -1) there's no real reason that anyone should do a typed import of our rules, -2) it would require us to change our code so there aren't as many inferred types - -This type declaration exists as a hacky way to add a type to the export for our -internal packages that require it. - -*** Long reason *** - -When you turn on declaration files, TS requires all types to be "fully resolvable" -without changes to the code. -All of our lint rules `export default createRule(...)`, which means they all -implicitly reference the `TSESLint.Rule` type for the export. - -TS wants to transpile each rule file to this `.d.ts` file: - -```ts -import type { TSESLint } from '@typescript-eslint/utils'; -declare const _default: TSESLint.RuleModule; -export default _default; -``` - -Because we don't import `TSESLint` in most files, it means that TS would have to -insert a new import during the declaration emit to make this work. -However TS wants to avoid adding new imports to the file because a new module -could have type side-effects (like global augmentation) which could cause weird -type side-effects in the decl file that wouldn't exist in source TS file. - -So TS errors on most of our rules with the following error: -``` -The inferred type of 'default' cannot be named without a reference to -'../../../../node_modules/@typescript-eslint/utils/src/ts-eslint/Rule'. -This is likely not portable. A type annotation is necessary. ts(2742) -``` -*/ - -import type { - RuleModuleWithMetaDocs, - RuleRecommendation, - RuleRecommendationAcrossConfigs, -} from '@typescript-eslint/utils/ts-eslint'; - -interface ESLintPluginDocs { - /** - * Does the rule extend (or is it based off of) an ESLint code rule? - * Alternately accepts the name of the base rule, in case the rule has been renamed. - * This is only used for documentation purposes. - */ - extendsBaseRule?: boolean | string; - - /** - * If a string config name, which starting config this rule is enabled in. - * If an object, which settings it has enabled in each of those configs. - */ - recommended?: RuleRecommendation | RuleRecommendationAcrossConfigs; - - /** - * Does the rule require us to create a full TypeScript Program in order for it - * to type-check code. This is only used for documentation purposes. - */ - requiresTypeChecking?: boolean; -} - -type ESLintPluginRuleModule = RuleModuleWithMetaDocs< - string, - readonly unknown[], - ESLintPluginDocs ->; - -type TypeScriptESLintRules = Record< - string, - RuleModuleWithMetaDocs ->; - -declare const rules: TypeScriptESLintRules; - -declare namespace rules { - export type { - ESLintPluginDocs, - ESLintPluginRuleModule, - TypeScriptESLintRules, - }; -} - -export = rules; diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/parser b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/parser deleted file mode 120000 index 14848b6f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/parser +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/scope-manager b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/scope-manager deleted file mode 120000 index bb799187..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/scope-manager +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+scope-manager@8.18.1/node_modules/@typescript-eslint/scope-manager \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/type-utils b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/type-utils deleted file mode 120000 index 7c804414..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/type-utils +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/utils b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/utils deleted file mode 120000 index 7523fa15..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/utils +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/visitor-keys b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/visitor-keys deleted file mode 120000 index 1377ca40..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/@typescript-eslint/visitor-keys +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+visitor-keys@8.18.1/node_modules/@typescript-eslint/visitor-keys \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/eslint b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/eslint deleted file mode 120000 index 399abca6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/eslint +++ /dev/null @@ -1 +0,0 @@ -../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/graphemer b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/graphemer deleted file mode 120000 index fe130500..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/graphemer +++ /dev/null @@ -1 +0,0 @@ -../../graphemer@1.4.0/node_modules/graphemer \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ignore b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ignore deleted file mode 120000 index 39193988..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ignore +++ /dev/null @@ -1 +0,0 @@ -../../ignore@5.3.2/node_modules/ignore \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/natural-compare b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/natural-compare deleted file mode 120000 index 1d16aca8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/natural-compare +++ /dev/null @@ -1 +0,0 @@ -../../natural-compare@1.4.0/node_modules/natural-compare \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ts-api-utils b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ts-api-utils deleted file mode 120000 index 65a630b7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/ts-api-utils +++ /dev/null @@ -1 +0,0 @@ -../../ts-api-utils@1.4.3_typescript@5.7.2/node_modules/ts-api-utils \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/typescript b/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/typescript deleted file mode 120000 index f7655194..00000000 --- a/node_modules/.pnpm/@typescript-eslint+eslint-plugin@8.18.1_@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1_dtjd3uchfnkkiu3gqjxzvwbilq/node_modules/typescript +++ /dev/null @@ -1 +0,0 @@ -../../typescript@5.7.2/node_modules/typescript \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/LICENSE b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/LICENSE deleted file mode 100644 index a1164108..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 typescript-eslint 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/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/README.md b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/README.md deleted file mode 100644 index 56ee655a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# `@typescript-eslint/parser` - -> An ESLint parser which leverages
TypeScript ESTree to allow for ESLint to lint TypeScript source code. - -[![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/parser.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/parser) -[![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/parser.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/parser) - -👉 See **https://typescript-eslint.io/packages/parser** for documentation on this package. - -> See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. - - diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts deleted file mode 100644 index 938e645c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { parse, parseForESLint, type ParserOptions } from './parser'; -export { clearCaches, createProgram, type ParserServices, type ParserServicesWithoutTypeInformation, type ParserServicesWithTypeInformation, withoutProjectParserOptions, } from '@typescript-eslint/typescript-estree'; -export declare const version: string; -export declare const meta: { - name: string; - version: string; -}; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts.map deleted file mode 100644 index 124854e3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,oCAAoC,EACzC,KAAK,iCAAiC,EACtC,2BAA2B,GAC5B,MAAM,sCAAsC,CAAC;AAI9C,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC;AAElE,eAAO,MAAM,IAAI;;;CAGhB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js deleted file mode 100644 index 14cbb742..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.meta = exports.version = exports.withoutProjectParserOptions = exports.createProgram = exports.clearCaches = exports.parseForESLint = exports.parse = void 0; -var parser_1 = require("./parser"); -Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parser_1.parse; } }); -Object.defineProperty(exports, "parseForESLint", { enumerable: true, get: function () { return parser_1.parseForESLint; } }); -var typescript_estree_1 = require("@typescript-eslint/typescript-estree"); -Object.defineProperty(exports, "clearCaches", { enumerable: true, get: function () { return typescript_estree_1.clearCaches; } }); -Object.defineProperty(exports, "createProgram", { enumerable: true, get: function () { return typescript_estree_1.createProgram; } }); -Object.defineProperty(exports, "withoutProjectParserOptions", { enumerable: true, get: function () { return typescript_estree_1.withoutProjectParserOptions; } }); -// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder -// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -exports.version = require('../package.json').version; -exports.meta = { - name: 'typescript-eslint/parser', - version: exports.version, -}; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js.map b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js.map deleted file mode 100644 index 9ac1fb19..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqE;AAA5D,+FAAA,KAAK,OAAA;AAAE,wGAAA,cAAc,OAAA;AAC9B,0EAO8C;AAN5C,gHAAA,WAAW,OAAA;AACX,kHAAA,aAAa,OAAA;AAIb,gIAAA,2BAA2B,OAAA;AAG7B,sHAAsH;AACtH,+GAA+G;AAClG,QAAA,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;AAErD,QAAA,IAAI,GAAG;IAClB,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAP,eAAO;CACR,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts deleted file mode 100644 index 0e3293d1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { ScopeManager } from '@typescript-eslint/scope-manager'; -import type { ParserOptions, TSESTree } from '@typescript-eslint/types'; -import type { AST, ParserServices } from '@typescript-eslint/typescript-estree'; -import type { VisitorKeys } from '@typescript-eslint/visitor-keys'; -import type * as ts from 'typescript'; -interface ESLintProgram extends AST<{ - comment: true; - tokens: true; -}> { - comments: TSESTree.Comment[]; - range: [number, number]; - tokens: TSESTree.Token[]; -} -interface ParseForESLintResult { - ast: ESLintProgram; - scopeManager: ScopeManager; - services: ParserServices; - visitorKeys: VisitorKeys; -} -declare function parse(code: string | ts.SourceFile, options?: ParserOptions): ParseForESLintResult['ast']; -declare function parseForESLint(code: string | ts.SourceFile, parserOptions?: ParserOptions | null): ParseForESLintResult; -export { parse, parseForESLint }; -export type { ParserOptions } from '@typescript-eslint/types'; -//# sourceMappingURL=parser.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map deleted file mode 100644 index 1f2e18d8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAO,aAAa,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAEf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAUtC,UAAU,aAAc,SAAQ,GAAG,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC;IAClE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;CAC1B;AAED,UAAU,oBAAoB;IAC5B,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAkDD,iBAAS,KAAK,CACZ,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,EAC5B,OAAO,CAAC,EAAE,aAAa,GACtB,oBAAoB,CAAC,KAAK,CAAC,CAE7B;AAED,iBAAS,cAAc,CACrB,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,EAC5B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,GACnC,oBAAoB,CAgGtB;AAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AAEjC,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js deleted file mode 100644 index 4b0453b4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js +++ /dev/null @@ -1,139 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parse = parse; -exports.parseForESLint = parseForESLint; -const scope_manager_1 = require("@typescript-eslint/scope-manager"); -const typescript_estree_1 = require("@typescript-eslint/typescript-estree"); -const visitor_keys_1 = require("@typescript-eslint/visitor-keys"); -const debug_1 = __importDefault(require("debug")); -const typescript_1 = require("typescript"); -const log = (0, debug_1.default)('typescript-eslint:parser:parser'); -function validateBoolean(value, fallback = false) { - if (typeof value !== 'boolean') { - return fallback; - } - return value; -} -const LIB_FILENAME_REGEX = /lib\.(.+)\.d\.[cm]?ts$/; -function getLib(compilerOptions) { - if (compilerOptions.lib) { - return compilerOptions.lib - .map(lib => LIB_FILENAME_REGEX.exec(lib.toLowerCase())?.[1]) - .filter((lib) => !!lib); - } - const target = compilerOptions.target ?? typescript_1.ScriptTarget.ES5; - // https://github.com/microsoft/TypeScript/blob/ae582a22ee1bb052e19b7c1bc4cac60509b574e0/src/compiler/utilitiesPublic.ts#L13-L36 - switch (target) { - case typescript_1.ScriptTarget.ES2015: - return ['es6']; - case typescript_1.ScriptTarget.ES2016: - return ['es2016.full']; - case typescript_1.ScriptTarget.ES2017: - return ['es2017.full']; - case typescript_1.ScriptTarget.ES2018: - return ['es2018.full']; - case typescript_1.ScriptTarget.ES2019: - return ['es2019.full']; - case typescript_1.ScriptTarget.ES2020: - return ['es2020.full']; - case typescript_1.ScriptTarget.ES2021: - return ['es2021.full']; - case typescript_1.ScriptTarget.ES2022: - return ['es2022.full']; - case typescript_1.ScriptTarget.ES2023: - return ['es2023.full']; - case typescript_1.ScriptTarget.ES2024: - return ['es2024.full']; - case typescript_1.ScriptTarget.ESNext: - return ['esnext.full']; - default: - return ['lib']; - } -} -function parse(code, options) { - return parseForESLint(code, options).ast; -} -function parseForESLint(code, parserOptions) { - if (!parserOptions || typeof parserOptions !== 'object') { - parserOptions = {}; - } - else { - parserOptions = { ...parserOptions }; - } - // https://eslint.org/docs/user-guide/configuring#specifying-parser-options - // if sourceType is not provided by default eslint expect that it will be set to "script" - if (parserOptions.sourceType !== 'module' && - parserOptions.sourceType !== 'script') { - parserOptions.sourceType = 'script'; - } - if (typeof parserOptions.ecmaFeatures !== 'object') { - parserOptions.ecmaFeatures = {}; - } - /** - * Allow the user to suppress the warning from typescript-estree if they are using an unsupported - * version of TypeScript - */ - const warnOnUnsupportedTypeScriptVersion = validateBoolean(parserOptions.warnOnUnsupportedTypeScriptVersion, true); - const tsestreeOptions = { - jsx: validateBoolean(parserOptions.ecmaFeatures.jsx), - ...(!warnOnUnsupportedTypeScriptVersion && { loggerFn: false }), - ...parserOptions, - // Override errorOnTypeScriptSyntacticAndSemanticIssues and set it to false to prevent use from user config - // https://github.com/typescript-eslint/typescript-eslint/issues/8681#issuecomment-2000411834 - errorOnTypeScriptSyntacticAndSemanticIssues: false, - // comment, loc, range, and tokens should always be set for ESLint usage - // https://github.com/typescript-eslint/typescript-eslint/issues/8347 - comment: true, - loc: true, - range: true, - tokens: true, - }; - const analyzeOptions = { - globalReturn: parserOptions.ecmaFeatures.globalReturn, - jsxFragmentName: parserOptions.jsxFragmentName, - jsxPragma: parserOptions.jsxPragma, - lib: parserOptions.lib, - sourceType: parserOptions.sourceType, - }; - const { ast, services } = (0, typescript_estree_1.parseAndGenerateServices)(code, tsestreeOptions); - ast.sourceType = parserOptions.sourceType; - if (services.program) { - // automatically apply the options configured for the program - const compilerOptions = services.program.getCompilerOptions(); - if (analyzeOptions.lib == null) { - analyzeOptions.lib = getLib(compilerOptions); - log('Resolved libs from program: %o', analyzeOptions.lib); - } - if ( - // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish - analyzeOptions.jsxPragma === undefined && - compilerOptions.jsxFactory != null) { - // in case the user has specified something like "preact.h" - const factory = compilerOptions.jsxFactory.split('.')[0].trim(); - analyzeOptions.jsxPragma = factory; - log('Resolved jsxPragma from program: %s', analyzeOptions.jsxPragma); - } - if ( - // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish - analyzeOptions.jsxFragmentName === undefined && - compilerOptions.jsxFragmentFactory != null) { - // in case the user has specified something like "preact.Fragment" - const fragFactory = compilerOptions.jsxFragmentFactory - .split('.')[0] - .trim(); - analyzeOptions.jsxFragmentName = fragFactory; - log('Resolved jsxFragmentName from program: %s', analyzeOptions.jsxFragmentName); - } - } - const scopeManager = (0, scope_manager_1.analyze)(ast, analyzeOptions); - // if not defined - override from the parserOptions - services.emitDecoratorMetadata ??= - parserOptions.emitDecoratorMetadata === true; - services.experimentalDecorators ??= - parserOptions.experimentalDecorators === true; - return { ast, scopeManager, services, visitorKeys: visitor_keys_1.visitorKeys }; -} -//# sourceMappingURL=parser.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js.map b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js.map deleted file mode 100644 index 7b9bd53a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/dist/parser.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint deleted file mode 100755 index a8276527..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -else - exec node "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc deleted file mode 100755 index e22a0b41..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver deleted file mode 100755 index 9fda3685..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/package.json b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/package.json deleted file mode 100644 index 73f1c498..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/parser/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "@typescript-eslint/parser", - "version": "8.18.1", - "description": "An ESLint custom parser which leverages TypeScript ESTree", - "files": [ - "dist", - "_ts4.3", - "README.md", - "LICENSE" - ], - "type": "commonjs", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/typescript-eslint/typescript-eslint.git", - "directory": "packages/parser" - }, - "bugs": { - "url": "https://github.com/typescript-eslint/typescript-eslint/issues" - }, - "homepage": "https://typescript-eslint.io/packages/parser", - "license": "MIT", - "keywords": [ - "ast", - "ecmascript", - "javascript", - "typescript", - "parser", - "syntax", - "eslint" - ], - "scripts": { - "build": "tsc -b tsconfig.build.json", - "postbuild": "downlevel-dts dist _ts4.3/dist --to=4.3", - "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf _ts4.3 && rimraf coverage", - "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", - "lint": "npx nx lint", - "test": "jest --coverage", - "typecheck": "tsc --noEmit" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": "8.18.1", - "@typescript-eslint/types": "8.18.1", - "@typescript-eslint/typescript-estree": "8.18.1", - "@typescript-eslint/visitor-keys": "8.18.1", - "debug": "^4.3.4" - }, - "devDependencies": { - "@jest/types": "29.6.3", - "@types/glob": "*", - "downlevel-dts": "*", - "glob": "*", - "jest": "29.7.0", - "prettier": "^3.2.5", - "rimraf": "*", - "typescript": "*" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "typesVersions": { - "<4.7": { - "*": [ - "_ts4.3/*" - ] - } - } -} diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager deleted file mode 120000 index bb799187..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+scope-manager@8.18.1/node_modules/@typescript-eslint/scope-manager \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types deleted file mode 120000 index 16339cf5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+types@8.18.1/node_modules/@typescript-eslint/types \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree deleted file mode 120000 index 8ddf123c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/visitor-keys b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/visitor-keys deleted file mode 120000 index 1377ca40..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/visitor-keys +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+visitor-keys@8.18.1/node_modules/@typescript-eslint/visitor-keys \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug deleted file mode 120000 index a8f3893b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug +++ /dev/null @@ -1 +0,0 @@ -../../debug@4.4.0/node_modules/debug \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint deleted file mode 120000 index 399abca6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint +++ /dev/null @@ -1 +0,0 @@ -../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript deleted file mode 120000 index f7655194..00000000 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript +++ /dev/null @@ -1 +0,0 @@ -../../typescript@5.7.2/node_modules/typescript \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint index a36c7d02..4f4d7136 100755 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint +++ b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/eslint.js" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc index e22a0b41..8df059d3 100755 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc +++ b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver index 9fda3685..0651c4d2 100755 --- a/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver +++ b/node_modules/.pnpm/@typescript-eslint+parser@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/LICENSE b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/LICENSE deleted file mode 100644 index dabd464a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 typescript-eslint 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/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/README.md b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/README.md deleted file mode 100644 index c5d32797..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# `@typescript-eslint/type-utils` - -> Type utilities for working with TypeScript within ESLint rules. - -[![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/utils.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/utils) -[![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/utils.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/utils) - -The utilities in this package are separated from `@typescript-eslint/utils` so that that package does not require a dependency on `typescript`. - -> See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. - - diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts deleted file mode 100644 index 9cd34dde..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts +++ /dev/null @@ -1,130 +0,0 @@ -import type * as ts from 'typescript'; -/** - * Describes specific types or values declared in local files. - * See [TypeOrValueSpecifier > FileSpecifier](/packages/type-utils/type-or-value-specifier#filespecifier). - */ -export interface FileSpecifier { - from: 'file'; - /** - * Type or value name(s) to match on. - */ - name: string | string[]; - /** - * A specific file the types or values must be declared in. - */ - path?: string; -} -/** - * Describes specific types or values declared in TypeScript's built-in lib definitions. - * See [TypeOrValueSpecifier > LibSpecifier](/packages/type-utils/type-or-value-specifier#libspecifier). - */ -export interface LibSpecifier { - from: 'lib'; - /** - * Type or value name(s) to match on. - */ - name: string | string[]; -} -/** - * Describes specific types or values imported from packages. - * See [TypeOrValueSpecifier > PackageSpecifier](/packages/type-utils/type-or-value-specifier#packagespecifier). - */ -export interface PackageSpecifier { - from: 'package'; - /** - * Type or value name(s) to match on. - */ - name: string | string[]; - /** - * Package name the type or value must be declared in. - */ - package: string; -} -/** - * A centralized format for rule options to describe specific _types_ and/or _values_. - * See [TypeOrValueSpecifier](/packages/type-utils/type-or-value-specifier). - */ -export type TypeOrValueSpecifier = string | FileSpecifier | LibSpecifier | PackageSpecifier; -export declare const typeOrValueSpecifiersSchema: { - readonly items: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly additionalProperties: false; - readonly properties: { - readonly from: { - readonly enum: ["file"]; - readonly type: "string"; - }; - readonly name: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly items: { - readonly type: "string"; - }; - readonly minItems: 1; - readonly type: "array"; - readonly uniqueItems: true; - }]; - }; - readonly path: { - readonly type: "string"; - }; - }; - readonly required: ["from", "name"]; - readonly type: "object"; - }, { - readonly additionalProperties: false; - readonly properties: { - readonly from: { - readonly enum: ["lib"]; - readonly type: "string"; - }; - readonly name: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly items: { - readonly type: "string"; - }; - readonly minItems: 1; - readonly type: "array"; - readonly uniqueItems: true; - }]; - }; - }; - readonly required: ["from", "name"]; - readonly type: "object"; - }, { - readonly additionalProperties: false; - readonly properties: { - readonly from: { - readonly enum: ["package"]; - readonly type: "string"; - }; - readonly name: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly items: { - readonly type: "string"; - }; - readonly minItems: 1; - readonly type: "array"; - readonly uniqueItems: true; - }]; - }; - readonly package: { - readonly type: "string"; - }; - }; - readonly required: ["from", "name", "package"]; - readonly type: "object"; - }]; - }; - readonly type: "array"; -}; -export declare function typeMatchesSpecifier(type: ts.Type, specifier: TypeOrValueSpecifier, program: ts.Program): boolean; -export declare const typeMatchesSomeSpecifier: (type: ts.Type, specifiers: TypeOrValueSpecifier[] | undefined, program: ts.Program) => boolean; -//# sourceMappingURL=TypeOrValueSpecifier.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts.map deleted file mode 100644 index 2a0a12a5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TypeOrValueSpecifier.d.ts","sourceRoot":"","sources":["../src/TypeOrValueSpecifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAStC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,aAAa,GACb,YAAY,GACZ,gBAAgB,CAAC;AAErB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FR,CAAC;AAEjC,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,EAAE,CAAC,OAAO,GAClB,OAAO,CA4BT;AAED,eAAO,MAAM,wBAAwB,SAC7B,EAAE,CAAC,IAAI,cACD,oBAAoB,EAAE,uBACzB,EAAE,CAAC,OAAO,KAClB,OAC2E,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js deleted file mode 100644 index a5049708..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.typeMatchesSomeSpecifier = exports.typeOrValueSpecifiersSchema = void 0; -exports.typeMatchesSpecifier = typeMatchesSpecifier; -const tsutils = __importStar(require("ts-api-utils")); -const specifierNameMatches_1 = require("./typeOrValueSpecifiers/specifierNameMatches"); -const typeDeclaredInFile_1 = require("./typeOrValueSpecifiers/typeDeclaredInFile"); -const typeDeclaredInLib_1 = require("./typeOrValueSpecifiers/typeDeclaredInLib"); -const typeDeclaredInPackageDeclarationFile_1 = require("./typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile"); -exports.typeOrValueSpecifiersSchema = { - items: { - oneOf: [ - { - type: 'string', - }, - { - additionalProperties: false, - properties: { - from: { - enum: ['file'], - type: 'string', - }, - name: { - oneOf: [ - { - type: 'string', - }, - { - items: { - type: 'string', - }, - minItems: 1, - type: 'array', - uniqueItems: true, - }, - ], - }, - path: { - type: 'string', - }, - }, - required: ['from', 'name'], - type: 'object', - }, - { - additionalProperties: false, - properties: { - from: { - enum: ['lib'], - type: 'string', - }, - name: { - oneOf: [ - { - type: 'string', - }, - { - items: { - type: 'string', - }, - minItems: 1, - type: 'array', - uniqueItems: true, - }, - ], - }, - }, - required: ['from', 'name'], - type: 'object', - }, - { - additionalProperties: false, - properties: { - from: { - enum: ['package'], - type: 'string', - }, - name: { - oneOf: [ - { - type: 'string', - }, - { - items: { - type: 'string', - }, - minItems: 1, - type: 'array', - uniqueItems: true, - }, - ], - }, - package: { - type: 'string', - }, - }, - required: ['from', 'name', 'package'], - type: 'object', - }, - ], - }, - type: 'array', -}; -function typeMatchesSpecifier(type, specifier, program) { - if (tsutils.isIntrinsicErrorType(type)) { - return false; - } - if (typeof specifier === 'string') { - return (0, specifierNameMatches_1.specifierNameMatches)(type, specifier); - } - if (!(0, specifierNameMatches_1.specifierNameMatches)(type, specifier.name)) { - return false; - } - const symbol = type.getSymbol() ?? type.aliasSymbol; - const declarations = symbol?.getDeclarations() ?? []; - const declarationFiles = declarations.map(declaration => declaration.getSourceFile()); - switch (specifier.from) { - case 'file': - return (0, typeDeclaredInFile_1.typeDeclaredInFile)(specifier.path, declarationFiles, program); - case 'lib': - return (0, typeDeclaredInLib_1.typeDeclaredInLib)(declarationFiles, program); - case 'package': - return (0, typeDeclaredInPackageDeclarationFile_1.typeDeclaredInPackageDeclarationFile)(specifier.package, declarations, declarationFiles, program); - } -} -const typeMatchesSomeSpecifier = (type, specifiers = [], program) => specifiers.some(specifier => typeMatchesSpecifier(type, specifier, program)); -exports.typeMatchesSomeSpecifier = typeMatchesSomeSpecifier; -//# sourceMappingURL=TypeOrValueSpecifier.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js.map deleted file mode 100644 index 3b64aecb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/TypeOrValueSpecifier.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"TypeOrValueSpecifier.js","sourceRoot":"","sources":["../src/TypeOrValueSpecifier.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts deleted file mode 100644 index 4f398405..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -import * as ts from 'typescript'; -/** - * @example - * ```ts - * class DerivedClass extends Promise {} - * DerivedClass.reject - * // ^ PromiseLike - * ``` - */ -export declare function isPromiseLike(program: ts.Program, type: ts.Type): boolean; -/** - * @example - * ```ts - * const value = Promise - * value.reject - * // ^ PromiseConstructorLike - * ``` - */ -export declare function isPromiseConstructorLike(program: ts.Program, type: ts.Type): boolean; -/** - * @example - * ```ts - * class Foo extends Error {} - * new Foo() - * // ^ ErrorLike - * ``` - */ -export declare function isErrorLike(program: ts.Program, type: ts.Type): boolean; -/** - * @example - * ```ts - * type T = Readonly - * // ^ ReadonlyErrorLike - * ``` - */ -export declare function isReadonlyErrorLike(program: ts.Program, type: ts.Type): boolean; -/** - * @example - * ```ts - * type T = Readonly<{ foo: 'bar' }> - * // ^ ReadonlyTypeLike - * ``` - */ -export declare function isReadonlyTypeLike(program: ts.Program, type: ts.Type, predicate?: (subType: { - aliasSymbol: ts.Symbol; - aliasTypeArguments: readonly ts.Type[]; -} & ts.Type) => boolean): boolean; -export declare function isBuiltinTypeAliasLike(program: ts.Program, type: ts.Type, predicate: (subType: { - aliasSymbol: ts.Symbol; - aliasTypeArguments: readonly ts.Type[]; -} & ts.Type) => boolean): boolean; -export declare function isBuiltinSymbolLike(program: ts.Program, type: ts.Type, symbolName: string | string[]): boolean; -export declare function isBuiltinSymbolLikeRecurser(program: ts.Program, type: ts.Type, predicate: (subType: ts.Type) => boolean | null): boolean; -//# sourceMappingURL=builtinSymbolLikes.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts.map deleted file mode 100644 index 3db2a702..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"builtinSymbolLikes.d.ts","sourceRoot":"","sources":["../src/builtinSymbolLikes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,OAAO,CAQT;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,SAAS,CAAC,EAAE,CACV,OAAO,EAAE;IACP,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC;IACvB,kBAAkB,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;CACxC,GAAG,EAAE,CAAC,IAAI,KACR,OAAO,GACX,OAAO,CAMT;AACD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,SAAS,EAAE,CACT,OAAO,EAAE;IACP,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC;IACvB,kBAAkB,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;CACxC,GAAG,EAAE,CAAC,IAAI,KACR,OAAO,GACX,OAAO,CAsBT;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAC5B,OAAO,CAoBT;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,GAAG,IAAI,GAC9C,OAAO,CAwCT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js deleted file mode 100644 index fc91f7ac..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js +++ /dev/null @@ -1,166 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isPromiseLike = isPromiseLike; -exports.isPromiseConstructorLike = isPromiseConstructorLike; -exports.isErrorLike = isErrorLike; -exports.isReadonlyErrorLike = isReadonlyErrorLike; -exports.isReadonlyTypeLike = isReadonlyTypeLike; -exports.isBuiltinTypeAliasLike = isBuiltinTypeAliasLike; -exports.isBuiltinSymbolLike = isBuiltinSymbolLike; -exports.isBuiltinSymbolLikeRecurser = isBuiltinSymbolLikeRecurser; -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const isSymbolFromDefaultLibrary_1 = require("./isSymbolFromDefaultLibrary"); -/** - * @example - * ```ts - * class DerivedClass extends Promise {} - * DerivedClass.reject - * // ^ PromiseLike - * ``` - */ -function isPromiseLike(program, type) { - return isBuiltinSymbolLike(program, type, 'Promise'); -} -/** - * @example - * ```ts - * const value = Promise - * value.reject - * // ^ PromiseConstructorLike - * ``` - */ -function isPromiseConstructorLike(program, type) { - return isBuiltinSymbolLike(program, type, 'PromiseConstructor'); -} -/** - * @example - * ```ts - * class Foo extends Error {} - * new Foo() - * // ^ ErrorLike - * ``` - */ -function isErrorLike(program, type) { - return isBuiltinSymbolLike(program, type, 'Error'); -} -/** - * @example - * ```ts - * type T = Readonly - * // ^ ReadonlyErrorLike - * ``` - */ -function isReadonlyErrorLike(program, type) { - return isReadonlyTypeLike(program, type, subtype => { - const [typeArgument] = subtype.aliasTypeArguments; - return (isErrorLike(program, typeArgument) || - isReadonlyErrorLike(program, typeArgument)); - }); -} -/** - * @example - * ```ts - * type T = Readonly<{ foo: 'bar' }> - * // ^ ReadonlyTypeLike - * ``` - */ -function isReadonlyTypeLike(program, type, predicate) { - return isBuiltinTypeAliasLike(program, type, subtype => { - return (subtype.aliasSymbol.getName() === 'Readonly' && !!predicate?.(subtype)); - }); -} -function isBuiltinTypeAliasLike(program, type, predicate) { - return isBuiltinSymbolLikeRecurser(program, type, subtype => { - const { aliasSymbol, aliasTypeArguments } = subtype; - if (!aliasSymbol || !aliasTypeArguments) { - return false; - } - if ((0, isSymbolFromDefaultLibrary_1.isSymbolFromDefaultLibrary)(program, aliasSymbol) && - predicate(subtype)) { - return true; - } - return null; - }); -} -function isBuiltinSymbolLike(program, type, symbolName) { - return isBuiltinSymbolLikeRecurser(program, type, subType => { - const symbol = subType.getSymbol(); - if (!symbol) { - return false; - } - const actualSymbolName = symbol.getName(); - if ((Array.isArray(symbolName) - ? symbolName.some(name => actualSymbolName === name) - : actualSymbolName === symbolName) && - (0, isSymbolFromDefaultLibrary_1.isSymbolFromDefaultLibrary)(program, symbol)) { - return true; - } - return null; - }); -} -function isBuiltinSymbolLikeRecurser(program, type, predicate) { - if (type.isIntersection()) { - return type.types.some(t => isBuiltinSymbolLikeRecurser(program, t, predicate)); - } - if (type.isUnion()) { - return type.types.every(t => isBuiltinSymbolLikeRecurser(program, t, predicate)); - } - // https://github.com/JoshuaKGoldberg/ts-api-utils/issues/382 - if (tsutils.isTypeParameter(type)) { - const t = type.getConstraint(); - if (t) { - return isBuiltinSymbolLikeRecurser(program, t, predicate); - } - return false; - } - const predicateResult = predicate(type); - if (typeof predicateResult === 'boolean') { - return predicateResult; - } - const symbol = type.getSymbol(); - if (symbol && - symbol.flags & (ts.SymbolFlags.Class | ts.SymbolFlags.Interface)) { - const checker = program.getTypeChecker(); - for (const baseType of checker.getBaseTypes(type)) { - if (isBuiltinSymbolLikeRecurser(program, baseType, predicate)) { - return true; - } - } - } - return false; -} -//# sourceMappingURL=builtinSymbolLikes.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js.map deleted file mode 100644 index a858bb39..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/builtinSymbolLikes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"builtinSymbolLikes.js","sourceRoot":"","sources":["../src/builtinSymbolLikes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts deleted file mode 100644 index d40e2047..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import * as ts from 'typescript'; -/** - * @param type Type being checked by name. - * @param allowAny Whether to consider `any` and `unknown` to match. - * @param allowedNames Symbol names checking on the type. - * @param matchAnyInstead Whether to instead just check if any parts match, rather than all parts. - * @returns Whether the type is, extends, or contains the allowed names (or all matches the allowed names, if mustMatchAll is true). - */ -export declare function containsAllTypesByName(type: ts.Type, allowAny: boolean, allowedNames: Set, matchAnyInstead?: boolean): boolean; -//# sourceMappingURL=containsAllTypesByName.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts.map deleted file mode 100644 index d043e638..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"containsAllTypesByName.d.ts","sourceRoot":"","sources":["../src/containsAllTypesByName.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,eAAe,UAAQ,GACtB,OAAO,CA+BT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js deleted file mode 100644 index 00a56b63..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.containsAllTypesByName = containsAllTypesByName; -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const typeFlagUtils_1 = require("./typeFlagUtils"); -/** - * @param type Type being checked by name. - * @param allowAny Whether to consider `any` and `unknown` to match. - * @param allowedNames Symbol names checking on the type. - * @param matchAnyInstead Whether to instead just check if any parts match, rather than all parts. - * @returns Whether the type is, extends, or contains the allowed names (or all matches the allowed names, if mustMatchAll is true). - */ -function containsAllTypesByName(type, allowAny, allowedNames, matchAnyInstead = false) { - if ((0, typeFlagUtils_1.isTypeFlagSet)(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) { - return !allowAny; - } - if (tsutils.isTypeReference(type)) { - type = type.target; - } - const symbol = type.getSymbol(); - if (symbol && allowedNames.has(symbol.name)) { - return true; - } - const predicate = (t) => containsAllTypesByName(t, allowAny, allowedNames, matchAnyInstead); - if (tsutils.isUnionOrIntersectionType(type)) { - return matchAnyInstead - ? type.types.some(predicate) - : type.types.every(predicate); - } - const bases = type.getBaseTypes(); - return (bases != null && - (matchAnyInstead - ? bases.some(predicate) - : bases.length > 0 && bases.every(predicate))); -} -//# sourceMappingURL=containsAllTypesByName.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js.map deleted file mode 100644 index 865a57b3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"containsAllTypesByName.js","sourceRoot":"","sources":["../src/containsAllTypesByName.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,wDAoCC;AAhDD,sDAAwC;AACxC,+CAAiC;AAEjC,mDAAgD;AAEhD;;;;;;GAMG;AACH,SAAgB,sBAAsB,CACpC,IAAa,EACb,QAAiB,EACjB,YAAyB,EACzB,eAAe,GAAG,KAAK;IAEvB,IAAI,IAAA,6BAAa,EAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,IAAI,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,CAAU,EAAW,EAAE,CACxC,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAErE,IAAI,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,eAAe;YACpB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAElC,OAAO,CACL,KAAK,IAAI,IAAI;QACb,CAAC,eAAe;YACd,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts deleted file mode 100644 index 88c2d48d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { ParserServicesWithTypeInformation, TSESTree } from '@typescript-eslint/typescript-estree'; -import type * as ts from 'typescript'; -/** - * Resolves the given node's type. Will resolve to the type's generic constraint, if it has one. - */ -export declare function getConstrainedTypeAtLocation(services: ParserServicesWithTypeInformation, node: TSESTree.Node): ts.Type; -//# sourceMappingURL=getConstrainedTypeAtLocation.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts.map deleted file mode 100644 index 57b85997..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getConstrainedTypeAtLocation.d.ts","sourceRoot":"","sources":["../src/getConstrainedTypeAtLocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iCAAiC,EACjC,QAAQ,EACT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,iCAAiC,EAC3C,IAAI,EAAE,QAAQ,CAAC,IAAI,GAClB,EAAE,CAAC,IAAI,CAOT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js deleted file mode 100644 index 2bb33280..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getConstrainedTypeAtLocation = getConstrainedTypeAtLocation; -/** - * Resolves the given node's type. Will resolve to the type's generic constraint, if it has one. - */ -function getConstrainedTypeAtLocation(services, node) { - const nodeType = services.getTypeAtLocation(node); - const constrained = services.program - .getTypeChecker() - .getBaseConstraintOfType(nodeType); - return constrained ?? nodeType; -} -//# sourceMappingURL=getConstrainedTypeAtLocation.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js.map deleted file mode 100644 index 3080507b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getConstrainedTypeAtLocation.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getConstrainedTypeAtLocation.js","sourceRoot":"","sources":["../src/getConstrainedTypeAtLocation.ts"],"names":[],"mappings":";;AASA,oEAUC;AAbD;;GAEG;AACH,SAAgB,4BAA4B,CAC1C,QAA2C,EAC3C,IAAmB;IAEnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO;SACjC,cAAc,EAAE;SAChB,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,WAAW,IAAI,QAAQ,CAAC;AACjC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts deleted file mode 100644 index cfd2c83a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as ts from 'typescript'; -/** - * Returns the contextual type of a given node. - * Contextual type is the type of the target the node is going into. - * i.e. the type of a called function's parameter, or the defined type of a variable declaration - */ -export declare function getContextualType(checker: ts.TypeChecker, node: ts.Expression): ts.Type | undefined; -//# sourceMappingURL=getContextualType.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts.map deleted file mode 100644 index 4f66d460..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getContextualType.d.ts","sourceRoot":"","sources":["../src/getContextualType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,UAAU,GAClB,EAAE,CAAC,IAAI,GAAG,SAAS,CAwCrB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js deleted file mode 100644 index 0097e037..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js +++ /dev/null @@ -1,77 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getContextualType = getContextualType; -const ts = __importStar(require("typescript")); -/** - * Returns the contextual type of a given node. - * Contextual type is the type of the target the node is going into. - * i.e. the type of a called function's parameter, or the defined type of a variable declaration - */ -function getContextualType(checker, node) { - const parent = node.parent; - if (ts.isCallExpression(parent) || ts.isNewExpression(parent)) { - if (node === parent.expression) { - // is the callee, so has no contextual type - return; - } - } - else if (ts.isVariableDeclaration(parent) || - ts.isPropertyDeclaration(parent) || - ts.isParameter(parent)) { - return parent.type ? checker.getTypeFromTypeNode(parent.type) : undefined; - } - else if (ts.isJsxExpression(parent)) { - return checker.getContextualType(parent); - } - else if (ts.isIdentifier(node) && - (ts.isPropertyAssignment(parent) || - ts.isShorthandPropertyAssignment(parent))) { - return checker.getContextualType(node); - } - else if (ts.isBinaryExpression(parent) && - parent.operatorToken.kind === ts.SyntaxKind.EqualsToken && - parent.right === node) { - // is RHS of assignment - return checker.getTypeAtLocation(parent.left); - } - else if (![ts.SyntaxKind.JsxExpression, ts.SyntaxKind.TemplateSpan].includes(parent.kind)) { - // parent is not something we know we can get the contextual type of - return; - } - // TODO - support return statement checking - return checker.getContextualType(node); -} -//# sourceMappingURL=getContextualType.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js.map deleted file mode 100644 index 245d31c1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getContextualType.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getContextualType.js","sourceRoot":"","sources":["../src/getContextualType.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8CA2CC;AAlDD,+CAAiC;AAEjC;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,OAAuB,EACvB,IAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAE3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,IAAI,IAAI,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/B,2CAA2C;YAC3C,OAAO;QACT,CAAC;IACH,CAAC;SAAM,IACL,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAChC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;QAChC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EACtB,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;SAAM,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;SAAM,IACL,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,CAAC,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAC9B,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,EAC3C,CAAC;QACD,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;SAAM,IACL,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC7B,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;QACvD,MAAM,CAAC,KAAK,KAAK,IAAI,EACrB,CAAC;QACD,uBAAuB;QACvB,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;SAAM,IACL,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,CACjE,MAAM,CAAC,IAAI,CACZ,EACD,CAAC;QACD,oEAAoE;QACpE,OAAO;IACT,CAAC;IACD,2CAA2C;IAE3C,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts deleted file mode 100644 index 072056b3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { ParserServicesWithTypeInformation, TSESTree } from '@typescript-eslint/typescript-estree'; -import type * as ts from 'typescript'; -/** - * Gets the declaration for the given variable - */ -export declare function getDeclaration(services: ParserServicesWithTypeInformation, node: TSESTree.Node): ts.Declaration | null; -//# sourceMappingURL=getDeclaration.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts.map deleted file mode 100644 index 369214d8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getDeclaration.d.ts","sourceRoot":"","sources":["../src/getDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iCAAiC,EACjC,QAAQ,EACT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,iCAAiC,EAC3C,IAAI,EAAE,QAAQ,CAAC,IAAI,GAClB,EAAE,CAAC,WAAW,GAAG,IAAI,CAOvB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js deleted file mode 100644 index 43d60b08..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getDeclaration = getDeclaration; -/** - * Gets the declaration for the given variable - */ -function getDeclaration(services, node) { - const symbol = services.getSymbolAtLocation(node); - if (!symbol) { - return null; - } - const declarations = symbol.getDeclarations(); - return declarations?.[0] ?? null; -} -//# sourceMappingURL=getDeclaration.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js.map deleted file mode 100644 index 6e1599f3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getDeclaration.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getDeclaration.js","sourceRoot":"","sources":["../src/getDeclaration.ts"],"names":[],"mappings":";;AASA,wCAUC;AAbD;;GAEG;AACH,SAAgB,cAAc,CAC5B,QAA2C,EAC3C,IAAmB;IAEnB,MAAM,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts deleted file mode 100644 index 2eb4a7cf..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import * as ts from 'typescript'; -/** - * Gets the source file for a given node - */ -export declare function getSourceFileOfNode(node: ts.Node): ts.SourceFile; -//# sourceMappingURL=getSourceFileOfNode.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts.map deleted file mode 100644 index 4b992bd8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getSourceFileOfNode.d.ts","sourceRoot":"","sources":["../src/getSourceFileOfNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,UAAU,CAKhE"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js deleted file mode 100644 index 58d32407..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSourceFileOfNode = getSourceFileOfNode; -const ts = __importStar(require("typescript")); -/** - * Gets the source file for a given node - */ -function getSourceFileOfNode(node) { - while (node.kind !== ts.SyntaxKind.SourceFile) { - node = node.parent; - } - return node; -} -//# sourceMappingURL=getSourceFileOfNode.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js.map deleted file mode 100644 index 5847405f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getSourceFileOfNode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getSourceFileOfNode.js","sourceRoot":"","sources":["../src/getSourceFileOfNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,kDAKC;AAVD,+CAAiC;AAEjC;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,IAAqB,CAAC;AAC/B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts deleted file mode 100644 index 0d7b92ae..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as ts from 'typescript'; -/** - * Get the type name of a given type. - * @param typeChecker The context sensitive TypeScript TypeChecker. - * @param type The type to get the name of. - */ -export declare function getTypeName(typeChecker: ts.TypeChecker, type: ts.Type): string; -//# sourceMappingURL=getTypeName.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts.map deleted file mode 100644 index a598b0fe..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getTypeName.d.ts","sourceRoot":"","sources":["../src/getTypeName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,EAAE,CAAC,WAAW,EAC3B,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,MAAM,CAqDR"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js deleted file mode 100644 index aed6d58d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js +++ /dev/null @@ -1,84 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTypeName = getTypeName; -const ts = __importStar(require("typescript")); -/** - * Get the type name of a given type. - * @param typeChecker The context sensitive TypeScript TypeChecker. - * @param type The type to get the name of. - */ -function getTypeName(typeChecker, type) { - // It handles `string` and string literal types as string. - if ((type.flags & ts.TypeFlags.StringLike) !== 0) { - return 'string'; - } - // If the type is a type parameter which extends primitive string types, - // but it was not recognized as a string like. So check the constraint - // type of the type parameter. - if ((type.flags & ts.TypeFlags.TypeParameter) !== 0) { - // `type.getConstraint()` method doesn't return the constraint type of - // the type parameter for some reason. So this gets the constraint type - // via AST. - const symbol = type.getSymbol(); - const decls = symbol?.getDeclarations(); - const typeParamDecl = decls?.[0]; - if (typeParamDecl != null && - ts.isTypeParameterDeclaration(typeParamDecl) && - typeParamDecl.constraint != null) { - return getTypeName(typeChecker, typeChecker.getTypeFromTypeNode(typeParamDecl.constraint)); - } - } - // If the type is a union and all types in the union are string like, - // return `string`. For example: - // - `"a" | "b"` is string. - // - `string | string[]` is not string. - if (type.isUnion() && - type.types - .map(value => getTypeName(typeChecker, value)) - .every(t => t === 'string')) { - return 'string'; - } - // If the type is an intersection and a type in the intersection is string - // like, return `string`. For example: `string & {__htmlEscaped: void}` - if (type.isIntersection() && - type.types - .map(value => getTypeName(typeChecker, value)) - .some(t => t === 'string')) { - return 'string'; - } - return typeChecker.typeToString(type); -} -//# sourceMappingURL=getTypeName.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js.map deleted file mode 100644 index 7d112809..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/getTypeName.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getTypeName.js","sourceRoot":"","sources":["../src/getTypeName.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,kCAwDC;AA/DD,+CAAiC;AAEjC;;;;GAIG;AACH,SAAgB,WAAW,CACzB,WAA2B,EAC3B,IAAa;IAEb,0DAA0D;IAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,sEAAsE;IACtE,8BAA8B;IAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,sEAAsE;QACtE,uEAAuE;QACvE,WAAW;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,IACE,aAAa,IAAI,IAAI;YACrB,EAAE,CAAC,0BAA0B,CAAC,aAAa,CAAC;YAC5C,aAAa,CAAC,UAAU,IAAI,IAAI,EAChC,CAAC;YACD,OAAO,WAAW,CAChB,WAAW,EACX,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,gCAAgC;IAChC,2BAA2B;IAC3B,uCAAuC;IACvC,IACE,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,CAAC,KAAK;aACP,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAC7C,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAC7B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,IACE,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,KAAK;aACP,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAC5B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts deleted file mode 100644 index 6e083287..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -export * from './builtinSymbolLikes'; -export * from './containsAllTypesByName'; -export * from './getConstrainedTypeAtLocation'; -export * from './getContextualType'; -export * from './getDeclaration'; -export * from './getSourceFileOfNode'; -export * from './getTypeName'; -export * from './isSymbolFromDefaultLibrary'; -export * from './isTypeReadonly'; -export * from './isUnsafeAssignment'; -export * from './predicates'; -export * from './propertyTypes'; -export * from './requiresQuoting'; -export * from './typeFlagUtils'; -export * from './TypeOrValueSpecifier'; -export { getDecorators, getModifiers, typescriptVersionIsAtLeast, } from '@typescript-eslint/typescript-estree'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map deleted file mode 100644 index 4597d40b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,0BAA0B,GAC3B,MAAM,sCAAsC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js deleted file mode 100644 index 28f5ba5b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.typescriptVersionIsAtLeast = exports.getModifiers = exports.getDecorators = void 0; -__exportStar(require("./builtinSymbolLikes"), exports); -__exportStar(require("./containsAllTypesByName"), exports); -__exportStar(require("./getConstrainedTypeAtLocation"), exports); -__exportStar(require("./getContextualType"), exports); -__exportStar(require("./getDeclaration"), exports); -__exportStar(require("./getSourceFileOfNode"), exports); -__exportStar(require("./getTypeName"), exports); -__exportStar(require("./isSymbolFromDefaultLibrary"), exports); -__exportStar(require("./isTypeReadonly"), exports); -__exportStar(require("./isUnsafeAssignment"), exports); -__exportStar(require("./predicates"), exports); -__exportStar(require("./propertyTypes"), exports); -__exportStar(require("./requiresQuoting"), exports); -__exportStar(require("./typeFlagUtils"), exports); -__exportStar(require("./TypeOrValueSpecifier"), exports); -var typescript_estree_1 = require("@typescript-eslint/typescript-estree"); -Object.defineProperty(exports, "getDecorators", { enumerable: true, get: function () { return typescript_estree_1.getDecorators; } }); -Object.defineProperty(exports, "getModifiers", { enumerable: true, get: function () { return typescript_estree_1.getModifiers; } }); -Object.defineProperty(exports, "typescriptVersionIsAtLeast", { enumerable: true, get: function () { return typescript_estree_1.typescriptVersionIsAtLeast; } }); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js.map deleted file mode 100644 index 295a7175..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,2DAAyC;AACzC,iEAA+C;AAC/C,sDAAoC;AACpC,mDAAiC;AACjC,wDAAsC;AACtC,gDAA8B;AAC9B,+DAA6C;AAC7C,mDAAiC;AACjC,uDAAqC;AACrC,+CAA6B;AAC7B,kDAAgC;AAChC,oDAAkC;AAClC,kDAAgC;AAChC,yDAAuC;AACvC,0EAI8C;AAH5C,kHAAA,aAAa,OAAA;AACb,iHAAA,YAAY,OAAA;AACZ,+HAAA,0BAA0B,OAAA"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts deleted file mode 100644 index e620443e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as ts from 'typescript'; -export declare function isSymbolFromDefaultLibrary(program: ts.Program, symbol: ts.Symbol | undefined): boolean; -//# sourceMappingURL=isSymbolFromDefaultLibrary.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts.map deleted file mode 100644 index 9e4009e3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isSymbolFromDefaultLibrary.d.ts","sourceRoot":"","sources":["../src/isSymbolFromDefaultLibrary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,SAAS,GAC5B,OAAO,CAcT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js deleted file mode 100644 index 7a074105..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isSymbolFromDefaultLibrary = isSymbolFromDefaultLibrary; -function isSymbolFromDefaultLibrary(program, symbol) { - if (!symbol) { - return false; - } - const declarations = symbol.getDeclarations() ?? []; - for (const declaration of declarations) { - const sourceFile = declaration.getSourceFile(); - if (program.isSourceFileDefaultLibrary(sourceFile)) { - return true; - } - } - return false; -} -//# sourceMappingURL=isSymbolFromDefaultLibrary.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js.map deleted file mode 100644 index e754ef01..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isSymbolFromDefaultLibrary.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isSymbolFromDefaultLibrary.js","sourceRoot":"","sources":["../src/isSymbolFromDefaultLibrary.ts"],"names":[],"mappings":";;AAEA,gEAiBC;AAjBD,SAAgB,0BAA0B,CACxC,OAAmB,EACnB,MAA6B;IAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IACpD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts deleted file mode 100644 index 07734d37..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts +++ /dev/null @@ -1,102 +0,0 @@ -import * as ts from 'typescript'; -import type { TypeOrValueSpecifier } from './TypeOrValueSpecifier'; -export interface ReadonlynessOptions { - readonly allow?: TypeOrValueSpecifier[]; - readonly treatMethodsAsReadonly?: boolean; -} -export declare const readonlynessOptionsSchema: { - additionalProperties: false; - properties: { - allow: { - readonly items: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly additionalProperties: false; - readonly properties: { - readonly from: { - readonly enum: ["file"]; - readonly type: "string"; - }; - readonly name: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly items: { - readonly type: "string"; - }; - readonly minItems: 1; - readonly type: "array"; - readonly uniqueItems: true; - }]; - }; - readonly path: { - readonly type: "string"; - }; - }; - readonly required: ["from", "name"]; - readonly type: "object"; - }, { - readonly additionalProperties: false; - readonly properties: { - readonly from: { - readonly enum: ["lib"]; - readonly type: "string"; - }; - readonly name: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly items: { - readonly type: "string"; - }; - readonly minItems: 1; - readonly type: "array"; - readonly uniqueItems: true; - }]; - }; - }; - readonly required: ["from", "name"]; - readonly type: "object"; - }, { - readonly additionalProperties: false; - readonly properties: { - readonly from: { - readonly enum: ["package"]; - readonly type: "string"; - }; - readonly name: { - readonly oneOf: [{ - readonly type: "string"; - }, { - readonly items: { - readonly type: "string"; - }; - readonly minItems: 1; - readonly type: "array"; - readonly uniqueItems: true; - }]; - }; - readonly package: { - readonly type: "string"; - }; - }; - readonly required: ["from", "name", "package"]; - readonly type: "object"; - }]; - }; - readonly type: "array"; - }; - treatMethodsAsReadonly: { - type: "boolean"; - }; - }; - type: "object"; -}; -export declare const readonlynessOptionsDefaults: ReadonlynessOptions; -/** - * Checks if the given type is readonly - */ -declare function isTypeReadonly(program: ts.Program, type: ts.Type, options?: ReadonlynessOptions): boolean; -export { isTypeReadonly }; -//# sourceMappingURL=isTypeReadonly.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts.map deleted file mode 100644 index e182f678..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isTypeReadonly.d.ts","sourceRoot":"","sources":["../src/isTypeReadonly.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAiBnE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASf,CAAC;AAExB,eAAO,MAAM,2BAA2B,EAAE,mBAGzC,CAAC;AAgSF;;GAEG;AACH,iBAAS,cAAc,CACrB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,GAAE,mBAAiD,GACzD,OAAO,CAKT;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js deleted file mode 100644 index da5af696..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js +++ /dev/null @@ -1,233 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.readonlynessOptionsDefaults = exports.readonlynessOptionsSchema = void 0; -exports.isTypeReadonly = isTypeReadonly; -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const propertyTypes_1 = require("./propertyTypes"); -const TypeOrValueSpecifier_1 = require("./TypeOrValueSpecifier"); -exports.readonlynessOptionsSchema = { - additionalProperties: false, - properties: { - allow: TypeOrValueSpecifier_1.typeOrValueSpecifiersSchema, - treatMethodsAsReadonly: { - type: 'boolean', - }, - }, - type: 'object', -}; -exports.readonlynessOptionsDefaults = { - allow: [], - treatMethodsAsReadonly: false, -}; -function hasSymbol(node) { - return Object.hasOwn(node, 'symbol'); -} -function isTypeReadonlyArrayOrTuple(program, type, options, seenTypes) { - const checker = program.getTypeChecker(); - function checkTypeArguments(arrayType) { - const typeArguments = checker.getTypeArguments(arrayType); - // this shouldn't happen in reality as: - // - tuples require at least 1 type argument - // - ReadonlyArray requires at least 1 type argument - /* istanbul ignore if */ if (typeArguments.length === 0) { - return 3 /* Readonlyness.Readonly */; - } - // validate the element types are also readonly - if (typeArguments.some(typeArg => isTypeReadonlyRecurser(program, typeArg, options, seenTypes) === - 2 /* Readonlyness.Mutable */)) { - return 2 /* Readonlyness.Mutable */; - } - return 3 /* Readonlyness.Readonly */; - } - if (checker.isArrayType(type)) { - const symbol = utils_1.ESLintUtils.nullThrows(type.getSymbol(), utils_1.ESLintUtils.NullThrowsReasons.MissingToken('symbol', 'array type')); - const escapedName = symbol.getEscapedName(); - // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison - if (escapedName === 'Array') { - return 2 /* Readonlyness.Mutable */; - } - return checkTypeArguments(type); - } - if (checker.isTupleType(type)) { - if (!type.target.readonly) { - return 2 /* Readonlyness.Mutable */; - } - return checkTypeArguments(type); - } - return 1 /* Readonlyness.UnknownType */; -} -function isTypeReadonlyObject(program, type, options, seenTypes) { - const checker = program.getTypeChecker(); - function checkIndexSignature(kind) { - const indexInfo = checker.getIndexInfoOfType(type, kind); - if (indexInfo) { - if (!indexInfo.isReadonly) { - return 2 /* Readonlyness.Mutable */; - } - if (indexInfo.type === type || seenTypes.has(indexInfo.type)) { - return 3 /* Readonlyness.Readonly */; - } - return isTypeReadonlyRecurser(program, indexInfo.type, options, seenTypes); - } - return 1 /* Readonlyness.UnknownType */; - } - const properties = type.getProperties(); - if (properties.length) { - // ensure the properties are marked as readonly - for (const property of properties) { - if (options.treatMethodsAsReadonly) { - if (property.valueDeclaration != null && - hasSymbol(property.valueDeclaration) && - tsutils.isSymbolFlagSet(property.valueDeclaration.symbol, ts.SymbolFlags.Method)) { - continue; - } - const declarations = property.getDeclarations(); - const lastDeclaration = declarations != null && declarations.length > 0 - ? declarations[declarations.length - 1] - : undefined; - if (lastDeclaration != null && - hasSymbol(lastDeclaration) && - tsutils.isSymbolFlagSet(lastDeclaration.symbol, ts.SymbolFlags.Method)) { - continue; - } - } - if (tsutils.isPropertyReadonlyInType(type, property.getEscapedName(), checker)) { - continue; - } - const name = ts.getNameOfDeclaration(property.valueDeclaration); - if (name && ts.isPrivateIdentifier(name)) { - continue; - } - return 2 /* Readonlyness.Mutable */; - } - // all properties were readonly - // now ensure that all of the values are readonly also. - // do this after checking property readonly-ness as a perf optimization, - // as we might be able to bail out early due to a mutable property before - // doing this deep, potentially expensive check. - for (const property of properties) { - const propertyType = utils_1.ESLintUtils.nullThrows((0, propertyTypes_1.getTypeOfPropertyOfType)(checker, type, property), utils_1.ESLintUtils.NullThrowsReasons.MissingToken(`property "${property.name}"`, 'type')); - // handle recursive types. - // we only need this simple check, because a mutable recursive type will break via the above prop readonly check - if (seenTypes.has(propertyType)) { - continue; - } - if (isTypeReadonlyRecurser(program, propertyType, options, seenTypes) === - 2 /* Readonlyness.Mutable */) { - return 2 /* Readonlyness.Mutable */; - } - } - } - const isStringIndexSigReadonly = checkIndexSignature(ts.IndexKind.String); - if (isStringIndexSigReadonly === 2 /* Readonlyness.Mutable */) { - return isStringIndexSigReadonly; - } - const isNumberIndexSigReadonly = checkIndexSignature(ts.IndexKind.Number); - if (isNumberIndexSigReadonly === 2 /* Readonlyness.Mutable */) { - return isNumberIndexSigReadonly; - } - return 3 /* Readonlyness.Readonly */; -} -// a helper function to ensure the seenTypes map is always passed down, except by the external caller -function isTypeReadonlyRecurser(program, type, options, seenTypes) { - const checker = program.getTypeChecker(); - seenTypes.add(type); - if ((0, TypeOrValueSpecifier_1.typeMatchesSomeSpecifier)(type, options.allow, program)) { - return 3 /* Readonlyness.Readonly */; - } - if (tsutils.isUnionType(type)) { - // all types in the union must be readonly - const result = tsutils - .unionTypeParts(type) - .every(t => seenTypes.has(t) || - isTypeReadonlyRecurser(program, t, options, seenTypes) === - 3 /* Readonlyness.Readonly */); - const readonlyness = result ? 3 /* Readonlyness.Readonly */ : 2 /* Readonlyness.Mutable */; - return readonlyness; - } - if (tsutils.isIntersectionType(type)) { - // Special case for handling arrays/tuples (as readonly arrays/tuples always have mutable methods). - if (type.types.some(t => checker.isArrayType(t) || checker.isTupleType(t))) { - const allReadonlyParts = type.types.every(t => seenTypes.has(t) || - isTypeReadonlyRecurser(program, t, options, seenTypes) === - 3 /* Readonlyness.Readonly */); - return allReadonlyParts ? 3 /* Readonlyness.Readonly */ : 2 /* Readonlyness.Mutable */; - } - // Normal case. - const isReadonlyObject = isTypeReadonlyObject(program, type, options, seenTypes); - if (isReadonlyObject !== 1 /* Readonlyness.UnknownType */) { - return isReadonlyObject; - } - } - if (tsutils.isConditionalType(type)) { - const result = [type.root.node.trueType, type.root.node.falseType] - .map(checker.getTypeFromTypeNode) - .every(t => seenTypes.has(t) || - isTypeReadonlyRecurser(program, t, options, seenTypes) === - 3 /* Readonlyness.Readonly */); - const readonlyness = result ? 3 /* Readonlyness.Readonly */ : 2 /* Readonlyness.Mutable */; - return readonlyness; - } - // all non-object, non-intersection types are readonly. - // this should only be primitive types - if (!tsutils.isObjectType(type)) { - return 3 /* Readonlyness.Readonly */; - } - // pure function types are readonly - if (type.getCallSignatures().length > 0 && - type.getProperties().length === 0) { - return 3 /* Readonlyness.Readonly */; - } - const isReadonlyArray = isTypeReadonlyArrayOrTuple(program, type, options, seenTypes); - if (isReadonlyArray !== 1 /* Readonlyness.UnknownType */) { - return isReadonlyArray; - } - const isReadonlyObject = isTypeReadonlyObject(program, type, options, seenTypes); - /* istanbul ignore else */ if (isReadonlyObject !== 1 /* Readonlyness.UnknownType */) { - return isReadonlyObject; - } - throw new Error('Unhandled type'); -} -/** - * Checks if the given type is readonly - */ -function isTypeReadonly(program, type, options = exports.readonlynessOptionsDefaults) { - return (isTypeReadonlyRecurser(program, type, options, new Set()) === - 3 /* Readonlyness.Readonly */); -} -//# sourceMappingURL=isTypeReadonly.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js.map deleted file mode 100644 index bce5ee84..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isTypeReadonly.js","sourceRoot":"","sources":["../src/isTypeReadonly.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts deleted file mode 100644 index de75dd47..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { TSESTree } from '@typescript-eslint/utils'; -import type * as ts from 'typescript'; -/** - * Does a simple check to see if there is an any being assigned to a non-any type. - * - * This also checks generic positions to ensure there's no unsafe sub-assignments. - * Note: in the case of generic positions, it makes the assumption that the two types are the same. - * - * @example See tests for examples - * - * @returns false if it's safe, or an object with the two types if it's unsafe - */ -export declare function isUnsafeAssignment(type: ts.Type, receiver: ts.Type, checker: ts.TypeChecker, senderNode: TSESTree.Node | null): { - receiver: ts.Type; - sender: ts.Type; -} | false; -//# sourceMappingURL=isUnsafeAssignment.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts.map deleted file mode 100644 index c8a41f1a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isUnsafeAssignment.d.ts","sourceRoot":"","sources":["../src/isUnsafeAssignment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAOtC;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,QAAQ,EAAE,EAAE,CAAC,IAAI,EACjB,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,UAAU,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAC/B;IAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC;IAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAAG,KAAK,CAQhD"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js deleted file mode 100644 index e5979ead..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js +++ /dev/null @@ -1,115 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isUnsafeAssignment = isUnsafeAssignment; -const utils_1 = require("@typescript-eslint/utils"); -const tsutils = __importStar(require("ts-api-utils")); -const predicates_1 = require("./predicates"); -/** - * Does a simple check to see if there is an any being assigned to a non-any type. - * - * This also checks generic positions to ensure there's no unsafe sub-assignments. - * Note: in the case of generic positions, it makes the assumption that the two types are the same. - * - * @example See tests for examples - * - * @returns false if it's safe, or an object with the two types if it's unsafe - */ -function isUnsafeAssignment(type, receiver, checker, senderNode) { - return isUnsafeAssignmentWorker(type, receiver, checker, senderNode, new Map()); -} -function isUnsafeAssignmentWorker(type, receiver, checker, senderNode, visited) { - if ((0, predicates_1.isTypeAnyType)(type)) { - // Allow assignment of any ==> unknown. - if ((0, predicates_1.isTypeUnknownType)(receiver)) { - return false; - } - if (!(0, predicates_1.isTypeAnyType)(receiver)) { - return { receiver, sender: type }; - } - } - const typeAlreadyVisited = visited.get(type); - if (typeAlreadyVisited) { - if (typeAlreadyVisited.has(receiver)) { - return false; - } - typeAlreadyVisited.add(receiver); - } - else { - visited.set(type, new Set([receiver])); - } - if (tsutils.isTypeReference(type) && tsutils.isTypeReference(receiver)) { - // TODO - figure out how to handle cases like this, - // where the types are assignable, but not the same type - /* - function foo(): ReadonlySet { return new Set(); } - - // and - - type Test = { prop: T } - type Test2 = { prop: string } - declare const a: Test; - const b: Test2 = a; - */ - if (type.target !== receiver.target) { - // if the type references are different, assume safe, as we won't know how to compare the two types - // the generic positions might not be equivalent for both types - return false; - } - if (senderNode?.type === utils_1.AST_NODE_TYPES.NewExpression && - senderNode.callee.type === utils_1.AST_NODE_TYPES.Identifier && - senderNode.callee.name === 'Map' && - senderNode.arguments.length === 0 && - senderNode.typeArguments == null) { - // special case to handle `new Map()` - // unfortunately Map's default empty constructor is typed to return `Map` :( - // https://github.com/typescript-eslint/typescript-eslint/issues/2109#issuecomment-634144396 - return false; - } - const typeArguments = type.typeArguments ?? []; - const receiverTypeArguments = receiver.typeArguments ?? []; - for (let i = 0; i < typeArguments.length; i += 1) { - const arg = typeArguments[i]; - const receiverArg = receiverTypeArguments[i]; - const unsafe = isUnsafeAssignmentWorker(arg, receiverArg, checker, senderNode, visited); - if (unsafe) { - return { receiver, sender: type }; - } - } - return false; - } - return false; -} -//# sourceMappingURL=isUnsafeAssignment.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js.map deleted file mode 100644 index eb34db2e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/isUnsafeAssignment.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isUnsafeAssignment.js","sourceRoot":"","sources":["../src/isUnsafeAssignment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,gDAaC;AA5BD,oDAA0D;AAC1D,sDAAwC;AAExC,6CAAgE;AAEhE;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAChC,IAAa,EACb,QAAiB,EACjB,OAAuB,EACvB,UAAgC;IAEhC,OAAO,wBAAwB,CAC7B,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,IAAI,GAAG,EAAE,CACV,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAa,EACb,QAAiB,EACjB,OAAuB,EACvB,UAAgC,EAChC,OAAmC;IAEnC,IAAI,IAAA,0BAAa,EAAC,IAAI,CAAC,EAAE,CAAC;QACxB,uCAAuC;QACvC,IAAI,IAAA,8BAAiB,EAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAA,0BAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,mDAAmD;QACnD,wDAAwD;QACxD;;;;;;;;;UASE;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,mGAAmG;YACnG,+DAA+D;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IACE,UAAU,EAAE,IAAI,KAAK,sBAAc,CAAC,aAAa;YACjD,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;YACpD,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;YAChC,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,aAAa,IAAI,IAAI,EAChC,CAAC;YACD,qCAAqC;YACrC,sFAAsF;YACtF,4FAA4F;YAC5F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;QAC/C,MAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAE7C,MAAM,MAAM,GAAG,wBAAwB,CACrC,GAAG,EACH,WAAW,EACX,OAAO,EACP,UAAU,EACV,OAAO,CACR,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts deleted file mode 100644 index bc420c5a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import * as ts from 'typescript'; -/** - * Checks if the given type is (or accepts) nullable - */ -export declare function isNullableType(type: ts.Type): boolean; -/** - * Checks if the given type is either an array type, - * or a union made up solely of array types. - */ -export declare function isTypeArrayTypeOrUnionOfArrayTypes(type: ts.Type, checker: ts.TypeChecker): boolean; -/** - * @returns true if the type is `never` - */ -export declare function isTypeNeverType(type: ts.Type): boolean; -/** - * @returns true if the type is `unknown` - */ -export declare function isTypeUnknownType(type: ts.Type): boolean; -export declare function isTypeReferenceType(type: ts.Type): type is ts.TypeReference; -/** - * @returns true if the type is `any` - */ -export declare function isTypeAnyType(type: ts.Type): boolean; -/** - * @returns true if the type is `any[]` - */ -export declare function isTypeAnyArrayType(type: ts.Type, checker: ts.TypeChecker): boolean; -/** - * @returns true if the type is `unknown[]` - */ -export declare function isTypeUnknownArrayType(type: ts.Type, checker: ts.TypeChecker): boolean; -export declare enum AnyType { - Any = 0, - PromiseAny = 1, - AnyArray = 2, - Safe = 3 -} -/** - * @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise`, - * otherwise it returns `AnyType.Safe`. - */ -export declare function discriminateAnyType(type: ts.Type, checker: ts.TypeChecker, program: ts.Program, tsNode: ts.Node): AnyType; -/** - * @returns Whether a type is an instance of the parent type, including for the parent's base types. - */ -export declare function typeIsOrHasBaseType(type: ts.Type, parentType: ts.Type): boolean; -export declare function isTypeBigIntLiteralType(type: ts.Type): type is ts.BigIntLiteralType; -export declare function isTypeTemplateLiteralType(type: ts.Type): type is ts.TemplateLiteralType; -//# sourceMappingURL=predicates.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map deleted file mode 100644 index f5530046..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CASrD;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAExD;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,CAM3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED,oBAAY,OAAO;IACjB,GAAG,IAAA;IACH,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AACD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,MAAM,EAAE,EAAE,CAAC,IAAI,GACd,OAAO,CAyBT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,IAAI,GAClB,OAAO,CAqBT;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAEhC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js deleted file mode 100644 index 7c7d1a3f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js +++ /dev/null @@ -1,191 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AnyType = void 0; -exports.isNullableType = isNullableType; -exports.isTypeArrayTypeOrUnionOfArrayTypes = isTypeArrayTypeOrUnionOfArrayTypes; -exports.isTypeNeverType = isTypeNeverType; -exports.isTypeUnknownType = isTypeUnknownType; -exports.isTypeReferenceType = isTypeReferenceType; -exports.isTypeAnyType = isTypeAnyType; -exports.isTypeAnyArrayType = isTypeAnyArrayType; -exports.isTypeUnknownArrayType = isTypeUnknownArrayType; -exports.discriminateAnyType = discriminateAnyType; -exports.typeIsOrHasBaseType = typeIsOrHasBaseType; -exports.isTypeBigIntLiteralType = isTypeBigIntLiteralType; -exports.isTypeTemplateLiteralType = isTypeTemplateLiteralType; -const debug_1 = __importDefault(require("debug")); -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const typeFlagUtils_1 = require("./typeFlagUtils"); -const log = (0, debug_1.default)('typescript-eslint:eslint-plugin:utils:types'); -/** - * Checks if the given type is (or accepts) nullable - */ -function isNullableType(type) { - return (0, typeFlagUtils_1.isTypeFlagSet)(type, ts.TypeFlags.Any | - ts.TypeFlags.Unknown | - ts.TypeFlags.Null | - ts.TypeFlags.Undefined | - ts.TypeFlags.Void); -} -/** - * Checks if the given type is either an array type, - * or a union made up solely of array types. - */ -function isTypeArrayTypeOrUnionOfArrayTypes(type, checker) { - for (const t of tsutils.unionTypeParts(type)) { - if (!checker.isArrayType(t)) { - return false; - } - } - return true; -} -/** - * @returns true if the type is `never` - */ -function isTypeNeverType(type) { - return (0, typeFlagUtils_1.isTypeFlagSet)(type, ts.TypeFlags.Never); -} -/** - * @returns true if the type is `unknown` - */ -function isTypeUnknownType(type) { - return (0, typeFlagUtils_1.isTypeFlagSet)(type, ts.TypeFlags.Unknown); -} -// https://github.com/microsoft/TypeScript/blob/42aa18bf442c4df147e30deaf27261a41cbdc617/src/compiler/types.ts#L5157 -const Nullable = ts.TypeFlags.Undefined | ts.TypeFlags.Null; -// https://github.com/microsoft/TypeScript/blob/42aa18bf442c4df147e30deaf27261a41cbdc617/src/compiler/types.ts#L5187 -const ObjectFlagsType = ts.TypeFlags.Any | - Nullable | - ts.TypeFlags.Never | - ts.TypeFlags.Object | - ts.TypeFlags.Union | - ts.TypeFlags.Intersection; -function isTypeReferenceType(type) { - if ((type.flags & ObjectFlagsType) === 0) { - return false; - } - const objectTypeFlags = type.objectFlags; - return (objectTypeFlags & ts.ObjectFlags.Reference) !== 0; -} -/** - * @returns true if the type is `any` - */ -function isTypeAnyType(type) { - if ((0, typeFlagUtils_1.isTypeFlagSet)(type, ts.TypeFlags.Any)) { - if (type.intrinsicName === 'error') { - log('Found an "error" any type'); - } - return true; - } - return false; -} -/** - * @returns true if the type is `any[]` - */ -function isTypeAnyArrayType(type, checker) { - return (checker.isArrayType(type) && - isTypeAnyType(checker.getTypeArguments(type)[0])); -} -/** - * @returns true if the type is `unknown[]` - */ -function isTypeUnknownArrayType(type, checker) { - return (checker.isArrayType(type) && - isTypeUnknownType(checker.getTypeArguments(type)[0])); -} -var AnyType; -(function (AnyType) { - AnyType[AnyType["Any"] = 0] = "Any"; - AnyType[AnyType["PromiseAny"] = 1] = "PromiseAny"; - AnyType[AnyType["AnyArray"] = 2] = "AnyArray"; - AnyType[AnyType["Safe"] = 3] = "Safe"; -})(AnyType || (exports.AnyType = AnyType = {})); -/** - * @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise`, - * otherwise it returns `AnyType.Safe`. - */ -function discriminateAnyType(type, checker, program, tsNode) { - if (isTypeAnyType(type)) { - return AnyType.Any; - } - if (isTypeAnyArrayType(type, checker)) { - return AnyType.AnyArray; - } - for (const part of tsutils.typeParts(type)) { - if (tsutils.isThenableType(checker, tsNode, part)) { - const awaitedType = checker.getAwaitedType(part); - if (awaitedType) { - const awaitedAnyType = discriminateAnyType(awaitedType, checker, program, tsNode); - if (awaitedAnyType === AnyType.Any) { - return AnyType.PromiseAny; - } - } - } - } - return AnyType.Safe; -} -/** - * @returns Whether a type is an instance of the parent type, including for the parent's base types. - */ -function typeIsOrHasBaseType(type, parentType) { - const parentSymbol = parentType.getSymbol(); - if (!type.getSymbol() || !parentSymbol) { - return false; - } - const typeAndBaseTypes = [type]; - const ancestorTypes = type.getBaseTypes(); - if (ancestorTypes) { - typeAndBaseTypes.push(...ancestorTypes); - } - for (const baseType of typeAndBaseTypes) { - const baseSymbol = baseType.getSymbol(); - if (baseSymbol && baseSymbol.name === parentSymbol.name) { - return true; - } - } - return false; -} -function isTypeBigIntLiteralType(type) { - return (0, typeFlagUtils_1.isTypeFlagSet)(type, ts.TypeFlags.BigIntLiteral); -} -function isTypeTemplateLiteralType(type) { - return (0, typeFlagUtils_1.isTypeFlagSet)(type, ts.TypeFlags.TemplateLiteral); -} -//# sourceMappingURL=predicates.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js.map deleted file mode 100644 index 954c6f91..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/predicates.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts deleted file mode 100644 index 068d208e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type * as ts from 'typescript'; -export declare function getTypeOfPropertyOfName(checker: ts.TypeChecker, type: ts.Type, name: string, escapedName?: ts.__String): ts.Type | undefined; -export declare function getTypeOfPropertyOfType(checker: ts.TypeChecker, type: ts.Type, property: ts.Symbol): ts.Type | undefined; -//# sourceMappingURL=propertyTypes.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts.map deleted file mode 100644 index 214952c1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"propertyTypes.d.ts","sourceRoot":"","sources":["../src/propertyTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,EAAE,CAAC,QAAQ,GACxB,EAAE,CAAC,IAAI,GAAG,SAAS,CAerB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,QAAQ,EAAE,EAAE,CAAC,MAAM,GAClB,EAAE,CAAC,IAAI,GAAG,SAAS,CAOrB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js deleted file mode 100644 index 042af450..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTypeOfPropertyOfName = getTypeOfPropertyOfName; -exports.getTypeOfPropertyOfType = getTypeOfPropertyOfType; -function getTypeOfPropertyOfName(checker, type, name, escapedName) { - // Most names are directly usable in the checker and aren't different from escaped names - if (!escapedName || !isSymbol(escapedName)) { - return checker.getTypeOfPropertyOfType(type, name); - } - // Symbolic names may differ in their escaped name compared to their human-readable name - // https://github.com/typescript-eslint/typescript-eslint/issues/2143 - const escapedProperty = type - .getProperties() - .find(property => property.escapedName === escapedName); - return escapedProperty - ? checker.getDeclaredTypeOfSymbol(escapedProperty) - : undefined; -} -function getTypeOfPropertyOfType(checker, type, property) { - return getTypeOfPropertyOfName(checker, type, property.getName(), property.getEscapedName()); -} -// Symbolic names need to be specially handled because TS api is not sufficient for these cases. -// Source based on: -// https://github.com/microsoft/TypeScript/blob/0043abe982aae0d35f8df59f9715be6ada758ff7/src/compiler/utilities.ts#L3388-L3402 -function isSymbol(escapedName) { - return isKnownSymbol(escapedName) || isPrivateIdentifierSymbol(escapedName); -} -// case for escapedName: "__@foo@10", name: "__@foo@10" -function isKnownSymbol(escapedName) { - return escapedName.startsWith('__@'); -} -// case for escapedName: "__#1@#foo", name: "#foo" -function isPrivateIdentifierSymbol(escapedName) { - return escapedName.startsWith('__#'); -} -//# sourceMappingURL=propertyTypes.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js.map deleted file mode 100644 index b2776a26..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/propertyTypes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"propertyTypes.js","sourceRoot":"","sources":["../src/propertyTypes.ts"],"names":[],"mappings":";;AAEA,0DAoBC;AAED,0DAWC;AAjCD,SAAgB,uBAAuB,CACrC,OAAuB,EACvB,IAAa,EACb,IAAY,EACZ,WAAyB;IAEzB,wFAAwF;IACxF,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,wFAAwF;IACxF,qEAAqE;IACrE,MAAM,eAAe,GAAG,IAAI;SACzB,aAAa,EAAE;SACf,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAE1D,OAAO,eAAe;QACpB,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAuB,EACvB,IAAa,EACb,QAAmB;IAEnB,OAAO,uBAAuB,CAC5B,OAAO,EACP,IAAI,EACJ,QAAQ,CAAC,OAAO,EAAE,EAClB,QAAQ,CAAC,cAAc,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,mBAAmB;AACnB,8HAA8H;AAC9H,SAAS,QAAQ,CAAC,WAAmB;IACnC,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,yBAAyB,CAAC,WAAW,CAAC,CAAC;AAC9E,CAAC;AAED,uDAAuD;AACvD,SAAS,aAAa,CAAC,WAAmB;IACxC,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,kDAAkD;AAClD,SAAS,yBAAyB,CAAC,WAAmB;IACpD,OAAO,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts deleted file mode 100644 index 3cd43b30..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import * as ts from 'typescript'; -/*** Indicates whether identifiers require the use of quotation marks when accessing property definitions and dot notation. */ -declare function requiresQuoting(name: string, target?: ts.ScriptTarget): boolean; -export { requiresQuoting }; -//# sourceMappingURL=requiresQuoting.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts.map deleted file mode 100644 index 118fb3c4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"requiresQuoting.d.ts","sourceRoot":"","sources":["../src/requiresQuoting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,8HAA8H;AAC9H,iBAAS,eAAe,CACtB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,EAAE,CAAC,YAAqC,GAC/C,OAAO,CAgBT;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js deleted file mode 100644 index 03e37ce2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.requiresQuoting = requiresQuoting; -const ts = __importStar(require("typescript")); -/*** Indicates whether identifiers require the use of quotation marks when accessing property definitions and dot notation. */ -function requiresQuoting(name, target = ts.ScriptTarget.ESNext) { - if (name.length === 0) { - return true; - } - if (!ts.isIdentifierStart(name.charCodeAt(0), target)) { - return true; - } - for (let i = 1; i < name.length; i += 1) { - if (!ts.isIdentifierPart(name.charCodeAt(i), target)) { - return true; - } - } - return false; -} -//# sourceMappingURL=requiresQuoting.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js.map deleted file mode 100644 index 3ed6242d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/requiresQuoting.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"requiresQuoting.js","sourceRoot":"","sources":["../src/requiresQuoting.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBS,0CAAe;AAvBxB,+CAAiC;AACjC,8HAA8H;AAC9H,SAAS,eAAe,CACtB,IAAY,EACZ,SAA0B,EAAE,CAAC,YAAY,CAAC,MAAM;IAEhD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts deleted file mode 100644 index b2e4757f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as ts from 'typescript'; -/** - * Gets all of the type flags in a type, iterating through unions automatically. - */ -export declare function getTypeFlags(type: ts.Type): ts.TypeFlags; -/** - * @param flagsToCheck The composition of one or more `ts.TypeFlags`. - * @param isReceiver Whether the type is a receiving type (e.g. the type of a - * called function's parameter). - * @remarks - * Note that if the type is a union, this function will decompose it into the - * parts and get the flags of every union constituent. If this is not desired, - * use the `isTypeFlag` function from tsutils. - */ -export declare function isTypeFlagSet(type: ts.Type, flagsToCheck: ts.TypeFlags, -/** @deprecated This params is not used and will be removed in the future.*/ -isReceiver?: boolean): boolean; -//# sourceMappingURL=typeFlagUtils.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts.map deleted file mode 100644 index 44c0c484..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeFlagUtils.d.ts","sourceRoot":"","sources":["../src/typeFlagUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAOxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,YAAY,EAAE,EAAE,CAAC,SAAS;AAC1B,4EAA4E;AAC5E,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAST"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js deleted file mode 100644 index af134eb1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js +++ /dev/null @@ -1,71 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTypeFlags = getTypeFlags; -exports.isTypeFlagSet = isTypeFlagSet; -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const ANY_OR_UNKNOWN = ts.TypeFlags.Any | ts.TypeFlags.Unknown; -/** - * Gets all of the type flags in a type, iterating through unions automatically. - */ -function getTypeFlags(type) { - // @ts-expect-error Since typescript 5.0, this is invalid, but uses 0 as the default value of TypeFlags. - let flags = 0; - for (const t of tsutils.unionTypeParts(type)) { - flags |= t.flags; - } - return flags; -} -/** - * @param flagsToCheck The composition of one or more `ts.TypeFlags`. - * @param isReceiver Whether the type is a receiving type (e.g. the type of a - * called function's parameter). - * @remarks - * Note that if the type is a union, this function will decompose it into the - * parts and get the flags of every union constituent. If this is not desired, - * use the `isTypeFlag` function from tsutils. - */ -function isTypeFlagSet(type, flagsToCheck, -/** @deprecated This params is not used and will be removed in the future.*/ -isReceiver) { - const flags = getTypeFlags(type); - // eslint-disable-next-line @typescript-eslint/no-deprecated -- not used - if (isReceiver && flags & ANY_OR_UNKNOWN) { - return true; - } - return (flags & flagsToCheck) !== 0; -} -//# sourceMappingURL=typeFlagUtils.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js.map deleted file mode 100644 index 14c048f3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeFlagUtils.js","sourceRoot":"","sources":["../src/typeFlagUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,oCAOC;AAWD,sCAcC;AAxCD,sDAAwC;AACxC,+CAAiC;AAEjC,MAAM,cAAc,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;AAE/D;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;IACxC,wGAAwG;IACxG,IAAI,KAAK,GAAiB,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAC3B,IAAa,EACb,YAA0B;AAC1B,4EAA4E;AAC5E,UAAoB;IAEpB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEjC,wEAAwE;IACxE,IAAI,UAAU,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts deleted file mode 100644 index 66eefe47..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as ts from 'typescript'; -export declare function specifierNameMatches(type: ts.Type, names: string | string[]): boolean; -//# sourceMappingURL=specifierNameMatches.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts.map deleted file mode 100644 index b206a4d2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"specifierNameMatches.d.ts","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/specifierNameMatches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAItC,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GACvB,OAAO,CAmBT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js deleted file mode 100644 index ec373003..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.specifierNameMatches = specifierNameMatches; -const tsutils = __importStar(require("ts-api-utils")); -function specifierNameMatches(type, names) { - if (typeof names === 'string') { - names = [names]; - } - const symbol = type.aliasSymbol ?? type.getSymbol(); - const candidateNames = symbol - ? [symbol.escapedName, type.intrinsicName] - : [type.intrinsicName]; - if (names.some(item => candidateNames.includes(item))) { - return true; - } - if (tsutils.isIntersectionType(type)) { - return type.types.some(subType => specifierNameMatches(subType, names)); - } - return false; -} -//# sourceMappingURL=specifierNameMatches.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js.map deleted file mode 100644 index 37726a7a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/specifierNameMatches.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"specifierNameMatches.js","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/specifierNameMatches.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oDAsBC;AAxBD,sDAAwC;AAExC,SAAgB,oBAAoB,CAClC,IAAa,EACb,KAAwB;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM;QAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,WAAqB,EAAE,IAAI,CAAC,aAAa,CAAC;QACpD,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEzB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts deleted file mode 100644 index 26166c7f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as ts from 'typescript'; -export declare function typeDeclaredInFile(relativePath: string | undefined, declarationFiles: ts.SourceFile[], program: ts.Program): boolean; -//# sourceMappingURL=typeDeclaredInFile.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts.map deleted file mode 100644 index 3e278d80..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeDeclaredInFile.d.ts","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/typeDeclaredInFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAKtC,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,gBAAgB,EAAE,EAAE,CAAC,UAAU,EAAE,EACjC,OAAO,EAAE,EAAE,CAAC,OAAO,GAClB,OAAO,CAaT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js deleted file mode 100644 index c1f85a9c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.typeDeclaredInFile = typeDeclaredInFile; -const typescript_estree_1 = require("@typescript-eslint/typescript-estree"); -const node_path_1 = __importDefault(require("node:path")); -function typeDeclaredInFile(relativePath, declarationFiles, program) { - if (relativePath == null) { - const cwd = (0, typescript_estree_1.getCanonicalFileName)(program.getCurrentDirectory()); - return declarationFiles.some(declaration => (0, typescript_estree_1.getCanonicalFileName)(declaration.fileName).startsWith(cwd)); - } - const absolutePath = (0, typescript_estree_1.getCanonicalFileName)(node_path_1.default.join(program.getCurrentDirectory(), relativePath)); - return declarationFiles.some(declaration => (0, typescript_estree_1.getCanonicalFileName)(declaration.fileName) === absolutePath); -} -//# sourceMappingURL=typeDeclaredInFile.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js.map deleted file mode 100644 index b5f73cf0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInFile.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeDeclaredInFile.js","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/typeDeclaredInFile.ts"],"names":[],"mappings":";;;;;AAKA,gDAiBC;AApBD,4EAA4E;AAC5E,0DAA6B;AAE7B,SAAgB,kBAAkB,CAChC,YAAgC,EAChC,gBAAiC,EACjC,OAAmB;IAEnB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAA,wCAAoB,EAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChE,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CACzC,IAAA,wCAAoB,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAC3D,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,wCAAoB,EACvC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,YAAY,CAAC,CACvD,CAAC;IACF,OAAO,gBAAgB,CAAC,IAAI,CAC1B,WAAW,CAAC,EAAE,CAAC,IAAA,wCAAoB,EAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,YAAY,CAC3E,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts deleted file mode 100644 index ed49ac54..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as ts from 'typescript'; -export declare function typeDeclaredInLib(declarationFiles: ts.SourceFile[], program: ts.Program): boolean; -//# sourceMappingURL=typeDeclaredInLib.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts.map deleted file mode 100644 index 09f2826d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeDeclaredInLib.d.ts","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/typeDeclaredInLib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,wBAAgB,iBAAiB,CAC/B,gBAAgB,EAAE,EAAE,CAAC,UAAU,EAAE,EACjC,OAAO,EAAE,EAAE,CAAC,OAAO,GAClB,OAAO,CAUT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js deleted file mode 100644 index 9feb9d9e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.typeDeclaredInLib = typeDeclaredInLib; -function typeDeclaredInLib(declarationFiles, program) { - // Assertion: The type is not an error type. - // Intrinsic type (i.e. string, number, boolean, etc) - Treat it as if it's from lib. - if (declarationFiles.length === 0) { - return true; - } - return declarationFiles.some(declaration => program.isSourceFileDefaultLibrary(declaration)); -} -//# sourceMappingURL=typeDeclaredInLib.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js.map deleted file mode 100644 index a5b0080a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInLib.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeDeclaredInLib.js","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/typeDeclaredInLib.ts"],"names":[],"mappings":";;AAEA,8CAaC;AAbD,SAAgB,iBAAiB,CAC/B,gBAAiC,EACjC,OAAmB;IAEnB,4CAA4C;IAE5C,qFAAqF;IACrF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CACzC,OAAO,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAChD,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts deleted file mode 100644 index 9e19df40..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import * as ts from 'typescript'; -export declare function typeDeclaredInPackageDeclarationFile(packageName: string, declarations: ts.Node[], declarationFiles: ts.SourceFile[], program: ts.Program): boolean; -//# sourceMappingURL=typeDeclaredInPackageDeclarationFile.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts.map deleted file mode 100644 index 1e797bd0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeDeclaredInPackageDeclarationFile.d.ts","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AA8CjC,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,EACvB,gBAAgB,EAAE,EAAE,CAAC,UAAU,EAAE,EACjC,OAAO,EAAE,EAAE,CAAC,OAAO,GAClB,OAAO,CAKT"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js deleted file mode 100644 index 02b07c8c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.typeDeclaredInPackageDeclarationFile = typeDeclaredInPackageDeclarationFile; -const ts = __importStar(require("typescript")); -function findParentModuleDeclaration(node) { - switch (node.kind) { - case ts.SyntaxKind.ModuleDeclaration: - return ts.isStringLiteral(node.name) - ? node - : undefined; - case ts.SyntaxKind.SourceFile: - return undefined; - default: - return findParentModuleDeclaration(node.parent); - } -} -function typeDeclaredInDeclareModule(packageName, declarations) { - return declarations.some(declaration => findParentModuleDeclaration(declaration)?.name.text === packageName); -} -function typeDeclaredInDeclarationFile(packageName, declarationFiles, program) { - // Handle scoped packages: if the name starts with @, remove it and replace / with __ - const typesPackageName = packageName.replace(/^@([^/]+)\//, '$1__'); - const matcher = new RegExp(`${packageName}|${typesPackageName}`); - return declarationFiles.some(declaration => { - const packageIdName = program.sourceFileToPackageName.get(declaration.path); - return (packageIdName != null && - matcher.test(packageIdName) && - program.isSourceFileFromExternalLibrary(declaration)); - }); -} -function typeDeclaredInPackageDeclarationFile(packageName, declarations, declarationFiles, program) { - return (typeDeclaredInDeclareModule(packageName, declarations) || - typeDeclaredInDeclarationFile(packageName, declarationFiles, program)); -} -//# sourceMappingURL=typeDeclaredInPackageDeclarationFile.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js.map b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js.map deleted file mode 100644 index a5fa25da..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/dist/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"typeDeclaredInPackageDeclarationFile.js","sourceRoot":"","sources":["../../src/typeOrValueSpecifiers/typeDeclaredInPackageDeclarationFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,oFAUC;AAxDD,+CAAiC;AAEjC,SAAS,2BAA2B,CAClC,IAAa;IAEb,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB;YAClC,OAAO,EAAE,CAAC,eAAe,CAAE,IAA6B,CAAC,IAAI,CAAC;gBAC5D,CAAC,CAAE,IAA6B;gBAChC,CAAC,CAAC,SAAS,CAAC;QAChB,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;YAC3B,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,WAAmB,EACnB,YAAuB;IAEvB,OAAO,YAAY,CAAC,IAAI,CACtB,WAAW,CAAC,EAAE,CACZ,2BAA2B,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,WAAW,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,WAAmB,EACnB,gBAAiC,EACjC,OAAmB;IAEnB,qFAAqF;IACrF,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACjE,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QACzC,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5E,OAAO,CACL,aAAa,IAAI,IAAI;YACrB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YAC3B,OAAO,CAAC,+BAA+B,CAAC,WAAW,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oCAAoC,CAClD,WAAmB,EACnB,YAAuB,EACvB,gBAAiC,EACjC,OAAmB;IAEnB,OAAO,CACL,2BAA2B,CAAC,WAAW,EAAE,YAAY,CAAC;QACtD,6BAA6B,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CACtE,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint deleted file mode 100755 index a8276527..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -else - exec node "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc deleted file mode 100755 index e22a0b41..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver deleted file mode 100755 index 9fda3685..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/package.json b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/package.json deleted file mode 100644 index 5e9c84f4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "name": "@typescript-eslint/type-utils", - "version": "8.18.1", - "description": "Type utilities for working with TypeScript + ESLint together", - "files": [ - "dist", - "_ts4.3", - "package.json", - "README.md", - "LICENSE" - ], - "type": "commonjs", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "./package.json": "./package.json" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/typescript-eslint/typescript-eslint.git", - "directory": "packages/type-utils" - }, - "bugs": { - "url": "https://github.com/typescript-eslint/typescript-eslint/issues" - }, - "homepage": "https://typescript-eslint.io", - "license": "MIT", - "keywords": [ - "eslint", - "typescript", - "estree" - ], - "scripts": { - "build": "tsc -b tsconfig.build.json", - "postbuild": "downlevel-dts dist _ts4.3/dist --to=4.3", - "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf _ts3.4 && rimraf _ts4.3 && rimraf coverage", - "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", - "lint": "npx nx lint", - "test": "jest --coverage", - "typecheck": "tsc --noEmit" - }, - "dependencies": { - "@typescript-eslint/typescript-estree": "8.18.1", - "@typescript-eslint/utils": "8.18.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - }, - "devDependencies": { - "@jest/types": "29.6.3", - "@typescript-eslint/parser": "8.18.1", - "ajv": "^6.12.6", - "downlevel-dts": "*", - "jest": "29.7.0", - "prettier": "^3.2.5", - "rimraf": "*", - "typescript": "*" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "typesVersions": { - "<4.7": { - "*": [ - "_ts4.3/*" - ] - } - } -} diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree deleted file mode 120000 index 8ddf123c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils deleted file mode 120000 index 7523fa15..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug deleted file mode 120000 index a8f3893b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/debug +++ /dev/null @@ -1 +0,0 @@ -../../debug@4.4.0/node_modules/debug \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint deleted file mode 120000 index 399abca6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint +++ /dev/null @@ -1 +0,0 @@ -../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/ts-api-utils b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/ts-api-utils deleted file mode 120000 index 65a630b7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/ts-api-utils +++ /dev/null @@ -1 +0,0 @@ -../../ts-api-utils@1.4.3_typescript@5.7.2/node_modules/ts-api-utils \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript deleted file mode 120000 index f7655194..00000000 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript +++ /dev/null @@ -1 +0,0 @@ -../../typescript@5.7.2/node_modules/typescript \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint index a36c7d02..4f4d7136 100755 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint +++ b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/eslint.js" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc index e22a0b41..8df059d3 100755 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc +++ b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver index 9fda3685..0651c4d2 100755 --- a/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver +++ b/node_modules/.pnpm/@typescript-eslint+type-utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver b/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver index 6c526d52..0c49093b 100755 --- a/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver +++ b/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@7.6.3/node_modules/semver/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@7.6.3/node_modules/semver/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@7.6.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@7.6.3/node_modules/semver/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@7.6.3/node_modules/semver/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@7.6.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@7.6.3/node_modules/semver/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@7.6.3/node_modules/semver/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/semver@7.6.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@7.6.3/node_modules/semver/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@7.6.3/node_modules/semver/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/semver@7.6.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../semver@7.6.3/node_modules/semver/bin/semver.js" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsc index e22a0b41..8df059d3 100755 --- a/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsc +++ b/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsc @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsserver index 9fda3685..0651c4d2 100755 --- a/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsserver +++ b/node_modules/.pnpm/@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsserver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@eslint-community/eslint-utils b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@eslint-community/eslint-utils deleted file mode 120000 index ac59b220..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@eslint-community/eslint-utils +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager deleted file mode 120000 index bb799187..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/scope-manager +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+scope-manager@8.18.1/node_modules/@typescript-eslint/scope-manager \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types deleted file mode 120000 index 16339cf5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/types +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+types@8.18.1/node_modules/@typescript-eslint/types \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree deleted file mode 120000 index 8ddf123c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree +++ /dev/null @@ -1 +0,0 @@ -../../../@typescript-eslint+typescript-estree@8.18.1_typescript@5.7.2/node_modules/@typescript-eslint/typescript-estree \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/LICENSE b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/LICENSE deleted file mode 100644 index a1164108..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 typescript-eslint 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/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/README.md b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/README.md deleted file mode 100644 index 7ba75009..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# `@typescript-eslint/utils` - -> Utilities for working with TypeScript + ESLint together. - -[![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/utils.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/utils) -[![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/utils.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/utils) - -👉 See **https://typescript-eslint.io/packages/utils** for documentation on this package. - -> See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. - - diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts deleted file mode 100644 index 8cd54560..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -interface PatternMatcher { - /** - * Replace all matched parts by a given replacer. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#matcher-symbol-replace} - * @example - * const { PatternMatcher } = require("eslint-utils") - * const matcher = new PatternMatcher(/\\p{Script=Greek}/g) - * - * module.exports = { - * meta: {}, - * create(context) { - * return { - * "Literal[regex]"(node) { - * const replacedPattern = node.regex.pattern.replace( - * matcher, - * "[\\u0370-\\u0373\\u0375-\\u0377\\u037A-\\u037D\\u037F\\u0384\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03E1\\u03F0-\\u03FF\\u1D26-\\u1D2A\\u1D5D-\\u1D61\\u1D66-\\u1D6A\\u1DBF\\u1F00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-\\u1FFE\\u2126\\uAB65]|\\uD800[\\uDD40-\\uDD8E\\uDDA0]|\\uD834[\\uDE00-\\uDE45]" - * ) - * }, - * } - * }, - * } - */ - [Symbol.replace](str: string, replacer: string | ((...strs: string[]) => string)): string; - /** - * Iterate all matched parts in a given string. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#matcher-execall} - */ - execAll(str: string): IterableIterator; - /** - * Check whether this pattern matches a given string or not. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#matcher-test} - */ - test(str: string): boolean; -} -/** - * The class to find a pattern in strings as handling escape sequences. - * It ignores the found pattern if it's escaped with `\`. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#patternmatcher-class} - */ -declare const PatternMatcher: new (pattern: RegExp, options?: { - escaped?: boolean; -}) => PatternMatcher; -export { PatternMatcher }; -//# sourceMappingURL=PatternMatcher.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts.map deleted file mode 100644 index 83983aba..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PatternMatcher.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/PatternMatcher.ts"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACtB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,CACd,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,GACjD,MAAM,CAAC;IAEV;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAExD;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,QAAA,MAAM,cAAc,EAAiC,KACnD,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAC5B,cAAc,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js deleted file mode 100644 index 0ffeb5e9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PatternMatcher = void 0; -const eslintUtils = __importStar(require("@eslint-community/eslint-utils")); -/** - * The class to find a pattern in strings as handling escape sequences. - * It ignores the found pattern if it's escaped with `\`. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#patternmatcher-class} - */ -const PatternMatcher = eslintUtils.PatternMatcher; -exports.PatternMatcher = PatternMatcher; -//# sourceMappingURL=PatternMatcher.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js.map deleted file mode 100644 index 19a3c903..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PatternMatcher.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/PatternMatcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AA6C9D;;;;;GAKG;AACH,MAAM,cAAc,GAAG,WAAW,CAAC,cAGhB,CAAC;AAEX,wCAAc"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts deleted file mode 100644 index 83c7e228..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -import type * as TSESLint from '../../ts-eslint'; -import type { TSESTree } from '../../ts-estree'; -declare const ReferenceTrackerREAD: unique symbol; -declare const ReferenceTrackerCALL: unique symbol; -declare const ReferenceTrackerCONSTRUCT: unique symbol; -declare const ReferenceTrackerESM: unique symbol; -interface ReferenceTracker { - /** - * Iterate the references that the given `traceMap` determined. - * This method starts to search from `require()` expression. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#tracker-iteratecjsreferences} - */ - iterateCjsReferences(traceMap: ReferenceTracker.TraceMap): IterableIterator>; - /** - * Iterate the references that the given `traceMap` determined. - * This method starts to search from `import`/`export` declarations. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#tracker-iterateesmreferences} - */ - iterateEsmReferences(traceMap: ReferenceTracker.TraceMap): IterableIterator>; - /** - * Iterate the references that the given `traceMap` determined. - * This method starts to search from global variables. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#tracker-iterateglobalreferences} - */ - iterateGlobalReferences(traceMap: ReferenceTracker.TraceMap): IterableIterator>; -} -interface ReferenceTrackerStatic { - readonly CALL: typeof ReferenceTrackerCALL; - readonly CONSTRUCT: typeof ReferenceTrackerCONSTRUCT; - readonly ESM: typeof ReferenceTrackerESM; - new (globalScope: TSESLint.Scope.Scope, options?: { - /** - * The name list of Global Object. Optional. Default is `["global", "globalThis", "self", "window"]`. - */ - globalObjectNames?: readonly string[]; - /** - * The mode which determines how the `tracker.iterateEsmReferences()` method scans CommonJS modules. - * If this is `"strict"`, the method binds CommonJS modules to the default export. Otherwise, the method binds - * CommonJS modules to both the default export and named exports. Optional. Default is `"strict"`. - */ - mode?: 'legacy' | 'strict'; - }): ReferenceTracker; - readonly READ: typeof ReferenceTrackerREAD; -} -declare namespace ReferenceTracker { - type READ = ReferenceTrackerStatic['READ']; - type CALL = ReferenceTrackerStatic['CALL']; - type CONSTRUCT = ReferenceTrackerStatic['CONSTRUCT']; - type ESM = ReferenceTrackerStatic['ESM']; - type ReferenceType = CALL | CONSTRUCT | READ; - type TraceMap = Record>; - interface TraceMapElement { - [key: string]: TraceMapElement; - [ReferenceTrackerCALL]?: T; - [ReferenceTrackerCONSTRUCT]?: T; - [ReferenceTrackerESM]?: true; - [ReferenceTrackerREAD]?: T; - } - interface FoundReference { - info: T; - node: TSESTree.Node; - path: readonly string[]; - type: ReferenceType; - } -} -/** - * The tracker for references. This provides reference tracking for global variables, CommonJS modules, and ES modules. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#referencetracker-class} - */ -declare const ReferenceTracker: ReferenceTrackerStatic; -export { ReferenceTracker }; -//# sourceMappingURL=ReferenceTracker.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map deleted file mode 100644 index cf7e2a21..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReferenceTracker.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/ReferenceTracker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,QAAA,MAAM,oBAAoB,EAAE,OAAO,MAA0C,CAAC;AAC9E,QAAA,MAAM,oBAAoB,EAAE,OAAO,MAA0C,CAAC;AAC9E,QAAA,MAAM,yBAAyB,EAAE,OAAO,MACA,CAAC;AACzC,QAAA,MAAM,mBAAmB,EAAE,OAAO,MAAyC,CAAC;AAE5E,UAAU,gBAAgB;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,EACpB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,EACpB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD;;;;;OAKG;IACH,uBAAuB,CAAC,CAAC,EACvB,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;CACzD;AACD,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,yBAAyB,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,OAAO,mBAAmB,CAAC;IAEzC,KACE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EACjC,OAAO,CAAC,EAAE;QACR;;WAEG;QACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC;;;;WAIG;QACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC5B,GACA,gBAAgB,CAAC;IAEpB,QAAQ,CAAC,IAAI,EAAE,OAAO,oBAAoB,CAAC;CAC5C;AAED,kBAAU,gBAAgB,CAAC;IACzB,KAAY,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,KAAY,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,KAAY,SAAS,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC5D,KAAY,GAAG,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,KAAY,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAEpD,KAAY,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,UAAiB,eAAe,CAAC,CAAC;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC;QAC7B,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;KAC5B;IAED,UAAiB,cAAc,CAAC,CAAC,GAAG,GAAG;QACrC,IAAI,EAAE,CAAC,CAAC;QACR,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,aAAa,CAAC;KACrB;CACF;AAED;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,EAAmC,sBAAsB,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js deleted file mode 100644 index 11b6675b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ReferenceTracker = void 0; -/* eslint-disable @typescript-eslint/no-namespace */ -const eslintUtils = __importStar(require("@eslint-community/eslint-utils")); -const ReferenceTrackerREAD = eslintUtils.ReferenceTracker.READ; -const ReferenceTrackerCALL = eslintUtils.ReferenceTracker.CALL; -const ReferenceTrackerCONSTRUCT = eslintUtils.ReferenceTracker.CONSTRUCT; -const ReferenceTrackerESM = eslintUtils.ReferenceTracker.ESM; -/** - * The tracker for references. This provides reference tracking for global variables, CommonJS modules, and ES modules. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#referencetracker-class} - */ -const ReferenceTracker = eslintUtils.ReferenceTracker; -exports.ReferenceTracker = ReferenceTracker; -//# sourceMappingURL=ReferenceTracker.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map deleted file mode 100644 index 1f90c3bd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ReferenceTracker.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/ReferenceTracker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,4EAA8D;AAK9D,MAAM,oBAAoB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9E,MAAM,oBAAoB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC9E,MAAM,yBAAyB,GAC7B,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACzC,MAAM,mBAAmB,GAAkB,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC;AAiF5E;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAA0C,CAAC;AAEvE,4CAAgB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts deleted file mode 100644 index a0c32836..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -import type * as TSESLint from '../../ts-eslint'; -import type { TSESTree } from '../../ts-estree'; -/** - * Get the proper location of a given function node to report. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getfunctionheadlocation} - */ -declare const getFunctionHeadLocation: (node: TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclaration | TSESTree.FunctionExpression, sourceCode: TSESLint.SourceCode) => TSESTree.SourceLocation; -/** - * Get the name and kind of a given function node. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getfunctionnamewithkind} - */ -declare const getFunctionNameWithKind: (node: TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclaration | TSESTree.FunctionExpression, sourceCode?: TSESLint.SourceCode) => string; -/** - * Get the property name of a given property node. - * If the node is a computed property, this tries to compute the property name by the getStringIfConstant function. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getpropertyname} - * @returns The property name of the node. If the property name is not constant then it returns `null`. - */ -declare const getPropertyName: (node: TSESTree.MemberExpression | TSESTree.MethodDefinition | TSESTree.Property | TSESTree.PropertyDefinition, initialScope?: TSESLint.Scope.Scope) => string | null; -/** - * Get the value of a given node if it can decide the value statically. - * If the 2nd parameter `initialScope` was given, this function tries to resolve identifier references which are in the - * given node as much as possible. In the resolving way, it does on the assumption that built-in global objects have - * not been modified. - * For example, it considers `Symbol.iterator`, `Symbol.for('k')`, ` String.raw``hello`` `, and `Object.freeze({a: 1}).a` as static, but `Symbol('k')` is not static. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getstaticvalue} - * @returns The `{ value: any }` shaped object. The `value` property is the static value. If it couldn't compute the - * static value of the node, it returns `null`. - */ -declare const getStaticValue: (node: TSESTree.Node, initialScope?: TSESLint.Scope.Scope) => { - value: unknown; -} | null; -/** - * Get the string value of a given node. - * This function is a tiny wrapper of the getStaticValue function. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getstringifconstant} - */ -declare const getStringIfConstant: (node: TSESTree.Node, initialScope?: TSESLint.Scope.Scope) => string | null; -/** - * Check whether a given node has any side effect or not. - * The side effect means that it may modify a certain variable or object member. This function considers the node which - * contains the following types as the node which has side effects: - * - `AssignmentExpression` - * - `AwaitExpression` - * - `CallExpression` - * - `ImportExpression` - * - `NewExpression` - * - `UnaryExpression([operator = "delete"])` - * - `UpdateExpression` - * - `YieldExpression` - * - When `options.considerGetters` is `true`: - * - `MemberExpression` - * - When `options.considerImplicitTypeConversion` is `true`: - * - `BinaryExpression([operator = "==" | "!=" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "|" | "^" | "&" | "in"])` - * - `MemberExpression([computed = true])` - * - `MethodDefinition([computed = true])` - * - `Property([computed = true])` - * - `UnaryExpression([operator = "-" | "+" | "!" | "~"])` - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#hassideeffect} - */ -declare const hasSideEffect: (node: TSESTree.Node, sourceCode: TSESLint.SourceCode, options?: { - considerGetters?: boolean; - considerImplicitTypeConversion?: boolean; -}) => boolean; -declare const isParenthesized: { - (times: number, node: TSESTree.Node, sourceCode: TSESLint.SourceCode): boolean; - /** - * Check whether a given node is parenthesized or not. - * This function detects it correctly even if it's parenthesized by specific syntax. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#isparenthesized} - * @returns `true` if the node is parenthesized. - * If `times` was given, it returns `true` only if the node is parenthesized the `times` times. - * For example, `isParenthesized(2, node, sourceCode)` returns true for `((foo))`, but not for `(foo)`. - */ - (node: TSESTree.Node, sourceCode: TSESLint.SourceCode): boolean; -}; -export { getFunctionHeadLocation, getFunctionNameWithKind, getPropertyName, getStaticValue, getStringIfConstant, hasSideEffect, isParenthesized, }; -//# sourceMappingURL=astUtilities.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map deleted file mode 100644 index 7b812080..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astUtilities.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/astUtilities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,QAAA,MAAM,uBAAuB,EAA0C,CACrE,IAAI,EACA,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,mBAAmB,GAC5B,QAAQ,CAAC,kBAAkB,EAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU,KAC5B,QAAQ,CAAC,cAAc,CAAC;AAE7B;;;;GAIG;AACH,QAAA,MAAM,uBAAuB,EAA0C,CACrE,IAAI,EACA,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,mBAAmB,GAC5B,QAAQ,CAAC,kBAAkB,EAC/B,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,KAC7B,MAAM,CAAC;AAEZ;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,EAAkC,CACrD,IAAI,EACA,QAAQ,CAAC,gBAAgB,GACzB,QAAQ,CAAC,gBAAgB,GACzB,QAAQ,CAAC,QAAQ,GACjB,QAAQ,CAAC,kBAAkB,EAC/B,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,KAChC,MAAM,GAAG,IAAI,CAAC;AAEnB;;;;;;;;;;GAUG;AACH,QAAA,MAAM,cAAc,EAAiC,CACnD,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,KAChC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAE/B;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,EAAsC,CAC7D,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,KAChC,MAAM,GAAG,IAAI,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,aAAa,EAAgC,CACjD,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,UAAU,EAAE,QAAQ,CAAC,UAAU,EAC/B,OAAO,CAAC,EAAE;IACR,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C,KACE,OAAO,CAAC;AAEb,QAAA,MAAM,eAAe,EAAkC;IACrD,CACE,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,UAAU,EAAE,QAAQ,CAAC,UAAU,GAC9B,OAAO,CAAC;IAEX;;;;;;;;OAQG;IACH,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC;CACjE,CAAC;AAEF,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js deleted file mode 100644 index ed81a599..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js +++ /dev/null @@ -1,109 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isParenthesized = exports.hasSideEffect = exports.getStringIfConstant = exports.getStaticValue = exports.getPropertyName = exports.getFunctionNameWithKind = exports.getFunctionHeadLocation = void 0; -const eslintUtils = __importStar(require("@eslint-community/eslint-utils")); -/** - * Get the proper location of a given function node to report. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getfunctionheadlocation} - */ -const getFunctionHeadLocation = eslintUtils.getFunctionHeadLocation; -exports.getFunctionHeadLocation = getFunctionHeadLocation; -/** - * Get the name and kind of a given function node. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getfunctionnamewithkind} - */ -const getFunctionNameWithKind = eslintUtils.getFunctionNameWithKind; -exports.getFunctionNameWithKind = getFunctionNameWithKind; -/** - * Get the property name of a given property node. - * If the node is a computed property, this tries to compute the property name by the getStringIfConstant function. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getpropertyname} - * @returns The property name of the node. If the property name is not constant then it returns `null`. - */ -const getPropertyName = eslintUtils.getPropertyName; -exports.getPropertyName = getPropertyName; -/** - * Get the value of a given node if it can decide the value statically. - * If the 2nd parameter `initialScope` was given, this function tries to resolve identifier references which are in the - * given node as much as possible. In the resolving way, it does on the assumption that built-in global objects have - * not been modified. - * For example, it considers `Symbol.iterator`, `Symbol.for('k')`, ` String.raw``hello`` `, and `Object.freeze({a: 1}).a` as static, but `Symbol('k')` is not static. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getstaticvalue} - * @returns The `{ value: any }` shaped object. The `value` property is the static value. If it couldn't compute the - * static value of the node, it returns `null`. - */ -const getStaticValue = eslintUtils.getStaticValue; -exports.getStaticValue = getStaticValue; -/** - * Get the string value of a given node. - * This function is a tiny wrapper of the getStaticValue function. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#getstringifconstant} - */ -const getStringIfConstant = eslintUtils.getStringIfConstant; -exports.getStringIfConstant = getStringIfConstant; -/** - * Check whether a given node has any side effect or not. - * The side effect means that it may modify a certain variable or object member. This function considers the node which - * contains the following types as the node which has side effects: - * - `AssignmentExpression` - * - `AwaitExpression` - * - `CallExpression` - * - `ImportExpression` - * - `NewExpression` - * - `UnaryExpression([operator = "delete"])` - * - `UpdateExpression` - * - `YieldExpression` - * - When `options.considerGetters` is `true`: - * - `MemberExpression` - * - When `options.considerImplicitTypeConversion` is `true`: - * - `BinaryExpression([operator = "==" | "!=" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "|" | "^" | "&" | "in"])` - * - `MemberExpression([computed = true])` - * - `MethodDefinition([computed = true])` - * - `Property([computed = true])` - * - `UnaryExpression([operator = "-" | "+" | "!" | "~"])` - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/ast-utils.html#hassideeffect} - */ -const hasSideEffect = eslintUtils.hasSideEffect; -exports.hasSideEffect = hasSideEffect; -const isParenthesized = eslintUtils.isParenthesized; -exports.isParenthesized = isParenthesized; -//# sourceMappingURL=astUtilities.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js.map deleted file mode 100644 index eb2c0bda..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"astUtilities.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/astUtilities.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AAK9D;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,WAAW,CAAC,uBAMhB,CAAC;AA8G3B,0DAAuB;AA5GzB;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,WAAW,CAAC,uBAMjC,CAAC;AAkGV,0DAAuB;AAhGzB;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,WAAW,CAAC,eAOlB,CAAC;AAmFjB,0CAAe;AAjFjB;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAAG,WAAW,CAAC,cAGL,CAAC;AAoE7B,wCAAc;AAlEhB;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAGtB,CAAC;AA0DjB,kDAAmB;AAxDrB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,aAAa,GAAG,WAAW,CAAC,aAOtB,CAAC;AA2BX,sCAAa;AAzBf,MAAM,eAAe,GAAG,WAAW,CAAC,eAiBnC,CAAC;AASA,0CAAe"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts deleted file mode 100644 index 3ec74aa2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './astUtilities'; -export * from './PatternMatcher'; -export * from './predicates'; -export * from './ReferenceTracker'; -export * from './scopeAnalysis'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts.map deleted file mode 100644 index e6a66720..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js deleted file mode 100644 index 6e0fbf72..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./astUtilities"), exports); -__exportStar(require("./PatternMatcher"), exports); -__exportStar(require("./predicates"), exports); -__exportStar(require("./ReferenceTracker"), exports); -__exportStar(require("./scopeAnalysis"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js.map deleted file mode 100644 index c1f12696..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,+CAA6B;AAC7B,qDAAmC;AACnC,kDAAgC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts deleted file mode 100644 index 75d1f65d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { TSESTree } from '../../ts-estree'; -type IsSpecificTokenFunction = (token: TSESTree.Token) => token is SpecificToken; -type IsNotSpecificTokenFunction = (token: TSESTree.Token) => token is Exclude; -type PunctuatorTokenWithValue = { - value: Value; -} & TSESTree.PunctuatorToken; -type IsPunctuatorTokenWithValueFunction = IsSpecificTokenFunction>; -type IsNotPunctuatorTokenWithValueFunction = IsNotSpecificTokenFunction>; -declare const isArrowToken: IsPunctuatorTokenWithValueFunction<"=>">; -declare const isNotArrowToken: IsNotPunctuatorTokenWithValueFunction<"=>">; -declare const isClosingBraceToken: IsPunctuatorTokenWithValueFunction<"}">; -declare const isNotClosingBraceToken: IsNotPunctuatorTokenWithValueFunction<"}">; -declare const isClosingBracketToken: IsPunctuatorTokenWithValueFunction<"]">; -declare const isNotClosingBracketToken: IsNotPunctuatorTokenWithValueFunction<"]">; -declare const isClosingParenToken: IsPunctuatorTokenWithValueFunction<")">; -declare const isNotClosingParenToken: IsNotPunctuatorTokenWithValueFunction<")">; -declare const isColonToken: IsPunctuatorTokenWithValueFunction<":">; -declare const isNotColonToken: IsNotPunctuatorTokenWithValueFunction<":">; -declare const isCommaToken: IsPunctuatorTokenWithValueFunction<",">; -declare const isNotCommaToken: IsNotPunctuatorTokenWithValueFunction<",">; -declare const isCommentToken: IsSpecificTokenFunction; -declare const isNotCommentToken: IsNotSpecificTokenFunction; -declare const isOpeningBraceToken: IsPunctuatorTokenWithValueFunction<"{">; -declare const isNotOpeningBraceToken: IsNotPunctuatorTokenWithValueFunction<"{">; -declare const isOpeningBracketToken: IsPunctuatorTokenWithValueFunction<"[">; -declare const isNotOpeningBracketToken: IsNotPunctuatorTokenWithValueFunction<"[">; -declare const isOpeningParenToken: IsPunctuatorTokenWithValueFunction<"(">; -declare const isNotOpeningParenToken: IsNotPunctuatorTokenWithValueFunction<"(">; -declare const isSemicolonToken: IsPunctuatorTokenWithValueFunction<";">; -declare const isNotSemicolonToken: IsNotPunctuatorTokenWithValueFunction<";">; -export { isArrowToken, isClosingBraceToken, isClosingBracketToken, isClosingParenToken, isColonToken, isCommaToken, isCommentToken, isNotArrowToken, isNotClosingBraceToken, isNotClosingBracketToken, isNotClosingParenToken, isNotColonToken, isNotCommaToken, isNotCommentToken, isNotOpeningBraceToken, isNotOpeningBracketToken, isNotOpeningParenToken, isNotSemicolonToken, isOpeningBraceToken, isOpeningBracketToken, isOpeningParenToken, isSemicolonToken, }; -//# sourceMappingURL=predicates.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts.map deleted file mode 100644 index 9f55408e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/predicates.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js deleted file mode 100644 index 43592b3b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isSemicolonToken = exports.isOpeningParenToken = exports.isOpeningBracketToken = exports.isOpeningBraceToken = exports.isNotSemicolonToken = exports.isNotOpeningParenToken = exports.isNotOpeningBracketToken = exports.isNotOpeningBraceToken = exports.isNotCommentToken = exports.isNotCommaToken = exports.isNotColonToken = exports.isNotClosingParenToken = exports.isNotClosingBracketToken = exports.isNotClosingBraceToken = exports.isNotArrowToken = exports.isCommentToken = exports.isCommaToken = exports.isColonToken = exports.isClosingParenToken = exports.isClosingBracketToken = exports.isClosingBraceToken = exports.isArrowToken = void 0; -const eslintUtils = __importStar(require("@eslint-community/eslint-utils")); -const isArrowToken = eslintUtils.isArrowToken; -exports.isArrowToken = isArrowToken; -const isNotArrowToken = eslintUtils.isNotArrowToken; -exports.isNotArrowToken = isNotArrowToken; -const isClosingBraceToken = eslintUtils.isClosingBraceToken; -exports.isClosingBraceToken = isClosingBraceToken; -const isNotClosingBraceToken = eslintUtils.isNotClosingBraceToken; -exports.isNotClosingBraceToken = isNotClosingBraceToken; -const isClosingBracketToken = eslintUtils.isClosingBracketToken; -exports.isClosingBracketToken = isClosingBracketToken; -const isNotClosingBracketToken = eslintUtils.isNotClosingBracketToken; -exports.isNotClosingBracketToken = isNotClosingBracketToken; -const isClosingParenToken = eslintUtils.isClosingParenToken; -exports.isClosingParenToken = isClosingParenToken; -const isNotClosingParenToken = eslintUtils.isNotClosingParenToken; -exports.isNotClosingParenToken = isNotClosingParenToken; -const isColonToken = eslintUtils.isColonToken; -exports.isColonToken = isColonToken; -const isNotColonToken = eslintUtils.isNotColonToken; -exports.isNotColonToken = isNotColonToken; -const isCommaToken = eslintUtils.isCommaToken; -exports.isCommaToken = isCommaToken; -const isNotCommaToken = eslintUtils.isNotCommaToken; -exports.isNotCommaToken = isNotCommaToken; -const isCommentToken = eslintUtils.isCommentToken; -exports.isCommentToken = isCommentToken; -const isNotCommentToken = eslintUtils.isNotCommentToken; -exports.isNotCommentToken = isNotCommentToken; -const isOpeningBraceToken = eslintUtils.isOpeningBraceToken; -exports.isOpeningBraceToken = isOpeningBraceToken; -const isNotOpeningBraceToken = eslintUtils.isNotOpeningBraceToken; -exports.isNotOpeningBraceToken = isNotOpeningBraceToken; -const isOpeningBracketToken = eslintUtils.isOpeningBracketToken; -exports.isOpeningBracketToken = isOpeningBracketToken; -const isNotOpeningBracketToken = eslintUtils.isNotOpeningBracketToken; -exports.isNotOpeningBracketToken = isNotOpeningBracketToken; -const isOpeningParenToken = eslintUtils.isOpeningParenToken; -exports.isOpeningParenToken = isOpeningParenToken; -const isNotOpeningParenToken = eslintUtils.isNotOpeningParenToken; -exports.isNotOpeningParenToken = isNotOpeningParenToken; -const isSemicolonToken = eslintUtils.isSemicolonToken; -exports.isSemicolonToken = isSemicolonToken; -const isNotSemicolonToken = eslintUtils.isNotSemicolonToken; -exports.isNotSemicolonToken = isNotSemicolonToken; -//# sourceMappingURL=predicates.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js.map deleted file mode 100644 index 2bdead69..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/predicates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AAoB9D,MAAM,YAAY,GAChB,WAAW,CAAC,YAAwD,CAAC;AAuDrE,oCAAY;AAtDd,MAAM,eAAe,GACnB,WAAW,CAAC,eAA8D,CAAC;AA4D3E,0CAAe;AA1DjB,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AAmD3E,kDAAmB;AAlDrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AAwDjF,wDAAsB;AAtDxB,MAAM,qBAAqB,GACzB,WAAW,CAAC,qBAAgE,CAAC;AA+C7E,sDAAqB;AA9CvB,MAAM,wBAAwB,GAC5B,WAAW,CAAC,wBAAsE,CAAC;AAoDnF,4DAAwB;AAlD1B,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AA2C3E,kDAAmB;AA1CrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AAgDjF,wDAAsB;AA9CxB,MAAM,YAAY,GAChB,WAAW,CAAC,YAAuD,CAAC;AAuCpE,oCAAY;AAtCd,MAAM,eAAe,GACnB,WAAW,CAAC,eAA6D,CAAC;AA4C1E,0CAAe;AA1CjB,MAAM,YAAY,GAChB,WAAW,CAAC,YAAuD,CAAC;AAmCpE,oCAAY;AAlCd,MAAM,eAAe,GACnB,WAAW,CAAC,eAA6D,CAAC;AAwC1E,0CAAe;AAtCjB,MAAM,cAAc,GAClB,WAAW,CAAC,cAA2D,CAAC;AA+BxE,wCAAc;AA9BhB,MAAM,iBAAiB,GACrB,WAAW,CAAC,iBAAiE,CAAC;AAoC9E,8CAAiB;AAlCnB,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AAsC3E,kDAAmB;AArCrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AAgCjF,wDAAsB;AA9BxB,MAAM,qBAAqB,GACzB,WAAW,CAAC,qBAAgE,CAAC;AAkC7E,sDAAqB;AAjCvB,MAAM,wBAAwB,GAC5B,WAAW,CAAC,wBAAsE,CAAC;AA4BnF,4DAAwB;AA1B1B,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAA8D,CAAC;AA8B3E,kDAAmB;AA7BrB,MAAM,sBAAsB,GAC1B,WAAW,CAAC,sBAAoE,CAAC;AAwBjF,wDAAsB;AAtBxB,MAAM,gBAAgB,GACpB,WAAW,CAAC,gBAA2D,CAAC;AA0BxE,4CAAgB;AAzBlB,MAAM,mBAAmB,GACvB,WAAW,CAAC,mBAAiE,CAAC;AAoB9E,kDAAmB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts deleted file mode 100644 index 480e9b5a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type * as TSESLint from '../../ts-eslint'; -import type { TSESTree } from '../../ts-estree'; -/** - * Get the variable of a given name. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#findvariable} - */ -declare const findVariable: (initialScope: TSESLint.Scope.Scope, nameOrNode: string | TSESTree.Identifier) => TSESLint.Scope.Variable | null; -/** - * Get the innermost scope which contains a given node. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#getinnermostscope} - * @returns The innermost scope which contains the given node. - * If such scope doesn't exist then it returns the 1st argument `initialScope`. - */ -declare const getInnermostScope: (initialScope: TSESLint.Scope.Scope, node: TSESTree.Node) => TSESLint.Scope.Scope; -export { findVariable, getInnermostScope }; -//# sourceMappingURL=scopeAnalysis.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts.map deleted file mode 100644 index 04d9ddd9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scopeAnalysis.d.ts","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/scopeAnalysis.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,QAAA,MAAM,YAAY,EAA+B,CAC/C,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAClC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,KACrC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;AAEpC;;;;;;GAMG;AACH,QAAA,MAAM,iBAAiB,EAAoC,CACzD,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAClC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAChB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js deleted file mode 100644 index a57ab924..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getInnermostScope = exports.findVariable = void 0; -const eslintUtils = __importStar(require("@eslint-community/eslint-utils")); -/** - * Get the variable of a given name. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#findvariable} - */ -const findVariable = eslintUtils.findVariable; -exports.findVariable = findVariable; -/** - * Get the innermost scope which contains a given node. - * - * @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#getinnermostscope} - * @returns The innermost scope which contains the given node. - * If such scope doesn't exist then it returns the 1st argument `initialScope`. - */ -const getInnermostScope = eslintUtils.getInnermostScope; -exports.getInnermostScope = getInnermostScope; -//# sourceMappingURL=scopeAnalysis.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js.map deleted file mode 100644 index 5f92dc94..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scopeAnalysis.js","sourceRoot":"","sources":["../../../src/ast-utils/eslint-utils/scopeAnalysis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AAK9D;;;;GAIG;AACH,MAAM,YAAY,GAAG,WAAW,CAAC,YAGE,CAAC;AAc3B,oCAAY;AAZrB;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC,iBAGb,CAAC;AAEH,8CAAiB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts deleted file mode 100644 index 3b390058..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { AST_NODE_TYPES, AST_TOKEN_TYPES, TSESTree } from '../ts-estree'; -export declare const isNodeOfType: (nodeType: NodeType) => (node: TSESTree.Node | null | undefined) => node is Extract; -export declare const isNodeOfTypes: (nodeTypes: NodeTypes) => (node: TSESTree.Node | null | undefined) => node is Extract; -export declare const isNodeOfTypeWithConditions: , Conditions extends Partial>(nodeType: NodeType, conditions: Conditions) => ((node: TSESTree.Node | null | undefined) => node is Conditions & ExtractedNode); -export declare const isTokenOfTypeWithConditions: , Conditions extends Partial<{ - type: TokenType; -} & TSESTree.Token>>(tokenType: TokenType, conditions: Conditions) => ((token: TSESTree.Token | null | undefined) => token is Conditions & ExtractedToken); -export declare const isNotTokenOfTypeWithConditions: , Conditions extends Partial>(tokenType: TokenType, conditions: Conditions) => ((token: TSESTree.Token | null | undefined) => token is Exclude); -//# sourceMappingURL=helpers.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts.map deleted file mode 100644 index 7e2e54c4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/ast-utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAO9E,eAAO,MAAM,YAAY,GACtB,QAAQ,SAAS,cAAc,YAAY,QAAQ,YAE5C,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,KACrC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAC3B,CAAC;AAE5B,eAAO,MAAM,aAAa,GACvB,SAAS,SAAS,SAAS,cAAc,EAAE,aAAa,SAAS,YAE1D,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,KACrC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,CACpB,CAAC;AAE5C,eAAO,MAAM,0BAA0B,GACrC,QAAQ,SAAS,cAAc,EAC/B,aAAa,SAAS,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAChE,UAAU,SAAS,OAAO,CAAC,aAAa,CAAC,YAE/B,QAAQ,cACN,UAAU,KACrB,CAAC,CACF,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,KACnC,IAAI,IAAI,UAAU,GAAG,aAAa,CAQtC,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,SAAS,SAAS,eAAe,EAGjC,cAAc,SAAS,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACnE,UAAU,SAAS,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,aAErD,SAAS,cACR,UAAU,KACrB,CAAC,CACF,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,KACrC,KAAK,IAAI,UAAU,GAAG,cAAc,CAUxC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAEvC,SAAS,SAAS,eAAe,EACjC,cAAc,SAAS,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACnE,UAAU,SAAS,OAAO,CAAC,cAAc,CAAC,aAE/B,SAAS,cACR,UAAU,KACrB,CAAC,CACF,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,KACrC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAAC,CAEN,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js deleted file mode 100644 index 4d6bb469..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isNotTokenOfTypeWithConditions = exports.isTokenOfTypeWithConditions = exports.isNodeOfTypeWithConditions = exports.isNodeOfTypes = exports.isNodeOfType = void 0; -const isNodeOfType = (nodeType) => (node) => node?.type === nodeType; -exports.isNodeOfType = isNodeOfType; -const isNodeOfTypes = (nodeTypes) => (node) => !!node && nodeTypes.includes(node.type); -exports.isNodeOfTypes = isNodeOfTypes; -const isNodeOfTypeWithConditions = (nodeType, conditions) => { - const entries = Object.entries(conditions); - return (node) => node?.type === nodeType && - entries.every(([key, value]) => node[key] === value); -}; -exports.isNodeOfTypeWithConditions = isNodeOfTypeWithConditions; -const isTokenOfTypeWithConditions = (tokenType, conditions) => { - const entries = Object.entries(conditions); - return (token) => token?.type === tokenType && - entries.every(([key, value]) => token[key] === value); -}; -exports.isTokenOfTypeWithConditions = isTokenOfTypeWithConditions; -const isNotTokenOfTypeWithConditions = (tokenType, conditions) => (token) => !(0, exports.isTokenOfTypeWithConditions)(tokenType, conditions)(token); -exports.isNotTokenOfTypeWithConditions = isNotTokenOfTypeWithConditions; -//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js.map deleted file mode 100644 index 73b2878d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/ast-utils/helpers.ts"],"names":[],"mappings":";;;AAOO,MAAM,YAAY,GACvB,CAAkC,QAAkB,EAAE,EAAE,CACxD,CACE,IAAsC,EACc,EAAE,CACtD,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC;AALf,QAAA,YAAY,gBAKG;AAErB,MAAM,aAAa,GACxB,CAA8C,SAAoB,EAAE,EAAE,CACtE,CACE,IAAsC,EACuB,EAAE,CAC/D,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAL/B,QAAA,aAAa,iBAKkB;AAErC,MAAM,0BAA0B,GAAG,CAKxC,QAAkB,EAClB,UAAsB,EAGiB,EAAE;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAiC,CAAC;IAE3E,OAAO,CACL,IAAsC,EACF,EAAE,CACtC,IAAI,EAAE,IAAI,KAAK,QAAQ;QACvB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAA0B,CAAC,KAAK,KAAK,CAAC,CAAC;AAChF,CAAC,CAAC;AAjBW,QAAA,0BAA0B,8BAiBrC;AAEK,MAAM,2BAA2B,GAAG,CAOzC,SAAoB,EACpB,UAAsB,EAGmB,EAAE;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAkC,CAAC;IAE5E,OAAO,CACL,KAAwC,EACF,EAAE,CACxC,KAAK,EAAE,IAAI,KAAK,SAAS;QACzB,OAAO,CAAC,KAAK,CACX,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAA2B,CAAC,KAAK,KAAK,CAC/D,CAAC;AACN,CAAC,CAAC;AArBW,QAAA,2BAA2B,+BAqBtC;AAEK,MAAM,8BAA8B,GACzC,CAKE,SAAoB,EACpB,UAAsB,EAG4C,EAAE,CACtE,CAAC,KAAK,EAAiE,EAAE,CACvE,CAAC,IAAA,mCAA2B,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;AAZlD,QAAA,8BAA8B,kCAYoB"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts deleted file mode 100644 index 714b9952..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './eslint-utils'; -export * from './helpers'; -export * from './misc'; -export * from './predicates'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts.map deleted file mode 100644 index c6f5e7f6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast-utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js deleted file mode 100644 index 6c5b6600..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./eslint-utils"), exports); -__exportStar(require("./helpers"), exports); -__exportStar(require("./misc"), exports); -__exportStar(require("./predicates"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js.map deleted file mode 100644 index f373ac53..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast-utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,4CAA0B;AAC1B,yCAAuB;AACvB,+CAA6B"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts deleted file mode 100644 index cbbd04bc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { TSESTree } from '../ts-estree'; -declare const LINEBREAK_MATCHER: RegExp; -/** - * Determines whether two adjacent tokens are on the same line - */ -declare function isTokenOnSameLine(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token): boolean; -export { isTokenOnSameLine, LINEBREAK_MATCHER }; -//# sourceMappingURL=misc.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts.map deleted file mode 100644 index 071c0afe..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/ast-utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,QAAA,MAAM,iBAAiB,QAA4B,CAAC;AAEpD;;GAEG;AACH,iBAAS,iBAAiB,CACxB,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EACpC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GACpC,OAAO,CAET;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js deleted file mode 100644 index 7aa82e80..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.LINEBREAK_MATCHER = void 0; -exports.isTokenOnSameLine = isTokenOnSameLine; -const LINEBREAK_MATCHER = /\r\n|[\r\n\u2028\u2029]/; -exports.LINEBREAK_MATCHER = LINEBREAK_MATCHER; -/** - * Determines whether two adjacent tokens are on the same line - */ -function isTokenOnSameLine(left, right) { - return left.loc.end.line === right.loc.start.line; -} -//# sourceMappingURL=misc.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js.map deleted file mode 100644 index bf4b06fc..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/ast-utils/misc.ts"],"names":[],"mappings":";;;AAcS,8CAAiB;AAZ1B,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAYxB,8CAAiB;AAV7C;;GAEG;AACH,SAAS,iBAAiB,CACxB,IAAoC,EACpC,KAAqC;IAErC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACpD,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts deleted file mode 100644 index 39b496ae..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts +++ /dev/null @@ -1,70 +0,0 @@ -import type { TSESTree } from '../ts-estree'; -declare const isOptionalChainPunctuator: (token: TSESTree.Token | null | undefined) => token is { - value: "?."; -} & TSESTree.PunctuatorToken; -declare const isNotOptionalChainPunctuator: (token: TSESTree.Token | null | undefined) => token is TSESTree.BooleanToken | TSESTree.BlockComment | TSESTree.LineComment | TSESTree.IdentifierToken | TSESTree.JSXIdentifierToken | TSESTree.JSXTextToken | TSESTree.KeywordToken | TSESTree.NullToken | TSESTree.NumericToken | TSESTree.PunctuatorToken | TSESTree.RegularExpressionToken | TSESTree.StringToken | TSESTree.TemplateToken; -declare const isNonNullAssertionPunctuator: (token: TSESTree.Token | null | undefined) => token is { - value: "!"; -} & TSESTree.PunctuatorToken; -declare const isNotNonNullAssertionPunctuator: (token: TSESTree.Token | null | undefined) => token is TSESTree.BooleanToken | TSESTree.BlockComment | TSESTree.LineComment | TSESTree.IdentifierToken | TSESTree.JSXIdentifierToken | TSESTree.JSXTextToken | TSESTree.KeywordToken | TSESTree.NullToken | TSESTree.NumericToken | TSESTree.PunctuatorToken | TSESTree.RegularExpressionToken | TSESTree.StringToken | TSESTree.TemplateToken; -/** - * Returns true if and only if the node represents: foo?.() or foo.bar?.() - */ -declare const isOptionalCallExpression: (node: TSESTree.Node | null | undefined) => node is { - optional: boolean; -} & TSESTree.CallExpression; -/** - * Returns true if and only if the node represents logical OR - */ -declare const isLogicalOrOperator: (node: TSESTree.Node | null | undefined) => node is Partial & TSESTree.LogicalExpression; -/** - * Checks if a node is a type assertion: - * ``` - * x as foo - * x - * ``` - */ -declare const isTypeAssertion: (node: TSESTree.Node | null | undefined) => node is TSESTree.TSAsExpression | TSESTree.TSTypeAssertion; -declare const isVariableDeclarator: (node: TSESTree.Node | null | undefined) => node is TSESTree.VariableDeclaratorDefiniteAssignment | TSESTree.VariableDeclaratorMaybeInit | TSESTree.VariableDeclaratorNoInit | TSESTree.UsingInForOfDeclarator | TSESTree.UsingInNormalContextDeclarator; -declare const isFunction: (node: TSESTree.Node | null | undefined) => node is TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclarationWithName | TSESTree.FunctionDeclarationWithOptionalName | TSESTree.FunctionExpression; -declare const isFunctionType: (node: TSESTree.Node | null | undefined) => node is TSESTree.TSCallSignatureDeclaration | TSESTree.TSConstructorType | TSESTree.TSConstructSignatureDeclaration | TSESTree.TSDeclareFunctionNoDeclare | TSESTree.TSDeclareFunctionWithDeclare | TSESTree.TSEmptyBodyFunctionExpression | TSESTree.TSFunctionType | TSESTree.TSMethodSignatureComputedName | TSESTree.TSMethodSignatureNonComputedName; -declare const isFunctionOrFunctionType: (node: TSESTree.Node | null | undefined) => node is TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclarationWithName | TSESTree.FunctionDeclarationWithOptionalName | TSESTree.FunctionExpression | TSESTree.TSCallSignatureDeclaration | TSESTree.TSConstructorType | TSESTree.TSConstructSignatureDeclaration | TSESTree.TSDeclareFunctionNoDeclare | TSESTree.TSDeclareFunctionWithDeclare | TSESTree.TSEmptyBodyFunctionExpression | TSESTree.TSFunctionType | TSESTree.TSMethodSignatureComputedName | TSESTree.TSMethodSignatureNonComputedName; -declare const isTSFunctionType: (node: TSESTree.Node | null | undefined) => node is TSESTree.TSFunctionType; -declare const isTSConstructorType: (node: TSESTree.Node | null | undefined) => node is TSESTree.TSConstructorType; -declare const isClassOrTypeElement: (node: TSESTree.Node | null | undefined) => node is TSESTree.FunctionExpression | TSESTree.MethodDefinitionComputedName | TSESTree.MethodDefinitionNonComputedName | TSESTree.PropertyDefinitionComputedName | TSESTree.PropertyDefinitionNonComputedName | TSESTree.TSAbstractMethodDefinitionComputedName | TSESTree.TSAbstractMethodDefinitionNonComputedName | TSESTree.TSAbstractPropertyDefinitionComputedName | TSESTree.TSAbstractPropertyDefinitionNonComputedName | TSESTree.TSCallSignatureDeclaration | TSESTree.TSConstructSignatureDeclaration | TSESTree.TSEmptyBodyFunctionExpression | TSESTree.TSIndexSignature | TSESTree.TSMethodSignatureComputedName | TSESTree.TSMethodSignatureNonComputedName | TSESTree.TSPropertySignatureComputedName | TSESTree.TSPropertySignatureNonComputedName; -/** - * Checks if a node is a constructor method. - */ -declare const isConstructor: (node: TSESTree.Node | null | undefined) => node is Partial & (TSESTree.MethodDefinitionComputedName | TSESTree.MethodDefinitionNonComputedName); -/** - * Checks if a node is a setter method. - */ -declare function isSetter(node: TSESTree.Node | undefined): node is { - kind: 'set'; -} & (TSESTree.MethodDefinition | TSESTree.Property); -declare const isIdentifier: (node: TSESTree.Node | null | undefined) => node is TSESTree.Identifier; -/** - * Checks if a node represents an `await …` expression. - */ -declare const isAwaitExpression: (node: TSESTree.Node | null | undefined) => node is TSESTree.AwaitExpression; -/** - * Checks if a possible token is the `await` keyword. - */ -declare const isAwaitKeyword: (token: TSESTree.Token | null | undefined) => token is { - value: "await"; -} & TSESTree.IdentifierToken; -/** - * Checks if a possible token is the `type` keyword. - */ -declare const isTypeKeyword: (token: TSESTree.Token | null | undefined) => token is { - value: "type"; -} & TSESTree.IdentifierToken; -/** - * Checks if a possible token is the `import` keyword. - */ -declare const isImportKeyword: (token: TSESTree.Token | null | undefined) => token is { - value: "import"; -} & TSESTree.KeywordToken; -declare const isLoop: (node: TSESTree.Node | null | undefined) => node is TSESTree.DoWhileStatement | TSESTree.ForInStatement | TSESTree.ForOfStatement | TSESTree.ForStatement | TSESTree.WhileStatement; -export { isAwaitExpression, isAwaitKeyword, isClassOrTypeElement, isConstructor, isFunction, isFunctionOrFunctionType, isFunctionType, isIdentifier, isImportKeyword, isLogicalOrOperator, isLoop, isNonNullAssertionPunctuator, isNotNonNullAssertionPunctuator, isNotOptionalChainPunctuator, isOptionalCallExpression, isOptionalChainPunctuator, isSetter, isTSConstructorType, isTSFunctionType, isTypeAssertion, isTypeKeyword, isVariableDeclarator, }; -//# sourceMappingURL=predicates.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts.map deleted file mode 100644 index c48d01b9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../src/ast-utils/predicates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAW7C,QAAA,MAAM,yBAAyB,UA6DvB,SAAU,KAAK;;4BA1DtB,CAAC;AAEF,QAAA,MAAM,4BAA4B,UA6EJ,SAC3B,KAAK,wWA3EP,CAAC;AAEF,QAAA,MAAM,4BAA4B,UAmD1B,SAAU,KAAK;;4BAhDtB,CAAC;AAEF,QAAA,MAAM,+BAA+B,UAmEP,SAC3B,KAAK,wWAjEP,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,wBAAwB,SAGpB,SAAS,IAAI;;2BAEtB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,mBAAmB,SAPf,SAAS,IAAI,gGAUtB,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,SAlCN,SAAU,IAAI,kFAqClB,CAAC;AAEZ,QAAA,MAAM,oBAAoB,SAjDT,SAAU,IAC1B,oOAgD2E,CAAC;AAO7E,QAAA,MAAM,UAAU,SA9CD,SAAU,IAAI,oLA8CkB,CAAC;AAWhD,QAAA,MAAM,cAAc,SAzDL,SAAU,IAAI,iXAyD0B,CAAC;AAExD,QAAA,MAAM,wBAAwB,SA3Df,SAAU,IAAI,wgBA8DlB,CAAC;AAEZ,QAAA,MAAM,gBAAgB,SA1EL,SAAU,IAC1B,uDAyEmE,CAAC;AAErE,QAAA,MAAM,mBAAmB,SA5ER,SAAU,IAC1B,0DA2EyE,CAAC;AAE3E,QAAA,MAAM,oBAAoB,SApEX,SAAU,IAAI,2vBAmFlB,CAAC;AAEZ;;GAEG;AACH,QAAA,MAAM,aAAa,SAzET,SAAS,IAAI,8MA4EtB,CAAC;AAEF;;GAEG;AACH,iBAAS,QAAQ,CACf,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,GAC9B,IAAI,IAAI;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,CAAC,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAO3E;AAED,QAAA,MAAM,YAAY,SArHD,SAAU,IAC1B,mDAoH2D,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,iBAAiB,SA1HN,SAAU,IAC1B,wDAyHqE,CAAC;AAEvE;;GAEG;AACH,QAAA,MAAM,cAAc,UAnEZ,SAAU,KAAK;;4BAqErB,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,aAAa,UA1EX,SAAU,KAAK;;4BA4ErB,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,eAAe,UAjFb,SAAU,KAAK;;yBAmFrB,CAAC;AAEH,QAAA,MAAM,MAAM,SAvIG,SAAU,IAAI,+JA6IlB,CAAC;AAEZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,MAAM,EACN,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js deleted file mode 100644 index e8e30bf6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js +++ /dev/null @@ -1,136 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isVariableDeclarator = exports.isTypeKeyword = exports.isTypeAssertion = exports.isTSFunctionType = exports.isTSConstructorType = exports.isOptionalChainPunctuator = exports.isOptionalCallExpression = exports.isNotOptionalChainPunctuator = exports.isNotNonNullAssertionPunctuator = exports.isNonNullAssertionPunctuator = exports.isLoop = exports.isLogicalOrOperator = exports.isImportKeyword = exports.isIdentifier = exports.isFunctionType = exports.isFunctionOrFunctionType = exports.isFunction = exports.isConstructor = exports.isClassOrTypeElement = exports.isAwaitKeyword = exports.isAwaitExpression = void 0; -exports.isSetter = isSetter; -const ts_estree_1 = require("../ts-estree"); -const helpers_1 = require("./helpers"); -const isOptionalChainPunctuator = (0, helpers_1.isTokenOfTypeWithConditions)(ts_estree_1.AST_TOKEN_TYPES.Punctuator, { value: '?.' }); -exports.isOptionalChainPunctuator = isOptionalChainPunctuator; -const isNotOptionalChainPunctuator = (0, helpers_1.isNotTokenOfTypeWithConditions)(ts_estree_1.AST_TOKEN_TYPES.Punctuator, { value: '?.' }); -exports.isNotOptionalChainPunctuator = isNotOptionalChainPunctuator; -const isNonNullAssertionPunctuator = (0, helpers_1.isTokenOfTypeWithConditions)(ts_estree_1.AST_TOKEN_TYPES.Punctuator, { value: '!' }); -exports.isNonNullAssertionPunctuator = isNonNullAssertionPunctuator; -const isNotNonNullAssertionPunctuator = (0, helpers_1.isNotTokenOfTypeWithConditions)(ts_estree_1.AST_TOKEN_TYPES.Punctuator, { value: '!' }); -exports.isNotNonNullAssertionPunctuator = isNotNonNullAssertionPunctuator; -/** - * Returns true if and only if the node represents: foo?.() or foo.bar?.() - */ -const isOptionalCallExpression = (0, helpers_1.isNodeOfTypeWithConditions)(ts_estree_1.AST_NODE_TYPES.CallExpression, -// this flag means the call expression itself is option -// i.e. it is foo.bar?.() and not foo?.bar() -{ optional: true }); -exports.isOptionalCallExpression = isOptionalCallExpression; -/** - * Returns true if and only if the node represents logical OR - */ -const isLogicalOrOperator = (0, helpers_1.isNodeOfTypeWithConditions)(ts_estree_1.AST_NODE_TYPES.LogicalExpression, { operator: '||' }); -exports.isLogicalOrOperator = isLogicalOrOperator; -/** - * Checks if a node is a type assertion: - * ``` - * x as foo - * x - * ``` - */ -const isTypeAssertion = (0, helpers_1.isNodeOfTypes)([ - ts_estree_1.AST_NODE_TYPES.TSAsExpression, - ts_estree_1.AST_NODE_TYPES.TSTypeAssertion, -]); -exports.isTypeAssertion = isTypeAssertion; -const isVariableDeclarator = (0, helpers_1.isNodeOfType)(ts_estree_1.AST_NODE_TYPES.VariableDeclarator); -exports.isVariableDeclarator = isVariableDeclarator; -const functionTypes = [ - ts_estree_1.AST_NODE_TYPES.ArrowFunctionExpression, - ts_estree_1.AST_NODE_TYPES.FunctionDeclaration, - ts_estree_1.AST_NODE_TYPES.FunctionExpression, -]; -const isFunction = (0, helpers_1.isNodeOfTypes)(functionTypes); -exports.isFunction = isFunction; -const functionTypeTypes = [ - ts_estree_1.AST_NODE_TYPES.TSCallSignatureDeclaration, - ts_estree_1.AST_NODE_TYPES.TSConstructorType, - ts_estree_1.AST_NODE_TYPES.TSConstructSignatureDeclaration, - ts_estree_1.AST_NODE_TYPES.TSDeclareFunction, - ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression, - ts_estree_1.AST_NODE_TYPES.TSFunctionType, - ts_estree_1.AST_NODE_TYPES.TSMethodSignature, -]; -const isFunctionType = (0, helpers_1.isNodeOfTypes)(functionTypeTypes); -exports.isFunctionType = isFunctionType; -const isFunctionOrFunctionType = (0, helpers_1.isNodeOfTypes)([ - ...functionTypes, - ...functionTypeTypes, -]); -exports.isFunctionOrFunctionType = isFunctionOrFunctionType; -const isTSFunctionType = (0, helpers_1.isNodeOfType)(ts_estree_1.AST_NODE_TYPES.TSFunctionType); -exports.isTSFunctionType = isTSFunctionType; -const isTSConstructorType = (0, helpers_1.isNodeOfType)(ts_estree_1.AST_NODE_TYPES.TSConstructorType); -exports.isTSConstructorType = isTSConstructorType; -const isClassOrTypeElement = (0, helpers_1.isNodeOfTypes)([ - // ClassElement - ts_estree_1.AST_NODE_TYPES.PropertyDefinition, - ts_estree_1.AST_NODE_TYPES.FunctionExpression, - ts_estree_1.AST_NODE_TYPES.MethodDefinition, - ts_estree_1.AST_NODE_TYPES.TSAbstractPropertyDefinition, - ts_estree_1.AST_NODE_TYPES.TSAbstractMethodDefinition, - ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression, - ts_estree_1.AST_NODE_TYPES.TSIndexSignature, - // TypeElement - ts_estree_1.AST_NODE_TYPES.TSCallSignatureDeclaration, - ts_estree_1.AST_NODE_TYPES.TSConstructSignatureDeclaration, - // AST_NODE_TYPES.TSIndexSignature, - ts_estree_1.AST_NODE_TYPES.TSMethodSignature, - ts_estree_1.AST_NODE_TYPES.TSPropertySignature, -]); -exports.isClassOrTypeElement = isClassOrTypeElement; -/** - * Checks if a node is a constructor method. - */ -const isConstructor = (0, helpers_1.isNodeOfTypeWithConditions)(ts_estree_1.AST_NODE_TYPES.MethodDefinition, { kind: 'constructor' }); -exports.isConstructor = isConstructor; -/** - * Checks if a node is a setter method. - */ -function isSetter(node) { - return (!!node && - (node.type === ts_estree_1.AST_NODE_TYPES.MethodDefinition || - node.type === ts_estree_1.AST_NODE_TYPES.Property) && - node.kind === 'set'); -} -const isIdentifier = (0, helpers_1.isNodeOfType)(ts_estree_1.AST_NODE_TYPES.Identifier); -exports.isIdentifier = isIdentifier; -/** - * Checks if a node represents an `await …` expression. - */ -const isAwaitExpression = (0, helpers_1.isNodeOfType)(ts_estree_1.AST_NODE_TYPES.AwaitExpression); -exports.isAwaitExpression = isAwaitExpression; -/** - * Checks if a possible token is the `await` keyword. - */ -const isAwaitKeyword = (0, helpers_1.isTokenOfTypeWithConditions)(ts_estree_1.AST_TOKEN_TYPES.Identifier, { - value: 'await', -}); -exports.isAwaitKeyword = isAwaitKeyword; -/** - * Checks if a possible token is the `type` keyword. - */ -const isTypeKeyword = (0, helpers_1.isTokenOfTypeWithConditions)(ts_estree_1.AST_TOKEN_TYPES.Identifier, { - value: 'type', -}); -exports.isTypeKeyword = isTypeKeyword; -/** - * Checks if a possible token is the `import` keyword. - */ -const isImportKeyword = (0, helpers_1.isTokenOfTypeWithConditions)(ts_estree_1.AST_TOKEN_TYPES.Keyword, { - value: 'import', -}); -exports.isImportKeyword = isImportKeyword; -const isLoop = (0, helpers_1.isNodeOfTypes)([ - ts_estree_1.AST_NODE_TYPES.DoWhileStatement, - ts_estree_1.AST_NODE_TYPES.ForStatement, - ts_estree_1.AST_NODE_TYPES.ForInStatement, - ts_estree_1.AST_NODE_TYPES.ForOfStatement, - ts_estree_1.AST_NODE_TYPES.WhileStatement, -]); -exports.isLoop = isLoop; -//# sourceMappingURL=predicates.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js.map deleted file mode 100644 index b1ef2738..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../src/ast-utils/predicates.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts deleted file mode 100644 index b2359038..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { RuleCreateFunction, RuleModule } from '../ts-eslint'; -/** - * Uses type inference to fetch the Options type from the given RuleModule - */ -type InferOptionsTypeFromRule = T extends RuleModule ? Options : T extends RuleCreateFunction ? Options : unknown; -/** - * Uses type inference to fetch the MessageIds type from the given RuleModule - */ -type InferMessageIdsTypeFromRule = T extends RuleModule ? MessageIds : T extends RuleCreateFunction ? MessageIds : unknown; -export type { InferMessageIdsTypeFromRule, InferOptionsTypeFromRule }; -//# sourceMappingURL=InferTypesFromRule.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts.map deleted file mode 100644 index ca551e10..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"InferTypesFromRule.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/InferTypesFromRule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnE;;GAEG;AACH,KAAK,wBAAwB,CAAC,CAAC,IAC7B,CAAC,SAAS,UAAU,CAAC,MAAM,WAAW,EAAE,MAAM,OAAO,CAAC,GAClD,OAAO,GACP,CAAC,SAAS,kBAAkB,CAAC,MAAM,WAAW,EAAE,MAAM,OAAO,CAAC,GAC5D,OAAO,GACP,OAAO,CAAC;AAEhB;;GAEG;AACH,KAAK,2BAA2B,CAAC,CAAC,IAChC,CAAC,SAAS,UAAU,CAAC,MAAM,UAAU,EAAE,MAAM,SAAS,CAAC,GACnD,UAAU,GACV,CAAC,SAAS,kBAAkB,CAAC,MAAM,UAAU,EAAE,MAAM,SAAS,CAAC,GAC7D,UAAU,GACV,OAAO,CAAC;AAEhB,YAAY,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js deleted file mode 100644 index 9305805b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=InferTypesFromRule.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js.map deleted file mode 100644 index 99fe846c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"InferTypesFromRule.js","sourceRoot":"","sources":["../../src/eslint-utils/InferTypesFromRule.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts deleted file mode 100644 index 573efc7f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { RuleContext, RuleListener, RuleMetaData, RuleMetaDataDocs, RuleModule } from '../ts-eslint/Rule'; -export type NamedCreateRuleMetaDocs = Omit; -export type NamedCreateRuleMeta = { - docs: PluginDocs & RuleMetaDataDocs; -} & Omit, 'docs'>; -export interface RuleCreateAndOptions { - create: (context: Readonly>, optionsWithDefault: Readonly) => RuleListener; - defaultOptions: Readonly; -} -export interface RuleWithMeta extends RuleCreateAndOptions { - meta: RuleMetaData; -} -export interface RuleWithMetaAndName extends RuleCreateAndOptions { - meta: NamedCreateRuleMeta; - name: string; -} -/** - * Creates reusable function to create rules with default options and docs URLs. - * - * @param urlCreator Creates a documentation URL for a given rule name. - * @returns Function to create a rule with the docs URL format. - */ -export declare function RuleCreator(urlCreator: (ruleName: string) => string): ({ meta, name, ...rule }: Readonly>) => RuleModule; -export declare namespace RuleCreator { - var withoutDocs: (args: Readonly>) => RuleModule; -} -export { type RuleListener, type RuleModule } from '../ts-eslint/Rule'; -//# sourceMappingURL=RuleCreator.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts.map deleted file mode 100644 index 73c0f958..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RuleCreator.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/RuleCreator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAK3B,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAEpE,MAAM,MAAM,mBAAmB,CAC7B,UAAU,SAAS,MAAM,EACzB,UAAU,GAAG,OAAO,EACpB,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACrC;IACF,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAAC;CACrC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AAEhE,MAAM,WAAW,oBAAoB,CACnC,OAAO,SAAS,SAAS,OAAO,EAAE,EAClC,UAAU,SAAS,MAAM;IAEzB,MAAM,EAAE,CACN,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EACnD,kBAAkB,EAAE,QAAQ,CAAC,OAAO,CAAC,KAClC,YAAY,CAAC;IAClB,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY,CAC3B,OAAO,SAAS,SAAS,OAAO,EAAE,EAClC,UAAU,SAAS,MAAM,EACzB,IAAI,GAAG,OAAO,CACd,SAAQ,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC;IACjD,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB,CAClC,OAAO,SAAS,SAAS,OAAO,EAAE,EAClC,UAAU,SAAS,MAAM,EACzB,IAAI,GAAG,OAAO,CACd,SAAQ,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC;IACjD,IAAI,EAAE,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAG,OAAO,EAC9C,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,IAKtC,OAAO,SAAS,SAAS,OAAO,EAAE,EAClC,UAAU,SAAS,MAAM,2BAKxB,QAAQ,CACT,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CACrD,KAAG,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAYhD;yBA1Be,WAAW;sBA0DzB,OAAO,SAAS,SAAS,OAAO,EAAE,EAClC,UAAU,SAAS,MAAM,QAEnB,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,KAChD,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;;AAIlC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js deleted file mode 100644 index 97a84f12..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RuleCreator = RuleCreator; -const applyDefault_1 = require("./applyDefault"); -/** - * Creates reusable function to create rules with default options and docs URLs. - * - * @param urlCreator Creates a documentation URL for a given rule name. - * @returns Function to create a rule with the docs URL format. - */ -function RuleCreator(urlCreator) { - // This function will get much easier to call when this is merged https://github.com/Microsoft/TypeScript/pull/26349 - // TODO - when the above PR lands; add type checking for the context.report `data` property - return function createNamedRule({ meta, name, ...rule }) { - return createRule({ - meta: { - ...meta, - docs: { - ...meta.docs, - url: urlCreator(name), - }, - }, - ...rule, - }); - }; -} -function createRule({ create, defaultOptions, meta, }) { - return { - create(context) { - const optionsWithDefault = (0, applyDefault_1.applyDefault)(defaultOptions, context.options); - return create(context, optionsWithDefault); - }, - defaultOptions, - meta, - }; -} -/** - * Creates a well-typed TSESLint custom ESLint rule without a docs URL. - * - * @returns Well-typed TSESLint custom ESLint rule. - * @remarks It is generally better to provide a docs URL function to RuleCreator. - */ -RuleCreator.withoutDocs = function withoutDocs(args) { - return createRule(args); -}; -//# sourceMappingURL=RuleCreator.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js.map deleted file mode 100644 index 81961db5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RuleCreator.js","sourceRoot":"","sources":["../../src/eslint-utils/RuleCreator.ts"],"names":[],"mappings":";;AAuDA,kCA0BC;AAzED,iDAA8C;AAyC9C;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,UAAwC;IAExC,oHAAoH;IACpH,2FAA2F;IAC3F,OAAO,SAAS,eAAe,CAG7B,EACA,IAAI,EACJ,IAAI,EACJ,GAAG,IAAI,EAGR;QACC,OAAO,UAAU,CAAkC;YACjD,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,IAAI,EAAE;oBACJ,GAAG,IAAI,CAAC,IAAI;oBACZ,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;iBACtB;aACF;YACD,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAIjB,EACA,MAAM,EACN,cAAc,EACd,IAAI,GACoD;IAKxD,OAAO;QACL,MAAM,CAAC,OAAmD;YACxD,MAAM,kBAAkB,GAAG,IAAA,2BAAY,EAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACzE,OAAO,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC7C,CAAC;QACD,cAAc;QACd,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,WAAW,CAAC,WAAW,GAAG,SAAS,WAAW,CAI5C,IAAiD;IAEjD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts deleted file mode 100644 index 81b8af4a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Pure function - doesn't mutate either parameter! - * Uses the default options and overrides with the options provided by the user - * @param defaultOptions the defaults - * @param userOptions the user opts - * @returns the options with defaults - */ -declare function applyDefault(defaultOptions: Readonly, userOptions: Readonly | null): Default; -export { applyDefault }; -//# sourceMappingURL=applyDefault.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts.map deleted file mode 100644 index 99ef3ca4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"applyDefault.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/applyDefault.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAAE,OAAO,SAAS,IAAI,EACzE,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,EACjC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GACjC,OAAO,CAwBT;AAMD,OAAO,EAAE,YAAY,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js deleted file mode 100644 index 1cb9d70a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.applyDefault = applyDefault; -const deepMerge_1 = require("./deepMerge"); -/** - * Pure function - doesn't mutate either parameter! - * Uses the default options and overrides with the options provided by the user - * @param defaultOptions the defaults - * @param userOptions the user opts - * @returns the options with defaults - */ -function applyDefault(defaultOptions, userOptions) { - // clone defaults - const options = structuredClone(defaultOptions); - if (userOptions == null) { - return options; - } - // For avoiding the type error - // `This expression is not callable. Type 'unknown' has no call signatures.ts(2349)` - options.forEach((opt, i) => { - // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish - if (userOptions[i] !== undefined) { - const userOpt = userOptions[i]; - if ((0, deepMerge_1.isObjectNotArray)(userOpt) && (0, deepMerge_1.isObjectNotArray)(opt)) { - options[i] = (0, deepMerge_1.deepMerge)(opt, userOpt); - } - else { - options[i] = userOpt; - } - } - }); - return options; -} -//# sourceMappingURL=applyDefault.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js.map deleted file mode 100644 index 98ce36cd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"applyDefault.js","sourceRoot":"","sources":["../../src/eslint-utils/applyDefault.ts"],"names":[],"mappings":";;AA0CS,oCAAY;AA1CrB,2CAA0D;AAE1D;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,cAAiC,EACjC,WAAkC;IAElC,iBAAiB;IACjB,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAuB,CAAC;IAEtE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,8BAA8B;IAC9B,sFAAsF;IACrF,OAAqB,CAAC,OAAO,CAAC,CAAC,GAAY,EAAE,CAAS,EAAE,EAAE;QACzD,oEAAoE;QACpE,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,IAAA,4BAAgB,EAAC,OAAO,CAAC,IAAI,IAAA,4BAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAA,qBAAS,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts deleted file mode 100644 index 66047298..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -export type ObjectLike = Record; -/** - * Check if the variable contains an object strictly rejecting arrays - * @returns `true` if obj is an object - */ -declare function isObjectNotArray(obj: unknown): obj is ObjectLike; -/** - * Pure function - doesn't mutate either parameter! - * Merges two objects together deeply, overwriting the properties in first with the properties in second - * @param first The first object - * @param second The second object - * @returns a new object - */ -export declare function deepMerge(first?: ObjectLike, second?: ObjectLike): Record; -export { isObjectNotArray }; -//# sourceMappingURL=deepMerge.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts.map deleted file mode 100644 index ac7365e2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/deepMerge.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAExD;;;GAGG;AACH,iBAAS,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,GAAE,UAAe,EACtB,MAAM,GAAE,UAAe,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzB;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js deleted file mode 100644 index c0dd8281..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.deepMerge = deepMerge; -exports.isObjectNotArray = isObjectNotArray; -/** - * Check if the variable contains an object strictly rejecting arrays - * @returns `true` if obj is an object - */ -function isObjectNotArray(obj) { - return typeof obj === 'object' && obj != null && !Array.isArray(obj); -} -/** - * Pure function - doesn't mutate either parameter! - * Merges two objects together deeply, overwriting the properties in first with the properties in second - * @param first The first object - * @param second The second object - * @returns a new object - */ -function deepMerge(first = {}, second = {}) { - // get the unique set of keys across both objects - const keys = new Set([...Object.keys(first), ...Object.keys(second)]); - return Object.fromEntries([...keys].map(key => { - const firstHasKey = key in first; - const secondHasKey = key in second; - const firstValue = first[key]; - const secondValue = second[key]; - let value; - if (firstHasKey && secondHasKey) { - if (isObjectNotArray(firstValue) && isObjectNotArray(secondValue)) { - // object type - value = deepMerge(firstValue, secondValue); - } - else { - // value type - value = secondValue; - } - } - else if (firstHasKey) { - value = firstValue; - } - else { - value = secondValue; - } - return [key, value]; - })); -} -//# sourceMappingURL=deepMerge.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js.map deleted file mode 100644 index 72199729..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../src/eslint-utils/deepMerge.ts"],"names":[],"mappings":";;AAiBA,8BA+BC;AAEQ,4CAAgB;AAhDzB;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,QAAoB,EAAE,EACtB,SAAqB,EAAE;IAEvB,iDAAiD;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC,WAAW,CACvB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,MAAM,WAAW,GAAG,GAAG,IAAI,KAAK,CAAC;QACjC,MAAM,YAAY,GAAG,GAAG,IAAI,MAAM,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC;QACV,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClE,cAAc;gBACd,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,aAAa;gBACb,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,KAAK,GAAG,UAAU,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,WAAW,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts deleted file mode 100644 index ea1cdab0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type * as TSESLint from '../ts-eslint'; -import type { ParserServices, ParserServicesWithTypeInformation } from '../ts-estree'; -/** - * Try to retrieve type-aware parser service from context. - * This **_will_** throw if it is not available. - */ -declare function getParserServices(context: Readonly>): ParserServicesWithTypeInformation; -/** - * Try to retrieve type-aware parser service from context. - * This **_will_** throw if it is not available. - */ -declare function getParserServices(context: Readonly>, allowWithoutFullTypeInformation: false): ParserServicesWithTypeInformation; -/** - * Try to retrieve type-aware parser service from context. - * This **_will not_** throw if it is not available. - */ -declare function getParserServices(context: Readonly>, allowWithoutFullTypeInformation: true): ParserServices; -/** - * Try to retrieve type-aware parser service from context. - * This may or may not throw if it is not available, depending on if `allowWithoutFullTypeInformation` is `true` - */ -declare function getParserServices(context: Readonly>, allowWithoutFullTypeInformation: boolean): ParserServices; -export { getParserServices }; -//# sourceMappingURL=getParserServices.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts.map deleted file mode 100644 index fca5232e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getParserServices.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/getParserServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,cAAc,EACd,iCAAiC,EAClC,MAAM,cAAc,CAAC;AAWtB;;;GAGG;AACH,iBAAS,iBAAiB,CACxB,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,EAElC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,GAC3D,iCAAiC,CAAC;AACrC;;;GAGG;AACH,iBAAS,iBAAiB,CACxB,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,EAElC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAC5D,+BAA+B,EAAE,KAAK,GACrC,iCAAiC,CAAC;AACrC;;;GAGG;AACH,iBAAS,iBAAiB,CACxB,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,EAElC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAC5D,+BAA+B,EAAE,IAAI,GACpC,cAAc,CAAC;AAClB;;;GAGG;AACH,iBAAS,iBAAiB,CACxB,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,EAElC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAC5D,+BAA+B,EAAE,OAAO,GACvC,cAAc,CAAC;AAiDlB,OAAO,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js deleted file mode 100644 index 2633daf8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getParserServices = getParserServices; -const parserSeemsToBeTSESLint_1 = require("./parserSeemsToBeTSESLint"); -const ERROR_MESSAGE_REQUIRES_PARSER_SERVICES = "You have used a rule which requires type information, but don't have parserOptions set to generate type information for this file. See https://typescript-eslint.io/getting-started/typed-linting for enabling linting with type information."; -const ERROR_MESSAGE_UNKNOWN_PARSER = 'Note: detected a parser other than @typescript-eslint/parser. Make sure the parser is configured to forward "parserOptions.project" to @typescript-eslint/parser.'; -function getParserServices(context, allowWithoutFullTypeInformation = false) { - const parser = context.parserPath || context.languageOptions.parser?.meta?.name; - // This check is unnecessary if the user is using the latest version of our parser. - // - // However the world isn't perfect: - // - Users often use old parser versions. - // Old versions of the parser would not return any parserServices unless parserOptions.project was set. - // - Users sometimes use parsers that aren't @typescript-eslint/parser - // Other parsers won't return the parser services we expect (if they return any at all). - // - // This check allows us to handle bad user setups whilst providing a nice user-facing - // error message explaining the problem. - if (context.sourceCode.parserServices?.esTreeNodeToTSNodeMap == null || - context.sourceCode.parserServices.tsNodeToESTreeNodeMap == null) { - throwError(parser); - } - // if a rule requires full type information, then hard fail if it doesn't exist - // this forces the user to supply parserOptions.project - if (context.sourceCode.parserServices.program == null && - !allowWithoutFullTypeInformation) { - throwError(parser); - } - return context.sourceCode.parserServices; -} -/* eslint-enable @typescript-eslint/unified-signatures */ -function throwError(parser) { - const messages = [ - ERROR_MESSAGE_REQUIRES_PARSER_SERVICES, - `Parser: ${parser || '(unknown)'}`, - !(0, parserSeemsToBeTSESLint_1.parserSeemsToBeTSESLint)(parser) && ERROR_MESSAGE_UNKNOWN_PARSER, - ].filter(Boolean); - throw new Error(messages.join('\n')); -} -//# sourceMappingURL=getParserServices.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js.map deleted file mode 100644 index 0a0e0e43..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getParserServices.js","sourceRoot":"","sources":["../../src/eslint-utils/getParserServices.ts"],"names":[],"mappings":";;AA0GS,8CAAiB;AApG1B,uEAAoE;AAEpE,MAAM,sCAAsC,GAC1C,+OAA+O,CAAC;AAElP,MAAM,4BAA4B,GAChC,mKAAmK,CAAC;AA+CtK,SAAS,iBAAiB,CACxB,OAA0D,EAC1D,+BAA+B,GAAG,KAAK;IAEvC,MAAM,MAAM,GACV,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;IAEnE,mFAAmF;IACnF,EAAE;IACF,mCAAmC;IACnC,yCAAyC;IACzC,yGAAyG;IACzG,sEAAsE;IACtE,0FAA0F;IAC1F,EAAE;IACF,qFAAqF;IACrF,wCAAwC;IACxC,IACE,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,qBAAqB,IAAI,IAAI;QAChE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,qBAAqB,IAAI,IAAI,EAC/D,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,+EAA+E;IAC/E,uDAAuD;IACvD,IACE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,IAAI,IAAI;QACjD,CAAC,+BAA+B,EAChC,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAC,cAAgC,CAAC;AAC7D,CAAC;AACD,yDAAyD;AAEzD,SAAS,UAAU,CAAC,MAA0B;IAC5C,MAAM,QAAQ,GAAG;QACf,sCAAsC;QACtC,WAAW,MAAM,IAAI,WAAW,EAAE;QAClC,CAAC,IAAA,iDAAuB,EAAC,MAAM,CAAC,IAAI,4BAA4B;KACjE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts deleted file mode 100644 index 95b326ec..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './applyDefault'; -export * from './deepMerge'; -export * from './getParserServices'; -export * from './InferTypesFromRule'; -export * from './nullThrows'; -export * from './RuleCreator'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts.map deleted file mode 100644 index d5c13312..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js deleted file mode 100644 index e3895dd4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./applyDefault"), exports); -__exportStar(require("./deepMerge"), exports); -__exportStar(require("./getParserServices"), exports); -__exportStar(require("./InferTypesFromRule"), exports); -__exportStar(require("./nullThrows"), exports); -__exportStar(require("./RuleCreator"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js.map deleted file mode 100644 index 21346960..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint-utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,8CAA4B;AAC5B,sDAAoC;AACpC,uDAAqC;AACrC,+CAA6B;AAC7B,gDAA8B"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts deleted file mode 100644 index af919fa2..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * A set of common reasons for calling nullThrows - */ -declare const NullThrowsReasons: { - readonly MissingParent: "Expected node to have a parent."; - readonly MissingToken: (token: string, thing: string) => string; -}; -/** - * Assert that a value must not be null or undefined. - * This is a nice explicit alternative to the non-null assertion operator. - */ -declare function nullThrows(value: T, message: string): NonNullable; -export { nullThrows, NullThrowsReasons }; -//# sourceMappingURL=nullThrows.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts.map deleted file mode 100644 index d695757d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"nullThrows.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/nullThrows.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,iBAAiB;;mCAEC,MAAM,SAAS,MAAM;CAEnC,CAAC;AAEX;;;GAGG;AACH,iBAAS,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAMhE;AAED,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js deleted file mode 100644 index 2da6d2b1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.NullThrowsReasons = void 0; -exports.nullThrows = nullThrows; -/** - * A set of common reasons for calling nullThrows - */ -const NullThrowsReasons = { - MissingParent: 'Expected node to have a parent.', - MissingToken: (token, thing) => `Expected to find a ${token} for the ${thing}.`, -}; -exports.NullThrowsReasons = NullThrowsReasons; -/** - * Assert that a value must not be null or undefined. - * This is a nice explicit alternative to the non-null assertion operator. - */ -function nullThrows(value, message) { - if (value == null) { - throw new Error(`Non-null Assertion Failed: ${message}`); - } - return value; -} -//# sourceMappingURL=nullThrows.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js.map deleted file mode 100644 index e60696ca..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"nullThrows.js","sourceRoot":"","sources":["../../src/eslint-utils/nullThrows.ts"],"names":[],"mappings":";;;AAqBS,gCAAU;AArBnB;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,aAAa,EAAE,iCAAiC;IAChD,YAAY,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAC7C,sBAAsB,KAAK,YAAY,KAAK,GAAG;CACzC,CAAC;AAcU,8CAAiB;AAZtC;;;GAGG;AACH,SAAS,UAAU,CAAI,KAAQ,EAAE,OAAe;IAC9C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts deleted file mode 100644 index ba5bebe6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function parserSeemsToBeTSESLint(parser: string | undefined): boolean; -//# sourceMappingURL=parserSeemsToBeTSESLint.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts.map deleted file mode 100644 index 57c62220..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parserSeemsToBeTSESLint.d.ts","sourceRoot":"","sources":["../../src/eslint-utils/parserSeemsToBeTSESLint.ts"],"names":[],"mappings":"AAAA,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE3E"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js deleted file mode 100644 index 01a05902..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.parserSeemsToBeTSESLint = parserSeemsToBeTSESLint; -function parserSeemsToBeTSESLint(parser) { - return !!parser && /(?:typescript-eslint|\.\.)[\w/\\]*parser/.test(parser); -} -//# sourceMappingURL=parserSeemsToBeTSESLint.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js.map deleted file mode 100644 index bdd2e3cd..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/eslint-utils/parserSeemsToBeTSESLint.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parserSeemsToBeTSESLint.js","sourceRoot":"","sources":["../../src/eslint-utils/parserSeemsToBeTSESLint.ts"],"names":[],"mappings":";;AAAA,0DAEC;AAFD,SAAgB,uBAAuB,CAAC,MAA0B;IAChE,OAAO,CAAC,CAAC,MAAM,IAAI,0CAA0C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts deleted file mode 100644 index fbc8815b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * as ASTUtils from './ast-utils'; -export * as ESLintUtils from './eslint-utils'; -export * as JSONSchema from './json-schema'; -export * as TSESLint from './ts-eslint'; -export * from './ts-estree'; -export * as TSUtils from './ts-utils'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts.map deleted file mode 100644 index 107a73c0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js deleted file mode 100644 index 0ed4f85c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TSUtils = exports.TSESLint = exports.JSONSchema = exports.ESLintUtils = exports.ASTUtils = void 0; -exports.ASTUtils = __importStar(require("./ast-utils")); -exports.ESLintUtils = __importStar(require("./eslint-utils")); -exports.JSONSchema = __importStar(require("./json-schema")); -exports.TSESLint = __importStar(require("./ts-eslint")); -__exportStar(require("./ts-estree"), exports); -exports.TSUtils = __importStar(require("./ts-utils")); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js.map deleted file mode 100644 index 1ab93e7b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAwC;AAExC,8DAA8C;AAC9C,4DAA4C;AAC5C,wDAAwC;AACxC,8CAA4B;AAC5B,sDAAsC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts deleted file mode 100644 index 51303201..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts +++ /dev/null @@ -1,388 +0,0 @@ -/** - * This is a fork of https://github.com/DefinitelyTyped/DefinitelyTyped/blob/13f63c2eb8d7479caf01ab8d72f9e3683368a8f5/types/json-schema/index.d.ts - * We intentionally fork this because: - * - ESLint ***ONLY*** supports JSONSchema v4 - * - We want to provide stricter types - */ -/** - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 - */ -export type JSONSchema4TypeName = 'any' | 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string'; -/** - * @see https://tools.ietf.org/html/draft-zyp-json-schema-04#section-3.5 - */ -export type JSONSchema4Type = boolean | number | string | null; -export type JSONSchema4TypeExtended = JSONSchema4Array | JSONSchema4Object | JSONSchema4Type; -export interface JSONSchema4Object { - [key: string]: JSONSchema4TypeExtended; -} -export interface JSONSchema4Array extends Array { -} -/** - * Meta schema - * - * Recommended values: - * - 'http://json-schema.org/schema#' - * - 'http://json-schema.org/hyper-schema#' - * - 'http://json-schema.org/draft-04/schema#' - * - 'http://json-schema.org/draft-04/hyper-schema#' - * - 'http://json-schema.org/draft-03/schema#' - * - 'http://json-schema.org/draft-03/hyper-schema#' - * - * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5 - */ -export type JSONSchema4Version = string; -/** - * JSON Schema V4 - * @see https://tools.ietf.org/html/draft-zyp-json-schema-04 - */ -export type JSONSchema4 = JSONSchema4AllOfSchema | JSONSchema4AnyOfSchema | JSONSchema4AnySchema | JSONSchema4ArraySchema | JSONSchema4BooleanSchema | JSONSchema4MultiSchema | JSONSchema4NullSchema | JSONSchema4NumberSchema | JSONSchema4ObjectSchema | JSONSchema4OneOfSchema | JSONSchema4RefSchema | JSONSchema4StringSchema; -interface JSONSchema4Base { - /** - * Reusable definitions that can be referenced via `$ref` - */ - $defs?: Record | undefined; - /** - * Path to a schema defined in `definitions`/`$defs` that will form the base - * for this schema. - * - * If you are defining an "array" schema (`schema: [ ... ]`) for your rule - * then you should prefix this with `items/0` so that the validator can find - * your definitions. - * - * eg: `'#/items/0/definitions/myDef'` - * - * Otherwise if you are defining an "object" schema (`schema: { ... }`) for - * your rule you can directly reference your definitions - * - * eg: `'#/definitions/myDef'` - */ - $ref?: string | undefined; - $schema?: JSONSchema4Version | undefined; - /** - * (AND) Must be valid against all of the sub-schemas - */ - allOf?: JSONSchema4[] | undefined; - /** - * (OR) Must be valid against any of the sub-schemas - */ - anyOf?: JSONSchema4[] | undefined; - /** - * The default value for the item if not present - */ - default?: JSONSchema4TypeExtended | undefined; - /** - * Reusable definitions that can be referenced via `$ref` - */ - definitions?: Record | undefined; - /** - * This attribute is a string that provides a full description of the of - * purpose the instance property. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.22 - */ - description?: string | undefined; - /** - * The value of this property MUST be another schema which will provide - * a base schema which the current schema will inherit from. The - * inheritance rules are such that any instance that is valid according - * to the current schema MUST be valid according to the referenced - * schema. This MAY also be an array, in which case, the instance MUST - * be valid for all the schemas in the array. A schema that extends - * another schema MAY define additional attributes, constrain existing - * attributes, or add other constraints. - * - * Conceptually, the behavior of extends can be seen as validating an - * instance against all constraints in the extending schema as well as - * the extended schema(s). - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.26 - */ - extends?: string | string[] | undefined; - id?: string | undefined; - /** - * (NOT) Must not be valid against the given schema - */ - not?: JSONSchema4 | undefined; - /** - * (XOR) Must be valid against exactly one of the sub-schemas - */ - oneOf?: JSONSchema4[] | undefined; - /** - * This attribute indicates if the instance must have a value, and not - * be undefined. This is false by default, making the instance - * optional. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.7 - */ - required?: boolean | string[] | undefined; - /** - * This attribute is a string that provides a short description of the - * instance property. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.21 - */ - title?: string | undefined; - /** - * A single type, or a union of simple types - */ - type?: JSONSchema4TypeName | JSONSchema4TypeName[] | undefined; -} -export interface JSONSchema4RefSchema extends JSONSchema4Base { - $ref: string; - type?: undefined; -} -export interface JSONSchema4AllOfSchema extends JSONSchema4Base { - allOf: JSONSchema4[]; - type?: undefined; -} -export interface JSONSchema4AnyOfSchema extends JSONSchema4Base { - anyOf: JSONSchema4[]; - type?: undefined; -} -export interface JSONSchema4OneOfSchema extends JSONSchema4Base { - oneOf: JSONSchema4[]; - type?: undefined; -} -export interface JSONSchema4MultiSchema extends Omit, Omit, Omit, Omit, Omit, Omit, Omit { - /** - * This provides an enumeration of all possible values that are valid - * for the instance property. This MUST be an array, and each item in - * the array represents a possible value for the instance value. If - * this attribute is defined, the instance value MUST be one of the - * values in the array in order for the schema to be valid. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19 - */ - enum?: JSONSchema4Type[]; - type: JSONSchema4TypeName[]; -} -/** - * @see https://json-schema.org/understanding-json-schema/reference/object.html - */ -export interface JSONSchema4ObjectSchema extends JSONSchema4Base { - /** - * This attribute defines a schema for all properties that are not - * explicitly defined in an object type definition. If specified, the - * value MUST be a schema or a boolean. If false is provided, no - * additional properties are allowed beyond the properties defined in - * the schema. The default value is an empty schema which allows any - * value for additional properties. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.4 - */ - additionalProperties?: boolean | JSONSchema4 | undefined; - /** - * The `dependencies` keyword conditionally applies a sub-schema when a given - * property is present. This schema is applied in the same way `allOf` applies - * schemas. Nothing is merged or extended. Both schemas apply independently. - */ - dependencies?: Record | undefined; - /** - * The maximum number of properties allowed for record-style schemas - */ - maxProperties?: number | undefined; - /** - * The minimum number of properties required for record-style schemas - */ - minProperties?: number | undefined; - /** - * This attribute is an object that defines the schema for a set of - * property names of an object instance. The name of each property of - * this attribute's object is a regular expression pattern in the ECMA - * 262/Perl 5 format, while the value is a schema. If the pattern - * matches the name of a property on the instance object, the value of - * the instance's property MUST be valid against the pattern name's - * schema value. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.3 - */ - patternProperties?: Record | undefined; - /** - * This attribute is an object with property definitions that define the - * valid values of instance object property values. When the instance - * value is an object, the property values of the instance object MUST - * conform to the property definitions in this object. In this object, - * each property definition's value MUST be a schema, and the property's - * name MUST be the name of the instance property that it defines. The - * instance property value MUST be valid according to the schema from - * the property definition. Properties are considered unordered, the - * order of the instance properties MAY be in any order. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.2 - */ - properties?: Record | undefined; - type: 'object'; -} -/** - * @see https://json-schema.org/understanding-json-schema/reference/array.html - */ -export interface JSONSchema4ArraySchema extends JSONSchema4Base { - /** - * May only be defined when "items" is defined, and is a tuple of JSONSchemas. - * - * This provides a definition for additional items in an array instance - * when tuple definitions of the items is provided. This can be false - * to indicate additional items in the array are not allowed, or it can - * be a schema that defines the schema of the additional items. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.6 - */ - additionalItems?: boolean | JSONSchema4 | undefined; - /** - * This attribute defines the allowed items in an instance array, and - * MUST be a schema or an array of schemas. The default value is an - * empty schema which allows any value for items in the instance array. - * - * When this attribute value is a schema and the instance value is an - * array, then all the items in the array MUST be valid according to the - * schema. - * - * When this attribute value is an array of schemas and the instance - * value is an array, each position in the instance array MUST conform - * to the schema in the corresponding position for this array. This - * called tuple typing. When tuple typing is used, additional items are - * allowed, disallowed, or constrained by the "additionalItems" - * (Section 5.6) attribute using the same rules as - * "additionalProperties" (Section 5.4) for objects. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.5 - */ - items?: JSONSchema4 | JSONSchema4[] | undefined; - /** - * Defines the maximum length of an array - */ - maxItems?: number | undefined; - /** - * Defines the minimum length of an array - */ - minItems?: number | undefined; - type: 'array'; - /** - * Enforces that all items in the array are unique - */ - uniqueItems?: boolean | undefined; -} -/** - * @see https://json-schema.org/understanding-json-schema/reference/string.html - */ -export interface JSONSchema4StringSchema extends JSONSchema4Base { - enum?: string[] | undefined; - /** - * The `format` keyword allows for basic semantic identification of certain - * kinds of string values that are commonly used. - * - * For example, because JSON doesn’t have a “DateTime” type, dates need to be - * encoded as strings. `format` allows the schema author to indicate that the - * string value should be interpreted as a date. - * - * ajv v6 provides a few built-in formats - all other strings will cause AJV - * to throw during schema compilation - */ - format?: 'date' | 'date-time' | 'email' | 'hostname' | 'ipv4' | 'ipv6' | 'json-pointer' | 'json-pointer-uri-fragment' | 'regex' | 'relative-json-pointer' | 'time' | 'uri' | 'uri-reference' | 'uri-template' | 'url' | 'uuid' | undefined; - /** - * The maximum allowed length for the string - */ - maxLength?: number | undefined; - /** - * The minimum allowed length for the string - */ - minLength?: number | undefined; - /** - * The `pattern` keyword is used to restrict a string to a particular regular - * expression. The regular expression syntax is the one defined in JavaScript - * (ECMA 262 specifically) with Unicode support. - * - * When defining the regular expressions, it’s important to note that the - * string is considered valid if the expression matches anywhere within the - * string. For example, the regular expression "p" will match any string with - * a p in it, such as "apple" not just a string that is simply "p". Therefore, - * it is usually less confusing, as a matter of course, to surround the - * regular expression in ^...$, for example, "^p$", unless there is a good - * reason not to do so. - */ - pattern?: string | undefined; - type: 'string'; -} -/** - * @see https://json-schema.org/understanding-json-schema/reference/numeric.html - */ -export interface JSONSchema4NumberSchema extends JSONSchema4Base { - /** - * This provides an enumeration of all possible values that are valid - * for the instance property. This MUST be an array, and each item in - * the array represents a possible value for the instance value. If - * this attribute is defined, the instance value MUST be one of the - * values in the array in order for the schema to be valid. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19 - */ - enum?: number[] | undefined; - /** - * The exclusive minimum allowed value for the number - * - `true` = `x < maximum` - * - `false` = `x <= maximum` - * - * Default is `false` - */ - exclusiveMaximum?: boolean | undefined; - /** - * Indicates whether or not `minimum` is the inclusive or exclusive minimum - * - `true` = `x > minimum` - * - `false` = `x ≥ minimum` - * - * Default is `false` - */ - exclusiveMinimum?: boolean | undefined; - /** - * The maximum allowed value for the number - */ - maximum?: number | undefined; - /** - * The minimum allowed value for the number - */ - minimum?: number | undefined; - /** - * Numbers can be restricted to a multiple of a given number, using the - * `multipleOf` keyword. It may be set to any positive number. - */ - multipleOf?: number | undefined; - type: 'integer' | 'number'; -} -/** - * @see https://json-schema.org/understanding-json-schema/reference/boolean.html - */ -export interface JSONSchema4BooleanSchema extends JSONSchema4Base { - /** - * This provides an enumeration of all possible values that are valid - * for the instance property. This MUST be an array, and each item in - * the array represents a possible value for the instance value. If - * this attribute is defined, the instance value MUST be one of the - * values in the array in order for the schema to be valid. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19 - */ - enum?: boolean[] | undefined; - type: 'boolean'; -} -/** - * @see https://json-schema.org/understanding-json-schema/reference/null.html - */ -export interface JSONSchema4NullSchema extends JSONSchema4Base { - /** - * This provides an enumeration of all possible values that are valid - * for the instance property. This MUST be an array, and each item in - * the array represents a possible value for the instance value. If - * this attribute is defined, the instance value MUST be one of the - * values in the array in order for the schema to be valid. - * - * @see https://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.19 - */ - enum?: null[] | undefined; - type: 'null'; -} -export interface JSONSchema4AnySchema extends JSONSchema4Base { - type: 'any'; -} -export {}; -//# sourceMappingURL=json-schema.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts.map deleted file mode 100644 index 780f1c37..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,KAAK,GACL,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/D,MAAM,MAAM,uBAAuB,GAC/B,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,CAAC;AAKpB,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAC;CACxC;AAKD,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,uBAAuB,CAAC;CAAG;AAE3E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,sBAAsB,GACtB,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,wBAAwB,GACxB,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,oBAAoB,GACpB,uBAAuB,CAAC;AAE5B,UAAU,eAAe;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,OAAO,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAEzC;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAE9C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAEtD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAExC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExB;;OAEG;IACH,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE9B;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAElC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAE1C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B;;OAEG;IACH,IAAI,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,MAAM,CAAC,EACpD,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,MAAM,CAAC,EAC7C,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,MAAM,CAAC,EAC9C,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,MAAM,CAAC,EAC9C,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,MAAM,CAAC,EAC/C,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAAC,EAC5C,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,IAAI,EAAE,mBAAmB,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAEzD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IAElE;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAE5D;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAErD,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAEpD;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9B,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EACH,MAAM,GACN,WAAW,GACX,OAAO,GACP,UAAU,GACV,MAAM,GACN,MAAM,GACN,cAAc,GACd,2BAA2B,GAC3B,OAAO,GACP,uBAAuB,GACvB,MAAM,GACN,KAAK,GACL,eAAe,GACf,cAAc,GACd,KAAK,GACL,MAAM,GACN,SAAS,CAAC;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAE5B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEvC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAE7B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,EAAE,KAAK,CAAC;CACb"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js deleted file mode 100644 index 8597348f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -/** - * This is a fork of https://github.com/DefinitelyTyped/DefinitelyTyped/blob/13f63c2eb8d7479caf01ab8d72f9e3683368a8f5/types/json-schema/index.d.ts - * We intentionally fork this because: - * - ESLint ***ONLY*** supports JSONSchema v4 - * - We want to provide stricter types - */ -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=json-schema.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js.map deleted file mode 100644 index a088a7e9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/json-schema.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts deleted file mode 100644 index 3b56109d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { AST_TOKEN_TYPES, TSESTree } from '../ts-estree'; -declare namespace AST { - type TokenType = AST_TOKEN_TYPES; - type Token = TSESTree.Token; - type SourceLocation = TSESTree.SourceLocation; - type Range = TSESTree.Range; -} -export type { AST }; -//# sourceMappingURL=AST.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts.map deleted file mode 100644 index d62fd00f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AST.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/AST.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE9D,kBAAU,GAAG,CAAC;IACZ,KAAY,SAAS,GAAG,eAAe,CAAC;IAExC,KAAY,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEnC,KAAY,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAErD,KAAY,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;CACpC;AAED,YAAY,EAAE,GAAG,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js deleted file mode 100644 index 323ed556..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=AST.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js.map deleted file mode 100644 index 2aa7f04b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"AST.js","sourceRoot":"","sources":["../../src/ts-eslint/AST.ts"],"names":[],"mappings":";AAAA,oDAAoD"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts deleted file mode 100644 index 1b438734..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts +++ /dev/null @@ -1,269 +0,0 @@ -import type { Parser as ParserType } from './Parser'; -import type * as ParserOptionsTypes from './ParserOptions'; -import type { Processor as ProcessorType } from './Processor'; -import type { LooseRuleDefinition, SharedConfigurationSettings } from './Rule'; -/** @internal */ -export declare namespace SharedConfig { - type Severity = 0 | 1 | 2; - type SeverityString = 'error' | 'off' | 'warn'; - type RuleLevel = Severity | SeverityString; - type RuleLevelAndOptions = [RuleLevel, ...unknown[]]; - type RuleEntry = RuleLevel | RuleLevelAndOptions; - type RulesRecord = Partial>; - type GlobalVariableOptionBase = 'off' | /** @deprecated use `'readonly'` */ 'readable' | 'readonly' | 'writable' | /** @deprecated use `'writable'` */ 'writeable'; - type GlobalVariableOptionBoolean = /** @deprecated use `'readonly'` */ false | /** @deprecated use `'writable'` */ true; - type GlobalVariableOption = GlobalVariableOptionBase | GlobalVariableOptionBoolean; - interface GlobalsConfig { - [name: string]: GlobalVariableOption; - } - interface EnvironmentConfig { - [name: string]: boolean; - } - type ParserOptions = ParserOptionsTypes.ParserOptions; - interface PluginMeta { - /** - * The meta.name property should match the npm package name for your plugin. - */ - name: string; - /** - * The meta.version property should match the npm package version for your plugin. - */ - version: string; - } -} -export declare namespace ClassicConfig { - export type EnvironmentConfig = SharedConfig.EnvironmentConfig; - export type GlobalsConfig = SharedConfig.GlobalsConfig; - export type GlobalVariableOption = SharedConfig.GlobalVariableOption; - export type GlobalVariableOptionBase = SharedConfig.GlobalVariableOptionBase; - export type ParserOptions = SharedConfig.ParserOptions; - export type RuleEntry = SharedConfig.RuleEntry; - export type RuleLevel = SharedConfig.RuleLevel; - export type RuleLevelAndOptions = SharedConfig.RuleLevelAndOptions; - export type RulesRecord = SharedConfig.RulesRecord; - export type Severity = SharedConfig.Severity; - export type SeverityString = SharedConfig.SeverityString; - interface BaseConfig { - $schema?: string; - /** - * The environment settings. - */ - env?: EnvironmentConfig; - /** - * The path to other config files or the package name of shareable configs. - */ - extends?: string | string[]; - /** - * The global variable settings. - */ - globals?: GlobalsConfig; - /** - * The flag that disables directive comments. - */ - noInlineConfig?: boolean; - /** - * The override settings per kind of files. - */ - overrides?: ConfigOverride[]; - /** - * The path to a parser or the package name of a parser. - */ - parser?: string | null; - /** - * The parser options. - */ - parserOptions?: ParserOptions; - /** - * The plugin specifiers. - */ - plugins?: string[]; - /** - * The processor specifier. - */ - processor?: string; - /** - * The flag to report unused `eslint-disable` comments. - */ - reportUnusedDisableDirectives?: boolean; - /** - * The rule settings. - */ - rules?: RulesRecord; - /** - * The shared settings. - */ - settings?: SharedConfigurationSettings; - } - export interface ConfigOverride extends BaseConfig { - excludedFiles?: string | string[]; - files: string | string[]; - } - export interface Config extends BaseConfig { - /** - * The glob patterns that ignore to lint. - */ - ignorePatterns?: string | string[]; - /** - * The root flag. - */ - root?: boolean; - } - export {}; -} -export declare namespace FlatConfig { - type EcmaVersion = ParserOptionsTypes.EcmaVersion; - type GlobalsConfig = SharedConfig.GlobalsConfig; - type Parser = ParserType.LooseParserModule; - type ParserOptions = SharedConfig.ParserOptions; - type PluginMeta = SharedConfig.PluginMeta; - type Processor = ProcessorType.LooseProcessorModule; - type RuleEntry = SharedConfig.RuleEntry; - type RuleLevel = SharedConfig.RuleLevel; - type RuleLevelAndOptions = SharedConfig.RuleLevelAndOptions; - type Rules = SharedConfig.RulesRecord; - type Settings = SharedConfigurationSettings; - type Severity = SharedConfig.Severity; - type SeverityString = SharedConfig.SeverityString; - type SourceType = 'commonjs' | ParserOptionsTypes.SourceType; - interface SharedConfigs { - [key: string]: Config | ConfigArray; - } - interface Plugin { - /** - * Shared configurations bundled with the plugin. - * Users will reference these directly in their config (i.e. `plugin.configs.recommended`). - */ - configs?: SharedConfigs; - /** - * Metadata about your plugin for easier debugging and more effective caching of plugins. - */ - meta?: { - [K in keyof PluginMeta]?: PluginMeta[K] | undefined; - }; - /** - * The definition of plugin processors. - * Users can stringly reference the processor using the key in their config (i.e., `"pluginName/processorName"`). - */ - processors?: Partial> | undefined; - /** - * The definition of plugin rules. - * The key must be the name of the rule that users will use - * Users can stringly reference the rule using the key they registered the plugin under combined with the rule name. - * i.e. for the user config `plugins: { foo: pluginReference }` - the reference would be `"foo/ruleName"`. - */ - rules?: Record | undefined; - } - interface Plugins { - /** - * We intentionally omit the `configs` key from this object because it avoids - * type conflicts with old plugins that haven't updated their configs to flat configs yet. - * It's valid to reference these old plugins because ESLint won't access the - * `.config` property of a plugin when evaluating a flat config. - */ - [pluginAlias: string]: Omit; - } - interface LinterOptions { - /** - * A Boolean value indicating if inline configuration is allowed. - */ - noInlineConfig?: boolean; - /** - * A severity string indicating if and how unused disable and enable - * directives should be tracked and reported. For legacy compatibility, `true` - * is equivalent to `"warn"` and `false` is equivalent to `"off"`. - * @default "off" - */ - reportUnusedDisableDirectives?: boolean | SharedConfig.Severity | SharedConfig.SeverityString; - } - interface LanguageOptions { - /** - * The version of ECMAScript to support. - * May be any year (i.e., `2022`) or version (i.e., `5`). - * Set to `"latest"` for the most recent supported version. - * @default "latest" - */ - ecmaVersion?: EcmaVersion | undefined; - /** - * An object specifying additional objects that should be added to the global scope during linting. - */ - globals?: GlobalsConfig | undefined; - /** - * An object containing a `parse()` method or a `parseForESLint()` method. - * @default - * ``` - * // https://github.com/eslint/espree - * require('espree') - * ``` - */ - parser?: Parser | undefined; - /** - * An object specifying additional options that are passed directly to the parser. - * The available options are parser-dependent. - */ - parserOptions?: ParserOptions | undefined; - /** - * The type of JavaScript source code. - * Possible values are `"script"` for traditional script files, `"module"` for ECMAScript modules (ESM), and `"commonjs"` for CommonJS files. - * @default - * ``` - * // for `.js` and `.mjs` files - * "module" - * // for `.cjs` files - * "commonjs" - * ``` - */ - sourceType?: SourceType | undefined; - } - interface Config { - /** - * An array of glob patterns indicating the files that the configuration object should apply to. - * If not specified, the configuration object applies to all files matched by any other configuration object. - */ - files?: (string | string[])[]; - /** - * An array of glob patterns indicating the files that the configuration object should not apply to. - * If not specified, the configuration object applies to all files matched by files. - */ - ignores?: string[]; - /** - * Language specifier in the form `namespace/language-name` where `namespace` is a plugin name set in the `plugins` field. - */ - language?: string; - /** - * An object containing settings related to how JavaScript is configured for linting. - */ - languageOptions?: LanguageOptions; - /** - * An object containing settings related to the linting process. - */ - linterOptions?: LinterOptions; - /** - * An string to identify the configuration object. Used in error messages and inspection tools. - */ - name?: string; - /** - * An object containing a name-value mapping of plugin names to plugin objects. - * When `files` is specified, these plugins are only available to the matching files. - */ - plugins?: Plugins; - /** - * Either an object containing `preprocess()` and `postprocess()` methods or - * a string indicating the name of a processor inside of a plugin - * (i.e., `"pluginName/processorName"`). - */ - processor?: string | Processor; - /** - * An object containing the configured rules. - * When `files` or `ignores` are specified, these rule configurations are only available to the matching files. - */ - rules?: Rules; - /** - * An object containing name-value pairs of information that should be available to all rules. - */ - settings?: Settings; - } - type ConfigArray = Config[]; - type ConfigPromise = Promise; - type ConfigFile = ConfigArray | ConfigPromise; -} -//# sourceMappingURL=Config.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts.map deleted file mode 100644 index c926280e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Config.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js deleted file mode 100644 index 3894b265..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/consistent-indexed-object-style, @typescript-eslint/no-namespace */ -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=Config.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js.map deleted file mode 100644 index 44c1df28..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/ts-eslint/Config.ts"],"names":[],"mappings":";AAAA,0GAA0G"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts deleted file mode 100644 index 7c171a3e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { FlatESLint } from './eslint/FlatESLint'; -export { FlatESLint as ESLint } from './eslint/FlatESLint'; -export { -/** - * @deprecated - use ESLint instead - */ -LegacyESLint, } from './eslint/LegacyESLint'; -//# sourceMappingURL=ESLint.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts.map deleted file mode 100644 index 097c99f4..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ESLint.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/ESLint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO;AAEL;;GAEG;AACH,YAAY,GACb,MAAM,uBAAuB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js deleted file mode 100644 index e2c67bcb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.LegacyESLint = exports.ESLint = exports.FlatESLint = void 0; -var FlatESLint_1 = require("./eslint/FlatESLint"); -Object.defineProperty(exports, "FlatESLint", { enumerable: true, get: function () { return FlatESLint_1.FlatESLint; } }); -var FlatESLint_2 = require("./eslint/FlatESLint"); -Object.defineProperty(exports, "ESLint", { enumerable: true, get: function () { return FlatESLint_2.FlatESLint; } }); -var LegacyESLint_1 = require("./eslint/LegacyESLint"); -// TODO(eslint@v10) - remove this in the next major -/** - * @deprecated - use ESLint instead - */ -Object.defineProperty(exports, "LegacyESLint", { enumerable: true, get: function () { return LegacyESLint_1.LegacyESLint; } }); -//# sourceMappingURL=ESLint.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js.map deleted file mode 100644 index 62c149c7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ESLint.js","sourceRoot":"","sources":["../../src/ts-eslint/ESLint.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAAxC,wGAAA,UAAU,OAAA;AACnB,kDAA2D;AAAlD,oGAAA,UAAU,OAAU;AAC7B,sDAM+B;AAL7B,mDAAmD;AACnD;;GAEG;AACH,4GAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts deleted file mode 100644 index 7f8b2a76..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts +++ /dev/null @@ -1,253 +0,0 @@ -import type { ClassicConfig, FlatConfig, SharedConfig } from './Config'; -import type { Parser } from './Parser'; -import type { Processor as ProcessorType } from './Processor'; -import type { AnyRuleCreateFunction, AnyRuleModule, RuleCreateFunction, RuleFix, RuleModule } from './Rule'; -import type { SourceCode } from './SourceCode'; -export type MinimalRuleModule = Partial, 'create'>> & Pick, 'create'>; -declare class LinterBase { - /** - * The version from package.json. - */ - readonly version: string; - /** - * Initialize the Linter. - * @param config the config object - */ - constructor(config?: Linter.LinterOptions); - /** - * Define a new parser module - * @param parserId Name of the parser - * @param parserModule The parser object - */ - defineParser(parserId: string, parserModule: Parser.LooseParserModule): void; - /** - * Defines a new linting rule. - * @param ruleId A unique rule identifier - * @param ruleModule Function from context to object mapping AST node types to event handlers - */ - defineRule(ruleId: string, ruleModule: MinimalRuleModule | RuleCreateFunction): void; - /** - * Defines many new linting rules. - * @param rulesToDefine map from unique rule identifier to rule - */ - defineRules(rulesToDefine: Record | RuleCreateFunction>): void; - /** - * Gets an object with all loaded rules. - * @returns All loaded rules - */ - getRules(): Map>; - /** - * Gets the `SourceCode` object representing the parsed source. - * @returns The `SourceCode` object. - */ - getSourceCode(): SourceCode; - /** - * Verifies the text against the rules specified by the second argument. - * @param textOrSourceCode The text to parse or a SourceCode object. - * @param config An ESLintConfig instance to configure everything. - * @param filenameOrOptions The optional filename of the file being checked. - * If this is not set, the filename will default to '' in the rule context. - * If this is an object, then it has "filename", "allowInlineConfig", and some properties. - * @returns The results as an array of messages or an empty array if no messages. - */ - verify(textOrSourceCode: string | SourceCode, config: Linter.ConfigType, filenameOrOptions?: string | Linter.VerifyOptions): Linter.LintMessage[]; - /** - * The version from package.json. - */ - static readonly version: string; - /** - * Performs multiple autofix passes over the text until as many fixes as possible have been applied. - * @param code The source text to apply fixes to. - * @param config The ESLint config object to use. - * @param options The ESLint options object to use. - * @returns The result of the fix operation as returned from the SourceCodeFixer. - */ - verifyAndFix(code: string, config: Linter.ConfigType, options: Linter.FixOptions): Linter.FixReport; -} -declare namespace Linter { - interface LinterOptions { - /** - * Which config format to use. - * @default 'flat' - */ - configType?: ConfigTypeSpecifier; - /** - * path to a directory that should be considered as the current working directory. - */ - cwd?: string; - } - type ConfigTypeSpecifier = 'eslintrc' | 'flat'; - type EnvironmentConfig = SharedConfig.EnvironmentConfig; - type GlobalsConfig = SharedConfig.GlobalsConfig; - type GlobalVariableOption = SharedConfig.GlobalVariableOption; - type GlobalVariableOptionBase = SharedConfig.GlobalVariableOptionBase; - type ParserOptions = SharedConfig.ParserOptions; - type PluginMeta = SharedConfig.PluginMeta; - type RuleEntry = SharedConfig.RuleEntry; - type RuleLevel = SharedConfig.RuleLevel; - type RuleLevelAndOptions = SharedConfig.RuleLevelAndOptions; - type RulesRecord = SharedConfig.RulesRecord; - type Severity = SharedConfig.Severity; - type SeverityString = SharedConfig.SeverityString; - /** @deprecated use {@link Linter.ConfigType} instead */ - type Config = ClassicConfig.Config; - type ConfigType = ClassicConfig.Config | FlatConfig.Config | FlatConfig.ConfigArray; - /** @deprecated use {@link ClassicConfig.ConfigOverride} instead */ - type ConfigOverride = ClassicConfig.ConfigOverride; - interface VerifyOptions { - /** - * Allow/disallow inline comments' ability to change config once it is set. Defaults to true if not supplied. - * Useful if you want to validate JS without comments overriding rules. - */ - allowInlineConfig?: boolean; - /** - * if `true` then the linter doesn't make `fix` properties into the lint result. - */ - disableFixes?: boolean; - /** - * the filename of the source code. - */ - filename?: string; - /** - * the predicate function that selects adopt code blocks. - */ - filterCodeBlock?: (filename: string, text: string) => boolean; - /** - * postprocessor for report messages. - * If provided, this should accept an array of the message lists - * for each code block returned from the preprocessor, apply a mapping to - * the messages as appropriate, and return a one-dimensional array of - * messages. - */ - postprocess?: ProcessorType.PostProcess; - /** - * preprocessor for source text. - * If provided, this should accept a string of source text, and return an array of code blocks to lint. - */ - preprocess?: ProcessorType.PreProcess; - /** - * Adds reported errors for unused `eslint-disable` directives. - */ - reportUnusedDisableDirectives?: boolean | SeverityString; - } - interface FixOptions extends VerifyOptions { - /** - * Determines whether fixes should be applied. - */ - fix?: boolean; - } - interface LintSuggestion { - desc: string; - fix: RuleFix; - messageId?: string; - } - interface LintMessage { - /** - * The 1-based column number. - */ - column: number; - /** - * The 1-based column number of the end location. - */ - endColumn?: number; - /** - * The 1-based line number of the end location. - */ - endLine?: number; - /** - * If `true` then this is a fatal error. - */ - fatal?: true; - /** - * Information for autofix. - */ - fix?: RuleFix; - /** - * The 1-based line number. - */ - line: number; - /** - * The error message. - */ - message: string; - messageId?: string; - nodeType: string; - /** - * The ID of the rule which makes this message. - */ - ruleId: string | null; - /** - * The severity of this message. - */ - severity: Severity; - source: string | null; - /** - * Information for suggestions - */ - suggestions?: LintSuggestion[]; - } - interface FixReport { - /** - * True, if the code was fixed - */ - fixed: boolean; - /** - * Collection of all messages for the given code - */ - messages: LintMessage[]; - /** - * Fixed code text (might be the same as input if no fixes were applied). - */ - output: string; - } - /** @deprecated use {@link Parser.ParserModule} */ - type ParserModule = Parser.LooseParserModule; - /** @deprecated use {@link Parser.ParseResult} */ - type ESLintParseResult = Parser.ParseResult; - /** @deprecated use {@link ProcessorType.ProcessorModule} */ - type Processor = ProcessorType.ProcessorModule; - interface Environment { - /** - * The definition of global variables. - */ - globals?: GlobalsConfig; - /** - * The parser options that will be enabled under this environment. - */ - parserOptions?: ParserOptions; - } - type LegacyPluginRules = Record; - type PluginRules = Record; - interface Plugin { - /** - * The definition of plugin configs. - */ - configs?: Record; - /** - * The definition of plugin environments. - */ - environments?: Record; - /** - * Metadata about your plugin for easier debugging and more effective caching of plugins. - */ - meta?: PluginMeta; - /** - * The definition of plugin processors. - */ - processors?: Record; - /** - * The definition of plugin rules. - */ - rules?: LegacyPluginRules; - } -} -declare const Linter_base: typeof LinterBase; -/** - * The Linter object does the actual evaluation of the JavaScript code. It doesn't do any filesystem operations, it - * simply parses and reports on the code. In particular, the Linter object does not process configuration objects - * or files. - */ -declare class Linter extends Linter_base { -} -export { Linter }; -//# sourceMappingURL=Linter.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts.map deleted file mode 100644 index c515393e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Linter.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Linter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js deleted file mode 100644 index 4fd16f1b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Linter = void 0; -const eslint_1 = require("eslint"); -/** - * The Linter object does the actual evaluation of the JavaScript code. It doesn't do any filesystem operations, it - * simply parses and reports on the code. In particular, the Linter object does not process configuration objects - * or files. - */ -class Linter extends eslint_1.Linter { -} -exports.Linter = Linter; -//# sourceMappingURL=Linter.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js.map deleted file mode 100644 index 37f3c5d1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Linter.js","sourceRoot":"","sources":["../../src/ts-eslint/Linter.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,mCAAgD;AAuThD;;;;GAIG;AACH,MAAM,MAAO,SAAS,eAAkC;CAAG;AAElD,wBAAM"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts deleted file mode 100644 index 84f52c92..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts +++ /dev/null @@ -1,95 +0,0 @@ -import type { ParserServices, TSESTree } from '../ts-estree'; -import type { ParserOptions } from './ParserOptions'; -import type { Scope } from './Scope'; -export declare namespace Parser { - interface ParserMeta { - /** - * The unique name of the parser. - */ - name: string; - /** - * The a string identifying the version of the parser. - */ - version?: string; - } - /** - * A loose definition of the ParserModule type for use with configs - * This type intended to relax validation of configs so that parsers that have - * different AST types or scope managers can still be passed to configs - * - * @see {@link LooseRuleDefinition}, {@link LooseProcessorModule} - */ - type LooseParserModule = { - /** - * Information about the parser to uniquely identify it when serializing. - */ - meta?: { - [K in keyof ParserMeta]?: ParserMeta[K] | undefined; - }; - /** - * Parses the given text into an AST - */ - parseForESLint(text: string, options?: unknown): { - [k in keyof ParseResult]: unknown; - }; - } | { - /** - * Information about the parser to uniquely identify it when serializing. - */ - meta?: { - [K in keyof ParserMeta]?: ParserMeta[K] | undefined; - }; - /** - * Parses the given text into an ESTree AST - */ - parse(text: string, options?: unknown): unknown; - }; - type ParserModule = { - /** - * Information about the parser to uniquely identify it when serializing. - */ - meta?: ParserMeta; - /** - * Parses the given text into an AST - */ - parseForESLint(text: string, options?: ParserOptions): ParseResult; - } | { - /** - * Information about the parser to uniquely identify it when serializing. - */ - meta?: ParserMeta; - /** - * Parses the given text into an ESTree AST - */ - parse(text: string, options?: ParserOptions): TSESTree.Program; - }; - interface ParseResult { - /** - * The ESTree AST - */ - ast: TSESTree.Program; - /** - * A `ScopeManager` object. - * Custom parsers can use customized scope analysis for experimental/enhancement syntaxes. - * The default is the `ScopeManager` object which is created by `eslint-scope`. - */ - scopeManager?: Scope.ScopeManager; - /** - * Any parser-dependent services (such as type checkers for nodes). - * The value of the services property is available to rules as `context.sourceCode.parserServices`. - * The default is an empty object. - */ - services?: ParserServices; - /** - * An object to customize AST traversal. - * The keys of the object are the type of AST nodes. - * Each value is an array of the property names which should be traversed. - * The default is `KEYS` of `eslint-visitor-keys`. - */ - visitorKeys?: VisitorKeys; - } - interface VisitorKeys { - [nodeType: string]: readonly string[]; - } -} -//# sourceMappingURL=Parser.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts.map deleted file mode 100644 index bb356585..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,yBAAiB,MAAM,CAAC;IACtB,UAAiB,UAAU;QACzB;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAED;;;;;;OAMG;IACH,KAAY,iBAAiB,GACzB;QACE;;WAEG;QACH,IAAI,CAAC,EAAE;aAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS;SAAE,CAAC;QAC/D;;WAEG;QACH,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAChB;aAEA,CAAC,IAAI,MAAM,WAAW,GAAG,OAAO;SAClC,CAAC;KACH,GACD;QACE;;WAEG;QACH,IAAI,CAAC,EAAE;aAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS;SAAE,CAAC;QAC/D;;WAEG;QACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;KACjD,CAAC;IAEN,KAAY,YAAY,GACpB;QACE;;WAEG;QACH,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB;;WAEG;QACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC;KACpE,GACD;QACE;;WAEG;QACH,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB;;WAEG;QACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;KAChE,CAAC;IAEN,UAAiB,WAAW;QAC1B;;WAEG;QACH,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC;QACtB;;;;WAIG;QACH,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;QAClC;;;;WAIG;QACH,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B;;;;;WAKG;QACH,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B;IAGD,UAAiB,WAAW;QAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;KACvC;CACF"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js deleted file mode 100644 index 10cd9ec7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=Parser.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js.map deleted file mode 100644 index 502d0474..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/ts-eslint/Parser.ts"],"names":[],"mappings":";AAAA,oDAAoD"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts deleted file mode 100644 index 62d627d3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type { DebugLevel, EcmaVersion, ParserOptions, SourceType, } from '@typescript-eslint/types'; -//# sourceMappingURL=ParserOptions.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts.map deleted file mode 100644 index 9c8b324a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ParserOptions.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/ParserOptions.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,0BAA0B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js deleted file mode 100644 index 40b03dd5..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=ParserOptions.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js.map deleted file mode 100644 index 7bd7a94c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ParserOptions.js","sourceRoot":"","sources":["../../src/ts-eslint/ParserOptions.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts deleted file mode 100644 index 0f212816..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts +++ /dev/null @@ -1,64 +0,0 @@ -import type { Linter } from './Linter'; -export declare namespace Processor { - interface ProcessorMeta { - /** - * The unique name of the processor. - */ - name: string; - /** - * The a string identifying the version of the processor. - */ - version?: string; - } - type PreProcess = (text: string, filename: string) => (string | { - filename: string; - text: string; - })[]; - type PostProcess = (messagesList: Linter.LintMessage[][], filename: string) => Linter.LintMessage[]; - interface ProcessorModule { - /** - * Information about the processor to uniquely identify it when serializing. - */ - meta?: ProcessorMeta; - /** - * The function to merge messages. - */ - postprocess?: PostProcess; - /** - * The function to extract code blocks. - */ - preprocess?: PreProcess; - /** - * If `true` then it means the processor supports autofix. - */ - supportsAutofix?: boolean; - } - /** - * A loose definition of the ParserModule type for use with configs - * This type intended to relax validation of configs so that parsers that have - * different AST types or scope managers can still be passed to configs - * - * @see {@link LooseRuleDefinition}, {@link LooseParserModule} - */ - interface LooseProcessorModule { - /** - * Information about the processor to uniquely identify it when serializing. - */ - meta?: { - [K in keyof ProcessorMeta]?: ProcessorMeta[K] | undefined; - }; - /** - * The function to merge messages. - */ - postprocess?: (messagesList: any, filename: string) => any; - /** - * The function to extract code blocks. - */ - preprocess?: (text: string, filename: string) => any; - /** - * If `true` then it means the processor supports autofix. - */ - supportsAutofix?: boolean | undefined; - } -} -//# sourceMappingURL=Processor.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts.map deleted file mode 100644 index 3e4ccd17..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Processor.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,yBAAiB,SAAS,CAAC;IACzB,UAAiB,aAAa;QAC5B;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAED,KAAY,UAAU,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb,CAAC,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAErD,KAAY,WAAW,GAAG,CACxB,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,EACpC,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,WAAW,EAAE,CAAC;IAE1B,UAAiB,eAAe;QAC9B;;WAEG;QACH,IAAI,CAAC,EAAE,aAAa,CAAC;QAErB;;WAEG;QACH,WAAW,CAAC,EAAE,WAAW,CAAC;QAE1B;;WAEG;QACH,UAAU,CAAC,EAAE,UAAU,CAAC;QAExB;;WAEG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B;IAED;;;;;;OAMG;IACH,UAAiB,oBAAoB;QACnC;;WAEG;QACH,IAAI,CAAC,EAAE;aAAG,CAAC,IAAI,MAAM,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS;SAAE,CAAC;QAErE;;WAEG;QAMH,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;QAE3D;;WAEG;QAMH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG,CAAC;QAErD;;WAEG;QACH,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACvC;CACF"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js deleted file mode 100644 index 4dc798a7..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=Processor.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js.map deleted file mode 100644 index 1e717ae0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Processor.js","sourceRoot":"","sources":["../../src/ts-eslint/Processor.ts"],"names":[],"mappings":";AAAA,oDAAoD"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts deleted file mode 100644 index 668d2bd1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts +++ /dev/null @@ -1,545 +0,0 @@ -import type { JSONSchema4 } from '../json-schema'; -import type { ParserServices, TSESTree } from '../ts-estree'; -import type { AST } from './AST'; -import type { FlatConfig } from './Config'; -import type { Linter } from './Linter'; -import type { Scope } from './Scope'; -import type { SourceCode } from './SourceCode'; -export type RuleRecommendation = 'recommended' | 'strict' | 'stylistic'; -export interface RuleRecommendationAcrossConfigs { - recommended?: true; - strict: Partial; -} -export interface RuleMetaDataDocs { - /** - * Concise description of the rule. - */ - description: string; - /** - * The URL of the rule's docs. - */ - url?: string; -} -export interface RuleMetaData { - /** - * True if the rule is deprecated, false otherwise - */ - deprecated?: boolean; - /** - * Documentation for the rule - */ - docs?: PluginDocs & RuleMetaDataDocs; - /** - * The fixer category. Omit if there is no fixer - */ - fixable?: 'code' | 'whitespace'; - /** - * Specifies whether rules can return suggestions. Omit if there is no suggestions - */ - hasSuggestions?: boolean; - /** - * A map of messages which the rule can report. - * The key is the messageId, and the string is the parameterised error string. - * See: https://eslint.org/docs/developer-guide/working-with-rules#messageids - */ - messages: Record; - /** - * The name of the rule this rule was replaced by, if it was deprecated. - */ - replacedBy?: readonly string[]; - /** - * The options schema. Supply an empty array if there are no options. - */ - schema: JSONSchema4 | readonly JSONSchema4[]; - /** - * The type of rule. - * - `"problem"` means the rule is identifying code that either will cause an error or may cause a confusing behavior. Developers should consider this a high priority to resolve. - * - `"suggestion"` means the rule is identifying something that could be done in a better way but no errors will occur if the code isn’t changed. - * - `"layout"` means the rule cares primarily about whitespace, semicolons, commas, and parentheses, all the parts of the program that determine how the code looks rather than how it executes. These rules work on parts of the code that aren’t specified in the AST. - */ - type: 'layout' | 'problem' | 'suggestion'; - /** - * Specifies default options for the rule. If present, any user-provided options in their config will be merged on top of them recursively. - * This merging will be applied directly to `context.options`. - * If you want backwards-compatible support for earlier ESLint version; consider using the top-level `defaultOptions` instead. - * - * since ESLint 9.15.0 - */ - defaultOptions?: Options; -} -export interface RuleMetaDataWithDocs extends RuleMetaData { - /** - * Documentation for the rule - */ - docs: PluginDocs & RuleMetaDataDocs; -} -export interface RuleFix { - range: Readonly; - text: string; -} -export interface RuleFixer { - insertTextAfter(nodeOrToken: TSESTree.Node | TSESTree.Token, text: string): RuleFix; - insertTextAfterRange(range: Readonly, text: string): RuleFix; - insertTextBefore(nodeOrToken: TSESTree.Node | TSESTree.Token, text: string): RuleFix; - insertTextBeforeRange(range: Readonly, text: string): RuleFix; - remove(nodeOrToken: TSESTree.Node | TSESTree.Token): RuleFix; - removeRange(range: Readonly): RuleFix; - replaceText(nodeOrToken: TSESTree.Node | TSESTree.Token, text: string): RuleFix; - replaceTextRange(range: Readonly, text: string): RuleFix; -} -export interface SuggestionReportDescriptor extends Omit, 'fix'> { - readonly fix: ReportFixFunction; -} -export type ReportFixFunction = (fixer: RuleFixer) => IterableIterator | readonly RuleFix[] | RuleFix | null; -export type ReportSuggestionArray = SuggestionReportDescriptor[]; -export type ReportDescriptorMessageData = Readonly>; -interface ReportDescriptorBase { - /** - * The parameters for the message string associated with `messageId`. - */ - readonly data?: ReportDescriptorMessageData; - /** - * The fixer function. - */ - readonly fix?: ReportFixFunction | null; - /** - * The messageId which is being reported. - */ - readonly messageId: MessageIds; -} -interface ReportDescriptorWithSuggestion extends ReportDescriptorBase { - /** - * 6.7's Suggestions API - */ - readonly suggest?: Readonly> | null; -} -interface ReportDescriptorNodeOptionalLoc { - /** - * An override of the location of the report - */ - readonly loc?: Readonly | Readonly; - /** - * The Node or AST Token which the report is being attached to - */ - readonly node: TSESTree.Node | TSESTree.Token; -} -interface ReportDescriptorLocOnly { - /** - * An override of the location of the report - */ - loc: Readonly | Readonly; -} -export type ReportDescriptor = (ReportDescriptorLocOnly | ReportDescriptorNodeOptionalLoc) & ReportDescriptorWithSuggestion; -/** - * Plugins can add their settings using declaration - * merging against this interface. - */ -export interface SharedConfigurationSettings { - [name: string]: unknown; -} -export interface RuleContext { - /** - * The rule ID. - */ - id: string; - /** - * The language options configured for this run - */ - languageOptions: FlatConfig.LanguageOptions; - /** - * An array of the configured options for this rule. - * This array does not include the rule severity. - */ - options: Options; - /** - * The parser options configured for this run - */ - parserOptions: Linter.ParserOptions; - /** - * The name of the parser from configuration, if in eslintrc (legacy) config. - */ - parserPath: string | undefined; - /** - * An object containing parser-provided services for rules - * - * @deprecated in favor of `SourceCode#parserServices` - */ - parserServices?: ParserServices; - /** - * The shared settings from configuration. - * We do not have any shared settings in this plugin. - */ - settings: SharedConfigurationSettings; - /** - * Returns an array of the ancestors of the currently-traversed node, starting at - * the root of the AST and continuing through the direct parent of the current node. - * This array does not include the currently-traversed node itself. - * - * @deprecated in favor of `SourceCode#getAncestors` - */ - getAncestors(): TSESTree.Node[]; - /** - * Returns a list of variables declared by the given node. - * This information can be used to track references to variables. - * - * @deprecated in favor of `SourceCode#getDeclaredVariables` - */ - getDeclaredVariables(node: TSESTree.Node): readonly Scope.Variable[]; - /** - * Returns the current working directory passed to Linter. - * It is a path to a directory that should be considered as the current working directory. - * @deprecated in favor of `RuleContext#cwd` - */ - getCwd(): string; - /** - * The current working directory passed to Linter. - * It is a path to a directory that should be considered as the current working directory. - */ - cwd: string; - /** - * Returns the filename associated with the source. - * - * @deprecated in favor of `RuleContext#filename` - */ - getFilename(): string; - /** - * The filename associated with the source. - */ - filename: string; - /** - * Returns the full path of the file on disk without any code block information (unlike `getFilename()`). - * @deprecated in favor of `RuleContext#physicalFilename` - */ - getPhysicalFilename(): string; - /** - * The full path of the file on disk without any code block information (unlike `filename`). - */ - physicalFilename: string; - /** - * Returns the scope of the currently-traversed node. - * This information can be used track references to variables. - * - * @deprecated in favor of `SourceCode#getScope` - */ - getScope(): Scope.Scope; - /** - * Returns a SourceCode object that you can use to work with the source that - * was passed to ESLint. - * - * @deprecated in favor of `RuleContext#sourceCode` - */ - getSourceCode(): Readonly; - /** - * A SourceCode object that you can use to work with the source that - * was passed to ESLint. - */ - sourceCode: Readonly; - /** - * Marks a variable with the given name in the current scope as used. - * This affects the no-unused-vars rule. - * - * @deprecated in favor of `SourceCode#markVariableAsUsed` - */ - markVariableAsUsed(name: string): boolean; - /** - * Reports a problem in the code. - */ - report(descriptor: ReportDescriptor): void; -} -/** - * Part of the code path analysis feature of ESLint: - * https://eslint.org/docs/latest/extend/code-path-analysis - * - * These are used in the `onCodePath*` methods. (Note that the `node` parameter - * of these methods is intentionally omitted.) - * - * @see https://github.com/typescript-eslint/typescript-eslint/issues/6993 - */ -export interface CodePath { - /** Code paths of functions this code path contains. */ - childCodePaths: CodePath[]; - /** - * Segments of the current traversal position. - * - * @deprecated - */ - currentSegments: CodePathSegment[]; - /** The final segments which includes both returned and thrown. */ - finalSegments: CodePathSegment[]; - /** - * A unique string. Respective rules can use `id` to save additional - * information for each code path. - */ - id: string; - initialSegment: CodePathSegment; - /** The final segments which includes only returned. */ - returnedSegments: CodePathSegment[]; - /** The final segments which includes only thrown. */ - thrownSegments: CodePathSegment[]; - /** The code path of the upper function/global scope. */ - upper: CodePath | null; -} -/** - * Part of the code path analysis feature of ESLint: - * https://eslint.org/docs/latest/extend/code-path-analysis - * - * These are used in the `onCodePath*` methods. (Note that the `node` parameter - * of these methods is intentionally omitted.) - * - * @see https://github.com/typescript-eslint/typescript-eslint/issues/6993 - */ -export interface CodePathSegment { - /** - * A unique string. Respective rules can use `id` to save additional - * information for each segment. - */ - id: string; - /** - * The next segments. If forking, there are two or more. If final, there is - * nothing. - */ - nextSegments: CodePathSegment[]; - /** - * The previous segments. If merging, there are two or more. If initial, there - * is nothing. - */ - prevSegments: CodePathSegment[]; - /** - * A flag which shows whether it is reachable. This becomes `false` when - * preceded by `return`, `throw`, `break`, or `continue`. - */ - reachable: boolean; -} -/** - * Part of the code path analysis feature of ESLint: - * https://eslint.org/docs/latest/extend/code-path-analysis - * - * This type is unused in the `typescript-eslint` codebase since putting it on - * the `nodeSelector` for `RuleListener` would break the existing definition. - * However, it is exported here for the purposes of manual type-assertion. - * - * @see https://github.com/typescript-eslint/typescript-eslint/issues/6993 - */ -export type CodePathFunction = ((codePath: CodePath, node: TSESTree.Node) => void) | ((fromSegment: CodePathSegment, toSegment: CodePathSegment, node: TSESTree.Node) => void) | ((segment: CodePathSegment, node: TSESTree.Node) => void); -export type RuleFunction = (node: T) => void; -interface RuleListenerBaseSelectors { - AccessorProperty?: RuleFunction; - ArrayExpression?: RuleFunction; - ArrayPattern?: RuleFunction; - ArrowFunctionExpression?: RuleFunction; - AssignmentExpression?: RuleFunction; - AssignmentPattern?: RuleFunction; - AwaitExpression?: RuleFunction; - BinaryExpression?: RuleFunction; - BlockStatement?: RuleFunction; - BreakStatement?: RuleFunction; - CallExpression?: RuleFunction; - CatchClause?: RuleFunction; - ChainExpression?: RuleFunction; - ClassBody?: RuleFunction; - ClassDeclaration?: RuleFunction; - ClassExpression?: RuleFunction; - ConditionalExpression?: RuleFunction; - ContinueStatement?: RuleFunction; - DebuggerStatement?: RuleFunction; - Decorator?: RuleFunction; - DoWhileStatement?: RuleFunction; - EmptyStatement?: RuleFunction; - ExportAllDeclaration?: RuleFunction; - ExportDefaultDeclaration?: RuleFunction; - ExportNamedDeclaration?: RuleFunction; - ExportSpecifier?: RuleFunction; - ExpressionStatement?: RuleFunction; - ForInStatement?: RuleFunction; - ForOfStatement?: RuleFunction; - ForStatement?: RuleFunction; - FunctionDeclaration?: RuleFunction; - FunctionExpression?: RuleFunction; - Identifier?: RuleFunction; - IfStatement?: RuleFunction; - ImportAttribute?: RuleFunction; - ImportDeclaration?: RuleFunction; - ImportDefaultSpecifier?: RuleFunction; - ImportExpression?: RuleFunction; - ImportNamespaceSpecifier?: RuleFunction; - ImportSpecifier?: RuleFunction; - JSXAttribute?: RuleFunction; - JSXClosingElement?: RuleFunction; - JSXClosingFragment?: RuleFunction; - JSXElement?: RuleFunction; - JSXEmptyExpression?: RuleFunction; - JSXExpressionContainer?: RuleFunction; - JSXFragment?: RuleFunction; - JSXIdentifier?: RuleFunction; - JSXMemberExpression?: RuleFunction; - JSXNamespacedName?: RuleFunction; - JSXOpeningElement?: RuleFunction; - JSXOpeningFragment?: RuleFunction; - JSXSpreadAttribute?: RuleFunction; - JSXSpreadChild?: RuleFunction; - JSXText?: RuleFunction; - LabeledStatement?: RuleFunction; - Literal?: RuleFunction; - LogicalExpression?: RuleFunction; - MemberExpression?: RuleFunction; - MetaProperty?: RuleFunction; - MethodDefinition?: RuleFunction; - NewExpression?: RuleFunction; - ObjectExpression?: RuleFunction; - ObjectPattern?: RuleFunction; - PrivateIdentifier?: RuleFunction; - Program?: RuleFunction; - Property?: RuleFunction; - PropertyDefinition?: RuleFunction; - RestElement?: RuleFunction; - ReturnStatement?: RuleFunction; - SequenceExpression?: RuleFunction; - SpreadElement?: RuleFunction; - StaticBlock?: RuleFunction; - Super?: RuleFunction; - SwitchCase?: RuleFunction; - SwitchStatement?: RuleFunction; - TaggedTemplateExpression?: RuleFunction; - TemplateElement?: RuleFunction; - TemplateLiteral?: RuleFunction; - ThisExpression?: RuleFunction; - ThrowStatement?: RuleFunction; - TryStatement?: RuleFunction; - TSAbstractAccessorProperty?: RuleFunction; - TSAbstractKeyword?: RuleFunction; - TSAbstractMethodDefinition?: RuleFunction; - TSAbstractPropertyDefinition?: RuleFunction; - TSAnyKeyword?: RuleFunction; - TSArrayType?: RuleFunction; - TSAsExpression?: RuleFunction; - TSAsyncKeyword?: RuleFunction; - TSBigIntKeyword?: RuleFunction; - TSBooleanKeyword?: RuleFunction; - TSCallSignatureDeclaration?: RuleFunction; - TSClassImplements?: RuleFunction; - TSConditionalType?: RuleFunction; - TSConstructorType?: RuleFunction; - TSConstructSignatureDeclaration?: RuleFunction; - TSDeclareFunction?: RuleFunction; - TSDeclareKeyword?: RuleFunction; - TSEmptyBodyFunctionExpression?: RuleFunction; - TSEnumBody?: RuleFunction; - TSEnumDeclaration?: RuleFunction; - TSEnumMember?: RuleFunction; - TSExportAssignment?: RuleFunction; - TSExportKeyword?: RuleFunction; - TSExternalModuleReference?: RuleFunction; - TSFunctionType?: RuleFunction; - TSImportEqualsDeclaration?: RuleFunction; - TSImportType?: RuleFunction; - TSIndexedAccessType?: RuleFunction; - TSIndexSignature?: RuleFunction; - TSInferType?: RuleFunction; - TSInstantiationExpression?: RuleFunction; - TSInterfaceBody?: RuleFunction; - TSInterfaceDeclaration?: RuleFunction; - TSInterfaceHeritage?: RuleFunction; - TSIntersectionType?: RuleFunction; - TSIntrinsicKeyword?: RuleFunction; - TSLiteralType?: RuleFunction; - TSMappedType?: RuleFunction; - TSMethodSignature?: RuleFunction; - TSModuleBlock?: RuleFunction; - TSModuleDeclaration?: RuleFunction; - TSNamedTupleMember?: RuleFunction; - TSNamespaceExportDeclaration?: RuleFunction; - TSNeverKeyword?: RuleFunction; - TSNonNullExpression?: RuleFunction; - TSNullKeyword?: RuleFunction; - TSNumberKeyword?: RuleFunction; - TSObjectKeyword?: RuleFunction; - TSOptionalType?: RuleFunction; - TSParameterProperty?: RuleFunction; - TSPrivateKeyword?: RuleFunction; - TSPropertySignature?: RuleFunction; - TSProtectedKeyword?: RuleFunction; - TSPublicKeyword?: RuleFunction; - TSQualifiedName?: RuleFunction; - TSReadonlyKeyword?: RuleFunction; - TSRestType?: RuleFunction; - TSSatisfiesExpression?: RuleFunction; - TSStaticKeyword?: RuleFunction; - TSStringKeyword?: RuleFunction; - TSSymbolKeyword?: RuleFunction; - TSTemplateLiteralType?: RuleFunction; - TSThisType?: RuleFunction; - TSTupleType?: RuleFunction; - TSTypeAliasDeclaration?: RuleFunction; - TSTypeAnnotation?: RuleFunction; - TSTypeAssertion?: RuleFunction; - TSTypeLiteral?: RuleFunction; - TSTypeOperator?: RuleFunction; - TSTypeParameter?: RuleFunction; - TSTypeParameterDeclaration?: RuleFunction; - TSTypeParameterInstantiation?: RuleFunction; - TSTypePredicate?: RuleFunction; - TSTypeQuery?: RuleFunction; - TSTypeReference?: RuleFunction; - TSUndefinedKeyword?: RuleFunction; - TSUnionType?: RuleFunction; - TSUnknownKeyword?: RuleFunction; - TSVoidKeyword?: RuleFunction; - UnaryExpression?: RuleFunction; - UpdateExpression?: RuleFunction; - VariableDeclaration?: RuleFunction; - VariableDeclarator?: RuleFunction; - WhileStatement?: RuleFunction; - WithStatement?: RuleFunction; - YieldExpression?: RuleFunction; -} -type RuleListenerExitSelectors = { - [K in keyof RuleListenerBaseSelectors as `${K}:exit`]: RuleListenerBaseSelectors[K]; -}; -type RuleListenerCatchAllBaseCase = Record; -export interface RuleListenerExtension { -} -export type RuleListener = RuleListenerBaseSelectors & RuleListenerCatchAllBaseCase & RuleListenerExitSelectors; -export interface RuleModule { - /** - * Function which returns an object with methods that ESLint calls to “visit” - * nodes while traversing the abstract syntax tree. - */ - create(context: Readonly>): ExtendedRuleListener; - /** - * Default options the rule will be run with - */ - defaultOptions: Options; - /** - * Metadata about the rule - */ - meta: RuleMetaData; -} -export type AnyRuleModule = RuleModule; -export interface RuleModuleWithMetaDocs extends RuleModule { - /** - * Metadata about the rule - */ - meta: RuleMetaDataWithDocs; -} -export type AnyRuleModuleWithMetaDocs = RuleModuleWithMetaDocs; -/** - * A loose definition of the RuleModule type for use with configs. This type is - * intended to relax validation of types so that we can have basic validation - * without being overly strict about nitty gritty details matching. - * - * For example the plugin might be declared using an old version of our types or - * they might use the DefinitelyTyped eslint types. Ultimately we don't need - * super strict validation in a config - a loose shape match is "good enough" to - * help validate the config is correct. - * - * @see {@link LooseParserModule}, {@link LooseProcessorModule} - */ -export type LooseRuleDefinition = { - create: LooseRuleCreateFunction; - meta?: object | undefined; -} | LooseRuleCreateFunction; -export type LooseRuleCreateFunction = (context: any) => Record; -export type RuleCreateFunction = (context: Readonly>) => RuleListener; -export type AnyRuleCreateFunction = RuleCreateFunction; -export {}; -//# sourceMappingURL=Rule.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts.map deleted file mode 100644 index ffcb9c83..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,+BAA+B,CAC9C,OAAO,SAAS,SAAS,OAAO,EAAE;IAElC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAC3B,UAAU,SAAS,MAAM,EACzB,UAAU,GAAG,OAAO,EACpB,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE;IAEvC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACrC;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;OAEG;IACH,MAAM,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAAC;IAC7C;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IAE1C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB,CACnC,UAAU,SAAS,MAAM,EACzB,UAAU,GAAG,OAAO,EACpB,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,CACvC,SAAQ,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;IACrD;;OAEG;IACH,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,CACb,WAAW,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAEX,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAExE,gBAAgB,CACd,WAAW,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAEX,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzE,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;IAE7D,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAEjD,WAAW,CACT,WAAW,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAEX,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACrE;AAED,MAAM,WAAW,0BAA0B,CAAC,UAAU,SAAS,MAAM,CACnE,SAAQ,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,SAAS,KACb,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;AAErE,MAAM,MAAM,qBAAqB,CAAC,UAAU,SAAS,MAAM,IACzD,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;AAE3C,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5E,UAAU,oBAAoB,CAAC,UAAU,SAAS,MAAM;IACtD;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAIhC;AACD,UAAU,8BAA8B,CAAC,UAAU,SAAS,MAAM,CAChE,SAAQ,oBAAoB,CAAC,UAAU,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;CACvE;AAED,UAAU,+BAA+B;IACvC;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EACT,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAC3B,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;CAC/C;AACD,UAAU,uBAAuB;IAC/B;;OAEG;IACH,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,MAAM,IAAI,CACtD,uBAAuB,GACvB,+BAA+B,CAClC,GACC,8BAA8B,CAAC,UAAU,CAAC,CAAC;AAE7C;;;GAGG;AAEH,MAAM,WAAW,2BAA2B;IAC1C,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW,CAC1B,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE;IAElC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;IAC5C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,QAAQ,EAAE,2BAA2B,CAAC;IAItC;;;;;;OAMG;IACH,YAAY,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC;IAErE;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC;IAEjB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,WAAW,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,mBAAmB,IAAI,MAAM,CAAC;IAE9B;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;IAExB;;;;;OAKG;IACH,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEtC;;;OAGG;IACH,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1C;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;CACxD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,cAAc,EAAE,QAAQ,EAAE,CAAC;IAE3B;;;;OAIG;IACH,eAAe,EAAE,eAAe,EAAE,CAAC;IAEnC,kEAAkE;IAClE,aAAa,EAAE,eAAe,EAAE,CAAC;IAEjC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX,cAAc,EAAE,eAAe,CAAC;IAEhC,uDAAuD;IACvD,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAEpC,qDAAqD;IACrD,cAAc,EAAE,eAAe,EAAE,CAAC;IAElC,wDAAwD;IACxD,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,YAAY,EAAE,eAAe,EAAE,CAAC;IAEhC;;;OAGG;IACH,YAAY,EAAE,eAAe,EAAE,CAAC;IAEhC;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GACxB,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,GACnD,CAAC,CACC,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI,KAChB,IAAI,CAAC,GACV,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAI9D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,QAAQ,CAAC,eAAe,GAAG,KAAK,IAAI,CACrE,IAAI,EAAE,CAAC,KACJ,IAAI,CAAC;AAEV,UAAU,yBAAyB;IACjC,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,uBAAuB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACzE,oBAAoB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACnE,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,qBAAqB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACrE,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,oBAAoB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACnE,wBAAwB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC3E,sBAAsB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACvE,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,sBAAsB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACvE,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,wBAAwB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC3E,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,sBAAsB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACvE,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,wBAAwB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAC3E,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,0BAA0B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,0BAA0B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/E,4BAA4B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,0BAA0B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,+BAA+B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IACzF,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,6BAA6B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IACrF,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,yBAAyB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC7E,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,yBAAyB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC7E,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,yBAAyB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IAC7E,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,sBAAsB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACvE,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,4BAA4B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACnF,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC7D,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,qBAAqB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACrE,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,qBAAqB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACrE,UAAU,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,sBAAsB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACvE,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,0BAA0B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAC/E,4BAA4B,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACnF,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,WAAW,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC3D,mBAAmB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrD,eAAe,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;CAC1D;AACD,KAAK,yBAAyB,GAAG;KAC9B,CAAC,IAAI,MAAM,yBAAyB,IAAI,GAAG,CAAC,OAAO,GAAG,yBAAyB,CAAC,CAAC,CAAC;CACpF,CAAC;AACF,KAAK,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;AAG7E,MAAM,WAAW,qBAAqB;CAuCrC;AAED,MAAM,MAAM,YAAY,GAAG,yBAAyB,GAClD,4BAA4B,GAC5B,yBAAyB,CAAC;AAE5B,MAAM,WAAW,UAAU,CACzB,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EACvC,IAAI,GAAG,OAAO,EAEd,oBAAoB,SAAS,YAAY,GAAG,YAAY;IAExD;;;OAGG;IACH,MAAM,CACJ,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,GAClD,oBAAoB,CAAC;IAExB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB,CACrC,UAAU,SAAS,MAAM,EACzB,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EACvC,IAAI,GAAG,OAAO,EAEd,oBAAoB,SAAS,YAAY,GAAG,YAAY,CACxD,SAAQ,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC;IACnE;;OAEG;IACH,IAAI,EAAE,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAC5D,MAAM,EACN,OAAO,EAAE,CACV,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAE3B;IACE,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GACD,uBAAuB,CAAC;AAM5B,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAC5D,MAAM,EAON,QAAQ,GAAG,SAAS,CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,IAC5C,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,YAAY,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CACpD,MAAM,EACN,SAAS,OAAO,EAAE,CACnB,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js deleted file mode 100644 index 8113a7eb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=Rule.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js.map deleted file mode 100644 index 88c1f037..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../src/ts-eslint/Rule.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts deleted file mode 100644 index f98dd53f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts +++ /dev/null @@ -1,184 +0,0 @@ -import type { AST_NODE_TYPES, AST_TOKEN_TYPES } from '../ts-estree'; -import type { ClassicConfig } from './Config'; -import type { Linter } from './Linter'; -import type { ParserOptions } from './ParserOptions'; -import type { ReportDescriptorMessageData, RuleCreateFunction, RuleModule, SharedConfigurationSettings } from './Rule'; -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -interface ValidTestCase { - /** - * Code for the test case. - */ - readonly code: string; - /** - * Environments for the test case. - */ - readonly env?: Readonly; - /** - * The fake filename for the test case. Useful for rules that make assertion about filenames. - */ - readonly filename?: string; - /** - * The additional global variables. - */ - readonly globals?: Readonly; - /** - * Name for the test case. - */ - readonly name?: string; - /** - * Run this case exclusively for debugging in supported test frameworks. - */ - readonly only?: boolean; - /** - * Options for the test case. - */ - readonly options?: Readonly; - /** - * The absolute path for the parser. - */ - readonly parser?: string; - /** - * Options for the parser. - */ - readonly parserOptions?: Readonly; - /** - * Settings for the test case. - */ - readonly settings?: Readonly; -} -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -interface SuggestionOutput { - /** - * The data used to fill the message template. - */ - readonly data?: ReportDescriptorMessageData; - /** - * Reported message ID. - */ - readonly messageId: MessageIds; - /** - * NOTE: Suggestions will be applied as a stand-alone change, without triggering multi-pass fixes. - * Each individual error has its own suggestion, so you have to show the correct, _isolated_ output for each suggestion. - */ - readonly output: string; -} -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -interface InvalidTestCase extends ValidTestCase { - /** - * Expected errors. - */ - readonly errors: readonly TestCaseError[]; - /** - * The expected code after autofixes are applied. If set to `null`, the test runner will assert that no autofix is suggested. - */ - readonly output?: string | string[] | null; -} -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -interface TestCaseError { - /** - * The 1-based column number of the reported start location. - */ - readonly column?: number; - /** - * The data used to fill the message template. - */ - readonly data?: ReportDescriptorMessageData; - /** - * The 1-based column number of the reported end location. - */ - readonly endColumn?: number; - /** - * The 1-based line number of the reported end location. - */ - readonly endLine?: number; - /** - * The 1-based line number of the reported start location. - */ - readonly line?: number; - /** - * Reported message ID. - */ - readonly messageId: MessageIds; - /** - * Reported suggestions. - */ - readonly suggestions?: readonly SuggestionOutput[] | null; - /** - * The type of the reported AST node. - */ - readonly type?: AST_NODE_TYPES | AST_TOKEN_TYPES; -} -/** - * @param text a string describing the rule - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -type RuleTesterTestFrameworkFunction = (text: string, callback: () => void) => void; -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -interface RunTests { - readonly invalid: readonly InvalidTestCase[]; - readonly valid: readonly (string | ValidTestCase)[]; -} -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -interface RuleTesterConfig extends ClassicConfig.Config { - readonly parser: string; - readonly parserOptions?: Readonly; -} -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -declare class RuleTesterBase { - /** - * Creates a new instance of RuleTester. - * @param testerConfig extra configuration for the tester - */ - constructor(testerConfig?: RuleTesterConfig); - /** - * Adds a new rule test to execute. - * @param ruleName The name of the rule to run. - * @param rule The rule to test. - * @param tests The collection of tests to run. - */ - run(ruleName: string, rule: RuleModule, tests: RunTests): void; - /** - * If you supply a value to this property, the rule tester will call this instead of using the version defined on - * the global namespace. - */ - static get describe(): RuleTesterTestFrameworkFunction; - static set describe(value: RuleTesterTestFrameworkFunction | undefined); - /** - * If you supply a value to this property, the rule tester will call this instead of using the version defined on - * the global namespace. - */ - static get it(): RuleTesterTestFrameworkFunction; - static set it(value: RuleTesterTestFrameworkFunction | undefined); - /** - * If you supply a value to this property, the rule tester will call this instead of using the version defined on - * the global namespace. - */ - static get itOnly(): RuleTesterTestFrameworkFunction; - static set itOnly(value: RuleTesterTestFrameworkFunction | undefined); - /** - * Define a rule for one particular run of tests. - */ - defineRule(name: string, rule: RuleCreateFunction | RuleModule): void; -} -declare const RuleTester_base: typeof RuleTesterBase; -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -declare class RuleTester extends RuleTester_base { -} -export { type InvalidTestCase, RuleTester, type RuleTesterConfig, type RuleTesterTestFrameworkFunction, type RunTests, type SuggestionOutput, type TestCaseError, type ValidTestCase, }; -//# sourceMappingURL=RuleTester.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts.map deleted file mode 100644 index 9617e74e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RuleTester.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/RuleTester.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js deleted file mode 100644 index 7b53577b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.RuleTester = void 0; -/* eslint-disable @typescript-eslint/no-deprecated */ -const eslint_1 = require("eslint"); -/** - * @deprecated Use `@typescript-eslint/rule-tester` instead. - */ -class RuleTester extends eslint_1.RuleTester { -} -exports.RuleTester = RuleTester; -//# sourceMappingURL=RuleTester.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js.map deleted file mode 100644 index 48cb94c3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RuleTester.js","sourceRoot":"","sources":["../../src/ts-eslint/RuleTester.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,mCAAwD;AAgOxD;;GAEG;AACH,MAAM,UAAW,SAAS,mBAA0C;CAAG;AAIrE,gCAAU"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts deleted file mode 100644 index 50b4a749..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import * as scopeManager from '@typescript-eslint/scope-manager'; -declare namespace Scope { - type ScopeManager = scopeManager.ScopeManager; - type Reference = scopeManager.Reference; - type Variable = scopeManager.ScopeVariable; - type Scope = scopeManager.Scope; - const ScopeType: typeof scopeManager.ScopeType; - type DefinitionType = scopeManager.Definition; - type Definition = scopeManager.Definition; - const DefinitionType: typeof scopeManager.DefinitionType; - namespace Definitions { - type CatchClauseDefinition = scopeManager.CatchClauseDefinition; - type ClassNameDefinition = scopeManager.ClassNameDefinition; - type FunctionNameDefinition = scopeManager.FunctionNameDefinition; - type ImplicitGlobalVariableDefinition = scopeManager.ImplicitGlobalVariableDefinition; - type ImportBindingDefinition = scopeManager.ImportBindingDefinition; - type ParameterDefinition = scopeManager.ParameterDefinition; - type TSEnumMemberDefinition = scopeManager.TSEnumMemberDefinition; - type TSEnumNameDefinition = scopeManager.TSEnumNameDefinition; - type TSModuleNameDefinition = scopeManager.TSModuleNameDefinition; - type TypeDefinition = scopeManager.TypeDefinition; - type VariableDefinition = scopeManager.VariableDefinition; - } - namespace Scopes { - type BlockScope = scopeManager.BlockScope; - type CatchScope = scopeManager.CatchScope; - type ClassScope = scopeManager.ClassScope; - type ConditionalTypeScope = scopeManager.ConditionalTypeScope; - type ForScope = scopeManager.ForScope; - type FunctionExpressionNameScope = scopeManager.FunctionExpressionNameScope; - type FunctionScope = scopeManager.FunctionScope; - type FunctionTypeScope = scopeManager.FunctionTypeScope; - type GlobalScope = scopeManager.GlobalScope; - type MappedTypeScope = scopeManager.MappedTypeScope; - type ModuleScope = scopeManager.ModuleScope; - type SwitchScope = scopeManager.SwitchScope; - type TSEnumScope = scopeManager.TSEnumScope; - type TSModuleScope = scopeManager.TSModuleScope; - type TypeScope = scopeManager.TypeScope; - type WithScope = scopeManager.WithScope; - } -} -export { Scope }; -//# sourceMappingURL=Scope.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts.map deleted file mode 100644 index 444f1d9f..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/Scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,kCAAkC,CAAC;AAEjE,kBAAU,KAAK,CAAC;IACd,KAAY,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IACrD,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAC/C,KAAY,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC;IAClD,KAAY,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAChC,MAAM,SAAS,+BAAyB,CAAC;IAEhD,KAAY,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC;IACrD,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAC1C,MAAM,cAAc,oCAA8B,CAAC;IAE1D,UAAiB,WAAW,CAAC;QAC3B,KAAY,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,CAAC;QACvE,KAAY,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;QACnE,KAAY,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,CAAC;QACzE,KAAY,gCAAgC,GAC1C,YAAY,CAAC,gCAAgC,CAAC;QAChD,KAAY,uBAAuB,GAAG,YAAY,CAAC,uBAAuB,CAAC;QAC3E,KAAY,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;QACnE,KAAY,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,CAAC;QACzE,KAAY,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,CAAC;QACrE,KAAY,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,CAAC;QACzE,KAAY,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;QACzD,KAAY,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;KAClE;IACD,UAAiB,MAAM,CAAC;QACtB,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACjD,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACjD,KAAY,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACjD,KAAY,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,CAAC;QACrE,KAAY,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QAC7C,KAAY,2BAA2B,GACrC,YAAY,CAAC,2BAA2B,CAAC;QAC3C,KAAY,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;QACvD,KAAY,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAC/D,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;QAC3D,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;QACnD,KAAY,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;QACvD,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QAC/C,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;KAChD;CACF;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js deleted file mode 100644 index d9218400..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Scope = void 0; -const scopeManager = __importStar(require("@typescript-eslint/scope-manager")); -var Scope; -(function (Scope) { - Scope.ScopeType = scopeManager.ScopeType; - Scope.DefinitionType = scopeManager.DefinitionType; -})(Scope || (exports.Scope = Scope = {})); -//# sourceMappingURL=Scope.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js.map deleted file mode 100644 index c431e05b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../src/ts-eslint/Scope.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpD,+EAAiE;AAEjE,IAAU,KAAK,CA4Cd;AA5CD,WAAU,KAAK;IAKA,eAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAInC,oBAAc,GAAG,YAAY,CAAC,cAAc,CAAC;AAmC5D,CAAC,EA5CS,KAAK,qBAAL,KAAK,QA4Cd"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts deleted file mode 100644 index 1e7c6ee6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts +++ /dev/null @@ -1,355 +0,0 @@ -import type { ParserServices, TSESTree } from '../ts-estree'; -import type { Parser } from './Parser'; -import type { Scope } from './Scope'; -declare class TokenStore { - /** - * Checks whether any comments exist or not between the given 2 nodes. - * @param left The node to check. - * @param right The node to check. - * @returns `true` if one or more comments exist. - */ - commentsExistBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token): boolean; - /** - * Gets all comment tokens directly after the given node or token. - * @param nodeOrToken The AST node or token to check for adjacent comment tokens. - * @returns An array of comments in occurrence order. - */ - getCommentsAfter(nodeOrToken: TSESTree.Node | TSESTree.Token): TSESTree.Comment[]; - /** - * Gets all comment tokens directly before the given node or token. - * @param nodeOrToken The AST node or token to check for adjacent comment tokens. - * @returns An array of comments in occurrence order. - */ - getCommentsBefore(nodeOrToken: TSESTree.Node | TSESTree.Token): TSESTree.Comment[]; - /** - * Gets all comment tokens inside the given node. - * @param node The AST node to get the comments for. - * @returns An array of comments in occurrence order. - */ - getCommentsInside(node: TSESTree.Node): TSESTree.Comment[]; - /** - * Gets the first token of the given node. - * @param node The AST node. - * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. - * @returns An object representing the token. - */ - getFirstToken(node: TSESTree.Node, options?: T): SourceCode.ReturnTypeFromOptions | null; - /** - * Gets the first token between two non-overlapping nodes. - * @param left Node before the desired token range. - * @param right Node after the desired token range. - * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. - * @returns An object representing the token. - */ - getFirstTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; - /** - * Gets the first `count` tokens of the given node. - * @param node The AST node. - * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - */ - getFirstTokens(node: TSESTree.Node, options?: T): SourceCode.ReturnTypeFromOptions[]; - /** - * Gets the first `count` tokens between two non-overlapping nodes. - * @param left Node before the desired token range. - * @param right Node after the desired token range. - * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - * @returns Tokens between left and right. - */ - getFirstTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; - /** - * Gets the last token of the given node. - * @param node The AST node. - * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. - * @returns An object representing the token. - */ - getLastToken(node: TSESTree.Node, options?: T): SourceCode.ReturnTypeFromOptions | null; - /** - * Gets the last token between two non-overlapping nodes. - * @param left Node before the desired token range. - * @param right Node after the desired token range. - * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. - * @returns An object representing the token. - */ - getLastTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; - /** - * Gets the last `count` tokens of the given node. - * @param node The AST node. - * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - */ - getLastTokens(node: TSESTree.Node, options?: T): SourceCode.ReturnTypeFromOptions[]; - /** - * Gets the last `count` tokens between two non-overlapping nodes. - * @param left Node before the desired token range. - * @param right Node after the desired token range. - * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - * @returns Tokens between left and right. - */ - getLastTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions[]; - /** - * Gets the token that follows a given node or token. - * @param node The AST node or token. - * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. - * @returns An object representing the token. - */ - getTokenAfter(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; - /** - * Gets the token that precedes a given node or token. - * @param node The AST node or token. - * @param options The option object - * @returns An object representing the token. - */ - getTokenBefore(node: TSESTree.Node | TSESTree.Token, options?: T): SourceCode.ReturnTypeFromOptions | null; - /** - * Gets the token starting at the specified index. - * @param offset Index of the start of the token's range. - * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. - * @returns The token starting at index, or null if no such token. - */ - getTokenByRangeStart(offset: number, options?: T): SourceCode.ReturnTypeFromOptions | null; - /** - * Gets all tokens that are related to the given node. - * @param node The AST node. - * @param beforeCount The number of tokens before the node to retrieve. - * @param afterCount The number of tokens after the node to retrieve. - * @returns Array of objects representing tokens. - */ - getTokens(node: TSESTree.Node, beforeCount?: number, afterCount?: number): TSESTree.Token[]; - /** - * Gets all tokens that are related to the given node. - * @param node The AST node. - * @param options The option object. If this is a function then it's `options.filter`. - * @returns Array of objects representing tokens. - */ - getTokens(node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions[]; - /** - * Gets the `count` tokens that follows a given node or token. - * @param node The AST node. - * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - */ - getTokensAfter(node: TSESTree.Node | TSESTree.Token, options?: number | T): SourceCode.ReturnTypeFromOptions[]; - /** - * Gets the `count` tokens that precedes a given node or token. - * @param node The AST node. - * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - */ - getTokensBefore(node: TSESTree.Node | TSESTree.Token, options?: number | T): SourceCode.ReturnTypeFromOptions[]; - /** - * Gets all of the tokens between two non-overlapping nodes. - * @param left Node before the desired token range. - * @param right Node after the desired token range. - * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - * @returns Tokens between left and right. - */ - getTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options?: number | T): SourceCode.ReturnTypeFromOptions[]; -} -declare class SourceCodeBase extends TokenStore { - /** - * Represents parsed source code. - * @param ast The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped. - */ - constructor(text: string, ast: SourceCode.Program); - /** - * Represents parsed source code. - * @param config The config object. - */ - constructor(config: SourceCode.SourceCodeConfig); - /** - * The parsed AST for the source code. - */ - ast: SourceCode.Program; - applyInlineConfig(): void; - applyLanguageOptions(): void; - finalize(): void; - /** - * Retrieves an array containing all comments in the source code. - * @returns An array of comment nodes. - */ - getAllComments(): TSESTree.Comment[]; - /** - * Converts a (line, column) pair into a range index. - * @param location A line/column location - * @returns The range index of the location in the file. - */ - getIndexFromLoc(location: TSESTree.Position): number; - /** - * Gets the entire source text split into an array of lines. - * @returns The source text as an array of lines. - */ - getLines(): string[]; - /** - * Converts a source text index into a (line, column) pair. - * @param index The index of a character in a file - * @returns A {line, column} location object with a 0-indexed column - */ - getLocFromIndex(index: number): TSESTree.Position; - /** - * Gets the deepest node containing a range index. - * @param index Range index of the desired node. - * @returns The node if found or `null` if not found. - */ - getNodeByRangeIndex(index: number): TSESTree.Node | null; - /** - * Gets the source code for the given node. - * @param node The AST node to get the text for. - * @param beforeCount The number of characters before the node to retrieve. - * @param afterCount The number of characters after the node to retrieve. - * @returns The text representing the AST node. - */ - getText(node?: TSESTree.Node | TSESTree.Token, beforeCount?: number, afterCount?: number): string; - /** - * The flag to indicate that the source code has Unicode BOM. - */ - hasBOM: boolean; - /** - * Determines if two nodes or tokens have at least one whitespace character - * between them. Order does not matter. Returns false if the given nodes or - * tokens overlap. - * @param first The first node or token to check between. - * @param second The second node or token to check between. - * @returns True if there is a whitespace character between any of the tokens found between the two given nodes or tokens. - */ - isSpaceBetween(first: TSESTree.Node | TSESTree.Token, second: TSESTree.Node | TSESTree.Token): boolean; - /** - * Determines if two nodes or tokens have at least one whitespace character - * between them. Order does not matter. Returns false if the given nodes or - * tokens overlap. - * For backward compatibility, this method returns true if there are - * `JSXText` tokens that contain whitespace between the two. - * @param first The first node or token to check between. - * @param second The second node or token to check between. - * @returns {boolean} True if there is a whitespace character between - * any of the tokens found between the two given nodes or tokens. - * @deprecated in favor of isSpaceBetween - */ - isSpaceBetweenTokens(first: TSESTree.Token, second: TSESTree.Token): boolean; - /** - * Returns the scope of the given node. - * This information can be used track references to variables. - */ - getScope(node: TSESTree.Node): Scope.Scope; - /** - * Returns an array of the ancestors of the given node, starting at - * the root of the AST and continuing through the direct parent of the current node. - * This array does not include the currently-traversed node itself. - */ - getAncestors(node: TSESTree.Node): TSESTree.Node[]; - /** - * Returns a list of variables declared by the given node. - * This information can be used to track references to variables. - */ - getDeclaredVariables(node: TSESTree.Node): readonly Scope.Variable[]; - /** - * Marks a variable with the given name in the current scope as used. - * This affects the no-unused-vars rule. - */ - markVariableAsUsed(name: string, node: TSESTree.Node): boolean; - /** - * The source code split into lines according to ECMA-262 specification. - * This is done to avoid each rule needing to do so separately. - */ - lines: string[]; - /** - * The indexes in `text` that each line starts - */ - lineStartIndices: number[]; - /** - * The parser services of this source code. - */ - parserServices?: Partial; - /** - * The scope of this source code. - */ - scopeManager: Scope.ScopeManager | null; - /** - * The original text source code. BOM was stripped from this text. - */ - text: string; - /** - * All of the tokens and comments in the AST. - * - * TODO: rename to 'tokens' - */ - tokensAndComments: TSESTree.Token[]; - /** - * The visitor keys to traverse AST. - */ - visitorKeys: SourceCode.VisitorKeys; - /** - * Split the source code into multiple lines based on the line delimiters. - * @param text Source code as a string. - * @returns Array of source code lines. - */ - static splitLines(text: string): string[]; -} -declare namespace SourceCode { - interface Program extends TSESTree.Program { - comments: TSESTree.Comment[]; - tokens: TSESTree.Token[]; - } - interface SourceCodeConfig { - /** - * The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped. - */ - ast: Program; - /** - * The parser services. - */ - parserServices: ParserServices | null; - /** - * The scope of this source code. - */ - scopeManager: Scope.ScopeManager | null; - /** - * The source code text. - */ - text: string; - /** - * The visitor keys to traverse AST. - */ - visitorKeys: VisitorKeys | null; - } - type VisitorKeys = Parser.VisitorKeys; - type FilterPredicate = (token: TSESTree.Token) => boolean; - type GetFilterPredicate = Filter extends ((token: TSESTree.Token) => token is infer U extends TSESTree.Token) ? U : Default; - type GetFilterPredicateFromOptions = Options extends { - filter?: FilterPredicate; - } ? GetFilterPredicate : GetFilterPredicate; - type ReturnTypeFromOptions = T extends { - includeComments: true; - } ? GetFilterPredicateFromOptions : GetFilterPredicateFromOptions>; - type CursorWithSkipOptions = number | { - /** - * The predicate function to choose tokens. - */ - filter?: FilterPredicate; - /** - * The flag to iterate comments as well. - */ - includeComments?: boolean; - /** - * The count of tokens the cursor skips. - */ - skip?: number; - } | FilterPredicate; - type CursorWithCountOptions = number | { - /** - * The maximum count of tokens the cursor iterates. - */ - count?: number; - /** - * The predicate function to choose tokens. - */ - filter?: FilterPredicate; - /** - * The flag to iterate comments as well. - */ - includeComments?: boolean; - } | FilterPredicate; -} -declare const SourceCode_base: typeof SourceCodeBase; -declare class SourceCode extends SourceCode_base { -} -export { SourceCode }; -//# sourceMappingURL=SourceCode.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts.map deleted file mode 100644 index 0bd7b58c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SourceCode.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/SourceCode.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js deleted file mode 100644 index 8e029b15..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.SourceCode = void 0; -const eslint_1 = require("eslint"); -class SourceCode extends eslint_1.SourceCode { -} -exports.SourceCode = SourceCode; -//# sourceMappingURL=SourceCode.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js.map deleted file mode 100644 index 485d6cdb..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SourceCode.js","sourceRoot":"","sources":["../../src/ts-eslint/SourceCode.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,mCAAwD;AAmcxD,MAAM,UAAW,SAAS,mBAA0C;CAAG;AAE9D,gCAAU"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts deleted file mode 100644 index f550f10e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts +++ /dev/null @@ -1,382 +0,0 @@ -import type { Linter } from '../Linter'; -import type { RuleMetaData } from '../Rule'; -export declare class ESLintBase> { - /** - * Creates a new instance of the main ESLint API. - * @param options The options for this instance. - */ - constructor(options?: Options); - /** - * This method calculates the configuration for a given file, which can be useful for debugging purposes. - * - It resolves and merges extends and overrides settings into the top level configuration. - * - It resolves the parser setting to absolute paths. - * - It normalizes the plugins setting to align short names. (e.g., eslint-plugin-foo → foo) - * - It adds the processor setting if a legacy file extension processor is matched. - * - It doesn't interpret the env setting to the globals and parserOptions settings, so the result object contains - * the env setting as is. - * @param filePath The path to the file whose configuration you would like to calculate. Directory paths are forbidden - * because ESLint cannot handle the overrides setting. - * @returns The promise that will be fulfilled with a configuration object. - */ - calculateConfigForFile(filePath: string): Promise; - getRulesMetaForResults(results: LintResult[]): Record>>; - /** - * This method checks if a given file is ignored by your configuration. - * @param filePath The path to the file you want to check. - * @returns The promise that will be fulfilled with whether the file is ignored or not. If the file is ignored, then - * it will return true. - */ - isPathIgnored(filePath: string): Promise; - /** - * This method lints the files that match the glob patterns and then returns the results. - * @param patterns The lint target files. This can contain any of file paths, directory paths, and glob patterns. - * @returns The promise that will be fulfilled with an array of LintResult objects. - */ - lintFiles(patterns: string | string[]): Promise; - /** - * This method lints the given source code text and then returns the results. - * - * By default, this method uses the configuration that applies to files in the current working directory (the cwd - * constructor option). If you want to use a different configuration, pass options.filePath, and ESLint will load the - * same configuration that eslint.lintFiles() would use for a file at options.filePath. - * - * If the options.filePath value is configured to be ignored, this method returns an empty array. If the - * options.warnIgnored option is set along with the options.filePath option, this method returns a LintResult object. - * In that case, the result may contain a warning that indicates the file was ignored. - * @param code The source code text to check. - * @returns The promise that will be fulfilled with an array of LintResult objects. This is an array (despite there - * being only one lint result) in order to keep the interfaces between this and the eslint.lintFiles() - * method similar. - */ - lintText(code: string, options?: LintTextOptions): Promise; - /** - * This method loads a formatter. Formatters convert lint results to a human- or machine-readable string. - * @param name TThe path to the file you want to check. - * The following values are allowed: - * - undefined. In this case, loads the "stylish" built-in formatter. - * - A name of built-in formatters. - * - A name of third-party formatters. For examples: - * -- `foo` will load eslint-formatter-foo. - * -- `@foo` will load `@foo/eslint-formatter`. - * -- `@foo/bar` will load `@foo/eslint-formatter-bar`. - * - A path to the file that defines a formatter. The path must contain one or more path separators (/) in order to distinguish if it's a path or not. For example, start with ./. - * @returns The promise that will be fulfilled with a Formatter object. - */ - loadFormatter(name?: string): Promise; - /** - * This method copies the given results and removes warnings. The returned value contains only errors. - * @param results The LintResult objects to filter. - * @returns The filtered LintResult objects. - */ - static getErrorResults(results: LintResult): LintResult; - /** - * This method writes code modified by ESLint's autofix feature into its respective file. If any of the modified - * files don't exist, this method does nothing. - * @param results The LintResult objects to write. - * @returns The promise that will be fulfilled after all files are written. - */ - static outputFixes(results: LintResult[]): Promise; - /** - * The version text. - */ - static readonly version: string; - /** - * The type of configuration used by this class. - */ - static readonly configType: Linter.ConfigTypeSpecifier; -} -export interface ESLintOptions { - /** - * If false is present, ESLint suppresses directive comments in source code. - * If this option is false, it overrides the noInlineConfig setting in your configurations. - * @default true - */ - allowInlineConfig?: boolean; - /** - * Configuration object, extended by all configurations used with this instance. - * You can use this option to define the default settings that will be used if your configuration files don't - * configure it. - * @default null - */ - baseConfig?: Config | null; - /** - * If `true` is present, the `eslint.lintFiles()` method caches lint results and uses it if each target file is not - * changed. Please mind that ESLint doesn't clear the cache when you upgrade ESLint plugins. In that case, you have - * to remove the cache file manually. The `eslint.lintText()` method doesn't use caches even if you pass the - * options.filePath to the method. - * @default false - */ - cache?: boolean; - /** - * The eslint.lintFiles() method writes caches into this file. - * @default '.eslintcache' - */ - cacheLocation?: string; - /** - * Strategy for the cache to use for detecting changed files. - * @default 'metadata' - */ - cacheStrategy?: 'content' | 'metadata'; - /** - * The working directory. This must be an absolute path. - * @default process.cwd() - */ - cwd?: string; - /** - * Unless set to false, the `eslint.lintFiles()` method will throw an error when no target files are found. - * @default true - */ - errorOnUnmatchedPattern?: boolean; - /** - * If `true` is present, the `eslint.lintFiles()` and `eslint.lintText()` methods work in autofix mode. - * If a predicate function is present, the methods pass each lint message to the function, then use only the - * lint messages for which the function returned true. - * @default false - */ - fix?: boolean | ((message: LintMessage) => boolean); - /** - * The types of the rules that the `eslint.lintFiles()` and `eslint.lintText()` methods use for autofix. - * @default null - */ - fixTypes?: ('directive' | 'problem' | 'suggestion')[] | null; - /** - * If false is present, the `eslint.lintFiles()` method doesn't interpret glob patterns. - * @default true - */ - globInputPaths?: boolean; - /** - * Configuration object, overrides all configurations used with this instance. - * You can use this option to define the settings that will be used even if your configuration files configure it. - * @default null - */ - overrideConfig?: Config | null; - /** - * When set to true, missing patterns cause the linting operation to short circuit and not report any failures. - * @default false - */ - passOnNoPatterns?: boolean; - /** - * The plugin implementations that ESLint uses for the plugins setting of your configuration. - * This is a map-like object. Those keys are plugin IDs and each value is implementation. - * @default null - */ - plugins?: Record | null; -} -export interface DeprecatedRuleInfo { - /** - * The rule IDs that replace this deprecated rule. - */ - replacedBy: string[]; - /** - * The rule ID. - */ - ruleId: string; -} -/** - * The LintResult value is the information of the linting result of each file. - */ -export interface LintResult { - /** - * The number of errors. This includes fixable errors. - */ - errorCount: number; - /** - * The number of fatal errors. - */ - fatalErrorCount: number; - /** - * The absolute path to the file of this result. This is the string "" if the file path is unknown (when you - * didn't pass the options.filePath option to the eslint.lintText() method). - */ - filePath: string; - /** - * The number of errors that can be fixed automatically by the fix constructor option. - */ - fixableErrorCount: number; - /** - * The number of warnings that can be fixed automatically by the fix constructor option. - */ - fixableWarningCount: number; - /** - * The array of LintMessage objects. - */ - messages: LintMessage[]; - /** - * The source code of the file that was linted, with as many fixes applied as possible. - */ - output?: string; - /** - * The original source code text. This property is undefined if any messages didn't exist or the output - * property exists. - */ - source?: string; - /** - * Timing information of the lint run. - * This exists if and only if the `--stats` CLI flag was added or the `stats: true` - * option was passed to the ESLint class - * @since 9.0.0 - */ - stats?: LintStats; - /** - * The array of SuppressedLintMessage objects. - */ - suppressedMessages: SuppressedLintMessage[]; - /** - * The information about the deprecated rules that were used to check this file. - */ - usedDeprecatedRules: DeprecatedRuleInfo[]; - /** - * The number of warnings. This includes fixable warnings. - */ - warningCount: number; -} -export interface LintStats { - /** - * The number of times ESLint has applied at least one fix after linting. - */ - fixPasses: number; - /** - * The times spent on (parsing, fixing, linting) a file, where the linting refers to the timing information for each rule. - */ - times: { - passes: LintStatsTimePass[]; - }; -} -export interface LintStatsTimePass { - /** - * The total time that is spent on applying fixes to the code. - */ - fix: LintStatsFixTime; - /** - * The total time that is spent when parsing a file. - */ - parse: LintStatsParseTime; - /** - * The total time that is spent on a rule. - */ - rules?: Record; - /** - * The cumulative total - */ - total: number; -} -export interface LintStatsParseTime { - total: number; -} -export interface LintStatsRuleTime { - total: number; -} -export interface LintStatsFixTime { - total: number; -} -export interface LintTextOptions { - /** - * The path to the file of the source code text. If omitted, the result.filePath becomes the string "". - */ - filePath?: string; - /** - * If true is present and the options.filePath is a file ESLint should ignore, this method returns a lint result - * contains a warning message. - */ - warnIgnored?: boolean; -} -/** - * The LintMessage value is the information of each linting error. - */ -export interface LintMessage { - /** - * The 1-based column number of the begin point of this message. - */ - column: number | undefined; - /** - * The 1-based column number of the end point of this message. This property is undefined if this message - * is not a range. - */ - endColumn: number | undefined; - /** - * The 1-based line number of the end point of this message. This property is undefined if this - * message is not a range. - */ - endLine: number | undefined; - /** - * `true` if this is a fatal error unrelated to a rule, like a parsing error. - */ - fatal?: boolean | undefined; - /** - * The EditInfo object of autofix. This property is undefined if this message is not fixable. - */ - fix: EditInfo | undefined; - /** - * The 1-based line number of the begin point of this message. - */ - line: number | undefined; - /** - * The error message - */ - message: string; - /** - * The rule name that generates this lint message. If this message is generated by the ESLint core rather than - * rules, this is null. - */ - ruleId: string | null; - /** - * The severity of this message. 1 means warning and 2 means error. - */ - severity: 1 | 2; - /** - * The list of suggestions. Each suggestion is the pair of a description and an EditInfo object to fix code. API - * users such as editor integrations can choose one of them to fix the problem of this message. This property is - * undefined if this message doesn't have any suggestions. - */ - suggestions: { - desc: string; - fix: EditInfo; - }[] | undefined; -} -/** - * The SuppressedLintMessage value is the information of each suppressed linting error. - */ -export interface SuppressedLintMessage extends LintMessage { - /** - * The list of suppressions. - */ - suppressions?: { - /** - * The free text description added after the `--` in the comment - */ - justification: string; - /** - * Right now, this is always `directive` - */ - kind: string; - }[]; -} -/** - * The EditInfo value is information to edit text. - * - * This edit information means replacing the range of the range property by the text property value. It's like - * sourceCodeText.slice(0, edit.range[0]) + edit.text + sourceCodeText.slice(edit.range[1]). Therefore, it's an add - * if the range[0] and range[1] property values are the same value, and it's removal if the text property value is - * empty string. - */ -export interface EditInfo { - /** - * The pair of 0-based indices in source code text to remove. - */ - range: [number, number]; - /** - * The text to add. - */ - text: string; -} -/** - * The Formatter value is the object to convert the LintResult objects to text. - */ -export interface Formatter { - /** - * The method to convert the LintResult objects to text. - * Promise return supported since 8.4.0 - */ - format(results: LintResult[]): string | Promise; -} -//# sourceMappingURL=ESLintShared.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts.map deleted file mode 100644 index d9678ca1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ESLintShared.d.ts","sourceRoot":"","sources":["../../../src/ts-eslint/eslint/ESLintShared.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js deleted file mode 100644 index 09d9a311..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=ESLintShared.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js.map deleted file mode 100644 index 02869193..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ESLintShared.js","sourceRoot":"","sources":["../../../src/ts-eslint/eslint/ESLintShared.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts deleted file mode 100644 index bb4ea72d..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts +++ /dev/null @@ -1,84 +0,0 @@ -import type { FlatConfig } from '../Config'; -import type * as Shared from './ESLintShared'; -declare class FlatESLintBase extends Shared.ESLintBase { - static readonly configType: 'flat'; - /** - * Returns a configuration object for the given file based on the CLI options. - * This is the same logic used by the ESLint CLI executable to determine - * configuration for each file it processes. - * @param filePath The path of the file to retrieve a config object for. - * @returns A configuration object for the file or `undefined` if there is no configuration data for the object. - */ - calculateConfigForFile(filePath: string): Promise; - /** - * Finds the config file being used by this instance based on the options - * passed to the constructor. - * @returns The path to the config file being used or `undefined` if no config file is being used. - */ - findConfigFile(): Promise; -} -declare const FlatESLint_base: typeof FlatESLintBase; -/** - * The ESLint class is the primary class to use in Node.js applications. - * This class depends on the Node.js fs module and the file system, so you cannot use it in browsers. - * - * If you want to lint code on browsers, use the Linter class instead. - */ -export declare class FlatESLint extends FlatESLint_base { -} -export declare namespace FlatESLint { - interface ESLintOptions extends Shared.ESLintOptions { - /** - * If false is present, the eslint.lintFiles() method doesn't respect `ignorePatterns` ignorePatterns in your configuration. - * @default true - */ - ignore?: boolean; - /** - * Ignore file patterns to use in addition to config ignores. These patterns are relative to cwd. - * @default null - */ - ignorePatterns?: string[] | null; - /** - * The path to a configuration file, overrides all configurations used with this instance. - * The options.overrideConfig option is applied after this option is applied. - * Searches for default config file when falsy; doesn't do any config file lookup when `true`; considered to be a config filename when a string. - * @default false - */ - overrideConfigFile?: boolean | string; - /** - * A predicate function that filters rules to be run. - * This function is called with an object containing `ruleId` and `severity`, and returns `true` if the rule should be run. - * @default () => true - */ - ruleFilter?: RuleFilter; - /** - * When set to true, additional statistics are added to the lint results. - * @see {@link https://eslint.org/docs/latest/extend/stats} - * @default false - */ - stats?: boolean; - /** - * Show warnings when the file list includes ignored files. - * @default true - */ - warnIgnored?: boolean; - } - type DeprecatedRuleInfo = Shared.DeprecatedRuleInfo; - type EditInfo = Shared.EditInfo; - type Formatter = Shared.Formatter; - type LintMessage = Shared.LintMessage; - type LintResult = Shared.LintResult; - type LintStats = Shared.LintStats; - type LintStatsFixTime = Shared.LintStatsFixTime; - type LintStatsParseTime = Shared.LintStatsParseTime; - type LintStatsRuleTime = Shared.LintStatsRuleTime; - type LintStatsTimePass = Shared.LintStatsTimePass; - type LintTextOptions = Shared.LintTextOptions; - type SuppressedLintMessage = Shared.SuppressedLintMessage; - type RuleFilter = (rule: { - ruleId: string; - severity: number; - }) => boolean; -} -export {}; -//# sourceMappingURL=FlatESLint.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts.map deleted file mode 100644 index 3afc310a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FlatESLint.d.ts","sourceRoot":"","sources":["../../../src/ts-eslint/eslint/FlatESLint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAG9C,OAAO,OAAO,cAAe,SAAQ,MAAM,CAAC,UAAU,CACpD,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,aAAa,CACzB;IACC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAEnC;;;;;;OAMG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;IAEzE;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAC9C;+BAQoD,OAAO,cAAc;AAN1E;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,eAA2C;CAAG;AAC9E,yBAAiB,UAAU,CAAC;IAC1B,UAAiB,aACf,SAAQ,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC;QACpD;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACjC;;;;;WAKG;QACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACtC;;;;WAIG;QACH,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB;;;;WAIG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB;;;WAGG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;IACD,KAAY,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC3D,KAAY,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACvC,KAAY,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACzC,KAAY,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7C,KAAY,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC3C,KAAY,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACzC,KAAY,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACvD,KAAY,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC3D,KAAY,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACzD,KAAY,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACzD,KAAY,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IACrD,KAAY,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACjE,KAAY,UAAU,GAAG,CAAC,IAAI,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC;CACf"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js deleted file mode 100644 index 1add2c67..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.FlatESLint = void 0; -/* eslint-disable @typescript-eslint/no-namespace */ -const use_at_your_own_risk_1 = require("eslint/use-at-your-own-risk"); -/** - * The ESLint class is the primary class to use in Node.js applications. - * This class depends on the Node.js fs module and the file system, so you cannot use it in browsers. - * - * If you want to lint code on browsers, use the Linter class instead. - */ -class FlatESLint extends use_at_your_own_risk_1.FlatESLint { -} -exports.FlatESLint = FlatESLint; -//# sourceMappingURL=FlatESLint.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js.map deleted file mode 100644 index ee314e19..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"FlatESLint.js","sourceRoot":"","sources":["../../../src/ts-eslint/eslint/FlatESLint.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,sEAA6E;AA6B7E;;;;;GAKG;AACH,MAAa,UAAW,SAAS,iCAA0C;CAAG;AAA9E,gCAA8E"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts deleted file mode 100644 index 698c0120..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts +++ /dev/null @@ -1,73 +0,0 @@ -import type { ClassicConfig } from '../Config'; -import type { Linter } from '../Linter'; -import type * as Shared from './ESLintShared'; -declare class LegacyESLintBase extends Shared.ESLintBase { - static readonly configType: 'eslintrc'; -} -declare const LegacyESLint_base: typeof LegacyESLintBase; -/** - * The ESLint class is the primary class to use in Node.js applications. - * This class depends on the Node.js fs module and the file system, so you cannot use it in browsers. - * - * If you want to lint code on browsers, use the Linter class instead. - */ -export declare class LegacyESLint extends LegacyESLint_base { -} -export declare namespace LegacyESLint { - interface ESLintOptions extends Shared.ESLintOptions { - /** - * If you pass directory paths to the eslint.lintFiles() method, ESLint checks the files in those directories that - * have the given extensions. For example, when passing the src/ directory and extensions is [".js", ".ts"], ESLint - * will lint *.js and *.ts files in src/. If extensions is null, ESLint checks *.js files and files that match - * overrides[].files patterns in your configuration. - * Note: This option only applies when you pass directory paths to the eslint.lintFiles() method. - * If you pass glob patterns, ESLint will lint all files matching the glob pattern regardless of extension. - */ - extensions?: string[] | null; - /** - * If false is present, the eslint.lintFiles() method doesn't respect `.eslintignore` files in your configuration. - * @default true - */ - ignore?: boolean; - /** - * The path to a file ESLint uses instead of `$CWD/.eslintignore`. - * If a path is present and the file doesn't exist, this constructor will throw an error. - */ - ignorePath?: string; - /** - * The path to a configuration file, overrides all configurations used with this instance. - * The options.overrideConfig option is applied after this option is applied. - */ - overrideConfigFile?: string | null; - /** - * The severity to report unused eslint-disable directives. - * If this option is a severity, it overrides the reportUnusedDisableDirectives setting in your configurations. - */ - reportUnusedDisableDirectives?: Linter.SeverityString | null; - /** - * The path to a directory where plugins should be resolved from. - * If null is present, ESLint loads plugins from the location of the configuration file that contains the plugin - * setting. - * If a path is present, ESLint loads all plugins from there. - */ - resolvePluginsRelativeTo?: string | null; - /** - * An array of paths to directories to load custom rules from. - */ - rulePaths?: string[]; - /** - * If false is present, ESLint doesn't load configuration files (.eslintrc.* files). - * Only the configuration of the constructor options is valid. - */ - useEslintrc?: boolean; - } - type DeprecatedRuleInfo = Shared.DeprecatedRuleInfo; - type EditInfo = Shared.EditInfo; - type Formatter = Shared.Formatter; - type LintMessage = Shared.LintMessage; - type LintResult = Omit; - type LintTextOptions = Shared.LintTextOptions; - type SuppressedLintMessage = Shared.SuppressedLintMessage; -} -export {}; -//# sourceMappingURL=LegacyESLint.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts.map deleted file mode 100644 index e798f27c..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LegacyESLint.d.ts","sourceRoot":"","sources":["../../../src/ts-eslint/eslint/LegacyESLint.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAG9C,OAAO,OAAO,gBAAiB,SAAQ,MAAM,CAAC,UAAU,CACtD,aAAa,CAAC,MAAM,EACpB,YAAY,CAAC,aAAa,CAC3B;IACC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACxC;iCAQwD,OAAO,gBAAgB;AANhF;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,iBAA+C;CAAG;AACpF,yBAAiB,YAAY,CAAC;IAC5B,UAAiB,aACf,SAAQ,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;QAClD;;;;;;;WAOG;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC7B;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC;;;WAGG;QACH,6BAA6B,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7D;;;;;WAKG;QACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzC;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB;;;WAGG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;IACD,KAAY,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC3D,KAAY,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACvC,KAAY,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACzC,KAAY,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7C,KAAY,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1D,KAAY,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IACrD,KAAY,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;CAClE"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js deleted file mode 100644 index 88f281e1..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -/* eslint-disable @typescript-eslint/no-namespace */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.LegacyESLint = void 0; -const use_at_your_own_risk_1 = require("eslint/use-at-your-own-risk"); -/** - * The ESLint class is the primary class to use in Node.js applications. - * This class depends on the Node.js fs module and the file system, so you cannot use it in browsers. - * - * If you want to lint code on browsers, use the Linter class instead. - */ -class LegacyESLint extends use_at_your_own_risk_1.LegacyESLint { -} -exports.LegacyESLint = LegacyESLint; -//# sourceMappingURL=LegacyESLint.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js.map deleted file mode 100644 index 69aa943a..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LegacyESLint.js","sourceRoot":"","sources":["../../../src/ts-eslint/eslint/LegacyESLint.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,sEAAiF;AAcjF;;;;;GAKG;AACH,MAAa,YAAa,SAAS,mCAA8C;CAAG;AAApF,oCAAoF"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts deleted file mode 100644 index 17edebe9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export * from './AST'; -export * from './Config'; -export * from './ESLint'; -export * from './Linter'; -export * from './Parser'; -export * from './ParserOptions'; -export * from './Processor'; -export * from './Rule'; -export * from './RuleTester'; -export * from './Scope'; -export * from './SourceCode'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts.map deleted file mode 100644 index 31ec4265..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts-eslint/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js deleted file mode 100644 index 85b7e5cf..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./AST"), exports); -__exportStar(require("./Config"), exports); -__exportStar(require("./ESLint"), exports); -__exportStar(require("./Linter"), exports); -__exportStar(require("./Parser"), exports); -__exportStar(require("./ParserOptions"), exports); -__exportStar(require("./Processor"), exports); -__exportStar(require("./Rule"), exports); -__exportStar(require("./RuleTester"), exports); -__exportStar(require("./Scope"), exports); -__exportStar(require("./SourceCode"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js.map deleted file mode 100644 index b7821e91..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts-eslint/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,yCAAuB;AACvB,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts deleted file mode 100644 index 43b2b754..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { AST_NODE_TYPES, AST_TOKEN_TYPES, TSESTree, } from '@typescript-eslint/types'; -export type { ParserServices, ParserServicesWithoutTypeInformation, ParserServicesWithTypeInformation, } from '@typescript-eslint/typescript-estree'; -//# sourceMappingURL=ts-estree.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts.map deleted file mode 100644 index 3a7063c3..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ts-estree.d.ts","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,cAAc,EACd,oCAAoC,EACpC,iCAAiC,GAClC,MAAM,sCAAsC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js deleted file mode 100644 index 4a32e9c8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -// for convenience's sake - export the types directly from here so consumers -// don't need to reference/install both packages in their code -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TSESTree = exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; -var types_1 = require("@typescript-eslint/types"); -Object.defineProperty(exports, "AST_NODE_TYPES", { enumerable: true, get: function () { return types_1.AST_NODE_TYPES; } }); -Object.defineProperty(exports, "AST_TOKEN_TYPES", { enumerable: true, get: function () { return types_1.AST_TOKEN_TYPES; } }); -Object.defineProperty(exports, "TSESTree", { enumerable: true, get: function () { return types_1.TSESTree; } }); -//# sourceMappingURL=ts-estree.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js.map deleted file mode 100644 index 4806a284..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-estree.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ts-estree.js","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8DAA8D;;;AAE9D,kDAIkC;AAHhC,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,iGAAA,QAAQ,OAAA"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts deleted file mode 100644 index 163c4043..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * We could use NoInfer typescript build-in utility - * introduced in typescript 5.4, however at the moment of creation - * the supported ts versions are >=4.8.4 <5.7.0 - * so for the moment we have to stick to this polyfill. - * - * @see https://github.com/millsp/ts-toolbelt/blob/master/sources/Function/NoInfer.ts - */ -export type NoInfer
= [A][A extends unknown ? 0 : never]; -//# sourceMappingURL=NoInfer.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts.map deleted file mode 100644 index 44bb4ef9..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NoInfer.d.ts","sourceRoot":"","sources":["../../src/ts-utils/NoInfer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js deleted file mode 100644 index af801291..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=NoInfer.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js.map deleted file mode 100644 index 28310d3b..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NoInfer.js","sourceRoot":"","sources":["../../src/ts-utils/NoInfer.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts deleted file mode 100644 index da4764b0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './isArray'; -export * from './NoInfer'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts.map deleted file mode 100644 index d1bbe756..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts-utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js deleted file mode 100644 index cb645cda..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -__exportStar(require("./isArray"), exports); -__exportStar(require("./NoInfer"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js.map deleted file mode 100644 index 795d41e0..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts-utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts deleted file mode 100644 index ddefcee8..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function isArray(arg: unknown): arg is readonly unknown[]; -//# sourceMappingURL=isArray.d.ts.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts.map deleted file mode 100644 index 55264f27..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isArray.d.ts","sourceRoot":"","sources":["../../src/ts-utils/isArray.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,OAAO,EAAE,CAE/D"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js deleted file mode 100644 index 92a7237e..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isArray = isArray; -// https://github.com/microsoft/TypeScript/issues/17002 -function isArray(arg) { - return Array.isArray(arg); -} -//# sourceMappingURL=isArray.js.map \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js.map b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js.map deleted file mode 100644 index ea8aabab..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"isArray.js","sourceRoot":"","sources":["../../src/ts-utils/isArray.ts"],"names":[],"mappings":";;AACA,0BAEC;AAHD,uDAAuD;AACvD,SAAgB,OAAO,CAAC,GAAY;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC"} \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint deleted file mode 100755 index a8276527..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -else - exec node "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc deleted file mode 100755 index e22a0b41..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver deleted file mode 100755 index 9fda3685..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -else - exec node "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" -fi diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/package.json b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/package.json deleted file mode 100644 index e328e5ba..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/@typescript-eslint/utils/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "name": "@typescript-eslint/utils", - "version": "8.18.1", - "description": "Utilities for working with TypeScript + ESLint together", - "files": [ - "dist", - "_ts4.3", - "package.json", - "README.md", - "LICENSE" - ], - "type": "commonjs", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "./ast-utils": { - "types": "./dist/ast-utils/index.d.ts", - "default": "./dist/ast-utils/index.js" - }, - "./eslint-utils": { - "types": "./dist/eslint-utils/index.d.ts", - "default": "./dist/eslint-utils/index.js" - }, - "./json-schema": { - "types": "./dist/json-schema.d.ts", - "default": "./dist/json-schema.js" - }, - "./ts-eslint": { - "types": "./dist/ts-eslint/index.d.ts", - "default": "./dist/ts-eslint/index.js" - }, - "./package.json": "./package.json" - }, - "types": "./dist/index.d.ts", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/typescript-eslint/typescript-eslint.git", - "directory": "packages/utils" - }, - "bugs": { - "url": "https://github.com/typescript-eslint/typescript-eslint/issues" - }, - "homepage": "https://typescript-eslint.io/packages/utils", - "license": "MIT", - "keywords": [ - "eslint", - "typescript", - "estree" - ], - "scripts": { - "build": "tsc -b tsconfig.build.json", - "postbuild": "downlevel-dts dist _ts4.3/dist --to=4.3", - "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf _ts3.4 && rimraf _ts4.3 && rimraf coverage", - "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", - "lint": "npx nx lint", - "test": "jest --coverage", - "typecheck": "tsc --noEmit" - }, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.18.1", - "@typescript-eslint/types": "8.18.1", - "@typescript-eslint/typescript-estree": "8.18.1" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - }, - "devDependencies": { - "downlevel-dts": "*", - "jest": "29.7.0", - "prettier": "^3.2.5", - "rimraf": "*", - "typescript": "*" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "typesVersions": { - "<4.7": { - "*": [ - "_ts4.3/*" - ] - } - } -} diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint deleted file mode 120000 index 399abca6..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/eslint +++ /dev/null @@ -1 +0,0 @@ -../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript deleted file mode 120000 index f7655194..00000000 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.6__typescript@5.7.2/node_modules/typescript +++ /dev/null @@ -1 +0,0 @@ -../../typescript@5.7.2/node_modules/typescript \ No newline at end of file diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint index a36c7d02..4f4d7136 100755 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint +++ b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/eslint.js" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc index e22a0b41..8df059d3 100755 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc +++ b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsc" "$@" diff --git a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver index 9fda3685..0651c4d2 100755 --- a/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver +++ b/node_modules/.pnpm/@typescript-eslint+utils@8.18.1_eslint@9.17.0_jiti@1.21.7__typescript@5.7.2/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules/typescript/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/typescript@5.7.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../typescript@5.7.2/node_modules/typescript/bin/tsserver" "$@" diff --git a/node_modules/.pnpm/@vitejs+plugin-react@4.3.4_vite@5.4.11_@types+node@22.10.2_/node_modules/@vitejs/plugin-react/node_modules/.bin/vite b/node_modules/.pnpm/@vitejs+plugin-react@4.3.4_vite@5.4.11_@types+node@22.10.2_/node_modules/@vitejs/plugin-react/node_modules/.bin/vite index 0f465215..4c353dc7 100755 --- a/node_modules/.pnpm/@vitejs+plugin-react@4.3.4_vite@5.4.11_@types+node@22.10.2_/node_modules/@vitejs/plugin-react/node_modules/.bin/vite +++ b/node_modules/.pnpm/@vitejs+plugin-react@4.3.4_vite@5.4.11_@types+node@22.10.2_/node_modules/@vitejs/plugin-react/node_modules/.bin/vite @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules/vite/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/vite@5.4.11_@types+node@22.10.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../../vite@5.4.11_@types+node@22.10.2/node_modules/vite/bin/vite.js" "$@" diff --git a/node_modules/.pnpm/acorn-jsx@5.3.2_acorn@8.14.0/node_modules/acorn-jsx/node_modules/.bin/acorn b/node_modules/.pnpm/acorn-jsx@5.3.2_acorn@8.14.0/node_modules/acorn-jsx/node_modules/.bin/acorn index 2563af31..fc384379 100755 --- a/node_modules/.pnpm/acorn-jsx@5.3.2_acorn@8.14.0/node_modules/acorn-jsx/node_modules/.bin/acorn +++ b/node_modules/.pnpm/acorn-jsx@5.3.2_acorn@8.14.0/node_modules/acorn-jsx/node_modules/.bin/acorn @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../acorn@8.14.0/node_modules/acorn/bin/acorn" "$@" diff --git a/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/node_modules/.bin/browserslist b/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/node_modules/.bin/browserslist index f80049a2..9439ed90 100755 --- a/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/node_modules/.bin/browserslist +++ b/node_modules/.pnpm/autoprefixer@10.4.20_postcss@8.4.49/node_modules/autoprefixer/node_modules/.bin/browserslist @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/browserslist@4.24.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../browserslist@4.24.3/node_modules/browserslist/cli.js" "$@" diff --git a/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules/.bin/update-browserslist-db b/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules/.bin/update-browserslist-db index a9cac42d..64c72a76 100755 --- a/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules/.bin/update-browserslist-db +++ b/node_modules/.pnpm/browserslist@4.24.3/node_modules/browserslist/node_modules/.bin/update-browserslist-db @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules/update-browserslist-db/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules/update-browserslist-db/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules/update-browserslist-db/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules/update-browserslist-db/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../update-browserslist-db@1.1.1_browserslist@4.24.3/node_modules/update-browserslist-db/cli.js" "$@" diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/LICENSE b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/LICENSE deleted file mode 100644 index 06c608dc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/LICENSE +++ /dev/null @@ -1,395 +0,0 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/README.md b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/README.md deleted file mode 100644 index f2c67bc4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# caniuse-lite - -A smaller version of caniuse-db, with only the essentials! - -## Docs -Read full docs **[here](https://github.com/browserslist/caniuse-lite#readme)**. diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/agents.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/agents.js deleted file mode 100644 index cb3da59f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/agents.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{K:0,D:0,E:0.0155714,F:0.0311427,A:0,B:0.373713,hC:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","hC","K","D","E","F","A","B","","",""],E:"IE",F:{hC:962323200,K:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{"6":0.003533,"7":0.003533,"8":0.007066,"9":0.003533,C:0,L:0,M:0,G:0,N:0,O:0.003533,P:0.056528,Q:0,H:0,R:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0.014132,c:0,d:0,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0,m:0,n:0,o:0,p:0,q:0,r:0.003533,s:0.052995,t:0.003533,u:0.003533,v:0.003533,w:0.007066,x:0.010599,AB:0.007066,BB:0.028264,CB:0.010599,DB:0.014132,EB:0.007066,FB:0.010599,GB:0.014132,HB:0.028264,IB:0.028264,JB:0.038863,KB:0.144853,LB:2.5049,I:1.55805},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","L","M","G","N","O","P","Q","H","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","I","","",""],E:"Edge",F:{"6":1689897600,"7":1692576000,"8":1694649600,"9":1697155200,C:1438128000,L:1447286400,M:1470096000,G:1491868800,N:1508198400,O:1525046400,P:1542067200,Q:1579046400,H:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,i:1646265600,j:1649635200,k:1651190400,l:1653955200,m:1655942400,n:1659657600,o:1661990400,p:1664755200,q:1666915200,r:1670198400,s:1673481600,t:1675900800,u:1678665600,v:1680825600,w:1683158400,x:1685664000,AB:1698969600,BB:1701993600,CB:1706227200,DB:1708732800,EB:1711152000,FB:1713398400,GB:1715990400,HB:1718841600,IB:1721865600,JB:1724371200,KB:1726704000,LB:1729123200,I:1731542400},D:{C:"ms",L:"ms",M:"ms",G:"ms",N:"ms",O:"ms",P:"ms"}},C:{A:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0.250843,"7":0,"8":0,"9":0.07066,iC:0,IC:0,J:0,MB:0,K:0,D:0,E:0,F:0,A:0,B:0.014132,C:0,L:0,M:0,G:0,N:0,O:0,P:0,NB:0,y:0,z:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0.003533,eB:0.007066,fB:0,gB:0,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0.024731,nB:0,oB:0,pB:0.003533,qB:0.014132,rB:0,sB:0,JC:0.003533,tB:0,KC:0,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,"0B":0,"1B":0,"2B":0,"3B":0,"4B":0.003533,"5B":0,"6B":0,"7B":0,"8B":0,"9B":0,AC:0.010599,Q:0,H:0,R:0,LC:0,S:0,T:0,U:0,V:0,W:0,X:0.003533,Y:0,Z:0,a:0,b:0,c:0,d:0,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0.003533,m:0.007066,n:0,o:0,p:0,q:0,r:0,s:0.003533,t:0,u:0,v:0,w:0.007066,x:0,AB:0,BB:0.007066,CB:0,DB:0,EB:0.003533,FB:0,GB:0.017665,HB:0.010599,IB:0.014132,JB:0.07066,KB:0.010599,LB:0.017665,I:0.113056,BC:1.36727,MC:0.113056,NC:0,jC:0,kC:0,lC:0,mC:0},B:"moz",C:["iC","IC","lC","mC","J","MB","K","D","E","F","A","B","C","L","M","G","N","O","P","NB","y","z","0","1","2","3","4","5","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","JC","tB","KC","uB","vB","wB","xB","yB","zB","0B","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","Q","H","R","LC","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","I","BC","MC","NC","jC","kC"],E:"Firefox",F:{"0":1368489600,"1":1372118400,"2":1375747200,"3":1379376000,"4":1386633600,"5":1391472000,"6":1688428800,"7":1690848000,"8":1693267200,"9":1695686400,iC:1161648000,IC:1213660800,lC:1246320000,mC:1264032000,J:1300752000,MB:1308614400,K:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,L:1335225600,M:1338854400,G:1342483200,N:1346112000,O:1349740800,P:1353628800,NB:1357603200,y:1361232000,z:1364860800,OB:1395100800,PB:1398729600,QB:1402358400,RB:1405987200,SB:1409616000,TB:1413244800,UB:1417392000,VB:1421107200,WB:1424736000,XB:1428278400,YB:1431475200,ZB:1435881600,aB:1439251200,bB:1442880000,cB:1446508800,dB:1450137600,eB:1453852800,fB:1457395200,gB:1461628800,hB:1465257600,iB:1470096000,jB:1474329600,kB:1479168000,lB:1485216000,mB:1488844800,nB:1492560000,oB:1497312000,pB:1502150400,qB:1506556800,rB:1510617600,sB:1516665600,JC:1520985600,tB:1525824000,KC:1529971200,uB:1536105600,vB:1540252800,wB:1544486400,xB:1548720000,yB:1552953600,zB:1558396800,"0B":1562630400,"1B":1567468800,"2B":1571788800,"3B":1575331200,"4B":1578355200,"5B":1581379200,"6B":1583798400,"7B":1586304000,"8B":1588636800,"9B":1591056000,AC:1593475200,Q:1595894400,H:1598313600,R:1600732800,LC:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,i:1649116800,j:1651536000,k:1653955200,l:1656374400,m:1658793600,n:1661212800,o:1663632000,p:1666051200,q:1668470400,r:1670889600,s:1673913600,t:1676332800,u:1678752000,v:1681171200,w:1683590400,x:1686009600,AB:1698105600,BB:1700524800,CB:1702944000,DB:1705968000,EB:1708387200,FB:1710806400,GB:1713225600,HB:1715644800,IB:1718064000,JB:1720483200,KB:1722902400,LB:1725321600,I:1727740800,BC:1730160000,MC:1732579200,NC:null,jC:null,kC:null}},D:{A:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0.021198,"7":0.14132,"8":0.063594,"9":0.063594,J:0,MB:0,K:0,D:0,E:0,F:0,A:0,B:0,C:0,L:0,M:0,G:0,N:0,O:0,P:0,NB:0,y:0,z:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0.007066,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0.003533,gB:0,hB:0.003533,iB:0.017665,jB:0.014132,kB:0.007066,lB:0,mB:0.003533,nB:0.003533,oB:0,pB:0,qB:0.010599,rB:0,sB:0.014132,JC:0,tB:0.003533,KC:0.010599,uB:0,vB:0,wB:0,xB:0,yB:0.017665,zB:0,"0B":0,"1B":0.056528,"2B":0.010599,"3B":0,"4B":0,"5B":0.007066,"6B":0.017665,"7B":0.007066,"8B":0.007066,"9B":0.014132,AC:0.014132,Q:0.084792,H:0.010599,R:0.031797,S:0.028264,T:0.003533,U:0.010599,V:0.024731,W:0.060061,X:0.010599,Y:0.010599,Z:0.007066,a:0.045929,b:0.031797,c:0.010599,d:0.038863,e:0.038863,f:0.007066,g:0.010599,h:0.03533,i:0.010599,j:0.017665,k:0.014132,l:0.010599,m:0.102457,n:0.03533,o:0.010599,p:0.021198,q:0.021198,r:0.03533,s:1.18002,t:0.017665,u:0.031797,v:0.031797,w:0.084792,x:0.074193,AB:0.042396,BB:0.07066,CB:0.095391,DB:0.084792,EB:0.095391,FB:0.144853,GB:0.731331,HB:0.349767,IB:0.261442,JB:0.293239,KB:0.907981,LB:10.274,I:5.69166,BC:0.014132,MC:0.007066,NC:0},B:"webkit",C:["","","","","","","","J","MB","K","D","E","F","A","B","C","L","M","G","N","O","P","NB","y","z","0","1","2","3","4","5","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","JC","tB","KC","uB","vB","wB","xB","yB","zB","0B","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","Q","H","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","I","BC","MC","NC"],E:"Chrome",F:{"0":1343692800,"1":1348531200,"2":1352246400,"3":1357862400,"4":1361404800,"5":1364428800,"6":1689724800,"7":1692057600,"8":1694476800,"9":1696896000,J:1264377600,MB:1274745600,K:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,L:1312243200,M:1316131200,G:1316131200,N:1319500800,O:1323734400,P:1328659200,NB:1332892800,y:1337040000,z:1340668800,OB:1369094400,PB:1374105600,QB:1376956800,RB:1384214400,SB:1389657600,TB:1392940800,UB:1397001600,VB:1400544000,WB:1405468800,XB:1409011200,YB:1412640000,ZB:1416268800,aB:1421798400,bB:1425513600,cB:1429401600,dB:1432080000,eB:1437523200,fB:1441152000,gB:1444780800,hB:1449014400,iB:1453248000,jB:1456963200,kB:1460592000,lB:1464134400,mB:1469059200,nB:1472601600,oB:1476230400,pB:1480550400,qB:1485302400,rB:1489017600,sB:1492560000,JC:1496707200,tB:1500940800,KC:1504569600,uB:1508198400,vB:1512518400,wB:1516752000,xB:1520294400,yB:1523923200,zB:1527552000,"0B":1532390400,"1B":1536019200,"2B":1539648000,"3B":1543968000,"4B":1548720000,"5B":1552348800,"6B":1555977600,"7B":1559606400,"8B":1564444800,"9B":1568073600,AC:1571702400,Q:1575936000,H:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,i:1646092800,j:1648512000,k:1650931200,l:1653350400,m:1655769600,n:1659398400,o:1661817600,p:1664236800,q:1666656000,r:1669680000,s:1673308800,t:1675728000,u:1678147200,v:1680566400,w:1682985600,x:1685404800,AB:1698710400,BB:1701993600,CB:1705968000,DB:1708387200,EB:1710806400,FB:1713225600,GB:1715644800,HB:1718064000,IB:1721174400,JB:1724112000,KB:1726531200,LB:1728950400,I:1731369600,BC:null,MC:null,NC:null}},E:{A:{J:0,MB:0,K:0,D:0,E:0,F:0,A:0,B:0,C:0,L:0.003533,M:0.021198,G:0.007066,nC:0,OC:0,oC:0,pC:0,qC:0,rC:0,PC:0,CC:0.003533,DC:0.007066,sC:0.049462,tC:0.060061,uC:0.017665,QC:0.007066,RC:0.017665,EC:0.021198,vC:0.180183,FC:0.024731,SC:0.031797,TC:0.024731,UC:0.056528,VC:0.021198,WC:0.03533,wC:0.24731,GC:0.014132,XC:0.031797,YC:0.031797,ZC:0.03533,aC:0.084792,bC:0.194315,xC:1.05283,HC:0.28264,cC:0.378031,dC:0.010599,eC:0,yC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","nC","OC","J","MB","oC","K","pC","D","qC","E","F","rC","A","PC","B","CC","C","DC","L","sC","M","tC","G","uC","QC","RC","EC","vC","FC","SC","TC","UC","VC","WC","wC","GC","XC","YC","ZC","aC","bC","xC","HC","cC","dC","eC","yC",""],E:"Safari",F:{nC:1205798400,OC:1226534400,J:1244419200,MB:1275868800,oC:1311120000,K:1343174400,pC:1382400000,D:1382400000,qC:1410998400,E:1413417600,F:1443657600,rC:1458518400,A:1474329600,PC:1490572800,B:1505779200,CC:1522281600,C:1537142400,DC:1553472000,L:1568851200,sC:1585008000,M:1600214400,tC:1619395200,G:1632096000,uC:1635292800,QC:1639353600,RC:1647216000,EC:1652745600,vC:1658275200,FC:1662940800,SC:1666569600,TC:1670889600,UC:1674432000,VC:1679875200,WC:1684368000,wC:1690156800,GC:1695686400,XC:1698192000,YC:1702252800,ZC:1705881600,aC:1709596800,bC:1715558400,xC:1722211200,HC:1726444800,cC:1730073600,dC:1733875200,eC:null,yC:null}},F:{A:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,F:0,B:0,C:0,G:0,N:0,O:0,P:0,NB:0,y:0,z:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0.003533,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0.014132,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,"0B":0,"1B":0,"2B":0,"3B":0,"4B":0,"5B":0,"6B":0,"7B":0,"8B":0,"9B":0,AC:0,Q:0,H:0,R:0,LC:0,S:0,T:0,U:0.024731,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0,c:0,d:0,e:0.031797,f:0,g:0,h:0,i:0,j:0,k:0,l:0.028264,m:0,n:0,o:0,p:0,q:0,r:0,s:0,t:0,u:0,v:0,w:0.060061,x:0.770194,zC:0,"0C":0,"1C":0,"2C":0,CC:0,fC:0,"3C":0,DC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","F","zC","0C","1C","2C","B","CC","fC","3C","C","DC","G","N","O","P","NB","y","z","0","1","2","3","4","5","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","uB","vB","wB","xB","yB","zB","0B","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","Q","H","R","LC","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","","",""],E:"Opera",F:{"0":1401753600,"1":1405987200,"2":1409616000,"3":1413331200,"4":1417132800,"5":1422316800,F:1150761600,zC:1223424000,"0C":1251763200,"1C":1267488000,"2C":1277942400,B:1292457600,CC:1302566400,fC:1309219200,"3C":1323129600,C:1323129600,DC:1352073600,G:1372723200,N:1377561600,O:1381104000,P:1386288000,NB:1390867200,y:1393891200,z:1399334400,OB:1425945600,PB:1430179200,QB:1433808000,RB:1438646400,SB:1442448000,TB:1445904000,UB:1449100800,VB:1454371200,WB:1457308800,XB:1462320000,YB:1465344000,ZB:1470096000,aB:1474329600,bB:1477267200,cB:1481587200,dB:1486425600,eB:1490054400,fB:1494374400,gB:1498003200,hB:1502236800,iB:1506470400,jB:1510099200,kB:1515024000,lB:1517961600,mB:1521676800,nB:1525910400,oB:1530144000,pB:1534982400,qB:1537833600,rB:1543363200,sB:1548201600,tB:1554768000,uB:1561593600,vB:1566259200,wB:1570406400,xB:1573689600,yB:1578441600,zB:1583971200,"0B":1587513600,"1B":1592956800,"2B":1595894400,"3B":1600128000,"4B":1603238400,"5B":1613520000,"6B":1612224000,"7B":1616544000,"8B":1619568000,"9B":1623715200,AC:1627948800,Q:1631577600,H:1633392000,R:1635984000,LC:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800,i:1684195200,j:1687219200,k:1690329600,l:1692748800,m:1696204800,n:1699920000,o:1699920000,p:1702944000,q:1707264000,r:1710115200,s:1711497600,t:1716336000,u:1719273600,v:1721088000,w:1724284800,x:1727222400},D:{F:"o",B:"o",C:"o",zC:"o","0C":"o","1C":"o","2C":"o",CC:"o",fC:"o","3C":"o",DC:"o"}},G:{A:{E:0,OC:0,"4C":0,gC:0.001479,"5C":0,"6C":0.00591601,"7C":0.00739501,"8C":0,"9C":0.00591601,AD:0.020706,BD:0.00443701,CD:0.0340171,DD:0.399331,ED:0.010353,FD:0.00591601,GD:0.155295,HD:0.00295801,ID:0.0414121,JD:0.00591601,KD:0.022185,LD:0.0902192,MD:0.0695131,ND:0.0399331,QC:0.0369751,RC:0.0443701,EC:0.0517651,OD:0.553147,FC:0.105009,SC:0.220371,TC:0.110925,UC:0.189312,VC:0.0384541,WC:0.0754291,PD:0.72619,GC:0.0532441,XC:0.0887402,YC:0.0739501,ZC:0.112404,aC:0.241077,bC:0.718795,QD:6.20146,HC:2.19928,cC:1.93454,dC:0.0783872,eC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","OC","4C","gC","5C","6C","7C","E","8C","9C","AD","BD","CD","DD","ED","FD","GD","HD","ID","JD","KD","LD","MD","ND","QC","RC","EC","OD","FC","SC","TC","UC","VC","WC","PD","GC","XC","YC","ZC","aC","bC","QD","HC","cC","dC","eC","",""],E:"Safari on iOS",F:{OC:1270252800,"4C":1283904000,gC:1299628800,"5C":1331078400,"6C":1359331200,"7C":1394409600,E:1410912000,"8C":1413763200,"9C":1442361600,AD:1458518400,BD:1473724800,CD:1490572800,DD:1505779200,ED:1522281600,FD:1537142400,GD:1553472000,HD:1568851200,ID:1572220800,JD:1580169600,KD:1585008000,LD:1600214400,MD:1619395200,ND:1632096000,QC:1639353600,RC:1647216000,EC:1652659200,OD:1658275200,FC:1662940800,SC:1666569600,TC:1670889600,UC:1674432000,VC:1679875200,WC:1684368000,PD:1690156800,GC:1694995200,XC:1698192000,YC:1702252800,ZC:1705881600,aC:1709596800,bC:1715558400,QD:1722211200,HC:1726444800,cC:1730073600,dC:1733875200,eC:null}},H:{A:{RD:0.04},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RD","","",""],E:"Opera Mini",F:{RD:1426464000}},I:{A:{IC:0,J:0,I:0.212941,SD:0,TD:0,UD:0,VD:0,gC:0.0000640233,WD:0,XD:0.000277434},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","SD","TD","UD","IC","J","VD","gC","WD","XD","I","","",""],E:"Android Browser",F:{SD:1256515200,TD:1274313600,UD:1291593600,IC:1298332800,J:1318896000,VD:1341792000,gC:1374624000,WD:1386547200,XD:1401667200,I:1731369600}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,H:0.975319,CC:0,fC:0,DC:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","CC","fC","C","DC","H","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,CC:1314835200,fC:1318291200,C:1330300800,DC:1349740800,H:1709769600},D:{H:"webkit"}},L:{A:{I:46.0128},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","","",""],E:"Chrome for Android",F:{I:1731369600}},M:{A:{BC:0.329817},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","BC","","",""],E:"Firefox for Android",F:{BC:1730160000}},N:{A:{A:0,B:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{EC:0.801908},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","EC","","",""],E:"UC Browser for Android",F:{EC:1710115200},D:{EC:"webkit"}},P:{A:{"0":0.0324287,"1":0.0432383,"2":0.0540479,"3":0.0540479,"4":1.05934,"5":0.832337,J:0.075667,y:0.0108096,z:0.0324287,YD:0.0108096,ZD:0,aD:0.0108096,bD:0,cD:0,PC:0,dD:0,eD:0,fD:0,gD:0,hD:0,FC:0,GC:0.0108096,HC:0,iD:0.0108096},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","J","YD","ZD","aD","bD","cD","PC","dD","eD","fD","gD","hD","FC","GC","HC","iD","y","z","0","1","2","3","4","5","","",""],E:"Samsung Internet",F:{"0":1689292800,"1":1697587200,"2":1711497600,"3":1715126400,"4":1717718400,"5":1725667200,J:1461024000,YD:1481846400,ZD:1509408000,aD:1528329600,bD:1546128000,cD:1554163200,PC:1567900800,dD:1582588800,eD:1593475200,fD:1605657600,gD:1618531200,hD:1629072000,FC:1640736000,GC:1651708800,HC:1659657600,iD:1667260800,y:1677369600,z:1684454400}},Q:{A:{jD:0.200477},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","jD","","",""],E:"QQ Browser",F:{jD:1710288000}},R:{A:{kD:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","kD","","",""],E:"Baidu Browser",F:{kD:1710201600}},S:{A:{lD:0.019401,mD:0},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","lD","mD","","",""],E:"KaiOS Browser",F:{lD:1527811200,mD:1631664000}}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browserVersions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browserVersions.js deleted file mode 100644 index db366ec0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browserVersions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={"0":"22","1":"23","2":"24","3":"25","4":"26","5":"27","6":"115","7":"116","8":"117","9":"118",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"80",I:"131",J:"4",K:"6",L:"13",M:"14",N:"16",O:"17",P:"18",Q:"79",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"91",b:"92",c:"93",d:"94",e:"95",f:"96",g:"97",h:"98",i:"99",j:"100",k:"101",l:"102",m:"103",n:"104",o:"105",p:"106",q:"107",r:"108",s:"109",t:"110",u:"111",v:"112",w:"113",x:"114",y:"20",z:"21",AB:"119",BB:"120",CB:"121",DB:"122",EB:"123",FB:"124",GB:"125",HB:"126",IB:"127",JB:"128",KB:"129",LB:"130",MB:"5",NB:"19",OB:"28",PB:"29",QB:"30",RB:"31",SB:"32",TB:"33",UB:"34",VB:"35",WB:"36",XB:"37",YB:"38",ZB:"39",aB:"40",bB:"41",cB:"42",dB:"43",eB:"44",fB:"45",gB:"46",hB:"47",iB:"48",jB:"49",kB:"50",lB:"51",mB:"52",nB:"53",oB:"54",pB:"55",qB:"56",rB:"57",sB:"58",tB:"60",uB:"62",vB:"63",wB:"64",xB:"65",yB:"66",zB:"67","0B":"68","1B":"69","2B":"70","3B":"71","4B":"72","5B":"73","6B":"74","7B":"75","8B":"76","9B":"77",AC:"78",BC:"132",CC:"11.1",DC:"12.1",EC:"15.5",FC:"16.0",GC:"17.0",HC:"18.0",IC:"3",JC:"59",KC:"61",LC:"82",MC:"133",NC:"134",OC:"3.2",PC:"10.1",QC:"15.2-15.3",RC:"15.4",SC:"16.1",TC:"16.2",UC:"16.3",VC:"16.4",WC:"16.5",XC:"17.1",YC:"17.2",ZC:"17.3",aC:"17.4",bC:"17.5",cC:"18.1",dC:"18.2",eC:"18.3",fC:"11.5",gC:"4.2-4.3",hC:"5.5",iC:"2",jC:"135",kC:"136",lC:"3.5",mC:"3.6",nC:"3.1",oC:"5.1",pC:"6.1",qC:"7.1",rC:"9.1",sC:"13.1",tC:"14.1",uC:"15.1",vC:"15.6",wC:"16.6",xC:"17.6",yC:"TP",zC:"9.5-9.6","0C":"10.0-10.1","1C":"10.5","2C":"10.6","3C":"11.6","4C":"4.0-4.1","5C":"5.0-5.1","6C":"6.0-6.1","7C":"7.0-7.1","8C":"8.1-8.4","9C":"9.0-9.2",AD:"9.3",BD:"10.0-10.2",CD:"10.3",DD:"11.0-11.2",ED:"11.3-11.4",FD:"12.0-12.1",GD:"12.2-12.5",HD:"13.0-13.1",ID:"13.2",JD:"13.3",KD:"13.4-13.7",LD:"14.0-14.4",MD:"14.5-14.8",ND:"15.0-15.1",OD:"15.6-15.8",PD:"16.6-16.7",QD:"17.6-17.7",RD:"all",SD:"2.1",TD:"2.2",UD:"2.3",VD:"4.1",WD:"4.4",XD:"4.4.3-4.4.4",YD:"5.0-5.4",ZD:"6.2-6.4",aD:"7.2-7.4",bD:"8.2",cD:"9.2",dD:"11.1-11.2",eD:"12.0",fD:"13.0",gD:"14.0",hD:"15.0",iD:"19.0",jD:"14.9",kD:"13.52",lD:"2.5",mD:"3.0-3.1"}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browsers.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browsers.js deleted file mode 100644 index 04fbb50f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/browsers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features.js deleted file mode 100644 index 23ac5700..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={"aac":require("./features/aac"),"abortcontroller":require("./features/abortcontroller"),"ac3-ec3":require("./features/ac3-ec3"),"accelerometer":require("./features/accelerometer"),"addeventlistener":require("./features/addeventlistener"),"alternate-stylesheet":require("./features/alternate-stylesheet"),"ambient-light":require("./features/ambient-light"),"apng":require("./features/apng"),"array-find-index":require("./features/array-find-index"),"array-find":require("./features/array-find"),"array-flat":require("./features/array-flat"),"array-includes":require("./features/array-includes"),"arrow-functions":require("./features/arrow-functions"),"asmjs":require("./features/asmjs"),"async-clipboard":require("./features/async-clipboard"),"async-functions":require("./features/async-functions"),"atob-btoa":require("./features/atob-btoa"),"audio-api":require("./features/audio-api"),"audio":require("./features/audio"),"audiotracks":require("./features/audiotracks"),"autofocus":require("./features/autofocus"),"auxclick":require("./features/auxclick"),"av1":require("./features/av1"),"avif":require("./features/avif"),"background-attachment":require("./features/background-attachment"),"background-clip-text":require("./features/background-clip-text"),"background-img-opts":require("./features/background-img-opts"),"background-position-x-y":require("./features/background-position-x-y"),"background-repeat-round-space":require("./features/background-repeat-round-space"),"background-sync":require("./features/background-sync"),"battery-status":require("./features/battery-status"),"beacon":require("./features/beacon"),"beforeafterprint":require("./features/beforeafterprint"),"bigint":require("./features/bigint"),"blobbuilder":require("./features/blobbuilder"),"bloburls":require("./features/bloburls"),"border-image":require("./features/border-image"),"border-radius":require("./features/border-radius"),"broadcastchannel":require("./features/broadcastchannel"),"brotli":require("./features/brotli"),"calc":require("./features/calc"),"canvas-blending":require("./features/canvas-blending"),"canvas-text":require("./features/canvas-text"),"canvas":require("./features/canvas"),"ch-unit":require("./features/ch-unit"),"chacha20-poly1305":require("./features/chacha20-poly1305"),"channel-messaging":require("./features/channel-messaging"),"childnode-remove":require("./features/childnode-remove"),"classlist":require("./features/classlist"),"client-hints-dpr-width-viewport":require("./features/client-hints-dpr-width-viewport"),"clipboard":require("./features/clipboard"),"colr-v1":require("./features/colr-v1"),"colr":require("./features/colr"),"comparedocumentposition":require("./features/comparedocumentposition"),"console-basic":require("./features/console-basic"),"console-time":require("./features/console-time"),"const":require("./features/const"),"constraint-validation":require("./features/constraint-validation"),"contenteditable":require("./features/contenteditable"),"contentsecuritypolicy":require("./features/contentsecuritypolicy"),"contentsecuritypolicy2":require("./features/contentsecuritypolicy2"),"cookie-store-api":require("./features/cookie-store-api"),"cors":require("./features/cors"),"createimagebitmap":require("./features/createimagebitmap"),"credential-management":require("./features/credential-management"),"cryptography":require("./features/cryptography"),"css-all":require("./features/css-all"),"css-anchor-positioning":require("./features/css-anchor-positioning"),"css-animation":require("./features/css-animation"),"css-any-link":require("./features/css-any-link"),"css-appearance":require("./features/css-appearance"),"css-at-counter-style":require("./features/css-at-counter-style"),"css-autofill":require("./features/css-autofill"),"css-backdrop-filter":require("./features/css-backdrop-filter"),"css-background-offsets":require("./features/css-background-offsets"),"css-backgroundblendmode":require("./features/css-backgroundblendmode"),"css-boxdecorationbreak":require("./features/css-boxdecorationbreak"),"css-boxshadow":require("./features/css-boxshadow"),"css-canvas":require("./features/css-canvas"),"css-caret-color":require("./features/css-caret-color"),"css-cascade-layers":require("./features/css-cascade-layers"),"css-cascade-scope":require("./features/css-cascade-scope"),"css-case-insensitive":require("./features/css-case-insensitive"),"css-clip-path":require("./features/css-clip-path"),"css-color-adjust":require("./features/css-color-adjust"),"css-color-function":require("./features/css-color-function"),"css-conic-gradients":require("./features/css-conic-gradients"),"css-container-queries-style":require("./features/css-container-queries-style"),"css-container-queries":require("./features/css-container-queries"),"css-container-query-units":require("./features/css-container-query-units"),"css-containment":require("./features/css-containment"),"css-content-visibility":require("./features/css-content-visibility"),"css-counters":require("./features/css-counters"),"css-crisp-edges":require("./features/css-crisp-edges"),"css-cross-fade":require("./features/css-cross-fade"),"css-default-pseudo":require("./features/css-default-pseudo"),"css-descendant-gtgt":require("./features/css-descendant-gtgt"),"css-deviceadaptation":require("./features/css-deviceadaptation"),"css-dir-pseudo":require("./features/css-dir-pseudo"),"css-display-contents":require("./features/css-display-contents"),"css-element-function":require("./features/css-element-function"),"css-env-function":require("./features/css-env-function"),"css-exclusions":require("./features/css-exclusions"),"css-featurequeries":require("./features/css-featurequeries"),"css-file-selector-button":require("./features/css-file-selector-button"),"css-filter-function":require("./features/css-filter-function"),"css-filters":require("./features/css-filters"),"css-first-letter":require("./features/css-first-letter"),"css-first-line":require("./features/css-first-line"),"css-fixed":require("./features/css-fixed"),"css-focus-visible":require("./features/css-focus-visible"),"css-focus-within":require("./features/css-focus-within"),"css-font-palette":require("./features/css-font-palette"),"css-font-rendering-controls":require("./features/css-font-rendering-controls"),"css-font-stretch":require("./features/css-font-stretch"),"css-gencontent":require("./features/css-gencontent"),"css-gradients":require("./features/css-gradients"),"css-grid-animation":require("./features/css-grid-animation"),"css-grid":require("./features/css-grid"),"css-hanging-punctuation":require("./features/css-hanging-punctuation"),"css-has":require("./features/css-has"),"css-hyphens":require("./features/css-hyphens"),"css-image-orientation":require("./features/css-image-orientation"),"css-image-set":require("./features/css-image-set"),"css-in-out-of-range":require("./features/css-in-out-of-range"),"css-indeterminate-pseudo":require("./features/css-indeterminate-pseudo"),"css-initial-letter":require("./features/css-initial-letter"),"css-initial-value":require("./features/css-initial-value"),"css-lch-lab":require("./features/css-lch-lab"),"css-letter-spacing":require("./features/css-letter-spacing"),"css-line-clamp":require("./features/css-line-clamp"),"css-logical-props":require("./features/css-logical-props"),"css-marker-pseudo":require("./features/css-marker-pseudo"),"css-masks":require("./features/css-masks"),"css-matches-pseudo":require("./features/css-matches-pseudo"),"css-math-functions":require("./features/css-math-functions"),"css-media-interaction":require("./features/css-media-interaction"),"css-media-range-syntax":require("./features/css-media-range-syntax"),"css-media-resolution":require("./features/css-media-resolution"),"css-media-scripting":require("./features/css-media-scripting"),"css-mediaqueries":require("./features/css-mediaqueries"),"css-mixblendmode":require("./features/css-mixblendmode"),"css-module-scripts":require("./features/css-module-scripts"),"css-motion-paths":require("./features/css-motion-paths"),"css-namespaces":require("./features/css-namespaces"),"css-nesting":require("./features/css-nesting"),"css-not-sel-list":require("./features/css-not-sel-list"),"css-nth-child-of":require("./features/css-nth-child-of"),"css-opacity":require("./features/css-opacity"),"css-optional-pseudo":require("./features/css-optional-pseudo"),"css-overflow-anchor":require("./features/css-overflow-anchor"),"css-overflow-overlay":require("./features/css-overflow-overlay"),"css-overflow":require("./features/css-overflow"),"css-overscroll-behavior":require("./features/css-overscroll-behavior"),"css-page-break":require("./features/css-page-break"),"css-paged-media":require("./features/css-paged-media"),"css-paint-api":require("./features/css-paint-api"),"css-placeholder-shown":require("./features/css-placeholder-shown"),"css-placeholder":require("./features/css-placeholder"),"css-print-color-adjust":require("./features/css-print-color-adjust"),"css-read-only-write":require("./features/css-read-only-write"),"css-rebeccapurple":require("./features/css-rebeccapurple"),"css-reflections":require("./features/css-reflections"),"css-regions":require("./features/css-regions"),"css-relative-colors":require("./features/css-relative-colors"),"css-repeating-gradients":require("./features/css-repeating-gradients"),"css-resize":require("./features/css-resize"),"css-revert-value":require("./features/css-revert-value"),"css-rrggbbaa":require("./features/css-rrggbbaa"),"css-scroll-behavior":require("./features/css-scroll-behavior"),"css-scrollbar":require("./features/css-scrollbar"),"css-sel2":require("./features/css-sel2"),"css-sel3":require("./features/css-sel3"),"css-selection":require("./features/css-selection"),"css-shapes":require("./features/css-shapes"),"css-snappoints":require("./features/css-snappoints"),"css-sticky":require("./features/css-sticky"),"css-subgrid":require("./features/css-subgrid"),"css-supports-api":require("./features/css-supports-api"),"css-table":require("./features/css-table"),"css-text-align-last":require("./features/css-text-align-last"),"css-text-box-trim":require("./features/css-text-box-trim"),"css-text-indent":require("./features/css-text-indent"),"css-text-justify":require("./features/css-text-justify"),"css-text-orientation":require("./features/css-text-orientation"),"css-text-spacing":require("./features/css-text-spacing"),"css-text-wrap-balance":require("./features/css-text-wrap-balance"),"css-textshadow":require("./features/css-textshadow"),"css-touch-action":require("./features/css-touch-action"),"css-transitions":require("./features/css-transitions"),"css-unicode-bidi":require("./features/css-unicode-bidi"),"css-unset-value":require("./features/css-unset-value"),"css-variables":require("./features/css-variables"),"css-when-else":require("./features/css-when-else"),"css-widows-orphans":require("./features/css-widows-orphans"),"css-width-stretch":require("./features/css-width-stretch"),"css-writing-mode":require("./features/css-writing-mode"),"css-zoom":require("./features/css-zoom"),"css3-attr":require("./features/css3-attr"),"css3-boxsizing":require("./features/css3-boxsizing"),"css3-colors":require("./features/css3-colors"),"css3-cursors-grab":require("./features/css3-cursors-grab"),"css3-cursors-newer":require("./features/css3-cursors-newer"),"css3-cursors":require("./features/css3-cursors"),"css3-tabsize":require("./features/css3-tabsize"),"currentcolor":require("./features/currentcolor"),"custom-elements":require("./features/custom-elements"),"custom-elementsv1":require("./features/custom-elementsv1"),"customevent":require("./features/customevent"),"datalist":require("./features/datalist"),"dataset":require("./features/dataset"),"datauri":require("./features/datauri"),"date-tolocaledatestring":require("./features/date-tolocaledatestring"),"declarative-shadow-dom":require("./features/declarative-shadow-dom"),"decorators":require("./features/decorators"),"details":require("./features/details"),"deviceorientation":require("./features/deviceorientation"),"devicepixelratio":require("./features/devicepixelratio"),"dialog":require("./features/dialog"),"dispatchevent":require("./features/dispatchevent"),"dnssec":require("./features/dnssec"),"do-not-track":require("./features/do-not-track"),"document-currentscript":require("./features/document-currentscript"),"document-evaluate-xpath":require("./features/document-evaluate-xpath"),"document-execcommand":require("./features/document-execcommand"),"document-policy":require("./features/document-policy"),"document-scrollingelement":require("./features/document-scrollingelement"),"documenthead":require("./features/documenthead"),"dom-manip-convenience":require("./features/dom-manip-convenience"),"dom-range":require("./features/dom-range"),"domcontentloaded":require("./features/domcontentloaded"),"dommatrix":require("./features/dommatrix"),"download":require("./features/download"),"dragndrop":require("./features/dragndrop"),"element-closest":require("./features/element-closest"),"element-from-point":require("./features/element-from-point"),"element-scroll-methods":require("./features/element-scroll-methods"),"eme":require("./features/eme"),"eot":require("./features/eot"),"es5":require("./features/es5"),"es6-class":require("./features/es6-class"),"es6-generators":require("./features/es6-generators"),"es6-module-dynamic-import":require("./features/es6-module-dynamic-import"),"es6-module":require("./features/es6-module"),"es6-number":require("./features/es6-number"),"es6-string-includes":require("./features/es6-string-includes"),"es6":require("./features/es6"),"eventsource":require("./features/eventsource"),"extended-system-fonts":require("./features/extended-system-fonts"),"feature-policy":require("./features/feature-policy"),"fetch":require("./features/fetch"),"fieldset-disabled":require("./features/fieldset-disabled"),"fileapi":require("./features/fileapi"),"filereader":require("./features/filereader"),"filereadersync":require("./features/filereadersync"),"filesystem":require("./features/filesystem"),"flac":require("./features/flac"),"flexbox-gap":require("./features/flexbox-gap"),"flexbox":require("./features/flexbox"),"flow-root":require("./features/flow-root"),"focusin-focusout-events":require("./features/focusin-focusout-events"),"font-family-system-ui":require("./features/font-family-system-ui"),"font-feature":require("./features/font-feature"),"font-kerning":require("./features/font-kerning"),"font-loading":require("./features/font-loading"),"font-size-adjust":require("./features/font-size-adjust"),"font-smooth":require("./features/font-smooth"),"font-unicode-range":require("./features/font-unicode-range"),"font-variant-alternates":require("./features/font-variant-alternates"),"font-variant-numeric":require("./features/font-variant-numeric"),"fontface":require("./features/fontface"),"form-attribute":require("./features/form-attribute"),"form-submit-attributes":require("./features/form-submit-attributes"),"form-validation":require("./features/form-validation"),"forms":require("./features/forms"),"fullscreen":require("./features/fullscreen"),"gamepad":require("./features/gamepad"),"geolocation":require("./features/geolocation"),"getboundingclientrect":require("./features/getboundingclientrect"),"getcomputedstyle":require("./features/getcomputedstyle"),"getelementsbyclassname":require("./features/getelementsbyclassname"),"getrandomvalues":require("./features/getrandomvalues"),"gyroscope":require("./features/gyroscope"),"hardwareconcurrency":require("./features/hardwareconcurrency"),"hashchange":require("./features/hashchange"),"heif":require("./features/heif"),"hevc":require("./features/hevc"),"hidden":require("./features/hidden"),"high-resolution-time":require("./features/high-resolution-time"),"history":require("./features/history"),"html-media-capture":require("./features/html-media-capture"),"html5semantic":require("./features/html5semantic"),"http-live-streaming":require("./features/http-live-streaming"),"http2":require("./features/http2"),"http3":require("./features/http3"),"iframe-sandbox":require("./features/iframe-sandbox"),"iframe-seamless":require("./features/iframe-seamless"),"iframe-srcdoc":require("./features/iframe-srcdoc"),"imagecapture":require("./features/imagecapture"),"ime":require("./features/ime"),"img-naturalwidth-naturalheight":require("./features/img-naturalwidth-naturalheight"),"import-maps":require("./features/import-maps"),"imports":require("./features/imports"),"indeterminate-checkbox":require("./features/indeterminate-checkbox"),"indexeddb":require("./features/indexeddb"),"indexeddb2":require("./features/indexeddb2"),"inline-block":require("./features/inline-block"),"innertext":require("./features/innertext"),"input-autocomplete-onoff":require("./features/input-autocomplete-onoff"),"input-color":require("./features/input-color"),"input-datetime":require("./features/input-datetime"),"input-email-tel-url":require("./features/input-email-tel-url"),"input-event":require("./features/input-event"),"input-file-accept":require("./features/input-file-accept"),"input-file-directory":require("./features/input-file-directory"),"input-file-multiple":require("./features/input-file-multiple"),"input-inputmode":require("./features/input-inputmode"),"input-minlength":require("./features/input-minlength"),"input-number":require("./features/input-number"),"input-pattern":require("./features/input-pattern"),"input-placeholder":require("./features/input-placeholder"),"input-range":require("./features/input-range"),"input-search":require("./features/input-search"),"input-selection":require("./features/input-selection"),"insert-adjacent":require("./features/insert-adjacent"),"insertadjacenthtml":require("./features/insertadjacenthtml"),"internationalization":require("./features/internationalization"),"intersectionobserver-v2":require("./features/intersectionobserver-v2"),"intersectionobserver":require("./features/intersectionobserver"),"intl-pluralrules":require("./features/intl-pluralrules"),"intrinsic-width":require("./features/intrinsic-width"),"jpeg2000":require("./features/jpeg2000"),"jpegxl":require("./features/jpegxl"),"jpegxr":require("./features/jpegxr"),"js-regexp-lookbehind":require("./features/js-regexp-lookbehind"),"json":require("./features/json"),"justify-content-space-evenly":require("./features/justify-content-space-evenly"),"kerning-pairs-ligatures":require("./features/kerning-pairs-ligatures"),"keyboardevent-charcode":require("./features/keyboardevent-charcode"),"keyboardevent-code":require("./features/keyboardevent-code"),"keyboardevent-getmodifierstate":require("./features/keyboardevent-getmodifierstate"),"keyboardevent-key":require("./features/keyboardevent-key"),"keyboardevent-location":require("./features/keyboardevent-location"),"keyboardevent-which":require("./features/keyboardevent-which"),"lazyload":require("./features/lazyload"),"let":require("./features/let"),"link-icon-png":require("./features/link-icon-png"),"link-icon-svg":require("./features/link-icon-svg"),"link-rel-dns-prefetch":require("./features/link-rel-dns-prefetch"),"link-rel-modulepreload":require("./features/link-rel-modulepreload"),"link-rel-preconnect":require("./features/link-rel-preconnect"),"link-rel-prefetch":require("./features/link-rel-prefetch"),"link-rel-preload":require("./features/link-rel-preload"),"link-rel-prerender":require("./features/link-rel-prerender"),"loading-lazy-attr":require("./features/loading-lazy-attr"),"localecompare":require("./features/localecompare"),"magnetometer":require("./features/magnetometer"),"matchesselector":require("./features/matchesselector"),"matchmedia":require("./features/matchmedia"),"mathml":require("./features/mathml"),"maxlength":require("./features/maxlength"),"mdn-css-backdrop-pseudo-element":require("./features/mdn-css-backdrop-pseudo-element"),"mdn-css-unicode-bidi-isolate-override":require("./features/mdn-css-unicode-bidi-isolate-override"),"mdn-css-unicode-bidi-isolate":require("./features/mdn-css-unicode-bidi-isolate"),"mdn-css-unicode-bidi-plaintext":require("./features/mdn-css-unicode-bidi-plaintext"),"mdn-text-decoration-color":require("./features/mdn-text-decoration-color"),"mdn-text-decoration-line":require("./features/mdn-text-decoration-line"),"mdn-text-decoration-shorthand":require("./features/mdn-text-decoration-shorthand"),"mdn-text-decoration-style":require("./features/mdn-text-decoration-style"),"media-fragments":require("./features/media-fragments"),"mediacapture-fromelement":require("./features/mediacapture-fromelement"),"mediarecorder":require("./features/mediarecorder"),"mediasource":require("./features/mediasource"),"menu":require("./features/menu"),"meta-theme-color":require("./features/meta-theme-color"),"meter":require("./features/meter"),"midi":require("./features/midi"),"minmaxwh":require("./features/minmaxwh"),"mp3":require("./features/mp3"),"mpeg-dash":require("./features/mpeg-dash"),"mpeg4":require("./features/mpeg4"),"multibackgrounds":require("./features/multibackgrounds"),"multicolumn":require("./features/multicolumn"),"mutation-events":require("./features/mutation-events"),"mutationobserver":require("./features/mutationobserver"),"namevalue-storage":require("./features/namevalue-storage"),"native-filesystem-api":require("./features/native-filesystem-api"),"nav-timing":require("./features/nav-timing"),"netinfo":require("./features/netinfo"),"notifications":require("./features/notifications"),"object-entries":require("./features/object-entries"),"object-fit":require("./features/object-fit"),"object-observe":require("./features/object-observe"),"object-values":require("./features/object-values"),"objectrtc":require("./features/objectrtc"),"offline-apps":require("./features/offline-apps"),"offscreencanvas":require("./features/offscreencanvas"),"ogg-vorbis":require("./features/ogg-vorbis"),"ogv":require("./features/ogv"),"ol-reversed":require("./features/ol-reversed"),"once-event-listener":require("./features/once-event-listener"),"online-status":require("./features/online-status"),"opus":require("./features/opus"),"orientation-sensor":require("./features/orientation-sensor"),"outline":require("./features/outline"),"pad-start-end":require("./features/pad-start-end"),"page-transition-events":require("./features/page-transition-events"),"pagevisibility":require("./features/pagevisibility"),"passive-event-listener":require("./features/passive-event-listener"),"passkeys":require("./features/passkeys"),"passwordrules":require("./features/passwordrules"),"path2d":require("./features/path2d"),"payment-request":require("./features/payment-request"),"pdf-viewer":require("./features/pdf-viewer"),"permissions-api":require("./features/permissions-api"),"permissions-policy":require("./features/permissions-policy"),"picture-in-picture":require("./features/picture-in-picture"),"picture":require("./features/picture"),"ping":require("./features/ping"),"png-alpha":require("./features/png-alpha"),"pointer-events":require("./features/pointer-events"),"pointer":require("./features/pointer"),"pointerlock":require("./features/pointerlock"),"portals":require("./features/portals"),"prefers-color-scheme":require("./features/prefers-color-scheme"),"prefers-reduced-motion":require("./features/prefers-reduced-motion"),"progress":require("./features/progress"),"promise-finally":require("./features/promise-finally"),"promises":require("./features/promises"),"proximity":require("./features/proximity"),"proxy":require("./features/proxy"),"publickeypinning":require("./features/publickeypinning"),"push-api":require("./features/push-api"),"queryselector":require("./features/queryselector"),"readonly-attr":require("./features/readonly-attr"),"referrer-policy":require("./features/referrer-policy"),"registerprotocolhandler":require("./features/registerprotocolhandler"),"rel-noopener":require("./features/rel-noopener"),"rel-noreferrer":require("./features/rel-noreferrer"),"rellist":require("./features/rellist"),"rem":require("./features/rem"),"requestanimationframe":require("./features/requestanimationframe"),"requestidlecallback":require("./features/requestidlecallback"),"resizeobserver":require("./features/resizeobserver"),"resource-timing":require("./features/resource-timing"),"rest-parameters":require("./features/rest-parameters"),"rtcpeerconnection":require("./features/rtcpeerconnection"),"ruby":require("./features/ruby"),"run-in":require("./features/run-in"),"same-site-cookie-attribute":require("./features/same-site-cookie-attribute"),"screen-orientation":require("./features/screen-orientation"),"script-async":require("./features/script-async"),"script-defer":require("./features/script-defer"),"scrollintoview":require("./features/scrollintoview"),"scrollintoviewifneeded":require("./features/scrollintoviewifneeded"),"sdch":require("./features/sdch"),"selection-api":require("./features/selection-api"),"selectlist":require("./features/selectlist"),"server-timing":require("./features/server-timing"),"serviceworkers":require("./features/serviceworkers"),"setimmediate":require("./features/setimmediate"),"shadowdom":require("./features/shadowdom"),"shadowdomv1":require("./features/shadowdomv1"),"sharedarraybuffer":require("./features/sharedarraybuffer"),"sharedworkers":require("./features/sharedworkers"),"sni":require("./features/sni"),"spdy":require("./features/spdy"),"speech-recognition":require("./features/speech-recognition"),"speech-synthesis":require("./features/speech-synthesis"),"spellcheck-attribute":require("./features/spellcheck-attribute"),"sql-storage":require("./features/sql-storage"),"srcset":require("./features/srcset"),"stream":require("./features/stream"),"streams":require("./features/streams"),"stricttransportsecurity":require("./features/stricttransportsecurity"),"style-scoped":require("./features/style-scoped"),"subresource-bundling":require("./features/subresource-bundling"),"subresource-integrity":require("./features/subresource-integrity"),"svg-css":require("./features/svg-css"),"svg-filters":require("./features/svg-filters"),"svg-fonts":require("./features/svg-fonts"),"svg-fragment":require("./features/svg-fragment"),"svg-html":require("./features/svg-html"),"svg-html5":require("./features/svg-html5"),"svg-img":require("./features/svg-img"),"svg-smil":require("./features/svg-smil"),"svg":require("./features/svg"),"sxg":require("./features/sxg"),"tabindex-attr":require("./features/tabindex-attr"),"template-literals":require("./features/template-literals"),"template":require("./features/template"),"temporal":require("./features/temporal"),"testfeat":require("./features/testfeat"),"text-decoration":require("./features/text-decoration"),"text-emphasis":require("./features/text-emphasis"),"text-overflow":require("./features/text-overflow"),"text-size-adjust":require("./features/text-size-adjust"),"text-stroke":require("./features/text-stroke"),"textcontent":require("./features/textcontent"),"textencoder":require("./features/textencoder"),"tls1-1":require("./features/tls1-1"),"tls1-2":require("./features/tls1-2"),"tls1-3":require("./features/tls1-3"),"touch":require("./features/touch"),"transforms2d":require("./features/transforms2d"),"transforms3d":require("./features/transforms3d"),"trusted-types":require("./features/trusted-types"),"ttf":require("./features/ttf"),"typedarrays":require("./features/typedarrays"),"u2f":require("./features/u2f"),"unhandledrejection":require("./features/unhandledrejection"),"upgradeinsecurerequests":require("./features/upgradeinsecurerequests"),"url-scroll-to-text-fragment":require("./features/url-scroll-to-text-fragment"),"url":require("./features/url"),"urlsearchparams":require("./features/urlsearchparams"),"use-strict":require("./features/use-strict"),"user-select-none":require("./features/user-select-none"),"user-timing":require("./features/user-timing"),"variable-fonts":require("./features/variable-fonts"),"vector-effect":require("./features/vector-effect"),"vibration":require("./features/vibration"),"video":require("./features/video"),"videotracks":require("./features/videotracks"),"view-transitions":require("./features/view-transitions"),"viewport-unit-variants":require("./features/viewport-unit-variants"),"viewport-units":require("./features/viewport-units"),"wai-aria":require("./features/wai-aria"),"wake-lock":require("./features/wake-lock"),"wasm-bigint":require("./features/wasm-bigint"),"wasm-bulk-memory":require("./features/wasm-bulk-memory"),"wasm-extended-const":require("./features/wasm-extended-const"),"wasm-gc":require("./features/wasm-gc"),"wasm-multi-memory":require("./features/wasm-multi-memory"),"wasm-multi-value":require("./features/wasm-multi-value"),"wasm-mutable-globals":require("./features/wasm-mutable-globals"),"wasm-nontrapping-fptoint":require("./features/wasm-nontrapping-fptoint"),"wasm-reference-types":require("./features/wasm-reference-types"),"wasm-relaxed-simd":require("./features/wasm-relaxed-simd"),"wasm-signext":require("./features/wasm-signext"),"wasm-simd":require("./features/wasm-simd"),"wasm-tail-calls":require("./features/wasm-tail-calls"),"wasm-threads":require("./features/wasm-threads"),"wasm":require("./features/wasm"),"wav":require("./features/wav"),"wbr-element":require("./features/wbr-element"),"web-animation":require("./features/web-animation"),"web-app-manifest":require("./features/web-app-manifest"),"web-bluetooth":require("./features/web-bluetooth"),"web-serial":require("./features/web-serial"),"web-share":require("./features/web-share"),"webauthn":require("./features/webauthn"),"webcodecs":require("./features/webcodecs"),"webgl":require("./features/webgl"),"webgl2":require("./features/webgl2"),"webgpu":require("./features/webgpu"),"webhid":require("./features/webhid"),"webkit-user-drag":require("./features/webkit-user-drag"),"webm":require("./features/webm"),"webnfc":require("./features/webnfc"),"webp":require("./features/webp"),"websockets":require("./features/websockets"),"webtransport":require("./features/webtransport"),"webusb":require("./features/webusb"),"webvr":require("./features/webvr"),"webvtt":require("./features/webvtt"),"webworkers":require("./features/webworkers"),"webxr":require("./features/webxr"),"will-change":require("./features/will-change"),"woff":require("./features/woff"),"woff2":require("./features/woff2"),"word-break":require("./features/word-break"),"wordwrap":require("./features/wordwrap"),"x-doc-messaging":require("./features/x-doc-messaging"),"x-frame-options":require("./features/x-frame-options"),"xhr2":require("./features/xhr2"),"xhtml":require("./features/xhtml"),"xhtmlsmil":require("./features/xhtmlsmil"),"xml-serializer":require("./features/xml-serializer"),"zstd":require("./features/zstd")}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/aac.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/aac.js deleted file mode 100644 index 9dd03478..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/aac.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC","132":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F","16":"A B"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"132":"BC"},N:{"1":"A","2":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"132":"lD mD"}},B:6,C:"AAC audio file format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/abortcontroller.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/abortcontroller.js deleted file mode 100644 index 9a986bb6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/abortcontroller.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G"},C:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB lC mC"},D:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC","130":"C CC"},F:{"1":"nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"AbortController & AbortSignal",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ac3-ec3.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ac3-ec3.js deleted file mode 100644 index 6b805c74..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ac3-ec3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"C L M G N O P","2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C","132":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D","132":"A"},K:{"2":"A B C H CC fC","132":"DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/accelerometer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/accelerometer.js deleted file mode 100644 index 18934e4b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/accelerometer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","194":"sB JC tB KC uB vB wB xB yB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:4,C:"Accelerometer",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/addeventlistener.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/addeventlistener.js deleted file mode 100644 index 4b477e3f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/addeventlistener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","130":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","257":"iC IC J MB K lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"EventTarget.addEventListener()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/alternate-stylesheet.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/alternate-stylesheet.js deleted file mode 100644 index 87937344..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","2":"K D hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"F B C zC 0C 1C 2C CC fC 3C DC","16":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"16":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"2":"H","16":"A B C CC fC DC"},L:{"16":"I"},M:{"16":"BC"},N:{"16":"A B"},O:{"16":"EC"},P:{"16":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"16":"kD"},S:{"1":"lD mD"}},B:1,C:"Alternate stylesheet",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ambient-light.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ambient-light.js deleted file mode 100644 index e10648d7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ambient-light.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L","132":"M G N O P","322":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC","132":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC","194":"6 7 8 9 tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","322":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B zC 0C 1C 2C CC fC 3C DC","322":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"132":"lD mD"}},B:4,C:"Ambient Light Sensor",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/apng.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/apng.js deleted file mode 100644 index 7cdaf712..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/apng.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC"},D:{"1":"6 7 8 9 JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB"},E:{"1":"E F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC qC"},F:{"1":"B C gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"0 1 2 3 4 5 F G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Animated PNG (APNG)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find-index.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find-index.js deleted file mode 100644 index 87e544dc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find-index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},E:{"1":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","16":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Array.prototype.findIndex",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find.js deleted file mode 100644 index 543b5772..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-find.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"C L M"},C:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},E:{"1":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","16":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Array.prototype.find",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-flat.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-flat.js deleted file mode 100644 index c52af6ef..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-flat.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC lC mC"},D:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B"},E:{"1":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC CC"},F:{"1":"qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"flat & flatMap array methods",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-includes.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-includes.js deleted file mode 100644 index d387eb3d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/array-includes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB lC mC"},D:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Array.prototype.includes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/arrow-functions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/arrow-functions.js deleted file mode 100644 index 21ff1e43..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/arrow-functions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Arrow functions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/asmjs.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/asmjs.js deleted file mode 100644 index 6d15dba2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/asmjs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"L M G N O P","132":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z","132":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","132":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","132":"H"},L:{"132":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"132":"EC"},P:{"2":"J","132":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"132":"jD"},R:{"132":"kD"},S:{"1":"lD mD"}},B:6,C:"asm.js",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-clipboard.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-clipboard.js deleted file mode 100644 index 1ff0419c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-clipboard.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB lC mC","132":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB"},D:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC"},F:{"1":"nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","260":"I"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"3 4 5","2":"J YD ZD aD bD","260":"0 1 2 y z cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD","132":"mD"}},B:5,C:"Asynchronous Clipboard API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-functions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-functions.js deleted file mode 100644 index 390ab4cf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/async-functions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L","194":"M"},C:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB lC mC"},D:{"1":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC","258":"PC"},F:{"1":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD","258":"CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"Async functions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/atob-btoa.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/atob-btoa.js deleted file mode 100644 index 81a07074..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/atob-btoa.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","2":"F zC 0C","16":"1C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","16":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Base64 encoding and decoding",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio-api.js deleted file mode 100644 index f997da92..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L","33":"0 1 2 3 4 5 M G N O P NB y z OB PB QB RB SB TB"},E:{"1":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","33":"K D E F A B C L M pC qC rC PC CC DC sC"},F:{"1":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"G N O P NB y z"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Web Audio API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio.js deleted file mode 100644 index 5960f6ce..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audio.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","132":"J MB K D E F A B C L M G N O P NB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F","4":"zC 0C"},G:{"260":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","2":"SD TD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Audio element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audiotracks.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audiotracks.js deleted file mode 100644 index 3afc5890..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/audiotracks.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"C L M G N O P","322":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC","194":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","322":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB zC 0C 1C 2C CC fC 3C DC","322":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","322":"H"},L:{"322":"I"},M:{"2":"BC"},N:{"1":"A B"},O:{"322":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"322":"jD"},R:{"322":"kD"},S:{"194":"lD mD"}},B:1,C:"Audio Tracks",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/autofocus.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/autofocus.js deleted file mode 100644 index b1d73673..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/autofocus.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"Autofocus attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/auxclick.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/auxclick.js deleted file mode 100644 index 17e4eef8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/auxclick.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC","129":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},E:{"1":"dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC"},F:{"1":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"Auxclick",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/av1.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/av1.js deleted file mode 100644 index 9324962b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/av1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"CB DB EB FB GB HB IB JB KB LB I","2":"7 8 9 C L M G N O AB BB","194":"6 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},C:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB lC mC","66":"pB qB rB sB JC tB KC uB vB wB","260":"xB","516":"yB"},D:{"1":"6 7 8 9 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB","66":"zB 0B 1B"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC","1028":"GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD","1028":"GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:6,C:"AV1 video format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/avif.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/avif.js deleted file mode 100644 index 0d7e10fe..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/avif.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"CB DB EB FB GB HB IB JB KB LB I","2":"9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w AB BB","4162":"6 7 8 x"},C:{"1":"6 7 8 9 w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B lC mC","194":"9B AC Q H R LC S T U V W X Y Z a b","257":"c d e f g h i j k l m n o p q r s t","2049":"u v"},D:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC","1796":"SC TC UC"},F:{"1":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD","1281":"FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:6,C:"AVIF image format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-attachment.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-attachment.js deleted file mode 100644 index 424ce893..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-attachment.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","132":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"0 1 2 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F A B C oC pC qC rC PC CC DC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"J L nC OC sC","2050":"M G tC uC QC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","132":"F zC 0C"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","772":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD","2050":"HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD WD XD","132":"VD gC"},J:{"260":"D A"},K:{"1":"B C H CC fC DC","132":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"2":"J","1028":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS background-attachment",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-clip-text.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-clip-text.js deleted file mode 100644 index 4937af70..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-clip-text.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"G N O P","33":"C L M","129":"BB CB DB EB FB GB HB IB JB KB LB I","161":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB lC mC"},D:{"129":"BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","161":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB"},E:{"2":"nC","129":"EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","388":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC","420":"J OC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","129":"p q r s t u v w x","161":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o"},G:{"129":"EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","388":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC"},H:{"2":"RD"},I:{"16":"IC SD TD UD","129":"I","161":"J VD gC WD XD"},J:{"161":"D A"},K:{"16":"A B C CC fC DC","129":"H"},L:{"129":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"161":"EC"},P:{"1":"3 4 5","161":"0 1 2 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"161":"jD"},R:{"161":"kD"},S:{"1":"lD mD"}},B:7,C:"Background-clip: text",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-img-opts.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-img-opts.js deleted file mode 100644 index be23454f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-img-opts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC","36":"mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","516":"J MB K D E F A B C L M"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","772":"J MB K nC OC oC pC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC","36":"0C"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","4":"OC 4C gC 6C","516":"5C"},H:{"132":"RD"},I:{"1":"I WD XD","36":"SD","516":"IC J VD gC","548":"TD UD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 Background-image options",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-position-x-y.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-position-x-y.js deleted file mode 100644 index 4b9d189e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-position-x-y.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:7,C:"background-position-x & background-position-y",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-repeat-round-space.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-repeat-round-space.js deleted file mode 100644 index 38602480..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E hC","132":"F"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB lC mC"},D:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC"},F:{"1":"0 1 2 3 4 5 B C NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F G N O P zC 0C"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"CSS background-repeat round and space",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-sync.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-sync.js deleted file mode 100644 index 89921817..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/background-sync.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC lC mC","16":"NC jC kC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"Background Sync API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/battery-status.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/battery-status.js deleted file mode 100644 index fc4a293a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/battery-status.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"dB eB fB gB hB iB jB kB lB","2":"6 7 8 9 iC IC J MB K D E F mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","132":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","164":"A B C L M G"},D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB","66":"XB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD","2":"mD"}},B:4,C:"Battery Status API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beacon.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beacon.js deleted file mode 100644 index cea39c27..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beacon.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB lC mC"},D:{"1":"6 7 8 9 ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Beacon API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beforeafterprint.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beforeafterprint.js deleted file mode 100644 index e1e75f06..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/beforeafterprint.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","16":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC"},D:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC DC"},F:{"1":"kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"16":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","16":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Printing Events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bigint.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bigint.js deleted file mode 100644 index 3ebc12e2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bigint.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB lC mC","194":"xB yB zB"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB"},E:{"1":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC sC"},F:{"1":"oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"BigInt",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/blobbuilder.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/blobbuilder.js deleted file mode 100644 index 9d010248..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/blobbuilder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC","36":"K D E F A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D","36":"E F A B C L M G N O P NB"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B C zC 0C 1C 2C CC fC 3C"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C"},H:{"2":"RD"},I:{"1":"I","2":"SD TD UD","36":"IC J VD gC WD XD"},J:{"1":"A","2":"D"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Blob constructing",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bloburls.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bloburls.js deleted file mode 100644 index d58c66bd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/bloburls.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","129":"A B"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D","33":"0 E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","33":"K"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC SD TD UD","33":"J VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Blob URLs",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-image.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-image.js deleted file mode 100644 index dd6fd1c9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-image.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","260":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","804":"J MB K D E F A B C L M lC mC"},D:{"1":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","260":"lB mB nB oB pB","388":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","1412":"0 1 2 3 4 5 G N O P NB y z OB PB","1956":"J MB K D E F A B C L M"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","129":"A B C L M G rC PC CC DC sC tC uC QC","1412":"K D E F pC qC","1956":"J MB nC OC oC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F zC 0C","260":"YB ZB aB bB cB","388":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB","1796":"1C 2C","1828":"B C CC fC 3C DC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","129":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC","1412":"E 6C 7C 8C 9C","1956":"OC 4C gC 5C"},H:{"1828":"RD"},I:{"1":"I","388":"WD XD","1956":"IC J SD TD UD VD gC"},J:{"1412":"A","1924":"D"},K:{"1":"H","2":"A","1828":"B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","260":"YD ZD","388":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","260":"lD"}},B:4,C:"CSS3 Border images",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-radius.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-radius.js deleted file mode 100644 index af4f353e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/border-radius.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","257":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","289":"IC lC mC","292":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"J"},E:{"1":"MB D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"J nC OC","129":"K oC pC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"OC"},H:{"2":"RD"},I:{"1":"IC J I TD UD VD gC WD XD","33":"SD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","257":"lD"}},B:4,C:"CSS3 Border-radius (rounded corners)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/broadcastchannel.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/broadcastchannel.js deleted file mode 100644 index 6c618886..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/broadcastchannel.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB lC mC"},D:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"BroadcastChannel",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/brotli.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/brotli.js deleted file mode 100644 index 27eb0c80..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/brotli.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M"},C:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB lC mC"},D:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","194":"jB","257":"kB"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","513":"B C CC DC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC","194":"WB XB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/calc.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/calc.js deleted file mode 100644 index 605ffeaa..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/calc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","260":"F","516":"A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","33":"J MB K D E F A B C L M G"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P","33":"0 1 2 3 NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","33":"K"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"6C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","132":"WD XD"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"calc() as CSS unit value",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-blending.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-blending.js deleted file mode 100644 index 8391492f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-blending.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB lC mC"},D:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC"},F:{"1":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Canvas blend modes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-text.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-text.js deleted file mode 100644 index 79c4772b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas-text.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"hC","8":"K D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","8":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","8":"F zC 0C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","8":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Text API for Canvas",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas.js deleted file mode 100644 index 2664c46a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/canvas.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"hC","8":"K D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","132":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"nC OC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"260":"RD"},I:{"1":"IC J I VD gC WD XD","132":"SD TD UD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Canvas (basic support)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ch-unit.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ch-unit.js deleted file mode 100644 index 8458a48e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ch-unit.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","132":"F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"ch (character) unit",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/chacha20-poly1305.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/chacha20-poly1305.js deleted file mode 100644 index d1a6bd52..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB","129":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD","16":"XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/channel-messaging.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/channel-messaging.js deleted file mode 100644 index f81c0e09..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/channel-messaging.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","194":"4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","2":"F zC 0C","16":"1C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Channel messaging",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/childnode-remove.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/childnode-remove.js deleted file mode 100644 index 27da4b73..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/childnode-remove.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"C"},C:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","16":"K"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"ChildNode.remove()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/classlist.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/classlist.js deleted file mode 100644 index 58c46643..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/classlist.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K D E F hC","1924":"A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"iC IC lC","516":"2 3","772":"0 1 J MB K D E F A B C L M G N O P NB y z mC"},D:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"J MB K D","516":"2 3 4 5","772":"1","900":"0 E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB nC OC","900":"K oC pC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","8":"F B zC 0C 1C 2C CC","900":"C fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC","900":"5C 6C"},H:{"900":"RD"},I:{"1":"I WD XD","8":"SD TD UD","900":"IC J VD gC"},J:{"1":"A","900":"D"},K:{"1":"H","8":"A B","900":"C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"900":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"classList (DOMTokenList)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js deleted file mode 100644 index 76c8122f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/clipboard.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/clipboard.js deleted file mode 100644 index 21670550..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/clipboard.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2436":"K D E F A B hC"},B:{"260":"O P","2436":"C L M G N","8196":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC","772":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB","4100":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"J MB K D E F A B C","2564":"0 1 2 3 4 5 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","8196":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","10244":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB"},E:{"1":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC OC","2308":"A B PC CC","2820":"J MB K D E F oC pC qC rC"},F:{"2":"F B zC 0C 1C 2C CC fC 3C","16":"C","516":"DC","2564":"0 1 2 3 4 5 G N O P NB y z OB PB","8196":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","10244":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"1":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","2820":"E 5C 6C 7C 8C 9C AD BD CD DD ED"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","260":"I","2308":"WD XD"},J:{"2":"D","2308":"A"},K:{"2":"A B C CC fC","16":"DC","8196":"H"},L:{"8196":"I"},M:{"1028":"BC"},N:{"2":"A B"},O:{"8196":"EC"},P:{"2052":"YD ZD","2308":"J","8196":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"8196":"jD"},R:{"8196":"kD"},S:{"4100":"lD mD"}},B:5,C:"Synchronous Clipboard API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr-v1.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr-v1.js deleted file mode 100644 index d10eb518..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr-v1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g"},C:{"1":"6 7 8 9 q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g lC mC","258":"h i j k l m n","578":"o p"},D:{"1":"6 7 8 9 h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y","194":"Z a b c d e f g"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"16":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"COLR/CPAL(v1) Font Formats",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr.js deleted file mode 100644 index 080407ef..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/colr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","257":"F A B"},B:{"1":"6 7 8 9 C L M G N O P t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","513":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},C:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB lC mC"},D:{"1":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B","513":"3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","129":"B C L CC DC sC","1026":"GC XC"},F:{"1":"f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB zC 0C 1C 2C CC fC 3C DC","513":"sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","1026":"GC XC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"16":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"COLR/CPAL(v0) Font Formats",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/comparedocumentposition.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/comparedocumentposition.js deleted file mode 100644 index b8ec7220..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/comparedocumentposition.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC IC lC mC"},D:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","132":"0 1 2 3 4 5 G N O P NB y z OB PB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB K nC OC","132":"D E F pC qC rC","260":"oC"},F:{"1":"0 1 2 3 4 5 C O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","16":"F B zC 0C 1C 2C CC fC","132":"G N"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC","132":"E 4C gC 5C 6C 7C 8C 9C AD"},H:{"1":"RD"},I:{"1":"I WD XD","16":"SD TD","132":"IC J UD VD gC"},J:{"132":"D A"},K:{"1":"C H DC","16":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Node.compareDocumentPosition()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-basic.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-basic.js deleted file mode 100644 index 90fdeb4c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-basic.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D hC","132":"E F"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F zC 0C 1C 2C"},G:{"1":"OC 4C gC 5C","513":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"4097":"RD"},I:{"1025":"IC J I SD TD UD VD gC WD XD"},J:{"258":"D A"},K:{"2":"A","258":"B C CC fC DC","1025":"H"},L:{"1025":"I"},M:{"2049":"BC"},N:{"258":"A B"},O:{"258":"EC"},P:{"1025":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1025":"kD"},S:{"1":"lD mD"}},B:1,C:"Basic console logging functions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-time.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-time.js deleted file mode 100644 index 5d72e333..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/console-time.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F zC 0C 1C 2C","16":"B"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"H","16":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"console.time and console.timeEnd",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/const.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/const.js deleted file mode 100644 index 26107ebd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/const.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","2052":"B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"iC IC J MB K D E F A B C lC mC","260":"0 1 2 3 4 5 L M G N O P NB y z OB PB QB RB SB TB UB VB"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","260":"J MB K D E F A B C L M G N O P NB y","772":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB","1028":"bB cB dB eB fB gB hB iB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","260":"J MB A nC OC PC","772":"K D E F oC pC qC rC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F zC","132":"B 0C 1C 2C CC fC","644":"C 3C DC","772":"0 1 2 3 4 5 G N O P NB y z","1028":"OB PB QB RB SB TB UB VB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","260":"OC 4C gC BD CD","772":"E 5C 6C 7C 8C 9C AD"},H:{"644":"RD"},I:{"1":"I","16":"SD TD","260":"UD","772":"IC J VD gC WD XD"},J:{"772":"D A"},K:{"1":"H","132":"A B CC fC","644":"C DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","1028":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"const",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/constraint-validation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/constraint-validation.js deleted file mode 100644 index 19880c21..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/constraint-validation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","900":"A B"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","388":"M G N","900":"C L"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","260":"jB kB","388":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","900":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB"},D:{"1":"6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","388":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB","900":"0 1 2 G N O P NB y z"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC","388":"E F qC rC","900":"K D oC pC"},F:{"1":"5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F B zC 0C 1C 2C CC fC","388":"0 1 2 3 4 G N O P NB y z","900":"C 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC","388":"E 7C 8C 9C AD","900":"5C 6C"},H:{"2":"RD"},I:{"1":"I","16":"IC SD TD UD","388":"WD XD","900":"J VD gC"},J:{"16":"D","388":"A"},K:{"1":"H","16":"A B CC fC","900":"C DC"},L:{"1":"I"},M:{"1":"BC"},N:{"900":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","388":"lD"}},B:1,C:"Constraint Validation API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contenteditable.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contenteditable.js deleted file mode 100644 index 9162f009..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contenteditable.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC","4":"IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"contenteditable attribute (basic support)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js deleted file mode 100644 index d7c1d395..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","132":"A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","129":"0 J MB K D E F A B C L M G N O P NB y z"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L","257":"0 1 2 M G N O P NB y z"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","257":"K pC","260":"oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","257":"6C","260":"5C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D","257":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Content Security Policy 1.0",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js deleted file mode 100644 index 4b6075a6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M","4100":"G N O P"},C:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB lC mC","132":"RB SB TB UB","260":"VB","516":"WB XB YB ZB aB bB cB dB eB"},D:{"1":"6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB","1028":"WB XB YB","2052":"ZB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","1028":"1 2 3","2052":"4"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Content Security Policy Level 2",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cookie-store-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cookie-store-api.js deleted file mode 100644 index 353b0aac..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cookie-store-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","194":"Q H R S T U V"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I lC mC","322":"BC MC NC jC kC"},D:{"1":"6 7 8 9 W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB","194":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V"},E:{"1":"yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC"},F:{"1":"6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB zC 0C 1C 2C CC fC 3C DC","194":"lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"Cookie Store API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cors.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cors.js deleted file mode 100644 index 75336aeb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D hC","132":"A","260":"E F"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC","1025":"KC uB vB wB xB yB zB 0B 1B 2B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"J MB K D E F A B C"},E:{"2":"nC OC","513":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","644":"J MB oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C"},G:{"513":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","644":"OC 4C gC 5C"},H:{"2":"RD"},I:{"1":"I WD XD","132":"IC J SD TD UD VD gC"},J:{"1":"A","132":"D"},K:{"1":"C H DC","2":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","132":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Cross-Origin Resource Sharing",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/createimagebitmap.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/createimagebitmap.js deleted file mode 100644 index 9e88639d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/createimagebitmap.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB lC mC","1028":"c d e f g","3076":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b","8196":"6 7 8 9 h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","132":"kB lB","260":"mB nB","516":"oB pB qB rB sB"},E:{"1":"GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC","4100":"G uC QC RC EC vC FC SC TC UC VC WC wC"},F:{"1":"gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB zC 0C 1C 2C CC fC 3C DC","132":"XB YB","260":"ZB aB","516":"bB cB dB eB fB"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD","4100":"ND QC RC EC OD FC SC TC UC VC WC PD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"8196":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","16":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"3076":"lD mD"}},B:1,C:"createImageBitmap",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/credential-management.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/credential-management.js deleted file mode 100644 index e5382f14..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/credential-management.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","66":"iB jB kB","129":"lB mB nB oB pB qB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"Credential Management API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cryptography.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cryptography.js deleted file mode 100644 index 4a216fe8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/cryptography.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E F A","164":"B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","513":"C L M G N O P"},C:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB lC mC","66":"SB TB"},D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB K D nC OC oC pC","289":"E F A qC rC PC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","8":"0 1 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC 5C 6C 7C","289":"E 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","8":"IC J SD TD UD VD gC WD XD"},J:{"8":"D A"},K:{"1":"H","8":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A","164":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Web Cryptography",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-all.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-all.js deleted file mode 100644 index 49f48cb0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-all.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C"},H:{"2":"RD"},I:{"1":"I XD","2":"IC J SD TD UD VD gC WD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS all property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-anchor-positioning.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-anchor-positioning.js deleted file mode 100644 index e1204c7d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"GB HB IB JB KB LB I","2":"6 7 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","194":"8 9 AB BB CB DB EB FB"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 6 7 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","194":"8 9 AB BB CB DB EB FB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l zC 0C 1C 2C CC fC 3C DC","194":"m n o p q r s t"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"5","2":"0 1 2 3 4 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Anchor Positioning",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-animation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-animation.js deleted file mode 100644 index b099c2d6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-animation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J lC mC","33":"MB K D E F A B C L M G"},D:{"1":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC","33":"K D E oC pC qC","292":"J MB"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C","33":"0 1 2 3 4 5 C G N O P NB y z OB PB"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"E 6C 7C 8C","164":"OC 4C gC 5C"},H:{"2":"RD"},I:{"1":"I","33":"J VD gC WD XD","164":"IC SD TD UD"},J:{"33":"D A"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"CSS Animation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-any-link.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-any-link.js deleted file mode 100644 index 7c1d4bb7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-any-link.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC","33":"0 1 2 3 4 5 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB lC mC"},D:{"1":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB K nC OC oC","33":"D E pC qC"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C","33":"E 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","16":"IC J SD TD UD VD gC","33":"WD XD"},J:{"16":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","16":"J","33":"YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","33":"lD"}},B:5,C:"CSS :any-link selector",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-appearance.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-appearance.js deleted file mode 100644 index 64c0fd6f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-appearance.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","33":"S","164":"Q H R","388":"C L M G N O P"},C:{"1":"6 7 8 9 H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","164":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","676":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB lC mC"},D:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"S","164":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","164":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"2B 3B 4B","164":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","164":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","164":"IC J SD TD UD VD gC WD XD"},J:{"164":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A","388":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","164":"J YD ZD aD bD cD PC dD eD fD"},Q:{"164":"jD"},R:{"1":"kD"},S:{"1":"mD","164":"lD"}},B:5,C:"CSS Appearance",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-at-counter-style.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-at-counter-style.js deleted file mode 100644 index db30a370..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-at-counter-style.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q H R S T U V W X Y Z","132":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC","132":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z","132":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC","4":"GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B zC 0C 1C 2C CC fC 3C DC","132":"9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD","4":"GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","132":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","132":"H"},L:{"132":"I"},M:{"132":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"J YD ZD aD bD cD PC dD eD fD gD hD","132":"0 1 2 3 4 5 y z FC GC HC iD"},Q:{"2":"jD"},R:{"132":"kD"},S:{"132":"lD mD"}},B:4,C:"CSS Counter Styles",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-autofill.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-autofill.js deleted file mode 100644 index 25fbfdb0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-autofill.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},L:{"1":"I"},B:{"1":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","33":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},C:{"1":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U lC mC"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"yC","33":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD"},P:{"1":"0 1 2 3 4 5 z","33":"J y YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},I:{"1":"I","2":"IC J SD TD UD VD gC","33":"WD XD"}},B:6,C:":autofill CSS pseudo-class",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backdrop-filter.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backdrop-filter.js deleted file mode 100644 index 6e73fcd8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N","257":"O P"},C:{"1":"6 7 8 9 m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B lC mC","578":"2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l"},D:{"1":"6 7 8 9 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","194":"hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},E:{"1":"HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC","33":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB zC 0C 1C 2C CC fC 3C DC","194":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"1":"HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C","33":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z eD fD gD hD FC GC HC iD","2":"J","194":"YD ZD aD bD cD PC dD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"CSS Backdrop Filter",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-background-offsets.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-background-offsets.js deleted file mode 100644 index 797cc19a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-background-offsets.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C lC mC"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS background-position edge offsets",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js deleted file mode 100644 index 030d6c70..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB lC mC"},D:{"1":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB","260":"gB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC","132":"E F A qC rC"},F:{"1":"0 1 2 3 4 5 OB PB QB RB SB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","260":"TB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","132":"E 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS background-blend-mode",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js deleted file mode 100644 index 72969fec..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"LB I","2":"C L M G N O P","164":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB"},C:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB lC mC"},D:{"1":"LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y z","164":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB"},E:{"2":"J MB K nC OC oC","164":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F zC 0C 1C 2C","129":"B C CC fC 3C DC","164":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"OC 4C gC 5C 6C","164":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"132":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","164":"WD XD"},J:{"2":"D","164":"A"},K:{"2":"A","129":"B C CC fC DC","164":"H"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"164":"EC"},P:{"164":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"164":"jD"},R:{"164":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS box-decoration-break",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxshadow.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxshadow.js deleted file mode 100644 index 2018fac8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-boxshadow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","33":"lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"J MB K D E F"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"MB","164":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"4C gC","164":"OC"},H:{"2":"RD"},I:{"1":"J I VD gC WD XD","164":"IC SD TD UD"},J:{"1":"A","33":"D"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 Box-shadow",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-canvas.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-canvas.js deleted file mode 100644 index 9e807664..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-canvas.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},E:{"2":"nC OC","33":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB"},G:{"33":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"I","33":"IC J SD TD UD VD gC WD XD"},J:{"33":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","33":"J"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"CSS Canvas Drawings",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-caret-color.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-caret-color.js deleted file mode 100644 index 532c8d5a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-caret-color.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC"},D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:2,C:"CSS caret-color",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-layers.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-layers.js deleted file mode 100644 index 26763905..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-layers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e","322":"f g h"},C:{"1":"6 7 8 9 g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c lC mC","194":"d e f"},D:{"1":"6 7 8 9 i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e","322":"f g h"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U zC 0C 1C 2C CC fC 3C DC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:4,C:"CSS Cascade Layers",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-scope.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-scope.js deleted file mode 100644 index 9cabcf66..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cascade-scope.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m","194":"6 7 8 n o p q r s t u v w x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m","194":"6 7 8 n o p q r s t u v w x"},E:{"1":"aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC"},F:{"1":"p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y zC 0C 1C 2C CC fC 3C DC","194":"Z a b c d e f g h i j k l m n o"},G:{"1":"aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"3 4 5","2":"0 1 2 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"Scoped Styles: the @scope rule",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-case-insensitive.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-case-insensitive.js deleted file mode 100644 index 48c5bcf5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-case-insensitive.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Case-insensitive CSS attribute selectors",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-clip-path.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-clip-path.js deleted file mode 100644 index ff7c9275..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-clip-path.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O","260":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","3138":"P"},C:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC","644":"hB iB jB kB lB mB nB"},D:{"2":"0 1 J MB K D E F A B C L M G N O P NB y z","260":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","292":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},E:{"2":"J MB K nC OC oC pC","260":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","292":"D E F A B C L qC rC PC CC DC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","260":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","292":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},G:{"2":"OC 4C gC 5C 6C","260":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","292":"E 7C 8C 9C AD BD CD DD ED FD GD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","260":"I","292":"WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","260":"H"},L:{"260":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"260":"EC"},P:{"260":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","292":"J YD"},Q:{"260":"jD"},R:{"260":"kD"},S:{"1":"mD","644":"lD"}},B:4,C:"CSS clip-path property (for HTML)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-adjust.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-adjust.js deleted file mode 100644 index 5101f5b1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-adjust.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB lC mC"},D:{"16":"J MB K D E F A B C L M G N O P","33":"0 1 2 3 4 5 6 7 8 9 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","33":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"16":"IC J SD TD UD VD gC WD XD","33":"I"},J:{"16":"D A"},K:{"2":"A B C CC fC DC","33":"H"},L:{"16":"I"},M:{"1":"BC"},N:{"16":"A B"},O:{"16":"EC"},P:{"16":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"33":"jD"},R:{"16":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS print-color-adjust",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-function.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-function.js deleted file mode 100644 index 455308a6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-color-function.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q","322":"r s t"},C:{"1":"6 7 8 9 w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t lC mC","578":"u v"},D:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q","322":"r s t"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC","132":"B C L M PC CC DC sC tC"},F:{"1":"h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d zC 0C 1C 2C CC fC 3C DC","322":"e f g"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD","132":"CD DD ED FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5","2":"J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:4,C:"CSS color() function",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-conic-gradients.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-conic-gradients.js deleted file mode 100644 index ac94c78b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-conic-gradients.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B lC mC","578":"7B 8B 9B AC Q H R LC"},D:{"1":"6 7 8 9 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB","257":"1B 2B","450":"JC tB KC uB vB wB xB yB zB 0B"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC"},F:{"1":"sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB zC 0C 1C 2C CC fC 3C DC","257":"qB rB","450":"gB hB iB jB kB lB mB nB oB pB"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"CSS Conical Gradients",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries-style.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries-style.js deleted file mode 100644 index 87ca382a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries-style.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p","194":"q r s t","260":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p","194":"q r s t","260":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC","260":"cC dC eC yC","772":"HC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b zC 0C 1C 2C CC fC 3C DC","194":"c d e f g","260":"h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD","260":"cC dC eC","772":"HC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","260":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","260":"H"},L:{"260":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","260":"0 1 2 3 4 5"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Container Style Queries",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries.js deleted file mode 100644 index cd2366df..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-queries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n","516":"o"},C:{"1":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s lC mC"},D:{"1":"6 7 8 9 p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a","194":"c d e f g h i j k l m n","450":"b","516":"o"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC zC 0C 1C 2C CC fC 3C DC","194":"Q H R LC S T U V W X Y Z","516":"a b c"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Container Queries (Size)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-query-units.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-query-units.js deleted file mode 100644 index c0d9b9f1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-container-query-units.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n"},C:{"1":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s lC mC"},D:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b","194":"k l m n","450":"c d e f g h i j"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC zC 0C 1C 2C CC fC 3C DC","194":"Q H R LC S T U V W X Y Z"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Container Query Units",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-containment.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-containment.js deleted file mode 100644 index 4144a0ba..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-containment.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB lC mC","194":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B"},D:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","66":"lB"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB zC 0C 1C 2C CC fC 3C DC","66":"YB ZB"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","194":"lD"}},B:2,C:"CSS Containment",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-content-visibility.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-content-visibility.js deleted file mode 100644 index ae85e3f0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-content-visibility.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T"},C:{"1":"GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r lC mC","194":"6 7 8 9 s t u v w x AB BB CB DB EB FB"},D:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T"},E:{"1":"HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC"},F:{"1":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS content-visibility",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-counters.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-counters.js deleted file mode 100644 index 4fe26c7a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-counters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","2":"K D hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS Counters",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-crisp-edges.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-crisp-edges.js deleted file mode 100644 index bccf61fa..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-crisp-edges.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K hC","2340":"D E F A B"},B:{"2":"C L M G N O P","1025":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC","513":"xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b","545":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB","1025":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","164":"K","4644":"D E F pC qC rC"},F:{"2":"0 1 2 3 4 5 F B G N O P NB y z zC 0C 1C 2C CC fC","545":"C 3C DC","1025":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","4260":"5C 6C","4644":"E 7C 8C 9C AD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","1025":"I"},J:{"2":"D","4260":"A"},K:{"2":"A B CC fC","545":"C DC","1025":"H"},L:{"1025":"I"},M:{"1":"BC"},N:{"2340":"A B"},O:{"1025":"EC"},P:{"1025":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1025":"jD"},R:{"1025":"kD"},S:{"1":"mD","4097":"lD"}},B:4,C:"Crisp edges/pixelated images",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cross-fade.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cross-fade.js deleted file mode 100644 index 964df329..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-cross-fade.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"J MB K D E F A B C L M G N","33":"0 1 2 3 4 5 6 7 8 9 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","33":"K D E F oC pC qC rC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","33":"E 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","33":"I WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","33":"H"},L:{"33":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"33":"EC"},P:{"33":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"33":"jD"},R:{"33":"kD"},S:{"2":"lD mD"}},B:4,C:"CSS Cross-Fade Function",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-default-pseudo.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-default-pseudo.js deleted file mode 100644 index b68c29e6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-default-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC IC lC mC"},D:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC","132":"K D E F A oC pC qC rC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F B zC 0C 1C 2C CC fC","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB","260":"C 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C 6C","132":"E 7C 8C 9C AD BD"},H:{"260":"RD"},I:{"1":"I","16":"IC SD TD UD","132":"J VD gC WD XD"},J:{"16":"D","132":"A"},K:{"1":"H","16":"A B C CC fC","260":"DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","132":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:":default CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js deleted file mode 100644 index e090a59e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"Q"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"B","2":"J MB K D E F A C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Explicit descendant combinator >>",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-deviceadaptation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-deviceadaptation.js deleted file mode 100644 index 093074a7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","164":"A B"},B:{"66":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","164":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB","66":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB zC 0C 1C 2C CC fC 3C DC","66":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"292":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A H","292":"B C CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"164":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"66":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Device Adaptation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-dir-pseudo.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-dir-pseudo.js deleted file mode 100644 index 70a7d245..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n","194":"6 7 8 9 o p q r s t u v w x AB"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N lC mC","33":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z","194":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z zC 0C 1C 2C CC fC 3C DC","194":"a b c d e f g h i j k l m n o"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"3 4 5","2":"0 1 2 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"mD","33":"lD"}},B:5,C:":dir() CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-display-contents.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-display-contents.js deleted file mode 100644 index 9915ebb6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-display-contents.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","132":"Q H R S T U V W X","260":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB lC mC","132":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC","260":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","132":"xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X","194":"sB JC tB KC uB vB wB","260":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B nC OC oC pC qC rC PC","132":"C L M G CC DC sC tC uC QC RC EC vC","260":"GC XC YC ZC aC bC xC HC cC dC eC yC","772":"FC SC TC UC VC WC wC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB zC 0C 1C 2C CC fC 3C DC","132":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B","260":"8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD","132":"ED FD GD HD ID JD","260":"KD LD MD ND QC RC EC OD","516":"SC TC UC VC WC PD","772":"FC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","260":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","260":"H"},L:{"260":"I"},M:{"260":"BC"},N:{"2":"A B"},O:{"132":"EC"},P:{"2":"J YD ZD aD bD","132":"cD PC dD eD fD gD","260":"0 1 2 3 4 5 y z hD FC GC HC iD"},Q:{"132":"jD"},R:{"260":"kD"},S:{"132":"lD","260":"mD"}},B:4,C:"CSS display: contents",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-element-function.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-element-function.js deleted file mode 100644 index 96e61924..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-element-function.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"33":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","164":"iC IC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"33":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"33":"lD mD"}},B:5,C:"CSS element() function",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-env-function.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-env-function.js deleted file mode 100644 index 6a0d4c15..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-env-function.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB lC mC"},D:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","132":"B"},F:{"1":"qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","132":"DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:7,C:"CSS Environment Variables env()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-exclusions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-exclusions.js deleted file mode 100644 index 5d21b3bc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-exclusions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","33":"A B"},B:{"2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","33":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"33":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Exclusions Level 1",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-featurequeries.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-featurequeries.js deleted file mode 100644 index 413887e1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-featurequeries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B C zC 0C 1C 2C CC fC 3C"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS Feature Queries",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-file-selector-button.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-file-selector-button.js deleted file mode 100644 index 78c9b11d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-file-selector-button.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X"},L:{"1":"I"},B:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","33":"C L M G N O P Q H R S T U V W X"},C:{"1":"6 7 8 9 LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R lC mC"},M:{"1":"BC"},A:{"2":"K D E F hC","33":"A B"},F:{"1":"7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"yC","33":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","33":"J YD ZD aD bD cD PC dD eD fD gD"},I:{"1":"I","2":"IC J SD TD UD VD gC","33":"WD XD"}},B:6,C:"::file-selector-button CSS pseudo-element",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filter-function.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filter-function.js deleted file mode 100644 index 50a03526..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filter-function.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC","33":"F"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C","33":"9C AD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS filter() function",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filters.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filters.js deleted file mode 100644 index 1f61e1a8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-filters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","1028":"L M G N O P","1346":"C"},C:{"1":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC","196":"UB","516":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB mC"},D:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O","33":"0 1 2 3 4 5 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","33":"K D E F pC qC"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"E 6C 7C 8C 9C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","33":"WD XD"},J:{"2":"D","33":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","33":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"CSS Filter Effects",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-letter.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-letter.js deleted file mode 100644 index b259881a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-letter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","16":"hC","516":"E","1540":"K D"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","132":"IC","260":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"MB K D E","132":"J"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"MB nC","132":"J OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","16":"F zC","260":"B 0C 1C 2C CC fC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"1":"RD"},I:{"1":"IC J I VD gC WD XD","16":"SD TD","132":"UD"},J:{"1":"D A"},K:{"1":"C H DC","260":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"::first-letter CSS pseudo-element selector",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-line.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-line.js deleted file mode 100644 index 2e74dce0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-first-line.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","132":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS first-line pseudo-element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-fixed.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-fixed.js deleted file mode 100644 index 110e1aa0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-fixed.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"D E F A B","2":"hC","8":"K"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","1025":"rC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","132":"5C 6C 7C"},H:{"2":"RD"},I:{"1":"IC I WD XD","260":"SD TD UD","513":"J VD gC"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS position:fixed",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-visible.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-visible.js deleted file mode 100644 index fd649130..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-visible.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","328":"Q H R S T U"},C:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","161":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T"},D:{"1":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB","328":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC","578":"G uC QC"},F:{"1":"4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB zC 0C 1C 2C CC fC 3C DC","328":"yB zB 0B 1B 2B 3B"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD","578":"ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"161":"lD mD"}},B:5,C:":focus-visible CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-within.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-within.js deleted file mode 100644 index ae49d93f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-focus-within.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB lC mC"},D:{"1":"6 7 8 9 tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB","194":"JC"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB zC 0C 1C 2C CC fC 3C DC","194":"gB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:7,C:":focus-within CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-palette.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-palette.js deleted file mode 100644 index 38fc9aba..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-palette.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n"},C:{"1":"6 7 8 9 q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p lC mC"},D:{"1":"6 7 8 9 k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V zC 0C 1C 2C CC fC 3C DC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC HC"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS font-palette",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js deleted file mode 100644 index f10870bb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB lC mC","194":"gB hB iB jB kB lB mB nB oB pB qB rB"},D:{"1":"6 7 8 9 tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","66":"jB kB lB mB nB oB pB qB rB sB JC"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC","66":"WB XB YB ZB aB bB cB dB eB fB gB"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","66":"YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","194":"lD"}},B:5,C:"CSS font-display",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-stretch.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-stretch.js deleted file mode 100644 index 5b0be3ef..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-font-stretch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E lC mC"},D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS font-stretch",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gencontent.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gencontent.js deleted file mode 100644 index 91522966..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gencontent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D hC","132":"E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS Generated content for pseudo-elements",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gradients.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gradients.js deleted file mode 100644 index f83d0cb2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-gradients.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC","260":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB","292":"J MB K D E F A B C L M G mC"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 A B C L M G N O P NB y z","548":"J MB K D E F"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC","260":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC","292":"K oC","804":"J MB"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C","33":"C 3C","164":"CC fC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","260":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC","292":"5C 6C","804":"OC 4C gC"},H:{"2":"RD"},I:{"1":"I WD XD","33":"J VD gC","548":"IC SD TD UD"},J:{"1":"A","548":"D"},K:{"1":"H DC","2":"A B","33":"C","164":"CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS Gradients",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid-animation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid-animation.js deleted file mode 100644 index 94e11a51..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid-animation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p"},C:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB lC mC"},D:{"1":"6 7 8 9 q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b zC 0C 1C 2C CC fC 3C DC"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 z","2":"J y YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"CSS Grid animation",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid.js deleted file mode 100644 index aebc2d79..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-grid.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","8":"F","292":"A B"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","292":"C L M G"},C:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P lC mC","8":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB","584":"aB bB cB dB eB fB gB hB iB jB kB lB","1025":"mB nB"},D:{"1":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 J MB K D E F A B C L M G N O P NB y z","8":"3 4 5 OB","200":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB","1025":"rB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","8":"K D E F A pC qC rC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","200":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","8":"E 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD","8":"gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"292":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"YD","8":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS Grid Layout (level 1)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js deleted file mode 100644 index 48bbc27b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F nC OC oC pC qC rC","132":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD","132":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:4,C:"CSS hanging-punctuation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-has.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-has.js deleted file mode 100644 index 58d6aa6a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-has.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n"},C:{"1":"CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l lC mC","322":"6 7 8 9 m n o p q r s t u v w x AB BB"},D:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j","194":"k l m n"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:":has() CSS relational pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hyphens.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hyphens.js deleted file mode 100644 index d8803e5f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-hyphens.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","33":"A B"},B:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","33":"C L M G N O P","132":"Q H R S T U V W","260":"X Y Z a b c d e f g h i j k l m n"},C:{"1":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC","33":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},D:{"1":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB","132":"pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W"},E:{"1":"GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","33":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC"},F:{"1":"a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB zC 0C 1C 2C CC fC 3C DC","132":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C","33":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","132":"YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS Hyphenation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-orientation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-orientation.js deleted file mode 100644 index 6b385573..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-orientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H","257":"R S T U V W X"},C:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H","257":"R S T U V W X"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC"},F:{"1":"9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB zC 0C 1C 2C CC fC 3C DC","257":"0B 1B 2B 3B 4B 5B 6B 7B 8B"},G:{"1":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD","257":"fD gD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 image-orientation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-set.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-set.js deleted file mode 100644 index e2b649ec..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-image-set.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","164":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v","2049":"w"},C:{"1":"6 7 8 9 w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U lC mC","66":"V W","2305":"Y Z a b c d e f g h i j k l m n o p q r s t u v","2820":"X"},D:{"1":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y","164":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v","2049":"w"},E:{"1":"GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","132":"A B C L PC CC DC sC","164":"K D E F pC qC rC","1540":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC"},F:{"1":"j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","164":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h","2049":"i"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","132":"BD CD DD ED FD GD HD ID JD KD","164":"E 6C 7C 8C 9C AD","1540":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","164":"WD XD"},J:{"2":"D","164":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"164":"EC"},P:{"1":"1 2 3 4 5","164":"0 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"164":"jD"},R:{"164":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS image-set",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-in-out-of-range.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-in-out-of-range.js deleted file mode 100644 index cba4ba90..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C","260":"L M G N O P"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC","516":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},D:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J","16":"MB K D E F A B C L M","260":"mB","772":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB","772":"K D E F A oC pC qC rC"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F zC","260":"B C ZB 0C 1C 2C CC fC 3C DC","772":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","772":"E 5C 6C 7C 8C 9C AD BD"},H:{"132":"RD"},I:{"1":"I","2":"IC SD TD UD","260":"J VD gC WD XD"},J:{"2":"D","260":"A"},K:{"1":"H","260":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","260":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","516":"lD"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js deleted file mode 100644 index 1c090eb1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","132":"A B","388":"F"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O P"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC IC lC mC","132":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","388":"J MB"},D:{"1":"6 7 8 9 ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB K nC OC","132":"D E F A pC qC rC","388":"oC"},F:{"1":"4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F B zC 0C 1C 2C CC fC","132":"0 1 2 3 G N O P NB y z","516":"C 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C 6C","132":"E 7C 8C 9C AD BD"},H:{"516":"RD"},I:{"1":"I","16":"IC SD TD UD XD","132":"WD","388":"J VD gC"},J:{"16":"D","132":"A"},K:{"1":"H","16":"A B C CC fC","516":"DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","132":"lD"}},B:5,C:":indeterminate CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-letter.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-letter.js deleted file mode 100644 index e5feed6d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-letter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s","260":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s","260":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E nC OC oC pC qC","260":"F","420":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g zC 0C 1C 2C CC fC 3C DC","260":"h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C","420":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","260":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","260":"H"},L:{"260":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"J y YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","260":"0 1 2 3 4 5 z"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Initial Letter",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-value.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-value.js deleted file mode 100644 index ab8c0405..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-initial-value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"J MB K D E F A B C L M G N O P lC mC","164":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS initial value",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-lch-lab.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-lch-lab.js deleted file mode 100644 index 69e5d1af..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-lch-lab.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s","322":"t"},C:{"1":"6 7 8 9 w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t lC mC","194":"u v"},D:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s","322":"t"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC"},F:{"1":"h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5","2":"J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:4,C:"LCH and Lab color values",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-letter-spacing.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-letter-spacing.js deleted file mode 100644 index 371c49a4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-letter-spacing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","16":"hC","132":"K D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC","132":"J MB K OC oC"},F:{"1":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F zC","132":"B C G N 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"2":"RD"},I:{"1":"I WD XD","16":"SD TD","132":"IC J UD VD gC"},J:{"132":"D A"},K:{"1":"H","132":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"letter-spacing CSS property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-line-clamp.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-line-clamp.js deleted file mode 100644 index bf692e82..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-line-clamp.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB lC mC","33":"6 7 8 9 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"16":"J MB K D E F A B C L","33":"0 1 2 3 4 5 6 7 8 9 M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J nC OC","33":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"OC 4C gC","33":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"16":"SD TD","33":"IC J I UD VD gC WD XD"},J:{"33":"D A"},K:{"2":"A B C CC fC DC","33":"H"},L:{"33":"I"},M:{"33":"BC"},N:{"2":"A B"},O:{"33":"EC"},P:{"33":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"33":"jD"},R:{"33":"kD"},S:{"2":"lD","33":"mD"}},B:5,C:"CSS line-clamp",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-logical-props.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-logical-props.js deleted file mode 100644 index 912df9f0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-logical-props.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","1028":"W X","1540":"Q H R S T U V"},C:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC","164":"0 1 2 3 4 5 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB lC mC","1540":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB"},D:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","292":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B","1028":"W X","1540":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","292":"J MB K D E F A B C nC OC oC pC qC rC PC CC","1540":"L M DC sC","3076":"tC"},F:{"1":"8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","292":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB","1028":"6B 7B","1540":"qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","292":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD","1540":"GD HD ID JD KD LD","3076":"MD"},H:{"2":"RD"},I:{"1":"I","292":"IC J SD TD UD VD gC WD XD"},J:{"292":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","292":"J YD ZD aD bD cD","1540":"PC dD eD fD gD"},Q:{"1540":"jD"},R:{"1":"kD"},S:{"1":"mD","1540":"lD"}},B:5,C:"CSS Logical Properties",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-marker-pseudo.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-marker-pseudo.js deleted file mode 100644 index ea84f756..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U"},C:{"1":"6 7 8 9 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB lC mC"},D:{"1":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U"},E:{"1":"yC","2":"J MB K D E F A B nC OC oC pC qC rC PC","132":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC"},F:{"1":"4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD","132":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"CSS ::marker pseudo-element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-masks.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-masks.js deleted file mode 100644 index 14e484aa..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-masks.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N","164":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB","3138":"O","12292":"P"},C:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","260":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","164":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC","164":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","164":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","164":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","164":"WD XD","676":"IC J SD TD UD VD gC"},J:{"164":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"164":"EC"},P:{"1":"3 4 5","164":"0 1 2 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"164":"jD"},R:{"164":"kD"},S:{"1":"mD","260":"lD"}},B:4,C:"CSS Masks",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-matches-pseudo.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-matches-pseudo.js deleted file mode 100644 index 15c9e664..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","1220":"Q H R S T U V W"},C:{"1":"6 7 8 9 AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","548":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},D:{"1":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","164":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB","196":"xB yB zB","1220":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W"},E:{"1":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB","164":"K D E oC pC qC","260":"F A B C L rC PC CC DC sC"},F:{"1":"7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","164":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","196":"mB nB oB","1220":"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},G:{"1":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C 6C","164":"E 7C 8C","260":"9C AD BD CD DD ED FD GD HD ID JD KD"},H:{"2":"RD"},I:{"1":"I","16":"IC SD TD UD","164":"J VD gC WD XD"},J:{"16":"D","164":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","164":"J YD ZD aD bD cD PC dD eD fD gD"},Q:{"1220":"jD"},R:{"1":"kD"},S:{"1":"mD","548":"lD"}},B:5,C:":is() CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-math-functions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-math-functions.js deleted file mode 100644 index fe11a9b5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-math-functions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B lC mC"},D:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC","132":"C L CC DC"},F:{"1":"yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD","132":"ED FD GD HD ID JD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"CSS math functions min(), max() and clamp()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-interaction.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-interaction.js deleted file mode 100644 index e3b075a8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-interaction.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB lC mC"},D:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"Media Queries: interaction media features",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-range-syntax.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-range-syntax.js deleted file mode 100644 index c8071b92..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m"},C:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB lC mC"},D:{"1":"6 7 8 9 n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"Media Queries: Range Syntax",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-resolution.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-resolution.js deleted file mode 100644 index 75b04f01..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-resolution.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","132":"F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","1028":"C L M G N O P"},C:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","260":"J MB K D E F A B C L M G lC mC","1028":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC"},D:{"1":"6 7 8 9 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","548":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB","1028":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC","548":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F","548":"B C zC 0C 1C 2C CC fC 3C","1028":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC","548":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"132":"RD"},I:{"1":"I","16":"SD TD","548":"IC J UD VD gC","1028":"WD XD"},J:{"548":"D A"},K:{"1":"H DC","548":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","1028":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Media Queries: resolution feature",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-scripting.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-scripting.js deleted file mode 100644 index d367e6ca..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-media-scripting.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"Media Queries: scripting media feature",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mediaqueries.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mediaqueries.js deleted file mode 100644 index 8322d38a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mediaqueries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K D E hC","129":"F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","129":"0 1 2 3 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","129":"J MB K oC","388":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","129":"OC 4C gC 5C 6C"},H:{"1":"RD"},I:{"1":"I WD XD","129":"IC J SD TD UD VD gC"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"129":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS3 Media Queries",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mixblendmode.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mixblendmode.js deleted file mode 100644 index c6df422c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-mixblendmode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB lC mC"},D:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB","194":"PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"2":"J MB K D nC OC oC pC","260":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"OC 4C gC 5C 6C 7C","260":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Blending of HTML/SVG elements",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-module-scripts.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-module-scripts.js deleted file mode 100644 index 28f34bc4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-module-scripts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b","132":"6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b","132":"6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"16":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"194":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:1,C:"CSS Module Scripts",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-motion-paths.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-motion-paths.js deleted file mode 100644 index 4949b28b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-motion-paths.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B lC mC"},D:{"1":"6 7 8 9 gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","194":"dB eB fB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB zC 0C 1C 2C CC fC 3C DC","194":"QB RB SB"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"CSS Motion Path",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-namespaces.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-namespaces.js deleted file mode 100644 index 52b23021..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-namespaces.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC OC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS namespaces",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nesting.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nesting.js deleted file mode 100644 index 2435e36d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nesting.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r","194":"s t u","516":"6 7 8 9 v w x AB"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x lC mC","322":"6 7"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r","194":"s t u","516":"6 7 8 9 v w x AB"},E:{"1":"YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC","516":"WC wC GC XC"},F:{"1":"p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d zC 0C 1C 2C CC fC 3C DC","194":"e f g","516":"h i j k l m n o"},G:{"1":"YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC","516":"WC PD GC XC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","516":"1 2 3 4 5"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Nesting",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-not-sel-list.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-not-sel-list.js deleted file mode 100644 index d87b75a3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-not-sel-list.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P H R S T U V W","16":"Q"},C:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S lC mC"},D:{"1":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"selector list argument of :not()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nth-child-of.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nth-child-of.js deleted file mode 100644 index b570a7cd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-nth-child-of.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t"},C:{"1":"6 7 8 9 w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v lC mC"},D:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5","2":"J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-opacity.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-opacity.js deleted file mode 100644 index 81da1774..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-opacity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","4":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS3 Opacity",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-optional-pseudo.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-optional-pseudo.js deleted file mode 100644 index 3d3b8e6f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F zC","132":"B C 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"132":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"H","132":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:":optional CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-anchor.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-anchor.js deleted file mode 100644 index f9edc5d9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB lC mC"},D:{"1":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-overlay.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-overlay.js deleted file mode 100644 index e9673100..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w","2":"C L M G N O P","130":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w","16":"J MB K D E F A B C L M","130":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B oC pC qC rC PC CC","16":"nC OC","130":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i","2":"F B C zC 0C 1C 2C CC fC 3C DC","130":"j k l m n o p q r s t u v w x"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED","16":"OC","130":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J SD TD UD VD gC WD XD","130":"I"},J:{"16":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"130":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"CSS overflow: overlay",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow.js deleted file mode 100644 index ce19cff6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overflow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"388":"K D E F A B hC"},B:{"1":"6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"Q H R S T U V W X Y","388":"C L M G N O P"},C:{"1":"6 7 8 9 R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","260":"KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H","388":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB lC mC"},D:{"1":"6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","260":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y","388":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","260":"M G sC tC uC QC RC EC vC","388":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC"},F:{"1":"8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","260":"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B","388":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","260":"KD LD MD ND QC RC EC OD","388":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD"},H:{"388":"RD"},I:{"1":"I","388":"IC J SD TD UD VD gC WD XD"},J:{"388":"D A"},K:{"1":"H","388":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"388":"A B"},O:{"388":"EC"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","388":"J YD ZD aD bD cD PC dD eD fD gD"},Q:{"388":"jD"},R:{"1":"kD"},S:{"1":"mD","388":"lD"}},B:5,C:"CSS overflow property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js deleted file mode 100644 index 501746e5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","132":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O","516":"P"},C:{"1":"6 7 8 9 JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB lC mC"},D:{"1":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB","260":"vB wB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC","1090":"G tC uC QC RC EC vC"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB zC 0C 1C 2C CC fC 3C DC","260":"kB lB"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD","1090":"MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"CSS overscroll-behavior",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-page-break.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-page-break.js deleted file mode 100644 index b3ca1f11..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-page-break.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"388":"A B","900":"K D E F hC"},B:{"388":"C L M G N O P","641":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","900":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q"},C:{"772":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","900":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB lC mC"},D:{"641":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","900":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q"},E:{"772":"A","900":"J MB K D E F B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"16":"F zC","129":"B C 0C 1C 2C CC fC 3C DC","641":"d e f g h i j k l m n o p q r s t u v w x","900":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c"},G:{"900":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"129":"RD"},I:{"641":"I","900":"IC J SD TD UD VD gC WD XD"},J:{"900":"D A"},K:{"129":"A B C CC fC DC","641":"H"},L:{"900":"I"},M:{"772":"BC"},N:{"388":"A B"},O:{"900":"EC"},P:{"641":"0 1 2 3 4 5 z","900":"J y YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"900":"jD"},R:{"900":"kD"},S:{"772":"mD","900":"lD"}},B:2,C:"CSS page-break properties",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paged-media.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paged-media.js deleted file mode 100644 index 3c9869e0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paged-media.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D hC","132":"E F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O P"},C:{"1":"6 7 8 9 e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P lC mC","132":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","132":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC"},H:{"16":"RD"},I:{"16":"IC J I SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"1":"H","16":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"258":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"132":"lD mD"}},B:5,C:"CSS Paged Media (@page)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paint-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paint-api.js deleted file mode 100644 index c69e0926..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-paint-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB"},E:{"2":"J MB K D E F A B C nC OC oC pC qC rC PC CC","194":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:4,C:"CSS Painting API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder-shown.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder-shown.js deleted file mode 100644 index 8b99cde3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","292":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","164":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},D:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","164":"lD"}},B:5,C:":placeholder-shown CSS pseudo-class",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder.js deleted file mode 100644 index cd09bae0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-placeholder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","36":"C L M G N O P"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","130":"iC IC J MB K D E F A B C L M G N O P lC mC"},D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","36":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","36":"MB K D E F A oC pC qC rC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","36":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C","36":"E gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","36":"IC J SD TD UD VD gC WD XD"},J:{"36":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"36":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","36":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","33":"lD"}},B:5,C:"::placeholder CSS pseudo-element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-print-color-adjust.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-print-color-adjust.js deleted file mode 100644 index 0b02aac1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"2":"J MB K D E F A B C L M G N","33":"0 1 2 3 4 5 6 7 8 9 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},L:{"33":"I"},B:{"2":"C L M G N O P","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB lC mC","33":"iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},K:{"2":"A B C CC fC DC","33":"H"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB nC OC oC yC","33":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},P:{"33":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},I:{"2":"IC J SD TD UD VD gC","33":"I WD XD"}},B:6,C:"print-color-adjust property",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-read-only-write.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-read-only-write.js deleted file mode 100644 index dcd1e0b7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-read-only-write.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"6 7 8 9 AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC","33":"0 1 2 3 4 5 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B lC mC"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC OC","132":"J MB K D E oC pC qC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F B zC 0C 1C 2C CC","132":"0 C G N O P NB y z fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C","132":"E gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","16":"SD TD","132":"IC J UD VD gC WD XD"},J:{"1":"A","132":"D"},K:{"1":"H","2":"A B CC","132":"C fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","33":"lD"}},B:1,C:"CSS :read-only and :read-write selectors",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rebeccapurple.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rebeccapurple.js deleted file mode 100644 index fa7ba064..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC"},D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC","16":"pC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Rebeccapurple color",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-reflections.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-reflections.js deleted file mode 100644 index 4c2b5725..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-reflections.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"33":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"nC OC","33":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"33":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"33":"IC J I SD TD UD VD gC WD XD"},J:{"33":"D A"},K:{"2":"A B C CC fC DC","33":"H"},L:{"33":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"33":"EC"},P:{"33":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"33":"jD"},R:{"33":"kD"},S:{"2":"lD mD"}},B:7,C:"CSS Reflections",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-regions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-regions.js deleted file mode 100644 index cdee107d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-regions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","420":"A B"},B:{"2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","420":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"6 7 8 9 J MB K D E F A B C L M VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","36":"G N O P","66":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB"},E:{"2":"J MB K C L M G nC OC oC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"D E F A B pC qC rC PC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"OC 4C gC 5C 6C ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"E 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"420":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Regions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-relative-colors.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-relative-colors.js deleted file mode 100644 index ef5267f0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-relative-colors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"I","2":"6 7 8 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","194":"9","260":"AB BB CB DB EB FB GB HB IB JB KB LB"},C:{"1":"MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB lC mC","260":"JB KB LB I BC"},D:{"1":"I BC MC NC","2":"0 1 2 3 4 5 6 7 8 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","194":"9","260":"AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC","260":"VC WC wC GC XC YC ZC aC bC xC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m zC 0C 1C 2C CC fC 3C DC","194":"n o","260":"p q r s t u v w x"},G:{"1":"HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC","260":"VC WC PD GC XC YC ZC aC bC QD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","260":"H"},L:{"1":"I"},M:{"260":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","260":"3 4 5"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Relative color syntax",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-repeating-gradients.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-repeating-gradients.js deleted file mode 100644 index 0552e926..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC","33":"J MB K D E F A B C L M G mC"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F","33":"0 1 2 3 A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","33":"K oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C","33":"C 3C","36":"CC fC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","33":"5C 6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC SD TD UD","33":"J VD gC"},J:{"1":"A","2":"D"},K:{"1":"H DC","2":"A B","33":"C","36":"CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS Repeating Gradients",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-resize.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-resize.js deleted file mode 100644 index 7b7518da..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-resize.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","33":"J"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C","132":"DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:2,C:"CSS resize property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-revert-value.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-revert-value.js deleted file mode 100644 index 38b10ddb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-revert-value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S"},C:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB lC mC"},D:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC"},F:{"1":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"CSS revert value",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rrggbbaa.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rrggbbaa.js deleted file mode 100644 index f82cea09..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB lC mC"},D:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","194":"mB nB oB pB qB rB sB JC tB KC"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB zC 0C 1C 2C CC fC 3C DC","194":"ZB aB bB cB dB eB fB gB hB iB jB kB lB"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","194":"YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"#rrggbbaa hex color notation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scroll-behavior.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scroll-behavior.js deleted file mode 100644 index 45a07124..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","129":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB","129":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","450":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC sC","578":"M G tC uC QC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","129":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","450":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD","578":"MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"129":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"129":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"CSS Scroll-behavior",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scrollbar.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scrollbar.js deleted file mode 100644 index c0e2d425..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-scrollbar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K D E F A B hC"},B:{"1":"CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","292":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB"},C:{"1":"6 7 8 9 wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB lC mC","3138":"vB"},D:{"1":"CB DB EB FB GB HB IB JB KB LB I BC MC NC","292":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB"},E:{"16":"J MB nC OC","292":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","292":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p"},G:{"2":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C 6C","292":"7C","804":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD"},H:{"2":"RD"},I:{"16":"SD TD","292":"IC J I UD VD gC WD XD"},J:{"292":"D A"},K:{"2":"A B C CC fC DC","292":"H"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"292":"EC"},P:{"1":"3 4 5","292":"0 1 2 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"292":"jD"},R:{"292":"kD"},S:{"2":"lD mD"}},B:4,C:"CSS scrollbar styling",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel2.js deleted file mode 100644 index 5ba68348..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"D E F A B","2":"hC","8":"K"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS 2.1 selectors",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel3.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel3.js deleted file mode 100644 index f6505a6b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sel3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"hC","8":"K","132":"D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS3 selectors",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-selection.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-selection.js deleted file mode 100644 index fd8c9e8b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-selection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"C H fC DC","16":"A B CC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","33":"lD"}},B:5,C:"::selection CSS pseudo-element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-shapes.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-shapes.js deleted file mode 100644 index f2b1b4b3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-shapes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lC mC","322":"lB mB nB oB pB qB rB sB JC tB KC"},D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB","194":"UB VB WB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC","33":"E F A qC rC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","33":"E 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"CSS Shapes Level 1",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-snappoints.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-snappoints.js deleted file mode 100644 index b28febfd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-snappoints.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","6308":"A","6436":"B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","6436":"C L M G N O P"},C:{"1":"6 7 8 9 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB lC mC","2052":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB"},D:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB","8258":"yB zB 0B"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC","3108":"F A rC PC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC","8258":"oB pB qB rB sB tB uB vB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C","3108":"9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2052":"lD"}},B:4,C:"CSS Scroll Snap",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sticky.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sticky.js deleted file mode 100644 index e8a7987a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-sticky.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G","1028":"Q H R S T U V W X Y Z","4100":"N O P"},C:{"1":"6 7 8 9 JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","194":"4 5 OB PB QB RB","516":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB"},D:{"1":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 J MB K D E F A B C L M G N O P NB y z XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","322":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB mB nB oB pB","1028":"qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC","33":"E F A B C qC rC PC CC DC","2084":"D pC"},F:{"1":"AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB zC 0C 1C 2C CC fC 3C DC","322":"ZB aB bB","1028":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"E 8C 9C AD BD CD DD ED FD GD","2084":"6C 7C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1028":"jD"},R:{"1":"kD"},S:{"1":"mD","516":"lD"}},B:5,C:"CSS position:sticky",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-subgrid.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-subgrid.js deleted file mode 100644 index 0fb958a4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-subgrid.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w","194":"6 7 x"},C:{"1":"6 7 8 9 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B lC mC"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w","194":"6 7 x"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i zC 0C 1C 2C CC fC 3C DC","194":"j k l"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"2 3 4 5","2":"0 1 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"CSS Subgrid",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-supports-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-supports-api.js deleted file mode 100644 index 6faa8fa2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-supports-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G N O P"},C:{"1":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB lC mC","66":"y z","260":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},D:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z","260":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C","132":"DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"132":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC","132":"DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS.supports() API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-table.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-table.js deleted file mode 100644 index 14a19c31..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-table.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","2":"K D hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","132":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS Table display",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-align-last.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-align-last.js deleted file mode 100644 index d99e085c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-align-last.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","4":"C L M G N O P"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B lC mC","33":"0 1 2 3 4 5 C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},D:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB","322":"VB WB XB YB ZB aB bB cB dB eB fB gB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","578":"0 1 2 3 4 5 OB PB QB RB SB TB"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","33":"lD"}},B:4,C:"CSS3 text-align-last",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-box-trim.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-box-trim.js deleted file mode 100644 index 4743ef8b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-box-trim.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB","322":"JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"MC NC","2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB","322":"JB KB LB I BC"},E:{"1":"dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC","194":"VC WC wC GC XC YC ZC aC bC xC HC cC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC","194":"VC WC PD GC XC YC ZC aC bC QD HC cC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Text Box",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-indent.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-indent.js deleted file mode 100644 index 417c1e3e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-indent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K D E F A B hC"},B:{"132":"C L M G N O P","388":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB lC mC"},D:{"132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB","388":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"132":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","388":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"132":"RD"},I:{"132":"IC J SD TD UD VD gC WD XD","388":"I"},J:{"132":"D A"},K:{"132":"A B C CC fC DC","388":"H"},L:{"388":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"388":"EC"},P:{"132":"J","388":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"388":"jD"},R:{"388":"kD"},S:{"132":"lD mD"}},B:4,C:"CSS text-indent",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-justify.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-justify.js deleted file mode 100644 index 829efc44..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-justify.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"K D hC","132":"E F A B"},B:{"132":"C L M G N O P","322":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB lC mC","1025":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","1602":"oB"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","322":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB zC 0C 1C 2C CC fC 3C DC","322":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","322":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","322":"H"},L:{"322":"I"},M:{"1025":"BC"},N:{"132":"A B"},O:{"322":"EC"},P:{"2":"J","322":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"322":"jD"},R:{"322":"kD"},S:{"2":"lD","1025":"mD"}},B:4,C:"CSS text-justify",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-orientation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-orientation.js deleted file mode 100644 index a3032070..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-orientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB lC mC","194":"YB ZB aB"},D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},E:{"1":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC","16":"A","33":"B C L PC CC DC sC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS text-orientation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-spacing.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-spacing.js deleted file mode 100644 index 558e69bd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-spacing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D hC","161":"E F A B"},B:{"2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","161":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"16":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS Text 4 text-spacing",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js deleted file mode 100644 index 4f82a082..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w","132":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w","132":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h zC 0C 1C 2C CC fC 3C DC","132":"i j k l m n o p q r s t u v w x"},G:{"1":"bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","132":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","132":"H"},L:{"132":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","132":"1 2 3 4 5"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS text-wrap: balance",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-textshadow.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-textshadow.js deleted file mode 100644 index 65311113..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-textshadow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","129":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","260":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"4":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"A","4":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"129":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 Text-shadow",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-touch-action.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-touch-action.js deleted file mode 100644 index dc7d4f98..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-touch-action.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F hC","289":"A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC","194":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","1025":"mB nB oB pB qB"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},E:{"2050":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C","516":"AD BD CD DD ED FD GD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","289":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","194":"lD"}},B:2,C:"CSS touch-action property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-transitions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-transitions.js deleted file mode 100644 index b2acd06f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-transitions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","33":"MB K D E F A B C L M G","164":"J"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"K oC","164":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F zC 0C","33":"C","164":"B 1C 2C CC fC 3C"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"6C","164":"OC 4C gC 5C"},H:{"2":"RD"},I:{"1":"I WD XD","33":"IC J SD TD UD VD gC"},J:{"1":"A","33":"D"},K:{"1":"H DC","33":"C","164":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"CSS3 Transitions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unicode-bidi.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unicode-bidi.js deleted file mode 100644 index b5fbf9ee..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O P"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","132":"iC IC J MB K D E F lC mC","292":"A B C L M G N"},D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"J MB K D E F A B C L M G N","548":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},E:{"132":"J MB K D E nC OC oC pC qC","548":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"132":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"132":"E OC 4C gC 5C 6C 7C 8C","548":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"16":"RD"},I:{"1":"I","16":"IC J SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"1":"H","16":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","16":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","33":"lD"}},B:4,C:"CSS unicode-bidi property",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unset-value.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unset-value.js deleted file mode 100644 index ac01882b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-unset-value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS unset value",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-variables.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-variables.js deleted file mode 100644 index aec5e3a6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-variables.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M","260":"G"},C:{"1":"6 7 8 9 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","194":"iB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC","260":"rC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB zC 0C 1C 2C CC fC 3C DC","194":"VB"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C","260":"AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS Variables (Custom Properties)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-when-else.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-when-else.js deleted file mode 100644 index 00ce91e1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-when-else.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS @when / @else conditional rules",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-widows-orphans.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-widows-orphans.js deleted file mode 100644 index e6897d50..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-widows-orphans.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D hC","129":"E F"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","129":"F B zC 0C 1C 2C CC fC 3C"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"2":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:2,C:"CSS widows & orphans",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-width-stretch.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-width-stretch.js deleted file mode 100644 index 68581152..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-width-stretch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"2":"J MB K D E F A B C L M G N O P NB y z","33":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},L:{"33":"I"},B:{"2":"C L M G N O P","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC","33":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},M:{"33":"BC"},A:{"2":"K D E F A B hC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},K:{"2":"A B C CC fC DC","33":"H"},E:{"2":"J MB K nC OC oC pC yC","33":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC"},G:{"2":"OC 4C gC 5C 6C","33":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},P:{"2":"J","33":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},I:{"2":"IC J SD TD UD VD gC","33":"I WD XD"}},B:6,C:"width: stretch property",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-writing-mode.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-writing-mode.js deleted file mode 100644 index f518d087..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-writing-mode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC","322":"WB XB YB ZB aB"},D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K","16":"D","33":"0 1 2 3 4 5 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB","33":"K D E F A oC pC qC rC PC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC","33":"E 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"SD TD UD","33":"IC J VD gC WD XD"},J:{"33":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"36":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","33":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS writing-mode property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-zoom.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-zoom.js deleted file mode 100644 index 7ec60a7d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css-zoom.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D hC","129":"E F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"129":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"CSS zoom",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-attr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-attr.js deleted file mode 100644 index be1af4bb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-attr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"CSS3 attr() function for all properties",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-boxsizing.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-boxsizing.js deleted file mode 100644 index 95cb7bd7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-boxsizing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","8":"K D hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"J MB K D E F"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"OC 4C gC"},H:{"1":"RD"},I:{"1":"J I VD gC WD XD","33":"IC SD TD UD"},J:{"1":"A","33":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"CSS3 Box-sizing",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-colors.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-colors.js deleted file mode 100644 index f0536b6c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-colors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","4":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","2":"F","4":"zC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS3 Colors",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-grab.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-grab.js deleted file mode 100644 index 73f8d654..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M"},C:{"1":"5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"0 1 2 3 4 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"C pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"33":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:2,C:"CSS grab & grabbing cursors",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-newer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-newer.js deleted file mode 100644 index 37f1d748..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"0 1 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"J MB K D E nC OC oC pC qC"},F:{"1":"2 3 4 5 C OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC","33":"0 1 G N O P NB y z"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"33":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:2,C:"CSS3 Cursors: zoom-in & zoom-out",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors.js deleted file mode 100644 index a6bbee79..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-cursors.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","132":"K D E hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","4":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"J"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","4":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","260":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","16":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:2,C:"CSS3 Cursors (original values)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-tabsize.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-tabsize.js deleted file mode 100644 index 3d4c21c2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/css3-tabsize.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","33":"nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z","164":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},D:{"1":"6 7 8 9 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y","132":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC","132":"D E F A B C L pC qC rC PC CC DC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F zC 0C 1C","132":"0 1 2 3 4 5 G N O P NB y z OB","164":"B C 2C CC fC 3C DC"},G:{"1":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C","132":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD"},H:{"164":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","132":"WD XD"},J:{"132":"D A"},K:{"1":"H","2":"A","164":"B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"164":"lD mD"}},B:4,C:"CSS3 tab-size",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/currentcolor.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/currentcolor.js deleted file mode 100644 index 4acb6679..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/currentcolor.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS currentColor value",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elements.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elements.js deleted file mode 100644 index f20730b0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elements.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","8":"A B"},B:{"1":"Q","2":"6 7 8 9 H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","8":"C L M G N O P"},C:{"2":"0 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","66":"1 2 3 4 5 OB PB","72":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB"},D:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","2":"0 1 2 3 4 6 7 8 9 J MB K D E F A B C L M G N O P NB y z H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","66":"5 OB PB QB RB SB"},E:{"2":"J MB nC OC oC","8":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB","2":"F B C zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","66":"G N O P NB"},G:{"2":"OC 4C gC 5C 6C","8":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"XD","2":"IC J I SD TD UD VD gC WD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"J YD ZD aD bD cD PC dD eD","2":"0 1 2 3 4 5 y z fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"2":"mD","72":"lD"}},B:7,C:"Custom Elements (deprecated V0 spec)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elementsv1.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elementsv1.js deleted file mode 100644 index 405d5be6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/custom-elementsv1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","8":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","8":"C L M G N O P"},C:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB lC mC","8":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","456":"kB lB mB nB oB pB qB rB sB","712":"JC tB KC uB"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","8":"mB nB","132":"oB pB qB rB sB JC tB KC uB vB wB xB yB"},E:{"2":"J MB K D nC OC oC pC qC","8":"E F A rC","132":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB zC 0C 1C 2C CC fC 3C DC","132":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD","132":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","132":"YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","8":"lD"}},B:1,C:"Custom Elements (V1)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/customevent.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/customevent.js deleted file mode 100644 index 04c7826e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/customevent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","132":"F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC","132":"K D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J","16":"MB K D E L M","388":"F A B C"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB K","388":"oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F zC 0C 1C 2C","132":"B CC fC"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"4C","16":"OC gC","388":"5C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"SD TD UD","388":"IC J VD gC"},J:{"1":"A","388":"D"},K:{"1":"C H DC","2":"A","132":"B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"CustomEvent",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datalist.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datalist.js deleted file mode 100644 index 9e471ea2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datalist.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E F","260":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G","1284":"N O P"},C:{"8":"iC IC lC mC","516":"l m n o p q r s","4612":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k","8196":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"J MB K D E F A B C L M G N O P NB","132":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB K D E F A B C nC OC oC pC qC rC PC CC"},F:{"1":"F B C wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"8":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD","2049":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I XD","8":"IC J SD TD UD VD gC WD"},J:{"1":"A","8":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"8":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:1,C:"Datalist element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dataset.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dataset.js deleted file mode 100644 index bfc9a325..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dataset.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","4":"K D E F A hC"},B:{"1":"C L M G N","129":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","4":"iC IC J MB lC mC","129":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"fB gB hB iB jB kB lB mB nB oB","4":"J MB K","129":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"4":"J MB nC OC","129":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"C SB TB UB VB WB XB YB ZB aB bB CC fC 3C DC","4":"F B zC 0C 1C 2C","129":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"4":"OC 4C gC","129":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"4":"RD"},I:{"4":"SD TD UD","129":"IC J I VD gC WD XD"},J:{"129":"D A"},K:{"1":"C CC fC DC","4":"A B","129":"H"},L:{"129":"I"},M:{"129":"BC"},N:{"1":"B","4":"A"},O:{"129":"EC"},P:{"129":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"129":"jD"},R:{"129":"kD"},S:{"1":"lD","129":"mD"}},B:1,C:"dataset & data-* attributes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datauri.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datauri.js deleted file mode 100644 index edac3481..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/datauri.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D hC","132":"E","260":"F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L G N O P","772":"M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"260":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Data URIs",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js deleted file mode 100644 index 591e63cc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"hC","132":"K D E F A B"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O"},C:{"1":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC","260":"mB nB oB pB","772":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},D:{"1":"6 7 8 9 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"0 1 J MB K D E F A B C L M G N O P NB y z","260":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B","772":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB"},E:{"1":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC","132":"K D E F A oC pC qC rC","260":"B PC CC"},F:{"1":"rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F B C zC 0C 1C 2C CC fC 3C","132":"DC","260":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB","772":"0 1 2 G N O P NB y z"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C","132":"E 6C 7C 8C 9C AD BD"},H:{"132":"RD"},I:{"1":"I","16":"IC SD TD UD","132":"J VD gC","772":"WD XD"},J:{"132":"D A"},K:{"1":"H","16":"A B C CC fC","132":"DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","260":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","132":"lD"}},B:6,C:"Date.prototype.toLocaleDateString",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js deleted file mode 100644 index 915fef52..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z","132":"a b c d e f g h i j k l m n o p q r s t"},C:{"1":"EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB lC mC"},D:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T","66":"U V W X Y","132":"Z a b c d e f g h i j k l m n o p q r s t"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B zC 0C 1C 2C CC fC 3C DC","132":"9B AC Q H R LC S T U V W X Y Z a b c d e f"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5","2":"J YD ZD aD bD cD PC dD eD fD gD","16":"hD","132":"y z FC GC HC iD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:1,C:"Declarative Shadow DOM",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/decorators.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/decorators.js deleted file mode 100644 index b2dcd474..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/decorators.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Decorators",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/details.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/details.js deleted file mode 100644 index fd6fc470..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/details.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"F A B hC","8":"K D E"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC","8":"0 1 2 3 4 5 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC","194":"hB iB"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"J MB K D E F A B","257":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB","769":"C L M G N O P"},E:{"1":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB nC OC oC","257":"K D E F A pC qC rC","1025":"B PC CC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"C CC fC 3C DC","8":"F B zC 0C 1C 2C"},G:{"1":"E 6C 7C 8C 9C AD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC 5C","1025":"BD CD DD"},H:{"8":"RD"},I:{"1":"J I VD gC WD XD","8":"IC SD TD UD"},J:{"1":"A","8":"D"},K:{"1":"H","8":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Details & Summary elements",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/deviceorientation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/deviceorientation.js deleted file mode 100644 index 1da6c62b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/deviceorientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"1":"C L M G N O P","4":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC lC","4":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"J MB mC"},D:{"2":"J MB K","4":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","4":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"OC 4C","4":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"SD TD UD","4":"IC J I VD gC WD XD"},J:{"2":"D","4":"A"},K:{"1":"C DC","2":"A B CC fC","4":"H"},L:{"4":"I"},M:{"4":"BC"},N:{"1":"B","2":"A"},O:{"4":"EC"},P:{"4":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"4":"jD"},R:{"4":"kD"},S:{"4":"lD mD"}},B:4,C:"DeviceOrientation & DeviceMotion events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/devicepixelratio.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/devicepixelratio.js deleted file mode 100644 index 5cb83ce4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/devicepixelratio.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"C H DC","2":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Window.devicePixelRatio",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dialog.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dialog.js deleted file mode 100644 index 44479e72..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dialog.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC","194":"nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","1218":"H R LC S T U V W X Y Z a b c d e f g"},D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB","322":"SB TB UB VB WB"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P zC 0C 1C 2C CC fC 3C DC","578":"0 1 NB y z"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:1,C:"Dialog element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dispatchevent.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dispatchevent.js deleted file mode 100644 index 0f64693b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dispatchevent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","16":"hC","129":"F A","130":"K D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","16":"F"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","129":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"EventTarget.dispatchEvent",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dnssec.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dnssec.js deleted file mode 100644 index c16e7074..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dnssec.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"132":"K D E F A B hC"},B:{"132":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"132":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"132":"6 7 8 9 J MB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","388":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB"},E:{"132":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"132":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"132":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"132":"RD"},I:{"132":"IC J I SD TD UD VD gC WD XD"},J:{"132":"D A"},K:{"132":"A B C H CC fC DC"},L:{"132":"I"},M:{"132":"BC"},N:{"132":"A B"},O:{"132":"EC"},P:{"132":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"132":"jD"},R:{"132":"kD"},S:{"132":"lD mD"}},B:6,C:"DNSSEC and DANE",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/do-not-track.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/do-not-track.js deleted file mode 100644 index 4ac6bee5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/do-not-track.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","164":"F A","260":"B"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G N"},C:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E lC mC","516":"0 1 2 3 4 5 F A B C L M G N O P NB y z OB PB QB RB"},D:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"K A B C oC rC PC CC","2":"J MB L M G nC OC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","1028":"D E F pC qC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C"},G:{"1":"9C AD BD CD DD ED FD","2":"OC 4C gC 5C 6C GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","1028":"E 7C 8C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"16":"D","1028":"A"},K:{"1":"H DC","16":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"164":"A","260":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:7,C:"Do Not Track API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-currentscript.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-currentscript.js deleted file mode 100644 index abfb27e5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-currentscript.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB"},E:{"1":"E F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC qC"},F:{"1":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"document.currentScript",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js deleted file mode 100644 index 943255d0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","16":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","16":"F"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:7,C:"document.evaluate & XPath",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-execcommand.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-execcommand.js deleted file mode 100644 index 3608bfeb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-execcommand.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","16":"F zC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C","16":"gC 5C 6C"},H:{"2":"RD"},I:{"1":"I VD gC WD XD","2":"IC J SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:7,C:"Document.execCommand()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-policy.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-policy.js deleted file mode 100644 index 432fab36..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-policy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q H R S T","132":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T","132":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B zC 0C 1C 2C CC fC 3C DC","132":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","132":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","132":"H"},L:{"132":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"132":"kD"},S:{"2":"lD mD"}},B:7,C:"Document Policy",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-scrollingelement.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-scrollingelement.js deleted file mode 100644 index 8ea6c43d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/document-scrollingelement.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"C L"},C:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB lC mC"},D:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"document.scrollingElement",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/documenthead.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/documenthead.js deleted file mode 100644 index 31929f4e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/documenthead.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F zC 0C 1C 2C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"document.head",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-manip-convenience.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-manip-convenience.js deleted file mode 100644 index 6c8c1b54..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB lC mC"},D:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","194":"mB nB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB zC 0C 1C 2C CC fC 3C DC","194":"aB"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"DOM manipulation convenience methods",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-range.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-range.js deleted file mode 100644 index 2ddccb36..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dom-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"hC","8":"K D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Document Object Model Range",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/domcontentloaded.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/domcontentloaded.js deleted file mode 100644 index ea3fc16a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/domcontentloaded.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"DOMContentLoaded",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dommatrix.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dommatrix.js deleted file mode 100644 index 0407830b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dommatrix.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","132":"A B"},B:{"132":"C L M G N O P","1028":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC","1028":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2564":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB","3076":"jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B"},D:{"16":"J MB K D","132":"0 1 2 3 4 5 F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB","388":"E","1028":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"16":"J nC OC","132":"MB K D E F A oC pC qC rC PC","1028":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","1028":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"16":"OC 4C gC","132":"E 5C 6C 7C 8C 9C AD BD CD","1028":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"132":"J VD gC WD XD","292":"IC SD TD UD","1028":"I"},J:{"16":"D","132":"A"},K:{"2":"A B C CC fC DC","1028":"H"},L:{"1028":"I"},M:{"1028":"BC"},N:{"132":"A B"},O:{"1028":"EC"},P:{"132":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1028":"jD"},R:{"1028":"kD"},S:{"1028":"mD","2564":"lD"}},B:4,C:"DOMMatrix",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/download.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/download.js deleted file mode 100644 index 36e8a822..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/download.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Download attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dragndrop.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dragndrop.js deleted file mode 100644 index 1750770b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/dragndrop.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"644":"K D E F hC","772":"A B"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","8":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","8":"F B zC 0C 1C 2C CC fC 3C"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","1025":"I"},J:{"2":"D A"},K:{"1":"DC","8":"A B C CC fC","1025":"H"},L:{"1025":"I"},M:{"2":"BC"},N:{"1":"A B"},O:{"1025":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:1,C:"Drag and Drop",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-closest.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-closest.js deleted file mode 100644 index 1349b4d7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-closest.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M"},C:{"1":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB lC mC"},D:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Element.closest()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-from-point.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-from-point.js deleted file mode 100644 index 472d22d9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-from-point.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","16":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","16":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","16":"F zC 0C 1C 2C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"C H DC","16":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"document.elementFromPoint()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-scroll-methods.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-scroll-methods.js deleted file mode 100644 index ee1383fb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/element-scroll-methods.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC"},D:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB"},E:{"1":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC","132":"A B C L PC CC DC sC"},F:{"1":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD","132":"BD CD DD ED FD GD HD ID JD KD LD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eme.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eme.js deleted file mode 100644 index cfa78bd4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eme.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","164":"B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB lC mC"},D:{"1":"6 7 8 9 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB","132":"VB WB XB YB ZB aB bB"},E:{"1":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC","164":"D E F A B qC rC PC CC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","132":"0 1 2 3 4 5 OB"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Encrypted Media Extensions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eot.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eot.js deleted file mode 100644 index 693e4801..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eot.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","2":"hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"EOT - Embedded OpenType fonts",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es5.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es5.js deleted file mode 100644 index 2056763b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es5.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D hC","260":"F","1026":"E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","4":"iC IC lC mC","132":"J MB K D E F A B C L M G N O P NB y"},D:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"J MB K D E F A B C L M G N O P","132":"0 NB y z"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","4":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","4":"F B C zC 0C 1C 2C CC fC 3C","132":"DC"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","4":"OC 4C gC 5C"},H:{"132":"RD"},I:{"1":"I WD XD","4":"IC SD TD UD","132":"VD gC","900":"J"},J:{"1":"A","4":"D"},K:{"1":"H","4":"A B C CC fC","132":"DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"ECMAScript 5",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-class.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-class.js deleted file mode 100644 index 1335c7de..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-class.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","132":"cB dB eB fB gB hB iB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB zC 0C 1C 2C CC fC 3C DC","132":"PB QB RB SB TB UB VB"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"ES6 classes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-generators.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-generators.js deleted file mode 100644 index 51eb1501..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-generators.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"ES6 Generators",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js deleted file mode 100644 index 345da6ac..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB lC mC","194":"yB"},D:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"JavaScript modules: dynamic import()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module.js deleted file mode 100644 index a687b06f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-module.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M","2049":"N O P","2242":"G"},C:{"1":"6 7 8 9 tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB lC mC","322":"oB pB qB rB sB JC"},D:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC","194":"tB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC","1540":"PC"},F:{"1":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB zC 0C 1C 2C CC fC 3C DC","194":"hB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD","1540":"CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"JavaScript modules via script tag",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-number.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-number.js deleted file mode 100644 index aea442bf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-number.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G lC mC","132":"0 1 2 N O P NB y z","260":"3 4 5 OB PB QB","516":"RB"},D:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P","1028":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","1028":"G N O P NB y"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD","1028":"VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"ES6 Number",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-string-includes.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-string-includes.js deleted file mode 100644 index fed50729..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6-string-includes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB lC mC"},D:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"String.prototype.includes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6.js deleted file mode 100644 index 9aed8b4f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/es6.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","388":"B"},B:{"257":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M","769":"G N O P"},C:{"2":"iC IC J MB lC mC","4":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","257":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"J MB K D E F A B C L M G N O P NB y","4":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","257":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC","4":"E F qC rC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","4":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB","257":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C","4":"E 7C 8C 9C AD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","4":"WD XD","257":"I"},J:{"2":"D","4":"A"},K:{"2":"A B C CC fC DC","257":"H"},L:{"257":"I"},M:{"257":"BC"},N:{"2":"A","388":"B"},O:{"257":"EC"},P:{"4":"J","257":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"257":"jD"},R:{"257":"kD"},S:{"4":"lD","257":"mD"}},B:6,C:"ECMAScript 2015 (ES6)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eventsource.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eventsource.js deleted file mode 100644 index 9c970151..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/eventsource.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","4":"F zC 0C 1C 2C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"D A"},K:{"1":"C H CC fC DC","4":"A B"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Server-sent events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/extended-system-fonts.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/extended-system-fonts.js deleted file mode 100644 index 7141d3f1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/extended-system-fonts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/feature-policy.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/feature-policy.js deleted file mode 100644 index 715fa23d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/feature-policy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"Q H R S T U V W","2":"C L M G N O P","1025":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B lC mC","260":"6 7 8 9 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6B 7B 8B 9B AC Q H R S T U V W","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC","132":"tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","1025":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B nC OC oC pC qC rC PC","772":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB zC 0C 1C 2C CC fC 3C DC","132":"hB iB jB kB lB mB nB oB pB qB rB sB tB","1025":"7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD","772":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","1025":"H"},L:{"1025":"I"},M:{"260":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD","132":"bD cD PC"},Q:{"132":"jD"},R:{"1025":"kD"},S:{"2":"lD","260":"mD"}},B:7,C:"Feature Policy",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fetch.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fetch.js deleted file mode 100644 index 3f57e7c2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fetch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB lC mC","1025":"ZB","1218":"UB VB WB XB YB"},D:{"1":"6 7 8 9 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB","260":"aB","772":"bB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","260":"5","772":"OB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Fetch",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fieldset-disabled.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fieldset-disabled.js deleted file mode 100644 index 89d318ee..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fieldset-disabled.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"16":"hC","132":"E F","388":"K D A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G","16":"N O P NB"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","16":"F zC"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C"},H:{"388":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A","260":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"disabled attribute of the fieldset element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fileapi.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fileapi.js deleted file mode 100644 index 64f5706d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fileapi.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","260":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G N O P"},C:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC","260":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z mC"},D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB","260":"0 1 2 3 4 5 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB","388":"K D E F A B C"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","260":"K D E F pC qC rC","388":"oC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B zC 0C 1C 2C","260":"0 1 2 C G N O P NB y z CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","260":"E 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I XD","2":"SD TD UD","260":"WD","388":"IC J VD gC"},J:{"260":"A","388":"D"},K:{"1":"H","2":"A B","260":"C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A","260":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"File API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereader.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereader.js deleted file mode 100644 index 1236c648..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereader.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","132":"A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F B zC 0C 1C 2C"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"C H CC fC DC","2":"A B"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"FileReader API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereadersync.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereadersync.js deleted file mode 100644 index adc21ebd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filereadersync.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F zC 0C","16":"B 1C 2C CC fC"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"C H fC DC","2":"A","16":"B CC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"FileReaderSync",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filesystem.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filesystem.js deleted file mode 100644 index 9020ced8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/filesystem.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"J MB K D","33":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","36":"E F A B C"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D","33":"A"},K:{"2":"A B C CC fC DC","33":"H"},L:{"33":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"33":"EC"},P:{"2":"J","33":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"33":"kD"},S:{"2":"lD mD"}},B:7,C:"Filesystem & FileWriter API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flac.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flac.js deleted file mode 100644 index a1ef0719..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flac.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lC mC"},D:{"1":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB","16":"eB fB gB","388":"hB iB jB kB lB mB nB oB pB"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","516":"B C CC DC"},F:{"1":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"SD TD UD","16":"IC J VD gC WD XD"},J:{"1":"A","2":"D"},K:{"1":"H DC","16":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","129":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"FLAC audio format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox-gap.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox-gap.js deleted file mode 100644 index 0076b38a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox-gap.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S"},C:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB lC mC"},D:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S"},E:{"1":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC"},F:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"gap property for Flexbox",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox.js deleted file mode 100644 index e817a5e6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flexbox.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","1028":"B","1316":"A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","164":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC","516":"0 1 2 3 4 5"},D:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 z OB","164":"J MB K D E F A B C L M G N O P NB y"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"D E pC qC","164":"J MB K nC OC oC"},F:{"1":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B C zC 0C 1C 2C CC fC 3C","33":"G N"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"E 7C 8C","164":"OC 4C gC 5C 6C"},H:{"1":"RD"},I:{"1":"I WD XD","164":"IC J SD TD UD VD gC"},J:{"1":"A","164":"D"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","292":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS Flexible Box Layout Module",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flow-root.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flow-root.js deleted file mode 100644 index d2d92484..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/flow-root.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC"},D:{"1":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC DC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"display: flow-root",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/focusin-focusout-events.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/focusin-focusout-events.js deleted file mode 100644 index 8b9bb61f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","2":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F zC 0C 1C 2C","16":"B CC fC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"J I VD gC WD XD","2":"SD TD UD","16":"IC"},J:{"1":"D A"},K:{"1":"C H DC","2":"A","16":"B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"focusin & focusout events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-family-system-ui.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-family-system-ui.js deleted file mode 100644 index e34f7fe1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-family-system-ui.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB lC mC","132":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a"},D:{"1":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","260":"nB oB pB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC","16":"F","132":"A rC PC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C","132":"9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"132":"lD mD"}},B:5,C:"system-ui value for font-family",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-feature.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-feature.js deleted file mode 100644 index 51318d10..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-feature.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB","164":"J MB K D E F A B C L M"},D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G","33":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","292":"N O P NB y"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"D E F nC OC pC qC","4":"J MB K oC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E 7C 8C 9C","4":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","33":"WD XD"},J:{"2":"D","33":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","33":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS font-feature-settings",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-kerning.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-kerning.js deleted file mode 100644 index ba24c7d6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-kerning.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","194":"2 3 4 5 OB PB QB RB SB TB"},D:{"1":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB","33":"PB QB RB SB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC","33":"D E F qC"},F:{"1":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G zC 0C 1C 2C CC fC 3C DC","33":"N O P NB"},G:{"1":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","33":"E 8C 9C AD BD CD DD ED"},H:{"2":"RD"},I:{"1":"I XD","2":"IC J SD TD UD VD gC","33":"WD"},J:{"2":"D","33":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 font-kerning",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-loading.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-loading.js deleted file mode 100644 index 3f2d7b6c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-loading.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB lC mC","194":"VB WB XB YB ZB aB"},D:{"1":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"CSS Font Loading",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-size-adjust.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-size-adjust.js deleted file mode 100644 index b46b402c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-size-adjust.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"IB JB KB LB I","2":"C L M G N O P","194":"8 9 AB BB CB DB EB FB GB HB","962":"6 7 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},C:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC","516":"6 7 8 b c d e f g h i j k l m n o p q r s t u v w x","772":"0 1 2 3 4 5 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a lC mC"},D:{"1":"IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","194":"BB CB DB EB FB GB HB","962":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB"},E:{"1":"GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC","772":"VC WC wC"},F:{"1":"w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB zC 0C 1C 2C CC fC 3C DC","194":"l m n o p q r s t u v","962":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC","772":"VC WC PD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"194":"jD"},R:{"2":"kD"},S:{"2":"lD","516":"mD"}},B:2,C:"CSS font-size-adjust",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-smooth.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-smooth.js deleted file mode 100644 index f153b054..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-smooth.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","676":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","804":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB","1828":"JB KB LB I BC MC NC jC kC"},D:{"2":"J","676":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"nC OC","676":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","676":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"804":"lD mD"}},B:7,C:"CSS font-smooth",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-unicode-range.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-unicode-range.js deleted file mode 100644 index b33cd8a9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-unicode-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","4":"F A B"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","4":"C L M G N"},C:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC","194":"WB XB YB ZB aB bB cB dB"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","4":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","4":"0 G N O P NB y z"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","4":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","4":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","4":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"4":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","4":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Font unicode-range subsetting",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-alternates.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-alternates.js deleted file mode 100644 index f962395c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-alternates.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","130":"A B"},B:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","130":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t"},C:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","130":"0 1 J MB K D E F A B C L M G N O P NB y z","322":"2 3 4 5 OB PB QB RB SB TB"},D:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G","130":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"D E F nC OC pC qC","130":"J MB K oC"},F:{"1":"h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","130":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 7C 8C 9C","130":"4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","130":"WD XD"},J:{"2":"D","130":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"130":"EC"},P:{"1":"0 1 2 3 4 5","130":"J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"130":"jD"},R:{"130":"kD"},S:{"1":"lD mD"}},B:5,C:"CSS font-variant-alternates",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-numeric.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-numeric.js deleted file mode 100644 index d8494be0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/font-variant-numeric.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB lC mC"},D:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","16":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS font-variant-numeric",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fontface.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fontface.js deleted file mode 100644 index fe22d8f0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fontface.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","132":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","2":"F zC"},G:{"1":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","260":"OC 4C"},H:{"2":"RD"},I:{"1":"J I VD gC WD XD","2":"SD","4":"IC TD UD"},J:{"1":"A","4":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"@font-face Web fonts",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-attribute.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-attribute.js deleted file mode 100644 index 84e864b2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-attribute.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"1":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Form attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-submit-attributes.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-submit-attributes.js deleted file mode 100644 index b3b807b6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-submit-attributes.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","2":"F zC","16":"0C 1C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"1":"RD"},I:{"1":"J I VD gC WD XD","2":"SD TD UD","16":"IC"},J:{"1":"A","2":"D"},K:{"1":"B C H CC fC DC","16":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Attributes for form submission",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-validation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-validation.js deleted file mode 100644 index cecd1c64..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/form-validation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","132":"MB K D E F A oC pC qC rC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","2":"F zC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC","132":"E 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"516":"RD"},I:{"1":"I XD","2":"IC SD TD UD","132":"J VD gC WD"},J:{"1":"A","132":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"132":"BC"},N:{"260":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","132":"lD"}},B:1,C:"Form validation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/forms.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/forms.js deleted file mode 100644 index c4746f5a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/forms.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","4":"A B","8":"K D E F"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","4":"C L M G"},C:{"4":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"iC IC lC mC"},D:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB"},E:{"4":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"nC OC"},F:{"1":"F B C mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","4":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},G:{"2":"OC","4":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","4":"WD XD"},J:{"2":"D","4":"A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"4":"BC"},N:{"4":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","4":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"4":"lD mD"}},B:1,C:"HTML5 form features",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fullscreen.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fullscreen.js deleted file mode 100644 index e1621fe0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/fullscreen.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","548":"B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","516":"C L M G N O P"},C:{"1":"6 7 8 9 wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F lC mC","676":"0 1 2 3 4 5 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","1700":"hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB"},D:{"1":"6 7 8 9 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M","676":"G N O P NB","804":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","548":"RC EC vC FC SC TC UC","676":"oC","804":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B C zC 0C 1C 2C CC fC 3C","804":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED","2052":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D","292":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A","548":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","804":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Fullscreen API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gamepad.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gamepad.js deleted file mode 100644 index c544ddec..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gamepad.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y","33":"0 1 2 z"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"Gamepad API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/geolocation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/geolocation.js deleted file mode 100644 index bc0f3c4d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/geolocation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"hC","8":"K D E"},B:{"1":"C L M G N O P","129":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB lC mC","8":"iC IC","129":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"0 1 2 3 4 5 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","4":"J","129":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J nC OC","129":"A"},F:{"1":"0 1 2 3 4 5 B C N O P NB y z OB PB QB RB SB TB UB VB WB XB YB 2C CC fC 3C DC","2":"F G zC","8":"0C 1C","129":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD","129":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J SD TD UD VD gC WD XD","129":"I"},J:{"1":"D A"},K:{"1":"B C CC fC DC","8":"A","129":"H"},L:{"129":"I"},M:{"129":"BC"},N:{"1":"A B"},O:{"129":"EC"},P:{"1":"J","129":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"129":"jD"},R:{"129":"kD"},S:{"1":"lD","129":"mD"}},B:2,C:"Geolocation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getboundingclientrect.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getboundingclientrect.js deleted file mode 100644 index fc5cbcc7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getboundingclientrect.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"644":"K D hC","2049":"F A B","2692":"E"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2049":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC","260":"J MB K D E F A B","1156":"IC","1284":"lC","1796":"mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","16":"F zC","132":"0C 1C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","132":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"2049":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Element.getBoundingClientRect()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getcomputedstyle.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getcomputedstyle.js deleted file mode 100644 index a0628726..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getcomputedstyle.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC","132":"IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","260":"J MB K D E F A"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","260":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","260":"F zC 0C 1C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","260":"OC 4C gC"},H:{"260":"RD"},I:{"1":"J I VD gC WD XD","260":"IC SD TD UD"},J:{"1":"A","260":"D"},K:{"1":"B C H CC fC DC","260":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"getComputedStyle",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getelementsbyclassname.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getelementsbyclassname.js deleted file mode 100644 index 3691eeb7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"hC","8":"K D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","8":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"getElementsByClassName",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getrandomvalues.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getrandomvalues.js deleted file mode 100644 index 9554e1c3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/getrandomvalues.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","33":"B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A","33":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"crypto.getRandomValues()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gyroscope.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gyroscope.js deleted file mode 100644 index 4918c7a7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/gyroscope.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","194":"sB JC tB KC uB vB wB xB yB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:4,C:"Gyroscope",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hardwareconcurrency.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hardwareconcurrency.js deleted file mode 100644 index 6b7a970d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M"},C:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB lC mC"},D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB"},E:{"2":"J MB K D B C L M G nC OC oC pC qC CC DC sC tC uC QC","129":"PC","194":"E F A rC","257":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"2":"OC 4C gC 5C 6C 7C DD ED FD GD HD ID JD KD LD MD ND QC","129":"CD","194":"E 8C 9C AD BD","257":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"navigator.hardwareConcurrency",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hashchange.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hashchange.js deleted file mode 100644 index 193197fe..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hashchange.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","8":"K D hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","8":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"J"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","8":"F zC 0C 1C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"2":"RD"},I:{"1":"IC J I TD UD VD gC WD XD","2":"SD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","8":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Hashchange event",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/heif.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/heif.js deleted file mode 100644 index e1932d78..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/heif.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","130":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD PD","130":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"HEIF/HEIC image format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hevc.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hevc.js deleted file mode 100644 index 4c02c1d4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hevc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"132":"C L M G N O P","1028":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB lC mC","4098":"BB","8258":"CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p","2052":"6 7 8 9 q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","516":"B C CC DC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c zC 0C 1C 2C CC fC 3C DC","2052":"d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","2052":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","258":"H"},L:{"2052":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 z","2":"J","258":"y YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:6,C:"HEVC/H.265 video format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hidden.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hidden.js deleted file mode 100644 index 2abfd333..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/hidden.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F B zC 0C 1C 2C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"1":"RD"},I:{"1":"J I VD gC WD XD","2":"IC SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"C H CC fC DC","2":"A B"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"hidden attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/high-resolution-time.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/high-resolution-time.js deleted file mode 100644 index 2664e92f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/high-resolution-time.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB","2":"iC IC J MB K D E F A B C L M lC mC","129":"pB qB rB","769":"sB JC","1281":"6 7 8 9 tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB","33":"0 1 y z"},E:{"1":"E F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC qC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"High Resolution Time API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/history.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/history.js deleted file mode 100644 index 4b337dec..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/history.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","4":"MB oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x fC 3C DC","2":"F B zC 0C 1C 2C CC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C","4":"gC"},H:{"2":"RD"},I:{"1":"I TD UD gC WD XD","2":"IC J SD VD"},J:{"1":"D A"},K:{"1":"C H CC fC DC","2":"A B"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Session history management",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html-media-capture.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html-media-capture.js deleted file mode 100644 index b10affab..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html-media-capture.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"OC 4C gC 5C","129":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD","257":"TD UD"},J:{"1":"A","16":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"516":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:2,C:"HTML Media Capture",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html5semantic.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html5semantic.js deleted file mode 100644 index 5ad12107..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/html5semantic.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E","260":"F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC","132":"IC lC mC","260":"J MB K D E F A B C L M G N O P NB y"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"J MB","260":"0 1 2 3 K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"J nC OC","260":"MB K oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","132":"F B zC 0C 1C 2C","260":"C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"OC","260":"4C gC 5C 6C"},H:{"132":"RD"},I:{"1":"I WD XD","132":"SD","260":"IC J TD UD VD gC"},J:{"260":"D A"},K:{"1":"H","132":"A","260":"B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"260":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"HTML5 semantic elements",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http-live-streaming.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http-live-streaming.js deleted file mode 100644 index 9008c3d3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http-live-streaming.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"C L M G N O P","2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"HTTP Live Streaming (HLS)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http2.js deleted file mode 100644 index c5976019..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"1":"C L M G N O P","513":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC","513":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"bB cB dB eB fB gB hB iB jB kB","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB","513":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC","260":"F A rC PC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB","2":"0 1 2 3 4 5 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","513":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","513":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","513":"H"},L:{"513":"I"},M:{"513":"BC"},N:{"2":"A B"},O:{"513":"EC"},P:{"1":"J","513":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"513":"jD"},R:{"513":"kD"},S:{"1":"lD","513":"mD"}},B:6,C:"HTTP/2 protocol",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http3.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http3.js deleted file mode 100644 index 521cff54..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/http3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","322":"Q H R S T","578":"U V"},C:{"1":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B lC mC","194":"4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W"},D:{"1":"6 7 8 9 W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","322":"Q H R S T","578":"U V"},E:{"1":"HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC sC","2049":"VC WC wC GC XC YC ZC aC bC xC","2113":"FC SC TC UC","3140":"M G tC uC QC RC EC vC"},F:{"1":"6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B zC 0C 1C 2C CC fC 3C DC","578":"5B"},G:{"1":"HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD","2049":"VC WC PD GC XC YC ZC aC bC QD","2113":"FC SC TC UC","2116":"LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:6,C:"HTTP/3 protocol",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-sandbox.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-sandbox.js deleted file mode 100644 index 73c4bb1b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-sandbox.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N lC mC","4":"0 1 2 3 4 5 O P NB y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"2":"RD"},I:{"1":"IC J I TD UD VD gC WD XD","2":"SD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"sandbox attribute for iframes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-seamless.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-seamless.js deleted file mode 100644 index 5f6bc41d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-seamless.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"5 6 7 8 9 J MB K D E F A B C L M G N O P NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","66":"0 1 2 3 4 y z"},E:{"2":"J MB K E F A B C L M G nC OC oC pC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","130":"D qC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","130":"7C"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"seamless attribute for iframes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-srcdoc.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-srcdoc.js deleted file mode 100644 index 2d645e32..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","8":"C L M G N O P"},C:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC","8":"0 1 2 IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L","8":"M G N O P NB"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC","8":"J MB oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B zC 0C 1C 2C","8":"C CC fC 3C DC"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC","8":"4C gC 5C"},H:{"2":"RD"},I:{"1":"I WD XD","8":"IC J SD TD UD VD gC"},J:{"1":"A","8":"D"},K:{"1":"H","2":"A B","8":"C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"srcdoc attribute for iframes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imagecapture.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imagecapture.js deleted file mode 100644 index af510166..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imagecapture.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB lC mC","194":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","322":"nB oB pB qB rB sB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","516":"yC"},F:{"1":"gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB zC 0C 1C 2C CC fC 3C DC","322":"aB bB cB dB eB fB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"194":"lD mD"}},B:5,C:"ImageCapture API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ime.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ime.js deleted file mode 100644 index d1e2a475..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ime.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","161":"B"},B:{"2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","161":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A","161":"B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Input Method Editor API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js deleted file mode 100644 index e3e21896..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"naturalWidth & naturalHeight image properties",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/import-maps.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/import-maps.js deleted file mode 100644 index f3f3595f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/import-maps.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","194":"Q H R S T U V W X"},C:{"1":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k lC mC","322":"l m n o p q"},D:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","194":"6B 7B 8B 9B AC Q H R S T U V W X"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC","194":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"Import maps",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imports.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imports.js deleted file mode 100644 index 21536434..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/imports.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","8":"A B"},B:{"1":"Q","2":"6 7 8 9 H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","8":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB lC mC","8":"6 7 8 9 QB RB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","72":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB"},D:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","66":"QB RB SB TB UB","72":"VB"},E:{"2":"J MB nC OC oC","8":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB","2":"F B C G N zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","66":"O P NB y z","72":"0"},G:{"2":"OC 4C gC 5C 6C","8":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"8":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"J YD ZD aD bD cD PC dD eD","2":"0 1 2 3 4 5 y z fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"1":"lD","8":"mD"}},B:5,C:"HTML Imports",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js deleted file mode 100644 index f64c822b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","16":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC","16":"lC"},D:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"indeterminate checkbox",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb.js deleted file mode 100644 index bb3b8b6a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","132":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","33":"A B C L M G","36":"J MB K D E F"},D:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"A","8":"J MB K D E F","33":"1","36":"0 B C L M G N O P NB y z"},E:{"1":"A B C L M G PC CC DC sC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB K D nC OC oC pC","260":"E F qC rC","516":"tC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F zC 0C","8":"B C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC 5C 6C 7C","260":"E 8C 9C AD","516":"MD"},H:{"2":"RD"},I:{"1":"I WD XD","8":"IC J SD TD UD VD gC"},J:{"1":"A","8":"D"},K:{"1":"H","2":"A","8":"B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"IndexedDB",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb2.js deleted file mode 100644 index 7a56d4de..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/indexeddb2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB lC mC","132":"eB fB gB","260":"hB iB jB kB"},D:{"1":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","132":"iB jB kB lB","260":"mB nB oB pB qB rB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB zC 0C 1C 2C CC fC 3C DC","132":"VB WB XB YB","260":"ZB aB bB cB dB eB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD","16":"BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","260":"YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","260":"lD"}},B:2,C:"IndexedDB 2.0",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/inline-block.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/inline-block.js deleted file mode 100644 index bf147661..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/inline-block.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","4":"hC","132":"K D"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","36":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS inline-block",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/innertext.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/innertext.js deleted file mode 100644 index da5c4739..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/innertext.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","16":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","16":"F"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"HTMLElement.innerText",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js deleted file mode 100644 index 9cd77f3b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A hC","132":"B"},B:{"132":"C L M G N O P","260":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB lC mC","516":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"0 1 2 3 4 O P NB y z","2":"J MB K D E F A B C L M G N","132":"5 OB PB QB RB SB TB UB VB WB XB YB ZB aB","260":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"K oC pC","2":"J MB nC OC","2052":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"OC 4C gC","1025":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1025":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2052":"A B"},O:{"1025":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"260":"jD"},R:{"1":"kD"},S:{"516":"lD mD"}},B:1,C:"autocomplete attribute: on & off values",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-color.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-color.js deleted file mode 100644 index 6d62984f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-color.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC"},F:{"1":"0 1 2 3 4 5 B C O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F G N zC 0C 1C 2C"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD","129":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"Color input type",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-datetime.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-datetime.js deleted file mode 100644 index 744014a6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-datetime.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC","1090":"nB oB pB qB","2052":"rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b","4100":"6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB","2052":"0 1 2 y z"},E:{"2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC","4100":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"OC 4C gC","260":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC","8193":"dC eC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC SD TD UD","514":"J VD gC"},J:{"1":"A","2":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"4100":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2052":"lD mD"}},B:1,C:"Date and time input types",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-email-tel-url.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-email-tel-url.js deleted file mode 100644 index d00b1533..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-email-tel-url.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","132":"SD TD UD"},J:{"1":"A","132":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Email, telephone & URL input types",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-event.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-event.js deleted file mode 100644 index ceaa49f2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-event.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","2561":"A B","2692":"F"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2561":"C L M G N O P"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC","1537":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB mC","1796":"IC lC"},D:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M","1025":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB","1537":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB K nC OC","1025":"D E F A B C pC qC rC PC CC","1537":"oC","4097":"L DC"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","16":"F B C zC 0C 1C 2C CC fC","260":"3C","1025":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","1537":"G N O P NB y z"},G:{"1":"ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC","1025":"E 8C 9C AD BD CD DD ED FD","1537":"5C 6C 7C","4097":"GD HD"},H:{"2":"RD"},I:{"16":"SD TD","1025":"I XD","1537":"IC J UD VD gC WD"},J:{"1025":"A","1537":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2561":"A B"},O:{"1":"EC"},P:{"1025":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","1537":"lD"}},B:1,C:"input event",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-accept.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-accept.js deleted file mode 100644 index 02ee1f4b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-accept.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J","16":"0 1 2 3 MB K D E z","132":"F A B C L M G N O P NB y"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","132":"K D E F A B pC qC rC PC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"2":"6C 7C","132":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","514":"OC 4C gC 5C"},H:{"2":"RD"},I:{"2":"SD TD UD","260":"IC J VD gC","514":"I WD XD"},J:{"132":"A","260":"D"},K:{"2":"A B C CC fC DC","514":"H"},L:{"260":"I"},M:{"2":"BC"},N:{"514":"A","1028":"B"},O:{"2":"EC"},P:{"260":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"260":"jD"},R:{"260":"kD"},S:{"1":"lD mD"}},B:1,C:"accept attribute for file input",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-directory.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-directory.js deleted file mode 100644 index b7ca0d39..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-directory.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB lC mC"},D:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Directory selection from file input",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-multiple.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-multiple.js deleted file mode 100644 index a336ecad..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-file-multiple.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","2":"F zC 0C 1C"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C"},H:{"130":"RD"},I:{"130":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","130":"A B C CC fC DC"},L:{"132":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"130":"EC"},P:{"130":"J","132":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"132":"jD"},R:{"132":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"Multiple file selection",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-inputmode.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-inputmode.js deleted file mode 100644 index af384da6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-inputmode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N lC mC","4":"O P NB y","194":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d"},D:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB","66":"qB rB sB JC tB KC uB vB wB xB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB zC 0C 1C 2C CC fC 3C DC","66":"dB eB fB gB hB iB jB kB lB mB"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"194":"lD mD"}},B:1,C:"inputmode attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-minlength.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-minlength.js deleted file mode 100644 index b226afb2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-minlength.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lC mC"},D:{"1":"6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"Minimum length attribute for input fields",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-number.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-number.js deleted file mode 100644 index 08f236e6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-number.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","129":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L","1025":"M G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC","513":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"388":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC SD TD UD","388":"J I VD gC WD XD"},J:{"2":"D","388":"A"},K:{"1":"A B C CC fC DC","388":"H"},L:{"388":"I"},M:{"641":"BC"},N:{"388":"A B"},O:{"388":"EC"},P:{"388":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"388":"jD"},R:{"388":"kD"},S:{"513":"lD mD"}},B:1,C:"Number input type",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-pattern.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-pattern.js deleted file mode 100644 index a57119fb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-pattern.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB","388":"K D E F A oC pC qC rC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC","388":"E 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I XD","2":"IC J SD TD UD VD gC WD"},J:{"1":"A","2":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Pattern attribute for input fields",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-placeholder.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-placeholder.js deleted file mode 100644 index 2d145dfc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-placeholder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"J nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x fC 3C DC","2":"F zC 0C 1C 2C","132":"B CC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC I SD TD UD gC WD XD","4":"J VD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"input placeholder attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-range.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-range.js deleted file mode 100644 index 2e12dab1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-range.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"I gC WD XD","4":"IC J SD TD UD VD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Range input type",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-search.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-search.js deleted file mode 100644 index f845f82c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-search.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","129":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L M G N O P"},C:{"2":"iC IC lC mC","129":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"0 1 2 3 J MB K D E F A B C L M z","129":"G N O P NB y"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F zC 0C 1C 2C","16":"B CC fC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"129":"RD"},I:{"1":"I WD XD","16":"SD TD","129":"IC J UD VD gC"},J:{"1":"D","129":"A"},K:{"1":"C H","2":"A","16":"B CC fC","129":"DC"},L:{"1":"I"},M:{"129":"BC"},N:{"129":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"129":"lD mD"}},B:1,C:"Search input type",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-selection.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-selection.js deleted file mode 100644 index 9526d456..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/input-selection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","16":"F zC 0C 1C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Selection controls for input & textarea",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insert-adjacent.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insert-adjacent.js deleted file mode 100644 index 69e7129d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insert-adjacent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","16":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","16":"F"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insertadjacenthtml.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insertadjacenthtml.js deleted file mode 100644 index f081653a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","16":"hC","132":"K D E F"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","16":"F zC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Element.insertAdjacentHTML()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/internationalization.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/internationalization.js deleted file mode 100644 index 6adb188a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/internationalization.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC"},D:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"Internationalization API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js deleted file mode 100644 index 9f593eb5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"IntersectionObserver V2",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver.js deleted file mode 100644 index 5bea6ead..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intersectionobserver.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"N O P","2":"C L M","260":"G","513":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB lC mC","194":"mB nB oB"},D:{"1":"sB JC tB KC uB vB wB","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","260":"lB mB nB oB pB qB rB","513":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB zC 0C 1C 2C CC fC 3C DC","260":"YB ZB aB bB cB dB eB","513":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","513":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","513":"H"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","260":"YD ZD"},Q:{"513":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"IntersectionObserver",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intl-pluralrules.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intl-pluralrules.js deleted file mode 100644 index fbcf801f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intl-pluralrules.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O","130":"P"},C:{"1":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB lC mC"},D:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC DC"},F:{"1":"kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"Intl.PluralRules API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intrinsic-width.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intrinsic-width.js deleted file mode 100644 index be7e893a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/intrinsic-width.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","1025":"6 7 8 9 d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","1537":"Q H R S T U V W X Y Z a b c"},C:{"2":"iC","932":"0 1 2 3 4 5 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB lC mC","2308":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"J MB K D E F A B C L M G N O P NB y z","545":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB","1025":"6 7 8 9 d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","1537":"gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC","516":"B C L M G CC DC sC tC uC QC RC EC vC","548":"F A rC PC","676":"D E pC qC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","513":"UB","545":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB","1025":"e f g h i j k l m n o p q r s t u v w x","1537":"TB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C","516":"LD MD ND QC RC EC OD","548":"9C AD BD CD DD ED FD GD HD ID JD KD","676":"E 7C 8C"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","545":"WD XD","1025":"I"},J:{"2":"D","545":"A"},K:{"2":"A B C CC fC DC","1025":"H"},L:{"1025":"I"},M:{"2308":"BC"},N:{"2":"A B"},O:{"1537":"EC"},P:{"545":"J","1025":"0 1 2 3 4 5 y z GC HC iD","1537":"YD ZD aD bD cD PC dD eD fD gD hD FC"},Q:{"1537":"jD"},R:{"1537":"kD"},S:{"932":"lD","2308":"mD"}},B:5,C:"Intrinsic & Extrinsic Sizing",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpeg2000.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpeg2000.js deleted file mode 100644 index 489f5135..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpeg2000.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC","2":"J nC OC HC cC dC eC yC","129":"MB oC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD","2":"OC 4C gC HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"JPEG 2000 image format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxl.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxl.js deleted file mode 100644 index 422cb296..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxl.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","578":"a b c d e f g h i j k l m n o p q r s"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y lC mC","322":"6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","194":"a b c d e f g h i j k l m n o p q r s"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC","1025":"GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","194":"9B AC Q H R LC S T U V W X Y Z a b c d e"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD","1025":"GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"JPEG XL image format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxr.js deleted file mode 100644 index c72542dc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/jpegxr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"C L M G N O P","2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"1":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"JPEG XR image format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js deleted file mode 100644 index f61e1d14..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B lC mC"},D:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"Lookbehind in JS regular expressions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/json.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/json.js deleted file mode 100644 index 92645c59..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/json.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D hC","129":"E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"JSON parsing",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js deleted file mode 100644 index ff19ec84..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G","132":"N O P"},C:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB lC mC"},D:{"1":"6 7 8 9 tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB","132":"rB sB JC"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC","132":"PC"},F:{"1":"hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zC 0C 1C 2C CC fC 3C DC","132":"eB fB gB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD","132":"CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD","132":"aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","132":"lD"}},B:5,C:"CSS justify-content: space-evenly",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js deleted file mode 100644 index 2774c1e9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"SD TD UD","132":"IC J VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:7,C:"High-quality kerning pairs & ligatures",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js deleted file mode 100644 index 73cbcbcf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","16":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C","16":"C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"H DC","2":"A B CC fC","16":"C"},L:{"1":"I"},M:{"130":"BC"},N:{"130":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:7,C:"KeyboardEvent.charCode",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-code.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-code.js deleted file mode 100644 index 0332148f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-code.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB lC mC"},D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","194":"cB dB eB fB gB hB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB zC 0C 1C 2C CC fC 3C DC","194":"PB QB RB SB TB UB"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"194":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"J","194":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"194":"kD"},S:{"1":"lD mD"}},B:5,C:"KeyboardEvent.code",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js deleted file mode 100644 index 161e9267..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B G N zC 0C 1C 2C CC fC 3C","16":"C"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H DC","2":"A B CC fC","16":"C"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"KeyboardEvent.getModifierState()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-key.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-key.js deleted file mode 100644 index ddbfa44c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-key.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","260":"F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G N O P"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","132":"1 2 3 4 5 OB"},D:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"0 1 2 3 4 5 F B G N O P NB y z OB PB QB RB SB TB UB VB WB XB zC 0C 1C 2C CC fC 3C","16":"C"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"1":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H DC","2":"A B CC fC","16":"C"},L:{"1":"I"},M:{"1":"BC"},N:{"260":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"KeyboardEvent.key",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-location.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-location.js deleted file mode 100644 index 92df7410..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-location.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"K nC OC","132":"J MB oC"},F:{"1":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C","16":"C","132":"G N"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC","132":"5C 6C 7C"},H:{"2":"RD"},I:{"1":"I WD XD","16":"SD TD","132":"IC J UD VD gC"},J:{"132":"D A"},K:{"1":"H DC","2":"A B CC fC","16":"C"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"KeyboardEvent.location",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-which.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-which.js deleted file mode 100644 index e2bbbd3c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/keyboardevent-which.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","16":"MB"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","16":"F zC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC","16":"SD TD","132":"WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"132":"I"},M:{"132":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"2":"J","132":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"132":"kD"},S:{"1":"lD mD"}},B:7,C:"KeyboardEvent.which",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/lazyload.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/lazyload.js deleted file mode 100644 index c0040204..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/lazyload.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"C L M G N O P","2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"1":"B","2":"A"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Resource Hints: Lazyload",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/let.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/let.js deleted file mode 100644 index 33794eca..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/let.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","2052":"B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","194":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P","322":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB","516":"bB cB dB eB fB gB hB iB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC","1028":"A PC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","322":"0 1 2 3 4 5 G N O P NB y z","516":"OB PB QB RB SB TB UB VB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD","1028":"BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","516":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"let",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-png.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-png.js deleted file mode 100644 index 80c4299a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-png.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","130":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED"},H:{"130":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D","130":"A"},K:{"1":"H","130":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"130":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"PNG favicons",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-svg.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-svg.js deleted file mode 100644 index 3715bd30..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-icon-svg.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q","1537":"6 7 8 9 H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC lC mC","260":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB","513":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","1537":"6 7 8 9 H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB oB pB qB rB sB tB uB vB wB xB yB zC 0C 1C 2C CC fC 3C DC","1537":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","130":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED"},H:{"130":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D","130":"A"},K:{"130":"A B C CC fC DC","1537":"H"},L:{"1537":"I"},M:{"2":"BC"},N:{"130":"A B"},O:{"2":"EC"},P:{"2":"J YD ZD aD bD cD PC dD eD","1537":"0 1 2 3 4 5 y z fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"1537":"kD"},S:{"513":"lD mD"}},B:1,C:"SVG favicons",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js deleted file mode 100644 index 5c8c9f06..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E hC","132":"F"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"IB JB KB LB I BC MC NC jC kC","2":"iC IC","260":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"16":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"16":"IC J I SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"1":"H","16":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","16":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Resource Hints: dns-prefetch",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js deleted file mode 100644 index 7ad1a3a1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x lC mC"},D:{"1":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB"},E:{"1":"GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC"},F:{"1":"nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:1,C:"Resource Hints: modulepreload",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preconnect.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preconnect.js deleted file mode 100644 index e2ad010c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M","260":"G N O P"},C:{"1":"6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB lC mC","129":"ZB","514":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},D:{"1":"6 7 8 9 gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Resource Hints: preconnect",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prefetch.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prefetch.js deleted file mode 100644 index 1406c012..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D"},E:{"2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC","194":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD","194":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"J I WD XD","2":"IC SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Resource Hints: prefetch",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preload.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preload.js deleted file mode 100644 index f44f74be..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-preload.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N","1028":"O P"},C:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB lC mC","132":"qB","578":"rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T"},D:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","322":"B"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","322":"DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:4,C:"Resource Hints: preload",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prerender.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prerender.js deleted file mode 100644 index 915df6ba..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/link-rel-prerender.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"Resource Hints: prerender",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/loading-lazy-attr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/loading-lazy-attr.js deleted file mode 100644 index ae6d91ac..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B lC mC","132":"6 7 8 9 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB"},D:{"1":"6 7 8 9 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B","66":"7B 8B"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC","322":"M G sC tC uC QC","580":"RC EC vC FC SC TC UC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC","66":"uB vB"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD","322":"KD LD MD ND QC","580":"RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD","132":"mD"}},B:1,C:"Lazy loading via attribute for images & iframes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/localecompare.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/localecompare.js deleted file mode 100644 index 27b584e4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/localecompare.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","16":"hC","132":"K D E F A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC"},D:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"0 1 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F B C zC 0C 1C 2C CC fC 3C","132":"DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"132":"RD"},I:{"1":"I WD XD","132":"IC J SD TD UD VD gC"},J:{"132":"D A"},K:{"1":"H","16":"A B C CC fC","132":"DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","132":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","132":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","4":"lD"}},B:6,C:"localeCompare()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/magnetometer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/magnetometer.js deleted file mode 100644 index ed3cd8e2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/magnetometer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","194":"sB JC tB KC uB vB wB xB yB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"194":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:4,C:"Magnetometer",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchesselector.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchesselector.js deleted file mode 100644 index 71bd2e19..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchesselector.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","36":"F A B"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","36":"C L M"},C:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC","36":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB mC"},D:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","36":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB"},E:{"1":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","36":"MB K D oC pC"},F:{"1":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B zC 0C 1C 2C CC","36":"C G N O P NB y fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC","36":"4C gC 5C 6C 7C"},H:{"2":"RD"},I:{"1":"I","2":"SD","36":"IC J TD UD VD gC WD XD"},J:{"36":"D A"},K:{"1":"H","2":"A B","36":"C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"36":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","36":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"matches() DOM method",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchmedia.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchmedia.js deleted file mode 100644 index 762604e5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/matchmedia.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B C zC 0C 1C 2C CC fC 3C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"1":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"matchMedia",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mathml.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mathml.js deleted file mode 100644 index 99d60070..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mathml.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"F A B hC","8":"K D E"},B:{"2":"C L M G N O P","8":"Q H R S T U V W X Y Z a b c d e f","584":"g h i j k l m n o p q r","1025":"6 7 8 9 s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","129":"iC IC lC mC"},D:{"1":"2","8":"0 1 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f","584":"g h i j k l m n o p q r","1025":"6 7 8 9 s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","260":"J MB K D E F nC OC oC pC qC rC"},F:{"2":"F","8":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC","584":"S T U V W X Y Z a b c d","1025":"e f g h i j k l m n o p q r s t u v w x","2052":"B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC"},H:{"8":"RD"},I:{"8":"IC J SD TD UD VD gC WD XD","1025":"I"},J:{"1":"A","8":"D"},K:{"8":"A B C CC fC DC","1025":"H"},L:{"1025":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"8":"EC"},P:{"1":"0 1 2 3 4 5 z","8":"J y YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"8":"jD"},R:{"8":"kD"},S:{"1":"lD mD"}},B:2,C:"MathML",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/maxlength.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/maxlength.js deleted file mode 100644 index 8a7b99a9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/maxlength.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","16":"hC","900":"K D E F"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","1025":"C L M G N O P"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","900":"iC IC lC mC","1025":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"MB nC","900":"J OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F","132":"B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"4C gC 5C 6C 7C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC","2052":"E 8C"},H:{"132":"RD"},I:{"1":"IC J UD VD gC WD XD","16":"SD TD","4097":"I"},J:{"1":"D A"},K:{"132":"A B C CC fC DC","4097":"H"},L:{"4097":"I"},M:{"4097":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"4097":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1025":"lD mD"}},B:1,C:"maxlength attribute for input and textarea elements",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js deleted file mode 100644 index 6a82a955..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB","33":"SB TB UB VB WB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","33":"C L M G N O P"},C:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC"},M:{"1":"BC"},A:{"2":"K D E F A hC","33":"B"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P zC 0C 1C 2C CC fC 3C DC","33":"0 1 NB y z"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC yC"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},I:{"1":"I","2":"IC J SD TD UD VD gC","33":"WD XD"}},B:6,C:"CSS ::backdrop pseudo-element",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js deleted file mode 100644 index ec6f231c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N lC mC","33":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB zC 0C 1C 2C CC fC 3C DC"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB K nC OC oC pC yC","33":"D E F A qC rC PC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C","33":"E 7C 8C 9C AD BD CD"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"}},B:6,C:"isolate-override from unicode-bidi",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js deleted file mode 100644 index e4a9fa98..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G","33":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F lC mC","33":"0 1 2 3 4 5 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB nC OC oC yC","33":"K D E F A pC qC rC PC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"E 6C 7C 8C 9C AD BD CD"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"}},B:6,C:"isolate from unicode-bidi",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js deleted file mode 100644 index 504f6d9c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F lC mC","33":"0 1 2 3 4 5 A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB zC 0C 1C 2C CC fC 3C DC"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB nC OC oC yC","33":"K D E F A pC qC rC PC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"E 6C 7C 8C 9C AD BD CD"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"}},B:6,C:"plaintext from unicode-bidi",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js deleted file mode 100644 index 0097cfe5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC","33":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zC 0C 1C 2C CC fC 3C DC"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB K D nC OC oC pC qC yC","33":"E F A B C rC PC CC"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","33":"E 8C 9C AD BD CD DD ED FD"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"}},B:6,C:"text-decoration-color property",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js deleted file mode 100644 index 613b552f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC","33":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zC 0C 1C 2C CC fC 3C DC"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB K D nC OC oC pC qC yC","33":"E F A B C rC PC CC"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","33":"E 8C 9C AD BD CD DD ED FD"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"}},B:6,C:"text-decoration-line property",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js deleted file mode 100644 index e74dc807..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zC 0C 1C 2C CC fC 3C DC"},K:{"1":"H","2":"A B C CC fC DC"},E:{"2":"J MB K D nC OC oC pC qC yC","33":"E F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC"},G:{"2":"OC 4C gC 5C 6C 7C","33":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"}},B:6,C:"text-decoration shorthand property",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js deleted file mode 100644 index 86c4e7c6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},L:{"1":"I"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC","33":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},M:{"1":"BC"},A:{"2":"K D E F A B hC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zC 0C 1C 2C CC fC 3C DC"},K:{"1":"H","2":"A B C CC fC DC"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC","2":"J MB K D nC OC oC pC qC yC","33":"E F A B C rC PC CC"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","33":"E 8C 9C AD BD CD DD ED FD"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"}},B:6,C:"text-decoration-style property",D:undefined}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/media-fragments.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/media-fragments.js deleted file mode 100644 index 90134593..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/media-fragments.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","132":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB lC mC","132":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"J MB K D E F A B C L M G N O","132":"0 1 2 3 4 5 6 7 8 9 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB nC OC oC","132":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"OC 4C gC 5C 6C 7C","132":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","132":"I WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","132":"H"},L:{"132":"I"},M:{"132":"BC"},N:{"132":"A B"},O:{"132":"EC"},P:{"2":"J YD","132":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"132":"jD"},R:{"132":"kD"},S:{"132":"lD mD"}},B:2,C:"Media Fragments",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js deleted file mode 100644 index 5cf6b7f3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB lC mC","260":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","324":"lB mB nB oB pB qB rB sB JC tB KC"},E:{"2":"J MB K D E F A nC OC oC pC qC rC PC","132":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC","324":"WB XB YB ZB aB bB cB dB eB fB gB hB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"260":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","132":"YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"260":"lD mD"}},B:5,C:"Media Capture from DOM Elements API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediarecorder.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediarecorder.js deleted file mode 100644 index b26d86bf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediarecorder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","194":"hB iB"},E:{"1":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC","322":"L M DC sC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB zC 0C 1C 2C CC fC 3C DC","194":"UB VB"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED","578":"FD GD HD ID JD KD LD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"MediaRecorder API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediasource.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediasource.js deleted file mode 100644 index baaac38a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mediasource.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","66":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"6 7 8 9 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N","33":"1 2 3 4 5 OB PB QB","66":"0 O P NB y z"},E:{"1":"E F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC qC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD","260":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I XD","2":"IC J SD TD UD VD gC WD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Media Source Extensions",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/menu.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/menu.js deleted file mode 100644 index 1ab5d44d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/menu.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC J MB K D lC mC","132":"0 1 2 3 4 5 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T","450":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","66":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","66":"VB WB XB YB ZB aB bB cB dB eB fB gB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"450":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Context menu item (menuitem element)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meta-theme-color.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meta-theme-color.js deleted file mode 100644 index 1002f6d4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meta-theme-color.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB","132":"6 7 8 9 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","258":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"513":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","16":"YD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:1,C:"theme-color Meta Tag",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meter.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meter.js deleted file mode 100644 index 487b3c82..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/meter.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F zC 0C 1C 2C"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"meter element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/midi.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/midi.js deleted file mode 100644 index 3db24062..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/midi.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q lC mC"},D:{"1":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"Web MIDI API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/minmaxwh.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/minmaxwh.js deleted file mode 100644 index e953236e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/minmaxwh.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","8":"K hC","129":"D","257":"E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS min/max-width/height",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mp3.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mp3.js deleted file mode 100644 index 9839fbe6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mp3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","132":"J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","2":"SD TD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"MP3 audio format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg-dash.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg-dash.js deleted file mode 100644 index cbf2bf0a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg-dash.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"C L M G N O P","2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","386":"0 z"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg4.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg4.js deleted file mode 100644 index 1da91a7e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mpeg4.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y lC mC","4":"0 1 2 3 4 5 z OB PB QB RB SB TB UB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I WD XD","4":"IC J SD TD VD gC","132":"UD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"MPEG-4/H.264 video format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multibackgrounds.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multibackgrounds.js deleted file mode 100644 index 6b9ce8d9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multibackgrounds.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 Multiple backgrounds",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multicolumn.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multicolumn.js deleted file mode 100644 index ae947779..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/multicolumn.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"C L M G N O P","516":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"132":"mB nB oB pB qB rB sB JC tB KC uB vB wB","164":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB lC mC","516":"xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a","1028":"6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"420":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","516":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"F rC","164":"D E qC","420":"J MB K nC OC oC pC"},F:{"1":"C CC fC 3C DC","2":"F B zC 0C 1C 2C","420":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB","516":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"9C AD","164":"E 7C 8C","420":"OC 4C gC 5C 6C"},H:{"1":"RD"},I:{"420":"IC J SD TD UD VD gC WD XD","516":"I"},J:{"420":"D A"},K:{"1":"C CC fC DC","2":"A B","516":"H"},L:{"516":"I"},M:{"1028":"BC"},N:{"1":"A B"},O:{"516":"EC"},P:{"420":"J","516":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"516":"jD"},R:{"516":"kD"},S:{"164":"lD mD"}},B:4,C:"CSS3 Multiple column layout",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutation-events.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutation-events.js deleted file mode 100644 index 034c744b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutation-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","260":"F A B"},B:{"66":"IB JB KB LB I","132":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB","260":"C L M G N O P"},C:{"2":"iC IC J MB lC mC","260":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"16":"J MB K D E F A B C L M","66":"IB JB KB LB I BC MC NC","132":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB"},E:{"16":"nC OC","132":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"C 3C DC","2":"F zC 0C 1C 2C","16":"B CC fC","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"16":"OC 4C","132":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"16":"SD TD","66":"I","132":"IC J UD VD gC WD XD"},J:{"132":"D A"},K:{"1":"C DC","2":"A","16":"B CC fC","132":"H"},L:{"66":"I"},M:{"260":"BC"},N:{"260":"A B"},O:{"132":"EC"},P:{"132":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"132":"jD"},R:{"132":"kD"},S:{"260":"lD mD"}},B:7,C:"Mutation events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutationobserver.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutationobserver.js deleted file mode 100644 index ad8062f7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/mutationobserver.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E hC","8":"F A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L lC mC"},D:{"1":"5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O","33":"0 1 2 3 4 P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","33":"K"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC SD TD UD","8":"J VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","8":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Mutation Observer",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/namevalue-storage.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/namevalue-storage.js deleted file mode 100644 index 156fde43..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/namevalue-storage.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","2":"hC","8":"K D"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","4":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Web Storage - name/value pairs",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/native-filesystem-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/native-filesystem-api.js deleted file mode 100644 index 11cd32fe..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/native-filesystem-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","194":"Q H R S T U","260":"V W X Y Z a b c d e f g h i j k l m n"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","194":"6B 7B 8B 9B AC Q H R S T U","260":"V W X Y Z a b c d e f g h i j k l m n"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC","194":"uB vB wB xB yB zB 0B 1B 2B 3B","260":"4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"File System Access API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/nav-timing.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/nav-timing.js deleted file mode 100644 index 1b57548c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/nav-timing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB","33":"K D E F A B C"},E:{"1":"E F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC qC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"J I VD gC WD XD","2":"IC SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Navigation Timing API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/netinfo.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/netinfo.js deleted file mode 100644 index 961bad44..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/netinfo.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","1028":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB","1028":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB zC 0C 1C 2C CC fC 3C DC","1028":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"SD WD XD","132":"IC J TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","132":"J","516":"YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"mD","260":"lD"}},B:7,C:"Network Information API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/notifications.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/notifications.js deleted file mode 100644 index 979c87c0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/notifications.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J","36":"MB K D E F A B C L M G N O P NB y z"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC","516":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","36":"I WD XD"},J:{"1":"A","2":"D"},K:{"2":"A B C CC fC DC","36":"H"},L:{"257":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"36":"J","130":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"130":"kD"},S:{"1":"lD mD"}},B:1,C:"Web Notifications",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-entries.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-entries.js deleted file mode 100644 index 0f6b7908..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-entries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC"},D:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","16":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Object.entries",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-fit.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-fit.js deleted file mode 100644 index ba5d69fc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-fit.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G","260":"N O P"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC"},D:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC","132":"E F qC rC"},F:{"1":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F G N O P zC 0C 1C","33":"B C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","132":"E 8C 9C AD"},H:{"33":"RD"},I:{"1":"I XD","2":"IC J SD TD UD VD gC WD"},J:{"2":"D A"},K:{"1":"H","2":"A","33":"B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 object-fit/object-position",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-observe.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-observe.js deleted file mode 100644 index 373f7612..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-observe.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB","2":"0 F B C G N O P NB y z XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"J","2":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Object.observe data binding",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-values.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-values.js deleted file mode 100644 index 13a01f99..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/object-values.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC"},D:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","8":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"8":"RD"},I:{"1":"I","8":"IC J SD TD UD VD gC WD XD"},J:{"8":"D A"},K:{"1":"H","8":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","8":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Object.values method",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/objectrtc.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/objectrtc.js deleted file mode 100644 index 30ae183d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/objectrtc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"L M G N O P","2":"6 7 8 9 C Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"Object RTC (ORTC) API for WebRTC",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offline-apps.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offline-apps.js deleted file mode 100644 index 7ed2fedd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offline-apps.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"F hC","8":"K D E"},B:{"1":"C L M G N O P Q H R S T","2":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S lC mC","2":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","4":"IC","8":"iC"},D:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T","2":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M oC pC qC rC PC CC DC sC tC","2":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 2C CC fC 3C DC","2":"F 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC","8":"0C 1C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD","2":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J SD TD UD VD gC WD XD","2":"I"},J:{"1":"D A"},K:{"1":"B C CC fC DC","2":"A H"},L:{"2":"I"},M:{"2":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"1":"lD","2":"mD"}},B:7,C:"Offline web applications",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offscreencanvas.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offscreencanvas.js deleted file mode 100644 index 325e031d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/offscreencanvas.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB lC mC","194":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n"},D:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","322":"sB JC tB KC uB vB wB xB yB zB 0B"},E:{"1":"GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC","516":"TC UC VC WC wC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB zC 0C 1C 2C CC fC 3C DC","322":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"1":"GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC","516":"TC UC VC WC PD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"194":"lD mD"}},B:1,C:"OffscreenCanvas",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogg-vorbis.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogg-vorbis.js deleted file mode 100644 index d0ca6fc0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogg-vorbis.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC","260":"GC XC YC ZC aC bC xC HC cC dC eC yC","388":"G tC uC QC RC EC vC FC SC TC UC VC WC wC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC","260":"aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"A","2":"D"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Ogg Vorbis audio format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogv.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogv.js deleted file mode 100644 index e492212f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ogv.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","8":"F A B"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB","8":"C L M G N","194":"DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB lC mC","2":"iC IC LB I BC MC NC jC kC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB","194":"BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o 1C 2C CC fC 3C DC","2":"F zC 0C","194":"p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"1":"BC"},N:{"8":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"1":"lD mD"}},B:6,C:"Ogg/Theora video format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ol-reversed.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ol-reversed.js deleted file mode 100644 index 4dc71a56..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ol-reversed.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G","16":"N O P NB"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","16":"K"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C","16":"C"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Reversed attribute of ordered lists",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/once-event-listener.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/once-event-listener.js deleted file mode 100644 index 76ca277b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/once-event-listener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB lC mC"},D:{"1":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"\"once\" event listener option",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/online-status.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/online-status.js deleted file mode 100644 index 9006adbb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/online-status.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D hC","260":"E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC","516":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L"},E:{"1":"MB K E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","1025":"D"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C","4":"DC"},G:{"1":"E gC 5C 6C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C","1025":"7C"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"A","132":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Online/offline status",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/opus.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/opus.js deleted file mode 100644 index a586ddc9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/opus.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"1":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB"},E:{"2":"J MB K D E F A nC OC oC pC qC rC PC","132":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC","260":"aC","516":"bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P NB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","132":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC","260":"aC","516":"bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Opus audio format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/orientation-sensor.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/orientation-sensor.js deleted file mode 100644 index b7c2d65d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/orientation-sensor.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","194":"sB JC tB KC uB vB wB xB yB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:4,C:"Orientation Sensor",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/outline.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/outline.js deleted file mode 100644 index a78724f3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/outline.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D hC","260":"E","388":"F A B"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","388":"C L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C","129":"DC","260":"F B zC 0C 1C 2C CC fC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"C H DC","260":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"388":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS outline properties",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pad-start-end.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pad-start-end.js deleted file mode 100644 index 78dfa300..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pad-start-end.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M"},C:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB lC mC"},D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/page-transition-events.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/page-transition-events.js deleted file mode 100644 index 30ab9bd5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/page-transition-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"PageTransitionEvent",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pagevisibility.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pagevisibility.js deleted file mode 100644 index c1b387f7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pagevisibility.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F lC mC","33":"A B C L M G N O"},D:{"1":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L","33":"0 1 2 3 4 5 M G N O P NB y z OB PB QB RB SB"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC"},F:{"1":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B C zC 0C 1C 2C CC fC 3C","33":"G N O P NB"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","33":"WD XD"},J:{"1":"A","2":"D"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","33":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Page Visibility",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passive-event-listener.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passive-event-listener.js deleted file mode 100644 index ce458c21..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passive-event-listener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB lC mC"},D:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"Passive event listeners",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passkeys.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passkeys.js deleted file mode 100644 index e95b2686..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passkeys.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q"},C:{"1":"DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB lC mC"},D:{"1":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q"},E:{"1":"SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC"},F:{"1":"g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f zC 0C 1C 2C CC fC 3C DC"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 z","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","16":"y"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"Passkeys",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passwordrules.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passwordrules.js deleted file mode 100644 index a9368c94..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/passwordrules.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","16":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC lC mC","16":"NC jC kC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"BC MC NC"},E:{"1":"C L DC","2":"J MB K D E F A B nC OC oC pC qC rC PC CC","16":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB zC 0C 1C 2C CC fC 3C DC","16":"nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"16":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","16":"I"},J:{"2":"D","16":"A"},K:{"2":"A B C CC fC DC","16":"H"},L:{"16":"I"},M:{"16":"BC"},N:{"2":"A","16":"B"},O:{"16":"EC"},P:{"2":"J YD ZD","16":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD mD"}},B:1,C:"Password Rules",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/path2d.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/path2d.js deleted file mode 100644 index 244c0219..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/path2d.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L","132":"M G N O P"},C:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB lC mC","132":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},D:{"1":"6 7 8 9 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB","132":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC pC","132":"E F qC"},F:{"1":"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","132":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","16":"E","132":"8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","132":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Path2D",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/payment-request.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/payment-request.js deleted file mode 100644 index 6ae0c1dd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/payment-request.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L","322":"M","8196":"G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB lC mC","4162":"pB qB rB sB JC tB KC uB vB wB xB","16452":"6 7 8 9 yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","194":"nB oB pB qB rB sB","1090":"JC tB","8196":"KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC","514":"A B PC","8196":"C CC"},F:{"1":"yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB zC 0C 1C 2C CC fC 3C DC","194":"aB bB cB dB eB fB gB hB","8196":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD","514":"BD CD DD","8196":"ED FD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"2049":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z eD fD gD hD FC GC HC iD","2":"J","8196":"YD ZD aD bD cD PC dD"},Q:{"8196":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:2,C:"Payment Request API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pdf-viewer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pdf-viewer.js deleted file mode 100644 index 935e6e0c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pdf-viewer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"C L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"16":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"Built-in PDF viewer",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-api.js deleted file mode 100644 index bcf27484..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB lC mC"},D:{"1":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Permissions API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-policy.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-policy.js deleted file mode 100644 index 9487c899..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/permissions-policy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","258":"Q H R S T U","322":"V W","388":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B lC mC","258":"6 7 8 9 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC","258":"tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U","322":"V W","388":"6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B nC OC oC pC qC rC PC","258":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB zC 0C 1C 2C CC fC 3C DC","258":"hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B","322":"4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d","388":"e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD","258":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","258":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","388":"H"},L:{"388":"I"},M:{"258":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"J YD ZD aD","258":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"258":"jD"},R:{"388":"kD"},S:{"2":"lD","258":"mD"}},B:5,C:"Permissions Policy",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture-in-picture.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture-in-picture.js deleted file mode 100644 index b421e44c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture-in-picture.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB lC mC","132":"6 7 8 9 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","1090":"zB","1412":"3B","1668":"0B 1B 2B"},D:{"1":"6 7 8 9 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B","2114":"1B"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC","4100":"A B C L PC CC DC"},F:{"1":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB zC 0C 1C 2C CC fC 3C DC","8196":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B"},G:{"1":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C","4100":"9C AD BD CD DD ED FD GD HD ID JD KD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"16388":"I"},M:{"16388":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"Picture-in-Picture",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture.js deleted file mode 100644 index d05998ff..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/picture.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB lC mC","578":"UB VB WB XB"},D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB","194":"XB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","322":"2"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Picture element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ping.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ping.js deleted file mode 100644 index e04a2bd6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ping.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"2":"iC","194":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"194":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"194":"lD mD"}},B:1,C:"Ping attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/png-alpha.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/png-alpha.js deleted file mode 100644 index 653d2ea3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/png-alpha.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"D E F A B","2":"hC","8":"K"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"PNG alpha transparency",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer-events.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer-events.js deleted file mode 100644 index 10f539a3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer-events.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:7,C:"CSS pointer-events (for HTML)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer.js deleted file mode 100644 index f08911d8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F hC","164":"A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC","8":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB","328":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB"},D:{"1":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y z","8":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","584":"mB nB oB"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC","8":"D E F A B C pC qC rC PC CC","1096":"DC"},F:{"1":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","8":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB","584":"ZB aB bB"},G:{"1":"ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD","6148":"HD"},H:{"2":"RD"},I:{"1":"I","8":"IC J SD TD UD VD gC WD XD"},J:{"8":"D A"},K:{"1":"H","2":"A","8":"B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","36":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"YD","8":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","328":"lD"}},B:2,C:"Pointer events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointerlock.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointerlock.js deleted file mode 100644 index 3a655362..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/pointerlock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C"},C:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L lC mC","33":"0 1 2 3 4 5 M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},D:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G","33":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB","66":"N O P NB y z"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 G N O P NB y z"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","16":"H"},L:{"2":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"16":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Pointer Lock API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/portals.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/portals.js deleted file mode 100644 index 6a02525f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/portals.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q H R S T","322":"6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","450":"U V W X Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B","194":"7B 8B 9B AC Q H R S T","322":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","450":"U"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC","194":"uB vB wB xB yB zB 0B 1B 2B 3B 4B","322":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"450":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Portals",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-color-scheme.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-color-scheme.js deleted file mode 100644 index 3334f5ed..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB lC mC"},D:{"1":"6 7 8 9 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},E:{"1":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC"},F:{"1":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"prefers-color-scheme media query",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js deleted file mode 100644 index 1c2963fd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB lC mC"},D:{"1":"6 7 8 9 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"prefers-reduced-motion media query",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/progress.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/progress.js deleted file mode 100644 index 8575a09f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/progress.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F zC 0C 1C 2C"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C","132":"7C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"progress element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promise-finally.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promise-finally.js deleted file mode 100644 index 048ab836..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promise-finally.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O"},C:{"1":"6 7 8 9 sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB lC mC"},D:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"Promise.prototype.finally",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promises.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promises.js deleted file mode 100644 index ffbed218..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/promises.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"8":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","4":"5 OB","8":"0 1 2 3 4 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"SB","8":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB"},E:{"1":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB K D nC OC oC pC"},F:{"1":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","4":"NB","8":"F B C G N O P zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC 5C 6C 7C"},H:{"8":"RD"},I:{"1":"I XD","8":"IC J SD TD UD VD gC WD"},J:{"8":"D A"},K:{"1":"H","8":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Promises",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proximity.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proximity.js deleted file mode 100644 index 659493ac..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proximity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"lD mD"}},B:4,C:"Proximity API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proxy.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proxy.js deleted file mode 100644 index 40c02410..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/proxy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P YB ZB aB bB cB dB eB fB gB hB iB","66":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"3 4 5 F B C OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC","66":"0 1 2 G N O P NB y z"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Proxy object",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/publickeypinning.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/publickeypinning.js deleted file mode 100644 index b957276d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/publickeypinning.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B","2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB","2":"F B C G N O P NB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","4":"1","16":"0 2 y z"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"J YD ZD aD bD cD PC","2":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"lD","2":"mD"}},B:6,C:"HTTP Public Key Pinning",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/push-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/push-api.js deleted file mode 100644 index 4cc0046e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/push-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"O P","2":"C L M G N","257":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB lC mC","257":"6 7 8 9 eB gB hB iB jB kB lB nB oB pB qB rB sB JC KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","1281":"fB mB tB"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB","257":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","388":"eB fB gB hB iB jB"},E:{"2":"J MB K nC OC oC pC","514":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC","2564":"SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB zC 0C 1C 2C CC fC 3C DC","16":"XB YB ZB aB bB","257":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC","4100":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"2":"kD"},S:{"257":"lD mD"}},B:5,C:"Push API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/queryselector.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/queryselector.js deleted file mode 100644 index 9bfdb8f8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/queryselector.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"hC","8":"K D","132":"E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","8":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","8":"F zC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"querySelector/querySelectorAll",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/readonly-attr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/readonly-attr.js deleted file mode 100644 index 8b7adcda..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/readonly-attr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","16":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC IC lC mC"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"0 1 2 3 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F zC","132":"B C 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C 6C"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"H","132":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"257":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"readonly attribute of input and textarea elements",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/referrer-policy.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/referrer-policy.js deleted file mode 100644 index 55490653..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/referrer-policy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O P","513":"Q H R S T"},C:{"1":"W X Y Z a","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC","513":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V","2049":"6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y","260":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB","513":"KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T"},E:{"2":"J MB K D nC OC oC pC","132":"E F A B qC rC PC","513":"C CC DC","1025":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","1537":"L M sC tC"},F:{"1":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","513":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B"},G:{"2":"OC 4C gC 5C 6C 7C","132":"E 8C 9C AD BD CD DD ED","513":"FD GD HD ID","1025":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","1537":"JD KD LD MD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2049":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J","513":"YD ZD aD bD cD PC dD eD fD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"513":"lD mD"}},B:4,C:"Referrer Policy",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/registerprotocolhandler.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/registerprotocolhandler.js deleted file mode 100644 index 23712ce3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","129":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC"},D:{"2":"J MB K D E F A B C","129":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B zC 0C 1C 2C CC fC","129":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D","129":"A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:1,C:"Custom protocol handling",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noopener.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noopener.js deleted file mode 100644 index 1a967d63..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noopener.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"rel=noopener",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noreferrer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noreferrer.js deleted file mode 100644 index e42ead81..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rel-noreferrer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","132":"B"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"C"},C:{"1":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M G"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Link type \"noreferrer\"",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rellist.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rellist.js deleted file mode 100644 index f4254845..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rellist.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N","132":"O"},C:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB lC mC"},D:{"1":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","132":"kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E nC OC oC pC qC"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB zC 0C 1C 2C CC fC 3C DC","132":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J","132":"YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"relList (DOMTokenList)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rem.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rem.js deleted file mode 100644 index 7d1e3044..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rem.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E hC","132":"F A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC"},G:{"1":"E 4C gC 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC","260":"5C"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"C H DC","2":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"rem (root em) units",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestanimationframe.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestanimationframe.js deleted file mode 100644 index 2b5a7cb1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestanimationframe.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","33":"0 B C L M G N O P NB y z","164":"J MB K D E F A"},D:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F","33":"0 1","164":"P NB y z","420":"A B C L M G N O"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","33":"K"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","33":"6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"requestAnimationFrame",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestidlecallback.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestidlecallback.js deleted file mode 100644 index e5803473..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/requestidlecallback.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC","194":"nB oB"},D:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB"},E:{"1":"yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC","322":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD","322":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"requestIdleCallback",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resizeobserver.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resizeobserver.js deleted file mode 100644 index 76a4b2ea..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resizeobserver.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B lC mC"},D:{"1":"6 7 8 9 wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","194":"oB pB qB rB sB JC tB KC uB vB"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC DC","66":"L"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB zC 0C 1C 2C CC fC 3C DC","194":"bB cB dB eB fB gB hB iB jB kB lB"},G:{"1":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"Resize Observer",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resource-timing.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resource-timing.js deleted file mode 100644 index 49b48009..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/resource-timing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB lC mC","194":"RB SB TB UB"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","260":"B"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Resource Timing (basic support)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rest-parameters.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rest-parameters.js deleted file mode 100644 index 854b606a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rest-parameters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB","194":"eB fB gB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB zC 0C 1C 2C CC fC 3C DC","194":"RB SB TB"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Rest parameters",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rtcpeerconnection.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rtcpeerconnection.js deleted file mode 100644 index ba1e0fd9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M","260":"G N O P"},C:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC","33":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},D:{"1":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 J MB K D E F A B C L M G N O P NB y z","33":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","130":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","33":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"WebRTC Peer-to-peer connections",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ruby.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ruby.js deleted file mode 100644 index e169aa1b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ruby.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"4":"K D E hC","132":"F A B"},B:{"4":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB lC mC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"J"},E:{"4":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J nC OC"},F:{"4":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","8":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"4":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC"},H:{"8":"RD"},I:{"4":"IC J I VD gC WD XD","8":"SD TD UD"},J:{"4":"A","8":"D"},K:{"4":"H","8":"A B C CC fC DC"},L:{"4":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"4":"EC"},P:{"4":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"4":"jD"},R:{"4":"kD"},S:{"1":"lD mD"}},B:1,C:"Ruby annotation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/run-in.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/run-in.js deleted file mode 100644 index 16639790..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/run-in.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","2":"K D hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB","2":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K oC","2":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"pC","129":"J nC OC"},F:{"1":"F B C G N O P zC 0C 1C 2C CC fC 3C DC","2":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"4C gC 5C 6C 7C","2":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","129":"OC"},H:{"1":"RD"},I:{"1":"IC J SD TD UD VD gC WD","2":"I XD"},J:{"1":"D A"},K:{"1":"A B C CC fC DC","2":"H"},L:{"2":"I"},M:{"2":"BC"},N:{"1":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:4,C:"display: run-in",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js deleted file mode 100644 index f3d6727a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","388":"B"},B:{"1":"P Q H R S T U","2":"C L M G","129":"N O","513":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC lC mC"},D:{"1":"lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","513":"6 7 8 9 H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC CC","2052":"M tC","3076":"C L DC sC"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB zC 0C 1C 2C CC fC 3C DC","513":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED","2052":"FD GD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","513":"H"},L:{"513":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"16":"jD"},R:{"513":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"'SameSite' cookie attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/screen-orientation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/screen-orientation.js deleted file mode 100644 index 8e9ed4c2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/screen-orientation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","164":"B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","36":"C L M G N O P"},C:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O lC mC","36":"0 1 2 3 4 5 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A","36":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","16":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"Screen Orientation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-async.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-async.js deleted file mode 100644 index 42563039..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-async.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","132":"MB"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"async attribute for external scripts",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-defer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-defer.js deleted file mode 100644 index 9a919b0d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/script-defer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","132":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","257":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"defer attribute for external scripts",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoview.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoview.js deleted file mode 100644 index 0d7f24bf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoview.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D hC","132":"E F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","132":"C L M G N O P"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB lC mC"},D:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","132":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F zC 0C 1C 2C","16":"B CC fC","132":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB 3C DC"},G:{"1":"FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC","132":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"1":"I","16":"SD TD","132":"IC J UD VD gC WD XD"},J:{"132":"D A"},K:{"1":"H","132":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","132":"J YD ZD aD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"scrollIntoView",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js deleted file mode 100644 index 1bba5b3e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"Element.scrollIntoViewIfNeeded()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sdch.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sdch.js deleted file mode 100644 index 349c69ed..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sdch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB","2":"6 7 8 9 JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B","2":"F B C 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selection-api.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selection-api.js deleted file mode 100644 index 015bd4ae..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selection-api.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","16":"hC","260":"K D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB lC mC","2180":"dB eB fB gB hB iB jB kB lB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","132":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"16":"gC","132":"OC 4C","516":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I WD XD","16":"IC J SD TD UD VD","1025":"gC"},J:{"1":"A","16":"D"},K:{"1":"H","16":"A B C CC fC","132":"DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","16":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2180":"lD"}},B:5,C:"Selection API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selectlist.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selectlist.js deleted file mode 100644 index 9f803062..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/selectlist.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f","194":"6 7 8 9 g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f","194":"6 7 8 9 g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC zC 0C 1C 2C CC fC 3C DC","194":"S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","194":"H"},L:{"194":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Selectlist - Customizable select element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/server-timing.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/server-timing.js deleted file mode 100644 index 39bbc559..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/server-timing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB lC mC"},D:{"1":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC","196":"tB KC uB vB","324":"wB"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC","516":"L M G DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"Server Timing",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/serviceworkers.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/serviceworkers.js deleted file mode 100644 index 8d324fcf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/serviceworkers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M","322":"G N"},C:{"1":"6 7 8 9 eB gB hB iB jB kB lB nB oB pB qB rB sB JC KC uB vB wB xB yB zB 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC","194":"TB UB VB WB XB YB ZB aB bB cB dB","513":"fB mB tB 0B"},D:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB","4":"aB bB cB dB eB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","4":"5 OB PB QB RB"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","4":"I"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"Service Workers",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/setimmediate.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/setimmediate.js deleted file mode 100644 index 5068453f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/setimmediate.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"C L M G N O P","2":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"1":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Efficient Script Yielding: setImmediate()",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdom.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdom.js deleted file mode 100644 index 9e083f41..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdom.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"Q","2":"6 7 8 9 C L M G N O P H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","66":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB"},D:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","2":"0 1 2 6 7 8 9 J MB K D E F A B C L M G N O P NB y z H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"3 4 5 OB PB QB RB SB TB UB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB","2":"F B C zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","33":"G N O P NB y z"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC","33":"WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"YD ZD aD bD cD PC dD eD","2":"0 1 2 3 4 5 y z fD gD hD FC GC HC iD","33":"J"},Q:{"1":"jD"},R:{"2":"kD"},S:{"1":"lD","2":"mD"}},B:7,C:"Shadow DOM (deprecated V0 spec)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdomv1.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdomv1.js deleted file mode 100644 index 798d1e4b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/shadowdomv1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB lC mC","322":"sB","578":"JC tB KC uB"},D:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},E:{"1":"A B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD","132":"BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","4":"YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"Shadow DOM (V1)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedarraybuffer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedarraybuffer.js deleted file mode 100644 index 67b04bb9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"Q H R S T U V W X Y Z","2":"C L M G","194":"N O P","513":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB lC mC","194":"rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","450":"6B 7B 8B 9B AC","513":"6 7 8 9 Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC","194":"tB KC uB vB wB xB yB zB","513":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A nC OC oC pC qC rC","194":"B C L M G PC CC DC sC tC uC","513":"QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB zC 0C 1C 2C CC fC 3C DC","194":"hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB","513":"AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD","194":"CD DD ED FD GD HD ID JD KD LD MD ND","513":"QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","513":"H"},L:{"513":"I"},M:{"513":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"J YD ZD aD bD cD PC dD eD fD gD","513":"0 1 2 3 4 5 y z hD FC GC HC iD"},Q:{"2":"jD"},R:{"513":"kD"},S:{"2":"lD","513":"mD"}},B:6,C:"Shared Array Buffer",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedworkers.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedworkers.js deleted file mode 100644 index c863cce3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sharedworkers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"MB K oC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J D E F A B C L M G nC OC pC qC rC PC CC DC sC tC uC QC RC EC vC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","2":"F zC 0C 1C"},G:{"1":"5C 6C FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"B C CC fC DC","2":"H","16":"A"},L:{"2":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"J","2":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"lD mD"}},B:1,C:"Shared Web Workers",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sni.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sni.js deleted file mode 100644 index 764fa9d8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sni.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K hC","132":"D E"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC"},H:{"1":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Server Name Indication",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spdy.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spdy.js deleted file mode 100644 index 489c35eb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spdy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F A hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","2":"6 7 8 9 iC IC J MB K D E F A B C lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","2":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"E F A B C rC PC CC","2":"J MB K D nC OC oC pC qC","129":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB cB eB DC","2":"F B C aB bB dB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C"},G:{"1":"E 8C 9C AD BD CD DD ED FD","2":"OC 4C gC 5C 6C 7C","257":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J VD gC WD XD","2":"I SD TD UD"},J:{"2":"D A"},K:{"1":"DC","2":"A B C H CC fC"},L:{"2":"I"},M:{"2":"BC"},N:{"1":"B","2":"A"},O:{"2":"EC"},P:{"1":"J","2":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"lD","2":"mD"}},B:7,C:"SPDY protocol",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-recognition.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-recognition.js deleted file mode 100644 index 2d41f088..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-recognition.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","514":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC","322":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 J MB K D E F A B C L M G N O P NB y z","164":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC","1060":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","514":"5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD","1060":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","164":"H"},L:{"164":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"164":"EC"},P:{"164":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"164":"jD"},R:{"164":"kD"},S:{"322":"lD mD"}},B:7,C:"Speech Recognition API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-synthesis.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-synthesis.js deleted file mode 100644 index 0ca8d938..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/speech-synthesis.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"M G N O P","2":"C L","257":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB lC mC","194":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},D:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB","257":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC"},F:{"1":"5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB","2":"0 1 2 3 4 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","257":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"2":"kD"},S:{"1":"lD mD"}},B:7,C:"Speech Synthesis API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spellcheck-attribute.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spellcheck-attribute.js deleted file mode 100644 index 42693a3c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"4":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"4":"RD"},I:{"4":"IC J I SD TD UD VD gC WD XD"},J:{"1":"A","4":"D"},K:{"4":"A B C H CC fC DC"},L:{"4":"I"},M:{"4":"BC"},N:{"4":"A B"},O:{"4":"EC"},P:{"4":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"4":"kD"},S:{"2":"lD mD"}},B:1,C:"Spellcheck attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sql-storage.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sql-storage.js deleted file mode 100644 index 6fd5839d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sql-storage.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"Q H R S T U V W X Y Z a b c d e f g h i j","2":"C L M G N O P FB GB HB IB JB KB LB I","129":"k l m n o p q r s","385":"6 7 8 9 t u v w x AB BB CB DB EB"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j","2":"FB GB HB IB JB KB LB I BC MC NC","129":"k l m n o p q r s","385":"6 7 8 9 t u v w x","897":"AB BB CB DB EB"},E:{"1":"J MB K D E F A B C nC OC oC pC qC rC PC CC DC","2":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z 1C 2C CC fC 3C DC","2":"F t u v w x zC 0C","257":"a b c d e f g h i j k l m n o p q r s"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD","2":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J SD TD UD VD gC WD XD","2":"I"},J:{"1":"D A"},K:{"1":"B C CC fC DC","2":"A","257":"H"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"Web SQL Database",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/srcset.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/srcset.js deleted file mode 100644 index c9a898c9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/srcset.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C","514":"L M G"},C:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB lC mC","194":"SB TB UB VB WB XB"},D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB","260":"UB VB WB XB"},E:{"2":"J MB K D nC OC oC pC","260":"E qC","1028":"F A rC PC","3076":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N O P NB y zC 0C 1C 2C CC fC 3C DC","260":"0 1 2 z"},G:{"2":"OC 4C gC 5C 6C 7C","260":"E 8C","1028":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Srcset and sizes attributes",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stream.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stream.js deleted file mode 100644 index 02263ac9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stream.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N lC mC","129":"WB XB YB ZB aB bB","420":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB"},D:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y","420":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B G N O zC 0C 1C 2C CC fC 3C","420":"0 1 2 3 4 5 C P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","513":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","1537":"DD ED FD GD HD ID JD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","420":"A"},K:{"1":"H","2":"A B CC fC","420":"C DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","420":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:4,C:"getUserMedia/Stream API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/streams.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/streams.js deleted file mode 100644 index 73bb5ab9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/streams.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","130":"B"},B:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"C L","260":"M G","1028":"Q H R S T U V W X","5124":"N O P"},C:{"1":"6 7 8 9 l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB lC mC","5124":"j k","7172":"xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i","7746":"rB sB JC tB KC uB vB wB"},D:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","260":"mB nB oB pB qB rB sB","1028":"JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X"},E:{"2":"J MB K D E F nC OC oC pC qC rC","1028":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","3076":"A B C L M PC CC DC sC"},F:{"1":"8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB zC 0C 1C 2C CC fC 3C DC","260":"ZB aB bB cB dB eB fB","1028":"gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD","16":"BD","1028":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z hD FC GC HC iD","2":"J YD ZD","1028":"aD bD cD PC dD eD fD gD"},Q:{"1028":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:1,C:"Streams",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stricttransportsecurity.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stricttransportsecurity.js deleted file mode 100644 index dfebdf80..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A hC","129":"B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F B zC 0C 1C 2C CC fC 3C"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Strict Transport Security",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/style-scoped.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/style-scoped.js deleted file mode 100644 index 108f8618..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/style-scoped.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB","2":"6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","322":"pB qB rB sB JC tB"},D:{"2":"6 7 8 9 J MB K D E F A B C L M G N O P NB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","194":"0 1 2 3 4 5 y z OB PB QB RB SB TB UB VB WB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"lD","2":"mD"}},B:7,C:"Scoped attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-bundling.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-bundling.js deleted file mode 100644 index c6e3eb08..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-bundling.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Subresource Loading with Web Bundles",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-integrity.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-integrity.js deleted file mode 100644 index 08a667f8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/subresource-integrity.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"1":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB lC mC"},D:{"1":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","194":"DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Subresource Integrity",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-css.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-css.js deleted file mode 100644 index 952fd6dc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-css.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","516":"C L M G"},C:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","260":"0 1 J MB K D E F A B C L M G N O P NB y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"J"},E:{"1":"MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC","132":"J OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"OC 4C"},H:{"260":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"H","260":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"SVG in CSS backgrounds",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-filters.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-filters.js deleted file mode 100644 index 5c11cb97..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-filters.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J","4":"MB K D"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"SVG filters",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fonts.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fonts.js deleted file mode 100644 index 45f54f6c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fonts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"F A B hC","8":"K D E"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB","2":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","130":"YB ZB aB bB cB dB eB fB gB hB iB jB kB"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC"},F:{"1":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","2":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","130":"3 4 5 OB PB QB RB SB TB UB VB WB"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"258":"RD"},I:{"1":"IC J VD gC WD XD","2":"I SD TD UD"},J:{"1":"D A"},K:{"1":"A B C CC fC DC","2":"H"},L:{"130":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"J","130":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"130":"kD"},S:{"2":"lD mD"}},B:2,C:"SVG fonts",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fragment.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fragment.js deleted file mode 100644 index e61940d9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-fragment.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","260":"F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB","132":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D F A B nC OC oC pC rC PC","132":"E qC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"0 G N O P NB y z","4":"B C 0C 1C 2C CC fC 3C","16":"F zC","132":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C 9C AD BD CD DD","132":"E 8C"},H:{"1":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D","132":"A"},K:{"1":"H DC","4":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","132":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"SVG fragment identifiers",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html.js deleted file mode 100644 index acb92d0c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","388":"F A B"},B:{"4":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC","4":"IC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"nC OC","4":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"4":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"4":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC","4":"I WD XD"},J:{"1":"A","2":"D"},K:{"4":"A B C H CC fC DC"},L:{"4":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"4":"EC"},P:{"4":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"4":"jD"},R:{"4":"kD"},S:{"1":"lD mD"}},B:2,C:"SVG effects for HTML",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html5.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html5.js deleted file mode 100644 index 69294944..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-html5.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E","129":"F A B"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L M G N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","8":"J MB K"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"J MB nC OC","129":"K D E oC pC qC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"B 2C CC fC","8":"F zC 0C 1C"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","8":"OC 4C gC","129":"E 5C 6C 7C 8C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"SD TD UD","129":"IC J VD gC"},J:{"1":"A","129":"D"},K:{"1":"C H DC","8":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"129":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Inline SVG in HTML5",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-img.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-img.js deleted file mode 100644 index 2c94d66d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-img.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC","4":"OC","132":"J MB K D E oC pC qC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"E OC 4C gC 5C 6C 7C 8C"},H:{"1":"RD"},I:{"1":"I WD XD","2":"SD TD UD","132":"IC J VD gC"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"SVG in HTML img element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-smil.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-smil.js deleted file mode 100644 index d693ef46..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg-smil.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","8":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"J"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"nC OC","132":"J MB oC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"OC 4C gC 5C"},H:{"2":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"SVG SMIL animation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg.js deleted file mode 100644 index 8f39bacc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/svg.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E","772":"F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","513":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","4":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","4":"nC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"I WD XD","2":"SD TD UD","132":"IC J VD gC"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"257":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"SVG (basic support)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sxg.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sxg.js deleted file mode 100644 index 7b5c49fe..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/sxg.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B","132":"3B 4B"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:6,C:"Signed HTTP Exchanges (SXG)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tabindex-attr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tabindex-attr.js deleted file mode 100644 index 2dd8ef0f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tabindex-attr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"D E F A B","16":"K hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"16":"iC IC lC mC","129":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"16":"J MB nC OC","257":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","16":"F"},G:{"769":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"16":"RD"},I:{"16":"IC J I SD TD UD VD gC WD XD"},J:{"16":"D A"},K:{"1":"H","16":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"16":"A B"},O:{"1":"EC"},P:{"16":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"129":"lD mD"}},B:1,C:"tabindex global attribute",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template-literals.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template-literals.js deleted file mode 100644 index 57715868..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template-literals.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","16":"C"},C:{"1":"6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB lC mC"},D:{"1":"6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"A B L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC","129":"C"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"9C AD BD CD DD ED GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C","129":"FD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"ES6 Template Literals (Template Strings)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template.js deleted file mode 100644 index db1a5ed4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/template.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C","388":"L M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 J MB K D E F A B C L M G N O P NB y z","132":"4 5 OB PB QB RB SB TB UB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D nC OC oC","388":"E qC","514":"pC"},F:{"1":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","132":"G N O P NB y z"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C","388":"E 8C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"HTML templates",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/temporal.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/temporal.js deleted file mode 100644 index 53abbf42..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/temporal.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"Temporal",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/testfeat.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/testfeat.js deleted file mode 100644 index 05a7469d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/testfeat.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E A B hC","16":"F"},B:{"2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","16":"J MB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"B C"},E:{"2":"J K nC OC oC","16":"MB D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C fC 3C DC","16":"CC"},G:{"2":"OC 4C gC 5C 6C","16":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD VD gC WD XD","16":"UD"},J:{"2":"A","16":"D"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Test feature - updated",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-decoration.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-decoration.js deleted file mode 100644 index e1870596..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-decoration.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","2052":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"iC IC J MB lC mC","1028":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","1060":"0 1 2 3 4 5 K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},D:{"2":"0 1 2 3 J MB K D E F A B C L M G N O P NB y z","226":"4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB","2052":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D nC OC oC pC","772":"L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","804":"E F A B C rC PC CC","1316":"qC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB zC 0C 1C 2C CC fC 3C DC","226":"VB WB XB YB ZB aB bB cB dB","2052":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"OC 4C gC 5C 6C 7C","292":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","2052":"H"},L:{"2052":"I"},M:{"1028":"BC"},N:{"2":"A B"},O:{"2052":"EC"},P:{"2":"J YD ZD","2052":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2052":"jD"},R:{"2052":"kD"},S:{"1028":"lD mD"}},B:4,C:"text-decoration styling",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-emphasis.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-emphasis.js deleted file mode 100644 index 2056b0f8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-emphasis.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","164":"Q H R S T U V W X Y Z a b c d e f g h"},C:{"1":"6 7 8 9 gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB lC mC","322":"fB"},D:{"1":"6 7 8 9 i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 J MB K D E F A B C L M G N O P NB y z","164":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h"},E:{"1":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC","164":"D pC"},F:{"1":"V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","164":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC","164":"WD XD"},J:{"2":"D","164":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z HC iD","164":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC"},Q:{"164":"jD"},R:{"164":"kD"},S:{"1":"lD mD"}},B:4,C:"text-emphasis styling",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-overflow.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-overflow.js deleted file mode 100644 index 6a466887..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-overflow.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B","2":"hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","8":"iC IC J MB K lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","33":"F zC 0C 1C 2C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"H DC","33":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"CSS3 Text-overflow",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-size-adjust.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-size-adjust.js deleted file mode 100644 index 5a101ad2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-size-adjust.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","33":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","258":"4"},E:{"2":"J MB K D E F A B C L M G nC OC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","258":"oC"},F:{"1":"dB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB eB zC 0C 1C 2C CC fC 3C DC"},G:{"2":"OC 4C gC","33":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"33":"BC"},N:{"161":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"CSS text-size-adjust",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-stroke.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-stroke.js deleted file mode 100644 index 382ae63e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/text-stroke.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M","33":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","161":"G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB lC mC","161":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","450":"iB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"33":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"33":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","36":"OC"},H:{"2":"RD"},I:{"2":"IC","33":"J I SD TD UD VD gC WD XD"},J:{"33":"D A"},K:{"2":"A B C CC fC DC","33":"H"},L:{"33":"I"},M:{"161":"BC"},N:{"2":"A B"},O:{"33":"EC"},P:{"33":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"33":"jD"},R:{"33":"kD"},S:{"161":"lD mD"}},B:7,C:"CSS text-stroke and text-fill",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textcontent.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textcontent.js deleted file mode 100644 index cd61cd33..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textcontent.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","16":"F"},G:{"1":"E 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Node.textContent",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textencoder.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textencoder.js deleted file mode 100644 index 4484469e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/textencoder.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P lC mC","132":"NB"},D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"TextEncoder & TextDecoder",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-1.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-1.js deleted file mode 100644 index 1e336180..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D hC","66":"E F A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB","2":"0 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","66":"1","129":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","388":"6 7 8 9 AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"0 1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T","2":"J MB K D E F A B C L M G N O P NB y z","1540":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"D E F A B C L qC rC PC CC DC","2":"J MB K nC OC oC pC","513":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B DC","2":"F B C zC 0C 1C 2C CC fC 3C","1540":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"1":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"1":"A","2":"D"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"129":"BC"},N:{"1":"B","66":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"TLS 1.1",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-2.js deleted file mode 100644 index 80998a6b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D hC","66":"E F A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","66":"2 3 4"},D:{"1":"6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC"},F:{"1":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F G zC","66":"B C 0C 1C 2C CC fC 3C DC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"1":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"1":"A","2":"D"},K:{"1":"H DC","2":"A B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","66":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"TLS 1.2",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-3.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-3.js deleted file mode 100644 index 95aeb8ff..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/tls1-3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lC mC","132":"tB KC uB","450":"lB mB nB oB pB qB rB sB JC"},D:{"1":"6 7 8 9 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","706":"oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B"},E:{"1":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC","1028":"L DC sC"},F:{"1":"rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC","706":"oB pB qB"},G:{"1":"GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:6,C:"TLS 1.3",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/touch.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/touch.js deleted file mode 100644 index 55bdb6a9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/touch.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","8":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","578":"C L M G N O P"},C:{"1":"0 1 2 6 7 8 9 P NB y z mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","4":"J MB K D E F A B C L M G N O","194":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB y z"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A","260":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:2,C:"Touch events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms2d.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms2d.js deleted file mode 100644 index 92f77efc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms2d.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E","129":"A B","161":"F"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L M G N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","33":"J MB K D E F A B C L M G lC mC"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","33":"J MB K D E nC OC oC pC qC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F zC 0C","33":"0 B C G N O P NB y z 1C 2C CC fC 3C"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","33":"IC J SD TD UD VD gC WD XD"},J:{"33":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 2D Transforms",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms3d.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms3d.js deleted file mode 100644 index e2415b91..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/transforms3d.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","132":"A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F lC mC","33":"A B C L M G"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B","33":"0 1 2 3 4 5 C L M G N O P NB y z OB PB QB RB SB TB UB VB"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC","33":"J MB K D E oC pC qC","257":"F A B C L M G rC PC CC DC sC tC uC QC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 G N O P NB y z"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","33":"E OC 4C gC 5C 6C 7C 8C","257":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"SD TD UD","33":"IC J VD gC WD XD"},J:{"33":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:5,C:"CSS3 3D Transforms",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/trusted-types.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/trusted-types.js deleted file mode 100644 index 6a1edc3e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/trusted-types.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"Trusted Types for DOM manipulation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ttf.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ttf.js deleted file mode 100644 index cc70c9db..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/ttf.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","132":"F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 0C 1C 2C CC fC 3C DC","2":"F zC"},G:{"1":"E gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C"},H:{"2":"RD"},I:{"1":"IC J I TD UD VD gC WD XD","2":"SD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"TTF/OTF - TrueType and OpenType font support",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/typedarrays.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/typedarrays.js deleted file mode 100644 index 2e8cbd16..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/typedarrays.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"B","2":"K D E F hC","132":"A"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","260":"oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C","260":"gC"},H:{"1":"RD"},I:{"1":"J I VD gC WD XD","2":"IC SD TD UD"},J:{"1":"A","2":"D"},K:{"1":"C H DC","2":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"132":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Typed Arrays",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/u2f.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/u2f.js deleted file mode 100644 index ff10dd5c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/u2f.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","513":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o"},C:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","322":"hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB v w"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","130":"YB ZB aB","513":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g","578":"h i j k l m n o"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC DC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB bB zC 0C 1C 2C CC fC 3C DC","513":"aB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"1":"mD","322":"lD"}},B:7,C:"FIDO U2F API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/unhandledrejection.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/unhandledrejection.js deleted file mode 100644 index d872693d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/unhandledrejection.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B lC mC"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","16":"DD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:1,C:"unhandledrejection/rejectionhandled events",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js deleted file mode 100644 index 38fcb575..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"1":"6 7 8 9 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB lC mC"},D:{"1":"6 7 8 9 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Upgrade Insecure Requests",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js deleted file mode 100644 index f90b0f08..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","66":"Q H R"},C:{"1":"I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB lC mC"},D:{"1":"6 7 8 9 R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","66":"6B 7B 8B 9B AC Q H"},E:{"1":"SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC"},F:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB zC 0C 1C 2C CC fC 3C DC","66":"yB zB"},G:{"1":"SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"URL Scroll-To-Text Fragment",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url.js deleted file mode 100644 index 2dde0a75..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/url.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 iC IC J MB K D E F A B C L M G N O P NB y z lC mC"},D:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 J MB K D E F A B C L M G N O P NB y z","130":"1 2 3 4 5 OB PB QB RB"},E:{"1":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC pC","130":"D"},F:{"1":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","130":"G N O P"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C","130":"7C"},H:{"2":"RD"},I:{"1":"I XD","2":"IC J SD TD UD VD gC","130":"WD"},J:{"2":"D","130":"A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"URL API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/urlsearchparams.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/urlsearchparams.js deleted file mode 100644 index f5da509a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/urlsearchparams.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC","132":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"B C L M G PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"URLSearchParams",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/use-strict.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/use-strict.js deleted file mode 100644 index 64d8e5ca..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/use-strict.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","132":"MB oC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"1":"RD"},I:{"1":"IC J I VD gC WD XD","2":"SD TD UD"},J:{"1":"D A"},K:{"1":"C H fC DC","2":"A B CC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"ECMAScript 5 Strict Mode",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-select-none.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-select-none.js deleted file mode 100644 index ca9ed785..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-select-none.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","33":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","33":"C L M G N O P"},C:{"1":"6 7 8 9 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","33":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B lC mC"},D:{"1":"6 7 8 9 oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","33":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB"},E:{"33":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","33":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB"},G:{"33":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","33":"IC J SD TD UD VD gC WD XD"},J:{"33":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"33":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","33":"J YD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","33":"lD"}},B:5,C:"CSS user-select: none",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-timing.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-timing.js deleted file mode 100644 index b8dbe9ec..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/user-timing.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB lC mC"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"User Timing API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/variable-fonts.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/variable-fonts.js deleted file mode 100644 index f3323ae7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/variable-fonts.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB lC mC","4609":"uB vB wB xB yB zB 0B 1B 2B","4674":"KC","5698":"tB","7490":"nB oB pB qB rB","7746":"sB JC","8705":"6 7 8 9 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB","4097":"yB","4290":"JC tB KC","6148":"uB vB wB xB"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","4609":"B C CC DC","8193":"L M sC tC"},F:{"1":"oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB zC 0C 1C 2C CC fC 3C DC","4097":"nB","6148":"jB kB lB mB"},G:{"1":"HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","4097":"DD ED FD GD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"4097":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"J YD ZD aD","4097":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:5,C:"Variable fonts",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vector-effect.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vector-effect.js deleted file mode 100644 index 171a7c3c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vector-effect.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K D E F A B C L M"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","2":"F B zC 0C 1C 2C CC fC"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"1":"RD"},I:{"1":"I WD XD","16":"IC J SD TD UD VD gC"},J:{"16":"D A"},K:{"1":"C H DC","2":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"SVG vector-effect: non-scaling-stroke",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vibration.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vibration.js deleted file mode 100644 index 4c832fcf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/vibration.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A lC mC","33":"B C L M G"},D:{"1":"6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C G N zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"Vibration API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/video.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/video.js deleted file mode 100644 index a0cfc883..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/video.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","260":"J MB K D E F A B C L M G N O P NB lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A nC OC oC pC qC rC PC","513":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1025":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","1537":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","132":"SD TD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Video element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/videotracks.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/videotracks.js deleted file mode 100644 index 53de6250..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/videotracks.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"C L M G N O P","322":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC","194":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","322":"6 7 8 9 fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K nC OC oC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB zC 0C 1C 2C CC fC 3C DC","322":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","322":"H"},L:{"322":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"322":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"322":"jD"},R:{"322":"kD"},S:{"194":"lD mD"}},B:1,C:"Video Tracks",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/view-transitions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/view-transitions.js deleted file mode 100644 index ec2fff4a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/view-transitions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t"},E:{"1":"HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC"},F:{"1":"g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f zC 0C 1C 2C CC fC 3C DC"},G:{"1":"HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"1 2 3 4 5","2":"0 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"View Transitions API (single-document)",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-unit-variants.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-unit-variants.js deleted file mode 100644 index eb9dab6d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n","194":"o p q"},C:{"1":"6 7 8 9 k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j lC mC"},D:{"1":"6 7 8 9 r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i","194":"j k l m n o p q"},E:{"1":"RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC"},F:{"1":"d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z zC 0C 1C 2C CC fC 3C DC","194":"a b c"},G:{"1":"RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 z","2":"J y YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:5,C:"Small, Large, and Dynamic viewport units",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-units.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-units.js deleted file mode 100644 index 19d12f3d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/viewport-units.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","132":"F","260":"A B"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","260":"C L M G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M G N O P lC mC"},D:{"1":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D E F A B C L M G N O P NB","260":"0 1 2 3 y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC","260":"K"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C","516":"7C","772":"6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"260":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"Viewport units: vw, vh, vmin, vmax",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wai-aria.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wai-aria.js deleted file mode 100644 index c7646a13..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wai-aria.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D hC","4":"E F A B"},B:{"4":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"4":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"nC OC","4":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F","4":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"4":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"4":"RD"},I:{"2":"IC J SD TD UD VD gC","4":"I WD XD"},J:{"2":"D A"},K:{"4":"A B C H CC fC DC"},L:{"4":"I"},M:{"4":"BC"},N:{"4":"A B"},O:{"4":"EC"},P:{"4":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"4":"jD"},R:{"4":"kD"},S:{"4":"lD mD"}},B:2,C:"WAI-ARIA Accessibility features",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wake-lock.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wake-lock.js deleted file mode 100644 index aa7ee23a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wake-lock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","194":"Q H R S T U V W X Y"},C:{"1":"HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB lC mC","322":"FB GB"},D:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B","194":"3B 4B 5B 6B 7B 8B 9B AC Q H R S T"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB zC 0C 1C 2C CC fC 3C DC","194":"sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:4,C:"Screen Wake Lock API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bigint.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bigint.js deleted file mode 100644 index 4d51ed43..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bigint.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T"},C:{"1":"6 7 8 9 AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B lC mC"},D:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T"},E:{"1":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC"},F:{"1":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly BigInt to i64 conversion in JS API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js deleted file mode 100644 index 79a981ca..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC lC mC"},D:{"1":"6 7 8 9 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC"},F:{"1":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Bulk Memory Operations",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-extended-const.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-extended-const.js deleted file mode 100644 index 4b2d64a7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-extended-const.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},C:{"1":"6 7 8 9 v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u lC mC"},D:{"1":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC"},F:{"1":"j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i zC 0C 1C 2C CC fC 3C DC"},G:{"1":"aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"1 2 3 4 5","2":"0 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Extended Constant Expressions",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-gc.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-gc.js deleted file mode 100644 index 262e1819..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-gc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB I","2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB lC mC"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Garbage Collection",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-memory.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-memory.js deleted file mode 100644 index e9208fdd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"BB CB DB EB FB GB HB IB JB KB LB I","2":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB"},C:{"1":"GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB lC mC"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Multi-Memory",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-value.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-value.js deleted file mode 100644 index 47cd4ba2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-multi-value.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T"},C:{"1":"6 7 8 9 AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B lC mC"},D:{"1":"6 7 8 9 U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T"},E:{"1":"M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC"},F:{"1":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Multi-Value",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js deleted file mode 100644 index a536faf8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB lC mC"},D:{"1":"6 7 8 9 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},E:{"1":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B nC OC oC pC qC rC PC CC"},F:{"1":"tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Import/Export of Mutable Globals",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js deleted file mode 100644 index 8206256f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB lC mC"},D:{"1":"6 7 8 9 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC"},F:{"1":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Non-trapping float-to-int Conversion",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-reference-types.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-reference-types.js deleted file mode 100644 index 4d6d5ecc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-reference-types.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e"},C:{"1":"6 7 8 9 Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC lC mC"},D:{"1":"6 7 8 9 f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC tC"},F:{"1":"LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Reference Types",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js deleted file mode 100644 index d4dae70d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g lC mC","194":"6 7 8 9 h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"1 2 3 4 5","2":"0 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Relaxed SIMD",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-signext.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-signext.js deleted file mode 100644 index d596b2f2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-signext.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC lC mC"},D:{"1":"6 7 8 9 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},E:{"1":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC"},F:{"1":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Sign Extension Operators",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-simd.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-simd.js deleted file mode 100644 index 740175e9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-simd.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z"},C:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X lC mC"},D:{"1":"6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z"},E:{"1":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC"},F:{"1":"9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B zC 0C 1C 2C CC fC 3C DC"},G:{"1":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z FC GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly SIMD",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-tail-calls.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-tail-calls.js deleted file mode 100644 index b18dcb3a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u"},C:{"1":"CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB lC mC"},D:{"1":"6 7 8 9 v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"1 2 3 4 5","2":"0 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Tail Calls",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-threads.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-threads.js deleted file mode 100644 index 652e35c6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm-threads.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC lC mC"},D:{"1":"6 7 8 9 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},E:{"1":"G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L M nC OC oC pC qC rC PC CC DC sC"},F:{"1":"uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD bD cD PC"},Q:{"16":"jD"},R:{"16":"kD"},S:{"2":"lD","16":"mD"}},B:5,C:"WebAssembly Threads and Atomics",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm.js deleted file mode 100644 index cd09afe0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wasm.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M","578":"G"},C:{"1":"6 7 8 9 nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB lC mC","194":"hB iB jB kB lB","1025":"mB"},D:{"1":"6 7 8 9 rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB","322":"lB mB nB oB pB qB"},E:{"1":"B C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC"},F:{"1":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB zC 0C 1C 2C CC fC 3C DC","322":"YB ZB aB bB cB dB"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","194":"lD"}},B:6,C:"WebAssembly",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wav.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wav.js deleted file mode 100644 index e6da8630..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wav.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 1C 2C CC fC 3C DC","2":"F zC 0C"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","16":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"Wav audio format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wbr-element.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wbr-element.js deleted file mode 100644 index 4de23ed5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wbr-element.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D hC","2":"E F A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"nC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","16":"F"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC"},H:{"1":"RD"},I:{"1":"IC J I UD VD gC WD XD","16":"SD TD"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"wbr (word break opportunity) element",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-animation.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-animation.js deleted file mode 100644 index f4e99df1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-animation.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","260":"Q H R S"},C:{"1":"6 7 8 9 R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB lC mC","260":"JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B","516":"hB iB jB kB lB mB nB oB pB qB rB sB","580":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","2049":"7B 8B 9B AC Q H"},D:{"1":"6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB","132":"WB XB YB","260":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC PC","1090":"B C L CC DC","2049":"M sC tC"},F:{"1":"3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC","132":"1 2 3","260":"4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD","1090":"DD ED FD GD HD ID JD","2049":"KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z gD hD FC GC HC iD","260":"J YD ZD aD bD cD PC dD eD fD"},Q:{"260":"jD"},R:{"1":"kD"},S:{"1":"mD","516":"lD"}},B:5,C:"Web Animations API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-app-manifest.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-app-manifest.js deleted file mode 100644 index e5eece0e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-app-manifest.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N","130":"O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","578":"8B 9B AC Q H R LC S T U"},D:{"1":"6 7 8 9 ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC","4":"GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD","4":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","260":"ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"Add to home screen (A2HS)",D:false}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-bluetooth.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-bluetooth.js deleted file mode 100644 index efba7ce7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-bluetooth.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","1025":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","194":"fB gB hB iB jB kB lB mB","706":"nB oB pB","1025":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB zC 0C 1C 2C CC fC 3C DC","450":"WB XB YB ZB","706":"aB bB cB","1025":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD XD","1025":"I"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","1025":"H"},L:{"1025":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1025":"EC"},P:{"1":"0 1 2 3 4 5 y z ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD"},Q:{"2":"jD"},R:{"1025":"kD"},S:{"2":"lD mD"}},B:7,C:"Web Bluetooth",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-serial.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-serial.js deleted file mode 100644 index 7112c963..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-serial.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","66":"Q H R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","66":"AC Q H R S T U V W X"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB zC 0C 1C 2C CC fC 3C DC","66":"xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"Web Serial API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-share.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-share.js deleted file mode 100644 index e96f4194..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/web-share.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H","516":"R S T U V W X Y Z a b c d"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"JB KB LB I BC MC NC","2":"3 4 5 J MB K D E F A B C L M G N O OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X","130":"0 1 2 P NB y z","1028":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB"},E:{"1":"M G tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC","2049":"L DC sC"},F:{"1":"x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w zC 0C 1C 2C CC fC 3C DC"},G:{"1":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD","2049":"GD HD ID JD KD"},H:{"2":"RD"},I:{"2":"IC J SD TD UD VD gC WD","258":"I XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J","258":"YD ZD aD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:4,C:"Web Share API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webauthn.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webauthn.js deleted file mode 100644 index 897bf162..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webauthn.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C","226":"L M G N O"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC lC mC","4100":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","5124":"tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},D:{"1":"6 7 8 9 zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB"},E:{"1":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C nC OC oC pC qC rC PC CC","322":"DC"},F:{"1":"oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD","578":"ID","2052":"LD","3076":"JD KD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"8196":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2":"lD"}},B:2,C:"Web Authentication API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webcodecs.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webcodecs.js deleted file mode 100644 index 0b10c913..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webcodecs.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c"},C:{"1":"LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB lC mC"},D:{"1":"6 7 8 9 d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC","132":"VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC","132":"VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z GC HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"WebCodecs API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl.js deleted file mode 100644 index 8af2a5e6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"hC","8":"K D E F A","129":"B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","129":"C L M G N O P"},C:{"1":"2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","129":"0 1 J MB K D E F A B C L M G N O P NB y z"},D:{"1":"6 7 8 9 TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB K D","129":"0 1 2 3 4 5 E F A B C L M G N O P NB y z OB PB QB RB SB"},E:{"1":"E F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC","129":"K D oC pC qC"},F:{"1":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B zC 0C 1C 2C CC fC 3C","129":"C G N O P DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C 7C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"1":"A","2":"D"},K:{"1":"C H DC","2":"A B CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A","129":"B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","129":"lD"}},B:6,C:"WebGL - 3D Canvas graphics",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl2.js deleted file mode 100644 index 05b7214f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgl2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","194":"cB dB eB","450":"3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","2242":"fB gB hB iB jB kB"},D:{"1":"6 7 8 9 qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB","578":"dB eB fB gB hB iB jB kB lB mB nB oB pB"},E:{"1":"G uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A nC OC oC pC qC rC","1090":"B C L M PC CC DC sC tC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB zC 0C 1C 2C CC fC 3C DC"},G:{"1":"ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED","1090":"FD GD HD ID JD KD LD MD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z aD bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","2242":"lD"}},B:6,C:"WebGL 2.0",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgpu.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgpu.js deleted file mode 100644 index fd5d534e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webgpu.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q","578":"H R S T U V W X Y Z a b c","1602":"d e f g h i j k l m n o p q r s t u v"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB lC mC","194":"6 7 8 9 vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q","578":"H R S T U V W X Y Z a b c","1602":"d e f g h i j k l m n o p q r s t u v","2049":"6 7 8 9 w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"yC","2":"J MB K D E F A B G nC OC oC pC qC rC PC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC","322":"C L M CC DC sC tC aC bC xC HC cC dC eC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B zC 0C 1C 2C CC fC 3C DC","578":"5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h","2049":"i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC","322":"aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","2049":"H"},L:{"1":"I"},M:{"194":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"1":"2 3 4 5","2":"0 1 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD","194":"mD"}},B:5,C:"WebGPU",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webhid.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webhid.js deleted file mode 100644 index eef6403f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webhid.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P","66":"Q H R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","66":"AC Q H R S T U V W X"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB zC 0C 1C 2C CC fC 3C DC","66":"yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"WebHID API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webkit-user-drag.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webkit-user-drag.js deleted file mode 100644 index 87ac7dd6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webkit-user-drag.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","132":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"16":"J MB K D E F A B C L M G","132":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"F B C zC 0C 1C 2C CC fC 3C DC","132":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","132":"H"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"CSS -webkit-user-drag property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webm.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webm.js deleted file mode 100644 index b640ef82..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webm.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E hC","520":"F A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","8":"C L","388":"M G N O P"},C:{"1":"6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z"},D:{"1":"3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB","132":"0 1 2 K D E F A B C L M G N O P NB y z"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC","8":"J MB OC oC","520":"K D E F A B C pC qC rC PC CC","1028":"L DC sC","7172":"M","8196":"G tC uC QC RC EC vC"},F:{"1":"0 1 2 3 4 5 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F zC 0C 1C","132":"B C G 2C CC fC 3C DC"},G:{"1":"aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD","1028":"GD HD ID JD KD","3076":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC"},H:{"2":"RD"},I:{"1":"I","2":"SD TD","132":"IC J UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"8":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","132":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:6,C:"WebM video format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webnfc.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webnfc.js deleted file mode 100644 index ae4d7ae3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webnfc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M G N O P Q Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","450":"H R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","450":"H R S T U V W X"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","450":"zB 0B 1B 2B 3B 4B 5B 6B 7B"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"257":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"Web NFC",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webp.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webp.js deleted file mode 100644 index 5b2090c1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webp.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O"},C:{"1":"6 7 8 9 xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","8":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB"},D:{"1":"6 7 8 9 SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J MB","8":"K D E","132":"0 F A B C L M G N O P NB y z","260":"1 2 3 4 5 OB PB QB RB"},E:{"1":"FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F A B C L nC OC oC pC qC rC PC CC DC sC","516":"M G tC uC QC RC EC vC"},F:{"1":"0 1 2 3 4 5 NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F zC 0C 1C","8":"B 2C","132":"CC fC 3C","260":"C G N O P DC"},G:{"1":"LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD"},H:{"1":"RD"},I:{"1":"I gC WD XD","2":"IC SD TD UD","132":"J VD"},J:{"2":"D A"},K:{"1":"C H CC fC DC","2":"A","132":"B"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","8":"lD"}},B:6,C:"WebP image format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/websockets.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/websockets.js deleted file mode 100644 index cd0c7539..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/websockets.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC lC mC","132":"J MB","292":"K D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"J MB K D E F A B C L M","260":"G"},E:{"1":"D E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","132":"MB oC","260":"K pC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F zC 0C 1C 2C","132":"B C CC fC 3C"},G:{"1":"E 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C","132":"gC 5C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","129":"D"},K:{"1":"H DC","2":"A","132":"B C CC fC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Web Sockets",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webtransport.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webtransport.js deleted file mode 100644 index dbf4664c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webtransport.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P Q H R S T U V W X Y Z a b c d e f g"},C:{"1":"6 7 8 9 x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w lC mC"},D:{"1":"6 7 8 9 g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z e f","66":"a b c d"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z HC iD","2":"J YD ZD aD bD cD PC dD eD fD gD hD FC GC"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:5,C:"WebTransport",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webusb.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webusb.js deleted file mode 100644 index ad8c83d7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webusb.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"6 7 8 9 KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","66":"oB pB qB rB sB JC tB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB zC 0C 1C 2C CC fC 3C DC","66":"bB cB dB eB fB gB hB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z bD cD PC dD eD fD gD hD FC GC HC iD","2":"J YD ZD aD"},Q:{"2":"jD"},R:{"1":"kD"},S:{"2":"lD mD"}},B:7,C:"WebUSB",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvr.js deleted file mode 100644 index 9f742e83..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"6 7 8 9 C L M H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","66":"Q","257":"G N O P"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB lC mC","129":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","194":"oB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","66":"rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","66":"eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"2":"I"},M:{"2":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"513":"J","516":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:7,C:"WebVR API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvtt.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvtt.js deleted file mode 100644 index 5e215f5c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webvtt.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 iC IC J MB K D E F A B C L M G N O P NB y z lC mC","66":"2 3 4 5 OB PB QB","129":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB","257":"6 7 8 9 pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"K D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC J SD TD UD VD gC"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"B","2":"A"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"129":"lD mD"}},B:4,C:"WebVTT - Web Video Text Tracks",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webworkers.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webworkers.js deleted file mode 100644 index a50d9ff0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webworkers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","2":"hC","8":"K D E F"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","8":"iC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","8":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C CC fC 3C DC","2":"F zC","8":"0C 1C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"I SD WD XD","2":"IC J TD UD VD gC"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","8":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Web Workers",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webxr.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webxr.js deleted file mode 100644 index a97d84b3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/webxr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"2":"C L M G N O P","132":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B lC mC","322":"6 7 8 9 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC"},D:{"2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB","66":"xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","132":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"2":"J MB K D E F A B C nC OC oC pC qC rC PC CC DC","578":"L M G sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB zC 0C 1C 2C CC fC 3C DC","66":"mB nB oB pB qB rB sB tB uB vB wB xB","132":"yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"2":"IC J I SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C CC fC DC","132":"H"},L:{"132":"I"},M:{"322":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"J YD ZD aD bD cD PC dD","132":"0 1 2 3 4 5 y z eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD","322":"mD"}},B:4,C:"WebXR Device API",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/will-change.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/will-change.js deleted file mode 100644 index 424624dd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/will-change.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L M G N O P"},C:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB lC mC","194":"PB QB RB SB TB UB VB"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},E:{"1":"A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC"},F:{"1":"2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS will-change property",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff.js deleted file mode 100644 index 8c8f022a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC mC","2":"iC IC lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"J"},E:{"1":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB nC OC"},F:{"1":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x CC fC 3C DC","2":"F B zC 0C 1C 2C"},G:{"1":"E 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC"},H:{"2":"RD"},I:{"1":"I WD XD","2":"IC SD TD UD VD gC","130":"J"},J:{"1":"D A"},K:{"1":"B C H CC fC DC","2":"A"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"WOFF - Web Open Font Format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff2.js deleted file mode 100644 index 5cbe0ffa..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/woff2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","2":"C L"},C:{"1":"6 7 8 9 ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB lC mC"},D:{"1":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB"},E:{"1":"C L M G DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J MB K D E F nC OC oC pC qC rC","132":"A B PC CC"},F:{"1":"1 2 3 4 5 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 F B C G N O P NB y z zC 0C 1C 2C CC fC 3C DC"},G:{"1":"BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"E OC 4C gC 5C 6C 7C 8C 9C AD"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:2,C:"WOFF 2.0 - Web Open Font Format",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/word-break.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/word-break.js deleted file mode 100644 index 681c4c17..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/word-break.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"K D E F A B hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC J MB K D E F A B C L M lC mC"},D:{"1":"6 7 8 9 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB"},E:{"1":"F A B C L M G rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","4":"J MB K D E nC OC oC pC qC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B C zC 0C 1C 2C CC fC 3C DC","4":"0 1 2 3 4 5 G N O P NB y z OB PB QB"},G:{"1":"9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","4":"E OC 4C gC 5C 6C 7C 8C"},H:{"2":"RD"},I:{"1":"I","4":"IC J SD TD UD VD gC WD XD"},J:{"4":"D A"},K:{"1":"H","2":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"CSS3 word-break",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wordwrap.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wordwrap.js deleted file mode 100644 index 84624133..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/wordwrap.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"4":"K D E F A B hC"},B:{"1":"6 7 8 9 P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","4":"C L M G N O"},C:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","4":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB lC mC"},D:{"1":"1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","4":"0 J MB K D E F A B C L M G N O P NB y z"},E:{"1":"D E F A B C L M G pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","4":"J MB K nC OC oC"},F:{"1":"0 1 2 3 4 5 G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x DC","2":"F zC 0C","4":"B C 1C 2C CC fC 3C"},G:{"1":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","4":"OC 4C gC 5C 6C"},H:{"4":"RD"},I:{"1":"I WD XD","4":"IC J SD TD UD VD gC"},J:{"1":"A","4":"D"},K:{"1":"H","4":"A B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"4":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"mD","4":"lD"}},B:4,C:"CSS3 Overflow-wrap",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-doc-messaging.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-doc-messaging.js deleted file mode 100644 index fba80114..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-doc-messaging.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D hC","132":"E F","260":"A B"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC","2":"iC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"nC OC"},F:{"1":"0 1 2 3 4 5 B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC","2":"F"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"4":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"Cross-document messaging",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-frame-options.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-frame-options.js deleted file mode 100644 index edf0892f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/x-frame-options.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"E F A B","2":"K D hC"},B:{"1":"C L M G N O P","4":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B","4":"6 7 8 9 J MB K D E F A B C L M G N O 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","16":"iC IC lC mC"},D:{"4":"4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"0 1 2 3 J MB K D E F A B C L M G N O P NB y z"},E:{"4":"K D E F A B C L M G oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","16":"J MB nC OC"},F:{"4":"0 1 2 3 4 5 C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C DC","16":"F B zC 0C 1C 2C CC fC"},G:{"4":"E 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","16":"OC 4C gC 5C 6C"},H:{"2":"RD"},I:{"4":"J I VD gC WD XD","16":"IC SD TD UD"},J:{"4":"D A"},K:{"4":"H DC","16":"A B C CC fC"},L:{"4":"I"},M:{"4":"BC"},N:{"1":"A B"},O:{"4":"EC"},P:{"4":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"4":"jD"},R:{"4":"kD"},S:{"1":"lD","4":"mD"}},B:6,C:"X-Frame-Options HTTP header",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhr2.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhr2.js deleted file mode 100644 index b086749a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhr2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F hC","1156":"A B"},B:{"1":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I","1028":"C L M G N O P"},C:{"1":"6 7 8 9 hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","2":"iC IC","1028":"0 1 2 3 4 5 C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","1284":"A B","1412":"K D E F","1924":"J MB lC mC"},D:{"1":"6 7 8 9 kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","16":"J MB K","1028":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB","1156":"PB QB","1412":"0 1 2 3 4 5 D E F A B C L M G N O P NB y z OB"},E:{"1":"C L M G CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","2":"J nC OC","1028":"E F A B qC rC PC","1156":"D pC","1412":"MB K oC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"F B zC 0C 1C 2C CC fC 3C","132":"G N O","1028":"0 1 2 3 4 5 C P NB y z OB PB QB RB SB TB UB VB WB DC"},G:{"1":"DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","2":"OC 4C gC","1028":"E 8C 9C AD BD CD","1156":"7C","1412":"5C 6C"},H:{"2":"RD"},I:{"1":"I","2":"SD TD UD","1028":"XD","1412":"WD","1924":"IC J VD gC"},J:{"1156":"A","1412":"D"},K:{"1":"H","2":"A B CC fC","1028":"C DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1156":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD","1028":"J"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"XMLHttpRequest advanced features",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtml.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtml.js deleted file mode 100644 index 34d50aab..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtml.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"F A B","2":"K D E hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"1":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"1":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"1":"RD"},I:{"1":"IC J I SD TD UD VD gC WD XD"},J:{"1":"D A"},K:{"1":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:1,C:"XHTML served as application/xhtml+xml",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtmlsmil.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtmlsmil.js deleted file mode 100644 index a3b31432..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xhtmlsmil.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"F A B hC","4":"K D E"},B:{"2":"C L M G N O P","8":"6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"8":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC lC mC"},D:{"8":"0 1 2 3 4 5 6 7 8 9 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC"},E:{"8":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"8":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x zC 0C 1C 2C CC fC 3C DC"},G:{"8":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"8":"RD"},I:{"8":"IC J I SD TD UD VD gC WD XD"},J:{"8":"D A"},K:{"8":"A B C H CC fC DC"},L:{"8":"I"},M:{"8":"BC"},N:{"2":"A B"},O:{"8":"EC"},P:{"8":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"8":"jD"},R:{"8":"kD"},S:{"8":"lD mD"}},B:7,C:"XHTML+SMIL animation",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xml-serializer.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xml-serializer.js deleted file mode 100644 index 89020005..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/xml-serializer.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"1":"A B","260":"K D E F hC"},B:{"1":"6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC jC kC","132":"B","260":"iC IC J MB K D lC mC","516":"E F A"},D:{"1":"6 7 8 9 RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB I BC MC NC","132":"0 1 2 3 4 5 J MB K D E F A B C L M G N O P NB y z OB PB QB"},E:{"1":"E F A B C L M G qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC","132":"J MB K D nC OC oC pC"},F:{"1":"0 1 2 3 4 5 P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"F zC","132":"B C G N O 0C 1C 2C CC fC 3C DC"},G:{"1":"E 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC","132":"OC 4C gC 5C 6C 7C"},H:{"132":"RD"},I:{"1":"I WD XD","132":"IC J SD TD UD VD gC"},J:{"132":"D A"},K:{"1":"H","16":"A","132":"B C CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"1":"jD"},R:{"1":"kD"},S:{"1":"lD mD"}},B:4,C:"DOM Parsing and Serialization",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/zstd.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/zstd.js deleted file mode 100644 index 45f835e3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/features/zstd.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={A:{A:{"2":"K D E F A B hC"},B:{"1":"EB FB GB HB IB JB KB LB I","2":"6 7 8 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","194":"9 AB BB CB DB"},C:{"1":"HB IB JB KB LB I BC MC NC jC kC","2":"0 1 2 3 4 5 6 7 8 9 iC IC J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB lC mC"},D:{"1":"EB FB GB HB IB JB KB LB I BC MC NC","2":"0 1 2 3 4 5 6 7 8 J MB K D E F A B C L M G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB JC tB KC uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","194":"9 AB BB CB DB"},E:{"2":"J MB K D E F A B C L M G nC OC oC pC qC rC PC CC DC sC tC uC QC RC EC vC FC SC TC UC VC WC wC GC XC YC ZC aC bC xC HC cC dC eC yC"},F:{"1":"s t u v w x","2":"0 1 2 3 4 5 F B C G N O P NB y z OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC Q H R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r zC 0C 1C 2C CC fC 3C DC"},G:{"2":"E OC 4C gC 5C 6C 7C 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND QC RC EC OD FC SC TC UC VC WC PD GC XC YC ZC aC bC QD HC cC dC eC"},H:{"2":"RD"},I:{"1":"I","2":"IC J SD TD UD VD gC WD XD"},J:{"2":"D A"},K:{"2":"A B C H CC fC DC"},L:{"1":"I"},M:{"1":"BC"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z YD ZD aD bD cD PC dD eD fD gD hD FC GC HC iD"},Q:{"2":"jD"},R:{"2":"kD"},S:{"2":"lD mD"}},B:6,C:"zstd (Zstandard) content-encoding",D:true}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AD.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AD.js deleted file mode 100644 index 84541870..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"3":0.00446,"4":0.00446,"9":0.00446,"48":0.01339,"52":0.01339,"72":0.00446,"106":0.00446,"112":0.00446,"114":0.01785,"115":0.0937,"118":0.00446,"123":0.00446,"124":0.02231,"128":0.02231,"129":0.07585,"130":0.00892,"131":0.13832,"132":2.34701,"133":0.20971,_:"2 5 6 7 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 107 108 109 110 111 113 116 117 119 120 121 122 125 126 127 134 135 136 3.5 3.6"},D:{"5":0.01339,"31":0.00446,"37":0.00446,"38":0.00446,"39":0.00446,"40":0.00446,"41":0.00446,"43":0.00446,"44":0.00446,"45":0.00892,"46":0.00446,"47":0.00446,"48":0.06247,"49":0.00892,"51":0.01785,"58":0.00446,"74":0.00446,"79":0.03123,"85":0.00446,"87":0.00892,"88":0.00446,"90":0.08478,"94":0.00446,"97":0.00446,"98":0.02677,"99":0.00446,"103":0.3168,"108":0.00446,"109":0.73623,"110":0.00892,"111":0.00892,"115":0.00446,"116":0.38819,"117":0.00446,"118":0.08924,"119":0.02231,"120":0.01339,"121":0.00892,"122":0.06247,"123":0.00446,"124":0.37481,"125":0.01339,"126":0.07585,"127":0.07139,"128":0.14725,"129":0.53098,"130":10.44554,"131":7.21505,"132":0.01339,"133":0.00892,_:"4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 42 50 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 80 81 83 84 86 89 91 92 93 95 96 100 101 102 104 105 106 107 112 113 114 134"},F:{"85":0.00446,"95":0.01339,"102":0.01339,"111":0.00446,"113":0.05354,"114":1.10211,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"87":0.01339,"92":0.00446,"98":0.00446,"99":0.00446,"108":0.00892,"109":0.00446,"118":0.17402,"122":0.01339,"124":0.00446,"128":0.00446,"129":0.02677,"130":1.34306,"131":0.92363,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 88 89 90 91 93 94 95 96 97 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 119 120 121 123 125 126 127"},E:{"4":0.00892,"8":0.00446,"9":0.02677,"12":0.00446,"14":0.01339,_:"0 5 6 7 10 11 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00446,"13.1":0.08478,"14.1":0.0937,"15.1":0.03123,"15.2-15.3":0.01339,"15.4":0.04016,"15.5":0.04016,"15.6":0.63807,"16.0":0.16509,"16.1":0.16956,"16.2":0.12047,"16.3":0.33019,"16.4":0.10709,"16.5":0.37035,"16.6":0.97718,"17.0":0.07585,"17.1":0.17848,"17.2":0.17848,"17.3":0.16509,"17.4":0.74962,"17.5":1.05303,"17.6":5.06883,"18.0":1.71787,"18.1":2.31132,"18.2":0.04462},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00345,"5.0-5.1":0,"6.0-6.1":0.01379,"7.0-7.1":0.01724,"8.1-8.4":0,"9.0-9.2":0.01379,"9.3":0.04826,"10.0-10.2":0.01034,"10.3":0.07929,"11.0-11.2":0.93078,"11.3-11.4":0.02413,"12.0-12.1":0.01379,"12.2-12.5":0.36197,"13.0-13.1":0.00689,"13.2":0.09308,"13.3":0.01379,"13.4-13.7":0.05171,"14.0-14.4":0.11376,"14.5-14.8":0.16202,"15.0-15.1":0.09308,"15.2-15.3":0.08618,"15.4":0.10342,"15.5":0.12066,"15.6-15.8":1.29275,"16.0":0.24476,"16.1":0.5171,"16.2":0.262,"16.3":0.44471,"16.4":0.08963,"16.5":0.17926,"16.6-16.7":1.69609,"17.0":0.1241,"17.1":0.20684,"17.2":0.17237,"17.3":0.262,"17.4":0.56192,"17.5":1.67885,"17.6-17.7":14.50294,"18.0":5.14343,"18.1":4.51946,"18.2":0.18271},P:{"4":0.03113,"21":0.05189,"22":0.01038,"23":0.01038,"26":0.99631,"27":0.84064,_:"20 24 25 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","6.2-6.4":0.01038,"19.0":0.03113},I:{"0":0.10497,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"7":0.00473,"8":0.11353,"9":0.01892,"10":0.03784,"11":0.44466,_:"6 5.5"},K:{"0":0.06644,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00554,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01661},H:{"0":0},L:{"0":18.29802},R:{_:"0"},M:{"0":0.45957}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AE.js deleted file mode 100644 index 9fb9ee43..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00208,"40":0.00208,"50":0.00208,"51":0.00208,"52":0.00415,"56":0.00208,"77":0.00831,"103":0.00208,"105":0.00208,"109":0.00208,"110":0.00208,"115":0.03946,"120":0.00208,"122":0.00208,"125":0.00415,"127":0.00208,"128":0.00831,"129":0.00208,"130":0.00623,"131":0.03116,"132":0.40294,"133":0.03946,"134":0.02077,"135":0.00415,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 41 42 43 44 45 46 47 48 49 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 106 107 108 111 112 113 114 116 117 118 119 121 123 124 126 136 3.5 3.6"},D:{"34":0.00208,"38":0.00415,"43":0.00208,"44":0.00208,"49":0.00208,"56":0.00623,"58":0.01869,"65":0.00208,"66":0.00208,"68":0.00208,"73":0.00623,"74":0.00208,"75":0.00208,"76":0.01246,"78":0.00208,"79":0.00831,"80":0.00208,"81":0.00415,"83":0.01039,"84":0.00415,"85":0.00415,"86":0.00831,"87":0.02285,"88":0.01039,"90":0.00623,"91":0.01039,"92":0.00208,"93":0.02285,"94":0.01454,"95":0.00208,"97":0.00623,"98":0.00415,"99":0.00831,"100":0.00208,"101":0.00208,"102":0.00208,"103":0.11839,"104":0.00623,"105":0.00415,"106":0.01039,"107":0.01662,"108":0.01662,"109":0.33232,"110":0.01454,"111":0.02077,"112":0.01039,"113":0.03946,"114":0.05816,"115":0.00623,"116":0.06854,"117":0.00415,"118":0.00623,"119":0.01039,"120":0.01662,"121":0.01454,"122":0.054,"123":0.02077,"124":0.06231,"125":0.17862,"126":0.10177,"127":0.08516,"128":0.2887,"129":0.56702,"130":7.09296,"131":4.20177,"132":0.00623,"133":0.00208,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 45 46 47 48 50 51 52 53 54 55 57 59 60 61 62 63 64 67 69 70 71 72 77 89 96 134"},F:{"46":0.00415,"85":0.03531,"86":0.00208,"95":0.00623,"109":0.00208,"110":0.00208,"111":0.00208,"112":0.00831,"113":0.027,"114":0.36348,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00208,"18":0.00208,"92":0.00623,"105":0.00208,"107":0.00208,"108":0.00208,"109":0.01246,"111":0.00208,"114":0.00208,"115":0.00208,"119":0.00208,"120":0.00208,"121":0.00623,"122":0.00415,"123":0.00208,"124":0.00415,"125":0.00415,"126":0.00831,"127":0.01454,"128":0.01662,"129":0.07477,"130":1.22751,"131":0.76849,_:"12 13 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 106 110 112 113 116 117 118"},E:{"9":0.00208,"13":0.00208,"14":0.00623,"15":0.00208,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00208,"13.1":0.01246,"14.1":0.06854,"15.1":0.00831,"15.2-15.3":0.00623,"15.4":0.00831,"15.5":0.01039,"15.6":0.12877,"16.0":0.01454,"16.1":0.03323,"16.2":0.01246,"16.3":0.04154,"16.4":0.01246,"16.5":0.02077,"16.6":0.11216,"17.0":0.01039,"17.1":0.02492,"17.2":0.01869,"17.3":0.03116,"17.4":0.0727,"17.5":0.15578,"17.6":0.61272,"18.0":0.3614,"18.1":0.32401,"18.2":0.01039},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00087,"5.0-5.1":0,"6.0-6.1":0.00347,"7.0-7.1":0.00433,"8.1-8.4":0,"9.0-9.2":0.00347,"9.3":0.01213,"10.0-10.2":0.0026,"10.3":0.01994,"11.0-11.2":0.23403,"11.3-11.4":0.00607,"12.0-12.1":0.00347,"12.2-12.5":0.09101,"13.0-13.1":0.00173,"13.2":0.0234,"13.3":0.00347,"13.4-13.7":0.013,"14.0-14.4":0.0286,"14.5-14.8":0.04074,"15.0-15.1":0.0234,"15.2-15.3":0.02167,"15.4":0.026,"15.5":0.03034,"15.6-15.8":0.32504,"16.0":0.06154,"16.1":0.13002,"16.2":0.06587,"16.3":0.11181,"16.4":0.02254,"16.5":0.04507,"16.6-16.7":0.42645,"17.0":0.0312,"17.1":0.05201,"17.2":0.04334,"17.3":0.06587,"17.4":0.14128,"17.5":0.42212,"17.6-17.7":3.64653,"18.0":1.29323,"18.1":1.13634,"18.2":0.04594},P:{"4":0.02061,"21":0.02061,"22":0.02061,"23":0.02061,"24":0.04122,"25":0.03092,"26":0.70077,"27":0.5771,_:"20 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","5.0-5.4":0.01031,"6.2-6.4":0.01031,"7.2-7.4":0.01031,"19.0":0.01031},I:{"0":0.03162,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.00678,"11":0.09273,_:"6 7 9 10 5.5"},K:{"0":1.41029,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":2.57498},H:{"0":0},L:{"0":66.20404},R:{_:"0"},M:{"0":0.12677}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AF.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AF.js deleted file mode 100644 index 322c01b5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"20":0.00143,"27":0.00143,"38":0.00286,"41":0.00143,"48":0.00286,"49":0.00143,"56":0.00286,"57":0.00143,"62":0.00143,"64":0.00143,"67":0.00143,"72":0.00429,"79":0.00143,"90":0.00143,"94":0.00286,"95":0.00143,"102":0.00143,"103":0.00143,"106":0.00143,"108":0.01572,"112":0.00143,"115":0.14719,"118":0.00143,"123":0.00143,"124":0.00143,"125":0.0343,"127":0.00857,"128":0.02001,"130":0.00429,"131":0.02001,"132":0.35011,"133":0.04001,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 47 50 51 52 53 54 55 58 59 60 61 63 65 66 68 69 70 71 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 91 92 93 96 97 98 99 100 101 104 105 107 109 110 111 113 114 116 117 119 120 121 122 126 129 134 135 136 3.5 3.6"},D:{"26":0.00143,"34":0.00143,"36":0.00286,"39":0.00429,"40":0.00286,"42":0.00143,"43":0.00143,"44":0.00143,"45":0.00143,"46":0.00429,"47":0.00143,"49":0.00143,"50":0.00572,"51":0.00143,"52":0.00143,"54":0.00286,"55":0.00143,"56":0.00143,"57":0.00143,"58":0.00143,"60":0.00143,"61":0.00143,"62":0.02715,"63":0.00429,"64":0.00143,"65":0.00143,"67":0.00143,"68":0.00143,"69":0.00572,"70":0.01,"71":0.01286,"72":0.00715,"73":0.00572,"74":0.00286,"75":0.00286,"76":0.00143,"77":0.00143,"78":0.04573,"79":0.03001,"80":0.00572,"81":0.02572,"83":0.00715,"84":0.00857,"85":0.00143,"86":0.01429,"87":0.01715,"88":0.00143,"89":0.00572,"90":0.00143,"91":0.00429,"92":0.01,"93":0.00286,"94":0.00715,"95":0.00429,"96":0.00429,"97":0.00286,"99":0.00286,"100":0.00286,"102":0.00429,"103":0.01286,"104":0.00429,"105":0.01429,"106":0.00715,"107":0.01858,"108":0.01858,"109":1.44329,"110":0.00857,"111":0.00857,"112":0.00429,"113":0.00286,"114":0.00857,"115":0.02429,"116":0.00857,"117":0.00715,"118":0.02001,"119":0.01858,"120":0.02286,"121":0.01572,"122":0.02144,"123":0.00715,"124":0.01572,"125":0.02144,"126":0.03001,"127":0.02572,"128":0.08288,"129":0.17148,"130":3.16952,"131":2.12207,"132":0.00429,"133":0.00143,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 37 38 41 48 53 59 66 98 101 134"},F:{"64":0.00143,"73":0.00143,"79":0.02858,"81":0.00143,"85":0.00572,"95":0.03144,"107":0.00143,"112":0.00286,"113":0.00286,"114":0.28723,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 74 75 76 77 78 80 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00429,"13":0.00286,"14":0.01143,"15":0.00286,"16":0.01858,"17":0.00286,"18":0.04859,"81":0.00143,"83":0.00143,"84":0.01143,"88":0.00143,"89":0.01,"90":0.02001,"92":0.14719,"100":0.0343,"107":0.00143,"109":0.05859,"114":0.00286,"115":0.00143,"117":0.00143,"119":0.00143,"120":0.00143,"121":0.00143,"122":0.00857,"123":0.00143,"124":0.00429,"125":0.00429,"126":0.00715,"127":0.00715,"128":0.01858,"129":0.03858,"130":0.69164,"131":0.43013,_:"79 80 85 86 87 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111 112 113 116 118"},E:{"10":0.00143,"12":0.00143,"13":0.00143,"14":0.00143,_:"0 4 5 6 7 8 9 11 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.00286,"14.1":0.00143,"15.1":0.00429,"15.2-15.3":0.00429,"15.4":0.00286,"15.5":0.01,"15.6":0.05573,"16.0":0.00143,"16.1":0.02001,"16.2":0.01858,"16.3":0.0343,"16.4":0.01143,"16.5":0.02286,"16.6":0.11289,"17.0":0.00857,"17.1":0.02429,"17.2":0.03287,"17.3":0.02858,"17.4":0.16434,"17.5":0.16291,"17.6":0.51587,"18.0":0.29009,"18.1":0.26865,"18.2":0.01858},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00079,"5.0-5.1":0,"6.0-6.1":0.00314,"7.0-7.1":0.00393,"8.1-8.4":0,"9.0-9.2":0.00314,"9.3":0.01099,"10.0-10.2":0.00236,"10.3":0.01806,"11.0-11.2":0.21198,"11.3-11.4":0.0055,"12.0-12.1":0.00314,"12.2-12.5":0.08244,"13.0-13.1":0.00157,"13.2":0.0212,"13.3":0.00314,"13.4-13.7":0.01178,"14.0-14.4":0.02591,"14.5-14.8":0.0369,"15.0-15.1":0.0212,"15.2-15.3":0.01963,"15.4":0.02355,"15.5":0.02748,"15.6-15.8":0.29441,"16.0":0.05574,"16.1":0.11777,"16.2":0.05967,"16.3":0.10128,"16.4":0.02041,"16.5":0.04083,"16.6-16.7":0.38627,"17.0":0.02826,"17.1":0.04711,"17.2":0.03926,"17.3":0.05967,"17.4":0.12797,"17.5":0.38235,"17.6-17.7":3.30293,"18.0":1.17137,"18.1":1.02927,"18.2":0.04161},P:{"4":0.15187,"20":0.01012,"21":0.02025,"22":0.05062,"23":0.05062,"24":0.12149,"25":0.11137,"26":0.58722,"27":0.21261,"5.0-5.4":0.03037,"6.2-6.4":0.03037,"7.2-7.4":0.081,"8.2":0.01012,"9.2":0.03037,_:"10.1 12.0 15.0","11.1-11.2":0.03037,"13.0":0.01012,"14.0":0.01012,"16.0":0.03037,"17.0":0.01012,"18.0":0.01012,"19.0":0.02025},I:{"0":0.12828,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00017},A:{"9":0.00572,"11":0.1529,_:"6 7 8 10 5.5"},K:{"0":0.31855,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.49712},H:{"0":0.05},L:{"0":76.96394},R:{_:"0"},M:{"0":0.03428}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AG.js deleted file mode 100644 index 540a422c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00669,"89":0.00334,"115":0.01672,"121":0.03009,"122":0.00334,"123":0.01003,"124":0.00334,"128":0.00334,"130":0.00669,"131":0.07689,"132":0.62848,"133":0.05349,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 125 126 127 129 134 135 136 3.5 3.6"},D:{"69":0.00334,"70":0.02006,"73":0.01337,"74":0.00669,"76":0.00334,"79":0.02006,"87":0.00334,"88":0.13706,"89":0.00334,"90":0.00334,"91":0.0702,"92":0.00334,"93":0.01003,"94":0.01003,"97":0.00334,"100":0.01003,"101":0.00334,"102":0.00334,"103":0.06017,"105":0.01337,"108":0.00334,"109":0.79563,"110":0.0234,"111":0.00334,"114":0.01003,"115":0.00669,"116":0.12035,"118":0.03009,"119":0.01003,"120":0.00669,"121":0.03009,"122":0.05015,"124":0.11701,"125":0.01337,"126":0.12369,"127":0.05015,"128":0.11366,"129":0.68866,"130":9.53089,"131":6.02409,"132":0.06017,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 71 72 75 77 78 80 81 83 84 85 86 95 96 98 99 104 106 107 112 113 117 123 133 134"},F:{"85":0.01003,"102":0.01337,"113":0.0234,"114":0.48808,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.01337,"17":0.00334,"18":0.01003,"105":0.00334,"109":0.00334,"114":0.00334,"115":0.00334,"119":0.00334,"121":0.00334,"122":0.00334,"127":0.00669,"128":0.02006,"129":0.10698,"130":3.69736,"131":2.77803,_:"12 13 15 16 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 110 111 112 113 116 117 118 120 123 124 125 126"},E:{"13":0.00334,"14":0.01672,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1","13.1":0.01337,"14.1":0.02006,"15.2-15.3":0.00669,"15.4":0.00334,"15.5":0.00334,"15.6":0.14709,"16.0":0.04012,"16.1":0.01672,"16.2":0.01672,"16.3":0.04012,"16.4":0.01003,"16.5":0.06017,"16.6":0.32093,"17.0":0.00334,"17.1":0.0234,"17.2":0.06017,"17.3":0.03343,"17.4":0.15378,"17.5":0.31424,"17.6":1.70159,"18.0":0.42456,"18.1":0.35436,"18.2":0.01337},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00225,"5.0-5.1":0,"6.0-6.1":0.00899,"7.0-7.1":0.01124,"8.1-8.4":0,"9.0-9.2":0.00899,"9.3":0.03148,"10.0-10.2":0.00675,"10.3":0.05172,"11.0-11.2":0.60716,"11.3-11.4":0.01574,"12.0-12.1":0.00899,"12.2-12.5":0.23612,"13.0-13.1":0.0045,"13.2":0.06072,"13.3":0.00899,"13.4-13.7":0.03373,"14.0-14.4":0.07421,"14.5-14.8":0.10569,"15.0-15.1":0.06072,"15.2-15.3":0.05622,"15.4":0.06746,"15.5":0.07871,"15.6-15.8":0.84328,"16.0":0.15966,"16.1":0.33731,"16.2":0.1709,"16.3":0.29009,"16.4":0.05847,"16.5":0.11693,"16.6-16.7":1.10638,"17.0":0.08095,"17.1":0.13492,"17.2":0.11244,"17.3":0.1709,"17.4":0.36654,"17.5":1.09513,"17.6-17.7":9.46043,"18.0":3.35511,"18.1":2.94809,"18.2":0.11918},P:{"4":0.04391,"21":0.01098,"22":0.08781,"23":0.04391,"24":0.04391,"25":0.06586,"26":2.82104,"27":2.30513,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 13.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.02195,"7.2-7.4":0.10977,"12.0":0.01098},I:{"0":0.01993,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.07355,_:"6 7 8 9 10 5.5"},K:{"0":0.11317,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.06657},H:{"0":0},L:{"0":40.4084},R:{_:"0"},M:{"0":0.10651}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AI.js deleted file mode 100644 index 51255247..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.01435,"122":0.01076,"127":0.01435,"129":0.01435,"130":0.01794,"131":0.12196,"132":0.20087,"133":0.07533,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 123 124 125 126 128 134 135 136 3.5 3.6"},D:{"79":0.04304,"94":0.00359,"100":0.01794,"103":0.18652,"104":0.00359,"109":0.31566,"114":0.00359,"116":0.05381,"122":0.00717,"123":0.00359,"124":0.03946,"125":0.01794,"126":0.09685,"127":0.00717,"128":0.11478,"129":0.45914,"130":6.43508,"131":4.94289,"133":0.00717,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 101 102 105 106 107 108 110 111 112 113 115 117 118 119 120 121 132 134"},F:{"114":0.05022,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00359,"18":0.05739,"92":0.01435,"100":0.01794,"109":0.01435,"122":0.00359,"127":0.02511,"128":0.02511,"129":0.47707,"130":1.96568,"131":1.63567,_:"13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 123 124 125 126"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.4","13.1":0.36587,"14.1":0.01076,"15.1":0.04304,"15.2-15.3":0.00717,"15.5":0.01794,"15.6":0.47707,"16.0":0.01076,"16.1":0.23674,"16.2":0.25109,"16.3":0.12913,"16.4":0.09685,"16.5":0.20087,"16.6":1.5173,"17.0":0.02511,"17.1":0.23674,"17.2":0.17935,"17.3":0.31207,"17.4":0.48783,"17.5":1.1586,"17.6":9.17913,"18.0":0.49142,"18.1":0.69947,"18.2":0.01794},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00452,"5.0-5.1":0,"6.0-6.1":0.01807,"7.0-7.1":0.02259,"8.1-8.4":0,"9.0-9.2":0.01807,"9.3":0.06325,"10.0-10.2":0.01355,"10.3":0.10391,"11.0-11.2":1.21985,"11.3-11.4":0.03163,"12.0-12.1":0.01807,"12.2-12.5":0.47439,"13.0-13.1":0.00904,"13.2":0.12198,"13.3":0.01807,"13.4-13.7":0.06777,"14.0-14.4":0.14909,"14.5-14.8":0.21234,"15.0-15.1":0.12198,"15.2-15.3":0.11295,"15.4":0.13554,"15.5":0.15813,"15.6-15.8":1.69423,"16.0":0.32078,"16.1":0.67769,"16.2":0.34336,"16.3":0.58282,"16.4":0.11747,"16.5":0.23493,"16.6-16.7":2.22284,"17.0":0.16265,"17.1":0.27108,"17.2":0.2259,"17.3":0.34336,"17.4":0.73643,"17.5":2.20025,"17.6-17.7":19.00705,"18.0":6.74079,"18.1":5.92304,"18.2":0.23945},P:{"24":0.02141,"25":0.03212,"26":1.32772,"27":0.63174,_:"4 20 21 22 23 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.04283,"17.0":0.34264},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.02565,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.08337},O:{_:"0"},H:{"0":0},L:{"0":17.18164},R:{_:"0"},M:{"0":0.08978}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AL.js deleted file mode 100644 index ccd7ca3a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"2":0.00172,"3":0.00172,"4":0.00172,"34":0.00172,"35":0.00172,"36":0.00172,"38":0.00172,"39":0.00172,"40":0.00172,"41":0.00172,"44":0.00172,"52":0.00517,"91":0.00345,"103":0.00172,"108":0.00172,"109":0.00172,"115":0.13102,"119":0.00172,"120":0.00172,"122":0.00345,"123":0.00862,"125":0.01724,"126":0.00172,"127":0.00172,"128":0.00517,"130":0.00862,"131":0.03276,"132":0.55513,"133":0.04827,_:"5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 37 42 43 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 110 111 112 113 114 116 117 118 121 124 129 134 135 136","3.5":0.00172,"3.6":0.00345},D:{"11":0.00172,"21":0.00172,"36":0.00172,"37":0.00172,"38":0.00172,"39":0.00172,"40":0.00172,"41":0.00345,"42":0.00172,"43":0.00517,"44":0.00862,"45":0.00345,"46":0.00517,"47":0.0362,"48":0.00172,"49":0.00345,"50":0.00172,"51":0.00862,"52":0.00172,"53":0.00172,"54":0.00172,"55":0.00172,"56":0.00172,"58":0.00172,"63":0.00172,"65":0.00172,"66":0.00172,"68":0.00172,"69":0.00172,"70":0.00345,"71":0.00172,"72":0.00172,"73":0.00517,"75":0.00862,"76":0.00172,"79":0.05172,"81":0.00172,"83":0.01379,"86":0.00517,"87":0.01379,"88":0.00345,"89":0.00172,"90":0.00345,"91":0.00172,"92":0.00172,"93":0.00345,"94":0.01379,"95":0.00172,"96":0.00172,"98":0.00345,"99":0.00172,"100":0.00172,"102":0.00172,"103":0.01034,"104":0.00517,"106":0.00345,"107":0.00172,"108":0.00345,"109":1.08957,"110":0.00172,"111":0.00517,"112":0.01207,"113":0.00172,"114":0.00517,"115":0.00345,"116":0.0862,"117":0.00172,"118":0.00172,"119":0.01034,"120":0.01207,"121":0.00862,"122":0.04138,"123":0.04138,"124":0.11723,"125":0.02931,"126":0.02414,"127":0.06379,"128":0.06206,"129":0.37928,"130":4.56515,"131":2.57393,"132":0.00345,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 57 59 60 61 62 64 67 74 77 78 80 84 85 97 101 105 133 134"},F:{"31":0.00172,"40":0.00172,"46":0.0069,"69":0.00172,"85":0.00517,"86":0.00172,"95":0.01034,"96":0.00345,"112":0.00345,"113":0.02586,"114":0.28963,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00172},B:{"12":0.00172,"16":0.00172,"92":0.00345,"100":0.00172,"103":0.01379,"109":0.0069,"114":0.00172,"120":0.01034,"121":0.01207,"122":0.00172,"125":0.00172,"126":0.01379,"127":0.00172,"128":0.00517,"129":0.01724,"130":0.63098,"131":0.4741,_:"13 14 15 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 104 105 106 107 108 110 111 112 113 115 116 117 118 119 123 124"},E:{"7":0.00172,"8":0.00172,"9":0.01207,"14":0.00862,_:"0 4 5 6 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1","5.1":0.00172,"12.1":0.00345,"13.1":0.03276,"14.1":0.02069,"15.1":0.00345,"15.2-15.3":0.00345,"15.4":0.11896,"15.5":0.01552,"15.6":0.2224,"16.0":0.00517,"16.1":0.02586,"16.2":0.00862,"16.3":0.11551,"16.4":0.01896,"16.5":0.02586,"16.6":0.16206,"17.0":0.06379,"17.1":0.01896,"17.2":0.04827,"17.3":0.03448,"17.4":0.11378,"17.5":0.66029,"17.6":1.9757,"18.0":0.3379,"18.1":0.47065,"18.2":0.01207},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0048,"5.0-5.1":0,"6.0-6.1":0.0192,"7.0-7.1":0.024,"8.1-8.4":0,"9.0-9.2":0.0192,"9.3":0.06719,"10.0-10.2":0.0144,"10.3":0.11038,"11.0-11.2":1.2958,"11.3-11.4":0.03359,"12.0-12.1":0.0192,"12.2-12.5":0.50392,"13.0-13.1":0.0096,"13.2":0.12958,"13.3":0.0192,"13.4-13.7":0.07199,"14.0-14.4":0.15838,"14.5-14.8":0.22556,"15.0-15.1":0.12958,"15.2-15.3":0.11998,"15.4":0.14398,"15.5":0.16797,"15.6-15.8":1.79972,"16.0":0.34075,"16.1":0.71989,"16.2":0.36474,"16.3":0.6191,"16.4":0.12478,"16.5":0.24956,"16.6-16.7":2.36123,"17.0":0.17277,"17.1":0.28796,"17.2":0.23996,"17.3":0.36474,"17.4":0.78228,"17.5":2.33724,"17.6-17.7":20.19045,"18.0":7.16048,"18.1":6.29182,"18.2":0.25436},P:{"4":0.13173,"20":0.05066,"21":0.0304,"22":0.05066,"23":0.10133,"24":0.16213,"25":0.05066,"26":1.82393,"27":1.07409,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0 18.0","6.2-6.4":0.05066,"7.2-7.4":0.04053,"13.0":0.01013,"14.0":0.0304,"16.0":0.0304,"17.0":0.01013,"19.0":0.01013},I:{"0":0.06606,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"6":0.00172,"7":0.00345,"8":0.03448,"9":0.00862,"10":0.00517,"11":0.02241,_:"5.5"},K:{"0":0.13242,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0331},H:{"0":0},L:{"0":30.94288},R:{_:"0"},M:{"0":0.24}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AM.js deleted file mode 100644 index 67e28bf1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":42.05505,"56":0.0067,"77":0.0067,"113":0.0067,"115":0.24127,"122":0.0067,"125":0.0067,"126":0.0067,"128":0.0134,"129":0.0067,"130":0.0067,"131":0.10053,"132":0.85115,"133":0.05362,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 120 121 123 124 127 134 135 136 3.5 3.6"},D:{"51":0.02011,"57":0.0067,"58":0.10723,"79":0.0067,"80":0.0134,"81":0.0067,"87":0.0134,"89":0.0067,"90":0.0134,"94":0.0134,"97":0.02681,"98":0.0067,"100":0.0067,"101":0.0067,"102":0.0067,"103":0.0134,"105":0.0067,"106":0.0067,"107":0.0067,"108":0.02011,"109":2.07092,"110":0.0134,"111":0.0134,"112":0.0067,"113":0.06702,"114":0.0067,"116":0.16085,"117":0.02011,"118":0.02681,"119":0.02011,"120":0.04021,"121":0.02011,"122":0.03351,"123":0.04021,"124":0.16085,"125":0.05362,"126":0.04691,"127":0.12734,"128":0.14744,"129":0.41552,"130":9.02759,"131":5.96478,"132":0.02681,"133":0.0067,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 52 53 54 55 56 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 83 84 85 86 88 91 92 93 95 96 99 104 115 134"},F:{"36":0.02681,"74":0.0067,"79":0.0067,"83":0.0067,"85":0.02681,"86":0.0067,"95":0.05362,"113":0.02681,"114":0.61658,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 80 81 82 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.0067,"92":0.0067,"109":0.05362,"121":0.0067,"124":0.0067,"126":0.0067,"127":0.0067,"128":0.0067,"129":0.02681,"130":0.77073,"131":0.60318,_:"12 13 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 122 123 125"},E:{"14":0.0134,"15":0.0067,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3","13.1":0.0134,"14.1":0.0067,"15.4":0.0067,"15.5":0.0067,"15.6":0.04021,"16.0":0.0067,"16.1":0.0067,"16.2":0.0067,"16.3":0.0134,"16.4":0.0067,"16.5":0.0067,"16.6":0.08042,"17.0":0.02011,"17.1":0.0134,"17.2":0.0067,"17.3":0.02681,"17.4":0.04021,"17.5":0.05362,"17.6":0.16755,"18.0":0.18766,"18.1":0.41552,"18.2":0.02011},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00092,"5.0-5.1":0,"6.0-6.1":0.00368,"7.0-7.1":0.0046,"8.1-8.4":0,"9.0-9.2":0.00368,"9.3":0.01289,"10.0-10.2":0.00276,"10.3":0.02117,"11.0-11.2":0.24854,"11.3-11.4":0.00644,"12.0-12.1":0.00368,"12.2-12.5":0.09665,"13.0-13.1":0.00184,"13.2":0.02485,"13.3":0.00368,"13.4-13.7":0.01381,"14.0-14.4":0.03038,"14.5-14.8":0.04326,"15.0-15.1":0.02485,"15.2-15.3":0.02301,"15.4":0.02762,"15.5":0.03222,"15.6-15.8":0.3452,"16.0":0.06536,"16.1":0.13808,"16.2":0.06996,"16.3":0.11875,"16.4":0.02393,"16.5":0.04787,"16.6-16.7":0.4529,"17.0":0.03314,"17.1":0.05523,"17.2":0.04603,"17.3":0.06996,"17.4":0.15005,"17.5":0.44829,"17.6-17.7":3.87264,"18.0":1.37342,"18.1":1.2068,"18.2":0.04879},P:{"20":0.0104,"21":0.0104,"22":0.04159,"23":0.03119,"24":0.03119,"25":0.04159,"26":0.51991,"27":0.44712,_:"4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","5.0-5.4":0.0104,"7.2-7.4":0.06239,"19.0":0.0104},I:{"0":0.02961,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.00705,"11":0.12699,_:"6 7 9 10 5.5"},K:{"0":0.35245,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0033},O:{"0":0.14837},H:{"0":0.03},L:{"0":21.84294},R:{_:"0"},M:{"0":0.17474}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AO.js deleted file mode 100644 index 6485d44a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00596,"78":0.00298,"88":0.00298,"89":0.00298,"112":0.00298,"115":0.05069,"124":0.00596,"125":0.00298,"128":0.01193,"129":0.00298,"131":0.00596,"132":0.22961,"133":0.02386,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 113 114 116 117 118 119 120 121 122 123 126 127 130 134 135 136 3.5 3.6"},D:{"11":0.00596,"42":0.00596,"43":0.00298,"44":0.00298,"46":0.00298,"54":0.00298,"55":0.00298,"64":0.00298,"69":0.00298,"70":0.00298,"73":0.01491,"75":0.00298,"76":0.00895,"77":0.00298,"78":0.00298,"79":0.00596,"80":0.00298,"81":0.01789,"83":0.00895,"86":0.01491,"87":0.04473,"88":0.01193,"89":0.00596,"90":0.00298,"91":0.00298,"92":0.00298,"93":0.00298,"94":0.00298,"95":0.01491,"97":0.00298,"98":0.01193,"99":0.01491,"100":0.00298,"101":0.00596,"102":0.00596,"103":0.01491,"104":0.00298,"105":0.00596,"106":0.01491,"107":0.00298,"108":0.00298,"109":1.02879,"110":0.01193,"111":0.02087,"113":0.00596,"114":0.02982,"115":0.00298,"116":0.0656,"117":0.00298,"118":0.02386,"119":0.02087,"120":0.0328,"121":0.00596,"122":0.01789,"123":0.01789,"124":0.02386,"125":0.01491,"126":0.0328,"127":0.05368,"128":0.12524,"129":0.15506,"130":3.51876,"131":2.25439,"132":0.00895,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 45 47 48 49 50 51 52 53 56 57 58 59 60 61 62 63 65 66 67 68 71 72 74 84 85 96 112 133 134"},F:{"36":0.00298,"70":0.00596,"79":0.02684,"85":0.00298,"91":0.00298,"95":0.0656,"111":0.00298,"112":0.00298,"113":0.00895,"114":0.4801,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00298,"13":0.00596,"14":0.00298,"15":0.00298,"17":0.00298,"18":0.01193,"84":0.01491,"88":0.00298,"89":0.00596,"90":0.02386,"92":0.04473,"100":0.00596,"102":0.00298,"105":0.00298,"106":0.00298,"109":0.05666,"114":0.01193,"117":0.00298,"118":0.00298,"119":0.00298,"120":0.00596,"121":0.02087,"122":0.00895,"123":0.00298,"124":0.00895,"125":0.02386,"126":0.03877,"127":0.02982,"128":0.04175,"129":0.11332,"130":1.54468,"131":1.08545,_:"16 79 80 81 83 85 86 87 91 93 94 95 96 97 98 99 101 103 104 107 108 110 111 112 113 115 116"},E:{"12":0.00298,"14":0.00895,_:"0 4 5 6 7 8 9 10 11 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.3 16.4 16.5 17.0 17.1 17.2 18.2","13.1":0.02684,"14.1":0.01193,"15.6":0.08051,"16.2":0.00298,"16.6":0.02087,"17.3":0.00298,"17.4":0.00298,"17.5":0.01193,"17.6":0.02684,"18.0":0.00596,"18.1":0.00895},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00095,"5.0-5.1":0,"6.0-6.1":0.00381,"7.0-7.1":0.00476,"8.1-8.4":0,"9.0-9.2":0.00381,"9.3":0.01333,"10.0-10.2":0.00286,"10.3":0.0219,"11.0-11.2":0.25713,"11.3-11.4":0.00667,"12.0-12.1":0.00381,"12.2-12.5":0.1,"13.0-13.1":0.0019,"13.2":0.02571,"13.3":0.00381,"13.4-13.7":0.01429,"14.0-14.4":0.03143,"14.5-14.8":0.04476,"15.0-15.1":0.02571,"15.2-15.3":0.02381,"15.4":0.02857,"15.5":0.03333,"15.6-15.8":0.35713,"16.0":0.06762,"16.1":0.14285,"16.2":0.07238,"16.3":0.12285,"16.4":0.02476,"16.5":0.04952,"16.6-16.7":0.46855,"17.0":0.03428,"17.1":0.05714,"17.2":0.04762,"17.3":0.07238,"17.4":0.15523,"17.5":0.46379,"17.6-17.7":4.00651,"18.0":1.4209,"18.1":1.24852,"18.2":0.05047},P:{"4":0.12774,"20":0.01065,"21":0.03194,"22":0.02129,"23":0.04258,"24":0.02129,"25":0.07452,"26":0.27678,"27":0.08516,"5.0-5.4":0.01065,_:"6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0","7.2-7.4":0.12774,"13.0":0.01065,"14.0":0.01065,"15.0":0.01065,"16.0":0.03194,"17.0":0.03194,"18.0":0.01065,"19.0":0.01065},I:{"0":0.01401,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.21967,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.08422,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0772},H:{"0":0.04},L:{"0":76.67605},R:{_:"0"},M:{"0":0.09123}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AR.js deleted file mode 100644 index 3e7a4e38..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.01584,"59":0.01981,"72":0.00396,"78":0.00396,"80":0.00792,"81":0.00396,"82":0.00396,"84":0.00396,"86":0.00396,"88":0.03565,"91":0.03565,"94":0.00396,"99":0.00396,"101":0.00396,"102":0.00396,"103":0.02377,"106":0.00396,"107":0.00396,"108":0.00396,"109":0.00396,"113":0.00792,"114":0.00396,"115":0.3961,"118":0.00396,"119":0.00396,"120":0.03169,"122":0.00396,"123":0.00396,"124":0.00396,"125":0.01188,"126":0.00792,"127":0.01188,"128":0.02377,"129":0.00396,"130":0.00792,"131":0.06734,"132":1.05759,"133":0.10695,"134":0.00396,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 83 85 87 89 90 92 93 95 96 97 98 100 104 105 110 111 112 116 117 121 135 136 3.5 3.6"},D:{"34":0.00396,"38":0.00792,"47":0.00396,"49":0.02773,"55":0.00396,"56":0.00396,"65":0.00396,"66":0.03565,"70":0.00396,"75":0.00396,"76":0.00396,"78":0.00396,"79":0.02377,"80":0.00396,"81":0.01188,"83":0.00396,"84":0.00396,"85":0.00396,"86":0.00396,"87":0.01981,"88":0.03169,"89":0.00396,"90":0.00396,"91":0.01188,"92":0.00396,"93":0.00396,"94":0.02377,"95":0.00792,"96":0.00396,"97":0.00396,"98":0.00396,"99":0.00396,"100":0.00792,"101":0.00792,"102":0.00792,"103":0.04357,"104":0.00792,"105":0.00396,"106":0.01584,"107":0.01188,"108":0.01584,"109":3.2599,"110":0.01584,"111":0.00792,"112":0.00792,"113":0.00792,"114":0.00792,"115":0.00792,"116":0.06734,"117":0.00792,"118":0.00792,"119":0.05149,"120":0.05545,"121":0.0911,"122":0.08318,"123":0.04753,"124":0.09903,"125":0.08318,"126":0.08714,"127":0.09903,"128":0.19013,"129":0.59019,"130":15.06368,"131":10.15997,"132":0.00396,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 57 58 59 60 61 62 63 64 67 68 69 71 72 73 74 77 133 134"},F:{"36":0.00396,"85":0.00396,"95":0.04753,"102":0.00396,"112":0.00396,"113":0.13864,"114":1.60817,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00396,"92":0.00792,"109":0.03961,"113":0.00396,"114":0.00396,"115":0.00396,"116":0.00396,"117":0.00396,"119":0.00396,"120":0.00396,"121":0.00396,"122":0.00396,"124":0.00792,"125":0.00396,"126":0.01188,"127":0.00792,"128":0.01584,"129":0.05545,"130":1.63589,"131":1.16057,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 118 123"},E:{"14":0.00792,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.1","11.1":0.00792,"12.1":0.00396,"13.1":0.00792,"14.1":0.01188,"15.2-15.3":0.00396,"15.4":0.00396,"15.5":0.00396,"15.6":0.04753,"16.0":0.00396,"16.1":0.00792,"16.2":0.00792,"16.3":0.01188,"16.4":0.00396,"16.5":0.00792,"16.6":0.05545,"17.0":0.00396,"17.1":0.00792,"17.2":0.01188,"17.3":0.00792,"17.4":0.01981,"17.5":0.05149,"17.6":0.18221,"18.0":0.08318,"18.1":0.11883,"18.2":0.00396},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00055,"5.0-5.1":0,"6.0-6.1":0.00219,"7.0-7.1":0.00274,"8.1-8.4":0,"9.0-9.2":0.00219,"9.3":0.00767,"10.0-10.2":0.00164,"10.3":0.0126,"11.0-11.2":0.14789,"11.3-11.4":0.00383,"12.0-12.1":0.00219,"12.2-12.5":0.05751,"13.0-13.1":0.0011,"13.2":0.01479,"13.3":0.00219,"13.4-13.7":0.00822,"14.0-14.4":0.01808,"14.5-14.8":0.02574,"15.0-15.1":0.01479,"15.2-15.3":0.01369,"15.4":0.01643,"15.5":0.01917,"15.6-15.8":0.2054,"16.0":0.03889,"16.1":0.08216,"16.2":0.04163,"16.3":0.07066,"16.4":0.01424,"16.5":0.02848,"16.6-16.7":0.26949,"17.0":0.01972,"17.1":0.03286,"17.2":0.02739,"17.3":0.04163,"17.4":0.08928,"17.5":0.26675,"17.6-17.7":2.30433,"18.0":0.81722,"18.1":0.71808,"18.2":0.02903},P:{"4":0.09115,"20":0.01013,"21":0.03038,"22":0.04051,"23":0.03038,"24":0.05064,"25":0.05064,"26":1.21535,"27":1.14445,_:"5.0-5.4 8.2 9.2 10.1 12.0 14.0 15.0","6.2-6.4":0.01013,"7.2-7.4":0.12153,"11.1-11.2":0.01013,"13.0":0.01013,"16.0":0.02026,"17.0":0.06077,"18.0":0.01013,"19.0":0.01013},I:{"0":0.0241,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.00468,"11":0.04681,_:"6 7 9 10 5.5"},K:{"0":0.13286,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02416},H:{"0":0},L:{"0":52.87616},R:{_:"0"},M:{"0":0.15098}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AS.js deleted file mode 100644 index 5ce60ed7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.0034,"116":0.0034,"127":0.0034,"131":0.01019,"132":0.03395,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 117 118 119 120 121 122 123 124 125 126 128 129 130 133 134 135 136 3.5 3.6"},D:{"70":0.0034,"74":0.0034,"76":0.0034,"79":0.01358,"93":0.01019,"94":0.0034,"100":0.01019,"103":0.01019,"109":0.01358,"110":0.0034,"111":0.00679,"113":0.0034,"116":0.02716,"119":0.0034,"121":0.0034,"122":0.0034,"124":0.0034,"127":0.01698,"128":0.03735,"129":0.59413,"130":0.87591,"131":0.14938,"132":0.0034,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 75 77 78 80 81 83 84 85 86 87 88 89 90 91 92 95 96 97 98 99 101 102 104 105 106 107 108 112 114 115 117 118 120 123 125 126 133 134"},F:{"113":0.0034,"114":0.04414,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"128":0.0034,"129":0.0034,"130":0.12901,"131":0.09167,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127"},E:{"14":0.0034,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1","14.1":0.10525,"15.1":0.0679,"15.2-15.3":0.04074,"15.4":0.16296,"15.5":0.11883,"15.6":1.38516,"16.0":0.00679,"16.1":0.40401,"16.2":0.16975,"16.3":0.37006,"16.4":0.06111,"16.5":0.49228,"16.6":2.54965,"17.0":0.17315,"17.1":0.07469,"17.2":0.16975,"17.3":0.35648,"17.4":0.51265,"17.5":1.88762,"17.6":13.58679,"18.0":2.14225,"18.1":3.3305,"18.2":0.05772},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00642,"5.0-5.1":0,"6.0-6.1":0.02566,"7.0-7.1":0.03208,"8.1-8.4":0,"9.0-9.2":0.02566,"9.3":0.08982,"10.0-10.2":0.01925,"10.3":0.14756,"11.0-11.2":1.73226,"11.3-11.4":0.04491,"12.0-12.1":0.02566,"12.2-12.5":0.67366,"13.0-13.1":0.01283,"13.2":0.17323,"13.3":0.02566,"13.4-13.7":0.09624,"14.0-14.4":0.21172,"14.5-14.8":0.30154,"15.0-15.1":0.17323,"15.2-15.3":0.16039,"15.4":0.19247,"15.5":0.22455,"15.6-15.8":2.40592,"16.0":0.45552,"16.1":0.96237,"16.2":0.4876,"16.3":0.82764,"16.4":0.16681,"16.5":0.33362,"16.6-16.7":3.15657,"17.0":0.23097,"17.1":0.38495,"17.2":0.32079,"17.3":0.4876,"17.4":1.04577,"17.5":3.12449,"17.6-17.7":26.99121,"18.0":9.57235,"18.1":8.4111,"18.2":0.34004},P:{"26":0.10104,"27":0.01123,_:"4 20 21 22 23 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.0066,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.03302},H:{"0":0},L:{"0":2.03617},R:{_:"0"},M:{"0":0.0066}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AT.js deleted file mode 100644 index 9230fac8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.01077,"52":0.02694,"53":0.00539,"60":0.02694,"72":0.00539,"78":0.04848,"88":0.00539,"91":0.00539,"92":0.00539,"94":0.01077,"96":0.02694,"99":0.00539,"102":0.00539,"104":0.00539,"107":0.00539,"109":0.00539,"110":0.00539,"112":0.00539,"113":0.00539,"115":0.61951,"116":0.00539,"117":0.08619,"118":0.00539,"121":0.00539,"122":0.00539,"123":0.00539,"124":0.00539,"125":0.01077,"126":0.02155,"127":0.03232,"128":0.47944,"129":0.02155,"130":0.07003,"131":0.39325,"132":5.29542,"133":0.51715,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 93 95 97 98 100 101 103 105 106 108 111 114 119 120 134 135 136 3.5 3.6"},D:{"32":0.00539,"38":0.00539,"42":0.01616,"44":0.00539,"49":0.01616,"51":0.00539,"53":0.00539,"58":0.01077,"69":0.01616,"70":0.00539,"79":0.08619,"80":0.02155,"83":0.00539,"84":0.00539,"87":0.0431,"88":0.00539,"89":0.05387,"90":0.00539,"92":0.00539,"94":0.01077,"95":0.00539,"96":0.00539,"102":0.00539,"103":0.06464,"104":0.00539,"106":0.01077,"107":0.01077,"108":0.03232,"109":0.63567,"110":0.00539,"111":0.01077,"112":0.00539,"113":0.10235,"114":0.11313,"115":0.01616,"116":0.11313,"117":0.00539,"118":0.06464,"119":0.01616,"120":0.02694,"121":0.02694,"122":0.09158,"123":0.04848,"124":0.16161,"125":3.57697,"126":0.85115,"127":0.77034,"128":0.40403,"129":0.84037,"130":12.91264,"131":6.64756,"132":0.00539,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 39 40 41 43 45 46 47 48 50 52 54 55 56 57 59 60 61 62 63 64 65 66 67 68 71 72 73 74 75 76 77 78 81 85 86 91 93 97 98 99 100 101 105 133 134"},F:{"46":0.01077,"78":0.03232,"79":0.00539,"85":0.03232,"95":0.04848,"102":0.00539,"107":0.00539,"112":0.00539,"113":0.22625,"114":2.77969,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00539,"92":0.01077,"108":0.00539,"109":0.14006,"110":0.00539,"111":0.00539,"113":0.00539,"114":0.00539,"115":0.00539,"116":0.00539,"117":0.00539,"119":0.00539,"120":0.01077,"121":0.01077,"122":0.01077,"123":0.00539,"124":0.01616,"125":0.03771,"126":0.0431,"127":0.02694,"128":0.11851,"129":0.21009,"130":5.00991,"131":3.41536,_:"12 13 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 112 118"},E:{"9":0.00539,"13":0.00539,"14":0.02155,"15":0.02155,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00539,"12.1":0.01616,"13.1":0.05387,"14.1":0.07003,"15.1":0.01077,"15.2-15.3":0.00539,"15.4":0.01616,"15.5":0.03771,"15.6":0.26935,"16.0":0.05387,"16.1":0.03232,"16.2":0.0431,"16.3":0.08081,"16.4":0.05926,"16.5":0.06464,"16.6":0.33938,"17.0":0.02155,"17.1":0.0431,"17.2":0.08081,"17.3":0.07003,"17.4":0.1239,"17.5":0.32322,"17.6":1.28749,"18.0":0.62489,"18.1":0.83499,"18.2":0.02155},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00179,"5.0-5.1":0,"6.0-6.1":0.00714,"7.0-7.1":0.00893,"8.1-8.4":0,"9.0-9.2":0.00714,"9.3":0.025,"10.0-10.2":0.00536,"10.3":0.04107,"11.0-11.2":0.48214,"11.3-11.4":0.0125,"12.0-12.1":0.00714,"12.2-12.5":0.1875,"13.0-13.1":0.00357,"13.2":0.04821,"13.3":0.00714,"13.4-13.7":0.02679,"14.0-14.4":0.05893,"14.5-14.8":0.08393,"15.0-15.1":0.04821,"15.2-15.3":0.04464,"15.4":0.05357,"15.5":0.0625,"15.6-15.8":0.66963,"16.0":0.12678,"16.1":0.26785,"16.2":0.13571,"16.3":0.23035,"16.4":0.04643,"16.5":0.09286,"16.6-16.7":0.87856,"17.0":0.06428,"17.1":0.10714,"17.2":0.08928,"17.3":0.13571,"17.4":0.29107,"17.5":0.86963,"17.6-17.7":7.51241,"18.0":2.66425,"18.1":2.34104,"18.2":0.09464},P:{"4":0.14676,"20":0.01048,"21":0.02097,"22":0.02097,"23":0.05242,"24":0.04193,"25":0.07338,"26":2.02323,"27":1.71922,"5.0-5.4":0.01048,"6.2-6.4":0.02097,"7.2-7.4":0.01048,_:"8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.01048,"17.0":0.01048,"18.0":0.01048,"19.0":0.01048},I:{"0":0.05523,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.0191,"9":0.00637,"10":0.00637,"11":0.0382,_:"6 7 5.5"},K:{"0":0.36443,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00461},O:{"0":0.04613},H:{"0":0},L:{"0":22.81949},R:{_:"0"},M:{"0":0.78421}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AU.js deleted file mode 100644 index bb995aa7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00508,"52":0.01016,"54":0.01016,"56":0.00508,"78":0.02033,"88":0.01525,"101":0.00508,"103":0.01016,"109":0.00508,"113":0.00508,"114":0.02033,"115":0.25918,"116":0.00508,"123":0.00508,"124":0.00508,"125":0.01016,"126":0.02541,"127":0.01525,"128":0.0559,"129":0.01016,"130":0.04066,"131":0.20836,"132":2.12936,"133":0.26935,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 102 104 105 106 107 108 110 111 112 117 118 119 120 121 122 134 135 136 3.5 3.6"},D:{"25":0.03049,"26":0.00508,"34":0.01016,"38":0.0559,"39":0.00508,"40":0.00508,"41":0.00508,"42":0.00508,"43":0.00508,"44":0.01016,"45":0.00508,"46":0.00508,"47":0.01016,"48":0.00508,"49":0.01525,"50":0.00508,"51":0.01016,"52":0.02033,"53":0.01016,"54":0.00508,"55":0.00508,"56":0.00508,"57":0.00508,"58":0.00508,"59":0.02033,"60":0.00508,"65":0.00508,"66":0.00508,"73":0.00508,"74":0.00508,"78":0.00508,"79":0.06098,"80":0.01016,"81":0.07623,"85":0.01525,"86":0.00508,"87":0.0559,"88":0.03049,"89":0.00508,"90":0.00508,"91":0.00508,"92":0.00508,"93":0.00508,"94":0.02541,"96":0.00508,"97":0.01016,"98":0.01525,"99":0.01016,"100":0.01016,"101":0.00508,"102":0.00508,"103":0.15754,"104":0.01016,"105":0.03557,"106":0.00508,"107":0.01016,"108":0.02541,"109":0.55394,"110":0.01525,"111":0.04066,"112":0.01016,"113":0.08639,"114":0.1118,"115":0.01016,"116":0.33033,"117":0.01525,"118":0.01016,"119":0.03557,"120":0.06607,"121":0.07623,"122":0.13213,"123":0.08639,"124":0.1118,"125":0.90968,"126":0.3659,"127":0.40148,"128":0.63017,"129":1.90067,"130":16.16076,"131":7.55185,"132":0.01525,"133":0.01016,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 27 28 29 30 31 32 33 35 36 37 61 62 63 64 67 68 69 70 71 72 75 76 77 83 84 95 134"},F:{"46":0.02033,"85":0.00508,"95":0.01016,"109":0.00508,"112":0.00508,"113":0.09656,"114":0.7623,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"85":0.00508,"89":0.02033,"92":0.00508,"99":0.00508,"101":0.00508,"108":0.00508,"109":0.0559,"110":0.00508,"111":0.00508,"112":0.00508,"113":0.00508,"114":0.01016,"115":0.00508,"116":0.00508,"117":0.00508,"118":0.00508,"119":0.00508,"120":0.01016,"121":0.01525,"122":0.01525,"123":0.00508,"124":0.01525,"125":0.01525,"126":0.03049,"127":0.02033,"128":0.07115,"129":0.27443,"130":4.05544,"131":2.53084,_:"12 13 14 15 16 17 18 79 80 81 83 84 86 87 88 90 91 93 94 95 96 97 98 100 102 103 104 105 106 107"},E:{"9":0.00508,"13":0.00508,"14":0.05082,"15":0.01016,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.02033,"13.1":0.10672,"14.1":0.16262,"15.1":0.02541,"15.2-15.3":0.02033,"15.4":0.04066,"15.5":0.06098,"15.6":0.5082,"16.0":0.0559,"16.1":0.10672,"16.2":0.06607,"16.3":0.16262,"16.4":0.05082,"16.5":0.08131,"16.6":0.64541,"17.0":0.02541,"17.1":0.07115,"17.2":0.06607,"17.3":0.08131,"17.4":0.22869,"17.5":0.49804,"17.6":2.77477,"18.0":0.61492,"18.1":0.79787,"18.2":0.02033},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00215,"5.0-5.1":0,"6.0-6.1":0.00862,"7.0-7.1":0.01077,"8.1-8.4":0,"9.0-9.2":0.00862,"9.3":0.03016,"10.0-10.2":0.00646,"10.3":0.04956,"11.0-11.2":0.58175,"11.3-11.4":0.01508,"12.0-12.1":0.00862,"12.2-12.5":0.22624,"13.0-13.1":0.00431,"13.2":0.05817,"13.3":0.00862,"13.4-13.7":0.03232,"14.0-14.4":0.0711,"14.5-14.8":0.10127,"15.0-15.1":0.05817,"15.2-15.3":0.05387,"15.4":0.06464,"15.5":0.07541,"15.6-15.8":0.80799,"16.0":0.15298,"16.1":0.32319,"16.2":0.16375,"16.3":0.27795,"16.4":0.05602,"16.5":0.11204,"16.6-16.7":1.06008,"17.0":0.07757,"17.1":0.12928,"17.2":0.10773,"17.3":0.16375,"17.4":0.3512,"17.5":1.0493,"17.6-17.7":9.06453,"18.0":3.21471,"18.1":2.82472,"18.2":0.1142},P:{"4":0.15055,"20":0.01075,"21":0.03226,"22":0.02151,"23":0.03226,"24":0.04301,"25":0.05377,"26":1.38723,"27":1.1614,"5.0-5.4":0.02151,"6.2-6.4":0.01075,"7.2-7.4":0.01075,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 18.0","14.0":0.01075,"16.0":0.01075,"17.0":0.01075,"19.0":0.02151},I:{"0":0.05397,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.04743,"9":0.02372,"10":0.01186,"11":0.05929,_:"6 7 5.5"},K:{"0":0.13768,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00492},O:{"0":0.04425},H:{"0":0},L:{"0":24.24701},R:{_:"0"},M:{"0":0.4622}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AW.js deleted file mode 100644 index 3e76deb7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"25":0.00265,"54":0.00265,"78":0.02116,"88":0.00265,"90":0.00265,"103":0.01323,"105":0.00529,"108":0.03174,"115":0.03703,"121":0.00265,"127":0.00529,"128":0.04761,"129":0.00794,"130":0.0291,"131":0.05026,"132":0.41527,"133":0.03968,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 102 104 106 107 109 110 111 112 113 114 116 117 118 119 120 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"47":0.00265,"52":0.00265,"63":0.00265,"79":0.00794,"80":0.01058,"81":0.00265,"87":0.02381,"91":0.00529,"94":0.00265,"96":0.00794,"98":0.00529,"99":0.0529,"101":0.00265,"103":0.09522,"105":0.00265,"106":0.00265,"108":0.00794,"109":0.62158,"110":0.01058,"111":0.0529,"112":0.01058,"113":0.00265,"114":0.00265,"115":0.03439,"116":0.0529,"118":0.00265,"119":0.00794,"120":0.01852,"121":0.00529,"122":0.07142,"123":0.02645,"124":0.04232,"125":0.01058,"126":0.19044,"127":0.03968,"128":0.12167,"129":1.3225,"130":7.21292,"131":4.56792,"132":0.00265,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 83 84 85 86 88 89 90 92 93 95 97 100 102 104 107 117 133 134"},F:{"97":0.05555,"108":0.00529,"112":0.00265,"113":0.00265,"114":0.23541,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 99 100 101 102 103 104 105 106 107 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"109":0.01587,"122":0.00265,"125":0.00265,"126":0.00794,"127":0.00265,"128":0.00529,"129":0.10845,"130":3.85906,"131":2.53127,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 123 124"},E:{"8":0.00529,"14":0.01852,"15":0.00794,_:"0 4 5 6 7 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.01587,"13.1":0.05026,"14.1":0.07671,"15.1":0.00529,"15.2-15.3":0.00265,"15.4":0.12167,"15.5":0.00529,"15.6":0.14548,"16.0":0.01587,"16.1":0.01587,"16.2":0.01323,"16.3":0.04761,"16.4":0.01852,"16.5":0.0529,"16.6":0.38617,"17.0":0.01587,"17.1":0.01058,"17.2":0.02381,"17.3":0.03439,"17.4":0.06348,"17.5":0.12432,"17.6":1.33837,"18.0":0.37295,"18.1":0.40469,"18.2":0.0291},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00328,"5.0-5.1":0,"6.0-6.1":0.0131,"7.0-7.1":0.01638,"8.1-8.4":0,"9.0-9.2":0.0131,"9.3":0.04586,"10.0-10.2":0.00983,"10.3":0.07534,"11.0-11.2":0.88442,"11.3-11.4":0.02293,"12.0-12.1":0.0131,"12.2-12.5":0.34394,"13.0-13.1":0.00655,"13.2":0.08844,"13.3":0.0131,"13.4-13.7":0.04913,"14.0-14.4":0.1081,"14.5-14.8":0.15395,"15.0-15.1":0.08844,"15.2-15.3":0.08189,"15.4":0.09827,"15.5":0.11465,"15.6-15.8":1.22836,"16.0":0.23257,"16.1":0.49134,"16.2":0.24895,"16.3":0.42256,"16.4":0.08517,"16.5":0.17033,"16.6-16.7":1.61161,"17.0":0.11792,"17.1":0.19654,"17.2":0.16378,"17.3":0.24895,"17.4":0.53393,"17.5":1.59523,"17.6-17.7":13.78056,"18.0":4.88724,"18.1":4.29435,"18.2":0.17361},P:{"4":0.0409,"20":0.01023,"21":0.01023,"22":0.07158,"23":0.12271,"24":0.08181,"25":0.0409,"26":3.7939,"27":3.29282,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 16.0 17.0 18.0 19.0","7.2-7.4":0.02045,"15.0":0.01023},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{"11":0.00265,_:"6 7 8 9 10 5.5"},K:{"0":0.07356,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02207},H:{"0":0},L:{"0":33.16195},R:{_:"0"},M:{"0":0.2501}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AX.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AX.js deleted file mode 100644 index 7c0433cd..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AX.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.00572,"102":0.00572,"108":0.02288,"115":0.1087,"125":0.00572,"128":0.03433,"131":0.5721,"132":1.69914,"133":0.1373,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 126 127 129 130 134 135 136 3.5 3.6"},D:{"49":0.00572,"76":0.16019,"94":0.01144,"103":0.03433,"109":0.73229,"114":0.01144,"116":0.2174,"117":0.01716,"119":0.02861,"121":0.00572,"122":0.18879,"123":0.09726,"125":0.00572,"126":3.30674,"127":0.05721,"128":0.1373,"129":0.99545,"130":20.97319,"131":10.97288,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 115 118 120 124 132 133 134"},F:{"95":0.04005,"113":0.12586,"114":1.59616,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"109":0.2174,"116":0.00572,"117":0.09726,"122":0.00572,"128":0.01716,"129":0.04577,"130":7.36293,"131":3.80447,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 118 119 120 121 123 124 125 126 127"},E:{"14":0.07437,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.5 16.5 17.1 17.3 18.2","12.1":0.11442,"13.1":0.00572,"14.1":0.06865,"15.4":0.01144,"15.6":0.15447,"16.0":0.06293,"16.1":0.01144,"16.2":0.01716,"16.3":0.1087,"16.4":0.00572,"16.6":0.09726,"17.0":0.00572,"17.2":0.01716,"17.4":0.09726,"17.5":0.06293,"17.6":0.62931,"18.0":0.36042,"18.1":0.24028},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00064,"5.0-5.1":0,"6.0-6.1":0.00254,"7.0-7.1":0.00318,"8.1-8.4":0,"9.0-9.2":0.00254,"9.3":0.00891,"10.0-10.2":0.00191,"10.3":0.01463,"11.0-11.2":0.17176,"11.3-11.4":0.00445,"12.0-12.1":0.00254,"12.2-12.5":0.06679,"13.0-13.1":0.00127,"13.2":0.01718,"13.3":0.00254,"13.4-13.7":0.00954,"14.0-14.4":0.02099,"14.5-14.8":0.0299,"15.0-15.1":0.01718,"15.2-15.3":0.0159,"15.4":0.01908,"15.5":0.02226,"15.6-15.8":0.23855,"16.0":0.04517,"16.1":0.09542,"16.2":0.04835,"16.3":0.08206,"16.4":0.01654,"16.5":0.03308,"16.6-16.7":0.31298,"17.0":0.0229,"17.1":0.03817,"17.2":0.03181,"17.3":0.04835,"17.4":0.10369,"17.5":0.3098,"17.6-17.7":2.67624,"18.0":0.94912,"18.1":0.83398,"18.2":0.03372},P:{"22":0.22926,"23":0.01146,"25":0.17195,"26":1.52459,"27":1.00875,_:"4 20 21 24 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","5.0-5.4":0.02293},I:{"0":0.21343,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00028},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.03422,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":30.88002},R:{_:"0"},M:{"0":2.51546}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AZ.js deleted file mode 100644 index 73131a94..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/AZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00257,"47":0.00257,"52":0.00514,"68":0.00257,"79":0.03344,"108":0.00257,"115":0.07459,"123":0.00772,"125":0.00257,"126":0.00257,"127":0.00257,"128":0.02315,"129":0.00257,"130":0.00257,"131":0.01543,"132":0.3035,"133":0.03601,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 112 113 114 116 117 118 119 120 121 122 124 134 135 136 3.5 3.6"},D:{"11":0.00514,"38":0.00514,"49":0.01543,"50":0.00257,"53":0.00257,"58":0.03858,"63":0.00514,"65":0.00257,"67":0.00257,"68":0.00257,"69":0.00514,"70":0.00772,"72":0.00257,"73":0.00514,"74":0.00514,"75":0.00514,"76":0.00257,"77":0.00257,"78":0.00514,"79":0.14403,"80":0.018,"81":0.00257,"83":0.02572,"84":0.00257,"85":0.00772,"86":0.00257,"87":0.09259,"88":0.02315,"89":0.00514,"90":0.02058,"91":0.00772,"92":0.00257,"94":0.05401,"95":0.00257,"96":0.00257,"97":0.00257,"98":0.00514,"99":0.00257,"100":0.02315,"101":0.00772,"102":0.00257,"103":0.01286,"104":0.00514,"105":0.00514,"106":0.01543,"107":0.02829,"108":0.03601,"109":2.97323,"110":0.00514,"111":0.00514,"112":0.02315,"113":0.00257,"114":0.01029,"115":0.01286,"116":0.02315,"117":0.00257,"118":0.02572,"119":0.01543,"120":0.03086,"121":0.02572,"122":0.0823,"123":0.03344,"124":0.05144,"125":0.04887,"126":0.05658,"127":0.09002,"128":0.07716,"129":0.3035,"130":8.46702,"131":6.12393,"132":0.00514,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 51 52 54 55 56 57 59 60 61 62 64 66 71 93 133 134"},F:{"36":0.00257,"40":0.00257,"46":0.018,"65":0.00257,"69":0.00257,"79":0.02829,"81":0.00257,"82":0.00257,"83":0.01286,"84":0.00257,"85":0.14918,"86":0.00257,"93":0.00514,"95":0.15946,"102":0.00772,"112":0.00257,"113":0.04115,"114":0.89506,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 70 71 72 73 74 75 76 77 78 80 87 88 89 90 91 92 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00257,"18":0.00257,"84":0.00257,"89":0.00514,"92":0.01029,"109":0.01286,"114":0.01029,"120":0.00257,"121":0.02315,"122":0.00514,"123":0.00257,"124":0.00514,"125":0.00257,"126":0.00257,"127":0.00514,"128":0.02572,"129":0.03601,"130":0.87191,"131":0.66358,_:"12 13 14 15 17 79 80 81 83 85 86 87 88 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 119"},E:{"14":0.00257,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.2-15.3","5.1":0.01029,"12.1":0.00257,"13.1":0.00514,"14.1":0.01543,"15.1":0.00514,"15.4":0.00257,"15.5":0.00257,"15.6":0.02572,"16.0":0.00257,"16.1":0.03086,"16.2":0.00257,"16.3":0.01029,"16.4":0.00257,"16.5":0.01029,"16.6":0.06173,"17.0":0.01029,"17.1":0.018,"17.2":0.00514,"17.3":0.01286,"17.4":0.05658,"17.5":0.0463,"17.6":0.21348,"18.0":0.1106,"18.1":0.13889,"18.2":0.00772},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00092,"5.0-5.1":0,"6.0-6.1":0.00369,"7.0-7.1":0.00461,"8.1-8.4":0,"9.0-9.2":0.00369,"9.3":0.01292,"10.0-10.2":0.00277,"10.3":0.02122,"11.0-11.2":0.24909,"11.3-11.4":0.00646,"12.0-12.1":0.00369,"12.2-12.5":0.09687,"13.0-13.1":0.00185,"13.2":0.02491,"13.3":0.00369,"13.4-13.7":0.01384,"14.0-14.4":0.03044,"14.5-14.8":0.04336,"15.0-15.1":0.02491,"15.2-15.3":0.02306,"15.4":0.02768,"15.5":0.03229,"15.6-15.8":0.34596,"16.0":0.0655,"16.1":0.13838,"16.2":0.07011,"16.3":0.11901,"16.4":0.02399,"16.5":0.04797,"16.6-16.7":0.4539,"17.0":0.03321,"17.1":0.05535,"17.2":0.04613,"17.3":0.07011,"17.4":0.15038,"17.5":0.44929,"17.6-17.7":3.8812,"18.0":1.37646,"18.1":1.20947,"18.2":0.0489},P:{"4":0.44981,"20":0.02092,"21":0.0523,"22":0.03138,"23":0.12553,"24":0.12553,"25":0.08368,"26":1.52725,"27":1.29712,"5.0-5.4":0.01046,"6.2-6.4":0.04184,"7.2-7.4":0.11507,_:"8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.02092,"17.0":0.11507,"18.0":0.01046,"19.0":0.02092},I:{"0":0.02965,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.01252,"11":0.05949,_:"6 7 9 10 5.5"},K:{"0":1.63159,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.11142},H:{"0":0.01},L:{"0":58.73018},R:{_:"0"},M:{"0":0.22284}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BA.js deleted file mode 100644 index 6c6d8ce3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"21":0.01089,"52":0.07986,"68":0.00363,"77":0.00363,"79":0.00363,"84":0.00363,"88":0.05082,"99":0.00726,"102":0.00363,"103":0.00363,"111":0.02541,"112":0.00363,"113":0.00363,"114":0.00363,"115":0.57717,"122":0.00363,"123":0.02178,"124":0.00363,"125":0.01815,"126":0.00363,"127":0.00726,"128":0.01089,"129":0.00363,"130":0.01815,"131":0.05445,"132":1.57542,"133":0.15246,"134":0.00363,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 78 80 81 82 83 85 86 87 89 90 91 92 93 94 95 96 97 98 100 101 104 105 106 107 108 109 110 116 117 118 119 120 121 135 136 3.5 3.6"},D:{"11":0.00363,"43":0.00363,"49":0.0363,"53":0.01089,"55":0.00363,"56":0.00363,"64":0.00726,"65":0.01089,"68":0.00363,"70":0.00363,"71":0.00363,"72":0.00363,"73":0.00363,"75":0.00363,"76":0.02178,"77":0.00363,"78":0.01452,"79":0.59532,"80":0.01089,"81":0.00363,"83":0.02178,"84":0.01452,"85":0.00726,"86":0.00726,"87":0.26136,"88":0.0363,"89":0.02178,"90":0.00726,"91":0.02178,"92":0.00363,"93":0.01089,"94":0.15972,"95":0.00726,"96":0.00726,"97":0.00726,"98":0.02541,"100":0.01089,"102":0.01089,"103":0.02904,"104":0.01452,"105":0.00363,"106":0.01815,"107":0.02541,"108":0.01089,"109":2.99838,"110":0.00363,"111":0.02178,"112":0.00726,"113":0.00363,"114":0.01815,"115":0.00363,"116":0.06534,"117":0.00363,"118":0.00726,"119":0.06897,"120":0.01452,"121":0.06171,"122":0.11616,"123":0.03267,"124":0.19239,"125":0.06534,"126":0.13794,"127":0.06171,"128":0.09075,"129":0.60258,"130":12.04071,"131":8.05134,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 54 57 58 59 60 61 62 63 66 67 69 74 99 101 132 133 134"},F:{"28":0.01089,"36":0.00363,"40":0.02178,"46":0.08349,"80":0.00363,"82":0.00726,"85":0.01089,"95":0.0726,"108":0.00363,"111":0.00363,"112":0.00363,"113":0.11979,"114":2.05095,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00363,"85":0.00363,"89":0.00363,"92":0.00726,"100":0.00363,"106":0.00363,"108":0.02178,"109":0.04356,"121":0.00726,"122":0.01089,"125":0.01452,"126":0.01452,"127":0.01089,"128":0.00726,"129":0.05445,"130":1.07085,"131":0.86394,_:"12 13 14 15 16 17 79 80 81 83 84 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 107 110 111 112 113 114 115 116 117 118 119 120 123 124"},E:{"14":0.00363,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.5","12.1":0.05082,"13.1":0.01089,"14.1":0.01452,"15.2-15.3":0.00363,"15.4":0.00726,"15.6":0.09075,"16.0":0.00726,"16.1":0.00363,"16.2":0.01089,"16.3":0.03993,"16.4":0.00726,"16.5":0.00726,"16.6":0.07623,"17.0":0.00363,"17.1":0.01815,"17.2":0.01089,"17.3":0.00726,"17.4":0.0363,"17.5":0.06171,"17.6":1.24509,"18.0":0.10527,"18.1":0.13794,"18.2":0.00726},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00104,"5.0-5.1":0,"6.0-6.1":0.00415,"7.0-7.1":0.00519,"8.1-8.4":0,"9.0-9.2":0.00415,"9.3":0.01453,"10.0-10.2":0.00311,"10.3":0.02387,"11.0-11.2":0.28017,"11.3-11.4":0.00726,"12.0-12.1":0.00415,"12.2-12.5":0.10896,"13.0-13.1":0.00208,"13.2":0.02802,"13.3":0.00415,"13.4-13.7":0.01557,"14.0-14.4":0.03424,"14.5-14.8":0.04877,"15.0-15.1":0.02802,"15.2-15.3":0.02594,"15.4":0.03113,"15.5":0.03632,"15.6-15.8":0.38913,"16.0":0.07367,"16.1":0.15565,"16.2":0.07886,"16.3":0.13386,"16.4":0.02698,"16.5":0.05396,"16.6-16.7":0.51054,"17.0":0.03736,"17.1":0.06226,"17.2":0.05188,"17.3":0.07886,"17.4":0.16914,"17.5":0.50535,"17.6-17.7":4.36549,"18.0":1.54821,"18.1":1.36039,"18.2":0.055},P:{"4":0.84278,"20":0.01028,"21":0.04111,"22":0.05139,"23":0.12333,"24":0.0925,"25":0.04111,"26":1.79861,"27":1.99388,"5.0-5.4":0.07194,"6.2-6.4":0.15417,"7.2-7.4":0.04111,_:"8.2 9.2 10.1 12.0 14.0 15.0 16.0","11.1-11.2":0.01028,"13.0":0.01028,"17.0":0.04111,"18.0":0.01028,"19.0":0.01028},I:{"0":0.19068,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00025},A:{"11":0.00726,_:"6 7 8 9 10 5.5"},K:{"0":0.2548,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00637},H:{"0":0},L:{"0":47.80695},R:{_:"0"},M:{"0":0.17199}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BB.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BB.js deleted file mode 100644 index 257ab273..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"113":0.00464,"115":0.00929,"124":0.00464,"128":0.01393,"129":0.00464,"130":0.00464,"131":0.0418,"132":1.71364,"133":0.20434,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 120 121 122 123 125 126 127 134 135 136 3.5 3.6"},D:{"50":0.00464,"56":0.00464,"62":0.00464,"65":0.00464,"69":0.00464,"73":0.00464,"75":0.00464,"79":0.01393,"80":0.04644,"83":0.00464,"85":0.00464,"86":0.00464,"87":0.02786,"89":0.00464,"91":0.00464,"93":0.00929,"94":0.0418,"96":0.01393,"99":0.00464,"100":0.00464,"101":0.00464,"103":0.0743,"104":0.00464,"106":0.00929,"107":0.00464,"108":0.00464,"109":0.7384,"111":0.00464,"112":0.00464,"113":0.02786,"114":0.00464,"116":0.0418,"117":0.00464,"118":0.00464,"119":0.01858,"120":0.02786,"121":0.00464,"122":0.58979,"123":0.01393,"124":0.00929,"125":0.02322,"126":0.08359,"127":0.07895,"128":0.38545,"129":0.95202,"130":15.59455,"131":10.56046,"132":0.01393,"133":0.00929,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 57 58 59 60 61 63 64 66 67 68 70 71 72 74 76 77 78 81 84 88 90 92 95 97 98 102 105 110 115 134"},F:{"84":0.01393,"95":0.02322,"113":0.274,"114":0.61765,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0743,"109":0.08359,"112":0.00464,"120":0.00464,"123":0.00464,"124":0.00464,"126":0.07895,"127":0.00464,"128":0.01858,"129":0.1161,"130":4.28177,"131":3.2926,_:"13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 113 114 115 116 117 118 119 121 122 125"},E:{"13":0.00464,"14":0.00464,"15":0.00464,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","13.1":0.01393,"14.1":0.09288,"15.1":0.00464,"15.4":0.00929,"15.5":0.03715,"15.6":0.15325,"16.0":0.00464,"16.1":0.18576,"16.2":0.33901,"16.3":0.10217,"16.4":0.00929,"16.5":0.01393,"16.6":0.09752,"17.0":0.00464,"17.1":0.03251,"17.2":0.0418,"17.3":0.06966,"17.4":0.0418,"17.5":0.26935,"17.6":1.34676,"18.0":0.8127,"18.1":0.70589,"18.2":0.01393},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00135,"5.0-5.1":0,"6.0-6.1":0.00539,"7.0-7.1":0.00674,"8.1-8.4":0,"9.0-9.2":0.00539,"9.3":0.01887,"10.0-10.2":0.00404,"10.3":0.03101,"11.0-11.2":0.36399,"11.3-11.4":0.00944,"12.0-12.1":0.00539,"12.2-12.5":0.14155,"13.0-13.1":0.0027,"13.2":0.0364,"13.3":0.00539,"13.4-13.7":0.02022,"14.0-14.4":0.04449,"14.5-14.8":0.06336,"15.0-15.1":0.0364,"15.2-15.3":0.0337,"15.4":0.04044,"15.5":0.04718,"15.6-15.8":0.50554,"16.0":0.09572,"16.1":0.20222,"16.2":0.10246,"16.3":0.17391,"16.4":0.03505,"16.5":0.0701,"16.6-16.7":0.66327,"17.0":0.04853,"17.1":0.08089,"17.2":0.06741,"17.3":0.10246,"17.4":0.21974,"17.5":0.65653,"17.6-17.7":5.67148,"18.0":2.01137,"18.1":1.76737,"18.2":0.07145},P:{"4":0.05483,"20":0.02193,"21":0.05483,"22":0.05483,"23":0.02193,"24":0.05483,"25":0.05483,"26":2.07266,"27":2.31393,"5.0-5.4":0.01097,"6.2-6.4":0.01097,"7.2-7.4":0.0658,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","17.0":0.04387,"19.0":0.01097},I:{"0":0.00534,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.14461,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04285},H:{"0":0},L:{"0":34.79346},R:{_:"0"},M:{"0":1.2051}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BD.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BD.js deleted file mode 100644 index 978467a1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"40":0.00281,"49":0.00281,"51":0.00281,"52":0.00563,"72":0.00281,"88":0.02251,"99":0.00281,"102":0.00281,"103":0.01126,"105":0.00563,"106":0.00563,"107":0.00844,"108":0.00563,"109":0.00844,"110":0.00563,"111":0.01126,"112":0.00281,"115":0.62752,"116":0.00281,"121":0.00281,"122":0.00281,"124":0.00281,"125":0.01126,"126":0.00281,"127":0.01407,"128":0.04221,"129":0.00563,"130":0.01126,"131":0.04221,"132":2.00075,"133":0.25326,"134":0.01126,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 100 101 104 113 114 117 118 119 120 123 135 136 3.5 3.6"},D:{"11":0.00281,"41":0.00563,"46":0.00281,"48":0.00281,"49":0.00281,"51":0.00281,"53":0.00281,"56":0.00844,"65":0.00563,"66":0.00281,"69":0.00563,"70":0.00563,"71":0.00281,"72":0.00281,"73":0.01688,"74":0.00563,"75":0.01126,"76":0.00281,"77":0.00281,"78":0.00281,"79":0.00563,"80":0.00281,"81":0.00563,"83":0.02251,"84":0.00281,"85":0.00563,"86":0.01126,"87":0.01126,"88":0.00844,"89":0.00281,"90":0.00281,"91":0.00844,"92":0.00281,"93":0.01126,"94":0.02251,"95":0.00563,"96":0.00844,"97":0.00563,"98":0.00281,"99":0.00563,"100":0.00281,"101":0.00563,"102":0.00563,"103":0.0394,"104":0.03377,"105":0.01407,"106":0.06472,"107":0.06754,"108":0.08723,"109":1.28318,"110":0.04784,"111":0.05065,"112":0.04221,"113":0.00563,"114":0.01688,"115":0.00281,"116":0.03377,"117":0.00563,"118":0.0197,"119":0.02251,"120":0.0197,"121":0.00844,"122":0.03658,"123":0.02251,"124":0.07598,"125":0.02533,"126":0.05628,"127":0.04502,"128":0.08161,"129":0.34894,"130":9.76458,"131":6.6523,"132":0.03658,"133":0.01407,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 47 50 52 54 55 57 58 59 60 61 62 63 64 67 68 134"},F:{"46":0.00281,"79":0.00563,"84":0.00563,"85":0.03377,"86":0.00563,"91":0.00281,"92":0.00281,"94":0.00281,"95":0.02814,"113":0.01126,"114":0.47275,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 87 88 89 90 93 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00281,"18":0.00281,"84":0.00281,"92":0.0197,"100":0.00281,"105":0.00281,"106":0.00563,"107":0.01126,"108":0.00844,"109":0.01688,"110":0.00844,"111":0.00563,"112":0.00281,"114":0.01407,"116":0.00281,"117":0.00281,"118":0.00281,"121":0.00281,"122":0.00281,"124":0.00563,"125":0.00563,"126":0.00563,"127":0.00281,"128":0.00563,"129":0.0197,"130":0.61064,"131":0.46431,_:"12 13 14 15 17 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 113 115 119 120 123"},E:{"9":0.00281,_:"0 4 5 6 7 8 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 16.2","13.1":0.00281,"14.1":0.00281,"15.5":0.00281,"15.6":0.01407,"16.0":0.01126,"16.1":0.00281,"16.3":0.00563,"16.4":0.00281,"16.5":0.00563,"16.6":0.01688,"17.0":0.00281,"17.1":0.00563,"17.2":0.00563,"17.3":0.00563,"17.4":0.0197,"17.5":0.00844,"17.6":0.04221,"18.0":0.0394,"18.1":0.05347,"18.2":0.00281},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00019,"5.0-5.1":0,"6.0-6.1":0.00076,"7.0-7.1":0.00095,"8.1-8.4":0,"9.0-9.2":0.00076,"9.3":0.00267,"10.0-10.2":0.00057,"10.3":0.00438,"11.0-11.2":0.05142,"11.3-11.4":0.00133,"12.0-12.1":0.00076,"12.2-12.5":0.02,"13.0-13.1":0.00038,"13.2":0.00514,"13.3":0.00076,"13.4-13.7":0.00286,"14.0-14.4":0.00628,"14.5-14.8":0.00895,"15.0-15.1":0.00514,"15.2-15.3":0.00476,"15.4":0.00571,"15.5":0.00667,"15.6-15.8":0.07141,"16.0":0.01352,"16.1":0.02856,"16.2":0.01447,"16.3":0.02457,"16.4":0.00495,"16.5":0.0099,"16.6-16.7":0.09369,"17.0":0.00686,"17.1":0.01143,"17.2":0.00952,"17.3":0.01447,"17.4":0.03104,"17.5":0.09274,"17.6-17.7":0.80113,"18.0":0.28412,"18.1":0.24965,"18.2":0.01009},P:{"4":0.07702,"20":0.011,"21":0.011,"22":0.011,"23":0.011,"24":0.011,"25":0.02201,"26":0.26409,"27":0.19806,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","6.2-6.4":0.011,"7.2-7.4":0.04401,"17.0":0.03301},I:{"0":0.0717,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"8":0.00619,"11":0.05572,_:"6 7 9 10 5.5"},K:{"0":1.67183,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01437,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00719},O:{"0":1.94741},H:{"0":0.06},L:{"0":68.67352},R:{_:"0"},M:{"0":0.12935}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BE.js deleted file mode 100644 index f4f51e6b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.00487,"52":0.01462,"55":0.00487,"78":0.06336,"87":0.0195,"94":0.00487,"102":0.00487,"103":0.00487,"105":0.00487,"108":0.00975,"110":0.00487,"113":0.00487,"115":0.21933,"118":0.00487,"120":0.00487,"121":0.00975,"123":0.00487,"125":0.05361,"126":0.00487,"127":0.02437,"128":0.09261,"129":0.00975,"130":0.0195,"131":0.15109,"132":2.42238,"133":0.25832,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 88 89 90 91 92 93 95 96 97 98 99 100 101 104 106 107 109 111 112 114 116 117 119 122 124 134 135 136 3.5 3.6"},D:{"38":0.00487,"44":0.00487,"45":0.00487,"46":0.00487,"49":0.01462,"74":0.12185,"75":0.11698,"76":0.11698,"77":0.11698,"78":1.93498,"79":2.52961,"80":0.00487,"83":0.07798,"85":0.00487,"87":0.02924,"88":0.00487,"89":0.02437,"90":0.01462,"91":0.00975,"92":0.00487,"93":0.00487,"94":0.00487,"96":0.00487,"97":0.00487,"99":0.00487,"100":0.00487,"101":0.00487,"102":0.00487,"103":0.04387,"104":0.00975,"105":0.00975,"106":0.00975,"107":0.00975,"108":0.01462,"109":0.54101,"110":0.00975,"111":0.00487,"112":0.00975,"113":0.04387,"114":0.07311,"115":0.00487,"116":0.13647,"117":0.00975,"118":0.00975,"119":0.02924,"120":0.34118,"121":0.02437,"122":0.11698,"123":0.06824,"124":0.07311,"125":0.47278,"126":0.61412,"127":0.07798,"128":0.2632,"129":0.86757,"130":11.8292,"131":7.20865,"132":0.00487,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 81 84 86 95 98 133 134"},F:{"46":0.00487,"85":0.00487,"95":0.00975,"102":0.00487,"109":0.00487,"113":0.08773,"114":0.94068,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00487,"102":0.00487,"108":0.00975,"109":0.05849,"114":0.00487,"116":0.00487,"117":0.00487,"120":0.00487,"121":0.00975,"122":0.00975,"123":0.00487,"124":0.00487,"125":0.01462,"126":0.02437,"127":0.02924,"128":0.06336,"129":0.19983,"130":4.06979,"131":2.85616,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 103 104 105 106 107 110 111 112 113 115 118 119"},E:{"9":0.00487,"14":0.0195,"15":0.00487,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00975,"13.1":0.06336,"14.1":0.09261,"15.1":0.0195,"15.2-15.3":0.01462,"15.4":0.02924,"15.5":0.04387,"15.6":0.54589,"16.0":0.04874,"16.1":0.09261,"16.2":0.06824,"16.3":0.15109,"16.4":0.06336,"16.5":0.08773,"16.6":0.58488,"17.0":0.04874,"17.1":0.1121,"17.2":0.1316,"17.3":0.1121,"17.4":0.27782,"17.5":0.619,"17.6":2.4565,"18.0":0.79446,"18.1":1.12589,"18.2":0.0195},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00208,"5.0-5.1":0,"6.0-6.1":0.00833,"7.0-7.1":0.01041,"8.1-8.4":0,"9.0-9.2":0.00833,"9.3":0.02915,"10.0-10.2":0.00625,"10.3":0.04789,"11.0-11.2":0.56216,"11.3-11.4":0.01457,"12.0-12.1":0.00833,"12.2-12.5":0.21862,"13.0-13.1":0.00416,"13.2":0.05622,"13.3":0.00833,"13.4-13.7":0.03123,"14.0-14.4":0.06871,"14.5-14.8":0.09786,"15.0-15.1":0.05622,"15.2-15.3":0.05205,"15.4":0.06246,"15.5":0.07287,"15.6-15.8":0.78078,"16.0":0.14783,"16.1":0.31231,"16.2":0.15824,"16.3":0.26859,"16.4":0.05413,"16.5":0.10827,"16.6-16.7":1.02438,"17.0":0.07495,"17.1":0.12492,"17.2":0.1041,"17.3":0.15824,"17.4":0.33938,"17.5":1.01397,"17.6-17.7":8.75929,"18.0":3.10646,"18.1":2.7296,"18.2":0.11035},P:{"4":0.03138,"20":0.01046,"21":0.02092,"22":0.02092,"23":0.02092,"24":0.03138,"25":0.03138,"26":1.46456,"27":1.44364,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0 18.0","6.2-6.4":0.01046,"13.0":0.01046,"19.0":0.01046},I:{"0":0.07674,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"8":0.01575,"9":0.00525,"10":0.00525,"11":0.04199,_:"6 7 5.5"},K:{"0":0.15894,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00513},O:{"0":0.02051},H:{"0":0},L:{"0":26.63117},R:{_:"0"},M:{"0":0.29737}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BF.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BF.js deleted file mode 100644 index 2a6148a6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"43":0.00186,"56":0.00186,"59":0.00186,"60":0.00186,"67":0.00373,"68":0.00186,"69":0.00186,"72":0.0205,"78":0.00186,"81":0.00186,"85":0.0261,"86":0.00186,"88":0.00186,"89":0.00186,"91":0.00186,"95":0.00186,"96":0.00186,"97":0.00186,"99":0.0466,"102":0.00186,"109":0.00186,"110":0.00186,"111":0.00186,"115":0.24605,"120":0.00186,"122":0.00186,"123":0.00186,"124":0.00186,"125":0.00186,"127":0.02982,"128":0.02796,"129":0.00559,"130":0.04101,"131":0.07456,"132":1.56576,"133":0.14912,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 57 58 61 62 63 64 65 66 70 71 73 74 75 76 77 79 80 82 83 84 87 90 92 93 94 98 100 101 103 104 105 106 107 108 112 113 114 116 117 118 119 121 126 134 135 136 3.5 3.6"},D:{"46":0.00186,"48":0.00186,"49":0.00186,"50":0.00186,"66":0.00186,"69":0.00373,"70":0.01118,"73":0.00746,"74":0.00186,"75":0.07083,"76":0.04101,"79":0.0261,"81":0.00186,"83":0.12675,"86":0.00373,"87":0.07829,"88":0.00186,"89":0.00186,"91":0.01864,"92":0.00186,"93":0.03728,"94":0.02237,"95":0.00559,"97":0.00186,"98":0.00373,"99":0.00746,"100":0.00186,"103":0.00932,"106":0.00559,"107":0.00186,"108":0.00186,"109":0.62071,"110":0.00186,"111":0.00186,"112":0.00186,"114":0.12302,"115":0.00559,"116":0.01864,"117":0.00186,"118":0.00186,"119":0.02237,"120":0.00559,"121":0.00186,"122":0.01305,"123":0.01864,"124":0.01491,"125":0.01678,"126":0.01118,"127":0.03728,"128":0.05965,"129":0.12675,"130":3.69258,"131":2.48471,"132":0.00186,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 71 72 77 78 80 84 85 90 96 101 102 104 105 113 133 134"},F:{"42":0.00186,"79":0.00186,"85":0.00373,"86":0.00186,"95":0.01491,"96":0.00186,"110":0.00186,"112":0.00186,"113":0.00746,"114":0.73814,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 87 88 89 90 91 92 93 94 97 98 99 100 101 102 103 104 105 106 107 108 109 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00373,"13":0.00186,"14":0.00186,"15":0.00186,"17":0.00186,"18":0.01864,"84":0.00186,"89":0.00373,"90":0.00186,"92":0.0205,"98":0.00186,"100":0.00373,"109":0.0205,"112":0.00186,"114":0.01491,"120":0.00186,"122":0.00373,"123":0.00186,"124":0.00932,"125":0.00373,"126":0.00373,"127":0.00559,"128":0.0466,"129":0.07083,"130":1.61795,"131":1.24329,_:"16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 99 101 102 103 104 105 106 107 108 110 111 113 115 116 117 118 119 121"},E:{"14":0.00373,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.4 15.5 16.0 16.4 17.1 18.2","12.1":0.00186,"13.1":0.00746,"14.1":0.00373,"15.6":0.0466,"16.1":0.00186,"16.2":0.00186,"16.3":0.03542,"16.5":0.00746,"16.6":0.04287,"17.0":0.00186,"17.2":0.00559,"17.3":0.00186,"17.4":0.00186,"17.5":0.01305,"17.6":0.03728,"18.0":0.01118,"18.1":0.03914},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00074,"5.0-5.1":0,"6.0-6.1":0.00296,"7.0-7.1":0.00371,"8.1-8.4":0,"9.0-9.2":0.00296,"9.3":0.01038,"10.0-10.2":0.00222,"10.3":0.01705,"11.0-11.2":0.20012,"11.3-11.4":0.00519,"12.0-12.1":0.00296,"12.2-12.5":0.07782,"13.0-13.1":0.00148,"13.2":0.02001,"13.3":0.00296,"13.4-13.7":0.01112,"14.0-14.4":0.02446,"14.5-14.8":0.03484,"15.0-15.1":0.02001,"15.2-15.3":0.01853,"15.4":0.02224,"15.5":0.02594,"15.6-15.8":0.27795,"16.0":0.05262,"16.1":0.11118,"16.2":0.05633,"16.3":0.09561,"16.4":0.01927,"16.5":0.03854,"16.6-16.7":0.36467,"17.0":0.02668,"17.1":0.04447,"17.2":0.03706,"17.3":0.05633,"17.4":0.12081,"17.5":0.36096,"17.6-17.7":3.11818,"18.0":1.10585,"18.1":0.9717,"18.2":0.03928},P:{"4":0.02219,"22":0.01109,"24":0.02219,"25":0.01109,"26":0.23299,"27":0.14423,_:"20 21 23 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.01109,"7.2-7.4":0.02219,"13.0":0.01109},I:{"0":0.07306,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"11":0.03355,_:"6 7 8 9 10 5.5"},K:{"0":1.29143,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.04068},O:{"0":0.12204},H:{"0":0.23},L:{"0":75.5767},R:{_:"0"},M:{"0":0.04882}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BG.js deleted file mode 100644 index 9895d1cb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"45":0.32311,"48":0.0033,"52":0.07253,"65":0.0033,"68":0.0033,"72":0.0033,"75":0.0033,"78":0.01319,"79":0.0033,"80":0.00989,"84":0.03956,"85":0.0033,"88":0.00659,"91":0.0033,"96":0.0033,"99":0.0033,"100":0.0033,"102":0.00659,"103":0.01649,"104":0.0033,"105":0.0033,"107":0.00659,"108":0.03956,"109":0.0033,"110":0.0033,"112":0.0033,"113":0.00989,"114":0.0033,"115":0.7649,"117":0.0033,"119":0.0033,"120":0.00659,"121":0.0033,"122":0.0033,"123":0.0033,"124":0.0033,"125":0.02638,"126":0.00659,"127":0.01978,"128":0.09891,"129":0.00989,"130":0.02638,"131":0.14837,"132":2.5321,"133":0.21101,"134":0.0033,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 69 70 71 73 74 76 77 81 82 83 86 87 89 90 92 93 94 95 97 98 101 106 111 116 118 135 136 3.5 3.6"},D:{"41":0.0033,"43":0.0033,"44":0.0033,"47":0.0033,"49":0.03297,"51":0.0033,"58":0.0033,"67":0.0033,"70":0.0033,"71":0.0033,"74":0.0033,"76":0.0033,"78":0.0033,"79":0.02638,"80":0.0033,"81":0.0033,"83":0.00989,"85":0.00659,"86":0.00659,"87":0.02638,"88":0.00659,"89":0.00659,"90":0.0033,"91":0.00659,"94":0.00989,"95":0.00659,"96":0.0033,"97":0.0033,"98":0.58357,"99":0.00659,"100":0.01319,"101":0.0033,"102":0.00989,"103":0.01978,"104":0.03956,"105":0.0033,"106":0.00659,"107":0.00659,"108":0.02308,"109":2.29471,"110":0.00659,"111":0.00989,"112":0.00659,"113":0.03297,"114":0.04946,"115":0.07583,"116":0.03627,"117":0.00659,"118":0.01649,"119":0.02308,"120":0.01978,"121":0.01978,"122":0.05275,"123":0.04616,"124":0.09232,"125":0.03297,"126":0.05605,"127":0.03956,"128":0.10221,"129":0.58357,"130":10.46468,"131":7.07536,"132":0.00659,"133":0.0033,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 45 46 48 50 52 53 54 55 56 57 59 60 61 62 63 64 65 66 68 69 72 73 75 77 84 92 93 134"},F:{"36":0.0033,"46":0.00659,"83":0.0033,"85":0.02308,"86":0.0033,"94":0.0033,"95":0.08243,"99":0.0033,"108":0.0033,"112":0.0033,"113":0.03627,"114":0.85722,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 87 88 89 90 91 92 93 96 97 98 100 101 102 103 104 105 106 107 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0033,"92":0.0033,"100":0.0033,"107":0.00659,"109":0.07583,"110":0.0033,"113":0.0033,"114":0.0033,"116":0.0033,"117":0.0033,"118":0.00659,"119":0.0033,"120":0.0033,"121":0.0033,"122":0.0033,"123":0.00659,"124":0.00659,"125":0.0033,"126":0.00989,"127":0.00659,"128":0.01319,"129":0.06924,"130":1.73093,"131":1.30561,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 111 112 115"},E:{"9":0.0033,"14":0.00659,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3","12.1":0.0033,"13.1":0.00989,"14.1":0.02308,"15.1":0.0033,"15.4":0.0033,"15.5":0.0033,"15.6":0.04286,"16.0":0.00659,"16.1":0.0033,"16.2":0.0033,"16.3":0.01319,"16.4":0.0033,"16.5":0.00659,"16.6":0.05275,"17.0":0.00659,"17.1":0.01978,"17.2":0.00989,"17.3":0.01319,"17.4":0.02638,"17.5":0.04946,"17.6":0.17804,"18.0":0.07913,"18.1":0.11869,"18.2":0.0033},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00105,"5.0-5.1":0,"6.0-6.1":0.00421,"7.0-7.1":0.00526,"8.1-8.4":0,"9.0-9.2":0.00421,"9.3":0.01472,"10.0-10.2":0.00316,"10.3":0.02419,"11.0-11.2":0.28396,"11.3-11.4":0.00736,"12.0-12.1":0.00421,"12.2-12.5":0.11043,"13.0-13.1":0.0021,"13.2":0.0284,"13.3":0.00421,"13.4-13.7":0.01578,"14.0-14.4":0.03471,"14.5-14.8":0.04943,"15.0-15.1":0.0284,"15.2-15.3":0.02629,"15.4":0.03155,"15.5":0.03681,"15.6-15.8":0.39439,"16.0":0.07467,"16.1":0.15776,"16.2":0.07993,"16.3":0.13567,"16.4":0.02734,"16.5":0.05469,"16.6-16.7":0.51744,"17.0":0.03786,"17.1":0.0631,"17.2":0.05259,"17.3":0.07993,"17.4":0.17143,"17.5":0.51218,"17.6-17.7":4.4245,"18.0":1.56914,"18.1":1.37878,"18.2":0.05574},P:{"4":0.03067,"20":0.02045,"21":0.03067,"22":0.05111,"23":0.08178,"24":0.07156,"25":0.07156,"26":1.64583,"27":1.34938,_:"5.0-5.4 8.2 9.2 10.1 12.0 14.0 15.0 16.0","6.2-6.4":0.01022,"7.2-7.4":0.04089,"11.1-11.2":0.01022,"13.0":0.02045,"17.0":0.01022,"18.0":0.01022,"19.0":0.01022},I:{"0":0.14045,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00018},A:{"8":0.01044,"9":0.00348,"10":0.00348,"11":0.04524,_:"6 7 5.5"},K:{"0":0.31504,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.03352},H:{"0":0},L:{"0":53.21637},R:{_:"0"},M:{"0":0.2145}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BH.js deleted file mode 100644 index dda6abd6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00277,"79":0.00277,"115":0.05817,"117":0.00277,"118":0.00277,"127":0.00277,"128":0.00554,"130":0.00277,"131":0.01662,"132":0.53461,"133":0.04155,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 119 120 121 122 123 124 125 126 129 134 135 136 3.5 3.6"},D:{"38":0.00554,"47":0.00277,"49":0.00277,"50":0.00277,"55":0.00277,"56":0.00554,"58":0.03601,"65":0.00277,"66":0.00277,"68":0.01385,"74":0.00277,"76":0.00554,"78":0.00277,"79":0.06648,"80":0.00277,"81":0.00277,"83":0.00831,"84":0.00277,"85":0.00277,"86":0.00277,"87":0.05817,"88":0.01108,"89":0.00277,"90":0.00277,"91":0.00277,"93":0.01108,"94":0.04432,"95":0.00554,"96":0.00277,"97":0.00277,"98":0.02493,"103":0.0554,"104":0.00277,"105":0.00277,"106":0.02493,"107":0.05817,"108":0.03324,"109":0.7479,"110":0.03601,"111":0.04432,"112":0.01939,"113":0.15235,"114":0.17728,"115":0.00277,"116":0.06094,"117":0.01385,"118":0.00831,"119":0.01662,"120":0.02216,"121":0.01385,"122":0.08033,"123":0.03878,"124":0.07202,"125":0.0277,"126":0.31855,"127":0.03601,"128":0.14958,"129":0.55123,"130":10.58971,"131":6.14386,"132":0.00554,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 51 52 53 54 57 59 60 61 62 63 64 67 69 70 71 72 73 75 77 92 99 100 101 102 133 134"},F:{"46":0.01385,"82":0.00277,"85":0.01108,"95":0.00277,"103":0.00277,"109":0.03878,"110":0.00554,"111":0.01108,"112":0.02216,"113":0.03601,"114":0.27423,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 104 105 106 107 108 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00277,"18":0.00277,"89":0.06371,"92":0.03047,"99":0.00277,"100":0.00831,"105":0.00554,"107":0.01108,"108":0.01108,"109":0.01662,"110":0.00277,"112":0.0277,"113":0.00554,"114":0.00831,"116":0.01108,"117":0.00277,"118":0.00277,"119":0.00831,"120":0.01662,"121":0.01108,"122":0.01385,"123":0.00554,"124":0.03601,"125":0.00277,"126":0.01385,"127":0.00831,"128":0.01662,"129":0.12188,"130":1.86975,"131":1.32406,_:"12 13 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 101 102 103 104 106 111 115"},E:{"15":0.00277,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00277,"13.1":0.00831,"14.1":0.01108,"15.1":0.01108,"15.2-15.3":0.00554,"15.4":0.00831,"15.5":0.01385,"15.6":0.06094,"16.0":0.02216,"16.1":0.02216,"16.2":0.01108,"16.3":0.04155,"16.4":0.00831,"16.5":0.0277,"16.6":0.15235,"17.0":0.00554,"17.1":0.00831,"17.2":0.00554,"17.3":0.02493,"17.4":0.07756,"17.5":0.09972,"17.6":0.45705,"18.0":0.35456,"18.1":0.3324,"18.2":0.01108},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.002,"5.0-5.1":0,"6.0-6.1":0.00798,"7.0-7.1":0.00998,"8.1-8.4":0,"9.0-9.2":0.00798,"9.3":0.02795,"10.0-10.2":0.00599,"10.3":0.04591,"11.0-11.2":0.53897,"11.3-11.4":0.01397,"12.0-12.1":0.00798,"12.2-12.5":0.2096,"13.0-13.1":0.00399,"13.2":0.0539,"13.3":0.00798,"13.4-13.7":0.02994,"14.0-14.4":0.06587,"14.5-14.8":0.09382,"15.0-15.1":0.0539,"15.2-15.3":0.04991,"15.4":0.05989,"15.5":0.06987,"15.6-15.8":0.74858,"16.0":0.14173,"16.1":0.29943,"16.2":0.15171,"16.3":0.25751,"16.4":0.0519,"16.5":0.1038,"16.6-16.7":0.98213,"17.0":0.07186,"17.1":0.11977,"17.2":0.09981,"17.3":0.15171,"17.4":0.32538,"17.5":0.97215,"17.6-17.7":8.39803,"18.0":2.97833,"18.1":2.61702,"18.2":0.1058},P:{"4":0.07094,"20":0.01013,"21":0.01013,"22":0.0304,"23":0.0304,"24":0.08107,"25":0.07094,"26":1.6823,"27":1.42894,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0 16.0","6.2-6.4":0.01013,"7.2-7.4":0.07094,"13.0":0.01013,"14.0":0.01013,"17.0":0.02027,"18.0":0.01013,"19.0":0.01013},I:{"0":0.01443,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.0277,_:"6 7 8 9 10 5.5"},K:{"0":1.0445,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":1.81473},H:{"0":0.04},L:{"0":45.94076},R:{_:"0"},M:{"0":0.81699}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BI.js deleted file mode 100644 index 18fa51df..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"42":0.00248,"56":0.00248,"59":0.00992,"63":0.00248,"74":0.00496,"78":0.00248,"89":0.06944,"94":0.00248,"95":0.0124,"99":0.03472,"102":0.00744,"103":0.00496,"104":0.00248,"107":0.00248,"112":0.00248,"113":0.00496,"114":0.01488,"115":0.20832,"116":0.00496,"121":0.01488,"123":0.00496,"125":0.00248,"127":0.02232,"128":0.00744,"129":0.01488,"130":0.0124,"131":0.07688,"132":1.65168,"133":0.10416,"134":0.00248,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 61 62 64 65 66 67 68 69 70 71 72 73 75 76 77 79 80 81 82 83 84 85 86 87 88 90 91 92 93 96 97 98 100 101 105 106 108 109 110 111 117 118 119 120 122 124 126 135 136 3.5 3.6"},D:{"43":0.00248,"48":0.00248,"49":0.00248,"54":0.00248,"62":0.00248,"64":0.03224,"65":0.00248,"69":0.00496,"70":0.00248,"71":0.00248,"73":0.00992,"74":0.00248,"76":0.00248,"78":0.00744,"79":0.00496,"80":0.01488,"81":0.00248,"83":0.01488,"84":0.0124,"87":0.01488,"88":0.01736,"90":0.00496,"91":0.03224,"92":0.00496,"93":0.00248,"94":0.00496,"95":0.00248,"96":0.00744,"99":0.00248,"100":0.00992,"102":0.00248,"103":0.02232,"105":0.0124,"106":0.0992,"107":0.00248,"108":0.00992,"109":0.63736,"111":0.00248,"113":0.0124,"114":0.00992,"116":0.25296,"117":0.00496,"118":0.00744,"119":0.00496,"120":0.03472,"121":0.02976,"122":0.00992,"123":0.00992,"124":0.03472,"125":0.04464,"126":0.07192,"127":0.0744,"128":0.04712,"129":0.27032,"130":3.93824,"131":3.2488,"132":0.00496,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 50 51 52 53 55 56 57 58 59 60 61 63 66 67 68 72 75 77 85 86 89 97 98 101 104 110 112 115 133 134"},F:{"21":0.00248,"40":0.00248,"50":0.00496,"51":0.00248,"79":0.00992,"80":0.00248,"84":0.00248,"85":0.00496,"91":0.00248,"94":0.00248,"95":0.02232,"97":0.00248,"98":0.00992,"102":0.00744,"109":0.00744,"111":0.00248,"112":0.0124,"113":0.0496,"114":0.50344,_:"9 11 12 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 83 86 87 88 89 90 92 93 96 99 100 101 103 104 105 106 107 108 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00992,"17":0.00248,"18":0.02728,"84":0.00248,"89":0.00248,"90":0.00992,"92":0.05456,"100":0.00744,"104":0.00496,"109":0.06944,"113":0.00248,"122":0.00248,"123":0.01984,"125":0.00496,"126":0.00992,"127":0.03472,"128":0.06696,"129":0.23064,"130":1.178,"131":0.78368,_:"12 13 15 16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 105 106 107 108 110 111 112 114 115 116 117 118 119 120 121 124"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1 15.1 15.4 15.5 16.0 16.2 16.3 16.4 16.5 17.1 17.2 17.4 18.2","5.1":0.00248,"11.1":0.00248,"13.1":0.00248,"14.1":0.00248,"15.2-15.3":0.00496,"15.6":0.01984,"16.1":0.00248,"16.6":0.02728,"17.0":0.00248,"17.3":0.00248,"17.5":0.00992,"17.6":0.00744,"18.0":0.0992,"18.1":0.01984},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00051,"5.0-5.1":0,"6.0-6.1":0.00204,"7.0-7.1":0.00255,"8.1-8.4":0,"9.0-9.2":0.00204,"9.3":0.00713,"10.0-10.2":0.00153,"10.3":0.01171,"11.0-11.2":0.13746,"11.3-11.4":0.00356,"12.0-12.1":0.00204,"12.2-12.5":0.05346,"13.0-13.1":0.00102,"13.2":0.01375,"13.3":0.00204,"13.4-13.7":0.00764,"14.0-14.4":0.0168,"14.5-14.8":0.02393,"15.0-15.1":0.01375,"15.2-15.3":0.01273,"15.4":0.01527,"15.5":0.01782,"15.6-15.8":0.19091,"16.0":0.03615,"16.1":0.07637,"16.2":0.03869,"16.3":0.06567,"16.4":0.01324,"16.5":0.02647,"16.6-16.7":0.25048,"17.0":0.01833,"17.1":0.03055,"17.2":0.02546,"17.3":0.03869,"17.4":0.08298,"17.5":0.24793,"17.6-17.7":2.1418,"18.0":0.75958,"18.1":0.66744,"18.2":0.02698},P:{"4":0.02075,"21":0.02075,"22":0.03112,"23":0.02075,"24":0.03112,"25":0.083,"26":0.21787,"27":0.26975,_:"20 6.2-6.4 8.2 10.1 11.1-11.2 13.0 14.0 15.0 17.0 18.0","5.0-5.4":0.11412,"7.2-7.4":0.22825,"9.2":0.0415,"12.0":0.01037,"16.0":0.01037,"19.0":0.02075},I:{"0":0.06753,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.00744,_:"6 7 8 9 10 5.5"},K:{"0":4.08072,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.09776,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.21056},H:{"0":0.89},L:{"0":73.31384},R:{_:"0"},M:{"0":0.04512}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BJ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BJ.js deleted file mode 100644 index 7f7da1a3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"47":0.00174,"57":0.00174,"65":0.00174,"72":0.00348,"77":0.00174,"79":0.00174,"107":0.00174,"113":0.00348,"115":0.07665,"120":0.00174,"125":0.00174,"126":0.00174,"127":0.02265,"128":0.00697,"129":0.0209,"130":0.00697,"131":0.04355,"132":0.42505,"133":0.07665,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 58 59 60 61 62 63 64 66 67 68 69 70 71 73 74 75 76 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 109 110 111 112 114 116 117 118 119 121 122 123 124 134 135 136 3.5 3.6"},D:{"33":0.00174,"46":0.00174,"47":0.00174,"49":0.00174,"51":0.00174,"57":0.00174,"58":0.01045,"63":0.00174,"65":0.00348,"66":0.00348,"67":0.00174,"68":0.00174,"69":0.00174,"70":0.00523,"72":0.00174,"73":0.01045,"74":0.01568,"75":0.00348,"76":0.00697,"77":0.00174,"78":0.00523,"79":0.01742,"80":0.00174,"81":0.00174,"83":0.00348,"84":0.00174,"85":0.00174,"86":0.00871,"87":0.00871,"88":0.00174,"89":0.00174,"90":0.00871,"92":0.00348,"93":0.00174,"94":0.00523,"95":0.00348,"96":0.00174,"97":0.00174,"98":0.00174,"99":0.00697,"100":0.00174,"102":0.00174,"103":0.02439,"105":0.00174,"106":0.00697,"107":0.00174,"108":0.00523,"109":0.85706,"110":0.00174,"111":0.00348,"112":0.00174,"114":0.00348,"115":0.00174,"116":0.01394,"117":0.00348,"118":0.01045,"119":0.01394,"120":0.00871,"121":0.00348,"122":0.00697,"123":0.02439,"124":0.00348,"125":0.01742,"126":0.07839,"127":0.01394,"128":0.0871,"129":0.15678,"130":3.02411,"131":2.28202,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 43 44 45 48 50 52 53 54 55 56 59 60 61 62 64 71 91 101 104 113 132 133 134"},F:{"37":0.00348,"79":0.01045,"83":0.01219,"84":0.00174,"85":0.00523,"86":0.00523,"87":0.00348,"95":0.01742,"101":0.00174,"110":0.00174,"112":0.00697,"113":0.0209,"114":2.2106,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 88 89 90 91 92 93 94 96 97 98 99 100 102 103 104 105 106 107 108 109 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00174,"17":0.00174,"18":0.01568,"84":0.00348,"89":0.00348,"90":0.00348,"92":0.07316,"98":0.00523,"100":0.00348,"107":0.00348,"109":0.00697,"110":0.00523,"112":0.01742,"114":0.00523,"117":0.00697,"121":0.00174,"122":0.00348,"124":0.00871,"125":0.00174,"126":0.00348,"127":0.00697,"128":0.00871,"129":0.02439,"130":0.79784,"131":0.50344,_:"12 13 15 16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 99 101 102 103 104 105 106 108 111 113 115 116 118 119 120 123"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.4","5.1":0.00174,"11.1":0.00174,"13.1":0.00348,"14.1":0.00348,"15.6":0.0209,"16.1":0.00174,"16.2":0.00871,"16.3":0.00697,"16.5":0.00697,"16.6":0.04355,"17.0":0.00348,"17.1":0.00348,"17.2":0.00348,"17.3":0.00174,"17.4":0.09407,"17.5":0.02265,"17.6":0.17246,"18.0":0.04703,"18.1":0.04181,"18.2":0.00174},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00098,"5.0-5.1":0,"6.0-6.1":0.00394,"7.0-7.1":0.00492,"8.1-8.4":0,"9.0-9.2":0.00394,"9.3":0.01378,"10.0-10.2":0.00295,"10.3":0.02264,"11.0-11.2":0.26581,"11.3-11.4":0.00689,"12.0-12.1":0.00394,"12.2-12.5":0.10337,"13.0-13.1":0.00197,"13.2":0.02658,"13.3":0.00394,"13.4-13.7":0.01477,"14.0-14.4":0.03249,"14.5-14.8":0.04627,"15.0-15.1":0.02658,"15.2-15.3":0.02461,"15.4":0.02953,"15.5":0.03446,"15.6-15.8":0.36918,"16.0":0.0699,"16.1":0.14767,"16.2":0.07482,"16.3":0.127,"16.4":0.0256,"16.5":0.05119,"16.6-16.7":0.48436,"17.0":0.03544,"17.1":0.05907,"17.2":0.04922,"17.3":0.07482,"17.4":0.16047,"17.5":0.47944,"17.6-17.7":4.14168,"18.0":1.46883,"18.1":1.29064,"18.2":0.05218},P:{"4":0.01144,"21":0.02287,"25":0.01144,"26":0.14866,"27":0.06861,_:"20 22 23 24 6.2-6.4 7.2-7.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 16.0 17.0 18.0 19.0","5.0-5.4":0.01144,"9.2":0.01144,"15.0":0.01144},I:{"0":0.06593,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.00348,_:"6 7 8 9 10 5.5"},K:{"0":1.50154,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00826,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00826},O:{"0":0.1404},H:{"0":1.29},L:{"0":74.40685},R:{_:"0"},M:{"0":0.0413}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BM.js deleted file mode 100644 index 2be756de..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"131":0.00266,"132":0.01062,"133":0.00266,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 134 135 136 3.5 3.6"},D:{"103":0.00266,"109":0.00797,"116":0.00266,"124":0.00266,"127":0.00266,"128":0.00797,"129":0.0239,"130":0.18851,"131":0.08762,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 114 115 117 118 119 120 121 122 123 125 126 132 133 134"},F:{"114":0.02921,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"129":0.00531,"130":0.06903,"131":0.03983,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.01328,"14.1":0.01593,"15.1":0.03983,"15.2-15.3":0.00266,"15.4":0.02655,"15.5":0.13541,"15.6":1.30892,"16.0":0.0239,"16.1":0.19382,"16.2":0.24692,"16.3":0.60269,"16.4":0.16196,"16.5":0.2655,"16.6":2.51694,"17.0":0.08762,"17.1":0.19116,"17.2":0.17523,"17.3":0.20709,"17.4":0.46728,"17.5":1.0859,"17.6":10.4076,"18.0":1.78416,"18.1":3.263,"18.2":0.05841},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00732,"5.0-5.1":0,"6.0-6.1":0.02927,"7.0-7.1":0.03658,"8.1-8.4":0,"9.0-9.2":0.02927,"9.3":0.10243,"10.0-10.2":0.02195,"10.3":0.16828,"11.0-11.2":1.97542,"11.3-11.4":0.05121,"12.0-12.1":0.02927,"12.2-12.5":0.76822,"13.0-13.1":0.01463,"13.2":0.19754,"13.3":0.02927,"13.4-13.7":0.10975,"14.0-14.4":0.24144,"14.5-14.8":0.34387,"15.0-15.1":0.19754,"15.2-15.3":0.18291,"15.4":0.21949,"15.5":0.25607,"15.6-15.8":2.74363,"16.0":0.51946,"16.1":1.09745,"16.2":0.55604,"16.3":0.94381,"16.4":0.19023,"16.5":0.38045,"16.6-16.7":3.59965,"17.0":0.26339,"17.1":0.43898,"17.2":0.36582,"17.3":0.55604,"17.4":1.19257,"17.5":3.56306,"17.6-17.7":30.7799,"18.0":10.916,"18.1":9.59174,"18.2":0.38777},P:{"26":0.02448,"27":0.01224,_:"4 20 21 22 23 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00735},H:{"0":0},L:{"0":0.25363},R:{_:"0"},M:{"0":0.00735}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BN.js deleted file mode 100644 index 95b6fbd1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.0204,"78":0.00816,"82":0.00816,"104":0.00408,"115":0.24072,"118":0.00408,"120":0.00408,"121":0.00408,"125":0.00408,"126":0.00408,"127":0.00408,"128":0.00408,"129":0.00408,"130":0.01224,"131":0.06528,"132":1.6116,"133":0.102,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 105 106 107 108 109 110 111 112 113 114 116 117 119 122 123 124 134 135 136 3.5 3.6"},D:{"37":0.03264,"38":0.08976,"43":0.00408,"49":0.08976,"62":0.00408,"63":0.00408,"65":0.00816,"68":0.00408,"70":0.00816,"73":0.05712,"79":0.11016,"81":0.00408,"83":0.00816,"87":0.01632,"88":0.02448,"89":0.00816,"90":0.00408,"91":0.00816,"94":0.02448,"95":0.00408,"97":0.00408,"98":0.00816,"99":0.00816,"103":0.24888,"105":0.00408,"106":0.0816,"107":0.00816,"108":0.00816,"109":1.27296,"110":0.02448,"113":0.00408,"114":0.02448,"115":0.00408,"116":0.10608,"117":0.0204,"118":0.01224,"119":0.0204,"120":0.0408,"121":0.02856,"122":0.19992,"123":0.03264,"124":0.02856,"125":0.04896,"126":0.04896,"127":0.08568,"128":0.28968,"129":0.56712,"130":13.79856,"131":8.16,"132":0.02856,"133":0.00408,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 64 66 67 69 71 72 74 75 76 77 78 80 84 85 86 92 93 96 100 101 102 104 111 112 134"},F:{"46":0.00816,"74":0.00408,"84":0.00408,"85":0.0204,"90":0.02448,"91":0.00408,"95":0.00816,"112":0.00408,"113":0.11016,"114":1.88904,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 79 80 81 82 83 86 87 88 89 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00408,"109":0.05304,"113":0.1224,"114":0.00408,"117":0.00816,"118":0.00408,"120":0.04488,"121":0.00408,"122":0.00408,"123":0.00408,"125":0.00408,"126":0.00816,"127":0.00816,"128":0.01224,"129":0.06936,"130":2.28888,"131":1.47288,_:"12 13 14 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 115 116 119 124"},E:{"12":0.00408,"13":0.00408,"14":0.07752,"15":0.0204,_:"0 4 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00408,"13.1":0.01632,"14.1":0.66096,"15.1":0.01632,"15.2-15.3":0.00816,"15.4":0.01632,"15.5":0.0204,"15.6":0.35496,"16.0":0.03672,"16.1":0.07344,"16.2":0.0204,"16.3":0.0612,"16.4":0.02448,"16.5":0.10608,"16.6":0.28968,"17.0":0.03264,"17.1":0.0816,"17.2":0.0408,"17.3":0.11832,"17.4":0.13464,"17.5":0.34272,"17.6":1.6116,"18.0":0.43656,"18.1":0.46512,"18.2":0.00408},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00168,"5.0-5.1":0,"6.0-6.1":0.0067,"7.0-7.1":0.00838,"8.1-8.4":0,"9.0-9.2":0.0067,"9.3":0.02346,"10.0-10.2":0.00503,"10.3":0.03855,"11.0-11.2":0.45251,"11.3-11.4":0.01173,"12.0-12.1":0.0067,"12.2-12.5":0.17597,"13.0-13.1":0.00335,"13.2":0.04525,"13.3":0.0067,"13.4-13.7":0.02514,"14.0-14.4":0.05531,"14.5-14.8":0.07877,"15.0-15.1":0.04525,"15.2-15.3":0.0419,"15.4":0.05028,"15.5":0.05866,"15.6-15.8":0.62848,"16.0":0.11899,"16.1":0.25139,"16.2":0.12737,"16.3":0.2162,"16.4":0.04357,"16.5":0.08715,"16.6-16.7":0.82457,"17.0":0.06033,"17.1":0.10056,"17.2":0.0838,"17.3":0.12737,"17.4":0.27318,"17.5":0.81619,"17.6-17.7":7.05073,"18.0":2.50052,"18.1":2.19717,"18.2":0.08883},P:{"4":0.31138,"21":0.03221,"22":0.02147,"23":0.01074,"24":0.01074,"25":0.02147,"26":0.84824,"27":0.68718,_:"20 6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 17.0 18.0 19.0","5.0-5.4":0.10737,"7.2-7.4":0.06442,"11.1-11.2":0.01074,"13.0":0.01074,"16.0":0.05369},I:{"0":0.01181,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.04896,_:"6 7 8 9 10 5.5"},K:{"0":1.776,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01184},O:{"0":1.85888},H:{"0":0},L:{"0":37.43568},R:{_:"0"},M:{"0":0.15392}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BO.js deleted file mode 100644 index 0b6eb6af..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.0226,"58":0.03164,"66":0.00452,"78":0.05876,"108":0.00904,"112":0.00452,"115":0.44296,"116":0.00452,"118":0.00452,"120":0.00452,"121":0.01808,"122":0.00452,"123":0.00452,"125":0.00904,"127":0.01356,"128":0.0226,"129":0.00904,"130":0.00904,"131":0.08136,"132":1.49612,"133":0.14464,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 113 114 117 119 124 126 134 135 136 3.5 3.6"},D:{"34":0.00452,"38":0.00904,"47":0.00452,"49":0.00452,"51":0.00452,"56":0.00452,"58":0.00452,"62":0.00904,"63":0.00452,"65":0.00904,"67":0.00452,"68":0.00452,"69":0.01356,"70":0.02712,"71":0.01356,"72":0.00452,"73":0.00452,"74":0.00452,"75":0.01356,"79":0.05876,"80":0.00452,"81":0.00452,"83":0.01356,"84":0.00452,"85":0.00452,"86":0.01356,"87":0.07232,"88":0.04972,"89":0.00452,"90":0.00452,"91":1.0396,"92":0.01808,"93":0.00452,"94":0.04068,"95":0.00904,"96":0.00452,"97":0.00452,"98":0.00452,"99":0.00452,"100":0.01356,"101":0.00904,"103":0.04068,"104":0.00904,"105":0.03164,"106":0.01356,"107":0.00452,"108":0.0226,"109":4.60588,"110":0.01808,"111":0.01356,"112":0.00452,"113":0.01356,"114":0.01808,"115":0.00904,"116":0.23956,"117":0.00904,"118":0.00904,"119":0.02712,"120":0.11752,"121":0.0678,"122":0.0904,"123":0.05424,"124":0.2712,"125":0.44296,"126":0.16724,"127":0.113,"128":0.19888,"129":0.54692,"130":14.59056,"131":9.84004,"133":0.00452,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 52 53 54 55 57 59 60 61 64 66 76 77 78 102 132 134"},F:{"46":0.00452,"85":0.00904,"86":0.00452,"94":0.00904,"95":0.08588,"102":0.00452,"113":0.21696,"114":2.3052,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00452,"18":0.00904,"85":0.00452,"92":0.02712,"100":0.00452,"109":0.04068,"114":0.00904,"120":0.113,"121":0.00452,"122":0.00452,"123":0.00452,"124":0.00904,"125":0.00452,"126":0.01808,"127":0.00904,"128":0.01808,"129":0.05424,"130":2.1018,"131":1.45544,_:"12 13 14 15 17 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 119"},E:{"14":0.00452,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.4 17.0","5.1":0.00904,"13.1":0.01356,"14.1":0.01808,"15.1":0.00452,"15.5":0.03616,"15.6":0.0452,"16.0":0.00452,"16.1":0.00452,"16.2":0.00904,"16.3":0.00452,"16.4":0.00452,"16.5":0.00904,"16.6":0.09944,"17.1":0.01356,"17.2":0.21244,"17.3":0.00904,"17.4":0.05876,"17.5":0.03164,"17.6":0.16272,"18.0":0.08588,"18.1":0.16272,"18.2":0.02712},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0004,"5.0-5.1":0,"6.0-6.1":0.00161,"7.0-7.1":0.00201,"8.1-8.4":0,"9.0-9.2":0.00161,"9.3":0.00563,"10.0-10.2":0.00121,"10.3":0.00925,"11.0-11.2":0.10862,"11.3-11.4":0.00282,"12.0-12.1":0.00161,"12.2-12.5":0.04224,"13.0-13.1":0.0008,"13.2":0.01086,"13.3":0.00161,"13.4-13.7":0.00603,"14.0-14.4":0.01328,"14.5-14.8":0.01891,"15.0-15.1":0.01086,"15.2-15.3":0.01006,"15.4":0.01207,"15.5":0.01408,"15.6-15.8":0.15086,"16.0":0.02856,"16.1":0.06035,"16.2":0.03058,"16.3":0.0519,"16.4":0.01046,"16.5":0.02092,"16.6-16.7":0.19793,"17.0":0.01448,"17.1":0.02414,"17.2":0.02012,"17.3":0.03058,"17.4":0.06558,"17.5":0.19592,"17.6-17.7":1.6925,"18.0":0.60024,"18.1":0.52742,"18.2":0.02132},P:{"4":0.17637,"20":0.01037,"21":0.05187,"22":0.0415,"23":0.0415,"24":0.0415,"25":0.05187,"26":0.87148,"27":0.75736,_:"5.0-5.4 8.2 9.2 10.1 16.0","6.2-6.4":0.01037,"7.2-7.4":0.14525,"11.1-11.2":0.01037,"12.0":0.02075,"13.0":0.01037,"14.0":0.01037,"15.0":0.01037,"17.0":0.03112,"18.0":0.01037,"19.0":0.02075},I:{"0":0.01641,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.00904,_:"6 7 8 9 10 5.5"},K:{"0":0.51521,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.15895},H:{"0":0},L:{"0":49.25232},R:{_:"0"},M:{"0":0.19732}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BR.js deleted file mode 100644 index 9c665277..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"3":0.00332,"11":0.00332,"52":0.00332,"59":0.00996,"78":0.00332,"88":0.00332,"91":0.00332,"102":0.00332,"103":0.00332,"105":0.00332,"110":0.00332,"113":0.00332,"114":0.01661,"115":0.09631,"121":0.00332,"123":0.00332,"125":0.00664,"126":0.00332,"127":0.00664,"128":0.05646,"129":0.00664,"130":0.00996,"131":0.05314,"132":0.81032,"133":0.08303,_:"2 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 104 106 107 108 109 111 112 116 117 118 119 120 122 124 134 135 136 3.5 3.6"},D:{"47":0.00332,"51":0.00332,"55":0.00664,"63":0.00332,"65":0.00332,"66":0.03653,"71":0.00996,"72":0.00332,"75":0.00996,"78":0.00332,"79":0.01993,"80":0.00332,"81":0.00664,"83":0.00332,"84":0.00332,"85":0.00664,"86":0.00664,"87":0.01993,"88":0.00664,"89":0.03653,"90":0.00664,"91":0.269,"92":0.00332,"93":0.00332,"94":0.04649,"95":0.00332,"96":0.01328,"97":0.00332,"98":0.00332,"99":0.00332,"100":0.00332,"101":0.00332,"102":0.00664,"103":0.02989,"104":0.01328,"105":0.01328,"106":0.01328,"107":0.01993,"108":0.01993,"109":4.00181,"110":0.01328,"111":0.01661,"112":0.01661,"113":0.00664,"114":0.03321,"115":0.00996,"116":0.04649,"117":0.02989,"118":0.00996,"119":0.04649,"120":0.06974,"121":0.02325,"122":0.08303,"123":0.03985,"124":0.10959,"125":0.07306,"126":0.09299,"127":0.09299,"128":0.23247,"129":0.51808,"130":10.98255,"131":7.50214,"132":0.01661,"133":0.00332,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 52 53 54 56 57 58 59 60 61 62 64 67 68 69 70 73 74 76 77 134"},F:{"85":0.00332,"95":0.01993,"112":0.00332,"113":0.17601,"114":2.25828,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.01328,"17":0.00332,"92":0.00996,"107":0.00332,"108":0.00332,"109":0.02657,"110":0.00332,"111":0.00332,"114":0.00332,"120":0.00332,"121":0.00332,"122":0.00332,"123":0.00332,"124":0.00332,"125":0.00664,"126":0.00664,"127":0.00664,"128":0.01661,"129":0.07306,"130":1.8664,"131":1.35829,_:"12 13 14 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 112 113 115 116 117 118 119"},E:{"4":0.00332,_:"0 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 10.1 12.1 15.1 15.2-15.3","5.1":0.00996,"9.1":0.00332,"11.1":0.00996,"13.1":0.00664,"14.1":0.00664,"15.4":0.00332,"15.5":0.00332,"15.6":0.02657,"16.0":0.00332,"16.1":0.00332,"16.2":0.00332,"16.3":0.00664,"16.4":0.00332,"16.5":0.00332,"16.6":0.03321,"17.0":0.00332,"17.1":0.00664,"17.2":0.00332,"17.3":0.00996,"17.4":0.02325,"17.5":0.03653,"17.6":0.13284,"18.0":0.09631,"18.1":0.1262,"18.2":0.00664},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00041,"5.0-5.1":0,"6.0-6.1":0.00165,"7.0-7.1":0.00206,"8.1-8.4":0,"9.0-9.2":0.00165,"9.3":0.00578,"10.0-10.2":0.00124,"10.3":0.00949,"11.0-11.2":0.11143,"11.3-11.4":0.00289,"12.0-12.1":0.00165,"12.2-12.5":0.04333,"13.0-13.1":0.00083,"13.2":0.01114,"13.3":0.00165,"13.4-13.7":0.00619,"14.0-14.4":0.01362,"14.5-14.8":0.0194,"15.0-15.1":0.01114,"15.2-15.3":0.01032,"15.4":0.01238,"15.5":0.01444,"15.6-15.8":0.15476,"16.0":0.0293,"16.1":0.06191,"16.2":0.03137,"16.3":0.05324,"16.4":0.01073,"16.5":0.02146,"16.6-16.7":0.20305,"17.0":0.01486,"17.1":0.02476,"17.2":0.02064,"17.3":0.03137,"17.4":0.06727,"17.5":0.20099,"17.6-17.7":1.73623,"18.0":0.61575,"18.1":0.54105,"18.2":0.02187},P:{"4":0.01062,"21":0.01062,"22":0.01062,"23":0.01062,"24":0.02124,"25":0.02124,"26":0.46719,"27":0.44596,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.05309,"17.0":0.01062},I:{"0":0.48642,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00015,"4.4":0,"4.4.3-4.4.4":0.00063},A:{"8":0.00356,"9":0.00356,"11":0.34491,_:"6 7 10 5.5"},K:{"0":0.18698,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02671},H:{"0":0},L:{"0":60.99841},R:{_:"0"},M:{"0":0.07346}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BS.js deleted file mode 100644 index 2e9565d1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.00271,"95":0.02166,"115":0.05687,"128":0.00542,"131":0.02166,"132":0.20039,"133":0.01896,"134":0.00271,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 129 130 135 136 3.5 3.6"},D:{"71":0.00271,"75":0.00271,"76":0.00271,"83":0.00271,"87":0.00271,"90":0.00271,"91":0.00271,"93":0.01083,"97":0.00271,"98":0.00271,"101":0.00271,"103":0.03791,"104":0.00271,"106":0.00271,"108":0.00271,"109":0.15706,"111":0.00271,"114":0.00542,"115":0.00271,"116":0.08395,"119":0.00271,"120":0.00271,"121":0.00271,"122":0.01625,"123":0.00542,"124":0.00812,"125":0.00271,"126":0.0352,"127":0.01625,"128":0.06228,"129":0.19227,"130":2.07162,"131":1.21589,"132":0.00812,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 72 73 74 77 78 79 80 81 84 85 86 88 89 92 94 95 96 99 100 102 105 107 110 112 113 117 118 133 134"},F:{"113":0.00812,"114":0.08124,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00271,"107":0.00271,"109":0.01354,"123":0.00271,"126":0.00812,"127":0.00271,"128":0.01083,"129":0.10561,"130":0.98571,"131":0.65263,_:"13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 113 114 115 116 117 118 119 120 121 122 124 125"},E:{"9":0.00271,"14":0.00812,"15":0.00271,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00271,"13.1":0.01354,"14.1":0.0352,"15.1":0.01896,"15.2-15.3":0.02166,"15.4":0.21122,"15.5":0.11374,"15.6":0.99654,"16.0":0.01354,"16.1":0.13811,"16.2":0.18144,"16.3":0.33038,"16.4":0.11915,"16.5":0.16519,"16.6":1.80894,"17.0":0.04333,"17.1":0.1679,"17.2":0.10561,"17.3":0.16248,"17.4":0.35475,"17.5":0.92614,"17.6":8.17545,"18.0":1.48128,"18.1":2.58343,"18.2":0.06499},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0066,"5.0-5.1":0,"6.0-6.1":0.02641,"7.0-7.1":0.03301,"8.1-8.4":0,"9.0-9.2":0.02641,"9.3":0.09243,"10.0-10.2":0.01981,"10.3":0.15185,"11.0-11.2":1.78259,"11.3-11.4":0.04622,"12.0-12.1":0.02641,"12.2-12.5":0.69323,"13.0-13.1":0.0132,"13.2":0.17826,"13.3":0.02641,"13.4-13.7":0.09903,"14.0-14.4":0.21787,"14.5-14.8":0.3103,"15.0-15.1":0.17826,"15.2-15.3":0.16505,"15.4":0.19807,"15.5":0.23108,"15.6-15.8":2.47582,"16.0":0.46875,"16.1":0.99033,"16.2":0.50177,"16.3":0.85168,"16.4":0.17166,"16.5":0.34331,"16.6-16.7":3.24827,"17.0":0.23768,"17.1":0.39613,"17.2":0.33011,"17.3":0.50177,"17.4":1.07615,"17.5":3.21526,"17.6-17.7":27.77536,"18.0":9.85045,"18.1":8.65545,"18.2":0.34992},P:{"4":0.01047,"22":0.01047,"24":0.02093,"25":0.01047,"26":0.39771,"27":0.41865,_:"20 21 23 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.01047,"17.0":0.01047},I:{"0":0.00728,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"8":0.00271,"11":0.00271,_:"6 7 9 10 5.5"},K:{"0":0.01458,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":6.19086},R:{_:"0"},M:{"0":0.02917}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BT.js deleted file mode 100644 index 7658787d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"45":0.006,"67":0.003,"97":0.02101,"115":0.19507,"123":0.003,"126":0.01501,"127":0.003,"129":0.012,"131":0.09903,"132":0.50717,"133":0.03901,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 124 125 128 130 134 135 136 3.5 3.6"},D:{"75":0.003,"79":0.006,"87":0.03901,"89":0.003,"91":0.006,"93":0.009,"94":0.003,"96":0.009,"97":0.003,"98":0.04502,"99":0.01801,"100":0.006,"103":0.04502,"105":0.003,"106":0.009,"108":0.009,"109":1.1854,"110":0.009,"111":0.01501,"112":0.003,"114":0.04502,"115":0.02701,"116":0.05702,"117":0.009,"118":0.04502,"119":0.006,"120":0.02101,"121":0.01801,"122":0.01501,"123":0.06602,"124":0.02101,"125":0.003,"126":0.05402,"127":0.02701,"128":0.27609,"129":0.3061,"130":10.60553,"131":9.56719,"132":0.009,"133":0.006,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 80 81 83 84 85 86 88 90 92 95 101 102 104 107 113 134"},F:{"46":0.003,"95":0.01501,"109":0.003,"113":0.006,"114":0.27609,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.003,"90":0.003,"92":0.012,"98":0.006,"99":0.003,"100":0.003,"107":0.003,"111":0.003,"112":0.003,"114":0.01501,"115":0.003,"117":0.003,"118":0.003,"122":0.003,"123":0.006,"124":0.02101,"125":0.012,"126":0.02101,"127":0.02401,"128":0.05402,"129":0.05402,"130":1.57553,"131":1.61754,_:"12 13 14 15 17 18 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 101 102 103 104 105 106 108 109 110 113 116 119 120 121"},E:{"15":0.003,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.4 18.2","13.1":0.003,"14.1":0.02401,"15.2-15.3":0.003,"15.5":0.003,"15.6":0.03301,"16.0":0.09303,"16.1":0.006,"16.2":0.003,"16.3":0.003,"16.4":0.02101,"16.5":0.003,"16.6":0.03301,"17.0":0.003,"17.1":0.02101,"17.2":0.12304,"17.3":0.009,"17.4":0.006,"17.5":0.10504,"17.6":0.40213,"18.0":0.27009,"18.1":0.26109},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00068,"5.0-5.1":0,"6.0-6.1":0.00272,"7.0-7.1":0.00339,"8.1-8.4":0,"9.0-9.2":0.00272,"9.3":0.0095,"10.0-10.2":0.00204,"10.3":0.01561,"11.0-11.2":0.18328,"11.3-11.4":0.00475,"12.0-12.1":0.00272,"12.2-12.5":0.07127,"13.0-13.1":0.00136,"13.2":0.01833,"13.3":0.00272,"13.4-13.7":0.01018,"14.0-14.4":0.0224,"14.5-14.8":0.0319,"15.0-15.1":0.01833,"15.2-15.3":0.01697,"15.4":0.02036,"15.5":0.02376,"15.6-15.8":0.25455,"16.0":0.0482,"16.1":0.10182,"16.2":0.05159,"16.3":0.08757,"16.4":0.01765,"16.5":0.0353,"16.6-16.7":0.33397,"17.0":0.02444,"17.1":0.04073,"17.2":0.03394,"17.3":0.05159,"17.4":0.11065,"17.5":0.33058,"17.6-17.7":2.85574,"18.0":1.01278,"18.1":0.88991,"18.2":0.03598},P:{"4":0.06298,"20":0.0105,"21":0.02099,"22":0.0105,"23":0.06298,"24":0.04199,"25":0.02099,"26":0.27292,"27":0.22044,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 17.0 18.0","6.2-6.4":0.0105,"7.2-7.4":0.05249,"14.0":0.16795,"16.0":0.02099,"19.0":0.0105},I:{"0":0.00698,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"10":0.003,"11":0.009,_:"6 7 8 9 5.5"},K:{"0":0.48986,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":1.0357},H:{"0":0},L:{"0":61.61508},R:{_:"0"},M:{"0":0.02799}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BW.js deleted file mode 100644 index 481062d6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00697,"47":0.00349,"49":0.00697,"52":0.00697,"70":0.00349,"78":0.01743,"110":0.00349,"111":0.01046,"113":0.00349,"115":0.19516,"116":0.00349,"120":0.01046,"121":0.00349,"125":0.08364,"126":0.00697,"127":0.01743,"128":0.04182,"129":0.00349,"130":0.01046,"131":0.09061,"132":0.83292,"133":0.06273,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 112 114 117 118 119 122 123 124 134 135 136 3.5 3.6"},D:{"11":0.00349,"49":0.00349,"50":0.00349,"54":0.01046,"56":0.00349,"58":0.00349,"61":0.00349,"63":0.01046,"68":0.00349,"69":0.00349,"70":0.00697,"71":0.00349,"72":0.00349,"73":0.01394,"74":0.00349,"75":0.03485,"76":0.00349,"78":0.01743,"79":0.00349,"80":0.00349,"81":0.01046,"83":0.01743,"84":0.00349,"85":0.00349,"86":0.01046,"87":0.01394,"88":0.05576,"89":0.00349,"90":0.00349,"91":0.0244,"92":0.01046,"93":0.00697,"94":0.02091,"95":0.01394,"96":0.01394,"98":0.02788,"99":0.02091,"100":0.01394,"101":0.00349,"102":0.00349,"103":0.04531,"104":0.03485,"105":0.00349,"106":0.00697,"107":0.01743,"108":0.00349,"109":1.67977,"110":0.00697,"111":0.02788,"112":0.01394,"114":0.03137,"115":0.00697,"116":0.0941,"117":0.00349,"118":0.08364,"119":0.05228,"120":0.04182,"121":0.02788,"122":0.12895,"123":0.04182,"124":0.04182,"125":0.06622,"126":0.07319,"127":0.06622,"128":0.21607,"129":0.52972,"130":10.86623,"131":6.15103,"132":0.00697,"133":0.00349,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 53 55 57 59 60 62 64 65 66 67 77 97 113 134"},F:{"60":0.00349,"62":0.00349,"64":0.00349,"85":0.00349,"95":0.01394,"102":0.00349,"105":0.00349,"109":0.00697,"111":0.00349,"112":0.00349,"113":0.02091,"114":0.697,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 106 107 108 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.01046,"13":0.00349,"14":0.01394,"15":0.00349,"16":0.00349,"17":0.01046,"18":0.00697,"84":0.00349,"89":0.00349,"90":0.00697,"92":0.11501,"100":0.02091,"108":0.00349,"109":0.05925,"110":0.00349,"114":0.00697,"118":0.00349,"119":0.01046,"120":0.00697,"121":0.00349,"122":0.01046,"123":0.00349,"124":0.01046,"125":0.03485,"126":0.04182,"127":0.0244,"128":0.07319,"129":0.19168,"130":3.12953,"131":1.76341,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 111 112 113 115 116 117"},E:{"14":0.00697,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 16.2 18.2","11.1":0.00697,"13.1":0.08364,"14.1":0.04879,"15.1":0.00697,"15.2-15.3":0.00349,"15.4":0.00697,"15.5":0.00697,"15.6":0.12895,"16.0":0.01046,"16.1":0.05228,"16.3":0.01743,"16.4":0.00349,"16.5":0.02091,"16.6":0.13243,"17.0":0.00349,"17.1":0.00349,"17.2":0.04531,"17.3":0.01394,"17.4":0.01046,"17.5":0.04182,"17.6":0.46002,"18.0":0.22653,"18.1":0.2788},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00052,"5.0-5.1":0,"6.0-6.1":0.00208,"7.0-7.1":0.0026,"8.1-8.4":0,"9.0-9.2":0.00208,"9.3":0.00729,"10.0-10.2":0.00156,"10.3":0.01197,"11.0-11.2":0.14055,"11.3-11.4":0.00364,"12.0-12.1":0.00208,"12.2-12.5":0.05466,"13.0-13.1":0.00104,"13.2":0.01405,"13.3":0.00208,"13.4-13.7":0.00781,"14.0-14.4":0.01718,"14.5-14.8":0.02447,"15.0-15.1":0.01405,"15.2-15.3":0.01301,"15.4":0.01562,"15.5":0.01822,"15.6-15.8":0.19521,"16.0":0.03696,"16.1":0.07808,"16.2":0.03956,"16.3":0.06715,"16.4":0.01353,"16.5":0.02707,"16.6-16.7":0.25611,"17.0":0.01874,"17.1":0.03123,"17.2":0.02603,"17.3":0.03956,"17.4":0.08485,"17.5":0.25351,"17.6-17.7":2.18995,"18.0":0.77666,"18.1":0.68244,"18.2":0.02759},P:{"4":0.2371,"20":0.01031,"21":0.03093,"22":0.05154,"23":0.05154,"24":0.10309,"25":0.06185,"26":0.95873,"27":0.64946,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0","6.2-6.4":0.01031,"7.2-7.4":0.16494,"13.0":0.08247,"14.0":0.01031,"16.0":0.02062,"17.0":0.03093,"18.0":0.01031,"19.0":0.08247},I:{"0":0.0455,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.02091,_:"6 7 8 9 10 5.5"},K:{"0":1.10876,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.03909,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00652},O:{"0":0.61893},H:{"0":0.09},L:{"0":59.25513},R:{_:"0"},M:{"0":0.18894}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BY.js deleted file mode 100644 index 01b4ec87..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"45":0.00515,"52":0.41707,"66":0.00515,"78":0.00515,"88":0.00515,"91":0.00515,"96":0.01545,"97":0.00515,"105":0.02575,"110":0.00515,"111":0.00515,"113":0.0103,"114":0.00515,"115":0.59728,"120":0.00515,"122":0.00515,"123":0.00515,"125":0.0103,"126":0.01545,"127":0.09268,"128":0.06694,"129":0.00515,"130":0.0103,"131":0.11328,"132":1.49321,"133":0.20081,"134":0.00515,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 98 99 100 101 102 103 104 106 107 108 109 112 116 117 118 119 121 124 135 136 3.5 3.6"},D:{"49":0.05149,"51":0.00515,"53":0.00515,"55":0.00515,"58":0.29349,"64":0.00515,"72":0.00515,"77":0.01545,"78":0.0103,"79":0.13387,"80":0.02575,"81":0.00515,"84":0.04634,"86":0.00515,"87":0.01545,"88":0.01545,"89":0.0206,"90":0.03089,"92":0.0103,"94":0.0103,"95":0.00515,"96":0.00515,"97":0.00515,"98":0.0103,"99":0.00515,"100":0.0103,"101":0.0103,"102":0.01545,"103":0.03604,"104":0.00515,"105":0.0103,"106":0.12358,"107":0.01545,"108":0.02575,"109":2.98127,"110":0.04634,"111":0.03604,"112":0.0206,"113":0.01545,"114":0.0206,"115":0.0103,"116":0.05149,"117":0.00515,"118":0.14932,"119":0.07724,"120":0.04119,"121":0.03604,"122":0.05149,"123":0.02575,"124":0.18022,"125":0.02575,"126":0.08238,"127":0.09783,"128":0.20081,"129":0.43767,"130":13.55732,"131":7.2292,"132":0.00515,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 52 54 56 57 59 60 61 62 63 65 66 67 68 69 70 71 73 74 75 76 83 85 91 93 133 134"},F:{"36":0.02575,"42":0.03604,"72":0.0103,"73":0.0103,"75":0.00515,"79":0.09783,"80":0.0103,"81":0.01545,"82":0.00515,"83":0.0103,"84":0.00515,"85":0.13387,"86":0.0206,"87":0.00515,"90":0.00515,"92":0.00515,"93":0.0103,"94":0.00515,"95":0.89078,"100":0.00515,"101":0.00515,"102":0.0103,"109":0.00515,"110":0.00515,"111":0.00515,"112":0.0103,"113":0.08238,"114":4.54142,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 74 76 77 78 88 89 91 96 97 98 99 103 104 105 106 107 108 9.5-9.6 10.0-10.1 10.5 10.6 11.5 11.6","11.1":0.00515,"12.1":0.02575},B:{"18":0.0103,"92":0.01545,"107":0.00515,"109":0.20596,"110":0.0103,"117":0.0103,"121":0.00515,"122":0.00515,"123":0.00515,"124":0.00515,"126":0.0103,"127":0.00515,"128":0.07724,"129":0.05149,"130":1.69917,"131":1.17912,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 111 112 113 114 115 116 118 119 120 125"},E:{"13":0.00515,"14":0.00515,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1","5.1":0.00515,"13.1":0.06694,"14.1":0.03604,"15.1":0.00515,"15.2-15.3":0.00515,"15.4":0.03089,"15.5":0.01545,"15.6":0.30379,"16.0":0.00515,"16.1":0.04634,"16.2":0.03604,"16.3":0.08753,"16.4":0.03604,"16.5":0.03604,"16.6":0.38103,"17.0":0.02575,"17.1":0.10298,"17.2":0.04119,"17.3":0.06179,"17.4":0.15447,"17.5":0.242,"17.6":1.42112,"18.0":0.64877,"18.1":0.7878,"18.2":0.0103},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00165,"5.0-5.1":0,"6.0-6.1":0.00659,"7.0-7.1":0.00824,"8.1-8.4":0,"9.0-9.2":0.00659,"9.3":0.02308,"10.0-10.2":0.00494,"10.3":0.03791,"11.0-11.2":0.44502,"11.3-11.4":0.01154,"12.0-12.1":0.00659,"12.2-12.5":0.17306,"13.0-13.1":0.0033,"13.2":0.0445,"13.3":0.00659,"13.4-13.7":0.02472,"14.0-14.4":0.05439,"14.5-14.8":0.07747,"15.0-15.1":0.0445,"15.2-15.3":0.04121,"15.4":0.04945,"15.5":0.05769,"15.6-15.8":0.61808,"16.0":0.11702,"16.1":0.24723,"16.2":0.12527,"16.3":0.21262,"16.4":0.04285,"16.5":0.08571,"16.6-16.7":0.81093,"17.0":0.05934,"17.1":0.09889,"17.2":0.08241,"17.3":0.12527,"17.4":0.26866,"17.5":0.80269,"17.6-17.7":6.93408,"18.0":2.45915,"18.1":2.16082,"18.2":0.08736},P:{"4":0.05279,"21":0.01056,"23":0.01056,"24":0.01056,"25":0.03167,"26":0.55955,"27":0.36952,_:"20 22 5.0-5.4 8.2 9.2 10.1 12.0 13.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.06335,"7.2-7.4":0.01056,"11.1-11.2":0.01056,"14.0":0.01056},I:{"0":0.03389,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.01915,"11":0.14046,_:"6 7 9 10 5.5"},K:{"0":1.02348,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0097},O:{"0":0.05822},H:{"0":0.01},L:{"0":28.03554},R:{_:"0"},M:{"0":0.08248}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BZ.js deleted file mode 100644 index ca6ecf25..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/BZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"68":0.0133,"78":0.00333,"102":0.01995,"105":0.00333,"106":0.0133,"107":0.00333,"108":0.0133,"109":0.02328,"110":0.01995,"111":0.01663,"112":0.00333,"113":0.00998,"115":0.08313,"120":0.17955,"121":0.00665,"125":0.00665,"126":0.00333,"127":0.00333,"128":0.02328,"129":0.00998,"130":0.00998,"131":0.1197,"132":0.78138,"133":0.0798,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 114 116 117 118 119 122 123 124 134 135 136 3.5 3.6"},D:{"39":0.00333,"48":0.00998,"64":0.00333,"66":0.00998,"75":0.00333,"76":0.00333,"79":0.02328,"81":0.00665,"87":0.00998,"88":0.10973,"91":0.10308,"92":0.0133,"93":0.02993,"96":0.00333,"97":0.01995,"99":0.00333,"100":0.0266,"103":0.16625,"104":0.00665,"105":0.01995,"106":0.10973,"107":0.07648,"108":0.25935,"109":0.36908,"110":0.11305,"111":0.0931,"112":0.14298,"113":0.05653,"114":1.43308,"115":0.00333,"116":0.3458,"117":0.2394,"118":0.23275,"119":0.23608,"120":0.25935,"121":0.01995,"122":0.0532,"123":0.02993,"124":0.05653,"125":0.0665,"126":0.38238,"127":0.05653,"128":0.07648,"129":0.36243,"130":4.51868,"131":2.53033,"132":0.01663,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 65 67 68 69 70 71 72 73 74 77 78 80 83 84 85 86 89 90 94 95 98 101 102 133 134"},F:{"28":0.00665,"85":0.0133,"89":0.00333,"93":0.01995,"94":0.03325,"95":0.00333,"97":0.00998,"113":0.0532,"114":0.68163,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 90 91 92 96 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00998,"86":0.00665,"90":0.00333,"92":0.00333,"106":0.00333,"107":0.03325,"108":0.0399,"109":0.05985,"111":0.0266,"113":0.0266,"114":0.14298,"120":0.00333,"121":0.00998,"122":0.00333,"124":0.00998,"125":0.00665,"126":0.01995,"127":0.00665,"128":0.01995,"129":0.04323,"130":1.0906,"131":0.5586,_:"12 13 14 15 16 17 79 80 81 83 84 85 87 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 110 112 115 116 117 118 119 123"},E:{"14":0.00333,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00333,"13.1":0.00998,"14.1":0.02993,"15.1":0.09975,"15.2-15.3":0.04323,"15.4":0.15628,"15.5":0.14963,"15.6":0.94098,"16.0":0.00665,"16.1":0.06318,"16.2":0.07648,"16.3":0.1862,"16.4":0.1064,"16.5":0.20283,"16.6":0.97755,"17.0":0.0399,"17.1":0.21613,"17.2":0.0931,"17.3":0.13633,"17.4":0.2793,"17.5":0.52535,"17.6":5.62923,"18.0":1.10058,"18.1":2.13133,"18.2":0.04988},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00457,"5.0-5.1":0,"6.0-6.1":0.01827,"7.0-7.1":0.02284,"8.1-8.4":0,"9.0-9.2":0.01827,"9.3":0.06394,"10.0-10.2":0.0137,"10.3":0.10504,"11.0-11.2":1.2331,"11.3-11.4":0.03197,"12.0-12.1":0.01827,"12.2-12.5":0.47954,"13.0-13.1":0.00913,"13.2":0.12331,"13.3":0.01827,"13.4-13.7":0.06851,"14.0-14.4":0.15071,"14.5-14.8":0.21465,"15.0-15.1":0.12331,"15.2-15.3":0.11418,"15.4":0.13701,"15.5":0.15985,"15.6-15.8":1.71264,"16.0":0.32426,"16.1":0.68506,"16.2":0.34709,"16.3":0.58915,"16.4":0.11874,"16.5":0.23749,"16.6-16.7":2.24698,"17.0":0.16441,"17.1":0.27402,"17.2":0.22835,"17.3":0.34709,"17.4":0.74443,"17.5":2.22415,"17.6-17.7":19.21352,"18.0":6.81402,"18.1":5.98738,"18.2":0.24205},P:{"4":0.04277,"20":0.02138,"23":0.01069,"24":0.02138,"25":0.01069,"26":0.68428,"27":0.40629,_:"21 22 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","7.2-7.4":0.01069},I:{"0":0.01998,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"6":0.01241,"8":0.01241,"11":0.16137,_:"7 9 10 5.5"},K:{"0":0.08678,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00668},H:{"0":0},L:{"0":19.5115},R:{_:"0"},M:{"0":0.84773}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CA.js deleted file mode 100644 index 698864e2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"38":0.01991,"43":0.01493,"44":0.05972,"45":0.02489,"47":0.00498,"52":0.01991,"57":0.01493,"78":0.01991,"83":0.00498,"88":0.01493,"89":0.00995,"91":0.00498,"102":0.00498,"103":0.00498,"104":0.00498,"107":0.00498,"108":0.00498,"109":0.00498,"110":0.00498,"113":0.00995,"115":0.28369,"120":0.00498,"121":0.00498,"122":0.00498,"123":0.01493,"124":0.00498,"125":0.01493,"126":0.00498,"127":0.02986,"128":0.07466,"129":0.00995,"130":0.03484,"131":0.1941,"132":2.10029,"133":0.16424,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 48 49 50 51 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 90 92 93 94 95 96 97 98 99 100 101 105 106 111 112 114 116 117 118 119 134 135 136 3.5 3.6"},D:{"25":0.00995,"38":0.00498,"39":0.00498,"40":0.00498,"41":0.00498,"42":0.00498,"43":0.00498,"44":0.00498,"45":0.00498,"46":0.00498,"47":0.02489,"48":0.18913,"49":0.0647,"50":0.00498,"51":0.00498,"52":0.00498,"53":0.00498,"54":0.00498,"55":0.00498,"56":0.00498,"57":0.00498,"58":0.00498,"59":0.00498,"60":0.00498,"66":0.00498,"74":0.00498,"76":0.00498,"79":0.01991,"80":0.01493,"81":0.05475,"83":0.15926,"84":0.00498,"85":0.00498,"86":0.00498,"87":0.04479,"88":0.02489,"89":0.00498,"90":0.00498,"91":0.00498,"92":0.00498,"93":0.02986,"94":0.00498,"96":0.00498,"97":0.00498,"98":0.00995,"99":0.03484,"100":0.00498,"101":0.00498,"102":0.01493,"103":0.31853,"104":0.04479,"105":0.01493,"106":0.01493,"107":0.01991,"108":0.09456,"109":0.85107,"110":0.01493,"111":0.02986,"112":0.01991,"113":0.08461,"114":0.11447,"115":0.23392,"116":0.27871,"117":0.02489,"118":0.01493,"119":0.03484,"120":0.03982,"121":0.03982,"122":0.08959,"123":0.07963,"124":0.18913,"125":1.22434,"126":0.54249,"127":0.45788,"128":0.48775,"129":1.65236,"130":14.31385,"131":6.9678,"132":0.00995,"133":0.00498,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 61 62 63 64 65 67 68 69 70 71 72 73 75 77 78 95 134"},F:{"85":0.00995,"95":0.03982,"102":0.00498,"112":0.00498,"113":0.05972,"114":0.56738,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00498,"13":0.01493,"85":0.00498,"92":0.00498,"107":0.00498,"108":0.00498,"109":0.07963,"110":0.00498,"111":0.00498,"112":0.00995,"113":0.00498,"114":0.00498,"118":0.00498,"119":0.00498,"120":0.00498,"121":0.00498,"122":0.07963,"123":0.00498,"124":0.01493,"125":0.00995,"126":0.01991,"127":0.01991,"128":0.03982,"129":0.2389,"130":3.77754,"131":2.50343,_:"14 15 16 17 18 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 115 116 117"},E:{"8":0.00498,"9":0.02489,"13":0.00498,"14":0.03982,"15":0.00498,_:"0 4 5 6 7 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00498,"12.1":0.00995,"13.1":0.10949,"14.1":0.11447,"15.1":0.01493,"15.2-15.3":0.01493,"15.4":0.02986,"15.5":0.04977,"15.6":0.54747,"16.0":0.05475,"16.1":0.07466,"16.2":0.05972,"16.3":0.14931,"16.4":0.04479,"16.5":0.07963,"16.6":0.74157,"17.0":0.02489,"17.1":0.07963,"17.2":0.06968,"17.3":0.08461,"17.4":0.26876,"17.5":0.39318,"17.6":3.06583,"18.0":0.64203,"18.1":1.07503,"18.2":0.02986},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00256,"5.0-5.1":0,"6.0-6.1":0.01024,"7.0-7.1":0.01281,"8.1-8.4":0,"9.0-9.2":0.01024,"9.3":0.03586,"10.0-10.2":0.00768,"10.3":0.05891,"11.0-11.2":0.69153,"11.3-11.4":0.01793,"12.0-12.1":0.01024,"12.2-12.5":0.26893,"13.0-13.1":0.00512,"13.2":0.06915,"13.3":0.01024,"13.4-13.7":0.03842,"14.0-14.4":0.08452,"14.5-14.8":0.12038,"15.0-15.1":0.06915,"15.2-15.3":0.06403,"15.4":0.07684,"15.5":0.08964,"15.6-15.8":0.96046,"16.0":0.18185,"16.1":0.38418,"16.2":0.19465,"16.3":0.3304,"16.4":0.06659,"16.5":0.13318,"16.6-16.7":1.26012,"17.0":0.0922,"17.1":0.15367,"17.2":0.12806,"17.3":0.19465,"17.4":0.41748,"17.5":1.24732,"17.6-17.7":10.77508,"18.0":3.82135,"18.1":3.35777,"18.2":0.13575},P:{"4":0.06499,"20":0.01083,"21":0.04332,"22":0.01083,"23":0.02166,"24":0.02166,"25":0.03249,"26":1.1589,"27":0.99644,"5.0-5.4":0.01083,"6.2-6.4":0.01083,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 18.0","16.0":0.02166,"17.0":0.01083,"19.0":0.01083},I:{"0":0.0401,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"8":0.01069,"9":0.01069,"11":0.12295,_:"6 7 10 5.5"},K:{"0":0.16576,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01005},O:{"0":0.0653},H:{"0":0},L:{"0":21.83831},R:{_:"0"},M:{"0":0.5023}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CD.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CD.js deleted file mode 100644 index fbaedb82..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"57":0.03854,"72":0.00133,"81":0.00133,"115":0.57679,"124":0.00133,"125":0.00133,"127":0.00399,"128":0.00399,"129":0.01063,"130":0.00399,"131":0.01861,"132":0.28175,"133":0.0319,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 126 134 135 136 3.5 3.6"},D:{"11":0.00665,"38":0.00133,"43":0.00133,"44":0.00133,"49":0.00133,"57":0.00133,"64":0.00133,"68":0.00133,"69":0.00133,"70":0.00266,"74":0.00266,"77":0.00133,"79":0.02126,"81":0.00399,"83":0.00399,"86":0.00133,"87":0.00665,"88":0.00797,"89":0.00133,"90":0.00266,"92":0.00266,"93":0.00133,"94":0.00133,"95":0.00266,"98":0.00399,"99":0.00797,"100":0.00266,"103":0.00532,"105":0.00133,"106":0.01196,"108":0.00133,"109":0.13423,"111":0.00266,"112":0.00266,"113":0.00133,"114":0.01462,"116":0.00797,"117":0.00133,"118":0.00797,"119":0.01861,"120":0.00532,"121":0.00665,"122":0.00133,"123":0.00532,"124":0.01994,"125":0.00266,"126":0.01329,"127":0.00797,"128":0.02259,"129":0.04652,"130":0.7655,"131":0.4718,"132":0.00133,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 45 46 47 48 50 51 52 53 54 55 56 58 59 60 61 62 63 65 66 67 71 72 73 75 76 78 80 84 85 91 96 97 101 102 104 107 110 115 133 134"},F:{"34":0.00133,"40":0.00133,"41":0.00399,"46":0.00133,"79":0.00399,"83":0.00532,"84":0.00532,"85":0.02791,"86":0.00266,"90":0.00133,"95":0.01329,"102":0.03455,"108":0.00133,"111":0.00133,"112":0.00399,"113":0.00665,"114":0.24719,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 87 88 89 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00532,"13":0.00133,"14":0.00266,"16":0.00133,"17":0.00266,"18":0.01063,"84":0.00133,"89":0.00266,"90":0.00266,"92":0.01595,"100":0.00266,"109":0.00266,"117":0.00133,"119":0.00399,"120":0.00266,"121":0.00133,"122":0.00133,"124":0.00665,"125":0.00133,"126":0.00266,"127":0.01861,"128":0.00399,"129":0.01728,"130":0.25916,"131":0.20334,_:"15 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 118 123"},E:{"14":0.00133,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.4 16.0 16.2 16.4 17.0 17.2 18.2","12.1":0.00133,"13.1":0.00399,"14.1":0.00532,"15.5":0.00399,"15.6":0.0093,"16.1":0.00133,"16.3":0.00133,"16.5":0.00133,"16.6":0.00665,"17.1":0.00133,"17.3":0.00133,"17.4":0.00266,"17.5":0.00399,"17.6":0.01728,"18.0":0.0093,"18.1":0.02392},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00093,"5.0-5.1":0,"6.0-6.1":0.00374,"7.0-7.1":0.00467,"8.1-8.4":0,"9.0-9.2":0.00374,"9.3":0.01309,"10.0-10.2":0.0028,"10.3":0.0215,"11.0-11.2":0.25238,"11.3-11.4":0.00654,"12.0-12.1":0.00374,"12.2-12.5":0.09815,"13.0-13.1":0.00187,"13.2":0.02524,"13.3":0.00374,"13.4-13.7":0.01402,"14.0-14.4":0.03085,"14.5-14.8":0.04393,"15.0-15.1":0.02524,"15.2-15.3":0.02337,"15.4":0.02804,"15.5":0.03272,"15.6-15.8":0.35053,"16.0":0.06637,"16.1":0.14021,"16.2":0.07104,"16.3":0.12058,"16.4":0.0243,"16.5":0.04861,"16.6-16.7":0.45989,"17.0":0.03365,"17.1":0.05608,"17.2":0.04674,"17.3":0.07104,"17.4":0.15236,"17.5":0.45522,"17.6-17.7":3.93243,"18.0":1.39462,"18.1":1.22544,"18.2":0.04954},P:{"4":0.02132,"20":0.03198,"21":0.04264,"22":0.03198,"23":0.01066,"24":0.02132,"25":0.04264,"26":0.21322,"27":0.05331,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0 13.0 14.0 17.0","7.2-7.4":0.03198,"9.2":0.03198,"11.1-11.2":0.03198,"15.0":0.01066,"16.0":0.01066,"18.0":0.01066,"19.0":0.05331},I:{"0":0.02596,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.00399,_:"6 7 8 9 10 5.5"},K:{"0":5.84275,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00867,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00867},O:{"0":0.10405},H:{"0":0.99},L:{"0":78.82042},R:{_:"0"},M:{"0":0.04336}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CF.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CF.js deleted file mode 100644 index 7ed5add7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"44":0.014,"58":0.00156,"66":0.00156,"72":0.00467,"76":0.00156,"82":0.00156,"87":0.00311,"115":0.00311,"127":0.02023,"128":0.00311,"129":0.00156,"130":0.00467,"131":0.01712,"132":0.59439,"133":0.02178,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 67 68 69 70 71 73 74 75 77 78 79 80 81 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"11":0.00156,"52":0.00156,"58":0.00156,"60":0.00778,"67":0.00156,"69":0.03579,"76":0.00622,"81":0.00156,"86":0.00467,"98":0.00156,"99":0.00311,"102":0.00467,"104":0.00311,"108":0.00311,"109":0.03423,"114":0.00934,"115":0.00467,"116":0.00311,"117":0.00156,"118":0.00156,"120":0.00467,"121":0.00156,"122":0.00311,"123":0.00156,"124":0.00778,"125":0.00467,"126":0.00934,"127":0.00311,"128":0.00311,"129":0.0249,"130":1.37395,"131":0.58661,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 59 61 62 63 64 65 66 68 70 71 72 73 74 75 77 78 79 80 83 84 85 87 88 89 90 91 92 93 94 95 96 97 100 101 103 105 106 107 110 111 112 113 119 132 133 134"},F:{"40":0.014,"42":0.00467,"46":0.00156,"79":0.00156,"85":0.00311,"106":0.00156,"112":0.00156,"114":0.04668,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 107 108 109 110 111 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00778,"18":0.00622,"89":0.00156,"92":0.01245,"100":0.00467,"114":0.00156,"121":0.00156,"123":0.00467,"127":0.00467,"128":0.01089,"129":0.01089,"130":0.12915,"131":0.1696,_:"13 14 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 109 110 111 112 113 115 116 117 118 119 120 122 124 125 126"},E:{"13":0.00156,"14":0.03268,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.4 15.5 16.0 16.1 16.3 16.4 16.6 17.0 17.1 17.2 17.3 17.4 17.6 18.1 18.2","15.2-15.3":0.00622,"15.6":0.00311,"16.2":0.00156,"16.5":0.00156,"17.5":0.00156,"18.0":0.00156},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00035,"5.0-5.1":0,"6.0-6.1":0.00141,"7.0-7.1":0.00176,"8.1-8.4":0,"9.0-9.2":0.00141,"9.3":0.00492,"10.0-10.2":0.00105,"10.3":0.00808,"11.0-11.2":0.09484,"11.3-11.4":0.00246,"12.0-12.1":0.00141,"12.2-12.5":0.03688,"13.0-13.1":0.0007,"13.2":0.00948,"13.3":0.00141,"13.4-13.7":0.00527,"14.0-14.4":0.01159,"14.5-14.8":0.01651,"15.0-15.1":0.00948,"15.2-15.3":0.00878,"15.4":0.01054,"15.5":0.01229,"15.6-15.8":0.13173,"16.0":0.02494,"16.1":0.05269,"16.2":0.0267,"16.3":0.04531,"16.4":0.00913,"16.5":0.01827,"16.6-16.7":0.17283,"17.0":0.01265,"17.1":0.02108,"17.2":0.01756,"17.3":0.0267,"17.4":0.05726,"17.5":0.17107,"17.6-17.7":1.47779,"18.0":0.5241,"18.1":0.46052,"18.2":0.01862},P:{"4":0.06969,"20":0.03983,"21":0.00996,"22":0.01991,"24":0.05974,"25":0.01991,"26":0.11948,"27":0.00996,_:"23 6.2-6.4 8.2 10.1 12.0 13.0 14.0 15.0 18.0","5.0-5.4":0.01991,"7.2-7.4":0.09956,"9.2":0.01991,"11.1-11.2":0.08961,"16.0":0.00996,"17.0":0.05974,"19.0":0.01991},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":2.27706,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.41376,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02533},H:{"0":2.84},L:{"0":86.72267},R:{_:"0"},M:{"0":0.05911}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CG.js deleted file mode 100644 index 66394978..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.09247,"127":0.00298,"128":0.03281,"130":0.00298,"131":0.01492,"132":0.65328,"133":0.11037,"134":0.00597,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 129 135 136 3.5 3.6"},D:{"11":0.02088,"47":0.00298,"61":0.01193,"63":0.00597,"64":0.00298,"66":0.00298,"69":0.00298,"70":0.00298,"73":0.0179,"75":0.00597,"77":0.00298,"78":0.00298,"79":0.03281,"81":0.00895,"83":0.06861,"84":0.00298,"86":0.01193,"87":0.03878,"88":0.00895,"89":0.00298,"90":0.00298,"91":0.00298,"93":0.00895,"94":0.01193,"95":0.01492,"98":0.12827,"102":0.00298,"103":0.03878,"104":0.00895,"106":0.00298,"107":0.00298,"109":0.41464,"110":0.00298,"111":0.00597,"115":0.00298,"116":0.01193,"117":0.00298,"118":0.09247,"119":0.13424,"120":0.00895,"121":0.02386,"122":0.05071,"123":0.14915,"124":0.01492,"125":0.00895,"126":0.01193,"127":0.02983,"128":0.06563,"129":0.11335,"130":3.47818,"131":2.86965,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 62 65 67 68 71 72 74 76 80 85 92 96 97 99 100 101 105 108 112 113 114 132 133 134"},F:{"79":0.01193,"85":0.00597,"90":0.00298,"95":0.04176,"102":0.01193,"105":0.00298,"106":0.00298,"110":0.02685,"112":0.03281,"113":0.00597,"114":0.81436,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 91 92 93 94 96 97 98 99 100 101 103 104 107 108 109 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00298,"13":0.02386,"17":0.00298,"18":0.00597,"89":0.00597,"92":0.00895,"109":0.07159,"111":0.00298,"112":0.00298,"114":0.04176,"115":0.01492,"119":0.00597,"122":0.02088,"125":0.22671,"126":0.00895,"127":0.00597,"128":0.06264,"129":0.22074,"130":4.25376,"131":3.09039,_:"14 15 16 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 113 116 117 118 120 121 123 124"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 17.0 17.1 17.2 17.4 17.5 18.2","12.1":0.00298,"13.1":0.00597,"14.1":0.00298,"15.6":0.02685,"16.5":0.00298,"16.6":0.02685,"17.3":0.00597,"17.6":0.02088,"18.0":0.02685,"18.1":0.01492},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00127,"5.0-5.1":0,"6.0-6.1":0.00507,"7.0-7.1":0.00634,"8.1-8.4":0,"9.0-9.2":0.00507,"9.3":0.01775,"10.0-10.2":0.0038,"10.3":0.02916,"11.0-11.2":0.34235,"11.3-11.4":0.00888,"12.0-12.1":0.00507,"12.2-12.5":0.13314,"13.0-13.1":0.00254,"13.2":0.03424,"13.3":0.00507,"13.4-13.7":0.01902,"14.0-14.4":0.04184,"14.5-14.8":0.05959,"15.0-15.1":0.03424,"15.2-15.3":0.0317,"15.4":0.03804,"15.5":0.04438,"15.6-15.8":0.47549,"16.0":0.09003,"16.1":0.1902,"16.2":0.09637,"16.3":0.16357,"16.4":0.03297,"16.5":0.06593,"16.6-16.7":0.62384,"17.0":0.04565,"17.1":0.07608,"17.2":0.0634,"17.3":0.09637,"17.4":0.20668,"17.5":0.6175,"17.6-17.7":5.33436,"18.0":1.89181,"18.1":1.66231,"18.2":0.0672},P:{"4":0.04112,"20":0.01028,"22":0.04112,"23":0.02056,"24":0.02056,"25":0.07197,"26":0.11309,"27":0.0514,_:"21 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","5.0-5.4":0.01028,"6.2-6.4":0.01028,"7.2-7.4":0.04112,"19.0":0.01028},I:{"0":0.04201,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.24068,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.05614,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0421},H:{"0":0.04},L:{"0":67.99126},R:{_:"0"},M:{"0":0.03509}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CH.js deleted file mode 100644 index 39661936..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.00579,"52":0.03476,"78":0.04635,"84":0.00579,"91":0.00579,"99":0.00579,"102":0.01738,"104":0.01159,"105":0.00579,"108":0.00579,"111":0.00579,"113":0.23755,"114":0.00579,"115":0.82854,"116":0.00579,"117":0.00579,"118":0.01159,"120":0.00579,"121":0.01738,"122":0.00579,"124":0.01738,"125":0.02897,"126":0.00579,"127":0.02897,"128":0.32446,"129":0.04056,"130":0.05794,"131":0.52146,"132":5.53906,"133":0.3882,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 86 87 88 89 90 92 93 94 95 96 97 98 100 101 103 106 107 109 110 112 119 123 134 135 136 3.5 3.6"},D:{"38":0.00579,"49":0.01738,"52":0.18541,"66":0.02318,"79":0.02318,"80":0.01738,"81":0.00579,"84":0.00579,"85":0.00579,"87":0.05794,"88":0.00579,"89":0.00579,"90":0.00579,"92":0.00579,"94":0.01738,"96":0.00579,"97":0.00579,"98":0.00579,"99":0.00579,"102":0.05794,"103":0.0927,"104":0.00579,"105":0.01738,"106":0.00579,"107":0.02318,"108":0.01159,"109":0.60837,"110":0.01159,"111":0.01159,"112":0.01159,"113":0.197,"114":0.20279,"115":0.01159,"116":0.30708,"117":0.00579,"118":0.02897,"119":0.02897,"120":0.37082,"121":0.02318,"122":0.08112,"123":0.16223,"124":0.16803,"125":0.53884,"126":0.2897,"127":0.197,"128":0.45193,"129":1.46009,"130":16.25796,"131":7.65967,"132":0.00579,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 83 86 91 93 95 100 101 133 134"},F:{"46":0.00579,"85":0.01159,"86":0.00579,"89":0.02897,"95":0.02897,"102":0.01159,"109":0.00579,"112":0.00579,"113":0.16803,"114":1.37897,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00579,"18":0.00579,"91":0.00579,"92":0.00579,"98":0.00579,"107":0.00579,"108":0.00579,"109":0.12167,"110":0.00579,"111":0.00579,"113":0.01738,"114":0.00579,"115":0.00579,"119":0.02318,"120":0.01159,"121":0.02318,"122":0.01159,"123":0.00579,"124":0.01159,"125":0.01738,"126":0.04056,"127":0.03476,"128":0.0985,"129":0.50987,"130":5.95623,"131":3.49958,_:"12 13 14 15 17 79 80 81 83 84 85 86 87 88 89 90 93 94 95 96 97 99 100 101 102 103 104 105 106 112 116 117 118"},E:{"13":0.00579,"14":0.02318,"15":0.00579,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.00579,"11.1":0.00579,"12.1":0.02318,"13.1":0.10429,"14.1":0.11009,"15.1":0.01738,"15.2-15.3":0.01159,"15.4":0.02318,"15.5":0.02897,"15.6":0.3824,"16.0":0.08691,"16.1":0.06953,"16.2":0.06953,"16.3":0.08691,"16.4":0.04056,"16.5":0.07532,"16.6":0.4809,"17.0":0.03476,"17.1":0.0927,"17.2":0.06373,"17.3":0.07532,"17.4":0.197,"17.5":0.51567,"17.6":2.07425,"18.0":0.88648,"18.1":1.20515,"18.2":0.02318},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00187,"5.0-5.1":0,"6.0-6.1":0.00749,"7.0-7.1":0.00936,"8.1-8.4":0,"9.0-9.2":0.00749,"9.3":0.02622,"10.0-10.2":0.00562,"10.3":0.04307,"11.0-11.2":0.50558,"11.3-11.4":0.01311,"12.0-12.1":0.00749,"12.2-12.5":0.19661,"13.0-13.1":0.00375,"13.2":0.05056,"13.3":0.00749,"13.4-13.7":0.02809,"14.0-14.4":0.06179,"14.5-14.8":0.08801,"15.0-15.1":0.05056,"15.2-15.3":0.04681,"15.4":0.05618,"15.5":0.06554,"15.6-15.8":0.70219,"16.0":0.13295,"16.1":0.28088,"16.2":0.14231,"16.3":0.24155,"16.4":0.04869,"16.5":0.09737,"16.6-16.7":0.92128,"17.0":0.06741,"17.1":0.11235,"17.2":0.09363,"17.3":0.14231,"17.4":0.30522,"17.5":0.91191,"17.6-17.7":7.87765,"18.0":2.79379,"18.1":2.45486,"18.2":0.09924},P:{"4":0.06341,"20":0.01057,"21":0.04227,"22":0.02114,"23":0.04227,"24":0.05284,"25":0.06341,"26":1.94457,"27":1.42672,"5.0-5.4":0.01057,"6.2-6.4":0.01057,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","13.0":0.02114,"16.0":0.01057,"17.0":0.01057,"18.0":0.01057,"19.0":0.01057},I:{"0":0.02518,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.00624,"11":0.07488,_:"6 7 9 10 5.5"},K:{"0":0.34489,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00421},O:{"0":0.0715},H:{"0":0},L:{"0":18.18958},R:{_:"0"},M:{"0":0.82438}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CI.js deleted file mode 100644 index 28dcd91b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.01031,"34":0.00172,"52":0.00172,"68":0.00516,"72":0.00172,"78":0.00516,"102":0.00172,"110":0.00688,"113":0.00172,"114":0.00172,"115":0.08251,"124":0.00172,"125":0.00172,"126":0.00172,"127":0.0086,"128":0.02235,"129":0.00344,"130":0.00516,"131":0.06876,"132":0.85262,"133":0.05501,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 111 112 116 117 118 119 120 121 122 123 134 135 136 3.5 3.6"},D:{"26":0.00172,"37":0.00172,"38":0.00172,"47":0.0086,"49":0.01203,"52":0.00172,"54":0.00172,"55":0.00172,"56":0.00172,"58":0.00172,"59":0.00172,"64":0.00344,"65":0.00516,"66":0.00172,"67":0.00344,"68":0.00172,"69":0.00172,"70":0.00516,"72":0.00172,"73":0.01203,"74":0.00172,"75":0.00516,"76":0.00688,"77":0.00688,"78":0.00172,"79":0.02579,"80":0.00172,"81":0.03094,"83":0.01375,"84":0.00344,"85":0.00172,"86":0.00344,"87":0.04813,"88":0.04985,"89":0.00344,"91":0.01031,"92":0.00344,"93":0.01375,"94":0.01547,"95":0.01375,"96":0.00172,"98":0.00516,"99":0.00344,"100":0.01031,"101":0.00688,"102":0.01031,"103":0.03266,"104":0.00344,"105":0.00344,"106":0.0086,"107":0.00344,"108":0.00688,"109":1.04171,"110":0.00688,"111":0.0086,"112":0.00688,"113":0.00688,"114":0.0086,"115":0.00516,"116":0.03954,"117":0.00172,"118":0.0086,"119":0.06188,"120":0.08423,"121":0.01203,"122":0.02235,"123":0.28879,"124":0.0275,"125":0.01203,"126":0.02579,"127":0.0275,"128":0.08423,"129":0.20456,"130":3.82478,"131":2.52177,"132":0.01031,"133":0.00344,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 39 40 41 42 43 44 45 46 48 50 51 53 57 60 61 62 63 71 90 97 134"},F:{"36":0.00172,"46":0.00172,"79":0.00172,"85":0.00516,"86":0.00172,"95":0.02922,"98":0.00344,"102":0.00172,"107":0.00344,"112":0.00516,"113":0.01203,"114":0.46929,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 99 100 101 103 104 105 106 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00172,"17":0.00172,"18":0.00516,"84":0.00172,"85":0.00172,"89":0.00172,"90":0.00172,"92":0.02579,"100":0.00688,"109":0.01031,"110":0.00172,"112":0.00344,"118":0.00172,"119":0.00344,"120":0.00516,"122":0.00344,"123":0.00172,"124":0.00172,"125":0.00344,"126":0.01031,"127":0.00516,"128":0.02407,"129":0.06704,"130":1.00562,"131":0.69276,_:"12 13 15 16 79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 113 114 115 116 117 121"},E:{"14":0.03782,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 15.2-15.3 15.4 16.0 16.2 17.0","5.1":0.00172,"11.1":0.00344,"12.1":0.00172,"13.1":0.01203,"14.1":0.00516,"15.1":0.00344,"15.5":0.00172,"15.6":0.02407,"16.1":0.00172,"16.3":0.00172,"16.4":0.00344,"16.5":0.00172,"16.6":0.02235,"17.1":0.00172,"17.2":0.0086,"17.3":0.00344,"17.4":0.00688,"17.5":0.01719,"17.6":0.12033,"18.0":0.0636,"18.1":0.07392,"18.2":0.00688},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00207,"5.0-5.1":0,"6.0-6.1":0.00827,"7.0-7.1":0.01033,"8.1-8.4":0,"9.0-9.2":0.00827,"9.3":0.02894,"10.0-10.2":0.0062,"10.3":0.04754,"11.0-11.2":0.55807,"11.3-11.4":0.01447,"12.0-12.1":0.00827,"12.2-12.5":0.21703,"13.0-13.1":0.00413,"13.2":0.05581,"13.3":0.00827,"13.4-13.7":0.031,"14.0-14.4":0.06821,"14.5-14.8":0.09715,"15.0-15.1":0.05581,"15.2-15.3":0.05167,"15.4":0.06201,"15.5":0.07234,"15.6-15.8":0.7751,"16.0":0.14675,"16.1":0.31004,"16.2":0.15709,"16.3":0.26663,"16.4":0.05374,"16.5":0.10748,"16.6-16.7":1.01693,"17.0":0.07441,"17.1":0.12402,"17.2":0.10335,"17.3":0.15709,"17.4":0.33691,"17.5":1.0066,"17.6-17.7":8.69561,"18.0":3.08387,"18.1":2.70976,"18.2":0.10955},P:{"4":0.08441,"20":0.01055,"21":0.0211,"22":0.10552,"23":0.0211,"24":0.08441,"25":0.07386,"26":0.42206,"27":0.17938,_:"5.0-5.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","6.2-6.4":0.01055,"7.2-7.4":0.09496,"9.2":0.09496,"17.0":0.08441,"19.0":0.0211},I:{"0":0.04958,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.00344,_:"6 7 8 9 10 5.5"},K:{"0":0.40202,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00828},O:{"0":0.05797},H:{"0":0.07},L:{"0":64.25882},R:{_:"0"},M:{"0":0.08281}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CK.js deleted file mode 100644 index 154087ce..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.00966,"84":0.00483,"115":0.14973,"128":0.00966,"131":0.01932,"132":0.97566,"133":0.13524,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 129 130 134 135 136 3.5 3.6"},D:{"94":0.13041,"103":0.14973,"109":0.20769,"116":0.04347,"120":0.0483,"122":0.07245,"125":0.07728,"126":0.03864,"127":0.09177,"128":0.10626,"129":16.65384,"130":14.42721,"131":10.06089,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 114 115 117 118 119 121 123 124 132 133 134"},F:{"113":0.00966,"114":0.03864,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"128":0.02898,"129":0.07245,"130":1.42002,"131":1.17369,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.1 15.2-15.3 16.2 16.5 18.2","14.1":0.00483,"15.4":0.00483,"15.5":0.00483,"15.6":0.01449,"16.0":0.12558,"16.1":0.00483,"16.3":0.00483,"16.4":0.00483,"16.6":0.10143,"17.0":0.01449,"17.1":0.06279,"17.2":0.02415,"17.3":0.01449,"17.4":0.06279,"17.5":0.14007,"17.6":0.61824,"18.0":0.05796,"18.1":0.13041},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00191,"5.0-5.1":0,"6.0-6.1":0.00764,"7.0-7.1":0.00955,"8.1-8.4":0,"9.0-9.2":0.00764,"9.3":0.02674,"10.0-10.2":0.00573,"10.3":0.04392,"11.0-11.2":0.51561,"11.3-11.4":0.01337,"12.0-12.1":0.00764,"12.2-12.5":0.20051,"13.0-13.1":0.00382,"13.2":0.05156,"13.3":0.00764,"13.4-13.7":0.02864,"14.0-14.4":0.06302,"14.5-14.8":0.08975,"15.0-15.1":0.05156,"15.2-15.3":0.04774,"15.4":0.05729,"15.5":0.06684,"15.6-15.8":0.71612,"16.0":0.13559,"16.1":0.28645,"16.2":0.14513,"16.3":0.24634,"16.4":0.04965,"16.5":0.0993,"16.6-16.7":0.93955,"17.0":0.06875,"17.1":0.11458,"17.2":0.09548,"17.3":0.14513,"17.4":0.31127,"17.5":0.93,"17.6-17.7":8.0339,"18.0":2.8492,"18.1":2.50355,"18.2":0.10121},P:{"4":0.03037,"21":0.03037,"23":0.13159,"24":0.33403,"25":0.07086,"26":2.35847,"27":1.47784,_:"20 22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","17.0":0.02024,"19.0":0.07086},I:{"0":0.00516,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.04137,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.07757},H:{"0":0},L:{"0":28.19587},R:{_:"0"},M:{"0":0.27406}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CL.js deleted file mode 100644 index 5cf771b8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.02578,"52":0.00516,"71":0.00516,"77":0.00516,"78":0.01547,"105":0.00516,"106":0.00516,"115":0.10826,"120":0.01547,"125":0.00516,"127":0.01031,"128":0.01547,"129":0.00516,"130":0.01547,"131":0.07733,"132":1.11348,"133":0.10826,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 72 73 74 75 76 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 107 108 109 110 111 112 113 114 116 117 118 119 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"38":0.01031,"47":0.00516,"48":0.01547,"49":0.00516,"55":0.00516,"58":0.00516,"63":0.00516,"65":0.01031,"66":0.00516,"70":0.00516,"74":0.01031,"79":0.05155,"80":0.00516,"81":0.00516,"85":0.00516,"86":0.00516,"87":0.04124,"88":0.01031,"89":0.00516,"90":0.00516,"91":0.00516,"92":0.00516,"93":0.00516,"94":0.01547,"95":0.00516,"96":0.00516,"98":0.00516,"99":0.00516,"100":0.00516,"101":0.00516,"102":0.01547,"103":0.05155,"104":0.00516,"105":0.00516,"106":0.01547,"107":0.01031,"108":0.03609,"109":1.17019,"110":0.02578,"111":0.17527,"112":0.01031,"113":0.06702,"114":0.07217,"115":0.00516,"116":0.15465,"117":0.00516,"118":0.01547,"119":0.03093,"120":0.03093,"121":0.03609,"122":0.11857,"123":0.06702,"124":0.05671,"125":0.04124,"126":0.09795,"127":0.07733,"128":0.29384,"129":0.7217,"130":15.27427,"131":9.39241,"132":0.02062,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 51 52 53 54 56 57 59 60 61 62 64 67 68 69 71 72 73 75 76 77 78 83 84 97 133 134"},F:{"85":0.00516,"95":0.01547,"113":0.34023,"114":3.7116,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.01031,"109":0.03093,"117":0.00516,"120":0.00516,"121":0.00516,"122":0.00516,"124":0.00516,"125":0.00516,"126":0.02578,"127":0.01547,"128":0.02062,"129":0.08764,"130":2.41254,"131":1.65476,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 118 119 123"},E:{"10":0.00516,"14":0.00516,_:"0 4 5 6 7 8 9 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3","12.1":0.00516,"13.1":0.03093,"14.1":0.03093,"15.1":0.00516,"15.4":0.00516,"15.5":0.02062,"15.6":0.09795,"16.0":0.01031,"16.1":0.01547,"16.2":0.01031,"16.3":0.03093,"16.4":0.03609,"16.5":0.02062,"16.6":0.11857,"17.0":0.01031,"17.1":0.01031,"17.2":0.01547,"17.3":0.01031,"17.4":0.0464,"17.5":0.11857,"17.6":0.37632,"18.0":0.23198,"18.1":0.27322,"18.2":0.01031},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00101,"5.0-5.1":0,"6.0-6.1":0.00405,"7.0-7.1":0.00506,"8.1-8.4":0,"9.0-9.2":0.00405,"9.3":0.01418,"10.0-10.2":0.00304,"10.3":0.02329,"11.0-11.2":0.2734,"11.3-11.4":0.00709,"12.0-12.1":0.00405,"12.2-12.5":0.10632,"13.0-13.1":0.00203,"13.2":0.02734,"13.3":0.00405,"13.4-13.7":0.01519,"14.0-14.4":0.03342,"14.5-14.8":0.04759,"15.0-15.1":0.02734,"15.2-15.3":0.02532,"15.4":0.03038,"15.5":0.03544,"15.6-15.8":0.37973,"16.0":0.07189,"16.1":0.15189,"16.2":0.07696,"16.3":0.13063,"16.4":0.02633,"16.5":0.05266,"16.6-16.7":0.4982,"17.0":0.03645,"17.1":0.06076,"17.2":0.05063,"17.3":0.07696,"17.4":0.16505,"17.5":0.49314,"17.6-17.7":4.26003,"18.0":1.51081,"18.1":1.32753,"18.2":0.05367},P:{"4":0.11416,"20":0.01038,"21":0.01038,"22":0.03113,"23":0.02076,"24":0.03113,"25":0.03113,"26":0.77834,"27":0.60192,_:"5.0-5.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 17.0 18.0","6.2-6.4":0.01038,"7.2-7.4":0.01038,"11.1-11.2":0.01038,"16.0":0.01038,"19.0":0.01038},I:{"0":0.05318,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.02191,"9":0.00548,"10":0.00548,"11":0.14241,_:"6 7 5.5"},K:{"0":0.18411,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01454},H:{"0":0},L:{"0":36.84769},R:{_:"0"},M:{"0":0.18411}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CM.js deleted file mode 100644 index eb700f3b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.00126,"34":0.00379,"45":0.00126,"47":0.00126,"48":0.00126,"49":0.00126,"50":0.00253,"51":0.00253,"52":0.01137,"56":0.00126,"57":0.00126,"72":0.00379,"78":0.00884,"82":0.00126,"84":0.00126,"85":0.00126,"86":0.00126,"89":0.00126,"91":0.00126,"94":0.00126,"99":0.00126,"102":0.00505,"103":0.00126,"108":0.00126,"110":0.00126,"111":0.00126,"112":0.00126,"113":0.00126,"114":0.00126,"115":0.14398,"116":0.00126,"117":0.00126,"118":0.00126,"121":0.00126,"122":0.00126,"123":0.00253,"124":0.00253,"125":0.00379,"126":0.00126,"127":0.02147,"128":0.01516,"129":0.00379,"130":0.00758,"131":0.04799,"132":0.50646,"133":0.06062,"134":0.00253,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 46 53 54 55 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 83 87 88 90 92 93 95 96 97 98 100 101 104 105 106 107 109 119 120 135 136 3.5 3.6"},D:{"38":0.00253,"43":0.00126,"48":0.00126,"56":0.01642,"57":0.00126,"58":0.00253,"64":0.00126,"65":0.00126,"67":0.00126,"68":0.00758,"69":0.00126,"70":0.00379,"72":0.00253,"73":0.00126,"74":0.00505,"75":0.00126,"76":0.00126,"77":0.00253,"79":0.00253,"80":0.00253,"81":0.00505,"83":0.00253,"84":0.00126,"85":0.00379,"86":0.00379,"87":0.00505,"88":0.00632,"89":0.00253,"90":0.00126,"91":0.00126,"92":0.00126,"93":0.00505,"94":0.00126,"95":0.00632,"98":0.00126,"99":0.00253,"100":0.00126,"102":0.00505,"103":0.01137,"104":0.00253,"105":0.00505,"106":0.00253,"107":0.00126,"108":0.00253,"109":0.43068,"110":0.00253,"111":0.00632,"112":0.00505,"113":0.00126,"114":0.01389,"115":0.00253,"116":0.01516,"117":0.01516,"118":0.01642,"119":0.0101,"120":0.0101,"121":0.00379,"122":0.03031,"123":0.00632,"124":0.02779,"125":0.01389,"126":0.03284,"127":0.02273,"128":0.03789,"129":0.11114,"130":1.69495,"131":0.99019,"132":0.00126,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 49 50 51 52 53 54 55 59 60 61 62 63 66 71 78 96 97 101 133 134"},F:{"34":0.00126,"42":0.00126,"44":0.00126,"56":0.00126,"79":0.00632,"85":0.00253,"86":0.00126,"90":0.00126,"95":0.02021,"103":0.00126,"109":0.00126,"112":0.00126,"113":0.00884,"114":0.33975,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 43 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 87 88 89 91 92 93 94 96 97 98 99 100 101 102 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00505,"13":0.00126,"14":0.00758,"15":0.00253,"16":0.00126,"17":0.00253,"18":0.0101,"84":0.00379,"85":0.00505,"89":0.00632,"90":0.00505,"92":0.02779,"95":0.00126,"100":0.00632,"109":0.00379,"114":0.00126,"115":0.00126,"119":0.00253,"120":0.00758,"121":0.00126,"122":0.00253,"123":0.00126,"124":0.00253,"125":0.00253,"126":0.00632,"127":0.00379,"128":0.02273,"129":0.024,"130":0.45468,"131":0.27155,_:"79 80 81 83 86 87 88 91 93 94 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 116 117 118"},E:{"10":0.00253,"14":0.00253,_:"0 4 5 6 7 8 9 11 12 13 15 3.1 3.2 5.1 6.1 9.1 10.1 11.1 15.4 16.0 16.2 16.3 16.5 17.0 17.2 18.2","7.1":0.00253,"12.1":0.00126,"13.1":0.00632,"14.1":0.00505,"15.1":0.00126,"15.2-15.3":0.00126,"15.5":0.01895,"15.6":0.01389,"16.1":0.00253,"16.4":0.00253,"16.6":0.00632,"17.1":0.00253,"17.3":0.00126,"17.4":0.00884,"17.5":0.00505,"17.6":0.01516,"18.0":0.00632,"18.1":0.03158},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00154,"5.0-5.1":0,"6.0-6.1":0.00616,"7.0-7.1":0.00771,"8.1-8.4":0,"9.0-9.2":0.00616,"9.3":0.02158,"10.0-10.2":0.00462,"10.3":0.03545,"11.0-11.2":0.41613,"11.3-11.4":0.01079,"12.0-12.1":0.00616,"12.2-12.5":0.16183,"13.0-13.1":0.00308,"13.2":0.04161,"13.3":0.00616,"13.4-13.7":0.02312,"14.0-14.4":0.05086,"14.5-14.8":0.07244,"15.0-15.1":0.04161,"15.2-15.3":0.03853,"15.4":0.04624,"15.5":0.05394,"15.6-15.8":0.57795,"16.0":0.10943,"16.1":0.23118,"16.2":0.11713,"16.3":0.19882,"16.4":0.04007,"16.5":0.08014,"16.6-16.7":0.75827,"17.0":0.05548,"17.1":0.09247,"17.2":0.07706,"17.3":0.11713,"17.4":0.25122,"17.5":0.75057,"17.6-17.7":6.48386,"18.0":2.29948,"18.1":2.02052,"18.2":0.08168},P:{"4":0.01048,"21":0.02097,"22":0.04194,"23":0.01048,"24":0.04194,"25":0.05242,"26":0.15727,"27":0.05242,_:"20 6.2-6.4 8.2 10.1 12.0 15.0 17.0 18.0","5.0-5.4":0.01048,"7.2-7.4":0.04194,"9.2":0.02097,"11.1-11.2":0.01048,"13.0":0.02097,"14.0":0.01048,"16.0":0.01048,"19.0":0.01048},I:{"0":0.02615,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.00131,"11":0.07195,_:"6 7 9 10 5.5"},K:{"0":1.11624,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.0699,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.10484},H:{"0":0.57},L:{"0":75.72549},R:{_:"0"},M:{"0":0.05242}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CN.js deleted file mode 100644 index bd25b4d4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"32":0.00334,"34":0.00334,"43":0.08006,"52":0.00667,"69":0.00334,"78":0.00334,"103":0.00334,"108":0.00334,"109":0.00334,"110":0.00334,"111":0.00334,"113":0.00334,"115":0.13344,"116":0.01001,"118":0.00334,"121":0.00334,"123":0.00334,"124":0.00334,"125":0.00667,"126":0.01334,"127":0.01334,"128":0.01334,"129":0.00667,"130":0.00667,"131":0.03002,"132":0.42034,"133":0.0367,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 112 114 117 119 120 122 134 135 136 3.5 3.6"},D:{"11":0.00334,"25":0.00334,"31":0.00667,"34":0.01001,"39":0.00334,"41":0.00334,"45":0.00667,"47":0.00334,"48":0.04337,"49":0.0367,"50":0.12677,"53":0.01668,"55":0.01668,"56":0.00334,"57":0.02002,"58":0.00667,"59":0.00334,"60":0.00334,"61":0.00667,"62":0.00334,"63":0.01668,"65":0.00334,"66":0.00334,"67":0.01001,"68":0.00334,"69":1.29103,"70":0.14678,"71":0.01001,"72":0.00667,"73":0.09007,"74":0.27689,"75":0.02669,"76":0.00334,"77":0.21684,"78":0.06338,"79":0.17347,"80":0.04003,"81":0.01001,"83":0.06005,"84":0.02669,"85":0.02002,"86":0.16346,"87":0.06338,"88":0.00667,"89":0.02335,"90":0.03002,"91":0.07006,"92":0.44369,"93":0.00667,"94":0.01001,"95":0.02002,"96":0.01668,"97":0.11342,"98":0.55044,"99":0.05338,"100":0.07673,"101":0.15346,"102":0.02002,"103":0.0367,"104":0.01334,"105":0.01668,"106":0.01334,"107":0.04003,"108":0.05338,"109":1.11756,"110":0.01668,"111":0.02335,"112":0.30024,"113":0.01334,"114":0.25354,"115":0.10008,"116":0.02669,"117":0.01334,"118":0.06005,"119":0.06672,"120":0.20016,"121":0.11676,"122":0.12677,"123":0.5371,"124":0.29357,"125":0.13678,"126":0.09674,"127":0.14345,"128":0.11009,"129":0.18348,"130":1.49453,"131":0.80731,"132":0.02669,"133":0.02002,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 32 33 35 36 37 38 40 42 43 44 46 51 52 54 64 134"},F:{"63":0.00334,"95":0.00667,"114":0.02002,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00334,"17":0.00334,"18":0.03002,"84":0.00334,"88":0.00334,"89":0.00334,"91":0.00334,"92":0.0834,"94":0.00334,"96":0.00334,"99":0.00334,"100":0.01668,"101":0.00334,"102":0.00334,"103":0.00334,"104":0.00334,"105":0.00334,"106":0.01668,"107":0.01001,"108":0.02002,"109":0.12677,"110":0.02335,"111":0.03336,"112":0.02669,"113":0.12343,"114":0.09341,"115":0.05338,"116":0.0367,"117":0.04337,"118":0.03336,"119":0.06005,"120":0.47038,"121":0.07006,"122":0.11676,"123":0.07673,"124":0.08674,"125":0.09341,"126":0.22018,"127":0.28356,"128":0.19015,"129":0.33026,"130":4.5403,"131":2.7155,_:"12 13 14 15 79 80 81 83 85 86 87 90 93 95 97 98"},E:{"4":0.00334,"9":0.00334,"13":0.01001,"14":0.04003,"15":0.01001,_:"0 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00334,"13.1":0.0467,"14.1":0.05004,"15.1":0.01334,"15.2-15.3":0.01334,"15.4":0.02669,"15.5":0.03002,"15.6":0.14011,"16.0":0.01668,"16.1":0.03336,"16.2":0.02669,"16.3":0.05338,"16.4":0.01334,"16.5":0.02669,"16.6":0.13678,"17.0":0.01001,"17.1":0.01668,"17.2":0.02002,"17.3":0.02335,"17.4":0.0467,"17.5":0.10675,"17.6":0.43702,"18.0":0.11342,"18.1":0.1201,"18.2":0.00667},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00121,"5.0-5.1":0,"6.0-6.1":0.00485,"7.0-7.1":0.00606,"8.1-8.4":0,"9.0-9.2":0.00485,"9.3":0.01696,"10.0-10.2":0.00363,"10.3":0.02786,"11.0-11.2":0.32706,"11.3-11.4":0.00848,"12.0-12.1":0.00485,"12.2-12.5":0.12719,"13.0-13.1":0.00242,"13.2":0.03271,"13.3":0.00485,"13.4-13.7":0.01817,"14.0-14.4":0.03997,"14.5-14.8":0.05693,"15.0-15.1":0.03271,"15.2-15.3":0.03028,"15.4":0.03634,"15.5":0.0424,"15.6-15.8":0.45425,"16.0":0.086,"16.1":0.1817,"16.2":0.09206,"16.3":0.15626,"16.4":0.03149,"16.5":0.06299,"16.6-16.7":0.59598,"17.0":0.04361,"17.1":0.07268,"17.2":0.06057,"17.3":0.09206,"17.4":0.19745,"17.5":0.58992,"17.6-17.7":5.09608,"18.0":1.80731,"18.1":1.58806,"18.2":0.0642},P:{"21":0.01135,"22":0.01135,"24":0.01135,"25":0.03406,"26":0.17028,"27":0.05676,_:"4 20 23 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","17.0":0.01135},I:{"0":0.77121,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00023,"4.4":0,"4.4.3-4.4.4":0.001},A:{"8":0.49331,"9":0.49331,"10":0.21142,"11":6.13115,_:"6 7 5.5"},K:{"0":0.03998,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":4.33095},O:{"0":9.01504},H:{"0":0},L:{"0":37.92321},R:{_:"0"},M:{"0":0.1799}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CO.js deleted file mode 100644 index bd67f6d2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.10676,"34":0.00344,"78":0.00689,"101":0.01033,"113":0.00344,"115":0.05855,"120":0.01722,"122":0.00344,"123":0.00344,"125":0.00689,"126":0.00344,"127":0.00344,"128":0.01378,"129":0.00344,"130":0.00344,"131":0.04133,"132":0.66469,"133":0.06199,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 121 124 134 135 136 3.5 3.6"},D:{"38":0.00689,"47":0.01378,"49":0.00344,"56":0.00344,"62":0.00344,"63":0.00344,"65":0.00344,"70":0.00344,"72":0.01378,"75":0.00344,"79":0.06199,"81":0.00344,"83":0.00344,"85":0.00344,"86":0.00344,"87":0.06544,"88":0.01722,"89":0.00344,"90":0.00689,"91":0.00689,"92":0.00344,"93":0.00344,"94":0.02411,"95":0.00689,"96":0.00344,"97":0.00344,"98":0.00344,"99":0.00344,"100":0.00344,"101":0.00689,"102":0.00344,"103":0.03788,"104":0.00689,"105":0.00344,"106":0.01033,"107":0.01033,"108":0.02066,"109":1.03664,"110":0.02411,"111":0.01378,"112":0.01033,"113":0.00344,"114":0.06199,"115":0.00689,"116":0.10332,"117":0.01378,"118":0.031,"119":0.02066,"120":0.03788,"121":0.03788,"122":0.13087,"123":0.04822,"124":0.09988,"125":0.09299,"126":0.09988,"127":0.07577,"128":0.27208,"129":0.54415,"130":13.26973,"131":8.78909,"132":0.00344,"133":0.00344,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 57 58 59 60 61 64 66 67 68 69 71 73 74 76 77 78 80 84 134"},F:{"85":0.01378,"95":0.031,"109":0.00344,"113":0.1171,"114":1.58424,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00344,"92":0.01378,"100":0.00344,"107":0.00344,"109":0.02066,"114":0.00344,"119":0.00344,"121":0.00344,"122":0.00689,"123":0.00344,"124":0.00689,"125":0.00344,"126":0.01378,"127":0.01033,"128":0.02411,"129":0.0861,"130":1.9252,"131":1.40515,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111 112 113 115 116 117 118 120"},E:{"14":0.00689,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1","5.1":0.00689,"12.1":0.00344,"13.1":0.01033,"14.1":0.01722,"15.1":0.00344,"15.2-15.3":0.00344,"15.4":0.00689,"15.5":0.00344,"15.6":0.0551,"16.0":0.00344,"16.1":0.00689,"16.2":0.00689,"16.3":0.01722,"16.4":0.00689,"16.5":0.01378,"16.6":0.06199,"17.0":0.00344,"17.1":0.01033,"17.2":0.02411,"17.3":0.01378,"17.4":0.03444,"17.5":0.07921,"17.6":0.33407,"18.0":0.19975,"18.1":0.21697,"18.2":0.01033},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00169,"5.0-5.1":0,"6.0-6.1":0.00677,"7.0-7.1":0.00847,"8.1-8.4":0,"9.0-9.2":0.00677,"9.3":0.02371,"10.0-10.2":0.00508,"10.3":0.03895,"11.0-11.2":0.45722,"11.3-11.4":0.01185,"12.0-12.1":0.00677,"12.2-12.5":0.17781,"13.0-13.1":0.00339,"13.2":0.04572,"13.3":0.00677,"13.4-13.7":0.0254,"14.0-14.4":0.05588,"14.5-14.8":0.07959,"15.0-15.1":0.04572,"15.2-15.3":0.04234,"15.4":0.0508,"15.5":0.05927,"15.6-15.8":0.63503,"16.0":0.12023,"16.1":0.25401,"16.2":0.1287,"16.3":0.21845,"16.4":0.04403,"16.5":0.08806,"16.6-16.7":0.83316,"17.0":0.06096,"17.1":0.1016,"17.2":0.08467,"17.3":0.1287,"17.4":0.27603,"17.5":0.82469,"17.6-17.7":7.1242,"18.0":2.52657,"18.1":2.22007,"18.2":0.08975},P:{"4":0.09441,"20":0.02098,"21":0.01049,"22":0.02098,"23":0.02098,"24":0.02098,"25":0.03147,"26":0.5035,"27":0.44056,"5.0-5.4":0.02098,"6.2-6.4":0.01049,"7.2-7.4":0.03147,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","17.0":0.03147},I:{"0":0.02617,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.00394,"11":0.05117,_:"6 7 9 10 5.5"},K:{"0":0.11145,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01967},H:{"0":0},L:{"0":48.24088},R:{_:"0"},M:{"0":0.17046}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CR.js deleted file mode 100644 index 4f8c05ee..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.00431,"109":0.00862,"115":0.40074,"120":0.03016,"122":0.00431,"124":0.00431,"125":0.00431,"126":0.00431,"127":0.01293,"128":0.03878,"129":0.02155,"130":0.00431,"131":0.11203,"132":1.71929,"133":0.16374,"134":0.00431,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 116 117 118 119 121 123 135 136 3.5 3.6"},D:{"38":0.00431,"39":0.00431,"43":0.00431,"44":0.00431,"45":0.00431,"46":0.00431,"47":0.02585,"49":0.00431,"51":0.00431,"56":0.00431,"65":0.00431,"67":0.00862,"69":0.00862,"73":0.02585,"75":0.00431,"79":0.08187,"80":0.00862,"81":0.00862,"83":0.02155,"86":0.06464,"87":0.10773,"88":0.01724,"91":0.00862,"92":0.00431,"93":0.00431,"94":0.02585,"96":0.08618,"98":0.13789,"99":0.00431,"101":0.00862,"102":0.00431,"103":0.05602,"104":0.00431,"105":0.02155,"106":0.02155,"108":0.02585,"109":0.40936,"110":0.04309,"111":0.00862,"112":0.00431,"113":0.00431,"114":0.03878,"115":0.00862,"116":0.14651,"117":0.00431,"118":0.01293,"119":0.01724,"120":0.01293,"121":0.01293,"122":0.10773,"123":0.05171,"124":0.10342,"125":0.05602,"126":0.10342,"127":0.1896,"128":0.37919,"129":0.87473,"130":15.57273,"131":8.74727,"132":0.00431,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 41 42 48 50 52 53 54 55 57 58 59 60 61 62 63 64 66 68 70 71 72 74 76 77 78 84 85 89 90 95 97 100 107 133 134"},F:{"36":0.00431,"46":0.00862,"84":0.00431,"85":0.01724,"95":0.00862,"109":0.00431,"113":0.22407,"114":2.14157,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00431,"92":0.02155,"100":0.00862,"106":0.01724,"108":0.00862,"109":0.01293,"114":0.00431,"117":0.00431,"118":0.00862,"119":0.00431,"120":0.00431,"121":0.00431,"122":0.01293,"124":0.00431,"125":0.00862,"126":0.01293,"127":0.01293,"128":0.02585,"129":0.09049,"130":3.14988,"131":2.17174,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 107 110 111 112 113 115 116 123"},E:{"9":0.00431,"14":0.00862,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.2-15.3","5.1":0.00431,"12.1":0.00431,"13.1":0.02155,"14.1":0.03878,"15.1":0.00431,"15.4":0.00862,"15.5":0.02155,"15.6":0.11203,"16.0":0.01293,"16.1":0.01293,"16.2":0.00431,"16.3":0.04309,"16.4":0.01724,"16.5":0.03878,"16.6":0.12496,"17.0":0.06464,"17.1":0.06033,"17.2":0.01724,"17.3":0.03447,"17.4":0.0948,"17.5":0.25423,"17.6":0.85749,"18.0":0.36627,"18.1":0.62911,"18.2":0.03016},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00153,"5.0-5.1":0,"6.0-6.1":0.00612,"7.0-7.1":0.00764,"8.1-8.4":0,"9.0-9.2":0.00612,"9.3":0.0214,"10.0-10.2":0.00459,"10.3":0.03516,"11.0-11.2":0.4128,"11.3-11.4":0.0107,"12.0-12.1":0.00612,"12.2-12.5":0.16053,"13.0-13.1":0.00306,"13.2":0.04128,"13.3":0.00612,"13.4-13.7":0.02293,"14.0-14.4":0.05045,"14.5-14.8":0.07186,"15.0-15.1":0.04128,"15.2-15.3":0.03822,"15.4":0.04587,"15.5":0.05351,"15.6-15.8":0.57333,"16.0":0.10855,"16.1":0.22933,"16.2":0.11619,"16.3":0.19722,"16.4":0.03975,"16.5":0.0795,"16.6-16.7":0.7522,"17.0":0.05504,"17.1":0.09173,"17.2":0.07644,"17.3":0.11619,"17.4":0.24921,"17.5":0.74456,"17.6-17.7":6.43196,"18.0":2.28108,"18.1":2.00435,"18.2":0.08103},P:{"4":0.10362,"20":0.01036,"21":0.02072,"22":0.05181,"23":0.04145,"24":0.01036,"25":0.09326,"26":1.24342,"27":1.24342,"5.0-5.4":0.01036,"6.2-6.4":0.04145,"7.2-7.4":0.05181,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","17.0":0.02072},I:{"0":0.05112,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"6":0.00485,"7":0.00485,"8":0.01939,"9":0.00485,"10":0.00485,"11":0.03878,_:"5.5"},K:{"0":0.37567,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.03984},H:{"0":0},L:{"0":38.64615},R:{_:"0"},M:{"0":0.45536}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CU.js deleted file mode 100644 index cdefadd6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":1.17172,"34":0.00244,"43":0.00244,"47":0.00244,"48":0.00244,"49":0.00244,"50":0.00731,"52":0.01705,"54":0.6431,"56":0.00244,"57":0.02923,"58":0.00244,"59":0.00244,"60":0.00244,"61":0.00244,"63":0.00487,"64":0.00487,"65":0.00244,"67":0.00244,"68":0.00487,"69":0.00244,"70":0.00244,"72":0.01949,"75":0.00244,"77":0.00244,"78":0.01218,"79":0.00244,"80":0.00487,"81":0.01218,"82":0.00974,"83":0.00487,"84":0.00487,"85":0.00487,"86":0.00244,"87":0.00244,"88":0.01218,"89":0.00731,"90":0.00244,"91":0.00731,"92":0.00731,"93":0.00731,"94":0.00731,"95":0.00731,"96":0.01218,"97":0.04628,"98":0.01218,"99":0.02192,"100":0.04628,"101":0.09013,"102":0.02436,"103":0.00487,"104":0.00487,"105":0.00487,"106":0.01218,"107":0.00487,"108":0.01949,"109":0.02192,"110":0.02436,"111":0.00731,"112":0.03167,"113":0.03898,"114":0.00974,"115":0.87209,"116":0.02923,"117":0.02923,"118":0.01705,"119":0.02436,"120":0.01949,"121":0.0268,"122":0.0341,"123":0.01705,"124":0.21437,"125":0.02923,"126":0.02192,"127":0.23873,"128":0.16565,"129":0.07064,"130":0.095,"131":0.43848,"132":3.78311,"133":0.38002,"134":0.00731,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 51 53 55 62 66 71 73 74 76 135 136 3.5 3.6"},D:{"26":0.00244,"29":0.00244,"37":0.00244,"38":0.00244,"46":0.00244,"47":0.00244,"49":0.00487,"52":0.00244,"53":0.00244,"56":0.00244,"58":0.09013,"60":0.00244,"61":0.00244,"62":0.00244,"65":0.00244,"67":0.00244,"68":0.00244,"69":0.00731,"70":0.02192,"71":0.00731,"72":0.00487,"74":0.00487,"75":0.00487,"76":0.00487,"77":0.00487,"78":0.00487,"79":0.00974,"80":0.00487,"81":0.02436,"83":0.00244,"84":0.00244,"85":0.01462,"86":0.01218,"87":0.01218,"88":0.08526,"89":0.03898,"90":0.07064,"91":0.01218,"92":0.00487,"93":0.00487,"94":0.01218,"95":0.00244,"96":0.01218,"97":0.01705,"98":0.01218,"99":0.00487,"100":0.00244,"101":0.00731,"102":0.01949,"103":0.03654,"104":0.00487,"105":0.01705,"106":0.00974,"107":0.00731,"108":0.01218,"109":0.36784,"110":0.01218,"111":0.01705,"112":0.01462,"113":0.00731,"114":0.02192,"115":0.00487,"116":0.03898,"117":0.03167,"118":0.04872,"119":0.0341,"120":0.11449,"121":0.05359,"122":0.02923,"123":0.0268,"124":0.31424,"125":0.05116,"126":0.10718,"127":0.16078,"128":0.11936,"129":0.2436,"130":2.68691,"131":1.56878,"132":0.00244,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 30 31 32 33 34 35 36 39 40 41 42 43 44 45 48 50 51 54 55 57 59 63 64 66 73 133 134"},F:{"22":0.00244,"34":0.01218,"36":0.00487,"42":0.00244,"45":0.00244,"47":0.00244,"49":0.00487,"57":0.00487,"64":0.00974,"75":0.00487,"79":0.07064,"80":0.00244,"82":0.00244,"83":0.00244,"84":0.00244,"85":0.01949,"86":0.00244,"87":0.00244,"90":0.00244,"95":0.06821,"99":0.00244,"105":0.00731,"106":0.00487,"107":0.00244,"108":0.00731,"109":0.00974,"110":0.00244,"111":0.01705,"112":0.01218,"113":0.04872,"114":0.74298,_:"9 11 12 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 40 41 43 44 46 48 50 51 52 53 54 55 56 58 60 62 63 65 66 67 68 69 70 71 72 73 74 76 77 78 81 88 89 91 92 93 94 96 97 98 100 101 102 103 104 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00487,"13":0.00244,"14":0.01949,"15":0.00244,"16":0.00244,"17":0.00974,"18":0.04628,"80":0.00244,"84":0.0268,"89":0.01462,"90":0.01218,"92":0.13642,"96":0.00487,"100":0.05603,"105":0.00244,"108":0.00244,"109":0.00731,"111":0.00244,"112":0.00244,"113":0.00244,"114":0.00487,"115":0.00487,"116":0.00487,"117":0.00244,"119":0.01218,"120":0.02192,"121":0.00487,"122":0.0341,"123":0.00244,"124":0.00974,"125":0.01949,"126":0.05359,"127":0.04141,"128":0.04385,"129":0.14616,"130":1.08158,"131":0.55297,_:"79 81 83 85 86 87 88 91 93 94 95 97 98 99 101 102 103 104 106 107 110 118"},E:{"11":0.00244,"14":0.00244,_:"0 4 5 6 7 8 9 10 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1 15.2-15.3 15.4 15.5 16.0 16.2 16.3 16.4 16.5 17.0 17.2 17.3 18.2","5.1":0.01218,"11.1":0.00487,"13.1":0.00974,"14.1":0.00244,"15.1":0.00244,"15.6":0.03167,"16.1":0.00244,"16.6":0.03898,"17.1":0.00244,"17.4":0.01705,"17.5":0.00974,"17.6":0.03654,"18.0":0.02192,"18.1":0.05359},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00044,"5.0-5.1":0,"6.0-6.1":0.00175,"7.0-7.1":0.00219,"8.1-8.4":0,"9.0-9.2":0.00175,"9.3":0.00613,"10.0-10.2":0.00131,"10.3":0.01007,"11.0-11.2":0.11825,"11.3-11.4":0.00307,"12.0-12.1":0.00175,"12.2-12.5":0.04599,"13.0-13.1":0.00088,"13.2":0.01182,"13.3":0.00175,"13.4-13.7":0.00657,"14.0-14.4":0.01445,"14.5-14.8":0.02058,"15.0-15.1":0.01182,"15.2-15.3":0.01095,"15.4":0.01314,"15.5":0.01533,"15.6-15.8":0.16423,"16.0":0.03109,"16.1":0.06569,"16.2":0.03328,"16.3":0.0565,"16.4":0.01139,"16.5":0.02277,"16.6-16.7":0.21547,"17.0":0.01577,"17.1":0.02628,"17.2":0.0219,"17.3":0.03328,"17.4":0.07139,"17.5":0.21328,"17.6-17.7":1.84248,"18.0":0.65343,"18.1":0.57416,"18.2":0.02321},P:{"4":0.15265,"20":0.03053,"21":0.06106,"22":0.43759,"23":0.08141,"24":0.173,"25":0.13229,"26":0.73271,"27":0.25441,"5.0-5.4":0.01018,"6.2-6.4":0.03053,"7.2-7.4":0.173,_:"8.2 10.1 12.0 15.0","9.2":0.02035,"11.1-11.2":0.03053,"13.0":0.02035,"14.0":0.01018,"16.0":0.05088,"17.0":0.06106,"18.0":0.01018,"19.0":0.06106},I:{"0":0.04528,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"9":0.00585,"11":0.00877,_:"6 7 8 10 5.5"},K:{"0":0.79717,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01513},O:{"0":0.13615},H:{"0":0.05},L:{"0":71.84096},R:{_:"0"},M:{"0":0.39333}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CV.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CV.js deleted file mode 100644 index 1fa15f98..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"105":0.00266,"111":0.00266,"115":0.0213,"128":0.00533,"129":0.03196,"130":0.00266,"131":0.01598,"132":0.5832,"133":0.03995,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 109 110 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 134 135 136 3.5 3.6"},D:{"55":0.00266,"63":0.00533,"65":0.00799,"66":0.00266,"68":0.00266,"70":0.00533,"75":0.01598,"76":0.00266,"78":0.00266,"79":0.01864,"81":0.00533,"83":0.01065,"84":0.01065,"87":0.06125,"88":0.00266,"91":0.00266,"93":0.00533,"94":0.05859,"97":0.00266,"99":0.00266,"100":0.00266,"103":0.02397,"104":0.02663,"106":0.01598,"109":0.45804,"112":0.00266,"113":0.03995,"114":0.00799,"115":0.00266,"116":0.04527,"118":0.0719,"119":0.08255,"120":0.04261,"121":0.00799,"122":0.01864,"123":0.00533,"124":0.01065,"125":0.01065,"126":0.16244,"127":0.01864,"128":0.03196,"129":0.4101,"130":7.81324,"131":4.9878,"132":0.00266,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 64 67 69 71 72 73 74 77 80 85 86 89 90 92 95 96 98 101 102 105 107 108 110 111 117 133 134"},F:{"85":0.00533,"90":0.00533,"95":0.02929,"112":0.00266,"113":0.03728,"114":0.49266,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00266,"90":0.00266,"92":0.00799,"100":0.01864,"107":0.00266,"109":0.02663,"114":0.00533,"117":0.00533,"118":0.00533,"119":0.00799,"120":0.00533,"121":0.01065,"122":0.08255,"123":0.00799,"124":0.48999,"125":0.00266,"126":0.00533,"127":0.01065,"128":0.02663,"129":0.05326,"130":3.15033,"131":2.07181,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111 112 113 115 116"},E:{"14":0.01864,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 15.1 15.2-15.3 15.4 16.2 16.4 17.0","11.1":0.00266,"13.1":0.01065,"14.1":0.15445,"15.5":0.01332,"15.6":0.1944,"16.0":0.06391,"16.1":0.00533,"16.3":0.03196,"16.5":0.01065,"16.6":0.07989,"17.1":0.00533,"17.2":0.00799,"17.3":0.00533,"17.4":0.00533,"17.5":0.03462,"17.6":0.15978,"18.0":0.06658,"18.1":0.0719,"18.2":0.02663},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00113,"5.0-5.1":0,"6.0-6.1":0.00453,"7.0-7.1":0.00566,"8.1-8.4":0,"9.0-9.2":0.00453,"9.3":0.01585,"10.0-10.2":0.0034,"10.3":0.02604,"11.0-11.2":0.30567,"11.3-11.4":0.00792,"12.0-12.1":0.00453,"12.2-12.5":0.11887,"13.0-13.1":0.00226,"13.2":0.03057,"13.3":0.00453,"13.4-13.7":0.01698,"14.0-14.4":0.03736,"14.5-14.8":0.05321,"15.0-15.1":0.03057,"15.2-15.3":0.0283,"15.4":0.03396,"15.5":0.03962,"15.6-15.8":0.42454,"16.0":0.08038,"16.1":0.16981,"16.2":0.08604,"16.3":0.14604,"16.4":0.02943,"16.5":0.05887,"16.6-16.7":0.55699,"17.0":0.04076,"17.1":0.06793,"17.2":0.0566,"17.3":0.08604,"17.4":0.18453,"17.5":0.55133,"17.6-17.7":4.76274,"18.0":1.68909,"18.1":1.48418,"18.2":0.06},P:{"4":0.40045,"20":0.02054,"21":0.40045,"22":0.09241,"23":0.11295,"24":0.19509,"25":0.09241,"26":1.19108,"27":0.58527,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0 14.0 17.0","7.2-7.4":0.18482,"9.2":0.15402,"11.1-11.2":0.15402,"13.0":0.01027,"15.0":0.21563,"16.0":0.0308,"18.0":0.01027,"19.0":0.08214},I:{"0":0.02928,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.06603,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.13207},H:{"0":0},L:{"0":61.4643},R:{_:"0"},M:{"0":0.04402}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CX.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CX.js deleted file mode 100644 index 208592f3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CX.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 3.5 3.6"},D:{"117":73.91884,"130":6.21125,"131":16.14925,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 118 119 120 121 122 123 124 125 126 127 128 129 132 133 134"},F:{"114":1.86834,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"131":1.24225,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.2 17.3 17.4 17.5 17.6 18.0 18.1 18.2"},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.5":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.8":0,"15.0-15.1":0,"15.2-15.3":0,"15.4":0,"15.5":0,"15.6-15.8":0,"16.0":0,"16.1":0,"16.2":0,"16.3":0,"16.4":0,"16.5":0,"16.6-16.7":0,"17.0":0,"17.1":0,"17.2":0,"17.3":0,"17.4":0,"17.5":0,"17.6-17.7":0,"18.0":0,"18.1":0,"18.2":0},P:{_:"4 20 21 22 23 24 25 26 27 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":0.62},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CY.js deleted file mode 100644 index 15495c65..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00463,"78":0.00463,"79":0.00925,"94":0.00463,"99":0.00463,"104":0.00925,"109":0.00463,"111":0.00463,"115":0.20822,"118":0.00463,"122":0.00463,"124":0.00925,"125":0.00463,"127":0.00463,"128":0.02776,"129":0.00463,"130":0.00463,"131":0.05552,"132":2.13305,"133":0.3424,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 100 101 102 103 105 106 107 108 110 112 113 114 116 117 119 120 121 123 126 134 135 136 3.5 3.6"},D:{"38":0.00463,"47":0.00463,"50":0.00463,"51":0.02776,"53":0.00463,"56":0.00463,"69":0.00463,"72":0.00463,"78":0.01851,"79":0.03702,"80":0.00463,"83":0.01388,"85":0.01851,"86":0.00463,"87":0.06015,"88":0.00463,"91":0.02314,"92":0.00925,"94":0.01388,"95":0.03702,"98":0.02776,"102":0.01851,"103":0.02776,"104":0.00925,"105":0.00463,"106":0.00463,"107":0.01851,"108":0.01388,"109":0.81898,"110":0.01388,"111":0.01388,"112":0.02314,"113":0.01388,"114":0.01388,"115":0.00463,"116":0.08791,"117":0.00463,"118":0.03702,"119":0.01851,"120":0.04164,"121":0.06478,"122":0.20822,"123":0.3424,"124":0.2406,"125":0.04164,"126":0.08791,"127":0.04164,"128":0.14806,"129":0.74957,"130":16.8978,"131":10.06373,"132":0.00463,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 49 52 54 55 57 58 59 60 61 62 63 64 65 66 67 68 70 71 73 74 75 76 77 81 84 89 90 93 96 97 99 100 101 133 134"},F:{"37":0.00463,"46":0.00463,"78":0.01851,"79":0.00925,"85":0.01851,"86":0.00463,"95":0.00463,"113":0.04164,"114":0.95316,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00463,"99":0.02314,"106":0.00463,"109":0.01851,"111":0.00463,"114":0.00925,"121":0.00925,"122":0.00463,"125":0.01388,"126":0.02314,"127":0.00463,"128":0.01851,"129":0.10179,"130":3.63682,"131":2.59112,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 100 101 102 103 104 105 107 108 110 112 113 115 116 117 118 119 120 123 124"},E:{"9":0.00463,"14":0.00925,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1","13.1":0.20822,"14.1":0.06015,"15.2-15.3":0.00925,"15.4":0.00463,"15.5":0.00925,"15.6":0.13418,"16.0":0.01388,"16.1":0.01388,"16.2":0.00925,"16.3":0.02776,"16.4":0.07403,"16.5":0.01388,"16.6":0.16195,"17.0":0.01388,"17.1":0.03239,"17.2":0.01851,"17.3":0.04627,"17.4":0.05552,"17.5":0.11568,"17.6":0.66166,"18.0":0.27299,"18.1":0.33314,"18.2":0.00925},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00134,"5.0-5.1":0,"6.0-6.1":0.00534,"7.0-7.1":0.00668,"8.1-8.4":0,"9.0-9.2":0.00534,"9.3":0.0187,"10.0-10.2":0.00401,"10.3":0.03072,"11.0-11.2":0.36065,"11.3-11.4":0.00935,"12.0-12.1":0.00534,"12.2-12.5":0.14025,"13.0-13.1":0.00267,"13.2":0.03606,"13.3":0.00534,"13.4-13.7":0.02004,"14.0-14.4":0.04408,"14.5-14.8":0.06278,"15.0-15.1":0.03606,"15.2-15.3":0.03339,"15.4":0.04007,"15.5":0.04675,"15.6-15.8":0.5009,"16.0":0.09484,"16.1":0.20036,"16.2":0.10152,"16.3":0.17231,"16.4":0.03473,"16.5":0.06946,"16.6-16.7":0.65718,"17.0":0.04809,"17.1":0.08014,"17.2":0.06679,"17.3":0.10152,"17.4":0.21772,"17.5":0.6505,"17.6-17.7":5.61941,"18.0":1.99291,"18.1":1.75114,"18.2":0.07079},P:{"4":0.05123,"20":0.01025,"21":0.03074,"22":0.02049,"23":0.04098,"24":0.05123,"25":0.07172,"26":2.04924,"27":1.55742,"5.0-5.4":0.01025,"6.2-6.4":0.01025,_:"7.2-7.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0","11.1-11.2":0.02049,"17.0":0.02049,"18.0":0.01025,"19.0":0.01025},I:{"0":0.02681,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.00555,"11":0.07773,_:"6 7 9 10 5.5"},K:{"0":0.54342,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.28477,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01612},O:{"0":0.20955},H:{"0":0.01},L:{"0":36.79549},R:{_:"0"},M:{"0":0.34925}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CZ.js deleted file mode 100644 index 7de557c9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/CZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.00549,"52":0.04388,"56":0.01097,"60":0.00549,"68":0.00549,"78":0.01646,"88":0.00549,"98":0.00549,"100":0.16455,"102":0.01097,"103":0.01097,"105":0.00549,"106":0.00549,"108":0.00549,"109":0.00549,"110":0.00549,"111":0.00549,"113":0.01646,"115":0.58141,"117":0.00549,"118":0.00549,"120":0.01646,"121":0.01097,"122":0.00549,"123":0.02194,"124":0.00549,"125":0.02194,"126":0.01097,"127":0.03291,"128":0.18101,"129":0.0384,"130":0.02743,"131":0.3291,"132":5.2656,"133":0.48268,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 99 101 104 107 112 114 116 119 134 135 136 3.5 3.6"},D:{"49":0.01097,"74":0.01097,"79":0.04388,"80":0.02743,"87":0.02194,"88":0.00549,"89":0.00549,"91":0.00549,"92":0.00549,"93":0.00549,"94":0.03291,"97":0.00549,"99":0.00549,"100":0.00549,"101":0.00549,"102":0.24134,"103":0.03291,"104":0.01646,"106":0.01097,"107":0.01646,"108":0.34556,"109":1.21767,"110":0.01097,"111":0.01097,"112":0.01097,"113":0.07679,"114":0.1097,"115":0.04388,"116":0.2578,"117":0.23586,"118":0.21392,"119":0.20843,"120":0.76242,"121":0.03291,"122":0.12616,"123":0.08776,"124":0.08228,"125":0.11519,"126":0.06582,"127":0.07679,"128":0.19746,"129":0.95988,"130":15.74195,"131":10.01013,"132":0.00549,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 81 83 84 85 86 90 95 96 98 105 133 134"},F:{"46":0.00549,"69":0.00549,"84":0.00549,"85":0.05485,"86":0.00549,"89":0.00549,"95":0.12067,"105":0.01097,"112":0.00549,"113":0.14261,"114":2.72605,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 87 88 90 91 92 93 94 96 97 98 99 100 101 102 103 104 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.01097,"107":0.00549,"108":0.00549,"109":0.09873,"110":0.00549,"111":0.00549,"112":0.00549,"114":0.02743,"116":0.00549,"118":0.34007,"119":0.00549,"120":0.00549,"121":0.01097,"122":0.01646,"123":0.01097,"124":0.01097,"125":0.01097,"126":0.03291,"127":0.01097,"128":0.06582,"129":0.17552,"130":4.55804,"131":3.15388,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 113 115 117"},E:{"14":0.01097,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.02194,"14.1":0.0384,"15.1":0.00549,"15.2-15.3":0.00549,"15.4":0.01097,"15.5":0.05485,"15.6":0.11519,"16.0":0.03291,"16.1":0.02194,"16.2":0.01646,"16.3":0.0384,"16.4":0.01097,"16.5":0.03291,"16.6":0.13713,"17.0":0.0384,"17.1":0.0384,"17.2":0.04388,"17.3":0.04388,"17.4":0.06034,"17.5":0.24683,"17.6":0.69111,"18.0":0.42783,"18.1":0.51011,"18.2":0.02194},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00107,"5.0-5.1":0,"6.0-6.1":0.00428,"7.0-7.1":0.00534,"8.1-8.4":0,"9.0-9.2":0.00428,"9.3":0.01497,"10.0-10.2":0.00321,"10.3":0.02459,"11.0-11.2":0.28861,"11.3-11.4":0.00748,"12.0-12.1":0.00428,"12.2-12.5":0.11224,"13.0-13.1":0.00214,"13.2":0.02886,"13.3":0.00428,"13.4-13.7":0.01603,"14.0-14.4":0.03527,"14.5-14.8":0.05024,"15.0-15.1":0.02886,"15.2-15.3":0.02672,"15.4":0.03207,"15.5":0.03741,"15.6-15.8":0.40085,"16.0":0.07589,"16.1":0.16034,"16.2":0.08124,"16.3":0.13789,"16.4":0.02779,"16.5":0.05558,"16.6-16.7":0.52592,"17.0":0.03848,"17.1":0.06414,"17.2":0.05345,"17.3":0.08124,"17.4":0.17424,"17.5":0.52057,"17.6-17.7":4.49702,"18.0":1.59485,"18.1":1.40138,"18.2":0.05665},P:{"4":0.05205,"20":0.01041,"21":0.01041,"22":0.02082,"23":0.04164,"24":0.03123,"25":0.04164,"26":1.1556,"27":0.9682,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 16.0 17.0 18.0","14.0":0.01041,"19.0":0.01041},I:{"0":0.11265,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00015},A:{"8":0.0128,"10":0.0064,"11":0.05759,_:"6 7 9 5.5"},K:{"0":0.50579,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00452},O:{"0":0.09935},H:{"0":0},L:{"0":31.29644},R:{_:"0"},M:{"0":0.48321}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DE.js deleted file mode 100644 index 51217dc0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"38":0.00513,"40":0.00513,"48":0.01025,"50":0.01025,"51":0.01538,"52":0.05638,"53":0.00513,"55":0.01025,"56":0.01538,"59":0.01025,"60":0.00513,"66":0.00513,"72":0.00513,"77":0.00513,"78":0.03075,"84":0.00513,"88":0.00513,"91":0.01025,"94":0.00513,"97":0.00513,"98":0.01025,"99":0.00513,"100":0.00513,"101":0.00513,"102":0.01538,"103":0.01538,"104":0.00513,"105":0.00513,"106":0.01025,"107":0.00513,"108":0.01025,"109":0.00513,"110":0.00513,"111":0.01025,"112":0.00513,"113":0.01025,"114":0.00513,"115":0.68163,"116":0.00513,"117":0.01025,"118":0.0205,"119":0.01025,"120":0.05125,"121":0.01538,"122":0.0205,"123":0.01538,"124":0.01025,"125":0.03075,"126":0.0205,"127":0.04613,"128":0.42538,"129":0.03075,"130":0.05125,"131":0.48175,"132":7.01613,"133":0.58938,"134":0.00513,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 44 45 46 47 49 54 57 58 61 62 63 64 65 67 68 69 70 71 73 74 75 76 79 80 81 82 83 85 86 87 89 90 92 93 95 96 135 136 3.5 3.6"},D:{"34":0.00513,"35":0.00513,"36":0.00513,"37":0.00513,"41":0.01025,"49":0.01538,"52":0.02563,"56":0.00513,"58":0.041,"63":0.00513,"66":0.041,"70":0.00513,"73":0.00513,"74":0.01025,"76":0.00513,"77":0.00513,"79":0.03075,"80":0.03588,"81":0.02563,"83":0.01025,"84":0.00513,"85":0.01025,"86":0.01025,"87":0.04613,"88":0.01538,"89":0.03075,"90":0.00513,"91":0.05638,"92":0.00513,"93":0.03075,"94":0.02563,"95":1.44525,"96":0.01025,"97":0.03075,"98":0.00513,"99":0.00513,"100":0.00513,"101":0.00513,"102":0.0205,"103":0.31775,"104":0.01538,"105":0.01538,"106":0.04613,"107":0.03588,"108":0.0615,"109":0.65088,"110":0.03588,"111":0.04613,"112":0.041,"113":0.06663,"114":0.05638,"115":0.03588,"116":0.205,"117":0.0615,"118":0.07688,"119":0.05125,"120":0.07688,"121":0.03588,"122":0.11788,"123":0.14863,"124":0.19988,"125":0.17938,"126":0.37925,"127":0.12813,"128":0.27675,"129":1.60925,"130":11.05463,"131":6.07825,"132":0.01025,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 38 39 40 42 43 44 45 46 47 48 50 51 53 54 55 57 59 60 61 62 64 65 67 68 69 71 72 75 78 133 134"},F:{"46":0.01025,"85":0.03075,"86":0.00513,"94":0.00513,"95":0.05638,"102":0.01025,"109":0.00513,"112":0.00513,"113":0.2255,"114":2.9315,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 96 97 98 99 100 101 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00513},B:{"17":0.00513,"92":0.01025,"100":0.00513,"104":0.00513,"106":0.00513,"107":0.01025,"108":0.01025,"109":0.12813,"110":0.00513,"111":0.041,"112":0.01025,"113":0.00513,"114":0.01025,"115":0.00513,"116":0.00513,"117":0.00513,"118":0.00513,"119":0.01025,"120":0.01538,"121":0.0205,"122":0.03075,"123":0.01025,"124":0.02563,"125":0.01538,"126":0.07175,"127":0.0205,"128":0.082,"129":0.24088,"130":4.2435,"131":2.80338,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 105"},E:{"7":0.01025,"13":0.00513,"14":0.01538,"15":0.01025,_:"0 4 5 6 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1","9.1":0.00513,"10.1":0.00513,"11.1":0.01025,"12.1":0.00513,"13.1":0.04613,"14.1":0.05638,"15.1":0.01538,"15.2-15.3":0.00513,"15.4":0.01538,"15.5":0.02563,"15.6":0.23575,"16.0":0.07688,"16.1":0.03588,"16.2":0.03588,"16.3":0.07688,"16.4":0.0205,"16.5":0.03588,"16.6":0.287,"17.0":0.03075,"17.1":0.041,"17.2":0.041,"17.3":0.041,"17.4":0.11788,"17.5":0.27675,"17.6":1.30175,"18.0":0.66113,"18.1":0.85588,"18.2":0.0205},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00145,"5.0-5.1":0,"6.0-6.1":0.00581,"7.0-7.1":0.00726,"8.1-8.4":0,"9.0-9.2":0.00581,"9.3":0.02034,"10.0-10.2":0.00436,"10.3":0.03341,"11.0-11.2":0.39224,"11.3-11.4":0.01017,"12.0-12.1":0.00581,"12.2-12.5":0.15254,"13.0-13.1":0.00291,"13.2":0.03922,"13.3":0.00581,"13.4-13.7":0.02179,"14.0-14.4":0.04794,"14.5-14.8":0.06828,"15.0-15.1":0.03922,"15.2-15.3":0.03632,"15.4":0.04358,"15.5":0.05085,"15.6-15.8":0.54478,"16.0":0.10315,"16.1":0.21791,"16.2":0.11041,"16.3":0.1874,"16.4":0.03777,"16.5":0.07554,"16.6-16.7":0.71475,"17.0":0.0523,"17.1":0.08717,"17.2":0.07264,"17.3":0.11041,"17.4":0.2368,"17.5":0.70749,"17.6-17.7":6.11172,"18.0":2.1675,"18.1":1.90456,"18.2":0.077},P:{"4":0.06298,"20":0.02099,"21":0.06298,"22":0.05249,"23":0.07348,"24":0.07348,"25":0.08398,"26":2.13096,"27":1.77405,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 12.0 14.0","6.2-6.4":0.0105,"11.1-11.2":0.0105,"13.0":0.0105,"15.0":0.0105,"16.0":0.02099,"17.0":0.02099,"18.0":0.0105,"19.0":0.02099},I:{"0":0.02432,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.00559,"11":0.05591,_:"6 7 9 10 5.5"},K:{"0":0.66788,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01463},O:{"0":0.17063},H:{"0":0},L:{"0":27.82563},R:{_:"0"},M:{"0":1.10663}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DJ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DJ.js deleted file mode 100644 index f87a1df4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"42":0.00119,"66":0.00119,"78":0.00237,"88":0.00593,"103":0.00948,"115":0.03081,"126":0.00119,"127":0.00119,"128":0.00237,"130":0.00119,"131":0.00711,"132":0.51666,"133":0.04266,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 129 134 135 136 3.5 3.6"},D:{"46":0.00119,"49":0.00356,"58":0.03081,"64":0.00474,"68":0.00474,"69":0.00119,"70":0.01067,"71":0.00237,"76":0.01659,"83":0.00356,"87":0.01067,"88":0.00356,"92":0.00356,"94":0.00119,"95":0.00119,"97":0.00474,"99":0.00119,"100":0.00237,"101":0.00356,"102":0.00593,"103":0.0083,"106":0.00474,"108":0.00237,"109":0.47874,"111":0.01304,"116":0.00356,"117":0.00474,"118":0.0083,"119":0.01185,"120":0.03318,"122":0.00948,"123":0.00237,"124":0.09362,"126":0.01422,"127":0.03674,"128":0.05214,"129":0.07703,"130":3.89865,"131":2.85822,"132":0.00119,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 56 57 59 60 61 62 63 65 66 67 72 73 74 75 77 78 79 80 81 84 85 86 89 90 91 93 96 98 104 105 107 110 112 113 114 115 121 125 133 134"},F:{"46":0.00119,"79":0.00474,"86":0.00237,"95":0.00119,"102":0.00119,"110":0.00356,"114":0.18012,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00119,"14":0.00237,"16":0.00237,"17":0.00119,"18":0.00474,"89":0.01304,"91":0.00119,"92":0.02252,"100":0.00356,"103":0.00119,"107":0.00119,"109":0.032,"110":0.00237,"114":0.00237,"115":0.00237,"116":0.00356,"119":0.00119,"120":0.00356,"121":0.00237,"122":0.00237,"124":0.00948,"125":0.00711,"126":0.00593,"127":0.01304,"128":0.01659,"129":0.032,"130":0.9563,"131":0.78566,_:"13 15 79 80 81 83 84 85 86 87 88 90 93 94 95 96 97 98 99 101 102 104 105 106 108 111 112 113 117 118 123"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.1 15.4 16.0 16.1 16.2 16.3 16.5 17.0 17.1 17.3 18.2","14.1":0.0083,"15.2-15.3":0.00119,"15.5":0.00119,"15.6":0.0237,"16.4":0.00119,"16.6":0.00711,"17.2":0.00237,"17.4":0.00119,"17.5":0.00948,"17.6":0.01067,"18.0":0.03081,"18.1":0.032},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00059,"5.0-5.1":0,"6.0-6.1":0.00234,"7.0-7.1":0.00293,"8.1-8.4":0,"9.0-9.2":0.00234,"9.3":0.00819,"10.0-10.2":0.00176,"10.3":0.01346,"11.0-11.2":0.15802,"11.3-11.4":0.0041,"12.0-12.1":0.00234,"12.2-12.5":0.06145,"13.0-13.1":0.00117,"13.2":0.0158,"13.3":0.00234,"13.4-13.7":0.00878,"14.0-14.4":0.01931,"14.5-14.8":0.02751,"15.0-15.1":0.0158,"15.2-15.3":0.01463,"15.4":0.01756,"15.5":0.02048,"15.6-15.8":0.21947,"16.0":0.04155,"16.1":0.08779,"16.2":0.04448,"16.3":0.0755,"16.4":0.01522,"16.5":0.03043,"16.6-16.7":0.28794,"17.0":0.02107,"17.1":0.03511,"17.2":0.02926,"17.3":0.04448,"17.4":0.0954,"17.5":0.28502,"17.6-17.7":2.46215,"18.0":0.87319,"18.1":0.76726,"18.2":0.03102},P:{"4":0.07116,"20":0.05083,"21":0.08132,"22":0.12198,"23":0.09149,"24":0.37611,"25":0.19314,"26":1.15882,"27":0.32528,_:"5.0-5.4 9.2 10.1 11.1-11.2 14.0 15.0 16.0","6.2-6.4":0.01017,"7.2-7.4":0.13215,"8.2":0.02033,"12.0":0.01017,"13.0":0.01017,"17.0":0.07116,"18.0":0.0305,"19.0":0.0305},I:{"0":0.11433,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00015},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":1.96552,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.29968},H:{"0":0},L:{"0":78.18847},R:{_:"0"},M:{"0":0.07051}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DK.js deleted file mode 100644 index 5fb92309..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00668,"78":0.01336,"88":0.02673,"91":0.00668,"107":0.02005,"115":0.18041,"122":0.00668,"125":0.01336,"126":0.00668,"127":0.00668,"128":0.08018,"129":0.00668,"130":0.02005,"131":0.25392,"132":2.11151,"133":0.12696,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 109 110 111 112 113 114 116 117 118 119 120 121 123 124 134 135 136 3.5 3.6"},D:{"38":0.00668,"44":0.00668,"49":0.00668,"52":0.04009,"58":0.00668,"66":0.00668,"77":0.00668,"79":0.00668,"87":0.03341,"88":0.01336,"89":0.02005,"92":0.00668,"93":0.00668,"94":0.00668,"101":0.00668,"102":0.01336,"103":0.21382,"104":0.02673,"105":0.01336,"106":0.00668,"107":0.01336,"108":0.00668,"109":0.70161,"110":0.04009,"111":0.01336,"112":0.02005,"113":0.14032,"114":0.15369,"115":0.00668,"116":0.5212,"117":0.12028,"118":0.02673,"119":0.04677,"120":0.09355,"121":0.04009,"122":0.28064,"123":0.21382,"124":0.20714,"125":0.11359,"126":0.39424,"127":0.36083,"128":0.88871,"129":3.2675,"130":28.03767,"131":12.81608,"132":0.00668,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 45 46 47 48 50 51 53 54 55 56 57 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 78 80 81 83 84 85 86 90 91 95 96 97 98 99 100 133 134"},F:{"46":0.00668,"85":0.00668,"95":0.01336,"102":0.00668,"107":0.02673,"113":0.13364,"114":1.17603,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00668,"107":0.00668,"108":0.00668,"109":0.06014,"110":0.00668,"112":0.00668,"114":0.00668,"115":0.00668,"116":0.00668,"117":0.00668,"118":0.00668,"120":0.00668,"121":0.04677,"122":0.04009,"123":0.00668,"124":0.00668,"125":0.00668,"126":0.03341,"127":0.03341,"128":0.06682,"129":0.20714,"130":3.80874,"131":2.16497,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 111 113 119"},E:{"14":0.02005,"15":0.00668,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.04009,"14.1":0.08018,"15.1":0.02673,"15.2-15.3":0.01336,"15.4":0.04677,"15.5":0.0735,"15.6":0.32074,"16.0":0.06682,"16.1":0.05346,"16.2":0.06014,"16.3":0.17373,"16.4":0.0735,"16.5":0.09355,"16.6":0.54124,"17.0":0.0735,"17.1":0.11359,"17.2":0.08687,"17.3":0.16705,"17.4":0.28064,"17.5":0.57465,"17.6":1.70391,"18.0":0.73502,"18.1":0.71497,"18.2":0.01336},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00195,"5.0-5.1":0,"6.0-6.1":0.00779,"7.0-7.1":0.00974,"8.1-8.4":0,"9.0-9.2":0.00779,"9.3":0.02727,"10.0-10.2":0.00584,"10.3":0.0448,"11.0-11.2":0.52596,"11.3-11.4":0.01364,"12.0-12.1":0.00779,"12.2-12.5":0.20454,"13.0-13.1":0.0039,"13.2":0.0526,"13.3":0.00779,"13.4-13.7":0.02922,"14.0-14.4":0.06428,"14.5-14.8":0.09156,"15.0-15.1":0.0526,"15.2-15.3":0.0487,"15.4":0.05844,"15.5":0.06818,"15.6-15.8":0.7305,"16.0":0.13831,"16.1":0.2922,"16.2":0.14805,"16.3":0.25129,"16.4":0.05065,"16.5":0.1013,"16.6-16.7":0.95841,"17.0":0.07013,"17.1":0.11688,"17.2":0.0974,"17.3":0.14805,"17.4":0.31752,"17.5":0.94867,"17.6-17.7":8.19523,"18.0":2.90641,"18.1":2.55383,"18.2":0.10324},P:{"20":0.01071,"22":0.01071,"23":0.01071,"24":0.01071,"25":0.02143,"26":0.72854,"27":0.61069,_:"4 21 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.03311,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.00764,"11":0.04582,_:"6 7 9 10 5.5"},K:{"0":0.10949,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00332},O:{"0":0.01991},H:{"0":0},L:{"0":11.79088},R:{_:"0"},M:{"0":0.34839}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DM.js deleted file mode 100644 index 4cf628df..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.06238,"116":0.00891,"128":0.00446,"130":0.00446,"131":0.17378,"132":0.41441,"133":0.01782,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 117 118 119 120 121 122 123 124 125 126 127 129 134 135 136 3.5 3.6"},D:{"11":0.00446,"39":0.00446,"49":0.00891,"56":0.00891,"63":0.00446,"69":0.01337,"74":0.00446,"75":0.02674,"76":0.44114,"77":0.16042,"79":1.5596,"80":3.24842,"81":0.00891,"83":0.01337,"86":0.42332,"87":0.00446,"88":0.00891,"89":0.00446,"91":0.0401,"93":0.12031,"94":0.02228,"103":0.36985,"109":0.3743,"111":0.00446,"116":0.03119,"118":0.00446,"119":0.00891,"120":0.00446,"121":0.00891,"122":0.01782,"123":0.03119,"124":0.00891,"126":0.14259,"127":0.00891,"128":0.26736,"129":0.32974,"130":12.81991,"131":10.92166,"132":0.02674,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 64 65 66 67 68 70 71 72 73 78 84 85 90 92 95 96 97 98 99 100 101 102 104 105 106 107 108 110 112 113 114 115 117 125 133 134"},F:{"85":0.00891,"86":0.04902,"95":0.00891,"113":0.00446,"114":0.4456,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00446,"18":0.00891,"92":0.00446,"109":0.01337,"111":0.00446,"121":0.00891,"124":0.01782,"125":0.00446,"126":0.00446,"127":0.00446,"128":0.02228,"129":0.05347,"130":3.37319,"131":2.00966,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 114 115 116 117 118 119 120 122 123"},E:{"14":0.05347,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.1 15.2-15.3 16.2","14.1":0.28518,"15.4":0.00446,"15.5":0.00446,"15.6":0.12922,"16.0":0.00446,"16.1":0.09358,"16.3":0.03119,"16.4":0.02674,"16.5":0.00891,"16.6":0.49016,"17.0":0.01337,"17.1":0.01337,"17.2":0.00446,"17.3":0.00891,"17.4":0.01337,"17.5":0.12031,"17.6":0.41886,"18.0":0.56146,"18.1":0.30746,"18.2":0.00891},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00079,"5.0-5.1":0,"6.0-6.1":0.00316,"7.0-7.1":0.00395,"8.1-8.4":0,"9.0-9.2":0.00316,"9.3":0.01107,"10.0-10.2":0.00237,"10.3":0.01819,"11.0-11.2":0.21357,"11.3-11.4":0.00554,"12.0-12.1":0.00316,"12.2-12.5":0.08305,"13.0-13.1":0.00158,"13.2":0.02136,"13.3":0.00316,"13.4-13.7":0.01186,"14.0-14.4":0.0261,"14.5-14.8":0.03718,"15.0-15.1":0.02136,"15.2-15.3":0.01977,"15.4":0.02373,"15.5":0.02768,"15.6-15.8":0.29662,"16.0":0.05616,"16.1":0.11865,"16.2":0.06011,"16.3":0.10204,"16.4":0.02057,"16.5":0.04113,"16.6-16.7":0.38917,"17.0":0.02848,"17.1":0.04746,"17.2":0.03955,"17.3":0.06011,"17.4":0.12893,"17.5":0.38521,"17.6-17.7":3.32768,"18.0":1.18015,"18.1":1.03698,"18.2":0.04192},P:{"4":0.16734,"22":0.02231,"23":0.11156,"24":0.04462,"25":0.02231,"26":1.05981,"27":1.96345,_:"20 21 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 17.0 18.0","5.0-5.4":0.02231,"6.2-6.4":0.02231,"7.2-7.4":0.05578,"16.0":0.02231,"19.0":0.02231},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":3.66947,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.06097,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.21063},O:{"0":0.13858},H:{"0":0},L:{"0":43.10498},R:{_:"0"},M:{"0":0.09423}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DO.js deleted file mode 100644 index 253d1f61..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.10742,"39":0.00298,"52":0.00597,"59":0.00298,"70":0.00298,"78":0.00298,"84":0.00298,"89":0.00298,"91":0.00298,"92":0.00597,"105":0.00298,"110":0.00298,"115":0.04774,"118":0.00298,"124":0.00298,"125":0.04476,"126":0.00597,"127":0.00298,"128":0.0179,"129":0.00597,"130":0.00298,"131":0.03581,"132":0.47147,"133":0.04774,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 85 86 87 88 90 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 109 111 112 113 114 116 117 119 120 121 122 123 134 135 136 3.5 3.6"},D:{"41":0.00298,"47":0.00597,"49":0.00298,"56":0.00298,"65":0.00895,"66":0.00298,"70":0.00895,"72":0.00597,"73":0.01194,"75":0.00298,"76":0.00597,"77":0.00298,"78":0.00298,"79":0.01492,"81":0.00597,"83":0.00298,"84":0.00597,"85":0.00298,"86":0.01194,"87":0.05371,"88":0.01194,"89":0.00298,"90":0.00597,"91":0.0179,"92":0.00895,"93":0.04774,"94":0.02984,"95":0.00298,"97":0.00298,"98":0.00298,"99":0.00298,"100":0.00298,"101":0.00298,"102":0.00298,"103":0.07758,"104":0.00298,"105":0.00597,"106":0.02387,"107":0.05073,"108":0.02984,"109":0.9877,"110":0.05073,"111":0.04178,"112":0.02387,"113":0.01492,"114":0.03879,"115":0.00298,"116":0.1313,"117":0.00597,"118":0.00895,"119":0.05073,"120":0.02089,"121":0.03581,"122":0.05968,"123":0.10742,"124":0.14622,"125":0.03581,"126":0.08355,"127":0.08355,"128":0.17606,"129":0.45357,"130":9.47122,"131":5.9859,"132":0.00597,"133":0.00298,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 48 50 51 52 53 54 55 57 58 59 60 61 62 63 64 67 68 69 71 74 80 96 134"},F:{"46":0.00298,"78":0.00298,"85":0.00597,"93":0.00298,"94":0.00597,"95":0.00895,"102":0.00597,"103":0.00298,"104":0.00298,"112":0.01194,"113":0.06565,"114":1.27417,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 86 87 88 89 90 91 92 96 97 98 99 100 101 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00298,"17":0.00298,"18":0.02089,"85":0.00298,"86":0.00298,"89":0.00298,"90":0.00298,"91":0.00298,"92":0.02686,"93":0.00298,"100":0.00298,"102":0.00298,"103":0.00895,"107":0.00597,"108":0.00895,"109":0.02984,"112":0.00298,"113":0.00597,"114":0.00597,"116":0.00895,"117":0.01194,"118":0.00597,"120":0.00298,"121":0.00597,"122":0.00597,"123":0.00298,"124":0.00895,"125":0.01194,"126":0.01492,"127":0.03581,"128":0.03879,"129":0.09549,"130":2.17235,"131":1.50692,_:"13 14 15 16 79 80 81 83 84 87 88 94 95 96 97 98 99 101 104 105 106 110 111 115 119"},E:{"14":0.00298,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","5.1":0.00298,"13.1":0.02387,"14.1":0.03282,"15.1":0.00298,"15.4":0.00597,"15.5":0.01194,"15.6":0.0925,"16.0":0.00597,"16.1":0.01194,"16.2":0.00597,"16.3":0.0567,"16.4":0.02984,"16.5":0.01492,"16.6":0.06863,"17.0":0.00597,"17.1":0.02089,"17.2":0.0179,"17.3":0.01194,"17.4":0.1492,"17.5":0.13726,"17.6":0.42671,"18.0":0.25961,"18.1":0.28348,"18.2":0.0179},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00356,"5.0-5.1":0,"6.0-6.1":0.01423,"7.0-7.1":0.01778,"8.1-8.4":0,"9.0-9.2":0.01423,"9.3":0.04979,"10.0-10.2":0.01067,"10.3":0.0818,"11.0-11.2":0.96023,"11.3-11.4":0.02489,"12.0-12.1":0.01423,"12.2-12.5":0.37342,"13.0-13.1":0.00711,"13.2":0.09602,"13.3":0.01423,"13.4-13.7":0.05335,"14.0-14.4":0.11736,"14.5-14.8":0.16715,"15.0-15.1":0.09602,"15.2-15.3":0.08891,"15.4":0.10669,"15.5":0.12447,"15.6-15.8":1.33365,"16.0":0.25251,"16.1":0.53346,"16.2":0.27029,"16.3":0.45878,"16.4":0.09247,"16.5":0.18493,"16.6-16.7":1.74975,"17.0":0.12803,"17.1":0.21338,"17.2":0.17782,"17.3":0.27029,"17.4":0.57969,"17.5":1.73197,"17.6-17.7":14.96182,"18.0":5.30616,"18.1":4.66245,"18.2":0.18849},P:{"4":0.04222,"20":0.02111,"21":0.01056,"22":0.03167,"23":0.02111,"24":0.02111,"25":0.02111,"26":0.5067,"27":0.42225,_:"5.0-5.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 17.0 18.0 19.0","6.2-6.4":0.01056,"7.2-7.4":0.02111,"11.1-11.2":0.01056,"16.0":0.01056},I:{"0":0.056,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.01194,_:"6 7 8 9 10 5.5"},K:{"0":0.23153,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00702},O:{"0":0.02105},H:{"0":0},L:{"0":35.60492},R:{_:"0"},M:{"0":0.11226}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DZ.js deleted file mode 100644 index 0287810c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/DZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"40":0.00282,"43":0.00282,"47":0.00282,"48":0.00282,"52":0.04236,"56":0.00282,"60":0.00282,"68":0.00282,"70":0.00282,"72":0.00565,"78":0.00847,"88":0.00282,"89":0.00282,"94":0.00282,"99":0.00282,"102":0.00847,"103":0.01694,"105":0.00282,"106":0.00565,"107":0.00282,"108":0.00282,"109":0.00282,"110":0.00282,"111":0.0113,"112":0.00282,"113":0.00282,"114":0.00282,"115":1.06465,"118":0.00282,"122":0.00282,"123":0.00282,"125":0.02259,"126":0.00282,"127":0.01412,"128":0.03106,"129":0.00565,"130":0.00847,"131":0.05366,"132":1.25668,"133":0.09602,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 44 45 46 49 50 51 53 54 55 57 58 59 61 62 63 64 65 66 67 69 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 90 91 92 93 95 96 97 98 100 101 104 116 117 119 120 121 124 134 135 136 3.5 3.6"},D:{"11":0.0113,"26":0.00282,"31":0.00282,"33":0.00282,"38":0.00282,"40":0.00282,"42":0.00282,"43":0.01694,"46":0.00282,"47":0.00565,"48":0.00282,"49":0.02542,"50":0.00565,"51":0.00282,"52":0.00282,"55":0.00282,"56":0.02259,"58":0.16662,"59":0.00282,"60":0.00565,"61":0.00282,"62":0.00282,"63":0.01977,"64":0.00282,"65":0.00565,"66":0.00565,"68":0.00565,"69":0.00847,"70":0.00847,"71":0.00847,"72":0.00847,"73":0.00847,"74":0.00847,"75":0.00565,"76":0.00565,"77":0.00565,"78":0.00565,"79":0.11861,"80":0.00565,"81":0.02542,"83":0.0593,"84":0.00565,"85":0.01694,"86":0.01694,"87":0.0593,"88":0.02542,"89":0.0113,"90":0.00847,"91":0.01694,"92":0.00847,"93":0.0113,"94":0.02259,"95":0.0593,"96":0.0113,"97":0.0113,"98":0.02542,"99":0.00847,"100":0.00847,"101":0.0113,"102":0.00847,"103":0.04801,"104":0.02824,"105":0.01694,"106":0.03106,"107":0.03671,"108":0.0593,"109":6.08854,"110":0.05083,"111":0.02542,"112":0.02259,"113":0.00565,"114":0.00847,"115":0.00282,"116":0.05366,"117":0.00847,"118":0.05366,"119":0.09319,"120":0.09602,"121":0.02542,"122":0.03671,"123":0.03389,"124":0.09319,"125":0.04236,"126":0.0819,"127":0.07907,"128":0.10449,"129":0.28522,"130":6.43307,"131":4.47604,"132":0.00565,"133":0.00282,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 32 34 35 36 37 39 41 44 45 53 54 57 67 134"},F:{"25":0.00282,"36":0.00282,"46":0.00282,"64":0.00282,"73":0.00282,"79":0.02824,"82":0.00282,"83":0.00282,"84":0.00565,"85":0.02259,"86":0.00282,"90":0.00282,"93":0.00282,"95":0.17226,"102":0.00282,"109":0.00282,"112":0.00282,"113":0.04236,"114":1.14372,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 87 88 89 91 92 94 96 97 98 99 100 101 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00282,"13":0.00282,"15":0.00282,"16":0.00282,"18":0.00565,"84":0.00282,"89":0.00565,"92":0.03954,"100":0.00565,"105":0.00282,"106":0.00282,"107":0.00282,"108":0.00847,"109":0.06213,"110":0.00282,"111":0.00282,"112":0.00282,"113":0.00282,"114":0.00847,"116":0.00282,"117":0.00282,"118":0.00565,"120":0.00282,"121":0.00282,"122":0.00565,"123":0.00282,"124":0.00282,"125":0.00565,"126":0.01694,"127":0.02542,"128":0.01977,"129":0.06495,"130":0.91215,"131":0.59869,_:"14 17 79 80 81 83 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 115 119"},E:{"13":0.00282,"14":0.00282,"15":0.00282,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.2-15.3","11.1":0.00282,"12.1":0.00282,"13.1":0.00847,"14.1":0.00847,"15.1":0.00565,"15.4":0.00282,"15.5":0.00282,"15.6":0.03671,"16.0":0.00282,"16.1":0.00282,"16.2":0.00282,"16.3":0.01694,"16.4":0.00282,"16.5":0.00565,"16.6":0.04518,"17.0":0.00282,"17.1":0.00847,"17.2":0.00847,"17.3":0.00847,"17.4":0.03389,"17.5":0.03389,"17.6":0.12143,"18.0":0.08754,"18.1":0.09037,"18.2":0.00282},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00049,"5.0-5.1":0,"6.0-6.1":0.00197,"7.0-7.1":0.00246,"8.1-8.4":0,"9.0-9.2":0.00197,"9.3":0.00689,"10.0-10.2":0.00148,"10.3":0.01132,"11.0-11.2":0.13291,"11.3-11.4":0.00345,"12.0-12.1":0.00197,"12.2-12.5":0.05169,"13.0-13.1":0.00098,"13.2":0.01329,"13.3":0.00197,"13.4-13.7":0.00738,"14.0-14.4":0.01625,"14.5-14.8":0.02314,"15.0-15.1":0.01329,"15.2-15.3":0.01231,"15.4":0.01477,"15.5":0.01723,"15.6-15.8":0.1846,"16.0":0.03495,"16.1":0.07384,"16.2":0.03741,"16.3":0.0635,"16.4":0.0128,"16.5":0.0256,"16.6-16.7":0.2422,"17.0":0.01772,"17.1":0.02954,"17.2":0.02461,"17.3":0.03741,"17.4":0.08024,"17.5":0.23974,"17.6-17.7":2.071,"18.0":0.73447,"18.1":0.64537,"18.2":0.02609},P:{"4":0.13257,"20":0.0102,"21":0.05099,"22":0.10197,"23":0.06118,"24":0.09178,"25":0.10197,"26":0.70363,"27":0.35691,"5.0-5.4":0.02039,"6.2-6.4":0.0102,"7.2-7.4":0.15296,_:"8.2 10.1 12.0 14.0 15.0","9.2":0.02039,"11.1-11.2":0.02039,"13.0":0.0102,"16.0":0.02039,"17.0":0.02039,"18.0":0.0102,"19.0":0.04079},I:{"0":0.0716,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"8":0.01513,"9":0.00605,"11":0.1059,_:"6 7 10 5.5"},K:{"0":0.49667,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00718},O:{"0":0.3588},H:{"0":0.02},L:{"0":65.43038},R:{_:"0"},M:{"0":0.1507}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EC.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EC.js deleted file mode 100644 index 3e7153e7..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.13137,"52":0.02265,"75":0.00453,"78":0.00453,"89":0.00453,"93":0.00453,"102":0.00453,"105":0.00453,"106":0.00453,"108":0.00453,"113":0.00453,"115":0.23103,"118":0.00453,"119":0.00453,"120":0.00453,"121":0.00453,"122":0.00453,"123":0.00453,"124":0.00453,"125":0.00453,"126":0.00453,"127":0.01812,"128":0.02265,"129":0.01359,"130":0.01812,"131":0.14496,"132":2.09739,"133":0.21744,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 79 80 81 82 83 84 85 86 87 88 90 91 92 94 95 96 97 98 99 100 101 103 104 107 109 110 111 112 114 116 117 134 135 136 3.5 3.6"},D:{"11":0.00453,"34":0.00453,"38":0.00906,"47":0.01359,"49":0.00453,"50":0.00453,"53":0.00453,"55":0.01812,"56":0.00453,"58":0.00453,"62":0.00453,"63":0.00453,"65":0.00906,"66":0.01359,"70":0.00453,"71":0.00453,"73":0.00453,"74":0.00453,"75":0.01359,"76":0.00453,"78":0.00453,"79":0.18573,"81":0.00453,"84":0.01359,"85":0.00453,"86":0.00906,"87":0.04983,"88":0.00906,"90":0.00453,"91":0.07701,"93":0.00906,"94":0.07248,"95":0.00453,"96":0.00453,"97":0.01812,"98":0.00453,"99":0.00453,"100":0.00453,"101":0.00453,"102":0.00453,"103":0.08607,"104":0.00906,"105":0.00906,"106":0.00906,"107":0.00453,"108":0.01359,"109":1.53567,"110":0.04077,"111":0.01359,"112":0.00906,"113":0.01359,"114":0.02265,"115":0.00906,"116":0.28539,"117":0.00453,"118":0.01812,"119":0.06795,"120":0.07701,"121":0.05436,"122":0.24462,"123":0.09513,"124":0.11778,"125":0.15855,"126":0.0906,"127":0.0906,"128":0.43035,"129":0.62967,"130":15.13926,"131":11.58774,"132":0.00453,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 51 52 54 57 59 60 61 64 67 68 69 72 77 80 83 89 92 133 134"},F:{"85":0.00453,"95":0.02265,"102":0.00453,"112":0.00453,"113":0.15855,"114":2.07474,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00453,"92":0.01359,"100":0.00453,"108":0.00453,"109":0.05436,"114":0.00453,"115":0.02718,"118":0.00453,"119":0.00453,"120":0.00453,"121":0.00453,"122":0.00453,"123":0.00453,"124":0.11778,"125":0.01359,"126":0.02718,"127":0.00906,"128":0.02265,"129":0.11778,"130":2.58663,"131":2.15175,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111 112 113 116 117"},E:{"14":0.00453,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1","5.1":0.00906,"13.1":0.00906,"14.1":0.0453,"15.1":0.00453,"15.2-15.3":0.03624,"15.4":0.00453,"15.5":0.00453,"15.6":0.05889,"16.0":0.01812,"16.1":0.00906,"16.2":0.00906,"16.3":0.00906,"16.4":0.00453,"16.5":0.00906,"16.6":0.06342,"17.0":0.00453,"17.1":0.02718,"17.2":0.05889,"17.3":0.01359,"17.4":0.02718,"17.5":0.08607,"17.6":0.26274,"18.0":0.23103,"18.1":0.24462,"18.2":0.00906},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00103,"5.0-5.1":0,"6.0-6.1":0.00412,"7.0-7.1":0.00515,"8.1-8.4":0,"9.0-9.2":0.00412,"9.3":0.01442,"10.0-10.2":0.00309,"10.3":0.02369,"11.0-11.2":0.2781,"11.3-11.4":0.00721,"12.0-12.1":0.00412,"12.2-12.5":0.10815,"13.0-13.1":0.00206,"13.2":0.02781,"13.3":0.00412,"13.4-13.7":0.01545,"14.0-14.4":0.03399,"14.5-14.8":0.04841,"15.0-15.1":0.02781,"15.2-15.3":0.02575,"15.4":0.0309,"15.5":0.03605,"15.6-15.8":0.38625,"16.0":0.07313,"16.1":0.1545,"16.2":0.07828,"16.3":0.13287,"16.4":0.02678,"16.5":0.05356,"16.6-16.7":0.50676,"17.0":0.03708,"17.1":0.0618,"17.2":0.0515,"17.3":0.07828,"17.4":0.16789,"17.5":0.50161,"17.6-17.7":4.33321,"18.0":1.53676,"18.1":1.35033,"18.2":0.05459},P:{"4":0.05163,"20":0.01033,"21":0.02065,"22":0.0413,"23":0.0413,"24":0.0413,"25":0.03098,"26":0.68145,"27":0.60918,"5.0-5.4":0.03098,"6.2-6.4":0.01033,"7.2-7.4":0.10325,_:"8.2 9.2 10.1 12.0 14.0 15.0 16.0 18.0","11.1-11.2":0.01033,"13.0":0.01033,"17.0":0.02065,"19.0":0.03098},I:{"0":0.02183,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.03171,_:"6 7 8 9 10 5.5"},K:{"0":0.15863,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00547},O:{"0":0.03282},H:{"0":0},L:{"0":43.72895},R:{_:"0"},M:{"0":0.2188}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EE.js deleted file mode 100644 index c5bb781c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.06875,"78":0.00764,"88":0.08403,"89":0.00764,"92":0.04583,"93":0.00764,"103":0.00764,"109":0.01528,"115":3.72783,"117":0.00764,"122":0.00764,"123":0.00764,"125":0.01528,"127":0.00764,"128":0.10695,"129":0.02292,"130":0.03056,"131":0.39723,"132":3.13963,"133":0.21389,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 90 91 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 114 116 118 119 120 121 124 126 134 135 136 3.5 3.6"},D:{"51":0.00764,"60":0.00764,"74":0.00764,"79":0.00764,"87":0.01528,"88":0.00764,"92":0.01528,"95":0.00764,"98":0.00764,"101":0.00764,"102":0.02292,"103":0.03056,"104":0.00764,"106":0.06111,"107":0.01528,"108":0.03056,"109":0.96251,"110":0.26737,"112":0.00764,"114":0.05347,"116":0.25973,"117":0.03056,"118":0.00764,"119":0.15278,"120":0.04583,"121":0.37431,"122":0.38195,"123":0.1375,"124":0.35903,"125":0.16806,"126":0.26737,"127":0.19098,"128":0.56529,"129":2.69657,"130":31.42685,"131":16.75233,"132":0.00764,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 52 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 80 81 83 84 85 86 89 90 91 93 94 96 97 99 100 105 111 113 115 133 134"},F:{"83":0.01528,"84":0.00764,"85":0.00764,"91":0.00764,"93":0.00764,"95":0.07639,"113":0.1757,"114":5.46952,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 86 87 88 89 90 92 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.01528,"106":0.01528,"108":0.00764,"109":0.06875,"110":0.00764,"118":0.02292,"119":0.01528,"121":0.01528,"122":0.02292,"123":0.00764,"124":0.00764,"126":0.08403,"127":0.00764,"128":0.02292,"129":0.22153,"130":2.14656,"131":1.15349,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 107 111 112 113 114 115 116 117 120 125"},E:{"9":0.00764,"14":0.01528,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00764,"13.1":0.03056,"14.1":0.03056,"15.1":0.00764,"15.2-15.3":0.00764,"15.4":0.01528,"15.5":0.01528,"15.6":0.15278,"16.0":0.00764,"16.1":0.03056,"16.2":0.00764,"16.3":0.03056,"16.4":0.02292,"16.5":0.02292,"16.6":0.20625,"17.0":0.02292,"17.1":0.02292,"17.2":0.04583,"17.3":0.02292,"17.4":0.16806,"17.5":0.12986,"17.6":0.57293,"18.0":0.32084,"18.1":0.3132,"18.2":0.01528},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00077,"5.0-5.1":0,"6.0-6.1":0.00306,"7.0-7.1":0.00383,"8.1-8.4":0,"9.0-9.2":0.00306,"9.3":0.01073,"10.0-10.2":0.0023,"10.3":0.01762,"11.0-11.2":0.20686,"11.3-11.4":0.00536,"12.0-12.1":0.00306,"12.2-12.5":0.08045,"13.0-13.1":0.00153,"13.2":0.02069,"13.3":0.00306,"13.4-13.7":0.01149,"14.0-14.4":0.02528,"14.5-14.8":0.03601,"15.0-15.1":0.02069,"15.2-15.3":0.01915,"15.4":0.02298,"15.5":0.02682,"15.6-15.8":0.2873,"16.0":0.0544,"16.1":0.11492,"16.2":0.05823,"16.3":0.09883,"16.4":0.01992,"16.5":0.03984,"16.6-16.7":0.37694,"17.0":0.02758,"17.1":0.04597,"17.2":0.03831,"17.3":0.05823,"17.4":0.12488,"17.5":0.37311,"17.6-17.7":3.22317,"18.0":1.14309,"18.1":1.00442,"18.2":0.04061},P:{"4":0.01049,"20":0.02099,"21":0.02099,"22":0.02099,"23":0.02099,"24":0.02099,"25":0.03148,"26":0.787,"27":0.55615,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0","18.0":0.01049,"19.0":0.01049},I:{"0":0.03534,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"8":0.01746,"11":0.04365,_:"6 7 9 10 5.5"},K:{"0":0.16763,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00236,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02597},H:{"0":0},L:{"0":13.99839},R:{_:"0"},M:{"0":0.23846}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EG.js deleted file mode 100644 index 7bc7236d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/EG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"2":0.00327,"3":0.05226,"39":0.00327,"43":0.00327,"47":0.0098,"50":0.00327,"51":0.01306,"52":0.05552,"56":0.01306,"66":0.00327,"72":0.00327,"78":0.00653,"83":0.00327,"95":0.00327,"98":0.00327,"102":0.00327,"103":0.00653,"105":0.00327,"106":0.00327,"107":0.00327,"108":0.00327,"109":0.00327,"110":0.00327,"111":0.00327,"113":0.00327,"115":0.72832,"122":0.00327,"123":0.00327,"125":0.00327,"126":0.00327,"127":0.0196,"128":0.06859,"129":0.0098,"130":0.0098,"131":0.07512,"132":1.24435,"133":0.11758,"134":0.00327,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 44 45 46 48 49 53 54 55 57 58 59 60 61 62 63 64 65 67 68 69 70 71 73 74 75 76 77 79 80 81 82 84 85 86 87 88 89 90 91 92 93 94 96 97 99 100 101 104 112 114 116 117 118 119 120 121 124 135 136 3.5 3.6"},D:{"11":0.01306,"33":0.00327,"34":0.00327,"38":0.00653,"40":0.00327,"43":0.05552,"47":0.0098,"48":0.00327,"49":0.01306,"53":0.00327,"56":0.00327,"58":0.26128,"63":0.00327,"65":0.00327,"68":0.00327,"69":0.0098,"70":0.0098,"71":0.00653,"72":0.00327,"73":0.00653,"74":0.00653,"75":0.00653,"76":0.00653,"77":0.00327,"78":0.00327,"79":0.09145,"80":0.01306,"81":0.02286,"83":0.0098,"84":0.00653,"85":0.0098,"86":0.02613,"87":0.07185,"88":0.00653,"89":0.00653,"90":0.0098,"91":0.0196,"92":0.00653,"93":0.00327,"94":0.01306,"95":0.0098,"96":0.02939,"97":0.00653,"98":0.02286,"99":0.00327,"100":0.00653,"101":0.00653,"102":0.00653,"103":0.03919,"104":0.02286,"105":0.0098,"106":0.02939,"107":0.02613,"108":0.06859,"109":3.62853,"110":0.01633,"111":0.02939,"112":0.0196,"113":0.00653,"114":0.01633,"115":0.00327,"116":0.04572,"117":0.01306,"118":0.04572,"119":0.0196,"120":0.03919,"121":0.03593,"122":0.07185,"123":0.12411,"124":0.09471,"125":0.05552,"126":0.08818,"127":0.11104,"128":0.18943,"129":0.40172,"130":10.39568,"131":7.0415,"132":0.01306,"133":0.00327,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 35 36 37 39 41 42 44 45 46 50 51 52 54 55 57 59 60 61 62 64 66 67 134"},F:{"46":0.00327,"56":0.00327,"64":0.00653,"70":0.00327,"72":0.00327,"73":0.01633,"79":0.0196,"82":0.01306,"83":0.00653,"84":0.0098,"85":0.0098,"87":0.00327,"89":0.00327,"90":0.00653,"92":0.00327,"93":0.00327,"94":0.00327,"95":0.00653,"98":0.00327,"100":0.00327,"101":0.0196,"102":0.00327,"103":0.00327,"104":0.00327,"105":0.00327,"106":0.00653,"107":0.0098,"109":0.02613,"111":0.0098,"112":0.02286,"113":0.10451,"114":0.10778,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 57 58 60 62 63 65 66 67 68 69 71 74 75 76 77 78 80 81 86 88 91 96 97 99 108 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00327,"14":0.00327,"16":0.00327,"18":0.00653,"84":0.00327,"89":0.00327,"92":0.03919,"100":0.00653,"106":0.00327,"107":0.00327,"109":0.06532,"110":0.00653,"114":0.01306,"115":0.00327,"116":0.00327,"117":0.00327,"118":0.00327,"119":0.00327,"120":0.00653,"121":0.0098,"122":0.06859,"123":0.04899,"124":0.0098,"125":0.0098,"126":0.0098,"127":0.01633,"128":0.0196,"129":0.08165,"130":1.96613,"131":1.44031,_:"13 15 17 79 80 81 83 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 108 111 112 113"},E:{"13":0.00327,"14":0.00327,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","5.1":0.02286,"13.1":0.00653,"14.1":0.0098,"15.1":0.00327,"15.4":0.00327,"15.5":0.00327,"15.6":0.03919,"16.0":0.00327,"16.1":0.00653,"16.2":0.00327,"16.3":0.0098,"16.4":0.00327,"16.5":0.00653,"16.6":0.03919,"17.0":0.00653,"17.1":0.00653,"17.2":0.0098,"17.3":0.00653,"17.4":0.04899,"17.5":0.06859,"17.6":0.12411,"18.0":0.09471,"18.1":0.15024,"18.2":0.00653},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00072,"5.0-5.1":0,"6.0-6.1":0.00289,"7.0-7.1":0.00361,"8.1-8.4":0,"9.0-9.2":0.00289,"9.3":0.01012,"10.0-10.2":0.00217,"10.3":0.01662,"11.0-11.2":0.19509,"11.3-11.4":0.00506,"12.0-12.1":0.00289,"12.2-12.5":0.07587,"13.0-13.1":0.00145,"13.2":0.01951,"13.3":0.00289,"13.4-13.7":0.01084,"14.0-14.4":0.02384,"14.5-14.8":0.03396,"15.0-15.1":0.01951,"15.2-15.3":0.01806,"15.4":0.02168,"15.5":0.02529,"15.6-15.8":0.27096,"16.0":0.0513,"16.1":0.10838,"16.2":0.05491,"16.3":0.09321,"16.4":0.01879,"16.5":0.03757,"16.6-16.7":0.3555,"17.0":0.02601,"17.1":0.04335,"17.2":0.03613,"17.3":0.05491,"17.4":0.11778,"17.5":0.35189,"17.6-17.7":3.0398,"18.0":1.07806,"18.1":0.94727,"18.2":0.0383},P:{"4":0.14731,"20":0.01052,"21":0.02104,"22":0.07365,"23":0.06313,"24":0.06313,"25":0.0947,"26":1.14688,"27":0.85227,"5.0-5.4":0.01052,"6.2-6.4":0.01052,"7.2-7.4":0.06313,_:"8.2 9.2 10.1 15.0","11.1-11.2":0.01052,"12.0":0.01052,"13.0":0.02104,"14.0":0.02104,"16.0":0.02104,"17.0":0.03157,"18.0":0.01052,"19.0":0.01052},I:{"0":0.10079,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"8":0.01025,"9":0.00683,"10":0.00342,"11":0.20159,_:"6 7 5.5"},K:{"0":0.47811,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00673,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.41751},H:{"0":0},L:{"0":57.05692},R:{_:"0"},M:{"0":0.18855}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ER.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ER.js deleted file mode 100644 index da5f07a4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ER.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"33":0.01173,"43":0.02932,"46":0.28729,"52":0.01173,"60":0.44559,"65":0.09967,"66":0.05863,"79":0.05863,"102":0.08795,"106":0.01173,"110":0.01173,"111":0.02932,"115":0.18762,"119":0.19934,"125":0.02932,"127":0.07036,"129":0.1583,"130":0.11726,"131":0.54526,"132":3.30673,"133":0.4749,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 44 45 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 107 108 109 112 113 114 116 117 118 120 121 122 123 124 126 128 134 135 136 3.5 3.6"},D:{"52":0.4749,"60":0.18762,"67":0.04104,"69":0.02932,"72":0.02932,"74":0.17003,"77":0.05863,"80":0.04104,"81":0.07036,"83":0.09967,"87":0.94394,"90":0.05863,"92":0.75633,"98":0.3166,"100":0.22866,"102":0.02932,"103":0.01173,"106":0.01173,"107":0.11726,"109":9.04661,"112":0.55699,"117":1.43057,"118":0.22866,"119":0.05863,"120":0.02932,"121":0.01173,"123":0.36937,"124":1.23123,"125":0.19934,"126":0.08795,"127":0.05863,"128":0.17003,"129":0.49836,"130":14.44057,"131":7.44601,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 68 70 71 73 75 76 78 79 84 85 86 88 89 91 93 94 95 96 97 99 101 104 105 108 110 111 113 114 115 116 122 132 133 134"},F:{"34":0.01173,"36":0.02932,"60":0.02932,"63":0.01173,"64":0.04104,"67":0.04104,"79":0.01173,"86":0.01173,"95":0.05863,"114":1.51852,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 62 65 66 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01173,"84":0.01173,"85":0.07036,"89":0.07036,"90":0.07036,"92":0.19934,"100":0.18762,"105":0.02932,"106":0.05863,"107":0.01173,"109":0.11726,"112":0.01173,"114":0.04104,"120":0.02932,"122":0.01173,"125":0.01173,"128":0.25797,"129":0.39868,"130":4.06306,"131":2.03446,_:"12 13 14 15 16 17 79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 108 110 111 113 115 116 117 118 119 121 123 124 126 127"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 17.0 17.1 17.2 17.3 17.4 17.5 18.1 18.2","16.6":0.12899,"17.6":0.09967,"18.0":0.24625},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00053,"5.0-5.1":0,"6.0-6.1":0.00213,"7.0-7.1":0.00267,"8.1-8.4":0,"9.0-9.2":0.00213,"9.3":0.00747,"10.0-10.2":0.0016,"10.3":0.01226,"11.0-11.2":0.14398,"11.3-11.4":0.00373,"12.0-12.1":0.00213,"12.2-12.5":0.05599,"13.0-13.1":0.00107,"13.2":0.0144,"13.3":0.00213,"13.4-13.7":0.008,"14.0-14.4":0.0176,"14.5-14.8":0.02506,"15.0-15.1":0.0144,"15.2-15.3":0.01333,"15.4":0.016,"15.5":0.01866,"15.6-15.8":0.19997,"16.0":0.03786,"16.1":0.07999,"16.2":0.04053,"16.3":0.06879,"16.4":0.01386,"16.5":0.02773,"16.6-16.7":0.26236,"17.0":0.0192,"17.1":0.032,"17.2":0.02666,"17.3":0.04053,"17.4":0.08692,"17.5":0.2597,"17.6-17.7":2.24342,"18.0":0.79562,"18.1":0.6991,"18.2":0.02826},P:{"4":0.03021,"20":0.07049,"26":0.19132,"27":0.20139,_:"21 22 23 24 25 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","7.2-7.4":0.01007,"19.0":0.03021},I:{"0":0.04128,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"9":0.07174,"11":0.53802,_:"6 7 8 10 5.5"},K:{"0":0.64537,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":3.69434},H:{"0":0},L:{"0":31.78076},R:{_:"0"},M:{"0":0.09929}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ES.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ES.js deleted file mode 100644 index ae51012c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ES.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.01614,"48":0.00403,"52":0.02017,"56":0.00403,"59":0.00403,"67":0.00403,"78":0.02824,"88":0.00403,"91":0.00403,"95":0.00403,"100":0.00807,"102":0.00403,"103":0.00403,"108":0.00403,"109":0.01614,"110":0.00403,"113":0.02017,"114":0.00403,"115":0.20573,"118":0.00807,"120":0.00403,"121":0.00403,"122":0.00403,"123":0.00403,"124":0.00403,"125":0.00807,"126":0.00807,"127":0.0121,"128":0.07261,"129":0.01614,"130":0.0242,"131":0.15329,"132":1.75076,"133":0.13716,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 96 97 98 99 101 104 105 106 107 111 112 116 117 119 134 135 136 3.5 3.6"},D:{"38":0.00403,"49":0.02824,"66":0.0242,"73":0.00403,"75":0.02017,"79":0.03227,"80":0.00403,"81":0.00403,"83":0.0121,"84":0.00403,"85":0.00403,"86":0.00807,"87":0.03631,"88":0.00807,"89":0.00403,"90":0.00403,"91":0.00807,"92":0.00403,"93":0.00403,"94":0.0121,"95":0.00403,"96":0.00403,"97":0.00403,"98":0.00403,"99":0.00403,"100":0.00807,"101":0.00403,"102":0.00403,"103":0.16539,"104":0.0121,"105":0.00807,"106":0.01614,"107":0.0242,"108":0.02017,"109":0.89958,"110":0.0121,"111":0.01614,"112":0.02017,"113":0.02017,"114":0.03631,"115":0.00807,"116":0.18153,"117":0.0121,"118":0.0242,"119":0.04841,"120":0.06454,"121":0.13312,"122":0.10892,"123":0.12505,"124":0.10892,"125":0.05648,"126":0.32272,"127":0.07665,"128":0.36709,"129":1.26264,"130":15.81731,"131":8.99985,"132":0.00807,"133":0.00403,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 74 76 77 78 134"},F:{"46":0.00403,"69":0.00403,"85":0.0121,"95":0.01614,"102":0.00403,"109":0.00403,"112":0.00403,"113":0.10892,"114":1.186,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00403,"92":0.00807,"107":0.00403,"108":0.00403,"109":0.04034,"110":0.00807,"111":0.00403,"114":0.00403,"116":0.00403,"117":0.00403,"119":0.00807,"120":0.00403,"121":0.00403,"122":0.02017,"123":0.00403,"124":0.00403,"125":0.00807,"126":0.01614,"127":0.0121,"128":0.0242,"129":0.09682,"130":1.80723,"131":1.24651,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 112 113 115 118"},E:{"13":0.00807,"14":0.02017,"15":0.00403,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00807,"12.1":0.00807,"13.1":0.04841,"14.1":0.04841,"15.1":0.00403,"15.2-15.3":0.00807,"15.4":0.01614,"15.5":0.01614,"15.6":0.16539,"16.0":0.0242,"16.1":0.0242,"16.2":0.02824,"16.3":0.04841,"16.4":0.01614,"16.5":0.0242,"16.6":0.18153,"17.0":0.01614,"17.1":0.0242,"17.2":0.03227,"17.3":0.02824,"17.4":0.06454,"17.5":0.16539,"17.6":0.6293,"18.0":0.33079,"18.1":0.34692,"18.2":0.00807},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00106,"5.0-5.1":0,"6.0-6.1":0.00424,"7.0-7.1":0.0053,"8.1-8.4":0,"9.0-9.2":0.00424,"9.3":0.01484,"10.0-10.2":0.00318,"10.3":0.02437,"11.0-11.2":0.28613,"11.3-11.4":0.00742,"12.0-12.1":0.00424,"12.2-12.5":0.11127,"13.0-13.1":0.00212,"13.2":0.02861,"13.3":0.00424,"13.4-13.7":0.0159,"14.0-14.4":0.03497,"14.5-14.8":0.04981,"15.0-15.1":0.02861,"15.2-15.3":0.02649,"15.4":0.03179,"15.5":0.03709,"15.6-15.8":0.3974,"16.0":0.07524,"16.1":0.15896,"16.2":0.08054,"16.3":0.13671,"16.4":0.02755,"16.5":0.05511,"16.6-16.7":0.52139,"17.0":0.03815,"17.1":0.06358,"17.2":0.05299,"17.3":0.08054,"17.4":0.17274,"17.5":0.51609,"17.6-17.7":4.45832,"18.0":1.58113,"18.1":1.38932,"18.2":0.05617},P:{"4":0.04154,"20":0.02077,"21":0.03115,"22":0.03115,"23":0.05192,"24":0.04154,"25":0.05192,"26":1.24613,"27":1.07998,"5.0-5.4":0.01038,"6.2-6.4":0.01038,_:"7.2-7.4 8.2 9.2 10.1 12.0 15.0 18.0","11.1-11.2":0.01038,"13.0":0.01038,"14.0":0.01038,"16.0":0.01038,"17.0":0.01038,"19.0":0.01038},I:{"0":0.02977,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.05648,_:"6 7 8 9 10 5.5"},K:{"0":0.32222,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02387},H:{"0":0},L:{"0":46.55066},R:{_:"0"},M:{"0":0.31028}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ET.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ET.js deleted file mode 100644 index b0a34e8b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ET.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"32":0.00227,"34":0.00907,"48":0.00227,"52":0.00227,"72":0.00227,"77":0.25617,"78":0.00453,"84":0.0068,"87":0.00227,"89":0.0068,"92":0.00227,"95":0.04307,"97":0.00227,"103":0.00227,"105":0.00227,"108":0.02494,"109":0.0068,"110":0.0136,"111":0.00453,"112":0.00453,"113":0.00227,"115":0.19723,"118":0.00227,"121":0.00907,"122":0.00227,"124":0.00453,"126":0.00227,"127":0.01587,"128":0.03627,"129":0.00453,"130":0.0068,"131":0.03854,"132":1.11763,"133":0.18136,"134":0.00453,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 79 80 81 82 83 85 86 88 90 91 93 94 96 98 99 100 101 102 104 106 107 114 116 117 119 120 123 125 135 136 3.5 3.6"},D:{"11":0.00453,"38":0.00227,"40":0.00227,"42":0.00227,"43":0.0136,"44":0.00227,"47":0.00227,"49":0.00227,"50":0.0136,"51":0.00227,"56":0.00227,"58":0.00227,"60":0.00227,"63":0.00227,"64":0.0136,"66":0.00227,"68":0.00453,"69":0.00453,"70":0.00453,"71":0.00227,"72":0.00453,"73":0.02494,"75":0.0068,"76":0.00907,"77":0.00227,"78":0.00227,"79":0.09521,"80":0.02947,"81":0.01134,"83":0.01587,"84":0.01814,"85":0.00453,"86":0.00907,"87":0.05214,"88":0.01814,"89":0.00227,"90":0.00907,"91":0.00227,"92":0.00227,"93":0.06574,"94":0.00907,"95":0.0136,"96":0.00227,"98":0.09748,"99":0.00227,"100":0.00227,"102":0.00453,"103":0.06574,"104":0.00227,"105":0.0068,"106":0.02494,"107":0.00227,"108":0.00907,"109":1.53249,"110":0.0136,"111":0.0068,"112":0.00227,"113":0.00227,"114":0.06801,"115":0.09068,"116":0.0204,"117":0.00907,"118":0.07254,"119":0.06121,"120":0.04534,"121":0.07935,"122":0.01814,"123":0.05441,"124":0.06121,"125":0.02947,"126":0.06801,"127":0.06574,"128":0.14962,"129":0.21763,"130":5.9214,"131":4.24836,"132":0.01814,"133":0.00453,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 45 46 48 52 53 54 55 57 59 61 62 65 67 74 97 101 134"},F:{"46":0.00227,"79":0.00907,"85":0.00453,"89":0.00227,"95":0.02947,"103":0.00227,"108":0.00227,"110":0.00227,"112":0.00227,"113":0.00907,"114":0.63929,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 90 91 92 93 94 96 97 98 99 100 101 102 104 105 106 107 109 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00227,"13":0.0068,"14":0.00227,"15":0.02494,"16":0.0068,"17":0.00453,"18":0.0272,"84":0.00227,"89":0.00227,"90":0.00227,"92":0.02494,"100":0.00907,"103":0.00227,"105":0.00227,"109":0.0204,"114":0.01134,"115":0.00227,"116":0.00227,"117":0.00227,"118":0.00227,"119":0.00227,"120":0.00453,"121":0.01134,"122":0.00907,"123":0.01814,"124":0.0136,"125":0.01134,"126":0.0136,"127":0.01587,"128":0.03627,"129":0.04307,"130":1.17657,"131":0.71637,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 104 106 107 108 110 111 112 113"},E:{"7":0.00227,"13":0.0068,"14":0.00227,_:"0 4 5 6 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.5 17.0 17.1 17.2 17.3 17.4 18.2","11.1":0.00453,"12.1":0.00227,"13.1":0.00453,"14.1":0.00453,"15.6":0.0136,"16.4":0.00227,"16.6":0.00907,"17.5":0.01587,"17.6":0.00907,"18.0":0.0068,"18.1":0.00453},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00016,"5.0-5.1":0,"6.0-6.1":0.00066,"7.0-7.1":0.00082,"8.1-8.4":0,"9.0-9.2":0.00066,"9.3":0.00231,"10.0-10.2":0.00049,"10.3":0.00379,"11.0-11.2":0.04448,"11.3-11.4":0.00115,"12.0-12.1":0.00066,"12.2-12.5":0.0173,"13.0-13.1":0.00033,"13.2":0.00445,"13.3":0.00066,"13.4-13.7":0.00247,"14.0-14.4":0.00544,"14.5-14.8":0.00774,"15.0-15.1":0.00445,"15.2-15.3":0.00412,"15.4":0.00494,"15.5":0.00577,"15.6-15.8":0.06178,"16.0":0.0117,"16.1":0.02471,"16.2":0.01252,"16.3":0.02125,"16.4":0.00428,"16.5":0.00857,"16.6-16.7":0.08105,"17.0":0.00593,"17.1":0.00988,"17.2":0.00824,"17.3":0.01252,"17.4":0.02685,"17.5":0.08023,"17.6-17.7":0.69304,"18.0":0.24578,"18.1":0.21597,"18.2":0.00873},P:{"4":0.20919,"20":0.01046,"21":0.01046,"22":0.0523,"23":0.04184,"24":0.07322,"25":0.09413,"26":0.2824,"27":0.10459,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0","7.2-7.4":0.12551,"11.1-11.2":0.02092,"13.0":0.01046,"16.0":0.01046,"17.0":0.02092,"18.0":0.01046,"19.0":0.02092},I:{"0":0.07717,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"11":0.00453,_:"6 7 8 9 10 5.5"},K:{"0":0.89665,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.05414,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00773},O:{"0":0.15468},H:{"0":0.48},L:{"0":75.98065},R:{_:"0"},M:{"0":0.10828}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FI.js deleted file mode 100644 index c3adb4d4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"50":0.00614,"51":0.00614,"52":0.01229,"56":0.00614,"72":0.00614,"75":0.00614,"78":0.00614,"91":0.00614,"94":0.01229,"100":0.00614,"101":0.00614,"102":0.02458,"103":0.02458,"105":0.00614,"106":0.00614,"107":0.00614,"108":0.00614,"109":0.00614,"110":0.00614,"113":0.00614,"114":0.00614,"115":0.22118,"116":0.02458,"117":0.34406,"118":0.24576,"119":0.01229,"120":0.07987,"122":0.0553,"123":0.00614,"124":0.00614,"125":0.00614,"126":0.00614,"127":0.01229,"128":0.15974,"129":0.00614,"130":0.04301,"131":0.28262,"132":2.7648,"133":0.22733,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 76 77 79 80 81 82 83 84 85 86 87 88 89 90 92 93 95 96 97 98 99 104 111 112 121 134 135 136 3.5 3.6"},D:{"38":0.00614,"42":0.00614,"52":0.06144,"56":0.00614,"58":0.00614,"66":0.01229,"67":0.01229,"69":0.01229,"71":0.01229,"73":0.00614,"74":0.00614,"75":0.00614,"76":0.00614,"77":0.04915,"78":0.00614,"79":0.06144,"80":0.00614,"81":0.00614,"83":0.00614,"84":0.00614,"85":0.01229,"86":0.00614,"87":0.04915,"88":0.00614,"89":0.03686,"90":0.00614,"91":0.50381,"92":0.01229,"93":0.01229,"94":0.03686,"99":0.01229,"100":0.00614,"101":0.01229,"102":0.01229,"103":0.04915,"104":0.04915,"105":0.03072,"106":0.03686,"107":0.09216,"108":0.07987,"109":0.65741,"110":0.09216,"111":0.04915,"112":0.08602,"113":0.11059,"114":0.34406,"115":0.17818,"116":2.46374,"117":3.64339,"118":0.09216,"119":0.10445,"120":0.09216,"121":0.0983,"122":0.10445,"123":0.14131,"124":0.16589,"125":6.6048,"126":4.50355,"127":2.24256,"128":0.27034,"129":2.56205,"130":14.37082,"131":7.35437,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 47 48 49 50 51 53 54 55 57 59 60 61 62 63 64 65 68 70 72 95 96 97 98 132 133 134"},F:{"68":0.00614,"85":0.00614,"91":0.00614,"92":0.00614,"95":0.03686,"102":0.00614,"113":0.09216,"114":1.16122,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01229,"92":0.00614,"107":0.01229,"108":0.00614,"109":0.04915,"110":0.00614,"111":0.00614,"114":0.00614,"115":0.01229,"116":0.09216,"117":0.44851,"118":0.00614,"121":0.01229,"124":0.00614,"125":0.00614,"126":0.01843,"127":0.01843,"128":0.01229,"129":0.17203,"130":1.81862,"131":1.20422,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 112 113 119 120 122 123"},E:{"13":0.00614,"14":0.00614,"15":0.00614,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1","5.1":0.00614,"12.1":0.00614,"13.1":0.01229,"14.1":0.02458,"15.1":0.00614,"15.2-15.3":0.00614,"15.4":0.02458,"15.5":0.01843,"15.6":0.17203,"16.0":0.02458,"16.1":0.04915,"16.2":0.03686,"16.3":0.06144,"16.4":0.0553,"16.5":0.12902,"16.6":0.31334,"17.0":0.06144,"17.1":0.03072,"17.2":0.02458,"17.3":0.02458,"17.4":0.07987,"17.5":0.14131,"17.6":0.71885,"18.0":0.2519,"18.1":0.38093,"18.2":0.00614},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00107,"5.0-5.1":0,"6.0-6.1":0.00426,"7.0-7.1":0.00533,"8.1-8.4":0,"9.0-9.2":0.00426,"9.3":0.01492,"10.0-10.2":0.0032,"10.3":0.02451,"11.0-11.2":0.28777,"11.3-11.4":0.00746,"12.0-12.1":0.00426,"12.2-12.5":0.11191,"13.0-13.1":0.00213,"13.2":0.02878,"13.3":0.00426,"13.4-13.7":0.01599,"14.0-14.4":0.03517,"14.5-14.8":0.05009,"15.0-15.1":0.02878,"15.2-15.3":0.02664,"15.4":0.03197,"15.5":0.0373,"15.6-15.8":0.39967,"16.0":0.07567,"16.1":0.15987,"16.2":0.081,"16.3":0.13749,"16.4":0.02771,"16.5":0.05542,"16.6-16.7":0.52437,"17.0":0.03837,"17.1":0.06395,"17.2":0.05329,"17.3":0.081,"17.4":0.17373,"17.5":0.51904,"17.6-17.7":4.48381,"18.0":1.59017,"18.1":1.39726,"18.2":0.05649},P:{"4":0.02099,"20":0.02099,"21":0.03149,"22":0.05248,"23":0.07347,"24":0.09446,"25":0.12595,"26":1.19654,"27":0.61926,_:"5.0-5.4 6.2-6.4 8.2 10.1 13.0 15.0","7.2-7.4":0.0105,"9.2":0.0105,"11.1-11.2":0.0105,"12.0":0.0105,"14.0":0.0105,"16.0":0.0105,"17.0":0.02099,"18.0":0.0105,"19.0":0.0105},I:{"0":0.03078,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.01323,"9":0.01323,"10":0.00662,"11":0.05293,_:"6 7 5.5"},K:{"0":0.57069,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.08483},H:{"0":0},L:{"0":24.44317},R:{_:"0"},M:{"0":0.66709}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FJ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FJ.js deleted file mode 100644 index d98bcb9d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"47":0.00238,"115":0.11186,"121":0.00238,"124":0.00714,"127":0.00476,"128":0.00952,"129":0.00714,"130":0.00952,"131":0.04998,"132":1.28282,"133":0.07854,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 122 123 125 126 134 135 136 3.5 3.6"},D:{"56":0.00238,"62":0.00238,"63":0.00238,"65":0.00476,"69":0.00476,"74":0.00238,"76":0.00476,"78":0.00238,"79":0.01428,"80":0.00238,"81":0.00238,"83":0.00476,"86":0.00238,"87":0.07616,"88":0.23324,"91":0.00476,"92":0.00238,"93":0.00476,"94":0.06426,"97":0.00238,"98":0.00238,"100":0.00476,"103":0.0952,"104":0.00238,"105":0.0238,"106":0.00238,"108":0.00238,"109":0.33558,"111":0.0238,"112":0.00238,"114":0.00238,"116":0.05712,"117":0.00238,"118":0.00714,"119":0.00476,"120":0.01428,"121":0.06188,"122":0.02142,"123":0.0119,"124":0.0238,"125":0.00952,"126":0.05474,"127":0.06188,"128":0.1071,"129":0.3332,"130":7.43036,"131":4.46012,"132":0.00476,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 64 66 67 68 70 71 72 73 75 77 84 85 89 90 95 96 99 101 102 107 110 113 115 133 134"},F:{"85":0.01666,"86":0.01666,"95":0.00476,"102":0.00238,"111":0.00238,"113":0.00714,"114":0.27608,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00714,"18":0.00238,"92":0.0119,"99":0.00476,"100":0.01666,"109":0.0119,"114":0.00238,"115":0.00476,"119":0.00476,"120":0.00714,"121":0.00714,"122":0.00476,"123":0.0119,"125":0.00476,"126":0.03808,"127":0.0357,"128":0.01428,"129":0.06664,"130":2.66322,"131":1.52082,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 101 102 103 104 105 106 107 108 110 111 112 113 116 117 118 124"},E:{"12":0.00238,"13":0.00476,"14":0.00476,"15":0.00238,_:"0 4 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.4 16.0","13.1":0.00238,"14.1":0.0119,"15.1":0.00714,"15.2-15.3":0.00714,"15.5":0.00238,"15.6":0.04998,"16.1":0.02618,"16.2":0.00714,"16.3":0.04046,"16.4":0.00238,"16.5":0.03332,"16.6":0.2499,"17.0":0.00238,"17.1":0.00476,"17.2":0.00476,"17.3":0.01428,"17.4":0.07854,"17.5":0.09996,"17.6":0.74256,"18.0":0.07854,"18.1":0.1309,"18.2":0.0119},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00084,"5.0-5.1":0,"6.0-6.1":0.00335,"7.0-7.1":0.00419,"8.1-8.4":0,"9.0-9.2":0.00335,"9.3":0.01172,"10.0-10.2":0.00251,"10.3":0.01926,"11.0-11.2":0.22611,"11.3-11.4":0.00586,"12.0-12.1":0.00335,"12.2-12.5":0.08793,"13.0-13.1":0.00167,"13.2":0.02261,"13.3":0.00335,"13.4-13.7":0.01256,"14.0-14.4":0.02764,"14.5-14.8":0.03936,"15.0-15.1":0.02261,"15.2-15.3":0.02094,"15.4":0.02512,"15.5":0.02931,"15.6-15.8":0.31404,"16.0":0.05946,"16.1":0.12562,"16.2":0.06365,"16.3":0.10803,"16.4":0.02177,"16.5":0.04355,"16.6-16.7":0.41202,"17.0":0.03015,"17.1":0.05025,"17.2":0.04187,"17.3":0.06365,"17.4":0.1365,"17.5":0.40783,"17.6-17.7":3.5231,"18.0":1.24946,"18.1":1.09788,"18.2":0.04438},P:{"4":0.12447,"20":0.03112,"21":0.12447,"22":0.61197,"23":0.13484,"24":0.51862,"25":0.77793,"26":2.79016,"27":0.87128,"5.0-5.4":0.01037,_:"6.2-6.4 8.2 10.1 11.1-11.2 12.0","7.2-7.4":0.39415,"9.2":0.01037,"13.0":0.04149,"14.0":0.01037,"15.0":0.01037,"16.0":0.02074,"17.0":0.01037,"18.0":0.03112,"19.0":0.05186},I:{"0":0.0076,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.01666,_:"6 7 8 9 10 5.5"},K:{"0":0.381,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.02286},O:{"0":0.29718},H:{"0":0},L:{"0":62.1567},R:{_:"0"},M:{"0":0.16764}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FK.js deleted file mode 100644 index 32ae91a4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"103":0.05618,"106":0.05618,"108":1.26654,"113":0.02554,"114":0.02554,"115":0.41367,"119":0.02554,"121":0.02554,"123":0.02554,"125":0.08171,"130":8.44187,"131":0.2196,"132":5.2551,"133":0.13789,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 107 109 110 111 112 116 117 118 120 122 124 126 127 128 129 134 135 136 3.5 3.6"},D:{"87":0.2196,"109":1.51167,"117":0.02554,"119":0.02554,"120":0.05618,"121":0.08171,"122":0.02554,"126":0.93458,"129":0.05618,"130":11.93506,"131":5.74538,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 118 123 124 125 127 128 132 133 134"},F:{"114":1.09801,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"84":0.02554,"92":0.2196,"109":0.08171,"110":0.08171,"114":0.85287,"117":0.33196,"118":0.30131,"120":0.19407,"122":0.2196,"124":0.30131,"125":0.02554,"129":0.02554,"130":1.86916,"131":5.14275,_:"12 13 14 15 16 17 18 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 113 115 116 119 121 123 126 127 128"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.5 17.0 17.1 17.2 17.3 17.4 18.2","15.6":0.99076,"16.4":0.05618,"16.6":0.24514,"17.5":0.05618,"17.6":0.52091,"18.0":0.19407,"18.1":0.02554},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00112,"5.0-5.1":0,"6.0-6.1":0.00448,"7.0-7.1":0.0056,"8.1-8.4":0,"9.0-9.2":0.00448,"9.3":0.01567,"10.0-10.2":0.00336,"10.3":0.02574,"11.0-11.2":0.30214,"11.3-11.4":0.00783,"12.0-12.1":0.00448,"12.2-12.5":0.1175,"13.0-13.1":0.00224,"13.2":0.03021,"13.3":0.00448,"13.4-13.7":0.01679,"14.0-14.4":0.03693,"14.5-14.8":0.05259,"15.0-15.1":0.03021,"15.2-15.3":0.02798,"15.4":0.03357,"15.5":0.03917,"15.6-15.8":0.41964,"16.0":0.07945,"16.1":0.16785,"16.2":0.08505,"16.3":0.14435,"16.4":0.02909,"16.5":0.05819,"16.6-16.7":0.55056,"17.0":0.04029,"17.1":0.06714,"17.2":0.05595,"17.3":0.08505,"17.4":0.1824,"17.5":0.54497,"17.6-17.7":4.70776,"18.0":1.66959,"18.1":1.46705,"18.2":0.05931},P:{"4":0.06355,"25":0.31773,"26":1.22856,"27":2.16057,_:"20 21 22 23 24 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 12.0 13.0 15.0 16.0 17.0 18.0 19.0","11.1-11.2":0.233,"14.0":0.1165},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":34.47386},R:{_:"0"},M:{"0":0.05872}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FM.js deleted file mode 100644 index 996f39ee..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"77":0.00718,"115":0.00718,"129":0.00718,"130":0.04307,"131":0.08973,"132":1.55763,"133":0.0969,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 128 134 135 136 3.5 3.6"},D:{"49":0.00718,"93":0.85418,"99":0.00718,"103":0.48452,"105":0.00718,"109":0.57065,"122":0.00718,"124":0.00718,"126":0.15074,"127":0.07178,"128":0.15074,"129":4.56162,"130":10.18558,"131":3.59977,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 94 95 96 97 98 100 101 102 104 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 123 125 132 133 134"},F:{"85":0.01795,"95":0.00718,"114":0.26559,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"104":0.02512,"109":0.01795,"112":0.01795,"117":0.00718,"122":0.01795,"127":0.10408,"128":0.07178,"129":0.18663,"130":5.43016,"131":3.39878,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 105 106 107 108 110 111 113 114 115 116 118 119 120 121 123 124 125 126"},E:{"14":0.05384,"15":0.2297,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.3 17.0 17.1 17.2 18.2","12.1":0.00718,"15.6":0.02512,"16.0":0.0969,"16.1":0.00718,"16.2":0.01795,"16.4":0.11485,"16.5":0.04307,"16.6":0.07896,"17.3":0.01795,"17.4":0.04307,"17.5":0.13997,"17.6":0.86136,"18.0":0.03589,"18.1":0.15074},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00104,"5.0-5.1":0,"6.0-6.1":0.00415,"7.0-7.1":0.00519,"8.1-8.4":0,"9.0-9.2":0.00415,"9.3":0.01454,"10.0-10.2":0.00312,"10.3":0.02388,"11.0-11.2":0.28037,"11.3-11.4":0.00727,"12.0-12.1":0.00415,"12.2-12.5":0.10903,"13.0-13.1":0.00208,"13.2":0.02804,"13.3":0.00415,"13.4-13.7":0.01558,"14.0-14.4":0.03427,"14.5-14.8":0.04881,"15.0-15.1":0.02804,"15.2-15.3":0.02596,"15.4":0.03115,"15.5":0.03634,"15.6-15.8":0.38941,"16.0":0.07373,"16.1":0.15576,"16.2":0.07892,"16.3":0.13396,"16.4":0.027,"16.5":0.054,"16.6-16.7":0.5109,"17.0":0.03738,"17.1":0.06231,"17.2":0.05192,"17.3":0.07892,"17.4":0.16926,"17.5":0.50571,"17.6-17.7":4.36863,"18.0":1.54932,"18.1":1.36137,"18.2":0.05504},P:{"21":0.07578,"22":0.05413,"23":0.01083,"24":0.0433,"25":0.05413,"26":0.54129,"27":0.54129,_:"4 20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 17.0 18.0","7.2-7.4":0.01083,"11.1-11.2":0.02165,"13.0":0.0433,"16.0":0.0433,"19.0":0.02165},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.8974,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00641},H:{"0":0},L:{"0":53.01347},R:{_:"0"},M:{"0":0.00641}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FO.js deleted file mode 100644 index f8653017..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"49":0.00445,"108":0.26237,"110":0.13786,"113":0.00445,"115":0.04892,"125":0.03558,"128":1.16511,"131":0.05781,"132":2.02339,"133":0.01779,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 109 111 112 114 116 117 118 119 120 121 122 123 124 126 127 129 130 134 135 136 3.5 3.6"},D:{"48":0.00445,"49":0.06226,"52":0.00445,"67":0.00445,"76":0.00889,"79":0.01779,"86":0.00445,"87":0.00889,"88":0.00445,"91":0.00445,"94":0.01779,"97":0.00445,"101":0.02224,"102":0.27571,"103":0.10673,"104":0.00445,"105":0.01334,"106":0.02224,"107":0.02224,"108":0.43581,"109":1.30742,"110":0.34242,"111":0.10673,"112":0.32908,"116":0.09783,"118":0.00889,"120":0.00445,"122":0.29795,"123":0.05336,"124":0.01779,"125":0.01779,"126":0.34242,"127":0.13786,"128":0.24903,"129":1.41415,"130":8.51156,"131":3.45977,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 75 77 78 80 81 83 84 85 89 90 92 93 95 96 98 99 100 113 114 115 117 119 121 132 133 134"},F:{"91":0.00445,"92":0.00445,"93":0.00445,"95":0.00445,"96":0.24014,"97":0.24903,"112":0.02224,"113":0.19122,"114":0.79157,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 94 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"89":0.00445,"92":0.00445,"106":0.00445,"107":0.28461,"108":0.00445,"109":0.00889,"111":0.00445,"112":0.00445,"119":0.04002,"122":0.03558,"123":0.00445,"127":0.04002,"129":0.2179,"130":2.93057,"131":1.60537,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 110 113 114 115 116 117 118 120 121 124 125 126 128"},E:{"14":0.13786,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00445,"13.1":0.02668,"14.1":0.09339,"15.1":0.01334,"15.2-15.3":0.00445,"15.4":0.02668,"15.5":0.21346,"15.6":0.80046,"16.0":0.00889,"16.1":0.18677,"16.2":0.2179,"16.3":0.61369,"16.4":0.02224,"16.5":0.08449,"16.6":1.38302,"17.0":0.02224,"17.1":0.08894,"17.2":0.13786,"17.3":0.16009,"17.4":0.17343,"17.5":1.05839,"17.6":6.01234,"18.0":1.45862,"18.1":1.81438,"18.2":0.01779},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00433,"5.0-5.1":0,"6.0-6.1":0.01733,"7.0-7.1":0.02167,"8.1-8.4":0,"9.0-9.2":0.01733,"9.3":0.06067,"10.0-10.2":0.013,"10.3":0.09967,"11.0-11.2":1.17006,"11.3-11.4":0.03033,"12.0-12.1":0.01733,"12.2-12.5":0.45502,"13.0-13.1":0.00867,"13.2":0.11701,"13.3":0.01733,"13.4-13.7":0.065,"14.0-14.4":0.14301,"14.5-14.8":0.20368,"15.0-15.1":0.11701,"15.2-15.3":0.10834,"15.4":0.13001,"15.5":0.15167,"15.6-15.8":1.62509,"16.0":0.30768,"16.1":0.65003,"16.2":0.32935,"16.3":0.55903,"16.4":0.11267,"16.5":0.22535,"16.6-16.7":2.13211,"17.0":0.15601,"17.1":0.26001,"17.2":0.21668,"17.3":0.32935,"17.4":0.70637,"17.5":2.11044,"17.6-17.7":18.23129,"18.0":6.46567,"18.1":5.6813,"18.2":0.22968},P:{"4":0.01032,"20":0.01032,"22":0.01032,"24":0.02065,"25":0.01032,"26":1.33169,"27":0.92909,_:"21 23 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 19.0","5.0-5.4":0.01032,"18.0":0.01032},I:{"0":0.03324,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.00445,_:"6 7 8 9 10 5.5"},K:{"0":0.04442,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00555},H:{"0":0},L:{"0":9.5613},R:{_:"0"},M:{"0":0.14993}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FR.js deleted file mode 100644 index 549d9464..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/FR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.007,"52":0.02449,"54":0.0105,"56":0.0035,"59":0.02099,"60":0.0035,"68":0.0035,"72":0.007,"75":0.014,"78":0.03849,"88":0.007,"91":0.0105,"93":0.007,"94":0.0105,"96":0.0035,"98":0.0035,"102":0.0175,"103":0.0105,"105":0.0035,"106":0.0035,"107":0.0035,"108":0.0035,"109":0.007,"110":0.0035,"111":0.0035,"113":0.0175,"115":0.51785,"118":0.0035,"119":0.0035,"120":0.0035,"121":0.007,"122":0.0035,"123":0.0035,"124":0.007,"125":0.02799,"126":0.007,"127":0.04199,"128":0.19594,"129":0.02099,"130":0.04899,"131":0.23443,"132":3.37304,"133":0.30091,"134":0.0035,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 55 57 58 61 62 63 64 65 66 67 69 70 71 73 74 76 77 79 80 81 82 83 84 85 86 87 89 90 92 95 97 99 100 101 104 112 114 116 117 135 136 3.5 3.6"},D:{"41":0.0035,"42":0.0035,"49":0.02099,"52":0.03149,"56":0.0035,"58":0.007,"65":0.0035,"66":0.08748,"67":0.0035,"70":0.0035,"71":0.014,"73":0.02099,"76":0.007,"79":0.03149,"80":0.0035,"81":0.0105,"83":0.0035,"84":0.0035,"85":0.0105,"86":0.007,"87":0.02799,"88":0.0175,"89":0.0035,"90":0.0105,"91":0.0105,"92":0.0035,"93":0.03499,"94":0.19944,"95":0.0175,"96":0.0035,"97":0.0035,"98":0.0035,"99":0.0035,"100":0.0035,"101":0.0035,"102":0.03149,"103":0.07348,"104":0.007,"105":0.0105,"106":0.02799,"107":0.04199,"108":0.04199,"109":0.94123,"110":0.02449,"111":0.03499,"112":0.02449,"113":0.04199,"114":0.30791,"115":0.02449,"116":0.17495,"117":0.014,"118":0.06298,"119":0.03149,"120":0.05598,"121":0.0175,"122":0.05598,"123":0.15746,"124":0.07698,"125":0.16445,"126":0.15746,"127":0.09797,"128":0.20644,"129":0.76628,"130":9.60825,"131":5.55991,"132":0.0035,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 43 44 45 46 47 48 50 51 53 54 55 57 59 60 61 62 63 64 68 69 72 74 75 77 78 133 134"},F:{"46":0.007,"85":0.0175,"86":0.0035,"89":0.0035,"95":0.03149,"102":0.0035,"112":0.0035,"113":0.06648,"114":0.93423,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.0105,"18":0.0035,"92":0.007,"98":0.0035,"105":0.007,"106":0.0035,"107":0.0035,"108":0.0105,"109":0.08748,"110":0.0035,"111":0.0035,"112":0.007,"113":0.0035,"114":0.0105,"115":0.0035,"116":0.0035,"117":0.0035,"118":0.007,"119":0.0035,"120":0.0105,"121":0.0105,"122":0.05598,"123":0.007,"124":0.007,"125":0.0105,"126":0.06998,"127":0.03499,"128":0.06298,"129":0.15746,"130":2.66624,"131":1.79149,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 99 100 101 102 103 104"},E:{"13":0.0035,"14":0.014,"15":0.007,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.02449,"12.1":0.0105,"13.1":0.06998,"14.1":0.07348,"15.1":0.06998,"15.2-15.3":0.0105,"15.4":0.014,"15.5":0.014,"15.6":0.21694,"16.0":0.03499,"16.1":0.03149,"16.2":0.02099,"16.3":0.05249,"16.4":0.02099,"16.5":0.03149,"16.6":0.24493,"17.0":0.02099,"17.1":0.03149,"17.2":0.04199,"17.3":0.03499,"17.4":0.09097,"17.5":0.20294,"17.6":0.77678,"18.0":0.31141,"18.1":0.3499,"18.2":0.0105},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0011,"5.0-5.1":0,"6.0-6.1":0.00439,"7.0-7.1":0.00548,"8.1-8.4":0,"9.0-9.2":0.00439,"9.3":0.01535,"10.0-10.2":0.00329,"10.3":0.02522,"11.0-11.2":0.29611,"11.3-11.4":0.00768,"12.0-12.1":0.00439,"12.2-12.5":0.11516,"13.0-13.1":0.00219,"13.2":0.02961,"13.3":0.00439,"13.4-13.7":0.01645,"14.0-14.4":0.03619,"14.5-14.8":0.05155,"15.0-15.1":0.02961,"15.2-15.3":0.02742,"15.4":0.0329,"15.5":0.03839,"15.6-15.8":0.41127,"16.0":0.07787,"16.1":0.16451,"16.2":0.08335,"16.3":0.14148,"16.4":0.02851,"16.5":0.05703,"16.6-16.7":0.53959,"17.0":0.03948,"17.1":0.0658,"17.2":0.05484,"17.3":0.08335,"17.4":0.17877,"17.5":0.5341,"17.6-17.7":4.6139,"18.0":1.6363,"18.1":1.4378,"18.2":0.05813},P:{"4":0.04186,"20":0.01047,"21":0.0314,"22":0.0314,"23":0.05233,"24":0.04186,"25":0.05233,"26":1.08844,"27":0.87912,_:"5.0-5.4 8.2 10.1 12.0 15.0 18.0","6.2-6.4":0.01047,"7.2-7.4":0.01047,"9.2":0.01047,"11.1-11.2":0.01047,"13.0":0.01047,"14.0":0.01047,"16.0":0.02093,"17.0":0.01047,"19.0":0.01047},I:{"0":0.15568,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"8":0.0081,"9":0.0081,"11":0.06077,_:"6 7 10 5.5"},K:{"0":0.47457,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.0065,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0065},O:{"0":0.43557},H:{"0":0},L:{"0":50.49183},R:{_:"0"},M:{"0":0.48758}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GA.js deleted file mode 100644 index 555a7e7d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.01451,"91":0.00726,"107":0.00907,"115":0.09251,"123":0.00363,"127":0.00726,"128":0.00726,"129":0.00181,"130":0.00181,"131":0.03628,"132":0.91244,"133":0.0907,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 109 110 111 112 113 114 116 117 118 119 120 121 122 124 125 126 134 135 136 3.5 3.6"},D:{"11":0.00363,"38":0.00181,"43":0.00181,"49":0.00363,"56":0.00181,"58":0.00181,"62":0.00363,"65":0.00181,"66":0.01814,"68":0.00181,"69":0.0127,"72":0.00907,"73":0.00726,"74":0.00363,"75":0.00363,"79":0.03084,"81":0.05805,"83":0.10884,"84":0.02721,"86":0.03447,"87":0.10703,"88":0.0254,"89":0.00726,"90":0.00363,"91":0.12154,"93":0.02177,"94":0.02358,"95":0.01451,"98":0.00907,"100":0.01088,"103":0.24126,"105":0.00181,"108":0.00363,"109":0.67662,"110":0.07619,"113":0.00181,"114":0.01814,"116":0.0127,"117":0.00181,"118":0.00181,"119":0.05079,"120":0.00363,"121":0.00726,"122":0.00363,"123":0.0127,"124":0.01088,"125":0.01995,"126":0.04898,"127":0.01451,"128":0.03084,"129":0.08707,"130":4.20667,"131":2.89514,"132":0.00181,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 57 59 60 61 63 64 67 70 71 76 77 78 80 85 92 96 97 99 101 102 104 106 107 111 112 115 133 134"},F:{"42":0.00181,"84":0.00181,"85":0.00181,"86":0.00181,"95":0.05805,"113":0.00544,"114":0.58048,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00544,"17":0.00181,"18":0.00363,"92":0.02177,"100":0.01814,"109":0.00907,"110":0.00544,"114":0.00363,"117":0.00181,"124":0.00181,"125":0.01633,"126":0.00363,"127":0.00181,"128":0.00726,"129":0.03265,"130":1.53827,"131":1.13738,_:"12 13 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 113 115 116 118 119 120 121 122 123"},E:{"11":0.00181,"12":0.00181,_:"0 4 5 6 7 8 9 10 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 17.0 18.2","12.1":0.00181,"13.1":0.11972,"14.1":0.00544,"15.6":0.156,"16.2":0.00181,"16.3":0.00181,"16.4":0.00181,"16.5":0.00181,"16.6":0.01088,"17.1":0.00544,"17.2":0.00181,"17.3":0.06168,"17.4":0.00363,"17.5":0.11428,"17.6":0.13242,"18.0":0.00907,"18.1":0.0653},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00175,"5.0-5.1":0,"6.0-6.1":0.00698,"7.0-7.1":0.00873,"8.1-8.4":0,"9.0-9.2":0.00698,"9.3":0.02444,"10.0-10.2":0.00524,"10.3":0.04015,"11.0-11.2":0.47128,"11.3-11.4":0.01222,"12.0-12.1":0.00698,"12.2-12.5":0.18327,"13.0-13.1":0.00349,"13.2":0.04713,"13.3":0.00698,"13.4-13.7":0.02618,"14.0-14.4":0.0576,"14.5-14.8":0.08204,"15.0-15.1":0.04713,"15.2-15.3":0.04364,"15.4":0.05236,"15.5":0.06109,"15.6-15.8":0.65455,"16.0":0.12393,"16.1":0.26182,"16.2":0.13266,"16.3":0.22517,"16.4":0.04538,"16.5":0.09076,"16.6-16.7":0.85877,"17.0":0.06284,"17.1":0.10473,"17.2":0.08727,"17.3":0.13266,"17.4":0.28451,"17.5":0.85004,"17.6-17.7":7.34319,"18.0":2.60424,"18.1":2.28831,"18.2":0.09251},P:{"4":0.07189,"20":0.04108,"21":0.01027,"22":0.1027,"23":0.02054,"24":0.09243,"25":0.08216,"26":0.81134,"27":0.17459,"5.0-5.4":0.02054,_:"6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 16.0 18.0","7.2-7.4":0.15405,"11.1-11.2":0.01027,"15.0":0.01027,"17.0":0.12324,"19.0":0.01027},I:{"0":0.05718,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.88238,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01637,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04094},H:{"0":0.01},L:{"0":65.09624},R:{_:"0"},M:{"0":0.03275}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GB.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GB.js deleted file mode 100644 index 36ab322f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.0041,"52":0.01229,"59":0.02049,"77":0.0041,"78":0.02869,"88":0.0082,"91":0.0041,"93":0.0041,"94":0.0082,"101":0.0041,"102":0.0041,"103":0.0041,"113":0.0041,"115":0.13114,"118":0.0041,"121":0.0041,"124":0.0041,"125":0.03688,"126":0.0041,"127":0.0082,"128":0.04918,"129":0.04098,"130":0.01229,"131":0.15163,"132":1.49167,"133":0.10655,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 80 81 82 83 84 85 86 87 89 90 92 95 96 97 98 99 100 104 105 106 107 108 109 110 111 112 114 116 117 119 120 122 123 134 135 136 3.5 3.6"},D:{"46":0.0041,"48":0.0041,"49":0.0082,"51":0.0041,"52":0.0082,"56":0.0041,"58":0.0041,"59":0.0041,"66":0.09425,"70":0.0041,"74":0.0041,"76":0.0082,"77":0.0041,"79":0.01639,"80":0.0041,"81":0.02049,"83":0.02459,"84":0.0041,"85":0.0082,"86":0.0082,"87":0.02459,"88":0.01229,"89":0.01229,"90":0.0041,"91":0.01639,"92":0.0082,"93":0.01229,"94":0.01639,"95":0.01229,"96":0.0082,"97":0.0041,"98":0.0041,"99":0.0041,"100":0.0041,"101":0.0041,"102":0.01229,"103":0.14753,"104":0.0082,"105":0.0082,"106":0.0082,"107":0.01639,"108":0.01639,"109":0.57782,"110":0.0082,"111":0.02049,"112":0.01229,"113":0.02869,"114":0.05737,"115":0.0082,"116":0.14343,"117":0.02459,"118":0.02049,"119":0.03688,"120":0.03688,"121":0.02459,"122":0.10655,"123":0.16802,"124":0.09835,"125":0.4057,"126":0.30735,"127":0.15982,"128":0.32784,"129":1.0327,"130":10.95395,"131":6.26994,"132":0.0082,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 50 53 54 55 57 60 61 62 63 64 65 67 68 69 71 72 73 75 78 133 134"},F:{"46":0.0082,"85":0.01229,"95":0.01229,"102":0.0041,"112":0.0041,"113":0.06967,"114":0.74993,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.01229,"18":0.0041,"85":0.0041,"92":0.01639,"95":0.0041,"108":0.0041,"109":0.05737,"110":0.0041,"112":0.0041,"113":0.0041,"114":0.0041,"116":0.0041,"119":0.0041,"120":0.0041,"121":0.03278,"122":0.02459,"123":0.0041,"124":0.0082,"125":0.0082,"126":0.03688,"127":0.01229,"128":0.03688,"129":0.25408,"130":4.95038,"131":3.4915,_:"12 13 14 15 16 79 80 81 83 84 86 87 88 89 90 91 93 94 96 97 98 99 100 101 102 103 104 105 106 107 111 115 117 118"},E:{"8":0.0041,"13":0.0041,"14":0.02869,"15":0.0082,_:"0 4 5 6 7 9 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1","9.1":0.0041,"11.1":0.02049,"12.1":0.01229,"13.1":0.06147,"14.1":0.09835,"15.1":0.01229,"15.2-15.3":0.01229,"15.4":0.02049,"15.5":0.03688,"15.6":0.43849,"16.0":0.05327,"16.1":0.05327,"16.2":0.04508,"16.3":0.10245,"16.4":0.02869,"16.5":0.04918,"16.6":0.59011,"17.0":0.03278,"17.1":0.04918,"17.2":0.04918,"17.3":0.05737,"17.4":0.12294,"17.5":0.36062,"17.6":2.44651,"18.0":0.47537,"18.1":0.72944,"18.2":0.02049},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0025,"5.0-5.1":0,"6.0-6.1":0.00998,"7.0-7.1":0.01248,"8.1-8.4":0,"9.0-9.2":0.00998,"9.3":0.03494,"10.0-10.2":0.00749,"10.3":0.05739,"11.0-11.2":0.67375,"11.3-11.4":0.01747,"12.0-12.1":0.00998,"12.2-12.5":0.26201,"13.0-13.1":0.00499,"13.2":0.06737,"13.3":0.00998,"13.4-13.7":0.03743,"14.0-14.4":0.08235,"14.5-14.8":0.11728,"15.0-15.1":0.06737,"15.2-15.3":0.06238,"15.4":0.07486,"15.5":0.08734,"15.6-15.8":0.93576,"16.0":0.17717,"16.1":0.3743,"16.2":0.18965,"16.3":0.3219,"16.4":0.06488,"16.5":0.12976,"16.6-16.7":1.22772,"17.0":0.08983,"17.1":0.14972,"17.2":0.12477,"17.3":0.18965,"17.4":0.40674,"17.5":1.21524,"17.6-17.7":10.498,"18.0":3.72309,"18.1":3.27142,"18.2":0.13225},P:{"4":0.02194,"20":0.01097,"21":0.04388,"22":0.04388,"23":0.08776,"24":0.05485,"25":0.05485,"26":2.01839,"27":1.88676,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.01097,"17.0":0.01097,"18.0":0.01097,"19.0":0.01097},I:{"0":0.04122,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"9":0.00484,"11":0.04843,_:"6 7 8 10 5.5"},K:{"0":0.21837,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0059},O:{"0":0.07673},H:{"0":0},L:{"0":29.24136},R:{_:"0"},M:{"0":0.39543}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GD.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GD.js deleted file mode 100644 index 36756bad..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"83":0.00465,"109":0.00465,"115":0.01394,"127":0.00465,"128":0.11613,"131":0.04645,"132":0.68282,"133":0.10219,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 129 130 134 135 136 3.5 3.6"},D:{"43":0.00465,"49":0.00929,"52":0.00465,"55":0.00929,"76":0.04181,"79":0.02787,"81":0.00929,"83":0.00465,"84":0.00929,"86":0.00465,"87":0.00465,"92":0.00465,"93":0.07432,"94":0.04181,"95":0.00465,"100":0.00929,"103":0.18116,"105":0.02323,"107":0.00465,"109":0.39947,"114":0.00929,"116":0.06039,"117":0.00929,"119":0.00929,"121":0.00929,"122":0.04645,"123":0.04181,"124":0.04645,"125":0.26012,"126":0.14864,"127":0.09755,"128":0.11613,"129":0.83146,"130":15.63043,"131":8.43997,"132":0.02787,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 80 85 88 89 90 91 96 97 98 99 101 102 104 106 108 110 111 112 113 115 118 120 133 134"},F:{"85":0.01394,"95":0.01394,"112":0.00465,"113":0.01858,"114":0.99403,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00465,"18":0.01394,"92":0.01394,"109":0.00465,"122":0.00465,"125":0.00465,"126":0.03716,"128":0.01394,"129":0.08826,"130":5.10486,"131":3.20041,_:"12 13 14 15 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 123 124 127"},E:{"14":0.00465,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 16.0","13.1":0.00929,"14.1":0.32515,"15.1":0.01394,"15.2-15.3":0.01858,"15.4":0.00465,"15.5":0.00465,"15.6":0.22296,"16.1":0.04181,"16.2":0.00465,"16.3":0.02787,"16.4":0.06503,"16.5":0.10219,"16.6":0.26941,"17.0":0.52024,"17.1":0.58527,"17.2":0.07897,"17.3":0.08826,"17.4":0.16258,"17.5":0.2369,"17.6":2.84739,"18.0":0.48308,"18.1":0.69675,"18.2":0.00465},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00152,"5.0-5.1":0,"6.0-6.1":0.00607,"7.0-7.1":0.00759,"8.1-8.4":0,"9.0-9.2":0.00607,"9.3":0.02125,"10.0-10.2":0.00455,"10.3":0.03491,"11.0-11.2":0.40982,"11.3-11.4":0.01063,"12.0-12.1":0.00607,"12.2-12.5":0.15938,"13.0-13.1":0.00304,"13.2":0.04098,"13.3":0.00607,"13.4-13.7":0.02277,"14.0-14.4":0.05009,"14.5-14.8":0.07134,"15.0-15.1":0.04098,"15.2-15.3":0.03795,"15.4":0.04554,"15.5":0.05313,"15.6-15.8":0.5692,"16.0":0.10777,"16.1":0.22768,"16.2":0.11536,"16.3":0.1958,"16.4":0.03946,"16.5":0.07893,"16.6-16.7":0.74679,"17.0":0.05464,"17.1":0.09107,"17.2":0.07589,"17.3":0.11536,"17.4":0.24741,"17.5":0.7392,"17.6-17.7":6.38563,"18.0":2.26465,"18.1":1.98991,"18.2":0.08045},P:{"4":0.01084,"21":0.01084,"22":0.03253,"23":0.02168,"24":0.05421,"25":0.02168,"26":1.59381,"27":1.62634,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 17.0 18.0 19.0","6.2-6.4":0.01084,"7.2-7.4":0.02168,"16.0":0.05421},I:{"0":0.01068,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.45509,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01071},H:{"0":0},L:{"0":36.27561},R:{_:"0"},M:{"0":0.09637}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GE.js deleted file mode 100644 index 7750d276..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00398,"52":0.00796,"61":0.00796,"68":0.01989,"78":0.06365,"79":0.00796,"91":0.00398,"102":0.00398,"103":0.01591,"106":0.00398,"108":0.01193,"111":0.00398,"113":0.04376,"115":0.15514,"118":0.01193,"121":0.02387,"125":0.00796,"128":0.01193,"129":0.00398,"130":0.00796,"131":0.0716,"132":0.82742,"133":0.0716,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 104 105 107 109 110 112 114 116 117 119 120 122 123 124 126 127 134 135 136 3.5 3.6"},D:{"38":0.00398,"42":0.00398,"47":0.01193,"49":0.01989,"55":0.00398,"56":0.01591,"58":0.00796,"59":0.00398,"63":0.01193,"64":0.00398,"65":0.00398,"68":0.01989,"69":0.01989,"70":0.01193,"73":0.04376,"74":0.00796,"75":0.00398,"76":0.00796,"77":0.00398,"78":0.02387,"79":0.31824,"80":0.00398,"83":0.1631,"85":0.00398,"86":0.01193,"87":0.41371,"88":0.07558,"89":0.00398,"90":0.00398,"91":0.02387,"92":0.00796,"93":0.00796,"94":0.09945,"95":0.00796,"98":0.05171,"99":0.00796,"100":0.0358,"101":0.00796,"102":0.01591,"103":0.04774,"104":0.03182,"105":0.00398,"106":0.02785,"107":0.02387,"108":0.03978,"109":3.5802,"110":0.04376,"111":0.04376,"112":0.01193,"113":0.00398,"114":0.01591,"115":0.00796,"116":0.11934,"117":0.01989,"118":0.03182,"119":0.03182,"120":0.07956,"121":0.05171,"122":0.07956,"123":0.0358,"124":0.12332,"125":0.03978,"126":0.11138,"127":0.07558,"128":0.18299,"129":0.48929,"130":12.7296,"131":9.7461,"132":0.00796,"133":0.00398,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 43 44 45 46 48 50 51 52 53 54 57 60 61 62 66 67 71 72 81 84 96 97 134"},F:{"28":0.00398,"36":0.00398,"40":0.00398,"46":0.12332,"67":0.00398,"79":0.03182,"84":0.00398,"85":0.03182,"86":0.01193,"87":0.01193,"94":0.00398,"95":0.40973,"101":0.00398,"102":0.00398,"103":0.00398,"104":0.00398,"112":0.00398,"113":0.13525,"114":1.989,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 88 89 90 91 92 93 96 97 98 99 100 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00398,"13":0.00796,"14":0.05569,"16":0.01989,"18":0.01591,"89":0.00398,"92":0.01193,"100":0.00796,"102":0.00398,"103":0.00398,"107":0.00398,"109":0.02387,"110":0.0358,"112":0.00796,"113":0.00398,"114":0.00796,"116":0.01193,"117":0.01193,"118":0.00796,"119":0.00796,"120":0.00398,"121":0.01193,"122":0.00398,"123":0.00796,"124":0.00796,"125":0.00796,"126":0.02387,"127":0.01591,"128":0.04376,"129":0.10343,"130":1.4639,"131":1.14964,_:"15 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 104 105 106 108 111 115"},E:{"9":0.00398,"14":0.00796,"15":0.00398,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 15.1","11.1":0.00398,"13.1":0.02387,"14.1":0.02785,"15.2-15.3":0.00398,"15.4":0.01193,"15.5":0.00796,"15.6":0.07558,"16.0":0.00398,"16.1":0.02785,"16.2":0.00796,"16.3":0.01591,"16.4":0.00398,"16.5":0.02387,"16.6":0.08354,"17.0":0.00398,"17.1":0.01989,"17.2":0.00796,"17.3":0.01989,"17.4":0.0358,"17.5":0.08752,"17.6":0.27448,"18.0":0.2705,"18.1":0.22277,"18.2":0.01193},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00101,"5.0-5.1":0,"6.0-6.1":0.00403,"7.0-7.1":0.00504,"8.1-8.4":0,"9.0-9.2":0.00403,"9.3":0.01411,"10.0-10.2":0.00302,"10.3":0.02319,"11.0-11.2":0.27218,"11.3-11.4":0.00706,"12.0-12.1":0.00403,"12.2-12.5":0.10585,"13.0-13.1":0.00202,"13.2":0.02722,"13.3":0.00403,"13.4-13.7":0.01512,"14.0-14.4":0.03327,"14.5-14.8":0.04738,"15.0-15.1":0.02722,"15.2-15.3":0.0252,"15.4":0.03024,"15.5":0.03528,"15.6-15.8":0.37803,"16.0":0.07157,"16.1":0.15121,"16.2":0.07661,"16.3":0.13004,"16.4":0.02621,"16.5":0.05242,"16.6-16.7":0.49598,"17.0":0.03629,"17.1":0.06048,"17.2":0.0504,"17.3":0.07661,"17.4":0.16432,"17.5":0.49094,"17.6-17.7":4.241,"18.0":1.50406,"18.1":1.3216,"18.2":0.05343},P:{"4":0.71763,"20":0.01071,"21":0.05355,"22":0.05355,"23":0.04284,"24":0.0964,"25":0.05355,"26":0.71763,"27":0.76047,"5.0-5.4":0.06427,"6.2-6.4":0.12853,"7.2-7.4":0.04284,_:"8.2 9.2 10.1 12.0 14.0 15.0","11.1-11.2":0.01071,"13.0":0.01071,"16.0":0.01071,"17.0":0.01071,"18.0":0.01071,"19.0":0.01071},I:{"0":0.11417,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00015},A:{"8":0.00796,"11":0.02387,_:"6 7 9 10 5.5"},K:{"0":0.42756,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04818},H:{"0":0},L:{"0":47.09368},R:{_:"0"},M:{"0":0.13248}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GF.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GF.js deleted file mode 100644 index 618f62bb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.0127,"102":0.03447,"103":0.00907,"110":0.00544,"113":0.00181,"115":0.23945,"116":0.00181,"119":0.01451,"121":0.00544,"127":0.00363,"128":0.07256,"130":0.03447,"131":0.29387,"132":1.92465,"133":0.17233,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 111 112 114 117 118 120 122 123 124 125 126 129 134 135 136 3.5 3.6"},D:{"47":0.00544,"69":0.00181,"76":0.02177,"79":0.00544,"80":0.00181,"81":0.00181,"86":0.00181,"87":0.00363,"88":0.03809,"91":0.00181,"92":0.00907,"94":0.04716,"96":0.00544,"97":0.00181,"98":0.00181,"99":0.00181,"102":0.01814,"103":0.04716,"104":0.03447,"108":0.00363,"109":0.18503,"111":0.01088,"114":0.09614,"116":0.02902,"117":0.00363,"120":0.00181,"121":0.00181,"122":0.00363,"123":0.00363,"124":0.00726,"125":0.05261,"126":0.02177,"127":0.01814,"128":0.14875,"129":0.46257,"130":4.31913,"131":2.68291,"132":0.02902,"133":0.00181,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 77 78 83 84 85 89 90 93 95 100 101 105 106 107 110 112 113 115 118 119 134"},F:{"36":0.00181,"46":0.01451,"85":0.00363,"95":0.00363,"102":0.00726,"112":0.00544,"113":0.11791,"114":0.70746,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00363,"83":0.00544,"84":0.00726,"92":0.01088,"107":0.00181,"109":0.01995,"113":0.00363,"115":0.00363,"118":0.00363,"120":0.0127,"122":0.01451,"123":0.00181,"124":0.00544,"125":0.02177,"126":0.00544,"127":0.01088,"128":0.03447,"129":0.26122,"130":1.92465,"131":1.42762,_:"12 13 14 15 16 17 79 80 81 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 114 116 117 119 121"},E:{"14":0.00726,"15":0.00181,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3","13.1":0.01633,"14.1":0.01633,"15.4":0.06349,"15.5":0.01633,"15.6":0.06893,"16.0":0.00726,"16.1":0.00726,"16.2":0.00544,"16.3":0.02902,"16.4":0.0127,"16.5":0.00363,"16.6":0.09796,"17.0":0.00181,"17.1":0.00907,"17.2":0.00544,"17.3":0.03447,"17.4":0.04172,"17.5":0.08344,"17.6":0.27391,"18.0":0.30657,"18.1":0.22131,"18.2":0.00544},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0009,"5.0-5.1":0,"6.0-6.1":0.00358,"7.0-7.1":0.00448,"8.1-8.4":0,"9.0-9.2":0.00358,"9.3":0.01254,"10.0-10.2":0.00269,"10.3":0.0206,"11.0-11.2":0.2418,"11.3-11.4":0.00627,"12.0-12.1":0.00358,"12.2-12.5":0.09403,"13.0-13.1":0.00179,"13.2":0.02418,"13.3":0.00358,"13.4-13.7":0.01343,"14.0-14.4":0.02955,"14.5-14.8":0.04209,"15.0-15.1":0.02418,"15.2-15.3":0.02239,"15.4":0.02687,"15.5":0.03134,"15.6-15.8":0.33583,"16.0":0.06358,"16.1":0.13433,"16.2":0.06806,"16.3":0.11553,"16.4":0.02328,"16.5":0.04657,"16.6-16.7":0.44061,"17.0":0.03224,"17.1":0.05373,"17.2":0.04478,"17.3":0.06806,"17.4":0.14597,"17.5":0.43613,"17.6-17.7":3.76757,"18.0":1.33616,"18.1":1.17406,"18.2":0.04746},P:{"20":0.02116,"22":0.09523,"23":0.04232,"24":0.07407,"25":0.02116,"26":0.78298,"27":0.85705,_:"4 21 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0 17.0 18.0","5.0-5.4":0.01058,"6.2-6.4":0.01058,"7.2-7.4":0.04232,"11.1-11.2":0.01058,"19.0":0.02116},I:{"0":0.29405,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00009,"4.4":0,"4.4.3-4.4.4":0.00038},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.12279,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04093},H:{"0":0},L:{"0":70.77864},R:{_:"0"},M:{"0":0.19646}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GG.js deleted file mode 100644 index 3346b5ad..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.0792,"79":0.022,"109":0.0044,"115":0.1232,"128":0.0132,"131":0.1012,"132":0.7436,"133":0.0176,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 129 130 134 135 136 3.5 3.6"},D:{"76":0.0044,"79":0.0044,"87":0.0044,"88":0.0044,"91":0.0044,"93":0.0044,"99":0.0044,"103":0.0264,"105":0.0088,"109":1.2232,"114":0.0308,"116":0.0704,"118":0.022,"119":0.0132,"122":0.066,"123":0.0132,"124":0.1408,"125":0.0484,"126":0.11,"127":0.0484,"128":1.0472,"129":1.0296,"130":9.5876,"131":6.5296,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 80 81 83 84 85 86 89 90 92 94 95 96 97 98 100 101 102 104 106 107 108 110 111 112 113 115 117 120 121 132 133 134"},F:{"113":0.0352,"114":0.4796,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"109":0.0308,"115":0.0044,"116":0.0088,"120":0.0044,"126":0.0044,"128":0.0616,"129":0.176,"130":5.1744,"131":3.0756,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 117 118 119 121 122 123 124 125 127"},E:{"13":0.022,"14":0.0308,"15":0.0176,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 18.2","12.1":0.0088,"13.1":0.1364,"14.1":0.0924,"15.2-15.3":0.0088,"15.4":0.176,"15.5":0.1804,"15.6":0.8668,"16.0":0.2948,"16.1":0.0528,"16.2":0.1848,"16.3":0.3256,"16.4":0.0836,"16.5":0.066,"16.6":1.5224,"17.0":0.022,"17.1":0.0352,"17.2":0.0396,"17.3":0.0792,"17.4":0.0528,"17.5":0.418,"17.6":5.742,"18.0":0.3564,"18.1":1.8568},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00337,"5.0-5.1":0,"6.0-6.1":0.01349,"7.0-7.1":0.01686,"8.1-8.4":0,"9.0-9.2":0.01349,"9.3":0.04721,"10.0-10.2":0.01012,"10.3":0.07756,"11.0-11.2":0.91053,"11.3-11.4":0.02361,"12.0-12.1":0.01349,"12.2-12.5":0.35409,"13.0-13.1":0.00674,"13.2":0.09105,"13.3":0.01349,"13.4-13.7":0.05058,"14.0-14.4":0.11129,"14.5-14.8":0.1585,"15.0-15.1":0.09105,"15.2-15.3":0.08431,"15.4":0.10117,"15.5":0.11803,"15.6-15.8":1.26462,"16.0":0.23943,"16.1":0.50585,"16.2":0.2563,"16.3":0.43503,"16.4":0.08768,"16.5":0.17536,"16.6-16.7":1.65918,"17.0":0.1214,"17.1":0.20234,"17.2":0.16862,"17.3":0.2563,"17.4":0.54969,"17.5":1.64232,"17.6-17.7":14.18735,"18.0":5.0315,"18.1":4.42111,"18.2":0.17873},P:{"4":0.0225,"21":0.0225,"25":0.01125,"26":1.58649,"27":1.99155,_:"20 22 23 24 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0 18.0 19.0","7.2-7.4":0.01125,"13.0":0.01125},I:{"0":0.01118,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.0088,_:"6 7 8 9 10 5.5"},K:{"0":0.0224,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0168},H:{"0":0},L:{"0":17.2624},R:{_:"0"},M:{"0":1.1592}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GH.js deleted file mode 100644 index 247d4119..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"26":0.00226,"45":0.00226,"48":0.00226,"72":0.00453,"78":0.00453,"79":0.00226,"101":0.00679,"103":0.00226,"104":0.00226,"112":0.00453,"114":0.00226,"115":0.15615,"121":0.00226,"122":0.00226,"123":0.00226,"124":0.00226,"126":0.00226,"127":0.02716,"128":0.05205,"129":0.01358,"130":0.02263,"131":0.10184,"132":0.86673,"133":0.08826,"134":0.00226,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 105 106 107 108 109 110 111 113 116 117 118 119 120 125 135 136 3.5 3.6"},D:{"11":0.00226,"23":0.00226,"26":0.00226,"34":0.00453,"39":0.00226,"40":0.00226,"43":0.00226,"46":0.00226,"49":0.00226,"50":0.00679,"54":0.00226,"55":0.00226,"56":0.00226,"57":0.00226,"58":0.00226,"59":0.00453,"63":0.00453,"64":0.00453,"65":0.00905,"66":0.00226,"68":0.01132,"69":0.00679,"70":0.0181,"71":0.00679,"72":0.00226,"73":0.00453,"74":0.02263,"75":0.01358,"76":0.0181,"77":0.00905,"79":0.02263,"80":0.00905,"81":0.00453,"83":0.01584,"84":0.00679,"85":0.00905,"86":0.00679,"87":0.0181,"88":0.00679,"89":0.00226,"90":0.00679,"91":0.00679,"92":0.00679,"93":0.02716,"94":0.00905,"95":0.00679,"96":0.00453,"97":0.00905,"98":0.00453,"99":0.00453,"100":0.00679,"101":0.00226,"102":0.00453,"103":0.07694,"104":0.00453,"105":0.00905,"106":0.00679,"107":0.00453,"108":0.02263,"109":1.13376,"110":0.00453,"111":0.00905,"112":0.00679,"113":0.00453,"114":0.01358,"115":0.00453,"116":0.04979,"117":0.00453,"118":0.02263,"119":0.02716,"120":0.02263,"121":0.01132,"122":0.02716,"123":0.02037,"124":0.04526,"125":0.02489,"126":0.09957,"127":0.0611,"128":0.13352,"129":0.3734,"130":5.99242,"131":3.28361,"132":0.00679,"133":0.00226,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 24 25 27 28 29 30 31 32 33 35 36 37 38 41 42 44 45 47 48 51 52 53 60 61 62 67 78 134"},F:{"35":0.00226,"36":0.00226,"37":0.00226,"42":0.00679,"45":0.00226,"46":0.00226,"49":0.00226,"58":0.00679,"64":0.00453,"74":0.00226,"79":0.01584,"81":0.00226,"83":0.00679,"84":0.00905,"85":0.07015,"86":0.00453,"94":0.00226,"95":0.08599,"102":0.00453,"104":0.00226,"108":0.00226,"109":0.00226,"110":0.00226,"111":0.00226,"112":0.01358,"113":0.03621,"114":0.91878,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 38 39 40 41 43 44 47 48 50 51 52 53 54 55 56 57 60 62 63 65 66 67 68 69 70 71 72 73 75 76 77 78 80 82 87 88 89 90 91 92 93 96 97 98 99 100 101 103 105 106 107 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00679,"13":0.00453,"14":0.00453,"15":0.00453,"16":0.00226,"17":0.00679,"18":0.05205,"84":0.01132,"88":0.00226,"89":0.02263,"90":0.043,"92":0.12899,"94":0.00453,"100":0.02716,"104":0.00226,"106":0.00226,"107":0.00226,"109":0.02263,"111":0.00226,"112":0.00905,"113":0.00226,"114":0.01132,"115":0.00226,"116":0.00226,"117":0.00226,"118":0.00226,"119":0.00453,"120":0.01584,"121":0.00905,"122":0.01358,"123":0.01358,"124":0.01584,"125":0.01584,"126":0.03395,"127":0.02942,"128":0.07015,"129":0.13804,"130":1.46642,"131":0.87804,_:"79 80 81 83 85 86 87 91 93 95 96 97 98 99 101 102 103 105 108 110"},E:{"11":0.00905,"13":0.00453,"14":0.00679,_:"0 4 5 6 7 8 9 10 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00905,"12.1":0.00679,"13.1":0.03847,"14.1":0.02716,"15.1":0.00679,"15.2-15.3":0.00226,"15.4":0.00226,"15.5":0.00453,"15.6":0.06789,"16.0":0.00453,"16.1":0.00453,"16.2":0.00226,"16.3":0.00679,"16.4":0.00226,"16.5":0.00679,"16.6":0.04979,"17.0":0.00679,"17.1":0.00679,"17.2":0.00679,"17.3":0.01358,"17.4":0.01132,"17.5":0.043,"17.6":0.1041,"18.0":0.08373,"18.1":0.16067,"18.2":0.00453},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00124,"5.0-5.1":0,"6.0-6.1":0.00495,"7.0-7.1":0.00619,"8.1-8.4":0,"9.0-9.2":0.00495,"9.3":0.01733,"10.0-10.2":0.00371,"10.3":0.02847,"11.0-11.2":0.3342,"11.3-11.4":0.00866,"12.0-12.1":0.00495,"12.2-12.5":0.12996,"13.0-13.1":0.00248,"13.2":0.03342,"13.3":0.00495,"13.4-13.7":0.01857,"14.0-14.4":0.04085,"14.5-14.8":0.05817,"15.0-15.1":0.03342,"15.2-15.3":0.03094,"15.4":0.03713,"15.5":0.04332,"15.6-15.8":0.46416,"16.0":0.08788,"16.1":0.18566,"16.2":0.09407,"16.3":0.15967,"16.4":0.03218,"16.5":0.06436,"16.6-16.7":0.60898,"17.0":0.04456,"17.1":0.07427,"17.2":0.06189,"17.3":0.09407,"17.4":0.20175,"17.5":0.60279,"17.6-17.7":5.20726,"18.0":1.84674,"18.1":1.6227,"18.2":0.0656},P:{"4":0.16338,"20":0.01021,"21":0.04085,"22":0.13275,"23":0.04085,"24":0.25529,"25":0.12254,"26":0.66375,"27":0.2655,"5.0-5.4":0.04085,"6.2-6.4":0.01021,"7.2-7.4":0.0919,_:"8.2 10.1 12.0 14.0 15.0 18.0","9.2":0.06127,"11.1-11.2":0.04085,"13.0":0.01021,"16.0":0.03063,"17.0":0.02042,"19.0":0.04085},I:{"0":0.06947,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.00453,_:"6 7 8 9 10 5.5"},K:{"0":11.09872,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01547,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01547},O:{"0":0.64209},H:{"0":0.66},L:{"0":53.85262},R:{_:"0"},M:{"0":0.24755}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GI.js deleted file mode 100644 index 85f9de2e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"44":0.40446,"78":0.0087,"79":0.00435,"83":0.00435,"92":0.0087,"103":0.00435,"107":0.00435,"111":0.00435,"115":0.02609,"124":0.00435,"126":0.0087,"128":0.00435,"131":0.04349,"132":1.83963,"133":0.15222,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 105 106 108 109 110 112 113 114 116 117 118 119 120 121 122 123 125 127 129 130 134 135 136 3.5 3.6"},D:{"48":0.00435,"66":0.0087,"68":0.01305,"69":0.0087,"70":0.01305,"71":0.02175,"72":0.0174,"73":0.0087,"74":0.02175,"75":0.0174,"76":0.01305,"77":0.0087,"78":0.01305,"79":0.04349,"80":0.02175,"81":0.05654,"83":0.0174,"84":0.01305,"85":0.01305,"86":0.03479,"87":0.02175,"88":1.53955,"89":0.02609,"90":0.0174,"94":0.00435,"97":0.00435,"102":0.00435,"103":0.03044,"105":0.05219,"106":0.8524,"107":0.30008,"108":0.04349,"109":1.18293,"110":0.75238,"111":0.80022,"112":0.02609,"113":0.00435,"114":0.0174,"115":0.04349,"116":0.07393,"117":0.01305,"118":0.03914,"119":0.02609,"120":0.12177,"121":0.03479,"122":0.08263,"123":0.06089,"124":0.02609,"125":0.04784,"126":0.07828,"127":0.10873,"128":0.93504,"129":1.11334,"130":10.79857,"131":5.96248,"132":0.05654,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 91 92 93 95 96 98 99 100 101 104 133 134"},F:{"48":0.00435,"50":0.00435,"53":0.00435,"54":0.00435,"55":0.00435,"76":0.00435,"91":0.00435,"93":0.4262,"94":0.25224,"95":0.0087,"96":0.00435,"100":0.00435,"101":0.00435,"102":0.00435,"104":0.00435,"105":0.0087,"106":0.00435,"108":0.00435,"110":0.00435,"113":0.05219,"114":0.4262,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 51 52 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 97 98 99 103 107 109 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.02175,"79":0.00435,"80":0.00435,"81":0.01305,"83":0.02609,"84":0.01305,"85":0.0087,"86":0.0174,"87":0.01305,"88":0.0087,"89":0.0174,"90":0.0087,"91":0.00435,"92":0.00435,"103":0.0087,"106":0.0087,"107":0.35227,"108":0.00435,"109":0.00435,"110":0.00435,"111":0.0087,"114":0.00435,"115":0.00435,"116":0.00435,"117":0.00435,"118":0.00435,"119":0.00435,"120":0.0087,"121":0.00435,"122":0.0087,"123":0.0174,"124":0.0087,"125":0.00435,"126":0.01305,"127":0.03479,"128":0.13482,"129":0.06958,"130":4.80565,"131":2.74857,_:"12 13 14 15 16 17 93 94 95 96 97 98 99 100 101 102 104 105 112 113"},E:{"8":0.0087,"14":0.0174,"15":0.16091,_:"0 4 5 6 7 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 10.1 11.1 12.1 15.1 17.0","9.1":0.04349,"13.1":0.18266,"14.1":0.05219,"15.2-15.3":0.00435,"15.4":0.02609,"15.5":0.02175,"15.6":0.2305,"16.0":0.01305,"16.1":0.08698,"16.2":0.09133,"16.3":0.10873,"16.4":0.0087,"16.5":0.0174,"16.6":0.4262,"17.1":0.07393,"17.2":0.04349,"17.3":0.04784,"17.4":0.0174,"17.5":0.4262,"17.6":0.96548,"18.0":0.77412,"18.1":0.39141,"18.2":0.0087},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00213,"5.0-5.1":0,"6.0-6.1":0.00852,"7.0-7.1":0.01065,"8.1-8.4":0,"9.0-9.2":0.00852,"9.3":0.02982,"10.0-10.2":0.00639,"10.3":0.04899,"11.0-11.2":0.57506,"11.3-11.4":0.01491,"12.0-12.1":0.00852,"12.2-12.5":0.22364,"13.0-13.1":0.00426,"13.2":0.05751,"13.3":0.00852,"13.4-13.7":0.03195,"14.0-14.4":0.07029,"14.5-14.8":0.1001,"15.0-15.1":0.05751,"15.2-15.3":0.05325,"15.4":0.0639,"15.5":0.07455,"15.6-15.8":0.7987,"16.0":0.15122,"16.1":0.31948,"16.2":0.16187,"16.3":0.27475,"16.4":0.05538,"16.5":0.11075,"16.6-16.7":1.04789,"17.0":0.07668,"17.1":0.12779,"17.2":0.10649,"17.3":0.16187,"17.4":0.34717,"17.5":1.03724,"17.6-17.7":8.96033,"18.0":3.17775,"18.1":2.79225,"18.2":0.11288},P:{"4":0.52108,"20":0.02043,"21":0.01022,"22":0.01022,"23":0.11239,"24":0.01022,"25":0.235,"26":1.82888,"27":1.64497,"5.0-5.4":0.03065,"6.2-6.4":0.01022,"7.2-7.4":0.01022,_:"8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.10217,"17.0":0.01022,"18.0":0.01022,"19.0":0.01022},I:{"0":0.02255,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.0087,"11":0.02609,_:"6 7 9 10 5.5"},K:{"0":0.50294,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.09042},O:{"0":0.32211},H:{"0":0},L:{"0":29.83209},R:{_:"0"},M:{"0":0.39557}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GL.js deleted file mode 100644 index 4573e583..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"2":0.0129,"3":0.0215,"4":0.0043,"5":0.0129,"6":0.0172,"8":0.0043,"11":0.0086,"17":0.0086,"19":0.0043,"21":0.0043,"23":0.0043,"24":0.0086,"25":0.0043,"26":0.0043,"27":0.0086,"28":0.0043,"29":0.0086,"30":0.0043,"31":0.0086,"32":0.0043,"35":0.0215,"36":0.0129,"37":0.0129,"38":0.0129,"39":0.0258,"40":0.0387,"41":0.0043,"43":0.0043,"46":0.0043,"52":0.0731,"78":0.0086,"114":0.0043,"115":0.215,"122":0.0043,"127":0.0473,"128":0.0129,"131":0.1892,"132":5.8609,"133":0.1247,"134":0.0043,"135":0.0043,_:"7 9 10 12 13 14 15 16 18 20 22 33 34 42 44 45 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 116 117 118 119 120 121 123 124 125 126 129 130 136","3.5":0.0086,"3.6":0.0258},D:{"4":0.0043,"7":0.0129,"12":0.0086,"16":0.0129,"17":0.0043,"18":0.0043,"20":0.0043,"21":0.0043,"22":0.0129,"26":0.0043,"27":0.0043,"28":0.0043,"31":0.0172,"32":0.0129,"33":0.0215,"36":0.0043,"37":0.0043,"38":0.0215,"39":0.0215,"40":0.0258,"41":0.0344,"42":0.0129,"43":0.043,"44":0.0903,"45":0.0258,"46":0.0344,"47":0.0602,"49":0.0043,"51":0.0473,"55":0.0387,"70":0.0258,"77":0.0043,"80":0.0043,"83":0.0215,"92":0.0043,"93":0.0043,"94":0.0774,"95":0.0043,"98":0.0086,"103":0.0129,"106":0.0129,"108":0.0344,"109":0.1978,"110":0.0215,"111":0.0129,"116":4.1495,"119":0.0043,"122":0.0043,"124":0.0043,"125":0.0129,"126":0.0043,"127":0.0086,"128":0.1161,"129":1.9393,"130":8.1958,"131":5.0009,"132":0.0043,_:"5 6 8 9 10 11 13 14 15 19 23 24 25 29 30 34 35 48 50 52 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 78 79 81 84 85 86 87 88 89 90 91 96 97 99 100 101 102 104 105 107 112 113 114 115 117 118 120 121 123 133 134"},F:{"12":0.0043,"22":0.0043,"24":0.0043,"28":0.0086,"30":0.0086,"31":0.043,"32":0.0129,"89":0.0043,"113":0.0258,"114":1.1223,_:"9 11 15 16 17 18 19 20 21 23 25 26 27 29 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.5","11.1":0.0086,"11.6":0.0043,"12.1":0.0086},B:{"12":0.0129,"14":0.0043,"18":0.0731,"110":0.0129,"118":0.0043,"120":0.0301,"125":0.0172,"126":0.0989,"128":0.0258,"129":0.043,"130":2.9498,"131":1.7071,_:"13 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 111 112 113 114 115 116 117 119 121 122 123 124 127"},E:{"4":0.0086,"6":0.0043,"7":0.0129,"8":0.0043,"9":0.1677,"14":0.0344,"15":0.0387,_:"0 5 10 11 12 13 3.2 10.1 11.1 12.1","3.1":0.0086,"5.1":0.0086,"6.1":0.0043,"7.1":0.0043,"9.1":0.0043,"13.1":0.0473,"14.1":0.0301,"15.1":0.0731,"15.2-15.3":0.0129,"15.4":0.3397,"15.5":0.0043,"15.6":0.1118,"16.0":0.0043,"16.1":0.0043,"16.2":0.0258,"16.3":0.1118,"16.4":0.0043,"16.5":0.4085,"16.6":0.3784,"17.0":0.0129,"17.1":0.1935,"17.2":0.0086,"17.3":0.0817,"17.4":0.4257,"17.5":1.2986,"17.6":2.2317,"18.0":0.645,"18.1":0.8471,"18.2":0.0086},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00247,"5.0-5.1":0,"6.0-6.1":0.00987,"7.0-7.1":0.01234,"8.1-8.4":0,"9.0-9.2":0.00987,"9.3":0.03454,"10.0-10.2":0.0074,"10.3":0.05674,"11.0-11.2":0.66612,"11.3-11.4":0.01727,"12.0-12.1":0.00987,"12.2-12.5":0.25905,"13.0-13.1":0.00493,"13.2":0.06661,"13.3":0.00987,"13.4-13.7":0.03701,"14.0-14.4":0.08141,"14.5-14.8":0.11595,"15.0-15.1":0.06661,"15.2-15.3":0.06168,"15.4":0.07401,"15.5":0.08635,"15.6-15.8":0.92516,"16.0":0.17516,"16.1":0.37006,"16.2":0.1875,"16.3":0.31826,"16.4":0.06414,"16.5":0.12829,"16.6-16.7":1.21381,"17.0":0.08882,"17.1":0.14803,"17.2":0.12335,"17.3":0.1875,"17.4":0.40214,"17.5":1.20148,"17.6-17.7":10.37908,"18.0":3.68091,"18.1":3.23436,"18.2":0.13076},P:{"4":0.41073,"24":0.03159,"26":2.98043,"27":3.24371,_:"20 21 22 23 25 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.05266},I:{"0":0.64826,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00019,"4.4":0,"4.4.3-4.4.4":0.00084},A:{"6":0.01729,"7":0.03458,"8":0.38465,"9":0.09508,"10":0.04754,"11":0.24203,_:"5.5"},K:{"0":1.90347,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.0285,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.11398},H:{"0":0},L:{"0":22.4152},R:{_:"0"},M:{"0":0.17097}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GM.js deleted file mode 100644 index ee428acf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00182,"66":0.00091,"72":0.00091,"92":0.00182,"103":0.00547,"115":0.16489,"126":0.00091,"127":0.00364,"128":0.00729,"129":0.00364,"131":0.01549,"132":0.31885,"133":0.041,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 130 134 135 136 3.5 3.6"},D:{"26":0.00091,"43":0.00091,"49":0.00456,"54":0.00182,"55":0.00091,"60":0.00091,"61":0.00091,"64":0.00182,"69":0.01731,"70":0.00911,"72":0.00091,"74":0.00547,"75":0.00091,"76":0.00273,"78":0.00091,"79":0.00273,"80":0.00091,"81":0.00091,"83":0.01093,"87":0.00273,"88":0.0164,"89":0.00091,"90":0.00182,"92":0.00182,"93":0.11752,"94":0.00091,"95":0.00091,"96":0.00091,"98":0.00456,"99":0.00364,"100":0.00547,"102":0.00091,"103":0.00729,"104":0.00091,"106":0.03826,"108":0.00182,"109":0.34709,"111":0.01184,"112":0.04191,"114":0.00456,"115":0.00273,"116":0.07744,"118":0.00182,"119":0.00273,"120":0.00091,"121":0.00456,"122":0.00638,"123":0.00091,"124":0.00638,"125":0.00182,"126":0.05466,"127":0.01458,"128":0.00911,"129":0.04373,"130":1.35466,"131":0.8199,"132":0.00091,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 53 56 57 58 59 62 63 65 66 67 68 71 73 77 84 85 86 91 97 101 105 107 110 113 117 133 134"},F:{"46":0.00091,"85":0.00091,"93":0.00911,"95":0.00729,"113":0.00273,"114":0.06468,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00091,"15":0.00273,"18":0.00364,"92":0.00364,"100":0.00182,"109":0.00273,"110":0.00364,"115":0.00091,"116":0.00091,"118":0.00091,"120":0.00091,"125":0.00091,"126":0.01002,"127":0.15123,"128":0.00182,"129":0.0082,"130":0.41633,"131":0.29425,_:"13 14 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 113 114 117 119 121 122 123 124"},E:{"13":0.00273,"14":0.00273,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 10.1 11.1 15.1 15.2-15.3 15.4 16.0 16.2 17.1 17.2","9.1":0.00091,"12.1":0.00364,"13.1":0.01275,"14.1":0.01549,"15.5":0.00182,"15.6":0.01093,"16.1":0.00547,"16.3":0.00091,"16.4":0.00273,"16.5":0.0082,"16.6":0.03735,"17.0":0.00182,"17.3":0.02551,"17.4":0.01002,"17.5":0.02551,"17.6":0.04828,"18.0":0.01549,"18.1":0.00729,"18.2":0.00091},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00197,"5.0-5.1":0,"6.0-6.1":0.0079,"7.0-7.1":0.00987,"8.1-8.4":0,"9.0-9.2":0.0079,"9.3":0.02763,"10.0-10.2":0.00592,"10.3":0.0454,"11.0-11.2":0.53296,"11.3-11.4":0.01382,"12.0-12.1":0.0079,"12.2-12.5":0.20726,"13.0-13.1":0.00395,"13.2":0.0533,"13.3":0.0079,"13.4-13.7":0.02961,"14.0-14.4":0.06514,"14.5-14.8":0.09277,"15.0-15.1":0.0533,"15.2-15.3":0.04935,"15.4":0.05922,"15.5":0.06909,"15.6-15.8":0.74022,"16.0":0.14015,"16.1":0.29609,"16.2":0.15002,"16.3":0.25463,"16.4":0.05132,"16.5":0.10264,"16.6-16.7":0.97117,"17.0":0.07106,"17.1":0.11843,"17.2":0.0987,"17.3":0.15002,"17.4":0.32175,"17.5":0.9613,"17.6-17.7":8.30425,"18.0":2.94508,"18.1":2.5878,"18.2":0.10462},P:{"4":0.24344,"20":0.03043,"21":0.12172,"22":0.08115,"23":0.01014,"24":0.03043,"25":0.04057,"26":0.41588,"27":0.11158,"5.0-5.4":0.02029,"6.2-6.4":0.02029,"7.2-7.4":0.20287,"8.2":0.01014,"9.2":0.03043,_:"10.1 12.0 14.0 15.0 18.0","11.1-11.2":0.02029,"13.0":0.05072,"16.0":0.03043,"17.0":0.01014,"19.0":0.09129},I:{"0":0.00907,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.00091,_:"6 7 8 9 10 5.5"},K:{"0":0.57163,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0727},H:{"0":0.01},L:{"0":72.97403},R:{_:"0"},M:{"0":0.00909}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GN.js deleted file mode 100644 index efeffcc5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00127,"56":0.00127,"78":0.00127,"111":0.00506,"115":0.00633,"127":0.00253,"128":0.00127,"129":0.00127,"131":0.01646,"132":0.13546,"133":0.01393,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 113 114 116 117 118 119 120 121 122 123 124 125 126 130 134 135 136 3.5 3.6"},D:{"37":0.00633,"56":0.00127,"57":0.00127,"59":0.0038,"62":0.00127,"64":0.00127,"68":0.02279,"69":0.00127,"70":0.00253,"71":0.00127,"78":0.00127,"79":0.00253,"81":0.01013,"83":0.0038,"84":0.00253,"87":0.00506,"89":0.00127,"93":0.00253,"99":0.00886,"100":0.00127,"103":0.00253,"105":0.00253,"106":0.00253,"109":0.02912,"111":0.00127,"112":0.00127,"113":0.0595,"114":0.0076,"116":0.00253,"117":0.00253,"118":0.00253,"119":0.0076,"120":0.00127,"121":0.00127,"122":0.00506,"123":0.00127,"124":0.02532,"125":0.00633,"126":0.00506,"127":0.02532,"128":0.02152,"129":0.15698,"130":0.83556,"131":0.53425,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 58 60 61 63 65 66 67 72 73 74 75 76 77 80 85 86 88 90 91 92 94 95 96 97 98 101 102 104 107 108 110 115 132 133 134"},F:{"79":0.00253,"95":0.00253,"113":0.00127,"114":0.15445,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00253,"17":0.00127,"18":0.01393,"84":0.00127,"89":0.00253,"90":0.01266,"92":0.00633,"100":0.00253,"112":0.00253,"122":0.00127,"123":0.00127,"125":0.00127,"126":0.01013,"127":0.00253,"128":0.01013,"129":0.01899,"130":0.19496,"131":0.23801,_:"13 14 15 16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 109 110 111 113 114 115 116 117 118 119 120 121 124"},E:{"13":0.01772,"14":0.01393,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 17.0 17.1 17.2","13.1":0.0038,"14.1":0.00127,"15.6":0.01266,"16.6":0.00506,"17.3":0.00127,"17.4":0.00127,"17.5":0.00127,"17.6":0.01139,"18.0":0.00506,"18.1":0.01646,"18.2":0.00127},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00109,"5.0-5.1":0,"6.0-6.1":0.00437,"7.0-7.1":0.00547,"8.1-8.4":0,"9.0-9.2":0.00437,"9.3":0.01531,"10.0-10.2":0.00328,"10.3":0.02515,"11.0-11.2":0.29524,"11.3-11.4":0.00765,"12.0-12.1":0.00437,"12.2-12.5":0.11482,"13.0-13.1":0.00219,"13.2":0.02952,"13.3":0.00437,"13.4-13.7":0.0164,"14.0-14.4":0.03609,"14.5-14.8":0.05139,"15.0-15.1":0.02952,"15.2-15.3":0.02734,"15.4":0.0328,"15.5":0.03827,"15.6-15.8":0.41006,"16.0":0.07764,"16.1":0.16402,"16.2":0.08311,"16.3":0.14106,"16.4":0.02843,"16.5":0.05686,"16.6-16.7":0.538,"17.0":0.03937,"17.1":0.06561,"17.2":0.05467,"17.3":0.08311,"17.4":0.17824,"17.5":0.53253,"17.6-17.7":4.60034,"18.0":1.6315,"18.1":1.43357,"18.2":0.05796},P:{"4":0.0707,"20":0.0303,"21":0.14141,"22":0.49493,"23":0.11111,"24":0.88886,"25":0.22222,"26":0.86866,"27":0.15151,"5.0-5.4":0.0101,"6.2-6.4":0.0202,"7.2-7.4":0.28282,_:"8.2 10.1 12.0","9.2":0.0606,"11.1-11.2":0.12121,"13.0":0.0505,"14.0":0.0202,"15.0":0.0101,"16.0":0.0707,"17.0":0.0101,"18.0":0.0101,"19.0":0.48483},I:{"0":0.00871,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.67479,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.0524,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00873},O:{"0":0.03494},H:{"0":0.12},L:{"0":81.05132},R:{_:"0"},M:{"0":0.00873}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GP.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GP.js deleted file mode 100644 index c4142e2c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.04168,"100":0.00261,"113":0.00261,"115":0.19538,"120":0.00261,"124":0.00261,"125":0.01042,"126":0.00261,"127":0.02084,"128":0.09378,"129":0.00782,"130":0.00782,"131":0.13807,"132":1.85476,"133":0.19277,"134":0.00261,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 121 122 123 135 136 3.5 3.6"},D:{"65":0.00261,"67":0.00521,"68":0.00261,"79":0.01563,"81":0.00782,"83":0.00261,"87":0.00261,"88":0.01824,"89":0.00261,"94":0.00782,"100":0.00782,"102":0.01824,"103":0.05471,"108":0.00261,"109":0.54966,"110":0.00782,"112":0.00261,"114":0.00521,"116":0.08597,"118":0.00261,"119":0.02345,"120":0.00261,"121":0.04429,"122":0.07034,"123":0.00521,"124":0.03126,"125":0.01824,"126":0.06252,"127":0.56789,"128":0.08857,"129":0.39857,"130":7.18199,"131":4.55875,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 69 70 71 72 73 74 75 76 77 78 80 84 85 86 90 91 92 93 95 96 97 98 99 101 104 105 106 107 111 113 115 117 132 133 134"},F:{"37":0.00261,"46":0.00782,"85":0.00261,"95":0.00782,"99":0.01824,"112":0.05731,"113":0.02866,"114":1.23998,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00261,"92":0.00521,"109":0.02345,"111":0.00261,"114":0.00261,"116":0.00261,"117":0.00261,"118":0.00261,"119":0.00261,"120":0.00521,"121":0.01042,"122":0.01042,"123":0.00521,"124":0.00261,"125":0.00261,"126":0.01042,"127":0.01303,"128":0.05731,"129":0.2084,"130":2.62063,"131":1.50048,_:"12 13 14 15 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 115"},E:{"11":0.00261,"14":0.02866,"15":0.00261,_:"0 4 5 6 7 8 9 10 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00261,"13.1":0.03126,"14.1":0.42722,"15.1":0.00521,"15.2-15.3":0.00521,"15.4":0.01042,"15.5":0.02345,"15.6":0.28134,"16.0":0.01303,"16.1":0.08857,"16.2":0.02866,"16.3":0.01303,"16.4":0.07555,"16.5":0.02345,"16.6":0.1537,"17.0":0.00521,"17.1":0.01824,"17.2":0.04168,"17.3":0.01824,"17.4":0.02866,"17.5":0.1537,"17.6":0.72159,"18.0":0.32563,"18.1":0.28916,"18.2":0.00261},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00112,"5.0-5.1":0,"6.0-6.1":0.00448,"7.0-7.1":0.0056,"8.1-8.4":0,"9.0-9.2":0.00448,"9.3":0.01568,"10.0-10.2":0.00336,"10.3":0.02577,"11.0-11.2":0.30249,"11.3-11.4":0.00784,"12.0-12.1":0.00448,"12.2-12.5":0.11764,"13.0-13.1":0.00224,"13.2":0.03025,"13.3":0.00448,"13.4-13.7":0.01681,"14.0-14.4":0.03697,"14.5-14.8":0.05266,"15.0-15.1":0.03025,"15.2-15.3":0.02801,"15.4":0.03361,"15.5":0.03921,"15.6-15.8":0.42013,"16.0":0.07954,"16.1":0.16805,"16.2":0.08515,"16.3":0.14452,"16.4":0.02913,"16.5":0.05826,"16.6-16.7":0.55121,"17.0":0.04033,"17.1":0.06722,"17.2":0.05602,"17.3":0.08515,"17.4":0.18262,"17.5":0.54561,"17.6-17.7":4.71328,"18.0":1.67155,"18.1":1.46877,"18.2":0.05938},P:{"20":0.09384,"21":0.01043,"22":0.02085,"23":0.02085,"24":0.11469,"25":0.06256,"26":1.39717,"27":0.89669,_:"4 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","6.2-6.4":0.01043,"7.2-7.4":0.03128,"19.0":0.06256},I:{"0":0.16971,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00022},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.11093,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":59.18419},R:{_:"0"},M:{"0":0.77648}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GQ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GQ.js deleted file mode 100644 index f6ca2056..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GQ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"64":0.00595,"68":0.0119,"109":0.13092,"114":0.04166,"115":0.62486,"118":0.00595,"128":0.00595,"131":0.00595,"132":1.48775,"133":0.01785,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 65 66 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 116 117 119 120 121 122 123 124 125 126 127 129 130 134 135 136 3.5 3.6"},D:{"47":0.00595,"58":0.00595,"70":0.00595,"79":0.01785,"83":0.09522,"87":0.00595,"89":0.0119,"90":0.01785,"92":0.01785,"93":0.0119,"103":0.00595,"105":0.00595,"109":1.06523,"114":0.00595,"118":0.00595,"119":0.0238,"121":0.00595,"123":0.00595,"126":0.02976,"127":0.00595,"128":0.00595,"129":0.02976,"130":3.17783,"131":1.83291,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 80 81 84 85 86 88 91 94 95 96 97 98 99 100 101 102 104 106 107 108 110 111 112 113 115 116 117 120 122 124 125 132 133 134"},F:{"95":0.07141,"114":0.10117,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0119,"84":0.00595,"92":0.23804,"109":0.01785,"116":0.00595,"119":1.33898,"120":0.03571,"121":0.56535,"122":1.05333,"124":0.96406,"125":0.03571,"126":0.00595,"127":0.83909,"128":0.607,"129":2.26733,"130":24.57763,"131":15.65113,_:"12 13 14 15 16 17 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 117 118 123"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.2 17.3 17.4 18.0 18.2","15.6":0.0119,"17.1":0.00595,"17.5":0.00595,"17.6":0.00595,"18.1":0.00595},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00072,"5.0-5.1":0,"6.0-6.1":0.0029,"7.0-7.1":0.00362,"8.1-8.4":0,"9.0-9.2":0.0029,"9.3":0.01015,"10.0-10.2":0.00217,"10.3":0.01667,"11.0-11.2":0.19569,"11.3-11.4":0.00507,"12.0-12.1":0.0029,"12.2-12.5":0.0761,"13.0-13.1":0.00145,"13.2":0.01957,"13.3":0.0029,"13.4-13.7":0.01087,"14.0-14.4":0.02392,"14.5-14.8":0.03406,"15.0-15.1":0.01957,"15.2-15.3":0.01812,"15.4":0.02174,"15.5":0.02537,"15.6-15.8":0.27179,"16.0":0.05146,"16.1":0.10872,"16.2":0.05508,"16.3":0.0935,"16.4":0.01884,"16.5":0.03769,"16.6-16.7":0.35659,"17.0":0.02609,"17.1":0.04349,"17.2":0.03624,"17.3":0.05508,"17.4":0.11814,"17.5":0.35296,"17.6-17.7":3.04911,"18.0":1.08136,"18.1":0.95017,"18.2":0.03841},P:{"4":0.03124,"22":0.03124,"24":0.01041,"25":0.01041,"26":0.26029,"27":0.07288,_:"20 21 23 5.0-5.4 6.2-6.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","7.2-7.4":0.01041,"9.2":0.01041},I:{"0":0.02424,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.23484,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":1.24304,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00405},O:{"0":0.10123},H:{"0":0},L:{"0":33.30893},R:{_:"0"},M:{"0":0.00405}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GR.js deleted file mode 100644 index 5c538ab2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"28":0.00593,"52":0.32604,"68":0.21341,"78":0.01186,"83":0.00593,"86":0.02371,"88":0.02964,"102":0.01186,"103":0.00593,"105":0.41496,"106":0.00593,"108":0.00593,"109":0.00593,"112":0.02371,"113":0.00593,"115":1.73098,"116":0.00593,"118":0.00593,"122":0.00593,"123":0.00593,"124":0.00593,"125":0.03557,"126":0.01186,"127":0.01778,"128":0.05335,"129":0.02371,"130":0.02371,"131":0.16598,"132":3.8532,"133":0.37346,"134":0.01186,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 87 89 90 91 92 93 94 95 96 97 98 99 100 101 104 107 110 111 114 117 119 120 121 135 136 3.5 3.6"},D:{"47":0.21341,"49":0.02964,"57":0.05928,"68":0.37346,"69":0.01186,"73":0.12449,"76":0.01778,"77":0.00593,"79":0.05928,"80":0.00593,"81":0.01186,"83":0.00593,"86":0.00593,"87":0.02964,"88":0.0415,"89":0.02371,"90":0.00593,"91":0.00593,"94":0.01186,"95":0.00593,"96":0.00593,"97":0.00593,"99":0.00593,"101":0.01778,"102":0.17784,"103":0.05928,"104":0.01186,"105":0.03557,"106":0.00593,"107":0.01186,"108":0.01186,"109":6.4793,"110":0.01186,"111":0.00593,"112":0.00593,"113":0.02371,"114":0.05335,"115":0.00593,"116":0.10078,"117":0.00593,"118":0.01186,"119":0.01778,"120":0.04742,"121":0.02964,"122":0.11856,"123":0.03557,"124":0.11856,"125":0.0415,"126":0.07706,"127":0.21341,"128":0.13634,"129":0.66394,"130":18.56057,"131":12.18204,"132":0.00593,"133":0.00593,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 56 58 59 60 61 62 63 64 65 66 67 70 71 72 74 75 78 84 85 92 93 98 100 134"},F:{"31":0.56909,"40":0.61058,"46":0.42089,"77":0.01186,"85":0.01778,"95":0.06521,"102":0.00593,"113":0.05928,"114":1.2271,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.32604,"109":0.08299,"121":0.00593,"122":0.00593,"124":0.00593,"125":0.00593,"126":0.01186,"127":0.01186,"128":0.01186,"129":0.04742,"130":2.72095,"131":1.81397,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 123"},E:{"12":0.01186,"14":0.00593,_:"0 4 5 6 7 8 9 10 11 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3","12.1":0.00593,"13.1":0.02964,"14.1":0.0415,"15.4":0.21341,"15.5":0.01186,"15.6":0.15413,"16.0":0.01186,"16.1":0.01186,"16.2":0.01186,"16.3":0.02371,"16.4":0.01186,"16.5":0.02964,"16.6":0.15413,"17.0":0.00593,"17.1":0.02371,"17.2":0.02371,"17.3":0.01778,"17.4":0.03557,"17.5":0.09485,"17.6":0.45646,"18.0":0.19562,"18.1":0.37346,"18.2":0.00593},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00077,"5.0-5.1":0,"6.0-6.1":0.00308,"7.0-7.1":0.00385,"8.1-8.4":0,"9.0-9.2":0.00308,"9.3":0.01077,"10.0-10.2":0.00231,"10.3":0.01769,"11.0-11.2":0.20768,"11.3-11.4":0.00538,"12.0-12.1":0.00308,"12.2-12.5":0.08077,"13.0-13.1":0.00154,"13.2":0.02077,"13.3":0.00308,"13.4-13.7":0.01154,"14.0-14.4":0.02538,"14.5-14.8":0.03615,"15.0-15.1":0.02077,"15.2-15.3":0.01923,"15.4":0.02308,"15.5":0.02692,"15.6-15.8":0.28845,"16.0":0.05461,"16.1":0.11538,"16.2":0.05846,"16.3":0.09923,"16.4":0.02,"16.5":0.04,"16.6-16.7":0.37845,"17.0":0.02769,"17.1":0.04615,"17.2":0.03846,"17.3":0.05846,"17.4":0.12538,"17.5":0.3746,"17.6-17.7":3.23603,"18.0":1.14765,"18.1":1.00842,"18.2":0.04077},P:{"4":0.26645,"20":0.01066,"21":0.06395,"22":0.02132,"23":0.02132,"24":0.03197,"25":0.03197,"26":0.8846,"27":0.70342,"5.0-5.4":0.01066,"6.2-6.4":0.01066,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 17.0 18.0","16.0":0.02132,"19.0":0.01066},I:{"0":0.05282,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.24898,_:"6 7 8 9 10 5.5"},K:{"0":0.25246,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00407},O:{"0":0.04886},H:{"0":0},L:{"0":30.84355},R:{_:"0"},M:{"0":0.41127}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GT.js deleted file mode 100644 index c5589a10..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.00314,"88":0.00314,"106":0.00314,"115":0.09746,"118":0.00314,"120":0.01258,"123":0.00314,"125":0.00314,"127":0.00943,"128":0.0283,"129":0.00314,"130":0.01572,"131":0.05974,"132":1.04381,"133":0.11004,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 107 108 109 110 111 112 113 114 116 117 119 121 122 124 126 134 135 136 3.5 3.6"},D:{"11":0.00314,"55":0.00314,"73":0.00629,"74":0.00314,"75":0.00314,"76":0.01258,"78":0.04402,"79":0.02515,"84":0.00314,"86":0.00943,"87":0.02201,"88":0.00629,"91":0.03458,"92":0.00314,"93":0.00314,"94":0.00629,"96":0.00314,"97":0.00629,"98":0.00314,"99":0.00314,"103":0.0283,"104":0.00314,"105":0.01886,"106":0.00314,"107":0.00314,"108":0.00629,"109":1.24817,"110":0.00314,"111":0.00943,"112":0.00314,"113":0.00314,"114":0.01258,"115":0.00629,"116":0.0786,"117":0.00629,"118":0.00629,"119":0.01258,"120":0.04087,"121":0.02201,"122":0.06917,"123":0.02201,"124":0.17921,"125":0.0283,"126":0.05974,"127":0.05974,"128":0.14777,"129":0.45902,"130":10.69589,"131":7.23749,"132":0.00314,"133":0.00314,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 77 80 81 83 85 89 90 95 100 101 102 134"},F:{"85":0.01572,"95":0.01572,"102":0.00629,"103":0.00314,"110":0.00314,"112":0.00314,"113":0.10061,"114":1.47139,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 104 105 106 107 108 109 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00314,"92":0.00943,"107":0.00314,"109":0.01258,"112":0.00314,"113":0.00314,"114":0.00314,"116":0.00629,"117":0.00629,"118":0.00314,"120":0.00314,"121":0.00314,"122":0.00314,"123":0.00314,"124":0.00629,"125":0.00629,"126":0.00943,"127":0.00943,"128":0.02201,"129":0.05345,"130":1.59086,"131":1.19158,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 115 119"},E:{"14":0.00314,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1","5.1":0.00314,"13.1":0.03144,"14.1":0.01886,"15.2-15.3":0.00314,"15.4":0.00314,"15.5":0.00314,"15.6":0.05974,"16.0":0.00629,"16.1":0.02201,"16.2":0.00943,"16.3":0.02515,"16.4":0.00943,"16.5":0.01258,"16.6":0.1069,"17.0":0.00943,"17.1":0.01572,"17.2":0.01258,"17.3":0.01886,"17.4":0.02515,"17.5":0.14462,"17.6":0.50618,"18.0":0.36156,"18.1":0.42444,"18.2":0.01572},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00141,"5.0-5.1":0,"6.0-6.1":0.00565,"7.0-7.1":0.00706,"8.1-8.4":0,"9.0-9.2":0.00565,"9.3":0.01976,"10.0-10.2":0.00423,"10.3":0.03246,"11.0-11.2":0.38109,"11.3-11.4":0.00988,"12.0-12.1":0.00565,"12.2-12.5":0.1482,"13.0-13.1":0.00282,"13.2":0.03811,"13.3":0.00565,"13.4-13.7":0.02117,"14.0-14.4":0.04658,"14.5-14.8":0.06634,"15.0-15.1":0.03811,"15.2-15.3":0.03529,"15.4":0.04234,"15.5":0.0494,"15.6-15.8":0.52929,"16.0":0.10021,"16.1":0.21172,"16.2":0.10727,"16.3":0.18208,"16.4":0.0367,"16.5":0.0734,"16.6-16.7":0.69443,"17.0":0.05081,"17.1":0.08469,"17.2":0.07057,"17.3":0.10727,"17.4":0.23007,"17.5":0.68737,"17.6-17.7":5.93795,"18.0":2.10588,"18.1":1.8504,"18.2":0.07481},P:{"4":0.03073,"20":0.01024,"21":0.03073,"22":0.0717,"23":0.04097,"24":0.0717,"25":0.05121,"26":1.60813,"27":1.53643,_:"5.0-5.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0","6.2-6.4":0.01024,"7.2-7.4":0.04097,"11.1-11.2":0.01024,"17.0":0.01024,"18.0":0.01024,"19.0":0.01024},I:{"0":0.04788,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.00629,_:"6 7 8 9 10 5.5"},K:{"0":0.38388,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.03428},H:{"0":0},L:{"0":52.48799},R:{_:"0"},M:{"0":0.29477}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GU.js deleted file mode 100644 index 74d3d325..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.02423,"91":0.00404,"95":0.00404,"111":0.00404,"115":0.02827,"126":0.00404,"127":0.00808,"128":0.02827,"130":0.02019,"131":0.14537,"132":1.18313,"133":0.06865,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 113 114 116 117 118 119 120 121 122 123 124 125 129 134 135 136 3.5 3.6"},D:{"70":0.00404,"75":0.00404,"77":0.00404,"79":0.01211,"86":0.00404,"87":0.0323,"89":0.00808,"91":0.0323,"93":0.02827,"94":0.00808,"98":0.02827,"99":0.01211,"101":0.00404,"102":0.00404,"103":0.11306,"104":0.00808,"105":0.00808,"106":0.00404,"107":0.00404,"109":0.64608,"112":0.00404,"113":0.00404,"114":0.00404,"115":0.00808,"116":0.05653,"118":0.01211,"119":0.09287,"120":0.02423,"121":0.02827,"122":0.07268,"123":0.00808,"124":0.18979,"125":0.01615,"126":0.17363,"127":0.04442,"128":0.39976,"129":0.99335,"130":11.59714,"131":5.32612,"132":0.03634,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 76 78 80 81 83 84 85 88 90 92 95 96 97 100 108 110 111 117 133 134"},F:{"112":0.00404,"113":0.07672,"114":1.21948,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.02019,"93":0.00404,"95":0.00404,"98":0.00404,"99":0.00404,"104":0.00404,"109":0.03634,"110":0.00404,"112":0.00404,"121":0.00808,"124":0.00404,"125":0.00404,"126":0.02019,"127":0.00808,"128":0.01211,"129":0.10499,"130":3.77553,"131":2.29358,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 94 96 97 100 101 102 103 105 106 107 108 111 113 114 115 116 117 118 119 120 122 123"},E:{"14":0.00808,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.02019,"14.1":0.05653,"15.1":0.02827,"15.2-15.3":0.02423,"15.4":0.01615,"15.5":0.03634,"15.6":0.30689,"16.0":0.0323,"16.1":0.05653,"16.2":0.13729,"16.3":0.25036,"16.4":0.09287,"16.5":0.13729,"16.6":0.8924,"17.0":0.10095,"17.1":0.0848,"17.2":0.08076,"17.3":0.12922,"17.4":0.30285,"17.5":0.66627,"17.6":4.62351,"18.0":0.60974,"18.1":0.73895,"18.2":0.00404},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00321,"5.0-5.1":0,"6.0-6.1":0.01285,"7.0-7.1":0.01606,"8.1-8.4":0,"9.0-9.2":0.01285,"9.3":0.04496,"10.0-10.2":0.00964,"10.3":0.07387,"11.0-11.2":0.86717,"11.3-11.4":0.02248,"12.0-12.1":0.01285,"12.2-12.5":0.33723,"13.0-13.1":0.00642,"13.2":0.08672,"13.3":0.01285,"13.4-13.7":0.04818,"14.0-14.4":0.10599,"14.5-14.8":0.15095,"15.0-15.1":0.08672,"15.2-15.3":0.08029,"15.4":0.09635,"15.5":0.11241,"15.6-15.8":1.2044,"16.0":0.22803,"16.1":0.48176,"16.2":0.24409,"16.3":0.41431,"16.4":0.0835,"16.5":0.16701,"16.6-16.7":1.58017,"17.0":0.11562,"17.1":0.1927,"17.2":0.16059,"17.3":0.24409,"17.4":0.52351,"17.5":1.56411,"17.6-17.7":13.51175,"18.0":4.7919,"18.1":4.21058,"18.2":0.17022},P:{"4":0.47454,"23":0.03164,"24":0.01055,"25":0.02109,"26":1.73999,"27":1.20218,_:"20 21 22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 17.0 18.0 19.0","16.0":0.03164},I:{"0":0.00595,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.01211,_:"6 7 8 9 10 5.5"},K:{"0":0.05962,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01192},H:{"0":0},L:{"0":23.96265},R:{_:"0"},M:{"0":0.37561}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GW.js deleted file mode 100644 index f270f401..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.10521,"128":0.01169,"131":0.02338,"132":0.12158,"133":0.00234,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 129 130 134 135 136 3.5 3.6"},D:{"11":0.0187,"54":0.00234,"70":0.00701,"79":0.00234,"81":0.00701,"83":0.00701,"87":0.00234,"88":0.00935,"89":0.07715,"93":0.03507,"95":0.00234,"100":0.00468,"103":0.03507,"105":0.00234,"106":0.00935,"107":0.00234,"108":0.03039,"109":2.45724,"114":0.00701,"119":0.00701,"120":0.00935,"121":0.00234,"122":0.00468,"123":0.00468,"124":0.00468,"126":0.00701,"127":0.00701,"128":0.12391,"129":0.13794,"130":4.58482,"131":2.50867,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 80 84 85 86 90 91 92 94 96 97 98 99 101 102 104 110 111 112 113 115 116 117 118 125 132 133 134"},F:{"85":0.00234,"95":0.03273,"104":0.03039,"114":0.09586,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00234,"15":0.00234,"18":0.00701,"92":0.05845,"100":0.00701,"109":0.30394,"114":0.00935,"117":0.01169,"120":0.01169,"122":0.07715,"123":0.00935,"126":0.00234,"127":0.00701,"128":0.0678,"129":0.44188,"130":2.38008,"131":2.05043,_:"13 14 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 118 119 121 124 125"},E:{"14":0.00234,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 17.0 17.1 17.3 17.5","15.6":0.00935,"16.6":0.11456,"17.2":0.03273,"17.4":0.00234,"17.6":0.00234,"18.0":0.03507,"18.1":0.00234,"18.2":0.00234},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00077,"5.0-5.1":0,"6.0-6.1":0.00308,"7.0-7.1":0.00385,"8.1-8.4":0,"9.0-9.2":0.00308,"9.3":0.01077,"10.0-10.2":0.00231,"10.3":0.01769,"11.0-11.2":0.2077,"11.3-11.4":0.00538,"12.0-12.1":0.00308,"12.2-12.5":0.08077,"13.0-13.1":0.00154,"13.2":0.02077,"13.3":0.00308,"13.4-13.7":0.01154,"14.0-14.4":0.02539,"14.5-14.8":0.03616,"15.0-15.1":0.02077,"15.2-15.3":0.01923,"15.4":0.02308,"15.5":0.02692,"15.6-15.8":0.28847,"16.0":0.05462,"16.1":0.11539,"16.2":0.05846,"16.3":0.09924,"16.4":0.02,"16.5":0.04,"16.6-16.7":0.37848,"17.0":0.02769,"17.1":0.04616,"17.2":0.03846,"17.3":0.05846,"17.4":0.12539,"17.5":0.37463,"17.6-17.7":3.2363,"18.0":1.14774,"18.1":1.00851,"18.2":0.04077},P:{"4":0.0314,"20":0.01047,"21":0.01047,"22":0.10465,"23":0.0314,"24":0.04186,"25":0.05233,"26":0.17791,"27":0.05233,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0","7.2-7.4":0.06279,"17.0":0.01047,"18.0":0.01047,"19.0":0.26163},I:{"0":0.00765,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.00701,_:"6 7 8 9 10 5.5"},K:{"0":0.15324,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.34479,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":74.63571},R:{_:"0"},M:{"0":0.00766}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GY.js deleted file mode 100644 index f287ebb6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/GY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"12":0.00308,"107":0.00615,"115":0.04613,"122":0.00308,"126":0.00308,"127":0.00615,"128":0.00615,"129":0.01538,"130":0.01538,"131":0.02768,"132":0.55043,"133":0.05535,_:"2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 109 110 111 112 113 114 116 117 118 119 120 121 123 124 125 134 135 136 3.5 3.6"},D:{"11":0.00308,"37":0.00308,"38":0.00308,"42":0.00308,"45":0.00308,"60":0.00308,"65":0.00308,"69":0.07995,"76":0.0123,"77":0.00615,"78":0.00308,"79":0.09533,"80":0.00923,"81":0.0246,"83":0.0369,"84":0.00308,"86":0.00615,"87":0.04613,"88":0.00308,"91":0.00923,"93":0.0738,"94":0.02768,"97":0.12915,"98":0.00923,"102":0.00308,"103":0.0738,"104":0.00923,"105":0.01538,"107":0.00923,"108":0.00615,"109":0.38438,"110":0.01538,"111":0.01845,"114":0.00923,"116":0.01538,"117":0.13223,"118":0.00308,"119":0.03075,"120":0.01845,"121":0.00615,"122":0.1968,"123":0.04613,"124":0.01538,"125":0.04305,"126":0.0861,"127":0.03383,"128":0.0738,"129":0.67958,"130":10.2213,"131":6.64508,"132":0.03383,"133":0.04613,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 39 40 41 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 61 62 63 64 66 67 68 70 71 72 73 74 75 85 89 90 92 95 96 99 100 101 106 112 113 115 134"},F:{"28":0.00308,"79":0.00615,"82":0.00308,"86":0.00615,"95":0.00308,"113":0.0123,"114":1.06703,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 85 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00923,"17":0.00615,"18":0.04305,"89":0.00615,"92":0.0123,"100":0.00615,"108":0.00308,"109":0.01538,"114":0.01538,"115":0.00308,"117":0.00615,"119":0.00923,"120":0.00615,"121":0.00308,"122":0.00308,"124":0.01845,"125":0.00308,"126":0.0123,"127":0.00615,"128":0.01845,"129":0.0984,"130":3.32408,"131":2.11253,_:"12 13 14 15 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111 112 113 116 118 123"},E:{"14":0.01845,"15":0.00308,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1","12.1":0.00615,"13.1":0.00923,"14.1":0.00615,"15.2-15.3":0.00308,"15.4":0.0123,"15.5":0.00615,"15.6":0.10763,"16.0":0.00308,"16.1":0.00615,"16.2":0.0369,"16.3":0.0123,"16.4":0.0123,"16.5":0.00308,"16.6":0.07073,"17.0":0.00308,"17.1":0.05843,"17.2":0.00923,"17.3":0.00923,"17.4":0.02153,"17.5":0.06458,"17.6":0.31365,"18.0":0.10455,"18.1":0.21525,"18.2":0.03383},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00116,"5.0-5.1":0,"6.0-6.1":0.00464,"7.0-7.1":0.0058,"8.1-8.4":0,"9.0-9.2":0.00464,"9.3":0.01624,"10.0-10.2":0.00348,"10.3":0.02668,"11.0-11.2":0.31318,"11.3-11.4":0.00812,"12.0-12.1":0.00464,"12.2-12.5":0.12179,"13.0-13.1":0.00232,"13.2":0.03132,"13.3":0.00464,"13.4-13.7":0.0174,"14.0-14.4":0.03828,"14.5-14.8":0.05452,"15.0-15.1":0.03132,"15.2-15.3":0.029,"15.4":0.0348,"15.5":0.0406,"15.6-15.8":0.43498,"16.0":0.08236,"16.1":0.17399,"16.2":0.08816,"16.3":0.14963,"16.4":0.03016,"16.5":0.06032,"16.6-16.7":0.57069,"17.0":0.04176,"17.1":0.0696,"17.2":0.058,"17.3":0.08816,"17.4":0.18907,"17.5":0.56489,"17.6-17.7":4.87986,"18.0":1.73063,"18.1":1.52068,"18.2":0.06148},P:{"4":0.12702,"21":0.05292,"22":0.14819,"23":0.06351,"24":0.15877,"25":0.09526,"26":2.31805,"27":1.34425,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0 18.0","7.2-7.4":0.16935,"11.1-11.2":0.01058,"13.0":0.06351,"15.0":0.01058,"16.0":0.01058,"17.0":0.02117,"19.0":0.05292},I:{"0":0.02764,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"10":0.10763,"11":0.10763,_:"6 7 8 9 5.5"},K:{"0":0.42243,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00693},O:{"0":0.14543},H:{"0":0},L:{"0":53.99605},R:{_:"0"},M:{"0":0.18005}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HK.js deleted file mode 100644 index c6dd2432..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00452,"52":0.00904,"63":0.00452,"78":0.00904,"81":0.00452,"109":0.00452,"111":0.00452,"115":1.98384,"119":0.00452,"121":0.00452,"123":0.00452,"125":0.00452,"127":0.01356,"128":0.0226,"129":0.00452,"130":0.00904,"131":0.04971,"132":0.81794,"133":0.0723,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 114 116 117 118 120 122 124 126 134 135 136 3.5 3.6"},D:{"26":0.00452,"30":0.00452,"34":0.03615,"38":0.0949,"49":0.01356,"52":0.00452,"53":0.00904,"56":0.00452,"58":0.00904,"61":0.04067,"65":0.00452,"67":0.00452,"68":0.00452,"69":0.00452,"70":0.00904,"72":0.00452,"73":0.00452,"74":0.04067,"75":0.0226,"76":0.00452,"78":0.01808,"79":0.44738,"80":0.01356,"81":0.02711,"83":0.02711,"85":0.00904,"86":0.03615,"87":0.39767,"88":0.00452,"89":0.00904,"90":0.00904,"91":0.0226,"92":0.01356,"94":0.18076,"95":0.00904,"96":0.05423,"97":0.02711,"98":0.01808,"99":0.01356,"100":0.01808,"101":0.02711,"102":0.01808,"103":0.07682,"104":0.00904,"105":0.00904,"106":0.01356,"107":0.04971,"108":0.03163,"109":1.08004,"110":0.01356,"111":0.0226,"112":0.04067,"113":0.03163,"114":0.07682,"115":0.01808,"116":1.95673,"117":0.01808,"118":0.04519,"119":0.09038,"120":0.11749,"121":0.13557,"122":0.12201,"123":0.13105,"124":0.16268,"125":0.13105,"126":0.27566,"127":0.32085,"128":0.39767,"129":0.76823,"130":10.6558,"131":6.12325,"132":0.04519,"133":0.03615,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 54 55 57 59 60 62 63 64 66 71 77 84 93 134"},F:{"36":0.0226,"46":0.10846,"85":0.01808,"95":0.01356,"102":1.82116,"113":0.00452,"114":0.12201,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01356,"92":0.01356,"100":0.00452,"106":0.00452,"109":0.08134,"110":0.00452,"111":0.00452,"112":0.00452,"113":0.01808,"114":0.01356,"115":0.00452,"116":0.00904,"117":0.00904,"118":0.00452,"119":0.00904,"120":0.03615,"121":0.03163,"122":0.01808,"123":0.01808,"124":0.01808,"125":0.02711,"126":0.03163,"127":0.05875,"128":0.05423,"129":0.13105,"130":2.6391,"131":1.70366,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 107 108"},E:{"8":0.00452,"12":0.00452,"13":0.01356,"14":0.07682,"15":0.01808,_:"0 4 5 6 7 9 10 11 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.01356,"13.1":0.06779,"14.1":0.15817,"15.1":0.01808,"15.2-15.3":0.01356,"15.4":0.08586,"15.5":0.08586,"15.6":0.49709,"16.0":0.04519,"16.1":0.07682,"16.2":0.05875,"16.3":0.17172,"16.4":0.03615,"16.5":0.06779,"16.6":0.61007,"17.0":0.01808,"17.1":0.06327,"17.2":0.04519,"17.3":0.06779,"17.4":0.11749,"17.5":0.46094,"17.6":2.84245,"18.0":0.42479,"18.1":0.50613,"18.2":0.01356},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00192,"5.0-5.1":0,"6.0-6.1":0.00766,"7.0-7.1":0.00958,"8.1-8.4":0,"9.0-9.2":0.00766,"9.3":0.02681,"10.0-10.2":0.00575,"10.3":0.04405,"11.0-11.2":0.51707,"11.3-11.4":0.01341,"12.0-12.1":0.00766,"12.2-12.5":0.20108,"13.0-13.1":0.00383,"13.2":0.05171,"13.3":0.00766,"13.4-13.7":0.02873,"14.0-14.4":0.0632,"14.5-14.8":0.09001,"15.0-15.1":0.05171,"15.2-15.3":0.04788,"15.4":0.05745,"15.5":0.06703,"15.6-15.8":0.71815,"16.0":0.13597,"16.1":0.28726,"16.2":0.14554,"16.3":0.24704,"16.4":0.04979,"16.5":0.09958,"16.6-16.7":0.94221,"17.0":0.06894,"17.1":0.1149,"17.2":0.09575,"17.3":0.14554,"17.4":0.31216,"17.5":0.93263,"17.6-17.7":8.05666,"18.0":2.85727,"18.1":2.51065,"18.2":0.1015},P:{"4":0.8777,"20":0.01125,"21":0.06752,"22":0.04501,"23":0.05626,"24":0.06752,"25":0.07877,"26":2.3968,"27":2.12674,"5.0-5.4":0.16879,"6.2-6.4":0.12378,"7.2-7.4":0.05626,_:"8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.02251,"17.0":0.03376,"18.0":0.01125,"19.0":0.01125},I:{"0":0.02734,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.06327,"9":0.06327,"11":0.44286,_:"6 7 10 5.5"},K:{"0":0.12058,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.2028},O:{"0":0.39463},H:{"0":0},L:{"0":29.2447},R:{_:"0"},M:{"0":0.4604}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HN.js deleted file mode 100644 index 0ddce09f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.0881,"52":0.00352,"68":0.00352,"69":0.00352,"108":0.00352,"114":0.00352,"115":0.10924,"123":0.01057,"124":0.00352,"125":0.01057,"126":0.00705,"127":0.0141,"128":0.00705,"129":0.00352,"130":0.0141,"131":0.02819,"132":0.77176,"133":0.10572,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 112 113 116 117 118 119 120 121 122 134 135 136 3.5 3.6"},D:{"38":0.00352,"47":0.00352,"49":0.00352,"55":0.00352,"65":0.00705,"69":0.00705,"70":0.00352,"73":0.00352,"74":0.02467,"75":0.00352,"76":0.00705,"77":0.00352,"79":0.08105,"80":0.00352,"81":0.00352,"85":0.00352,"86":0.00352,"87":0.04934,"88":0.03172,"90":0.00352,"91":0.03524,"92":0.00352,"93":0.03876,"94":0.2643,"97":0.00352,"98":0.00352,"99":0.00352,"100":0.00352,"102":0.00352,"103":0.12686,"105":0.00705,"106":0.00705,"108":0.30659,"109":0.93034,"110":0.01057,"111":0.01057,"112":0.00352,"113":0.00352,"114":0.02819,"115":0.00705,"116":0.2502,"117":0.15153,"118":0.15153,"119":0.15858,"120":0.17268,"121":0.05638,"122":0.06343,"123":0.04581,"124":0.39469,"125":0.02467,"126":0.06343,"127":0.05286,"128":0.23963,"129":0.84224,"130":11.65739,"131":7.05857,"132":0.00352,"133":0.00352,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 67 68 71 72 78 83 84 89 95 96 101 104 107 134"},F:{"36":0.00352,"85":0.0141,"95":0.03876,"112":0.00352,"113":0.10924,"114":1.84658,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00352,"18":0.00352,"92":0.01762,"100":0.00352,"109":0.04934,"112":0.01057,"114":0.00352,"117":0.00352,"119":0.00352,"120":0.00352,"121":0.00352,"122":0.00352,"124":0.02114,"125":0.01057,"126":0.02467,"127":0.0141,"128":0.02467,"129":0.11629,"130":2.70996,"131":2.00163,_:"12 13 14 15 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 113 115 116 118 123"},E:{"14":0.00352,"15":0.00352,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","5.1":0.01057,"13.1":0.02467,"14.1":0.00352,"15.1":0.00352,"15.4":0.00352,"15.5":0.00705,"15.6":0.03876,"16.0":0.00705,"16.1":0.01057,"16.2":0.01762,"16.3":0.00705,"16.4":0.00705,"16.5":0.00705,"16.6":0.04934,"17.0":0.00352,"17.1":0.00705,"17.2":0.00705,"17.3":0.02467,"17.4":0.03172,"17.5":0.07048,"17.6":0.52155,"18.0":0.17268,"18.1":0.20439,"18.2":0.05991},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00232,"5.0-5.1":0,"6.0-6.1":0.00929,"7.0-7.1":0.01161,"8.1-8.4":0,"9.0-9.2":0.00929,"9.3":0.03252,"10.0-10.2":0.00697,"10.3":0.05343,"11.0-11.2":0.62719,"11.3-11.4":0.01626,"12.0-12.1":0.00929,"12.2-12.5":0.24391,"13.0-13.1":0.00465,"13.2":0.06272,"13.3":0.00929,"13.4-13.7":0.03484,"14.0-14.4":0.07666,"14.5-14.8":0.10918,"15.0-15.1":0.06272,"15.2-15.3":0.05807,"15.4":0.06969,"15.5":0.0813,"15.6-15.8":0.8711,"16.0":0.16493,"16.1":0.34844,"16.2":0.17654,"16.3":0.29966,"16.4":0.0604,"16.5":0.12079,"16.6-16.7":1.14289,"17.0":0.08363,"17.1":0.13938,"17.2":0.11615,"17.3":0.17654,"17.4":0.37864,"17.5":1.13127,"17.6-17.7":9.77261,"18.0":3.46583,"18.1":3.04538,"18.2":0.12312},P:{"4":0.17535,"20":0.01031,"21":0.02063,"22":0.05157,"23":0.03094,"24":0.03094,"25":0.26818,"26":1.01083,"27":0.71171,"5.0-5.4":0.01031,"6.2-6.4":0.06189,"7.2-7.4":0.06189,_:"8.2 9.2 10.1 12.0 14.0 15.0","11.1-11.2":0.02063,"13.0":0.02063,"16.0":0.03094,"17.0":0.01031,"18.0":0.01031,"19.0":0.02063},I:{"0":0.01939,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.01762,_:"6 7 8 9 10 5.5"},K:{"0":0.27847,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.16838},H:{"0":0},L:{"0":40.04326},R:{_:"0"},M:{"0":0.11657}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HR.js deleted file mode 100644 index 3ae45073..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00436,"52":0.02618,"78":0.01309,"88":0.00436,"94":0.00436,"102":0.00436,"103":0.00873,"106":0.00436,"113":0.01309,"115":0.52356,"120":0.07417,"123":0.00436,"124":0.01309,"125":0.01745,"126":0.00436,"127":0.02618,"128":0.07417,"129":0.00873,"130":0.00873,"131":0.15707,"132":2.94503,"133":0.2836,"134":0.00436,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 95 96 97 98 99 100 101 104 105 107 108 109 110 111 112 114 116 117 118 119 121 122 135 136 3.5 3.6"},D:{"47":0.00436,"49":0.03054,"63":0.00436,"66":0.00436,"69":0.00436,"75":0.01309,"76":0.00436,"77":0.00873,"79":0.13525,"81":0.02618,"83":0.00436,"84":0.00873,"86":0.00436,"87":0.11344,"88":0.01309,"89":0.00436,"90":0.00436,"91":0.00873,"92":0.00436,"93":0.01309,"94":0.0349,"95":0.01745,"96":0.00436,"98":0.00436,"99":0.00436,"100":0.00436,"102":0.00436,"103":0.03927,"104":0.00873,"105":0.00436,"106":0.02182,"107":0.00873,"108":0.01745,"109":1.52705,"110":0.00436,"111":0.01309,"112":0.00873,"113":0.00436,"114":0.01309,"115":0.00436,"116":0.11344,"117":0.00436,"118":0.02182,"119":0.02618,"120":0.06545,"121":0.04363,"122":0.06981,"123":0.0349,"124":0.17016,"125":0.05672,"126":0.07417,"127":0.07417,"128":0.19634,"129":0.76353,"130":16.54013,"131":10.52792,"132":0.00436,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 67 68 70 71 72 73 74 78 80 85 97 101 133 134"},F:{"46":0.02182,"83":0.00436,"85":0.03054,"86":0.00436,"95":0.04363,"102":0.00436,"104":0.00436,"112":0.00436,"113":0.12216,"114":1.85428,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00436,"109":0.06108,"110":0.00436,"114":0.00436,"118":0.00873,"119":0.00436,"120":0.00436,"121":0.00436,"122":0.00436,"123":0.01745,"124":0.00436,"125":0.01309,"126":0.01745,"127":0.00436,"128":0.01745,"129":0.06108,"130":1.96771,"131":1.27836,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 113 115 116 117"},E:{"14":0.01309,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","13.1":0.01309,"14.1":0.02618,"15.1":0.00436,"15.4":0.00436,"15.5":0.00436,"15.6":0.09162,"16.0":0.01745,"16.1":0.01309,"16.2":0.00873,"16.3":0.02182,"16.4":0.01309,"16.5":0.01309,"16.6":0.10908,"17.0":0.00436,"17.1":0.0349,"17.2":0.0349,"17.3":0.03054,"17.4":0.02618,"17.5":0.14834,"17.6":0.45375,"18.0":0.19634,"18.1":0.2356,"18.2":0.00873},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00103,"5.0-5.1":0,"6.0-6.1":0.00412,"7.0-7.1":0.00515,"8.1-8.4":0,"9.0-9.2":0.00412,"9.3":0.01442,"10.0-10.2":0.00309,"10.3":0.02369,"11.0-11.2":0.27807,"11.3-11.4":0.00721,"12.0-12.1":0.00412,"12.2-12.5":0.10814,"13.0-13.1":0.00206,"13.2":0.02781,"13.3":0.00412,"13.4-13.7":0.01545,"14.0-14.4":0.03399,"14.5-14.8":0.0484,"15.0-15.1":0.02781,"15.2-15.3":0.02575,"15.4":0.0309,"15.5":0.03605,"15.6-15.8":0.3862,"16.0":0.07312,"16.1":0.15448,"16.2":0.07827,"16.3":0.13285,"16.4":0.02678,"16.5":0.05355,"16.6-16.7":0.5067,"17.0":0.03708,"17.1":0.06179,"17.2":0.05149,"17.3":0.07827,"17.4":0.16787,"17.5":0.50155,"17.6-17.7":4.3327,"18.0":1.53658,"18.1":1.35017,"18.2":0.05458},P:{"4":0.22817,"20":0.01037,"21":0.02074,"22":0.02074,"23":0.05186,"24":0.04149,"25":0.04149,"26":1.91873,"27":1.70093,"5.0-5.4":0.06223,"6.2-6.4":0.04149,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0","16.0":0.01037,"17.0":0.01037,"18.0":0.04149,"19.0":0.01037},I:{"0":0.02812,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.00516,"11":0.05156,_:"6 7 9 10 5.5"},K:{"0":0.4115,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.11274},H:{"0":0},L:{"0":41.28808},R:{_:"0"},M:{"0":0.46787}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HT.js deleted file mode 100644 index 19dd4f66..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00104,"54":0.00622,"72":0.00104,"88":0.00207,"115":0.00415,"127":0.00104,"128":0.00104,"129":0.00104,"130":0.00104,"131":0.00622,"132":0.08815,"133":0.00519,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"11":0.01452,"49":0.00104,"55":0.00104,"56":0.01348,"68":0.00311,"69":0.00207,"70":0.00104,"73":0.00104,"74":0.00415,"75":0.00207,"76":0.07155,"77":0.00104,"79":0.00104,"80":0.00104,"81":0.00519,"84":0.00104,"86":0.01659,"87":0.00726,"88":0.01037,"89":0.00104,"90":0.00311,"91":0.00104,"92":0.00104,"93":0.07155,"94":0.00207,"95":0.02489,"96":0.00104,"97":0.00519,"98":0.00207,"99":0.00104,"102":0.00207,"103":0.04459,"104":0.00104,"105":0.06222,"106":0.00415,"107":0.00207,"108":0.08296,"109":0.09748,"110":0.01659,"111":0.03318,"112":0.00104,"114":0.06741,"115":0.00104,"116":0.02385,"117":0.00207,"118":0.00415,"119":0.02074,"120":0.01659,"121":0.00726,"122":0.00622,"123":0.00726,"124":0.02904,"125":0.02489,"126":0.028,"127":0.06533,"128":0.04459,"129":0.15659,"130":1.15522,"131":0.59835,"132":0.00104,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 57 58 59 60 61 62 63 64 65 66 67 71 72 78 83 85 100 101 113 133 134"},F:{"57":0.00104,"79":0.00104,"84":0.00104,"85":0.00207,"95":0.00933,"112":0.00104,"113":0.00207,"114":0.12651,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00415,"13":0.00104,"14":0.00207,"15":0.00104,"16":0.00207,"17":0.00207,"18":0.00311,"92":0.01452,"96":0.00104,"100":0.00207,"109":0.01452,"114":0.00207,"119":0.00311,"123":0.0083,"124":0.00311,"125":0.00415,"126":0.00104,"127":0.00622,"128":0.00415,"129":0.01659,"130":0.30384,"131":0.2074,_:"79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 120 121 122"},E:{"14":0.04459,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 15.1 15.5 16.0 16.1 16.4 17.2 18.2","11.1":0.00415,"13.1":0.01037,"14.1":0.00519,"15.2-15.3":0.00104,"15.4":0.01141,"15.6":0.01556,"16.2":0.00519,"16.3":0.00311,"16.5":0.00415,"16.6":0.00933,"17.0":0.00104,"17.1":0.00207,"17.3":0.00207,"17.4":0.00104,"17.5":0.00311,"17.6":0.02178,"18.0":0.01867,"18.1":0.02593},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00089,"5.0-5.1":0,"6.0-6.1":0.00357,"7.0-7.1":0.00446,"8.1-8.4":0,"9.0-9.2":0.00357,"9.3":0.0125,"10.0-10.2":0.00268,"10.3":0.02053,"11.0-11.2":0.24103,"11.3-11.4":0.00625,"12.0-12.1":0.00357,"12.2-12.5":0.09374,"13.0-13.1":0.00179,"13.2":0.0241,"13.3":0.00357,"13.4-13.7":0.01339,"14.0-14.4":0.02946,"14.5-14.8":0.04196,"15.0-15.1":0.0241,"15.2-15.3":0.02232,"15.4":0.02678,"15.5":0.03125,"15.6-15.8":0.33477,"16.0":0.06338,"16.1":0.13391,"16.2":0.06785,"16.3":0.11516,"16.4":0.02321,"16.5":0.04642,"16.6-16.7":0.43922,"17.0":0.03214,"17.1":0.05356,"17.2":0.04464,"17.3":0.06785,"17.4":0.14551,"17.5":0.43475,"17.6-17.7":3.75565,"18.0":1.33193,"18.1":1.17035,"18.2":0.04731},P:{"4":0.17543,"20":0.02064,"21":0.06192,"22":0.04128,"23":0.0516,"24":0.07224,"25":0.1032,"26":0.3715,"27":0.09288,"5.0-5.4":0.02064,"6.2-6.4":0.01032,"7.2-7.4":0.09288,"8.2":0.01032,"9.2":0.11352,_:"10.1 12.0","11.1-11.2":0.21671,"13.0":0.16511,"14.0":0.07224,"15.0":0.02064,"16.0":0.11352,"17.0":0.02064,"18.0":0.02064,"19.0":0.04128},I:{"0":0.05366,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.00207,_:"6 7 8 9 10 5.5"},K:{"0":0.19719,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00896,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02689},H:{"0":0},L:{"0":84.81387},R:{_:"0"},M:{"0":0.0717}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HU.js deleted file mode 100644 index d7da4d7d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/HU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.01793,"78":0.00717,"88":0.00717,"91":0.00359,"97":0.00359,"102":0.00717,"103":0.01076,"107":0.00359,"111":0.00359,"112":0.00359,"113":0.00717,"115":0.41239,"116":0.00359,"118":0.01076,"119":0.06455,"120":0.46618,"121":0.00359,"124":0.00717,"125":0.00717,"126":0.00717,"127":0.01793,"128":0.06096,"129":0.01076,"130":0.02152,"131":0.18647,"132":2.66798,"133":0.20082,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 98 99 100 101 104 105 106 108 109 110 114 117 122 123 134 135 136 3.5 3.6"},D:{"34":0.00717,"38":0.01434,"49":0.00359,"53":0.00359,"79":0.10758,"81":0.00359,"83":0.00359,"87":0.06455,"88":0.00359,"89":0.00359,"91":0.00717,"93":0.01076,"94":0.02152,"95":0.00359,"96":0.00717,"100":0.00359,"102":0.00717,"103":0.1542,"104":0.01793,"105":0.00359,"106":0.00359,"107":0.00359,"108":0.01076,"109":0.97898,"110":0.00359,"111":0.00359,"112":0.00717,"113":0.01434,"114":0.03227,"115":0.00359,"116":0.05738,"117":0.00359,"118":0.13268,"119":0.0251,"120":0.08606,"121":0.02152,"122":0.05379,"123":0.01793,"124":0.04662,"125":0.02869,"126":0.08965,"127":0.05379,"128":0.12551,"129":0.91443,"130":14.46951,"131":8.12229,"132":0.00717,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 84 85 86 90 92 97 98 99 101 133 134"},F:{"46":0.00717,"85":0.01434,"86":0.00359,"95":0.05738,"105":0.02152,"106":0.09682,"113":0.11117,"114":0.93953,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00359,"109":0.0251,"110":0.00359,"115":0.00359,"118":0.00359,"119":0.01793,"120":0.06813,"121":0.00359,"124":0.00359,"125":0.00359,"126":0.01076,"127":0.00359,"128":0.01434,"129":0.08606,"130":1.18338,"131":0.82478,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 113 114 116 117 122 123"},E:{"14":0.00359,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1","13.1":0.01076,"14.1":0.02152,"15.2-15.3":0.00359,"15.4":0.00359,"15.5":0.00717,"15.6":0.0502,"16.0":0.00359,"16.1":0.00717,"16.2":0.00717,"16.3":0.01434,"16.4":0.00359,"16.5":0.00717,"16.6":0.06455,"17.0":0.00359,"17.1":0.01076,"17.2":0.01076,"17.3":0.01076,"17.4":0.02152,"17.5":0.06096,"17.6":0.24743,"18.0":0.12551,"18.1":0.17213,"18.2":0.00717},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00078,"5.0-5.1":0,"6.0-6.1":0.00311,"7.0-7.1":0.00389,"8.1-8.4":0,"9.0-9.2":0.00311,"9.3":0.0109,"10.0-10.2":0.00234,"10.3":0.01791,"11.0-11.2":0.21021,"11.3-11.4":0.00545,"12.0-12.1":0.00311,"12.2-12.5":0.08175,"13.0-13.1":0.00156,"13.2":0.02102,"13.3":0.00311,"13.4-13.7":0.01168,"14.0-14.4":0.02569,"14.5-14.8":0.03659,"15.0-15.1":0.02102,"15.2-15.3":0.01946,"15.4":0.02336,"15.5":0.02725,"15.6-15.8":0.29195,"16.0":0.05528,"16.1":0.11678,"16.2":0.05917,"16.3":0.10043,"16.4":0.02024,"16.5":0.04048,"16.6-16.7":0.38304,"17.0":0.02803,"17.1":0.04671,"17.2":0.03893,"17.3":0.05917,"17.4":0.1269,"17.5":0.37915,"17.6-17.7":3.27531,"18.0":1.16158,"18.1":1.02066,"18.2":0.04126},P:{"4":0.15539,"20":0.01036,"21":0.03108,"22":0.0518,"23":0.0518,"24":0.0518,"25":0.06216,"26":1.34673,"27":1.27421,"5.0-5.4":0.01036,"6.2-6.4":0.01036,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.01036,"17.0":0.01036,"18.0":0.01036,"19.0":0.01036},I:{"0":0.10238,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"11":0.01434,_:"6 7 8 9 10 5.5"},K:{"0":0.23087,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01283},H:{"0":0},L:{"0":53.36921},R:{_:"0"},M:{"0":0.21163}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ID.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ID.js deleted file mode 100644 index 56836268..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ID.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"17":0.0027,"36":0.01079,"52":0.0027,"78":0.0027,"86":0.0027,"89":0.0027,"107":0.0027,"109":0.0027,"111":0.0027,"112":0.0027,"113":0.01889,"114":0.0054,"115":0.11601,"119":0.0027,"120":0.0027,"121":0.0027,"122":0.0027,"123":0.0027,"124":0.0027,"125":0.0054,"126":0.0054,"127":0.02158,"128":0.01619,"129":0.0054,"130":0.01349,"131":0.08364,"132":1.3544,"133":0.09983,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 116 117 118 134 135 136 3.5 3.6"},D:{"25":0.0027,"52":0.0027,"79":0.0054,"80":0.0054,"81":0.0027,"83":0.0027,"86":0.0027,"87":0.0054,"89":0.0027,"91":0.0054,"92":0.0027,"94":0.0027,"95":0.0027,"96":0.0027,"97":0.0027,"98":0.0027,"99":0.0027,"100":0.00809,"101":0.0027,"102":0.0027,"103":0.01619,"104":0.0054,"105":0.0027,"106":0.01079,"107":0.0054,"108":0.00809,"109":0.74195,"110":0.0027,"111":0.02698,"112":0.00809,"113":0.00809,"114":0.02158,"115":0.0027,"116":0.05936,"117":0.01079,"118":0.01889,"119":0.01619,"120":0.02698,"121":0.03777,"122":0.05126,"123":0.03238,"124":0.05396,"125":0.03777,"126":0.06745,"127":0.05396,"128":0.1403,"129":0.31027,"130":11.47459,"131":7.07146,"132":0.0054,"133":0.0027,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 84 85 88 90 93 134"},F:{"85":0.0054,"95":0.00809,"113":0.00809,"114":0.23473,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.0027,"18":0.0054,"92":0.0054,"100":0.0027,"109":0.01079,"114":0.0027,"120":0.0027,"121":0.0054,"122":0.0027,"124":0.0027,"125":0.0027,"126":0.0054,"127":0.0054,"128":0.01079,"129":0.02968,"130":1.69434,"131":1.16554,_:"12 13 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 119 123"},E:{"14":0.0054,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1","5.1":0.00809,"13.1":0.00809,"14.1":0.02158,"15.1":0.00809,"15.2-15.3":0.0027,"15.4":0.0054,"15.5":0.00809,"15.6":0.04587,"16.0":0.0054,"16.1":0.01619,"16.2":0.00809,"16.3":0.01349,"16.4":0.00809,"16.5":0.02428,"16.6":0.05666,"17.0":0.01079,"17.1":0.01619,"17.2":0.01889,"17.3":0.01619,"17.4":0.03507,"17.5":0.07285,"17.6":0.1403,"18.0":0.10522,"18.1":0.08364,"18.2":0.0027},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0004,"5.0-5.1":0,"6.0-6.1":0.0016,"7.0-7.1":0.002,"8.1-8.4":0,"9.0-9.2":0.0016,"9.3":0.00559,"10.0-10.2":0.0012,"10.3":0.00919,"11.0-11.2":0.10784,"11.3-11.4":0.0028,"12.0-12.1":0.0016,"12.2-12.5":0.04194,"13.0-13.1":0.0008,"13.2":0.01078,"13.3":0.0016,"13.4-13.7":0.00599,"14.0-14.4":0.01318,"14.5-14.8":0.01877,"15.0-15.1":0.01078,"15.2-15.3":0.00999,"15.4":0.01198,"15.5":0.01398,"15.6-15.8":0.14978,"16.0":0.02836,"16.1":0.05991,"16.2":0.03036,"16.3":0.05153,"16.4":0.01038,"16.5":0.02077,"16.6-16.7":0.19651,"17.0":0.01438,"17.1":0.02397,"17.2":0.01997,"17.3":0.03036,"17.4":0.06511,"17.5":0.19452,"17.6-17.7":1.68036,"18.0":0.59593,"18.1":0.52364,"18.2":0.02117},P:{"4":0.01042,"20":0.01042,"21":0.01042,"22":0.03126,"23":0.02084,"24":0.03126,"25":0.04167,"26":0.39591,"27":0.25005,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0 18.0","7.2-7.4":0.02084,"11.1-11.2":0.01042,"17.0":0.01042,"19.0":0.01042},I:{"0":0.08015,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.0001},A:{"11":0.02698,_:"6 7 8 9 10 5.5"},K:{"0":0.41621,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.40891},H:{"0":0},L:{"0":67.77909},R:{_:"0"},M:{"0":0.04381}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IE.js deleted file mode 100644 index 326eadbb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"36":0.00345,"38":0.01379,"43":0.00689,"44":0.07583,"45":0.01034,"52":0.00345,"55":0.00345,"56":0.03447,"58":0.00345,"68":0.00345,"78":0.01034,"88":0.00345,"115":0.06205,"123":0.00345,"125":0.03447,"127":0.01034,"128":0.05171,"129":0.00689,"130":0.02758,"131":0.07583,"132":0.88243,"133":0.08273,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 39 40 41 42 46 47 48 49 50 51 53 54 57 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 124 126 134 135 136 3.6","3.5":0.00689},D:{"38":0.00345,"39":0.01724,"40":0.01724,"41":0.01724,"42":0.01724,"43":0.01724,"44":0.01724,"45":0.01724,"46":0.01724,"47":0.02413,"48":0.10686,"49":0.04136,"50":0.01724,"51":0.03447,"52":0.01724,"53":0.02413,"54":0.02068,"55":0.01724,"56":0.01724,"57":0.01724,"58":0.02068,"59":0.01724,"60":0.01724,"61":0.38951,"62":0.00345,"63":0.01034,"65":0.00345,"74":0.01724,"79":0.03447,"81":0.04481,"85":0.00345,"86":0.00345,"87":0.02413,"88":0.00689,"89":0.02068,"91":0.01724,"92":0.01379,"93":0.00689,"94":0.01034,"95":0.00345,"96":0.00345,"98":0.00345,"99":0.00345,"100":0.00345,"102":0.00345,"103":0.05515,"104":0.00345,"105":0.01724,"106":0.03447,"107":0.01034,"108":0.00689,"109":0.33436,"110":0.00345,"111":0.00345,"112":0.00345,"113":0.05515,"114":0.07928,"115":0.01724,"116":0.09652,"117":0.03792,"118":0.00689,"119":0.30334,"120":0.08962,"121":0.01379,"122":0.12409,"123":0.03102,"124":0.12754,"125":5.02573,"126":1.13406,"127":1.04444,"128":0.37228,"129":0.748,"130":8.51409,"131":4.4225,"132":0.00345,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 64 66 67 68 69 70 71 72 73 75 76 77 78 80 83 84 90 97 101 133 134"},F:{"46":0.01034,"85":0.00689,"95":0.00345,"113":0.03447,"114":0.5205,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00345},B:{"12":0.00345,"92":0.00345,"107":0.00345,"108":0.00345,"109":0.00689,"116":0.00345,"117":0.00345,"121":0.00345,"122":0.00345,"123":0.00345,"124":0.00689,"125":0.00689,"126":0.02068,"127":0.01034,"128":0.04136,"129":0.15167,"130":2.57836,"131":1.64767,_:"13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 110 111 112 113 114 115 118 119 120"},E:{"8":0.00689,"9":0.01379,"13":0.00345,"14":0.03102,"15":0.00689,_:"0 4 5 6 7 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00345,"13.1":0.03792,"14.1":0.07239,"15.1":0.01034,"15.2-15.3":0.01379,"15.4":0.01724,"15.5":0.03447,"15.6":0.22061,"16.0":0.01724,"16.1":0.02758,"16.2":0.03792,"16.3":0.11375,"16.4":0.01724,"16.5":0.02413,"16.6":0.22061,"17.0":0.01379,"17.1":0.04136,"17.2":0.03447,"17.3":0.05515,"17.4":0.11375,"17.5":0.20337,"17.6":1.19611,"18.0":0.26542,"18.1":0.32057,"18.2":0.00689},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0019,"5.0-5.1":0,"6.0-6.1":0.00759,"7.0-7.1":0.00949,"8.1-8.4":0,"9.0-9.2":0.00759,"9.3":0.02657,"10.0-10.2":0.00569,"10.3":0.04365,"11.0-11.2":0.51239,"11.3-11.4":0.01328,"12.0-12.1":0.00759,"12.2-12.5":0.19926,"13.0-13.1":0.0038,"13.2":0.05124,"13.3":0.00759,"13.4-13.7":0.02847,"14.0-14.4":0.06263,"14.5-14.8":0.08919,"15.0-15.1":0.05124,"15.2-15.3":0.04744,"15.4":0.05693,"15.5":0.06642,"15.6-15.8":0.71166,"16.0":0.13474,"16.1":0.28466,"16.2":0.14423,"16.3":0.24481,"16.4":0.04934,"16.5":0.09868,"16.6-16.7":0.93369,"17.0":0.06832,"17.1":0.11386,"17.2":0.09489,"17.3":0.14423,"17.4":0.30933,"17.5":0.9242,"17.6-17.7":7.98383,"18.0":2.83144,"18.1":2.48795,"18.2":0.10058},P:{"4":0.01047,"20":0.02094,"21":0.03142,"22":0.03142,"23":0.05236,"24":0.06283,"25":0.05236,"26":1.56029,"27":1.27755,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","6.2-6.4":0.02094,"7.2-7.4":0.01047,"19.0":0.02094},I:{"0":0.06539,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"8":0.00361,"9":0.02528,"11":0.04694,_:"6 7 10 5.5"},K:{"0":0.16383,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02621},H:{"0":0},L:{"0":42.86189},R:{_:"0"},M:{"0":0.39973}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IL.js deleted file mode 100644 index c0afbf9a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"24":0.00319,"25":0.00639,"26":0.01597,"27":0.00319,"36":0.00319,"51":0.00319,"52":0.00958,"60":0.00319,"63":0.00639,"78":0.00319,"101":0.00319,"113":0.00639,"115":0.12457,"118":0.00639,"119":0.00319,"120":0.00319,"122":0.00319,"123":0.00639,"124":0.00319,"125":0.00319,"127":0.00319,"128":0.02236,"129":0.00639,"130":0.01278,"131":0.05749,"132":0.75378,"133":0.06069,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 53 54 55 56 57 58 59 61 62 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 111 112 114 116 117 121 126 134 135 136 3.5 3.6"},D:{"31":0.01916,"32":0.00319,"38":0.00639,"49":0.00319,"55":0.01597,"56":0.00639,"64":0.00319,"65":0.00639,"68":0.00319,"69":0.00319,"70":0.00319,"71":0.00319,"72":0.00319,"74":0.00639,"75":0.00319,"76":0.00639,"77":0.00319,"78":0.00319,"79":0.03194,"80":0.00639,"81":0.00319,"83":0.00958,"84":0.00319,"85":0.00639,"86":0.00958,"87":0.04152,"88":0.00958,"89":0.00639,"90":0.00639,"91":0.03513,"92":0.00958,"94":0.00639,"95":0.00319,"96":0.00319,"97":0.00319,"98":0.00639,"99":0.00319,"100":0.00639,"101":0.00958,"102":0.00639,"103":0.02875,"104":0.00639,"105":0.00639,"106":0.01278,"107":0.00639,"108":0.03513,"109":0.70268,"110":0.00639,"111":0.00639,"112":0.00639,"113":0.06069,"114":0.07346,"115":0.00958,"116":0.07666,"117":0.00639,"118":0.01597,"119":0.03194,"120":0.03513,"121":0.03194,"122":0.07666,"123":0.03833,"124":0.0511,"125":0.0543,"126":0.09582,"127":0.11179,"128":0.22677,"129":0.76975,"130":13.68629,"131":7.92112,"132":0.00958,"133":0.00319,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 57 58 59 60 61 62 63 66 67 73 93 134"},F:{"85":0.01597,"86":0.00958,"95":0.02555,"113":0.04472,"114":0.61964,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00319,"80":0.00319,"81":0.00319,"83":0.00319,"84":0.00319,"92":0.00319,"103":0.00319,"104":0.00319,"108":0.00319,"109":0.02555,"110":0.00319,"112":0.00319,"114":0.00319,"116":0.00639,"119":0.00639,"120":0.00639,"121":0.00639,"122":0.00319,"123":0.00319,"124":0.00639,"125":0.00639,"126":0.01597,"127":0.01278,"128":0.01916,"129":0.08624,"130":1.51076,"131":1.0636,_:"12 13 14 15 16 17 79 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 105 106 107 111 113 115 117 118"},E:{"7":0.00319,"8":0.13095,"10":0.00319,"14":0.01278,"15":0.00319,_:"0 4 5 6 9 11 12 13 3.1 3.2 5.1 7.1 10.1 11.1 12.1","6.1":0.00319,"9.1":0.00639,"13.1":0.00639,"14.1":0.02875,"15.1":0.00319,"15.2-15.3":0.00958,"15.4":0.00319,"15.5":0.01597,"15.6":0.06388,"16.0":0.00319,"16.1":0.01278,"16.2":0.00639,"16.3":0.02875,"16.4":0.00319,"16.5":0.01278,"16.6":0.1086,"17.0":0.00319,"17.1":0.01597,"17.2":0.01278,"17.3":0.02236,"17.4":0.02555,"17.5":0.07666,"17.6":0.41203,"18.0":0.11498,"18.1":0.18525,"18.2":0.00639},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00139,"5.0-5.1":0,"6.0-6.1":0.00555,"7.0-7.1":0.00694,"8.1-8.4":0,"9.0-9.2":0.00555,"9.3":0.01942,"10.0-10.2":0.00416,"10.3":0.0319,"11.0-11.2":0.37451,"11.3-11.4":0.00971,"12.0-12.1":0.00555,"12.2-12.5":0.14564,"13.0-13.1":0.00277,"13.2":0.03745,"13.3":0.00555,"13.4-13.7":0.02081,"14.0-14.4":0.04577,"14.5-14.8":0.06519,"15.0-15.1":0.03745,"15.2-15.3":0.03468,"15.4":0.04161,"15.5":0.04855,"15.6-15.8":0.52015,"16.0":0.09848,"16.1":0.20806,"16.2":0.10542,"16.3":0.17893,"16.4":0.03606,"16.5":0.07213,"16.6-16.7":0.68243,"17.0":0.04993,"17.1":0.08322,"17.2":0.06935,"17.3":0.10542,"17.4":0.22609,"17.5":0.6755,"17.6-17.7":5.83537,"18.0":2.0695,"18.1":1.81844,"18.2":0.07351},P:{"4":0.03078,"20":0.03078,"21":0.09233,"22":0.15388,"23":0.17439,"24":0.19491,"25":0.22569,"26":4.0726,"27":3.26218,_:"5.0-5.4 8.2 10.1 12.0","6.2-6.4":0.01026,"7.2-7.4":0.02052,"9.2":0.01026,"11.1-11.2":0.03078,"13.0":0.03078,"14.0":0.02052,"15.0":0.01026,"16.0":0.02052,"17.0":0.02052,"18.0":0.01026,"19.0":0.05129},I:{"0":0.01358,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.00319,"9":0.00319,"10":0.00319,"11":0.02236,_:"6 7 5.5"},K:{"0":0.30988,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.03403},H:{"0":0.01},L:{"0":45.72213},R:{_:"0"},M:{"0":0.19737}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IM.js deleted file mode 100644 index 356ae230..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"3":0.00446,"4":0.00446,"6":0.00446,"15":0.00446,"33":0.00446,"35":0.00446,"37":0.00446,"38":0.00446,"40":0.00893,"78":0.00446,"82":0.00446,"91":0.00446,"96":0.00893,"102":0.00893,"103":0.02232,"113":0.01339,"115":0.08035,"119":0.00446,"125":0.0491,"128":0.04464,"129":0.02678,"130":0.00446,"131":0.08482,"132":1.81238,"133":0.17856,_:"2 5 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 36 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 83 84 85 86 87 88 89 90 92 93 94 95 97 98 99 100 101 104 105 106 107 108 109 110 111 112 114 116 117 118 120 121 122 123 124 126 127 134 135 136","3.5":0.00446,"3.6":0.00446},D:{"31":0.00446,"33":0.00446,"37":0.00446,"38":0.00446,"39":0.00446,"40":0.00893,"41":0.00893,"42":0.00446,"43":0.00893,"44":0.02232,"45":0.00446,"46":0.00893,"47":0.00893,"51":0.00893,"70":0.00446,"76":0.01339,"79":0.01786,"85":0.00446,"87":0.02232,"94":0.00446,"95":0.00446,"98":0.03125,"99":0.00893,"103":0.04018,"104":0.05803,"107":0.00446,"108":0.01339,"109":0.29909,"111":0.00893,"112":0.00446,"113":0.00446,"114":0.01339,"115":0.00446,"116":0.99994,"117":0.00446,"118":0.00893,"119":0.01786,"120":0.0491,"121":0.08482,"122":0.03125,"123":0.00446,"124":1.2276,"125":0.01339,"126":0.03571,"127":0.0625,"128":0.13838,"129":0.83477,"130":8.97264,"131":4.5265,"132":0.00893,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 34 35 36 48 49 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 77 78 80 81 83 84 86 88 89 90 91 92 93 96 97 100 101 102 105 106 110 133 134"},F:{"31":0.00446,"79":0.00893,"85":0.00893,"112":0.02678,"113":0.08035,"114":4.32115,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00446},B:{"98":0.00446,"107":0.06696,"109":0.03125,"118":0.00446,"119":0.00446,"120":0.02678,"123":0.00893,"127":0.01339,"128":0.00893,"129":0.30802,"130":5.63803,"131":2.87928,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 108 110 111 112 113 114 115 116 117 121 122 124 125 126"},E:{"8":0.00446,"9":0.02232,"14":0.02678,_:"0 4 5 6 7 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.1","5.1":0.00446,"12.1":0.01786,"13.1":0.08035,"14.1":0.05803,"15.2-15.3":0.04018,"15.4":0.00446,"15.5":0.02678,"15.6":0.52229,"16.0":0.02232,"16.1":0.03125,"16.2":0.1116,"16.3":0.2723,"16.4":0.03571,"16.5":0.01786,"16.6":1.0044,"17.0":0.04464,"17.1":0.00446,"17.2":0.14285,"17.3":0.03571,"17.4":0.29909,"17.5":0.29909,"17.6":4.55774,"18.0":0.41069,"18.1":1.10707,"18.2":0.02232},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00298,"5.0-5.1":0,"6.0-6.1":0.01191,"7.0-7.1":0.01489,"8.1-8.4":0,"9.0-9.2":0.01191,"9.3":0.04169,"10.0-10.2":0.00893,"10.3":0.06849,"11.0-11.2":0.80401,"11.3-11.4":0.02084,"12.0-12.1":0.01191,"12.2-12.5":0.31267,"13.0-13.1":0.00596,"13.2":0.0804,"13.3":0.01191,"13.4-13.7":0.04467,"14.0-14.4":0.09827,"14.5-14.8":0.13996,"15.0-15.1":0.0804,"15.2-15.3":0.07445,"15.4":0.08933,"15.5":0.10422,"15.6-15.8":1.11668,"16.0":0.21142,"16.1":0.44667,"16.2":0.22631,"16.3":0.38414,"16.4":0.07742,"16.5":0.15485,"16.6-16.7":1.46508,"17.0":0.1072,"17.1":0.17867,"17.2":0.14889,"17.3":0.22631,"17.4":0.48538,"17.5":1.4502,"17.6-17.7":12.52767,"18.0":4.4429,"18.1":3.90391,"18.2":0.15782},P:{"4":0.03399,"20":0.03399,"21":0.07931,"22":0.01133,"23":0.07931,"24":0.24926,"25":0.02266,"26":2.03936,"27":2.02803,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","6.2-6.4":0.03399,"17.0":0.01133},I:{"0":0.15467,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.0002},A:{"7":0.00446,"8":0.07142,"9":0.00893,"10":0.01339,"11":0.0491,_:"6 5.5"},K:{"0":0.23251,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00554,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01661},H:{"0":0},L:{"0":19.52723},R:{_:"0"},M:{"0":0.53699}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IN.js deleted file mode 100644 index ff98065c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"42":0.00784,"52":0.00588,"59":0.00196,"66":0.00196,"78":0.00196,"88":0.00392,"102":0.00196,"103":0.00196,"111":0.00196,"113":0.00392,"115":0.15084,"116":0.00196,"123":0.00196,"124":0.00196,"125":0.00196,"126":0.00196,"127":0.00392,"128":0.01959,"129":0.00392,"130":0.00588,"131":0.03134,"132":0.42706,"133":0.05093,"134":0.00196,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 112 114 117 118 119 120 121 122 135 136 3.5 3.6"},D:{"49":0.00196,"55":0.00196,"56":0.00196,"66":0.0098,"68":0.00196,"69":0.00196,"70":0.00196,"71":0.00196,"73":0.00196,"74":0.00392,"78":0.00196,"79":0.0098,"80":0.00196,"81":0.00392,"83":0.00392,"85":0.00196,"86":0.00196,"87":0.02547,"88":0.00196,"89":0.00196,"90":0.00196,"91":0.00196,"92":0.00196,"93":0.00196,"94":0.00784,"95":0.00196,"96":0.00196,"97":0.00196,"98":0.00392,"99":0.00196,"100":0.00196,"101":0.00784,"102":0.00196,"103":0.01371,"104":0.00588,"105":0.00588,"106":0.00784,"107":0.00588,"108":0.03722,"109":1.38697,"110":0.00392,"111":0.01175,"112":0.00588,"113":0.00588,"114":0.01175,"115":0.00588,"116":0.02155,"117":0.01371,"118":0.01371,"119":0.03134,"120":0.02743,"121":0.01763,"122":0.03134,"123":0.02743,"124":0.03722,"125":0.07052,"126":0.13125,"127":0.09403,"128":0.14497,"129":0.3585,"130":6.85258,"131":4.55076,"132":0.0098,"133":0.00392,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 57 58 59 60 61 62 63 64 65 67 72 75 76 77 84 134"},F:{"79":0.00196,"83":0.00196,"84":0.00392,"85":0.07836,"86":0.00784,"95":0.01371,"113":0.00392,"114":0.17631,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00196,"18":0.00196,"92":0.00588,"100":0.00196,"108":0.00196,"109":0.0098,"114":0.00588,"120":0.00196,"121":0.00196,"122":0.00196,"123":0.00196,"124":0.00196,"125":0.00196,"126":0.00588,"127":0.00392,"128":0.0098,"129":0.02351,"130":0.55244,"131":0.38592,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111 112 113 115 116 117 118 119"},E:{"14":0.00196,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 15.2-15.3 15.4","11.1":0.00196,"13.1":0.00196,"14.1":0.00392,"15.1":0.00196,"15.5":0.00196,"15.6":0.0098,"16.0":0.00196,"16.1":0.00196,"16.2":0.00196,"16.3":0.00196,"16.4":0.00196,"16.5":0.00196,"16.6":0.01175,"17.0":0.00196,"17.1":0.00196,"17.2":0.00196,"17.3":0.00392,"17.4":0.01175,"17.5":0.01763,"17.6":0.04506,"18.0":0.0431,"18.1":0.05681,"18.2":0.00392},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0002,"5.0-5.1":0,"6.0-6.1":0.00079,"7.0-7.1":0.00099,"8.1-8.4":0,"9.0-9.2":0.00079,"9.3":0.00277,"10.0-10.2":0.00059,"10.3":0.00455,"11.0-11.2":0.05341,"11.3-11.4":0.00138,"12.0-12.1":0.00079,"12.2-12.5":0.02077,"13.0-13.1":0.0004,"13.2":0.00534,"13.3":0.00079,"13.4-13.7":0.00297,"14.0-14.4":0.00653,"14.5-14.8":0.0093,"15.0-15.1":0.00534,"15.2-15.3":0.00495,"15.4":0.00593,"15.5":0.00692,"15.6-15.8":0.07419,"16.0":0.01405,"16.1":0.02967,"16.2":0.01504,"16.3":0.02552,"16.4":0.00514,"16.5":0.01029,"16.6-16.7":0.09733,"17.0":0.00712,"17.1":0.01187,"17.2":0.00989,"17.3":0.01504,"17.4":0.03225,"17.5":0.09634,"17.6-17.7":0.83228,"18.0":0.29517,"18.1":0.25936,"18.2":0.01049},P:{"4":0.02113,"21":0.01056,"22":0.01056,"23":0.04225,"24":0.04225,"25":0.03169,"26":0.32744,"27":0.19013,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.02113,"17.0":0.01056},I:{"0":0.00802,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"10":0.0022,"11":0.01543,_:"6 7 8 9 5.5"},K:{"0":2.80295,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.10455,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":1.42343},H:{"0":0.06},L:{"0":76.26227},R:{_:"0"},M:{"0":0.13671}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IQ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IQ.js deleted file mode 100644 index 2e3fb228..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IQ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00149,"68":0.00074,"69":0.01115,"72":0.00074,"79":0.00074,"102":0.00074,"103":0.00074,"111":0.00149,"115":0.04532,"122":0.00149,"123":0.00446,"125":0.00074,"126":0.00149,"127":0.00223,"128":0.00223,"129":0.00074,"130":0.00372,"131":0.00817,"132":0.12185,"133":0.0104,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 70 71 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 112 113 114 116 117 118 119 120 121 124 134 135 136 3.5 3.6"},D:{"11":0.00297,"34":0.00149,"38":0.0052,"42":0.00074,"43":0.0052,"47":0.00149,"49":0.00074,"50":0.00074,"52":0.00074,"53":0.00074,"55":0.00074,"56":0.00074,"58":0.01189,"59":0.00074,"60":0.00074,"61":0.00074,"63":0.00074,"64":0.00074,"65":0.00223,"66":0.00223,"68":0.00372,"69":0.00446,"70":0.00446,"71":0.00149,"72":0.00297,"73":0.0156,"74":0.00223,"75":0.00817,"77":0.00074,"78":0.00074,"79":0.03715,"80":0.00149,"81":0.00446,"83":0.03492,"84":0.00074,"85":0.00074,"86":0.00446,"87":0.03195,"88":0.0156,"89":0.00223,"90":0.00743,"91":0.00223,"92":0.00074,"93":0.00149,"94":0.02972,"95":0.0156,"96":0.00372,"97":0.00149,"98":0.03641,"99":0.00297,"100":0.00446,"101":0.00149,"102":0.00892,"103":0.01263,"104":0.00149,"105":0.00297,"106":0.00446,"107":0.00669,"108":0.00594,"109":0.55131,"110":0.0156,"111":0.00892,"112":0.00223,"113":0.00223,"114":0.02303,"115":0.00074,"116":0.0052,"117":0.00669,"118":0.00817,"119":0.02823,"120":0.02898,"121":0.00669,"122":0.01412,"123":0.01189,"124":0.01709,"125":0.01412,"126":0.03641,"127":0.03046,"128":0.03492,"129":0.0743,"130":2.04994,"131":1.41764,"132":0.00372,"133":0.00074,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 44 45 46 48 51 54 57 62 67 76 134"},F:{"46":0.00223,"79":0.00223,"83":0.00149,"84":0.00074,"85":0.00817,"86":0.00074,"95":0.01486,"112":0.00074,"113":0.01709,"114":0.24965,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00149,"84":0.00074,"89":0.00074,"90":0.00074,"92":0.0104,"100":0.00149,"107":0.00074,"109":0.00743,"114":0.00223,"116":0.00074,"117":0.00074,"118":0.00074,"120":0.00074,"121":0.00149,"122":0.00223,"124":0.00297,"125":0.00297,"126":0.00223,"127":0.00223,"128":0.01412,"129":0.04161,"130":0.38859,"131":0.26897,_:"12 13 14 15 16 17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111 112 113 115 119 123"},E:{"14":0.00149,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1","5.1":0.0052,"12.1":0.00074,"13.1":0.00149,"14.1":0.00372,"15.1":0.00074,"15.2-15.3":0.00074,"15.4":0.00149,"15.5":0.00149,"15.6":0.01932,"16.0":0.00074,"16.1":0.0052,"16.2":0.00223,"16.3":0.00594,"16.4":0.00149,"16.5":0.00149,"16.6":0.02526,"17.0":0.00372,"17.1":0.00446,"17.2":0.00372,"17.3":0.00446,"17.4":0.00669,"17.5":0.03418,"17.6":0.11665,"18.0":0.06167,"18.1":0.07059,"18.2":0.00223},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00125,"5.0-5.1":0,"6.0-6.1":0.00499,"7.0-7.1":0.00624,"8.1-8.4":0,"9.0-9.2":0.00499,"9.3":0.01746,"10.0-10.2":0.00374,"10.3":0.02868,"11.0-11.2":0.3367,"11.3-11.4":0.00873,"12.0-12.1":0.00499,"12.2-12.5":0.13094,"13.0-13.1":0.00249,"13.2":0.03367,"13.3":0.00499,"13.4-13.7":0.01871,"14.0-14.4":0.04115,"14.5-14.8":0.05861,"15.0-15.1":0.03367,"15.2-15.3":0.03118,"15.4":0.03741,"15.5":0.04365,"15.6-15.8":0.46764,"16.0":0.08854,"16.1":0.18706,"16.2":0.09478,"16.3":0.16087,"16.4":0.03242,"16.5":0.06485,"16.6-16.7":0.61355,"17.0":0.04489,"17.1":0.07482,"17.2":0.06235,"17.3":0.09478,"17.4":0.20327,"17.5":0.60731,"17.6-17.7":5.24635,"18.0":1.8606,"18.1":1.63489,"18.2":0.06609},P:{"4":0.04014,"20":0.01004,"21":0.06021,"22":0.06021,"23":0.07025,"24":0.09032,"25":0.07025,"26":1.06372,"27":1.02358,_:"5.0-5.4 8.2 9.2 10.1 12.0","6.2-6.4":0.02007,"7.2-7.4":0.06021,"11.1-11.2":0.03011,"13.0":0.02007,"14.0":0.01004,"15.0":0.01004,"16.0":0.03011,"17.0":0.05018,"18.0":0.01004,"19.0":0.02007},I:{"0":0.03695,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"9":0.00089,"11":0.00802,_:"6 7 8 10 5.5"},K:{"0":0.75916,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.37032},H:{"0":0},L:{"0":76.91573},R:{_:"0"},M:{"0":0.05555}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IR.js deleted file mode 100644 index a8ae773d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"41":0.00298,"43":0.00298,"47":0.00298,"50":0.00298,"52":0.02685,"56":0.00298,"60":0.00298,"68":0.00298,"70":0.00298,"72":0.00895,"77":0.00298,"78":0.00298,"84":0.00298,"88":0.00298,"89":0.00298,"92":0.00298,"94":0.00597,"95":0.00298,"96":0.00298,"99":0.00298,"100":0.00298,"101":0.00298,"102":0.00298,"103":0.00298,"104":0.00298,"105":0.00298,"106":0.00597,"107":0.00298,"108":0.00298,"109":0.00597,"110":0.00298,"111":0.00298,"112":0.00298,"113":0.00298,"114":0.00298,"115":1.44079,"116":0.00298,"117":0.00298,"118":0.00298,"119":0.00298,"120":0.00597,"121":0.00597,"122":0.00597,"123":0.00597,"124":0.00597,"125":0.00895,"126":0.00895,"127":0.07756,"128":0.08949,"129":0.0179,"130":0.02983,"131":0.1581,"132":2.34762,"133":0.20583,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 44 45 46 48 49 51 53 54 55 57 58 59 61 62 63 64 65 66 67 69 71 73 74 75 76 79 80 81 82 83 85 86 87 90 91 93 97 98 134 135 136 3.5 3.6"},D:{"38":0.00597,"48":0.00298,"49":0.01193,"51":0.00298,"54":0.00298,"55":0.00298,"56":0.00298,"58":0.00298,"62":0.00298,"63":0.00298,"64":0.00298,"65":0.00298,"66":0.00298,"67":0.00298,"68":0.00298,"69":0.00298,"70":0.00298,"71":0.0179,"72":0.00597,"73":0.00298,"74":0.00597,"75":0.00298,"76":0.00298,"77":0.00298,"78":0.01492,"79":0.01492,"80":0.01492,"81":0.00895,"83":0.01492,"84":0.01193,"85":0.00895,"86":0.02088,"87":0.02088,"88":0.00895,"89":0.00895,"90":0.00597,"91":0.00895,"92":0.01193,"93":0.00298,"94":0.00895,"95":0.00895,"96":0.01492,"97":0.00895,"98":0.01193,"99":0.01193,"100":0.01193,"101":0.00597,"102":0.00895,"103":0.02983,"104":0.0179,"105":0.02685,"106":0.02685,"107":0.03878,"108":0.06264,"109":3.96142,"110":0.0179,"111":0.03281,"112":0.02386,"113":0.00895,"114":0.02088,"115":0.01193,"116":0.02983,"117":0.02088,"118":0.05071,"119":0.03281,"120":0.05966,"121":0.04773,"122":0.06264,"123":0.07756,"124":0.06563,"125":0.05071,"126":0.11037,"127":0.10142,"128":0.15213,"129":0.36691,"130":7.98549,"131":5.72438,"132":0.00298,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 50 52 53 57 59 60 61 133 134"},F:{"46":0.00298,"64":0.00298,"79":0.01492,"83":0.00298,"85":0.00298,"95":0.04773,"101":0.00597,"108":0.00298,"109":0.00298,"110":0.00298,"111":0.00298,"112":0.00597,"113":0.01193,"114":0.25356,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 102 103 104 105 106 107 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00597,"13":0.00597,"14":0.00895,"15":0.00298,"16":0.00597,"17":0.00597,"18":0.02983,"81":0.00298,"83":0.00298,"84":0.00597,"88":0.00298,"89":0.01193,"90":0.00895,"92":0.19091,"100":0.0358,"106":0.00298,"107":0.00298,"108":0.00298,"109":0.17003,"110":0.00298,"111":0.00298,"112":0.00298,"114":0.00298,"115":0.00298,"117":0.00298,"118":0.00298,"119":0.00298,"120":0.00895,"121":0.00597,"122":0.02983,"123":0.00597,"124":0.00895,"125":0.01193,"126":0.02088,"127":0.02685,"128":0.0358,"129":0.06563,"130":0.74575,"131":0.49816,_:"79 80 85 86 87 91 93 94 95 96 97 98 99 101 102 103 104 105 113 116"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 17.0 18.2","5.1":0.00298,"13.1":0.00298,"14.1":0.00298,"15.6":0.01193,"16.6":0.00895,"17.1":0.00298,"17.2":0.00298,"17.3":0.00298,"17.4":0.00597,"17.5":0.00895,"17.6":0.01492,"18.0":0.01492,"18.1":0.02386},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0005,"5.0-5.1":0,"6.0-6.1":0.002,"7.0-7.1":0.00249,"8.1-8.4":0,"9.0-9.2":0.002,"9.3":0.00698,"10.0-10.2":0.0015,"10.3":0.01147,"11.0-11.2":0.13471,"11.3-11.4":0.00349,"12.0-12.1":0.002,"12.2-12.5":0.05239,"13.0-13.1":0.001,"13.2":0.01347,"13.3":0.002,"13.4-13.7":0.00748,"14.0-14.4":0.01646,"14.5-14.8":0.02345,"15.0-15.1":0.01347,"15.2-15.3":0.01247,"15.4":0.01497,"15.5":0.01746,"15.6-15.8":0.18709,"16.0":0.03542,"16.1":0.07484,"16.2":0.03792,"16.3":0.06436,"16.4":0.01297,"16.5":0.02594,"16.6-16.7":0.24546,"17.0":0.01796,"17.1":0.02993,"17.2":0.02495,"17.3":0.03792,"17.4":0.08132,"17.5":0.24297,"17.6-17.7":2.09891,"18.0":0.74437,"18.1":0.65407,"18.2":0.02644},P:{"4":0.07097,"20":0.08111,"21":0.1318,"22":0.27374,"23":0.33457,"24":0.40554,"25":0.41568,"26":2.17978,"27":0.59817,"5.0-5.4":0.01014,"6.2-6.4":0.02028,"7.2-7.4":0.17236,"8.2":0.01014,"9.2":0.03042,"10.1":0.01014,"11.1-11.2":0.08111,"12.0":0.03042,"13.0":0.10139,"14.0":0.10139,"15.0":0.03042,"16.0":0.10139,"17.0":0.1318,"18.0":0.09125,"19.0":0.10139},I:{"0":0.007,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"8":0.00896,"9":0.00299,"10":0.00299,"11":2.69662,_:"6 7 5.5"},K:{"0":0.44417,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.06315},H:{"0":0.04},L:{"0":58.35506},R:{_:"0"},M:{"0":1.05957}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IS.js deleted file mode 100644 index ebe1b910..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.02696,"60":0.00539,"77":0.01617,"78":0.00539,"91":0.00539,"102":0.01617,"103":0.06469,"109":0.01078,"113":0.01078,"115":0.15634,"119":0.01078,"125":0.06469,"127":0.00539,"128":0.18329,"129":0.00539,"130":0.01078,"131":0.12399,"132":1.92998,"133":0.13478,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 110 111 112 114 116 117 118 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"38":0.00539,"43":0.00539,"44":0.00539,"45":0.00539,"46":0.00539,"51":0.01078,"70":0.00539,"77":0.00539,"79":0.01617,"85":0.00539,"87":0.01078,"89":0.00539,"90":0.05391,"91":0.00539,"94":0.00539,"95":0.00539,"96":0.02696,"98":0.00539,"100":0.00539,"102":0.02156,"103":0.16173,"104":0.09165,"107":0.00539,"108":0.01617,"109":0.38815,"110":0.01078,"111":0.01078,"112":0.03235,"113":0.94882,"114":1.33697,"116":0.31268,"117":0.02156,"118":0.04852,"119":0.01078,"120":0.22642,"121":0.01078,"122":0.08087,"123":0.03774,"124":0.06469,"125":0.10243,"126":0.26416,"127":0.49058,"128":0.6577,"129":2.36126,"130":17.89273,"131":8.55013,"132":0.00539,"133":0.00539,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 47 48 49 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 78 80 81 83 84 86 88 92 93 97 99 101 105 106 115 134"},F:{"83":0.00539,"85":0.01078,"95":0.10782,"96":0.00539,"113":0.28033,"114":2.07014,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 86 87 88 89 90 91 92 93 94 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.01078,"107":0.01078,"109":0.01078,"120":0.00539,"121":0.01617,"125":0.00539,"126":0.03774,"127":0.01078,"128":0.14556,"129":0.10243,"130":3.13217,"131":2.01084,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 113 114 115 116 117 118 119 122 123 124"},E:{"9":0.01617,"14":0.03235,"15":0.00539,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00539,"13.1":0.0593,"14.1":0.12399,"15.1":0.01078,"15.2-15.3":0.00539,"15.4":0.03235,"15.5":0.03774,"15.6":0.66848,"16.0":0.12938,"16.1":0.04852,"16.2":0.15634,"16.3":0.25338,"16.4":0.0593,"16.5":0.16712,"16.6":0.43128,"17.0":0.04852,"17.1":0.06469,"17.2":0.09704,"17.3":0.28572,"17.4":0.3612,"17.5":0.66848,"17.6":1.99467,"18.0":1.06203,"18.1":1.06203,"18.2":0.01078},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00213,"5.0-5.1":0,"6.0-6.1":0.00854,"7.0-7.1":0.01067,"8.1-8.4":0,"9.0-9.2":0.00854,"9.3":0.02988,"10.0-10.2":0.0064,"10.3":0.04909,"11.0-11.2":0.5763,"11.3-11.4":0.01494,"12.0-12.1":0.00854,"12.2-12.5":0.22412,"13.0-13.1":0.00427,"13.2":0.05763,"13.3":0.00854,"13.4-13.7":0.03202,"14.0-14.4":0.07044,"14.5-14.8":0.10032,"15.0-15.1":0.05763,"15.2-15.3":0.05336,"15.4":0.06403,"15.5":0.07471,"15.6-15.8":0.80041,"16.0":0.15154,"16.1":0.32016,"16.2":0.16222,"16.3":0.27534,"16.4":0.0555,"16.5":0.11099,"16.6-16.7":1.05014,"17.0":0.07684,"17.1":0.12807,"17.2":0.10672,"17.3":0.16222,"17.4":0.34791,"17.5":1.03947,"17.6-17.7":8.97955,"18.0":3.18457,"18.1":2.79824,"18.2":0.11312},P:{"4":0.02062,"20":0.01031,"21":0.01031,"23":0.01031,"24":0.01031,"25":0.04124,"26":1.69095,"27":1.45381,_:"22 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","17.0":0.02062},I:{"0":0.069,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"7":0.00539,"8":0.02696,"9":0.00539,"10":0.00539,"11":0.02156,_:"6 5.5"},K:{"0":0.17979,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00461,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01844},O:{"0":0.01844},H:{"0":0},L:{"0":20.59567},R:{_:"0"},M:{"0":0.4149}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IT.js deleted file mode 100644 index 4e1be433..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/IT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.00509,"52":0.02543,"59":0.05085,"68":0.00509,"78":0.04577,"88":0.02034,"102":0.00509,"113":0.01017,"114":0.00509,"115":0.40172,"118":0.00509,"119":0.00509,"121":0.00509,"123":0.00509,"124":0.00509,"125":0.01017,"126":0.46782,"127":0.01526,"128":0.10679,"129":0.01526,"130":0.02543,"131":0.21866,"132":2.82726,"133":0.22374,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 116 117 120 122 134 135 136 3.5 3.6"},D:{"38":0.00509,"49":0.02034,"52":0.00509,"63":0.06102,"66":0.2034,"70":0.00509,"79":0.02034,"81":0.01017,"85":0.01526,"86":0.01526,"87":0.0356,"88":0.01017,"89":0.01017,"90":0.00509,"91":0.00509,"92":0.27968,"94":0.01017,"96":0.00509,"98":0.00509,"99":0.00509,"100":0.00509,"101":0.00509,"102":0.00509,"103":0.1017,"104":0.02034,"105":0.01526,"106":0.01017,"107":0.01017,"108":0.01526,"109":1.77467,"110":0.01017,"111":0.02034,"112":0.01017,"113":0.02543,"114":0.04577,"115":0.00509,"116":0.32544,"117":0.01526,"118":0.0356,"119":0.0356,"120":0.04068,"121":0.03051,"122":0.12204,"123":0.1017,"124":0.13221,"125":0.08645,"126":0.16781,"127":0.1017,"128":0.39155,"129":1.13396,"130":20.83325,"131":9.64116,"132":0.01017,"133":0.00509,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 53 54 55 56 57 58 59 60 61 62 64 65 67 68 69 71 72 73 74 75 76 77 78 80 83 84 93 95 97 134"},F:{"46":0.00509,"85":0.02034,"95":0.02034,"102":0.00509,"113":0.05594,"114":0.96615,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.02543,"85":0.00509,"90":0.08136,"92":0.00509,"103":0.00509,"107":0.00509,"109":0.05594,"112":0.00509,"113":0.00509,"114":0.00509,"115":0.02543,"117":0.00509,"119":0.00509,"120":0.00509,"121":0.00509,"122":0.00509,"123":0.00509,"124":0.01017,"125":0.01017,"126":0.02034,"127":0.01017,"128":0.03051,"129":0.1017,"130":2.1357,"131":1.4238,_:"12 13 14 15 16 18 79 80 81 83 84 86 87 88 89 91 93 94 95 96 97 98 99 100 101 102 104 105 106 108 110 111 116 118"},E:{"13":0.00509,"14":0.02034,"15":0.00509,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1","9.1":0.00509,"11.1":0.04068,"12.1":0.01017,"13.1":0.06611,"14.1":0.239,"15.1":0.01017,"15.2-15.3":0.01017,"15.4":0.01526,"15.5":0.02543,"15.6":0.2034,"16.0":0.02034,"16.1":0.04068,"16.2":0.03051,"16.3":0.05594,"16.4":0.03051,"16.5":0.0356,"16.6":0.18815,"17.0":0.03051,"17.1":0.05085,"17.2":0.06102,"17.3":0.05085,"17.4":0.10679,"17.5":0.239,"17.6":0.82886,"18.0":0.49833,"18.1":0.62037,"18.2":0.01526},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00126,"5.0-5.1":0,"6.0-6.1":0.00503,"7.0-7.1":0.00629,"8.1-8.4":0,"9.0-9.2":0.00503,"9.3":0.0176,"10.0-10.2":0.00377,"10.3":0.02892,"11.0-11.2":0.33946,"11.3-11.4":0.0088,"12.0-12.1":0.00503,"12.2-12.5":0.13201,"13.0-13.1":0.00251,"13.2":0.03395,"13.3":0.00503,"13.4-13.7":0.01886,"14.0-14.4":0.04149,"14.5-14.8":0.05909,"15.0-15.1":0.03395,"15.2-15.3":0.03143,"15.4":0.03772,"15.5":0.044,"15.6-15.8":0.47147,"16.0":0.08927,"16.1":0.18859,"16.2":0.09555,"16.3":0.16219,"16.4":0.03269,"16.5":0.06538,"16.6-16.7":0.61857,"17.0":0.04526,"17.1":0.07544,"17.2":0.06286,"17.3":0.09555,"17.4":0.20493,"17.5":0.61228,"17.6-17.7":5.28928,"18.0":1.87583,"18.1":1.64826,"18.2":0.06663},P:{"4":0.05165,"20":0.01033,"21":0.03099,"22":0.04132,"23":0.03099,"24":0.15496,"25":0.05165,"26":1.44626,"27":0.92974,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 12.0 16.0","6.2-6.4":0.01033,"11.1-11.2":0.01033,"13.0":0.01033,"14.0":0.01033,"15.0":0.01033,"17.0":0.01033,"18.0":0.01033,"19.0":0.02066},I:{"0":0.02943,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.23391,_:"6 7 8 9 10 5.5"},K:{"0":0.32931,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00492},O:{"0":0.07864},H:{"0":0},L:{"0":33.00075},R:{_:"0"},M:{"0":0.52099}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JE.js deleted file mode 100644 index 46c8de43..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.00435,"115":0.12188,"128":0.02177,"129":0.00435,"130":0.02177,"131":0.04353,"132":2.51603,"133":0.29165,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 134 135 136 3.5 3.6"},D:{"49":0.00435,"76":0.01306,"79":0.00435,"80":0.07835,"87":0.00871,"88":0.0653,"90":0.00435,"91":0.11318,"93":0.00435,"94":0.00871,"97":0.00435,"98":0.03482,"99":0.03047,"102":0.00435,"103":0.08271,"109":0.23071,"115":0.00435,"116":0.04788,"117":0.00435,"119":0.00435,"120":0.00871,"121":0.00435,"122":0.08271,"123":0.03918,"124":0.02612,"125":0.01306,"126":0.11318,"127":0.05659,"128":0.35259,"129":1.7412,"130":7.78316,"131":6.99962,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 81 83 84 85 86 89 92 95 96 100 101 104 105 106 107 108 110 111 112 113 114 118 132 133 134"},F:{"83":0.00435,"89":0.00435,"112":0.00435,"113":0.03047,"114":0.37871,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"98":0.00435,"108":0.00435,"109":0.04353,"120":0.08271,"123":0.00435,"126":0.00435,"128":0.01741,"129":0.26553,"130":4.62289,"131":2.8991,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 118 119 121 122 124 125 127"},E:{"10":0.00435,"14":0.0653,"15":0.00435,_:"0 4 5 6 7 8 9 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.01741,"13.1":0.02177,"14.1":0.09577,"15.1":0.01306,"15.2-15.3":0.03482,"15.4":0.00871,"15.5":0.02612,"15.6":0.95766,"16.0":0.06094,"16.1":0.35259,"16.2":0.03918,"16.3":0.13494,"16.4":0.13494,"16.5":0.074,"16.6":0.80531,"17.0":0.02177,"17.1":0.03918,"17.2":0.09577,"17.3":0.31777,"17.4":0.11753,"17.5":0.37001,"17.6":5.13219,"18.0":0.62248,"18.1":1.07519,"18.2":0.04788},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00311,"5.0-5.1":0,"6.0-6.1":0.01246,"7.0-7.1":0.01557,"8.1-8.4":0,"9.0-9.2":0.01246,"9.3":0.04361,"10.0-10.2":0.00934,"10.3":0.07164,"11.0-11.2":0.84102,"11.3-11.4":0.0218,"12.0-12.1":0.01246,"12.2-12.5":0.32706,"13.0-13.1":0.00623,"13.2":0.0841,"13.3":0.01246,"13.4-13.7":0.04672,"14.0-14.4":0.10279,"14.5-14.8":0.1464,"15.0-15.1":0.0841,"15.2-15.3":0.07787,"15.4":0.09345,"15.5":0.10902,"15.6-15.8":1.16808,"16.0":0.22116,"16.1":0.46723,"16.2":0.23673,"16.3":0.40182,"16.4":0.08099,"16.5":0.16197,"16.6-16.7":1.53252,"17.0":0.11214,"17.1":0.18689,"17.2":0.15574,"17.3":0.23673,"17.4":0.50773,"17.5":1.51695,"17.6-17.7":13.10432,"18.0":4.64741,"18.1":4.08361,"18.2":0.16509},P:{"4":0.31909,"20":0.011,"21":0.011,"22":0.011,"23":0.011,"24":0.011,"25":0.04401,"26":1.76052,"27":1.81553,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 17.0 18.0 19.0","6.2-6.4":0.011,"16.0":0.05502},I:{"0":0.00563,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.00435,_:"6 7 8 9 10 5.5"},K:{"0":0.03953,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00565},H:{"0":0},L:{"0":22.11334},R:{_:"0"},M:{"0":0.17506}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JM.js deleted file mode 100644 index cb14e58d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.03057,"115":0.04446,"127":0.00278,"128":0.03335,"129":0.00278,"130":0.00834,"131":0.04446,"132":0.85871,"133":0.08059,"134":0.00556,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 135 136 3.5 3.6"},D:{"11":0.00278,"43":0.00278,"49":0.00556,"50":0.00278,"58":0.00278,"63":0.00278,"65":0.0139,"69":0.00834,"70":0.0139,"72":0.00278,"73":0.0528,"74":0.00278,"75":0.00556,"76":0.02223,"77":0.00278,"78":0.00278,"79":0.02779,"81":0.02501,"83":0.23066,"84":0.00278,"86":0.00278,"87":0.03891,"88":0.00278,"89":0.00278,"91":0.00556,"92":0.00278,"93":0.04446,"94":0.03891,"95":0.00278,"97":0.00278,"98":0.00834,"99":0.00278,"100":0.00278,"101":0.00556,"102":0.00834,"103":0.1584,"104":0.00278,"105":0.01112,"106":0.00278,"107":0.00278,"108":0.00556,"109":0.35571,"110":0.00556,"111":0.01945,"112":0.00834,"113":0.00278,"114":0.00834,"115":0.00556,"116":0.08059,"117":0.01945,"118":0.01112,"119":0.02223,"120":0.02779,"121":0.01945,"122":0.03891,"123":0.0139,"124":0.0667,"125":0.02223,"126":0.13617,"127":0.0528,"128":0.12783,"129":0.70309,"130":9.27352,"131":5.14671,"132":0.02223,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 51 52 53 54 55 56 57 59 60 61 62 64 66 67 68 71 80 85 90 96 133 134"},F:{"28":0.00278,"46":0.00278,"85":0.04446,"86":0.00278,"89":0.00278,"95":0.00834,"103":0.00278,"113":0.06392,"114":0.60026,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 90 91 92 93 94 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00278,"17":0.00278,"18":0.00556,"92":0.01112,"100":0.00278,"109":0.01112,"114":0.00278,"118":0.00278,"120":0.00278,"121":0.00278,"124":0.00278,"125":0.00556,"126":0.00556,"127":0.00556,"128":0.01667,"129":0.1584,"130":2.74287,"131":1.62849,_:"12 13 14 15 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 119 122 123"},E:{"11":0.00278,"14":0.01112,"15":0.00278,_:"0 4 5 6 7 8 9 10 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1","11.1":0.00278,"13.1":0.16396,"14.1":0.03891,"15.1":0.00556,"15.2-15.3":0.00278,"15.4":0.00556,"15.5":0.00834,"15.6":0.09449,"16.0":0.01112,"16.1":0.01112,"16.2":0.01945,"16.3":0.02501,"16.4":0.00834,"16.5":0.0139,"16.6":0.13061,"17.0":0.01112,"17.1":0.02501,"17.2":0.03891,"17.3":0.00834,"17.4":0.03057,"17.5":0.1056,"17.6":0.53913,"18.0":0.33348,"18.1":0.40573,"18.2":0.02501},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00255,"5.0-5.1":0,"6.0-6.1":0.01021,"7.0-7.1":0.01277,"8.1-8.4":0,"9.0-9.2":0.01021,"9.3":0.03575,"10.0-10.2":0.00766,"10.3":0.05873,"11.0-11.2":0.6894,"11.3-11.4":0.01787,"12.0-12.1":0.01021,"12.2-12.5":0.2681,"13.0-13.1":0.00511,"13.2":0.06894,"13.3":0.01021,"13.4-13.7":0.0383,"14.0-14.4":0.08426,"14.5-14.8":0.12001,"15.0-15.1":0.06894,"15.2-15.3":0.06383,"15.4":0.0766,"15.5":0.08937,"15.6-15.8":0.9575,"16.0":0.18129,"16.1":0.383,"16.2":0.19405,"16.3":0.32938,"16.4":0.06639,"16.5":0.13277,"16.6-16.7":1.25625,"17.0":0.09192,"17.1":0.1532,"17.2":0.12767,"17.3":0.19405,"17.4":0.4162,"17.5":1.24348,"17.6-17.7":10.74192,"18.0":3.80959,"18.1":3.34744,"18.2":0.13533},P:{"4":0.23222,"20":0.05278,"21":0.02111,"22":0.10555,"23":0.06333,"24":0.07389,"25":0.06333,"26":1.69942,"27":1.04498,"5.0-5.4":0.01056,"6.2-6.4":0.01056,"7.2-7.4":0.14778,_:"8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 17.0 18.0","13.0":0.03167,"16.0":0.01056,"19.0":0.02111},I:{"0":0.05764,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"11":0.00556,_:"6 7 8 9 10 5.5"},K:{"0":0.36105,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01444},O:{"0":0.14442},H:{"0":0},L:{"0":44.13373},R:{_:"0"},M:{"0":0.18775}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JO.js deleted file mode 100644 index d80a2ed1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00456,"39":0.00228,"52":0.00456,"56":0.00228,"70":0.00228,"78":0.00456,"91":0.00228,"103":0.00456,"106":0.00228,"107":0.00228,"110":0.00228,"111":0.00228,"115":0.14364,"117":0.00228,"118":0.00228,"119":0.00228,"125":0.00228,"126":0.00228,"127":0.00456,"128":0.02964,"129":0.00456,"130":0.00228,"131":0.01824,"132":0.48792,"133":0.0456,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 104 105 108 109 112 113 114 116 120 121 122 123 124 134 135 136 3.5 3.6"},D:{"11":0.0114,"34":0.00912,"38":0.00228,"47":0.00228,"49":0.00456,"50":0.00228,"58":0.09348,"63":0.00228,"65":0.00228,"66":0.00456,"68":0.00684,"69":0.00228,"70":0.00912,"73":0.00912,"74":0.00684,"76":0.00228,"77":0.00228,"78":0.00456,"79":0.01824,"80":0.00456,"81":0.00684,"83":0.05472,"85":0.00228,"86":0.00228,"87":0.03876,"88":0.0114,"89":0.00228,"90":0.00912,"91":0.00456,"92":0.00228,"93":0.00228,"94":0.02964,"95":0.0114,"96":0.00912,"98":0.0684,"99":0.00456,"100":0.00684,"101":0.00228,"102":0.00456,"103":0.01596,"104":0.01596,"105":0.00912,"106":0.01368,"107":0.01368,"108":0.01596,"109":1.15368,"110":0.0228,"111":0.0114,"112":0.01824,"113":0.00228,"114":0.04788,"115":0.00228,"116":0.02052,"117":0.00912,"118":0.01596,"119":0.0228,"120":0.0342,"121":0.01368,"122":0.07068,"123":0.02964,"124":0.11856,"125":0.04104,"126":0.03876,"127":0.04332,"128":0.10944,"129":0.51984,"130":8.11452,"131":5.2326,"132":0.00456,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 51 52 53 54 55 56 57 59 60 61 62 64 67 71 72 75 84 97 133 134"},F:{"46":0.00456,"73":0.00228,"79":0.00912,"82":0.01596,"83":0.00456,"84":0.00228,"85":0.00456,"92":0.00228,"95":0.01824,"99":0.00228,"102":0.00228,"103":0.00228,"104":0.00228,"107":0.00228,"109":0.03192,"111":0.00456,"112":0.02736,"113":0.05016,"114":0.2736,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 86 87 88 89 90 91 93 94 96 97 98 100 101 105 106 108 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00228,"18":0.00456,"84":0.00228,"89":0.00228,"92":0.01368,"100":0.0114,"103":0.00684,"106":0.00228,"107":0.00228,"109":0.0114,"112":0.00228,"113":0.00228,"114":0.00228,"116":0.00684,"117":0.00684,"118":0.00456,"120":0.00456,"121":0.00456,"122":0.00228,"123":0.00228,"124":0.00228,"125":0.00228,"126":0.00456,"127":0.01824,"128":0.02052,"129":0.04104,"130":1.20384,"131":0.77976,_:"13 14 15 16 17 79 80 81 83 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 104 105 108 110 111 115 119"},E:{"14":0.00684,"15":0.00228,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1","5.1":0.00228,"13.1":0.01368,"14.1":0.00912,"15.1":0.00456,"15.2-15.3":0.00228,"15.4":0.00228,"15.5":0.00228,"15.6":0.10716,"16.0":0.00684,"16.1":0.01368,"16.2":0.00228,"16.3":0.01368,"16.4":0.00228,"16.5":0.00228,"16.6":0.0456,"17.0":0.00912,"17.1":0.00912,"17.2":0.01368,"17.3":0.01368,"17.4":0.04332,"17.5":0.07524,"17.6":0.23028,"18.0":0.16644,"18.1":0.1482,"18.2":0.00456},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00115,"5.0-5.1":0,"6.0-6.1":0.0046,"7.0-7.1":0.00575,"8.1-8.4":0,"9.0-9.2":0.0046,"9.3":0.01611,"10.0-10.2":0.00345,"10.3":0.02646,"11.0-11.2":0.31062,"11.3-11.4":0.00805,"12.0-12.1":0.0046,"12.2-12.5":0.1208,"13.0-13.1":0.0023,"13.2":0.03106,"13.3":0.0046,"13.4-13.7":0.01726,"14.0-14.4":0.03796,"14.5-14.8":0.05407,"15.0-15.1":0.03106,"15.2-15.3":0.02876,"15.4":0.03451,"15.5":0.04027,"15.6-15.8":0.43141,"16.0":0.08168,"16.1":0.17256,"16.2":0.08743,"16.3":0.14841,"16.4":0.02991,"16.5":0.05982,"16.6-16.7":0.56601,"17.0":0.04142,"17.1":0.06903,"17.2":0.05752,"17.3":0.08743,"17.4":0.18752,"17.5":0.56026,"17.6-17.7":4.83985,"18.0":1.71644,"18.1":1.50821,"18.2":0.06097},P:{"4":0.06096,"20":0.02032,"21":0.07112,"22":0.08128,"23":0.11176,"24":0.11176,"25":0.11176,"26":2.01171,"27":1.53418,"5.0-5.4":0.02032,"6.2-6.4":0.02032,"7.2-7.4":0.1016,_:"8.2 9.2 10.1 12.0","11.1-11.2":0.04064,"13.0":0.02032,"14.0":0.04064,"15.0":0.01016,"16.0":0.04064,"17.0":0.02032,"18.0":0.02032,"19.0":0.02032},I:{"0":0.03852,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"11":0.02052,_:"6 7 8 9 10 5.5"},K:{"0":0.19847,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.17758},H:{"0":0.01},L:{"0":62.44639},R:{_:"0"},M:{"0":0.1853}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JP.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JP.js deleted file mode 100644 index 3524f1fe..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/JP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"47":0.00544,"48":0.01088,"52":0.02176,"56":0.00544,"78":0.03264,"86":0.00544,"88":0.00544,"89":0.02176,"101":0.00544,"102":0.01088,"103":0.0272,"105":0.00544,"106":0.00544,"107":0.00544,"108":0.01088,"109":0.01088,"110":0.00544,"111":0.00544,"113":0.02176,"115":0.50592,"119":0.00544,"121":0.00544,"122":0.00544,"124":0.00544,"125":0.02176,"126":0.00544,"127":0.01632,"128":0.0816,"129":0.01088,"130":0.0272,"131":0.14144,"132":2.27936,"133":0.20128,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 87 90 91 92 93 94 95 96 97 98 99 100 104 112 114 116 117 118 120 123 134 135 136 3.5 3.6"},D:{"48":0.00544,"49":0.0272,"52":0.00544,"65":0.00544,"67":0.00544,"68":0.00544,"70":0.01632,"74":0.00544,"75":0.01088,"76":0.00544,"77":0.00544,"78":0.00544,"79":0.01088,"80":0.00544,"81":0.0544,"83":0.01088,"84":0.00544,"85":0.00544,"86":0.0272,"87":0.01632,"88":0.00544,"89":0.01088,"90":0.01088,"91":0.10336,"92":0.31552,"93":0.00544,"94":0.00544,"95":0.02176,"96":0.00544,"97":0.01088,"98":0.02176,"99":0.01088,"100":0.69632,"101":0.02176,"102":0.01632,"103":0.07616,"104":0.05984,"105":0.03808,"106":0.1088,"107":0.136,"108":0.14144,"109":0.96288,"110":0.09248,"111":0.07616,"112":0.1088,"113":0.04896,"114":0.07072,"115":0.01088,"116":0.16864,"117":0.01632,"118":0.07616,"119":0.10336,"120":0.05984,"121":0.09248,"122":0.07616,"123":0.06528,"124":0.12512,"125":0.3536,"126":0.16864,"127":0.16864,"128":0.41888,"129":1.17504,"130":12.72416,"131":7.45824,"132":0.0272,"133":0.01088,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 69 71 72 73 134"},F:{"85":0.04896,"86":0.00544,"91":0.00544,"92":0.00544,"94":0.01088,"95":0.02176,"113":0.01088,"114":0.2992,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 93 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00544,"18":0.00544,"92":0.01088,"101":0.00544,"105":0.00544,"106":0.00544,"107":0.01632,"108":0.02176,"109":0.26112,"110":0.01088,"111":0.01632,"112":0.00544,"113":0.01088,"114":0.01088,"115":0.01088,"116":0.00544,"117":0.03264,"118":0.00544,"119":0.01088,"120":0.02176,"121":0.01088,"122":0.02176,"123":0.01088,"124":0.02176,"125":0.01632,"126":0.04352,"127":0.04896,"128":0.08704,"129":0.23936,"130":6.37568,"131":4.2704,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 102 103 104"},E:{"13":0.00544,"14":0.03808,"15":0.00544,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.01632,"13.1":0.05984,"14.1":0.11968,"15.1":0.00544,"15.2-15.3":0.00544,"15.4":0.0272,"15.5":0.0272,"15.6":0.19584,"16.0":0.03264,"16.1":0.03808,"16.2":0.03264,"16.3":0.05984,"16.4":0.03264,"16.5":0.03808,"16.6":0.26656,"17.0":0.01088,"17.1":0.02176,"17.2":0.0272,"17.3":0.0272,"17.4":0.10336,"17.5":0.18496,"17.6":1.02272,"18.0":0.29376,"18.1":0.41344,"18.2":0.01088},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00217,"5.0-5.1":0,"6.0-6.1":0.00869,"7.0-7.1":0.01086,"8.1-8.4":0,"9.0-9.2":0.00869,"9.3":0.03042,"10.0-10.2":0.00652,"10.3":0.04998,"11.0-11.2":0.58667,"11.3-11.4":0.01521,"12.0-12.1":0.00869,"12.2-12.5":0.22815,"13.0-13.1":0.00435,"13.2":0.05867,"13.3":0.00869,"13.4-13.7":0.03259,"14.0-14.4":0.0717,"14.5-14.8":0.10212,"15.0-15.1":0.05867,"15.2-15.3":0.05432,"15.4":0.06519,"15.5":0.07605,"15.6-15.8":0.81482,"16.0":0.15427,"16.1":0.32593,"16.2":0.16514,"16.3":0.2803,"16.4":0.05649,"16.5":0.11299,"16.6-16.7":1.06904,"17.0":0.07822,"17.1":0.13037,"17.2":0.10864,"17.3":0.16514,"17.4":0.35417,"17.5":1.05817,"17.6-17.7":9.14114,"18.0":3.24188,"18.1":2.84859,"18.2":0.11516},P:{"20":0.01082,"22":0.01082,"23":0.01082,"24":0.01082,"25":0.02164,"26":0.49762,"27":0.43271,_:"4 21 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","17.0":0.01082,"19.0":0.01082},I:{"0":0.0455,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"6":0.01904,"8":0.01904,"9":0.03808,"11":0.26656,_:"7 10 5.5"},K:{"0":0.16416,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.10944},O:{"0":0.26904},H:{"0":0},L:{"0":28.918},R:{_:"0"},M:{"0":0.48792}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KE.js deleted file mode 100644 index 988dda7d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00299,"47":0.00599,"52":0.00599,"66":0.00299,"72":0.00299,"78":0.00898,"103":0.00299,"112":0.00299,"113":0.00599,"115":0.19461,"118":0.00599,"119":0.00599,"120":0.00299,"122":0.00599,"123":0.01497,"124":0.00299,"125":0.0479,"126":0.00898,"127":0.01796,"128":0.03593,"129":0.01198,"130":0.01497,"131":0.10479,"132":1.17964,"133":0.11377,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 114 116 117 121 134 135 136 3.5 3.6"},D:{"11":0.00599,"34":0.00299,"38":0.00299,"43":0.00299,"49":0.00599,"50":0.00299,"51":0.00599,"54":0.00299,"56":0.00599,"57":0.00299,"58":0.00299,"64":0.00299,"65":0.00599,"66":0.00898,"68":0.00299,"69":0.00599,"70":0.00898,"71":0.00299,"72":0.01198,"73":0.05689,"74":0.00599,"75":0.00599,"76":0.01497,"77":0.00599,"78":0.00299,"79":0.03892,"80":0.00299,"81":0.00898,"83":0.11078,"84":0.00299,"86":0.00299,"87":0.03892,"88":0.04192,"89":0.00299,"90":0.00299,"91":0.00599,"92":0.00299,"93":0.01796,"94":0.01796,"95":0.01497,"96":0.00299,"97":0.00299,"98":0.02695,"99":0.00299,"100":0.00898,"101":0.00599,"102":0.00599,"103":0.07485,"104":0.01198,"105":0.00599,"106":0.01796,"107":0.00898,"108":0.01796,"109":1.02095,"110":0.00898,"111":0.02695,"112":0.00599,"113":0.02096,"114":0.02096,"115":0.00299,"116":0.05689,"117":0.00599,"118":0.00898,"119":0.06587,"120":0.02695,"121":0.02395,"122":0.05988,"123":0.04192,"124":0.03892,"125":0.04491,"126":0.08683,"127":0.06587,"128":0.16168,"129":0.45209,"130":9.64367,"131":6.40117,"132":0.02096,"133":0.00299,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 44 45 46 47 48 52 53 55 59 60 61 62 63 67 85 134"},F:{"36":0.00299,"46":0.00898,"79":0.00299,"83":0.01198,"84":0.04491,"85":0.08383,"86":0.00898,"95":0.01796,"112":0.00299,"113":0.01796,"114":0.58084,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00299,"13":0.00299,"14":0.00299,"15":0.00299,"16":0.00299,"18":0.00898,"89":0.00299,"90":0.00299,"92":0.03293,"100":0.00299,"107":0.00299,"109":0.02096,"111":0.00299,"113":0.00599,"114":0.01497,"119":0.00299,"120":0.00299,"121":0.00599,"122":0.00898,"123":0.00299,"124":0.01497,"125":0.01198,"126":0.01198,"127":0.02395,"128":0.03593,"129":0.0509,"130":1.4491,"131":0.93113,_:"17 79 80 81 83 84 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 112 115 116 117 118"},E:{"14":0.00299,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.1","5.1":0.02695,"12.1":0.00299,"13.1":0.00898,"14.1":0.01796,"15.2-15.3":0.00299,"15.4":0.00299,"15.5":0.00299,"15.6":0.05689,"16.0":0.00599,"16.1":0.00299,"16.2":0.00299,"16.3":0.00599,"16.4":0.00599,"16.5":0.00898,"16.6":0.11078,"17.0":0.00599,"17.1":0.00898,"17.2":0.00599,"17.3":0.01198,"17.4":0.01497,"17.5":0.03293,"17.6":0.09581,"18.0":0.05988,"18.1":0.0988,"18.2":0.00599},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00021,"5.0-5.1":0,"6.0-6.1":0.00082,"7.0-7.1":0.00103,"8.1-8.4":0,"9.0-9.2":0.00082,"9.3":0.00288,"10.0-10.2":0.00062,"10.3":0.00474,"11.0-11.2":0.05561,"11.3-11.4":0.00144,"12.0-12.1":0.00082,"12.2-12.5":0.02162,"13.0-13.1":0.00041,"13.2":0.00556,"13.3":0.00082,"13.4-13.7":0.00309,"14.0-14.4":0.0068,"14.5-14.8":0.00968,"15.0-15.1":0.00556,"15.2-15.3":0.00515,"15.4":0.00618,"15.5":0.00721,"15.6-15.8":0.07723,"16.0":0.01462,"16.1":0.03089,"16.2":0.01565,"16.3":0.02657,"16.4":0.00535,"16.5":0.01071,"16.6-16.7":0.10133,"17.0":0.00741,"17.1":0.01236,"17.2":0.0103,"17.3":0.01565,"17.4":0.03357,"17.5":0.1003,"17.6-17.7":0.86642,"18.0":0.30727,"18.1":0.27,"18.2":0.01092},P:{"4":0.23699,"20":0.0103,"21":0.0103,"22":0.06182,"23":0.04122,"24":0.15456,"25":0.05152,"26":0.52551,"27":0.35034,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","6.2-6.4":0.0103,"7.2-7.4":0.11335,"17.0":0.0103,"19.0":0.02061},I:{"0":0.10484,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"10":0.00362,"11":0.08321,_:"6 7 8 9 5.5"},K:{"0":12.99109,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.04203},O:{"0":0.15411},H:{"0":3.94},L:{"0":53.39714},R:{_:"0"},M:{"0":0.22416}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KG.js deleted file mode 100644 index 406b94e8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.02507,"79":0.01075,"84":0.00358,"89":0.00358,"90":0.08955,"94":0.01075,"109":0.00358,"113":0.02149,"115":0.27223,"116":0.00716,"119":0.01791,"121":0.00358,"123":0.01075,"125":0.06806,"126":0.00358,"127":0.00358,"128":0.01791,"129":0.00358,"130":0.01075,"131":0.03582,"132":0.81311,"133":0.1003,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 85 86 87 88 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 114 117 118 120 122 124 134 135 136 3.5 3.6"},D:{"29":0.00358,"41":0.00358,"47":0.00358,"49":0.01791,"50":0.01075,"55":0.00358,"57":0.01075,"58":3.13783,"60":0.01433,"67":0.00358,"71":0.00358,"75":0.00358,"78":0.00358,"79":0.02149,"80":0.00358,"83":0.00716,"84":0.02149,"85":0.00716,"86":0.00358,"87":0.01433,"88":0.00716,"89":0.00716,"90":0.00358,"91":0.00358,"92":0.01075,"94":0.0394,"97":0.00358,"100":0.00358,"101":0.08239,"102":0.00716,"103":0.01791,"105":0.00358,"106":0.03582,"107":0.00716,"108":0.01433,"109":1.96294,"110":0.00358,"111":0.00358,"112":0.01075,"114":0.02149,"115":0.00358,"116":0.0394,"117":0.00358,"118":0.04657,"119":0.01075,"120":0.13612,"121":0.02149,"122":0.08597,"123":0.04298,"124":0.05373,"125":0.04298,"126":0.11462,"127":0.05373,"128":0.48357,"129":0.58028,"130":10.01169,"131":6.39387,"132":0.00716,"133":0.00716,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 48 51 52 53 54 56 59 61 62 63 64 65 66 68 69 70 72 73 74 76 77 81 93 95 96 98 99 104 113 134"},F:{"42":0.06806,"70":0.00358,"79":0.00716,"80":0.00358,"82":0.00358,"85":0.03224,"86":0.00358,"95":0.15761,"102":0.00358,"113":0.03224,"114":1.49369,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 81 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00358,"18":0.00716,"92":0.01791,"100":0.00358,"109":0.01433,"110":0.00716,"112":0.00358,"115":0.01075,"120":0.00716,"121":0.00358,"122":0.00358,"125":0.00716,"127":0.00716,"128":0.00358,"129":0.05015,"130":1.06385,"131":1.0746,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 113 114 116 117 118 119 123 124 126"},E:{"14":0.01075,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","5.1":0.0788,"13.1":0.13253,"14.1":0.03582,"15.1":0.00358,"15.4":0.00358,"15.5":0.00358,"15.6":0.06806,"16.0":0.00358,"16.1":0.01075,"16.2":0.00358,"16.3":0.01433,"16.4":0.00716,"16.5":0.00716,"16.6":0.08597,"17.0":0.00716,"17.1":0.05731,"17.2":0.01791,"17.3":0.02507,"17.4":0.04298,"17.5":0.12537,"17.6":0.36178,"18.0":0.19343,"18.1":0.29372,"18.2":0.00358},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00104,"5.0-5.1":0,"6.0-6.1":0.00417,"7.0-7.1":0.00521,"8.1-8.4":0,"9.0-9.2":0.00417,"9.3":0.01458,"10.0-10.2":0.00312,"10.3":0.02396,"11.0-11.2":0.28124,"11.3-11.4":0.00729,"12.0-12.1":0.00417,"12.2-12.5":0.10937,"13.0-13.1":0.00208,"13.2":0.02812,"13.3":0.00417,"13.4-13.7":0.01562,"14.0-14.4":0.03437,"14.5-14.8":0.04896,"15.0-15.1":0.02812,"15.2-15.3":0.02604,"15.4":0.03125,"15.5":0.03646,"15.6-15.8":0.39062,"16.0":0.07396,"16.1":0.15625,"16.2":0.07916,"16.3":0.13437,"16.4":0.02708,"16.5":0.05417,"16.6-16.7":0.51249,"17.0":0.0375,"17.1":0.0625,"17.2":0.05208,"17.3":0.07916,"17.4":0.16979,"17.5":0.50728,"17.6-17.7":4.38219,"18.0":1.55413,"18.1":1.36559,"18.2":0.05521},P:{"4":0.06179,"20":0.0103,"21":0.06179,"22":0.0309,"23":0.04119,"24":0.08239,"25":0.07209,"26":0.54583,"27":0.27806,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","6.2-6.4":0.0103,"7.2-7.4":0.08239,"13.0":0.0206,"17.0":0.0103,"18.0":0.0103,"19.0":0.0103},I:{"0":0.02562,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.02022,"9":0.00404,"10":0.00404,"11":0.22243,_:"6 7 5.5"},K:{"0":0.53269,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00642,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.02567},O:{"0":0.49419},H:{"0":0},L:{"0":50.27321},R:{_:"0"},M:{"0":0.13478}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KH.js deleted file mode 100644 index 716bd187..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.00389,"39":0.00389,"47":0.03109,"50":0.00777,"51":0.01166,"52":0.01943,"58":0.00389,"60":0.00389,"67":0.00389,"68":0.00389,"72":0.00389,"75":0.01166,"78":0.05052,"91":0.00777,"102":0.02332,"103":0.05829,"105":0.00777,"106":0.00389,"107":0.00389,"109":0.00777,"110":0.00389,"111":0.01943,"112":0.00389,"114":0.00777,"115":0.13212,"116":0.00389,"118":0.00389,"124":0.00389,"125":0.01166,"127":0.01166,"128":0.01166,"129":0.00777,"130":0.01554,"131":0.0544,"132":1.31735,"133":0.08938,"134":0.00389,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 48 49 53 54 55 56 57 59 61 62 63 64 65 66 69 70 71 73 74 76 77 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 104 108 113 117 119 120 121 122 123 126 135 136 3.5 3.6"},D:{"29":0.00389,"37":0.01554,"38":0.01166,"41":0.00389,"43":0.00389,"45":0.00389,"48":0.00389,"49":0.00389,"51":0.00389,"56":0.07383,"57":0.00389,"58":0.00389,"69":0.01943,"70":0.00389,"71":0.00389,"72":0.00389,"75":0.00389,"76":0.00389,"77":0.00389,"78":0.00389,"79":0.03886,"80":0.01554,"81":0.01554,"83":0.00777,"84":0.00389,"85":0.03497,"86":0.01554,"87":0.06606,"88":0.00389,"89":0.00389,"90":0.00777,"91":0.00389,"94":0.0272,"95":0.00389,"97":0.00777,"98":0.01554,"99":0.00777,"100":0.01166,"101":0.00389,"102":0.01943,"103":0.04275,"104":0.11658,"105":0.0272,"106":0.06995,"107":0.08161,"108":0.10492,"109":0.58679,"110":0.06995,"111":0.04663,"112":0.0544,"113":0.00389,"114":0.03886,"115":0.01166,"116":0.08938,"117":0.03886,"118":0.0272,"119":0.03109,"120":0.04663,"121":0.03497,"122":0.05829,"123":0.03886,"124":0.15544,"125":0.0544,"126":0.25259,"127":0.18653,"128":0.29145,"129":0.9987,"130":14.44815,"131":9.22148,"132":0.01943,"133":0.01166,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 39 40 42 44 46 47 50 52 53 54 55 59 60 61 62 63 64 65 66 67 68 73 74 92 93 96 134"},F:{"44":0.00389,"65":0.00389,"84":0.00389,"85":0.00777,"95":0.01166,"102":0.00389,"103":0.00389,"110":0.00389,"113":0.03497,"114":1.67098,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 104 105 106 107 108 109 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00389,"14":0.00777,"17":0.00389,"18":0.01166,"86":0.00389,"89":0.00389,"92":0.0272,"100":0.00389,"102":0.00389,"105":0.00389,"107":0.00389,"108":0.01943,"109":0.0272,"110":0.00777,"112":0.06606,"113":0.00777,"114":0.01554,"116":0.01166,"117":0.01943,"118":0.00777,"120":0.01943,"121":0.00777,"122":0.00777,"123":0.00389,"124":0.00389,"125":0.00389,"126":0.0272,"127":0.00777,"128":0.01943,"129":0.04275,"130":1.44559,"131":0.95207,_:"13 15 16 79 80 81 83 84 85 87 88 90 91 93 94 95 96 97 98 99 101 103 104 106 111 115 119"},E:{"4":0.00389,"10":0.01554,"14":0.01166,"15":0.00389,_:"0 5 6 7 8 9 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3","12.1":0.00389,"13.1":0.01554,"14.1":0.03497,"15.1":0.00389,"15.4":0.03109,"15.5":0.01554,"15.6":0.12824,"16.0":0.03497,"16.1":0.02332,"16.2":0.01554,"16.3":0.04663,"16.4":0.01554,"16.5":0.01166,"16.6":0.13212,"17.0":0.00389,"17.1":0.01554,"17.2":0.0272,"17.3":0.01554,"17.4":0.09715,"17.5":0.09326,"17.6":0.43135,"18.0":0.14767,"18.1":0.21373,"18.2":0.03886},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00194,"5.0-5.1":0,"6.0-6.1":0.00776,"7.0-7.1":0.00971,"8.1-8.4":0,"9.0-9.2":0.00776,"9.3":0.02718,"10.0-10.2":0.00582,"10.3":0.04465,"11.0-11.2":0.52412,"11.3-11.4":0.01359,"12.0-12.1":0.00776,"12.2-12.5":0.20383,"13.0-13.1":0.00388,"13.2":0.05241,"13.3":0.00776,"13.4-13.7":0.02912,"14.0-14.4":0.06406,"14.5-14.8":0.09124,"15.0-15.1":0.05241,"15.2-15.3":0.04853,"15.4":0.05824,"15.5":0.06794,"15.6-15.8":0.72795,"16.0":0.13782,"16.1":0.29118,"16.2":0.14753,"16.3":0.25041,"16.4":0.05047,"16.5":0.10094,"16.6-16.7":0.95507,"17.0":0.06988,"17.1":0.11647,"17.2":0.09706,"17.3":0.14753,"17.4":0.31641,"17.5":0.94536,"17.6-17.7":8.16661,"18.0":2.89626,"18.1":2.54491,"18.2":0.10288},P:{"4":0.0321,"20":0.0107,"21":0.0107,"22":0.0107,"23":0.0321,"24":0.0107,"25":0.0321,"26":0.50288,"27":0.48148,"5.0-5.4":0.0107,_:"6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.0107,"17.0":0.0107},I:{"0":0.0488,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"8":0.03643,"9":0.0052,"10":0.01041,"11":0.53086,_:"6 7 5.5"},K:{"0":0.41187,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0856},O:{"0":0.94156},H:{"0":0.01},L:{"0":40.4012},R:{_:"0"},M:{"0":0.2201}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KI.js deleted file mode 100644 index b3e6e28c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"132":0.07362,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 133 134 135 136 3.5 3.6"},D:{"99":0.11043,"118":0.03681,"122":0.14724,"124":0.11043,"129":0.03681,"130":4.12763,"131":4.42211,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 119 120 121 123 125 126 127 128 132 133 134"},F:{"114":0.3681,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"125":0.18405,"128":0.03681,"129":0.14724,"130":1.06749,"131":0.58896,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 126 127"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 17.0 17.1 17.2 17.3 17.4 17.5 18.0 18.1 18.2","15.6":0.11043,"16.6":0.25767,"17.6":0.33129},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00028,"5.0-5.1":0,"6.0-6.1":0.00113,"7.0-7.1":0.00142,"8.1-8.4":0,"9.0-9.2":0.00113,"9.3":0.00397,"10.0-10.2":0.00085,"10.3":0.00653,"11.0-11.2":0.07661,"11.3-11.4":0.00199,"12.0-12.1":0.00113,"12.2-12.5":0.02979,"13.0-13.1":0.00057,"13.2":0.00766,"13.3":0.00113,"13.4-13.7":0.00426,"14.0-14.4":0.00936,"14.5-14.8":0.01334,"15.0-15.1":0.00766,"15.2-15.3":0.00709,"15.4":0.00851,"15.5":0.00993,"15.6-15.8":0.1064,"16.0":0.02014,"16.1":0.04256,"16.2":0.02156,"16.3":0.0366,"16.4":0.00738,"16.5":0.01475,"16.6-16.7":0.13959,"17.0":0.01021,"17.1":0.01702,"17.2":0.01419,"17.3":0.02156,"17.4":0.04625,"17.5":0.13818,"17.6-17.7":1.19365,"18.0":0.42332,"18.1":0.37197,"18.2":0.01504},P:{"4":0.22337,"21":0.22337,"22":0.07107,"24":0.07107,"26":0.33506,"27":1.08641,_:"20 23 25 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","7.2-7.4":0.44675,"19.0":0.04061},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.48294},H:{"0":0},L:{"0":81.68289},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KM.js deleted file mode 100644 index 8b1223e2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"43":0.01198,"72":0.003,"81":0.00449,"115":0.08089,"127":0.003,"129":0.00449,"130":0.003,"131":0.06741,"132":0.5243,"133":0.03595,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 128 134 135 136 3.5 3.6"},D:{"38":0.0015,"39":0.01198,"43":0.003,"46":0.0015,"55":0.0749,"59":0.00749,"61":0.0015,"69":0.01348,"70":0.02696,"77":0.02547,"81":0.00899,"84":0.00599,"86":0.00599,"87":0.02397,"89":0.0015,"92":0.00449,"93":0.003,"94":0.01049,"95":0.0015,"96":0.0015,"97":0.00599,"99":0.0015,"100":0.01049,"101":0.01198,"102":0.02547,"103":0.01348,"104":0.0015,"105":0.00899,"107":0.00599,"108":0.00899,"109":0.49883,"111":0.00599,"113":0.0015,"114":0.01648,"115":0.003,"116":0.04045,"117":0.02996,"118":0.00449,"119":0.00899,"120":0.003,"121":0.00899,"122":0.01198,"123":0.01049,"124":0.0015,"125":0.00899,"126":0.01798,"127":0.00599,"128":0.04943,"129":0.13632,"130":1.47403,"131":1.39014,"132":0.003,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 41 42 44 45 47 48 49 50 51 52 53 54 56 57 58 60 62 63 64 65 66 67 68 71 72 73 74 75 76 78 79 80 83 85 88 90 91 98 106 110 112 133 134"},F:{"79":0.00449,"90":0.00599,"95":0.01947,"111":0.0015,"112":0.003,"113":0.01198,"114":0.36102,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0015,"13":0.0015,"14":0.003,"16":0.00449,"17":0.0015,"18":0.08838,"84":0.00449,"85":0.00749,"90":0.00899,"92":0.04344,"100":0.0015,"109":0.003,"110":0.0015,"113":0.0015,"114":0.01798,"117":0.0015,"118":0.09587,"126":0.0015,"127":0.0015,"128":0.06591,"129":0.01798,"130":0.43292,"131":0.22919,_:"15 79 80 81 83 86 87 88 89 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 115 116 119 120 121 122 123 124 125"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 16.0 16.1 16.2 16.3 16.5 17.0 17.2","13.1":0.03296,"14.1":0.03445,"15.5":0.0015,"15.6":0.08988,"16.4":0.0015,"16.6":0.05093,"17.1":0.00899,"17.3":0.0015,"17.4":0.003,"17.5":0.003,"17.6":0.16178,"18.0":0.05093,"18.1":0.34754,"18.2":0.03146},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00084,"5.0-5.1":0,"6.0-6.1":0.00334,"7.0-7.1":0.00418,"8.1-8.4":0,"9.0-9.2":0.00334,"9.3":0.0117,"10.0-10.2":0.00251,"10.3":0.01922,"11.0-11.2":0.22565,"11.3-11.4":0.00585,"12.0-12.1":0.00334,"12.2-12.5":0.08775,"13.0-13.1":0.00167,"13.2":0.02257,"13.3":0.00334,"13.4-13.7":0.01254,"14.0-14.4":0.02758,"14.5-14.8":0.03928,"15.0-15.1":0.02257,"15.2-15.3":0.02089,"15.4":0.02507,"15.5":0.02925,"15.6-15.8":0.3134,"16.0":0.05934,"16.1":0.12536,"16.2":0.06352,"16.3":0.10781,"16.4":0.02173,"16.5":0.04346,"16.6-16.7":0.41119,"17.0":0.03009,"17.1":0.05014,"17.2":0.04179,"17.3":0.06352,"17.4":0.13623,"17.5":0.40701,"17.6-17.7":3.51599,"18.0":1.24693,"18.1":1.09566,"18.2":0.04429},P:{"4":0.09087,"21":0.0101,"22":0.12115,"23":0.04038,"24":0.17163,"25":0.04038,"26":0.66634,"27":0.05048,_:"20 6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0 17.0 18.0","5.0-5.4":0.0101,"7.2-7.4":0.03029,"11.1-11.2":0.0101,"19.0":0.05048},I:{"0":0.04242,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.56963,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.017,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.07652},H:{"0":0},L:{"0":82.31712},R:{_:"0"},M:{"0":0.06802}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KN.js deleted file mode 100644 index fde358b4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.01963,"60":0.00785,"68":0.00393,"97":0.00393,"115":0.85958,"123":0.00393,"126":0.00393,"128":0.00393,"129":0.00785,"130":0.00785,"131":0.16485,"132":1.12648,"133":0.0314,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 124 125 127 134 135 136 3.5 3.6"},D:{"38":0.00393,"44":0.00393,"50":0.00393,"56":0.00393,"57":0.00393,"58":0.02355,"72":0.00393,"75":0.05103,"76":0.03925,"79":0.01963,"83":0.11383,"87":0.16878,"89":0.00393,"92":0.00393,"94":0.01178,"97":0.5966,"100":0.00393,"103":1.56608,"104":0.01963,"108":0.00785,"109":0.27868,"112":0.0471,"113":0.00393,"114":0.00393,"115":0.04318,"116":0.23943,"117":0.0157,"119":0.01963,"120":0.00785,"121":0.01963,"122":0.05495,"123":0.02355,"124":0.01178,"125":0.01963,"126":0.1413,"127":0.19233,"128":0.14915,"129":0.98518,"130":11.07635,"131":4.4117,"132":0.00785,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 45 46 47 48 49 51 52 53 54 55 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 77 78 80 81 84 85 86 88 90 91 93 95 96 98 99 101 102 105 106 107 110 111 118 133 134"},F:{"85":0.01178,"107":0.00785,"113":0.02355,"114":0.30223,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.01963,"17":0.00785,"18":0.03533,"83":0.00393,"92":0.00393,"109":0.00785,"110":0.00393,"112":0.00785,"123":0.00785,"125":0.00393,"126":0.00393,"127":0.0471,"128":0.02355,"129":0.43175,"130":5.83648,"131":2.28435,_:"12 13 14 15 79 80 81 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 113 114 115 116 117 118 119 120 121 122 124"},E:{"14":0.3297,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.04318,"13.1":0.11775,"14.1":0.01178,"15.1":0.00393,"15.2-15.3":0.01178,"15.4":0.00785,"15.5":0.08243,"15.6":0.15308,"16.0":0.00393,"16.1":0.0471,"16.2":0.01178,"16.3":0.07065,"16.4":0.0314,"16.5":0.02748,"16.6":0.08243,"17.0":0.00393,"17.1":0.0157,"17.2":0.03925,"17.3":0.13738,"17.4":0.1413,"17.5":0.11775,"17.6":1.51505,"18.0":2.4492,"18.1":0.33363,"18.2":0.0471},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00157,"5.0-5.1":0,"6.0-6.1":0.00628,"7.0-7.1":0.00785,"8.1-8.4":0,"9.0-9.2":0.00628,"9.3":0.02199,"10.0-10.2":0.00471,"10.3":0.03613,"11.0-11.2":0.42417,"11.3-11.4":0.011,"12.0-12.1":0.00628,"12.2-12.5":0.16495,"13.0-13.1":0.00314,"13.2":0.04242,"13.3":0.00628,"13.4-13.7":0.02356,"14.0-14.4":0.05184,"14.5-14.8":0.07384,"15.0-15.1":0.04242,"15.2-15.3":0.03927,"15.4":0.04713,"15.5":0.05498,"15.6-15.8":0.58912,"16.0":0.11154,"16.1":0.23565,"16.2":0.1194,"16.3":0.20266,"16.4":0.04085,"16.5":0.08169,"16.6-16.7":0.77293,"17.0":0.05656,"17.1":0.09426,"17.2":0.07855,"17.3":0.1194,"17.4":0.25607,"17.5":0.76507,"17.6-17.7":6.60918,"18.0":2.34392,"18.1":2.05957,"18.2":0.08326},P:{"4":0.04247,"20":0.03185,"21":0.01062,"22":0.01062,"24":0.02124,"25":0.04247,"26":2.10237,"27":1.27417,_:"23 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0","5.0-5.4":0.03185,"7.2-7.4":0.07433,"18.0":0.01062,"19.0":0.01062},I:{"0":0.19397,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00025},A:{"11":0.01178,_:"6 7 8 9 10 5.5"},K:{"0":0.9234,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.12758},H:{"0":0},L:{"0":40.83173},R:{_:"0"},M:{"0":0.46778}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KP.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KP.js deleted file mode 100644 index 01923656..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 3.5 3.6"},D:{"39":0.50758,"71":0.25379,"103":0.76138,"105":1.77201,"109":2.2796,"126":0.76138,"129":1.01064,"130":7.59563,"131":2.0258,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 127 128 132 133 134"},F:{"56":0.50758,"95":0.25379,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.25379,"130":3.54402,"131":1.26443,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.4 16.6 17.0 17.1 17.2 17.3 17.4 17.5 18.2","15.6":10.63207,"16.3":3.29023,"16.5":0.25379,"17.6":1.26443,"18.0":0.50758,"18.1":4.3054},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00296,"5.0-5.1":0,"6.0-6.1":0.01184,"7.0-7.1":0.0148,"8.1-8.4":0,"9.0-9.2":0.01184,"9.3":0.04143,"10.0-10.2":0.00888,"10.3":0.06806,"11.0-11.2":0.799,"11.3-11.4":0.02071,"12.0-12.1":0.01184,"12.2-12.5":0.31072,"13.0-13.1":0.00592,"13.2":0.0799,"13.3":0.01184,"13.4-13.7":0.04439,"14.0-14.4":0.09766,"14.5-14.8":0.13909,"15.0-15.1":0.0799,"15.2-15.3":0.07398,"15.4":0.08878,"15.5":0.10357,"15.6-15.8":1.10973,"16.0":0.21011,"16.1":0.44389,"16.2":0.2249,"16.3":0.38175,"16.4":0.07694,"16.5":0.15388,"16.6-16.7":1.45596,"17.0":0.10653,"17.1":0.17756,"17.2":0.14796,"17.3":0.2249,"17.4":0.48236,"17.5":1.44117,"17.6-17.7":12.44967,"18.0":4.41524,"18.1":3.87961,"18.2":0.15684},P:{_:"4 20 21 22 23 24 25 26 27 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.79301},O:{_:"0"},H:{"0":0},L:{"0":22.43827},R:{_:"0"},M:{"0":0.26251}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KR.js deleted file mode 100644 index ef107b94..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00406,"72":0.00406,"102":0.00406,"103":0.00812,"104":0.00406,"105":0.00406,"106":0.00406,"109":0.00406,"110":0.00406,"115":0.03655,"123":0.00406,"125":0.00406,"128":0.00812,"129":0.00406,"131":0.01218,"132":0.35331,"133":0.03249,"134":0.00406,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 107 108 111 112 113 114 116 117 118 119 120 121 122 124 126 127 130 135 136 3.5 3.6"},D:{"42":0.01218,"49":0.00406,"56":0.00406,"61":0.00406,"77":0.00406,"79":0.00812,"81":0.01624,"83":0.00406,"86":0.00406,"87":0.02031,"88":0.00406,"89":0.00812,"91":0.00812,"94":0.01624,"96":0.00406,"97":0.00406,"98":0.00406,"101":0.00406,"102":0.00406,"103":0.01624,"104":0.04061,"105":0.00812,"106":0.06498,"107":0.02437,"108":0.02843,"109":0.67007,"110":0.01624,"111":0.71474,"112":0.02437,"113":0.00812,"114":0.02437,"115":0.00406,"116":0.03655,"117":0.00406,"118":0.00812,"119":0.01624,"120":0.02437,"121":0.05685,"122":0.06092,"123":0.02843,"124":0.04873,"125":0.04467,"126":0.08122,"127":0.0731,"128":0.18681,"129":0.48326,"130":14.7658,"131":9.53929,"132":0.01218,"133":0.00406,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 80 84 85 90 92 93 95 99 100 134"},F:{"79":0.00406,"85":0.00812,"95":0.00406,"113":0.10153,"114":0.21929,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00406,"92":0.00812,"100":0.00406,"103":0.00406,"104":0.00406,"105":0.00406,"106":0.00406,"107":0.02031,"108":0.01218,"109":0.12995,"110":0.00406,"111":0.00812,"112":0.02031,"113":0.00406,"114":0.01218,"115":0.00406,"116":0.00812,"117":0.00812,"118":0.00406,"119":0.01218,"120":0.02031,"121":0.03249,"122":0.01624,"123":0.01218,"124":0.08122,"125":0.02031,"126":0.04467,"127":0.03249,"128":0.05685,"129":0.08934,"130":4.11785,"131":2.91986,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102"},E:{"8":0.00406,"14":0.00406,_:"0 4 5 6 7 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3","13.1":0.00406,"14.1":0.01218,"15.4":0.00406,"15.5":0.00406,"15.6":0.03655,"16.0":0.00406,"16.1":0.00812,"16.2":0.00812,"16.3":0.01218,"16.4":0.00406,"16.5":0.00812,"16.6":0.04467,"17.0":0.00406,"17.1":0.01218,"17.2":0.01218,"17.3":0.00812,"17.4":0.03655,"17.5":0.04873,"17.6":0.24366,"18.0":0.12589,"18.1":0.19493,"18.2":0.00812},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00105,"5.0-5.1":0,"6.0-6.1":0.00419,"7.0-7.1":0.00524,"8.1-8.4":0,"9.0-9.2":0.00419,"9.3":0.01467,"10.0-10.2":0.00314,"10.3":0.0241,"11.0-11.2":0.28286,"11.3-11.4":0.00733,"12.0-12.1":0.00419,"12.2-12.5":0.11,"13.0-13.1":0.0021,"13.2":0.02829,"13.3":0.00419,"13.4-13.7":0.01571,"14.0-14.4":0.03457,"14.5-14.8":0.04924,"15.0-15.1":0.02829,"15.2-15.3":0.02619,"15.4":0.03143,"15.5":0.03667,"15.6-15.8":0.39286,"16.0":0.07438,"16.1":0.15715,"16.2":0.07962,"16.3":0.13515,"16.4":0.02724,"16.5":0.05448,"16.6-16.7":0.51544,"17.0":0.03772,"17.1":0.06286,"17.2":0.05238,"17.3":0.07962,"17.4":0.17077,"17.5":0.5102,"17.6-17.7":4.40742,"18.0":1.56308,"18.1":1.37346,"18.2":0.05552},P:{"4":0.01019,"20":0.01019,"21":0.02039,"22":0.05097,"23":0.04078,"24":0.13252,"25":0.18349,"26":7.42109,"27":7.11528,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","13.0":0.01019,"17.0":0.01019,"18.0":0.01019,"19.0":0.01019},I:{"0":0.10667,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"8":0.00505,"9":0.00505,"11":0.17671,_:"6 7 10 5.5"},K:{"0":0.16629,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01782},O:{"0":0.08315},H:{"0":0},L:{"0":26.79499},R:{_:"0"},M:{"0":0.18411}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KW.js deleted file mode 100644 index 98f0c6bf..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.0023,"48":0.0023,"78":0.0023,"109":0.0023,"110":0.0023,"115":0.0414,"121":0.0046,"125":0.0069,"126":0.0023,"127":0.0069,"128":0.0184,"129":0.0184,"130":0.0161,"131":0.0529,"132":0.6854,"133":0.0506,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 112 113 114 116 117 118 119 120 122 123 124 134 135 136 3.5 3.6"},D:{"38":0.0023,"41":0.0023,"47":0.0023,"58":0.0299,"65":0.0023,"74":0.0023,"75":0.0023,"78":0.0023,"79":0.0069,"80":0.0023,"81":0.0023,"83":0.0023,"84":0.0046,"86":0.0023,"87":0.023,"88":0.0138,"89":0.0046,"90":0.0138,"91":0.0092,"93":0.0046,"94":0.0092,"96":0.0023,"97":0.0023,"99":0.0115,"100":0.0023,"101":0.0046,"102":0.0023,"103":0.0529,"104":0.0046,"105":0.0023,"106":0.0092,"107":0.0069,"108":0.0161,"109":0.483,"110":0.0069,"111":0.0092,"112":0.0069,"114":0.0092,"116":0.0782,"117":0.0184,"118":0.0023,"119":0.0414,"120":0.023,"121":0.0184,"122":0.069,"123":0.0161,"124":0.0253,"125":0.0184,"126":0.0736,"127":0.0506,"128":0.1311,"129":0.3818,"130":7.7418,"131":4.8875,"132":0.0092,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 66 67 68 69 70 71 72 73 76 77 85 92 95 98 113 115 133 134"},F:{"46":0.0184,"82":0.0023,"84":0.0023,"85":0.0805,"95":0.0276,"102":0.0046,"109":0.0023,"111":0.0023,"113":0.0667,"114":0.5267,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 110 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0023,"92":0.0069,"100":0.0023,"104":0.0023,"109":0.0115,"113":0.0023,"114":0.0023,"117":0.0023,"119":0.0046,"120":0.0023,"121":0.0023,"122":0.0023,"123":0.0023,"124":0.0046,"126":0.0161,"127":0.0046,"128":0.0368,"129":0.1196,"130":1.6698,"131":0.9407,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 105 106 107 108 110 111 112 115 116 118 125"},E:{"7":0.0023,"14":0.023,"15":0.0069,_:"0 4 5 6 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 11.1","10.1":0.0115,"12.1":0.0023,"13.1":0.0138,"14.1":0.023,"15.1":0.0023,"15.2-15.3":0.0069,"15.4":0.0046,"15.5":0.0092,"15.6":0.0713,"16.0":0.0023,"16.1":0.0391,"16.2":0.0184,"16.3":0.0299,"16.4":0.0069,"16.5":0.0115,"16.6":0.1104,"17.0":0.0207,"17.1":0.0115,"17.2":0.0276,"17.3":0.0138,"17.4":0.0368,"17.5":0.1518,"17.6":0.6049,"18.0":0.2208,"18.1":0.2438,"18.2":0.0115},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00277,"5.0-5.1":0,"6.0-6.1":0.01107,"7.0-7.1":0.01384,"8.1-8.4":0,"9.0-9.2":0.01107,"9.3":0.03876,"10.0-10.2":0.00831,"10.3":0.06368,"11.0-11.2":0.7475,"11.3-11.4":0.01938,"12.0-12.1":0.01107,"12.2-12.5":0.29069,"13.0-13.1":0.00554,"13.2":0.07475,"13.3":0.01107,"13.4-13.7":0.04153,"14.0-14.4":0.09136,"14.5-14.8":0.13012,"15.0-15.1":0.07475,"15.2-15.3":0.06921,"15.4":0.08306,"15.5":0.0969,"15.6-15.8":1.03819,"16.0":0.19656,"16.1":0.41528,"16.2":0.21041,"16.3":0.35714,"16.4":0.07198,"16.5":0.14396,"16.6-16.7":1.36211,"17.0":0.09967,"17.1":0.16611,"17.2":0.13843,"17.3":0.21041,"17.4":0.45127,"17.5":1.34826,"17.6-17.7":11.64712,"18.0":4.13062,"18.1":3.62952,"18.2":0.14673},P:{"4":0.04072,"20":0.02036,"21":0.06108,"22":0.08144,"23":0.11198,"24":0.2036,"25":0.16288,"26":2.46361,"27":1.71027,_:"5.0-5.4 8.2 9.2 10.1 12.0 14.0 15.0","6.2-6.4":0.01018,"7.2-7.4":0.07126,"11.1-11.2":0.02036,"13.0":0.03054,"16.0":0.01018,"17.0":0.02036,"18.0":0.01018,"19.0":0.03054},I:{"0":0.02305,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.0276,_:"6 7 8 9 10 5.5"},K:{"0":1.45319,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":1.67112},H:{"0":0.01},L:{"0":42.91729},R:{_:"0"},M:{"0":0.07701}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KY.js deleted file mode 100644 index bda71be2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"69":0.00433,"92":0.00433,"94":0.02167,"115":0.013,"123":0.00433,"124":0.01733,"128":0.01733,"130":0.04766,"131":0.20798,"132":0.88827,"133":0.052,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 125 126 127 129 134 135 136 3.5 3.6"},D:{"23":0.00433,"69":0.00867,"74":0.00433,"75":0.026,"76":0.00433,"77":0.00433,"79":0.013,"83":0.013,"91":0.00867,"93":0.052,"94":0.00433,"98":0.026,"99":0.00867,"100":0.00867,"103":0.03466,"104":0.00867,"105":0.00433,"109":0.25131,"112":0.00867,"113":0.00433,"115":0.00867,"116":0.13432,"119":0.05633,"120":0.00433,"121":0.013,"122":0.23832,"123":0.039,"124":1.45156,"125":0.00867,"126":0.27298,"127":0.07366,"128":0.94026,"129":1.61621,"130":13.75728,"131":6.62949,"132":0.00433,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 72 73 78 80 81 84 85 86 87 88 89 90 92 95 96 97 101 102 106 107 108 110 111 114 117 118 133 134"},F:{"79":0.00433,"82":0.00433,"113":0.07366,"114":0.59795,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"98":0.00433,"99":0.00433,"100":0.00433,"108":0.00433,"109":0.013,"110":0.05633,"114":0.00433,"119":0.00433,"122":0.00433,"123":0.00433,"124":0.01733,"125":0.00433,"126":0.00433,"127":0.00433,"128":0.02167,"129":0.18632,"130":5.35992,"131":2.60847,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 101 102 103 104 105 106 107 111 112 113 115 116 117 118 120 121"},E:{"14":0.01733,"15":0.00433,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.5","13.1":0.11266,"14.1":0.04333,"15.1":0.00433,"15.2-15.3":0.00433,"15.4":0.00433,"15.6":0.25131,"16.0":0.01733,"16.1":0.01733,"16.2":0.04333,"16.3":0.18632,"16.4":0.12999,"16.5":0.026,"16.6":0.22965,"17.0":0.00867,"17.1":0.039,"17.2":0.04766,"17.3":0.039,"17.4":0.35531,"17.5":0.28598,"17.6":2.05384,"18.0":0.92726,"18.1":0.84494,"18.2":0.00867},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00262,"5.0-5.1":0,"6.0-6.1":0.0105,"7.0-7.1":0.01312,"8.1-8.4":0,"9.0-9.2":0.0105,"9.3":0.03674,"10.0-10.2":0.00787,"10.3":0.06036,"11.0-11.2":0.70858,"11.3-11.4":0.01837,"12.0-12.1":0.0105,"12.2-12.5":0.27556,"13.0-13.1":0.00525,"13.2":0.07086,"13.3":0.0105,"13.4-13.7":0.03937,"14.0-14.4":0.0866,"14.5-14.8":0.12335,"15.0-15.1":0.07086,"15.2-15.3":0.06561,"15.4":0.07873,"15.5":0.09185,"15.6-15.8":0.98415,"16.0":0.18633,"16.1":0.39366,"16.2":0.19945,"16.3":0.33855,"16.4":0.06823,"16.5":0.13647,"16.6-16.7":1.2912,"17.0":0.09448,"17.1":0.15746,"17.2":0.13122,"17.3":0.19945,"17.4":0.42778,"17.5":1.27808,"17.6-17.7":11.0408,"18.0":3.91559,"18.1":3.44057,"18.2":0.13909},P:{"4":0.03121,"22":0.0104,"23":0.02081,"24":0.05202,"25":0.03121,"26":2.46594,"27":2.49715,_:"20 21 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","7.2-7.4":0.03121},I:{"0":0.00565,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.10767,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.017},H:{"0":0},L:{"0":25.15905},R:{_:"0"},M:{"0":0.26068}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KZ.js deleted file mode 100644 index 76bf71b9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/KZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"50":0.00876,"51":0.00876,"52":0.03065,"53":0.00438,"55":0.01313,"56":0.01313,"62":0.00438,"65":0.01313,"79":0.00438,"84":0.00438,"101":0.00876,"109":0.00438,"113":0.00438,"115":0.34148,"117":0.00438,"118":0.02627,"121":0.00438,"123":0.00438,"124":0.00438,"125":0.02189,"126":0.00438,"127":0.00876,"128":0.03502,"129":0.00876,"130":0.00876,"131":0.07443,"132":1.2346,"133":0.09632,"134":0.00876,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 54 57 58 59 60 61 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 110 111 112 114 116 119 120 122 135 136 3.5 3.6"},D:{"38":0.01313,"44":0.00438,"48":0.00438,"49":0.02627,"51":0.03502,"53":0.00438,"58":0.65232,"64":0.00876,"69":0.00438,"70":0.00438,"72":0.00438,"74":0.03502,"77":0.00438,"79":0.02189,"80":0.00876,"81":0.01313,"86":0.00876,"87":0.02189,"88":0.00438,"89":0.00438,"90":0.01313,"91":0.01313,"92":0.00876,"94":0.02189,"96":0.00438,"97":0.00876,"98":0.01313,"99":0.00438,"100":0.00438,"101":0.00438,"102":0.00876,"103":0.20139,"105":0.00876,"106":0.17074,"107":0.00876,"108":0.02627,"109":2.35974,"110":0.00438,"111":0.00438,"112":0.02189,"114":0.01313,"115":0.00438,"116":0.09194,"117":0.00876,"118":0.09632,"119":0.0394,"120":0.04378,"121":0.03065,"122":0.07443,"123":0.05254,"124":0.22328,"125":0.06129,"126":0.08318,"127":0.11821,"128":0.13572,"129":0.51223,"130":12.16646,"131":7.72279,"132":0.01313,"133":0.00438,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 45 46 47 50 52 54 55 56 57 59 60 61 62 63 65 66 67 68 71 73 75 76 78 83 84 85 93 95 104 113 134"},F:{"32":0.00438,"36":0.02189,"56":0.01313,"77":0.00438,"79":0.04378,"84":0.00438,"85":0.09632,"86":0.00876,"87":0.00438,"89":0.02627,"91":0.00438,"95":0.33711,"107":0.00438,"108":0.00438,"109":0.00438,"112":0.05691,"113":0.07005,"114":1.9307,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 80 81 82 83 88 90 92 93 94 96 97 98 99 100 101 102 103 104 105 106 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00438,"92":0.01751,"100":0.00438,"107":0.00438,"109":0.01313,"114":0.00438,"118":0.00438,"120":0.00438,"121":0.00438,"122":0.01313,"123":0.03065,"124":0.04378,"125":0.0394,"126":0.01313,"127":0.00438,"128":0.01313,"129":0.06129,"130":2.10582,"131":1.46663,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111 112 113 115 116 117 119"},E:{"9":0.00438,"14":0.01313,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1","5.1":0.02189,"12.1":0.00438,"13.1":0.01313,"14.1":0.02189,"15.1":0.00876,"15.2-15.3":0.00438,"15.4":0.01313,"15.5":0.02189,"15.6":0.12696,"16.0":0.00876,"16.1":0.05254,"16.2":0.03065,"16.3":0.04378,"16.4":0.01751,"16.5":0.04378,"16.6":0.19263,"17.0":0.01313,"17.1":0.04816,"17.2":0.05691,"17.3":0.06567,"17.4":0.10945,"17.5":0.22328,"17.6":0.74426,"18.0":0.46845,"18.1":0.4378,"18.2":0.00876},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00185,"5.0-5.1":0,"6.0-6.1":0.00738,"7.0-7.1":0.00923,"8.1-8.4":0,"9.0-9.2":0.00738,"9.3":0.02584,"10.0-10.2":0.00554,"10.3":0.04246,"11.0-11.2":0.4984,"11.3-11.4":0.01292,"12.0-12.1":0.00738,"12.2-12.5":0.19382,"13.0-13.1":0.00369,"13.2":0.04984,"13.3":0.00738,"13.4-13.7":0.02769,"14.0-14.4":0.06092,"14.5-14.8":0.08676,"15.0-15.1":0.04984,"15.2-15.3":0.04615,"15.4":0.05538,"15.5":0.06461,"15.6-15.8":0.69223,"16.0":0.13106,"16.1":0.27689,"16.2":0.14029,"16.3":0.23813,"16.4":0.04799,"16.5":0.09599,"16.6-16.7":0.9082,"17.0":0.06645,"17.1":0.11076,"17.2":0.0923,"17.3":0.14029,"17.4":0.30089,"17.5":0.89897,"17.6-17.7":7.76585,"18.0":2.75414,"18.1":2.42002,"18.2":0.09783},P:{"4":0.08275,"20":0.01034,"21":0.03103,"22":0.03103,"23":0.07241,"24":0.04138,"25":0.06206,"26":0.93094,"27":0.662,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0","7.2-7.4":0.03103,"17.0":0.02069,"18.0":0.01034,"19.0":0.02069},I:{"0":0.02243,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"6":0.01419,"8":0.03548,"9":0.0071,"10":0.01419,"11":0.13481,_:"7 5.5"},K:{"0":0.38785,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00562},O:{"0":0.3204},H:{"0":0},L:{"0":33.22689},R:{_:"0"},M:{"0":0.08432}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LA.js deleted file mode 100644 index d3ab6bb2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"66":0.00492,"78":0.00984,"89":0.00246,"94":0.00246,"101":0.00246,"102":0.00246,"103":0.01231,"106":0.08367,"109":0.00492,"110":0.00492,"115":0.07383,"125":0.00246,"127":0.00984,"128":0.00492,"129":0.00246,"130":0.00492,"131":0.04676,"132":0.6374,"133":0.04184,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 90 91 92 93 95 96 97 98 99 100 104 105 107 108 111 112 113 114 116 117 118 119 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"22":0.00246,"37":0.5488,"43":0.00738,"70":0.00984,"72":0.00246,"74":0.00246,"75":0.00246,"77":0.00246,"78":0.00246,"79":0.00738,"81":0.00738,"83":0.00246,"86":0.00738,"87":0.00984,"89":0.00492,"90":0.00246,"91":0.00246,"92":0.00246,"94":0.00984,"95":0.00246,"96":0.00738,"97":0.00738,"98":0.01477,"99":0.00984,"100":0.00246,"101":0.00492,"102":0.1009,"103":0.01477,"104":0.02461,"105":0.00984,"106":0.01231,"107":0.03938,"108":0.01969,"109":0.80721,"111":0.05906,"112":0.01477,"113":0.00246,"114":0.02461,"115":0.01231,"116":0.02215,"117":0.01477,"118":0.02215,"119":0.01723,"120":0.06645,"121":0.01969,"122":0.11813,"123":0.01969,"124":0.04676,"125":0.06399,"126":0.05414,"127":0.06153,"128":0.14766,"129":0.33224,"130":8.60612,"131":4.84817,"132":0.1009,"133":0.00246,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 73 76 80 84 85 88 93 110 134"},F:{"79":0.00246,"85":0.01969,"86":0.00246,"95":0.01231,"113":0.00738,"114":0.23626,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00492,"17":0.00246,"18":0.01969,"84":0.00246,"92":0.02953,"100":0.00984,"106":0.00246,"107":0.00246,"109":0.02707,"110":0.04922,"111":0.00246,"116":0.00246,"117":0.00246,"119":0.00492,"120":0.01231,"121":0.00246,"122":0.01231,"123":0.00246,"124":0.00492,"125":0.00492,"126":0.01477,"127":0.00984,"128":0.01231,"129":0.03692,"130":1.20343,"131":0.76291,_:"12 14 15 16 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 108 112 113 114 115 118"},E:{"14":0.02707,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","13.1":0.00246,"14.1":0.00984,"15.1":0.00492,"15.4":0.01231,"15.5":0.01231,"15.6":0.16981,"16.0":0.00984,"16.1":0.00492,"16.2":0.00492,"16.3":0.01477,"16.4":0.00246,"16.5":0.00984,"16.6":0.08614,"17.0":0.00246,"17.1":0.01969,"17.2":0.00738,"17.3":0.00492,"17.4":0.02461,"17.5":0.04922,"17.6":0.21657,"18.0":0.09844,"18.1":0.17227,"18.2":0.00246},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00162,"5.0-5.1":0,"6.0-6.1":0.00649,"7.0-7.1":0.00811,"8.1-8.4":0,"9.0-9.2":0.00649,"9.3":0.0227,"10.0-10.2":0.00486,"10.3":0.03729,"11.0-11.2":0.43778,"11.3-11.4":0.01135,"12.0-12.1":0.00649,"12.2-12.5":0.17025,"13.0-13.1":0.00324,"13.2":0.04378,"13.3":0.00649,"13.4-13.7":0.02432,"14.0-14.4":0.05351,"14.5-14.8":0.07621,"15.0-15.1":0.04378,"15.2-15.3":0.04054,"15.4":0.04864,"15.5":0.05675,"15.6-15.8":0.60803,"16.0":0.11512,"16.1":0.24321,"16.2":0.12323,"16.3":0.20916,"16.4":0.04216,"16.5":0.08431,"16.6-16.7":0.79774,"17.0":0.05837,"17.1":0.09729,"17.2":0.08107,"17.3":0.12323,"17.4":0.26429,"17.5":0.78963,"17.6-17.7":6.82133,"18.0":2.41916,"18.1":2.12569,"18.2":0.08594},P:{"4":0.06042,"20":0.13091,"21":0.06042,"22":0.06042,"23":0.1007,"24":0.05035,"25":0.14098,"26":1.00703,"27":0.70492,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 15.0 16.0","7.2-7.4":0.1007,"11.1-11.2":0.03021,"13.0":0.01007,"14.0":0.01007,"17.0":0.03021,"18.0":0.01007,"19.0":0.07049},I:{"0":0.04513,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.13043,_:"6 7 8 9 10 5.5"},K:{"0":0.27137,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.03769},O:{"0":1.23623},H:{"0":0},L:{"0":57.17037},R:{_:"0"},M:{"0":0.11307}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LB.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LB.js deleted file mode 100644 index 3c5a14c8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00306,"68":0.01223,"72":0.00306,"78":0.00306,"89":0.00306,"91":0.00611,"115":0.31487,"120":0.00306,"122":0.00611,"123":0.00306,"127":0.00611,"128":0.03363,"129":0.00306,"130":0.01529,"131":0.12228,"132":1.07301,"133":0.06725,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 121 124 125 126 134 135 136 3.5 3.6"},D:{"38":0.00306,"49":0.00306,"50":0.00306,"56":0.00306,"58":0.19259,"63":0.00306,"65":0.00917,"67":0.01223,"68":0.00306,"69":0.00306,"72":0.00306,"73":0.01223,"74":0.01223,"75":0.00611,"76":0.00306,"79":0.02446,"80":0.00306,"81":0.00306,"83":0.02446,"84":0.00306,"85":0.00306,"86":0.00611,"87":0.07948,"88":0.01834,"89":0.00611,"90":0.00611,"91":0.0214,"92":0.00306,"93":0.00611,"94":0.03057,"95":0.00611,"96":0.00306,"97":0.00306,"98":0.05197,"99":0.00306,"100":0.00611,"101":0.00306,"102":0.00611,"103":0.02446,"104":0.00306,"105":0.00306,"106":0.00306,"107":0.00611,"108":0.03668,"109":1.94425,"110":0.00917,"111":0.00611,"112":0.00306,"113":0.00306,"114":0.00917,"115":0.00306,"116":0.0856,"117":0.00306,"118":0.00917,"119":0.03668,"120":0.06114,"121":0.0214,"122":0.16202,"123":0.03057,"124":0.05503,"125":0.02446,"126":0.09171,"127":0.06725,"128":0.18953,"129":0.41575,"130":10.54971,"131":6.08343,"132":0.01223,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 51 52 53 54 55 57 59 60 61 62 64 66 70 71 77 78 133 134"},F:{"79":0.00917,"85":0.00611,"95":0.02751,"102":0.00306,"111":0.00611,"112":0.00306,"113":0.02446,"114":0.72757,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00306,"15":0.00306,"16":0.00306,"17":0.00611,"18":0.00306,"85":0.00611,"86":0.00306,"89":0.00306,"90":0.00306,"92":0.0428,"100":0.00611,"109":0.0214,"114":0.07337,"115":0.00611,"121":0.00306,"122":0.00611,"123":0.00306,"124":0.00306,"125":0.01529,"126":0.00917,"127":0.00917,"128":0.02751,"129":0.09477,"130":2.04513,"131":1.18306,_:"12 13 79 80 81 83 84 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 116 117 118 119 120"},E:{"14":0.09477,"15":0.00306,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.00611,"11.1":0.00306,"12.1":0.00306,"13.1":0.07337,"14.1":0.03668,"15.1":0.00611,"15.2-15.3":0.0856,"15.4":0.00917,"15.5":0.00917,"15.6":0.22316,"16.0":0.00611,"16.1":0.01834,"16.2":0.00611,"16.3":0.03974,"16.4":0.01223,"16.5":0.03057,"16.6":0.12534,"17.0":0.00917,"17.1":0.0642,"17.2":0.02446,"17.3":0.03363,"17.4":0.04586,"17.5":0.14979,"17.6":0.41575,"18.0":0.24762,"18.1":0.27819,"18.2":0.01834},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00149,"5.0-5.1":0,"6.0-6.1":0.00596,"7.0-7.1":0.00745,"8.1-8.4":0,"9.0-9.2":0.00596,"9.3":0.02085,"10.0-10.2":0.00447,"10.3":0.03425,"11.0-11.2":0.4021,"11.3-11.4":0.01042,"12.0-12.1":0.00596,"12.2-12.5":0.15637,"13.0-13.1":0.00298,"13.2":0.04021,"13.3":0.00596,"13.4-13.7":0.02234,"14.0-14.4":0.04915,"14.5-14.8":0.07,"15.0-15.1":0.04021,"15.2-15.3":0.03723,"15.4":0.04468,"15.5":0.05212,"15.6-15.8":0.55848,"16.0":0.10574,"16.1":0.22339,"16.2":0.11318,"16.3":0.19212,"16.4":0.03872,"16.5":0.07744,"16.6-16.7":0.73272,"17.0":0.05361,"17.1":0.08936,"17.2":0.07446,"17.3":0.11318,"17.4":0.24275,"17.5":0.72528,"17.6-17.7":6.26537,"18.0":2.222,"18.1":1.95244,"18.2":0.07893},P:{"4":0.14358,"20":0.03077,"21":0.10255,"22":0.14358,"23":0.14358,"24":0.23587,"25":0.11281,"26":2.85099,"27":1.9075,"5.0-5.4":0.01026,"6.2-6.4":0.02051,"7.2-7.4":0.13332,_:"8.2 10.1","9.2":0.01026,"11.1-11.2":0.03077,"12.0":0.01026,"13.0":0.02051,"14.0":0.01026,"15.0":0.01026,"16.0":0.04102,"17.0":0.04102,"18.0":0.01026,"19.0":0.02051},I:{"0":0.04849,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"9":0.00306,"11":0.03057,_:"6 7 8 10 5.5"},K:{"0":0.40269,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.20135},H:{"0":0},L:{"0":49.21867},R:{_:"0"},M:{"0":0.17358}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LC.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LC.js deleted file mode 100644 index a0e1fcce..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00407,"88":0.01222,"89":0.0163,"91":0.01222,"115":0.06111,"122":0.00407,"123":0.01222,"126":0.00407,"128":0.05704,"130":0.06111,"131":0.04889,"132":0.79036,"133":0.03259,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 124 125 127 129 134 135 136 3.5 3.6"},D:{"47":0.00407,"50":0.00407,"56":0.01222,"68":0.00815,"70":0.00407,"76":0.00407,"79":0.02852,"83":0.01222,"87":0.03667,"88":0.01222,"89":0.00815,"91":0.00815,"93":0.01222,"94":0.03667,"98":0.00407,"102":0.06111,"103":0.09778,"104":0.02037,"105":0.00815,"109":0.32185,"114":0.00407,"115":0.00407,"116":0.04889,"119":0.03667,"120":0.00407,"121":0.00815,"122":0.02852,"123":0.00407,"124":0.01222,"125":0.06926,"126":0.08148,"127":0.06518,"128":0.17518,"129":0.68036,"130":16.15748,"131":8.3517,"132":0.13852,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 71 72 73 74 75 77 78 80 81 84 85 86 90 92 95 96 97 99 100 101 106 107 108 110 111 112 113 117 118 133 134"},F:{"82":0.00407,"85":0.02037,"93":0.00407,"95":0.00815,"113":0.05704,"114":0.74147,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 86 87 88 89 90 91 92 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00407,"92":0.00407,"107":0.00407,"108":0.00407,"109":0.02444,"114":0.2974,"122":0.01222,"124":0.00407,"125":0.0163,"126":0.00815,"128":0.0163,"129":0.15074,"130":4.1677,"131":2.13478,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 110 111 112 113 115 116 117 118 119 120 121 123 127"},E:{"14":0.00407,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.5 16.0","13.1":0.0163,"14.1":0.00407,"15.1":0.00407,"15.2-15.3":0.00815,"15.4":0.00815,"15.6":0.03667,"16.1":0.00815,"16.2":0.0163,"16.3":0.10592,"16.4":0.06111,"16.5":0.00407,"16.6":0.30962,"17.0":0.00407,"17.1":0.0163,"17.2":0.05704,"17.3":0.00815,"17.4":0.04889,"17.5":0.06111,"17.6":0.73739,"18.0":1.13257,"18.1":0.16703,"18.2":0.03259},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0016,"5.0-5.1":0,"6.0-6.1":0.00639,"7.0-7.1":0.00799,"8.1-8.4":0,"9.0-9.2":0.00639,"9.3":0.02238,"10.0-10.2":0.00479,"10.3":0.03676,"11.0-11.2":0.43153,"11.3-11.4":0.01119,"12.0-12.1":0.00639,"12.2-12.5":0.16782,"13.0-13.1":0.0032,"13.2":0.04315,"13.3":0.00639,"13.4-13.7":0.02397,"14.0-14.4":0.05274,"14.5-14.8":0.07512,"15.0-15.1":0.04315,"15.2-15.3":0.03996,"15.4":0.04795,"15.5":0.05594,"15.6-15.8":0.59934,"16.0":0.11348,"16.1":0.23974,"16.2":0.12147,"16.3":0.20617,"16.4":0.04155,"16.5":0.08311,"16.6-16.7":0.78634,"17.0":0.05754,"17.1":0.09589,"17.2":0.07991,"17.3":0.12147,"17.4":0.26051,"17.5":0.77834,"17.6-17.7":6.7238,"18.0":2.38458,"18.1":2.0953,"18.2":0.08471},P:{"4":0.06236,"21":0.01039,"22":0.08314,"23":0.03118,"24":0.08314,"25":0.02079,"26":2.66051,"27":2.28637,_:"20 5.0-5.4 8.2 9.2 10.1 12.0 13.0","6.2-6.4":0.01039,"7.2-7.4":0.19746,"11.1-11.2":0.03118,"14.0":0.01039,"15.0":0.01039,"16.0":0.02079,"17.0":0.01039,"18.0":0.01039,"19.0":0.03118},I:{"0":0.01183,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.34371,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01778},H:{"0":0},L:{"0":39.25745},R:{_:"0"},M:{"0":0.14815}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LI.js deleted file mode 100644 index a9e4e825..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"3":0.01378,"4":0.00689,"6":0.00689,"17":0.00689,"26":0.00689,"27":0.00689,"29":0.00689,"30":0.01378,"31":0.00689,"34":0.01378,"36":0.00689,"37":0.00689,"38":0.00689,"39":0.01378,"40":0.01378,"41":0.01378,"102":0.02067,"103":0.04822,"108":0.00689,"110":0.01378,"115":1.65336,"116":0.00689,"120":0.00689,"122":0.00689,"123":0.02067,"127":0.02067,"128":0.29623,"129":0.05511,"130":0.06889,"131":0.42023,"132":6.39299,"133":0.43401,_:"2 5 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 28 32 33 35 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 109 111 112 113 114 117 118 119 121 124 125 126 134 135 136 3.5","3.6":0.03445},D:{"19":0.00689,"20":0.00689,"21":0.00689,"27":0.00689,"28":0.01378,"29":0.00689,"30":0.00689,"33":0.00689,"36":0.01378,"37":0.00689,"38":0.00689,"39":0.01378,"40":0.01378,"41":0.02067,"42":0.01378,"43":0.04133,"44":0.062,"45":0.02067,"46":0.02067,"47":0.03445,"48":0.01378,"51":0.062,"68":0.00689,"70":0.01378,"73":0.00689,"78":0.00689,"79":0.20667,"80":0.00689,"84":0.06889,"86":0.01378,"87":0.00689,"88":0.02067,"90":0.00689,"96":0.00689,"98":0.062,"99":0.02067,"100":0.00689,"103":0.02067,"104":0.08267,"105":0.02067,"106":0.94379,"107":2.1287,"108":1.08846,"109":1.74292,"110":0.04822,"111":0.53045,"112":0.31689,"113":0.00689,"114":0.03445,"116":1.21935,"117":0.00689,"118":0.248,"119":0.02067,"120":0.07578,"121":0.02067,"122":0.04822,"124":0.39956,"125":0.02067,"126":0.11711,"127":0.062,"128":0.26867,"129":1.88759,"130":14.41868,"131":7.08878,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 22 23 24 25 26 31 32 34 35 49 50 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 71 72 74 75 76 77 81 83 85 89 91 92 93 94 95 97 101 102 115 123 132 133 134"},F:{"29":0.01378,"31":0.02067,"32":0.00689,"46":0.01378,"79":0.00689,"83":0.00689,"84":0.00689,"93":0.01378,"94":0.38578,"95":0.00689,"113":0.07578,"114":1.42602,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 85 86 87 88 89 90 91 92 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 10.0-10.1 10.5 10.6 11.1 11.6","9.5-9.6":0.00689,"11.5":0.00689,"12.1":0.01378},B:{"12":0.02067,"17":0.00689,"92":0.00689,"98":0.01378,"103":0.00689,"104":0.00689,"106":0.66134,"107":0.99891,"108":0.03445,"109":0.10334,"110":0.01378,"111":0.00689,"115":0.01378,"122":0.02756,"126":0.02067,"127":0.01378,"128":0.02067,"129":0.19978,"130":8.00502,"131":5.88321,_:"13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 99 100 101 102 105 112 113 114 116 117 118 119 120 121 123 124 125"},E:{"8":0.01378,"9":0.06889,"14":0.00689,_:"0 4 5 6 7 10 11 12 13 15 3.1 3.2 9.1 10.1 11.1 12.1 15.2-15.3 15.5 18.2","5.1":0.01378,"6.1":0.00689,"7.1":0.00689,"13.1":0.02756,"14.1":0.00689,"15.1":0.04822,"15.4":0.00689,"15.6":0.14467,"16.0":0.13089,"16.1":0.00689,"16.2":0.00689,"16.3":0.02756,"16.4":0.06889,"16.5":0.14467,"16.6":0.20667,"17.0":0.24112,"17.1":0.02067,"17.2":0.11022,"17.3":0.06889,"17.4":0.04822,"17.5":0.15845,"17.6":1.1918,"18.0":0.35823,"18.1":0.69579},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00153,"5.0-5.1":0,"6.0-6.1":0.00614,"7.0-7.1":0.00767,"8.1-8.4":0,"9.0-9.2":0.00614,"9.3":0.02149,"10.0-10.2":0.0046,"10.3":0.0353,"11.0-11.2":0.41444,"11.3-11.4":0.01074,"12.0-12.1":0.00614,"12.2-12.5":0.16117,"13.0-13.1":0.00307,"13.2":0.04144,"13.3":0.00614,"13.4-13.7":0.02302,"14.0-14.4":0.05065,"14.5-14.8":0.07214,"15.0-15.1":0.04144,"15.2-15.3":0.03837,"15.4":0.04605,"15.5":0.05372,"15.6-15.8":0.57561,"16.0":0.10898,"16.1":0.23025,"16.2":0.11666,"16.3":0.19801,"16.4":0.03991,"16.5":0.07982,"16.6-16.7":0.7552,"17.0":0.05526,"17.1":0.0921,"17.2":0.07675,"17.3":0.11666,"17.4":0.2502,"17.5":0.74753,"17.6-17.7":6.45761,"18.0":2.29017,"18.1":2.01234,"18.2":0.08135},P:{"4":0.0316,"20":0.01053,"26":1.67469,"27":1.45351,_:"21 22 23 24 25 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 16.0 17.0 18.0","6.2-6.4":0.02107,"15.0":0.01053,"19.0":0.02107},I:{"0":0.36939,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00011,"4.4":0,"4.4.3-4.4.4":0.00048},A:{"6":0.01383,"7":0.02074,"8":0.26276,"9":0.03457,"10":0.06223,"11":1.43824,_:"5.5"},K:{"0":0.29555,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.02178,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.03111},O:{"0":0.26444},H:{"0":0},L:{"0":10.97251},R:{_:"0"},M:{"0":0.4511}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LK.js deleted file mode 100644 index b2f5f245..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.006,"65":0.006,"88":0.06,"115":0.156,"125":0.072,"126":0.006,"127":0.006,"128":0.018,"129":0.006,"130":0.006,"131":0.042,"132":0.846,"133":0.09,"134":0.006,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 135 136 3.5 3.6"},D:{"63":0.006,"64":0.006,"68":0.012,"70":0.006,"74":0.012,"75":0.006,"76":0.006,"79":0.006,"81":0.006,"85":0.006,"86":0.012,"87":0.006,"88":0.006,"91":0.006,"93":0.006,"94":0.006,"95":0.006,"96":0.006,"97":0.006,"99":0.006,"102":0.006,"103":0.042,"104":0.006,"106":0.012,"107":0.006,"108":0.006,"109":1.29,"110":0.006,"111":0.018,"112":0.006,"113":0.006,"114":0.012,"115":0.006,"116":0.036,"117":0.006,"118":0.006,"119":0.018,"120":0.09,"121":0.024,"122":0.042,"123":0.018,"124":0.054,"125":0.024,"126":0.096,"127":0.054,"128":0.096,"129":0.264,"130":9.816,"131":7.254,"132":0.012,"133":0.006,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 65 66 67 69 71 72 73 77 78 80 83 84 89 90 92 98 100 101 105 134"},F:{"79":0.006,"85":0.042,"95":0.06,"105":0.006,"113":0.012,"114":0.624,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.006,"92":0.03,"100":0.006,"109":0.012,"113":0.006,"114":0.006,"117":0.006,"122":0.006,"124":0.012,"125":0.006,"126":0.012,"127":0.018,"128":0.09,"129":0.258,"130":21.462,"131":14.466,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 115 116 118 119 120 121 123"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.4 15.5 16.0 16.2 18.2","13.1":0.006,"14.1":0.012,"15.1":0.048,"15.2-15.3":0.006,"15.6":0.018,"16.1":0.006,"16.3":0.012,"16.4":0.006,"16.5":0.018,"16.6":0.024,"17.0":0.006,"17.1":0.006,"17.2":0.012,"17.3":0.006,"17.4":0.018,"17.5":0.048,"17.6":0.06,"18.0":0.042,"18.1":0.072},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00041,"5.0-5.1":0,"6.0-6.1":0.00164,"7.0-7.1":0.00205,"8.1-8.4":0,"9.0-9.2":0.00164,"9.3":0.00574,"10.0-10.2":0.00123,"10.3":0.00943,"11.0-11.2":0.1107,"11.3-11.4":0.00287,"12.0-12.1":0.00164,"12.2-12.5":0.04305,"13.0-13.1":0.00082,"13.2":0.01107,"13.3":0.00164,"13.4-13.7":0.00615,"14.0-14.4":0.01353,"14.5-14.8":0.01927,"15.0-15.1":0.01107,"15.2-15.3":0.01025,"15.4":0.0123,"15.5":0.01435,"15.6-15.8":0.15375,"16.0":0.02911,"16.1":0.0615,"16.2":0.03116,"16.3":0.05289,"16.4":0.01066,"16.5":0.02132,"16.6-16.7":0.20172,"17.0":0.01476,"17.1":0.0246,"17.2":0.0205,"17.3":0.03116,"17.4":0.06683,"17.5":0.19967,"17.6-17.7":1.72487,"18.0":0.61172,"18.1":0.53751,"18.2":0.02173},P:{"4":0.07269,"20":0.02077,"21":0.05192,"22":0.10384,"23":0.09345,"24":0.10384,"25":0.14537,"26":0.59188,"27":0.2596,_:"5.0-5.4 8.2 10.1 12.0","6.2-6.4":0.01038,"7.2-7.4":0.3842,"9.2":0.01038,"11.1-11.2":0.02077,"13.0":0.04154,"14.0":0.03115,"15.0":0.02077,"16.0":0.02077,"17.0":0.02077,"18.0":0.02077,"19.0":0.03115},I:{"0":0.01596,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.012,_:"6 7 8 9 10 5.5"},K:{"0":1.09,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.004,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.888},H:{"0":0.01},L:{"0":33.104},R:{_:"0"},M:{"0":0.092}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LR.js deleted file mode 100644 index 89c32230..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00165,"46":0.00494,"49":0.00165,"58":0.00165,"72":0.00165,"78":0.00165,"79":0.00165,"106":0.00165,"108":0.00494,"115":0.0181,"116":0.00658,"122":0.00329,"126":0.0329,"127":0.00494,"128":0.01316,"129":0.00329,"130":0.00658,"131":0.03455,"132":0.63004,"133":0.03126,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 107 109 110 111 112 113 114 117 118 119 120 121 123 124 125 134 135 136 3.5 3.6"},D:{"29":0.00165,"43":0.00165,"49":0.00494,"56":0.00329,"58":0.00165,"59":0.00494,"60":0.00165,"62":0.00165,"63":0.00329,"64":0.02797,"65":0.00165,"68":0.00823,"69":0.00165,"70":0.00494,"71":0.00494,"72":0.00165,"73":0.00329,"74":0.00329,"76":0.01316,"77":0.04442,"78":0.00165,"79":0.00329,"80":0.01152,"81":0.01645,"83":0.0329,"84":0.00165,"85":0.00165,"86":0.00329,"87":0.00494,"88":0.00823,"90":0.00165,"91":0.00165,"92":0.02961,"93":0.02303,"94":0.0181,"95":0.00329,"96":0.00823,"97":0.00494,"98":0.00165,"99":0.01316,"100":0.00329,"101":0.00658,"102":0.00329,"103":0.051,"104":0.00165,"105":0.01645,"106":0.00823,"107":0.00165,"108":0.00494,"109":0.28788,"110":0.00494,"111":0.01645,"112":0.00823,"113":0.00165,"114":0.00987,"116":0.02139,"117":0.01481,"118":0.00329,"119":0.03784,"120":0.01152,"121":0.00329,"122":0.00987,"123":0.02303,"124":0.0181,"125":0.01481,"126":0.06416,"127":0.02139,"128":0.04442,"129":0.21221,"130":2.74057,"131":1.71574,"132":0.00658,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 57 61 66 67 75 89 115 133 134"},F:{"21":0.00165,"36":0.00165,"64":0.00165,"79":0.01481,"85":0.00329,"89":0.00165,"90":0.00165,"95":0.00823,"99":0.00823,"101":0.00165,"105":0.00329,"113":0.00823,"114":0.54943,_:"9 11 12 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 91 92 93 94 96 97 98 100 102 103 104 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00658,"13":0.00329,"14":0.00165,"15":0.00165,"16":0.00987,"17":0.00494,"18":0.05758,"84":0.01316,"88":0.00494,"89":0.01974,"90":0.01152,"92":0.11515,"100":0.00987,"105":0.00987,"107":0.00165,"109":0.00987,"111":0.00329,"112":0.00329,"114":0.00329,"115":0.00165,"119":0.00165,"120":0.00987,"121":0.00329,"122":0.00823,"124":0.00494,"125":0.00329,"126":0.03619,"127":0.02303,"128":0.02797,"129":0.09706,"130":1.59236,"131":0.76657,_:"79 80 81 83 85 86 87 91 93 94 95 96 97 98 99 101 102 103 104 106 108 110 113 116 117 118 123"},E:{"11":0.00329,"13":0.01481,_:"0 4 5 6 7 8 9 10 12 14 15 3.1 3.2 6.1 7.1 9.1 10.1 15.4 15.5 16.2 16.4 16.5 17.3 18.2","5.1":0.00329,"11.1":0.00494,"12.1":0.02468,"13.1":0.02139,"14.1":0.00658,"15.1":0.00165,"15.2-15.3":0.00329,"15.6":0.00987,"16.0":0.00165,"16.1":0.00165,"16.3":0.00329,"16.6":0.0181,"17.0":0.00165,"17.1":0.00165,"17.2":0.00165,"17.4":0.00823,"17.5":0.01481,"17.6":0.04771,"18.0":0.01645,"18.1":0.06745},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00057,"5.0-5.1":0,"6.0-6.1":0.00229,"7.0-7.1":0.00287,"8.1-8.4":0,"9.0-9.2":0.00229,"9.3":0.00802,"10.0-10.2":0.00172,"10.3":0.01318,"11.0-11.2":0.15475,"11.3-11.4":0.00401,"12.0-12.1":0.00229,"12.2-12.5":0.06018,"13.0-13.1":0.00115,"13.2":0.01548,"13.3":0.00229,"13.4-13.7":0.0086,"14.0-14.4":0.01891,"14.5-14.8":0.02694,"15.0-15.1":0.01548,"15.2-15.3":0.01433,"15.4":0.01719,"15.5":0.02006,"15.6-15.8":0.21493,"16.0":0.04069,"16.1":0.08597,"16.2":0.04356,"16.3":0.07394,"16.4":0.0149,"16.5":0.0298,"16.6-16.7":0.28199,"17.0":0.02063,"17.1":0.03439,"17.2":0.02866,"17.3":0.04356,"17.4":0.09342,"17.5":0.27913,"17.6-17.7":2.41125,"18.0":0.85514,"18.1":0.7514,"18.2":0.03038},P:{"4":0.01023,"20":0.01023,"21":0.02046,"22":0.05115,"23":0.02046,"24":0.12277,"25":0.07161,"26":0.34784,"27":0.133,"5.0-5.4":0.07161,_:"6.2-6.4 8.2 10.1 12.0 14.0 15.0 17.0 18.0","7.2-7.4":0.04092,"9.2":0.01023,"11.1-11.2":0.02046,"13.0":0.01023,"16.0":0.05115,"19.0":0.01023},I:{"0":0.01667,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"10":0.00376,"11":0.0094,_:"6 7 8 9 5.5"},K:{"0":2.7405,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.04178,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.50966},H:{"0":4.52},L:{"0":74.58131},R:{_:"0"},M:{"0":0.06684}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LS.js deleted file mode 100644 index f2b730e5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.0034,"102":0.0034,"113":0.01019,"115":0.0849,"127":0.01019,"128":0.06792,"129":0.0034,"130":0.02717,"131":0.04415,"132":0.41092,"133":0.02717,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 120 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"43":0.0034,"55":0.0034,"65":0.01698,"69":0.0034,"70":0.07811,"71":0.01358,"74":0.0034,"75":0.0034,"76":0.02377,"79":0.00679,"80":0.0034,"81":0.00679,"83":0.0034,"86":0.00679,"88":0.00679,"94":0.01698,"95":0.00679,"97":0.00679,"99":0.0034,"100":0.0034,"102":0.03736,"103":0.01698,"107":0.00679,"108":0.02377,"109":0.78787,"111":0.02377,"112":0.0034,"113":0.0034,"114":0.02717,"116":0.0034,"118":0.06113,"119":0.01019,"120":0.01698,"121":0.00679,"122":0.04754,"123":0.04075,"124":0.01698,"125":0.01019,"126":0.1664,"127":0.03056,"128":0.04415,"129":0.28866,"130":7.99418,"131":4.16689,"132":0.0034,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 67 68 72 73 77 78 84 85 87 89 90 91 92 93 96 98 101 104 105 106 110 115 117 133 134"},F:{"37":0.0034,"79":0.00679,"84":0.0034,"85":0.03736,"88":0.0034,"95":0.15961,"112":0.0034,"114":0.82183,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 86 87 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.0034,"18":0.01019,"84":0.0034,"90":0.00679,"92":0.06113,"96":0.0034,"100":0.00679,"103":0.01698,"104":0.0034,"109":0.04415,"113":0.0034,"114":0.0034,"118":0.0034,"119":0.00679,"120":0.01019,"121":0.01358,"122":0.0034,"123":0.0034,"124":0.00679,"125":0.01019,"126":0.01358,"127":0.01358,"128":0.02717,"129":0.06792,"130":2.1191,"131":1.08672,_:"12 13 14 16 17 79 80 81 83 85 86 87 88 89 91 93 94 95 97 98 99 101 102 105 106 107 108 110 111 112 115 116 117"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 16.5 17.0 17.2 17.3","13.1":0.00679,"14.1":0.00679,"15.6":0.00679,"16.1":0.0034,"16.3":0.0034,"16.4":0.0034,"16.6":0.05094,"17.1":0.0034,"17.4":0.00679,"17.5":0.02717,"17.6":0.05434,"18.0":0.03396,"18.1":0.15961,"18.2":0.02717},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00025,"5.0-5.1":0,"6.0-6.1":0.001,"7.0-7.1":0.00125,"8.1-8.4":0,"9.0-9.2":0.001,"9.3":0.0035,"10.0-10.2":0.00075,"10.3":0.00574,"11.0-11.2":0.06741,"11.3-11.4":0.00175,"12.0-12.1":0.001,"12.2-12.5":0.02622,"13.0-13.1":0.0005,"13.2":0.00674,"13.3":0.001,"13.4-13.7":0.00375,"14.0-14.4":0.00824,"14.5-14.8":0.01173,"15.0-15.1":0.00674,"15.2-15.3":0.00624,"15.4":0.00749,"15.5":0.00874,"15.6-15.8":0.09363,"16.0":0.01773,"16.1":0.03745,"16.2":0.01897,"16.3":0.03221,"16.4":0.00649,"16.5":0.01298,"16.6-16.7":0.12284,"17.0":0.00899,"17.1":0.01498,"17.2":0.01248,"17.3":0.01897,"17.4":0.0407,"17.5":0.12159,"17.6-17.7":1.05036,"18.0":0.37251,"18.1":0.32732,"18.2":0.01323},P:{"4":0.49922,"21":0.04075,"22":0.13245,"23":0.06113,"24":0.27508,"25":1.01882,"26":1.14108,"27":0.22414,_:"20 5.0-5.4 10.1 12.0 14.0 15.0","6.2-6.4":0.15282,"7.2-7.4":0.31583,"8.2":0.01019,"9.2":0.01019,"11.1-11.2":0.01019,"13.0":0.02038,"16.0":0.01019,"17.0":0.03056,"18.0":0.02038,"19.0":0.10188},I:{"0":0.04613,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":1.13766,_:"6 7 8 9 10 5.5"},K:{"0":5.22086,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.05284,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.72655},H:{"0":0.4},L:{"0":65.73346},R:{_:"0"},M:{"0":0.05284}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LT.js deleted file mode 100644 index d3620864..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00548,"78":0.00548,"102":0.0219,"103":0.01095,"106":0.00548,"108":0.00548,"109":0.00548,"115":0.25733,"118":0.01095,"119":0.00548,"121":0.00548,"122":0.00548,"123":0.00548,"124":0.00548,"125":0.00548,"126":0.0219,"127":0.04928,"128":0.0657,"129":0.0219,"130":0.03285,"131":0.27375,"132":2.06408,"133":0.1095,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 107 110 111 112 113 114 116 117 120 134 135 136 3.5 3.6"},D:{"49":0.00548,"79":0.01095,"83":0.01095,"84":0.01095,"85":0.00548,"86":0.00548,"87":0.01095,"88":0.00548,"92":0.01643,"94":0.00548,"95":0.00548,"102":0.00548,"103":0.05475,"104":0.01643,"106":0.02738,"107":0.01643,"108":0.01643,"109":1.63703,"110":0.00548,"111":0.02738,"112":0.00548,"113":0.01643,"114":0.18615,"115":0.0219,"116":0.1314,"117":0.00548,"118":0.01095,"119":0.01643,"120":0.08213,"121":0.12045,"122":0.20805,"123":0.43253,"124":0.07665,"125":0.24638,"126":0.22995,"127":0.1752,"128":0.43253,"129":1.99838,"130":27.03555,"131":13.11263,"132":0.00548,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 89 90 91 93 96 97 98 99 100 101 105 133 134"},F:{"85":0.00548,"95":0.05475,"102":0.00548,"108":0.00548,"113":0.15878,"114":1.0293,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.01095,"99":0.00548,"102":0.01095,"108":0.00548,"109":0.0438,"111":0.01643,"112":0.00548,"113":0.01095,"114":0.00548,"117":0.0219,"121":0.01095,"122":0.01643,"123":0.06023,"124":0.01095,"125":0.03833,"126":0.01643,"127":0.0219,"128":0.14235,"129":0.22995,"130":1.3797,"131":0.60225,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 100 101 103 104 105 106 107 110 115 116 118 119 120"},E:{"11":0.00548,"14":0.00548,_:"0 4 5 6 7 8 9 10 12 13 15 3.1 3.2 5.1 6.1 7.1 11.1 12.1 15.1 15.4","9.1":0.00548,"10.1":0.00548,"13.1":0.00548,"14.1":0.0219,"15.2-15.3":0.00548,"15.5":0.00548,"15.6":0.02738,"16.0":0.00548,"16.1":0.01095,"16.2":0.0219,"16.3":0.01095,"16.4":0.01095,"16.5":0.00548,"16.6":0.03833,"17.0":0.01095,"17.1":0.01095,"17.2":0.01095,"17.3":0.01643,"17.4":0.03285,"17.5":0.04928,"17.6":0.20258,"18.0":0.09855,"18.1":0.14235,"18.2":0.00548},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00345,"5.0-5.1":0,"6.0-6.1":0.01381,"7.0-7.1":0.01726,"8.1-8.4":0,"9.0-9.2":0.01381,"9.3":0.04832,"10.0-10.2":0.01035,"10.3":0.07939,"11.0-11.2":0.93191,"11.3-11.4":0.02416,"12.0-12.1":0.01381,"12.2-12.5":0.36241,"13.0-13.1":0.0069,"13.2":0.09319,"13.3":0.01381,"13.4-13.7":0.05177,"14.0-14.4":0.1139,"14.5-14.8":0.16222,"15.0-15.1":0.09319,"15.2-15.3":0.08629,"15.4":0.10355,"15.5":0.1208,"15.6-15.8":1.29432,"16.0":0.24506,"16.1":0.51773,"16.2":0.26232,"16.3":0.44525,"16.4":0.08974,"16.5":0.17948,"16.6-16.7":1.69815,"17.0":0.12425,"17.1":0.20709,"17.2":0.17258,"17.3":0.26232,"17.4":0.5626,"17.5":1.68089,"17.6-17.7":14.52058,"18.0":5.14968,"18.1":4.52495,"18.2":0.18293},P:{"4":0.01044,"21":0.01044,"22":0.01044,"23":0.02088,"24":0.01044,"25":0.02088,"26":0.51144,"27":0.40706,_:"20 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.02088},I:{"0":0.01806,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.00616,"11":0.04312,_:"6 7 9 10 5.5"},K:{"0":0.19009,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04073},H:{"0":0},L:{"0":9.30057},R:{_:"0"},M:{"0":0.15841}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LU.js deleted file mode 100644 index 49e5573b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"40":0.00475,"52":0.03324,"60":0.06172,"61":0.00475,"68":0.00475,"78":0.13294,"89":0.00475,"91":0.01424,"99":0.00475,"102":0.02374,"104":0.0095,"105":0.00475,"106":0.0095,"107":0.01424,"112":0.01899,"115":0.88313,"117":0.00475,"120":0.00475,"123":0.0095,"124":0.0095,"125":0.14244,"126":0.01424,"127":0.0095,"128":1.89445,"129":0.06647,"130":0.03324,"131":0.36085,"132":3.65596,"133":0.28963,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 90 92 93 94 95 96 97 98 100 101 103 108 109 110 111 113 114 116 118 119 121 122 134 135 136 3.5 3.6"},D:{"34":0.00475,"44":0.00475,"45":0.00475,"46":0.00475,"51":0.00475,"56":0.00475,"58":0.00475,"65":0.00475,"66":0.0095,"72":0.0095,"79":0.07597,"80":0.00475,"85":0.00475,"87":0.04273,"88":0.0095,"90":0.0095,"91":0.02374,"94":0.0095,"96":0.02849,"97":0.0095,"98":0.0095,"100":0.00475,"102":0.01424,"103":0.03324,"106":0.03324,"107":0.03798,"108":0.02374,"109":0.7027,"110":0.00475,"111":0.01424,"112":0.0095,"113":0.00475,"114":0.18042,"115":0.00475,"116":0.52703,"117":0.04748,"118":0.54602,"119":0.02849,"120":0.03324,"121":0.07122,"122":0.12345,"123":0.19942,"124":0.22316,"125":0.07597,"126":0.29438,"127":0.06172,"128":0.45581,"129":0.90687,"130":11.7513,"131":5.68336,"132":0.00475,"133":0.00475,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 47 48 49 50 52 53 54 55 57 59 60 61 62 63 64 67 68 69 70 71 73 74 75 76 77 78 81 83 84 86 89 92 93 95 99 101 104 105 134"},F:{"46":0.02374,"84":0.00475,"85":0.02374,"89":0.02374,"95":0.02374,"113":0.05223,"114":1.02557,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 86 87 88 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00475,"100":0.00475,"109":0.02374,"110":0.00475,"114":0.0095,"115":0.00475,"119":0.0095,"120":0.02374,"121":0.03798,"122":0.02374,"123":0.0095,"124":0.01899,"125":0.01899,"126":0.07122,"127":0.01424,"128":0.22316,"129":0.19467,"130":3.52302,"131":2.17933,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 113 116 117 118"},E:{"9":0.0095,"11":0.00475,"14":0.04273,"15":0.0095,_:"0 4 5 6 7 8 10 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00475,"12.1":0.0095,"13.1":0.09971,"14.1":0.18992,"15.1":0.00475,"15.2-15.3":0.0095,"15.4":0.0095,"15.5":0.09496,"15.6":0.3466,"16.0":0.14244,"16.1":0.1187,"16.2":0.07597,"16.3":0.23265,"16.4":0.02849,"16.5":0.10446,"16.6":0.43682,"17.0":0.09021,"17.1":0.1187,"17.2":0.09496,"17.3":0.1092,"17.4":0.2374,"17.5":0.74069,"17.6":2.28379,"18.0":1.13952,"18.1":1.23923,"18.2":0.01899},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00184,"5.0-5.1":0,"6.0-6.1":0.00737,"7.0-7.1":0.00921,"8.1-8.4":0,"9.0-9.2":0.00737,"9.3":0.02578,"10.0-10.2":0.00552,"10.3":0.04235,"11.0-11.2":0.49716,"11.3-11.4":0.01289,"12.0-12.1":0.00737,"12.2-12.5":0.19334,"13.0-13.1":0.00368,"13.2":0.04972,"13.3":0.00737,"13.4-13.7":0.02762,"14.0-14.4":0.06076,"14.5-14.8":0.08654,"15.0-15.1":0.04972,"15.2-15.3":0.04603,"15.4":0.05524,"15.5":0.06445,"15.6-15.8":0.69051,"16.0":0.13074,"16.1":0.2762,"16.2":0.13994,"16.3":0.23753,"16.4":0.04788,"16.5":0.09575,"16.6-16.7":0.90594,"17.0":0.06629,"17.1":0.11048,"17.2":0.09207,"17.3":0.13994,"17.4":0.30014,"17.5":0.89674,"17.6-17.7":7.74656,"18.0":2.7473,"18.1":2.41401,"18.2":0.09759},P:{"4":0.22785,"21":0.01036,"22":0.04143,"23":0.02071,"24":0.04143,"25":0.04143,"26":1.94705,"27":1.61563,_:"20 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0 16.0 19.0","5.0-5.4":0.06214,"6.2-6.4":0.01036,"13.0":0.01036,"14.0":0.01036,"17.0":0.01036,"18.0":0.01036},I:{"0":0.1939,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00025},A:{"8":0.02337,"9":0.00584,"10":0.00584,"11":0.04091,_:"6 7 5.5"},K:{"0":0.48844,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.79305},O:{"0":1.03464},H:{"0":0},L:{"0":26.25894},R:{_:"0"},M:{"0":1.16594}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LV.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LV.js deleted file mode 100644 index ea604ce1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"16":0.01988,"48":0.00663,"52":0.01326,"60":0.00663,"68":0.00663,"78":0.03977,"88":0.00663,"92":0.00663,"95":0.00663,"99":0.00663,"102":0.03314,"103":0.00663,"110":0.00663,"114":0.00663,"115":0.47059,"118":0.00663,"121":0.01326,"123":0.00663,"125":0.01988,"126":0.0464,"127":0.0464,"128":0.14582,"129":0.02651,"130":0.13256,"131":0.34466,"132":3.67854,"133":0.31814,"134":0.00663,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 93 94 96 97 98 100 101 104 105 106 107 108 109 111 112 113 116 117 119 120 122 124 135 136 3.5 3.6"},D:{"49":0.00663,"79":0.07954,"80":0.01326,"87":0.02651,"89":0.00663,"90":0.00663,"91":0.00663,"92":0.01326,"94":0.00663,"96":0.00663,"97":0.00663,"102":0.01988,"103":0.11268,"104":0.00663,"105":0.01988,"106":0.03977,"107":0.05965,"108":0.01988,"109":1.94863,"110":0.03314,"111":0.00663,"112":0.01326,"114":0.0464,"115":0.03314,"116":0.25186,"117":0.00663,"118":0.03314,"119":0.09942,"120":0.03977,"121":0.07291,"122":0.22535,"123":0.62966,"124":0.17896,"125":0.06628,"126":0.17896,"127":0.20547,"128":0.3314,"129":1.84921,"130":27.09526,"131":17.67025,"132":0.03314,"133":0.0464,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 83 84 85 86 88 93 95 98 99 100 101 113 134"},F:{"79":0.00663,"85":0.01988,"95":0.14582,"104":0.00663,"112":0.00663,"113":0.27175,"114":1.69677,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00663,"109":0.01988,"110":0.00663,"112":0.00663,"114":0.01326,"121":0.00663,"124":0.01326,"125":0.01326,"126":0.02651,"127":0.01326,"128":0.03977,"129":0.15244,"130":1.97514,"131":1.26595,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 111 113 115 116 117 118 119 120 122 123"},E:{"14":0.00663,"15":0.00663,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3","12.1":0.01326,"13.1":0.01988,"14.1":0.03314,"15.1":0.00663,"15.4":0.00663,"15.5":0.00663,"15.6":0.15907,"16.0":0.00663,"16.1":0.01988,"16.2":0.00663,"16.3":0.01988,"16.4":0.03977,"16.5":0.02651,"16.6":0.12593,"17.0":0.01326,"17.1":0.0464,"17.2":0.02651,"17.3":0.03314,"17.4":0.05302,"17.5":0.12593,"17.6":0.39768,"18.0":0.37117,"18.1":0.45733,"18.2":0.01326},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00081,"5.0-5.1":0,"6.0-6.1":0.00323,"7.0-7.1":0.00404,"8.1-8.4":0,"9.0-9.2":0.00323,"9.3":0.01131,"10.0-10.2":0.00242,"10.3":0.01858,"11.0-11.2":0.21814,"11.3-11.4":0.00566,"12.0-12.1":0.00323,"12.2-12.5":0.08483,"13.0-13.1":0.00162,"13.2":0.02181,"13.3":0.00323,"13.4-13.7":0.01212,"14.0-14.4":0.02666,"14.5-14.8":0.03797,"15.0-15.1":0.02181,"15.2-15.3":0.0202,"15.4":0.02424,"15.5":0.02828,"15.6-15.8":0.30297,"16.0":0.05736,"16.1":0.12119,"16.2":0.0614,"16.3":0.10422,"16.4":0.02101,"16.5":0.04201,"16.6-16.7":0.3975,"17.0":0.02909,"17.1":0.04848,"17.2":0.0404,"17.3":0.0614,"17.4":0.13169,"17.5":0.39346,"17.6-17.7":3.39897,"18.0":1.20543,"18.1":1.0592,"18.2":0.04282},P:{"4":0.04187,"20":0.02093,"21":0.01047,"22":0.02093,"23":0.02093,"24":0.04187,"25":0.05234,"26":1.35028,"27":0.95252,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.02692,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.01988,"11":0.07954,_:"6 7 9 10 5.5"},K:{"0":0.27988,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00337},O:{"0":0.0843},H:{"0":0},L:{"0":22.72196},R:{_:"0"},M:{"0":0.30685}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LY.js deleted file mode 100644 index f24547d3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/LY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"26":0.0019,"34":0.0019,"39":0.0019,"43":0.0019,"45":0.0057,"49":0.0019,"56":0.0019,"70":0.0019,"72":0.0019,"79":0.0019,"84":0.0019,"88":0.0019,"98":0.0019,"102":0.0019,"103":0.0095,"111":0.0019,"114":0.0019,"115":0.13673,"117":0.0038,"121":0.0038,"126":0.0019,"127":0.0057,"128":0.0038,"129":0.0095,"130":0.0076,"131":0.02849,"132":0.39879,"133":0.03228,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 38 40 41 42 44 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 71 73 74 75 76 77 78 80 81 82 83 85 86 87 89 90 91 92 93 94 95 96 97 99 100 101 104 105 106 107 108 109 110 112 113 116 118 119 120 122 123 124 125 134 135 136 3.5 3.6"},D:{"11":0.0019,"28":0.0057,"40":0.0019,"43":0.0038,"47":0.0057,"49":0.0076,"50":0.0019,"51":0.02469,"53":0.0019,"57":0.0019,"58":0.1937,"59":0.0019,"60":0.0019,"63":0.0019,"65":0.0019,"66":0.0019,"69":0.0019,"70":0.01139,"71":0.0057,"72":0.0019,"73":0.0095,"74":0.0057,"75":0.09115,"77":0.0019,"78":0.0038,"79":0.04178,"80":0.0057,"81":0.0038,"83":0.01519,"85":0.0038,"86":0.01329,"87":0.02849,"88":0.01519,"89":0.0019,"90":0.01139,"91":0.01139,"92":0.01519,"93":0.0038,"94":0.01139,"95":0.0076,"96":0.0057,"97":0.0038,"98":0.01899,"99":0.0057,"100":0.0057,"101":0.0038,"102":0.01709,"103":0.03608,"104":0.02469,"105":0.01709,"106":0.0038,"107":0.0076,"108":0.01139,"109":2.17815,"110":0.01329,"111":0.0076,"112":0.0057,"114":0.0076,"115":0.0038,"116":0.01899,"117":0.0057,"118":0.01709,"119":0.01329,"120":0.05887,"121":0.01329,"122":0.02279,"123":0.07026,"124":0.08546,"125":0.02279,"126":0.05887,"127":0.03608,"128":0.08166,"129":0.44057,"130":5.21845,"131":3.72394,"133":0.0057,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 41 42 44 45 46 48 52 54 55 56 61 62 64 67 68 76 84 113 132 134"},F:{"21":0.0019,"46":0.0019,"79":0.0076,"80":0.0038,"83":0.0019,"84":0.0095,"85":0.03228,"86":0.0019,"88":0.0019,"95":0.08735,"97":0.0019,"109":0.0019,"110":0.0019,"112":0.0019,"113":0.11394,"114":0.68174,_:"9 11 12 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 87 89 90 91 92 93 94 96 98 99 100 101 102 103 104 105 106 107 108 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.0019,"15":0.0019,"16":0.0019,"18":0.0076,"83":0.0019,"84":0.0019,"89":0.0038,"90":0.0019,"92":0.04368,"100":0.0095,"101":0.0019,"108":0.0019,"109":0.03228,"110":0.0019,"114":0.0076,"116":0.0019,"117":0.0038,"119":0.0019,"120":0.0019,"121":0.0019,"122":0.01139,"124":0.01329,"125":0.0038,"126":0.01139,"127":0.0095,"128":0.02279,"129":0.10445,"130":1.25144,"131":0.91342,_:"12 13 17 79 80 81 85 86 87 88 91 93 94 95 96 97 98 99 102 103 104 105 106 107 111 112 113 115 118 123"},E:{"13":0.0019,"14":0.0019,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.4 16.2","5.1":0.0057,"13.1":0.0019,"14.1":0.0038,"15.2-15.3":0.0019,"15.5":0.0038,"15.6":0.02469,"16.0":0.0019,"16.1":0.02659,"16.3":0.0038,"16.4":0.0019,"16.5":0.0038,"16.6":0.02089,"17.0":0.0019,"17.1":0.0019,"17.2":0.0019,"17.3":0.0038,"17.4":0.01329,"17.5":0.01899,"17.6":0.08925,"18.0":0.06457,"18.1":0.10065,"18.2":0.0076},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00083,"5.0-5.1":0,"6.0-6.1":0.00332,"7.0-7.1":0.00415,"8.1-8.4":0,"9.0-9.2":0.00332,"9.3":0.01162,"10.0-10.2":0.00249,"10.3":0.0191,"11.0-11.2":0.22417,"11.3-11.4":0.00581,"12.0-12.1":0.00332,"12.2-12.5":0.08718,"13.0-13.1":0.00166,"13.2":0.02242,"13.3":0.00332,"13.4-13.7":0.01245,"14.0-14.4":0.0274,"14.5-14.8":0.03902,"15.0-15.1":0.02242,"15.2-15.3":0.02076,"15.4":0.02491,"15.5":0.02906,"15.6-15.8":0.31134,"16.0":0.05895,"16.1":0.12454,"16.2":0.0631,"16.3":0.1071,"16.4":0.02159,"16.5":0.04317,"16.6-16.7":0.40848,"17.0":0.02989,"17.1":0.04982,"17.2":0.04151,"17.3":0.0631,"17.4":0.13533,"17.5":0.40433,"17.6-17.7":3.49286,"18.0":1.23873,"18.1":1.08846,"18.2":0.044},P:{"4":0.09095,"20":0.1718,"21":0.09095,"22":0.25265,"23":0.24255,"24":0.27286,"25":0.27286,"26":1.30368,"27":0.67711,_:"5.0-5.4 8.2","6.2-6.4":0.10106,"7.2-7.4":0.44467,"9.2":0.01011,"10.1":0.02021,"11.1-11.2":0.06064,"12.0":0.02021,"13.0":0.07074,"14.0":0.03032,"15.0":0.02021,"16.0":0.04042,"17.0":0.03032,"18.0":0.03032,"19.0":0.07074},I:{"0":0.09699,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"8":0.00209,"9":0.00209,"11":0.01671,_:"6 7 10 5.5"},K:{"0":6.0007,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.4455},H:{"0":0.05},L:{"0":62.84655},R:{_:"0"},M:{"0":0.081}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MA.js deleted file mode 100644 index d8069896..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.07356,"65":0.01839,"76":0.00368,"78":0.00736,"93":0.00368,"94":0.00368,"102":0.00368,"103":0.00368,"105":0.00368,"106":0.00368,"107":0.00368,"108":0.00368,"109":0.00736,"110":0.02575,"111":0.00368,"115":0.32734,"122":0.00368,"123":0.00368,"124":0.00368,"125":0.01471,"126":0.00368,"127":0.02575,"128":0.02942,"129":0.01471,"130":0.01471,"131":0.12505,"132":1.43442,"133":0.11034,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 95 96 97 98 99 100 101 104 112 113 114 116 117 118 119 120 121 134 135 136 3.5 3.6"},D:{"11":0.00368,"29":0.00368,"38":0.00368,"43":0.00368,"47":0.00368,"48":0.00368,"49":0.02207,"50":0.00368,"55":0.00368,"56":0.02575,"58":0.11402,"63":0.00368,"65":0.00368,"66":0.00736,"67":0.01103,"68":0.01103,"69":0.00736,"70":0.00736,"72":0.01471,"73":0.02207,"74":0.00368,"75":0.01471,"76":0.00368,"77":0.00368,"78":0.00368,"79":0.13609,"80":0.00736,"81":0.01103,"83":0.16183,"84":0.00736,"85":0.01103,"86":0.01471,"87":0.13609,"88":0.02942,"89":0.00368,"90":0.00368,"91":0.01471,"92":0.00368,"93":0.01103,"94":0.05885,"95":0.02575,"96":0.00736,"97":0.00736,"98":0.01839,"99":0.00368,"100":0.00736,"101":0.01839,"102":0.01103,"103":0.04781,"104":0.02207,"105":0.02207,"106":0.06253,"107":0.05885,"108":0.06988,"109":2.65552,"110":0.08827,"111":0.04046,"112":0.04414,"113":0.01839,"114":0.02207,"115":0.00736,"116":0.16551,"117":0.00736,"118":0.02575,"119":0.09931,"120":0.07356,"121":0.04046,"122":0.0662,"123":0.06988,"124":0.2501,"125":0.06988,"126":0.1177,"127":0.12873,"128":0.23539,"129":0.73928,"130":12.21832,"131":7.87092,"132":0.02207,"133":0.00368,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 51 52 53 54 57 59 60 61 62 64 71 134"},F:{"28":0.00368,"40":0.00368,"46":0.00736,"79":0.00736,"84":0.00368,"85":0.00736,"92":0.00368,"94":0.00368,"95":0.07724,"96":0.00368,"101":0.00368,"102":0.00368,"105":0.00368,"108":0.00368,"111":0.00368,"112":0.00736,"113":0.0662,"114":1.69924,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 86 87 88 89 90 91 93 97 98 99 100 103 104 106 107 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00368,"18":0.00736,"89":0.00368,"92":0.03678,"100":0.00368,"103":0.00368,"106":0.00736,"107":0.00736,"108":0.01103,"109":0.04046,"110":0.00736,"111":0.00368,"112":0.00368,"113":0.00368,"114":0.00368,"116":0.00368,"117":0.00368,"118":0.00368,"120":0.00368,"121":0.00368,"122":0.00368,"124":0.00736,"125":0.00736,"126":0.00736,"127":0.01103,"128":0.02207,"129":0.12505,"130":1.82061,"131":1.19903,_:"12 13 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 104 105 115 119 123"},E:{"13":0.00368,"14":0.01103,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 18.2","5.1":0.00368,"11.1":0.00368,"12.1":0.00368,"13.1":0.02942,"14.1":0.0331,"15.1":0.00368,"15.2-15.3":0.00736,"15.4":0.00368,"15.5":0.00368,"15.6":0.10298,"16.0":0.00736,"16.1":0.00736,"16.2":0.00368,"16.3":0.01103,"16.4":0.01103,"16.5":0.00736,"16.6":0.06253,"17.0":0.01103,"17.1":0.01471,"17.2":0.01471,"17.3":0.01471,"17.4":0.04414,"17.5":0.06253,"17.6":0.14712,"18.0":0.11402,"18.1":0.14344},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00078,"5.0-5.1":0,"6.0-6.1":0.00313,"7.0-7.1":0.00391,"8.1-8.4":0,"9.0-9.2":0.00313,"9.3":0.01094,"10.0-10.2":0.00234,"10.3":0.01797,"11.0-11.2":0.21098,"11.3-11.4":0.00547,"12.0-12.1":0.00313,"12.2-12.5":0.08205,"13.0-13.1":0.00156,"13.2":0.0211,"13.3":0.00313,"13.4-13.7":0.01172,"14.0-14.4":0.02579,"14.5-14.8":0.03673,"15.0-15.1":0.0211,"15.2-15.3":0.01953,"15.4":0.02344,"15.5":0.02735,"15.6-15.8":0.29302,"16.0":0.05548,"16.1":0.11721,"16.2":0.05939,"16.3":0.1008,"16.4":0.02032,"16.5":0.04063,"16.6-16.7":0.38445,"17.0":0.02813,"17.1":0.04688,"17.2":0.03907,"17.3":0.05939,"17.4":0.12737,"17.5":0.38054,"17.6-17.7":3.28735,"18.0":1.16585,"18.1":1.02441,"18.2":0.04141},P:{"4":0.45134,"20":0.02052,"21":0.09232,"22":0.06155,"23":0.06155,"24":0.08206,"25":0.15387,"26":1.2104,"27":0.89242,"5.0-5.4":0.04103,"6.2-6.4":0.14361,"7.2-7.4":0.23593,_:"8.2 10.1","9.2":0.01026,"11.1-11.2":0.02052,"12.0":0.01026,"13.0":0.03077,"14.0":0.02052,"15.0":0.01026,"16.0":0.02052,"17.0":0.03077,"18.0":0.01026,"19.0":0.03077},I:{"0":0.17663,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00023},A:{"8":0.02033,"9":0.00407,"10":0.00407,"11":0.12602,_:"6 7 5.5"},K:{"0":0.30668,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.10747},H:{"0":0.06},L:{"0":52.28042},R:{_:"0"},M:{"0":0.14541}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MC.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MC.js deleted file mode 100644 index 23a4ce91..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"2":0.00639,"9":0.00639,"10":0.00639,"12":0.00639,"13":0.00639,"15":0.00639,"20":0.00639,"21":0.00639,"24":0.00639,"29":0.00639,"31":0.00639,"34":0.00639,"35":0.00639,"36":0.00639,"38":0.01278,"39":0.01918,"40":0.02557,"41":0.00639,"43":0.00639,"52":0.00639,"60":0.00639,"67":0.05753,"68":0.05114,"72":0.06392,"75":0.26846,"78":0.86292,"82":0.03835,"106":0.15341,"107":0.00639,"108":0.11506,"115":0.33878,"116":0.00639,"119":0.00639,"120":0.00639,"121":0.00639,"122":0.00639,"125":0.07031,"126":0.00639,"128":0.14062,"130":1.39985,"131":0.07031,"132":2.29473,"133":0.2429,_:"3 4 5 6 7 8 11 14 16 17 18 19 22 23 25 26 27 28 30 32 33 37 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 69 70 71 73 74 76 77 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 109 110 111 112 113 114 117 118 123 124 127 129 134 135 136","3.5":0.00639,"3.6":0.01278},D:{"6":0.00639,"8":0.00639,"11":0.00639,"15":0.00639,"19":0.00639,"21":0.00639,"31":0.01918,"33":0.00639,"35":0.00639,"36":0.00639,"37":0.00639,"38":0.00639,"39":0.01278,"40":0.01278,"41":0.01918,"42":0.03196,"43":0.02557,"44":0.03835,"45":0.03196,"46":0.01918,"47":0.02557,"51":0.02557,"56":0.00639,"57":0.00639,"65":0.00639,"68":0.00639,"70":0.02557,"71":0.06392,"72":0.00639,"74":0.01278,"76":0.0831,"78":0.00639,"79":0.32599,"80":0.01278,"81":0.27486,"83":0.00639,"84":0.02557,"85":0.6392,"86":0.03835,"87":0.799,"96":0.00639,"98":0.05753,"99":0.01918,"102":0.00639,"103":1.47655,"104":0.00639,"105":0.23011,"106":0.00639,"107":0.62642,"108":0.21733,"109":0.49858,"110":0.31321,"111":0.20454,"112":0.19815,"113":0.00639,"114":0.01918,"115":0.00639,"116":1.68749,"117":0.04474,"118":0.00639,"119":0.00639,"120":0.01918,"121":0.01918,"122":0.0831,"123":0.01918,"124":1.55965,"125":0.01278,"126":0.08949,"127":0.0831,"128":0.30042,"129":0.99076,"130":9.65831,"131":5.58022,_:"4 5 7 9 10 12 13 14 16 17 18 20 22 23 24 25 26 27 28 29 30 32 34 48 49 50 52 53 54 55 58 59 60 61 62 63 64 66 67 69 73 75 77 88 89 90 91 92 93 94 95 97 100 101 132 133 134"},F:{"24":0.00639,"26":0.00639,"31":0.01278,"65":0.07031,"82":0.00639,"89":0.00639,"93":0.10227,"96":0.1598,"113":0.01278,"114":12.15758,_:"9 11 12 15 16 17 18 19 20 21 22 23 25 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 90 91 92 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5","11.6":0.00639,"12.1":0.01278},B:{"12":0.00639,"17":0.00639,"18":0.05753,"86":0.01278,"107":0.00639,"108":0.01278,"109":0.14702,"110":0.13423,"123":0.05114,"128":0.05753,"129":0.09588,"130":2.69742,"131":1.94317,_:"13 14 15 16 79 80 81 83 84 85 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 111 112 113 114 115 116 117 118 119 120 121 122 124 125 126 127"},E:{"5":0.01278,"8":0.00639,"9":0.07031,"14":0.01278,_:"0 4 6 7 10 11 12 13 15 3.1 3.2 7.1 9.1 10.1 11.1 12.1","5.1":0.00639,"6.1":0.00639,"13.1":0.03835,"14.1":0.0831,"15.1":0.00639,"15.2-15.3":0.01278,"15.4":0.03196,"15.5":0.02557,"15.6":0.23011,"16.0":0.03196,"16.1":0.51775,"16.2":0.00639,"16.3":0.09588,"16.4":0.02557,"16.5":0.2429,"16.6":0.75426,"17.0":0.01918,"17.1":0.07031,"17.2":0.93962,"17.3":0.54332,"17.4":0.37074,"17.5":0.42187,"17.6":2.83166,"18.0":0.75426,"18.1":1.91121,"18.2":0.00639},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00196,"5.0-5.1":0,"6.0-6.1":0.00786,"7.0-7.1":0.00982,"8.1-8.4":0,"9.0-9.2":0.00786,"9.3":0.02749,"10.0-10.2":0.00589,"10.3":0.04517,"11.0-11.2":0.53024,"11.3-11.4":0.01375,"12.0-12.1":0.00786,"12.2-12.5":0.2062,"13.0-13.1":0.00393,"13.2":0.05302,"13.3":0.00786,"13.4-13.7":0.02946,"14.0-14.4":0.06481,"14.5-14.8":0.0923,"15.0-15.1":0.05302,"15.2-15.3":0.0491,"15.4":0.05892,"15.5":0.06873,"15.6-15.8":0.73644,"16.0":0.13943,"16.1":0.29458,"16.2":0.14925,"16.3":0.25333,"16.4":0.05106,"16.5":0.10212,"16.6-16.7":0.96621,"17.0":0.0707,"17.1":0.11783,"17.2":0.09819,"17.3":0.14925,"17.4":0.32011,"17.5":0.95639,"17.6-17.7":8.26185,"18.0":2.93004,"18.1":2.57459,"18.2":0.10408},P:{"4":0.03148,"20":0.01049,"23":0.01049,"24":0.50363,"26":0.51412,"27":0.70298,_:"21 22 25 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","5.0-5.4":0.01049,"6.2-6.4":0.04197},I:{"0":0.32761,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.0001,"4.4":0,"4.4.3-4.4.4":0.00043},A:{"6":0.01918,"7":0.01918,"8":0.27486,"9":0.03196,"10":0.05753,"11":0.30042,_:"5.5"},K:{"0":0.10102,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01082,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.07216},H:{"0":0},L:{"0":13.1915},R:{_:"0"},M:{"0":0.15514}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MD.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MD.js deleted file mode 100644 index 76a751a4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"50":0.0685,"51":0.0685,"52":0.09786,"53":0.0685,"55":0.06361,"56":0.137,"60":0.00489,"78":0.02936,"88":0.26422,"102":0.00489,"103":0.03425,"105":0.01468,"110":0.00979,"113":0.00979,"115":0.32294,"116":0.00489,"120":0.00489,"121":0.00489,"123":0.00489,"125":0.05872,"126":0.01957,"127":0.00979,"128":0.14679,"129":0.00489,"130":0.00979,"131":0.0685,"132":1.56087,"133":0.1419,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 54 57 58 59 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 104 106 107 108 109 111 112 114 117 118 119 122 124 134 135 136 3.5","3.6":0.00979},D:{"46":0.00489,"49":0.01468,"58":0.03914,"65":0.00979,"79":0.00979,"83":0.00489,"87":0.00489,"88":0.00489,"90":0.01468,"91":0.00489,"92":0.00489,"94":0.01957,"95":0.00489,"97":0.00489,"98":0.00979,"99":0.00489,"101":0.01468,"102":0.11743,"103":0.04893,"104":0.03914,"105":0.00979,"106":0.11254,"107":0.02447,"108":0.01468,"109":3.23427,"110":0.00979,"111":0.00489,"112":0.02447,"113":0.22019,"114":0.23976,"115":0.00489,"116":0.09786,"117":0.00489,"118":0.07829,"119":0.01468,"120":0.05382,"121":0.04404,"122":0.05382,"123":0.04893,"124":0.35719,"125":0.11254,"126":0.12722,"127":0.0734,"128":0.16636,"129":0.49909,"130":20.09555,"131":10.79396,"132":0.00979,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 50 51 52 53 54 55 56 57 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 84 85 86 89 93 96 100 133 134"},F:{"73":0.00489,"76":0.00489,"77":0.00979,"79":0.04893,"82":0.00489,"84":0.00489,"85":0.05872,"87":0.00489,"89":0.22997,"93":0.00979,"95":0.27401,"109":0.00489,"113":0.05382,"114":1.58533,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 78 80 81 83 86 88 90 91 92 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00489,"108":0.00489,"109":0.01468,"110":0.00489,"118":0.00489,"119":0.00489,"121":0.02447,"122":0.00489,"124":0.00489,"126":0.03914,"127":0.00489,"128":0.00979,"129":0.04893,"130":1.09114,"131":0.78288,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 111 112 113 114 115 116 117 120 123 125"},E:{"14":0.00979,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1","5.1":0.00489,"13.1":0.01468,"14.1":0.02447,"15.1":0.00489,"15.2-15.3":0.00489,"15.4":0.00489,"15.5":0.00489,"15.6":0.05382,"16.0":0.00979,"16.1":0.01468,"16.2":0.00979,"16.3":0.01957,"16.4":0.01468,"16.5":0.01468,"16.6":0.0685,"17.0":0.00489,"17.1":0.02447,"17.2":0.01957,"17.3":0.00979,"17.4":0.07829,"17.5":0.06361,"17.6":0.29847,"18.0":0.39144,"18.1":0.19572,"18.2":0.00489},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0011,"5.0-5.1":0,"6.0-6.1":0.0044,"7.0-7.1":0.00549,"8.1-8.4":0,"9.0-9.2":0.0044,"9.3":0.01538,"10.0-10.2":0.0033,"10.3":0.02527,"11.0-11.2":0.29668,"11.3-11.4":0.00769,"12.0-12.1":0.0044,"12.2-12.5":0.11538,"13.0-13.1":0.0022,"13.2":0.02967,"13.3":0.0044,"13.4-13.7":0.01648,"14.0-14.4":0.03626,"14.5-14.8":0.05164,"15.0-15.1":0.02967,"15.2-15.3":0.02747,"15.4":0.03296,"15.5":0.03846,"15.6-15.8":0.41205,"16.0":0.07802,"16.1":0.16482,"16.2":0.08351,"16.3":0.14175,"16.4":0.02857,"16.5":0.05714,"16.6-16.7":0.54062,"17.0":0.03956,"17.1":0.06593,"17.2":0.05494,"17.3":0.08351,"17.4":0.17911,"17.5":0.53512,"17.6-17.7":4.6227,"18.0":1.63943,"18.1":1.44054,"18.2":0.05824},P:{"4":0.02069,"20":0.01034,"21":0.03103,"22":0.04138,"23":0.06206,"24":0.13447,"25":0.05172,"26":1.11716,"27":0.80684,_:"5.0-5.4 8.2 10.1 12.0 13.0 15.0","6.2-6.4":0.01034,"7.2-7.4":0.02069,"9.2":0.01034,"11.1-11.2":0.01034,"14.0":0.03103,"16.0":0.01034,"17.0":0.01034,"18.0":0.01034,"19.0":0.01034},I:{"0":0.02547,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.0103,"9":0.00515,"11":0.08241,_:"6 7 10 5.5"},K:{"0":0.51081,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01532},O:{"0":0.13276},H:{"0":0.01},L:{"0":37.29416},R:{_:"0"},M:{"0":0.38806}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ME.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ME.js deleted file mode 100644 index 9fa0e61b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ME.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"38":0.00294,"40":0.00294,"52":0.02643,"68":0.00294,"78":0.00587,"79":0.00294,"87":0.00294,"91":0.01175,"102":0.00294,"103":0.02056,"106":0.00294,"107":0.00294,"113":0.00294,"115":0.16154,"123":0.00294,"124":0.00587,"127":0.00881,"128":0.01469,"129":0.00587,"130":0.00294,"131":0.09986,"132":1.4685,"133":0.17622,"134":0.00294,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 80 81 82 83 84 85 86 88 89 90 92 93 94 95 96 97 98 99 100 101 104 105 108 109 110 111 112 114 116 117 118 119 120 121 122 125 126 135 136 3.5","3.6":0.00294},D:{"43":0.00587,"44":0.00294,"45":0.00294,"47":0.00294,"49":0.0235,"51":0.00294,"53":0.00294,"65":0.00294,"66":0.01469,"68":0.00294,"70":0.00294,"71":0.00294,"75":0.00881,"76":0.00294,"77":0.00587,"79":0.57272,"83":0.04112,"85":0.00587,"86":0.01175,"87":0.28783,"88":0.02937,"89":0.01762,"90":0.00881,"91":0.00587,"94":0.1028,"95":0.00294,"97":0.00587,"98":0.00587,"99":0.0235,"100":0.00587,"102":0.00881,"103":0.03524,"104":0.03524,"105":0.01175,"106":0.01469,"108":0.00587,"109":1.79157,"110":0.01469,"111":0.01175,"112":0.02056,"113":0.00294,"114":0.00881,"115":0.00881,"116":0.19972,"117":0.03818,"118":0.00294,"119":0.03818,"120":0.03524,"121":0.04699,"122":0.05287,"123":0.03818,"124":0.08224,"125":0.01762,"126":0.03818,"127":0.15566,"128":0.07636,"129":0.52866,"130":10.11797,"131":6.6993,"132":0.00294,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 46 48 50 52 54 55 56 57 58 59 60 61 62 63 64 67 69 72 73 74 78 80 81 84 92 93 96 101 107 133 134"},F:{"31":0.00294,"36":0.00587,"40":0.02056,"46":0.04112,"68":0.8018,"85":0.00587,"95":0.02056,"110":0.00294,"113":0.06461,"114":1.22179,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"89":0.00294,"92":0.0235,"100":0.00294,"107":0.00294,"109":0.01762,"118":0.00294,"119":0.00294,"123":0.00294,"124":0.00587,"126":0.01762,"127":0.00294,"128":0.00294,"129":0.02056,"130":0.68138,"131":0.4523,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 110 111 112 113 114 115 116 117 120 121 122 125"},E:{"9":0.00587,"14":0.02643,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.01469,"14.1":0.07343,"15.1":0.00294,"15.2-15.3":0.00587,"15.4":0.00587,"15.5":0.00294,"15.6":0.06755,"16.0":0.00294,"16.1":0.00881,"16.2":0.02056,"16.3":0.03231,"16.4":0.00881,"16.5":0.00294,"16.6":0.06755,"17.0":0.00294,"17.1":0.18503,"17.2":0.01469,"17.3":0.00587,"17.4":0.0235,"17.5":0.11161,"17.6":0.29957,"18.0":0.15272,"18.1":0.27314,"18.2":0.00587},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00161,"5.0-5.1":0,"6.0-6.1":0.00646,"7.0-7.1":0.00807,"8.1-8.4":0,"9.0-9.2":0.00646,"9.3":0.0226,"10.0-10.2":0.00484,"10.3":0.03714,"11.0-11.2":0.43594,"11.3-11.4":0.0113,"12.0-12.1":0.00646,"12.2-12.5":0.16953,"13.0-13.1":0.00323,"13.2":0.04359,"13.3":0.00646,"13.4-13.7":0.02422,"14.0-14.4":0.05328,"14.5-14.8":0.07589,"15.0-15.1":0.04359,"15.2-15.3":0.04037,"15.4":0.04844,"15.5":0.05651,"15.6-15.8":0.60548,"16.0":0.11464,"16.1":0.24219,"16.2":0.12271,"16.3":0.20828,"16.4":0.04198,"16.5":0.08396,"16.6-16.7":0.79438,"17.0":0.05813,"17.1":0.09688,"17.2":0.08073,"17.3":0.12271,"17.4":0.26318,"17.5":0.78631,"17.6-17.7":6.79263,"18.0":2.40899,"18.1":2.11674,"18.2":0.08557},P:{"4":0.47517,"20":0.07231,"21":0.09297,"22":0.33055,"23":0.24791,"24":0.08264,"25":0.09297,"26":2.39651,"27":2.16925,"5.0-5.4":0.03099,"6.2-6.4":0.13429,"7.2-7.4":0.16528,_:"8.2 9.2 12.0 14.0 15.0 16.0 18.0","10.1":0.05165,"11.1-11.2":0.05165,"13.0":0.03099,"17.0":0.01033,"19.0":0.04132},I:{"0":0.05638,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.02056,"9":0.00294,"10":0.00294,"11":0.02056,_:"6 7 5.5"},K:{"0":0.12007,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01413},H:{"0":0},L:{"0":48.08048},R:{_:"0"},M:{"0":0.28252}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MG.js deleted file mode 100644 index 8a128f61..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"47":0.01314,"48":0.00328,"49":0.00328,"52":0.01314,"56":0.00328,"57":0.00328,"60":0.00328,"63":0.00328,"67":0.00328,"68":0.00328,"72":0.02299,"75":0.00328,"78":0.00985,"82":0.00328,"85":0.00328,"88":0.00328,"92":0.00328,"93":0.00328,"94":0.00328,"102":0.00328,"103":0.00328,"104":0.01642,"105":0.00328,"108":0.00328,"110":0.00328,"111":0.00657,"112":0.00328,"113":0.00985,"114":0.00328,"115":0.86698,"118":0.00328,"120":0.01314,"121":0.00328,"122":0.00657,"123":0.00985,"124":0.00657,"125":0.00985,"126":0.01642,"127":0.07225,"128":0.07225,"129":0.05254,"130":0.06568,"131":0.15763,"132":2.11818,"133":0.23316,"134":0.00657,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 50 51 53 54 55 58 59 61 62 64 65 66 69 70 71 73 74 76 77 79 80 81 83 84 86 87 89 90 91 95 96 97 98 99 100 101 106 107 109 116 117 119 135 136 3.5 3.6"},D:{"11":0.07225,"32":0.00657,"37":0.00328,"42":0.00985,"43":0.01642,"44":0.00328,"46":0.00328,"49":0.00657,"50":0.00657,"51":0.00328,"56":0.00328,"58":0.01642,"59":0.00328,"60":0.00328,"64":0.00328,"65":0.00328,"67":0.00657,"68":0.00985,"70":0.00657,"71":0.00328,"72":0.00328,"73":0.00657,"74":0.00328,"76":0.00328,"77":0.00328,"79":0.01642,"80":0.01642,"81":0.09524,"83":0.00985,"85":0.00985,"86":0.01642,"87":0.02299,"88":0.03284,"89":0.00657,"90":0.0197,"91":0.01314,"92":0.00328,"93":0.01314,"94":0.01314,"95":0.02299,"96":0.00328,"97":0.00328,"99":0.01642,"100":0.00328,"101":0.02299,"102":0.00985,"103":0.03284,"104":0.00985,"105":0.00985,"106":0.02299,"107":0.00985,"108":0.04269,"109":2.79468,"110":0.00328,"112":0.01314,"113":0.00985,"114":0.04269,"115":0.02299,"116":0.05911,"117":0.01314,"118":0.03941,"119":0.06896,"120":0.0624,"121":0.02299,"122":0.0821,"123":0.04598,"124":0.0624,"125":0.03612,"126":0.10509,"127":0.22331,"128":0.32183,"129":0.48275,"130":8.24941,"131":5.94404,"133":0.00657,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 38 39 40 41 45 47 48 52 53 54 55 57 61 62 63 66 69 75 78 84 98 111 132 134"},F:{"34":0.00328,"35":0.00328,"36":0.00328,"37":0.00328,"42":0.00328,"48":0.00328,"79":0.01642,"84":0.00328,"85":0.00985,"86":0.00328,"90":0.00657,"95":0.06568,"101":0.00328,"106":0.00657,"111":0.00328,"112":0.00657,"113":0.02299,"114":1.02789,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 38 39 40 41 43 44 45 46 47 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 87 88 89 91 92 93 94 96 97 98 99 100 102 103 104 105 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00328},B:{"12":0.00657,"13":0.00328,"14":0.00328,"15":0.00657,"16":0.00328,"17":0.00657,"18":0.02627,"83":0.00328,"84":0.00328,"85":0.00328,"89":0.01314,"90":0.00657,"92":0.08538,"96":0.02627,"100":0.01314,"109":0.01314,"110":0.00328,"114":0.00657,"117":0.00985,"121":0.00328,"122":0.01642,"123":0.00657,"124":0.00657,"125":0.00328,"126":0.07553,"127":0.0197,"128":0.02956,"129":0.07882,"130":1.52378,"131":0.99177,_:"79 80 81 86 87 88 91 93 94 95 97 98 99 101 102 103 104 105 106 107 108 111 112 113 115 116 118 119 120"},E:{"12":0.00328,_:"0 4 5 6 7 8 9 10 11 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.4 17.0 17.3 18.2","11.1":0.00328,"12.1":0.00328,"13.1":0.0197,"14.1":0.00657,"15.6":0.0197,"16.2":0.00328,"16.3":0.00657,"16.5":0.00328,"16.6":0.03284,"17.1":0.00657,"17.2":0.00328,"17.4":0.00985,"17.5":0.02627,"17.6":0.11494,"18.0":0.04926,"18.1":0.09195},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00045,"5.0-5.1":0,"6.0-6.1":0.00181,"7.0-7.1":0.00226,"8.1-8.4":0,"9.0-9.2":0.00181,"9.3":0.00632,"10.0-10.2":0.00135,"10.3":0.01038,"11.0-11.2":0.12186,"11.3-11.4":0.00316,"12.0-12.1":0.00181,"12.2-12.5":0.04739,"13.0-13.1":0.0009,"13.2":0.01219,"13.3":0.00181,"13.4-13.7":0.00677,"14.0-14.4":0.01489,"14.5-14.8":0.02121,"15.0-15.1":0.01219,"15.2-15.3":0.01128,"15.4":0.01354,"15.5":0.0158,"15.6-15.8":0.16924,"16.0":0.03204,"16.1":0.0677,"16.2":0.0343,"16.3":0.05822,"16.4":0.01173,"16.5":0.02347,"16.6-16.7":0.22205,"17.0":0.01625,"17.1":0.02708,"17.2":0.02257,"17.3":0.0343,"17.4":0.07356,"17.5":0.21979,"17.6-17.7":1.89868,"18.0":0.67336,"18.1":0.59167,"18.2":0.02392},P:{"4":0.03224,"20":0.01075,"21":0.01075,"22":0.01075,"23":0.01075,"24":0.01075,"25":0.01075,"26":0.24715,"27":0.1182,"5.0-5.4":0.01075,_:"6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 16.0 18.0 19.0","7.2-7.4":0.02149,"15.0":0.02149,"17.0":0.02149},I:{"0":0.18763,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00024},A:{"8":0.01139,"9":0.0038,"11":0.10632,_:"6 7 10 5.5"},K:{"0":1.36152,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.30222,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01343},O:{"0":0.6716},H:{"0":0.66},L:{"0":63.04337},R:{_:"0"},M:{"0":0.26864}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MH.js deleted file mode 100644 index 6b6440fa..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"125":0.42012,"132":0.28008,"133":0.02334,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 126 127 128 129 130 131 134 135 136 3.5 3.6"},D:{"76":0.02334,"79":0.014,"93":0.07002,"97":0.02334,"109":0.29408,"116":3.74374,"125":1.32104,"126":0.06068,"127":0.02334,"128":0.07002,"129":0.42012,"130":13.6679,"131":8.65914,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 80 81 83 84 85 86 87 88 89 90 91 92 94 95 96 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 117 118 119 120 121 122 123 124 132 133 134"},F:{"99":0.014,"114":0.28008,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"109":0.014,"114":0.02334,"121":1.25102,"126":2.74945,"129":0.014,"130":3.45432,"131":1.05497,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 119 120 122 123 124 125 127 128"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.6 17.0 17.1 17.2 18.2","13.1":0.02334,"14.1":0.43412,"15.1":0.014,"15.6":0.09336,"16.5":0.29408,"17.3":0.03734,"17.4":0.04668,"17.5":1.11098,"17.6":0.85424,"18.0":0.02334,"18.1":0.3641},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00098,"5.0-5.1":0,"6.0-6.1":0.00393,"7.0-7.1":0.00492,"8.1-8.4":0,"9.0-9.2":0.00393,"9.3":0.01377,"10.0-10.2":0.00295,"10.3":0.02261,"11.0-11.2":0.26547,"11.3-11.4":0.00688,"12.0-12.1":0.00393,"12.2-12.5":0.10324,"13.0-13.1":0.00197,"13.2":0.02655,"13.3":0.00393,"13.4-13.7":0.01475,"14.0-14.4":0.03245,"14.5-14.8":0.04621,"15.0-15.1":0.02655,"15.2-15.3":0.02458,"15.4":0.0295,"15.5":0.03441,"15.6-15.8":0.36871,"16.0":0.06981,"16.1":0.14748,"16.2":0.07472,"16.3":0.12684,"16.4":0.02556,"16.5":0.05113,"16.6-16.7":0.48374,"17.0":0.0354,"17.1":0.05899,"17.2":0.04916,"17.3":0.07472,"17.4":0.16026,"17.5":0.47883,"17.6-17.7":4.13641,"18.0":1.46697,"18.1":1.289,"18.2":0.05211},P:{"26":1.47941,"27":0.07142,_:"4 20 21 22 23 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0 18.0 19.0","13.0":0.33669},I:{"0":0.13301,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00017},A:{"11":0.16805,_:"6 7 8 9 10 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.03732},O:{"0":0.03732},H:{"0":0},L:{"0":45.43044},R:{_:"0"},M:{"0":0.3839}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MK.js deleted file mode 100644 index fba828d4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"44":0.00305,"48":0.00915,"51":0.00305,"52":0.06407,"65":0.00305,"68":0.00305,"77":0.00305,"78":0.00915,"88":0.00305,"89":0.00305,"105":0.00305,"107":0.0061,"108":0.0061,"109":0.02746,"110":0.00305,"111":0.00305,"113":0.00305,"115":0.42409,"117":0.00305,"118":0.0061,"123":0.00305,"127":0.00915,"128":0.02441,"129":0.00305,"130":0.00305,"131":0.11289,"132":1.63534,"133":0.20137,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 49 50 53 54 55 56 57 58 59 60 61 62 63 64 66 67 69 70 71 72 73 74 75 76 79 80 81 82 83 84 85 86 87 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 112 114 116 119 120 121 122 124 125 126 134 135 136 3.5 3.6"},D:{"38":0.00305,"43":0.00305,"44":0.00305,"45":0.00305,"46":0.00305,"47":0.00305,"49":0.01831,"51":0.00305,"52":0.00305,"53":0.0122,"56":0.00305,"65":0.0061,"66":0.00305,"68":0.00305,"69":0.00305,"70":0.00305,"72":0.0061,"73":0.01526,"75":0.00305,"79":0.24713,"81":0.01526,"83":0.03661,"84":0.00305,"86":0.00305,"87":0.1556,"88":0.0122,"89":0.00305,"90":0.00305,"91":0.02136,"92":0.00305,"93":0.00305,"94":0.05492,"95":0.01831,"96":0.00305,"97":0.0122,"98":0.00305,"99":0.00305,"100":0.00305,"102":0.01526,"103":0.0122,"104":0.00305,"105":0.0061,"106":0.06102,"107":0.02746,"108":0.07017,"109":2.78251,"110":0.01526,"111":0.03661,"112":0.06102,"113":0.00305,"114":0.01831,"116":0.10373,"117":0.00305,"118":0.0122,"119":0.01831,"120":0.01526,"121":0.03051,"122":0.10984,"123":0.03051,"124":0.08238,"125":0.03051,"126":0.04577,"127":0.05187,"128":0.11899,"129":0.50647,"130":11.21243,"131":7.08137,"132":0.00305,"133":0.00305,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 48 50 54 55 57 58 59 60 61 62 63 64 67 71 74 76 77 78 80 85 101 115 134"},F:{"36":0.00305,"40":0.00915,"46":0.03661,"85":0.06712,"94":0.0061,"95":0.07322,"109":0.00305,"113":0.03356,"114":0.79631,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.01831,"92":0.00305,"103":0.00305,"105":0.00305,"106":0.00915,"108":0.00305,"109":0.01526,"110":0.0122,"115":0.00305,"121":0.00305,"123":0.00305,"125":0.00305,"126":0.00915,"127":0.00305,"128":0.0061,"129":0.03051,"130":0.98242,"131":0.67732,_:"12 13 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 107 111 112 113 114 116 117 118 119 120 122 124"},E:{"9":0.00305,"14":0.00305,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.4 15.5","13.1":0.01831,"14.1":0.02136,"15.1":0.00305,"15.6":0.03356,"16.0":0.0061,"16.1":0.00915,"16.2":0.00305,"16.3":0.00915,"16.4":0.00305,"16.5":0.00305,"16.6":0.06712,"17.0":0.0061,"17.1":0.00915,"17.2":0.0122,"17.3":0.0122,"17.4":0.02441,"17.5":0.03966,"17.6":0.1434,"18.0":0.06407,"18.1":0.10984,"18.2":0.0061},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00146,"5.0-5.1":0,"6.0-6.1":0.00585,"7.0-7.1":0.00731,"8.1-8.4":0,"9.0-9.2":0.00585,"9.3":0.02048,"10.0-10.2":0.00439,"10.3":0.03365,"11.0-11.2":0.395,"11.3-11.4":0.01024,"12.0-12.1":0.00585,"12.2-12.5":0.15361,"13.0-13.1":0.00293,"13.2":0.0395,"13.3":0.00585,"13.4-13.7":0.02194,"14.0-14.4":0.04828,"14.5-14.8":0.06876,"15.0-15.1":0.0395,"15.2-15.3":0.03657,"15.4":0.04389,"15.5":0.0512,"15.6-15.8":0.54862,"16.0":0.10387,"16.1":0.21945,"16.2":0.11119,"16.3":0.18872,"16.4":0.03804,"16.5":0.07607,"16.6-16.7":0.71978,"17.0":0.05267,"17.1":0.08778,"17.2":0.07315,"17.3":0.11119,"17.4":0.23846,"17.5":0.71247,"17.6-17.7":6.15474,"18.0":2.18276,"18.1":1.91796,"18.2":0.07754},P:{"4":0.31603,"20":0.04078,"21":0.04078,"22":0.07136,"23":0.05097,"24":0.04078,"25":0.05097,"26":1.56997,"27":1.27433,"5.0-5.4":0.11214,"6.2-6.4":0.06117,_:"7.2-7.4 8.2 9.2 10.1 12.0 15.0 17.0","11.1-11.2":0.01019,"13.0":0.01019,"14.0":0.01019,"16.0":0.01019,"18.0":0.01019,"19.0":0.01019},I:{"0":0.03467,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"8":0.0122,"9":0.00305,"10":0.00305,"11":0.01526,_:"6 7 5.5"},K:{"0":0.25715,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02085},H:{"0":0},L:{"0":51.52248},R:{_:"0"},M:{"0":0.2224}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ML.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ML.js deleted file mode 100644 index bf42ae62..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ML.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"68":0.00117,"69":0.00117,"72":0.00117,"78":0.00235,"94":0.00117,"115":0.0317,"118":0.00117,"122":0.00117,"127":0.00704,"128":0.00939,"129":0.00117,"130":0.00235,"131":0.02231,"132":0.49543,"133":0.0634,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 119 120 121 123 124 125 126 134 135 136 3.5 3.6"},D:{"11":0.00117,"38":0.00117,"58":0.00117,"62":0.00117,"65":0.00117,"68":0.00117,"70":0.00235,"72":0.00352,"73":0.00235,"75":0.00117,"79":0.01409,"81":0.00235,"83":0.27002,"86":0.00235,"87":0.02113,"88":0.0047,"92":0.01291,"94":0.00117,"98":0.00587,"99":0.00235,"103":0.01526,"104":0.00117,"106":0.00117,"107":0.00822,"109":0.18432,"110":0.00235,"111":0.00117,"114":0.00704,"115":0.00117,"116":0.02113,"117":0.00117,"118":0.00352,"119":0.00822,"120":0.00235,"121":0.00117,"122":0.01526,"123":0.02231,"124":0.13618,"125":0.00822,"126":0.0047,"127":0.0047,"128":0.02818,"129":0.07396,"130":2.19773,"131":1.85492,"132":0.00117,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 63 64 66 67 69 71 74 76 77 78 80 84 85 89 90 91 93 95 96 97 100 101 102 105 108 112 113 133 134"},F:{"79":0.00235,"85":0.00117,"95":0.0047,"113":0.00117,"114":0.1444,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00117,"13":0.0047,"16":0.00117,"17":0.0047,"18":0.00587,"84":0.00117,"89":0.00117,"90":0.00352,"92":0.01526,"100":0.00235,"108":0.00117,"109":0.03405,"120":0.0047,"121":0.01409,"122":0.01644,"124":0.00117,"125":0.01526,"126":0.00704,"127":0.01057,"128":0.00822,"129":0.01644,"130":0.80419,"131":0.77367,_:"14 15 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 118 119 123"},E:{"14":0.00117,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 18.2","5.1":0.00117,"11.1":0.00117,"12.1":0.00117,"13.1":0.01878,"14.1":0.00235,"15.6":0.01057,"16.5":0.00117,"16.6":0.00822,"17.0":0.00117,"17.1":0.00117,"17.2":0.08922,"17.3":0.00117,"17.4":0.00352,"17.5":0.00117,"17.6":0.02113,"18.0":0.01174,"18.1":0.03757},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00149,"5.0-5.1":0,"6.0-6.1":0.00594,"7.0-7.1":0.00743,"8.1-8.4":0,"9.0-9.2":0.00594,"9.3":0.0208,"10.0-10.2":0.00446,"10.3":0.03416,"11.0-11.2":0.40106,"11.3-11.4":0.0104,"12.0-12.1":0.00594,"12.2-12.5":0.15597,"13.0-13.1":0.00297,"13.2":0.04011,"13.3":0.00594,"13.4-13.7":0.02228,"14.0-14.4":0.04902,"14.5-14.8":0.06981,"15.0-15.1":0.04011,"15.2-15.3":0.03714,"15.4":0.04456,"15.5":0.05199,"15.6-15.8":0.55703,"16.0":0.10546,"16.1":0.22281,"16.2":0.11289,"16.3":0.19162,"16.4":0.03862,"16.5":0.07724,"16.6-16.7":0.73082,"17.0":0.05347,"17.1":0.08912,"17.2":0.07427,"17.3":0.11289,"17.4":0.24212,"17.5":0.7234,"17.6-17.7":6.24914,"18.0":2.21624,"18.1":1.94738,"18.2":0.07873},P:{"4":0.10157,"21":0.02031,"22":0.13204,"23":0.0711,"24":0.17267,"25":0.25393,"26":0.59928,"27":0.17267,_:"20 5.0-5.4 6.2-6.4 8.2 10.1 12.0 15.0 18.0","7.2-7.4":0.16252,"9.2":0.02031,"11.1-11.2":0.01016,"13.0":0.01016,"14.0":0.02031,"16.0":0.02031,"17.0":0.01016,"19.0":0.04063},I:{"0":0.04403,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.17417,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.09709,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.11474},H:{"0":0.02},L:{"0":74.62029},R:{_:"0"},M:{"0":0.07943}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MM.js deleted file mode 100644 index 41debc21..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"54":0.00233,"57":0.00233,"61":0.00233,"72":0.00698,"73":0.00233,"78":0.00233,"88":0.00233,"94":0.00233,"102":0.00233,"108":0.00233,"109":0.00233,"110":0.00233,"115":0.18135,"116":0.00233,"120":0.00233,"121":0.00233,"122":0.00233,"123":0.00465,"124":0.00465,"125":0.00233,"126":0.0093,"127":0.04883,"128":0.01163,"129":0.0093,"130":0.0186,"131":0.07673,"132":1.3671,"133":0.16043,"134":0.00233,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 58 59 60 62 63 64 65 66 67 68 69 70 71 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 95 96 97 98 99 100 101 103 104 105 106 107 111 112 113 114 117 118 119 135 136 3.5 3.6"},D:{"31":0.00233,"32":0.00233,"37":0.0279,"38":0.00233,"43":0.00698,"44":0.00233,"47":0.00233,"50":0.00233,"53":0.00233,"55":0.00465,"61":0.00465,"62":0.01395,"63":0.00233,"64":0.00233,"67":0.00465,"68":0.00233,"69":0.00233,"70":0.01163,"71":0.01628,"73":0.00233,"74":0.0093,"75":0.00233,"76":0.00233,"78":0.00465,"79":0.03488,"80":0.00698,"81":0.01395,"83":0.00465,"84":0.0186,"85":0.00465,"86":0.00465,"87":0.0186,"88":0.00698,"89":0.00698,"90":0.00233,"91":0.00233,"92":0.01163,"93":0.00233,"94":0.00698,"95":0.00698,"96":0.00233,"97":0.00698,"98":0.00233,"99":0.00465,"100":0.00465,"101":0.00233,"102":0.00465,"103":0.02093,"104":0.00233,"105":0.00465,"106":0.01628,"107":0.01395,"108":0.00465,"109":0.5208,"110":0.00465,"111":0.00698,"112":0.00698,"113":0.00698,"114":0.03023,"115":0.00465,"116":0.04883,"117":0.00698,"118":0.01628,"119":0.02558,"120":0.05813,"121":0.0186,"122":0.05348,"123":0.03023,"124":0.17903,"125":0.03488,"126":0.0651,"127":0.06743,"128":0.1116,"129":0.26273,"130":7.1424,"131":5.00573,"132":0.00465,"133":0.00233,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 35 36 39 40 41 42 45 46 48 49 51 52 54 56 57 58 59 60 65 66 72 77 134"},F:{"41":0.00233,"46":0.00233,"82":0.00233,"83":0.00233,"85":0.00698,"86":0.00233,"95":0.00465,"101":0.00465,"107":0.00233,"108":0.00233,"109":0.01163,"110":0.0093,"111":0.00698,"112":0.0093,"113":0.0372,"114":0.23948,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 84 87 88 89 90 91 92 93 94 96 97 98 99 100 102 103 104 105 106 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00698,"17":0.00233,"18":0.01395,"89":0.00233,"90":0.00233,"92":0.0279,"100":0.00698,"109":0.00698,"110":0.00233,"115":0.00233,"120":0.00233,"121":0.00233,"122":0.00465,"123":0.00233,"124":0.00465,"125":0.00233,"126":0.0093,"127":0.02558,"128":0.0186,"129":0.07673,"130":1.10903,"131":0.84398,_:"13 14 15 16 79 80 81 83 84 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 113 114 116 117 118 119"},E:{"13":0.00233,"14":0.00233,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00233,"13.1":0.00698,"14.1":0.01628,"15.1":0.00698,"15.2-15.3":0.00465,"15.4":0.00233,"15.5":0.00233,"15.6":0.07208,"16.0":0.00233,"16.1":0.01163,"16.2":0.01163,"16.3":0.01395,"16.4":0.0093,"16.5":0.00698,"16.6":0.04418,"17.0":0.00465,"17.1":0.01395,"17.2":0.00698,"17.3":0.0186,"17.4":0.04418,"17.5":0.04418,"17.6":0.30923,"18.0":0.15578,"18.1":0.16275,"18.2":0.00698},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00049,"5.0-5.1":0,"6.0-6.1":0.00194,"7.0-7.1":0.00243,"8.1-8.4":0,"9.0-9.2":0.00194,"9.3":0.00679,"10.0-10.2":0.00146,"10.3":0.01116,"11.0-11.2":0.13097,"11.3-11.4":0.0034,"12.0-12.1":0.00194,"12.2-12.5":0.05093,"13.0-13.1":0.00097,"13.2":0.0131,"13.3":0.00194,"13.4-13.7":0.00728,"14.0-14.4":0.01601,"14.5-14.8":0.0228,"15.0-15.1":0.0131,"15.2-15.3":0.01213,"15.4":0.01455,"15.5":0.01698,"15.6-15.8":0.1819,"16.0":0.03444,"16.1":0.07276,"16.2":0.03686,"16.3":0.06257,"16.4":0.01261,"16.5":0.02522,"16.6-16.7":0.23865,"17.0":0.01746,"17.1":0.0291,"17.2":0.02425,"17.3":0.03686,"17.4":0.07906,"17.5":0.23622,"17.6-17.7":2.04065,"18.0":0.72371,"18.1":0.63591,"18.2":0.02571},P:{"4":0.08798,"21":0.011,"22":0.011,"23":0.011,"24":0.02199,"25":0.07698,"26":0.26393,"27":0.20894,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 19.0","6.2-6.4":0.011,"7.2-7.4":0.011,"17.0":0.011,"18.0":0.011},I:{"0":0.25272,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00008,"4.4":0,"4.4.3-4.4.4":0.00033},A:{"11":0.07905,_:"6 7 8 9 10 5.5"},K:{"0":0.29933,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.06908},O:{"0":1.02078},H:{"0":0},L:{"0":72.62043},R:{_:"0"},M:{"0":0.16885}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MN.js deleted file mode 100644 index 6e7504c3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"72":0.00473,"78":0.00945,"99":0.00945,"102":0.00473,"103":0.00945,"112":0.00473,"115":0.14181,"123":0.00473,"124":0.00473,"127":0.01891,"128":0.00945,"129":0.00473,"130":0.00473,"131":0.09927,"132":1.35665,"133":0.11345,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 104 105 106 107 108 109 110 111 113 114 116 117 118 119 120 121 122 125 126 134 135 136 3.5 3.6"},D:{"49":0.00473,"58":0.00473,"63":0.00473,"68":0.00473,"69":0.00473,"70":0.03309,"71":0.00473,"74":0.00945,"77":0.00473,"78":0.00473,"79":0.00945,"80":0.01418,"81":0.00945,"84":0.02836,"86":0.00473,"87":0.01891,"90":0.00473,"92":0.00473,"94":0.01891,"95":0.00945,"96":0.00473,"97":0.00473,"98":0.02836,"99":0.01418,"100":0.00473,"102":0.01891,"103":0.04254,"104":0.02364,"105":0.02364,"106":0.00945,"107":0.01891,"108":0.01418,"109":2.50058,"110":0.00473,"111":0.00945,"112":0.00473,"113":0.00473,"114":0.03309,"115":0.00945,"116":0.09454,"117":0.01418,"118":0.01891,"119":0.03782,"120":0.06145,"121":0.04254,"122":0.13236,"123":0.052,"124":0.03782,"125":0.06618,"126":0.27889,"127":0.05672,"128":0.32616,"129":0.81304,"130":16.56341,"131":9.47764,"132":0.01891,"133":0.00473,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 59 60 61 62 64 65 66 67 72 73 75 76 83 85 88 89 91 93 101 134"},F:{"69":0.03782,"85":0.00473,"95":0.02364,"102":0.00473,"111":0.00473,"113":0.11818,"114":1.73481,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00945,"89":0.00473,"92":0.02836,"100":0.00945,"109":0.052,"110":0.00473,"114":0.00473,"115":0.00473,"116":0.00473,"117":0.01418,"119":0.00473,"120":0.00473,"121":0.00473,"122":0.01418,"123":0.00945,"124":0.02364,"125":0.04727,"126":0.02364,"127":0.01891,"128":0.052,"129":0.1229,"130":4.04159,"131":3.11509,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 113 118"},E:{"13":0.00473,"14":0.00473,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00473,"13.1":0.01418,"14.1":0.052,"15.1":0.02836,"15.2-15.3":0.00473,"15.4":0.00473,"15.5":0.00945,"15.6":0.07091,"16.0":0.02836,"16.1":0.02836,"16.2":0.01418,"16.3":0.07091,"16.4":0.00945,"16.5":0.02364,"16.6":0.21744,"17.0":0.03309,"17.1":0.06618,"17.2":0.03782,"17.3":0.03309,"17.4":0.08981,"17.5":0.10872,"17.6":0.48688,"18.0":0.2269,"18.1":0.45852,"18.2":0.02364},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00164,"5.0-5.1":0,"6.0-6.1":0.00657,"7.0-7.1":0.00822,"8.1-8.4":0,"9.0-9.2":0.00657,"9.3":0.02301,"10.0-10.2":0.00493,"10.3":0.0378,"11.0-11.2":0.44377,"11.3-11.4":0.01151,"12.0-12.1":0.00657,"12.2-12.5":0.17258,"13.0-13.1":0.00329,"13.2":0.04438,"13.3":0.00657,"13.4-13.7":0.02465,"14.0-14.4":0.05424,"14.5-14.8":0.07725,"15.0-15.1":0.04438,"15.2-15.3":0.04109,"15.4":0.04931,"15.5":0.05753,"15.6-15.8":0.61635,"16.0":0.1167,"16.1":0.24654,"16.2":0.12491,"16.3":0.21202,"16.4":0.04273,"16.5":0.08547,"16.6-16.7":0.80865,"17.0":0.05917,"17.1":0.09862,"17.2":0.08218,"17.3":0.12491,"17.4":0.26791,"17.5":0.80043,"17.6-17.7":6.9146,"18.0":2.45224,"18.1":2.15475,"18.2":0.08711},P:{"4":0.08204,"20":0.01026,"21":0.05128,"22":0.08204,"23":0.07179,"24":0.07179,"25":0.12307,"26":1.27169,"27":1.37425,"5.0-5.4":0.04102,"6.2-6.4":0.01026,"7.2-7.4":0.28716,_:"8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0","13.0":0.01026,"16.0":0.01026,"17.0":0.01026,"18.0":0.02051,"19.0":0.01026},I:{"0":0.02631,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.04727,_:"6 7 8 9 10 5.5"},K:{"0":0.11073,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.02109},O:{"0":0.23201},H:{"0":0},L:{"0":34.38952},R:{_:"0"},M:{"0":0.11073}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MO.js deleted file mode 100644 index 34add7b4..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00407,"72":0.00407,"78":0.00407,"81":0.00407,"100":0.00407,"115":0.08543,"122":0.01627,"124":0.00814,"125":0.04068,"127":0.00407,"128":0.00407,"130":0.00407,"131":0.04068,"132":0.84208,"133":0.06916,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 123 126 129 134 135 136 3.5 3.6"},D:{"11":0.00814,"22":0.00407,"26":0.00407,"30":0.00407,"34":0.04068,"37":0.00407,"38":0.1139,"49":0.02848,"53":0.02034,"57":0.0122,"58":0.00814,"61":0.06102,"62":0.00407,"65":0.00407,"69":0.00407,"71":0.02034,"74":0.11797,"75":0.01627,"76":0.00814,"77":0.03661,"78":0.03661,"79":0.41494,"80":0.02441,"81":0.02441,"83":0.04475,"86":0.00814,"87":0.34171,"88":0.0122,"89":0.04068,"90":0.00814,"91":0.01627,"92":0.02848,"94":0.14238,"96":0.02848,"97":0.03254,"98":0.03254,"99":0.00407,"100":0.01627,"101":0.05288,"102":0.02034,"103":0.07322,"104":0.04475,"105":0.08136,"106":0.02441,"107":0.04068,"108":0.03254,"109":1.17972,"110":0.00407,"111":0.00407,"112":0.00814,"113":0.00407,"114":0.19933,"115":0.01627,"116":0.26035,"117":0.00814,"118":0.0122,"119":0.03661,"120":0.07729,"121":0.2034,"122":0.1139,"123":0.07729,"124":0.20747,"125":0.04475,"126":0.13018,"127":0.11797,"128":0.38646,"129":0.79733,"130":10.36526,"131":5.99623,"132":0.08543,"133":0.02848,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 31 32 33 35 36 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 56 59 60 63 64 66 67 68 70 72 73 84 85 93 95 134"},F:{"36":0.03254,"46":0.09356,"70":0.00407,"79":0.00407,"85":0.00407,"95":0.00814,"113":0.00407,"114":0.35392,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.01627,"92":0.00407,"108":0.00407,"109":0.04068,"112":0.01627,"113":0.00814,"114":0.00814,"115":0.00407,"120":0.09763,"121":0.00407,"122":0.01627,"123":0.00407,"124":0.03661,"125":0.00814,"126":0.02848,"127":0.01627,"128":0.02441,"129":0.13424,"130":2.84353,"131":1.89569,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 116 117 118 119"},E:{"8":0.00407,"9":0.00407,"13":0.0122,"14":0.2034,"15":0.00814,_:"0 4 5 6 7 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.02034,"13.1":0.12204,"14.1":0.54104,"15.1":0.04068,"15.2-15.3":0.04882,"15.4":0.0895,"15.5":0.1912,"15.6":0.48816,"16.0":0.06509,"16.1":0.05288,"16.2":0.07729,"16.3":0.22374,"16.4":0.04882,"16.5":0.11797,"16.6":0.8136,"17.0":0.0122,"17.1":0.0895,"17.2":0.02441,"17.3":0.04068,"17.4":0.13018,"17.5":0.58172,"17.6":2.96964,"18.0":0.57766,"18.1":0.76885,"18.2":0.02034},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0023,"5.0-5.1":0,"6.0-6.1":0.00921,"7.0-7.1":0.01151,"8.1-8.4":0,"9.0-9.2":0.00921,"9.3":0.03223,"10.0-10.2":0.00691,"10.3":0.05295,"11.0-11.2":0.62154,"11.3-11.4":0.01611,"12.0-12.1":0.00921,"12.2-12.5":0.24171,"13.0-13.1":0.0046,"13.2":0.06215,"13.3":0.00921,"13.4-13.7":0.03453,"14.0-14.4":0.07597,"14.5-14.8":0.10819,"15.0-15.1":0.06215,"15.2-15.3":0.05755,"15.4":0.06906,"15.5":0.08057,"15.6-15.8":0.86325,"16.0":0.16344,"16.1":0.3453,"16.2":0.17495,"16.3":0.29696,"16.4":0.05985,"16.5":0.1197,"16.6-16.7":1.13259,"17.0":0.08287,"17.1":0.13812,"17.2":0.1151,"17.3":0.17495,"17.4":0.37523,"17.5":1.12108,"17.6-17.7":9.68453,"18.0":3.43459,"18.1":3.01793,"18.2":0.12201},P:{"4":0.88242,"21":0.05657,"23":0.02263,"24":0.02263,"25":0.06788,"26":1.5612,"27":1.57251,_:"20 22 8.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0","5.0-5.4":0.11313,"6.2-6.4":0.05657,"7.2-7.4":0.01131,"9.2":0.02263,"13.0":0.04525,"17.0":0.01131,"18.0":0.01131,"19.0":0.03394},I:{"0":0.0296,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.14441,"11":0.14441,_:"6 7 9 10 5.5"},K:{"0":0.10679,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.26105},O:{"0":0.90775},H:{"0":0},L:{"0":31.65952},R:{_:"0"},M:{"0":0.32038}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MP.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MP.js deleted file mode 100644 index d489761d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.01436,"115":0.11965,"120":0.00479,"131":0.11486,"132":0.40681,"133":0.11965,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 121 122 123 124 125 126 127 128 129 130 134 135 136 3.5 3.6"},D:{"47":0.00479,"67":0.00479,"74":0.01436,"79":0.00479,"87":0.05743,"89":0.00479,"91":0.09572,"93":0.17708,"94":0.00479,"103":0.10529,"109":1.33529,"110":0.00479,"111":0.00479,"112":0.00957,"115":0.04307,"116":0.0335,"118":0.2393,"119":0.00957,"120":0.067,"121":0.08136,"122":0.0335,"123":0.0335,"124":0.05265,"125":0.18665,"126":0.34459,"127":0.13401,"128":0.46424,"129":2.02448,"130":20.49365,"131":9.76823,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 75 76 77 78 80 81 83 84 85 86 88 90 92 95 96 97 98 99 100 101 102 104 105 106 107 108 113 114 117 132 133 134"},F:{"95":0.00479,"113":0.24887,"114":0.72747,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"103":0.00479,"109":0.00957,"113":0.00479,"126":0.00957,"128":0.00479,"129":0.11965,"130":4.04896,"131":2.69452,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 114 115 116 117 118 119 120 121 122 123 124 125 127"},E:{"13":0.00479,"14":0.00479,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 17.1 18.2","12.1":0.00479,"13.1":0.07658,"14.1":0.01914,"15.2-15.3":0.00479,"15.4":0.00479,"15.5":0.01436,"15.6":0.03829,"16.0":0.11965,"16.1":0.01914,"16.2":0.02393,"16.3":0.01436,"16.4":0.00957,"16.5":0.00957,"16.6":0.21058,"17.0":0.04786,"17.2":0.00479,"17.3":0.03829,"17.4":0.02393,"17.5":0.10529,"17.6":0.58389,"18.0":0.29195,"18.1":0.19623},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00108,"5.0-5.1":0,"6.0-6.1":0.00433,"7.0-7.1":0.00541,"8.1-8.4":0,"9.0-9.2":0.00433,"9.3":0.01516,"10.0-10.2":0.00325,"10.3":0.02491,"11.0-11.2":0.2924,"11.3-11.4":0.00758,"12.0-12.1":0.00433,"12.2-12.5":0.11371,"13.0-13.1":0.00217,"13.2":0.02924,"13.3":0.00433,"13.4-13.7":0.01624,"14.0-14.4":0.03574,"14.5-14.8":0.0509,"15.0-15.1":0.02924,"15.2-15.3":0.02707,"15.4":0.03249,"15.5":0.0379,"15.6-15.8":0.40611,"16.0":0.07689,"16.1":0.16244,"16.2":0.0823,"16.3":0.1397,"16.4":0.02816,"16.5":0.05631,"16.6-16.7":0.53281,"17.0":0.03899,"17.1":0.06498,"17.2":0.05415,"17.3":0.0823,"17.4":0.17652,"17.5":0.5274,"17.6-17.7":4.55596,"18.0":1.61576,"18.1":1.41974,"18.2":0.0574},P:{"4":0.0214,"20":0.0107,"22":0.09632,"25":0.03211,"26":2.80403,"27":1.96925,_:"21 23 24 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0 17.0 19.0","11.1-11.2":0.12843,"18.0":0.0214},I:{"0":0.01041,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.00957,_:"6 7 8 9 10 5.5"},K:{"0":0.14599,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.21899},H:{"0":0},L:{"0":36.39158},R:{_:"0"},M:{"0":0.54747}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MQ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MQ.js deleted file mode 100644 index fc8d2647..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MQ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"86":0.00305,"102":0.00305,"103":0.0061,"111":0.00305,"115":0.10377,"120":0.01221,"127":0.01526,"128":0.01831,"129":0.64397,"130":0.0061,"131":0.20754,"132":2.27069,"133":1.03768,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 112 113 114 116 117 118 119 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"58":0.00305,"76":0.0061,"78":0.00305,"79":0.00305,"87":0.01526,"88":0.0061,"92":0.0061,"94":0.00916,"95":0.17091,"100":0.74774,"103":0.02136,"104":0.00305,"105":0.0061,"109":0.54936,"111":0.0061,"112":0.00916,"114":0.05494,"116":0.04578,"119":0.02442,"120":0.00305,"121":0.00305,"122":0.02136,"123":0.0061,"124":0.01831,"125":0.08851,"126":0.07325,"127":0.01526,"128":0.16481,"129":0.54631,"130":7.53234,"131":4.28196,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 80 81 83 84 85 86 89 90 91 93 96 97 98 99 101 102 106 107 108 110 113 115 117 118 132 133 134"},F:{"36":0.00305,"46":0.0061,"85":0.00305,"95":0.02136,"113":0.04578,"114":0.96443,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00305,"16":0.00305,"17":0.0061,"92":0.00305,"103":0.0061,"108":0.01831,"109":0.00916,"113":0.0061,"119":0.02747,"120":0.0061,"121":0.00305,"122":0.00305,"123":0.00305,"124":0.00305,"125":0.0061,"126":0.01831,"127":0.0061,"128":0.01221,"129":0.18617,"130":2.85362,"131":2.55758,_:"13 14 15 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 105 106 107 110 111 112 114 115 116 117 118"},E:{"14":0.00305,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00305,"13.1":0.00916,"14.1":0.04273,"15.1":0.02136,"15.2-15.3":0.03052,"15.4":0.08851,"15.5":0.28689,"15.6":0.20448,"16.0":0.0061,"16.1":0.15565,"16.2":0.01221,"16.3":0.05494,"16.4":0.00305,"16.5":0.01221,"16.6":0.21669,"17.0":0.01526,"17.1":0.00916,"17.2":0.05799,"17.3":0.07325,"17.4":0.0824,"17.5":0.14344,"17.6":0.88203,"18.0":1.10788,"18.1":0.50053,"18.2":0.05188},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00126,"5.0-5.1":0,"6.0-6.1":0.00502,"7.0-7.1":0.00628,"8.1-8.4":0,"9.0-9.2":0.00502,"9.3":0.01758,"10.0-10.2":0.00377,"10.3":0.02888,"11.0-11.2":0.33899,"11.3-11.4":0.00879,"12.0-12.1":0.00502,"12.2-12.5":0.13183,"13.0-13.1":0.00251,"13.2":0.0339,"13.3":0.00502,"13.4-13.7":0.01883,"14.0-14.4":0.04143,"14.5-14.8":0.05901,"15.0-15.1":0.0339,"15.2-15.3":0.03139,"15.4":0.03767,"15.5":0.04394,"15.6-15.8":0.47081,"16.0":0.08914,"16.1":0.18833,"16.2":0.09542,"16.3":0.16196,"16.4":0.03264,"16.5":0.06529,"16.6-16.7":0.61771,"17.0":0.0452,"17.1":0.07533,"17.2":0.06278,"17.3":0.09542,"17.4":0.20465,"17.5":0.61143,"17.6-17.7":5.2819,"18.0":1.87321,"18.1":1.64597,"18.2":0.06654},P:{"4":0.031,"20":0.01033,"21":0.01033,"22":0.05167,"23":0.062,"24":0.04133,"25":0.093,"26":1.5397,"27":0.96102,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 16.0 17.0 18.0","6.2-6.4":0.01033,"14.0":0.02067,"19.0":0.01033},I:{"0":0.09013,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"11":0.03052,_:"6 7 8 9 10 5.5"},K:{"0":0.09727,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00695},H:{"0":0},L:{"0":53.64519},R:{_:"0"},M:{"0":0.48636}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MR.js deleted file mode 100644 index f499d372..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"50":0.0013,"51":0.0013,"56":0.0013,"68":0.00259,"72":0.00259,"88":0.00259,"90":0.0013,"103":0.0013,"105":0.00648,"115":0.16317,"122":0.0013,"123":0.00389,"124":0.0013,"125":0.0013,"127":0.00518,"128":0.01554,"129":0.0013,"130":0.00259,"131":0.02202,"132":0.48563,"133":0.03756,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 102 104 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 126 134 135 136 3.5 3.6"},D:{"11":0.0013,"29":0.0013,"33":0.0013,"39":0.00259,"43":0.00389,"46":0.0013,"49":0.0013,"52":0.0013,"54":0.00259,"56":0.0013,"58":1.06967,"60":0.0013,"63":0.0013,"64":0.0013,"65":0.00518,"69":0.00259,"70":0.0013,"72":0.00777,"73":0.00259,"75":0.0013,"77":0.01036,"79":0.01036,"81":0.00259,"83":0.01813,"86":0.00259,"87":0.01036,"88":0.0013,"91":0.00648,"92":0.0013,"93":0.0013,"94":0.00259,"95":0.00518,"96":0.0013,"97":0.0013,"98":0.00907,"99":0.00518,"102":0.0013,"103":0.02202,"104":0.00648,"107":0.0013,"108":0.00777,"109":0.58146,"110":0.0013,"111":0.02849,"114":0.00518,"116":0.01943,"118":0.00259,"119":0.02202,"120":0.03238,"121":0.00389,"122":0.00518,"123":0.00389,"124":0.00518,"125":0.00648,"126":0.01684,"127":0.02331,"128":0.11137,"129":0.10878,"130":2.9267,"131":2.05258,"132":0.0013,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 34 35 36 37 38 40 41 42 44 45 47 48 50 51 53 55 57 59 61 62 66 67 68 71 74 76 78 80 84 85 89 90 100 101 105 106 112 113 115 117 133 134"},F:{"46":0.00259,"62":0.0013,"84":0.0013,"85":0.01813,"86":0.00259,"95":0.04921,"109":0.00259,"112":0.0013,"113":0.00518,"114":0.39757,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00907,"13":0.0013,"14":0.0013,"18":0.00907,"84":0.00259,"90":0.00259,"92":0.03497,"100":0.00518,"103":0.00389,"109":0.01036,"111":0.0013,"114":0.00389,"120":0.00389,"121":0.0013,"122":0.00648,"123":0.0013,"124":0.0013,"126":0.01813,"127":0.00259,"128":0.00259,"129":0.03626,"130":0.66175,"131":0.62419,_:"15 16 17 79 80 81 83 85 86 87 88 89 91 93 94 95 96 97 98 99 101 102 104 105 106 107 108 110 112 113 115 116 117 118 119 125"},E:{"10":0.0013,"13":0.00648,"14":0.00259,"15":0.0013,_:"0 4 5 6 7 8 9 11 12 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 18.2","5.1":0.0013,"13.1":0.00259,"14.1":0.00648,"15.5":0.00389,"15.6":0.02202,"16.0":0.0013,"16.1":0.0013,"16.2":0.0013,"16.3":0.00259,"16.4":0.00648,"16.5":0.00259,"16.6":0.01684,"17.0":0.00259,"17.1":0.0013,"17.2":0.00389,"17.3":0.00518,"17.4":0.00259,"17.5":0.03885,"17.6":0.05957,"18.0":0.03108,"18.1":0.04144},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00153,"5.0-5.1":0,"6.0-6.1":0.0061,"7.0-7.1":0.00763,"8.1-8.4":0,"9.0-9.2":0.0061,"9.3":0.02137,"10.0-10.2":0.00458,"10.3":0.0351,"11.0-11.2":0.41206,"11.3-11.4":0.01068,"12.0-12.1":0.0061,"12.2-12.5":0.16025,"13.0-13.1":0.00305,"13.2":0.04121,"13.3":0.0061,"13.4-13.7":0.02289,"14.0-14.4":0.05036,"14.5-14.8":0.07173,"15.0-15.1":0.04121,"15.2-15.3":0.03815,"15.4":0.04578,"15.5":0.05342,"15.6-15.8":0.57231,"16.0":0.10836,"16.1":0.22892,"16.2":0.11599,"16.3":0.19687,"16.4":0.03968,"16.5":0.07936,"16.6-16.7":0.75087,"17.0":0.05494,"17.1":0.09157,"17.2":0.07631,"17.3":0.11599,"17.4":0.24876,"17.5":0.74324,"17.6-17.7":6.42056,"18.0":2.27703,"18.1":2.0008,"18.2":0.08089},P:{"4":0.1115,"20":0.01014,"21":0.18245,"22":0.19259,"23":0.30409,"24":0.35477,"25":0.31422,"26":1.75357,"27":1.01363,"5.0-5.4":0.01014,"6.2-6.4":0.01014,"7.2-7.4":1.00349,_:"8.2 10.1","9.2":0.01014,"11.1-11.2":0.01014,"12.0":0.01014,"13.0":0.01014,"14.0":0.02027,"15.0":0.01014,"16.0":0.02027,"17.0":0.01014,"18.0":0.02027,"19.0":0.29395},I:{"0":0.08687,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"8":0.01176,"9":0.00294,"10":0.00441,"11":0.08967,_:"6 7 5.5"},K:{"0":0.73872,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00871},O:{"0":0.11318},H:{"0":0.01},L:{"0":67.54194},R:{_:"0"},M:{"0":0.04353}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MS.js deleted file mode 100644 index 0c35c7ae..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"84":0.07806,"128":0.0244,"130":0.10246,"131":0.1854,"132":0.44399,"133":0.10246,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 129 134 135 136 3.5 3.6"},D:{"103":0.26347,"109":0.28786,"123":0.0244,"126":0.05367,"127":0.0244,"128":0.07806,"129":0.70746,"130":18.34992,"131":11.77303,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 122 124 125 132 133 134"},F:{"114":0.15613,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"100":0.0244,"121":0.0244,"126":0.05367,"128":0.0244,"129":0.2098,"130":5.55718,"131":3.51288,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 122 123 124 125 127"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.4 16.5 17.0 17.1 17.2 17.3 17.4 17.5 18.2","13.1":0.05367,"14.1":0.15613,"15.6":0.07806,"16.3":0.05367,"16.6":0.1854,"17.6":2.4639,"18.0":0.23419,"18.1":1.23439},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00177,"5.0-5.1":0,"6.0-6.1":0.0071,"7.0-7.1":0.00887,"8.1-8.4":0,"9.0-9.2":0.0071,"9.3":0.02484,"10.0-10.2":0.00532,"10.3":0.0408,"11.0-11.2":0.479,"11.3-11.4":0.01242,"12.0-12.1":0.0071,"12.2-12.5":0.18628,"13.0-13.1":0.00355,"13.2":0.0479,"13.3":0.0071,"13.4-13.7":0.02661,"14.0-14.4":0.05854,"14.5-14.8":0.08338,"15.0-15.1":0.0479,"15.2-15.3":0.04435,"15.4":0.05322,"15.5":0.06209,"15.6-15.8":0.66528,"16.0":0.12596,"16.1":0.26611,"16.2":0.13483,"16.3":0.22886,"16.4":0.04613,"16.5":0.09225,"16.6-16.7":0.87285,"17.0":0.06387,"17.1":0.10644,"17.2":0.0887,"17.3":0.13483,"17.4":0.28918,"17.5":0.86398,"17.6-17.7":7.46355,"18.0":2.64693,"18.1":2.32582,"18.2":0.09403},P:{"23":0.03156,"26":0.32608,"27":1.18861,_:"4 20 21 22 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.0256,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":32.99103},R:{_:"0"},M:{"0":0.13824}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MT.js deleted file mode 100644 index d1026469..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00449,"68":0.04492,"73":0.00449,"78":0.00449,"113":0.00449,"115":0.08086,"120":0.00449,"125":0.00898,"127":0.02246,"128":0.00898,"130":0.00898,"131":0.07187,"132":0.98824,"133":0.09433,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 121 122 123 124 126 129 134 135 136 3.5 3.6"},D:{"44":0.00449,"46":0.00898,"49":0.01348,"51":0.02695,"56":0.00449,"58":0.00449,"70":0.00898,"75":0.00449,"76":0.00449,"78":0.00449,"79":0.01348,"80":0.00449,"84":0.00449,"86":0.00898,"87":0.00898,"88":0.01797,"91":0.00449,"92":0.01348,"93":0.01348,"94":0.00898,"95":0.00449,"98":0.00449,"99":0.00449,"103":0.02246,"104":0.00449,"106":0.00449,"107":0.04043,"109":0.69177,"110":0.00449,"111":0.00449,"113":0.00449,"114":0.00449,"115":0.00898,"116":0.25604,"117":0.0539,"118":0.00898,"119":0.03594,"120":0.04043,"121":0.01348,"122":0.45369,"123":0.7322,"124":0.23808,"125":0.1707,"126":0.1662,"127":0.06289,"128":0.28749,"129":0.98375,"130":16.71473,"131":9.84197,"132":0.00449,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 47 48 50 52 53 54 55 57 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 77 81 83 85 89 90 96 97 100 101 102 105 108 112 133 134"},F:{"28":0.00449,"36":0.00898,"46":0.00449,"95":0.00449,"111":0.02246,"113":0.09882,"114":1.09156,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00449,"109":0.02695,"112":0.08086,"114":0.01348,"117":0.00449,"119":0.01348,"120":0.03144,"121":0.01797,"124":0.00449,"126":0.00449,"127":0.04492,"128":0.02246,"129":0.1123,"130":3.31959,"131":2.19659,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 113 115 116 118 122 123 125"},E:{"9":0.04492,"14":0.00898,"15":0.00449,_:"0 4 5 6 7 8 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.24257,"13.1":0.01797,"14.1":0.03594,"15.1":0.00449,"15.2-15.3":0.01348,"15.4":0.00449,"15.5":0.00898,"15.6":0.14374,"16.0":0.02246,"16.1":0.03144,"16.2":0.02246,"16.3":0.04492,"16.4":0.02695,"16.5":0.04043,"16.6":0.20214,"17.0":0.02246,"17.1":0.08086,"17.2":0.08984,"17.3":0.06289,"17.4":0.10781,"17.5":0.27401,"17.6":0.79508,"18.0":1.41498,"18.1":0.83102,"18.2":0.04941},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0018,"5.0-5.1":0,"6.0-6.1":0.00719,"7.0-7.1":0.00899,"8.1-8.4":0,"9.0-9.2":0.00719,"9.3":0.02516,"10.0-10.2":0.00539,"10.3":0.04134,"11.0-11.2":0.48532,"11.3-11.4":0.01258,"12.0-12.1":0.00719,"12.2-12.5":0.18874,"13.0-13.1":0.00359,"13.2":0.04853,"13.3":0.00719,"13.4-13.7":0.02696,"14.0-14.4":0.05932,"14.5-14.8":0.08448,"15.0-15.1":0.04853,"15.2-15.3":0.04494,"15.4":0.05392,"15.5":0.06291,"15.6-15.8":0.67406,"16.0":0.12762,"16.1":0.26962,"16.2":0.13661,"16.3":0.23188,"16.4":0.04673,"16.5":0.09347,"16.6-16.7":0.88436,"17.0":0.06471,"17.1":0.10785,"17.2":0.08987,"17.3":0.13661,"17.4":0.29299,"17.5":0.87538,"17.6-17.7":7.56202,"18.0":2.68185,"18.1":2.3565,"18.2":0.09527},P:{"4":0.03151,"21":0.0105,"22":0.03151,"23":0.04201,"24":0.0105,"25":0.05251,"26":1.59626,"27":1.34422,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.03151,"7.2-7.4":0.0105},I:{"0":0.23079,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.0003},A:{"7":0.00487,"8":0.02433,"9":0.00487,"10":0.00487,"11":0.01947,_:"6 5.5"},K:{"0":0.29839,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01101,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.18724},H:{"0":0.01},L:{"0":32.57227},R:{_:"0"},M:{"0":0.19825}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MU.js deleted file mode 100644 index 5ac4d97b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"20":0.00221,"34":0.00441,"52":0.00221,"78":0.00441,"80":0.00221,"86":0.00221,"95":0.00221,"102":0.00441,"112":0.00221,"114":0.00441,"115":0.12359,"120":0.00221,"125":0.00221,"127":0.00883,"128":0.01986,"129":0.00221,"130":0.00441,"131":0.08607,"132":0.95122,"133":0.0949,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 81 82 83 84 85 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 113 116 117 118 119 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"38":0.00441,"47":0.00221,"64":0.00221,"65":0.00221,"68":0.00221,"73":0.00221,"75":0.00221,"78":0.00441,"79":0.01986,"81":0.00221,"83":0.00221,"86":0.00221,"87":0.02648,"88":0.01766,"90":0.00221,"91":0.00883,"92":0.01104,"93":0.00221,"94":0.00662,"95":0.00221,"99":0.00662,"100":0.00441,"101":0.00221,"103":0.02428,"104":0.00441,"106":0.00441,"107":0.00441,"108":0.00441,"109":0.7261,"110":0.00441,"111":0.00662,"112":0.00441,"113":0.00221,"114":0.01324,"115":0.00221,"116":0.15008,"117":0.00441,"118":0.00221,"119":0.01766,"120":0.00883,"121":0.01766,"122":0.11697,"123":0.01766,"124":0.03752,"125":0.02869,"126":0.05518,"127":0.05076,"128":0.11256,"129":0.629,"130":7.05357,"131":5.95007,"132":0.00221,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 66 67 69 70 71 72 74 76 77 80 84 85 89 96 97 98 102 105 133 134"},F:{"46":0.00221,"76":0.00221,"83":0.00221,"85":0.00662,"95":0.00441,"102":0.00221,"110":0.00221,"113":0.02869,"114":0.60693,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00221,"92":0.00441,"100":0.00441,"102":0.00221,"109":0.02428,"118":0.00221,"120":0.00221,"121":0.00221,"122":0.00221,"124":0.00221,"125":0.00441,"126":0.00441,"127":0.00662,"128":0.00883,"129":0.05738,"130":1.33303,"131":1.06819,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 103 104 105 106 107 108 110 111 112 113 114 115 116 117 119 123"},E:{"13":0.00221,"14":0.01324,"15":0.00221,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3","12.1":0.00441,"13.1":0.02428,"14.1":0.02648,"15.1":0.00221,"15.4":0.04855,"15.5":0.00441,"15.6":0.08607,"16.0":0.00662,"16.1":0.01104,"16.2":0.00662,"16.3":0.03973,"16.4":0.00441,"16.5":0.00883,"16.6":0.11476,"17.0":0.00441,"17.1":0.00441,"17.2":0.01104,"17.3":0.03311,"17.4":0.06621,"17.5":0.0949,"17.6":0.43257,"18.0":0.14346,"18.1":0.18097,"18.2":0.03531},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00072,"5.0-5.1":0,"6.0-6.1":0.00286,"7.0-7.1":0.00358,"8.1-8.4":0,"9.0-9.2":0.00286,"9.3":0.01003,"10.0-10.2":0.00215,"10.3":0.01647,"11.0-11.2":0.19337,"11.3-11.4":0.00501,"12.0-12.1":0.00286,"12.2-12.5":0.0752,"13.0-13.1":0.00143,"13.2":0.01934,"13.3":0.00286,"13.4-13.7":0.01074,"14.0-14.4":0.02363,"14.5-14.8":0.03366,"15.0-15.1":0.01934,"15.2-15.3":0.0179,"15.4":0.02149,"15.5":0.02507,"15.6-15.8":0.26857,"16.0":0.05085,"16.1":0.10743,"16.2":0.05443,"16.3":0.09239,"16.4":0.01862,"16.5":0.03724,"16.6-16.7":0.35236,"17.0":0.02578,"17.1":0.04297,"17.2":0.03581,"17.3":0.05443,"17.4":0.11674,"17.5":0.34878,"17.6-17.7":3.01296,"18.0":1.06854,"18.1":0.93891,"18.2":0.03796},P:{"4":0.06152,"20":0.01025,"21":0.03076,"22":0.09228,"23":0.06152,"24":0.06152,"25":0.09228,"26":1.64046,"27":1.52768,_:"5.0-5.4 8.2 9.2 10.1 12.0 15.0","6.2-6.4":0.03076,"7.2-7.4":0.08202,"11.1-11.2":0.03076,"13.0":0.01025,"14.0":0.02051,"16.0":0.04101,"17.0":0.03076,"18.0":0.02051,"19.0":0.02051},I:{"0":0.2566,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00008,"4.4":0,"4.4.3-4.4.4":0.00033},A:{"11":0.00662,_:"6 7 8 9 10 5.5"},K:{"0":0.46758,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01559},O:{"0":0.49096},H:{"0":0},L:{"0":65.85607},R:{_:"0"},M:{"0":0.47537}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MV.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MV.js deleted file mode 100644 index b2136380..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.03407,"116":0.00227,"125":0.00681,"127":0.01136,"128":0.00454,"129":0.00227,"130":0.00681,"131":0.02725,"132":0.69947,"133":0.04769,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 117 118 119 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"50":0.00454,"68":0.00227,"73":0.00227,"78":0.00227,"83":0.02271,"87":0.00454,"90":0.00227,"91":0.01136,"93":0.00227,"94":0.00227,"95":0.00227,"97":0.00908,"100":0.00454,"103":0.01136,"104":0.00454,"105":0.00227,"107":0.00227,"108":0.00454,"109":0.27479,"110":0.00227,"111":0.00227,"112":0.02044,"114":0.00454,"115":0.00227,"116":0.12036,"117":0.01817,"118":0.00227,"119":0.02271,"120":0.02271,"121":0.00454,"122":0.07494,"123":0.01136,"124":0.01817,"125":0.05678,"126":0.03179,"127":0.04542,"128":0.13626,"129":0.71082,"130":9.05448,"131":5.59347,"132":0.0159,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 74 75 76 77 79 80 81 84 85 86 88 89 92 96 98 99 101 102 106 113 133 134"},F:{"85":0.07494,"102":0.00227,"113":0.01136,"114":0.34973,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00681,"92":0.00454,"100":0.01136,"114":0.00227,"121":0.00908,"122":0.00227,"124":0.00227,"125":0.00681,"126":0.03407,"127":0.00681,"128":0.02044,"129":0.03861,"130":1.2218,"131":0.79939,_:"12 13 14 15 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 109 110 111 112 113 115 116 117 118 119 120 123"},E:{"14":0.00681,"15":0.00454,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1","13.1":0.00908,"14.1":0.00681,"15.2-15.3":0.00227,"15.4":0.00227,"15.5":0.00908,"15.6":0.02952,"16.0":0.00908,"16.1":0.06359,"16.2":0.00227,"16.3":0.01817,"16.4":0.02044,"16.5":0.00681,"16.6":0.04088,"17.0":0.00681,"17.1":0.02044,"17.2":0.01363,"17.3":0.01136,"17.4":0.02044,"17.5":0.10674,"17.6":0.32248,"18.0":0.27252,"18.1":0.30659,"18.2":0.0863},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00188,"5.0-5.1":0,"6.0-6.1":0.00751,"7.0-7.1":0.00938,"8.1-8.4":0,"9.0-9.2":0.00751,"9.3":0.02627,"10.0-10.2":0.00563,"10.3":0.04316,"11.0-11.2":0.50668,"11.3-11.4":0.01314,"12.0-12.1":0.00751,"12.2-12.5":0.19704,"13.0-13.1":0.00375,"13.2":0.05067,"13.3":0.00751,"13.4-13.7":0.02815,"14.0-14.4":0.06193,"14.5-14.8":0.0882,"15.0-15.1":0.05067,"15.2-15.3":0.04692,"15.4":0.0563,"15.5":0.06568,"15.6-15.8":0.70373,"16.0":0.13324,"16.1":0.28149,"16.2":0.14262,"16.3":0.24208,"16.4":0.04879,"16.5":0.09758,"16.6-16.7":0.92329,"17.0":0.06756,"17.1":0.1126,"17.2":0.09383,"17.3":0.14262,"17.4":0.30589,"17.5":0.9139,"17.6-17.7":7.89486,"18.0":2.79989,"18.1":2.46022,"18.2":0.09946},P:{"21":0.01023,"22":0.01023,"23":0.01023,"24":0.0307,"25":0.0307,"26":0.78797,"27":0.921,_:"4 20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0","7.2-7.4":0.01023,"18.0":0.01023,"19.0":0.01023},I:{"0":0.03085,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.88111,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.81155},H:{"0":0},L:{"0":55.75384},R:{_:"0"},M:{"0":0.4792}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MW.js deleted file mode 100644 index d52fe353..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"18":0.00207,"34":0.00415,"46":0.00622,"51":0.00207,"52":0.00207,"98":0.00207,"102":0.00415,"109":0.00415,"115":0.10577,"117":0.00207,"118":0.00415,"119":0.00207,"125":0.00415,"127":0.01037,"128":0.04355,"129":0.01037,"130":0.01867,"131":0.06222,"132":0.66575,"133":0.06844,"134":0.00207,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 103 104 105 106 107 108 110 111 112 113 114 116 120 121 122 123 124 126 135 136 3.5 3.6"},D:{"11":0.01037,"17":0.00207,"28":0.01867,"33":0.00207,"38":0.00207,"39":0.00415,"40":0.00415,"43":0.00207,"46":0.00622,"47":0.00207,"50":0.00207,"51":0.00207,"53":0.00415,"56":0.00415,"57":0.00207,"58":0.01659,"61":0.00415,"63":0.00207,"64":0.00415,"65":0.00415,"66":0.0083,"67":0.00207,"68":0.00207,"69":0.0083,"70":0.02281,"71":0.00622,"73":0.00622,"74":0.0083,"75":0.00207,"76":0.01037,"78":0.01037,"79":0.03111,"81":0.02904,"83":0.01037,"84":0.00207,"85":0.00207,"86":0.00207,"87":0.00622,"88":0.02074,"89":0.00622,"90":0.00207,"91":0.00415,"92":0.00207,"93":0.0083,"94":0.00415,"95":0.00622,"96":0.00622,"98":0.00622,"99":0.00415,"101":0.00415,"102":0.00415,"103":0.02074,"105":0.0083,"106":0.0083,"107":0.00207,"108":0.00207,"109":0.4708,"110":0.00415,"111":0.00622,"112":0.00207,"113":0.00207,"114":0.01867,"115":0.00415,"116":0.02074,"117":0.01244,"118":0.01867,"119":0.00622,"120":0.01452,"121":0.00622,"122":0.02281,"123":0.07052,"124":0.06844,"125":0.02904,"126":0.05185,"127":0.04563,"128":0.14103,"129":0.34428,"130":4.47777,"131":2.62568,"132":0.0083,_:"4 5 6 7 8 9 10 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 29 30 31 32 34 35 36 37 41 42 44 45 48 49 52 54 55 59 60 62 72 77 80 97 100 104 133 134"},F:{"24":0.00415,"28":0.00415,"36":0.00207,"64":0.00207,"79":0.02074,"83":0.00207,"84":0.0477,"85":0.02074,"86":0.00622,"94":0.00207,"95":0.04978,"101":0.00207,"109":0.00207,"112":0.01452,"113":0.0083,"114":0.60768,_:"9 11 12 15 16 17 18 19 20 21 22 23 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 87 88 89 90 91 92 93 96 97 98 99 100 102 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 12.1","11.6":0.00207},B:{"12":0.01244,"13":0.00207,"14":0.0083,"15":0.01037,"16":0.00622,"17":0.0083,"18":0.07052,"84":0.01452,"89":0.01244,"90":0.01452,"92":0.112,"100":0.03318,"101":0.00207,"108":0.00415,"109":0.01659,"112":0.00415,"114":0.0083,"115":0.00207,"116":0.00415,"117":0.00207,"119":0.02281,"120":0.00622,"121":0.00622,"122":0.01244,"123":0.00207,"124":0.00622,"125":0.01452,"126":0.02281,"127":0.06844,"128":0.0477,"129":0.1514,"130":1.48498,"131":0.87523,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 102 103 104 105 106 107 110 111 113 118"},E:{"11":0.00207,"13":0.00207,"14":0.00622,_:"0 4 5 6 7 8 9 10 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.1 15.4 16.0 16.1 16.2 16.4 17.0 18.2","5.1":0.00207,"12.1":0.0083,"13.1":0.01037,"14.1":0.00415,"15.2-15.3":0.00207,"15.5":0.00207,"15.6":0.03526,"16.3":0.00415,"16.5":0.00207,"16.6":0.01867,"17.1":0.00207,"17.2":0.00622,"17.3":0.00622,"17.4":0.00207,"17.5":0.01867,"17.6":0.03733,"18.0":0.03733,"18.1":0.02696},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00018,"5.0-5.1":0,"6.0-6.1":0.00073,"7.0-7.1":0.00091,"8.1-8.4":0,"9.0-9.2":0.00073,"9.3":0.00254,"10.0-10.2":0.00054,"10.3":0.00417,"11.0-11.2":0.049,"11.3-11.4":0.00127,"12.0-12.1":0.00073,"12.2-12.5":0.01906,"13.0-13.1":0.00036,"13.2":0.0049,"13.3":0.00073,"13.4-13.7":0.00272,"14.0-14.4":0.00599,"14.5-14.8":0.00853,"15.0-15.1":0.0049,"15.2-15.3":0.00454,"15.4":0.00544,"15.5":0.00635,"15.6-15.8":0.06806,"16.0":0.01289,"16.1":0.02722,"16.2":0.01379,"16.3":0.02341,"16.4":0.00472,"16.5":0.00944,"16.6-16.7":0.08929,"17.0":0.00653,"17.1":0.01089,"17.2":0.00907,"17.3":0.01379,"17.4":0.02958,"17.5":0.08838,"17.6-17.7":0.7635,"18.0":0.27077,"18.1":0.23792,"18.2":0.00962},P:{"4":0.23565,"20":0.01025,"21":0.02049,"22":0.1127,"23":0.04098,"24":0.13319,"25":0.09221,"26":0.71719,"27":0.18442,"5.0-5.4":0.02049,"6.2-6.4":0.02049,"7.2-7.4":0.14344,_:"8.2 10.1 14.0 15.0 16.0","9.2":0.01025,"11.1-11.2":0.02049,"12.0":0.01025,"13.0":0.01025,"17.0":0.03074,"18.0":0.02049,"19.0":0.02049},I:{"0":0.14234,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00019},A:{"9":0.00233,"10":0.00233,"11":0.03267,_:"6 7 8 5.5"},K:{"0":5.4102,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.07925,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01585},O:{"0":1.48198},H:{"0":1.12},L:{"0":73.13858},R:{_:"0"},M:{"0":0.18228}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MX.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MX.js deleted file mode 100644 index 705b18a0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MX.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.01058,"34":0.00353,"48":0.00353,"52":0.00705,"59":0.00705,"66":0.00353,"78":0.01763,"79":0.00353,"82":0.00353,"91":0.00705,"99":0.02821,"102":0.00353,"103":0.00353,"105":0.00353,"112":0.00353,"113":0.00353,"115":0.16925,"120":0.00353,"121":0.00353,"123":0.00353,"124":0.00353,"125":0.00353,"126":0.00353,"127":0.00705,"128":0.03879,"129":0.00705,"130":0.01058,"131":0.07052,"132":1.11774,"133":0.10931,"134":0.00353,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 80 81 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 100 101 104 106 107 108 109 110 111 114 116 117 118 119 122 135 136 3.5 3.6"},D:{"38":0.00353,"48":0.00353,"49":0.00705,"50":0.00353,"52":0.01058,"65":0.00353,"66":0.03879,"70":0.00353,"71":0.00353,"73":0.00353,"74":0.00353,"75":0.00353,"76":0.00353,"78":0.00353,"79":0.02116,"80":0.01058,"81":0.00353,"84":0.00705,"85":0.00353,"86":0.00353,"87":0.04936,"88":0.01763,"89":0.00353,"90":0.00353,"91":0.02821,"92":0.00353,"93":0.00705,"94":0.01763,"95":0.00353,"96":0.00353,"97":0.00353,"98":0.00705,"99":0.00353,"100":0.00353,"101":0.00353,"102":0.00705,"103":0.07757,"104":0.01058,"105":0.00705,"106":0.0141,"107":0.01058,"108":0.01058,"109":1.4915,"110":0.01058,"111":0.02468,"112":0.01058,"113":0.05642,"114":0.07405,"115":0.00353,"116":0.16572,"117":0.00705,"118":0.00705,"119":0.02116,"120":0.04584,"121":0.02821,"122":0.1763,"123":0.04936,"124":0.0811,"125":0.05642,"126":0.09873,"127":0.07757,"128":0.25387,"129":0.56063,"130":11.3784,"131":7.42223,"132":0.01058,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 51 53 54 55 56 57 58 59 60 61 62 63 64 67 68 69 72 77 83 133 134"},F:{"85":0.01058,"86":0.00353,"95":0.03526,"102":0.00353,"109":0.00353,"112":0.00353,"113":0.09168,"114":1.20942,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00353,"18":0.00353,"88":0.00353,"92":0.01058,"99":0.00353,"100":0.00353,"108":0.00353,"109":0.05289,"110":0.00353,"112":0.00353,"113":0.00353,"114":0.00705,"117":0.01058,"118":0.00353,"119":0.00353,"120":0.00353,"121":0.00705,"122":0.00705,"123":0.00705,"124":0.01058,"125":0.01058,"126":0.02468,"127":0.02116,"128":0.03526,"129":0.1763,"130":2.79612,"131":1.86878,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 89 90 91 93 94 95 96 97 98 101 102 103 104 105 106 107 111 115 116"},E:{"14":0.01058,"15":0.00353,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.00705,"11.1":0.00705,"12.1":0.00705,"13.1":0.03879,"14.1":0.04231,"15.1":0.00353,"15.2-15.3":0.00353,"15.4":0.01058,"15.5":0.01058,"15.6":0.13751,"16.0":0.0141,"16.1":0.01763,"16.2":0.0141,"16.3":0.03879,"16.4":0.01058,"16.5":0.02468,"16.6":0.14104,"17.0":0.01058,"17.1":0.02468,"17.2":0.02821,"17.3":0.02116,"17.4":0.04231,"17.5":0.13399,"17.6":0.52185,"18.0":0.28913,"18.1":0.28913,"18.2":0.01058},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00141,"5.0-5.1":0,"6.0-6.1":0.00566,"7.0-7.1":0.00707,"8.1-8.4":0,"9.0-9.2":0.00566,"9.3":0.01981,"10.0-10.2":0.00424,"10.3":0.03254,"11.0-11.2":0.38199,"11.3-11.4":0.0099,"12.0-12.1":0.00566,"12.2-12.5":0.14855,"13.0-13.1":0.00283,"13.2":0.0382,"13.3":0.00566,"13.4-13.7":0.02122,"14.0-14.4":0.04669,"14.5-14.8":0.0665,"15.0-15.1":0.0382,"15.2-15.3":0.03537,"15.4":0.04244,"15.5":0.04952,"15.6-15.8":0.53055,"16.0":0.10045,"16.1":0.21222,"16.2":0.10752,"16.3":0.18251,"16.4":0.03678,"16.5":0.07357,"16.6-16.7":0.69608,"17.0":0.05093,"17.1":0.08489,"17.2":0.07074,"17.3":0.10752,"17.4":0.23061,"17.5":0.689,"17.6-17.7":5.95201,"18.0":2.11086,"18.1":1.85479,"18.2":0.07498},P:{"4":0.07283,"21":0.0104,"22":0.0104,"23":0.0104,"24":0.0104,"25":0.0104,"26":0.38494,"27":0.36413,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","6.2-6.4":0.0104,"7.2-7.4":0.03121,"17.0":0.0104},I:{"0":0.08399,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"8":0.00401,"11":0.08414,_:"6 7 9 10 5.5"},K:{"0":0.2072,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0518},H:{"0":0},L:{"0":51.1352},R:{_:"0"},M:{"0":0.19425}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MY.js deleted file mode 100644 index 752f59df..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.0048,"39":0.00961,"52":0.00961,"78":0.0048,"112":0.0048,"113":0.0048,"114":0.0048,"115":0.24981,"120":0.0048,"122":0.0048,"124":0.0048,"125":0.0048,"126":0.0048,"127":0.01441,"128":0.02402,"129":0.0048,"130":0.00961,"131":0.09608,"132":1.50846,"133":0.07686,"134":0.0048,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 116 117 118 119 121 123 135 136 3.5 3.6"},D:{"29":0.02402,"37":0.0048,"38":0.00961,"49":0.0048,"55":0.0048,"56":0.0048,"65":0.0048,"67":0.0048,"68":0.0048,"70":0.0048,"74":0.0048,"75":0.0048,"76":0.0048,"78":0.0048,"79":0.02882,"80":0.0048,"81":0.02402,"85":0.0048,"86":0.03843,"87":0.04324,"88":0.0048,"89":0.01441,"90":0.0048,"91":0.02402,"92":0.0048,"93":0.02882,"94":0.03843,"96":0.0048,"97":0.00961,"98":0.00961,"99":0.00961,"100":0.00961,"101":0.00961,"102":0.09608,"103":1.90238,"104":0.0048,"105":0.07206,"106":0.01441,"107":0.01441,"108":0.01922,"109":1.75826,"110":0.0048,"111":0.00961,"112":0.01441,"113":0.01441,"114":0.14892,"115":0.00961,"116":0.15373,"117":0.01922,"118":0.10088,"119":0.02882,"120":0.07686,"121":0.06245,"122":0.13451,"123":0.07206,"124":0.08167,"125":0.05284,"126":0.245,"127":0.26902,"128":0.21618,"129":0.8407,"130":19.34571,"131":11.06361,"132":0.02402,"133":0.0048,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 57 58 59 60 61 62 63 64 66 69 71 72 73 77 83 84 95 134"},F:{"28":0.0048,"46":0.01922,"85":0.02882,"86":0.0048,"95":0.01922,"102":0.0048,"104":0.0048,"113":0.02882,"114":0.78786,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.0048,"109":0.08167,"114":0.0048,"118":0.0048,"120":0.00961,"122":0.00961,"124":0.0048,"125":0.0048,"126":0.00961,"127":0.01441,"128":0.01441,"129":0.06245,"130":2.05131,"131":1.3211,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 119 121 123"},E:{"13":0.0048,"14":0.02402,"15":0.0048,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.01441,"14.1":0.06726,"15.1":0.0048,"15.2-15.3":0.00961,"15.4":0.00961,"15.5":0.01441,"15.6":0.1201,"16.0":0.01922,"16.1":0.02402,"16.2":0.01441,"16.3":0.03843,"16.4":0.01922,"16.5":0.02882,"16.6":0.14892,"17.0":0.00961,"17.1":0.01922,"17.2":0.03363,"17.3":0.02882,"17.4":0.06726,"17.5":0.17294,"17.6":0.66776,"18.0":0.31226,"18.1":0.29785,"18.2":0.0048},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00116,"5.0-5.1":0,"6.0-6.1":0.00466,"7.0-7.1":0.00582,"8.1-8.4":0,"9.0-9.2":0.00466,"9.3":0.01631,"10.0-10.2":0.00349,"10.3":0.02679,"11.0-11.2":0.31447,"11.3-11.4":0.00815,"12.0-12.1":0.00466,"12.2-12.5":0.1223,"13.0-13.1":0.00233,"13.2":0.03145,"13.3":0.00466,"13.4-13.7":0.01747,"14.0-14.4":0.03844,"14.5-14.8":0.05474,"15.0-15.1":0.03145,"15.2-15.3":0.02912,"15.4":0.03494,"15.5":0.04077,"15.6-15.8":0.43677,"16.0":0.0827,"16.1":0.17471,"16.2":0.08852,"16.3":0.15025,"16.4":0.03028,"16.5":0.06057,"16.6-16.7":0.57304,"17.0":0.04193,"17.1":0.06988,"17.2":0.05824,"17.3":0.08852,"17.4":0.18985,"17.5":0.56722,"17.6-17.7":4.89997,"18.0":1.73776,"18.1":1.52695,"18.2":0.06173},P:{"4":0.15731,"20":0.01049,"21":0.02097,"22":0.02097,"23":0.02097,"24":0.02097,"25":0.04195,"26":0.74461,"27":0.59778,"5.0-5.4":0.01049,"6.2-6.4":0.01049,"7.2-7.4":0.01049,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","19.0":0.01049},I:{"0":0.02592,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.0151,"10":0.00755,"11":0.08304,_:"6 7 9 5.5"},K:{"0":0.75328,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01039},O:{"0":0.90913},H:{"0":0},L:{"0":38.06874},R:{_:"0"},M:{"0":0.33768}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MZ.js deleted file mode 100644 index 12b4f76b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/MZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"91":0.00215,"107":0.00215,"109":0.00215,"113":0.01722,"115":0.0581,"127":0.00215,"128":0.05595,"129":0.01937,"130":0.00215,"131":0.02582,"132":0.35938,"133":0.02798,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 114 116 117 118 119 120 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"11":0.0043,"43":0.00215,"53":0.00215,"65":0.00215,"68":0.00861,"70":0.0043,"72":0.00215,"73":0.0043,"74":0.0043,"75":0.00215,"77":0.00215,"79":0.00646,"81":0.02367,"83":0.00215,"85":0.00215,"86":0.00215,"87":0.01076,"88":0.0043,"89":0.0043,"90":0.02152,"91":0.02152,"92":0.02152,"93":0.00215,"94":0.00646,"95":0.02152,"97":0.00215,"98":0.00215,"99":0.00215,"100":0.00215,"101":0.00215,"102":0.01937,"103":0.0043,"104":0.04304,"105":0.00215,"106":0.00861,"107":0.00215,"108":0.00215,"109":1.11904,"110":0.00215,"111":0.0538,"112":0.00215,"113":0.00646,"114":0.04734,"116":0.02582,"117":0.00646,"118":0.00215,"119":0.00646,"120":0.02152,"121":0.01291,"122":0.02367,"123":0.01506,"124":0.02367,"125":0.03228,"126":0.01722,"127":0.03874,"128":0.05595,"129":0.16355,"130":3.01065,"131":2.13263,"132":0.00215,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 60 61 62 63 64 66 67 69 71 76 78 80 84 96 115 133 134"},F:{"49":0.00215,"79":0.01076,"81":0.00861,"83":0.0043,"85":0.00646,"86":0.00215,"91":0.00215,"95":0.03874,"108":0.0043,"112":0.00215,"113":0.0043,"114":0.34862,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 82 84 87 88 89 90 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00215,"13":0.00215,"14":0.00215,"15":0.00215,"16":0.00215,"18":0.00646,"84":0.00215,"89":0.01076,"90":0.0043,"91":0.00215,"92":0.02152,"100":0.0043,"102":0.01076,"106":0.00215,"109":0.02582,"111":0.00215,"114":0.00215,"119":0.00215,"120":0.00215,"121":0.00215,"122":0.02367,"123":0.00215,"124":0.00215,"125":0.01722,"126":0.04734,"127":0.02152,"128":0.02367,"129":0.04519,"130":0.90814,"131":0.58534,_:"17 79 80 81 83 85 86 87 88 93 94 95 96 97 98 99 101 103 104 105 107 108 110 112 113 115 116 117 118"},E:{"13":0.00215,"14":0.00215,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.5 16.2 16.3 17.0 17.1 17.2 18.2","13.1":0.00861,"14.1":0.0043,"15.4":0.00215,"15.6":0.02152,"16.0":0.00215,"16.1":0.00215,"16.4":0.00215,"16.5":0.00215,"16.6":0.00861,"17.3":0.00215,"17.4":0.00215,"17.5":0.00861,"17.6":0.01722,"18.0":0.01722,"18.1":0.01076},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00032,"5.0-5.1":0,"6.0-6.1":0.00129,"7.0-7.1":0.00162,"8.1-8.4":0,"9.0-9.2":0.00129,"9.3":0.00453,"10.0-10.2":0.00097,"10.3":0.00744,"11.0-11.2":0.08731,"11.3-11.4":0.00226,"12.0-12.1":0.00129,"12.2-12.5":0.03395,"13.0-13.1":0.00065,"13.2":0.00873,"13.3":0.00129,"13.4-13.7":0.00485,"14.0-14.4":0.01067,"14.5-14.8":0.0152,"15.0-15.1":0.00873,"15.2-15.3":0.00808,"15.4":0.0097,"15.5":0.01132,"15.6-15.8":0.12127,"16.0":0.02296,"16.1":0.04851,"16.2":0.02458,"16.3":0.04172,"16.4":0.00841,"16.5":0.01682,"16.6-16.7":0.1591,"17.0":0.01164,"17.1":0.0194,"17.2":0.01617,"17.3":0.02458,"17.4":0.05271,"17.5":0.15749,"17.6-17.7":1.36045,"18.0":0.48248,"18.1":0.42395,"18.2":0.01714},P:{"4":0.13792,"20":0.01061,"21":0.01061,"22":0.06365,"23":0.02122,"24":0.13792,"25":0.04244,"26":0.2334,"27":0.09548,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 16.0 18.0","7.2-7.4":0.08487,"11.1-11.2":0.01061,"12.0":0.01061,"13.0":0.01061,"14.0":0.01061,"15.0":0.02122,"17.0":0.04244,"19.0":0.02122},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":1.8515,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.3846,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00785},O:{"0":0.11774},H:{"0":0.15},L:{"0":82.90632},R:{_:"0"},M:{"0":0.10204}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NA.js deleted file mode 100644 index b2104e70..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.01249,"52":0.00312,"56":0.00312,"103":0.01562,"109":0.00312,"112":0.00312,"113":0.00312,"115":0.11243,"127":0.00625,"128":0.01562,"129":0.00312,"130":0.01562,"131":0.06558,"132":1.00873,"133":0.0812,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 114 116 117 118 119 120 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"11":0.00312,"34":0.00312,"39":0.00312,"47":0.00312,"65":0.00312,"69":0.01249,"70":0.00312,"71":0.00312,"73":0.00625,"74":0.00937,"78":0.01249,"79":0.01562,"81":0.00625,"83":0.00312,"87":0.00625,"88":0.09057,"89":0.00312,"90":0.00312,"93":0.00312,"94":0.00625,"95":0.00312,"96":0.00312,"98":0.00312,"100":0.01562,"102":0.00625,"103":0.04997,"104":0.01562,"106":0.00937,"108":0.00312,"109":1.56775,"110":0.00312,"111":0.04372,"112":0.00312,"113":0.00312,"114":0.01249,"115":0.00312,"116":0.03435,"118":0.00312,"119":0.03123,"120":0.01249,"121":0.01874,"122":0.01874,"123":0.01874,"124":0.07183,"125":0.01249,"126":0.14678,"127":0.07495,"128":0.08744,"129":0.46533,"130":8.92241,"131":5.15295,"132":0.00625,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 40 41 42 43 44 45 46 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 72 75 76 77 80 84 85 86 91 92 97 99 101 105 107 117 133 134"},F:{"85":0.00937,"95":0.10618,"113":0.04372,"114":0.73703,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00937,"13":0.00312,"16":0.00625,"17":0.00312,"18":0.05309,"89":0.00625,"90":0.00312,"92":0.02811,"100":0.01249,"109":0.02811,"110":0.00312,"113":0.00312,"114":0.00625,"117":0.00312,"118":0.02186,"119":0.00312,"120":0.02811,"121":0.00312,"122":0.01249,"123":0.00312,"124":0.00625,"125":0.02186,"126":0.01249,"127":0.02811,"128":0.06246,"129":0.20612,"130":3.49776,"131":1.93938,_:"14 15 79 80 81 83 84 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 115 116"},E:{"14":0.00312,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.1 15.2-15.3 16.2","11.1":0.00312,"12.1":0.203,"13.1":0.01249,"14.1":0.02186,"15.4":0.00625,"15.5":0.00312,"15.6":0.11867,"16.0":0.00937,"16.1":0.00312,"16.3":0.00937,"16.4":0.01874,"16.5":0.00625,"16.6":0.08744,"17.0":0.00937,"17.1":0.00625,"17.2":0.00937,"17.3":0.00937,"17.4":0.04685,"17.5":0.06558,"17.6":0.33104,"18.0":0.17801,"18.1":0.24672,"18.2":0.01249},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00076,"5.0-5.1":0,"6.0-6.1":0.00302,"7.0-7.1":0.00378,"8.1-8.4":0,"9.0-9.2":0.00302,"9.3":0.01058,"10.0-10.2":0.00227,"10.3":0.01738,"11.0-11.2":0.20403,"11.3-11.4":0.00529,"12.0-12.1":0.00302,"12.2-12.5":0.07935,"13.0-13.1":0.00151,"13.2":0.0204,"13.3":0.00302,"13.4-13.7":0.01134,"14.0-14.4":0.02494,"14.5-14.8":0.03552,"15.0-15.1":0.0204,"15.2-15.3":0.01889,"15.4":0.02267,"15.5":0.02645,"15.6-15.8":0.28338,"16.0":0.05365,"16.1":0.11335,"16.2":0.05743,"16.3":0.09748,"16.4":0.01965,"16.5":0.03929,"16.6-16.7":0.37179,"17.0":0.0272,"17.1":0.04534,"17.2":0.03778,"17.3":0.05743,"17.4":0.12317,"17.5":0.36801,"17.6-17.7":3.17911,"18.0":1.12746,"18.1":0.99069,"18.2":0.04005},P:{"4":0.15395,"20":0.01026,"21":0.23606,"22":0.05132,"23":0.02053,"24":0.34896,"25":0.07185,"26":1.38558,"27":0.87241,"5.0-5.4":0.01026,"6.2-6.4":0.05132,"7.2-7.4":0.14369,_:"8.2 9.2 11.1-11.2 12.0 15.0 16.0 18.0","10.1":0.04105,"13.0":0.01026,"14.0":0.03079,"17.0":0.03079,"19.0":0.03079},I:{"0":0.01372,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.01249,_:"6 7 8 9 10 5.5"},K:{"0":1.35522,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.42631},H:{"0":0.13},L:{"0":59.37973},R:{_:"0"},M:{"0":0.25441}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NC.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NC.js deleted file mode 100644 index 4ed627a5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.00442,"52":0.01987,"53":0.25392,"68":0.00442,"78":0.01987,"91":0.01325,"97":0.00662,"102":0.0265,"107":0.00221,"113":0.00883,"115":0.17443,"119":0.00662,"120":0.00221,"121":0.00221,"126":0.00221,"127":0.00442,"128":0.14573,"129":0.00442,"130":0.01546,"131":0.15014,"132":3.23914,"133":0.20976,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 98 99 100 101 103 104 105 106 108 109 110 111 112 114 116 117 118 122 123 124 125 134 135 136 3.5 3.6"},D:{"47":0.00221,"49":0.00442,"63":0.01766,"77":0.00221,"79":0.00662,"93":0.00221,"94":0.00883,"99":0.00221,"100":0.00883,"103":0.03091,"104":0.00221,"109":0.37094,"110":0.00662,"111":0.01325,"114":0.00221,"115":0.00442,"116":0.06403,"117":0.00221,"118":0.00221,"119":0.00883,"120":0.00662,"121":0.01325,"122":0.02208,"123":0.00883,"124":0.00662,"125":0.0265,"126":0.03091,"127":0.08611,"128":0.06182,"129":0.59174,"130":4.89514,"131":2.96534,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 70 71 72 73 74 75 76 78 80 81 83 84 85 86 87 88 89 90 91 92 95 96 97 98 101 102 105 106 107 108 112 113 132 133 134"},F:{"84":0.00442,"95":0.00442,"109":0.13027,"113":0.01104,"114":0.67123,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00442,"100":0.02208,"109":0.00662,"114":0.00221,"116":0.00221,"117":0.00221,"119":0.32237,"120":0.01325,"121":0.00221,"122":0.01104,"124":0.00442,"125":0.20755,"126":0.00883,"127":0.01766,"128":0.00883,"129":0.04858,"130":2.69818,"131":1.51469,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 118 123"},E:{"14":0.01104,"15":0.02208,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3","12.1":0.00662,"13.1":0.04416,"14.1":0.02429,"15.1":0.01546,"15.4":0.00221,"15.5":0.01104,"15.6":0.10157,"16.0":0.10157,"16.1":0.0265,"16.2":0.00662,"16.3":0.01766,"16.4":0.02429,"16.5":0.00883,"16.6":0.12144,"17.0":0.00221,"17.1":0.00883,"17.2":0.03091,"17.3":0.03091,"17.4":0.01104,"17.5":0.07066,"17.6":0.52109,"18.0":0.09715,"18.1":0.56083,"18.2":0.00221},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00069,"5.0-5.1":0,"6.0-6.1":0.00277,"7.0-7.1":0.00346,"8.1-8.4":0,"9.0-9.2":0.00277,"9.3":0.0097,"10.0-10.2":0.00208,"10.3":0.01593,"11.0-11.2":0.18703,"11.3-11.4":0.00485,"12.0-12.1":0.00277,"12.2-12.5":0.07273,"13.0-13.1":0.00139,"13.2":0.0187,"13.3":0.00277,"13.4-13.7":0.01039,"14.0-14.4":0.02286,"14.5-14.8":0.03256,"15.0-15.1":0.0187,"15.2-15.3":0.01732,"15.4":0.02078,"15.5":0.02424,"15.6-15.8":0.25977,"16.0":0.04918,"16.1":0.10391,"16.2":0.05265,"16.3":0.08936,"16.4":0.01801,"16.5":0.03602,"16.6-16.7":0.34081,"17.0":0.02494,"17.1":0.04156,"17.2":0.03464,"17.3":0.05265,"17.4":0.11291,"17.5":0.33735,"17.6-17.7":2.91423,"18.0":1.03352,"18.1":0.90814,"18.2":0.03671},P:{"4":0.04149,"20":0.01037,"21":0.01037,"22":0.04149,"23":0.01037,"24":0.03112,"25":0.16596,"26":0.56013,"27":0.60162,"5.0-5.4":0.01037,"6.2-6.4":0.01037,"7.2-7.4":0.09336,_:"8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0","13.0":0.01037,"18.0":0.01037,"19.0":0.02075},I:{"0":0.04665,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.05454,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04675},H:{"0":0},L:{"0":69.25574},R:{_:"0"},M:{"0":0.31168}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NE.js deleted file mode 100644 index 0db24328..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"42":0.00293,"48":0.00293,"52":0.00293,"55":0.00293,"60":0.00146,"65":0.00293,"67":0.00146,"70":0.00293,"72":0.00439,"77":0.00293,"80":0.00146,"84":0.00293,"86":0.00293,"89":0.00146,"90":0.00146,"94":0.00146,"102":0.00146,"106":0.04099,"107":0.01025,"112":0.00146,"113":0.00146,"114":0.00146,"115":0.05856,"118":0.00293,"121":0.00878,"122":0.00146,"125":0.00146,"127":0.01757,"128":0.01025,"129":0.00146,"130":0.00878,"131":0.04392,"132":0.77299,"133":0.04392,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 49 50 51 53 54 56 57 58 59 61 62 63 64 66 68 69 71 73 74 75 76 78 79 81 82 83 85 87 88 91 92 93 95 96 97 98 99 100 101 103 104 105 108 109 110 111 116 117 119 120 123 124 126 134 135 136 3.5 3.6"},D:{"40":0.00146,"47":0.00293,"50":0.00146,"63":0.00439,"66":0.00146,"68":0.04392,"69":0.00146,"70":0.01903,"74":0.00146,"75":0.00146,"77":0.00146,"79":0.02489,"80":0.03074,"81":0.00146,"83":0.00146,"84":0.00586,"86":0.00586,"87":0.00439,"88":0.00146,"89":0.00293,"93":0.00146,"95":0.00293,"96":0.00146,"99":0.00293,"101":0.00439,"102":0.00293,"103":0.0161,"104":0.00293,"105":0.00293,"109":0.23863,"111":0.02489,"112":0.00146,"113":0.00293,"114":0.00439,"116":0.00439,"117":0.00293,"118":0.00878,"119":0.0161,"120":0.00293,"121":0.00146,"122":0.04538,"123":0.00146,"124":0.09662,"125":0.01171,"126":0.02196,"127":0.04246,"128":0.02782,"129":0.09077,"130":1.464,"131":0.99698,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 48 49 51 52 53 54 55 56 57 58 59 60 61 62 64 65 67 71 72 73 76 78 85 90 91 92 94 97 98 100 106 107 108 110 115 132 133 134"},F:{"40":0.00146,"64":0.00146,"65":0.00146,"79":0.00586,"82":0.38942,"84":0.00146,"85":0.02196,"95":0.01171,"106":0.00146,"111":0.00293,"112":0.00146,"113":0.00439,"114":0.30305,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00146,"13":0.00293,"14":0.00146,"17":0.00586,"18":0.01025,"84":0.00293,"89":0.00293,"90":0.00293,"92":0.02342,"100":0.00439,"104":0.00146,"107":0.00293,"108":0.00146,"109":0.00439,"112":0.01757,"113":0.00732,"119":0.00146,"122":0.0366,"123":0.00146,"124":0.03953,"125":0.00146,"126":0.00732,"127":0.00146,"128":0.01025,"129":0.0161,"130":1.43618,"131":0.87401,_:"15 16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 105 106 110 111 114 115 116 117 118 120 121"},E:{"14":0.00146,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 17.0 17.2 17.5 18.2","11.1":0.00146,"13.1":0.00732,"14.1":0.01025,"15.1":2.28677,"15.6":0.06588,"16.5":0.01171,"16.6":0.00586,"17.1":0.07027,"17.3":0.00439,"17.4":0.00439,"17.6":0.02342,"18.0":0.01318,"18.1":0.08784},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00071,"5.0-5.1":0,"6.0-6.1":0.00282,"7.0-7.1":0.00353,"8.1-8.4":0,"9.0-9.2":0.00282,"9.3":0.00987,"10.0-10.2":0.00212,"10.3":0.01622,"11.0-11.2":0.19039,"11.3-11.4":0.00494,"12.0-12.1":0.00282,"12.2-12.5":0.07404,"13.0-13.1":0.00141,"13.2":0.01904,"13.3":0.00282,"13.4-13.7":0.01058,"14.0-14.4":0.02327,"14.5-14.8":0.03314,"15.0-15.1":0.01904,"15.2-15.3":0.01763,"15.4":0.02115,"15.5":0.02468,"15.6-15.8":0.26443,"16.0":0.05007,"16.1":0.10577,"16.2":0.05359,"16.3":0.09097,"16.4":0.01833,"16.5":0.03667,"16.6-16.7":0.34694,"17.0":0.02539,"17.1":0.04231,"17.2":0.03526,"17.3":0.05359,"17.4":0.11494,"17.5":0.34341,"17.6-17.7":2.96659,"18.0":1.05209,"18.1":0.92446,"18.2":0.03737},P:{"4":0.0703,"20":0.01004,"22":0.01004,"23":0.02009,"24":0.04017,"25":0.02009,"26":0.25109,"27":0.21091,_:"21 8.2 10.1 11.1-11.2 12.0 15.0 16.0 17.0 18.0","5.0-5.4":0.01004,"6.2-6.4":0.01004,"7.2-7.4":0.08035,"9.2":0.04017,"13.0":0.01004,"14.0":0.02009,"19.0":0.05022},I:{"0":0.00852,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.00586,_:"6 7 8 9 10 5.5"},K:{"0":2.25305,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01707,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00854},O:{"0":0.52076},H:{"0":0.18},L:{"0":78.42973},R:{_:"0"},M:{"0":0.02561}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NF.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NF.js deleted file mode 100644 index ff6b66dc..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"132":0.18625,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 133 134 135 136 3.5 3.6"},D:{"109":0.93674,"130":31.89292,"131":7.69111,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 132 133 134"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"111":0.18625,"129":0.18625,"130":5.43965,"131":4.68917,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.2 17.3 17.5 18.2","17.4":0.93674,"17.6":0.18625,"18.0":1.31472,"18.1":0.75049},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00202,"5.0-5.1":0,"6.0-6.1":0.0081,"7.0-7.1":0.01012,"8.1-8.4":0,"9.0-9.2":0.0081,"9.3":0.02834,"10.0-10.2":0.00607,"10.3":0.04656,"11.0-11.2":0.54661,"11.3-11.4":0.01417,"12.0-12.1":0.0081,"12.2-12.5":0.21257,"13.0-13.1":0.00405,"13.2":0.05466,"13.3":0.0081,"13.4-13.7":0.03037,"14.0-14.4":0.06681,"14.5-14.8":0.09515,"15.0-15.1":0.05466,"15.2-15.3":0.05061,"15.4":0.06073,"15.5":0.07086,"15.6-15.8":0.75919,"16.0":0.14374,"16.1":0.30367,"16.2":0.15386,"16.3":0.26116,"16.4":0.05264,"16.5":0.10527,"16.6-16.7":0.99605,"17.0":0.07288,"17.1":0.12147,"17.2":0.10122,"17.3":0.15386,"17.4":0.32999,"17.5":0.98593,"17.6-17.7":8.51707,"18.0":3.02055,"18.1":2.65412,"18.2":0.1073},P:{"26":1.13423,"27":0.19071,_:"4 20 21 22 23 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":24.02256},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NG.js deleted file mode 100644 index b4f25630..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.00286,"34":0.00143,"43":0.00573,"47":0.00143,"52":0.00143,"65":0.00286,"72":0.0043,"78":0.00143,"79":0.00143,"97":0.00143,"99":0.00143,"101":0.00143,"102":0.00143,"103":0.00143,"105":0.00143,"107":0.00143,"108":0.00143,"109":0.00143,"110":0.00143,"111":0.00143,"112":0.00143,"113":0.00143,"114":0.00143,"115":0.39666,"120":0.00143,"123":0.00143,"124":0.00143,"126":0.00143,"127":0.00859,"128":0.00716,"129":0.00143,"130":0.00573,"131":0.03723,"132":0.3537,"133":0.03007,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 100 104 106 116 117 118 119 121 122 125 134 135 136 3.5 3.6"},D:{"11":0.00143,"43":0.00143,"47":0.01432,"49":0.00143,"50":0.00286,"55":0.00143,"56":0.00143,"58":0.00286,"59":0.00859,"62":0.01002,"63":0.00573,"64":0.00573,"65":0.00143,"66":0.00143,"68":0.00716,"69":0.00286,"70":0.02148,"72":0.00286,"73":0.00143,"74":0.00573,"75":0.00573,"76":0.00286,"77":0.00716,"78":0.00143,"79":0.01289,"80":0.01146,"81":0.0043,"83":0.00286,"84":0.00143,"85":0.00143,"86":0.00573,"87":0.01002,"88":0.01146,"89":0.00143,"90":0.00286,"91":0.00286,"92":0.00143,"93":0.01289,"94":0.00286,"95":0.01002,"96":0.00143,"97":0.00286,"98":0.0043,"99":0.00143,"100":0.04153,"101":0.00143,"102":0.00143,"103":0.02578,"104":0.00286,"105":0.00859,"106":0.01718,"107":0.00573,"108":0.00716,"109":0.56278,"110":0.0043,"111":0.00716,"112":0.0043,"113":0.0043,"114":0.01432,"115":0.0043,"116":0.03294,"117":0.00573,"118":0.00716,"119":0.03866,"120":0.01862,"121":0.01002,"122":0.02291,"123":0.02864,"124":0.0358,"125":0.02291,"126":0.05585,"127":0.04726,"128":0.11313,"129":0.23485,"130":2.9757,"131":1.85587,"132":0.00859,"133":0.00143,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 48 51 52 53 54 57 60 61 67 71 134"},F:{"42":0.00143,"46":0.00143,"58":0.00143,"74":0.00143,"79":0.00573,"83":0.00573,"84":0.03294,"85":0.15895,"86":0.00716,"90":0.00143,"95":0.02291,"108":0.00286,"112":0.00286,"113":0.00716,"114":0.26062,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 80 81 82 87 88 89 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00286,"13":0.00143,"14":0.00143,"15":0.00143,"18":0.02005,"84":0.00286,"89":0.0043,"90":0.00573,"92":0.02578,"100":0.0043,"103":0.00143,"107":0.00143,"109":0.00859,"111":0.00143,"112":0.00143,"114":0.02864,"115":0.00143,"119":0.00143,"120":0.00286,"121":0.00143,"122":0.00286,"123":0.00143,"124":0.00286,"125":0.00286,"126":0.00716,"127":0.00859,"128":0.02005,"129":0.05155,"130":0.52125,"131":0.33366,_:"16 17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 104 105 106 108 110 113 116 117 118"},E:{"11":0.0043,"13":0.0043,"14":0.00859,_:"0 4 5 6 7 8 9 10 12 15 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.00143,"11.1":0.00286,"12.1":0.00286,"13.1":0.01289,"14.1":0.00859,"15.1":0.00143,"15.2-15.3":0.00143,"15.4":0.00143,"15.5":0.00143,"15.6":0.0315,"16.0":0.00143,"16.1":0.0043,"16.2":0.00286,"16.3":0.00573,"16.4":0.00143,"16.5":0.00573,"16.6":0.01862,"17.0":0.00143,"17.1":0.00286,"17.2":0.0043,"17.3":0.0043,"17.4":0.00859,"17.5":0.01575,"17.6":0.04153,"18.0":0.02578,"18.1":0.03723,"18.2":0.00143},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00061,"5.0-5.1":0,"6.0-6.1":0.00245,"7.0-7.1":0.00306,"8.1-8.4":0,"9.0-9.2":0.00245,"9.3":0.00858,"10.0-10.2":0.00184,"10.3":0.01409,"11.0-11.2":0.16539,"11.3-11.4":0.00429,"12.0-12.1":0.00245,"12.2-12.5":0.06432,"13.0-13.1":0.00123,"13.2":0.01654,"13.3":0.00245,"13.4-13.7":0.00919,"14.0-14.4":0.02021,"14.5-14.8":0.02879,"15.0-15.1":0.01654,"15.2-15.3":0.01531,"15.4":0.01838,"15.5":0.02144,"15.6-15.8":0.2297,"16.0":0.04349,"16.1":0.09188,"16.2":0.04655,"16.3":0.07902,"16.4":0.01593,"16.5":0.03185,"16.6-16.7":0.30137,"17.0":0.02205,"17.1":0.03675,"17.2":0.03063,"17.3":0.04655,"17.4":0.09984,"17.5":0.29831,"17.6-17.7":2.57696,"18.0":0.91391,"18.1":0.80304,"18.2":0.03246},P:{"4":0.0106,"21":0.0106,"22":0.04238,"23":0.02119,"24":0.06358,"25":0.06358,"26":0.36026,"27":0.13775,_:"20 5.0-5.4 6.2-6.4 8.2 10.1 12.0 13.0 14.0 15.0 18.0","7.2-7.4":0.03179,"9.2":0.02119,"11.1-11.2":0.0106,"16.0":0.0106,"17.0":0.0106,"19.0":0.0106},I:{"0":0.05129,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.00179,"11":0.01253,_:"6 7 9 10 5.5"},K:{"0":24.30178,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01713,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00857},O:{"0":0.52259},H:{"0":2.65},L:{"0":55.60993},R:{_:"0"},M:{"0":0.23988}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NI.js deleted file mode 100644 index 264b5b33..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.02249,"52":0.00375,"61":0.04124,"105":0.00375,"114":0.00375,"115":0.12372,"123":0.00375,"124":0.00375,"125":0.00375,"126":0.0075,"127":0.00375,"128":0.015,"129":0.0075,"130":0.00375,"131":0.06373,"132":1.20718,"133":0.11997,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 109 110 111 112 113 116 117 118 119 120 121 122 134 135 136 3.5 3.6"},D:{"55":0.00375,"65":0.00375,"69":0.0075,"70":0.01125,"73":0.0075,"75":0.0075,"76":0.01125,"79":0.03749,"80":0.00375,"81":0.02624,"83":0.02999,"85":0.00375,"86":0.01125,"87":0.04499,"88":0.01125,"89":0.00375,"91":8.13908,"93":0.02999,"94":0.03749,"96":0.015,"98":0.02624,"99":0.04874,"100":0.02249,"101":0.00375,"103":0.04124,"104":0.03749,"106":0.0075,"108":0.00375,"109":1.04597,"110":0.02999,"111":0.01125,"113":0.00375,"114":0.06373,"116":0.04124,"117":0.015,"118":0.00375,"119":0.0075,"120":0.04499,"121":0.01125,"122":0.04499,"123":0.02999,"124":0.07498,"125":0.015,"126":0.08248,"127":0.04499,"128":0.14621,"129":0.5811,"130":10.06607,"131":6.62073,"132":0.00375,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 67 68 71 72 74 77 78 84 90 92 95 97 102 105 107 112 115 133 134"},F:{"46":0.00375,"85":0.0075,"95":0.02999,"113":0.08248,"114":0.91476,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0075,"85":0.00375,"89":0.00375,"92":0.04124,"100":0.00375,"109":0.015,"114":0.01125,"115":0.0075,"119":0.00375,"120":0.00375,"121":0.00375,"122":0.0075,"123":0.00375,"124":0.01125,"125":0.0075,"126":0.01875,"127":0.01875,"128":0.02249,"129":0.06748,"130":2.51558,"131":1.63456,_:"12 13 14 15 16 17 79 80 81 83 84 86 87 88 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 116 117 118"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.4 15.5 16.0 16.4","5.1":0.01875,"13.1":0.0075,"14.1":0.0075,"15.1":0.00375,"15.6":0.07123,"16.1":0.02249,"16.2":0.01125,"16.3":0.03374,"16.5":0.02249,"16.6":0.04874,"17.0":0.07498,"17.1":0.0075,"17.2":0.00375,"17.3":0.015,"17.4":0.06373,"17.5":0.04874,"17.6":0.22869,"18.0":0.15746,"18.1":0.12372,"18.2":0.00375},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00128,"5.0-5.1":0,"6.0-6.1":0.00513,"7.0-7.1":0.00641,"8.1-8.4":0,"9.0-9.2":0.00513,"9.3":0.01794,"10.0-10.2":0.00384,"10.3":0.02948,"11.0-11.2":0.34605,"11.3-11.4":0.00897,"12.0-12.1":0.00513,"12.2-12.5":0.13457,"13.0-13.1":0.00256,"13.2":0.0346,"13.3":0.00513,"13.4-13.7":0.01922,"14.0-14.4":0.04229,"14.5-14.8":0.06024,"15.0-15.1":0.0346,"15.2-15.3":0.03204,"15.4":0.03845,"15.5":0.04486,"15.6-15.8":0.48062,"16.0":0.091,"16.1":0.19225,"16.2":0.09741,"16.3":0.16533,"16.4":0.03332,"16.5":0.06665,"16.6-16.7":0.63058,"17.0":0.04614,"17.1":0.0769,"17.2":0.06408,"17.3":0.09741,"17.4":0.20891,"17.5":0.62417,"17.6-17.7":5.39194,"18.0":1.91224,"18.1":1.68026,"18.2":0.06793},P:{"4":0.10305,"20":0.02061,"21":0.10305,"22":0.13396,"23":0.10305,"24":0.16487,"25":0.09274,"26":1.31899,"27":0.81406,"5.0-5.4":0.0103,"6.2-6.4":0.02061,"7.2-7.4":0.16487,_:"8.2 9.2 10.1 12.0 14.0 15.0 18.0","11.1-11.2":0.02061,"13.0":0.0103,"16.0":0.02061,"17.0":0.02061,"19.0":0.04122},I:{"0":0.02495,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.01875,_:"6 7 8 9 10 5.5"},K:{"0":0.41263,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.06877},H:{"0":0},L:{"0":47.20044},R:{_:"0"},M:{"0":0.13754}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NL.js deleted file mode 100644 index 6ae248e9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"38":0.01011,"43":0.01011,"44":0.05558,"45":0.01011,"51":0.00505,"52":0.01516,"56":0.00505,"60":0.01011,"66":0.00505,"78":0.01011,"81":0.01011,"102":0.01011,"103":0.00505,"108":0.00505,"110":0.00505,"112":0.00505,"113":0.01516,"115":0.22233,"117":0.01516,"118":0.00505,"120":0.00505,"122":0.01516,"123":0.00505,"124":0.01011,"125":0.03032,"126":0.00505,"127":0.01011,"128":0.28802,"129":0.01011,"130":0.02527,"131":0.15159,"132":1.97572,"133":0.24254,"134":0.00505,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 47 48 49 50 53 54 55 57 58 59 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 109 111 114 116 119 121 135 136 3.5 3.6"},D:{"45":0.15664,"47":0.01011,"48":0.10611,"49":0.04548,"52":0.03032,"58":0.01011,"66":0.01011,"72":0.02021,"79":0.01516,"86":0.01011,"87":0.02021,"88":0.01011,"91":0.09095,"92":0.02527,"93":0.01011,"94":0.00505,"96":0.03032,"97":0.00505,"98":0.01011,"101":0.00505,"102":0.01011,"103":0.13138,"104":0.19201,"105":0.01011,"106":0.06569,"107":0.01516,"108":0.03537,"109":0.49014,"110":0.01011,"111":0.01516,"112":0.02021,"113":0.12633,"114":0.15159,"115":0.01011,"116":0.18191,"117":0.02527,"118":0.0859,"119":0.02527,"120":0.04548,"121":0.05053,"122":0.16675,"123":0.10611,"124":0.11117,"125":2.82968,"126":0.82364,"127":0.67205,"128":0.42445,"129":1.47042,"130":13.01148,"131":9.21667,"132":0.01011,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 50 51 53 54 55 56 57 59 60 61 62 63 64 65 67 68 69 70 71 73 74 75 76 77 78 80 81 83 84 85 89 90 95 99 100 133 134"},F:{"46":0.00505,"85":0.02021,"95":0.01516,"102":0.00505,"113":0.06569,"114":0.8388,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00505,"108":0.00505,"109":0.07074,"113":0.00505,"114":0.01011,"115":0.00505,"119":0.01011,"120":0.00505,"121":0.00505,"122":0.01011,"123":0.00505,"124":0.01011,"125":0.01011,"126":0.02527,"127":0.02021,"128":0.06569,"129":0.27792,"130":4.37085,"131":4.1182,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 112 116 117 118"},E:{"8":0.00505,"9":0.01516,"14":0.02021,"15":0.01011,_:"0 4 5 6 7 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00505,"13.1":0.04548,"14.1":0.08085,"15.1":0.01516,"15.2-15.3":0.01011,"15.4":0.01516,"15.5":0.02527,"15.6":0.32339,"16.0":0.03537,"16.1":0.05558,"16.2":0.03032,"16.3":0.08085,"16.4":0.03032,"16.5":0.04548,"16.6":0.42951,"17.0":0.02021,"17.1":0.05053,"17.2":0.05053,"17.3":0.05558,"17.4":0.12127,"17.5":0.30823,"17.6":1.53611,"18.0":0.51541,"18.1":0.77311,"18.2":0.01516},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00168,"5.0-5.1":0,"6.0-6.1":0.00674,"7.0-7.1":0.00842,"8.1-8.4":0,"9.0-9.2":0.00674,"9.3":0.02359,"10.0-10.2":0.00505,"10.3":0.03875,"11.0-11.2":0.45489,"11.3-11.4":0.01179,"12.0-12.1":0.00674,"12.2-12.5":0.1769,"13.0-13.1":0.00337,"13.2":0.04549,"13.3":0.00674,"13.4-13.7":0.02527,"14.0-14.4":0.0556,"14.5-14.8":0.07919,"15.0-15.1":0.04549,"15.2-15.3":0.04212,"15.4":0.05054,"15.5":0.05897,"15.6-15.8":0.6318,"16.0":0.11962,"16.1":0.25272,"16.2":0.12804,"16.3":0.21734,"16.4":0.0438,"16.5":0.08761,"16.6-16.7":0.82892,"17.0":0.06065,"17.1":0.10109,"17.2":0.08424,"17.3":0.12804,"17.4":0.27462,"17.5":0.82049,"17.6-17.7":7.08793,"18.0":2.51371,"18.1":2.20876,"18.2":0.08929},P:{"4":0.01051,"20":0.02102,"21":0.03152,"22":0.03152,"23":0.04203,"24":0.04203,"25":0.05254,"26":2.13303,"27":2.26963,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 16.0","14.0":0.01051,"17.0":0.01051,"18.0":0.01051,"19.0":0.01051},I:{"0":0.0395,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"8":0.00568,"9":0.01137,"11":0.0739,_:"6 7 10 5.5"},K:{"0":0.46501,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01484},O:{"0":0.25235},H:{"0":0.01},L:{"0":26.53893},R:{_:"0"},M:{"0":0.60366}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NO.js deleted file mode 100644 index fb1f7578..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00508,"59":0.04062,"60":0.00508,"78":0.01015,"115":0.15231,"124":0.02031,"125":0.01015,"126":0.00508,"127":0.00508,"128":0.12693,"129":0.00508,"130":0.02031,"131":0.09646,"132":1.56372,"133":0.10154,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 134 135 136 3.5 3.6"},D:{"66":0.1777,"79":0.01015,"86":0.00508,"87":0.02539,"88":0.01523,"89":0.02031,"90":0.00508,"91":0.00508,"92":0.00508,"93":0.01015,"94":0.00508,"95":0.00508,"97":0.00508,"98":0.00508,"102":0.04062,"103":0.04569,"104":0.00508,"105":0.00508,"106":0.01015,"107":0.01015,"108":0.01015,"109":0.31477,"110":0.00508,"111":0.00508,"112":0.00508,"113":0.13708,"114":0.15739,"115":0.00508,"116":0.20308,"117":0.01015,"118":8.51921,"119":0.02539,"120":0.02031,"121":0.07616,"122":0.11677,"123":0.07616,"124":0.09139,"125":0.30462,"126":0.23354,"127":0.14216,"128":0.47216,"129":1.6551,"130":13.23066,"131":6.58995,"132":0.00508,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 85 96 99 100 101 133 134"},F:{"85":0.01015,"94":0.00508,"95":0.01523,"108":0.00508,"112":0.00508,"113":0.18277,"114":1.56372,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.02031,"92":0.00508,"107":0.00508,"109":0.06092,"110":0.00508,"114":0.00508,"115":0.01015,"119":0.00508,"121":0.01015,"122":0.01015,"123":0.00508,"124":0.01015,"125":0.00508,"126":0.01523,"127":0.01015,"128":0.02539,"129":0.18277,"130":3.84329,"131":2.4065,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 111 112 113 116 117 118 120"},E:{"14":0.01523,"15":0.00508,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.03046,"12.1":0.01015,"13.1":0.03046,"14.1":0.066,"15.1":0.02031,"15.2-15.3":0.01015,"15.4":0.05585,"15.5":0.03554,"15.6":0.31477,"16.0":0.02539,"16.1":0.06092,"16.2":0.04569,"16.3":0.12185,"16.4":0.066,"16.5":0.06092,"16.6":0.5077,"17.0":0.04062,"17.1":0.07108,"17.2":0.08123,"17.3":0.07108,"17.4":0.21323,"17.5":0.53816,"17.6":2.14757,"18.0":0.75647,"18.1":0.99509,"18.2":0.01523},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00293,"5.0-5.1":0,"6.0-6.1":0.01171,"7.0-7.1":0.01464,"8.1-8.4":0,"9.0-9.2":0.01171,"9.3":0.04099,"10.0-10.2":0.00878,"10.3":0.06735,"11.0-11.2":0.79061,"11.3-11.4":0.0205,"12.0-12.1":0.01171,"12.2-12.5":0.30746,"13.0-13.1":0.00586,"13.2":0.07906,"13.3":0.01171,"13.4-13.7":0.04392,"14.0-14.4":0.09663,"14.5-14.8":0.13763,"15.0-15.1":0.07906,"15.2-15.3":0.07321,"15.4":0.08785,"15.5":0.10249,"15.6-15.8":1.09808,"16.0":0.2079,"16.1":0.43923,"16.2":0.22254,"16.3":0.37774,"16.4":0.07613,"16.5":0.15227,"16.6-16.7":1.44067,"17.0":0.10542,"17.1":0.17569,"17.2":0.14641,"17.3":0.22254,"17.4":0.4773,"17.5":1.42603,"17.6-17.7":12.31894,"18.0":4.36887,"18.1":3.83887,"18.2":0.15519},P:{"4":0.03132,"21":0.01044,"22":0.01044,"23":0.01044,"24":0.02088,"25":0.03132,"26":1.50326,"27":1.57634,_:"20 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","5.0-5.4":0.01044},I:{"0":0.01474,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.00508,_:"6 7 8 9 10 5.5"},K:{"0":0.21169,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01477},H:{"0":0},L:{"0":16.14606},R:{_:"0"},M:{"0":0.35446}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NP.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NP.js deleted file mode 100644 index 7a4c7986..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NP.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.01914,"65":0.00239,"99":0.00718,"100":0.00239,"103":0.00479,"115":0.13162,"122":0.00239,"123":0.00479,"126":0.00239,"127":0.00718,"128":0.00718,"129":0.00479,"130":0.00957,"131":0.04307,"132":0.82319,"133":0.09811,"134":0.00239,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 101 102 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 124 125 135 136 3.5 3.6"},D:{"73":0.00239,"74":0.00239,"76":0.00239,"79":0.00718,"83":0.00239,"86":0.00239,"87":0.00957,"88":0.00239,"91":0.00239,"92":0.00239,"93":0.00479,"94":0.00718,"96":0.00239,"98":0.00239,"99":0.00239,"100":0.00239,"103":0.0335,"106":0.01197,"107":0.00239,"108":0.00479,"109":1.37598,"110":0.00239,"111":0.00239,"112":0.00239,"114":0.00718,"115":0.00239,"116":0.03829,"117":0.00479,"118":0.00957,"119":0.00718,"120":0.02393,"121":0.01197,"122":0.05025,"123":0.02393,"124":0.04068,"125":0.04547,"126":0.05983,"127":0.05025,"128":0.08615,"129":0.21537,"130":9.27048,"131":7.52599,"132":0.05983,"133":0.00239,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 75 77 78 80 81 84 85 89 90 95 97 101 102 104 105 113 134"},F:{"34":0.00239,"85":0.00718,"86":0.00239,"95":0.01914,"113":0.00718,"114":0.2728,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00479,"109":0.01197,"120":0.00239,"121":0.00239,"122":0.00479,"124":0.00479,"125":0.00479,"126":0.00718,"127":0.00718,"128":0.00718,"129":0.01914,"130":0.90216,"131":0.74183,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 123"},E:{"13":0.00239,"14":0.00239,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00239,"13.1":0.00718,"14.1":0.01197,"15.1":0.00239,"15.2-15.3":0.00239,"15.4":0.00239,"15.5":0.00479,"15.6":0.02872,"16.0":0.00239,"16.1":0.01197,"16.2":0.00239,"16.3":0.00718,"16.4":0.00479,"16.5":0.00479,"16.6":0.05504,"17.0":0.00479,"17.1":0.00718,"17.2":0.00718,"17.3":0.00718,"17.4":0.01436,"17.5":0.03111,"17.6":0.1029,"18.0":0.08615,"18.1":0.09333,"18.2":0.00718},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0009,"5.0-5.1":0,"6.0-6.1":0.00362,"7.0-7.1":0.00452,"8.1-8.4":0,"9.0-9.2":0.00362,"9.3":0.01266,"10.0-10.2":0.00271,"10.3":0.0208,"11.0-11.2":0.24418,"11.3-11.4":0.00633,"12.0-12.1":0.00362,"12.2-12.5":0.09496,"13.0-13.1":0.00181,"13.2":0.02442,"13.3":0.00362,"13.4-13.7":0.01357,"14.0-14.4":0.02984,"14.5-14.8":0.0425,"15.0-15.1":0.02442,"15.2-15.3":0.02261,"15.4":0.02713,"15.5":0.03165,"15.6-15.8":0.33913,"16.0":0.06421,"16.1":0.13565,"16.2":0.06873,"16.3":0.11666,"16.4":0.02351,"16.5":0.04703,"16.6-16.7":0.44494,"17.0":0.03256,"17.1":0.05426,"17.2":0.04522,"17.3":0.06873,"17.4":0.14741,"17.5":0.44042,"17.6-17.7":3.80461,"18.0":1.3493,"18.1":1.18561,"18.2":0.04793},P:{"4":0.04206,"21":0.01051,"22":0.01051,"23":0.02103,"24":0.01051,"25":0.01051,"26":0.2944,"27":0.2944,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.01051,"17.0":0.01051},I:{"0":0.02277,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.00479,_:"6 7 8 9 10 5.5"},K:{"0":0.60848,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.97357},H:{"0":0},L:{"0":65.65068},R:{_:"0"},M:{"0":0.06085}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NR.js deleted file mode 100644 index 8055a0a0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"131":0.0272,"132":0.16549,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 133 134 135 136 3.5 3.6"},D:{"129":0.0272,"130":3.77002,"131":0.63249,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 132 133 134"},F:{"114":0.05441,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"130":1.12897,"131":0.41259,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129"},E:{"14":12.18739,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.4 16.5 17.0 17.1 17.2 17.3 17.4 17.6 18.0 18.1 18.2","16.3":0.08161,"16.6":0.05441,"17.5":0.08161},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0001,"5.0-5.1":0,"6.0-6.1":0.00042,"7.0-7.1":0.00052,"8.1-8.4":0,"9.0-9.2":0.00042,"9.3":0.00146,"10.0-10.2":0.00031,"10.3":0.0024,"11.0-11.2":0.02819,"11.3-11.4":0.00073,"12.0-12.1":0.00042,"12.2-12.5":0.01096,"13.0-13.1":0.00021,"13.2":0.00282,"13.3":0.00042,"13.4-13.7":0.00157,"14.0-14.4":0.00345,"14.5-14.8":0.00491,"15.0-15.1":0.00282,"15.2-15.3":0.00261,"15.4":0.00313,"15.5":0.00365,"15.6-15.8":0.03915,"16.0":0.00741,"16.1":0.01566,"16.2":0.00793,"16.3":0.01347,"16.4":0.00271,"16.5":0.00543,"16.6-16.7":0.05136,"17.0":0.00376,"17.1":0.00626,"17.2":0.00522,"17.3":0.00793,"17.4":0.01702,"17.5":0.05084,"17.6-17.7":0.43919,"18.0":0.15576,"18.1":0.13686,"18.2":0.00553},P:{"24":0.06636,"26":0.79632,"27":0.08848,_:"4 20 21 22 23 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.30932},H:{"0":0},L:{"0":79.00803},R:{_:"0"},M:{"0":0.03093}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NU.js deleted file mode 100644 index 372aefe9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 3.5 3.6"},D:{_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.2-15.3 15.4 15.5 15.6 16.0 16.4 16.5 17.0 17.1 17.3 18.0 18.2","15.1":0.1168,"16.1":0.80755,"16.2":0.46051,"16.3":0.6941,"16.6":5.77301,"17.2":0.23025,"17.4":0.6941,"17.5":3.46381,"17.6":18.36017,"18.1":0.34705},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00666,"5.0-5.1":0,"6.0-6.1":0.02665,"7.0-7.1":0.03332,"8.1-8.4":0,"9.0-9.2":0.02665,"9.3":0.09328,"10.0-10.2":0.01999,"10.3":0.15325,"11.0-11.2":1.79901,"11.3-11.4":0.04664,"12.0-12.1":0.02665,"12.2-12.5":0.69962,"13.0-13.1":0.01333,"13.2":0.1799,"13.3":0.02665,"13.4-13.7":0.09995,"14.0-14.4":0.21988,"14.5-14.8":0.31316,"15.0-15.1":0.1799,"15.2-15.3":0.16658,"15.4":0.19989,"15.5":0.23321,"15.6-15.8":2.49863,"16.0":0.47307,"16.1":0.99945,"16.2":0.50639,"16.3":0.85953,"16.4":0.17324,"16.5":0.34648,"16.6-16.7":3.2782,"17.0":0.23987,"17.1":0.39978,"17.2":0.33315,"17.3":0.50639,"17.4":1.08607,"17.5":3.24488,"17.6-17.7":28.03124,"18.0":9.9412,"18.1":8.73519,"18.2":0.35314},P:{_:"4 20 21 22 23 24 25 26 27 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{_:"0"},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NZ.js deleted file mode 100644 index a287dc48..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/NZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"37":0.00433,"48":0.00433,"50":0.00433,"51":0.00433,"52":0.02599,"53":0.00433,"54":0.00433,"55":0.00433,"56":0.00433,"78":0.03032,"88":0.00433,"102":0.013,"103":0.00433,"113":0.00866,"115":0.17328,"120":0.00433,"122":0.02166,"124":0.00433,"125":0.00866,"126":0.00433,"127":0.02599,"128":0.04765,"129":0.00866,"130":0.01733,"131":0.15162,"132":1.7458,"133":0.14296,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 49 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 112 114 116 117 118 119 121 123 134 135 136 3.5 3.6"},D:{"34":0.00433,"38":0.05632,"39":0.02166,"40":0.02166,"41":0.02166,"42":0.02166,"43":0.02166,"44":0.02166,"45":0.02166,"46":0.02166,"47":0.02166,"48":0.02166,"49":0.02599,"50":0.02166,"51":0.02166,"52":0.03032,"53":0.02599,"54":0.02166,"55":0.02166,"56":0.02166,"57":0.02166,"58":0.02166,"59":0.03466,"60":0.02166,"61":0.00866,"65":0.00433,"66":0.00433,"72":0.00433,"76":0.013,"77":0.00433,"79":0.04765,"81":0.00433,"83":0.00433,"85":0.00433,"86":0.00433,"87":0.03032,"88":0.01733,"90":0.09964,"91":0.00866,"92":0.00433,"93":0.02599,"94":0.03466,"95":0.00866,"96":0.00433,"97":0.00866,"98":0.00866,"99":0.00866,"100":0.00433,"101":0.00433,"102":0.00433,"103":0.19927,"104":0.00866,"105":0.00433,"106":0.00433,"107":0.01733,"108":0.02166,"109":0.5285,"110":0.013,"111":0.00866,"112":0.01733,"113":0.19061,"114":0.2166,"115":0.00433,"116":0.25992,"117":0.02166,"118":0.00866,"119":0.03466,"120":0.06065,"121":0.05198,"122":0.14729,"123":0.04765,"124":0.10397,"125":0.06931,"126":0.2166,"127":0.15162,"128":0.48085,"129":1.58118,"130":14.7288,"131":6.84023,"132":0.02599,"133":0.00433,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 62 63 64 67 68 69 70 71 73 74 75 78 80 84 89 134"},F:{"42":0.00433,"45":0.00433,"46":0.01733,"85":0.00433,"86":0.00866,"95":0.01733,"109":0.00433,"110":0.00433,"112":0.00866,"113":0.06931,"114":0.6628,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00433,"105":0.00433,"109":0.02599,"111":0.00433,"113":0.013,"114":0.00433,"117":0.00433,"119":0.00433,"120":0.00866,"121":0.00866,"122":0.00433,"123":0.00433,"124":0.00433,"125":0.00433,"126":0.03466,"127":0.02166,"128":0.03032,"129":0.18628,"130":3.38762,"131":2.18766,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 110 112 115 116 118"},E:{"13":0.00433,"14":0.04765,"15":0.00433,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00866,"13.1":0.09097,"14.1":0.1083,"15.1":0.02166,"15.2-15.3":0.02166,"15.4":0.02166,"15.5":0.05198,"15.6":0.43753,"16.0":0.07364,"16.1":0.08664,"16.2":0.03899,"16.3":0.1083,"16.4":0.02166,"16.5":0.05198,"16.6":0.58915,"17.0":0.013,"17.1":0.05198,"17.2":0.04765,"17.3":0.06931,"17.4":0.0953,"17.5":0.32923,"17.6":2.10535,"18.0":0.44186,"18.1":0.71478,"18.2":0.013},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00133,"5.0-5.1":0,"6.0-6.1":0.0053,"7.0-7.1":0.00663,"8.1-8.4":0,"9.0-9.2":0.0053,"9.3":0.01856,"10.0-10.2":0.00398,"10.3":0.03049,"11.0-11.2":0.35795,"11.3-11.4":0.00928,"12.0-12.1":0.0053,"12.2-12.5":0.1392,"13.0-13.1":0.00265,"13.2":0.0358,"13.3":0.0053,"13.4-13.7":0.01989,"14.0-14.4":0.04375,"14.5-14.8":0.06231,"15.0-15.1":0.0358,"15.2-15.3":0.03314,"15.4":0.03977,"15.5":0.0464,"15.6-15.8":0.49715,"16.0":0.09413,"16.1":0.19886,"16.2":0.10076,"16.3":0.17102,"16.4":0.03447,"16.5":0.06894,"16.6-16.7":0.65227,"17.0":0.04773,"17.1":0.07954,"17.2":0.06629,"17.3":0.10076,"17.4":0.2161,"17.5":0.64564,"17.6-17.7":5.57741,"18.0":1.97801,"18.1":1.73805,"18.2":0.07026},P:{"4":0.10639,"20":0.01064,"21":0.03192,"22":0.02128,"23":0.02128,"24":0.03192,"25":0.03192,"26":1.23414,"27":1.04263,"5.0-5.4":0.02128,"6.2-6.4":0.02128,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 18.0 19.0","16.0":0.01064,"17.0":0.01064},I:{"0":0.01697,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.0953,_:"6 7 8 9 10 5.5"},K:{"0":0.15304,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00567},O:{"0":0.04534},H:{"0":0},L:{"0":40.39487},R:{_:"0"},M:{"0":0.46478}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/OM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/OM.js deleted file mode 100644 index f968bae8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/OM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00157,"66":0.00157,"68":0.00157,"111":0.00157,"115":0.01888,"127":0.00157,"128":0.00157,"130":0.00157,"131":0.01573,"132":0.18561,"133":0.0173,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 113 114 116 117 118 119 120 121 122 123 124 125 126 129 134 135 136 3.5 3.6"},D:{"11":0.00157,"38":0.01258,"49":0.00157,"56":0.00157,"58":0.13842,"59":0.00157,"65":0.00157,"66":0.00157,"68":0.00472,"69":0.00315,"70":0.00157,"73":0.00472,"74":0.00157,"75":0.01258,"76":0.00315,"78":0.00157,"79":0.0236,"80":0.00157,"81":0.00157,"83":0.0236,"85":0.00157,"86":0.00472,"87":0.01888,"88":0.01416,"89":0.00315,"90":0.00629,"91":0.00787,"93":0.03146,"94":0.00944,"95":0.01101,"96":0.00157,"98":0.02831,"99":0.00315,"100":0.00157,"101":0.00157,"102":0.00315,"103":0.16045,"104":0.00157,"105":0.00629,"106":0.00472,"107":0.00472,"108":0.00315,"109":0.53482,"110":0.0173,"111":0.00787,"112":0.00629,"113":0.00629,"114":0.03618,"115":0.00315,"116":0.02045,"117":0.00157,"118":0.00315,"119":0.05977,"120":0.01101,"121":0.00629,"122":0.05663,"123":0.0173,"124":0.05034,"125":0.02045,"126":0.0755,"127":0.03933,"128":0.07079,"129":0.18876,"130":5.97111,"131":4.05991,"132":0.01416,"133":0.00157,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 57 60 61 62 63 64 67 71 72 77 84 92 97 134"},F:{"36":0.00157,"46":0.00315,"85":0.00629,"95":0.00315,"113":0.00629,"114":0.16674,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00157,"92":0.00472,"94":0.00157,"100":0.00315,"106":0.00157,"109":0.02202,"114":0.00157,"116":0.00157,"117":0.00157,"118":0.00157,"119":0.00315,"120":0.00157,"122":0.00157,"124":0.00315,"125":0.00472,"126":0.00315,"127":0.00315,"128":0.00944,"129":0.03303,"130":0.76291,"131":0.52066,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 95 96 97 98 99 101 102 103 104 105 107 108 110 111 112 113 115 121 123"},E:{"14":0.00629,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.00944,"14.1":0.01416,"15.1":0.00157,"15.2-15.3":0.00157,"15.4":0.00472,"15.5":0.00472,"15.6":0.05034,"16.0":0.00157,"16.1":0.02045,"16.2":0.00472,"16.3":0.00944,"16.4":0.00629,"16.5":0.01258,"16.6":0.04719,"17.0":0.00157,"17.1":0.00629,"17.2":0.00629,"17.3":0.01416,"17.4":0.0236,"17.5":0.08022,"17.6":0.20134,"18.0":0.06607,"18.1":0.07079,"18.2":0.00157},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00213,"5.0-5.1":0,"6.0-6.1":0.00852,"7.0-7.1":0.01065,"8.1-8.4":0,"9.0-9.2":0.00852,"9.3":0.02981,"10.0-10.2":0.00639,"10.3":0.04898,"11.0-11.2":0.57497,"11.3-11.4":0.01491,"12.0-12.1":0.00852,"12.2-12.5":0.2236,"13.0-13.1":0.00426,"13.2":0.0575,"13.3":0.00852,"13.4-13.7":0.03194,"14.0-14.4":0.07027,"14.5-14.8":0.10009,"15.0-15.1":0.0575,"15.2-15.3":0.05324,"15.4":0.06389,"15.5":0.07453,"15.6-15.8":0.79856,"16.0":0.15119,"16.1":0.31943,"16.2":0.16184,"16.3":0.27471,"16.4":0.05537,"16.5":0.11073,"16.6-16.7":1.04772,"17.0":0.07666,"17.1":0.12777,"17.2":0.10648,"17.3":0.16184,"17.4":0.34711,"17.5":1.03707,"17.6-17.7":8.95882,"18.0":3.17722,"18.1":2.79178,"18.2":0.11286},P:{"4":0.01041,"20":0.01041,"21":0.06247,"22":0.07288,"23":0.06247,"24":0.08329,"25":0.07288,"26":1.22857,"27":1.00993,"5.0-5.4":0.01041,"6.2-6.4":0.01041,"7.2-7.4":0.08329,_:"8.2 10.1 12.0 15.0 18.0","9.2":0.01041,"11.1-11.2":0.03123,"13.0":0.02082,"14.0":0.02082,"16.0":0.02082,"17.0":0.03123,"19.0":0.02082},I:{"0":0.05045,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.00944,_:"6 7 8 9 10 5.5"},K:{"0":0.44663,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.5309},H:{"0":0},L:{"0":60.09279},R:{_:"0"},M:{"0":0.12641}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PA.js deleted file mode 100644 index 2c49ce06..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.04186,"34":0.00381,"78":0.00761,"92":0.00381,"97":0.02664,"107":0.01142,"115":0.04186,"117":0.00381,"120":0.03805,"125":0.03044,"126":0.00381,"127":0.00381,"128":0.03044,"129":0.00381,"130":0.00381,"131":0.03425,"132":0.85613,"133":0.07991,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 93 94 95 96 98 99 100 101 102 103 104 105 106 108 109 110 111 112 113 114 116 118 119 121 122 123 124 134 135 136 3.5 3.6"},D:{"11":0.00381,"43":0.00381,"45":0.00381,"46":0.00381,"47":0.00761,"49":0.00381,"51":0.00381,"56":0.00381,"62":0.00381,"67":0.00381,"69":0.00761,"70":0.00761,"73":0.01142,"74":0.00761,"75":0.00381,"76":0.00381,"78":0.00761,"79":0.11035,"81":0.00761,"83":0.17123,"85":0.02283,"86":0.00761,"87":0.1484,"88":0.09132,"89":0.03044,"90":0.00381,"91":0.03425,"92":0.00381,"93":0.01522,"94":0.03805,"95":0.00381,"98":0.01142,"99":0.00381,"100":0.04566,"101":0.00761,"102":0.00381,"103":0.03805,"104":0.00381,"105":0.01522,"106":0.00761,"107":0.00381,"108":0.02283,"109":0.67349,"110":0.12176,"111":0.05708,"112":0.05327,"113":0.02283,"114":0.04186,"115":0.00381,"116":0.20547,"117":0.00381,"118":0.00761,"119":0.01142,"120":0.08371,"121":0.04947,"122":0.17123,"123":0.05708,"124":0.13318,"125":0.04947,"126":0.10654,"127":0.49465,"128":0.15981,"129":0.64305,"130":11.9439,"131":7.80786,"132":0.00761,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 48 50 52 53 54 55 57 58 59 60 61 63 64 65 66 68 71 72 77 80 84 96 97 133 134"},F:{"46":0.02664,"85":0.01142,"91":0.01522,"95":0.02664,"102":0.00381,"110":0.01142,"113":0.20928,"114":2.11939,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00381,"92":0.01522,"100":0.00381,"106":0.01142,"109":0.02664,"114":0.00381,"120":0.00381,"121":0.01142,"122":0.00761,"123":0.00381,"124":0.00761,"125":0.01522,"126":0.03805,"127":0.06469,"128":0.05327,"129":0.09132,"130":3.09727,"131":2.45042,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 107 108 110 111 112 113 115 116 117 118 119"},E:{"9":0.00761,"14":0.00381,_:"0 4 5 6 7 8 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1","5.1":0.01522,"13.1":0.03044,"14.1":0.02283,"15.1":0.00761,"15.2-15.3":0.00381,"15.4":0.00761,"15.5":0.00761,"15.6":0.08371,"16.0":0.00761,"16.1":0.04566,"16.2":0.01522,"16.3":0.04947,"16.4":0.12937,"16.5":0.02664,"16.6":0.12176,"17.0":0.00381,"17.1":0.01142,"17.2":0.01903,"17.3":0.01522,"17.4":0.08752,"17.5":0.23591,"17.6":0.64685,"18.0":0.27016,"18.1":0.46421,"18.2":0.00761},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00161,"5.0-5.1":0,"6.0-6.1":0.00644,"7.0-7.1":0.00805,"8.1-8.4":0,"9.0-9.2":0.00644,"9.3":0.02254,"10.0-10.2":0.00483,"10.3":0.03703,"11.0-11.2":0.43472,"11.3-11.4":0.01127,"12.0-12.1":0.00644,"12.2-12.5":0.16906,"13.0-13.1":0.00322,"13.2":0.04347,"13.3":0.00644,"13.4-13.7":0.02415,"14.0-14.4":0.05313,"14.5-14.8":0.07567,"15.0-15.1":0.04347,"15.2-15.3":0.04025,"15.4":0.0483,"15.5":0.05635,"15.6-15.8":0.60378,"16.0":0.11432,"16.1":0.24151,"16.2":0.12237,"16.3":0.2077,"16.4":0.04186,"16.5":0.08372,"16.6-16.7":0.79216,"17.0":0.05796,"17.1":0.0966,"17.2":0.0805,"17.3":0.12237,"17.4":0.26244,"17.5":0.78411,"17.6-17.7":6.77361,"18.0":2.40224,"18.1":2.11082,"18.2":0.08533},P:{"4":0.1038,"20":0.01038,"21":0.04152,"22":0.17647,"23":0.04152,"24":0.07266,"25":0.04152,"26":1.60895,"27":1.22488,_:"5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 15.0 16.0 18.0","6.2-6.4":0.01038,"7.2-7.4":0.11418,"13.0":0.01038,"14.0":0.01038,"17.0":0.01038,"19.0":0.01038},I:{"0":0.06181,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"8":0.01142,"9":0.00381,"10":0.00381,"11":0.01903,_:"6 7 5.5"},K:{"0":0.18585,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.02478},O:{"0":0.06195},H:{"0":0},L:{"0":42.97432},R:{_:"0"},M:{"0":0.28497}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PE.js deleted file mode 100644 index f8b05c18..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.05548,"52":0.00555,"78":0.0111,"88":0.07212,"103":0.00555,"110":0.00555,"115":0.09432,"120":0.00555,"122":0.00555,"123":0.0111,"125":0.00555,"127":0.00555,"128":0.01664,"129":0.00555,"130":0.0111,"131":0.07212,"132":0.89323,"133":0.09986,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 111 112 113 114 116 117 118 119 121 124 126 134 135 136 3.5 3.6"},D:{"34":0.00555,"38":0.0111,"47":0.0111,"49":0.01664,"62":0.0111,"65":0.00555,"70":0.00555,"72":0.00555,"76":0.0111,"79":0.11096,"80":0.01664,"81":0.00555,"85":0.00555,"86":0.00555,"87":0.09432,"88":0.01664,"91":0.01664,"92":0.00555,"93":0.01664,"94":0.04438,"95":0.01664,"96":0.00555,"98":0.00555,"100":0.0111,"101":0.00555,"102":0.00555,"103":0.03329,"104":0.0111,"105":0.00555,"106":0.01664,"107":0.01664,"108":0.01664,"109":2.01392,"110":0.02774,"111":0.02219,"112":0.00555,"113":0.00555,"114":0.02219,"115":0.0111,"116":0.08322,"117":0.0111,"118":0.0111,"119":0.03329,"120":0.05548,"121":0.16644,"122":0.18863,"123":0.09432,"124":0.18863,"125":0.07767,"126":0.18308,"127":0.11096,"128":0.27185,"129":0.74898,"130":23.98955,"131":15.56769,"132":0.01664,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 55 56 57 58 59 60 61 63 64 66 67 68 69 71 73 74 75 77 78 83 84 89 90 97 99 133 134"},F:{"46":0.00555,"95":0.03329,"113":0.21082,"114":2.99037,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00555,"92":0.0111,"100":0.00555,"109":0.02219,"114":0.00555,"119":0.00555,"120":0.00555,"121":0.00555,"122":0.01664,"123":0.02774,"124":0.00555,"125":0.00555,"126":0.02219,"127":0.0111,"128":0.02219,"129":0.06103,"130":2.38564,"131":1.60337,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118"},E:{"12":0.00555,_:"0 4 5 6 7 8 9 10 11 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 17.0","5.1":0.0111,"13.1":0.00555,"14.1":0.0111,"15.1":0.00555,"15.4":0.02774,"15.5":0.00555,"15.6":0.04993,"16.0":0.00555,"16.1":0.0111,"16.2":0.00555,"16.3":0.0111,"16.4":0.0111,"16.5":0.00555,"16.6":0.04438,"17.1":0.02219,"17.2":0.0111,"17.3":0.0111,"17.4":0.02774,"17.5":0.04993,"17.6":0.20528,"18.0":0.11651,"18.1":0.14425,"18.2":0.00555},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00047,"5.0-5.1":0,"6.0-6.1":0.00187,"7.0-7.1":0.00234,"8.1-8.4":0,"9.0-9.2":0.00187,"9.3":0.00654,"10.0-10.2":0.0014,"10.3":0.01074,"11.0-11.2":0.12609,"11.3-11.4":0.00327,"12.0-12.1":0.00187,"12.2-12.5":0.04904,"13.0-13.1":0.00093,"13.2":0.01261,"13.3":0.00187,"13.4-13.7":0.00701,"14.0-14.4":0.01541,"14.5-14.8":0.02195,"15.0-15.1":0.01261,"15.2-15.3":0.01168,"15.4":0.01401,"15.5":0.01635,"15.6-15.8":0.17513,"16.0":0.03316,"16.1":0.07005,"16.2":0.03549,"16.3":0.06024,"16.4":0.01214,"16.5":0.02428,"16.6-16.7":0.22977,"17.0":0.01681,"17.1":0.02802,"17.2":0.02335,"17.3":0.03549,"17.4":0.07612,"17.5":0.22744,"17.6-17.7":1.96473,"18.0":0.69679,"18.1":0.61226,"18.2":0.02475},P:{"4":0.13609,"21":0.01047,"22":0.11515,"23":0.02094,"24":0.04187,"25":0.04187,"26":0.36639,"27":0.28264,_:"20 8.2 9.2 10.1 12.0 14.0 15.0 16.0 18.0","5.0-5.4":0.01047,"6.2-6.4":0.01047,"7.2-7.4":0.04187,"11.1-11.2":0.0314,"13.0":0.02094,"17.0":0.02094,"19.0":0.01047},I:{"0":0.01777,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.03329,_:"6 7 8 9 10 5.5"},K:{"0":0.19144,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00445},O:{"0":0.02671},H:{"0":0},L:{"0":39.15879},R:{_:"0"},M:{"0":0.16918}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PF.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PF.js deleted file mode 100644 index d29496e3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"67":0.00192,"75":0.00575,"78":0.00575,"82":0.00383,"88":0.00192,"94":0.00192,"99":0.00383,"103":0.00959,"104":0.00383,"105":0.00192,"115":0.36231,"116":0.023,"121":0.00767,"122":0.00575,"125":0.00192,"126":0.00192,"127":0.023,"128":0.11694,"129":0.00767,"130":0.00575,"131":0.10927,"132":2.02627,"133":0.17636,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 76 77 79 80 81 83 84 85 86 87 89 90 91 92 93 95 96 97 98 100 101 102 106 107 108 109 110 111 112 113 114 117 118 119 120 123 124 134 135 136 3.5 3.6"},D:{"57":0.00192,"70":0.00192,"79":0.00959,"81":0.00383,"85":0.01342,"87":0.01917,"88":0.00192,"89":0.00192,"94":0.00192,"95":0.00192,"98":0.00192,"100":0.00192,"102":0.00575,"103":0.09777,"104":0.00383,"106":0.00383,"109":0.22046,"110":0.00575,"111":0.00192,"112":0.00767,"114":0.00192,"116":0.07093,"117":0.00192,"119":0.0115,"120":0.023,"121":0.01342,"122":0.00767,"123":0.00959,"124":0.13419,"125":0.01917,"126":0.023,"127":0.02684,"128":0.08435,"129":0.47158,"130":3.4391,"131":2.27548,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 80 83 84 86 90 91 92 93 96 97 99 101 105 107 108 113 115 118 132 133 134"},F:{"46":0.00575,"81":0.00192,"95":0.00192,"102":0.00192,"106":0.02109,"109":0.00192,"113":0.0115,"114":0.42557,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 107 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00192,"90":0.00192,"100":0.00575,"109":0.00192,"120":0.00192,"122":0.00383,"124":0.00192,"126":0.00767,"127":0.00575,"128":0.01917,"129":0.08051,"130":1.41475,"131":1.29014,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 121 123 125"},E:{"14":0.02492,"15":0.00192,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00192,"13.1":0.02684,"14.1":0.05368,"15.1":0.01534,"15.2-15.3":0.0115,"15.4":0.08818,"15.5":0.0115,"15.6":0.12652,"16.0":0.00959,"16.1":0.0786,"16.2":0.03067,"16.3":0.07476,"16.4":0.03834,"16.5":0.06518,"16.6":0.80131,"17.0":0.01342,"17.1":0.05943,"17.2":0.09202,"17.3":0.12269,"17.4":0.2032,"17.5":0.28755,"17.6":1.63137,"18.0":0.18978,"18.1":0.34314,"18.2":0.00192},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00131,"5.0-5.1":0,"6.0-6.1":0.00522,"7.0-7.1":0.00653,"8.1-8.4":0,"9.0-9.2":0.00522,"9.3":0.01829,"10.0-10.2":0.00392,"10.3":0.03004,"11.0-11.2":0.35268,"11.3-11.4":0.00914,"12.0-12.1":0.00522,"12.2-12.5":0.13715,"13.0-13.1":0.00261,"13.2":0.03527,"13.3":0.00522,"13.4-13.7":0.01959,"14.0-14.4":0.04311,"14.5-14.8":0.06139,"15.0-15.1":0.03527,"15.2-15.3":0.03266,"15.4":0.03919,"15.5":0.04572,"15.6-15.8":0.48983,"16.0":0.09274,"16.1":0.19593,"16.2":0.09927,"16.3":0.1685,"16.4":0.03396,"16.5":0.06792,"16.6-16.7":0.64266,"17.0":0.04702,"17.1":0.07837,"17.2":0.06531,"17.3":0.09927,"17.4":0.21291,"17.5":0.63613,"17.6-17.7":5.49524,"18.0":1.94887,"18.1":1.71244,"18.2":0.06923},P:{"21":0.01027,"22":0.06159,"23":0.01027,"24":0.05133,"25":0.02053,"26":0.97521,"27":0.89309,_:"4 20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.01027,"7.2-7.4":0.02053},I:{"0":0.2097,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00027},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.14549,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":65.88282},R:{_:"0"},M:{"0":0.27482}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PG.js deleted file mode 100644 index 3ae0b45a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"6":0.00283,"56":0.00283,"98":0.00283,"104":0.00567,"106":0.00283,"109":0.00283,"110":0.03966,"112":0.00283,"114":0.00567,"115":0.0255,"118":0.00283,"119":0.02833,"122":0.00283,"123":0.00283,"127":0.06233,"128":0.0085,"129":0.00567,"130":0.0085,"131":0.08499,"132":0.90656,"133":0.03116,_:"2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 105 107 108 111 113 116 117 120 121 124 125 126 134 135 136 3.5 3.6"},D:{"18":0.00283,"37":0.00283,"43":0.00567,"49":0.00567,"56":0.00283,"61":0.00283,"65":0.0085,"66":0.00567,"67":0.01417,"68":0.00283,"69":0.00567,"70":0.05949,"73":0.0085,"76":0.00283,"77":0.00567,"78":0.00283,"79":0.00567,"81":0.00567,"83":0.0085,"85":0.00283,"87":0.0085,"88":0.04816,"89":0.00283,"90":0.00567,"91":0.0085,"94":0.00567,"95":0.00283,"97":0.00283,"99":0.03966,"100":0.01417,"101":0.00283,"102":0.00283,"103":0.02266,"104":0.00283,"105":0.01133,"106":0.00567,"107":0.0255,"108":0.00567,"109":0.60343,"111":0.03116,"112":0.00567,"113":0.16715,"114":0.01983,"115":0.00567,"116":0.017,"117":0.017,"118":0.01133,"119":0.22664,"120":0.14165,"121":0.05099,"122":0.034,"123":0.02266,"124":0.04816,"125":0.03683,"126":0.07083,"127":0.11332,"128":0.10765,"129":0.30313,"130":5.76799,"131":2.91232,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 62 63 64 71 72 74 75 80 84 86 92 93 96 98 110 132 133 134"},F:{"75":0.0085,"84":0.0085,"85":0.06799,"86":0.0085,"95":0.00567,"112":0.0085,"113":0.01417,"114":0.67142,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00283,"13":0.0085,"15":0.02266,"16":0.00567,"17":0.00283,"18":0.0255,"80":0.00283,"84":0.00567,"89":0.01983,"90":0.01133,"92":0.07649,"95":0.00283,"100":0.03683,"105":0.00283,"109":0.00283,"111":0.09916,"114":0.02266,"116":0.0085,"117":0.00283,"119":0.01983,"120":0.01417,"121":0.01417,"122":0.01983,"123":0.017,"124":0.017,"125":0.02266,"126":0.0425,"127":0.04816,"128":0.06516,"129":0.24364,"130":2.60069,"131":1.68847,_:"14 79 81 83 85 86 87 88 91 93 94 96 97 98 99 101 102 103 104 106 107 108 110 112 113 115 118"},E:{"11":0.00283,"13":0.00283,"14":0.00283,_:"0 4 5 6 7 8 9 10 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.5 16.0 16.2","13.1":0.02266,"14.1":0.01417,"15.1":0.00567,"15.4":0.01133,"15.6":0.02266,"16.1":0.00283,"16.3":0.00283,"16.4":0.00283,"16.5":0.02833,"16.6":0.01417,"17.0":0.00567,"17.1":0.00283,"17.2":0.00283,"17.3":0.00567,"17.4":0.017,"17.5":0.0255,"17.6":0.05949,"18.0":0.02833,"18.1":0.01417,"18.2":0.00283},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00026,"5.0-5.1":0,"6.0-6.1":0.00103,"7.0-7.1":0.00129,"8.1-8.4":0,"9.0-9.2":0.00103,"9.3":0.0036,"10.0-10.2":0.00077,"10.3":0.00592,"11.0-11.2":0.06947,"11.3-11.4":0.0018,"12.0-12.1":0.00103,"12.2-12.5":0.02702,"13.0-13.1":0.00051,"13.2":0.00695,"13.3":0.00103,"13.4-13.7":0.00386,"14.0-14.4":0.00849,"14.5-14.8":0.01209,"15.0-15.1":0.00695,"15.2-15.3":0.00643,"15.4":0.00772,"15.5":0.00901,"15.6-15.8":0.09649,"16.0":0.01827,"16.1":0.03859,"16.2":0.01955,"16.3":0.03319,"16.4":0.00669,"16.5":0.01338,"16.6-16.7":0.12659,"17.0":0.00926,"17.1":0.01544,"17.2":0.01286,"17.3":0.01955,"17.4":0.04194,"17.5":0.1253,"17.6-17.7":1.08244,"18.0":0.38388,"18.1":0.33731,"18.2":0.01364},P:{"4":0.02041,"20":0.04082,"21":0.10205,"22":0.35719,"23":0.10205,"24":0.46945,"25":0.23473,"26":1.16342,"27":0.38781,_:"5.0-5.4 8.2 9.2 10.1 12.0","6.2-6.4":0.01021,"7.2-7.4":0.09185,"11.1-11.2":0.01021,"13.0":0.05103,"14.0":0.02041,"15.0":0.01021,"16.0":0.01021,"17.0":0.01021,"18.0":0.01021,"19.0":0.05103},I:{"0":0.22884,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00007,"4.4":0,"4.4.3-4.4.4":0.0003},A:{"11":0.02266,_:"6 7 8 9 10 5.5"},K:{"0":0.67953,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00717,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0215},O:{"0":0.78837},H:{"0":0.03},L:{"0":73.03017},R:{_:"0"},M:{"0":0.15767}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PH.js deleted file mode 100644 index 5c5ace3e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00105,"56":0.01991,"59":0.00105,"60":0.00105,"66":0.00105,"78":0.00105,"103":0.00105,"111":0.0021,"115":0.02096,"123":0.00105,"124":0.00105,"127":0.0021,"128":0.06812,"129":0.00105,"130":0.00314,"131":0.01153,"132":0.20226,"133":0.01467,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 112 113 114 116 117 118 119 120 121 122 125 126 134 135 136 3.5 3.6"},D:{"49":0.00105,"56":0.00105,"66":0.00419,"70":0.00105,"73":0.0021,"74":0.00105,"75":0.00105,"76":0.0021,"78":0.0021,"79":0.00943,"80":0.00105,"81":0.00105,"83":0.00524,"84":0.00105,"85":0.00105,"86":0.00105,"87":0.01991,"88":0.00838,"89":0.00105,"90":0.00105,"91":0.00524,"92":0.00105,"93":0.00734,"94":0.01048,"95":0.00105,"96":0.00105,"97":0.00105,"98":0.00105,"99":0.00105,"100":0.00105,"101":0.00105,"102":0.00314,"103":0.08698,"104":0.0021,"105":0.00314,"106":0.0021,"107":0.0021,"108":0.00419,"109":0.19702,"110":0.0021,"111":0.00524,"112":0.00314,"113":0.00314,"114":0.01467,"115":0.0021,"116":0.0241,"117":0.00734,"118":0.00524,"119":0.00838,"120":0.01677,"121":0.01153,"122":0.02725,"123":0.01886,"124":0.02096,"125":0.02201,"126":0.05764,"127":0.0283,"128":0.07546,"129":0.16034,"130":4.1658,"131":2.50472,"132":0.00734,"133":0.00105,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 63 64 65 67 68 69 71 72 77 134"},F:{"46":0.0021,"85":0.00314,"95":0.0021,"107":0.00105,"113":0.0262,"114":0.32802,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00105,"18":0.00105,"92":0.0021,"100":0.00105,"109":0.00419,"114":0.0021,"117":0.00105,"118":0.00105,"119":0.00105,"120":0.00105,"121":0.00105,"122":0.00105,"124":0.0021,"125":0.00105,"126":0.00314,"127":0.00419,"128":0.00943,"129":0.01886,"130":0.71893,"131":0.47265,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 123"},E:{"13":0.00314,"14":0.00314,"15":0.00105,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00105,"12.1":0.00105,"13.1":0.00314,"14.1":0.00838,"15.1":0.00524,"15.2-15.3":0.0021,"15.4":0.0021,"15.5":0.00314,"15.6":0.02306,"16.0":0.0021,"16.1":0.00524,"16.2":0.00419,"16.3":0.00734,"16.4":0.0021,"16.5":0.00419,"16.6":0.02725,"17.0":0.00314,"17.1":0.00419,"17.2":0.00524,"17.3":0.00629,"17.4":0.01362,"17.5":0.02934,"17.6":0.11004,"18.0":0.08384,"18.1":0.06393,"18.2":0.00419},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00017,"5.0-5.1":0,"6.0-6.1":0.00067,"7.0-7.1":0.00084,"8.1-8.4":0,"9.0-9.2":0.00067,"9.3":0.00236,"10.0-10.2":0.0005,"10.3":0.00387,"11.0-11.2":0.04544,"11.3-11.4":0.00118,"12.0-12.1":0.00067,"12.2-12.5":0.01767,"13.0-13.1":0.00034,"13.2":0.00454,"13.3":0.00067,"13.4-13.7":0.00252,"14.0-14.4":0.00555,"14.5-14.8":0.00791,"15.0-15.1":0.00454,"15.2-15.3":0.00421,"15.4":0.00505,"15.5":0.00589,"15.6-15.8":0.06311,"16.0":0.01195,"16.1":0.02524,"16.2":0.01279,"16.3":0.02171,"16.4":0.00438,"16.5":0.00875,"16.6-16.7":0.0828,"17.0":0.00606,"17.1":0.0101,"17.2":0.00841,"17.3":0.01279,"17.4":0.02743,"17.5":0.08196,"17.6-17.7":0.70803,"18.0":0.2511,"18.1":0.22064,"18.2":0.00892},P:{"4":0.0236,"26":0.118,"27":0.1062,_:"20 21 22 23 24 25 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.0118},I:{"0":0.13398,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00017},A:{"11":0.00524,_:"6 7 8 9 10 5.5"},K:{"0":0.09847,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.08057},H:{"0":0},L:{"0":87.57378},R:{_:"0"},M:{"0":0.02686}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PK.js deleted file mode 100644 index 1baf21f0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"44":0.00263,"47":0.00263,"52":0.00525,"56":0.00263,"72":0.00263,"102":0.00263,"103":0.00788,"105":0.00525,"106":0.00263,"107":0.00525,"108":0.00525,"109":0.00525,"110":0.00788,"111":0.00525,"112":0.00525,"113":0.00263,"115":0.18126,"123":0.00263,"125":0.00263,"126":0.00263,"127":0.00788,"128":0.01051,"129":0.00263,"130":0.00525,"131":0.02102,"132":0.3993,"133":0.03678,"134":0.00263,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 48 49 50 51 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 114 116 117 118 119 120 121 122 124 135 136 3.5 3.6"},D:{"38":0.00263,"43":0.00263,"48":0.00263,"49":0.00263,"50":0.00263,"56":0.00788,"58":0.00263,"62":0.00263,"63":0.00263,"64":0.00263,"65":0.00525,"66":0.00263,"68":0.01051,"69":0.00525,"70":0.00525,"71":0.00525,"72":0.00525,"73":0.00788,"74":0.01314,"75":0.01051,"76":0.01051,"77":0.01576,"78":0.00525,"79":0.00788,"80":0.01314,"81":0.01051,"83":0.00788,"84":0.00788,"85":0.01314,"86":0.01051,"87":0.01051,"88":0.00525,"89":0.01051,"90":0.00525,"91":0.01314,"92":0.00525,"93":0.0289,"94":0.00525,"95":0.01051,"96":0.00525,"97":0.00525,"98":0.00525,"99":0.00263,"100":0.00263,"101":0.00263,"102":0.01314,"103":0.12084,"104":0.02102,"105":0.02102,"106":0.06568,"107":0.10508,"108":0.09457,"109":2.35905,"110":0.04991,"111":0.05517,"112":0.05254,"113":0.00263,"114":0.01051,"115":0.00263,"116":0.02364,"117":0.00525,"118":0.01314,"119":0.03152,"120":0.03152,"121":0.02364,"122":0.0289,"123":0.02627,"124":0.05779,"125":0.04203,"126":0.11296,"127":0.06305,"128":0.09983,"129":0.29422,"130":9.41517,"131":6.5675,"132":0.01839,"133":0.00525,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 51 52 53 54 55 57 59 60 61 67 134"},F:{"79":0.00263,"83":0.00263,"84":0.00263,"85":0.02364,"86":0.01051,"90":0.00263,"91":0.00263,"92":0.00263,"93":0.00263,"94":0.00525,"95":0.05779,"113":0.01051,"114":0.56218,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 87 88 89 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00525,"14":0.00263,"15":0.00263,"16":0.00263,"17":0.00263,"18":0.01051,"84":0.00263,"89":0.00263,"90":0.00263,"92":0.02627,"95":0.00263,"100":0.00263,"103":0.00263,"105":0.00263,"106":0.00788,"107":0.01314,"108":0.01314,"109":0.02364,"110":0.01051,"111":0.00788,"112":0.00263,"114":0.01314,"120":0.00263,"122":0.00525,"124":0.00263,"125":0.00263,"126":0.0289,"127":0.00525,"128":0.01051,"129":0.0289,"130":0.65675,"131":0.45184,_:"13 79 80 81 83 85 86 87 88 91 93 94 96 97 98 99 101 102 104 113 115 116 117 118 119 121 123"},E:{"14":0.00788,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 10.1 11.1 12.1 15.4 16.4 18.2","9.1":0.00788,"13.1":0.00525,"14.1":0.00525,"15.1":0.00263,"15.2-15.3":0.00263,"15.5":0.00263,"15.6":0.01839,"16.0":0.00263,"16.1":0.00263,"16.2":0.00788,"16.3":0.00525,"16.5":0.00263,"16.6":0.0289,"17.0":0.00263,"17.1":0.00525,"17.2":0.00263,"17.3":0.00788,"17.4":0.01576,"17.5":0.01314,"17.6":0.05517,"18.0":0.03152,"18.1":0.03415},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00026,"5.0-5.1":0,"6.0-6.1":0.00103,"7.0-7.1":0.00129,"8.1-8.4":0,"9.0-9.2":0.00103,"9.3":0.00361,"10.0-10.2":0.00077,"10.3":0.00594,"11.0-11.2":0.06967,"11.3-11.4":0.00181,"12.0-12.1":0.00103,"12.2-12.5":0.0271,"13.0-13.1":0.00052,"13.2":0.00697,"13.3":0.00103,"13.4-13.7":0.00387,"14.0-14.4":0.00852,"14.5-14.8":0.01213,"15.0-15.1":0.00697,"15.2-15.3":0.00645,"15.4":0.00774,"15.5":0.00903,"15.6-15.8":0.09677,"16.0":0.01832,"16.1":0.03871,"16.2":0.01961,"16.3":0.03329,"16.4":0.00671,"16.5":0.01342,"16.6-16.7":0.12696,"17.0":0.00929,"17.1":0.01548,"17.2":0.0129,"17.3":0.01961,"17.4":0.04206,"17.5":0.12567,"17.6-17.7":1.08564,"18.0":0.38502,"18.1":0.33831,"18.2":0.01368},P:{"4":0.06267,"20":0.01045,"21":0.01045,"22":0.02089,"23":0.02089,"24":0.03134,"25":0.03134,"26":0.35513,"27":0.26113,_:"5.0-5.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","6.2-6.4":0.01045,"7.2-7.4":0.02089,"9.2":0.01045,"17.0":0.02089,"19.0":0.01045},I:{"0":0.08828,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"8":0.0028,"9":0.0028,"11":0.0811,_:"6 7 10 5.5"},K:{"0":1.42206,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.08848,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":4.04778},H:{"0":0.2},L:{"0":67.08345},R:{_:"0"},M:{"0":0.06636}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PL.js deleted file mode 100644 index caeacf26..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.03286,"68":0.00411,"78":0.00411,"88":0.01643,"91":0.00411,"102":0.00411,"103":0.00411,"110":0.00411,"112":0.00411,"113":0.00411,"114":0.00411,"115":0.43956,"116":0.00411,"120":0.00411,"121":0.00411,"122":0.00411,"123":0.00822,"124":0.00411,"125":0.00822,"126":0.01232,"127":0.02465,"128":0.12324,"129":0.01232,"130":0.02876,"131":0.16432,"132":3.46715,"133":0.34507,"134":0.00411,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 111 117 118 119 135 136 3.5 3.6"},D:{"49":0.00411,"58":0.00411,"73":0.00822,"76":0.00411,"79":0.43545,"85":0.00411,"87":0.01643,"88":0.00411,"89":0.01232,"90":0.00411,"91":0.00411,"92":0.00411,"93":0.00411,"94":0.00822,"95":0.03286,"97":0.00411,"99":0.11913,"101":0.00411,"102":0.00822,"103":0.01643,"104":1.03111,"105":0.00411,"106":0.00822,"107":0.00411,"108":0.01232,"109":0.69425,"110":0.00411,"111":0.04108,"112":0.00411,"113":0.02465,"114":0.02876,"115":0.00411,"116":0.03697,"117":0.01232,"118":0.01643,"119":0.01232,"120":0.02876,"121":0.02465,"122":0.08627,"123":0.09038,"124":0.04108,"125":0.03697,"126":0.07805,"127":0.0493,"128":0.09859,"129":0.47653,"130":11.11625,"131":6.92198,"132":0.00822,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 74 75 77 78 80 81 83 84 86 96 98 100 133 134"},F:{"79":0.00411,"80":0.00411,"83":0.00411,"84":0.00411,"85":0.1027,"86":0.00822,"94":0.00411,"95":0.13146,"102":0.00411,"109":0.00822,"110":0.00411,"111":0.00411,"112":0.00822,"113":0.68604,"114":7.8586,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 81 82 87 88 89 90 91 92 93 96 97 98 99 100 101 103 104 105 106 107 108 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.00411,"109":0.06984,"114":0.00411,"119":0.00411,"120":0.00822,"121":0.00411,"122":0.00411,"123":0.00411,"124":0.00411,"125":0.00411,"126":0.01232,"127":0.00822,"128":0.01232,"129":0.06573,"130":1.80752,"131":1.20775,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118"},E:{"13":0.00411,"14":0.00411,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","13.1":0.00822,"14.1":0.01232,"15.1":0.00411,"15.4":0.00411,"15.5":0.00411,"15.6":0.03697,"16.0":0.01643,"16.1":0.01232,"16.2":0.00822,"16.3":0.01232,"16.4":0.00411,"16.5":0.01643,"16.6":0.0534,"17.0":0.01643,"17.1":0.01643,"17.2":0.02054,"17.3":0.01643,"17.4":0.04108,"17.5":0.09038,"17.6":0.24237,"18.0":0.16843,"18.1":0.20951,"18.2":0.01232},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00095,"5.0-5.1":0,"6.0-6.1":0.00379,"7.0-7.1":0.00473,"8.1-8.4":0,"9.0-9.2":0.00379,"9.3":0.01326,"10.0-10.2":0.00284,"10.3":0.02178,"11.0-11.2":0.25565,"11.3-11.4":0.00663,"12.0-12.1":0.00379,"12.2-12.5":0.09942,"13.0-13.1":0.00189,"13.2":0.02556,"13.3":0.00379,"13.4-13.7":0.0142,"14.0-14.4":0.03125,"14.5-14.8":0.0445,"15.0-15.1":0.02556,"15.2-15.3":0.02367,"15.4":0.02841,"15.5":0.03314,"15.6-15.8":0.35507,"16.0":0.06723,"16.1":0.14203,"16.2":0.07196,"16.3":0.12214,"16.4":0.02462,"16.5":0.04924,"16.6-16.7":0.46585,"17.0":0.03409,"17.1":0.05681,"17.2":0.04734,"17.3":0.07196,"17.4":0.15434,"17.5":0.46111,"17.6-17.7":3.98337,"18.0":1.41269,"18.1":1.24131,"18.2":0.05018},P:{"20":0.01028,"21":0.01028,"22":0.03085,"23":0.03085,"24":0.03085,"25":0.04113,"26":1.36769,"27":1.22373,_:"4 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.01176,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.01027,"11":0.01027,_:"6 7 9 10 5.5"},K:{"0":3.10508,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.08249},H:{"0":0},L:{"0":43.65144},R:{_:"0"},M:{"0":0.74828}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PM.js deleted file mode 100644 index 918ba4eb..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.06245,"128":0.45158,"129":0.0048,"131":0.0048,"132":1.49404,"133":0.12971,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 130 134 135 136 3.5 3.6"},D:{"103":0.00961,"109":0.05284,"114":0.0048,"120":0.0048,"127":0.07686,"128":0.04324,"129":0.37471,"130":2.23866,"131":0.65334,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 110 111 112 113 115 116 117 118 119 121 122 123 124 125 126 132 133 134"},F:{"84":0.02882,"113":0.03363,"114":0.02402,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"124":0.00961,"128":0.01922,"129":0.01922,"130":0.6053,"131":0.50442,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 125 126 127"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 14.1 15.4 15.5 16.0","13.1":0.0048,"15.1":0.32667,"15.2-15.3":0.0048,"15.6":1.06168,"16.1":0.28824,"16.2":0.37952,"16.3":0.68697,"16.4":1.02325,"16.5":0.4852,"16.6":4.71753,"17.0":0.34108,"17.1":0.68697,"17.2":0.9608,"17.3":0.46118,"17.4":1.70542,"17.5":3.54535,"17.6":18.39452,"18.0":1.14816,"18.1":1.70062,"18.2":0.0048},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00481,"5.0-5.1":0,"6.0-6.1":0.01922,"7.0-7.1":0.02403,"8.1-8.4":0,"9.0-9.2":0.01922,"9.3":0.06729,"10.0-10.2":0.01442,"10.3":0.11054,"11.0-11.2":1.29767,"11.3-11.4":0.03364,"12.0-12.1":0.01922,"12.2-12.5":0.50465,"13.0-13.1":0.00961,"13.2":0.12977,"13.3":0.01922,"13.4-13.7":0.07209,"14.0-14.4":0.1586,"14.5-14.8":0.22589,"15.0-15.1":0.12977,"15.2-15.3":0.12015,"15.4":0.14419,"15.5":0.16822,"15.6-15.8":1.80232,"16.0":0.34124,"16.1":0.72093,"16.2":0.36527,"16.3":0.62,"16.4":0.12496,"16.5":0.24992,"16.6-16.7":2.36464,"17.0":0.17302,"17.1":0.28837,"17.2":0.24031,"17.3":0.36527,"17.4":0.78341,"17.5":2.34061,"17.6-17.7":20.21962,"18.0":7.17083,"18.1":6.30091,"18.2":0.25473},P:{"26":0.17068,"27":0.032,_:"4 20 21 22 23 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.0052,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":3.64113},R:{_:"0"},M:{"0":0.02079}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PN.js deleted file mode 100644 index e87c13d1..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 3.5 3.6"},D:{"130":52.94572,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 131 132 133 134"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"130":5.88214,"131":5.88214,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.2 17.3 17.4 17.5 17.6 18.0 18.1 18.2"},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00118,"5.0-5.1":0,"6.0-6.1":0.00471,"7.0-7.1":0.00588,"8.1-8.4":0,"9.0-9.2":0.00471,"9.3":0.01647,"10.0-10.2":0.00353,"10.3":0.02706,"11.0-11.2":0.31767,"11.3-11.4":0.00824,"12.0-12.1":0.00471,"12.2-12.5":0.12354,"13.0-13.1":0.00235,"13.2":0.03177,"13.3":0.00471,"13.4-13.7":0.01765,"14.0-14.4":0.03883,"14.5-14.8":0.0553,"15.0-15.1":0.03177,"15.2-15.3":0.02941,"15.4":0.0353,"15.5":0.04118,"15.6-15.8":0.44121,"16.0":0.08353,"16.1":0.17648,"16.2":0.08942,"16.3":0.15177,"16.4":0.03059,"16.5":0.06118,"16.6-16.7":0.57886,"17.0":0.04236,"17.1":0.07059,"17.2":0.05883,"17.3":0.08942,"17.4":0.19178,"17.5":0.57298,"17.6-17.7":4.94974,"18.0":1.75541,"18.1":1.54246,"18.2":0.06236},P:{_:"4 20 21 22 23 24 25 26 27 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":23.53451},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PR.js deleted file mode 100644 index 4008d28a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00331,"78":0.00662,"94":0.00662,"115":0.08606,"125":0.01986,"127":0.00331,"128":0.02317,"129":0.00331,"130":0.06951,"131":0.1324,"132":1.30083,"133":0.07944,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"56":0.00331,"65":0.00331,"76":0.00331,"79":0.01324,"84":0.00331,"85":0.00331,"87":0.04634,"89":0.00662,"93":0.00993,"94":0.01655,"95":0.00331,"98":0.00662,"99":0.00662,"101":0.01986,"103":0.06289,"105":0.00331,"107":0.00331,"108":0.00331,"109":0.28797,"110":0.00331,"111":0.00662,"112":0.00331,"113":0.04634,"114":0.00331,"115":0.00993,"116":0.0662,"117":0.00331,"118":0.05296,"119":0.01324,"120":0.01986,"121":0.00662,"122":0.06951,"123":0.02317,"124":0.11916,"125":0.02317,"126":0.0993,"127":0.0662,"128":0.47995,"129":0.87053,"130":9.6983,"131":4.29969,"132":0.01986,"133":0.00662,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 77 78 80 81 83 86 88 90 91 92 96 97 100 102 104 106 134"},F:{"73":0.00331,"85":0.01324,"95":0.00331,"112":0.00331,"113":0.06951,"114":1.03272,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00331,"18":0.00662,"89":0.00662,"92":0.00662,"97":0.00331,"100":0.00331,"109":0.01324,"115":0.00331,"116":0.00331,"118":0.00331,"119":0.00331,"120":0.00331,"121":0.00331,"122":0.00662,"123":0.00331,"124":0.00993,"125":0.03641,"126":0.00662,"127":0.01655,"128":0.0331,"129":0.18205,"130":4.16398,"131":2.54208,_:"12 13 14 15 17 79 80 81 83 84 85 86 87 88 90 91 93 94 95 96 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 117"},E:{"8":0.00662,"13":0.00331,"14":0.01986,"15":0.00331,_:"0 4 5 6 7 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.01986,"14.1":0.06951,"15.1":0.04303,"15.2-15.3":0.05296,"15.4":0.01324,"15.5":0.05296,"15.6":0.25487,"16.0":0.00993,"16.1":0.03641,"16.2":0.02979,"16.3":0.12909,"16.4":0.01655,"16.5":0.05958,"16.6":0.25818,"17.0":0.08275,"17.1":0.03972,"17.2":0.06951,"17.3":0.11254,"17.4":0.20853,"17.5":0.2979,"17.6":1.42661,"18.0":0.50974,"18.1":0.84736,"18.2":0.03641},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00317,"5.0-5.1":0,"6.0-6.1":0.01268,"7.0-7.1":0.01585,"8.1-8.4":0,"9.0-9.2":0.01268,"9.3":0.04437,"10.0-10.2":0.00951,"10.3":0.07289,"11.0-11.2":0.85564,"11.3-11.4":0.02218,"12.0-12.1":0.01268,"12.2-12.5":0.33275,"13.0-13.1":0.00634,"13.2":0.08556,"13.3":0.01268,"13.4-13.7":0.04754,"14.0-14.4":0.10458,"14.5-14.8":0.14895,"15.0-15.1":0.08556,"15.2-15.3":0.07923,"15.4":0.09507,"15.5":0.11092,"15.6-15.8":1.18839,"16.0":0.225,"16.1":0.47536,"16.2":0.24085,"16.3":0.40881,"16.4":0.0824,"16.5":0.16479,"16.6-16.7":1.55917,"17.0":0.11409,"17.1":0.19014,"17.2":0.15845,"17.3":0.24085,"17.4":0.51656,"17.5":1.54333,"17.6-17.7":13.33221,"18.0":4.72823,"18.1":4.15463,"18.2":0.16796},P:{"4":0.07299,"21":0.01043,"22":0.01043,"23":0.03128,"24":0.04171,"25":0.1147,"26":1.76222,"27":1.25128,_:"20 5.0-5.4 7.2-7.4 8.2 9.2 10.1 12.0 14.0 15.0 19.0","6.2-6.4":0.01043,"11.1-11.2":0.01043,"13.0":0.01043,"16.0":0.01043,"17.0":0.01043,"18.0":0.03128},I:{"0":0.00668,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.00331,_:"6 7 8 9 10 5.5"},K:{"0":0.26091,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00669},H:{"0":0},L:{"0":32.29884},R:{_:"0"},M:{"0":0.2676}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PS.js deleted file mode 100644 index da70592f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"39":0.00094,"70":0.00094,"91":0.00094,"103":0.00094,"111":0.00094,"113":0.00094,"115":0.02735,"116":0.00094,"117":0.00094,"118":0.00189,"122":0.00094,"123":0.00283,"125":0.00094,"126":0.00094,"127":0.00472,"128":0.00283,"129":0.00189,"130":0.00189,"131":0.01226,"132":0.25744,"133":0.02829,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 112 114 119 120 121 124 134 135 136 3.5 3.6"},D:{"26":0.00189,"38":0.00472,"46":0.00094,"47":0.00094,"49":0.00094,"58":0.00189,"61":0.00094,"63":0.00094,"66":0.00094,"69":0.00094,"70":0.00094,"71":0.00283,"72":0.00094,"73":0.00094,"75":0.00094,"77":0.03395,"78":0.02075,"79":0.01697,"80":0.00094,"81":0.00283,"83":0.01509,"85":0.00283,"86":0.00189,"87":0.00943,"88":0.00094,"89":0.00566,"90":0.00283,"91":0.00189,"92":0.00377,"93":0.00189,"94":0.0066,"95":0.01415,"96":0.00094,"97":0.01037,"98":0.00377,"99":0.00094,"100":0.0198,"101":0.00094,"102":0.00189,"103":0.00849,"104":0.00189,"105":0.00189,"106":0.00283,"107":0.00566,"108":0.00472,"109":0.42341,"110":0.00472,"111":0.00472,"112":0.01226,"113":0.00283,"114":0.00566,"115":0.00283,"116":0.01509,"117":0.0679,"118":0.01037,"119":0.01603,"120":0.00754,"121":0.02358,"122":0.04338,"123":0.03489,"124":0.02735,"125":0.01603,"126":0.02829,"127":0.03206,"128":0.05187,"129":0.15842,"130":3.47118,"131":2.4584,"132":0.00094,"133":0.00094,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 48 50 51 52 53 54 55 56 57 59 60 62 64 65 67 68 74 76 84 134"},F:{"46":0.00566,"64":0.00094,"85":0.00283,"95":0.00283,"102":0.00094,"103":0.00189,"104":0.00094,"112":0.00094,"113":0.0132,"114":0.21218,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00094,"13":0.00189,"16":0.00094,"18":0.00283,"84":0.00094,"86":0.00094,"89":0.00094,"92":0.01132,"100":0.00189,"102":0.00094,"103":0.00094,"107":0.00283,"108":0.00189,"109":0.00566,"110":0.00094,"111":0.00094,"112":0.00189,"113":0.00283,"114":0.00189,"115":0.00094,"116":0.00472,"117":0.01603,"118":0.00283,"119":0.00094,"120":0.00094,"121":0.00094,"122":0.00283,"123":0.00094,"124":0.00283,"125":0.00283,"126":0.00094,"127":0.00849,"128":0.00943,"129":0.02358,"130":0.4781,"131":0.33382,_:"14 15 17 79 80 81 83 85 87 88 90 91 93 94 95 96 97 98 99 101 104 105 106"},E:{"12":0.00094,"14":0.00094,_:"0 4 5 6 7 8 9 10 11 13 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1 18.2","5.1":0.00094,"11.1":0.00094,"13.1":0.00189,"14.1":0.00377,"15.1":0.00189,"15.2-15.3":0.00094,"15.4":0.00094,"15.5":0.00377,"15.6":0.01509,"16.0":0.00189,"16.1":0.00754,"16.2":0.00472,"16.3":0.01226,"16.4":0.00283,"16.5":0.00377,"16.6":0.02829,"17.0":0.0066,"17.1":0.00377,"17.2":0.00189,"17.3":0.00472,"17.4":0.01037,"17.5":0.01697,"17.6":0.07073,"18.0":0.04904,"18.1":0.04904},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00067,"5.0-5.1":0,"6.0-6.1":0.00269,"7.0-7.1":0.00336,"8.1-8.4":0,"9.0-9.2":0.00269,"9.3":0.00941,"10.0-10.2":0.00202,"10.3":0.01546,"11.0-11.2":0.18147,"11.3-11.4":0.0047,"12.0-12.1":0.00269,"12.2-12.5":0.07057,"13.0-13.1":0.00134,"13.2":0.01815,"13.3":0.00269,"13.4-13.7":0.01008,"14.0-14.4":0.02218,"14.5-14.8":0.03159,"15.0-15.1":0.01815,"15.2-15.3":0.0168,"15.4":0.02016,"15.5":0.02352,"15.6-15.8":0.25204,"16.0":0.04772,"16.1":0.10082,"16.2":0.05108,"16.3":0.0867,"16.4":0.01747,"16.5":0.03495,"16.6-16.7":0.33067,"17.0":0.0242,"17.1":0.04033,"17.2":0.03361,"17.3":0.05108,"17.4":0.10955,"17.5":0.32731,"17.6-17.7":2.82754,"18.0":1.00278,"18.1":0.88113,"18.2":0.03562},P:{"4":0.0406,"20":0.0406,"21":0.10151,"22":0.32482,"23":0.16241,"24":0.11166,"25":0.28422,"26":1.24854,"27":0.54814,_:"5.0-5.4 6.2-6.4 8.2 10.1 12.0","7.2-7.4":0.03045,"9.2":0.01015,"11.1-11.2":0.0406,"13.0":0.03045,"14.0":0.03045,"15.0":0.0203,"16.0":0.03045,"17.0":0.05075,"18.0":0.03045,"19.0":0.0609},I:{"0":0.05423,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.00849,_:"6 7 8 9 10 5.5"},K:{"0":0.30703,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01812},H:{"0":0.01},L:{"0":80.58313},R:{_:"0"},M:{"0":0.03623}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PT.js deleted file mode 100644 index 52032150..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00647,"78":0.01295,"102":0.00647,"103":0.00647,"113":0.00647,"115":0.18124,"118":0.01942,"124":0.00647,"125":0.01942,"126":0.00647,"127":0.00647,"128":0.03884,"129":0.00647,"130":0.01295,"131":0.16183,"132":1.94837,"133":0.14888,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 112 114 116 117 119 120 121 122 123 134 135 136 3.5 3.6"},D:{"38":0.00647,"49":0.00647,"79":0.04531,"81":0.00647,"87":0.03884,"88":0.00647,"89":0.02589,"91":0.01942,"94":0.01942,"95":0.00647,"100":0.00647,"101":0.00647,"102":0.00647,"103":0.05826,"104":0.01942,"106":0.01295,"107":0.01295,"108":0.01942,"109":1.01626,"110":0.00647,"111":0.01295,"112":0.00647,"113":0.03884,"114":0.03884,"115":0.00647,"116":0.28481,"117":0.52431,"118":0.00647,"119":0.03237,"120":0.04531,"121":0.03237,"122":0.19419,"123":0.05826,"124":0.12946,"125":0.0712,"126":0.20714,"127":0.08415,"128":0.3366,"129":1.7024,"130":28.85663,"131":14.32475,"132":0.01295,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 83 84 85 86 90 92 93 96 97 98 99 105 133 134"},F:{"46":0.00647,"79":0.01942,"81":0.00647,"85":0.00647,"89":0.00647,"95":0.01942,"102":0.01942,"113":0.45311,"114":3.65725,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 82 83 84 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"85":0.00647,"91":0.00647,"92":0.00647,"101":0.00647,"107":0.00647,"109":0.05178,"120":0.01295,"121":0.00647,"122":0.01295,"123":0.01295,"124":0.01295,"125":0.01942,"126":0.03237,"127":0.01295,"128":0.03237,"129":0.24597,"130":3.34654,"131":2.13609,_:"12 13 14 15 16 17 18 79 80 81 83 84 86 87 88 89 90 93 94 95 96 97 98 99 100 102 103 104 105 106 108 110 111 112 113 114 115 116 117 118 119"},E:{"14":0.00647,"15":0.00647,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.05178,"14.1":0.08415,"15.1":0.01295,"15.2-15.3":0.00647,"15.4":0.01295,"15.5":0.01942,"15.6":0.10357,"16.0":0.01295,"16.1":0.03884,"16.2":0.01942,"16.3":0.04531,"16.4":0.01942,"16.5":0.03237,"16.6":0.19419,"17.0":0.02589,"17.1":0.02589,"17.2":0.03884,"17.3":0.03237,"17.4":0.0971,"17.5":0.25245,"17.6":0.63435,"18.0":0.41427,"18.1":0.45311,"18.2":0.01942},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00091,"5.0-5.1":0,"6.0-6.1":0.00363,"7.0-7.1":0.00453,"8.1-8.4":0,"9.0-9.2":0.00363,"9.3":0.01269,"10.0-10.2":0.00272,"10.3":0.02085,"11.0-11.2":0.24481,"11.3-11.4":0.00635,"12.0-12.1":0.00363,"12.2-12.5":0.0952,"13.0-13.1":0.00181,"13.2":0.02448,"13.3":0.00363,"13.4-13.7":0.0136,"14.0-14.4":0.02992,"14.5-14.8":0.04261,"15.0-15.1":0.02448,"15.2-15.3":0.02267,"15.4":0.0272,"15.5":0.03173,"15.6-15.8":0.34001,"16.0":0.06438,"16.1":0.136,"16.2":0.06891,"16.3":0.11696,"16.4":0.02357,"16.5":0.04715,"16.6-16.7":0.44609,"17.0":0.03264,"17.1":0.0544,"17.2":0.04533,"17.3":0.06891,"17.4":0.14779,"17.5":0.44156,"17.6-17.7":3.81447,"18.0":1.35279,"18.1":1.18868,"18.2":0.04805},P:{"4":0.05256,"21":0.01051,"22":0.03154,"23":0.01051,"24":0.02102,"25":0.02102,"26":0.73587,"27":0.64126,_:"20 5.0-5.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0 18.0 19.0","6.2-6.4":0.01051,"13.0":0.02102},I:{"0":0.04224,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.05178,_:"6 7 8 9 10 5.5"},K:{"0":0.24343,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.07409},H:{"0":0},L:{"0":24.20667},R:{_:"0"},M:{"0":0.22579}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PW.js deleted file mode 100644 index a7f9d444..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.00825,"131":0.11829,"132":0.8198,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 133 134 135 136 3.5 3.6"},D:{"79":0.00825,"83":0.00825,"86":1.68086,"94":0.01651,"103":0.01651,"106":0.00825,"109":0.8363,"114":0.00825,"116":0.07153,"118":0.00825,"120":0.02476,"123":0.00825,"124":0.16506,"126":0.03851,"127":0.01651,"128":0.07153,"129":0.86106,"130":11.14705,"131":3.46626,"133":0.28335,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 84 85 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 104 105 107 108 110 111 112 113 115 117 119 121 122 125 132 134"},F:{"113":0.03026,"114":0.25309,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"88":0.00825,"116":0.01651,"128":0.02476,"129":0.07153,"130":2.43188,"131":1.1059,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 117 118 119 120 121 122 123 124 125 126 127"},E:{"14":0.00825,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 16.1 16.2 17.0 17.3","13.1":0.04677,"14.1":0.11829,"15.5":0.17331,"15.6":0.03851,"16.0":0.01651,"16.3":0.02476,"16.4":0.04677,"16.5":0.03026,"16.6":0.2751,"17.1":0.00825,"17.2":0.03026,"17.4":0.00825,"17.5":0.21183,"17.6":0.29161,"18.0":0.29161,"18.1":1.16092,"18.2":0.05502},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00135,"5.0-5.1":0,"6.0-6.1":0.00539,"7.0-7.1":0.00674,"8.1-8.4":0,"9.0-9.2":0.00539,"9.3":0.01887,"10.0-10.2":0.00404,"10.3":0.03101,"11.0-11.2":0.36399,"11.3-11.4":0.00944,"12.0-12.1":0.00539,"12.2-12.5":0.14155,"13.0-13.1":0.0027,"13.2":0.0364,"13.3":0.00539,"13.4-13.7":0.02022,"14.0-14.4":0.04449,"14.5-14.8":0.06336,"15.0-15.1":0.0364,"15.2-15.3":0.0337,"15.4":0.04044,"15.5":0.04718,"15.6-15.8":0.50555,"16.0":0.09572,"16.1":0.20222,"16.2":0.10246,"16.3":0.17391,"16.4":0.03505,"16.5":0.0701,"16.6-16.7":0.66328,"17.0":0.04853,"17.1":0.08089,"17.2":0.06741,"17.3":0.10246,"17.4":0.21974,"17.5":0.65654,"17.6-17.7":5.67157,"18.0":2.01141,"18.1":1.7674,"18.2":0.07145},P:{"4":0.03145,"22":0.04193,"23":0.01048,"24":0.13627,"26":1.84486,"27":0.53459,_:"20 21 25 5.0-5.4 6.2-6.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","7.2-7.4":0.01048,"9.2":0.02096},I:{"0":0.00723,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.21019,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.05798},H:{"0":0},L:{"0":56.81361},R:{_:"0"},M:{"0":0.04349}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PY.js deleted file mode 100644 index fd4da30d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/PY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.0819,"15":0.0039,"30":0.0039,"35":0.0156,"52":0.1482,"64":0.0039,"65":0.0078,"87":0.0039,"88":0.0117,"102":0.0039,"103":0.0078,"113":0.0039,"115":0.2106,"123":0.0039,"125":0.0039,"127":0.0078,"128":0.0351,"129":0.0078,"130":0.0039,"131":0.1092,"132":1.2246,"133":0.0975,_:"2 3 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 112 114 116 117 118 119 120 121 122 124 126 134 135 136 3.5 3.6"},D:{"11":0.0078,"39":0.0039,"44":0.0039,"47":0.0273,"49":0.0117,"50":0.0039,"52":0.0039,"55":0.0078,"58":0.0039,"64":0.0156,"65":0.039,"66":0.0078,"67":0.0039,"69":0.0078,"72":0.0039,"73":0.0312,"75":0.0234,"76":0.0039,"79":0.039,"80":0.0078,"81":0.0039,"83":0.0351,"85":0.0039,"86":0.0078,"87":1.1778,"88":0.0078,"89":0.0468,"91":0.4017,"92":0.0039,"94":0.0663,"96":0.0039,"98":0.0039,"99":0.0039,"100":0.0078,"101":0.0039,"102":0.0234,"103":0.0195,"104":0.039,"106":0.0078,"107":0.0078,"108":0.0156,"109":3.6777,"110":0.0351,"111":0.0117,"112":0.0039,"113":0.0078,"114":0.0117,"115":0.0039,"116":0.0468,"117":0.0039,"118":0.0039,"119":0.0702,"120":0.0234,"121":0.0273,"122":0.0507,"123":0.0234,"124":0.1014,"125":0.0468,"126":0.1053,"127":0.0507,"128":0.117,"129":0.9399,"130":13.2522,"131":8.3577,"132":0.0039,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 45 46 48 51 53 54 56 57 59 60 61 62 63 68 70 71 74 77 78 84 90 93 95 97 105 133 134"},F:{"95":0.0156,"96":0.0039,"113":0.1521,"114":1.404,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0039,"89":0.0039,"90":0.0039,"92":0.0156,"100":0.0078,"101":0.0468,"102":0.0039,"109":0.039,"112":0.0039,"113":0.0039,"114":0.0039,"116":0.0039,"120":0.0039,"121":0.0039,"122":0.0078,"123":0.0039,"124":0.0039,"125":0.0039,"126":0.0156,"127":0.0195,"128":0.0468,"129":0.195,"130":2.3205,"131":1.8018,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 91 93 94 95 96 97 98 99 103 104 105 106 107 108 110 111 115 117 118 119"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 16.0 16.2 16.4","5.1":0.0039,"13.1":0.0039,"14.1":0.0039,"15.4":0.0039,"15.5":0.0039,"15.6":0.0273,"16.1":0.0078,"16.3":0.0117,"16.5":0.0078,"16.6":0.0429,"17.0":0.0039,"17.1":0.0117,"17.2":0.0273,"17.3":0.0195,"17.4":0.0156,"17.5":0.1014,"17.6":0.2145,"18.0":0.1014,"18.1":0.1404,"18.2":0.0039},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00085,"5.0-5.1":0,"6.0-6.1":0.00339,"7.0-7.1":0.00424,"8.1-8.4":0,"9.0-9.2":0.00339,"9.3":0.01187,"10.0-10.2":0.00254,"10.3":0.0195,"11.0-11.2":0.22893,"11.3-11.4":0.00594,"12.0-12.1":0.00339,"12.2-12.5":0.08903,"13.0-13.1":0.0017,"13.2":0.02289,"13.3":0.00339,"13.4-13.7":0.01272,"14.0-14.4":0.02798,"14.5-14.8":0.03985,"15.0-15.1":0.02289,"15.2-15.3":0.0212,"15.4":0.02544,"15.5":0.02968,"15.6-15.8":0.31796,"16.0":0.0602,"16.1":0.12719,"16.2":0.06444,"16.3":0.10938,"16.4":0.02205,"16.5":0.04409,"16.6-16.7":0.41717,"17.0":0.03052,"17.1":0.05087,"17.2":0.0424,"17.3":0.06444,"17.4":0.13821,"17.5":0.41293,"17.6-17.7":3.56712,"18.0":1.26507,"18.1":1.1116,"18.2":0.04494},P:{"4":0.28585,"20":0.02042,"21":0.06125,"22":0.1123,"23":0.14293,"24":0.20418,"25":0.16334,"26":1.72531,"27":1.44967,_:"5.0-5.4 6.2-6.4 8.2 10.1 15.0","7.2-7.4":0.30627,"9.2":0.01021,"11.1-11.2":0.01021,"12.0":0.01021,"13.0":0.01021,"14.0":0.02042,"16.0":0.06125,"17.0":0.28585,"18.0":0.01021,"19.0":0.02042},I:{"0":0.02435,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.0078,_:"6 7 8 9 10 5.5"},K:{"0":0.3904,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0671},H:{"0":0},L:{"0":47.4899},R:{_:"0"},M:{"0":0.2196}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/QA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/QA.js deleted file mode 100644 index 44bb04ef..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/QA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"5":0.30862,"34":0.00468,"79":0.00234,"97":0.00234,"103":0.00234,"108":0.00468,"115":0.04676,"119":0.00468,"127":0.00468,"128":0.01403,"129":0.01169,"130":0.00935,"131":0.03273,"132":0.43721,"133":0.03741,_:"2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 99 100 101 102 104 105 106 107 109 110 111 112 113 114 116 117 118 120 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"38":0.00234,"43":0.00234,"51":0.00234,"53":0.00701,"58":0.07248,"66":0.00468,"68":0.00234,"69":0.00234,"73":0.00234,"74":0.00234,"75":0.00234,"78":0.00468,"79":0.03507,"80":0.00234,"83":0.00701,"84":0.00234,"86":0.00234,"87":0.02806,"88":0.00935,"90":0.00234,"91":0.00234,"92":0.00234,"93":0.00468,"94":0.0187,"95":0.00234,"98":0.00468,"100":0.00234,"101":0.00234,"102":0.00701,"103":0.10053,"104":0.00468,"105":0.00234,"106":0.00468,"107":0.00234,"108":0.01403,"109":0.57047,"110":0.00701,"111":0.00701,"113":0.00234,"114":0.02104,"115":0.00234,"116":0.09118,"117":0.00935,"118":0.00468,"119":0.01403,"120":0.0187,"121":0.00935,"122":0.11456,"123":0.01637,"124":0.05144,"125":0.10053,"126":0.07949,"127":0.05845,"128":0.13093,"129":0.47929,"130":7.76216,"131":4.66431,"132":0.00701,"133":0.00234,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 44 45 46 47 48 49 50 52 54 55 56 57 59 60 61 62 63 64 65 67 70 71 72 76 77 81 85 89 96 97 99 112 134"},F:{"46":0.04442,"85":0.03975,"86":0.01169,"95":0.00701,"111":0.00234,"113":0.05377,"114":0.61957,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00468,"18":0.00234,"92":0.00701,"109":0.01403,"114":0.00468,"115":0.00234,"119":0.00234,"120":0.00234,"121":0.00234,"122":0.00468,"123":0.00234,"124":0.01169,"125":0.00234,"126":0.00701,"127":0.01403,"128":0.02572,"129":0.07715,"130":1.69505,"131":1.17835,_:"12 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 116 117 118"},E:{"9":0.00234,"11":0.00701,"14":0.00468,"15":0.00468,_:"0 4 5 6 7 8 10 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00234,"12.1":0.00234,"13.1":0.05845,"14.1":0.03507,"15.1":0.00468,"15.2-15.3":0.01169,"15.4":0.00935,"15.5":0.02104,"15.6":0.10521,"16.0":0.00935,"16.1":0.03507,"16.2":0.01169,"16.3":0.0491,"16.4":0.01637,"16.5":0.07715,"16.6":0.11222,"17.0":0.00701,"17.1":0.01169,"17.2":0.00935,"17.3":0.0187,"17.4":0.04676,"17.5":0.15431,"17.6":0.60788,"18.0":0.27121,"18.1":0.2829,"18.2":0.00935},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00156,"5.0-5.1":0,"6.0-6.1":0.00622,"7.0-7.1":0.00778,"8.1-8.4":0,"9.0-9.2":0.00622,"9.3":0.02179,"10.0-10.2":0.00467,"10.3":0.03579,"11.0-11.2":0.42016,"11.3-11.4":0.01089,"12.0-12.1":0.00622,"12.2-12.5":0.1634,"13.0-13.1":0.00311,"13.2":0.04202,"13.3":0.00622,"13.4-13.7":0.02334,"14.0-14.4":0.05135,"14.5-14.8":0.07314,"15.0-15.1":0.04202,"15.2-15.3":0.0389,"15.4":0.04668,"15.5":0.05447,"15.6-15.8":0.58356,"16.0":0.11049,"16.1":0.23342,"16.2":0.11827,"16.3":0.20074,"16.4":0.04046,"16.5":0.08092,"16.6-16.7":0.76563,"17.0":0.05602,"17.1":0.09337,"17.2":0.07781,"17.3":0.11827,"17.4":0.25365,"17.5":0.75785,"17.6-17.7":6.54673,"18.0":2.32178,"18.1":2.04012,"18.2":0.08248},P:{"4":0.05097,"20":0.01019,"21":0.02039,"22":0.05097,"23":0.06116,"24":0.13252,"25":0.05097,"26":0.98883,"27":0.8665,"5.0-5.4":0.01019,_:"6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 18.0","7.2-7.4":0.03058,"11.1-11.2":0.02039,"13.0":0.03058,"16.0":0.01019,"17.0":0.01019,"19.0":0.03058},I:{"0":0.06116,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"8":0.0106,"9":0.00265,"11":0.0265,_:"6 7 10 5.5"},K:{"0":1.96147,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":3.76204},H:{"0":0},L:{"0":54.26598},R:{_:"0"},M:{"0":0.10727}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RE.js deleted file mode 100644 index 76841a4f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.01375,"52":0.00275,"77":0.00275,"78":0.04948,"82":0.0055,"88":0.00825,"91":0.00825,"94":0.00275,"100":0.03574,"102":0.05223,"105":0.00275,"109":0.00275,"113":0.00275,"115":0.24191,"116":0.00275,"119":0.00275,"120":0.00275,"121":0.00275,"122":0.00825,"125":0.00275,"126":0.0055,"127":0.01649,"128":0.07147,"129":0.01375,"130":0.011,"131":0.19793,"132":2.4631,"133":0.15669,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 80 81 83 84 85 86 87 89 90 92 93 95 96 97 98 99 101 103 104 106 107 108 110 111 112 114 117 118 123 124 134 135 136 3.5 3.6"},D:{"47":0.00275,"53":0.00275,"61":0.00275,"70":0.00275,"79":0.02199,"80":0.00275,"81":0.0055,"83":0.0055,"84":0.00275,"85":0.0055,"86":0.011,"87":0.04398,"88":0.01649,"90":0.0055,"94":0.01375,"98":0.00275,"100":0.00275,"102":0.00275,"103":0.05223,"105":0.0055,"106":0.011,"107":0.0055,"108":0.0055,"109":0.42335,"110":0.0055,"111":0.0055,"112":0.00275,"113":0.02199,"114":0.0055,"115":0.01375,"116":0.09072,"117":0.00825,"118":0.00825,"119":0.011,"120":0.01924,"121":0.00825,"122":0.09072,"123":0.0055,"124":0.04948,"125":0.03024,"126":0.03574,"127":0.06048,"128":0.11546,"129":0.39586,"130":7.35632,"131":4.69804,"132":0.00275,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 54 55 56 57 58 59 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 89 91 92 93 95 96 97 99 101 104 133 134"},F:{"46":0.00275,"75":0.00275,"85":0.01375,"95":0.0055,"102":0.00275,"107":0.00275,"111":0.00275,"113":0.06598,"114":1.00613,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 108 109 110 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"86":0.00275,"89":0.00275,"92":0.00825,"100":0.00275,"103":0.00275,"105":0.00275,"109":0.011,"110":0.01649,"112":0.00275,"115":0.01375,"119":0.00275,"120":0.00275,"121":0.0055,"122":0.00825,"124":0.00275,"125":0.0055,"126":0.00825,"127":0.00825,"128":0.04948,"129":0.17594,"130":3.19984,"131":1.74836,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 87 88 90 91 93 94 95 96 97 98 99 101 102 104 106 107 108 111 113 114 116 117 118 123"},E:{"14":0.0055,"15":0.00275,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3","12.1":0.00275,"13.1":0.21442,"14.1":0.04398,"15.1":0.00825,"15.4":0.011,"15.5":0.00825,"15.6":0.20068,"16.0":0.15394,"16.1":0.011,"16.2":0.15944,"16.3":0.01649,"16.4":0.011,"16.5":0.03574,"16.6":0.15394,"17.0":0.02749,"17.1":0.03299,"17.2":0.02199,"17.3":0.01649,"17.4":0.05498,"17.5":0.10996,"17.6":0.76697,"18.0":0.42335,"18.1":0.29964,"18.2":0.0055},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00128,"5.0-5.1":0,"6.0-6.1":0.00514,"7.0-7.1":0.00642,"8.1-8.4":0,"9.0-9.2":0.00514,"9.3":0.01799,"10.0-10.2":0.00385,"10.3":0.02955,"11.0-11.2":0.34692,"11.3-11.4":0.00899,"12.0-12.1":0.00514,"12.2-12.5":0.13491,"13.0-13.1":0.00257,"13.2":0.03469,"13.3":0.00514,"13.4-13.7":0.01927,"14.0-14.4":0.0424,"14.5-14.8":0.06039,"15.0-15.1":0.03469,"15.2-15.3":0.03212,"15.4":0.03855,"15.5":0.04497,"15.6-15.8":0.48183,"16.0":0.09123,"16.1":0.19273,"16.2":0.09765,"16.3":0.16575,"16.4":0.03341,"16.5":0.06681,"16.6-16.7":0.63216,"17.0":0.04626,"17.1":0.07709,"17.2":0.06424,"17.3":0.09765,"17.4":0.20943,"17.5":0.62574,"17.6-17.7":5.40548,"18.0":1.91704,"18.1":1.68447,"18.2":0.0681},P:{"4":0.02059,"21":0.0103,"22":0.09267,"23":0.04119,"24":0.04119,"25":0.04119,"26":1.04001,"27":0.77228,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 16.0","7.2-7.4":0.08238,"13.0":0.0103,"14.0":0.05149,"15.0":0.02059,"17.0":0.0103,"18.0":0.0103,"19.0":0.0103},I:{"0":0.13747,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00018},A:{"11":0.02474,_:"6 7 8 9 10 5.5"},K:{"0":0.18853,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.09426},H:{"0":0},L:{"0":56.7727},R:{_:"0"},M:{"0":0.27554}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RO.js deleted file mode 100644 index 7dfdf4f2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"43":0.00441,"52":0.0397,"68":0.00882,"78":0.00441,"88":0.00441,"90":0.00441,"102":0.00441,"103":0.00882,"112":0.00441,"113":0.00882,"115":0.3617,"118":0.00441,"121":0.00882,"123":0.00441,"124":0.00441,"125":0.01764,"126":0.00441,"127":0.02206,"128":0.04852,"129":0.01323,"130":0.01764,"131":0.09263,"132":1.6453,"133":0.1588,"134":0.00441,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 114 116 117 119 120 122 135 136 3.5 3.6"},D:{"18":0.00882,"38":0.00441,"49":0.01323,"70":0.00882,"71":0.00441,"73":0.00441,"76":0.01764,"79":0.01764,"81":0.00441,"83":0.00441,"85":0.00441,"86":0.00441,"87":0.01323,"88":0.00882,"90":0.00441,"91":0.00882,"92":0.00441,"93":0.00441,"94":0.00882,"98":0.00441,"99":0.00441,"100":0.01764,"102":0.00882,"103":0.01764,"104":0.02206,"105":0.00441,"106":0.00882,"107":0.01323,"108":0.02206,"109":1.17333,"110":0.00882,"111":0.04411,"112":0.01764,"113":0.05293,"114":0.07058,"115":0.00882,"116":0.04411,"117":0.01323,"118":0.01764,"119":0.03088,"120":0.38817,"121":0.01764,"122":0.07058,"123":0.04852,"124":0.10586,"125":0.18085,"126":0.07058,"127":0.0397,"128":0.19408,"129":0.53814,"130":20.49351,"131":11.24805,"132":0.00441,"133":0.00441,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 72 74 75 77 78 80 84 89 95 96 97 101 134"},F:{"46":0.00441,"79":0.00441,"85":0.02206,"95":0.04411,"109":0.00441,"112":0.00441,"113":0.11028,"114":1.68941,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00441,"16":0.00882,"18":0.00441,"92":0.00441,"108":0.00441,"109":0.02206,"117":0.00441,"118":0.00441,"119":0.00441,"120":0.00441,"121":0.00882,"122":0.00441,"123":0.00441,"124":0.00441,"125":0.00441,"126":0.00882,"127":0.02206,"128":0.01764,"129":0.06175,"130":1.35859,"131":0.97924,_:"12 13 15 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116"},E:{"14":0.00441,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1","13.1":0.00882,"14.1":0.01764,"15.2-15.3":0.00441,"15.4":0.00441,"15.5":0.00441,"15.6":0.05734,"16.0":0.00441,"16.1":0.00882,"16.2":0.00882,"16.3":0.01764,"16.4":0.02206,"16.5":0.00882,"16.6":0.05734,"17.0":0.00441,"17.1":0.01323,"17.2":0.01323,"17.3":0.01323,"17.4":0.03088,"17.5":0.07058,"17.6":0.23819,"18.0":0.14997,"18.1":0.1985,"18.2":0.00882},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00127,"5.0-5.1":0,"6.0-6.1":0.00507,"7.0-7.1":0.00634,"8.1-8.4":0,"9.0-9.2":0.00507,"9.3":0.01775,"10.0-10.2":0.0038,"10.3":0.02915,"11.0-11.2":0.34225,"11.3-11.4":0.00887,"12.0-12.1":0.00507,"12.2-12.5":0.1331,"13.0-13.1":0.00254,"13.2":0.03422,"13.3":0.00507,"13.4-13.7":0.01901,"14.0-14.4":0.04183,"14.5-14.8":0.05958,"15.0-15.1":0.03422,"15.2-15.3":0.03169,"15.4":0.03803,"15.5":0.04437,"15.6-15.8":0.47534,"16.0":0.09,"16.1":0.19014,"16.2":0.09634,"16.3":0.16352,"16.4":0.03296,"16.5":0.06591,"16.6-16.7":0.62365,"17.0":0.04563,"17.1":0.07606,"17.2":0.06338,"17.3":0.09634,"17.4":0.20662,"17.5":0.61731,"17.6-17.7":5.33273,"18.0":1.89124,"18.1":1.6618,"18.2":0.06718},P:{"4":0.05102,"20":0.0102,"21":0.02041,"22":0.04082,"23":0.05102,"24":0.06122,"25":0.07143,"26":1.72446,"27":1.45916,_:"5.0-5.4 7.2-7.4 8.2 9.2 10.1 13.0 14.0 15.0 16.0 18.0","6.2-6.4":0.0102,"11.1-11.2":0.0102,"12.0":0.03061,"17.0":0.0102,"19.0":0.02041},I:{"0":0.05019,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"11":0.02647,_:"6 7 8 9 10 5.5"},K:{"0":0.32975,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04471},H:{"0":0},L:{"0":39.28249},R:{_:"0"},M:{"0":0.29063}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RS.js deleted file mode 100644 index b3ddce6d..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.048,"68":0.00369,"70":0.00369,"72":0.00369,"75":0.00369,"78":0.01108,"88":0.00369,"91":0.00369,"99":0.00369,"100":0.00738,"101":0.00369,"102":0.01477,"103":0.0443,"106":0.00369,"107":0.00369,"110":0.00369,"111":0.00369,"112":0.00369,"113":0.01477,"114":0.00369,"115":0.80486,"117":0.00369,"118":0.00369,"119":0.00369,"120":0.00369,"121":0.00369,"122":0.00738,"123":0.00738,"124":0.02215,"125":0.01846,"126":0.01108,"127":0.02584,"128":0.03692,"129":0.01108,"130":0.02954,"131":0.12184,"132":2.3075,"133":0.21783,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 71 73 74 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 104 105 108 109 116 134 135 136 3.5 3.6"},D:{"29":0.00369,"38":0.00369,"47":0.01477,"48":0.00369,"49":0.02584,"53":0.00738,"58":0.00369,"65":0.00369,"68":0.00369,"70":0.00369,"71":0.00369,"72":0.00369,"73":0.00369,"75":0.00369,"76":0.00369,"77":0.00369,"78":0.02215,"79":0.39135,"80":0.00369,"81":0.01108,"83":0.00738,"84":0.00369,"85":0.01477,"86":0.00738,"87":0.25475,"88":0.02954,"89":0.00738,"90":0.00369,"91":0.00738,"92":0.01477,"93":0.01846,"94":0.04061,"95":0.00369,"96":0.00369,"97":0.01846,"98":0.00738,"99":0.00369,"100":0.00369,"101":0.01108,"102":0.01846,"103":0.05538,"104":0.0923,"105":0.00738,"106":0.01846,"107":0.01846,"108":0.03323,"109":3.23788,"110":0.01846,"111":0.16245,"112":0.01108,"113":0.03692,"114":0.06276,"115":0.02215,"116":0.06646,"117":0.01108,"118":0.01846,"119":0.03692,"120":0.05169,"121":0.05169,"122":0.21414,"123":0.16983,"124":0.2289,"125":0.06276,"126":0.0923,"127":0.05907,"128":0.11814,"129":0.50211,"130":11.93254,"131":8.36607,"132":0.00738,"133":0.00738,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 50 51 52 54 55 56 57 59 60 61 62 63 64 66 67 69 74 134"},F:{"36":0.00369,"40":0.00738,"46":0.02584,"48":0.00369,"73":0.00369,"79":0.00369,"82":0.00369,"85":0.03692,"86":0.00738,"95":0.15506,"97":0.00369,"99":0.00369,"102":0.00369,"111":0.00369,"112":0.00738,"113":0.06276,"114":1.58018,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 83 84 87 88 89 90 91 92 93 94 96 98 100 101 103 104 105 106 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00369,"18":0.00369,"92":0.00738,"106":0.00369,"107":0.00369,"108":0.00369,"109":0.01477,"111":0.00738,"114":0.00369,"116":0.00369,"117":0.00369,"118":0.00369,"119":0.00369,"120":0.00369,"121":0.00369,"122":0.00369,"123":0.00369,"124":0.00369,"125":0.00738,"126":0.01108,"127":0.00738,"128":0.00738,"129":0.03692,"130":1.0153,"131":0.71256,_:"12 13 14 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 110 112 113 115"},E:{"4":0.00369,"14":0.00369,"15":0.00738,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3","12.1":0.00369,"13.1":0.04061,"14.1":0.03692,"15.4":0.00369,"15.5":0.00738,"15.6":0.08492,"16.0":0.00738,"16.1":0.00738,"16.2":0.00369,"16.3":0.02215,"16.4":0.00738,"16.5":0.01108,"16.6":0.06276,"17.0":0.01477,"17.1":0.01477,"17.2":0.01477,"17.3":0.01108,"17.4":0.0923,"17.5":0.048,"17.6":0.22521,"18.0":0.08492,"18.1":0.17352,"18.2":0.00738},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00111,"5.0-5.1":0,"6.0-6.1":0.00442,"7.0-7.1":0.00553,"8.1-8.4":0,"9.0-9.2":0.00442,"9.3":0.01548,"10.0-10.2":0.00332,"10.3":0.02543,"11.0-11.2":0.29856,"11.3-11.4":0.00774,"12.0-12.1":0.00442,"12.2-12.5":0.11611,"13.0-13.1":0.00221,"13.2":0.02986,"13.3":0.00442,"13.4-13.7":0.01659,"14.0-14.4":0.03649,"14.5-14.8":0.05197,"15.0-15.1":0.02986,"15.2-15.3":0.02764,"15.4":0.03317,"15.5":0.0387,"15.6-15.8":0.41467,"16.0":0.07851,"16.1":0.16587,"16.2":0.08404,"16.3":0.14265,"16.4":0.02875,"16.5":0.0575,"16.6-16.7":0.54405,"17.0":0.03981,"17.1":0.06635,"17.2":0.05529,"17.3":0.08404,"17.4":0.18024,"17.5":0.53852,"17.6-17.7":4.65207,"18.0":1.64984,"18.1":1.44969,"18.2":0.05861},P:{"4":0.15514,"20":0.01034,"21":0.02069,"22":0.06206,"23":0.04137,"24":0.04137,"25":0.05171,"26":1.32386,"27":1.36523,"5.0-5.4":0.02069,"6.2-6.4":0.03103,"7.2-7.4":0.01034,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 18.0","14.0":0.01034,"16.0":0.01034,"17.0":0.01034,"19.0":0.02069},I:{"0":0.02518,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"8":0.02806,"9":0.00401,"10":0.01203,"11":0.2365,_:"6 7 5.5"},K:{"0":0.33432,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00631,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.04416},H:{"0":0},L:{"0":48.95903},R:{_:"0"},M:{"0":0.24601}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RU.js deleted file mode 100644 index ef367ff9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"41":0.00647,"50":0.00647,"51":0.00647,"52":0.11642,"56":0.00647,"66":0.01294,"68":0.01294,"72":0.00647,"77":0.00647,"78":0.01294,"88":0.00647,"91":0.00647,"94":0.00647,"96":0.00647,"99":0.00647,"101":0.00647,"102":0.0194,"103":0.03881,"104":0.00647,"105":0.00647,"106":0.00647,"107":0.00647,"108":0.01294,"109":0.00647,"110":0.00647,"111":0.0194,"112":0.00647,"113":0.01294,"114":0.01294,"115":0.85378,"116":0.00647,"118":0.00647,"119":0.00647,"120":0.01294,"121":0.02587,"122":0.01294,"123":0.01294,"124":0.01294,"125":0.07115,"126":0.01294,"127":0.03881,"128":0.10349,"129":0.0194,"130":0.02587,"131":0.1811,"132":1.76576,"133":0.17464,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 53 54 55 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 75 76 79 80 81 82 83 84 85 86 87 89 90 92 93 95 97 98 100 117 134 135 136 3.5 3.6"},D:{"25":0.00647,"26":0.00647,"27":0.00647,"34":0.00647,"38":0.00647,"41":0.00647,"45":0.03234,"49":0.04528,"51":0.02587,"52":0.01294,"53":0.00647,"56":0.0194,"58":1.04782,"67":0.00647,"68":0.00647,"69":0.01294,"70":0.01294,"71":0.01294,"72":0.01294,"73":0.00647,"74":0.01294,"75":0.01294,"76":0.03234,"77":0.00647,"78":0.01294,"79":0.11642,"80":0.0194,"81":0.0194,"83":0.0194,"84":0.01294,"85":0.04528,"86":0.02587,"87":0.05174,"88":0.03881,"89":0.02587,"90":0.02587,"91":0.0194,"92":0.00647,"94":0.02587,"95":0.00647,"96":0.01294,"97":0.03881,"98":0.0194,"99":0.02587,"100":0.0194,"101":0.0194,"102":0.03881,"103":0.04528,"104":1.15777,"105":0.0194,"106":0.22638,"107":0.05821,"108":0.09055,"109":3.0723,"110":0.03881,"111":0.05821,"112":0.03881,"113":0.06468,"114":0.11642,"115":0.0194,"116":0.09702,"117":0.02587,"118":0.10349,"119":0.05174,"120":0.1811,"121":0.304,"122":0.29106,"123":0.36221,"124":0.6274,"125":0.19404,"126":0.1423,"127":0.12936,"128":0.3234,"129":0.7891,"130":9.93485,"131":6.10579,"132":0.00647,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 28 29 30 31 32 33 35 36 37 39 40 42 43 44 46 47 48 50 54 55 57 59 60 61 62 63 64 65 66 93 133 134"},F:{"36":0.02587,"46":0.01294,"54":0.00647,"55":0.00647,"74":0.00647,"76":0.00647,"77":0.00647,"79":0.05821,"80":0.02587,"82":0.00647,"83":0.00647,"84":0.01294,"85":0.14876,"86":0.04528,"87":0.00647,"89":0.00647,"90":0.00647,"92":0.00647,"94":0.00647,"95":0.9508,"99":0.00647,"102":0.01294,"106":0.00647,"107":0.01294,"108":0.00647,"109":0.00647,"110":0.00647,"111":0.00647,"112":0.01294,"113":0.16817,"114":4.0619,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 75 78 81 88 91 93 96 97 98 100 101 103 104 105 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00647},B:{"14":0.00647,"16":0.00647,"17":0.00647,"18":0.0194,"80":0.00647,"81":0.00647,"83":0.00647,"84":0.00647,"85":0.00647,"86":0.00647,"87":0.00647,"88":0.00647,"89":0.00647,"90":0.00647,"92":0.02587,"103":0.00647,"106":0.00647,"107":0.00647,"108":0.01294,"109":0.09055,"110":0.00647,"111":0.00647,"112":0.00647,"113":0.00647,"114":0.00647,"117":0.00647,"119":0.00647,"120":0.00647,"121":0.03234,"122":0.03234,"123":0.01294,"124":0.02587,"125":0.0194,"126":0.0194,"127":0.01294,"128":0.02587,"129":0.08408,"130":2.31554,"131":1.69462,_:"12 13 15 79 91 93 94 95 96 97 98 99 100 101 102 104 105 115 116 118"},E:{"14":0.02587,"15":0.00647,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 10.1 11.1","5.1":0.00647,"9.1":0.03234,"12.1":0.00647,"13.1":0.02587,"14.1":0.05174,"15.1":0.00647,"15.2-15.3":0.00647,"15.4":0.01294,"15.5":0.01294,"15.6":0.10996,"16.0":0.00647,"16.1":0.02587,"16.2":0.01294,"16.3":0.05174,"16.4":0.0194,"16.5":0.03234,"16.6":0.1423,"17.0":0.01294,"17.1":0.06468,"17.2":0.02587,"17.3":0.03234,"17.4":0.13583,"17.5":0.10996,"17.6":0.38161,"18.0":0.17464,"18.1":0.23285,"18.2":0.01294},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00076,"5.0-5.1":0,"6.0-6.1":0.00306,"7.0-7.1":0.00382,"8.1-8.4":0,"9.0-9.2":0.00306,"9.3":0.0107,"10.0-10.2":0.00229,"10.3":0.01757,"11.0-11.2":0.20627,"11.3-11.4":0.00535,"12.0-12.1":0.00306,"12.2-12.5":0.08022,"13.0-13.1":0.00153,"13.2":0.02063,"13.3":0.00306,"13.4-13.7":0.01146,"14.0-14.4":0.02521,"14.5-14.8":0.03591,"15.0-15.1":0.02063,"15.2-15.3":0.0191,"15.4":0.02292,"15.5":0.02674,"15.6-15.8":0.28649,"16.0":0.05424,"16.1":0.1146,"16.2":0.05806,"16.3":0.09855,"16.4":0.01986,"16.5":0.03973,"16.6-16.7":0.37587,"17.0":0.0275,"17.1":0.04584,"17.2":0.0382,"17.3":0.05806,"17.4":0.12453,"17.5":0.37205,"17.6-17.7":3.21403,"18.0":1.13985,"18.1":1.00157,"18.2":0.04049},P:{"4":0.11874,"20":0.01079,"21":0.03238,"22":0.01079,"23":0.02159,"24":0.02159,"25":0.02159,"26":0.3886,"27":0.30224,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.01079,"11.1-11.2":0.01079,"17.0":0.01079},I:{"0":0.04934,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"8":0.00875,"11":0.14001,_:"6 7 9 10 5.5"},K:{"0":0.90066,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01413},O:{"0":0.22252},H:{"0":0},L:{"0":20.8219},R:{_:"0"},M:{"0":0.19073}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RW.js deleted file mode 100644 index 15ca1d52..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/RW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"50":0.0045,"52":0.0045,"72":0.0045,"78":0.0045,"79":0.0045,"80":0.0045,"81":0.00899,"115":0.08541,"121":0.0045,"124":0.0045,"127":0.03147,"128":0.01349,"129":0.00899,"130":0.00899,"131":0.06293,"132":0.96193,"133":0.0899,"134":0.0045,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 122 123 125 126 135 136 3.5 3.6"},D:{"11":0.0045,"38":0.0045,"56":0.0045,"58":0.00899,"66":0.0045,"67":0.0045,"68":0.0045,"70":0.01798,"71":0.0045,"73":0.02697,"74":0.0045,"79":0.02697,"80":0.01798,"81":0.01798,"83":0.01349,"84":0.01798,"85":0.04945,"86":0.0045,"87":0.04046,"88":0.03596,"89":0.00899,"90":0.00899,"91":0.00899,"92":0.00899,"93":0.01349,"94":0.00899,"95":0.0045,"97":0.00899,"98":0.05844,"99":0.00899,"100":0.00899,"101":0.0045,"103":0.04495,"104":0.02697,"105":0.0045,"106":0.06293,"107":0.03147,"108":0.04495,"109":0.59334,"110":0.02248,"111":0.06293,"112":0.02697,"113":0.0045,"114":0.01349,"115":0.03147,"116":0.17081,"117":0.47647,"118":0.03596,"119":0.02248,"120":0.04945,"121":0.01798,"122":0.21127,"123":0.01798,"124":0.07642,"125":0.1843,"126":0.10339,"127":0.07642,"128":0.37309,"129":1.18219,"130":14.01991,"131":8.76076,"132":0.04046,"133":0.0045,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 59 60 61 62 63 64 65 69 72 75 76 77 78 96 102 134"},F:{"70":0.0045,"79":0.0045,"83":0.02248,"84":0.0045,"85":0.14384,"90":0.0045,"95":0.00899,"102":0.0045,"112":0.02248,"113":0.03147,"114":1.05633,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 86 87 88 89 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0045,"13":0.0045,"14":0.01798,"16":0.00899,"17":0.00899,"18":0.03147,"84":0.02248,"85":0.00899,"89":0.01349,"90":0.01349,"92":0.13935,"100":0.01349,"109":0.03147,"110":0.0045,"112":0.0045,"114":0.01798,"116":0.01349,"119":0.0045,"120":0.00899,"121":0.0045,"122":0.01349,"123":0.0045,"124":0.00899,"125":0.02248,"126":0.01349,"127":0.01798,"128":0.03596,"129":0.06743,"130":2.16659,"131":1.51482,_:"15 79 80 81 83 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 113 115 117 118"},E:{"13":0.0045,"14":0.0045,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.5 16.0 16.2 17.0 17.3","13.1":0.02697,"14.1":0.02248,"15.1":0.00899,"15.2-15.3":0.0045,"15.4":0.0045,"15.6":0.04495,"16.1":0.00899,"16.3":0.0045,"16.4":0.00899,"16.5":0.0045,"16.6":0.04046,"17.1":0.00899,"17.2":0.00899,"17.4":0.03147,"17.5":0.02248,"17.6":0.11238,"18.0":0.07192,"18.1":0.10788,"18.2":0.00899},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00051,"5.0-5.1":0,"6.0-6.1":0.00203,"7.0-7.1":0.00254,"8.1-8.4":0,"9.0-9.2":0.00203,"9.3":0.00711,"10.0-10.2":0.00152,"10.3":0.01167,"11.0-11.2":0.13704,"11.3-11.4":0.00355,"12.0-12.1":0.00203,"12.2-12.5":0.05329,"13.0-13.1":0.00102,"13.2":0.0137,"13.3":0.00203,"13.4-13.7":0.00761,"14.0-14.4":0.01675,"14.5-14.8":0.02386,"15.0-15.1":0.0137,"15.2-15.3":0.01269,"15.4":0.01523,"15.5":0.01776,"15.6-15.8":0.19034,"16.0":0.03604,"16.1":0.07613,"16.2":0.03857,"16.3":0.06548,"16.4":0.0132,"16.5":0.02639,"16.6-16.7":0.24972,"17.0":0.01827,"17.1":0.03045,"17.2":0.02538,"17.3":0.03857,"17.4":0.08273,"17.5":0.24718,"17.6-17.7":2.13531,"18.0":0.75728,"18.1":0.66541,"18.2":0.0269},P:{"4":0.04157,"21":0.02079,"22":0.02079,"23":0.03118,"24":0.03118,"25":0.03118,"26":0.34297,"27":0.17668,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 18.0","6.2-6.4":0.02079,"7.2-7.4":0.43651,"13.0":0.01039,"17.0":0.01039,"19.0":0.03118},I:{"0":0.09887,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00013},A:{"11":0.01349,_:"6 7 8 9 10 5.5"},K:{"0":4.25071,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00551,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00551},O:{"0":0.3248},H:{"0":1.48},L:{"0":52.38033},R:{_:"0"},M:{"0":0.07157}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SA.js deleted file mode 100644 index b8d6f575..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00185,"52":0.00185,"103":0.00185,"110":0.00185,"111":0.00185,"115":0.03328,"118":0.00925,"123":0.0074,"124":0.00185,"125":0.00185,"127":0.00555,"128":0.0037,"129":0.00185,"130":0.0037,"131":0.02219,"132":0.34391,"133":0.02958,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 112 113 114 116 117 119 120 121 122 126 134 135 136 3.5 3.6"},D:{"11":0.00185,"38":0.00555,"40":0.00185,"41":0.00185,"47":0.00185,"48":0.00185,"51":0.00185,"56":0.00185,"58":0.02034,"63":0.0037,"64":0.00185,"65":0.00185,"68":0.00185,"69":0.00185,"72":0.00185,"73":0.00185,"74":0.00185,"75":0.00185,"76":0.00185,"77":0.00185,"78":0.00185,"79":0.01479,"80":0.00185,"81":0.00185,"83":0.00555,"85":0.00185,"86":0.00185,"87":0.02034,"88":0.0074,"89":0.00185,"90":0.00185,"91":0.0037,"92":0.0037,"93":0.01109,"94":0.01664,"95":0.00185,"96":0.00185,"97":0.00185,"98":0.01109,"99":0.00555,"100":0.00185,"101":0.00185,"102":0.0037,"103":0.01849,"104":0.0037,"105":0.00555,"106":0.0074,"107":0.02219,"108":0.01294,"109":0.53806,"110":0.01849,"111":0.00925,"112":0.0074,"113":0.00185,"114":0.01849,"115":0.0037,"116":0.03883,"117":0.00555,"118":0.00925,"119":0.01664,"120":0.03143,"121":0.01479,"122":0.07766,"123":0.01664,"124":0.04438,"125":0.03513,"126":0.04992,"127":0.04253,"128":0.10724,"129":0.28105,"130":6.70447,"131":4.44869,"132":0.0037,"133":0.00185,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 42 43 44 45 46 49 50 52 53 54 55 57 59 60 61 62 66 67 70 71 84 134"},F:{"46":0.00185,"82":0.00925,"83":0.00185,"85":0.02589,"86":0.00185,"95":0.00185,"108":0.0074,"110":0.00185,"111":0.03513,"113":0.01664,"114":0.17381,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 109 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00185,"92":0.00925,"100":0.00185,"107":0.00185,"109":0.01294,"110":0.00185,"113":0.00185,"114":0.00555,"117":0.00185,"118":0.00185,"119":0.00185,"120":0.00555,"121":0.0037,"122":0.0037,"123":0.0037,"124":0.0037,"125":0.00555,"126":0.01294,"127":0.01479,"128":0.02958,"129":0.06656,"130":1.17227,"131":0.79322,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 111 112 115 116"},E:{"14":0.00555,"15":0.00185,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.00185,"11.1":0.0037,"12.1":0.00185,"13.1":0.0074,"14.1":0.02404,"15.1":0.0037,"15.2-15.3":0.0037,"15.4":0.01109,"15.5":0.00925,"15.6":0.05177,"16.0":0.00555,"16.1":0.02404,"16.2":0.01479,"16.3":0.03513,"16.4":0.01849,"16.5":0.01664,"16.6":0.11464,"17.0":0.00925,"17.1":0.01294,"17.2":0.02034,"17.3":0.01664,"17.4":0.04253,"17.5":0.14422,"17.6":0.53066,"18.0":0.21448,"18.1":0.22003,"18.2":0.0074},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00181,"5.0-5.1":0,"6.0-6.1":0.00725,"7.0-7.1":0.00907,"8.1-8.4":0,"9.0-9.2":0.00725,"9.3":0.02539,"10.0-10.2":0.00544,"10.3":0.04171,"11.0-11.2":0.48967,"11.3-11.4":0.0127,"12.0-12.1":0.00725,"12.2-12.5":0.19043,"13.0-13.1":0.00363,"13.2":0.04897,"13.3":0.00725,"13.4-13.7":0.0272,"14.0-14.4":0.05985,"14.5-14.8":0.08524,"15.0-15.1":0.04897,"15.2-15.3":0.04534,"15.4":0.05441,"15.5":0.06348,"15.6-15.8":0.6801,"16.0":0.12877,"16.1":0.27204,"16.2":0.13783,"16.3":0.23395,"16.4":0.04715,"16.5":0.09431,"16.6-16.7":0.89229,"17.0":0.06529,"17.1":0.10882,"17.2":0.09068,"17.3":0.13783,"17.4":0.29562,"17.5":0.88322,"17.6-17.7":7.6298,"18.0":2.70589,"18.1":2.37763,"18.2":0.09612},P:{"4":0.01032,"20":0.01032,"21":0.02063,"22":0.04127,"23":0.03095,"24":0.0619,"25":0.04127,"26":0.72219,"27":0.49522,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 16.0 17.0 18.0","7.2-7.4":0.01032,"14.0":0.01032,"19.0":0.02063},I:{"0":0.0488,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.01664,_:"6 7 8 9 10 5.5"},K:{"0":0.53797,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":1.53239},H:{"0":0},L:{"0":60.58118},R:{_:"0"},M:{"0":0.06521}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SB.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SB.js deleted file mode 100644 index 87977341..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SB.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00713,"78":0.02138,"113":0.00356,"115":0.01425,"131":0.02138,"132":1.40739,"133":0.10333,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 134 135 136 3.5 3.6"},D:{"53":0.06057,"69":0.00356,"70":0.01425,"75":0.00356,"76":0.00356,"79":0.00713,"95":0.00356,"97":0.03563,"103":0.02138,"104":0.00356,"106":0.00356,"108":1.07959,"109":0.28148,"111":0.01782,"112":0.00356,"114":0.00356,"115":0.00356,"116":0.01782,"117":1.02614,"120":0.00713,"121":0.04276,"122":0.05345,"124":0.00356,"125":0.01425,"126":0.24585,"127":0.13183,"128":0.04276,"129":0.20665,"130":9.61297,"131":9.55597,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 71 72 73 74 77 78 80 81 83 84 85 86 87 88 89 90 91 92 93 94 96 98 99 100 101 102 105 107 110 113 118 119 123 132 133 134"},F:{"85":0.0285,"86":0.00713,"113":0.01069,"114":0.24228,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00356,"15":0.00713,"16":0.01069,"17":0.02138,"18":0.04632,"84":0.00713,"89":0.07839,"92":0.04632,"96":0.00356,"98":0.00356,"107":0.02138,"109":0.00713,"111":0.01069,"112":0.00713,"116":0.00356,"121":0.00356,"122":0.05345,"123":0.00356,"124":0.01425,"126":0.08551,"127":0.01782,"128":0.0677,"129":0.0962,"130":3.02499,"131":1.90621,_:"12 13 79 80 81 83 85 86 87 88 90 91 93 94 95 97 99 100 101 102 103 104 105 106 108 110 113 114 115 117 118 119 120 125"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.2-15.3 15.5 16.0 16.1 16.2 16.4 17.0 17.1 17.4","12.1":0.00356,"13.1":0.01069,"14.1":0.01069,"15.1":0.00713,"15.4":0.00356,"15.6":0.00713,"16.3":0.01425,"16.5":0.00713,"16.6":0.02138,"17.2":0.00356,"17.3":0.00356,"17.5":0.03207,"17.6":0.02494,"18.0":0.04632,"18.1":0.21734,"18.2":0.06413},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0003,"5.0-5.1":0,"6.0-6.1":0.0012,"7.0-7.1":0.0015,"8.1-8.4":0,"9.0-9.2":0.0012,"9.3":0.00421,"10.0-10.2":0.0009,"10.3":0.00692,"11.0-11.2":0.08118,"11.3-11.4":0.0021,"12.0-12.1":0.0012,"12.2-12.5":0.03157,"13.0-13.1":0.0006,"13.2":0.00812,"13.3":0.0012,"13.4-13.7":0.00451,"14.0-14.4":0.00992,"14.5-14.8":0.01413,"15.0-15.1":0.00812,"15.2-15.3":0.00752,"15.4":0.00902,"15.5":0.01052,"15.6-15.8":0.11275,"16.0":0.02135,"16.1":0.0451,"16.2":0.02285,"16.3":0.03878,"16.4":0.00782,"16.5":0.01563,"16.6-16.7":0.14792,"17.0":0.01082,"17.1":0.01804,"17.2":0.01503,"17.3":0.02285,"17.4":0.04901,"17.5":0.14642,"17.6-17.7":1.26485,"18.0":0.44858,"18.1":0.39416,"18.2":0.01593},P:{"4":0.05114,"21":0.04092,"22":0.1432,"23":0.19435,"24":0.15343,"25":0.25572,"26":0.78763,"27":0.25572,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","6.2-6.4":0.01023,"7.2-7.4":0.09206,"19.0":0.03069},I:{"0":0.01285,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"11":0.05701,_:"6 7 8 9 10 5.5"},K:{"0":3.56459,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01288},O:{"0":0.80475},H:{"0":0.06},L:{"0":59.28605},R:{_:"0"},M:{"0":0.30259}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SC.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SC.js deleted file mode 100644 index a8dcbd1a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"26":0.00941,"50":0.00471,"51":0.00471,"52":0.01412,"53":0.00471,"55":0.00471,"56":0.00941,"60":0.01412,"68":0.01412,"69":0.00941,"70":0.01412,"71":0.00941,"72":0.01412,"73":0.01412,"74":0.01412,"75":0.01412,"76":0.01882,"77":0.01412,"78":0.19295,"79":0.01412,"80":0.01412,"81":0.01412,"82":0.01412,"83":0.01412,"91":0.0753,"99":0.00471,"102":0.00471,"103":0.00941,"105":0.00471,"111":0.00471,"115":0.15059,"120":0.00471,"122":0.00471,"124":0.01882,"125":0.40001,"127":0.01882,"128":0.29648,"129":0.00471,"130":0.01412,"131":0.01882,"132":0.42825,"133":0.01882,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 54 57 58 59 61 62 63 64 65 66 67 84 85 86 87 88 89 90 92 93 94 95 96 97 98 100 101 104 106 107 108 109 110 112 113 114 116 117 118 119 121 123 126 134 135 136 3.5 3.6"},D:{"32":0.00471,"45":4.98836,"48":0.01412,"68":0.16,"69":0.10353,"70":0.11765,"71":0.10353,"72":0.16942,"73":0.06118,"74":0.16,"75":0.10353,"76":0.10824,"77":0.10824,"78":0.42825,"79":0.16471,"80":0.21648,"81":0.19295,"83":0.17412,"84":0.10353,"85":0.19765,"86":0.3106,"87":0.16,"88":0.23059,"89":0.16471,"90":0.25412,"91":0.05647,"92":0.02353,"95":0.08941,"97":0.00941,"98":0.00471,"99":0.00471,"102":0.02353,"103":0.04235,"104":0.01412,"106":0.04235,"107":0.04235,"108":0.03765,"109":0.35766,"110":0.00941,"111":0.01412,"112":0.07059,"113":0.16942,"114":0.07059,"115":0.03294,"116":0.42354,"117":0.05647,"118":0.14589,"119":0.02824,"120":0.0753,"121":0.05647,"122":0.03765,"123":0.34354,"124":5.23307,"125":0.25883,"126":0.29177,"127":0.28707,"128":0.16471,"129":0.30118,"130":4.02363,"131":2.04711,"132":0.00941,"133":0.00471,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 38 39 40 41 42 43 44 46 47 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 93 94 96 100 101 105 134"},F:{"45":0.00471,"46":0.00941,"47":0.00941,"48":0.00941,"49":0.01412,"51":0.00941,"52":0.00471,"53":0.05177,"54":0.07059,"55":0.08,"56":0.00941,"57":0.00471,"60":0.00941,"62":0.00941,"63":0.00941,"64":0.00471,"65":0.01412,"66":0.00941,"67":0.02353,"68":0.01412,"69":0.00471,"70":0.00471,"71":0.00471,"72":0.00941,"73":0.00941,"74":0.00941,"75":0.01412,"76":0.01412,"77":0.00471,"85":0.02824,"86":0.00471,"89":0.01412,"95":0.00471,"102":0.00471,"113":0.03294,"114":0.28236,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 50 58 78 79 80 81 82 83 84 87 88 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00471},B:{"18":0.00471,"79":0.08,"80":0.18353,"81":0.16942,"83":0.15059,"84":0.19295,"85":0.09883,"86":0.14589,"87":0.11294,"88":0.11294,"89":0.15059,"90":0.11294,"91":0.01882,"92":0.18824,"98":0.00471,"104":0.00471,"107":0.04706,"108":0.00941,"109":0.02353,"110":0.00941,"111":0.00471,"116":0.00471,"117":0.00471,"119":0.00471,"120":0.05177,"121":0.00941,"122":0.00941,"123":0.16,"124":0.02824,"125":0.38119,"126":0.03294,"127":0.07059,"128":0.02824,"129":0.06588,"130":0.97885,"131":0.74355,_:"12 13 14 15 16 17 93 94 95 96 97 99 100 101 102 103 105 106 112 113 114 115 118"},E:{"4":0.00471,"14":0.00471,"15":0.00471,_:"0 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 10.1 11.1 16.0 18.2","5.1":0.00471,"9.1":0.53648,"12.1":0.09412,"13.1":0.00471,"14.1":0.00941,"15.1":0.11765,"15.2-15.3":0.11765,"15.4":0.00941,"15.5":0.02824,"15.6":0.08941,"16.1":0.02824,"16.2":0.01882,"16.3":0.03294,"16.4":0.00471,"16.5":0.08,"16.6":0.03765,"17.0":0.00941,"17.1":0.00941,"17.2":0.02824,"17.3":0.00471,"17.4":1.45886,"17.5":0.07059,"17.6":0.34354,"18.0":0.09412,"18.1":0.28707},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00061,"5.0-5.1":0,"6.0-6.1":0.00245,"7.0-7.1":0.00307,"8.1-8.4":0,"9.0-9.2":0.00245,"9.3":0.00859,"10.0-10.2":0.00184,"10.3":0.01411,"11.0-11.2":0.16567,"11.3-11.4":0.0043,"12.0-12.1":0.00245,"12.2-12.5":0.06443,"13.0-13.1":0.00123,"13.2":0.01657,"13.3":0.00245,"13.4-13.7":0.0092,"14.0-14.4":0.02025,"14.5-14.8":0.02884,"15.0-15.1":0.01657,"15.2-15.3":0.01534,"15.4":0.01841,"15.5":0.02148,"15.6-15.8":0.23009,"16.0":0.04356,"16.1":0.09204,"16.2":0.04663,"16.3":0.07915,"16.4":0.01595,"16.5":0.03191,"16.6-16.7":0.30188,"17.0":0.02209,"17.1":0.03681,"17.2":0.03068,"17.3":0.04663,"17.4":0.10001,"17.5":0.29881,"17.6-17.7":2.58131,"18.0":0.91545,"18.1":0.8044,"18.2":0.03252},P:{"4":0.01048,"20":0.01048,"22":0.02096,"23":0.13624,"24":0.02096,"25":0.03144,"26":0.42968,"27":0.30392,_:"21 5.0-5.4 6.2-6.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","7.2-7.4":0.03144,"9.2":0.01048,"17.0":0.01048,"19.0":0.01048},I:{"0":0.01585,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.02797,"9":0.01399,"10":0.02797,"11":0.43361,_:"6 7 5.5"},K:{"0":0.73057,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.04235},O:{"0":0.33352},H:{"0":0},L:{"0":53.74523},R:{_:"0"},M:{"0":1.27056}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SD.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SD.js deleted file mode 100644 index 7f500c9c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"30":0.00261,"35":0.00208,"38":0.00052,"43":0.00104,"45":0.00156,"47":0.00417,"48":0.00625,"49":0.00469,"50":0.00104,"52":0.00782,"53":0.00052,"55":0.00052,"56":0.00261,"57":0.00104,"58":0.00156,"60":0.00052,"64":0.00156,"65":0.00104,"68":0.00052,"69":0.00104,"72":0.00313,"74":0.00052,"76":0.00261,"78":0.00365,"80":0.00156,"85":0.00261,"89":0.01824,"93":0.00052,"95":0.00104,"97":0.00052,"100":0.00052,"102":0.00104,"104":0.00052,"106":0.00104,"108":0.00052,"109":0.07815,"111":0.00469,"112":0.00261,"113":0.00052,"115":0.15526,"120":0.00156,"121":0.00052,"122":0.00104,"123":0.00156,"125":0.00156,"126":0.00365,"127":0.02136,"128":0.0099,"129":0.00417,"130":0.00469,"131":0.04116,"132":0.43139,"133":0.0198,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 36 37 39 40 41 42 44 46 51 54 59 61 62 63 66 67 70 71 73 75 77 79 81 82 83 84 86 87 88 90 91 92 94 96 98 99 101 103 105 107 110 114 116 117 118 119 124 134 135 136 3.5 3.6"},D:{"11":0.00052,"26":0.00052,"29":0.00469,"30":0.00104,"33":0.00625,"40":0.00104,"41":0.00104,"43":0.00104,"44":0.00208,"47":0.00261,"50":0.00208,"52":0.00156,"55":0.00104,"56":0.00156,"57":0.00261,"58":0.09326,"59":0.00052,"60":0.00052,"63":0.00729,"64":0.00365,"65":0.00052,"66":0.00104,"68":0.00938,"69":0.00208,"70":0.01667,"71":0.00365,"73":0.00052,"74":0.00104,"75":0.00156,"76":0.00052,"77":0.00104,"78":0.01303,"79":0.01771,"80":0.00261,"81":0.00677,"83":0.00782,"84":0.00104,"85":0.00104,"86":0.00052,"87":0.00886,"88":0.01355,"89":0.00417,"90":0.00104,"91":0.00417,"92":0.00104,"93":0.00052,"94":0.00261,"95":0.00521,"96":0.00104,"97":0.00261,"98":0.00313,"99":0.00208,"101":0.00104,"102":0.00104,"103":0.00417,"104":0.00469,"105":0.00625,"106":0.00365,"108":0.00677,"109":0.26102,"110":0.00261,"111":0.0646,"112":0.00104,"113":0.00052,"114":0.0125,"115":0.00521,"116":0.01876,"117":0.03699,"118":0.00365,"119":0.00625,"120":0.02084,"121":0.00417,"122":0.00469,"123":0.02136,"124":0.01407,"125":0.00677,"126":0.0646,"127":0.05575,"128":0.03439,"129":0.11879,"130":0.94093,"131":0.45275,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 31 32 34 35 36 37 38 39 42 45 46 48 49 51 53 54 61 62 67 72 100 107 132 133 134"},F:{"18":0.00104,"25":0.00052,"36":0.00052,"38":0.00052,"40":0.00052,"42":0.00052,"44":0.00052,"51":0.00052,"63":0.00052,"64":0.00261,"68":0.00104,"69":0.00625,"73":0.00052,"74":0.00052,"79":0.00677,"81":0.00104,"82":0.00156,"83":0.0125,"84":0.00365,"85":0.01615,"87":0.00052,"90":0.00261,"92":0.00104,"93":0.00052,"95":0.01042,"97":0.00104,"98":0.00052,"100":0.00052,"102":0.00052,"105":0.00104,"107":0.00313,"108":0.00156,"109":0.00365,"110":0.00313,"111":0.00052,"112":0.00261,"113":0.01042,"114":0.16359,_:"9 11 12 15 16 17 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 37 39 41 43 45 46 47 48 49 50 52 53 54 55 56 57 58 60 62 65 66 67 70 71 72 75 76 77 78 80 86 88 89 91 94 96 99 101 103 104 106 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00104,"13":0.00104,"14":0.00104,"15":0.00208,"16":0.00052,"17":0.00521,"18":0.01303,"84":0.00521,"88":0.00313,"89":0.00313,"90":0.00261,"92":0.05627,"100":0.00573,"101":0.00052,"104":0.00052,"108":0.00052,"109":0.01094,"110":0.00104,"111":0.00052,"112":0.00208,"114":0.00052,"115":0.00208,"116":0.00104,"117":0.00052,"118":0.00052,"119":0.00104,"120":0.00261,"121":0.00052,"122":0.00104,"123":0.00052,"124":0.00052,"125":0.00417,"126":0.00521,"127":0.01094,"128":0.00261,"129":0.0198,"130":0.27196,"131":0.14901,_:"79 80 81 83 85 86 87 91 93 94 95 96 97 98 99 102 103 105 106 107 113"},E:{"14":0.00052,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 16.3 16.4 16.6 17.0 17.1 18.2","5.1":0.06981,"13.1":0.00052,"15.6":0.00417,"16.1":0.00104,"16.5":0.00052,"17.2":0.00052,"17.3":0.00052,"17.4":0.00052,"17.5":0.00208,"17.6":0.00469,"18.0":0.00365,"18.1":0.00938},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00015,"5.0-5.1":0,"6.0-6.1":0.0006,"7.0-7.1":0.00074,"8.1-8.4":0,"9.0-9.2":0.0006,"9.3":0.00208,"10.0-10.2":0.00045,"10.3":0.00342,"11.0-11.2":0.04019,"11.3-11.4":0.00104,"12.0-12.1":0.0006,"12.2-12.5":0.01563,"13.0-13.1":0.0003,"13.2":0.00402,"13.3":0.0006,"13.4-13.7":0.00223,"14.0-14.4":0.00491,"14.5-14.8":0.007,"15.0-15.1":0.00402,"15.2-15.3":0.00372,"15.4":0.00447,"15.5":0.00521,"15.6-15.8":0.05581,"16.0":0.01057,"16.1":0.02233,"16.2":0.01131,"16.3":0.0192,"16.4":0.00387,"16.5":0.00774,"16.6-16.7":0.07323,"17.0":0.00536,"17.1":0.00893,"17.2":0.00744,"17.3":0.01131,"17.4":0.02426,"17.5":0.07248,"17.6-17.7":0.62615,"18.0":0.22206,"18.1":0.19512,"18.2":0.00789},P:{"4":0.1015,"20":0.0812,"21":0.1015,"22":0.20299,"23":0.11165,"24":0.25374,"25":0.24359,"26":0.80182,"27":0.1218,_:"5.0-5.4 8.2 10.1 12.0","6.2-6.4":0.01015,"7.2-7.4":0.24359,"9.2":0.01015,"11.1-11.2":0.01015,"13.0":0.01015,"14.0":0.05075,"15.0":0.0203,"16.0":0.0812,"17.0":0.1218,"18.0":0.0609,"19.0":0.09135},I:{"0":0.11351,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00015},A:{"7":0.00058,"11":0.01505,_:"6 8 9 10 5.5"},K:{"0":10.04396,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.72996},H:{"0":0.64},L:{"0":79.36894},R:{_:"0"},M:{"0":0.0948}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SE.js deleted file mode 100644 index a1599d4b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00553,"56":0.01106,"59":0.00553,"78":0.01658,"88":0.00553,"113":0.01106,"115":0.17137,"119":0.00553,"124":0.00553,"125":0.00553,"126":0.00553,"127":0.00553,"128":0.12162,"129":0.00553,"130":0.02211,"131":0.22112,"132":1.80213,"133":0.11609,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 116 117 118 120 121 122 123 134 135 136 3.5 3.6"},D:{"49":0.00553,"51":0.00553,"61":0.11609,"63":0.00553,"66":0.03317,"74":0.00553,"76":0.00553,"79":0.02211,"87":0.02211,"88":0.00553,"89":0.01658,"90":0.00553,"91":0.00553,"93":0.01658,"94":0.00553,"99":0.00553,"101":0.01106,"103":0.4533,"104":0.00553,"105":0.01658,"106":0.01106,"107":0.00553,"108":0.01658,"109":0.9287,"110":0.00553,"111":0.01658,"112":0.00553,"113":0.09398,"114":0.15478,"115":0.01106,"116":0.34274,"117":0.02764,"118":0.0387,"119":0.12714,"120":0.07739,"121":0.08292,"122":0.18795,"123":0.14373,"124":0.13267,"125":0.32615,"126":0.70758,"127":0.53622,"128":0.7297,"129":4.19022,"130":22.81958,"131":8.51312,"132":0.00553,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 52 53 54 55 56 57 58 59 60 62 64 65 67 68 69 70 71 72 73 75 77 78 80 81 83 84 85 86 92 95 96 97 98 100 102 133 134"},F:{"85":0.01106,"86":0.00553,"95":0.01106,"113":0.08845,"114":0.75734,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00553,"92":0.00553,"99":0.00553,"108":0.00553,"109":0.0995,"110":0.00553,"112":0.03317,"115":0.00553,"119":0.00553,"120":0.00553,"121":0.00553,"122":0.01106,"123":0.00553,"124":0.01106,"125":0.01658,"126":0.03317,"127":0.02211,"128":0.08845,"129":0.34826,"130":3.34444,"131":1.98455,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 100 101 102 103 104 105 106 107 111 113 114 116 117 118"},E:{"14":0.01106,"15":0.00553,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.01106,"12.1":0.01106,"13.1":0.03317,"14.1":0.04422,"15.1":0.00553,"15.2-15.3":0.00553,"15.4":0.02211,"15.5":0.02211,"15.6":0.26534,"16.0":0.02211,"16.1":0.04975,"16.2":0.02764,"16.3":0.09398,"16.4":0.02764,"16.5":0.0387,"16.6":0.34826,"17.0":0.02764,"17.1":0.06081,"17.2":0.04422,"17.3":0.0387,"17.4":0.12714,"17.5":0.22665,"17.6":1.21616,"18.0":0.38696,"18.1":0.5141,"18.2":0.01106},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0023,"5.0-5.1":0,"6.0-6.1":0.00921,"7.0-7.1":0.01152,"8.1-8.4":0,"9.0-9.2":0.00921,"9.3":0.03224,"10.0-10.2":0.00691,"10.3":0.05297,"11.0-11.2":0.62185,"11.3-11.4":0.01612,"12.0-12.1":0.00921,"12.2-12.5":0.24183,"13.0-13.1":0.00461,"13.2":0.06218,"13.3":0.00921,"13.4-13.7":0.03455,"14.0-14.4":0.076,"14.5-14.8":0.10825,"15.0-15.1":0.06218,"15.2-15.3":0.05758,"15.4":0.06909,"15.5":0.08061,"15.6-15.8":0.86368,"16.0":0.16352,"16.1":0.34547,"16.2":0.17504,"16.3":0.29711,"16.4":0.05988,"16.5":0.11976,"16.6-16.7":1.13315,"17.0":0.08291,"17.1":0.13819,"17.2":0.11516,"17.3":0.17504,"17.4":0.37541,"17.5":1.12163,"17.6-17.7":9.68934,"18.0":3.4363,"18.1":3.01943,"18.2":0.12207},P:{"4":0.04154,"20":0.01038,"21":0.02077,"22":0.02077,"23":0.03115,"24":0.03115,"25":0.04154,"26":1.67186,"27":1.61994,"5.0-5.4":0.01038,_:"6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","17.0":0.01038,"19.0":0.01038},I:{"0":0.04909,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.01658,_:"6 7 8 9 10 5.5"},K:{"0":0.15208,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01789},H:{"0":0},L:{"0":17.6746},R:{_:"0"},M:{"0":0.38021}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SG.js deleted file mode 100644 index ab4e2e07..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.00326,"72":0.16926,"77":0.00326,"78":0.00651,"87":0.00326,"89":0.00651,"102":0.01302,"103":0.04232,"105":0.00651,"106":0.00326,"107":0.00651,"108":0.00326,"109":0.00326,"110":0.00326,"111":0.00326,"112":0.00326,"115":0.07487,"116":0.00651,"117":0.00651,"118":0.00977,"123":0.00326,"124":0.00326,"125":0.00977,"127":0.00977,"128":0.01953,"129":0.00326,"130":0.00977,"131":0.06185,"132":0.89838,"133":0.07487,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 79 80 81 82 83 84 85 86 88 90 91 92 93 94 95 96 97 98 99 100 101 104 113 114 119 120 121 122 126 134 135 136 3.5 3.6"},D:{"34":0.00977,"38":0.04883,"41":0.00326,"48":0.00326,"49":0.00651,"53":0.00651,"56":0.00651,"60":0.13346,"65":0.00326,"66":0.00326,"68":0.00326,"70":0.00651,"71":0.00326,"73":0.00326,"74":0.00326,"77":0.14648,"78":0.01628,"79":0.11067,"80":0.0293,"81":0.02604,"83":0.00326,"84":0.00651,"86":0.02279,"87":0.07161,"88":0.00326,"89":0.03906,"90":0.00326,"91":0.01628,"92":0.10416,"93":0.00326,"94":0.04557,"95":0.00977,"96":0.00326,"97":0.00651,"98":0.00977,"99":0.00651,"100":0.02279,"101":0.02604,"102":0.02279,"103":0.04557,"104":0.08463,"105":0.05208,"106":0.05208,"107":0.07487,"108":0.07487,"109":0.47198,"110":0.05208,"111":0.04883,"112":0.04883,"113":0.08138,"114":0.47523,"115":0.01302,"116":0.08463,"117":0.02279,"118":0.01302,"119":0.05208,"120":0.08463,"121":0.07161,"122":0.09765,"123":0.0651,"124":0.51429,"125":1.14902,"126":0.36456,"127":0.99929,"128":0.26691,"129":0.7161,"130":9.05541,"131":5.2373,"132":0.01953,"133":0.01302,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 42 43 44 45 46 47 50 51 52 54 55 57 58 59 61 62 63 64 67 69 72 75 76 85 134"},F:{"28":0.00326,"36":0.00326,"46":0.0293,"78":0.00326,"79":0.00326,"84":0.00326,"85":0.07161,"86":0.00651,"91":0.00326,"92":0.00326,"93":0.00326,"94":0.00326,"95":0.05534,"96":0.00326,"98":0.00326,"101":0.00326,"102":0.00651,"112":0.00326,"113":0.04232,"114":1.01556,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 87 88 89 90 97 99 100 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00326,"92":0.00651,"100":0.00977,"101":0.00651,"102":0.00977,"103":0.01302,"104":0.00651,"105":0.01302,"106":0.01302,"107":0.01628,"108":0.01302,"109":0.02604,"110":0.00326,"111":0.00977,"113":0.00326,"114":0.00651,"115":0.00326,"116":0.00977,"117":0.01302,"118":0.00326,"119":0.00326,"120":0.01302,"121":0.01628,"122":0.00977,"123":0.00651,"124":0.00977,"125":0.00977,"126":0.02279,"127":0.02279,"128":0.03906,"129":0.09765,"130":1.70562,"131":1.10345,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 112"},E:{"8":0.00651,"13":0.00651,"14":0.01302,"15":0.00651,_:"0 4 5 6 7 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00326,"13.1":0.0293,"14.1":0.04557,"15.1":0.00651,"15.2-15.3":0.00326,"15.4":0.01628,"15.5":0.01953,"15.6":0.15299,"16.0":0.04232,"16.1":0.03255,"16.2":0.01628,"16.3":0.05859,"16.4":0.01953,"16.5":0.02604,"16.6":0.22134,"17.0":0.01302,"17.1":0.03255,"17.2":0.03255,"17.3":0.03581,"17.4":0.07161,"17.5":0.15624,"17.6":0.98952,"18.0":0.25389,"18.1":0.35154,"18.2":0.00977},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00143,"5.0-5.1":0,"6.0-6.1":0.00573,"7.0-7.1":0.00716,"8.1-8.4":0,"9.0-9.2":0.00573,"9.3":0.02005,"10.0-10.2":0.0043,"10.3":0.03294,"11.0-11.2":0.38663,"11.3-11.4":0.01002,"12.0-12.1":0.00573,"12.2-12.5":0.15036,"13.0-13.1":0.00286,"13.2":0.03866,"13.3":0.00573,"13.4-13.7":0.02148,"14.0-14.4":0.04725,"14.5-14.8":0.0673,"15.0-15.1":0.03866,"15.2-15.3":0.0358,"15.4":0.04296,"15.5":0.05012,"15.6-15.8":0.53699,"16.0":0.10167,"16.1":0.21479,"16.2":0.10883,"16.3":0.18472,"16.4":0.03723,"16.5":0.07446,"16.6-16.7":0.70453,"17.0":0.05155,"17.1":0.08592,"17.2":0.0716,"17.3":0.10883,"17.4":0.23341,"17.5":0.69737,"17.6-17.7":6.02427,"18.0":2.13649,"18.1":1.8773,"18.2":0.07589},P:{"4":0.2825,"20":0.01046,"21":0.02093,"22":0.01046,"23":0.02093,"24":0.03139,"25":0.03139,"26":1.47527,"27":1.49619,"5.0-5.4":0.03139,"6.2-6.4":0.02093,"7.2-7.4":0.01046,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 18.0","16.0":0.01046,"17.0":0.01046,"19.0":0.01046},I:{"0":16.15239,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00486,"4.4":0,"4.4.3-4.4.4":0.02104},A:{"8":0.01278,"9":0.01917,"11":0.31308,_:"6 7 10 5.5"},K:{"0":1.69974,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0742},O:{"0":0.41819},H:{"0":0},L:{"0":30.44543},R:{_:"0"},M:{"0":0.66101}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SH.js deleted file mode 100644 index ab084637..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"131":0.20074,"132":0.04153,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 133 134 135 136 3.5 3.6"},D:{"94":0.02077,"109":10.82601,"119":0.02077,"120":0.01038,"128":0.58145,"129":0.24227,"130":5.48915,"131":2.26696,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 121 122 123 124 125 126 127 132 133 134"},F:{"114":0.62298,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"92":0.02077,"124":0.04845,"128":0.03115,"129":0.19036,"130":1.37402,"131":4.2155,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 125 126 127"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.2 17.3 17.4 17.5 18.0 18.1 18.2","17.6":0.01038},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00011,"5.0-5.1":0,"6.0-6.1":0.00046,"7.0-7.1":0.00057,"8.1-8.4":0,"9.0-9.2":0.00046,"9.3":0.0016,"10.0-10.2":0.00034,"10.3":0.00263,"11.0-11.2":0.0309,"11.3-11.4":0.0008,"12.0-12.1":0.00046,"12.2-12.5":0.01202,"13.0-13.1":0.00023,"13.2":0.00309,"13.3":0.00046,"13.4-13.7":0.00172,"14.0-14.4":0.00378,"14.5-14.8":0.00538,"15.0-15.1":0.00309,"15.2-15.3":0.00286,"15.4":0.00343,"15.5":0.00401,"15.6-15.8":0.04291,"16.0":0.00812,"16.1":0.01716,"16.2":0.0087,"16.3":0.01476,"16.4":0.00298,"16.5":0.00595,"16.6-16.7":0.0563,"17.0":0.00412,"17.1":0.00687,"17.2":0.00572,"17.3":0.0087,"17.4":0.01865,"17.5":0.05573,"17.6-17.7":0.48142,"18.0":0.17073,"18.1":0.15002,"18.2":0.00606},P:{"22":0.29567,"24":0.36138,"26":0.17521,"27":0.0219,_:"4 20 21 23 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 17.0 18.0 19.0","16.0":0.05475},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":71.69352},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SI.js deleted file mode 100644 index eb185eb3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"9":0.00527,"52":0.03688,"68":0.00527,"78":0.01054,"83":0.01054,"88":0.00527,"89":0.00527,"91":0.01054,"102":0.01054,"103":0.01054,"113":0.03688,"115":0.94842,"118":0.01581,"122":0.02635,"124":0.00527,"125":0.01054,"126":0.02635,"127":0.04215,"128":0.08957,"129":0.03161,"130":0.03688,"131":0.38991,"132":5.25846,"133":0.48475,_:"2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 84 85 86 87 90 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 112 114 116 117 119 120 121 123 134 135 136 3.5 3.6"},D:{"48":0.00527,"49":0.01581,"51":0.04215,"56":0.00527,"58":0.00527,"79":0.02635,"85":0.00527,"87":0.04742,"88":0.01054,"90":0.01054,"91":0.01054,"92":0.01581,"93":0.00527,"94":0.00527,"98":0.04215,"99":0.00527,"100":0.01581,"102":0.00527,"103":0.0685,"104":0.02108,"105":0.00527,"106":0.00527,"108":0.01054,"109":1.69662,"110":0.00527,"111":0.02108,"112":0.00527,"114":0.01581,"115":0.52163,"116":0.16334,"117":0.00527,"118":0.00527,"119":0.03161,"120":0.02635,"121":0.04742,"122":0.08957,"123":0.69551,"124":0.0685,"125":0.03688,"126":0.0685,"127":0.09484,"128":0.29506,"129":0.92734,"130":17.33501,"131":10.59596,"132":0.00527,"133":0.00527,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 50 52 53 54 55 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 86 89 95 96 97 101 107 113 134"},F:{"46":0.01581,"85":0.01054,"95":0.02108,"112":0.00527,"113":0.07377,"114":1.33833,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.02635,"85":0.00527,"92":0.00527,"107":0.00527,"108":0.00527,"109":0.07904,"115":0.00527,"120":0.00527,"121":0.01054,"122":0.01054,"123":0.00527,"124":0.00527,"125":0.00527,"126":0.02108,"127":0.01581,"128":0.04215,"129":0.17388,"130":3.28786,"131":2.2604,_:"12 13 14 15 16 17 79 80 81 83 84 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 110 111 112 113 114 116 117 118 119"},E:{"14":0.08957,"15":0.00527,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00527,"13.1":0.05269,"14.1":0.08957,"15.1":0.01054,"15.2-15.3":0.01054,"15.4":0.01054,"15.5":0.02108,"15.6":0.14226,"16.0":0.01581,"16.1":0.05269,"16.2":0.03688,"16.3":0.07904,"16.4":0.01581,"16.5":0.03688,"16.6":0.2898,"17.0":0.04215,"17.1":0.03688,"17.2":0.02635,"17.3":0.02635,"17.4":0.08957,"17.5":0.5269,"17.6":0.72185,"18.0":0.48475,"18.1":0.53217,"18.2":0.03161},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00117,"5.0-5.1":0,"6.0-6.1":0.00467,"7.0-7.1":0.00583,"8.1-8.4":0,"9.0-9.2":0.00467,"9.3":0.01634,"10.0-10.2":0.0035,"10.3":0.02684,"11.0-11.2":0.31507,"11.3-11.4":0.00817,"12.0-12.1":0.00467,"12.2-12.5":0.12253,"13.0-13.1":0.00233,"13.2":0.03151,"13.3":0.00467,"13.4-13.7":0.0175,"14.0-14.4":0.03851,"14.5-14.8":0.05484,"15.0-15.1":0.03151,"15.2-15.3":0.02917,"15.4":0.03501,"15.5":0.04084,"15.6-15.8":0.43759,"16.0":0.08285,"16.1":0.17504,"16.2":0.08869,"16.3":0.15053,"16.4":0.03034,"16.5":0.06068,"16.6-16.7":0.57412,"17.0":0.04201,"17.1":0.07001,"17.2":0.05835,"17.3":0.08869,"17.4":0.19021,"17.5":0.56829,"17.6-17.7":4.9092,"18.0":1.74103,"18.1":1.52982,"18.2":0.06185},P:{"4":0.15546,"20":0.01036,"21":0.01036,"22":0.04146,"23":0.04146,"24":0.03109,"25":0.13473,"26":1.94845,"27":1.37843,"5.0-5.4":0.02073,"6.2-6.4":0.01036,_:"7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 16.0 18.0 19.0","14.0":0.01036,"15.0":0.01036,"17.0":0.01036},I:{"0":0.02361,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.0843,_:"6 7 8 9 10 5.5"},K:{"0":0.32178,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00946},H:{"0":0},L:{"0":31.2352},R:{_:"0"},M:{"0":0.50159}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SK.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SK.js deleted file mode 100644 index 07cf1e52..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SK.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"43":0.00509,"52":0.05597,"66":0.00509,"68":0.00509,"72":0.00509,"78":0.00509,"84":0.00509,"91":0.00509,"99":0.01018,"101":0.00509,"102":0.00509,"103":0.01018,"105":0.00509,"106":0.00509,"111":0.00509,"113":0.00509,"114":0.00509,"115":0.67162,"118":0.05597,"120":0.00509,"122":0.00509,"123":0.00509,"124":0.00509,"125":0.07123,"126":0.00509,"127":0.03562,"128":0.10685,"129":0.02035,"130":0.0407,"131":0.31037,"132":4.76237,"133":0.37142,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 69 70 71 73 74 75 76 77 79 80 81 82 83 85 86 87 88 89 90 92 93 94 95 96 97 98 100 104 107 108 109 110 112 116 117 119 121 134 135 136 3.5 3.6"},D:{"38":0.00509,"41":0.00509,"49":0.01526,"51":0.00509,"64":0.00509,"65":0.00509,"67":0.01018,"77":0.10176,"79":0.10685,"81":0.00509,"83":0.00509,"86":0.00509,"87":0.05088,"88":0.01018,"89":0.00509,"90":0.00509,"91":0.00509,"92":0.03562,"94":0.01018,"95":0.00509,"98":0.00509,"99":0.00509,"100":0.00509,"102":0.03562,"103":0.09158,"104":0.01526,"105":0.00509,"106":0.02544,"107":0.02544,"108":0.03562,"109":1.49587,"110":0.00509,"111":0.02035,"112":0.00509,"113":0.10685,"114":0.11702,"115":0.00509,"116":0.14246,"117":0.00509,"118":0.00509,"119":0.03053,"120":0.03053,"121":0.01526,"122":0.10176,"123":0.03562,"124":0.1272,"125":0.10685,"126":0.07123,"127":0.07123,"128":0.16282,"129":0.99725,"130":17.74186,"131":11.33098,"132":0.01526,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 45 46 47 48 50 52 53 54 55 56 57 58 59 60 61 62 63 66 68 69 70 71 72 73 74 75 76 78 80 84 85 93 96 97 101 133 134"},F:{"46":0.01526,"79":0.00509,"84":0.00509,"85":0.03053,"86":0.00509,"95":0.10685,"112":0.00509,"113":0.21878,"114":2.27434,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"91":0.00509,"92":0.02544,"97":0.00509,"107":0.00509,"109":0.05597,"110":0.00509,"114":0.00509,"115":0.00509,"118":0.00509,"120":0.00509,"121":0.03562,"122":0.01018,"123":0.01018,"124":0.00509,"125":0.00509,"126":0.02035,"127":0.03562,"128":0.05088,"129":0.2137,"130":2.68646,"131":1.64851,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 93 94 95 96 98 99 100 101 102 103 104 105 106 108 111 112 113 116 117 119"},E:{"14":0.00509,"15":0.01018,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00509,"13.1":0.02035,"14.1":0.02544,"15.1":0.00509,"15.2-15.3":0.00509,"15.4":0.00509,"15.5":0.01018,"15.6":0.11702,"16.0":0.00509,"16.1":0.01526,"16.2":0.02035,"16.3":0.0407,"16.4":0.01526,"16.5":0.01526,"16.6":0.13738,"17.0":0.00509,"17.1":0.02035,"17.2":0.04579,"17.3":0.02544,"17.4":0.04579,"17.5":0.12211,"17.6":0.47827,"18.0":0.28493,"18.1":0.51389,"18.2":0.06106},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00101,"5.0-5.1":0,"6.0-6.1":0.00403,"7.0-7.1":0.00504,"8.1-8.4":0,"9.0-9.2":0.00403,"9.3":0.01412,"10.0-10.2":0.00303,"10.3":0.0232,"11.0-11.2":0.27235,"11.3-11.4":0.00706,"12.0-12.1":0.00403,"12.2-12.5":0.10592,"13.0-13.1":0.00202,"13.2":0.02724,"13.3":0.00403,"13.4-13.7":0.01513,"14.0-14.4":0.03329,"14.5-14.8":0.04741,"15.0-15.1":0.02724,"15.2-15.3":0.02522,"15.4":0.03026,"15.5":0.03531,"15.6-15.8":0.37827,"16.0":0.07162,"16.1":0.15131,"16.2":0.07666,"16.3":0.13012,"16.4":0.02623,"16.5":0.05245,"16.6-16.7":0.49629,"17.0":0.03631,"17.1":0.06052,"17.2":0.05044,"17.3":0.07666,"17.4":0.16442,"17.5":0.49125,"17.6-17.7":4.24368,"18.0":1.50501,"18.1":1.32243,"18.2":0.05346},P:{"4":0.14567,"21":0.01041,"22":0.02081,"23":0.03122,"24":0.03122,"25":0.03122,"26":0.96767,"27":0.97807,_:"20 8.2 9.2 10.1 11.1-11.2 12.0 14.0 15.0 16.0 17.0 18.0","5.0-5.4":0.01041,"6.2-6.4":0.02081,"7.2-7.4":0.01041,"13.0":0.01041,"19.0":0.01041},I:{"0":0.0686,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"8":0.00763,"11":0.00763,_:"6 7 9 10 5.5"},K:{"0":0.45181,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00491},O:{"0":0.02456},H:{"0":0},L:{"0":36.43432},R:{_:"0"},M:{"0":0.30939}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SL.js deleted file mode 100644 index 0feb9ec0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00151,"52":0.00904,"66":0.00151,"78":0.00151,"91":0.00151,"102":0.00151,"109":0.00151,"112":0.00151,"115":0.00904,"127":0.00603,"128":0.00754,"129":0.01055,"130":0.00151,"131":0.01959,"132":0.48073,"133":0.06782,"134":0.00151,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 110 111 113 114 116 117 118 119 120 121 122 123 124 125 126 135 136 3.5 3.6"},D:{"22":0.00151,"47":0.01055,"48":0.01356,"55":0.00151,"58":0.00452,"59":0.00151,"60":0.00301,"62":0.00452,"63":0.01055,"64":0.00603,"65":0.00151,"67":0.00301,"68":0.00754,"69":0.00301,"70":0.00301,"71":0.00151,"73":0.00151,"74":0.00603,"75":0.05425,"76":0.01055,"77":0.00151,"79":0.00904,"80":0.00301,"81":0.03466,"83":0.00904,"84":0.00151,"86":0.00452,"87":0.01808,"88":0.00603,"89":0.00151,"90":0.00151,"91":0.00754,"92":0.00301,"93":0.02411,"94":0.00603,"96":0.00151,"98":0.00151,"99":0.00904,"100":0.00301,"101":0.00452,"103":0.0422,"105":0.00754,"106":0.00151,"108":0.00301,"109":0.107,"110":0.00151,"111":0.00151,"112":0.00452,"113":0.00151,"114":0.0211,"115":0.00301,"116":0.0437,"117":0.00151,"118":0.01055,"119":0.06028,"120":0.01658,"121":0.01356,"122":0.01959,"123":0.00754,"124":0.01356,"125":0.01206,"126":0.04822,"127":0.07535,"128":0.05275,"129":0.19892,"130":2.66588,"131":1.80539,"132":0.00603,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 52 53 54 56 57 61 66 72 78 85 95 97 102 104 107 133 134"},F:{"36":0.00151,"42":0.00151,"45":0.00151,"49":0.00151,"50":0.00151,"65":0.00603,"79":0.00754,"83":0.00301,"84":0.00151,"85":0.02713,"89":0.00151,"95":0.03466,"104":0.00301,"110":0.00151,"112":0.00603,"113":0.00754,"114":0.58622,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 46 47 48 51 52 53 54 55 56 57 58 60 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 86 87 88 90 91 92 93 94 96 97 98 99 100 101 102 103 105 106 107 108 109 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 12.1","11.6":0.00151},B:{"12":0.01507,"13":0.00301,"14":0.00151,"15":0.00301,"16":0.00301,"18":0.04822,"84":0.03315,"89":0.00754,"90":0.01959,"92":0.07535,"100":0.00904,"103":0.00151,"110":0.00151,"111":0.00151,"112":0.00151,"119":0.00603,"120":0.00151,"121":0.00301,"122":0.00301,"123":0.00301,"124":0.00301,"125":0.00754,"126":0.00754,"127":0.01206,"128":0.01055,"129":0.03768,"130":0.99462,"131":0.58622,_:"17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 104 105 106 107 108 109 113 114 115 116 117 118"},E:{"11":0.00301,_:"0 4 5 6 7 8 9 10 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 15.2-15.3 15.4 16.0 17.0 17.1 17.3 18.2","11.1":0.00904,"13.1":0.02562,"14.1":0.00603,"15.1":0.00151,"15.5":0.00151,"15.6":0.03768,"16.1":0.00301,"16.2":0.00151,"16.3":0.00452,"16.4":0.00151,"16.5":0.00603,"16.6":0.02261,"17.2":0.02863,"17.4":0.00603,"17.5":0.02713,"17.6":0.03918,"18.0":0.0648,"18.1":0.02562},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00061,"5.0-5.1":0,"6.0-6.1":0.00245,"7.0-7.1":0.00306,"8.1-8.4":0,"9.0-9.2":0.00245,"9.3":0.00856,"10.0-10.2":0.00183,"10.3":0.01406,"11.0-11.2":0.16508,"11.3-11.4":0.00428,"12.0-12.1":0.00245,"12.2-12.5":0.0642,"13.0-13.1":0.00122,"13.2":0.01651,"13.3":0.00245,"13.4-13.7":0.00917,"14.0-14.4":0.02018,"14.5-14.8":0.02874,"15.0-15.1":0.01651,"15.2-15.3":0.01529,"15.4":0.01834,"15.5":0.0214,"15.6-15.8":0.22928,"16.0":0.04341,"16.1":0.09171,"16.2":0.04647,"16.3":0.07887,"16.4":0.0159,"16.5":0.03179,"16.6-16.7":0.30082,"17.0":0.02201,"17.1":0.03669,"17.2":0.03057,"17.3":0.04647,"17.4":0.09966,"17.5":0.29776,"17.6-17.7":2.57226,"18.0":0.91224,"18.1":0.80158,"18.2":0.03241},P:{"4":0.27366,"21":0.11149,"22":0.13176,"23":0.01014,"24":0.08108,"25":0.05068,"26":0.2838,"27":0.13176,_:"20 6.2-6.4 8.2 10.1 12.0 13.0 14.0 17.0 18.0","5.0-5.4":0.03041,"7.2-7.4":0.07095,"9.2":0.01014,"11.1-11.2":0.01014,"15.0":0.02027,"16.0":0.02027,"19.0":0.02027},I:{"0":0.01695,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"10":0.0028,"11":0.01679,_:"6 7 8 9 5.5"},K:{"0":6.62787,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.02548,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.19532},H:{"0":2},L:{"0":74.0167},R:{_:"0"},M:{"0":0.02548}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SM.js deleted file mode 100644 index 2f6eb740..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00681,"78":0.72846,"97":0.00681,"115":0.51741,"124":0.02042,"128":0.04766,"130":0.00681,"131":0.21105,"132":3.09083,"133":0.09531,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 125 126 127 129 134 135 136 3.5 3.6"},D:{"66":0.01362,"79":0.02042,"87":0.01362,"88":0.00681,"94":0.00681,"100":0.00681,"102":0.00681,"103":0.02723,"104":0.01362,"105":0.02042,"106":0.04766,"109":5.20131,"116":2.8049,"117":0.02723,"121":0.00681,"123":0.02042,"124":0.04766,"125":0.00681,"126":0.12254,"127":0.01362,"128":0.87823,"129":1.32075,"130":34.85015,"131":7.18244,"132":0.01362,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 85 86 89 90 91 92 93 95 96 97 98 99 101 107 108 110 111 112 113 114 115 118 119 120 122 133 134"},F:{"89":0.06808,"112":0.00681,"113":0.02042,"114":0.16339,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"130":1.99474,"131":1.15736,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 13.1 15.1 15.2-15.3 15.4 16.1 16.2 17.0 17.2 17.3","12.1":0.00681,"14.1":3.34954,"15.5":0.00681,"15.6":0.16339,"16.0":0.02042,"16.3":0.00681,"16.4":0.01362,"16.5":0.05446,"16.6":0.11574,"17.1":0.00681,"17.4":0.04085,"17.5":0.5923,"17.6":0.5991,"18.0":0.60591,"18.1":0.4289,"18.2":0.00681},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00072,"5.0-5.1":0,"6.0-6.1":0.00287,"7.0-7.1":0.00358,"8.1-8.4":0,"9.0-9.2":0.00287,"9.3":0.01003,"10.0-10.2":0.00215,"10.3":0.01648,"11.0-11.2":0.19348,"11.3-11.4":0.00502,"12.0-12.1":0.00287,"12.2-12.5":0.07524,"13.0-13.1":0.00143,"13.2":0.01935,"13.3":0.00287,"13.4-13.7":0.01075,"14.0-14.4":0.02365,"14.5-14.8":0.03368,"15.0-15.1":0.01935,"15.2-15.3":0.01792,"15.4":0.0215,"15.5":0.02508,"15.6-15.8":0.26873,"16.0":0.05088,"16.1":0.10749,"16.2":0.05446,"16.3":0.09244,"16.4":0.01863,"16.5":0.03726,"16.6-16.7":0.35257,"17.0":0.0258,"17.1":0.043,"17.2":0.03583,"17.3":0.05446,"17.4":0.11681,"17.5":0.34899,"17.6-17.7":3.01475,"18.0":1.06917,"18.1":0.93947,"18.2":0.03798},P:{"23":0.01022,"26":1.9004,"27":0.4189,_:"4 20 21 22 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 16.0 17.0 18.0 19.0","14.0":0.01022},I:{"0":0.03822,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.00958,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00958,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":23.16134},R:{_:"0"},M:{"0":0.15322}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SN.js deleted file mode 100644 index da425aa0..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00177,"57":0.00177,"59":0.00177,"70":0.00532,"72":0.00177,"78":0.00532,"81":0.00177,"84":0.00177,"91":0.00355,"99":0.00177,"104":0.00177,"109":0.00177,"113":0.00355,"115":0.11176,"121":0.00177,"126":0.01419,"127":0.00355,"128":0.0071,"129":0.00177,"130":0.00887,"131":0.03548,"132":0.74153,"133":0.06386,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 58 60 61 62 63 64 65 66 67 68 69 71 73 74 75 76 77 79 80 82 83 85 86 87 88 89 90 92 93 94 95 96 97 98 100 101 102 103 105 106 107 108 110 111 112 114 116 117 118 119 120 122 123 124 125 134 135 136 3.5 3.6"},D:{"38":0.00177,"47":0.00177,"49":0.00355,"53":0.00177,"56":0.00355,"65":0.0071,"66":0.00177,"68":0.00177,"69":0.01419,"70":0.00532,"72":0.00177,"73":0.00532,"74":0.00177,"75":0.00355,"76":0.00532,"77":0.00177,"79":0.04435,"80":0.00355,"81":0.00532,"83":0.00887,"84":0.00177,"85":0.00177,"86":0.01242,"87":0.02129,"88":0.01242,"91":0.00532,"92":0.00177,"93":0.02484,"94":0.01419,"95":0.0071,"96":0.00177,"98":0.01597,"100":0.00177,"103":0.06386,"104":0.00177,"105":0.00532,"106":0.00532,"107":0.00532,"108":0.00532,"109":0.65815,"110":0.00887,"111":0.00355,"112":0.00532,"114":0.01597,"115":0.00177,"116":0.08338,"117":0.00355,"118":0.00532,"119":0.02306,"120":0.01597,"121":0.01064,"122":0.01419,"123":0.02484,"124":0.02306,"125":0.01774,"126":0.06741,"127":0.05145,"128":0.10467,"129":0.12773,"130":4.65675,"131":2.97855,"132":0.00532,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 54 55 57 58 59 60 61 62 63 64 67 71 78 89 90 97 99 101 102 113 133 134"},F:{"36":0.00177,"40":0.00177,"46":0.0071,"64":0.00177,"73":0.00177,"79":0.00177,"85":0.00355,"89":0.00177,"95":0.02306,"102":0.00177,"112":0.00177,"113":0.00532,"114":0.34416,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 82 83 84 86 87 88 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00177,"17":0.00177,"18":0.00532,"84":0.00177,"90":0.00355,"92":0.01419,"100":0.00177,"109":0.01419,"110":0.00177,"114":0.00355,"115":0.00177,"119":0.00177,"120":0.00177,"121":0.00355,"122":0.00177,"123":0.00177,"124":0.00355,"125":0.01064,"126":0.01951,"127":0.03903,"128":0.02484,"129":0.0479,"130":1.42452,"131":1.03602,_:"13 14 15 16 79 80 81 83 85 86 87 88 89 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 111 112 113 116 117 118"},E:{"11":0.00177,"14":0.00177,_:"0 4 5 6 7 8 9 10 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.4","12.1":0.00177,"13.1":0.01774,"14.1":0.02661,"15.1":0.00177,"15.2-15.3":0.00177,"15.5":0.00177,"15.6":0.06564,"16.0":0.00177,"16.1":0.01597,"16.2":0.00532,"16.3":0.00355,"16.4":0.00177,"16.5":0.00177,"16.6":0.03548,"17.0":0.00887,"17.1":0.00177,"17.2":0.00177,"17.3":0.00355,"17.4":0.01242,"17.5":0.01951,"17.6":0.09934,"18.0":0.04258,"18.1":0.06741,"18.2":0.00177},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00166,"5.0-5.1":0,"6.0-6.1":0.00665,"7.0-7.1":0.00831,"8.1-8.4":0,"9.0-9.2":0.00665,"9.3":0.02326,"10.0-10.2":0.00498,"10.3":0.03821,"11.0-11.2":0.44859,"11.3-11.4":0.01163,"12.0-12.1":0.00665,"12.2-12.5":0.17445,"13.0-13.1":0.00332,"13.2":0.04486,"13.3":0.00665,"13.4-13.7":0.02492,"14.0-14.4":0.05483,"14.5-14.8":0.07809,"15.0-15.1":0.04486,"15.2-15.3":0.04154,"15.4":0.04984,"15.5":0.05815,"15.6-15.8":0.62304,"16.0":0.11796,"16.1":0.24922,"16.2":0.12627,"16.3":0.21433,"16.4":0.0432,"16.5":0.0864,"16.6-16.7":0.81743,"17.0":0.05981,"17.1":0.09969,"17.2":0.08307,"17.3":0.12627,"17.4":0.27082,"17.5":0.80913,"17.6-17.7":6.98972,"18.0":2.47888,"18.1":2.17816,"18.2":0.08806},P:{"4":0.1637,"20":0.01023,"21":0.04092,"22":0.10231,"23":0.05116,"24":0.133,"25":0.11254,"26":0.83895,"27":0.53202,"5.0-5.4":0.01023,"6.2-6.4":0.01023,"7.2-7.4":0.39901,_:"8.2 9.2 10.1 12.0 14.0 18.0","11.1-11.2":0.01023,"13.0":0.01023,"15.0":0.01023,"16.0":0.02046,"17.0":0.01023,"19.0":0.05116},I:{"0":0.04103,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"11":0.00177,_:"6 7 8 9 10 5.5"},K:{"0":0.1645,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01645},H:{"0":0},L:{"0":66.46086},R:{_:"0"},M:{"0":0.05758}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SO.js deleted file mode 100644 index 90ab972b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"102":0.00196,"106":0.00196,"115":0.04711,"120":0.00196,"124":0.00196,"127":0.00393,"128":0.00785,"129":0.00982,"130":0.00196,"131":0.02159,"132":0.46327,"133":0.05496,"134":0.00393,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 107 108 109 110 111 112 113 114 116 117 118 119 121 122 123 125 126 135 136 3.5 3.6"},D:{"49":0.02356,"50":0.00196,"56":0.00196,"58":0.00393,"64":0.00589,"65":0.00196,"68":0.00982,"69":0.03141,"70":0.00196,"71":0.00196,"72":0.03141,"73":0.00196,"74":0.00196,"78":0.00393,"79":0.02356,"80":0.00196,"81":0.00196,"83":0.01767,"86":0.01374,"87":0.05496,"88":0.01178,"90":0.00196,"91":0.00196,"93":0.00589,"94":0.01374,"95":0.00785,"96":0.00196,"98":0.31604,"99":0.00196,"100":0.02159,"103":0.03337,"105":0.00196,"106":0.00982,"107":0.00393,"108":0.01178,"109":0.2866,"110":0.00393,"111":0.00982,"112":0.00982,"113":0.00196,"114":0.00196,"115":0.00393,"116":0.03533,"117":0.00393,"118":0.01178,"119":0.07459,"120":0.02159,"121":0.00393,"122":0.04122,"123":0.01374,"124":0.02159,"125":0.02748,"126":0.05496,"127":0.16293,"128":0.05693,"129":0.19434,"130":8.13467,"131":4.68961,"132":0.00589,"133":0.00196,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 52 53 54 55 57 59 60 61 62 63 66 67 75 76 77 84 85 89 92 97 101 102 104 134"},F:{"79":0.00196,"85":0.0157,"95":0.00589,"112":0.00393,"113":0.02552,"114":0.58301,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.06871,"16":0.00196,"18":0.00785,"84":0.00196,"89":0.00196,"90":0.00393,"92":0.05889,"100":0.00393,"107":0.00785,"109":0.00982,"110":0.00196,"111":0.00393,"114":0.00393,"117":0.00393,"122":0.00785,"123":0.00196,"124":0.00393,"125":0.00196,"126":0.00589,"127":0.00982,"128":0.01767,"129":0.15704,"130":1.29754,"131":0.98739,_:"12 13 15 17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 108 112 113 115 116 118 119 120 121"},E:{"14":0.00196,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.1 15.2-15.3 16.2 16.4 16.5","5.1":0.00393,"14.1":0.00196,"15.4":0.00196,"15.5":0.00982,"15.6":0.03337,"16.0":0.00393,"16.1":0.00393,"16.3":0.05889,"16.6":0.06282,"17.0":0.00196,"17.1":0.00589,"17.2":0.00393,"17.3":0.01374,"17.4":0.00589,"17.5":0.03141,"17.6":0.07656,"18.0":0.03926,"18.1":0.03141,"18.2":0.00785},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00069,"5.0-5.1":0,"6.0-6.1":0.00275,"7.0-7.1":0.00344,"8.1-8.4":0,"9.0-9.2":0.00275,"9.3":0.00964,"10.0-10.2":0.00207,"10.3":0.01584,"11.0-11.2":0.18595,"11.3-11.4":0.00482,"12.0-12.1":0.00275,"12.2-12.5":0.07231,"13.0-13.1":0.00138,"13.2":0.01859,"13.3":0.00275,"13.4-13.7":0.01033,"14.0-14.4":0.02273,"14.5-14.8":0.03237,"15.0-15.1":0.01859,"15.2-15.3":0.01722,"15.4":0.02066,"15.5":0.0241,"15.6-15.8":0.25826,"16.0":0.0489,"16.1":0.1033,"16.2":0.05234,"16.3":0.08884,"16.4":0.01791,"16.5":0.03581,"16.6-16.7":0.33883,"17.0":0.02479,"17.1":0.04132,"17.2":0.03443,"17.3":0.05234,"17.4":0.11226,"17.5":0.33539,"17.6-17.7":2.8973,"18.0":1.02752,"18.1":0.90287,"18.2":0.0365},P:{"4":0.11242,"20":0.01022,"21":0.04088,"22":0.17373,"23":0.11242,"24":0.49055,"25":0.20439,"26":1.23658,"27":0.47011,_:"5.0-5.4 8.2 9.2 10.1 12.0 13.0 15.0","6.2-6.4":0.01022,"7.2-7.4":0.64384,"11.1-11.2":0.01022,"14.0":0.01022,"16.0":0.09198,"17.0":0.01022,"18.0":0.01022,"19.0":0.12264},I:{"0":0.07216,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.00393,_:"6 7 8 9 10 5.5"},K:{"0":1.3463,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.49823},H:{"0":0.06},L:{"0":68.08161},R:{_:"0"},M:{"0":0.05625}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SR.js deleted file mode 100644 index 228ea840..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"66":0.00272,"78":0.00272,"101":0.05991,"104":0.00545,"115":0.43023,"127":0.00272,"128":0.00272,"129":0.00272,"130":0.01906,"131":0.13887,"132":2.22197,"133":0.12254,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"69":0.01362,"70":0.00545,"73":0.00272,"74":0.02723,"76":0.00817,"79":0.01089,"81":0.03812,"83":0.01362,"87":0.00545,"88":0.00272,"89":0.00272,"91":0.00272,"92":0.01634,"93":0.00545,"94":0.01362,"96":0.00272,"102":0.00272,"103":0.05718,"105":0.00272,"108":0.01906,"109":0.64535,"110":0.00272,"111":0.05446,"113":0.00272,"114":0.00545,"116":0.01089,"118":0.00817,"119":0.01906,"120":0.02723,"121":0.00272,"122":0.77061,"123":0.02995,"124":0.01089,"125":0.04357,"126":0.06535,"127":0.03268,"128":0.21512,"129":0.37577,"130":7.71426,"131":5.50591,"132":0.00817,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 71 72 75 77 78 80 84 85 86 90 95 97 98 99 100 101 104 106 107 112 115 117 133 134"},F:{"36":0.00272,"79":0.00272,"85":0.01089,"95":0.00545,"98":0.00272,"111":0.00817,"112":0.00545,"113":0.01906,"114":0.78695,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 99 100 101 102 103 104 105 106 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00272,"18":0.00817,"90":0.00272,"92":0.01362,"93":0.00272,"109":0.06808,"111":0.00272,"114":0.00545,"118":0.00272,"120":0.00272,"122":0.00272,"123":0.00272,"124":0.00272,"125":0.00817,"126":0.00545,"127":0.02178,"128":0.01634,"129":0.10892,"130":2.17295,"131":1.2199,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 91 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 112 113 115 116 117 119 121"},E:{"14":0.00817,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 16.2 17.0 17.3","13.1":0.01634,"14.1":0.04629,"15.4":0.00272,"15.5":0.01906,"15.6":0.14432,"16.0":0.01089,"16.1":0.01906,"16.3":0.01362,"16.4":0.00817,"16.5":0.00272,"16.6":0.18789,"17.1":0.00272,"17.2":0.00272,"17.4":0.03268,"17.5":0.04901,"17.6":0.29136,"18.0":0.26685,"18.1":0.0708,"18.2":0.01634},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00121,"5.0-5.1":0,"6.0-6.1":0.00483,"7.0-7.1":0.00604,"8.1-8.4":0,"9.0-9.2":0.00483,"9.3":0.01692,"10.0-10.2":0.00363,"10.3":0.0278,"11.0-11.2":0.32631,"11.3-11.4":0.00846,"12.0-12.1":0.00483,"12.2-12.5":0.1269,"13.0-13.1":0.00242,"13.2":0.03263,"13.3":0.00483,"13.4-13.7":0.01813,"14.0-14.4":0.03988,"14.5-14.8":0.0568,"15.0-15.1":0.03263,"15.2-15.3":0.03021,"15.4":0.03626,"15.5":0.0423,"15.6-15.8":0.4532,"16.0":0.08581,"16.1":0.18128,"16.2":0.09185,"16.3":0.1559,"16.4":0.03142,"16.5":0.06284,"16.6-16.7":0.5946,"17.0":0.04351,"17.1":0.07251,"17.2":0.06043,"17.3":0.09185,"17.4":0.19699,"17.5":0.58856,"17.6-17.7":5.08434,"18.0":1.80315,"18.1":1.5844,"18.2":0.06405},P:{"4":0.02066,"20":0.01033,"21":0.09299,"22":0.08266,"23":0.05166,"24":0.13432,"25":0.12399,"26":3.07898,"27":2.45905,"5.0-5.4":0.01033,_:"6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 18.0","7.2-7.4":0.24797,"11.1-11.2":0.01033,"13.0":0.01033,"16.0":0.01033,"17.0":0.031,"19.0":0.02066},I:{"0":0.00726,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.34197,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.14552},O:{"0":0.34197},H:{"0":0},L:{"0":54.97449},R:{_:"0"},M:{"0":0.06548}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ST.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ST.js deleted file mode 100644 index 99624b48..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ST.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"78":0.01218,"115":2.91006,"118":0.00609,"126":0.00609,"130":0.00609,"131":0.00609,"132":0.24352,"133":0.01826,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 119 120 121 122 123 124 125 127 128 129 134 135 136 3.5 3.6"},D:{"43":0.01218,"63":0.01826,"67":0.00609,"68":0.03044,"71":0.02435,"76":0.00609,"79":0.23134,"81":0.01218,"83":0.03044,"87":0.78535,"89":0.17046,"94":0.03044,"103":0.01826,"106":0.00609,"109":2.69698,"114":0.06088,"116":13.01614,"118":0.03044,"119":0.1522,"121":0.00609,"122":0.00609,"123":0.21917,"124":0.00609,"125":0.00609,"126":0.06697,"127":0.00609,"128":0.24352,"129":0.37137,"130":5.63749,"131":2.64828,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 69 70 72 73 74 75 77 78 80 84 85 86 88 90 91 92 93 95 96 97 98 99 100 101 102 104 105 107 108 110 111 112 113 115 117 120 132 133 134"},F:{"79":0.00609,"84":0.00609,"95":0.01218,"113":0.22526,"114":0.3531,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.04262,"16":0.00609,"92":0.03044,"109":1.9299,"120":0.03044,"121":0.01218,"122":0.00609,"126":0.03044,"127":0.00609,"128":0.00609,"129":0.15829,"130":11.31759,"131":9.8443,_:"12 13 15 17 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 123 124 125"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.4 16.5 16.6 17.0 17.1 17.2 17.3 18.2","15.6":0.4566,"16.3":0.01826,"17.4":0.01826,"17.5":0.00609,"17.6":0.19482,"18.0":0.04262,"18.1":1.522},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00015,"5.0-5.1":0,"6.0-6.1":0.00059,"7.0-7.1":0.00073,"8.1-8.4":0,"9.0-9.2":0.00059,"9.3":0.00205,"10.0-10.2":0.00044,"10.3":0.00336,"11.0-11.2":0.03949,"11.3-11.4":0.00102,"12.0-12.1":0.00059,"12.2-12.5":0.01536,"13.0-13.1":0.00029,"13.2":0.00395,"13.3":0.00059,"13.4-13.7":0.00219,"14.0-14.4":0.00483,"14.5-14.8":0.00687,"15.0-15.1":0.00395,"15.2-15.3":0.00366,"15.4":0.00439,"15.5":0.00512,"15.6-15.8":0.05485,"16.0":0.01039,"16.1":0.02194,"16.2":0.01112,"16.3":0.01887,"16.4":0.0038,"16.5":0.00761,"16.6-16.7":0.07197,"17.0":0.00527,"17.1":0.00878,"17.2":0.00731,"17.3":0.01112,"17.4":0.02384,"17.5":0.07123,"17.6-17.7":0.61536,"18.0":0.21824,"18.1":0.19176,"18.2":0.00775},P:{"4":0.07157,"21":0.19427,"22":0.01022,"24":0.06135,"25":1.26787,"26":0.37831,"27":0.18404,_:"20 23 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 17.0 18.0","7.2-7.4":0.01022,"15.0":0.03067,"16.0":0.02045,"19.0":0.05112},I:{"0":0.01951,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"9":0.04262,"11":0.01826,_:"6 7 8 10 5.5"},K:{"0":0.69571,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":1.11464},H:{"0":0.02},L:{"0":37.97351},R:{_:"0"},M:{"0":0.05084}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SV.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SV.js deleted file mode 100644 index 0497acfe..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"35":0.004,"39":0.004,"52":0.004,"70":0.004,"72":0.004,"78":0.004,"91":0.004,"96":0.004,"99":0.004,"102":0.004,"103":0.03199,"104":0.004,"105":0.012,"106":0.004,"108":0.004,"109":0.008,"110":0.004,"111":0.004,"112":0.004,"113":0.008,"114":0.004,"115":0.22794,"118":0.004,"120":0.05199,"121":0.07998,"123":0.012,"124":0.008,"125":0.004,"126":0.004,"127":0.02,"128":0.08798,"129":0.004,"130":0.012,"131":0.07998,"132":1.5996,"133":0.17196,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 97 98 100 101 107 116 117 119 122 134 135 136 3.5 3.6"},D:{"34":0.004,"49":0.008,"55":0.004,"65":0.008,"75":0.004,"77":0.004,"79":0.03599,"84":0.008,"85":0.004,"86":0.004,"87":0.04399,"88":0.008,"89":0.008,"90":0.004,"91":0.02,"92":0.004,"93":0.004,"94":0.03999,"95":0.004,"97":0.004,"98":0.008,"99":0.004,"103":0.13197,"105":0.02,"106":0.004,"107":0.012,"108":0.03999,"109":1.52762,"110":0.03199,"111":0.04799,"112":0.016,"113":0.004,"114":0.04399,"115":0.012,"116":0.05599,"117":0.016,"118":0.016,"119":0.03599,"120":0.02399,"121":0.02,"122":0.09998,"123":0.08398,"124":0.13997,"125":0.05999,"126":0.42789,"127":0.11997,"128":0.33992,"129":0.64384,"130":14.07248,"131":9.48963,"132":0.008,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 76 78 80 81 83 96 100 101 102 104 133 134"},F:{"36":0.004,"85":0.03599,"95":0.03999,"102":0.004,"103":0.004,"104":0.004,"109":0.008,"112":0.004,"113":0.13597,"114":1.42364,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.004,"18":0.004,"85":0.004,"86":0.004,"89":0.004,"92":0.02799,"100":0.004,"102":0.004,"103":0.004,"105":0.016,"107":0.004,"109":0.03999,"110":0.004,"112":0.004,"113":0.008,"114":0.004,"116":0.012,"117":0.016,"118":0.012,"119":0.004,"120":0.004,"121":0.012,"122":0.004,"123":0.004,"124":0.008,"125":0.012,"126":0.05999,"127":0.04799,"128":0.03199,"129":0.09998,"130":2.85129,"131":1.81955,_:"13 14 15 16 17 79 80 81 83 84 87 88 90 91 93 94 95 96 97 98 99 101 104 106 108 111 115"},E:{"12":0.004,"14":0.004,"15":0.004,_:"0 4 5 6 7 8 9 10 11 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.4 15.5 17.2","5.1":0.008,"12.1":0.004,"13.1":0.008,"14.1":0.02399,"15.6":0.09598,"16.0":0.004,"16.1":0.008,"16.2":0.004,"16.3":0.008,"16.4":0.008,"16.5":0.004,"16.6":0.03999,"17.0":0.004,"17.1":0.004,"17.3":0.008,"17.4":0.03599,"17.5":0.05599,"17.6":0.19595,"18.0":0.19995,"18.1":0.19595,"18.2":0.004},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00113,"5.0-5.1":0,"6.0-6.1":0.00451,"7.0-7.1":0.00564,"8.1-8.4":0,"9.0-9.2":0.00451,"9.3":0.01579,"10.0-10.2":0.00338,"10.3":0.02595,"11.0-11.2":0.30461,"11.3-11.4":0.0079,"12.0-12.1":0.00451,"12.2-12.5":0.11846,"13.0-13.1":0.00226,"13.2":0.03046,"13.3":0.00451,"13.4-13.7":0.01692,"14.0-14.4":0.03723,"14.5-14.8":0.05302,"15.0-15.1":0.03046,"15.2-15.3":0.0282,"15.4":0.03385,"15.5":0.03949,"15.6-15.8":0.42307,"16.0":0.0801,"16.1":0.16923,"16.2":0.08574,"16.3":0.14554,"16.4":0.02933,"16.5":0.05867,"16.6-16.7":0.55507,"17.0":0.04061,"17.1":0.06769,"17.2":0.05641,"17.3":0.08574,"17.4":0.18389,"17.5":0.54943,"17.6-17.7":4.74629,"18.0":1.68326,"18.1":1.47905,"18.2":0.05979},P:{"4":0.06148,"20":0.02049,"21":0.04099,"22":0.08197,"23":0.03074,"24":0.04099,"25":0.03074,"26":1.08616,"27":0.92221,_:"5.0-5.4 8.2 9.2 10.1 12.0 15.0","6.2-6.4":0.02049,"7.2-7.4":0.05123,"11.1-11.2":0.01025,"13.0":0.13321,"14.0":0.02049,"16.0":0.01025,"17.0":0.01025,"18.0":0.01025,"19.0":0.01025},I:{"0":0.03593,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"11":0.03599,_:"6 7 8 9 10 5.5"},K:{"0":0.30805,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.006,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.09002},H:{"0":0.01},L:{"0":46.74312},R:{_:"0"},M:{"0":0.34806}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SY.js deleted file mode 100644 index cad90595..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"32":0.01328,"35":0.00241,"36":0.00121,"38":0.00121,"39":0.00121,"43":0.00121,"46":0.00121,"47":0.00241,"48":0.00241,"52":0.02535,"53":0.00121,"54":0.00121,"56":0.00241,"57":0.00121,"65":0.00121,"72":0.00362,"73":0.00241,"77":0.00121,"78":0.00121,"80":0.00121,"84":0.00724,"85":0.00121,"87":0.00121,"88":0.00241,"89":0.00121,"92":0.00121,"94":0.00121,"97":0.00121,"98":0.00121,"99":0.00121,"101":0.00121,"102":0.00241,"103":0.00121,"104":0.00121,"105":0.00483,"106":0.00121,"107":0.00241,"108":0.00121,"110":0.00121,"111":0.00121,"113":0.00362,"114":0.00121,"115":0.32348,"118":0.00121,"119":0.00121,"121":0.00121,"122":0.00241,"123":0.00241,"124":0.00241,"125":0.00121,"126":0.00241,"127":0.01811,"128":0.01569,"129":0.00362,"130":0.00845,"131":0.04345,"132":0.45263,"133":0.03862,"134":0.00241,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 33 34 37 40 41 42 44 45 49 50 51 55 58 59 60 61 62 63 64 66 67 68 69 70 71 74 75 76 79 81 82 83 86 90 91 93 95 96 100 109 112 116 117 120 135 136 3.5 3.6"},D:{"11":0.00362,"22":0.00241,"28":0.00121,"29":0.00121,"32":0.00121,"34":0.00121,"38":0.00483,"39":0.00121,"40":0.00121,"43":0.00483,"47":0.00241,"49":0.00483,"50":0.00241,"52":0.00121,"55":0.00483,"56":0.00241,"57":0.00121,"58":0.05794,"59":0.00121,"60":0.00121,"61":0.00121,"63":0.00121,"64":0.00483,"65":0.00362,"66":0.00362,"67":0.00483,"68":0.01569,"69":0.01328,"70":0.01569,"71":0.00604,"72":0.00362,"73":0.01569,"74":0.00121,"75":0.00845,"76":0.00121,"77":0.00241,"78":0.00604,"79":0.04466,"80":0.12553,"81":0.00845,"83":0.05069,"84":0.00241,"85":0.00483,"86":0.00966,"87":0.02414,"88":0.03018,"89":0.00604,"90":0.00604,"91":0.00362,"92":0.01086,"93":0.00483,"94":0.04345,"95":0.00724,"96":0.00966,"97":0.00604,"98":0.03983,"99":0.00845,"100":0.00724,"101":0.00604,"102":0.02414,"103":0.03983,"104":0.01086,"105":0.02173,"106":0.03138,"107":0.01207,"108":0.02052,"109":1.27218,"110":0.00362,"111":0.02293,"112":0.01569,"113":0.00362,"114":0.02897,"115":0.00845,"116":0.02535,"117":0.01569,"118":0.01931,"119":0.01328,"120":0.04828,"121":0.00966,"122":0.07121,"123":0.05673,"124":0.01931,"125":0.02052,"126":0.06639,"127":0.04949,"128":0.1376,"129":0.19312,"130":2.91128,"131":1.90947,"132":0.02293,"133":0.00121,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 30 31 33 35 36 37 41 42 44 45 46 48 51 53 54 62 134"},F:{"38":0.00121,"40":0.00121,"53":0.00121,"73":0.00121,"79":0.28606,"82":0.00121,"83":0.00241,"85":0.02414,"86":0.00121,"88":0.00121,"95":0.0338,"99":0.00121,"101":0.00121,"102":0.00121,"109":0.00121,"112":0.00241,"113":0.00483,"114":0.34279,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 80 81 84 87 89 90 91 92 93 94 96 97 98 100 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00121,"15":0.00241,"16":0.00483,"17":0.00121,"18":0.01328,"84":0.00362,"89":0.00483,"90":0.00121,"92":0.02535,"100":0.00604,"103":0.00121,"109":0.0169,"113":0.00121,"114":0.00604,"115":0.00121,"117":0.00121,"119":0.00121,"120":0.00121,"121":0.00121,"122":0.00241,"123":0.00121,"124":0.00241,"125":0.00121,"126":0.00604,"127":0.00845,"128":0.01086,"129":0.02897,"130":0.4997,"131":0.37055,_:"12 13 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 104 105 106 107 108 110 111 112 116 118"},E:{"13":0.00121,"14":0.00241,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 16.0","5.1":0.0338,"13.1":0.00241,"14.1":0.00241,"15.1":0.00121,"15.4":0.00362,"15.5":0.00241,"15.6":0.0338,"16.1":0.00121,"16.2":0.00121,"16.3":0.00121,"16.4":0.03018,"16.5":0.00241,"16.6":0.01328,"17.0":0.01811,"17.1":0.00121,"17.2":0.00121,"17.3":0.00483,"17.4":0.00845,"17.5":0.06035,"17.6":0.03983,"18.0":0.02173,"18.1":0.02293,"18.2":0.00121},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00023,"5.0-5.1":0,"6.0-6.1":0.0009,"7.0-7.1":0.00113,"8.1-8.4":0,"9.0-9.2":0.0009,"9.3":0.00315,"10.0-10.2":0.00068,"10.3":0.00518,"11.0-11.2":0.06078,"11.3-11.4":0.00158,"12.0-12.1":0.0009,"12.2-12.5":0.02364,"13.0-13.1":0.00045,"13.2":0.00608,"13.3":0.0009,"13.4-13.7":0.00338,"14.0-14.4":0.00743,"14.5-14.8":0.01058,"15.0-15.1":0.00608,"15.2-15.3":0.00563,"15.4":0.00675,"15.5":0.00788,"15.6-15.8":0.08441,"16.0":0.01598,"16.1":0.03377,"16.2":0.01711,"16.3":0.02904,"16.4":0.00585,"16.5":0.01171,"16.6-16.7":0.11075,"17.0":0.0081,"17.1":0.01351,"17.2":0.01126,"17.3":0.01711,"17.4":0.03669,"17.5":0.10962,"17.6-17.7":0.947,"18.0":0.33585,"18.1":0.29511,"18.2":0.01193},P:{"4":1.78015,"20":0.0708,"21":0.16183,"22":0.20229,"23":0.24275,"24":0.38435,"25":0.26298,"26":1.01145,"27":0.28321,"5.0-5.4":0.09103,"6.2-6.4":0.51584,"7.2-7.4":0.51584,"8.2":0.0708,"9.2":0.2124,"10.1":0.09103,"11.1-11.2":0.08092,"12.0":0.0708,"13.0":0.18206,"14.0":0.18206,"15.0":0.04046,"16.0":0.15172,"17.0":0.24275,"18.0":0.06069,"19.0":0.09103},I:{"0":0.07019,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"9":0.00362,"11":0.01931,_:"6 7 8 10 5.5"},K:{"0":1.10464,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":1.06395},H:{"0":0.1},L:{"0":77.24627},R:{_:"0"},M:{"0":0.07914}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SZ.js deleted file mode 100644 index d319248b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/SZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00174,"52":0.00174,"60":0.00174,"65":0.00174,"80":0.0139,"111":0.00521,"115":0.07647,"124":0.00174,"125":0.00174,"127":0.00174,"128":0.1008,"130":0.00174,"131":0.073,"132":0.37193,"133":0.02433,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 113 114 116 117 118 119 120 121 122 123 126 129 134 135 136 3.5 3.6"},D:{"56":0.00174,"63":0.00174,"70":0.01043,"73":0.00521,"79":0.00521,"81":0.00521,"83":0.00521,"85":0.00348,"86":0.0139,"87":0.00521,"88":0.00869,"90":0.00174,"92":0.00174,"93":0.00348,"94":0.00521,"95":0.01738,"96":0.00174,"99":0.00348,"101":0.00174,"102":0.00348,"103":0.01912,"106":0.00174,"107":0.00348,"109":0.56311,"110":0.00348,"111":0.0139,"112":0.00521,"114":0.00348,"115":0.0139,"116":0.04519,"118":0.0139,"119":0.01738,"120":0.00869,"121":0.00348,"122":0.01564,"123":0.00521,"124":0.00348,"125":0.00521,"126":0.03128,"127":0.01738,"128":0.01912,"129":0.13209,"130":4.13644,"131":2.08212,"132":0.00348,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 59 60 61 62 64 65 66 67 68 69 71 72 74 75 76 77 78 80 84 89 91 97 98 100 104 105 108 113 117 133 134"},F:{"28":0.00174,"34":0.00174,"42":0.00174,"45":0.00174,"79":0.00174,"84":0.01217,"85":0.02259,"86":0.00348,"95":0.03824,"112":0.00348,"113":0.01564,"114":0.31632,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 35 36 37 38 39 40 41 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00869,"15":0.00348,"16":0.00174,"17":0.00521,"18":0.0139,"84":0.02259,"89":0.00869,"92":0.02781,"99":0.00174,"100":0.00521,"103":0.00695,"108":0.00348,"109":0.02259,"110":0.00521,"111":0.00174,"112":0.00174,"114":0.0139,"120":0.00521,"121":0.01043,"122":0.01912,"125":0.00521,"126":0.00869,"127":0.00695,"128":0.06257,"129":0.10602,"130":1.20096,"131":0.71953,_:"13 14 79 80 81 83 85 86 87 88 90 91 93 94 95 96 97 98 101 102 104 105 106 107 113 115 116 117 118 119 123 124"},E:{"11":0.00348,"14":0.00174,"15":0.00174,_:"0 4 5 6 7 8 9 10 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 17.0 18.2","14.1":0.00174,"15.6":0.01043,"16.1":0.04171,"16.3":0.00348,"16.4":0.00174,"16.5":0.00348,"16.6":0.01043,"17.1":0.0365,"17.2":0.00174,"17.3":0.00348,"17.4":0.00869,"17.5":0.08864,"17.6":0.0365,"18.0":0.02955,"18.1":0.03997},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00041,"5.0-5.1":0,"6.0-6.1":0.00163,"7.0-7.1":0.00204,"8.1-8.4":0,"9.0-9.2":0.00163,"9.3":0.0057,"10.0-10.2":0.00122,"10.3":0.00937,"11.0-11.2":0.10999,"11.3-11.4":0.00285,"12.0-12.1":0.00163,"12.2-12.5":0.04277,"13.0-13.1":0.00081,"13.2":0.011,"13.3":0.00163,"13.4-13.7":0.00611,"14.0-14.4":0.01344,"14.5-14.8":0.01915,"15.0-15.1":0.011,"15.2-15.3":0.01018,"15.4":0.01222,"15.5":0.01426,"15.6-15.8":0.15276,"16.0":0.02892,"16.1":0.0611,"16.2":0.03096,"16.3":0.05255,"16.4":0.01059,"16.5":0.02118,"16.6-16.7":0.20042,"17.0":0.01467,"17.1":0.02444,"17.2":0.02037,"17.3":0.03096,"17.4":0.0664,"17.5":0.19839,"17.6-17.7":1.71379,"18.0":0.60779,"18.1":0.53406,"18.2":0.02159},P:{"4":0.25667,"20":0.02053,"21":0.0308,"22":0.04107,"23":0.24641,"24":0.14374,"25":0.08214,"26":1.00616,"27":0.17454,_:"5.0-5.4 6.2-6.4 8.2 10.1 11.1-11.2 12.0 14.0 15.0 17.0","7.2-7.4":1.2731,"9.2":0.01027,"13.0":0.0308,"16.0":0.01027,"18.0":0.01027,"19.0":0.0924},I:{"0":0.02473,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"10":0.00174,"11":0.00174,_:"6 7 8 9 5.5"},K:{"0":14.58387,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.04132,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.27268},H:{"0":0.43},L:{"0":65.51638},R:{_:"0"},M:{"0":0.17352}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TC.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TC.js deleted file mode 100644 index 39ab1378..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":4.60453,"124":0.00793,"128":0.00397,"131":0.01983,"132":1.01926,"133":0.01983,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 125 126 127 129 130 134 135 136 3.5 3.6"},D:{"48":0.00397,"52":0.00397,"55":0.01983,"75":0.00397,"77":0.00397,"79":0.01586,"87":0.04759,"88":0.01983,"93":0.01586,"94":0.01586,"95":0.00397,"103":0.29348,"105":0.02776,"109":0.27365,"114":0.00397,"116":0.03569,"118":0.00793,"120":0.0119,"122":0.03966,"123":0.00397,"124":0.00397,"125":0.00793,"126":0.13088,"127":0.03966,"128":0.16261,"129":1.74107,"130":10.5337,"131":3.98186,"132":0.14674,"133":0.00397,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 78 80 81 83 84 85 86 89 90 91 92 96 97 98 99 100 101 102 104 106 107 108 110 111 112 113 115 117 119 121 134"},F:{"95":0.0119,"107":0.00397,"109":0.00397,"113":0.01983,"114":0.42436,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00793,"83":0.00397,"92":0.00793,"100":0.00397,"109":0.01983,"118":0.01586,"119":0.00397,"125":0.01983,"126":0.18244,"128":0.01586,"129":0.36884,"130":5.02096,"131":2.76827,_:"12 13 14 15 17 18 79 80 81 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 120 121 122 123 124 127"},E:{"14":0.01983,"15":0.00793,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 18.2","13.1":0.07535,"14.1":0.07932,"15.2-15.3":0.06346,"15.4":0.03569,"15.5":0.00793,"15.6":0.24193,"16.0":0.08329,"16.1":0.02776,"16.2":0.0238,"16.3":0.01983,"16.4":0.05156,"16.5":0.26572,"16.6":0.59093,"17.0":0.30538,"17.1":0.02776,"17.2":0.03966,"17.3":0.02776,"17.4":0.15467,"17.5":0.29348,"17.6":1.68555,"18.0":1.07082,"18.1":0.64249},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00298,"5.0-5.1":0,"6.0-6.1":0.0119,"7.0-7.1":0.01488,"8.1-8.4":0,"9.0-9.2":0.0119,"9.3":0.04166,"10.0-10.2":0.00893,"10.3":0.06843,"11.0-11.2":0.80335,"11.3-11.4":0.02083,"12.0-12.1":0.0119,"12.2-12.5":0.31241,"13.0-13.1":0.00595,"13.2":0.08033,"13.3":0.0119,"13.4-13.7":0.04463,"14.0-14.4":0.09819,"14.5-14.8":0.13984,"15.0-15.1":0.08033,"15.2-15.3":0.07438,"15.4":0.08926,"15.5":0.10414,"15.6-15.8":1.11576,"16.0":0.21125,"16.1":0.4463,"16.2":0.22613,"16.3":0.38382,"16.4":0.07736,"16.5":0.15472,"16.6-16.7":1.46388,"17.0":0.10711,"17.1":0.17852,"17.2":0.14877,"17.3":0.22613,"17.4":0.48498,"17.5":1.449,"17.6-17.7":12.51736,"18.0":4.43925,"18.1":3.9007,"18.2":0.15769},P:{"4":0.03254,"21":0.01085,"22":0.05423,"24":0.01085,"26":0.75928,"27":1.51856,_:"20 23 25 8.2 9.2 10.1 12.0 13.0 14.0 15.0 18.0","5.0-5.4":0.07593,"6.2-6.4":0.01085,"7.2-7.4":0.02169,"11.1-11.2":0.01085,"16.0":0.03254,"17.0":0.1627,"19.0":0.03254},I:{"0":0.0301,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"11":0.0119,_:"6 7 8 9 10 5.5"},K:{"0":0.28963,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0181},H:{"0":0},L:{"0":28.12388},R:{_:"0"},M:{"0":0.21119}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TD.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TD.js deleted file mode 100644 index fdff0bb9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TD.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"44":0.00094,"72":0.00094,"77":0.00187,"91":0.00094,"95":0.00094,"113":0.00187,"115":0.02624,"116":0.00094,"118":0.00094,"123":0.00094,"127":0.00375,"128":0.00094,"129":0.00187,"130":0.00281,"131":0.01593,"132":0.34388,"133":0.01499,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 114 117 119 120 121 122 124 125 126 134 135 136 3.5 3.6"},D:{"38":0.00094,"56":0.00094,"58":0.00094,"64":0.00843,"66":0.00094,"68":0.00094,"69":0.00187,"70":0.00187,"71":0.00187,"74":0.00094,"77":0.00094,"78":0.05528,"80":0.00094,"81":0.00094,"86":0.00094,"88":0.00469,"89":0.00094,"92":0.03186,"94":0.00469,"95":0.00094,"96":0.00375,"98":0.00094,"99":0.11619,"100":0.00094,"101":0.00094,"102":0.00094,"103":0.00094,"104":0.00094,"105":0.00094,"108":0.00937,"109":0.21832,"110":0.00094,"111":0.00187,"112":0.00094,"113":0.00375,"114":0.00937,"115":0.03935,"116":0.00281,"117":0.00094,"118":0.00187,"119":0.01687,"120":0.00375,"121":0.00843,"122":0.00375,"123":0.00469,"124":0.01312,"125":0.00656,"126":0.02061,"127":0.01406,"128":0.00562,"129":0.02998,"130":0.50692,"131":0.31483,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 59 60 61 62 63 65 67 72 73 75 76 79 83 84 85 87 90 91 93 97 106 107 132 133 134"},F:{"34":0.00094,"42":0.00094,"46":0.00094,"51":0.00094,"79":0.00281,"81":0.00094,"85":0.00281,"95":0.00094,"111":0.00094,"112":0.00094,"113":0.00469,"114":0.04685,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 43 44 45 47 48 49 50 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00094,"14":0.00094,"17":0.00094,"18":0.00187,"84":0.00281,"89":0.00094,"90":0.01499,"92":0.0178,"100":0.00094,"103":0.00094,"121":0.00094,"124":0.00937,"125":0.00187,"126":0.00281,"127":0.00187,"128":0.01406,"129":0.00375,"130":0.42071,"131":0.22769,_:"13 15 16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 122 123"},E:{"13":0.00094,_:"0 4 5 6 7 8 9 10 11 12 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 17.0 17.1 17.2 17.3 17.4 18.2","11.1":0.00187,"13.1":0.00375,"14.1":0.14336,"15.6":0.00187,"16.5":0.00469,"16.6":0.00281,"17.5":0.00937,"17.6":0.00281,"18.0":0.00187,"18.1":0.00187},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00043,"5.0-5.1":0,"6.0-6.1":0.00174,"7.0-7.1":0.00217,"8.1-8.4":0,"9.0-9.2":0.00174,"9.3":0.00608,"10.0-10.2":0.0013,"10.3":0.00998,"11.0-11.2":0.11721,"11.3-11.4":0.00304,"12.0-12.1":0.00174,"12.2-12.5":0.04558,"13.0-13.1":0.00087,"13.2":0.01172,"13.3":0.00174,"13.4-13.7":0.00651,"14.0-14.4":0.01433,"14.5-14.8":0.0204,"15.0-15.1":0.01172,"15.2-15.3":0.01085,"15.4":0.01302,"15.5":0.01519,"15.6-15.8":0.16279,"16.0":0.03082,"16.1":0.06512,"16.2":0.03299,"16.3":0.056,"16.4":0.01129,"16.5":0.02257,"16.6-16.7":0.21359,"17.0":0.01563,"17.1":0.02605,"17.2":0.02171,"17.3":0.03299,"17.4":0.07076,"17.5":0.21142,"17.6-17.7":1.82633,"18.0":0.6477,"18.1":0.56913,"18.2":0.02301},P:{"20":0.06021,"21":0.37131,"22":0.42148,"23":0.04014,"24":0.50176,"25":0.06021,"26":0.58205,"27":0.04014,_:"4 5.0-5.4 6.2-6.4 8.2 10.1 12.0 14.0 17.0","7.2-7.4":0.21074,"9.2":0.03011,"11.1-11.2":0.04014,"13.0":0.01004,"15.0":0.02007,"16.0":0.03011,"18.0":0.02007,"19.0":0.18063},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":1.17351,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01813,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00906},O:{"0":0.04532},H:{"0":0.05},L:{"0":88.67983},R:{_:"0"},M:{"0":0.01813}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TG.js deleted file mode 100644 index 9a1261ef..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"43":0.00701,"52":0.00467,"58":0.00234,"61":0.00234,"67":0.00234,"68":0.00234,"72":0.02102,"78":0.00234,"92":0.00234,"100":0.00234,"102":0.00234,"103":0.01168,"112":0.00467,"113":0.00934,"115":0.38778,"122":0.00234,"124":0.00234,"126":0.00234,"127":0.02102,"128":0.0257,"129":0.00701,"130":0.01402,"131":0.13549,"132":2.11642,"133":0.22192,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 55 56 57 59 60 62 63 64 65 66 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 104 105 106 107 108 109 110 111 114 116 117 118 119 120 121 123 125 134 135 136 3.5 3.6"},D:{"11":0.00234,"31":0.00234,"43":0.00234,"47":0.03971,"49":0.00234,"56":0.00234,"58":0.00234,"61":0.00234,"64":0.00234,"66":0.00234,"69":0.00467,"70":0.00467,"73":0.00467,"75":0.00934,"76":0.05139,"77":0.00701,"79":0.00467,"81":0.04438,"83":0.00934,"84":0.00467,"85":0.00467,"86":0.01635,"87":0.01168,"88":0.00934,"89":0.00234,"91":0.01402,"93":0.06774,"94":0.00467,"95":0.00467,"100":0.00467,"102":0.00701,"103":0.20323,"104":0.09578,"105":0.00234,"106":0.01635,"108":0.00234,"109":1.23107,"110":0.00234,"111":0.00234,"113":0.00467,"114":0.00701,"116":0.01869,"117":0.02803,"118":0.03971,"119":0.03037,"120":0.01168,"121":0.00467,"122":0.01402,"123":0.01168,"124":0.02803,"125":0.00934,"126":0.06774,"127":0.03738,"128":0.07008,"129":0.10512,"130":5.40784,"131":3.79133,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 44 45 46 48 50 51 52 53 54 55 57 59 60 62 63 65 67 68 71 72 74 78 80 90 92 96 97 98 99 101 107 112 115 132 133 134"},F:{"37":0.02803,"46":0.00234,"78":0.01402,"79":0.00701,"84":0.00701,"85":0.00234,"95":0.11446,"102":0.00234,"112":0.00934,"113":0.00701,"114":0.97178,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00234,"13":0.00234,"14":0.00234,"17":0.00701,"18":0.00701,"84":0.00234,"89":0.00467,"90":0.00234,"92":0.03504,"100":0.00234,"109":0.16819,"121":0.00234,"122":0.00234,"123":0.00234,"124":0.00467,"125":0.00701,"126":0.11914,"127":0.00701,"128":0.0257,"129":0.05606,"130":1.80573,"131":1.43197,_:"15 16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120"},E:{"13":0.00234,_:"0 4 5 6 7 8 9 10 11 12 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.2 16.3 16.4 16.5 17.0 17.1 17.3 18.2","13.1":0.01635,"14.1":0.00234,"15.6":0.03971,"16.1":0.00234,"16.6":0.0257,"17.2":0.00234,"17.4":0.00234,"17.5":0.01402,"17.6":0.08176,"18.0":0.00467,"18.1":0.0327},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00098,"5.0-5.1":0,"6.0-6.1":0.00391,"7.0-7.1":0.00489,"8.1-8.4":0,"9.0-9.2":0.00391,"9.3":0.01368,"10.0-10.2":0.00293,"10.3":0.02247,"11.0-11.2":0.2638,"11.3-11.4":0.00684,"12.0-12.1":0.00391,"12.2-12.5":0.10259,"13.0-13.1":0.00195,"13.2":0.02638,"13.3":0.00391,"13.4-13.7":0.01466,"14.0-14.4":0.03224,"14.5-14.8":0.04592,"15.0-15.1":0.02638,"15.2-15.3":0.02443,"15.4":0.02931,"15.5":0.0342,"15.6-15.8":0.36639,"16.0":0.06937,"16.1":0.14655,"16.2":0.07425,"16.3":0.12604,"16.4":0.0254,"16.5":0.05081,"16.6-16.7":0.4807,"17.0":0.03517,"17.1":0.05862,"17.2":0.04885,"17.3":0.07425,"17.4":0.15926,"17.5":0.47581,"17.6-17.7":4.11038,"18.0":1.45773,"18.1":1.28089,"18.2":0.05178},P:{"4":0.22372,"22":0.18111,"24":0.01065,"25":0.01065,"26":0.26634,"27":0.12784,_:"20 21 23 5.0-5.4 8.2 10.1 11.1-11.2 13.0 14.0 15.0 16.0 18.0 19.0","6.2-6.4":0.01065,"7.2-7.4":0.01065,"9.2":0.01065,"12.0":0.01065,"17.0":0.01065},I:{"0":0.13763,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00004,"4.4":0,"4.4.3-4.4.4":0.00018},A:{"11":0.00467,_:"6 7 8 9 10 5.5"},K:{"0":0.6819,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00766,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00766},O:{"0":0.09962},H:{"0":0.23},L:{"0":68.07076},R:{_:"0"},M:{"0":0.06897}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TH.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TH.js deleted file mode 100644 index 96653916..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TH.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"48":0.00416,"52":0.00831,"53":0.01663,"55":0.44896,"56":1.45911,"78":0.00416,"85":0.00416,"98":0.00416,"103":0.00416,"106":0.00416,"108":0.01663,"113":0.00416,"115":0.12471,"125":0.00416,"127":0.00831,"128":0.01663,"129":0.00416,"130":0.00416,"131":0.03326,"132":0.87713,"133":0.08314,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 54 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 104 105 107 109 110 111 112 114 116 117 118 119 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"37":0.06651,"43":0.00831,"49":0.00831,"56":0.00416,"65":0.00416,"70":0.00416,"79":0.02079,"80":0.00416,"81":0.00416,"83":0.00416,"84":0.00416,"85":0.00416,"86":0.00416,"87":0.02079,"88":0.00831,"89":0.00416,"90":0.00416,"91":0.01247,"92":0.00416,"93":0.00416,"94":0.01247,"95":0.00416,"96":0.00416,"97":0.00416,"98":0.00416,"99":0.00416,"100":0.00416,"101":0.03741,"102":0.00831,"103":0.0291,"104":0.00831,"105":0.02079,"106":0.01247,"107":0.01663,"108":0.03741,"109":1.87896,"110":0.00831,"111":0.01247,"112":0.01247,"113":0.06236,"114":0.0582,"115":0.00831,"116":0.04157,"117":0.02079,"118":0.07067,"119":0.02079,"120":0.03741,"121":0.0291,"122":0.09977,"123":0.04988,"124":0.12887,"125":0.05404,"126":0.0873,"127":0.06651,"128":0.17875,"129":0.37413,"130":14.42895,"131":10.0059,"132":0.01663,"133":0.00416,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 57 58 59 60 61 62 63 64 66 67 68 69 71 72 73 74 75 76 77 78 134"},F:{"85":0.00831,"95":0.01663,"113":0.02079,"114":0.39076,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00831,"92":0.00831,"100":0.00416,"107":0.00416,"108":0.00416,"109":0.02079,"110":0.00416,"113":0.00416,"114":0.00416,"119":0.00416,"120":0.00416,"121":0.00416,"122":0.00831,"123":0.00416,"124":0.00831,"125":0.00831,"126":0.02079,"127":0.02079,"128":0.02494,"129":0.0582,"130":2.25725,"131":1.75841,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 111 112 115 116 117 118"},E:{"10":0.00416,"14":0.00831,"15":0.00416,_:"0 4 5 6 7 8 9 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00416,"13.1":0.01247,"14.1":0.03326,"15.1":0.00416,"15.2-15.3":0.00416,"15.4":0.00831,"15.5":0.01247,"15.6":0.10393,"16.0":0.01247,"16.1":0.06236,"16.2":0.02079,"16.3":0.05404,"16.4":0.01247,"16.5":0.02079,"16.6":0.14965,"17.0":0.02079,"17.1":0.02079,"17.2":0.03326,"17.3":0.0291,"17.4":0.06236,"17.5":0.21201,"17.6":1.11823,"18.0":0.43233,"18.1":0.4448,"18.2":0.01247},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00153,"5.0-5.1":0,"6.0-6.1":0.00611,"7.0-7.1":0.00764,"8.1-8.4":0,"9.0-9.2":0.00611,"9.3":0.02139,"10.0-10.2":0.00458,"10.3":0.03514,"11.0-11.2":0.41246,"11.3-11.4":0.01069,"12.0-12.1":0.00611,"12.2-12.5":0.1604,"13.0-13.1":0.00306,"13.2":0.04125,"13.3":0.00611,"13.4-13.7":0.02291,"14.0-14.4":0.05041,"14.5-14.8":0.0718,"15.0-15.1":0.04125,"15.2-15.3":0.03819,"15.4":0.04583,"15.5":0.05347,"15.6-15.8":0.57286,"16.0":0.10846,"16.1":0.22914,"16.2":0.1161,"16.3":0.19706,"16.4":0.03972,"16.5":0.07944,"16.6-16.7":0.75159,"17.0":0.05499,"17.1":0.09166,"17.2":0.07638,"17.3":0.1161,"17.4":0.249,"17.5":0.74395,"17.6-17.7":6.4267,"18.0":2.27921,"18.1":2.00271,"18.2":0.08096},P:{"4":0.03201,"20":0.01067,"21":0.03201,"22":0.05334,"23":0.07468,"24":0.08535,"25":0.09602,"26":1.47231,"27":1.05623,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0 16.0","7.2-7.4":0.03201,"11.1-11.2":0.01067,"17.0":0.01067,"18.0":0.01067,"19.0":0.02134},I:{"0":0.02916,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.00432,"11":0.32824,_:"6 7 9 10 5.5"},K:{"0":0.23714,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00584},O:{"0":0.18701},H:{"0":0.02},L:{"0":41.3056},R:{_:"0"},M:{"0":0.16363}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TJ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TJ.js deleted file mode 100644 index e47c811a..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TJ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00617,"62":0.00308,"79":0.00308,"89":0.00308,"94":0.00308,"111":0.00308,"115":0.08944,"122":0.01234,"125":0.00308,"127":0.01234,"128":0.01542,"129":0.00925,"130":0.00925,"131":0.03392,"132":0.33924,"133":0.03701,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 90 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 112 113 114 116 117 118 119 120 121 123 124 126 134 135 136 3.5 3.6"},D:{"27":0.00925,"31":0.00925,"35":0.01234,"44":0.00308,"46":0.00308,"47":0.0586,"49":0.02159,"52":0.00308,"55":0.00925,"56":0.11411,"58":5.66839,"65":0.00617,"66":0.04626,"69":0.00925,"70":0.01234,"71":0.00617,"72":0.00925,"74":0.00308,"75":0.00617,"76":0.00308,"77":1.49882,"78":0.00308,"79":0.0185,"81":0.00308,"83":0.00617,"84":0.00617,"85":0.00617,"86":0.00925,"87":0.11102,"88":0.01542,"89":0.01234,"91":0.00308,"92":0.00925,"93":0.00308,"94":0.02159,"95":0.00308,"96":0.03701,"97":0.00617,"98":0.00617,"99":0.00617,"100":0.01542,"101":0.00308,"102":0.00617,"103":0.00617,"105":0.00617,"106":0.08635,"107":0.11411,"108":0.00925,"109":2.86812,"110":0.03701,"111":0.19429,"112":0.01234,"113":0.00308,"114":0.00308,"115":0.00308,"116":0.00308,"117":0.00925,"118":0.08327,"119":0.06785,"120":0.02159,"121":0.0185,"122":0.03084,"123":0.03701,"124":0.04009,"125":0.04626,"126":0.04318,"127":0.0185,"128":0.16962,"129":0.26522,"130":5.12252,"131":3.44791,"132":0.00308,"133":0.00617,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 32 33 34 36 37 38 39 40 41 42 43 45 48 50 51 53 54 57 59 60 61 62 63 64 67 68 73 80 90 104 134"},F:{"36":0.02776,"53":0.00308,"62":0.00308,"73":0.00308,"79":0.05551,"80":0.00308,"83":0.00308,"84":0.00925,"85":0.00925,"86":0.0185,"89":0.00308,"93":0.01542,"95":0.58596,"112":0.01234,"113":0.02159,"114":0.73708,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 58 60 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 81 82 87 88 90 91 92 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6","12.1":0.00308},B:{"14":0.00617,"15":0.00925,"16":0.00617,"17":0.00617,"18":0.04009,"80":0.00308,"83":0.00308,"84":0.00308,"90":0.01542,"92":0.08944,"94":0.00308,"100":0.01542,"104":0.02159,"106":0.00308,"107":0.00617,"109":0.01234,"113":0.00308,"114":0.01234,"119":0.00308,"120":0.00617,"121":0.0185,"122":0.00925,"123":0.00617,"124":0.00617,"125":0.00617,"126":0.00308,"127":0.00308,"128":0.0586,"129":0.03701,"130":0.95604,"131":0.84502,_:"12 13 79 81 85 86 87 88 89 91 93 95 96 97 98 99 101 102 103 105 108 110 111 112 115 116 117 118"},E:{"14":0.00925,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 14.1 15.4 16.2 17.2","5.1":0.0771,"12.1":0.00308,"13.1":0.00925,"15.1":0.00308,"15.2-15.3":0.01234,"15.5":0.01542,"15.6":0.01542,"16.0":0.00308,"16.1":0.00308,"16.3":0.00308,"16.4":0.00617,"16.5":0.12336,"16.6":0.01542,"17.0":0.00308,"17.1":0.00925,"17.3":0.00308,"17.4":0.00617,"17.5":0.06785,"17.6":0.11411,"18.0":0.06168,"18.1":0.03084,"18.2":0.00308},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00059,"5.0-5.1":0,"6.0-6.1":0.00235,"7.0-7.1":0.00294,"8.1-8.4":0,"9.0-9.2":0.00235,"9.3":0.00823,"10.0-10.2":0.00176,"10.3":0.01352,"11.0-11.2":0.1587,"11.3-11.4":0.00411,"12.0-12.1":0.00235,"12.2-12.5":0.06172,"13.0-13.1":0.00118,"13.2":0.01587,"13.3":0.00235,"13.4-13.7":0.00882,"14.0-14.4":0.0194,"14.5-14.8":0.02763,"15.0-15.1":0.01587,"15.2-15.3":0.01469,"15.4":0.01763,"15.5":0.02057,"15.6-15.8":0.22042,"16.0":0.04173,"16.1":0.08817,"16.2":0.04467,"16.3":0.07582,"16.4":0.01528,"16.5":0.03056,"16.6-16.7":0.28919,"17.0":0.02116,"17.1":0.03527,"17.2":0.02939,"17.3":0.04467,"17.4":0.09581,"17.5":0.28625,"17.6-17.7":2.47277,"18.0":0.87696,"18.1":0.77057,"18.2":0.03115},P:{"4":0.30403,"20":0.0304,"21":0.31417,"22":0.10134,"23":0.13175,"24":0.22296,"25":0.30403,"26":0.84116,"27":0.24323,"5.0-5.4":0.05067,"6.2-6.4":0.05067,"7.2-7.4":0.16215,"8.2":0.01013,"9.2":0.07094,_:"10.1 15.0","11.1-11.2":0.06081,"12.0":0.01013,"13.0":0.01013,"14.0":0.01013,"16.0":0.10134,"17.0":0.01013,"18.0":0.01013,"19.0":0.04054},I:{"0":0.069,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"11":0.24364,_:"6 7 8 9 10 5.5"},K:{"0":1.04737,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.02075},O:{"0":0.71916},H:{"0":0.55},L:{"0":58.12081},R:{_:"0"},M:{"0":0.02075}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TL.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TL.js deleted file mode 100644 index 9dc2b295..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TL.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"7":0.0036,"30":0.0036,"36":0.0072,"37":0.0036,"40":0.0036,"44":0.0036,"45":0.0036,"47":0.0072,"48":0.0036,"56":0.02161,"57":0.0036,"63":0.07202,"66":0.0072,"72":0.04681,"78":0.03961,"79":0.14764,"82":0.0036,"95":0.0144,"98":0.0036,"103":0.0144,"105":0.0036,"111":0.0036,"113":0.0036,"114":0.01801,"115":0.79942,"117":0.0036,"118":0.0036,"119":0.0036,"120":0.0036,"121":0.02881,"123":0.0036,"124":0.0072,"125":0.0108,"126":0.0108,"127":0.21606,"128":0.10083,"129":0.02881,"130":0.06842,"131":0.45733,"132":4.10154,"133":0.20526,"134":0.0072,_:"2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 38 39 41 42 43 46 49 50 51 52 53 54 55 58 59 60 61 62 64 65 67 68 69 70 71 73 74 75 76 77 80 81 83 84 85 86 87 88 89 90 91 92 93 94 96 97 99 100 101 102 104 106 107 108 109 110 112 116 122 135 136 3.5 3.6"},D:{"31":0.0036,"40":0.0072,"41":0.0036,"42":0.0108,"49":0.0036,"51":0.0108,"58":0.02881,"63":0.0036,"65":0.0108,"67":0.0036,"68":0.0072,"70":0.0144,"71":0.0036,"72":0.0072,"73":0.0036,"74":0.0108,"75":0.01801,"76":0.0036,"77":0.0108,"78":0.0072,"79":0.03241,"80":0.0036,"84":0.03241,"85":0.0108,"86":0.0036,"87":0.02881,"88":0.03241,"89":0.0036,"90":0.0036,"91":0.0144,"92":0.0072,"95":0.0036,"96":0.0144,"100":0.0072,"102":0.0036,"103":0.16565,"104":0.0036,"105":0.0072,"106":0.0036,"107":0.0036,"108":0.0108,"109":1.46921,"110":0.0036,"111":0.01801,"112":0.0036,"113":0.0036,"114":0.05041,"115":0.0072,"116":0.16205,"117":0.04321,"118":0.0144,"119":0.0072,"120":0.04321,"121":0.01801,"122":0.06842,"123":0.04321,"124":0.05762,"125":0.03961,"126":0.18725,"127":0.25207,"128":0.32769,"129":1.09831,"130":10.02158,"131":5.90924,"132":0.0072,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 43 44 45 46 47 48 50 52 53 54 55 56 57 59 60 61 62 64 66 69 81 83 93 94 97 98 99 101 133 134"},F:{"34":0.0036,"63":0.0036,"78":0.0036,"79":0.0072,"83":0.0036,"85":0.0036,"95":0.0108,"96":0.0036,"102":0.02881,"107":0.0036,"112":0.0144,"113":0.0108,"114":0.48253,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 84 86 87 88 89 90 91 92 93 94 97 98 99 100 101 103 104 105 106 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0144,"13":0.0108,"15":0.0036,"16":0.05402,"17":0.0036,"18":0.02881,"84":0.0072,"85":0.0036,"89":0.02161,"90":0.0036,"92":0.02521,"96":0.02161,"97":0.0144,"100":0.07922,"108":0.0036,"109":0.03601,"111":0.0072,"112":0.0036,"113":0.0072,"114":0.0072,"115":0.0072,"116":0.0036,"117":0.0036,"118":0.0036,"119":0.0108,"120":0.02521,"121":0.02161,"122":0.02521,"123":0.03601,"124":0.02161,"125":0.05041,"126":0.10443,"127":0.06842,"128":0.14764,"129":0.3601,"130":2.84839,"131":1.7825,_:"14 79 80 81 83 86 87 88 91 93 94 95 98 99 101 102 103 104 105 106 107 110"},E:{"14":0.0036,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.4 15.5 16.0 18.2","5.1":0.0036,"13.1":0.07562,"14.1":0.06122,"15.1":0.05041,"15.2-15.3":0.02881,"15.6":0.05041,"16.1":0.0144,"16.2":0.0036,"16.3":0.0144,"16.4":0.0036,"16.5":0.04681,"16.6":0.05402,"17.0":0.0144,"17.1":0.0036,"17.2":0.02881,"17.3":0.01801,"17.4":0.05041,"17.5":0.25207,"17.6":0.10803,"18.0":0.10443,"18.1":0.04681},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00043,"5.0-5.1":0,"6.0-6.1":0.00172,"7.0-7.1":0.00216,"8.1-8.4":0,"9.0-9.2":0.00172,"9.3":0.00604,"10.0-10.2":0.00129,"10.3":0.00992,"11.0-11.2":0.11643,"11.3-11.4":0.00302,"12.0-12.1":0.00172,"12.2-12.5":0.04528,"13.0-13.1":0.00086,"13.2":0.01164,"13.3":0.00172,"13.4-13.7":0.00647,"14.0-14.4":0.01423,"14.5-14.8":0.02027,"15.0-15.1":0.01164,"15.2-15.3":0.01078,"15.4":0.01294,"15.5":0.01509,"15.6-15.8":0.16171,"16.0":0.03062,"16.1":0.06468,"16.2":0.03277,"16.3":0.05563,"16.4":0.01121,"16.5":0.02242,"16.6-16.7":0.21216,"17.0":0.01552,"17.1":0.02587,"17.2":0.02156,"17.3":0.03277,"17.4":0.07029,"17.5":0.21001,"17.6-17.7":1.81416,"18.0":0.64339,"18.1":0.56534,"18.2":0.02285},P:{"4":0.05097,"21":0.03058,"22":0.11214,"23":0.07136,"24":0.19369,"25":0.1733,"26":0.3568,"27":0.38738,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 12.0 14.0 15.0 17.0 18.0","7.2-7.4":0.06116,"11.1-11.2":0.03058,"13.0":0.01019,"16.0":0.01019,"19.0":0.04078},I:{"0":0.00638,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.0144,_:"6 7 8 9 10 5.5"},K:{"0":0.44786,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.03839},O:{"0":0.46705},H:{"0":0},L:{"0":58.38302},R:{_:"0"},M:{"0":0.10237}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TM.js deleted file mode 100644 index 9d6324ab..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.01345,"54":0.00224,"68":0.00224,"69":0.02242,"72":0.00897,"75":0.00224,"78":0.01121,"79":0.00224,"89":0.00224,"95":0.00224,"101":0.06502,"102":0.00897,"105":0.00448,"108":0.00224,"115":0.03139,"117":0.00448,"123":0.00448,"124":0.00448,"125":0.00448,"127":0.00224,"128":0.00224,"130":0.00224,"131":0.01121,"132":0.10089,"133":0.00224,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 70 71 73 74 76 77 80 81 82 83 84 85 86 87 88 90 91 92 93 94 96 97 98 99 100 103 104 106 107 109 110 111 112 113 114 116 118 119 120 121 122 126 129 134 135 136 3.5 3.6"},D:{"11":0.00897,"22":0.01121,"31":0.01794,"37":0.00673,"47":0.00673,"48":0.00224,"49":0.04484,"50":0.00448,"52":0.01345,"53":0.00224,"55":0.00224,"56":0.00897,"58":0.39235,"61":0.02466,"63":0.00224,"64":0.01345,"68":0.00224,"69":0.00224,"70":0.01121,"72":0.00448,"73":0.00448,"74":0.00224,"77":0.00448,"78":0.03811,"79":0.0269,"80":0.00673,"81":0.01121,"83":0.05829,"84":0.00448,"85":0.01345,"86":0.00897,"87":0.02466,"88":0.08968,"89":0.01121,"90":0.01569,"91":0.02018,"96":0.0426,"97":0.0269,"98":0.04036,"99":0.00224,"100":0.01345,"101":0.03139,"102":0.00673,"103":0.02466,"104":0.00673,"105":0.00897,"106":0.05157,"107":0.02018,"108":0.14125,"109":5.03777,"110":0.01121,"111":0.03587,"112":0.01794,"113":0.00224,"114":0.01121,"115":0.00224,"116":0.01121,"117":0.00448,"118":0.20851,"119":0.00448,"120":0.06726,"121":0.00673,"122":0.01345,"123":0.00897,"124":0.02242,"125":0.00897,"126":0.06053,"127":0.06278,"128":0.08295,"129":0.14349,"130":5.8718,"131":1.4304,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 32 33 34 35 36 38 39 40 41 42 43 44 45 46 51 54 57 59 60 62 65 66 67 71 75 76 92 93 94 95 132 133 134"},F:{"46":0.00897,"63":0.00897,"72":0.00224,"77":0.00673,"79":0.01121,"91":0.00224,"95":0.03811,"113":0.00224,"114":0.27801,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 67 68 69 70 71 73 74 75 76 78 80 81 82 83 84 85 86 87 88 89 90 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 12.1","11.6":0.00224},B:{"13":0.00224,"15":0.02018,"17":0.00224,"18":0.00673,"84":0.00224,"88":0.00224,"89":0.02242,"92":0.00673,"98":0.00224,"99":0.00224,"104":0.02242,"112":0.00224,"119":0.00448,"121":0.01569,"125":0.00224,"127":0.00224,"129":0.04036,"130":0.69054,"131":0.12779,_:"12 14 16 79 80 81 83 85 86 87 90 91 93 94 95 96 97 100 101 102 103 105 106 107 108 109 110 111 113 114 115 116 117 118 120 122 123 124 126 128"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 16.0 16.1 16.2 16.3 16.4 16.5 17.0 17.1 17.2 17.3 17.4 18.2","11.1":0.00897,"15.5":0.00224,"15.6":0.01345,"16.6":0.00224,"17.5":0.00897,"17.6":0.08744,"18.0":0.03139,"18.1":0.00897},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00022,"5.0-5.1":0,"6.0-6.1":0.00089,"7.0-7.1":0.00111,"8.1-8.4":0,"9.0-9.2":0.00089,"9.3":0.00311,"10.0-10.2":0.00067,"10.3":0.0051,"11.0-11.2":0.05991,"11.3-11.4":0.00155,"12.0-12.1":0.00089,"12.2-12.5":0.0233,"13.0-13.1":0.00044,"13.2":0.00599,"13.3":0.00089,"13.4-13.7":0.00333,"14.0-14.4":0.00732,"14.5-14.8":0.01043,"15.0-15.1":0.00599,"15.2-15.3":0.00555,"15.4":0.00666,"15.5":0.00777,"15.6-15.8":0.08322,"16.0":0.01576,"16.1":0.03329,"16.2":0.01686,"16.3":0.02863,"16.4":0.00577,"16.5":0.01154,"16.6-16.7":0.10918,"17.0":0.00799,"17.1":0.01331,"17.2":0.0111,"17.3":0.01686,"17.4":0.03617,"17.5":0.10807,"17.6-17.7":0.93356,"18.0":0.33109,"18.1":0.29092,"18.2":0.01176},P:{"4":1.12997,"20":0.01027,"21":0.04109,"22":0.25681,"23":0.08218,"24":0.32872,"25":0.09245,"26":0.86289,"27":0.15409,"5.0-5.4":0.08218,"6.2-6.4":0.02054,"7.2-7.4":0.35954,_:"8.2 10.1 15.0","9.2":0.01027,"11.1-11.2":0.02054,"12.0":0.01027,"13.0":0.02054,"14.0":0.01027,"16.0":0.01027,"17.0":0.08218,"18.0":0.01027,"19.0":0.05136},I:{"0":0.06194,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"11":2.95047,_:"6 7 8 9 10 5.5"},K:{"0":0.24708,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.57417},H:{"0":0.04},L:{"0":69.00761},R:{_:"0"},M:{"0":0.01552}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TN.js deleted file mode 100644 index 36547fd5..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.02718,"78":0.00679,"91":0.0034,"102":0.00679,"103":0.01699,"108":0.0034,"109":0.0034,"111":0.0034,"115":0.25138,"122":0.0034,"123":0.01019,"125":0.01019,"126":0.00679,"127":0.00679,"128":0.02038,"129":0.0034,"130":0.00679,"131":0.03737,"132":0.73375,"133":0.07813,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 104 105 106 107 110 112 113 114 116 117 118 119 120 121 124 134 135 136 3.5 3.6"},D:{"11":0.0034,"43":0.0034,"47":0.0034,"49":0.02718,"50":0.0034,"56":0.01359,"58":0.05775,"59":0.0034,"60":0.0034,"62":0.0034,"63":0.0034,"65":0.01019,"66":0.0034,"68":0.0034,"69":0.0034,"70":0.00679,"72":0.00679,"73":0.00679,"74":0.00679,"75":0.0034,"77":0.00679,"78":0.0034,"79":0.02378,"80":0.0034,"81":0.01359,"83":0.01359,"84":0.01019,"85":0.00679,"86":0.01359,"87":0.04076,"88":0.01359,"89":0.01019,"90":0.00679,"91":0.00679,"92":0.00679,"93":0.0034,"94":0.03397,"95":0.01359,"96":0.00679,"97":0.00679,"98":0.01359,"99":0.00679,"100":0.00679,"101":0.0034,"102":0.03057,"103":0.04756,"104":0.04416,"105":0.00679,"106":0.02038,"107":0.03057,"108":0.03737,"109":4.1885,"110":0.03057,"111":0.01019,"112":0.08832,"113":0.00679,"114":0.02378,"115":0.0034,"116":0.05096,"117":0.00679,"118":0.02718,"119":0.05096,"120":0.07134,"121":0.03057,"122":0.09172,"123":0.03397,"124":0.13928,"125":0.04076,"126":0.08832,"127":0.06454,"128":0.14267,"129":0.48237,"130":10.66658,"131":7.23221,"132":0.00679,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 48 51 52 53 54 55 57 61 64 67 71 76 133 134"},F:{"40":0.0034,"46":0.0034,"79":0.01019,"82":0.00679,"85":0.01019,"86":0.0034,"95":0.07134,"102":0.0034,"103":0.0034,"108":0.0034,"109":0.03057,"112":0.0034,"113":0.13928,"114":2.30317,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 104 105 106 107 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0034,"17":0.0034,"18":0.00679,"84":0.0034,"89":0.0034,"90":0.0034,"92":0.02718,"100":0.0034,"103":0.0034,"107":0.00679,"108":0.0034,"109":0.04076,"112":0.0034,"113":0.0034,"114":0.00679,"116":0.01019,"117":0.00679,"118":0.0034,"119":0.0034,"121":0.0034,"122":0.01019,"123":0.0034,"124":0.00679,"125":0.02038,"126":0.02038,"127":0.01359,"128":0.01359,"129":0.06115,"130":1.69171,"131":1.08704,_:"13 14 15 16 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 104 105 106 110 111 115 120"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3","12.1":0.0034,"13.1":0.00679,"14.1":0.01019,"15.4":0.00679,"15.5":0.0034,"15.6":0.04076,"16.0":0.0034,"16.1":0.02718,"16.2":0.01019,"16.3":0.00679,"16.4":0.0034,"16.5":0.0034,"16.6":0.04076,"17.0":0.0034,"17.1":0.00679,"17.2":0.00679,"17.3":0.00679,"17.4":0.08832,"17.5":0.01699,"17.6":0.06454,"18.0":0.15966,"18.1":0.06454,"18.2":0.0034},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00053,"5.0-5.1":0,"6.0-6.1":0.00211,"7.0-7.1":0.00263,"8.1-8.4":0,"9.0-9.2":0.00211,"9.3":0.00737,"10.0-10.2":0.00158,"10.3":0.01211,"11.0-11.2":0.14211,"11.3-11.4":0.00368,"12.0-12.1":0.00211,"12.2-12.5":0.05527,"13.0-13.1":0.00105,"13.2":0.01421,"13.3":0.00211,"13.4-13.7":0.0079,"14.0-14.4":0.01737,"14.5-14.8":0.02474,"15.0-15.1":0.01421,"15.2-15.3":0.01316,"15.4":0.01579,"15.5":0.01842,"15.6-15.8":0.19738,"16.0":0.03737,"16.1":0.07895,"16.2":0.04,"16.3":0.0679,"16.4":0.01368,"16.5":0.02737,"16.6-16.7":0.25896,"17.0":0.01895,"17.1":0.03158,"17.2":0.02632,"17.3":0.04,"17.4":0.08579,"17.5":0.25633,"17.6-17.7":2.21431,"18.0":0.7853,"18.1":0.69003,"18.2":0.0279},P:{"4":0.14406,"20":0.01029,"21":0.03087,"22":0.05145,"23":0.03087,"24":0.05145,"25":0.07203,"26":0.62769,"27":0.40131,_:"5.0-5.4 8.2 9.2 10.1 12.0 14.0 15.0 18.0","6.2-6.4":0.01029,"7.2-7.4":0.26754,"11.1-11.2":0.01029,"13.0":0.01029,"16.0":0.01029,"17.0":0.03087,"19.0":0.01029},I:{"0":0.07248,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00009},A:{"8":0.0073,"9":0.00365,"11":0.08757,_:"6 7 10 5.5"},K:{"0":0.21114,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.07264},H:{"0":0.02},L:{"0":60.36226},R:{_:"0"},M:{"0":0.07925}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TO.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TO.js deleted file mode 100644 index 467a5294..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TO.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.01124,"125":0.00562,"128":0.04779,"129":0.00562,"131":0.08152,"132":0.75054,"133":0.08152,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 126 127 130 134 135 136 3.5 3.6"},D:{"44":0.00562,"45":0.00562,"79":0.05341,"81":0.00562,"83":0.00562,"86":0.1012,"93":0.01124,"96":0.00562,"98":0.03654,"99":0.0759,"103":0.01687,"105":0.01687,"109":0.31202,"116":0.18272,"120":0.07028,"122":0.12931,"125":0.06465,"126":0.73929,"127":0.17709,"128":0.09557,"129":0.27829,"130":7.12307,"131":4.40484,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 84 85 87 88 89 90 91 92 94 95 97 100 101 102 104 106 107 108 110 111 112 113 114 115 117 118 119 121 123 124 132 133 134"},F:{"85":0.1012,"89":0.03092,"114":0.33732,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"89":0.03654,"100":0.00562,"109":0.0759,"116":0.03654,"117":0.00562,"122":0.31202,"125":0.01687,"127":0.05903,"128":0.03654,"129":1.18624,"130":5.07948,"131":2.36124,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 114 115 118 119 120 121 123 124 126"},E:{"14":0.01124,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 16.0 16.1 16.2 17.1 17.3 18.2","13.1":0.04217,"14.1":0.03092,"15.2-15.3":0.00562,"15.4":0.00562,"15.5":0.01124,"15.6":0.03654,"16.3":0.00562,"16.4":0.01124,"16.5":0.01124,"16.6":0.15461,"17.0":0.01124,"17.2":1.43642,"17.4":0.01124,"17.5":0.02249,"17.6":0.17709,"18.0":0.02249,"18.1":0.08152},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00097,"5.0-5.1":0,"6.0-6.1":0.00388,"7.0-7.1":0.00485,"8.1-8.4":0,"9.0-9.2":0.00388,"9.3":0.01359,"10.0-10.2":0.00291,"10.3":0.02232,"11.0-11.2":0.26204,"11.3-11.4":0.00679,"12.0-12.1":0.00388,"12.2-12.5":0.1019,"13.0-13.1":0.00194,"13.2":0.0262,"13.3":0.00388,"13.4-13.7":0.01456,"14.0-14.4":0.03203,"14.5-14.8":0.04561,"15.0-15.1":0.0262,"15.2-15.3":0.02426,"15.4":0.02912,"15.5":0.03397,"15.6-15.8":0.36394,"16.0":0.06891,"16.1":0.14558,"16.2":0.07376,"16.3":0.1252,"16.4":0.02523,"16.5":0.05047,"16.6-16.7":0.47749,"17.0":0.03494,"17.1":0.05823,"17.2":0.04853,"17.3":0.07376,"17.4":0.15819,"17.5":0.47264,"17.6-17.7":4.08296,"18.0":1.44801,"18.1":1.27235,"18.2":0.05144},P:{"4":0.04074,"21":0.02037,"22":0.08148,"24":0.27498,"25":0.04074,"26":0.5907,"27":0.22406,_:"20 23 5.0-5.4 6.2-6.4 8.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0","7.2-7.4":0.04074,"9.2":0.03055},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.13659,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.64701},H:{"0":0},L:{"0":61.16213},R:{_:"0"},M:{"0":0.05751}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TR.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TR.js deleted file mode 100644 index deb00e4e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TR.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"47":0.00251,"52":0.00503,"72":0.00251,"78":0.00251,"79":0.08544,"85":0.00251,"88":0.00251,"103":0.00251,"108":0.00251,"109":0.00251,"115":0.11309,"125":0.00503,"127":0.0377,"128":0.00503,"129":0.00251,"130":0.00251,"131":0.01257,"132":0.3292,"133":0.04021,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 80 81 82 83 84 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 110 111 112 113 114 116 117 118 119 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"22":0.00251,"26":0.01759,"34":0.0201,"38":0.02764,"47":0.02764,"49":0.0201,"50":0.00251,"53":0.00754,"56":0.00251,"58":0.00251,"59":0.00251,"63":0.00251,"65":0.00251,"68":0.00503,"69":0.00251,"70":0.00251,"71":0.00251,"72":0.00251,"73":0.01257,"75":0.00251,"76":0.00251,"77":0.00251,"78":0.00251,"79":0.27894,"80":0.00754,"81":0.00503,"83":0.04775,"84":0.00251,"85":0.02513,"86":0.00754,"87":0.21361,"88":0.01257,"89":0.00503,"90":0.00503,"91":0.01508,"92":0.00251,"93":0.00251,"94":0.06031,"95":0.00754,"96":0.00503,"97":0.00503,"98":0.00503,"99":0.00754,"100":0.00754,"101":0.00503,"102":0.00503,"103":0.0201,"104":0.00754,"105":0.00503,"106":0.02513,"107":0.01508,"108":0.04272,"109":2.92262,"110":0.01257,"111":0.01508,"112":0.01508,"113":0.00754,"114":0.06031,"115":0.00754,"116":0.03016,"117":0.00503,"118":0.02262,"119":0.02513,"120":0.02262,"121":0.02262,"122":0.04272,"123":0.03016,"124":0.04272,"125":0.02513,"126":0.05026,"127":0.05529,"128":0.09549,"129":0.21612,"130":6.53129,"131":5.86283,"132":0.00251,"133":0.00251,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 48 51 52 54 55 57 60 61 62 64 66 67 74 134"},F:{"28":0.00251,"31":0.00503,"32":0.01005,"36":0.00754,"40":0.07036,"46":0.10806,"79":0.00251,"85":0.02513,"86":0.00251,"95":0.04523,"109":0.00251,"112":0.00251,"113":0.08042,"114":1.23891,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"14":0.00251,"15":0.00251,"17":0.00251,"18":0.01005,"92":0.00754,"100":0.00251,"106":0.00251,"107":0.00251,"108":0.00251,"109":0.09549,"110":0.00251,"111":0.00251,"114":0.00251,"115":0.00251,"117":0.00251,"119":0.00251,"120":0.00251,"121":0.00251,"122":0.00503,"123":0.00251,"124":0.00503,"125":0.00503,"126":0.01005,"127":0.01005,"128":0.01759,"129":0.05026,"130":1.22634,"131":0.97253,_:"12 13 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 112 113 116 118"},E:{"8":0.00251,"13":0.00251,"14":0.00754,"15":0.00251,_:"0 4 5 6 7 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00251,"13.1":0.01005,"14.1":0.01508,"15.1":0.00251,"15.2-15.3":0.00251,"15.4":0.00503,"15.5":0.00503,"15.6":0.06283,"16.0":0.00251,"16.1":0.01257,"16.2":0.00754,"16.3":0.0201,"16.4":0.00503,"16.5":0.01257,"16.6":0.06785,"17.0":0.00754,"17.1":0.01005,"17.2":0.01005,"17.3":0.01257,"17.4":0.02513,"17.5":0.06283,"17.6":0.20104,"18.0":0.10303,"18.1":0.12565,"18.2":0.00251},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00141,"5.0-5.1":0,"6.0-6.1":0.00564,"7.0-7.1":0.00705,"8.1-8.4":0,"9.0-9.2":0.00564,"9.3":0.01975,"10.0-10.2":0.00423,"10.3":0.03244,"11.0-11.2":0.38085,"11.3-11.4":0.00987,"12.0-12.1":0.00564,"12.2-12.5":0.14811,"13.0-13.1":0.00282,"13.2":0.03808,"13.3":0.00564,"13.4-13.7":0.02116,"14.0-14.4":0.04655,"14.5-14.8":0.0663,"15.0-15.1":0.03808,"15.2-15.3":0.03526,"15.4":0.04232,"15.5":0.04937,"15.6-15.8":0.52896,"16.0":0.10015,"16.1":0.21158,"16.2":0.1072,"16.3":0.18196,"16.4":0.03667,"16.5":0.07335,"16.6-16.7":0.69399,"17.0":0.05078,"17.1":0.08463,"17.2":0.07053,"17.3":0.1072,"17.4":0.22992,"17.5":0.68694,"17.6-17.7":5.93419,"18.0":2.10454,"18.1":1.84923,"18.2":0.07476},P:{"4":0.27536,"20":0.0204,"21":0.08159,"22":0.04079,"23":0.05099,"24":0.05099,"25":0.07139,"26":1.15245,"27":1.07086,"5.0-5.4":0.04079,"6.2-6.4":0.0306,"7.2-7.4":0.09179,_:"8.2 10.1 15.0","9.2":0.0102,"11.1-11.2":0.0102,"12.0":0.0102,"13.0":0.0306,"14.0":0.0102,"16.0":0.0204,"17.0":0.08159,"18.0":0.0102,"19.0":0.0204},I:{"0":0.02988,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.00263,"11":0.05517,_:"6 7 9 10 5.5"},K:{"0":0.80111,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.09733},H:{"0":0},L:{"0":55.26541},R:{_:"0"},M:{"0":0.10482}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TT.js deleted file mode 100644 index 32d339c2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00396,"78":0.00396,"102":0.00396,"103":0.00791,"110":0.00396,"115":0.07515,"121":0.02373,"125":0.00791,"127":0.00396,"128":0.01187,"129":0.00396,"130":0.00396,"131":0.08306,"132":1.00457,"133":0.12656,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 111 112 113 114 116 117 118 119 120 122 123 124 126 134 135 136 3.5 3.6"},D:{"49":0.00791,"55":0.00396,"58":0.00396,"63":0.00396,"65":0.00396,"69":0.08701,"70":0.00396,"74":0.00396,"76":0.02769,"79":0.03955,"80":0.00396,"81":0.00396,"83":0.00791,"86":0.01978,"87":0.02373,"91":0.02373,"92":0.00396,"93":0.02373,"94":0.01978,"95":0.00791,"101":0.00791,"102":0.00396,"103":0.47856,"104":0.05537,"106":0.01187,"107":0.00791,"109":1.43171,"110":0.00791,"111":0.00791,"112":0.00396,"114":0.00791,"115":0.01582,"116":0.13052,"119":0.0356,"120":0.01187,"121":0.05933,"122":0.13052,"123":0.0356,"124":0.05933,"125":0.02373,"126":0.10679,"127":0.05142,"128":0.34409,"129":1.20232,"130":14.74424,"131":7.17833,"132":0.02373,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 54 56 57 59 60 61 62 64 66 67 68 71 72 73 75 77 78 84 85 88 89 90 96 97 98 99 100 105 108 113 117 118 133 134"},F:{"85":0.03955,"86":0.00396,"95":0.02373,"113":0.12261,"114":1.17859,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.01582,"90":0.00791,"92":0.00791,"107":0.00396,"109":0.10283,"114":0.00396,"117":0.00396,"121":0.05537,"122":0.01582,"124":0.00396,"126":0.03164,"127":0.01187,"128":0.01978,"129":0.22939,"130":3.26683,"131":1.92213,_:"12 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 108 110 111 112 113 115 116 118 119 120 123 125"},E:{"14":0.02769,"15":0.00791,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00396,"13.1":0.05537,"14.1":0.03164,"15.1":0.00396,"15.2-15.3":0.00396,"15.4":0.00791,"15.5":0.01582,"15.6":0.09097,"16.0":0.01582,"16.1":0.01978,"16.2":0.03164,"16.3":0.02769,"16.4":0.00396,"16.5":0.03164,"16.6":0.29267,"17.0":0.01582,"17.1":0.01582,"17.2":0.01187,"17.3":0.02769,"17.4":0.21753,"17.5":0.14238,"17.6":0.68817,"18.0":0.43505,"18.1":0.58139,"18.2":0.02373},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00182,"5.0-5.1":0,"6.0-6.1":0.00726,"7.0-7.1":0.00908,"8.1-8.4":0,"9.0-9.2":0.00726,"9.3":0.02542,"10.0-10.2":0.00545,"10.3":0.04176,"11.0-11.2":0.49022,"11.3-11.4":0.01271,"12.0-12.1":0.00726,"12.2-12.5":0.19064,"13.0-13.1":0.00363,"13.2":0.04902,"13.3":0.00726,"13.4-13.7":0.02723,"14.0-14.4":0.05992,"14.5-14.8":0.08533,"15.0-15.1":0.04902,"15.2-15.3":0.04539,"15.4":0.05447,"15.5":0.06355,"15.6-15.8":0.68086,"16.0":0.12891,"16.1":0.27234,"16.2":0.13799,"16.3":0.23421,"16.4":0.04721,"16.5":0.09441,"16.6-16.7":0.89328,"17.0":0.06536,"17.1":0.10894,"17.2":0.09078,"17.3":0.13799,"17.4":0.29595,"17.5":0.88421,"17.6-17.7":7.6383,"18.0":2.7089,"18.1":2.38027,"18.2":0.09623},P:{"4":0.28701,"21":0.04252,"22":0.04252,"23":0.05315,"24":0.08504,"25":0.05315,"26":2.16852,"27":1.87088,_:"20 8.2 9.2 10.1 12.0 14.0 15.0 18.0","5.0-5.4":0.01063,"6.2-6.4":0.01063,"7.2-7.4":0.14882,"11.1-11.2":0.01063,"13.0":0.03189,"16.0":0.01063,"17.0":0.01063,"19.0":0.01063},I:{"0":0.02412,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"9":0.00396,"11":0.00396,_:"6 7 8 10 5.5"},K:{"0":0.16319,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01813},H:{"0":0},L:{"0":38.1355},R:{_:"0"},M:{"0":0.27198}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TV.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TV.js deleted file mode 100644 index e561bd65..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TV.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 3.5 3.6"},D:{"109":4.79552,"130":33.59696,"131":27.99904,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 132 133 134"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"112":0.8024,"122":0.8024,"128":6.40032,"130":16.8032,"131":2.39776,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 113 114 115 116 117 118 119 120 121 123 124 125 126 127 129"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.1 15.2-15.3 15.4 15.5 15.6 16.0 16.1 16.2 16.3 16.4 16.5 16.6 17.0 17.1 17.2 17.3 17.4 17.5 18.0 18.1 18.2","17.6":0.8024},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.5":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.8":0,"15.0-15.1":0,"15.2-15.3":0,"15.4":0,"15.5":0,"15.6-15.8":0,"16.0":0,"16.1":0,"16.2":0,"16.3":0,"16.4":0,"16.5":0,"16.6-16.7":0,"17.0":0,"17.1":0,"17.2":0,"17.3":0,"17.4":0,"17.5":0,"17.6-17.7":0,"18.0":0,"18.1":0,"18.2":0},P:{"26":1.59992,_:"4 20 21 22 23 24 25 27 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":4.00008},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TW.js deleted file mode 100644 index 14e474ce..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00436,"52":0.00436,"78":0.00436,"87":0.00436,"88":0.00436,"102":0.00436,"103":0.00872,"115":0.13949,"125":0.00436,"127":0.00436,"128":0.00872,"129":0.00436,"130":0.00872,"131":0.03487,"132":0.59718,"133":0.05231,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"11":0.00436,"30":0.00436,"34":0.01308,"38":0.05667,"45":0.00436,"48":0.00436,"49":0.03923,"53":0.03487,"56":0.00872,"61":0.03923,"65":0.00436,"66":0.00436,"67":0.00872,"68":0.00436,"70":0.00436,"71":0.00436,"72":0.00436,"73":0.03051,"74":0.01744,"75":0.00436,"76":0.00872,"77":0.00436,"78":0.00436,"79":0.3618,"80":0.00872,"81":0.01744,"83":0.01744,"84":0.00436,"85":0.00436,"86":0.22231,"87":0.30949,"88":0.00436,"89":0.00872,"90":0.00436,"91":0.0218,"92":0.00436,"94":0.10026,"95":0.00872,"96":0.00436,"97":0.01308,"98":0.00436,"99":0.00436,"100":0.01744,"101":0.01308,"102":0.01744,"103":0.05667,"104":0.01744,"105":0.00872,"106":0.01308,"107":0.01308,"108":0.02615,"109":2.65899,"110":0.01308,"111":0.00872,"112":0.00872,"113":0.00436,"114":0.0218,"115":0.00872,"116":0.10898,"117":0.0218,"118":0.17872,"119":0.04795,"120":0.04359,"121":0.04359,"122":0.05231,"123":0.03487,"124":0.05667,"125":0.03051,"126":0.09154,"127":0.08282,"128":0.20051,"129":0.64949,"130":14.79881,"131":8.5262,"132":0.01308,"133":0.00872,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 35 36 37 39 40 41 42 43 44 46 47 50 51 52 54 55 57 58 59 60 62 63 64 69 93 134"},F:{"28":0.00436,"36":0.01308,"46":0.09154,"85":0.00872,"95":0.01308,"113":0.00436,"114":0.09154,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00436,"18":0.00872,"92":0.00436,"108":0.00436,"109":0.08718,"110":0.00436,"111":0.00436,"112":0.00436,"113":0.00436,"114":0.00436,"115":0.00436,"116":0.00436,"117":0.00436,"118":0.00436,"119":0.00436,"120":0.00872,"121":0.00872,"122":0.00436,"123":0.00872,"124":0.00872,"125":0.00872,"126":0.01308,"127":0.01308,"128":0.0218,"129":0.10026,"130":2.72873,"131":1.68257,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107"},E:{"13":0.0218,"14":0.0741,"15":0.01308,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.01744,"13.1":0.06103,"14.1":0.19616,"15.1":0.02615,"15.2-15.3":0.01744,"15.4":0.06539,"15.5":0.10898,"15.6":0.49257,"16.0":0.02615,"16.1":0.08718,"16.2":0.05667,"16.3":0.15257,"16.4":0.03051,"16.5":0.08718,"16.6":0.61026,"17.0":0.01744,"17.1":0.06539,"17.2":0.05667,"17.3":0.06539,"17.4":0.13949,"17.5":0.51,"17.6":2.53258,"18.0":0.32257,"18.1":0.38795,"18.2":0.00436},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00269,"5.0-5.1":0,"6.0-6.1":0.01074,"7.0-7.1":0.01343,"8.1-8.4":0,"9.0-9.2":0.01074,"9.3":0.03761,"10.0-10.2":0.00806,"10.3":0.06178,"11.0-11.2":0.72529,"11.3-11.4":0.0188,"12.0-12.1":0.01074,"12.2-12.5":0.28206,"13.0-13.1":0.00537,"13.2":0.07253,"13.3":0.01074,"13.4-13.7":0.04029,"14.0-14.4":0.08865,"14.5-14.8":0.12625,"15.0-15.1":0.07253,"15.2-15.3":0.06716,"15.4":0.08059,"15.5":0.09402,"15.6-15.8":1.00734,"16.0":0.19072,"16.1":0.40294,"16.2":0.20415,"16.3":0.34653,"16.4":0.06984,"16.5":0.13968,"16.6-16.7":1.32163,"17.0":0.0967,"17.1":0.16117,"17.2":0.13431,"17.3":0.20415,"17.4":0.43786,"17.5":1.3082,"17.6-17.7":11.30103,"18.0":4.00788,"18.1":3.52167,"18.2":0.14237},P:{"4":0.6034,"20":0.04554,"21":0.06831,"22":0.06831,"23":0.09108,"24":0.10246,"25":0.11385,"26":1.75326,"27":1.17264,"5.0-5.4":0.11385,"6.2-6.4":0.06831,"7.2-7.4":0.02277,_:"8.2 10.1 12.0 14.0","9.2":0.01138,"11.1-11.2":0.01138,"13.0":0.02277,"15.0":0.01138,"16.0":0.02277,"17.0":0.02277,"18.0":0.02277,"19.0":0.02277},I:{"0":0.01689,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.02267,"9":0.00756,"10":0.00756,"11":0.07556,_:"6 7 5.5"},K:{"0":0.15231,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01128},O:{"0":0.09026},H:{"0":0},L:{"0":25.51887},R:{_:"0"},M:{"0":0.15795}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TZ.js deleted file mode 100644 index 99957a66..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/TZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00755,"38":0.00189,"45":0.00189,"48":0.00189,"49":0.00189,"68":0.00189,"72":0.00378,"78":0.01322,"89":0.00189,"102":0.00378,"103":0.00566,"110":0.00189,"112":0.00189,"114":0.00189,"115":0.13782,"117":0.00944,"123":0.00189,"125":0.00189,"126":0.00189,"127":0.02643,"128":0.0151,"129":0.00378,"130":0.0151,"131":0.05664,"132":0.71178,"133":0.08118,"134":0.00189,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 46 47 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 111 113 116 118 119 120 121 122 124 135 136 3.5 3.6"},D:{"11":0.00189,"21":0.00189,"37":0.00189,"43":0.00189,"46":0.00189,"49":0.00378,"53":0.00189,"55":0.00189,"58":0.00189,"59":0.00189,"60":0.00189,"62":0.00189,"63":0.00378,"64":0.00189,"65":0.00189,"66":0.00189,"67":0.00189,"68":0.00566,"69":0.00189,"70":0.00566,"71":0.00378,"72":0.00189,"73":0.00189,"74":0.00378,"76":0.01133,"77":0.00378,"78":0.00378,"79":0.00944,"80":0.00378,"81":0.00189,"83":0.00755,"85":0.00189,"86":0.00189,"87":0.01133,"88":0.00755,"89":0.00189,"90":0.01133,"91":0.00189,"92":0.00189,"93":0.00378,"94":0.04154,"95":0.00378,"96":0.00189,"97":0.00566,"98":0.00378,"99":0.05664,"100":0.00755,"101":0.00189,"102":0.00189,"103":0.03965,"104":0.0151,"105":0.00566,"106":0.00566,"107":0.00566,"108":0.00378,"109":1.32726,"110":0.00378,"111":0.00755,"112":0.00755,"113":0.01133,"114":0.01322,"115":0.00378,"116":0.03965,"117":0.00189,"118":0.0151,"119":0.01322,"120":0.03021,"121":0.0151,"122":0.01888,"123":0.01322,"124":0.02454,"125":0.02077,"126":0.05475,"127":0.04154,"128":0.09062,"129":0.16614,"130":4.22534,"131":2.49405,"132":0.00378,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 44 45 47 48 50 51 52 54 56 57 61 75 84 133 134"},F:{"31":0.00566,"37":0.00189,"70":0.00189,"79":0.00378,"83":0.00566,"84":0.00378,"85":0.01888,"86":0.00378,"95":0.02266,"108":0.00944,"109":0.00189,"110":0.00378,"112":0.00378,"113":0.00566,"114":0.35494,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 71 72 73 74 75 76 77 78 80 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00378,"13":0.00378,"14":0.00189,"15":0.00378,"16":0.01133,"17":0.00189,"18":0.02832,"84":0.00189,"88":0.00189,"89":0.00755,"90":0.00944,"92":0.03965,"100":0.00755,"103":0.00189,"108":0.00755,"109":0.04154,"111":0.00189,"112":0.00189,"113":0.00189,"114":0.00755,"119":0.00755,"121":0.00189,"122":0.00378,"123":0.00189,"124":0.00378,"125":0.00755,"126":0.00944,"127":0.00944,"128":0.05286,"129":0.04531,"130":0.85149,"131":0.57395,_:"79 80 81 83 85 86 87 91 93 94 95 96 97 98 99 101 102 104 105 106 107 110 115 116 117 118 120"},E:{"11":0.00755,"13":0.00189,"14":0.00189,"15":0.00378,_:"0 4 5 6 7 8 9 10 12 3.1 3.2 6.1 7.1 9.1 10.1 15.2-15.3 16.0 16.2","5.1":0.00566,"11.1":0.00566,"12.1":0.00566,"13.1":0.02077,"14.1":0.0151,"15.1":0.00189,"15.4":0.00378,"15.5":0.00189,"15.6":0.02454,"16.1":0.00944,"16.3":0.00566,"16.4":0.00189,"16.5":0.00189,"16.6":0.01888,"17.0":0.00189,"17.1":0.00189,"17.2":0.00189,"17.3":0.00378,"17.4":0.00944,"17.5":0.01888,"17.6":0.05475,"18.0":0.06986,"18.1":0.06986,"18.2":0.00189},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00037,"5.0-5.1":0,"6.0-6.1":0.0015,"7.0-7.1":0.00187,"8.1-8.4":0,"9.0-9.2":0.0015,"9.3":0.00524,"10.0-10.2":0.00112,"10.3":0.0086,"11.0-11.2":0.10097,"11.3-11.4":0.00262,"12.0-12.1":0.0015,"12.2-12.5":0.03927,"13.0-13.1":0.00075,"13.2":0.0101,"13.3":0.0015,"13.4-13.7":0.00561,"14.0-14.4":0.01234,"14.5-14.8":0.01758,"15.0-15.1":0.0101,"15.2-15.3":0.00935,"15.4":0.01122,"15.5":0.01309,"15.6-15.8":0.14024,"16.0":0.02655,"16.1":0.05609,"16.2":0.02842,"16.3":0.04824,"16.4":0.00972,"16.5":0.01945,"16.6-16.7":0.18399,"17.0":0.01346,"17.1":0.02244,"17.2":0.0187,"17.3":0.02842,"17.4":0.06096,"17.5":0.18212,"17.6-17.7":1.57326,"18.0":0.55795,"18.1":0.49027,"18.2":0.01982},P:{"4":0.07203,"20":0.01029,"21":0.02058,"22":0.1029,"23":0.04116,"24":0.27782,"25":0.07203,"26":0.46304,"27":0.21608,"5.0-5.4":0.02058,_:"6.2-6.4 8.2 10.1 12.0 14.0 15.0","7.2-7.4":0.06174,"9.2":0.02058,"11.1-11.2":0.04116,"13.0":0.01029,"16.0":0.02058,"17.0":0.01029,"18.0":0.01029,"19.0":0.06174},I:{"0":0.16188,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00005,"4.4":0,"4.4.3-4.4.4":0.00021},A:{"11":0.00755,_:"6 7 8 9 10 5.5"},K:{"0":7.41048,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":1.06267,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.30014},H:{"0":7.11},L:{"0":65.47563},R:{_:"0"},M:{"0":0.11357}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UA.js deleted file mode 100644 index a9ed9640..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"38":0.00648,"49":0.00648,"52":0.12962,"55":0.00648,"68":0.02592,"78":0.00648,"82":0.00648,"84":0.00648,"88":0.00648,"91":0.00648,"98":0.01296,"102":0.01296,"103":0.03889,"105":0.01296,"106":0.01296,"107":0.00648,"108":0.01296,"109":0.01296,"110":0.01944,"111":0.01944,"113":0.00648,"115":0.71291,"116":0.00648,"120":0.00648,"122":0.00648,"123":0.01296,"125":0.03241,"126":0.11018,"127":0.01296,"128":0.14258,"129":0.01296,"130":0.01296,"131":0.08425,"132":1.82764,"133":0.18795,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 53 54 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 83 85 86 87 89 90 92 93 94 95 96 97 99 100 101 104 112 114 117 118 119 121 124 134 135 136 3.5 3.6"},D:{"26":0.00648,"38":0.00648,"41":0.00648,"45":0.00648,"46":0.00648,"47":0.00648,"48":0.00648,"49":0.06481,"50":0.00648,"51":0.00648,"52":0.00648,"54":0.00648,"55":0.00648,"56":0.00648,"57":0.00648,"58":0.03241,"60":0.00648,"61":0.02592,"62":0.00648,"63":0.05833,"64":0.00648,"65":0.00648,"66":0.00648,"68":0.00648,"71":0.00648,"74":0.00648,"77":0.00648,"78":0.00648,"79":0.02592,"80":0.00648,"81":0.00648,"83":0.01944,"84":0.00648,"85":0.01944,"86":0.01944,"87":0.03241,"88":0.01296,"89":0.00648,"90":0.00648,"91":0.00648,"92":0.00648,"94":0.01944,"95":0.00648,"96":0.01296,"97":0.04537,"98":0.00648,"99":0.01296,"100":0.01296,"101":0.01296,"102":0.03241,"103":0.04537,"104":0.11018,"105":0.05185,"106":0.17499,"107":0.17499,"108":0.24628,"109":3.63584,"110":0.1361,"111":0.12314,"112":0.11018,"113":0.03889,"114":0.07777,"115":0.00648,"116":0.1037,"117":0.00648,"118":0.25276,"119":0.06481,"120":0.05833,"121":0.06481,"122":0.06481,"123":0.07129,"124":0.19443,"125":0.08425,"126":0.12962,"127":0.1361,"128":0.31109,"129":0.95271,"130":17.51814,"131":10.3696,"132":0.01296,"133":0.01296,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 37 39 40 42 43 44 53 59 67 69 70 72 73 75 76 93 134"},F:{"36":0.01296,"72":0.00648,"77":0.00648,"79":0.02592,"80":0.01944,"82":0.01944,"83":0.01296,"84":0.01944,"85":0.11018,"86":0.05185,"87":0.00648,"90":0.00648,"91":0.00648,"92":0.00648,"93":0.01296,"94":0.00648,"95":0.73235,"98":0.00648,"99":0.00648,"102":0.00648,"106":0.01296,"108":0.00648,"109":0.00648,"110":0.01296,"111":0.00648,"112":0.01296,"113":0.08425,"114":4.05711,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 73 74 75 76 78 81 88 89 96 97 100 101 103 104 105 107 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00648,"18":0.00648,"92":0.01296,"103":0.00648,"106":0.01296,"107":0.03889,"108":0.02592,"109":0.05185,"110":0.02592,"111":0.01296,"114":0.00648,"116":0.01944,"121":0.00648,"122":0.00648,"124":0.00648,"125":0.00648,"126":0.00648,"128":0.00648,"129":0.06481,"130":9.06044,"131":4.88019,_:"13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 104 105 112 113 115 117 118 119 120 123 127"},E:{"14":0.00648,"15":0.00648,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3","5.1":0.01296,"13.1":0.01296,"14.1":0.01944,"15.1":0.01296,"15.4":0.00648,"15.5":0.00648,"15.6":0.05833,"16.0":0.01296,"16.1":0.01944,"16.2":0.00648,"16.3":0.03241,"16.4":0.00648,"16.5":0.02592,"16.6":0.11666,"17.0":0.01944,"17.1":0.04537,"17.2":0.02592,"17.3":0.02592,"17.4":0.05833,"17.5":0.11666,"17.6":0.2722,"18.0":0.21387,"18.1":0.28516,"18.2":0.01296},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00085,"5.0-5.1":0,"6.0-6.1":0.00341,"7.0-7.1":0.00426,"8.1-8.4":0,"9.0-9.2":0.00341,"9.3":0.01192,"10.0-10.2":0.00255,"10.3":0.01959,"11.0-11.2":0.22993,"11.3-11.4":0.00596,"12.0-12.1":0.00341,"12.2-12.5":0.08942,"13.0-13.1":0.0017,"13.2":0.02299,"13.3":0.00341,"13.4-13.7":0.01277,"14.0-14.4":0.0281,"14.5-14.8":0.04003,"15.0-15.1":0.02299,"15.2-15.3":0.02129,"15.4":0.02555,"15.5":0.02981,"15.6-15.8":0.31935,"16.0":0.06046,"16.1":0.12774,"16.2":0.06472,"16.3":0.10986,"16.4":0.02214,"16.5":0.04428,"16.6-16.7":0.41899,"17.0":0.03066,"17.1":0.0511,"17.2":0.04258,"17.3":0.06472,"17.4":0.13881,"17.5":0.41473,"17.6-17.7":3.58267,"18.0":1.27058,"18.1":1.11644,"18.2":0.04513},P:{"4":0.03232,"20":0.01077,"21":0.02155,"22":0.01077,"23":0.02155,"24":0.02155,"25":0.02155,"26":0.65727,"27":0.36635,_:"5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0","7.2-7.4":0.01077,"17.0":0.02155,"18.0":0.01077,"19.0":0.01077},I:{"0":0.0316,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"8":0.00877,"9":0.00877,"11":0.13153,_:"6 7 10 5.5"},K:{"0":1.00347,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00352},O:{"0":0.08094},H:{"0":0.01},L:{"0":24.08682},R:{_:"0"},M:{"0":0.16539}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UG.js deleted file mode 100644 index a3fce775..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"13":0.00247,"34":0.00247,"50":0.00247,"52":0.01234,"58":0.00247,"65":0.00247,"68":0.00247,"72":0.00494,"76":0.00247,"78":0.00247,"91":0.01728,"93":0.00494,"102":0.00247,"103":0.00494,"110":0.00247,"111":0.00247,"114":0.00247,"115":0.26901,"121":0.00247,"122":0.00247,"123":0.00247,"124":0.00247,"125":0.00247,"126":0.0074,"127":0.03208,"128":0.04442,"129":0.01974,"130":0.01234,"131":0.22706,"132":1.15256,"133":0.19497,"134":0.00247,_:"2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 53 54 55 56 57 59 60 61 62 63 64 66 67 69 70 71 73 74 75 77 79 80 81 82 83 84 85 86 87 88 89 90 92 94 95 96 97 98 99 100 101 104 105 106 107 108 109 112 113 116 117 118 119 120 135 136 3.5 3.6"},D:{"11":0.00494,"19":0.00987,"39":0.00247,"47":0.00494,"49":0.00247,"50":0.00494,"51":0.00247,"55":0.00247,"58":0.00247,"59":0.00494,"62":0.00247,"64":0.01481,"65":0.00247,"66":0.00247,"67":0.00247,"68":0.02221,"69":0.00494,"70":0.0074,"71":0.00247,"72":0.01234,"73":0.00247,"74":0.00494,"75":0.0074,"76":0.00494,"77":0.00247,"78":0.00247,"79":0.01481,"80":0.0074,"81":0.0074,"83":0.01481,"86":0.00247,"87":0.02468,"88":0.04689,"89":0.00494,"90":0.00247,"91":0.00247,"92":0.00247,"93":0.01481,"94":0.01728,"95":0.01234,"96":0.00987,"97":0.00247,"98":0.00247,"99":0.00494,"100":0.0074,"101":0.00247,"102":0.00247,"103":0.04689,"104":0.0074,"105":0.00494,"106":0.00987,"107":0.0074,"108":0.0074,"109":0.90822,"110":0.00247,"111":0.01481,"112":0.00247,"113":0.00494,"114":0.01234,"115":0.00247,"116":0.08638,"117":0.00494,"118":0.01234,"119":0.04936,"120":0.02715,"121":0.01481,"122":0.02962,"123":0.01974,"124":0.05676,"125":0.01728,"126":0.13327,"127":0.05676,"128":0.14314,"129":0.32578,"130":5.73563,"131":3.74889,"132":0.0074,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 48 52 53 54 56 57 60 61 63 84 85 133 134"},F:{"42":0.00247,"78":0.00247,"79":0.00247,"83":0.00247,"84":0.01234,"85":0.04442,"86":0.00494,"95":0.03455,"112":0.00247,"113":0.00987,"114":0.46645,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00987,"13":0.00494,"14":0.00987,"15":0.00247,"16":0.00247,"17":0.00494,"18":0.05923,"84":0.00247,"89":0.00494,"90":0.01234,"92":0.05183,"100":0.00494,"108":0.00494,"109":0.01728,"114":0.02468,"115":0.00247,"116":0.00494,"119":0.00247,"120":0.00494,"121":0.00247,"122":0.00494,"124":0.0074,"125":0.0074,"126":0.01234,"127":0.01481,"128":0.02221,"129":0.0617,"130":1.02669,"131":0.62687,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111 112 113 117 118 123"},E:{"11":0.01481,"12":0.00494,"13":0.00247,"14":0.0074,_:"0 4 5 6 7 8 9 10 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1 15.2-15.3 15.4 16.0 17.0 18.2","5.1":0.00987,"11.1":0.00247,"13.1":0.01481,"14.1":0.0074,"15.1":0.00247,"15.5":0.00247,"15.6":0.04442,"16.1":0.00247,"16.2":0.00247,"16.3":0.00247,"16.4":0.00494,"16.5":0.00494,"16.6":0.03702,"17.1":0.00494,"17.2":0.00494,"17.3":0.00987,"17.4":0.00494,"17.5":0.01728,"17.6":0.04442,"18.0":0.04689,"18.1":0.04689},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00035,"5.0-5.1":0,"6.0-6.1":0.0014,"7.0-7.1":0.00175,"8.1-8.4":0,"9.0-9.2":0.0014,"9.3":0.0049,"10.0-10.2":0.00105,"10.3":0.00805,"11.0-11.2":0.09455,"11.3-11.4":0.00245,"12.0-12.1":0.0014,"12.2-12.5":0.03677,"13.0-13.1":0.0007,"13.2":0.00946,"13.3":0.0014,"13.4-13.7":0.00525,"14.0-14.4":0.01156,"14.5-14.8":0.01646,"15.0-15.1":0.00946,"15.2-15.3":0.00875,"15.4":0.01051,"15.5":0.01226,"15.6-15.8":0.13132,"16.0":0.02486,"16.1":0.05253,"16.2":0.02661,"16.3":0.04517,"16.4":0.0091,"16.5":0.01821,"16.6-16.7":0.17229,"17.0":0.01261,"17.1":0.02101,"17.2":0.01751,"17.3":0.02661,"17.4":0.05708,"17.5":0.17054,"17.6-17.7":1.47326,"18.0":0.52249,"18.1":0.4591,"18.2":0.01856},P:{"4":0.05135,"20":0.01027,"21":0.04108,"22":0.1027,"23":0.06162,"24":0.37997,"25":0.07189,"26":0.57509,"27":0.29782,"5.0-5.4":0.03081,"6.2-6.4":0.01027,"7.2-7.4":0.09243,_:"8.2 10.1 12.0 14.0 15.0","9.2":0.04108,"11.1-11.2":0.04108,"13.0":0.01027,"16.0":0.02054,"17.0":0.01027,"18.0":0.01027,"19.0":0.06162},I:{"0":0.08266,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00011},A:{"11":0.04196,_:"6 7 8 9 10 5.5"},K:{"0":4.99661,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.14309,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.35396},H:{"0":5.72},L:{"0":65.71987},R:{_:"0"},M:{"0":0.13556}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/US.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/US.js deleted file mode 100644 index e12db706..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/US.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"11":0.06351,"17":0.00423,"38":0.00423,"43":0.00423,"44":0.01694,"45":0.00847,"52":0.0127,"56":0.00423,"59":0.00423,"72":0.00847,"77":0.00423,"78":0.02117,"88":0.00423,"91":0.00423,"94":0.00847,"101":0.00423,"102":0.00423,"103":0.00423,"105":0.00423,"107":0.00423,"108":0.00423,"109":0.00423,"110":0.00423,"111":0.00423,"112":0.00423,"113":0.00423,"115":0.199,"118":0.32178,"120":0.00423,"121":0.00423,"122":0.00423,"123":0.00423,"124":0.00423,"125":0.02117,"126":0.00847,"127":0.0127,"128":0.08468,"129":0.01694,"130":0.0254,"131":0.19476,"132":1.6809,"133":0.10585,_:"2 3 4 5 6 7 8 9 10 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 47 48 49 50 51 53 54 55 57 58 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 79 80 81 82 83 84 85 86 87 89 90 92 93 95 96 97 98 99 100 104 106 114 116 117 119 134 135 136 3.5 3.6"},D:{"41":0.00423,"47":0.00423,"48":0.03811,"49":0.01694,"50":0.00423,"51":0.00847,"52":0.00423,"53":0.00423,"56":0.03387,"58":0.00423,"59":0.00423,"60":0.00847,"61":0.02117,"65":0.00423,"66":0.01694,"67":0.00423,"74":0.00423,"75":0.00423,"76":0.00847,"77":0.00423,"78":0.00847,"79":0.07198,"80":0.0127,"81":0.11432,"83":0.06351,"84":0.00423,"85":0.01694,"86":0.00847,"87":0.03387,"88":0.00847,"89":0.00847,"90":0.00847,"91":0.08045,"92":0.00847,"93":0.02964,"94":0.02117,"95":0.00423,"96":0.00423,"97":0.00847,"98":0.00423,"99":0.01694,"100":0.02117,"101":0.0127,"102":0.00847,"103":0.15242,"104":0.02117,"105":0.01694,"106":0.0254,"107":0.0254,"108":0.04234,"109":0.4361,"110":0.01694,"111":0.02964,"112":0.0254,"113":0.07198,"114":0.09738,"115":0.0254,"116":0.17783,"117":0.20323,"118":0.04234,"119":0.05928,"120":0.11855,"121":0.23287,"122":0.10162,"123":0.09315,"124":0.27944,"125":2.65472,"126":0.99922,"127":0.72401,"128":0.58429,"129":1.85449,"130":11.30901,"131":4.43723,"132":0.02964,"133":0.01694,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 54 55 57 62 63 64 68 69 70 71 72 73 134"},F:{"85":0.0127,"95":0.02117,"102":0.00423,"112":0.00423,"113":0.05504,"114":0.45727,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"16":0.00423,"17":0.00423,"18":0.0127,"87":0.00423,"92":0.00423,"107":0.00423,"108":0.00423,"109":0.05504,"110":0.00423,"111":0.00423,"112":0.00423,"113":0.00423,"114":0.00423,"116":0.00423,"117":0.00423,"119":0.00423,"120":0.0127,"121":0.00847,"122":0.00847,"123":0.00423,"124":0.00847,"125":0.0127,"126":0.01694,"127":0.02117,"128":0.04234,"129":0.26674,"130":3.59467,"131":1.80792,_:"12 13 14 15 79 80 81 83 84 85 86 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 115 118"},E:{"8":0.00423,"9":0.00423,"13":0.00423,"14":0.03387,"15":0.0127,_:"0 4 5 6 7 10 11 12 3.1 3.2 5.1 6.1 7.1 10.1","9.1":0.00423,"11.1":0.00423,"12.1":0.01694,"13.1":0.12702,"14.1":0.09738,"15.1":0.04234,"15.2-15.3":0.0127,"15.4":0.02117,"15.5":0.03387,"15.6":0.27098,"16.0":0.05504,"16.1":0.04657,"16.2":0.04234,"16.3":0.09738,"16.4":0.03811,"16.5":0.06774,"16.6":0.45304,"17.0":0.02964,"17.1":0.05928,"17.2":0.05504,"17.3":0.06774,"17.4":0.16513,"17.5":0.34295,"17.6":2.1297,"18.0":0.51655,"18.1":0.70708,"18.2":0.0254},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00267,"5.0-5.1":0,"6.0-6.1":0.01068,"7.0-7.1":0.01335,"8.1-8.4":0,"9.0-9.2":0.01068,"9.3":0.03738,"10.0-10.2":0.00801,"10.3":0.0614,"11.0-11.2":0.72084,"11.3-11.4":0.01869,"12.0-12.1":0.01068,"12.2-12.5":0.28033,"13.0-13.1":0.00534,"13.2":0.07208,"13.3":0.01068,"13.4-13.7":0.04005,"14.0-14.4":0.0881,"14.5-14.8":0.12548,"15.0-15.1":0.07208,"15.2-15.3":0.06674,"15.4":0.08009,"15.5":0.09344,"15.6-15.8":1.00116,"16.0":0.18955,"16.1":0.40047,"16.2":0.2029,"16.3":0.3444,"16.4":0.06941,"16.5":0.13883,"16.6-16.7":1.31353,"17.0":0.09611,"17.1":0.16019,"17.2":0.13349,"17.3":0.2029,"17.4":0.43517,"17.5":1.30018,"17.6-17.7":11.23173,"18.0":3.9833,"18.1":3.50007,"18.2":0.1415},P:{"4":0.02123,"20":0.01062,"21":0.02123,"22":0.01062,"23":0.01062,"24":0.02123,"25":0.03185,"26":0.82801,"27":0.55201,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 19.0","16.0":0.01062,"17.0":0.01062,"18.0":0.01062},I:{"0":0.06328,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00008},A:{"6":0.01538,"8":0.00513,"9":0.02563,"11":0.05125,_:"7 10 5.5"},K:{"0":0.24213,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00577,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0173},O:{"0":0.05189},H:{"0":0},L:{"0":28.96847},R:{_:"0"},M:{"0":0.5765}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UY.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UY.js deleted file mode 100644 index 5b1f6912..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UY.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00987,"68":0.02467,"74":0.00493,"78":0.0148,"83":0.00987,"88":0.0296,"91":0.00493,"99":0.00493,"102":0.00987,"105":0.00493,"106":0.00493,"108":0.00493,"111":0.00493,"113":0.0296,"114":0.0148,"115":0.21212,"118":0.00493,"120":0.00493,"121":0.02467,"125":0.00987,"126":0.00493,"127":0.02467,"128":0.0592,"129":0.0148,"130":0.00987,"131":0.10359,"132":1.69202,"133":0.17266,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 75 76 77 79 80 81 82 84 85 86 87 89 90 92 93 94 95 96 97 98 100 101 103 104 107 109 110 112 116 117 119 122 123 124 134 135 136 3.5 3.6"},D:{"38":0.0296,"47":0.01973,"49":0.0148,"55":0.01973,"58":0.00493,"62":0.00493,"63":0.00987,"65":0.00987,"69":0.00987,"70":0.00987,"71":0.00493,"72":0.00493,"73":0.0296,"74":0.0148,"75":0.00987,"78":0.00493,"79":0.01973,"80":0.0148,"81":0.00987,"83":0.01973,"85":0.00493,"86":0.11346,"87":0.0592,"88":0.03453,"89":0.00493,"90":0.0148,"91":0.01973,"93":0.01973,"94":0.03946,"95":0.00493,"98":0.00987,"99":0.00987,"100":0.00493,"101":0.00493,"102":0.00493,"103":0.0444,"104":0.00987,"105":0.01973,"106":0.0148,"107":0.00987,"108":0.02467,"109":1.85974,"110":0.0296,"111":0.01973,"112":0.0148,"113":0.00987,"114":0.0148,"115":0.00493,"116":0.074,"117":0.00493,"118":0.00493,"119":0.0444,"120":0.0444,"121":0.06413,"122":0.07893,"123":0.04933,"124":0.09866,"125":0.10853,"126":0.14799,"127":0.15292,"128":0.18252,"129":1.02606,"130":19.63827,"131":11.38043,"132":0.0148,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 48 50 51 52 53 54 56 57 59 60 61 64 66 67 68 76 77 84 92 96 97 133 134"},F:{"69":0.00493,"79":0.00493,"85":0.00493,"95":0.02467,"104":0.07893,"110":0.00493,"112":0.01973,"113":0.31078,"114":3.07326,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 70 71 72 73 74 75 76 77 78 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 105 106 107 108 109 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"83":0.00493,"92":0.00987,"109":0.01973,"114":0.00493,"119":0.00493,"121":0.14306,"122":0.00987,"124":0.00493,"125":0.00493,"126":0.01973,"127":0.0148,"128":0.02467,"129":0.07893,"130":2.54543,"131":1.77095,_:"12 13 14 15 16 17 18 79 80 81 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 120 123"},E:{"13":0.00493,"14":0.00987,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.2-15.3 18.2","5.1":0.00493,"12.1":0.00493,"13.1":0.01973,"14.1":0.0148,"15.1":0.0296,"15.4":0.00493,"15.5":0.00493,"15.6":0.04933,"16.0":0.00493,"16.1":0.0148,"16.2":0.00493,"16.3":0.00987,"16.4":0.00987,"16.5":0.0148,"16.6":0.08386,"17.0":0.0148,"17.1":0.00987,"17.2":0.00987,"17.3":0.00493,"17.4":0.03946,"17.5":0.11346,"17.6":0.38971,"18.0":0.23185,"18.1":0.21705},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00127,"5.0-5.1":0,"6.0-6.1":0.00509,"7.0-7.1":0.00636,"8.1-8.4":0,"9.0-9.2":0.00509,"9.3":0.01781,"10.0-10.2":0.00382,"10.3":0.02925,"11.0-11.2":0.34339,"11.3-11.4":0.0089,"12.0-12.1":0.00509,"12.2-12.5":0.13354,"13.0-13.1":0.00254,"13.2":0.03434,"13.3":0.00509,"13.4-13.7":0.01908,"14.0-14.4":0.04197,"14.5-14.8":0.05978,"15.0-15.1":0.03434,"15.2-15.3":0.0318,"15.4":0.03815,"15.5":0.04451,"15.6-15.8":0.47693,"16.0":0.0903,"16.1":0.19077,"16.2":0.09666,"16.3":0.16406,"16.4":0.03307,"16.5":0.06613,"16.6-16.7":0.62573,"17.0":0.04579,"17.1":0.07631,"17.2":0.06359,"17.3":0.09666,"17.4":0.20731,"17.5":0.61937,"17.6-17.7":5.35053,"18.0":1.89755,"18.1":1.66735,"18.2":0.06741},P:{"4":0.46743,"21":0.13504,"22":0.05194,"23":0.01039,"24":0.06232,"25":0.02077,"26":0.66479,"27":0.5713,_:"20 5.0-5.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","6.2-6.4":0.01039,"7.2-7.4":0.07271,"17.0":0.01039},I:{"0":0.01011,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.00493,_:"6 7 8 9 10 5.5"},K:{"0":0.12161,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00507},H:{"0":0},L:{"0":36.60984},R:{_:"0"},M:{"0":0.27362}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UZ.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UZ.js deleted file mode 100644 index f3da6238..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/UZ.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.02706,"68":0.00773,"79":0.0116,"91":0.00387,"103":0.00387,"106":0.00387,"110":0.00387,"111":0.00773,"115":0.15851,"122":0.00387,"123":0.00387,"124":0.00387,"125":0.00773,"126":0.00387,"127":0.00773,"128":0.03479,"129":0.00773,"130":0.00387,"131":0.03866,"132":0.68815,"133":0.06186,"134":0.00387,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 99 100 101 102 104 105 107 108 109 112 113 114 116 117 118 119 120 121 135 136 3.5 3.6"},D:{"11":0.00387,"39":0.00387,"47":0.00387,"48":0.00387,"49":0.03093,"56":0.00387,"58":1.03609,"62":0.00387,"64":0.00387,"66":0.01933,"69":0.00387,"70":0.00387,"72":0.00387,"73":0.01546,"74":0.00387,"78":0.00387,"79":0.0116,"80":0.00773,"81":0.00387,"83":0.03093,"84":0.00387,"85":0.00387,"86":0.00387,"87":0.01546,"89":0.00773,"90":0.00387,"91":0.0116,"92":0.00387,"93":0.00387,"94":0.06959,"96":0.00387,"97":0.00773,"98":0.00773,"99":0.00387,"100":0.0116,"101":0.00773,"102":0.00773,"103":0.00773,"104":0.00773,"105":0.01933,"106":0.41753,"107":0.02706,"108":0.01933,"109":2.26548,"110":0.00773,"111":0.0232,"112":0.01546,"113":0.0116,"114":0.02706,"115":0.00773,"116":0.01933,"117":0.00773,"118":0.11598,"119":0.03093,"120":0.03866,"121":0.05412,"122":0.06959,"123":0.03479,"124":0.10438,"125":0.04639,"126":0.08119,"127":0.06572,"128":0.66495,"129":0.35954,"130":11.75651,"131":8.29257,"132":0.00773,"133":0.00773,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 50 51 52 53 54 55 57 59 60 61 63 65 67 68 71 75 76 77 88 95 134"},F:{"36":0.00387,"42":0.00387,"53":0.00387,"56":0.00387,"62":0.00387,"67":0.00387,"79":0.0232,"83":0.02706,"85":0.00773,"86":0.00387,"87":0.00387,"90":0.00387,"95":0.05412,"96":0.00773,"101":0.00387,"104":0.00387,"105":0.03093,"106":0.00387,"108":0.00387,"109":0.00387,"110":0.00387,"111":0.00387,"112":0.05026,"113":0.11598,"114":0.4098,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 54 55 57 58 60 63 64 65 66 68 69 70 71 72 73 74 75 76 77 78 80 81 82 84 88 89 91 92 93 94 97 98 99 100 102 103 107 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 12.1","11.6":0.00387},B:{"14":0.00387,"15":0.00387,"16":0.00387,"18":0.03093,"84":0.00387,"89":0.00387,"90":0.00387,"92":0.03479,"100":0.00773,"108":0.0116,"109":0.0116,"112":0.00387,"114":0.00387,"115":0.00387,"116":0.00387,"117":0.00387,"119":0.00387,"120":0.00387,"121":0.00387,"122":0.00773,"123":0.0116,"124":0.0116,"125":0.0116,"126":0.0116,"127":0.00387,"128":0.01546,"129":0.04253,"130":1.7165,"131":1.33764,_:"12 13 17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 110 111 113 118"},E:{"15":0.00773,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.2-15.3 15.5 16.0","5.1":0.58377,"13.1":0.00773,"14.1":0.0116,"15.1":0.00387,"15.4":0.00773,"15.6":0.03866,"16.1":0.0116,"16.2":0.00387,"16.3":0.0232,"16.4":0.00387,"16.5":0.00387,"16.6":0.04639,"17.0":0.00387,"17.1":0.03479,"17.2":0.00773,"17.3":0.0116,"17.4":0.01546,"17.5":0.03866,"17.6":0.20876,"18.0":0.10825,"18.1":0.17397,"18.2":0.00387},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00065,"5.0-5.1":0,"6.0-6.1":0.00258,"7.0-7.1":0.00323,"8.1-8.4":0,"9.0-9.2":0.00258,"9.3":0.00903,"10.0-10.2":0.00194,"10.3":0.01484,"11.0-11.2":0.17423,"11.3-11.4":0.00452,"12.0-12.1":0.00258,"12.2-12.5":0.06776,"13.0-13.1":0.00129,"13.2":0.01742,"13.3":0.00258,"13.4-13.7":0.00968,"14.0-14.4":0.02129,"14.5-14.8":0.03033,"15.0-15.1":0.01742,"15.2-15.3":0.01613,"15.4":0.01936,"15.5":0.02259,"15.6-15.8":0.24199,"16.0":0.04582,"16.1":0.09679,"16.2":0.04904,"16.3":0.08324,"16.4":0.01678,"16.5":0.03356,"16.6-16.7":0.31749,"17.0":0.02323,"17.1":0.03872,"17.2":0.03226,"17.3":0.04904,"17.4":0.10518,"17.5":0.31426,"17.6-17.7":2.71476,"18.0":0.96278,"18.1":0.84598,"18.2":0.0342},P:{"4":0.26397,"20":0.05076,"21":0.07107,"22":0.08122,"23":0.10153,"24":0.13199,"25":0.08122,"26":0.79192,"27":0.41627,"5.0-5.4":0.02031,"6.2-6.4":0.08122,"7.2-7.4":0.13199,_:"8.2 9.2 10.1 12.0","11.1-11.2":0.01015,"13.0":0.01015,"14.0":0.01015,"15.0":0.01015,"16.0":0.02031,"17.0":0.04061,"18.0":0.01015,"19.0":0.02031},I:{"0":0.01224,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"9":0.00657,"11":0.09858,_:"6 7 8 10 5.5"},K:{"0":0.57046,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.02454},O:{"0":1.89541},H:{"0":0},L:{"0":48.34537},R:{_:"0"},M:{"0":0.06134}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VA.js deleted file mode 100644 index ca829471..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":1.1625,"130":0.00938,"131":6.16875,"132":12.3375,"133":0.08438,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 128 129 134 135 136 3.5 3.6"},D:{"86":0.00938,"103":0.00938,"107":0.02813,"109":17.75625,"113":0.00938,"120":0.1125,"122":0.6375,"128":0.04688,"129":0.45938,"130":18.05625,"131":9.73125,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 108 110 111 112 114 115 116 117 118 119 121 123 124 125 126 127 132 133 134"},F:{"114":0.08438,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.0375,"129":0.02813,"130":5.95313,"131":18.81563,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 15.5 16.0 16.1 16.2 16.3 16.4 16.5 17.0 17.2 17.3 17.4 18.2","13.1":0.17813,"14.1":0.00938,"15.6":0.04688,"16.6":0.0375,"17.1":0.04688,"17.5":0.35625,"17.6":0.225,"18.0":0.53438,"18.1":0.64688},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00021,"5.0-5.1":0,"6.0-6.1":0.00085,"7.0-7.1":0.00107,"8.1-8.4":0,"9.0-9.2":0.00085,"9.3":0.00298,"10.0-10.2":0.00064,"10.3":0.0049,"11.0-11.2":0.05752,"11.3-11.4":0.00149,"12.0-12.1":0.00085,"12.2-12.5":0.02237,"13.0-13.1":0.00043,"13.2":0.00575,"13.3":0.00085,"13.4-13.7":0.0032,"14.0-14.4":0.00703,"14.5-14.8":0.01001,"15.0-15.1":0.00575,"15.2-15.3":0.00533,"15.4":0.00639,"15.5":0.00746,"15.6-15.8":0.07989,"16.0":0.01512,"16.1":0.03195,"16.2":0.01619,"16.3":0.02748,"16.4":0.00554,"16.5":0.01108,"16.6-16.7":0.10481,"17.0":0.00767,"17.1":0.01278,"17.2":0.01065,"17.3":0.01619,"17.4":0.03472,"17.5":0.10374,"17.6-17.7":0.89621,"18.0":0.31784,"18.1":0.27928,"18.2":0.01129},P:{"26":0.0409,"27":0.05112,_:"4 20 21 22 23 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.02629,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":4.01141},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VC.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VC.js deleted file mode 100644 index 7c77b27e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VC.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.00386,"65":0.00386,"78":0.00386,"89":0.00386,"112":0.00386,"113":0.04241,"115":0.02699,"121":0.00386,"122":0.00386,"123":0.00386,"129":0.02313,"130":0.02313,"131":0.39707,"132":2.52503,"133":0.09252,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 114 116 117 118 119 120 124 125 126 127 128 134 135 136 3.5 3.6"},D:{"45":0.00386,"46":0.00386,"51":0.00386,"56":0.00386,"57":0.00386,"74":0.02313,"75":0.00386,"76":0.02313,"79":0.03855,"83":0.06554,"87":0.13493,"88":0.00386,"89":0.08481,"91":0.01157,"93":0.04241,"94":0.01157,"95":0.00771,"102":0.01157,"103":0.06554,"104":0.01928,"105":0.01157,"109":0.56669,"112":0.06939,"113":0.00386,"114":0.00771,"115":0.04241,"116":0.05397,"117":0.1118,"118":0.00386,"119":0.05012,"120":0.01542,"121":0.00386,"122":0.03084,"123":0.01928,"124":0.06939,"125":0.03084,"126":0.07325,"127":0.35852,"128":0.37008,"129":1.13723,"130":10.55499,"131":5.8943,"132":0.03084,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 47 48 49 50 52 53 54 55 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 77 78 80 81 84 85 86 90 92 96 97 98 99 100 101 106 107 108 110 111 133 134"},F:{"84":0.01157,"85":0.06168,"95":0.00386,"113":0.01928,"114":0.68234,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00771,"92":0.01542,"100":0.00771,"109":0.01157,"114":0.01157,"119":0.00386,"121":0.00771,"123":0.01157,"124":0.00386,"127":0.00386,"128":0.04241,"129":0.13493,"130":5.09631,"131":2.70621,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 120 122 125 126"},E:{"14":0.00386,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.4 16.0 16.2 18.2","12.1":0.01157,"13.1":0.19661,"14.1":0.03855,"15.5":0.00386,"15.6":0.08096,"16.1":0.00386,"16.3":0.08096,"16.4":0.01157,"16.5":0.05012,"16.6":0.39321,"17.0":0.00386,"17.1":0.02313,"17.2":0.01157,"17.3":0.01542,"17.4":0.09638,"17.5":0.17348,"17.6":0.68619,"18.0":0.8481,"18.1":0.64764},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00122,"5.0-5.1":0,"6.0-6.1":0.00488,"7.0-7.1":0.0061,"8.1-8.4":0,"9.0-9.2":0.00488,"9.3":0.01708,"10.0-10.2":0.00366,"10.3":0.02805,"11.0-11.2":0.32934,"11.3-11.4":0.00854,"12.0-12.1":0.00488,"12.2-12.5":0.12808,"13.0-13.1":0.00244,"13.2":0.03293,"13.3":0.00488,"13.4-13.7":0.0183,"14.0-14.4":0.04025,"14.5-14.8":0.05733,"15.0-15.1":0.03293,"15.2-15.3":0.03049,"15.4":0.03659,"15.5":0.04269,"15.6-15.8":0.45742,"16.0":0.0866,"16.1":0.18297,"16.2":0.0927,"16.3":0.15735,"16.4":0.03171,"16.5":0.06343,"16.6-16.7":0.60013,"17.0":0.04391,"17.1":0.07319,"17.2":0.06099,"17.3":0.0927,"17.4":0.19882,"17.5":0.59403,"17.6-17.7":5.13162,"18.0":1.81992,"18.1":1.59913,"18.2":0.06465},P:{"4":0.10978,"21":0.13173,"22":0.06587,"23":0.03293,"24":0.03293,"25":0.01098,"26":1.60274,"27":1.18559,_:"20 6.2-6.4 7.2-7.4 8.2 10.1 12.0 13.0 16.0 17.0 18.0 19.0","5.0-5.4":0.01098,"9.2":0.02196,"11.1-11.2":0.01098,"14.0":0.01098,"15.0":0.01098},I:{"0":0.00613,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"10":0.01542,"11":0.01542,_:"6 7 8 9 5.5"},K:{"0":0.22737,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.20279},H:{"0":0},L:{"0":47.8946},R:{_:"0"},M:{"0":0.17206}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VE.js deleted file mode 100644 index 04ae1b95..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":1.79084,"52":0.16525,"60":0.00384,"68":0.00769,"69":0.00384,"72":0.00384,"75":0.00384,"78":0.01153,"88":0.00384,"91":0.00769,"100":0.00384,"103":0.01153,"106":0.00769,"109":0.00769,"110":0.00384,"111":0.00384,"112":0.00769,"113":0.00769,"115":0.6341,"118":0.00384,"119":0.00384,"120":0.00384,"121":0.00384,"122":0.01153,"123":0.03074,"124":0.00384,"125":0.00384,"126":0.00769,"127":0.01153,"128":0.0538,"129":0.01537,"130":0.01922,"131":0.06533,"132":0.99918,"133":0.09608,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 63 64 65 66 67 70 71 73 74 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 101 102 104 105 107 108 114 116 117 134 135 136 3.5 3.6"},D:{"47":0.0269,"48":0.00384,"49":0.07302,"63":0.00384,"65":0.01153,"66":0.02306,"67":0.00384,"68":0.00384,"69":0.03459,"70":0.01153,"71":0.00384,"72":0.00769,"73":0.0538,"74":0.00384,"75":0.01537,"76":0.00769,"77":0.00769,"78":0.00384,"79":0.02306,"80":0.00384,"81":0.02306,"83":0.04227,"84":0.01153,"85":0.02306,"86":0.01922,"87":0.05765,"88":0.03459,"89":0.00384,"90":0.01153,"91":0.0807,"92":0.00769,"93":0.03074,"94":0.03843,"95":0.00769,"96":0.0269,"97":0.01922,"98":0.06533,"99":0.00769,"100":0.01153,"101":0.01922,"102":0.00769,"103":0.06917,"104":0.00769,"105":0.03074,"106":0.02306,"107":0.01537,"108":0.05765,"109":4.81528,"110":0.06149,"111":0.01922,"112":0.01537,"113":0.00769,"114":0.03843,"115":0.00384,"116":0.1076,"117":0.00769,"118":0.12682,"119":0.04227,"120":0.06917,"121":0.06149,"122":0.11145,"123":0.06917,"124":0.09223,"125":0.08455,"126":0.14603,"127":0.07686,"128":0.14219,"129":0.37277,"130":9.45762,"131":6.24488,"132":0.00384,"133":0.00384,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 50 51 52 53 54 55 56 57 58 59 60 61 62 64 134"},F:{"79":0.00769,"81":0.00384,"85":0.04612,"86":0.00384,"95":0.17678,"102":0.00769,"112":0.00384,"113":0.13835,"114":1.89076,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.01153,"16":0.00384,"17":0.00384,"18":0.01537,"79":0.00384,"84":0.00384,"85":0.00384,"89":0.00384,"92":0.03843,"100":0.00384,"103":0.00384,"106":0.00384,"107":0.00769,"109":0.06917,"111":0.00384,"112":0.00384,"113":0.00384,"114":0.01153,"116":0.00769,"117":0.00769,"118":0.00384,"120":0.00384,"121":0.01153,"122":0.01922,"123":0.00384,"124":0.00769,"125":0.01153,"126":0.00769,"127":0.01537,"128":0.0269,"129":0.06917,"130":1.86001,"131":1.39117,_:"12 13 14 80 81 83 86 87 88 90 91 93 94 95 96 97 98 99 101 102 104 105 108 110 115 119"},E:{"14":0.00384,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 18.2","5.1":0.02306,"13.1":0.01153,"14.1":0.02306,"15.4":0.00769,"15.5":0.00384,"15.6":0.04227,"16.0":0.00384,"16.1":0.00384,"16.2":0.00384,"16.3":0.00769,"16.4":0.00384,"16.5":0.00384,"16.6":0.04227,"17.0":0.00384,"17.1":0.01153,"17.2":0.00769,"17.3":0.0269,"17.4":0.0269,"17.5":0.02306,"17.6":0.10376,"18.0":0.07302,"18.1":0.06149},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.0004,"5.0-5.1":0,"6.0-6.1":0.00158,"7.0-7.1":0.00198,"8.1-8.4":0,"9.0-9.2":0.00158,"9.3":0.00553,"10.0-10.2":0.00119,"10.3":0.00909,"11.0-11.2":0.10671,"11.3-11.4":0.00277,"12.0-12.1":0.00158,"12.2-12.5":0.0415,"13.0-13.1":0.00079,"13.2":0.01067,"13.3":0.00158,"13.4-13.7":0.00593,"14.0-14.4":0.01304,"14.5-14.8":0.01858,"15.0-15.1":0.01067,"15.2-15.3":0.00988,"15.4":0.01186,"15.5":0.01383,"15.6-15.8":0.14821,"16.0":0.02806,"16.1":0.05928,"16.2":0.03004,"16.3":0.05098,"16.4":0.01028,"16.5":0.02055,"16.6-16.7":0.19445,"17.0":0.01423,"17.1":0.02371,"17.2":0.01976,"17.3":0.03004,"17.4":0.06442,"17.5":0.19247,"17.6-17.7":1.66267,"18.0":0.58966,"18.1":0.51813,"18.2":0.02095},P:{"4":0.09825,"21":0.02183,"22":0.03275,"23":0.01092,"24":0.01092,"25":0.02183,"26":0.25108,"27":0.20742,_:"20 5.0-5.4 8.2 10.1 11.1-11.2 12.0 14.0 15.0 18.0","6.2-6.4":0.01092,"7.2-7.4":0.04367,"9.2":0.01092,"13.0":0.02183,"16.0":0.01092,"17.0":0.04367,"19.0":0.02183},I:{"0":0.01843,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.00419,"9":0.00419,"11":0.03773,_:"6 7 10 5.5"},K:{"0":0.40014,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.02462,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.0554},H:{"0":0},L:{"0":60.37212},R:{_:"0"},M:{"0":0.12928}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VG.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VG.js deleted file mode 100644 index 72546266..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VG.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"74":0.00318,"75":0.00318,"78":0.00318,"115":0.0191,"126":0.01273,"127":0.00955,"128":0.00637,"129":0.0191,"130":0.02546,"131":0.08276,"132":0.98036,"133":0.07639,"134":0.00318,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 135 136 3.5 3.6"},D:{"40":0.00318,"45":0.00318,"50":0.00637,"68":0.00318,"69":0.00637,"72":0.00637,"73":0.00637,"78":0.00318,"79":0.00318,"80":0.00637,"81":0.00318,"86":0.00318,"88":0.00318,"89":0.00318,"90":0.00318,"94":0.0191,"102":0.00318,"103":0.02865,"104":0.00318,"109":0.22599,"114":0.00637,"116":0.02228,"117":0.00637,"120":0.00637,"121":0.03183,"122":0.0191,"123":0.00318,"124":0.03501,"125":0.00318,"126":0.05729,"127":0.0191,"128":0.20371,"129":1.235,"130":9.2307,"131":4.88272,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 70 71 74 75 76 77 83 84 85 87 91 92 93 95 96 97 98 99 100 101 105 106 107 108 110 111 112 113 115 118 119 132 133 134"},F:{"53":0.00318,"55":0.00318,"71":0.00318,"113":0.00637,"114":1.24137,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 56 57 58 60 62 63 64 65 66 67 68 69 70 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"80":0.00318,"81":0.00318,"84":0.00318,"86":0.00318,"87":0.00637,"90":0.00637,"92":0.09867,"109":0.00318,"119":0.00955,"120":0.05729,"122":0.03501,"123":0.00637,"124":0.00637,"125":0.00955,"126":0.00955,"127":0.03501,"128":0.03501,"129":0.23873,"130":4.35116,"131":2.31722,_:"12 13 14 15 16 17 18 79 83 85 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 121"},E:{"15":0.00318,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 10.1 11.1 12.1 15.1 15.2-15.3 16.2","9.1":0.00955,"13.1":0.00637,"14.1":0.00955,"15.4":0.01592,"15.5":0.01273,"15.6":0.27374,"16.0":0.0191,"16.1":0.05093,"16.3":0.00955,"16.4":0.02546,"16.5":0.04456,"16.6":0.30239,"17.0":0.01273,"17.1":0.03501,"17.2":0.01273,"17.3":0.07003,"17.4":0.08912,"17.5":0.36605,"17.6":2.15171,"18.0":0.56976,"18.1":0.98673,"18.2":0.02228},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00343,"5.0-5.1":0,"6.0-6.1":0.01373,"7.0-7.1":0.01716,"8.1-8.4":0,"9.0-9.2":0.01373,"9.3":0.04804,"10.0-10.2":0.0103,"10.3":0.07893,"11.0-11.2":0.92655,"11.3-11.4":0.02402,"12.0-12.1":0.01373,"12.2-12.5":0.36033,"13.0-13.1":0.00686,"13.2":0.09266,"13.3":0.01373,"13.4-13.7":0.05148,"14.0-14.4":0.11325,"14.5-14.8":0.16129,"15.0-15.1":0.09266,"15.2-15.3":0.08579,"15.4":0.10295,"15.5":0.12011,"15.6-15.8":1.28688,"16.0":0.24365,"16.1":0.51475,"16.2":0.26081,"16.3":0.44269,"16.4":0.08922,"16.5":0.17845,"16.6-16.7":1.68839,"17.0":0.12354,"17.1":0.2059,"17.2":0.17158,"17.3":0.26081,"17.4":0.55936,"17.5":1.67123,"17.6-17.7":14.43707,"18.0":5.12006,"18.1":4.49893,"18.2":0.18188},P:{"4":0.01108,"21":0.03323,"22":0.12183,"23":0.01108,"24":0.14398,"25":0.01108,"26":1.49516,"27":1.24043,_:"20 6.2-6.4 8.2 9.2 11.1-11.2 12.0 13.0 15.0 16.0 17.0 18.0 19.0","5.0-5.4":0.02215,"7.2-7.4":0.84172,"10.1":0.01108,"14.0":0.01108},I:{"0":0.04761,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.16361,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.21814},H:{"0":0},L:{"0":29.26068},R:{_:"0"},M:{"0":0.10226}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VI.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VI.js deleted file mode 100644 index 24f65835..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VI.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.06546,"125":0.07773,"128":0.00818,"129":0.00818,"130":0.04091,"131":0.24955,"132":3.33007,"133":0.15955,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 126 127 134 135 136 3.5 3.6"},D:{"34":0.00409,"58":0.00818,"71":0.00409,"76":0.01227,"79":0.01227,"83":0.01227,"84":0.00409,"87":0.00409,"88":0.02455,"91":0.02864,"93":0.11046,"94":0.00818,"98":0.01636,"101":0.00409,"103":0.12682,"105":0.00409,"108":0.00409,"109":0.24546,"110":0.00409,"111":0.10228,"112":0.09,"115":0.03682,"116":0.51138,"117":0.02046,"119":0.00409,"120":0.02046,"121":0.00818,"122":0.05318,"123":0.01227,"124":0.07773,"125":0.01636,"126":0.20455,"127":0.045,"128":0.45001,"129":1.37458,"130":11.4998,"131":4.56147,"132":0.00409,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 72 73 74 75 77 78 80 81 85 86 89 90 92 95 96 97 99 100 102 104 106 107 113 114 118 133 134"},F:{"83":0.00409,"102":0.02046,"113":0.00818,"114":0.19637,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.00409,"92":0.01636,"100":0.00818,"109":0.05318,"114":0.00409,"115":0.02455,"119":0.00818,"120":0.00818,"121":0.05727,"122":0.01227,"123":0.00409,"124":0.00409,"125":0.01636,"126":0.07364,"127":0.02046,"128":0.01636,"129":0.14728,"130":5.34285,"131":2.90052,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 116 117 118"},E:{"13":0.02455,"14":0.02455,"15":0.00409,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1","13.1":0.03682,"14.1":0.12273,"15.1":0.01636,"15.2-15.3":0.00409,"15.4":0.11864,"15.5":0.01636,"15.6":0.44183,"16.0":0.05727,"16.1":0.02046,"16.2":0.13909,"16.3":0.09,"16.4":0.05727,"16.5":0.16364,"16.6":0.70774,"17.0":0.02864,"17.1":0.04909,"17.2":0.02455,"17.3":0.02046,"17.4":0.04909,"17.5":0.25364,"17.6":2.87188,"18.0":0.69138,"18.1":0.56865,"18.2":0.05318},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00315,"5.0-5.1":0,"6.0-6.1":0.0126,"7.0-7.1":0.01574,"8.1-8.4":0,"9.0-9.2":0.0126,"9.3":0.04409,"10.0-10.2":0.00945,"10.3":0.07243,"11.0-11.2":0.85022,"11.3-11.4":0.02204,"12.0-12.1":0.0126,"12.2-12.5":0.33064,"13.0-13.1":0.0063,"13.2":0.08502,"13.3":0.0126,"13.4-13.7":0.04723,"14.0-14.4":0.10392,"14.5-14.8":0.148,"15.0-15.1":0.08502,"15.2-15.3":0.07872,"15.4":0.09447,"15.5":0.11021,"15.6-15.8":1.18086,"16.0":0.22358,"16.1":0.47234,"16.2":0.23932,"16.3":0.40622,"16.4":0.08187,"16.5":0.16375,"16.6-16.7":1.54929,"17.0":0.11336,"17.1":0.18894,"17.2":0.15745,"17.3":0.23932,"17.4":0.51328,"17.5":1.53355,"17.6-17.7":13.24769,"18.0":4.69825,"18.1":4.12829,"18.2":0.1669},P:{"22":0.01068,"23":0.01068,"24":0.02136,"25":0.39521,"26":1.91194,"27":1.15357,_:"4 20 21 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.0059,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00001},A:{"11":0.01227,_:"6 7 8 9 10 5.5"},K:{"0":0.02363,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.01182},H:{"0":0},L:{"0":23.18851},R:{_:"0"},M:{"0":0.82712}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VN.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VN.js deleted file mode 100644 index 13bf73a2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VN.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"47":0.0015,"52":0.00451,"59":0.00602,"75":0.0015,"102":0.0015,"103":0.00602,"105":0.0015,"106":0.0015,"109":0.0015,"111":0.0015,"113":0.0015,"115":0.0361,"119":0.0015,"125":0.02256,"127":0.00301,"128":0.00602,"129":0.0015,"130":0.00301,"131":0.01354,"132":0.22259,"133":0.02106,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 104 107 108 110 112 114 116 117 118 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"26":0.0015,"34":0.00451,"38":0.04512,"43":0.0015,"47":0.00902,"48":0.0015,"49":0.00301,"50":0.0015,"53":0.00301,"54":0.0015,"56":0.00301,"57":0.00451,"58":0.0015,"65":0.0015,"66":0.02557,"69":0.0015,"70":0.0015,"71":0.0015,"72":0.0015,"73":0.0015,"74":0.0015,"75":0.0015,"76":0.0015,"77":0.0015,"78":0.0015,"79":0.08573,"80":0.00602,"81":0.00451,"83":0.0015,"84":0.0015,"85":0.00902,"86":0.00301,"87":0.08272,"88":0.0015,"89":0.00451,"90":0.0015,"91":0.35645,"92":0.0015,"93":0.0015,"94":0.01955,"95":0.0015,"96":0.0015,"97":0.0015,"98":0.0015,"99":0.0015,"100":0.00602,"101":0.0015,"102":0.00451,"103":0.01354,"104":0.01354,"105":0.00602,"106":0.01203,"107":0.00902,"108":0.01805,"109":0.62867,"110":0.00602,"111":0.00902,"112":0.00752,"113":0.0015,"114":0.00752,"115":0.00451,"116":0.02406,"117":0.00451,"118":0.01053,"119":0.02406,"120":0.03158,"121":0.01354,"122":0.02858,"123":0.02256,"124":0.06016,"125":0.02106,"126":0.03459,"127":0.03459,"128":0.16694,"129":0.16544,"130":4.32701,"131":2.7057,"132":0.00301,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 40 41 42 44 45 46 51 52 55 59 60 61 62 63 64 67 68 133 134"},F:{"28":0.0015,"29":0.00301,"36":0.02106,"40":0.00602,"46":0.04061,"85":0.01053,"86":0.0015,"95":0.00301,"113":0.00752,"114":0.1489,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00301,"18":0.0015,"84":0.0015,"86":0.0015,"92":0.0015,"100":0.0015,"105":0.0015,"107":0.0015,"108":0.0015,"109":0.00451,"110":0.0015,"111":0.0015,"114":0.0015,"115":0.0015,"117":0.0015,"119":0.0015,"120":0.00301,"122":0.00301,"123":0.0015,"124":0.0015,"125":0.00301,"126":0.00301,"127":0.00602,"128":0.00451,"129":0.01354,"130":0.5264,"131":0.36096,_:"12 13 14 15 16 79 80 81 83 85 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 106 112 113 116 118 121"},E:{"13":0.00451,"14":0.01504,"15":0.00301,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 10.1","7.1":0.0015,"9.1":0.0015,"11.1":0.00602,"12.1":0.0015,"13.1":0.01203,"14.1":0.0391,"15.1":0.00602,"15.2-15.3":0.00451,"15.4":0.00752,"15.5":0.01504,"15.6":0.10678,"16.0":0.00602,"16.1":0.01203,"16.2":0.00752,"16.3":0.01955,"16.4":0.00602,"16.5":0.01805,"16.6":0.08573,"17.0":0.00451,"17.1":0.00752,"17.2":0.00752,"17.3":0.00752,"17.4":0.02557,"17.5":0.0391,"17.6":0.17898,"18.0":0.04512,"18.1":0.06467,"18.2":0.0015},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00229,"5.0-5.1":0,"6.0-6.1":0.00917,"7.0-7.1":0.01146,"8.1-8.4":0,"9.0-9.2":0.00917,"9.3":0.03208,"10.0-10.2":0.00687,"10.3":0.05271,"11.0-11.2":0.61874,"11.3-11.4":0.01604,"12.0-12.1":0.00917,"12.2-12.5":0.24062,"13.0-13.1":0.00458,"13.2":0.06187,"13.3":0.00917,"13.4-13.7":0.03437,"14.0-14.4":0.07562,"14.5-14.8":0.10771,"15.0-15.1":0.06187,"15.2-15.3":0.05729,"15.4":0.06875,"15.5":0.08021,"15.6-15.8":0.85937,"16.0":0.16271,"16.1":0.34375,"16.2":0.17416,"16.3":0.29562,"16.4":0.05958,"16.5":0.11917,"16.6-16.7":1.12749,"17.0":0.0825,"17.1":0.1375,"17.2":0.11458,"17.3":0.17416,"17.4":0.37354,"17.5":1.11603,"17.6-17.7":9.64093,"18.0":3.41913,"18.1":3.00434,"18.2":0.12146},P:{"4":0.48386,"20":0.03088,"21":0.07206,"22":0.11324,"23":0.10295,"24":0.09265,"25":0.12354,"26":1.34863,"27":0.94713,"5.0-5.4":0.02059,"6.2-6.4":0.01029,"7.2-7.4":0.06177,_:"8.2 10.1 12.0","9.2":0.01029,"11.1-11.2":0.02059,"13.0":0.01029,"14.0":0.01029,"15.0":0.01029,"16.0":0.02059,"17.0":0.02059,"18.0":0.02059,"19.0":0.02059},I:{"0":0.01696,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{"8":0.00368,"10":0.00184,"11":0.04412,_:"6 7 9 5.5"},K:{"0":0.41485,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":2.06477},H:{"0":0.01},L:{"0":55.51034},R:{_:"0"},M:{"0":0.09347}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VU.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VU.js deleted file mode 100644 index e2d25bf6..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/VU.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"45":0.00424,"86":0.01908,"99":0.02756,"112":0.00424,"115":0.08904,"124":0.00848,"125":0.00424,"126":0.00636,"128":0.00636,"130":0.0106,"131":0.01908,"132":1.06212,"133":0.10388,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 113 114 116 117 118 119 120 121 122 123 127 129 134 135 136 3.5 3.6"},D:{"59":0.00424,"65":0.00212,"74":0.0106,"81":0.0212,"86":0.00212,"87":0.03392,"88":0.00848,"93":0.00212,"94":0.00424,"96":0.00212,"99":0.0106,"102":0.00424,"103":0.01272,"106":0.00212,"107":0.00424,"108":0.00212,"109":0.04028,"111":0.0106,"112":0.02968,"114":0.00424,"116":0.00212,"117":0.00212,"118":0.0106,"119":0.01696,"120":0.00636,"121":0.02332,"122":0.18656,"123":0.03392,"124":0.05512,"125":0.00636,"126":0.15688,"127":0.04028,"128":0.1484,"129":0.20988,"130":7.32884,"131":4.70428,"132":0.00212,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 61 62 63 64 66 67 68 69 70 71 72 73 75 76 77 78 79 80 83 84 85 89 90 91 92 95 97 98 100 101 104 105 110 113 115 133 134"},F:{"84":0.00424,"114":0.16324,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00636,"18":0.00848,"89":0.00424,"102":0.00212,"106":0.00636,"109":0.01272,"112":0.00212,"113":0.00848,"118":0.2226,"120":0.02332,"122":0.00424,"123":0.00424,"124":0.01272,"125":0.01272,"126":0.00848,"127":0.03816,"128":0.0106,"129":0.18232,"130":1.56456,"131":0.96884,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 107 108 110 111 114 115 116 117 119 121"},E:{"14":0.00212,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 14.1 15.1 15.2-15.3 15.4 16.2 18.2","12.1":0.02544,"13.1":0.0106,"15.5":0.0106,"15.6":0.02968,"16.0":0.05512,"16.1":0.0424,"16.3":0.01484,"16.4":0.0212,"16.5":0.01484,"16.6":0.01696,"17.0":0.00848,"17.1":0.00424,"17.2":0.0106,"17.3":0.01696,"17.4":0.0318,"17.5":0.0742,"17.6":0.13568,"18.0":0.05088,"18.1":0.10812},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00042,"5.0-5.1":0,"6.0-6.1":0.00168,"7.0-7.1":0.0021,"8.1-8.4":0,"9.0-9.2":0.00168,"9.3":0.00587,"10.0-10.2":0.00126,"10.3":0.00964,"11.0-11.2":0.1132,"11.3-11.4":0.00293,"12.0-12.1":0.00168,"12.2-12.5":0.04402,"13.0-13.1":0.00084,"13.2":0.01132,"13.3":0.00168,"13.4-13.7":0.00629,"14.0-14.4":0.01384,"14.5-14.8":0.01971,"15.0-15.1":0.01132,"15.2-15.3":0.01048,"15.4":0.01258,"15.5":0.01467,"15.6-15.8":0.15723,"16.0":0.02977,"16.1":0.06289,"16.2":0.03186,"16.3":0.05409,"16.4":0.0109,"16.5":0.0218,"16.6-16.7":0.20628,"17.0":0.01509,"17.1":0.02516,"17.2":0.02096,"17.3":0.03186,"17.4":0.06834,"17.5":0.20418,"17.6-17.7":1.76387,"18.0":0.62555,"18.1":0.54966,"18.2":0.02222},P:{"4":0.01028,"20":0.05142,"21":0.08227,"22":0.24681,"23":0.04113,"24":0.0617,"25":0.08227,"26":0.61702,"27":0.48334,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 15.0 16.0 17.0 18.0 19.0","14.0":0.01028},I:{"0":0.09436,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00012},A:{"10":0.4346,_:"6 7 8 9 11 5.5"},K:{"0":0.20855,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.2916},H:{"0":0.02},L:{"0":74.03016},R:{_:"0"},M:{"0":0.30736}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WF.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WF.js deleted file mode 100644 index 943815a8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WF.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"102":0.6635,"115":0.05138,"128":0.28148,"130":0.02457,"131":1.43199,"132":4.39651,"133":0.12734,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 121 122 123 124 125 126 127 129 134 135 136 3.5 3.6"},D:{"105":0.10276,"109":4.82991,"123":0.07596,"128":0.02457,"129":0.02457,"130":2.19826,"131":0.12734,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 122 124 125 126 127 132 133 134"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"129":0.12734,"130":1.09913,"131":0.30606,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.4 15.5 16.0 16.1 16.2 17.0 17.2 18.2","15.1":0.20553,"15.2-15.3":0.4602,"15.6":0.02457,"16.3":0.61435,"16.4":0.02457,"16.5":0.05138,"16.6":0.02457,"17.1":0.02457,"17.3":0.07596,"17.4":0.07596,"17.5":0.48478,"17.6":1.38061,"18.0":0.17872,"18.1":1.86539},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00186,"5.0-5.1":0,"6.0-6.1":0.00745,"7.0-7.1":0.00932,"8.1-8.4":0,"9.0-9.2":0.00745,"9.3":0.02608,"10.0-10.2":0.00559,"10.3":0.04285,"11.0-11.2":0.50303,"11.3-11.4":0.01304,"12.0-12.1":0.00745,"12.2-12.5":0.19562,"13.0-13.1":0.00373,"13.2":0.0503,"13.3":0.00745,"13.4-13.7":0.02795,"14.0-14.4":0.06148,"14.5-14.8":0.08756,"15.0-15.1":0.0503,"15.2-15.3":0.04658,"15.4":0.05589,"15.5":0.06521,"15.6-15.8":0.69865,"16.0":0.13228,"16.1":0.27946,"16.2":0.14159,"16.3":0.24034,"16.4":0.04844,"16.5":0.09688,"16.6-16.7":0.91663,"17.0":0.06707,"17.1":0.11178,"17.2":0.09315,"17.3":0.14159,"17.4":0.30368,"17.5":0.90731,"17.6-17.7":7.83791,"18.0":2.77969,"18.1":2.44248,"18.2":0.09874},P:{"22":0.15273,"26":0.10182,"27":0.20364,_:"4 20 21 23 24 25 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.0233,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{_:"0"},H:{"0":0},L:{"0":58.64415},R:{_:"0"},M:{_:"0"}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WS.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WS.js deleted file mode 100644 index 14f4b757..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/WS.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"115":0.02002,"121":0.12343,"127":0.1668,"128":0.02335,"130":0.10342,"131":0.02002,"132":0.62383,"133":0.01334,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 116 117 118 119 120 122 123 124 125 126 129 134 135 136 3.5 3.6"},D:{"44":0.00334,"61":0.02002,"72":0.0467,"78":0.00334,"84":0.03002,"87":0.01001,"91":0.0367,"94":0.06338,"98":0.03002,"103":0.00334,"105":0.04337,"107":0.00334,"109":0.77062,"111":0.06338,"115":0.01001,"116":0.01334,"117":0.00334,"119":0.02002,"122":0.03002,"124":0.0467,"125":0.05338,"126":0.2869,"127":0.09674,"128":0.25354,"129":0.24353,"130":9.68441,"131":4.92394,"132":0.05338,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 83 85 86 88 89 90 92 93 95 96 97 99 100 101 102 104 106 108 110 112 113 114 118 120 121 123 133 134"},F:{"95":0.02335,"96":0.00334,"112":0.01001,"113":0.00334,"114":0.03002,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00334,"17":0.03002,"92":0.01001,"105":0.00334,"109":0.00334,"111":0.08006,"113":0.00334,"114":0.00334,"115":0.00334,"119":0.01334,"120":0.03002,"122":0.37697,"124":0.01001,"127":0.68054,"128":0.02002,"129":0.20016,"130":5.03736,"131":3.89645,_:"13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 106 107 108 110 112 116 117 118 121 123 125 126"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.1 15.2-15.3 15.4 15.5 16.1 16.4 17.0 17.2 18.2","12.1":0.01001,"13.1":0.01334,"14.1":0.12343,"15.6":0.04337,"16.0":0.00334,"16.2":0.0467,"16.3":0.02335,"16.5":0.0367,"16.6":0.17681,"17.1":0.02002,"17.3":0.01001,"17.4":0.01334,"17.5":1.94489,"17.6":0.53376,"18.0":0.01334,"18.1":0.03336},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00093,"5.0-5.1":0,"6.0-6.1":0.0037,"7.0-7.1":0.00463,"8.1-8.4":0,"9.0-9.2":0.0037,"9.3":0.01296,"10.0-10.2":0.00278,"10.3":0.02129,"11.0-11.2":0.24988,"11.3-11.4":0.00648,"12.0-12.1":0.0037,"12.2-12.5":0.09718,"13.0-13.1":0.00185,"13.2":0.02499,"13.3":0.0037,"13.4-13.7":0.01388,"14.0-14.4":0.03054,"14.5-14.8":0.0435,"15.0-15.1":0.02499,"15.2-15.3":0.02314,"15.4":0.02776,"15.5":0.03239,"15.6-15.8":0.34706,"16.0":0.06571,"16.1":0.13882,"16.2":0.07034,"16.3":0.11939,"16.4":0.02406,"16.5":0.04813,"16.6-16.7":0.45534,"17.0":0.03332,"17.1":0.05553,"17.2":0.04627,"17.3":0.07034,"17.4":0.15085,"17.5":0.45071,"17.6-17.7":3.89354,"18.0":1.38083,"18.1":1.21332,"18.2":0.04905},P:{"20":0.02062,"21":0.14432,"22":0.27834,"23":0.1134,"24":0.69069,"25":0.32988,"26":1.70095,"27":0.31957,_:"4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0","5.0-5.4":0.02062,"6.2-6.4":0.02062,"7.2-7.4":0.1134,"18.0":0.01031,"19.0":0.06185},I:{"0":0.02659,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.00334,_:"6 7 8 9 10 5.5"},K:{"0":1.53249,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.04664},O:{"0":0.74626},H:{"0":0},L:{"0":52.75007},R:{_:"0"},M:{"0":0.11327}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YE.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YE.js deleted file mode 100644 index 76aa3b38..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YE.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00199,"38":0.00199,"50":0.00399,"52":0.00399,"72":0.00199,"84":0.00199,"98":0.00199,"105":0.00598,"115":0.05384,"118":0.00199,"127":0.00598,"128":0.00199,"130":0.00199,"131":0.01396,"132":0.22333,"133":0.01196,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 47 48 49 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 85 86 87 88 89 90 91 92 93 94 95 96 97 99 100 101 102 103 104 106 107 108 109 110 111 112 113 114 116 117 119 120 121 122 123 124 125 126 129 134 135 136 3.5 3.6"},D:{"19":0.00199,"31":0.00798,"40":0.00199,"41":0.00798,"43":0.00199,"50":0.00199,"56":0.00399,"57":0.01396,"58":0.11765,"61":0.00199,"63":0.00199,"67":0.00997,"70":0.02991,"74":0.00399,"78":0.00399,"79":0.01396,"80":0.00199,"81":0.00199,"83":0.00399,"86":0.00399,"87":0.00598,"88":0.00399,"89":0.00399,"90":0.00798,"92":0.00798,"94":0.00199,"95":0.00399,"96":0.00199,"98":0.00199,"99":0.00399,"100":0.00199,"103":0.00399,"104":0.00199,"105":0.00399,"106":0.05982,"107":0.00798,"108":0.00399,"109":0.29312,"110":0.00399,"111":0.00199,"113":0.00199,"114":0.01196,"115":0.01396,"116":0.00399,"117":0.02193,"118":0.01396,"119":0.01994,"120":0.04187,"121":0.00798,"122":0.02991,"123":0.0658,"124":0.01196,"125":0.01795,"126":0.02592,"127":0.07777,"128":0.05583,"129":0.11964,"130":1.92022,"131":0.93917,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 42 44 45 46 47 48 49 51 52 53 54 55 59 60 62 64 65 66 68 69 71 72 73 75 76 77 84 85 91 93 97 101 102 112 132 133 134"},F:{"82":0.00399,"83":0.00598,"84":0.05583,"85":0.17348,"86":0.00598,"95":0.00199,"113":0.00199,"114":0.12562,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"13":0.00199,"15":0.00399,"18":0.00997,"84":0.00199,"92":0.01795,"97":0.00199,"100":0.00399,"109":0.02592,"114":0.00399,"120":0.00199,"121":0.00199,"122":0.00399,"124":0.01396,"125":0.00199,"127":0.00997,"128":0.06381,"129":0.01196,"130":0.41675,"131":0.21535,_:"12 14 16 17 79 80 81 83 85 86 87 88 89 90 91 93 94 95 96 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117 118 119 123 126"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.4 16.0 16.1 16.2 16.3 16.4 17.0 17.2 17.3 18.2","5.1":0.01396,"13.1":0.00199,"14.1":0.00199,"15.2-15.3":0.00399,"15.5":0.00199,"15.6":0.00598,"16.5":0.00199,"16.6":0.00199,"17.1":0.00399,"17.4":0.00199,"17.5":0.00798,"17.6":0.02393,"18.0":0.00199,"18.1":0.01396},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00023,"5.0-5.1":0,"6.0-6.1":0.00092,"7.0-7.1":0.00114,"8.1-8.4":0,"9.0-9.2":0.00092,"9.3":0.00321,"10.0-10.2":0.00069,"10.3":0.00527,"11.0-11.2":0.06182,"11.3-11.4":0.0016,"12.0-12.1":0.00092,"12.2-12.5":0.02404,"13.0-13.1":0.00046,"13.2":0.00618,"13.3":0.00092,"13.4-13.7":0.00343,"14.0-14.4":0.00756,"14.5-14.8":0.01076,"15.0-15.1":0.00618,"15.2-15.3":0.00572,"15.4":0.00687,"15.5":0.00801,"15.6-15.8":0.08586,"16.0":0.01626,"16.1":0.03435,"16.2":0.0174,"16.3":0.02954,"16.4":0.00595,"16.5":0.01191,"16.6-16.7":0.11265,"17.0":0.00824,"17.1":0.01374,"17.2":0.01145,"17.3":0.0174,"17.4":0.03732,"17.5":0.11151,"17.6-17.7":0.96328,"18.0":0.34163,"18.1":0.30018,"18.2":0.01214},P:{"4":0.09997,"20":0.01,"21":0.05998,"22":0.02999,"23":0.04998,"24":0.03999,"25":0.08997,"26":0.67979,"27":0.36989,"5.0-5.4":0.01999,"6.2-6.4":0.01,"7.2-7.4":0.01999,_:"8.2 10.1 15.0","9.2":0.02999,"11.1-11.2":0.04998,"12.0":0.01999,"13.0":0.02999,"14.0":0.05998,"16.0":0.15995,"17.0":0.01999,"18.0":0.01,"19.0":0.02999},I:{"0":0.04793,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"11":0.03789,_:"6 7 8 9 10 5.5"},K:{"0":2.92589,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00801,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":3.53865},H:{"0":2.27},L:{"0":80.87176},R:{_:"0"},M:{"0":0.1281}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YT.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YT.js deleted file mode 100644 index dfb47e47..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/YT.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"72":0.00833,"95":0.00139,"102":0.00278,"111":0.00139,"115":0.01111,"120":0.00139,"127":0.00278,"128":0.00139,"129":0.00139,"130":0.00556,"131":0.17085,"132":0.96813,"133":0.03611,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 112 113 114 116 117 118 119 121 122 123 124 125 126 134 135 136 3.5 3.6"},D:{"47":0.00417,"55":0.00139,"57":0.00139,"58":0.00139,"63":0.00556,"70":0.00417,"73":0.00278,"81":0.00139,"83":0.01111,"87":0.01389,"94":0.00833,"97":0.00278,"103":0.01528,"105":0.01806,"107":0.00139,"109":0.20279,"110":0.00972,"111":0.00278,"116":0.12223,"117":0.00695,"118":0.00139,"119":0.00139,"120":0.00417,"121":0.00556,"122":0.01389,"123":0.00139,"124":0.00417,"125":0.01667,"126":0.09862,"127":0.00833,"128":0.03611,"129":0.42365,"130":4.31007,"131":2.18629,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 49 50 51 52 53 54 56 59 60 61 62 64 65 66 67 68 69 71 72 74 75 76 77 78 79 80 84 85 86 88 89 90 91 92 93 95 96 98 99 100 101 102 104 106 108 112 113 114 115 132 133 134"},F:{"40":0.00278,"73":0.00556,"85":0.01945,"95":0.00278,"113":0.00556,"114":0.20696,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"90":0.00139,"92":0.75006,"108":0.00139,"109":0.00833,"116":0.00695,"118":0.00139,"119":0.00556,"123":0.00278,"124":0.00417,"125":0.00139,"126":0.00278,"127":0.00139,"128":0.00695,"129":0.03611,"130":1.39595,"131":0.63894,_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 111 112 113 114 115 117 120 121 122"},E:{"15":0.00139,_:"0 4 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 15.4 16.0 16.1 17.1 18.2","12.1":0.00833,"13.1":0.00695,"14.1":0.00695,"15.1":0.01806,"15.2-15.3":0.00278,"15.5":0.00278,"15.6":0.08751,"16.2":0.00278,"16.3":0.00278,"16.4":0.00139,"16.5":0.02639,"16.6":0.22641,"17.0":0.10695,"17.2":0.01111,"17.3":0.00833,"17.4":0.00833,"17.5":0.13057,"17.6":0.20141,"18.0":0.10556,"18.1":0.08195},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00087,"5.0-5.1":0,"6.0-6.1":0.00347,"7.0-7.1":0.00434,"8.1-8.4":0,"9.0-9.2":0.00347,"9.3":0.01215,"10.0-10.2":0.0026,"10.3":0.01996,"11.0-11.2":0.23436,"11.3-11.4":0.00608,"12.0-12.1":0.00347,"12.2-12.5":0.09114,"13.0-13.1":0.00174,"13.2":0.02344,"13.3":0.00347,"13.4-13.7":0.01302,"14.0-14.4":0.02864,"14.5-14.8":0.0408,"15.0-15.1":0.02344,"15.2-15.3":0.0217,"15.4":0.02604,"15.5":0.03038,"15.6-15.8":0.3255,"16.0":0.06163,"16.1":0.1302,"16.2":0.06597,"16.3":0.11197,"16.4":0.02257,"16.5":0.04514,"16.6-16.7":0.42705,"17.0":0.03125,"17.1":0.05208,"17.2":0.0434,"17.3":0.06597,"17.4":0.14148,"17.5":0.42271,"17.6-17.7":3.65163,"18.0":1.29504,"18.1":1.13793,"18.2":0.046},P:{"4":0.01005,"20":0.01005,"21":0.01005,"22":0.03014,"23":0.02009,"24":0.06028,"25":0.01005,"26":0.30139,"27":0.16074,"5.0-5.4":0.01005,_:"6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","7.2-7.4":0.03014,"19.0":0.01005},I:{"0":0.01718,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00002},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0.30139,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.00861},H:{"0":0},L:{"0":77.09298},R:{_:"0"},M:{"0":0.14639}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZA.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZA.js deleted file mode 100644 index 0c178b2e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZA.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.0056,"52":0.0056,"59":0.0028,"78":0.0084,"88":0.0028,"91":0.0028,"104":0.0028,"108":0.0028,"109":0.0028,"112":0.0028,"113":0.0028,"114":0.0028,"115":0.06998,"123":0.0028,"124":0.0028,"127":0.0056,"128":0.0112,"129":0.0084,"130":0.0112,"131":0.05038,"132":0.60179,"133":0.03359,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 102 103 105 106 107 110 111 116 117 118 119 120 121 122 125 126 134 135 136 3.5 3.6"},D:{"49":0.0028,"50":0.0028,"52":0.01959,"55":0.0028,"56":0.0028,"65":0.0084,"66":0.0084,"67":0.0028,"69":0.0028,"70":0.0084,"73":0.0028,"74":0.0028,"75":0.0028,"78":0.0028,"79":0.0084,"81":0.0028,"83":0.0028,"86":0.0028,"87":0.0112,"88":0.02799,"90":0.0028,"91":0.0056,"92":0.0028,"94":0.0084,"95":0.0028,"98":0.39746,"99":0.0056,"100":0.0056,"102":0.0056,"103":0.04199,"104":0.0056,"105":0.0028,"106":0.0056,"107":0.0028,"108":0.0028,"109":0.68296,"110":0.0028,"111":0.03079,"112":0.0028,"113":0.014,"114":0.05878,"115":0.0056,"116":0.10076,"117":0.0028,"118":0.0084,"119":0.03079,"120":0.04478,"121":0.01679,"122":0.08117,"123":0.12596,"124":0.03919,"125":0.13995,"126":0.07557,"127":0.06718,"128":0.15395,"129":0.5654,"130":10.51304,"131":5.93108,"132":0.0028,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 53 54 57 58 59 60 61 62 63 64 68 71 72 76 77 80 84 85 89 93 96 97 101 133 134"},F:{"83":0.0028,"84":0.0056,"85":0.06158,"86":0.0028,"95":0.01679,"113":0.02799,"114":0.25471,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.0028,"16":0.0028,"17":0.0028,"18":0.0028,"90":0.0028,"92":0.01679,"100":0.0028,"106":0.0056,"109":0.03079,"113":0.0028,"114":0.0028,"116":0.0028,"118":0.02519,"119":0.0028,"120":0.0028,"121":0.02519,"122":0.0056,"123":0.0028,"124":0.0112,"125":0.0112,"126":0.01959,"127":0.02519,"128":0.02799,"129":0.14275,"130":1.36031,"131":0.85649,_:"13 14 15 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 98 99 101 102 103 104 105 107 108 110 111 112 115 117"},E:{"14":0.0056,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 15.1","11.1":0.0028,"12.1":0.0028,"13.1":0.014,"14.1":0.014,"15.2-15.3":0.0028,"15.4":0.0056,"15.5":0.0056,"15.6":0.06998,"16.0":0.01679,"16.1":0.0112,"16.2":0.0056,"16.3":0.02239,"16.4":0.0028,"16.5":0.014,"16.6":0.09517,"17.0":0.0028,"17.1":0.0084,"17.2":0.0056,"17.3":0.01679,"17.4":0.01959,"17.5":0.05318,"17.6":0.21832,"18.0":0.10076,"18.1":0.11756,"18.2":0.0028},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00086,"5.0-5.1":0,"6.0-6.1":0.00344,"7.0-7.1":0.00431,"8.1-8.4":0,"9.0-9.2":0.00344,"9.3":0.01206,"10.0-10.2":0.00258,"10.3":0.01981,"11.0-11.2":0.23253,"11.3-11.4":0.00603,"12.0-12.1":0.00344,"12.2-12.5":0.09043,"13.0-13.1":0.00172,"13.2":0.02325,"13.3":0.00344,"13.4-13.7":0.01292,"14.0-14.4":0.02842,"14.5-14.8":0.04048,"15.0-15.1":0.02325,"15.2-15.3":0.02153,"15.4":0.02584,"15.5":0.03014,"15.6-15.8":0.32296,"16.0":0.06115,"16.1":0.12919,"16.2":0.06545,"16.3":0.1111,"16.4":0.02239,"16.5":0.04478,"16.6-16.7":0.42373,"17.0":0.031,"17.1":0.05167,"17.2":0.04306,"17.3":0.06545,"17.4":0.14038,"17.5":0.41942,"17.6-17.7":3.62323,"18.0":1.28497,"18.1":1.12909,"18.2":0.04565},P:{"4":0.07103,"20":0.02029,"21":0.04059,"22":0.10147,"23":0.07103,"24":0.16235,"25":0.13191,"26":3.14553,"27":2.80053,_:"5.0-5.4 8.2 9.2 10.1 15.0","6.2-6.4":0.01015,"7.2-7.4":0.1725,"11.1-11.2":0.02029,"12.0":0.01015,"13.0":0.02029,"14.0":0.01015,"16.0":0.02029,"17.0":0.03044,"18.0":0.02029,"19.0":0.06088},I:{"0":0.02156,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00003},A:{"11":0.0084,_:"6 7 8 9 10 5.5"},K:{"0":3.33727,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0072},O:{"0":0.30964},H:{"0":0.04},L:{"0":55.98107},R:{_:"0"},M:{"0":0.45366}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZM.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZM.js deleted file mode 100644 index c8cce235..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZM.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00349,"52":0.00175,"66":0.00175,"91":0.00524,"99":0.00175,"106":0.00175,"112":0.00175,"115":0.05765,"118":0.00175,"120":0.00175,"123":0.00175,"126":0.00349,"127":0.01223,"128":0.00874,"129":0.00175,"130":0.01048,"131":0.04018,"132":0.30223,"133":0.01922,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 92 93 94 95 96 97 98 100 101 102 103 104 105 107 108 109 110 111 113 114 116 117 119 121 122 124 125 134 135 136 3.5 3.6"},D:{"11":0.00175,"25":0.00175,"43":0.00175,"46":0.00349,"49":0.00349,"50":0.00349,"53":0.00175,"55":0.00175,"56":0.00175,"58":0.00175,"60":0.00175,"63":0.00175,"64":0.00175,"65":0.00175,"66":0.00175,"67":0.00175,"68":0.00524,"69":0.00349,"70":0.01223,"71":0.00524,"73":0.00699,"74":0.00175,"75":0.00699,"76":0.00175,"77":0.00349,"78":0.01572,"79":0.01922,"80":0.00349,"81":0.00699,"83":0.01048,"84":0.00524,"85":0.00175,"86":0.00874,"87":0.00874,"88":0.00874,"90":0.00349,"91":0.00175,"92":0.00524,"93":0.02621,"94":0.00699,"95":0.00699,"98":0.00349,"99":0.00349,"100":0.00175,"102":0.00349,"103":0.02621,"105":0.00524,"106":0.00524,"108":0.00524,"109":0.43675,"110":0.00175,"111":0.00699,"112":0.00175,"113":0.01048,"114":0.02271,"115":0.00349,"116":0.02446,"117":0.00349,"118":0.01223,"119":0.02795,"120":0.01747,"121":0.01922,"122":0.02096,"123":0.0297,"124":0.04892,"125":0.02446,"126":0.03494,"127":0.06289,"128":0.08735,"129":0.19217,"130":2.89478,"131":1.9217,"132":0.00524,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 47 48 51 52 54 57 59 61 62 72 89 96 97 101 104 107 133 134"},F:{"20":0.00349,"34":0.00175,"36":0.00175,"40":0.00175,"42":0.00175,"46":0.00349,"60":0.00175,"65":0.00175,"66":0.00175,"79":0.01572,"80":0.00175,"83":0.00175,"84":0.00349,"85":0.04368,"86":0.01572,"95":0.03669,"107":0.00175,"109":0.00175,"111":0.00175,"112":0.00524,"113":0.02446,"114":0.6988,_:"9 11 12 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 35 37 38 39 41 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 62 63 64 67 68 69 70 71 72 73 74 75 76 77 78 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 108 110 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00874,"13":0.01223,"14":0.00349,"15":0.00349,"16":0.02621,"17":0.00524,"18":0.02446,"84":0.00349,"86":0.00524,"89":0.00524,"90":0.00699,"92":0.06813,"100":0.01922,"101":0.00175,"107":0.00175,"109":0.02621,"110":0.00175,"111":0.00175,"112":0.00699,"114":0.00349,"115":0.00175,"116":0.00175,"118":0.145,"119":0.00524,"120":0.00874,"121":0.00175,"122":0.00874,"123":0.00349,"124":0.00699,"125":0.00699,"126":0.01572,"127":0.01398,"128":0.04368,"129":0.06115,"130":1.01675,"131":0.60272,_:"79 80 81 83 85 87 88 91 93 94 95 96 97 98 99 102 103 104 105 106 108 113 117"},E:{"13":0.00175,"14":0.00175,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 15.1 15.2-15.3 15.4 16.2 17.0 18.2","13.1":0.00524,"14.1":0.01048,"15.5":0.00175,"15.6":0.03319,"16.0":0.00175,"16.1":0.00175,"16.3":0.00175,"16.4":0.00175,"16.5":0.00175,"16.6":0.02271,"17.1":0.00349,"17.2":0.00524,"17.3":0.00524,"17.4":0.00874,"17.5":0.02446,"17.6":0.04542,"18.0":0.01922,"18.1":0.03843},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00052,"5.0-5.1":0,"6.0-6.1":0.00208,"7.0-7.1":0.0026,"8.1-8.4":0,"9.0-9.2":0.00208,"9.3":0.00729,"10.0-10.2":0.00156,"10.3":0.01198,"11.0-11.2":0.14062,"11.3-11.4":0.00365,"12.0-12.1":0.00208,"12.2-12.5":0.05469,"13.0-13.1":0.00104,"13.2":0.01406,"13.3":0.00208,"13.4-13.7":0.00781,"14.0-14.4":0.01719,"14.5-14.8":0.02448,"15.0-15.1":0.01406,"15.2-15.3":0.01302,"15.4":0.01562,"15.5":0.01823,"15.6-15.8":0.19531,"16.0":0.03698,"16.1":0.07812,"16.2":0.03958,"16.3":0.06719,"16.4":0.01354,"16.5":0.02708,"16.6-16.7":0.25625,"17.0":0.01875,"17.1":0.03125,"17.2":0.02604,"17.3":0.03958,"17.4":0.08489,"17.5":0.25364,"17.6-17.7":2.19112,"18.0":0.77707,"18.1":0.6828,"18.2":0.0276},P:{"4":0.11349,"21":0.02064,"22":0.05159,"23":0.02064,"24":0.08254,"25":0.08254,"26":0.56746,"27":0.2373,_:"20 8.2 10.1 12.0 14.0 15.0 18.0","5.0-5.4":0.02064,"6.2-6.4":0.01032,"7.2-7.4":0.09286,"9.2":0.04127,"11.1-11.2":0.01032,"13.0":0.02064,"16.0":0.01032,"17.0":0.01032,"19.0":0.01032},I:{"0":0.10707,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00014},A:{"10":0.00349,"11":0.01747,_:"6 7 8 9 5.5"},K:{"0":13.57276,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01651,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.00825},O:{"0":0.89143},H:{"0":1.92},L:{"0":66.20619},R:{_:"0"},M:{"0":0.07429}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZW.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZW.js deleted file mode 100644 index 69ff1e9b..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/ZW.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"34":0.00297,"44":0.00297,"52":0.00594,"67":0.00297,"75":0.00297,"94":0.00297,"99":0.00594,"105":0.00297,"112":0.00297,"113":0.00297,"115":0.11282,"123":0.00297,"126":0.01188,"127":0.00891,"128":0.04157,"129":0.00891,"130":0.02078,"131":0.09204,"132":1.24104,"133":0.12173,"134":0.00891,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 68 69 70 71 72 73 74 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 100 101 102 103 104 106 107 108 109 110 111 114 116 117 118 119 120 121 122 124 125 135 136 3.5 3.6"},D:{"11":0.00297,"47":0.00297,"49":0.00594,"50":0.00297,"56":0.00594,"58":0.00297,"59":0.00594,"63":0.02375,"64":0.00594,"65":0.00594,"68":0.00891,"69":0.00594,"70":0.00891,"71":0.00297,"72":0.00297,"73":0.00594,"74":0.00594,"76":0.12173,"77":0.00297,"78":0.00297,"79":0.02672,"80":0.00594,"81":0.00594,"83":0.00297,"84":0.00594,"86":0.00594,"87":0.01188,"88":0.01188,"90":0.00297,"91":0.00297,"92":0.00594,"93":0.00594,"94":0.00891,"95":0.02078,"96":0.00594,"97":0.00297,"98":0.00891,"99":0.01188,"100":0.00297,"101":0.00297,"102":0.00594,"103":0.02969,"104":0.00297,"105":0.01188,"106":0.00891,"107":0.02078,"108":0.00594,"109":0.62052,"110":0.00297,"111":0.02078,"112":0.00297,"113":0.00297,"114":0.05938,"115":0.00297,"116":0.03563,"117":0.02375,"118":0.02375,"119":0.03563,"120":0.03266,"121":0.03266,"122":0.05344,"123":0.03266,"124":0.04454,"125":0.02969,"126":0.06829,"127":0.06235,"128":0.20189,"129":0.47207,"130":7.758,"131":4.75337,"132":0.01188,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 51 52 53 54 55 57 60 61 62 66 67 75 85 89 133 134"},F:{"34":0.00297,"36":0.00297,"37":0.00297,"40":0.00297,"42":0.00297,"43":0.00297,"79":0.02375,"82":0.00297,"83":0.0386,"85":0.02375,"86":0.00594,"95":0.02078,"106":0.00594,"112":0.00891,"113":0.02078,"114":1.30042,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 38 39 41 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.02969,"13":0.00297,"14":0.00594,"15":0.00594,"16":0.04157,"17":0.00891,"18":0.06829,"84":0.00594,"89":0.0386,"90":0.02078,"92":0.08907,"98":0.00297,"100":0.03563,"103":0.00297,"104":0.00297,"107":0.01188,"109":0.02078,"110":0.00297,"111":0.01188,"112":0.01188,"113":0.00594,"114":0.00594,"115":0.00594,"117":0.00297,"118":0.00594,"119":0.02078,"120":0.00891,"121":0.00297,"122":0.01485,"123":0.00891,"124":0.03266,"125":0.01485,"126":0.0386,"127":0.04454,"128":0.09798,"129":0.23752,"130":2.9304,"131":1.76656,_:"79 80 81 83 85 86 87 88 91 93 94 95 96 97 99 101 102 105 106 108 116"},E:{"13":0.00594,"14":0.00891,_:"0 4 5 6 7 8 9 10 11 12 15 3.1 3.2 6.1 7.1 10.1","5.1":0.00594,"9.1":0.00297,"11.1":0.00297,"12.1":0.00297,"13.1":0.01485,"14.1":0.09501,"15.1":0.00297,"15.2-15.3":0.00297,"15.4":0.00297,"15.5":0.00297,"15.6":0.06532,"16.0":0.00297,"16.1":0.03266,"16.2":0.00297,"16.3":0.02672,"16.4":0.00297,"16.5":0.00594,"16.6":0.07126,"17.0":0.00297,"17.1":0.00891,"17.2":0.00297,"17.3":0.00891,"17.4":0.0386,"17.5":0.10985,"17.6":0.19002,"18.0":0.13064,"18.1":0.2108,"18.2":0.00297},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00057,"5.0-5.1":0,"6.0-6.1":0.00226,"7.0-7.1":0.00283,"8.1-8.4":0,"9.0-9.2":0.00226,"9.3":0.00792,"10.0-10.2":0.0017,"10.3":0.01302,"11.0-11.2":0.15282,"11.3-11.4":0.00396,"12.0-12.1":0.00226,"12.2-12.5":0.05943,"13.0-13.1":0.00113,"13.2":0.01528,"13.3":0.00226,"13.4-13.7":0.00849,"14.0-14.4":0.01868,"14.5-14.8":0.0266,"15.0-15.1":0.01528,"15.2-15.3":0.01415,"15.4":0.01698,"15.5":0.01981,"15.6-15.8":0.21225,"16.0":0.04019,"16.1":0.0849,"16.2":0.04302,"16.3":0.07301,"16.4":0.01472,"16.5":0.02943,"16.6-16.7":0.27847,"17.0":0.02038,"17.1":0.03396,"17.2":0.0283,"17.3":0.04302,"17.4":0.09226,"17.5":0.27564,"17.6-17.7":2.38114,"18.0":0.84447,"18.1":0.74202,"18.2":0.03},P:{"4":0.03073,"20":0.02048,"21":0.06145,"22":0.10242,"23":0.08193,"24":0.27653,"25":0.11266,"26":1.2495,"27":0.83983,_:"5.0-5.4 8.2 9.2 10.1 12.0 13.0 14.0 15.0","6.2-6.4":0.01024,"7.2-7.4":0.13314,"11.1-11.2":0.03073,"16.0":0.02048,"17.0":0.02048,"18.0":0.01024,"19.0":0.07169},I:{"0":0.03508,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00001,"4.4":0,"4.4.3-4.4.4":0.00005},A:{"10":0.00339,"11":0.02036,_:"6 7 8 9 5.5"},K:{"0":6.78865,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.00703,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.08437},O:{"0":0.82966},H:{"0":0.39},L:{"0":57.37383},R:{_:"0"},M:{"0":0.16171}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-af.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-af.js deleted file mode 100644 index cd90a04f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-af.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"3":0.00241,"34":0.00241,"52":0.00964,"77":0.01206,"78":0.00482,"110":0.00241,"115":0.22905,"125":0.00482,"127":0.00964,"128":0.0217,"129":0.00723,"130":0.00723,"131":0.04822,"132":0.68231,"133":0.06269,_:"2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 111 112 113 114 116 117 118 119 120 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"11":0.00482,"43":0.00482,"45":0.00723,"47":0.00482,"49":0.00482,"50":0.00241,"52":0.00482,"56":0.00482,"58":0.02893,"63":0.00241,"64":0.00241,"65":0.00482,"66":0.00241,"68":0.00482,"69":0.00482,"70":0.00723,"72":0.00241,"73":0.00723,"74":0.00482,"75":0.00482,"76":0.00482,"77":0.00241,"78":0.00482,"79":0.03134,"80":0.00723,"81":0.01206,"83":0.0217,"84":0.00241,"85":0.00241,"86":0.00964,"87":0.03134,"88":0.01929,"89":0.00241,"90":0.00482,"91":0.00723,"92":0.00482,"93":0.01206,"94":0.01206,"95":0.00964,"96":0.00241,"98":0.10608,"99":0.00723,"100":0.00964,"101":0.00241,"102":0.00482,"103":0.03858,"104":0.00964,"105":0.00482,"106":0.01447,"107":0.00964,"108":0.01447,"109":1.23443,"110":0.01206,"111":0.01929,"112":0.00723,"113":0.00723,"114":0.02893,"115":0.00723,"116":0.06269,"117":0.00723,"118":0.01929,"119":0.03617,"120":0.03375,"121":0.01929,"122":0.0434,"123":0.06269,"124":0.05786,"125":0.05304,"126":0.06269,"127":0.05786,"128":0.12296,"129":0.32307,"130":6.29753,"131":3.92511,"132":0.00723,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 48 51 53 54 55 57 59 60 61 62 67 71 97 133 134"},F:{"79":0.00964,"83":0.00241,"84":0.00723,"85":0.0434,"86":0.00241,"95":0.03617,"109":0.00241,"112":0.00482,"113":0.02411,"114":0.48702,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 80 81 82 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"12":0.00241,"13":0.00241,"15":0.00241,"18":0.01206,"84":0.00482,"89":0.00482,"90":0.00723,"92":0.03134,"100":0.00482,"109":0.03134,"114":0.00964,"118":0.00723,"119":0.00482,"120":0.00482,"121":0.01206,"122":0.01206,"123":0.00723,"124":0.00964,"125":0.01447,"126":0.01929,"127":0.0217,"128":0.02893,"129":0.09403,"130":1.32605,"131":0.88966,_:"14 16 17 79 80 81 83 85 86 87 88 91 93 94 95 96 97 98 99 101 102 103 104 105 106 107 108 110 111 112 113 115 116 117"},E:{"14":0.00482,_:"0 4 5 6 7 8 9 10 11 12 13 15 3.1 3.2 6.1 7.1 9.1 10.1 11.1 15.2-15.3 15.4","5.1":0.00241,"12.1":0.00241,"13.1":0.01688,"14.1":0.01447,"15.1":0.00482,"15.5":0.00241,"15.6":0.05063,"16.0":0.00482,"16.1":0.00723,"16.2":0.00482,"16.3":0.00964,"16.4":0.00241,"16.5":0.00723,"16.6":0.04581,"17.0":0.00241,"17.1":0.00482,"17.2":0.00482,"17.3":0.00723,"17.4":0.01929,"17.5":0.03134,"17.6":0.10367,"18.0":0.05786,"18.1":0.07233,"18.2":0.00241},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00167,"6.0-6.1":0,"7.0-7.1":0.01423,"8.1-8.4":0,"9.0-9.2":0.00084,"9.3":0.02009,"10.0-10.2":0.00418,"10.3":0.02678,"11.0-11.2":0.01088,"11.3-11.4":0.00335,"12.0-12.1":0.01339,"12.2-12.5":0.65617,"13.0-13.1":0.00837,"13.2":0.00251,"13.3":0.01172,"13.4-13.7":0.04603,"14.0-14.4":0.08872,"14.5-14.8":0.09374,"15.0-15.1":0.1088,"15.2-15.3":0.04603,"15.4":0.04436,"15.5":0.06612,"15.6-15.8":1.07298,"16.0":0.07867,"16.1":0.1222,"16.2":0.07114,"16.3":0.1222,"16.4":0.04268,"16.5":0.07867,"16.6-16.7":0.75326,"17.0":0.07449,"17.1":0.077,"17.2":0.06528,"17.3":0.08537,"17.4":0.15233,"17.5":0.42266,"17.6-17.7":1.75593,"18.0":1.2546,"18.1":0.82608,"18.2":0.03934},P:{"4":0.074,"20":0.01057,"21":0.04229,"22":0.08458,"23":0.05286,"24":0.12686,"25":0.10572,"26":1.18407,"27":0.89862,_:"5.0-5.4 8.2 9.2 10.1 12.0 14.0 15.0 18.0","6.2-6.4":0.01057,"7.2-7.4":0.13744,"11.1-11.2":0.01057,"13.0":0.01057,"16.0":0.01057,"17.0":0.02114,"19.0":0.04229},I:{"0":0.05278,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00003,"4.4":0,"4.4.3-4.4.4":0.00028},A:{"11":0.03134,_:"6 7 8 9 10 5.5"},K:{"0":5.19588,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.05312,_:"3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.26558},H:{"0":0.7},L:{"0":63.9216},R:{_:"0"},M:{"0":0.20488}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-an.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-an.js deleted file mode 100644 index 3c5f68a9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-an.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 3.5 3.6"},D:{"109":0.0158,"115":0.08295,"121":0.0158,"126":0.02765,"130":0.0158,"131":0.47795,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 116 117 118 119 120 122 123 124 125 127 128 129 132 133 134"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{_:"12 13 14 15 16 17 18 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1 14.1 15.4","15.1":0.15405,"15.2-15.3":0.3081,"15.5":0.0158,"15.6":1.1692,"16.0":0.0553,"16.1":0.2686,"16.2":0.1264,"16.3":1.70245,"16.4":0.15405,"16.5":0.20935,"16.6":1.37855,"17.0":0.0553,"17.1":0.20935,"17.2":1.01515,"17.3":0.42265,"17.4":4.15145,"17.5":5.17845,"17.6":12.7506,"18.0":2.8993,"18.1":2.5912,"18.2":0.09875},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.5":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0,"14.0-14.4":0,"14.5-14.8":0,"15.0-15.1":0.11013,"15.2-15.3":0.04405,"15.4":0.02753,"15.5":0.02753,"15.6-15.8":0.3249,"16.0":0.50662,"16.1":1.71259,"16.2":0.20925,"16.3":1.13989,"16.4":0.4075,"16.5":0.18172,"16.6-16.7":3.82166,"17.0":0.23679,"17.1":0.09912,"17.2":0.09912,"17.3":0.19824,"17.4":0.92513,"17.5":4.70824,"17.6-17.7":34.49403,"18.0":2.90754,"18.1":2.57163,"18.2":0.30838},P:{"26":0.0968,_:"4 20 21 22 23 24 25 27 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},A:{_:"6 7 8 9 10 11 5.5"},K:{"0":0,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0968},O:{_:"0"},H:{"0":0},L:{"0":4.9271},R:{_:"0"},M:{"0":0.11495}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-as.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-as.js deleted file mode 100644 index d467ed76..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-as.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"43":0.0082,"52":0.03006,"55":0.0082,"56":0.02733,"72":0.00273,"78":0.00273,"79":0.00547,"103":0.00273,"113":0.00547,"115":0.21591,"125":0.00547,"126":0.00273,"127":0.01093,"128":0.02186,"129":0.00273,"130":0.0082,"131":0.041,"132":0.64499,"133":0.06013,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 53 54 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 114 116 117 118 119 120 121 122 123 124 134 135 136 3.5 3.6"},D:{"34":0.00547,"38":0.01367,"47":0.00273,"48":0.00547,"49":0.01093,"50":0.01367,"53":0.00547,"56":0.00273,"58":0.00547,"60":0.00273,"61":0.00547,"66":0.00547,"69":0.12845,"70":0.0164,"71":0.00273,"73":0.01367,"74":0.0328,"75":0.00547,"77":0.0246,"78":0.0082,"79":0.09839,"80":0.0082,"81":0.0082,"83":0.0164,"84":0.00547,"85":0.00547,"86":0.041,"87":0.08199,"88":0.00547,"89":0.0082,"90":0.00547,"91":0.03553,"92":0.05466,"93":0.00547,"94":0.02733,"95":0.00547,"96":0.00547,"97":0.0164,"98":0.06013,"99":0.0082,"100":0.02733,"101":0.02186,"102":0.0082,"103":0.06833,"104":0.01093,"105":0.01093,"106":0.01913,"107":0.01913,"108":0.03553,"109":1.4075,"110":0.01367,"111":0.0328,"112":0.04373,"113":0.01093,"114":0.05739,"115":0.0164,"116":0.10659,"117":0.01367,"118":0.03826,"119":0.03553,"120":0.05193,"121":0.041,"122":0.05739,"123":0.08472,"124":0.08472,"125":0.08199,"126":0.10659,"127":0.10659,"128":0.15578,"129":0.37989,"130":8.18534,"131":5.25829,"132":0.01367,"133":0.00547,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 43 44 45 46 51 52 54 55 57 59 62 63 64 65 67 68 72 76 134"},F:{"36":0.00273,"40":0.00547,"46":0.0246,"85":0.0328,"86":0.00273,"95":0.0164,"102":0.05739,"113":0.0164,"114":0.3061,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"18":0.0082,"92":0.01913,"100":0.00273,"106":0.00273,"107":0.00273,"108":0.00547,"109":0.04919,"110":0.00273,"111":0.00547,"112":0.00547,"113":0.01367,"114":0.01367,"115":0.00547,"116":0.00547,"117":0.00547,"118":0.00547,"119":0.0082,"120":0.05193,"121":0.01093,"122":0.0164,"123":0.01093,"124":0.01367,"125":0.01367,"126":0.0328,"127":0.03826,"128":0.03553,"129":0.07926,"130":1.78465,"131":1.17792,_:"12 13 14 15 16 17 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 101 102 103 104 105"},E:{"13":0.00547,"14":0.01913,"15":0.00273,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.00273,"13.1":0.01913,"14.1":0.041,"15.1":0.0082,"15.2-15.3":0.00547,"15.4":0.01367,"15.5":0.01913,"15.6":0.10932,"16.0":0.01093,"16.1":0.02186,"16.2":0.01367,"16.3":0.03553,"16.4":0.01093,"16.5":0.02186,"16.6":0.13118,"17.0":0.0082,"17.1":0.0164,"17.2":0.0164,"17.3":0.01913,"17.4":0.041,"17.5":0.11479,"17.6":0.522,"18.0":0.13118,"18.1":0.15032,"18.2":0.00547},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00389,"5.0-5.1":0.00194,"6.0-6.1":0.00194,"7.0-7.1":0.01361,"8.1-8.4":0.00097,"9.0-9.2":0.00389,"9.3":0.01944,"10.0-10.2":0.00194,"10.3":0.03889,"11.0-11.2":0.01944,"11.3-11.4":0.00486,"12.0-12.1":0.00583,"12.2-12.5":0.1468,"13.0-13.1":0.00292,"13.2":0.00875,"13.3":0.00681,"13.4-13.7":0.03014,"14.0-14.4":0.06125,"14.5-14.8":0.08069,"15.0-15.1":0.04764,"15.2-15.3":0.04375,"15.4":0.05736,"15.5":0.06125,"15.6-15.8":0.5697,"16.0":0.10305,"16.1":0.18083,"16.2":0.10014,"16.3":0.17013,"16.4":0.04375,"16.5":0.08166,"16.6-16.7":0.58818,"17.0":0.0593,"17.1":0.09041,"17.2":0.08166,"17.3":0.10889,"17.4":0.25374,"17.5":0.60373,"17.6-17.7":3.32684,"18.0":1.33871,"18.1":1.30565,"18.2":0.03986},P:{"4":0.13863,"20":0.01066,"21":0.03199,"22":0.04266,"23":0.05332,"24":0.05332,"25":0.06398,"26":0.93843,"27":0.71449,"5.0-5.4":0.02133,"6.2-6.4":0.01066,"7.2-7.4":0.03199,_:"8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","17.0":0.02133,"19.0":0.01066},I:{"0":0.37005,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00037},A:{"8":0.0366,"9":0.0183,"11":0.78687,_:"6 7 10 5.5"},K:{"0":1.10623,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.02906,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.43596},O:{"0":1.67118},H:{"0":0.02},L:{"0":57.9355},R:{_:"0"},M:{"0":0.16712}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-eu.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-eu.js deleted file mode 100644 index 9b339b71..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-eu.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"45":0.0092,"52":0.03678,"59":0.0092,"68":0.0046,"78":0.02299,"88":0.0092,"102":0.0092,"103":0.0092,"105":0.0092,"113":0.01379,"115":0.40922,"117":0.0092,"118":0.0092,"119":0.0046,"120":0.02299,"121":0.0046,"122":0.0046,"123":0.0046,"124":0.0046,"125":0.02299,"126":0.03219,"127":0.02299,"128":0.15173,"129":0.02299,"130":0.02759,"131":0.21611,"132":2.88295,"133":0.24369,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 104 106 107 108 109 110 111 112 114 116 134 135 136 3.5 3.6"},D:{"45":0.0092,"47":0.0046,"48":0.0092,"49":0.01839,"52":0.01379,"58":0.04138,"61":0.0092,"63":0.0046,"66":0.04598,"68":0.0092,"73":0.0046,"74":0.0046,"75":0.0046,"76":0.0092,"77":0.0046,"78":0.04138,"79":0.11495,"80":0.0092,"81":0.0092,"83":0.0092,"85":0.0092,"86":0.0092,"87":0.03678,"88":0.01379,"89":0.01379,"90":0.0046,"91":0.02299,"92":0.02299,"93":0.01379,"94":0.03219,"95":0.17013,"96":0.0046,"97":0.0092,"98":0.01379,"99":0.0092,"100":0.0046,"102":0.01839,"103":0.13794,"104":0.11495,"105":0.0092,"106":0.02759,"107":0.02299,"108":0.03219,"109":1.07593,"110":0.01839,"111":0.02759,"112":0.01839,"113":0.05058,"114":0.09656,"115":0.01839,"116":0.19771,"117":0.07357,"118":0.16553,"119":0.04598,"120":0.08736,"121":0.05518,"122":0.11495,"123":0.13334,"124":0.13334,"125":0.50578,"126":0.34945,"127":0.20231,"128":0.31266,"129":1.22307,"130":13.96872,"131":7.74763,"132":0.0092,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 50 51 53 54 55 56 57 59 60 62 64 65 67 69 70 71 72 84 101 133 134"},F:{"31":0.0092,"40":0.0092,"46":0.01379,"85":0.02759,"95":0.07357,"102":0.0046,"113":0.14714,"114":1.82541,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.01379,"90":0.0046,"92":0.0092,"108":0.0046,"109":0.06897,"111":0.0046,"114":0.0046,"117":0.0092,"118":0.0046,"119":0.0046,"120":0.0092,"121":0.01379,"122":0.01839,"123":0.0046,"124":0.0092,"125":0.0092,"126":0.03219,"127":0.01839,"128":0.04598,"129":0.17932,"130":3.26458,"131":2.24842,_:"12 13 14 15 16 18 79 80 81 83 84 85 86 87 88 89 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110 112 113 115 116"},E:{"14":0.01839,"15":0.0046,_:"0 4 5 6 7 8 9 10 11 12 13 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.0092,"12.1":0.0092,"13.1":0.04598,"14.1":0.06897,"15.1":0.01379,"15.2-15.3":0.0092,"15.4":0.01839,"15.5":0.02299,"15.6":0.2345,"16.0":0.03678,"16.1":0.03678,"16.2":0.02759,"16.3":0.06437,"16.4":0.02299,"16.5":0.03678,"16.6":0.29887,"17.0":0.02299,"17.1":0.04138,"17.2":0.04138,"17.3":0.04138,"17.4":0.10116,"17.5":0.24369,"17.6":1.17249,"18.0":0.40922,"18.1":0.54256,"18.2":0.01379},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.01541,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.00154,"9.3":0.02773,"10.0-10.2":0.01541,"10.3":0.03389,"11.0-11.2":0.11555,"11.3-11.4":0.01695,"12.0-12.1":0.00462,"12.2-12.5":0.12479,"13.0-13.1":0.00154,"13.2":0.18642,"13.3":0.00308,"13.4-13.7":0.00924,"14.0-14.4":0.01849,"14.5-14.8":0.05084,"15.0-15.1":0.02157,"15.2-15.3":0.02311,"15.4":0.02157,"15.5":0.03235,"15.6-15.8":0.48993,"16.0":0.10939,"16.1":0.23264,"16.2":0.10322,"16.3":0.19104,"16.4":0.02619,"16.5":0.05854,"16.6-16.7":0.74105,"17.0":0.03852,"17.1":0.08474,"17.2":0.05084,"17.3":0.0832,"17.4":0.17563,"17.5":0.71948,"17.6-17.7":6.76037,"18.0":2.54361,"18.1":2.17386,"18.2":0.08474},P:{"4":0.03241,"20":0.0108,"21":0.03241,"22":0.03241,"23":0.05402,"24":0.05402,"25":0.05402,"26":1.58819,"27":1.39372,_:"5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","19.0":0.0108},I:{"0":0.05388,"3":0.00001,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00006},A:{"8":0.00525,"11":0.06831,_:"6 7 9 10 5.5"},K:{"0":0.5402,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0054},O:{"0":0.11884},H:{"0":0},L:{"0":34.30682},R:{_:"0"},M:{"0":0.49158}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-na.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-na.js deleted file mode 100644 index 50cd2908..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-na.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"11":0.05491,"38":0.00422,"44":0.0169,"45":0.00845,"52":0.01267,"72":0.00422,"78":0.02112,"88":0.00845,"94":0.00845,"102":0.00422,"103":0.00422,"115":0.19853,"118":0.27456,"123":0.00422,"124":0.00422,"125":0.0169,"126":0.00845,"127":0.01267,"128":0.08026,"129":0.01267,"130":0.02534,"131":0.18586,"132":1.66426,"133":0.10982,_:"2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 112 113 114 116 117 119 120 121 122 134 135 136 3.5 3.6"},D:{"47":0.00422,"48":0.04646,"49":0.02112,"51":0.00845,"52":0.00422,"53":0.00422,"56":0.02957,"60":0.00845,"61":0.0169,"66":0.0169,"74":0.00422,"75":0.00422,"76":0.00845,"78":0.00422,"79":0.06758,"80":0.01267,"81":0.10138,"83":0.06758,"84":0.00422,"85":0.01267,"86":0.00845,"87":0.03802,"88":0.01267,"89":0.00845,"90":0.00845,"91":0.07603,"92":0.00845,"93":0.02534,"94":0.0169,"95":0.00422,"96":0.00422,"97":0.00845,"98":0.00422,"99":0.0169,"100":0.02112,"101":0.01267,"102":0.00845,"103":0.16051,"104":0.02112,"105":0.0169,"106":0.02112,"107":0.02534,"108":0.04224,"109":0.50688,"110":0.0169,"111":0.02957,"112":0.02534,"113":0.07181,"114":0.09715,"115":0.04224,"116":0.18163,"117":0.17318,"118":0.03802,"119":0.05491,"120":0.1056,"121":0.20275,"122":0.10138,"123":0.0887,"124":0.25766,"125":2.36122,"126":0.89971,"127":0.65894,"128":0.54912,"129":1.74451,"130":11.38368,"131":4.72243,"132":0.02534,"133":0.01267,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 50 54 55 57 58 59 62 63 64 65 67 68 69 70 71 72 73 77 134"},F:{"85":0.01267,"95":0.02112,"113":0.05491,"114":0.50266,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00422,"18":0.00845,"109":0.05491,"112":0.00422,"120":0.00845,"121":0.00845,"122":0.01267,"123":0.00422,"124":0.00845,"125":0.01267,"126":0.0169,"127":0.02112,"128":0.04224,"129":0.25766,"130":3.51437,"131":1.84166,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 113 114 115 116 117 118 119"},E:{"9":0.00845,"13":0.00422,"14":0.03379,"15":0.00845,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00422,"12.1":0.0169,"13.1":0.11827,"14.1":0.09293,"15.1":0.03802,"15.2-15.3":0.01267,"15.4":0.02112,"15.5":0.03379,"15.6":0.2999,"16.0":0.05491,"16.1":0.04646,"16.2":0.04224,"16.3":0.10138,"16.4":0.04224,"16.5":0.06758,"16.6":0.48154,"17.0":0.02534,"17.1":0.05914,"17.2":0.05491,"17.3":0.06758,"17.4":0.16896,"17.5":0.34637,"17.6":2.20915,"18.0":0.528,"18.1":0.74342,"18.2":0.02534},G:{"8":0,"3.2":0.00265,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0.01061,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0.01591,"9.3":0.01591,"10.0-10.2":0.0053,"10.3":0.02651,"11.0-11.2":1.47678,"11.3-11.4":0.01061,"12.0-12.1":0.0053,"12.2-12.5":0.0981,"13.0-13.1":0.00265,"13.2":0.00265,"13.3":0.00795,"13.4-13.7":0.01856,"14.0-14.4":0.03977,"14.5-14.8":0.05833,"15.0-15.1":0.02916,"15.2-15.3":0.03712,"15.4":0.03712,"15.5":0.05037,"15.6-15.8":0.48519,"16.0":0.11931,"16.1":0.32081,"16.2":0.15643,"16.3":0.25453,"16.4":0.03977,"16.5":0.08219,"16.6-16.7":0.99954,"17.0":0.04772,"17.1":0.0981,"17.2":0.08219,"17.3":0.15643,"17.4":0.3102,"17.5":1.06052,"17.6-17.7":12.85086,"18.0":3.96105,"18.1":3.3486,"18.2":0.16438},P:{"21":0.02237,"22":0.01119,"23":0.01119,"24":0.02237,"25":0.03356,"26":0.88374,"27":0.61526,_:"4 20 5.0-5.4 6.2-6.4 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0"},I:{"0":0.05758,"3":0,"4":0.00001,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00008,"4.4":0,"4.4.3-4.4.4":0.00004},A:{"6":0.01549,"9":0.02065,"11":0.05679,_:"7 8 10 5.5"},K:{"0":0.23678,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.01733},O:{"0":0.05198},H:{"0":0},L:{"0":29.32806},R:{_:"0"},M:{"0":0.54285}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-oc.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-oc.js deleted file mode 100644 index 17cad9d9..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-oc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"52":0.01472,"54":0.00491,"78":0.01962,"88":0.01472,"103":0.00491,"114":0.01472,"115":0.24035,"122":0.00491,"123":0.00491,"125":0.00981,"126":0.01962,"127":0.01472,"128":0.05886,"129":0.00981,"130":0.03434,"131":0.1962,"132":2.04539,"133":0.24525,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 113 116 117 118 119 120 121 124 134 135 136 3.5 3.6"},D:{"25":0.02453,"34":0.00491,"38":0.05396,"39":0.00981,"40":0.00981,"41":0.00981,"42":0.00981,"43":0.00981,"44":0.00981,"45":0.00981,"46":0.00981,"47":0.00981,"48":0.00981,"49":0.01472,"50":0.00981,"51":0.00981,"52":0.01962,"53":0.00981,"54":0.00981,"55":0.00981,"56":0.00981,"57":0.00981,"58":0.00981,"59":0.01962,"60":0.00981,"66":0.00491,"79":0.05396,"80":0.00981,"81":0.06377,"85":0.01472,"86":0.00491,"87":0.05396,"88":0.02943,"90":0.01962,"92":0.00491,"93":0.00981,"94":0.02943,"97":0.00981,"98":0.01472,"99":0.00981,"100":0.00491,"101":0.00491,"102":0.00491,"103":0.16187,"104":0.00981,"105":0.02943,"106":0.00491,"107":0.00981,"108":0.02453,"109":0.54446,"110":0.01472,"111":0.03434,"112":0.01472,"113":0.0981,"114":0.12753,"115":0.00981,"116":0.31392,"117":0.01962,"118":0.00981,"119":0.03924,"120":0.06377,"121":0.07358,"122":0.13244,"123":0.07848,"124":0.10791,"125":0.75047,"126":0.33354,"127":0.35316,"128":0.59351,"129":1.82957,"130":15.67148,"131":7.32807,"132":0.01472,"133":0.00981,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 35 36 37 61 62 63 64 65 67 68 69 70 71 72 73 74 75 76 77 78 83 84 89 91 95 96 134"},F:{"46":0.01962,"85":0.00491,"95":0.00981,"112":0.00491,"113":0.0932,"114":0.73575,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"85":0.00491,"89":0.01472,"109":0.04905,"113":0.00981,"114":0.00981,"119":0.00981,"120":0.00981,"121":0.01472,"122":0.01472,"123":0.00491,"124":0.00981,"125":0.00981,"126":0.03434,"127":0.01962,"128":0.06377,"129":0.25506,"130":3.89948,"131":2.4476,_:"12 13 14 15 16 17 18 79 80 81 83 84 86 87 88 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 115 116 117 118"},E:{"9":0.00491,"13":0.00491,"14":0.05396,"15":0.00981,_:"0 4 5 6 7 8 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1","12.1":0.01962,"13.1":0.10301,"14.1":0.15206,"15.1":0.02453,"15.2-15.3":0.01962,"15.4":0.03434,"15.5":0.05886,"15.6":0.4905,"16.0":0.05886,"16.1":0.10301,"16.2":0.05886,"16.3":0.15206,"16.4":0.04415,"16.5":0.07848,"16.6":0.64256,"17.0":0.02453,"17.1":0.06867,"17.2":0.06377,"17.3":0.07848,"17.4":0.20601,"17.5":0.47088,"17.6":2.68304,"18.0":0.5837,"18.1":0.78971,"18.2":0.01962},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00403,"6.0-6.1":0.00403,"7.0-7.1":0.00201,"8.1-8.4":0.00403,"9.0-9.2":0,"9.3":0.03222,"10.0-10.2":0.00806,"10.3":0.07251,"11.0-11.2":1.30712,"11.3-11.4":0.02014,"12.0-12.1":0.01007,"12.2-12.5":0.23766,"13.0-13.1":0.00201,"13.2":0.00201,"13.3":0.00604,"13.4-13.7":0.01813,"14.0-14.4":0.03827,"14.5-14.8":0.04632,"15.0-15.1":0.03222,"15.2-15.3":0.03625,"15.4":0.0423,"15.5":0.06042,"15.6-15.8":0.62234,"16.0":0.11682,"16.1":0.3444,"16.2":0.14904,"16.3":0.26988,"16.4":0.04431,"16.5":0.08862,"16.6-16.7":1.01105,"17.0":0.04028,"17.1":0.09063,"17.2":0.07653,"17.3":0.1007,"17.4":0.19939,"17.5":0.85799,"17.6-17.7":9.36938,"18.0":2.37658,"18.1":2.28595,"18.2":0.09667},P:{"4":0.14243,"21":0.03287,"22":0.03287,"23":0.03287,"24":0.04382,"25":0.05478,"26":1.38048,"27":1.1504,_:"20 7.2-7.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 17.0 18.0","5.0-5.4":0.02191,"6.2-6.4":0.01096,"19.0":0.01096},I:{"0":0.05081,"3":0,"4":0.00002,"2.1":0,"2.2":0.00001,"2.3":0.00001,"4.1":0.00001,"4.2-4.3":0.00002,"4.4":0,"4.4.3-4.4.4":0.00007},A:{"8":0.03973,"9":0.02649,"11":0.06622,_:"6 7 10 5.5"},K:{"0":0.14266,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.0051},O:{"0":0.05095},H:{"0":0},L:{"0":27.55302},R:{_:"0"},M:{"0":0.45346}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-sa.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-sa.js deleted file mode 100644 index 1b10eb42..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-sa.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"4":0.05487,"52":0.01097,"59":0.00732,"78":0.00366,"88":0.01097,"91":0.00732,"103":0.00732,"114":0.01097,"115":0.15364,"120":0.00732,"125":0.00732,"127":0.00732,"128":0.0439,"129":0.00732,"130":0.01097,"131":0.05853,"132":0.89621,"133":0.09145,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 108 109 110 111 112 113 116 117 118 119 121 122 123 124 126 134 135 136 3.5 3.6"},D:{"47":0.00366,"49":0.00732,"55":0.00732,"66":0.02926,"71":0.00732,"75":0.00732,"78":0.00366,"79":0.03292,"81":0.00732,"83":0.00366,"85":0.00732,"86":0.00732,"87":0.03658,"88":0.01097,"89":0.02561,"90":0.00732,"91":0.18656,"93":0.00366,"94":0.04024,"95":0.00366,"96":0.01097,"98":0.00366,"99":0.00366,"100":0.00366,"101":0.00366,"102":0.00732,"103":0.03658,"104":0.01097,"105":0.01097,"106":0.01463,"107":0.01463,"108":0.02195,"109":3.39462,"110":0.01829,"111":0.02195,"112":0.01463,"113":0.00732,"114":0.03292,"115":0.00732,"116":0.06584,"117":0.02195,"118":0.01463,"119":0.0439,"120":0.06584,"121":0.04024,"122":0.09877,"123":0.04755,"124":0.10974,"125":0.08048,"126":0.09877,"127":0.09145,"128":0.23411,"129":0.55602,"130":12.63839,"131":8.50851,"132":0.01097,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 48 50 51 52 53 54 56 57 58 59 60 61 62 63 64 65 67 68 69 70 72 73 74 76 77 80 84 92 97 133 134"},F:{"85":0.00732,"95":0.02926,"113":0.17558,"114":2.20212,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"15":0.00732,"17":0.00366,"92":0.01097,"109":0.02926,"121":0.00366,"122":0.00366,"124":0.00732,"125":0.00366,"126":0.01097,"127":0.01097,"128":0.01829,"129":0.07316,"130":1.91679,"131":1.38638,_:"12 13 14 16 18 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 123"},E:{_:"0 4 5 6 7 8 9 10 11 12 13 14 15 3.1 3.2 6.1 7.1 9.1 10.1 12.1 15.1 15.2-15.3 15.5 16.0 17.0","5.1":0.00732,"11.1":0.00732,"13.1":0.00732,"14.1":0.01097,"15.4":0.00366,"15.6":0.03658,"16.1":0.00732,"16.2":0.00366,"16.3":0.01097,"16.4":0.00732,"16.5":0.00732,"16.6":0.0439,"17.1":0.00732,"17.2":0.01097,"17.3":0.01097,"17.4":0.02561,"17.5":0.04755,"17.6":0.17558,"18.0":0.1134,"18.1":0.14266,"18.2":0.00732},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.00294,"6.0-6.1":0,"7.0-7.1":0.00176,"8.1-8.4":0,"9.0-9.2":0,"9.3":0.00822,"10.0-10.2":0.00059,"10.3":0.00705,"11.0-11.2":0.02526,"11.3-11.4":0.01116,"12.0-12.1":0.00176,"12.2-12.5":0.02702,"13.0-13.1":0.00059,"13.2":0.00059,"13.3":0.00117,"13.4-13.7":0.00176,"14.0-14.4":0.00705,"14.5-14.8":0.01116,"15.0-15.1":0.0047,"15.2-15.3":0.00705,"15.4":0.00705,"15.5":0.01116,"15.6-15.8":0.23025,"16.0":0.03583,"16.1":0.08106,"16.2":0.03524,"16.3":0.06109,"16.4":0.00999,"16.5":0.02056,"16.6-16.7":0.37767,"17.0":0.0141,"17.1":0.02526,"17.2":0.01586,"17.3":0.03465,"17.4":0.07107,"17.5":0.28546,"17.6-17.7":2.29306,"18.0":1.20292,"18.1":0.89631,"18.2":0.03877},P:{"4":0.03239,"21":0.0216,"22":0.0216,"23":0.0216,"24":0.03239,"25":0.0216,"26":0.61546,"27":0.57227,_:"20 5.0-5.4 6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0 19.0","7.2-7.4":0.05399,"17.0":0.0216},I:{"0":0.31677,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0.00029},A:{"8":0.0039,"11":0.23387,_:"6 7 9 10 5.5"},K:{"0":0.18395,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{_:"2.5 3.0-3.1"},J:{_:"7 10"},Q:{_:"14.9"},O:{"0":0.02537},H:{"0":0},L:{"0":56.10085},R:{_:"0"},M:{"0":0.10783}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-ww.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-ww.js deleted file mode 100644 index 33097b2e..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/data/regions/alt-ww.js +++ /dev/null @@ -1 +0,0 @@ -module.exports={C:{"11":0.01409,"43":0.00352,"44":0.00704,"52":0.02465,"55":0.00352,"56":0.01409,"59":0.00352,"72":0.00352,"78":0.01057,"88":0.00352,"102":0.00352,"103":0.00352,"113":0.00704,"115":0.25358,"118":0.07044,"120":0.00704,"125":0.01409,"126":0.01057,"127":0.01409,"128":0.07748,"129":0.01057,"130":0.01761,"131":0.1127,"132":1.36654,"133":0.1127,_:"2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 45 46 47 48 49 50 51 53 54 57 58 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 80 81 82 83 84 85 86 87 89 90 91 92 93 94 95 96 97 98 99 100 101 104 105 106 107 108 109 110 111 112 114 116 117 119 121 122 123 124 134 135 136 3.5 3.6"},D:{"38":0.00704,"47":0.00352,"48":0.01761,"49":0.01409,"50":0.00704,"52":0.00352,"53":0.00352,"56":0.01057,"58":0.01409,"60":0.00352,"61":0.01057,"66":0.01761,"69":0.05635,"70":0.01057,"73":0.00704,"74":0.01761,"75":0.00352,"76":0.00704,"77":0.01409,"78":0.01409,"79":0.08453,"80":0.01057,"81":0.0317,"83":0.02818,"84":0.00352,"85":0.00704,"86":0.02465,"87":0.05635,"88":0.01057,"89":0.01057,"90":0.00704,"91":0.04579,"92":0.0317,"93":0.01057,"94":0.02818,"95":0.03874,"96":0.00704,"97":0.01057,"98":0.03522,"99":0.01057,"100":0.01761,"101":0.01409,"102":0.01057,"103":0.10214,"104":0.03522,"105":0.01057,"106":0.02113,"107":0.02113,"108":0.03522,"109":1.18339,"110":0.01409,"111":0.02818,"112":0.0317,"113":0.03522,"114":0.07396,"115":0.02113,"116":0.14088,"117":0.0634,"118":0.0634,"119":0.04226,"120":0.07044,"121":0.08101,"122":0.08101,"123":0.09157,"124":0.13736,"125":0.73258,"126":0.34868,"127":0.26063,"128":0.29233,"129":0.90515,"130":10.29481,"131":5.70916,"132":0.01409,"133":0.00704,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 51 54 55 57 59 62 63 64 65 67 68 71 72 134"},F:{"40":0.00352,"46":0.01409,"85":0.02465,"95":0.03522,"102":0.02818,"113":0.05987,"114":0.78188,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 86 87 88 89 90 91 92 93 94 96 97 98 99 100 101 103 104 105 106 107 108 109 110 111 112 9.5-9.6 10.0-10.1 10.5 10.6 11.1 11.5 11.6 12.1"},B:{"17":0.00352,"18":0.00704,"92":0.01409,"108":0.00352,"109":0.05283,"111":0.00352,"112":0.00352,"113":0.00704,"114":0.01057,"115":0.00352,"116":0.00352,"117":0.00704,"118":0.00352,"119":0.00704,"120":0.02818,"121":0.01057,"122":0.01409,"123":0.00704,"124":0.01057,"125":0.01409,"126":0.02818,"127":0.02818,"128":0.03874,"129":0.1444,"130":2.50766,"131":1.56025,_:"12 13 14 15 16 79 80 81 83 84 85 86 87 88 89 90 91 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 110"},E:{"13":0.00352,"14":0.02113,"15":0.00704,_:"0 4 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1 9.1 10.1","11.1":0.00352,"12.1":0.00704,"13.1":0.04931,"14.1":0.05987,"15.1":0.01761,"15.2-15.3":0.00704,"15.4":0.01761,"15.5":0.02113,"15.6":0.17962,"16.0":0.02465,"16.1":0.0317,"16.2":0.02465,"16.3":0.05635,"16.4":0.02113,"16.5":0.03522,"16.6":0.24654,"17.0":0.01409,"17.1":0.0317,"17.2":0.0317,"17.3":0.03522,"17.4":0.08453,"17.5":0.19371,"17.6":1.0566,"18.0":0.28528,"18.1":0.37685,"18.2":0.01057},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0.00148,"5.0-5.1":0,"6.0-6.1":0.00592,"7.0-7.1":0.00739,"8.1-8.4":0,"9.0-9.2":0.00592,"9.3":0.0207,"10.0-10.2":0.00444,"10.3":0.03402,"11.0-11.2":0.39931,"11.3-11.4":0.01035,"12.0-12.1":0.00592,"12.2-12.5":0.15529,"13.0-13.1":0.00296,"13.2":0.03993,"13.3":0.00592,"13.4-13.7":0.02218,"14.0-14.4":0.0488,"14.5-14.8":0.06951,"15.0-15.1":0.03993,"15.2-15.3":0.03697,"15.4":0.04437,"15.5":0.05176,"15.6-15.8":0.5546,"16.0":0.105,"16.1":0.22184,"16.2":0.1124,"16.3":0.19078,"16.4":0.03845,"16.5":0.0769,"16.6-16.7":0.72763,"17.0":0.05324,"17.1":0.08874,"17.2":0.07395,"17.3":0.1124,"17.4":0.24107,"17.5":0.72024,"17.6-17.7":6.22185,"18.0":2.20656,"18.1":1.93887,"18.2":0.07838},P:{"4":0.07601,"20":0.01086,"21":0.03258,"22":0.03258,"23":0.04344,"24":0.0543,"25":0.0543,"26":1.05335,"27":0.83616,"5.0-5.4":0.01086,_:"6.2-6.4 8.2 9.2 10.1 11.1-11.2 12.0 13.0 14.0 15.0 16.0 18.0","7.2-7.4":0.02172,"17.0":0.01086,"19.0":0.01086},I:{"0":0.20684,"3":0,"4":0,"2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0.00006,"4.4":0,"4.4.3-4.4.4":0.00027},A:{"8":0.01565,"9":0.03131,"11":0.37568,_:"6 7 10 5.5"},K:{"0":0.99,_:"10 11 12 11.1 11.5 12.1"},N:{_:"10 11"},S:{"2.5":0.01943,_:"3.0-3.1"},J:{_:"7 10"},Q:{"14.9":0.20082},O:{"0":0.80327},H:{"0":0.04},L:{"0":46.10058},R:{_:"0"},M:{"0":0.33038}}; diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/statuses.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/statuses.js deleted file mode 100644 index 4d73ab30..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/statuses.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - 1: 'ls', // WHATWG Living Standard - 2: 'rec', // W3C Recommendation - 3: 'pr', // W3C Proposed Recommendation - 4: 'cr', // W3C Candidate Recommendation - 5: 'wd', // W3C Working Draft - 6: 'other', // Non-W3C, but reputable - 7: 'unoff' // Unofficial, Editor's Draft or W3C "Note" -} diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/supported.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/supported.js deleted file mode 100644 index 3f81e4ee..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/lib/supported.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - y: 1 << 0, - n: 1 << 1, - a: 1 << 2, - p: 1 << 3, - u: 1 << 4, - x: 1 << 5, - d: 1 << 6 -} diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/agents.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/agents.js deleted file mode 100644 index 0c8a7905..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/agents.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict' - -const browsers = require('./browsers').browsers -const versions = require('./browserVersions').browserVersions -const agentsData = require('../../data/agents') - -function unpackBrowserVersions(versionsData) { - return Object.keys(versionsData).reduce((usage, version) => { - usage[versions[version]] = versionsData[version] - return usage - }, {}) -} - -module.exports.agents = Object.keys(agentsData).reduce((map, key) => { - let versionsData = agentsData[key] - map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => { - if (entry === 'A') { - data.usage_global = unpackBrowserVersions(versionsData[entry]) - } else if (entry === 'C') { - data.versions = versionsData[entry].reduce((list, version) => { - if (version === '') { - list.push(null) - } else { - list.push(versions[version]) - } - return list - }, []) - } else if (entry === 'D') { - data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]) - } else if (entry === 'E') { - data.browser = versionsData[entry] - } else if (entry === 'F') { - data.release_date = Object.keys(versionsData[entry]).reduce( - (map2, key2) => { - map2[versions[key2]] = versionsData[entry][key2] - return map2 - }, - {} - ) - } else { - // entry is B - data.prefix = versionsData[entry] - } - return data - }, {}) - return map -}, {}) diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browserVersions.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browserVersions.js deleted file mode 100644 index 553526e2..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +++ /dev/null @@ -1 +0,0 @@ -module.exports.browserVersions = require('../../data/browserVersions') diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browsers.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browsers.js deleted file mode 100644 index 85e68b4f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/browsers.js +++ /dev/null @@ -1 +0,0 @@ -module.exports.browsers = require('../../data/browsers') diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/feature.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/feature.js deleted file mode 100644 index 6690e99c..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/feature.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict' - -const statuses = require('../lib/statuses') -const supported = require('../lib/supported') -const browsers = require('./browsers').browsers -const versions = require('./browserVersions').browserVersions - -const MATH2LOG = Math.log(2) - -function unpackSupport(cipher) { - // bit flags - let stats = Object.keys(supported).reduce((list, support) => { - if (cipher & supported[support]) list.push(support) - return list - }, []) - - // notes - let notes = cipher >> 7 - let notesArray = [] - while (notes) { - let note = Math.floor(Math.log(notes) / MATH2LOG) + 1 - notesArray.unshift(`#${note}`) - notes -= Math.pow(2, note - 1) - } - - return stats.concat(notesArray).join(' ') -} - -function unpackFeature(packed) { - let unpacked = { - status: statuses[packed.B], - title: packed.C, - shown: packed.D - } - unpacked.stats = Object.keys(packed.A).reduce((browserStats, key) => { - let browser = packed.A[key] - browserStats[browsers[key]] = Object.keys(browser).reduce( - (stats, support) => { - let packedVersions = browser[support].split(' ') - let unpacked2 = unpackSupport(support) - packedVersions.forEach(v => (stats[versions[v]] = unpacked2)) - return stats - }, - {} - ) - return browserStats - }, {}) - return unpacked -} - -module.exports = unpackFeature -module.exports.default = unpackFeature diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/features.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/features.js deleted file mode 100644 index 8362aec8..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/features.js +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Load this dynamically so that it - * doesn't appear in the rollup bundle. - */ - -module.exports.features = require('../../data/features') diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/index.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/index.js deleted file mode 100644 index 12017e80..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports.agents = require('./agents').agents -module.exports.feature = require('./feature') -module.exports.features = require('./features').features -module.exports.region = require('./region') diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/region.js b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/region.js deleted file mode 100644 index d5cc2b6f..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/dist/unpacker/region.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict' - -const browsers = require('./browsers').browsers - -function unpackRegion(packed) { - return Object.keys(packed).reduce((list, browser) => { - let data = packed[browser] - list[browsers[browser]] = Object.keys(data).reduce((memo, key) => { - let stats = data[key] - if (key === '_') { - stats.split(' ').forEach(version => (memo[version] = null)) - } else { - memo[key] = stats - } - return memo - }, {}) - return list - }, {}) -} - -module.exports = unpackRegion -module.exports.default = unpackRegion diff --git a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/package.json b/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/package.json deleted file mode 100644 index 368e46a3..00000000 --- a/node_modules/.pnpm/caniuse-lite@1.0.30001689/node_modules/caniuse-lite/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "caniuse-lite", - "version": "1.0.30001689", - "description": "A smaller version of caniuse-db, with only the essentials!", - "main": "dist/unpacker/index.js", - "files": [ - "data", - "dist" - ], - "keywords": [ - "support" - ], - "author": { - "name": "Ben Briggs", - "email": "beneb.info@gmail.com", - "url": "http://beneb.info" - }, - "repository": "browserslist/caniuse-lite", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" -} diff --git a/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/node_modules/.bin/node-which b/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/node_modules/.bin/node-which index bc0bcca3..178fd1e4 100755 --- a/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/node_modules/.bin/node-which +++ b/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/node_modules/.bin/node-which @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/which@2.0.2/node_modules/which/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/which@2.0.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/which@2.0.2/node_modules/which/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/which@2.0.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/which@2.0.2/node_modules/which/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/which@2.0.2/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/which@2.0.2/node_modules/which/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/which@2.0.2/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../which@2.0.2/node_modules/which/bin/node-which" "$@" diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/LICENSE b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/LICENSE deleted file mode 100644 index 6c7b614d..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -Copyright 2018 Kilian Valkhof - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/README.md b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/README.md deleted file mode 100644 index a96ddf12..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/README.md +++ /dev/null @@ -1,186 +0,0 @@ -### Made by [@kilianvalkhof](https://twitter.com/kilianvalkhof) - -#### Other projects: - -- 💻 [Polypane](https://polypane.app) - Develop responsive websites and apps twice as fast on multiple screens at once -- 🖌️ [Superposition](https://superposition.design) - Kickstart your design system by extracting design tokens from your website -- 🗒️ [FromScratch](https://fromscratch.rocks) - A smart but simple autosaving scratchpad - ---- - -# Electron-to-Chromium [![npm](https://img.shields.io/npm/v/electron-to-chromium.svg)](https://www.npmjs.com/package/electron-to-chromium) [![travis](https://img.shields.io/travis/Kilian/electron-to-chromium/master.svg)](https://travis-ci.org/Kilian/electron-to-chromium) [![npm-downloads](https://img.shields.io/npm/dm/electron-to-chromium.svg)](https://www.npmjs.com/package/electron-to-chromium) [![codecov](https://codecov.io/gh/Kilian/electron-to-chromium/branch/master/graph/badge.svg)](https://codecov.io/gh/Kilian/electron-to-chromium)[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FKilian%2Felectron-to-chromium.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FKilian%2Felectron-to-chromium?ref=badge_shield) - -This repository provides a mapping of Electron versions to the Chromium version that it uses. - -This package is used in [Browserslist](https://github.com/ai/browserslist), so you can use e.g. `electron >= 1.4` in [Autoprefixer](https://github.com/postcss/autoprefixer), [Stylelint](https://github.com/stylelint/stylelint), [babel-preset-env](https://github.com/babel/babel-preset-env) and [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat). - -**Supported by:** - - - - - - -## Install -Install using `npm install electron-to-chromium`. - -## Usage -To include Electron-to-Chromium, require it: - -```js -var e2c = require('electron-to-chromium'); -``` - -### Properties -The Electron-to-Chromium object has 4 properties to use: - -#### `versions` -An object of key-value pairs with a _major_ Electron version as the key, and the corresponding major Chromium version as the value. - -```js -var versions = e2c.versions; -console.log(versions['1.4']); -// returns "53" -``` - -#### `fullVersions` -An object of key-value pairs with a Electron version as the key, and the corresponding full Chromium version as the value. - -```js -var versions = e2c.fullVersions; -console.log(versions['1.4.11']); -// returns "53.0.2785.143" -``` - -#### `chromiumVersions` -An object of key-value pairs with a _major_ Chromium version as the key, and the corresponding major Electron version as the value. - -```js -var versions = e2c.chromiumVersions; -console.log(versions['54']); -// returns "1.4" -``` - -#### `fullChromiumVersions` -An object of key-value pairs with a Chromium version as the key, and an array of the corresponding major Electron versions as the value. - -```js -var versions = e2c.fullChromiumVersions; -console.log(versions['54.0.2840.101']); -// returns ["1.5.1", "1.5.0"] -``` -### Functions - -#### `electronToChromium(query)` -Arguments: -* Query: string or number, required. A major or full Electron version. - -A function that returns the corresponding Chromium version for a given Electron function. Returns a string. - -If you provide it with a major Electron version, it will return a major Chromium version: - -```js -var chromeVersion = e2c.electronToChromium('1.4'); -// chromeVersion is "53" -``` - -If you provide it with a full Electron version, it will return the full Chromium version. - -```js -var chromeVersion = e2c.electronToChromium('1.4.11'); -// chromeVersion is "53.0.2785.143" -``` - -If a query does not match a Chromium version, it will return `undefined`. - -```js -var chromeVersion = e2c.electronToChromium('9000'); -// chromeVersion is undefined -``` - -#### `chromiumToElectron(query)` -Arguments: -* Query: string or number, required. A major or full Chromium version. - -Returns a string with the corresponding Electron version for a given Chromium query. - -If you provide it with a major Chromium version, it will return a major Electron version: - -```js -var electronVersion = e2c.chromiumToElectron('54'); -// electronVersion is "1.4" -``` - -If you provide it with a full Chrome version, it will return an array of full Electron versions. - -```js -var electronVersions = e2c.chromiumToElectron('56.0.2924.87'); -// electronVersions is ["1.6.3", "1.6.2", "1.6.1", "1.6.0"] -``` - -If a query does not match an Electron version, it will return `undefined`. - -```js -var electronVersion = e2c.chromiumToElectron('10'); -// electronVersion is undefined -``` - -#### `electronToBrowserList(query)` **DEPRECATED** -Arguments: -* Query: string or number, required. A major Electron version. - -_**Deprecated**: Browserlist already includes electron-to-chromium._ - -A function that returns a [Browserslist](https://github.com/ai/browserslist) query that matches the given major Electron version. Returns a string. - -If you provide it with a major Electron version, it will return a Browserlist query string that matches the Chromium capabilities: - -```js -var query = e2c.electronToBrowserList('1.4'); -// query is "Chrome >= 53" -``` - -If a query does not match a Chromium version, it will return `undefined`. - -```js -var query = e2c.electronToBrowserList('9000'); -// query is undefined -``` - -### Importing just versions, fullVersions, chromiumVersions and fullChromiumVersions -All lists can be imported on their own, if file size is a concern. - -#### `versions` - -```js -var versions = require('electron-to-chromium/versions'); -``` - -#### `fullVersions` - -```js -var fullVersions = require('electron-to-chromium/full-versions'); -``` - -#### `chromiumVersions` - -```js -var chromiumVersions = require('electron-to-chromium/chromium-versions'); -``` - -#### `fullChromiumVersions` - -```js -var fullChromiumVersions = require('electron-to-chromium/full-chromium-versions'); -``` - -## Updating -This package will be updated with each new Electron release. - -To update the list, run `npm run build.js`. Requires internet access as it downloads from the canonical list of Electron versions. - -To verify correct behaviour, run `npm test`. - - -## License -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FKilian%2Felectron-to-chromium.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FKilian%2Felectron-to-chromium?ref=badge_large) diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.js b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.js deleted file mode 100644 index 2a2d3003..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.js +++ /dev/null @@ -1,72 +0,0 @@ -module.exports = { - "39": "0.20", - "40": "0.21", - "41": "0.21", - "42": "0.25", - "43": "0.27", - "44": "0.30", - "45": "0.31", - "47": "0.36", - "49": "0.37", - "50": "1.1", - "51": "1.2", - "52": "1.3", - "53": "1.4", - "54": "1.4", - "56": "1.6", - "58": "1.7", - "59": "1.8", - "61": "2.0", - "66": "3.0", - "69": "4.0", - "72": "5.0", - "73": "5.0", - "76": "6.0", - "78": "7.0", - "79": "8.0", - "80": "8.0", - "82": "9.0", - "83": "9.0", - "84": "10.0", - "85": "10.0", - "86": "11.0", - "87": "11.0", - "89": "12.0", - "90": "13.0", - "91": "13.0", - "92": "14.0", - "93": "14.0", - "94": "15.0", - "95": "16.0", - "96": "16.0", - "98": "17.0", - "99": "18.0", - "100": "18.0", - "102": "19.0", - "103": "20.0", - "104": "20.0", - "105": "21.0", - "106": "21.0", - "107": "22.0", - "108": "22.0", - "110": "23.0", - "111": "24.0", - "112": "24.0", - "114": "25.0", - "116": "26.0", - "118": "27.0", - "119": "28.0", - "120": "28.0", - "121": "29.0", - "122": "29.0", - "123": "30.0", - "124": "30.0", - "125": "31.0", - "126": "31.0", - "127": "32.0", - "128": "32.0", - "129": "33.0", - "130": "33.0", - "131": "34.0", - "132": "34.0" -}; \ No newline at end of file diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.json b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.json deleted file mode 100644 index a30788eb..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/chromium-versions.json +++ /dev/null @@ -1 +0,0 @@ -{"39":"0.20","40":"0.21","41":"0.21","42":"0.25","43":"0.27","44":"0.30","45":"0.31","47":"0.36","49":"0.37","50":"1.1","51":"1.2","52":"1.3","53":"1.4","54":"1.4","56":"1.6","58":"1.7","59":"1.8","61":"2.0","66":"3.0","69":"4.0","72":"5.0","73":"5.0","76":"6.0","78":"7.0","79":"8.0","80":"8.0","82":"9.0","83":"9.0","84":"10.0","85":"10.0","86":"11.0","87":"11.0","89":"12.0","90":"13.0","91":"13.0","92":"14.0","93":"14.0","94":"15.0","95":"16.0","96":"16.0","98":"17.0","99":"18.0","100":"18.0","102":"19.0","103":"20.0","104":"20.0","105":"21.0","106":"21.0","107":"22.0","108":"22.0","110":"23.0","111":"24.0","112":"24.0","114":"25.0","116":"26.0","118":"27.0","119":"28.0","120":"28.0","121":"29.0","122":"29.0","123":"30.0","124":"30.0","125":"31.0","126":"31.0","127":"32.0","128":"32.0","129":"33.0","130":"33.0","131":"34.0","132":"34.0"} \ No newline at end of file diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.js b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.js deleted file mode 100644 index 214e904c..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.js +++ /dev/null @@ -1,2228 +0,0 @@ -module.exports = { - "39.0.2171.65": [ - "0.20.0", - "0.20.1", - "0.20.2", - "0.20.3", - "0.20.4", - "0.20.5", - "0.20.6", - "0.20.7", - "0.20.8" - ], - "40.0.2214.91": [ - "0.21.0", - "0.21.1", - "0.21.2" - ], - "41.0.2272.76": [ - "0.21.3", - "0.22.1", - "0.22.2", - "0.22.3", - "0.23.0", - "0.24.0" - ], - "42.0.2311.107": [ - "0.25.0", - "0.25.1", - "0.25.2", - "0.25.3", - "0.26.0", - "0.26.1", - "0.27.0", - "0.27.1" - ], - "43.0.2357.65": [ - "0.27.2", - "0.27.3", - "0.28.0", - "0.28.1", - "0.28.2", - "0.28.3", - "0.29.1", - "0.29.2" - ], - "44.0.2403.125": [ - "0.30.4", - "0.31.0" - ], - "45.0.2454.85": [ - "0.31.2", - "0.32.2", - "0.32.3", - "0.33.0", - "0.33.1", - "0.33.2", - "0.33.3", - "0.33.4", - "0.33.6", - "0.33.7", - "0.33.8", - "0.33.9", - "0.34.0", - "0.34.1", - "0.34.2", - "0.34.3", - "0.34.4", - "0.35.1", - "0.35.2", - "0.35.3", - "0.35.4", - "0.35.5" - ], - "47.0.2526.73": [ - "0.36.0", - "0.36.2", - "0.36.3", - "0.36.4" - ], - "47.0.2526.110": [ - "0.36.5", - "0.36.6", - "0.36.7", - "0.36.8", - "0.36.9", - "0.36.10", - "0.36.11", - "0.36.12" - ], - "49.0.2623.75": [ - "0.37.0", - "0.37.1", - "0.37.3", - "0.37.4", - "0.37.5", - "0.37.6", - "0.37.7", - "0.37.8", - "1.0.0", - "1.0.1", - "1.0.2" - ], - "50.0.2661.102": [ - "1.1.0", - "1.1.1", - "1.1.2", - "1.1.3" - ], - "51.0.2704.63": [ - "1.2.0", - "1.2.1" - ], - "51.0.2704.84": [ - "1.2.2", - "1.2.3" - ], - "51.0.2704.103": [ - "1.2.4", - "1.2.5" - ], - "51.0.2704.106": [ - "1.2.6", - "1.2.7", - "1.2.8" - ], - "52.0.2743.82": [ - "1.3.0", - "1.3.1", - "1.3.2", - "1.3.3", - "1.3.4", - "1.3.5", - "1.3.6", - "1.3.7", - "1.3.9", - "1.3.10", - "1.3.13", - "1.3.14", - "1.3.15" - ], - "53.0.2785.113": [ - "1.4.0", - "1.4.1", - "1.4.2", - "1.4.3", - "1.4.4", - "1.4.5" - ], - "53.0.2785.143": [ - "1.4.6", - "1.4.7", - "1.4.8", - "1.4.10", - "1.4.11", - "1.4.13", - "1.4.14", - "1.4.15", - "1.4.16" - ], - "54.0.2840.51": [ - "1.4.12" - ], - "54.0.2840.101": [ - "1.5.0", - "1.5.1" - ], - "56.0.2924.87": [ - "1.6.0", - "1.6.1", - "1.6.2", - "1.6.3", - "1.6.4", - "1.6.5", - "1.6.6", - "1.6.7", - "1.6.8", - "1.6.9", - "1.6.10", - "1.6.11", - "1.6.12", - "1.6.13", - "1.6.14", - "1.6.15", - "1.6.16", - "1.6.17", - "1.6.18" - ], - "58.0.3029.110": [ - "1.7.0", - "1.7.1", - "1.7.2", - "1.7.3", - "1.7.4", - "1.7.5", - "1.7.6", - "1.7.7", - "1.7.8", - "1.7.9", - "1.7.10", - "1.7.11", - "1.7.12", - "1.7.13", - "1.7.14", - "1.7.15", - "1.7.16" - ], - "59.0.3071.115": [ - "1.8.0", - "1.8.1", - "1.8.2-beta.1", - "1.8.2-beta.2", - "1.8.2-beta.3", - "1.8.2-beta.4", - "1.8.2-beta.5", - "1.8.2", - "1.8.3", - "1.8.4", - "1.8.5", - "1.8.6", - "1.8.7", - "1.8.8" - ], - "61.0.3163.100": [ - "2.0.0-beta.1", - "2.0.0-beta.2", - "2.0.0-beta.3", - "2.0.0-beta.4", - "2.0.0-beta.5", - "2.0.0-beta.6", - "2.0.0-beta.7", - "2.0.0-beta.8", - "2.0.0", - "2.0.1", - "2.0.2", - "2.0.3", - "2.0.4", - "2.0.5", - "2.0.6", - "2.0.7", - "2.0.8", - "2.0.9", - "2.0.10", - "2.0.11", - "2.0.12", - "2.0.13", - "2.0.14", - "2.0.15", - "2.0.16", - "2.0.17", - "2.0.18", - "2.1.0-unsupported.20180809" - ], - "66.0.3359.181": [ - "3.0.0-beta.1", - "3.0.0-beta.2", - "3.0.0-beta.3", - "3.0.0-beta.4", - "3.0.0-beta.5", - "3.0.0-beta.6", - "3.0.0-beta.7", - "3.0.0-beta.8", - "3.0.0-beta.9", - "3.0.0-beta.10", - "3.0.0-beta.11", - "3.0.0-beta.12", - "3.0.0-beta.13", - "3.0.0", - "3.0.1", - "3.0.2", - "3.0.3", - "3.0.4", - "3.0.5", - "3.0.6", - "3.0.7", - "3.0.8", - "3.0.9", - "3.0.10", - "3.0.11", - "3.0.12", - "3.0.13", - "3.0.14", - "3.0.15", - "3.0.16", - "3.1.0-beta.1", - "3.1.0-beta.2", - "3.1.0-beta.3", - "3.1.0-beta.4", - "3.1.0-beta.5", - "3.1.0", - "3.1.1", - "3.1.2", - "3.1.3", - "3.1.4", - "3.1.5", - "3.1.6", - "3.1.7", - "3.1.8", - "3.1.9", - "3.1.10", - "3.1.11", - "3.1.12", - "3.1.13" - ], - "69.0.3497.106": [ - "4.0.0-beta.1", - "4.0.0-beta.2", - "4.0.0-beta.3", - "4.0.0-beta.4", - "4.0.0-beta.5", - "4.0.0-beta.6", - "4.0.0-beta.7", - "4.0.0-beta.8", - "4.0.0-beta.9", - "4.0.0-beta.10", - "4.0.0-beta.11", - "4.0.0", - "4.0.1", - "4.0.2", - "4.0.3", - "4.0.4", - "4.0.5", - "4.0.6" - ], - "69.0.3497.128": [ - "4.0.7", - "4.0.8", - "4.1.0", - "4.1.1", - "4.1.2", - "4.1.3", - "4.1.4", - "4.1.5", - "4.2.0", - "4.2.1", - "4.2.2", - "4.2.3", - "4.2.4", - "4.2.5", - "4.2.6", - "4.2.7", - "4.2.8", - "4.2.9", - "4.2.10", - "4.2.11", - "4.2.12" - ], - "72.0.3626.52": [ - "5.0.0-beta.1", - "5.0.0-beta.2" - ], - "73.0.3683.27": [ - "5.0.0-beta.3" - ], - "73.0.3683.54": [ - "5.0.0-beta.4" - ], - "73.0.3683.61": [ - "5.0.0-beta.5" - ], - "73.0.3683.84": [ - "5.0.0-beta.6" - ], - "73.0.3683.94": [ - "5.0.0-beta.7" - ], - "73.0.3683.104": [ - "5.0.0-beta.8" - ], - "73.0.3683.117": [ - "5.0.0-beta.9" - ], - "73.0.3683.119": [ - "5.0.0" - ], - "73.0.3683.121": [ - "5.0.1", - "5.0.2", - "5.0.3", - "5.0.4", - "5.0.5", - "5.0.6", - "5.0.7", - "5.0.8", - "5.0.9", - "5.0.10", - "5.0.11", - "5.0.12", - "5.0.13" - ], - "76.0.3774.1": [ - "6.0.0-beta.1" - ], - "76.0.3783.1": [ - "6.0.0-beta.2", - "6.0.0-beta.3", - "6.0.0-beta.4" - ], - "76.0.3805.4": [ - "6.0.0-beta.5" - ], - "76.0.3809.3": [ - "6.0.0-beta.6" - ], - "76.0.3809.22": [ - "6.0.0-beta.7" - ], - "76.0.3809.26": [ - "6.0.0-beta.8", - "6.0.0-beta.9" - ], - "76.0.3809.37": [ - "6.0.0-beta.10" - ], - "76.0.3809.42": [ - "6.0.0-beta.11" - ], - "76.0.3809.54": [ - "6.0.0-beta.12" - ], - "76.0.3809.60": [ - "6.0.0-beta.13" - ], - "76.0.3809.68": [ - "6.0.0-beta.14" - ], - "76.0.3809.74": [ - "6.0.0-beta.15" - ], - "76.0.3809.88": [ - "6.0.0" - ], - "76.0.3809.102": [ - "6.0.1" - ], - "76.0.3809.110": [ - "6.0.2" - ], - "76.0.3809.126": [ - "6.0.3" - ], - "76.0.3809.131": [ - "6.0.4" - ], - "76.0.3809.136": [ - "6.0.5" - ], - "76.0.3809.138": [ - "6.0.6" - ], - "76.0.3809.139": [ - "6.0.7" - ], - "76.0.3809.146": [ - "6.0.8", - "6.0.9", - "6.0.10", - "6.0.11", - "6.0.12", - "6.1.0", - "6.1.1", - "6.1.2", - "6.1.3", - "6.1.4", - "6.1.5", - "6.1.6", - "6.1.7", - "6.1.8", - "6.1.9", - "6.1.10", - "6.1.11", - "6.1.12" - ], - "78.0.3866.0": [ - "7.0.0-beta.1", - "7.0.0-beta.2", - "7.0.0-beta.3" - ], - "78.0.3896.6": [ - "7.0.0-beta.4" - ], - "78.0.3905.1": [ - "7.0.0-beta.5", - "7.0.0-beta.6", - "7.0.0-beta.7", - "7.0.0" - ], - "78.0.3904.92": [ - "7.0.1" - ], - "78.0.3904.94": [ - "7.1.0" - ], - "78.0.3904.99": [ - "7.1.1" - ], - "78.0.3904.113": [ - "7.1.2" - ], - "78.0.3904.126": [ - "7.1.3" - ], - "78.0.3904.130": [ - "7.1.4", - "7.1.5", - "7.1.6", - "7.1.7", - "7.1.8", - "7.1.9", - "7.1.10", - "7.1.11", - "7.1.12", - "7.1.13", - "7.1.14", - "7.2.0", - "7.2.1", - "7.2.2", - "7.2.3", - "7.2.4", - "7.3.0", - "7.3.1", - "7.3.2", - "7.3.3" - ], - "79.0.3931.0": [ - "8.0.0-beta.1", - "8.0.0-beta.2" - ], - "80.0.3955.0": [ - "8.0.0-beta.3", - "8.0.0-beta.4" - ], - "80.0.3987.14": [ - "8.0.0-beta.5" - ], - "80.0.3987.51": [ - "8.0.0-beta.6" - ], - "80.0.3987.59": [ - "8.0.0-beta.7" - ], - "80.0.3987.75": [ - "8.0.0-beta.8", - "8.0.0-beta.9" - ], - "80.0.3987.86": [ - "8.0.0", - "8.0.1", - "8.0.2" - ], - "80.0.3987.134": [ - "8.0.3" - ], - "80.0.3987.137": [ - "8.1.0" - ], - "80.0.3987.141": [ - "8.1.1" - ], - "80.0.3987.158": [ - "8.2.0" - ], - "80.0.3987.163": [ - "8.2.1", - "8.2.2", - "8.2.3", - "8.5.3", - "8.5.4", - "8.5.5" - ], - "80.0.3987.165": [ - "8.2.4", - "8.2.5", - "8.3.0", - "8.3.1", - "8.3.2", - "8.3.3", - "8.3.4", - "8.4.0", - "8.4.1", - "8.5.0", - "8.5.1", - "8.5.2" - ], - "82.0.4048.0": [ - "9.0.0-beta.1", - "9.0.0-beta.2", - "9.0.0-beta.3", - "9.0.0-beta.4", - "9.0.0-beta.5" - ], - "82.0.4058.2": [ - "9.0.0-beta.6", - "9.0.0-beta.7", - "9.0.0-beta.9" - ], - "82.0.4085.10": [ - "9.0.0-beta.10" - ], - "82.0.4085.14": [ - "9.0.0-beta.11", - "9.0.0-beta.12", - "9.0.0-beta.13" - ], - "82.0.4085.27": [ - "9.0.0-beta.14" - ], - "83.0.4102.3": [ - "9.0.0-beta.15", - "9.0.0-beta.16" - ], - "83.0.4103.14": [ - "9.0.0-beta.17" - ], - "83.0.4103.16": [ - "9.0.0-beta.18" - ], - "83.0.4103.24": [ - "9.0.0-beta.19" - ], - "83.0.4103.26": [ - "9.0.0-beta.20", - "9.0.0-beta.21" - ], - "83.0.4103.34": [ - "9.0.0-beta.22" - ], - "83.0.4103.44": [ - "9.0.0-beta.23" - ], - "83.0.4103.45": [ - "9.0.0-beta.24" - ], - "83.0.4103.64": [ - "9.0.0" - ], - "83.0.4103.94": [ - "9.0.1", - "9.0.2" - ], - "83.0.4103.100": [ - "9.0.3" - ], - "83.0.4103.104": [ - "9.0.4" - ], - "83.0.4103.119": [ - "9.0.5" - ], - "83.0.4103.122": [ - "9.1.0", - "9.1.1", - "9.1.2", - "9.2.0", - "9.2.1", - "9.3.0", - "9.3.1", - "9.3.2", - "9.3.3", - "9.3.4", - "9.3.5", - "9.4.0", - "9.4.1", - "9.4.2", - "9.4.3", - "9.4.4" - ], - "84.0.4129.0": [ - "10.0.0-beta.1", - "10.0.0-beta.2" - ], - "85.0.4161.2": [ - "10.0.0-beta.3", - "10.0.0-beta.4" - ], - "85.0.4181.1": [ - "10.0.0-beta.8", - "10.0.0-beta.9" - ], - "85.0.4183.19": [ - "10.0.0-beta.10" - ], - "85.0.4183.20": [ - "10.0.0-beta.11" - ], - "85.0.4183.26": [ - "10.0.0-beta.12" - ], - "85.0.4183.39": [ - "10.0.0-beta.13", - "10.0.0-beta.14", - "10.0.0-beta.15", - "10.0.0-beta.17", - "10.0.0-beta.19", - "10.0.0-beta.20", - "10.0.0-beta.21" - ], - "85.0.4183.70": [ - "10.0.0-beta.23" - ], - "85.0.4183.78": [ - "10.0.0-beta.24" - ], - "85.0.4183.80": [ - "10.0.0-beta.25" - ], - "85.0.4183.84": [ - "10.0.0" - ], - "85.0.4183.86": [ - "10.0.1" - ], - "85.0.4183.87": [ - "10.1.0" - ], - "85.0.4183.93": [ - "10.1.1" - ], - "85.0.4183.98": [ - "10.1.2" - ], - "85.0.4183.121": [ - "10.1.3", - "10.1.4", - "10.1.5", - "10.1.6", - "10.1.7", - "10.2.0", - "10.3.0", - "10.3.1", - "10.3.2", - "10.4.0", - "10.4.1", - "10.4.2", - "10.4.3", - "10.4.4", - "10.4.5", - "10.4.6", - "10.4.7" - ], - "86.0.4234.0": [ - "11.0.0-beta.1", - "11.0.0-beta.3", - "11.0.0-beta.4", - "11.0.0-beta.5", - "11.0.0-beta.6", - "11.0.0-beta.7" - ], - "87.0.4251.1": [ - "11.0.0-beta.8", - "11.0.0-beta.9", - "11.0.0-beta.11" - ], - "87.0.4280.11": [ - "11.0.0-beta.12", - "11.0.0-beta.13" - ], - "87.0.4280.27": [ - "11.0.0-beta.16", - "11.0.0-beta.17", - "11.0.0-beta.18", - "11.0.0-beta.19" - ], - "87.0.4280.40": [ - "11.0.0-beta.20" - ], - "87.0.4280.47": [ - "11.0.0-beta.22", - "11.0.0-beta.23" - ], - "87.0.4280.60": [ - "11.0.0", - "11.0.1" - ], - "87.0.4280.67": [ - "11.0.2", - "11.0.3", - "11.0.4" - ], - "87.0.4280.88": [ - "11.0.5", - "11.1.0", - "11.1.1" - ], - "87.0.4280.141": [ - "11.2.0", - "11.2.1", - "11.2.2", - "11.2.3", - "11.3.0", - "11.4.0", - "11.4.1", - "11.4.2", - "11.4.3", - "11.4.4", - "11.4.5", - "11.4.6", - "11.4.7", - "11.4.8", - "11.4.9", - "11.4.10", - "11.4.11", - "11.4.12", - "11.5.0" - ], - "89.0.4328.0": [ - "12.0.0-beta.1", - "12.0.0-beta.3", - "12.0.0-beta.4", - "12.0.0-beta.5", - "12.0.0-beta.6", - "12.0.0-beta.7", - "12.0.0-beta.8", - "12.0.0-beta.9", - "12.0.0-beta.10", - "12.0.0-beta.11", - "12.0.0-beta.12", - "12.0.0-beta.14" - ], - "89.0.4348.1": [ - "12.0.0-beta.16", - "12.0.0-beta.18", - "12.0.0-beta.19", - "12.0.0-beta.20" - ], - "89.0.4388.2": [ - "12.0.0-beta.21", - "12.0.0-beta.22", - "12.0.0-beta.23", - "12.0.0-beta.24", - "12.0.0-beta.25", - "12.0.0-beta.26" - ], - "89.0.4389.23": [ - "12.0.0-beta.27", - "12.0.0-beta.28", - "12.0.0-beta.29" - ], - "89.0.4389.58": [ - "12.0.0-beta.30", - "12.0.0-beta.31" - ], - "89.0.4389.69": [ - "12.0.0" - ], - "89.0.4389.82": [ - "12.0.1" - ], - "89.0.4389.90": [ - "12.0.2" - ], - "89.0.4389.114": [ - "12.0.3", - "12.0.4" - ], - "89.0.4389.128": [ - "12.0.5", - "12.0.6", - "12.0.7", - "12.0.8", - "12.0.9", - "12.0.10", - "12.0.11", - "12.0.12", - "12.0.13", - "12.0.14", - "12.0.15", - "12.0.16", - "12.0.17", - "12.0.18", - "12.1.0", - "12.1.1", - "12.1.2", - "12.2.0", - "12.2.1", - "12.2.2", - "12.2.3" - ], - "90.0.4402.0": [ - "13.0.0-beta.2", - "13.0.0-beta.3" - ], - "90.0.4415.0": [ - "13.0.0-beta.4", - "13.0.0-beta.5", - "13.0.0-beta.6", - "13.0.0-beta.7", - "13.0.0-beta.8", - "13.0.0-beta.9", - "13.0.0-beta.10", - "13.0.0-beta.11", - "13.0.0-beta.12", - "13.0.0-beta.13" - ], - "91.0.4448.0": [ - "13.0.0-beta.14", - "13.0.0-beta.16", - "13.0.0-beta.17", - "13.0.0-beta.18", - "13.0.0-beta.20" - ], - "91.0.4472.33": [ - "13.0.0-beta.21", - "13.0.0-beta.22", - "13.0.0-beta.23" - ], - "91.0.4472.38": [ - "13.0.0-beta.24", - "13.0.0-beta.25", - "13.0.0-beta.26", - "13.0.0-beta.27", - "13.0.0-beta.28" - ], - "91.0.4472.69": [ - "13.0.0", - "13.0.1" - ], - "91.0.4472.77": [ - "13.1.0", - "13.1.1", - "13.1.2" - ], - "91.0.4472.106": [ - "13.1.3", - "13.1.4" - ], - "91.0.4472.124": [ - "13.1.5", - "13.1.6", - "13.1.7" - ], - "91.0.4472.164": [ - "13.1.8", - "13.1.9", - "13.2.0", - "13.2.1", - "13.2.2", - "13.2.3", - "13.3.0", - "13.4.0", - "13.5.0", - "13.5.1", - "13.5.2", - "13.6.0", - "13.6.1", - "13.6.2", - "13.6.3", - "13.6.6", - "13.6.7", - "13.6.8", - "13.6.9" - ], - "92.0.4511.0": [ - "14.0.0-beta.1", - "14.0.0-beta.2", - "14.0.0-beta.3" - ], - "93.0.4536.0": [ - "14.0.0-beta.5", - "14.0.0-beta.6", - "14.0.0-beta.7", - "14.0.0-beta.8" - ], - "93.0.4539.0": [ - "14.0.0-beta.9", - "14.0.0-beta.10" - ], - "93.0.4557.4": [ - "14.0.0-beta.11", - "14.0.0-beta.12" - ], - "93.0.4566.0": [ - "14.0.0-beta.13", - "14.0.0-beta.14", - "14.0.0-beta.15", - "14.0.0-beta.16", - "14.0.0-beta.17", - "15.0.0-alpha.1", - "15.0.0-alpha.2" - ], - "93.0.4577.15": [ - "14.0.0-beta.18", - "14.0.0-beta.19", - "14.0.0-beta.20", - "14.0.0-beta.21" - ], - "93.0.4577.25": [ - "14.0.0-beta.22", - "14.0.0-beta.23" - ], - "93.0.4577.51": [ - "14.0.0-beta.24", - "14.0.0-beta.25" - ], - "93.0.4577.58": [ - "14.0.0" - ], - "93.0.4577.63": [ - "14.0.1" - ], - "93.0.4577.82": [ - "14.0.2", - "14.1.0", - "14.1.1", - "14.2.0", - "14.2.1", - "14.2.2", - "14.2.3", - "14.2.4", - "14.2.5", - "14.2.6", - "14.2.7", - "14.2.8", - "14.2.9" - ], - "94.0.4584.0": [ - "15.0.0-alpha.3", - "15.0.0-alpha.4", - "15.0.0-alpha.5", - "15.0.0-alpha.6" - ], - "94.0.4590.2": [ - "15.0.0-alpha.7", - "15.0.0-alpha.8", - "15.0.0-alpha.9" - ], - "94.0.4606.12": [ - "15.0.0-alpha.10" - ], - "94.0.4606.20": [ - "15.0.0-beta.1", - "15.0.0-beta.2" - ], - "94.0.4606.31": [ - "15.0.0-beta.3", - "15.0.0-beta.4", - "15.0.0-beta.5", - "15.0.0-beta.6", - "15.0.0-beta.7" - ], - "94.0.4606.51": [ - "15.0.0" - ], - "94.0.4606.61": [ - "15.1.0", - "15.1.1" - ], - "94.0.4606.71": [ - "15.1.2" - ], - "94.0.4606.81": [ - "15.2.0", - "15.3.0", - "15.3.1", - "15.3.2", - "15.3.3", - "15.3.4", - "15.3.5", - "15.3.6", - "15.3.7", - "15.4.0", - "15.4.1", - "15.4.2", - "15.5.0", - "15.5.1", - "15.5.2", - "15.5.3", - "15.5.4", - "15.5.5", - "15.5.6", - "15.5.7" - ], - "95.0.4629.0": [ - "16.0.0-alpha.1", - "16.0.0-alpha.2", - "16.0.0-alpha.3", - "16.0.0-alpha.4", - "16.0.0-alpha.5", - "16.0.0-alpha.6", - "16.0.0-alpha.7" - ], - "96.0.4647.0": [ - "16.0.0-alpha.8", - "16.0.0-alpha.9", - "16.0.0-beta.1", - "16.0.0-beta.2", - "16.0.0-beta.3" - ], - "96.0.4664.18": [ - "16.0.0-beta.4", - "16.0.0-beta.5" - ], - "96.0.4664.27": [ - "16.0.0-beta.6", - "16.0.0-beta.7" - ], - "96.0.4664.35": [ - "16.0.0-beta.8", - "16.0.0-beta.9" - ], - "96.0.4664.45": [ - "16.0.0", - "16.0.1" - ], - "96.0.4664.55": [ - "16.0.2", - "16.0.3", - "16.0.4", - "16.0.5" - ], - "96.0.4664.110": [ - "16.0.6", - "16.0.7", - "16.0.8" - ], - "96.0.4664.174": [ - "16.0.9", - "16.0.10", - "16.1.0", - "16.1.1", - "16.2.0", - "16.2.1", - "16.2.2", - "16.2.3", - "16.2.4", - "16.2.5", - "16.2.6", - "16.2.7", - "16.2.8" - ], - "96.0.4664.4": [ - "17.0.0-alpha.1", - "17.0.0-alpha.2", - "17.0.0-alpha.3" - ], - "98.0.4706.0": [ - "17.0.0-alpha.4", - "17.0.0-alpha.5", - "17.0.0-alpha.6", - "17.0.0-beta.1", - "17.0.0-beta.2" - ], - "98.0.4758.9": [ - "17.0.0-beta.3" - ], - "98.0.4758.11": [ - "17.0.0-beta.4", - "17.0.0-beta.5", - "17.0.0-beta.6", - "17.0.0-beta.7", - "17.0.0-beta.8", - "17.0.0-beta.9" - ], - "98.0.4758.74": [ - "17.0.0" - ], - "98.0.4758.82": [ - "17.0.1" - ], - "98.0.4758.102": [ - "17.1.0" - ], - "98.0.4758.109": [ - "17.1.1", - "17.1.2", - "17.2.0" - ], - "98.0.4758.141": [ - "17.3.0", - "17.3.1", - "17.4.0", - "17.4.1", - "17.4.2", - "17.4.3", - "17.4.4", - "17.4.5", - "17.4.6", - "17.4.7", - "17.4.8", - "17.4.9", - "17.4.10", - "17.4.11" - ], - "99.0.4767.0": [ - "18.0.0-alpha.1", - "18.0.0-alpha.2", - "18.0.0-alpha.3", - "18.0.0-alpha.4", - "18.0.0-alpha.5" - ], - "100.0.4894.0": [ - "18.0.0-beta.1", - "18.0.0-beta.2", - "18.0.0-beta.3", - "18.0.0-beta.4", - "18.0.0-beta.5", - "18.0.0-beta.6" - ], - "100.0.4896.56": [ - "18.0.0" - ], - "100.0.4896.60": [ - "18.0.1", - "18.0.2" - ], - "100.0.4896.75": [ - "18.0.3", - "18.0.4" - ], - "100.0.4896.127": [ - "18.1.0" - ], - "100.0.4896.143": [ - "18.2.0", - "18.2.1", - "18.2.2", - "18.2.3" - ], - "100.0.4896.160": [ - "18.2.4", - "18.3.0", - "18.3.1", - "18.3.2", - "18.3.3", - "18.3.4", - "18.3.5", - "18.3.6", - "18.3.7", - "18.3.8", - "18.3.9", - "18.3.11", - "18.3.12", - "18.3.13", - "18.3.14", - "18.3.15" - ], - "102.0.4962.3": [ - "19.0.0-alpha.1" - ], - "102.0.4971.0": [ - "19.0.0-alpha.2", - "19.0.0-alpha.3" - ], - "102.0.4989.0": [ - "19.0.0-alpha.4", - "19.0.0-alpha.5" - ], - "102.0.4999.0": [ - "19.0.0-beta.1", - "19.0.0-beta.2", - "19.0.0-beta.3" - ], - "102.0.5005.27": [ - "19.0.0-beta.4" - ], - "102.0.5005.40": [ - "19.0.0-beta.5", - "19.0.0-beta.6", - "19.0.0-beta.7" - ], - "102.0.5005.49": [ - "19.0.0-beta.8" - ], - "102.0.5005.61": [ - "19.0.0", - "19.0.1" - ], - "102.0.5005.63": [ - "19.0.2", - "19.0.3", - "19.0.4" - ], - "102.0.5005.115": [ - "19.0.5", - "19.0.6" - ], - "102.0.5005.134": [ - "19.0.7" - ], - "102.0.5005.148": [ - "19.0.8" - ], - "102.0.5005.167": [ - "19.0.9", - "19.0.10", - "19.0.11", - "19.0.12", - "19.0.13", - "19.0.14", - "19.0.15", - "19.0.16", - "19.0.17", - "19.1.0", - "19.1.1", - "19.1.2", - "19.1.3", - "19.1.4", - "19.1.5", - "19.1.6", - "19.1.7", - "19.1.8", - "19.1.9" - ], - "103.0.5044.0": [ - "20.0.0-alpha.1" - ], - "104.0.5073.0": [ - "20.0.0-alpha.2", - "20.0.0-alpha.3", - "20.0.0-alpha.4", - "20.0.0-alpha.5", - "20.0.0-alpha.6", - "20.0.0-alpha.7", - "20.0.0-beta.1", - "20.0.0-beta.2", - "20.0.0-beta.3", - "20.0.0-beta.4", - "20.0.0-beta.5", - "20.0.0-beta.6", - "20.0.0-beta.7", - "20.0.0-beta.8" - ], - "104.0.5112.39": [ - "20.0.0-beta.9" - ], - "104.0.5112.48": [ - "20.0.0-beta.10", - "20.0.0-beta.11", - "20.0.0-beta.12" - ], - "104.0.5112.57": [ - "20.0.0-beta.13" - ], - "104.0.5112.65": [ - "20.0.0" - ], - "104.0.5112.81": [ - "20.0.1", - "20.0.2", - "20.0.3" - ], - "104.0.5112.102": [ - "20.1.0", - "20.1.1" - ], - "104.0.5112.114": [ - "20.1.2", - "20.1.3", - "20.1.4" - ], - "104.0.5112.124": [ - "20.2.0", - "20.3.0", - "20.3.1", - "20.3.2", - "20.3.3", - "20.3.4", - "20.3.5", - "20.3.6", - "20.3.7", - "20.3.8", - "20.3.9", - "20.3.10", - "20.3.11", - "20.3.12" - ], - "105.0.5187.0": [ - "21.0.0-alpha.1", - "21.0.0-alpha.2", - "21.0.0-alpha.3", - "21.0.0-alpha.4", - "21.0.0-alpha.5" - ], - "106.0.5216.0": [ - "21.0.0-alpha.6", - "21.0.0-beta.1", - "21.0.0-beta.2", - "21.0.0-beta.3", - "21.0.0-beta.4", - "21.0.0-beta.5" - ], - "106.0.5249.40": [ - "21.0.0-beta.6", - "21.0.0-beta.7", - "21.0.0-beta.8" - ], - "106.0.5249.51": [ - "21.0.0" - ], - "106.0.5249.61": [ - "21.0.1" - ], - "106.0.5249.91": [ - "21.1.0" - ], - "106.0.5249.103": [ - "21.1.1" - ], - "106.0.5249.119": [ - "21.2.0" - ], - "106.0.5249.165": [ - "21.2.1" - ], - "106.0.5249.168": [ - "21.2.2", - "21.2.3" - ], - "106.0.5249.181": [ - "21.3.0", - "21.3.1" - ], - "106.0.5249.199": [ - "21.3.3", - "21.3.4", - "21.3.5", - "21.4.0", - "21.4.1", - "21.4.2", - "21.4.3", - "21.4.4" - ], - "107.0.5286.0": [ - "22.0.0-alpha.1" - ], - "108.0.5329.0": [ - "22.0.0-alpha.3", - "22.0.0-alpha.4", - "22.0.0-alpha.5", - "22.0.0-alpha.6" - ], - "108.0.5355.0": [ - "22.0.0-alpha.7" - ], - "108.0.5359.10": [ - "22.0.0-alpha.8", - "22.0.0-beta.1", - "22.0.0-beta.2", - "22.0.0-beta.3" - ], - "108.0.5359.29": [ - "22.0.0-beta.4" - ], - "108.0.5359.40": [ - "22.0.0-beta.5", - "22.0.0-beta.6" - ], - "108.0.5359.48": [ - "22.0.0-beta.7", - "22.0.0-beta.8" - ], - "108.0.5359.62": [ - "22.0.0" - ], - "108.0.5359.125": [ - "22.0.1" - ], - "108.0.5359.179": [ - "22.0.2", - "22.0.3", - "22.1.0" - ], - "108.0.5359.215": [ - "22.2.0", - "22.2.1", - "22.3.0", - "22.3.1", - "22.3.2", - "22.3.3", - "22.3.4", - "22.3.5", - "22.3.6", - "22.3.7", - "22.3.8", - "22.3.9", - "22.3.10", - "22.3.11", - "22.3.12", - "22.3.13", - "22.3.14", - "22.3.15", - "22.3.16", - "22.3.17", - "22.3.18", - "22.3.20", - "22.3.21", - "22.3.22", - "22.3.23", - "22.3.24", - "22.3.25", - "22.3.26", - "22.3.27" - ], - "110.0.5415.0": [ - "23.0.0-alpha.1" - ], - "110.0.5451.0": [ - "23.0.0-alpha.2", - "23.0.0-alpha.3" - ], - "110.0.5478.5": [ - "23.0.0-beta.1", - "23.0.0-beta.2", - "23.0.0-beta.3" - ], - "110.0.5481.30": [ - "23.0.0-beta.4" - ], - "110.0.5481.38": [ - "23.0.0-beta.5" - ], - "110.0.5481.52": [ - "23.0.0-beta.6", - "23.0.0-beta.8" - ], - "110.0.5481.77": [ - "23.0.0" - ], - "110.0.5481.100": [ - "23.1.0" - ], - "110.0.5481.104": [ - "23.1.1" - ], - "110.0.5481.177": [ - "23.1.2" - ], - "110.0.5481.179": [ - "23.1.3" - ], - "110.0.5481.192": [ - "23.1.4", - "23.2.0" - ], - "110.0.5481.208": [ - "23.2.1", - "23.2.2", - "23.2.3", - "23.2.4", - "23.3.0", - "23.3.1", - "23.3.2", - "23.3.3", - "23.3.4", - "23.3.5", - "23.3.6", - "23.3.7", - "23.3.8", - "23.3.9", - "23.3.10", - "23.3.11", - "23.3.12", - "23.3.13" - ], - "111.0.5560.0": [ - "24.0.0-alpha.1", - "24.0.0-alpha.2", - "24.0.0-alpha.3", - "24.0.0-alpha.4", - "24.0.0-alpha.5", - "24.0.0-alpha.6", - "24.0.0-alpha.7" - ], - "111.0.5563.50": [ - "24.0.0-beta.1", - "24.0.0-beta.2" - ], - "112.0.5615.20": [ - "24.0.0-beta.3", - "24.0.0-beta.4" - ], - "112.0.5615.29": [ - "24.0.0-beta.5" - ], - "112.0.5615.39": [ - "24.0.0-beta.6", - "24.0.0-beta.7" - ], - "112.0.5615.49": [ - "24.0.0" - ], - "112.0.5615.50": [ - "24.1.0", - "24.1.1" - ], - "112.0.5615.87": [ - "24.1.2" - ], - "112.0.5615.165": [ - "24.1.3", - "24.2.0", - "24.3.0" - ], - "112.0.5615.183": [ - "24.3.1" - ], - "112.0.5615.204": [ - "24.4.0", - "24.4.1", - "24.5.0", - "24.5.1", - "24.6.0", - "24.6.1", - "24.6.2", - "24.6.3", - "24.6.4", - "24.6.5", - "24.7.0", - "24.7.1", - "24.8.0", - "24.8.1", - "24.8.2", - "24.8.3", - "24.8.4", - "24.8.5", - "24.8.6", - "24.8.7", - "24.8.8" - ], - "114.0.5694.0": [ - "25.0.0-alpha.1", - "25.0.0-alpha.2" - ], - "114.0.5710.0": [ - "25.0.0-alpha.3", - "25.0.0-alpha.4" - ], - "114.0.5719.0": [ - "25.0.0-alpha.5", - "25.0.0-alpha.6", - "25.0.0-beta.1", - "25.0.0-beta.2", - "25.0.0-beta.3" - ], - "114.0.5735.16": [ - "25.0.0-beta.4", - "25.0.0-beta.5", - "25.0.0-beta.6", - "25.0.0-beta.7" - ], - "114.0.5735.35": [ - "25.0.0-beta.8" - ], - "114.0.5735.45": [ - "25.0.0-beta.9", - "25.0.0", - "25.0.1" - ], - "114.0.5735.106": [ - "25.1.0", - "25.1.1" - ], - "114.0.5735.134": [ - "25.2.0" - ], - "114.0.5735.199": [ - "25.3.0" - ], - "114.0.5735.243": [ - "25.3.1" - ], - "114.0.5735.248": [ - "25.3.2", - "25.4.0" - ], - "114.0.5735.289": [ - "25.5.0", - "25.6.0", - "25.7.0", - "25.8.0", - "25.8.1", - "25.8.2", - "25.8.3", - "25.8.4", - "25.9.0", - "25.9.1", - "25.9.2", - "25.9.3", - "25.9.4", - "25.9.5", - "25.9.6", - "25.9.7", - "25.9.8" - ], - "116.0.5791.0": [ - "26.0.0-alpha.1", - "26.0.0-alpha.2", - "26.0.0-alpha.3", - "26.0.0-alpha.4", - "26.0.0-alpha.5" - ], - "116.0.5815.0": [ - "26.0.0-alpha.6" - ], - "116.0.5831.0": [ - "26.0.0-alpha.7" - ], - "116.0.5845.0": [ - "26.0.0-alpha.8", - "26.0.0-beta.1" - ], - "116.0.5845.14": [ - "26.0.0-beta.2", - "26.0.0-beta.3", - "26.0.0-beta.4", - "26.0.0-beta.5", - "26.0.0-beta.6", - "26.0.0-beta.7" - ], - "116.0.5845.42": [ - "26.0.0-beta.8", - "26.0.0-beta.9" - ], - "116.0.5845.49": [ - "26.0.0-beta.10", - "26.0.0-beta.11" - ], - "116.0.5845.62": [ - "26.0.0-beta.12" - ], - "116.0.5845.82": [ - "26.0.0" - ], - "116.0.5845.97": [ - "26.1.0" - ], - "116.0.5845.179": [ - "26.2.0" - ], - "116.0.5845.188": [ - "26.2.1" - ], - "116.0.5845.190": [ - "26.2.2", - "26.2.3", - "26.2.4" - ], - "116.0.5845.228": [ - "26.3.0", - "26.4.0", - "26.4.1", - "26.4.2", - "26.4.3", - "26.5.0", - "26.6.0", - "26.6.1", - "26.6.2", - "26.6.3", - "26.6.4", - "26.6.5", - "26.6.6", - "26.6.7", - "26.6.8", - "26.6.9", - "26.6.10" - ], - "118.0.5949.0": [ - "27.0.0-alpha.1", - "27.0.0-alpha.2", - "27.0.0-alpha.3", - "27.0.0-alpha.4", - "27.0.0-alpha.5", - "27.0.0-alpha.6" - ], - "118.0.5993.5": [ - "27.0.0-beta.1", - "27.0.0-beta.2", - "27.0.0-beta.3" - ], - "118.0.5993.11": [ - "27.0.0-beta.4" - ], - "118.0.5993.18": [ - "27.0.0-beta.5", - "27.0.0-beta.6", - "27.0.0-beta.7", - "27.0.0-beta.8", - "27.0.0-beta.9" - ], - "118.0.5993.54": [ - "27.0.0" - ], - "118.0.5993.89": [ - "27.0.1", - "27.0.2" - ], - "118.0.5993.120": [ - "27.0.3" - ], - "118.0.5993.129": [ - "27.0.4" - ], - "118.0.5993.144": [ - "27.1.0", - "27.1.2" - ], - "118.0.5993.159": [ - "27.1.3", - "27.2.0", - "27.2.1", - "27.2.2", - "27.2.3", - "27.2.4", - "27.3.0", - "27.3.1", - "27.3.2", - "27.3.3", - "27.3.4", - "27.3.5", - "27.3.6", - "27.3.7", - "27.3.8", - "27.3.9", - "27.3.10", - "27.3.11" - ], - "119.0.6045.0": [ - "28.0.0-alpha.1", - "28.0.0-alpha.2" - ], - "119.0.6045.21": [ - "28.0.0-alpha.3", - "28.0.0-alpha.4" - ], - "119.0.6045.33": [ - "28.0.0-alpha.5", - "28.0.0-alpha.6", - "28.0.0-alpha.7", - "28.0.0-beta.1" - ], - "120.0.6099.0": [ - "28.0.0-beta.2" - ], - "120.0.6099.5": [ - "28.0.0-beta.3", - "28.0.0-beta.4" - ], - "120.0.6099.18": [ - "28.0.0-beta.5", - "28.0.0-beta.6", - "28.0.0-beta.7", - "28.0.0-beta.8", - "28.0.0-beta.9", - "28.0.0-beta.10" - ], - "120.0.6099.35": [ - "28.0.0-beta.11" - ], - "120.0.6099.56": [ - "28.0.0" - ], - "120.0.6099.109": [ - "28.1.0", - "28.1.1" - ], - "120.0.6099.199": [ - "28.1.2", - "28.1.3" - ], - "120.0.6099.216": [ - "28.1.4" - ], - "120.0.6099.227": [ - "28.2.0" - ], - "120.0.6099.268": [ - "28.2.1" - ], - "120.0.6099.276": [ - "28.2.2" - ], - "120.0.6099.283": [ - "28.2.3" - ], - "120.0.6099.291": [ - "28.2.4", - "28.2.5", - "28.2.6", - "28.2.7", - "28.2.8", - "28.2.9", - "28.2.10", - "28.3.0", - "28.3.1", - "28.3.2", - "28.3.3" - ], - "121.0.6147.0": [ - "29.0.0-alpha.1", - "29.0.0-alpha.2", - "29.0.0-alpha.3" - ], - "121.0.6159.0": [ - "29.0.0-alpha.4", - "29.0.0-alpha.5", - "29.0.0-alpha.6", - "29.0.0-alpha.7" - ], - "122.0.6194.0": [ - "29.0.0-alpha.8" - ], - "122.0.6236.2": [ - "29.0.0-alpha.9", - "29.0.0-alpha.10", - "29.0.0-alpha.11", - "29.0.0-beta.1", - "29.0.0-beta.2" - ], - "122.0.6261.6": [ - "29.0.0-beta.3", - "29.0.0-beta.4" - ], - "122.0.6261.18": [ - "29.0.0-beta.5", - "29.0.0-beta.6", - "29.0.0-beta.7", - "29.0.0-beta.8", - "29.0.0-beta.9", - "29.0.0-beta.10", - "29.0.0-beta.11" - ], - "122.0.6261.29": [ - "29.0.0-beta.12" - ], - "122.0.6261.39": [ - "29.0.0" - ], - "122.0.6261.57": [ - "29.0.1" - ], - "122.0.6261.70": [ - "29.1.0" - ], - "122.0.6261.111": [ - "29.1.1" - ], - "122.0.6261.112": [ - "29.1.2", - "29.1.3" - ], - "122.0.6261.129": [ - "29.1.4" - ], - "122.0.6261.130": [ - "29.1.5" - ], - "122.0.6261.139": [ - "29.1.6" - ], - "122.0.6261.156": [ - "29.2.0", - "29.3.0", - "29.3.1", - "29.3.2", - "29.3.3", - "29.4.0", - "29.4.1", - "29.4.2", - "29.4.3", - "29.4.4", - "29.4.5", - "29.4.6" - ], - "123.0.6296.0": [ - "30.0.0-alpha.1" - ], - "123.0.6312.5": [ - "30.0.0-alpha.2" - ], - "124.0.6323.0": [ - "30.0.0-alpha.3", - "30.0.0-alpha.4" - ], - "124.0.6331.0": [ - "30.0.0-alpha.5", - "30.0.0-alpha.6" - ], - "124.0.6353.0": [ - "30.0.0-alpha.7" - ], - "124.0.6359.0": [ - "30.0.0-beta.1", - "30.0.0-beta.2" - ], - "124.0.6367.9": [ - "30.0.0-beta.3", - "30.0.0-beta.4", - "30.0.0-beta.5" - ], - "124.0.6367.18": [ - "30.0.0-beta.6" - ], - "124.0.6367.29": [ - "30.0.0-beta.7", - "30.0.0-beta.8" - ], - "124.0.6367.49": [ - "30.0.0" - ], - "124.0.6367.60": [ - "30.0.1" - ], - "124.0.6367.91": [ - "30.0.2" - ], - "124.0.6367.119": [ - "30.0.3" - ], - "124.0.6367.201": [ - "30.0.4" - ], - "124.0.6367.207": [ - "30.0.5", - "30.0.6" - ], - "124.0.6367.221": [ - "30.0.7" - ], - "124.0.6367.230": [ - "30.0.8" - ], - "124.0.6367.233": [ - "30.0.9" - ], - "124.0.6367.243": [ - "30.1.0", - "30.1.1", - "30.1.2", - "30.2.0", - "30.3.0", - "30.3.1", - "30.4.0", - "30.5.0", - "30.5.1" - ], - "125.0.6412.0": [ - "31.0.0-alpha.1", - "31.0.0-alpha.2", - "31.0.0-alpha.3", - "31.0.0-alpha.4", - "31.0.0-alpha.5" - ], - "126.0.6445.0": [ - "31.0.0-beta.1", - "31.0.0-beta.2", - "31.0.0-beta.3", - "31.0.0-beta.4", - "31.0.0-beta.5", - "31.0.0-beta.6", - "31.0.0-beta.7", - "31.0.0-beta.8", - "31.0.0-beta.9" - ], - "126.0.6478.36": [ - "31.0.0-beta.10", - "31.0.0", - "31.0.1" - ], - "126.0.6478.61": [ - "31.0.2" - ], - "126.0.6478.114": [ - "31.1.0" - ], - "126.0.6478.127": [ - "31.2.0", - "31.2.1" - ], - "126.0.6478.183": [ - "31.3.0" - ], - "126.0.6478.185": [ - "31.3.1" - ], - "126.0.6478.234": [ - "31.4.0", - "31.5.0", - "31.6.0", - "31.7.0", - "31.7.1", - "31.7.2", - "31.7.3", - "31.7.4", - "31.7.5", - "31.7.6" - ], - "127.0.6521.0": [ - "32.0.0-alpha.1", - "32.0.0-alpha.2", - "32.0.0-alpha.3", - "32.0.0-alpha.4", - "32.0.0-alpha.5" - ], - "128.0.6571.0": [ - "32.0.0-alpha.6", - "32.0.0-alpha.7" - ], - "128.0.6573.0": [ - "32.0.0-alpha.8", - "32.0.0-alpha.9", - "32.0.0-alpha.10", - "32.0.0-beta.1" - ], - "128.0.6611.0": [ - "32.0.0-beta.2" - ], - "128.0.6613.7": [ - "32.0.0-beta.3" - ], - "128.0.6613.18": [ - "32.0.0-beta.4" - ], - "128.0.6613.27": [ - "32.0.0-beta.5", - "32.0.0-beta.6", - "32.0.0-beta.7" - ], - "128.0.6613.36": [ - "32.0.0", - "32.0.1" - ], - "128.0.6613.84": [ - "32.0.2" - ], - "128.0.6613.120": [ - "32.1.0" - ], - "128.0.6613.137": [ - "32.1.1" - ], - "128.0.6613.162": [ - "32.1.2" - ], - "128.0.6613.178": [ - "32.2.0" - ], - "128.0.6613.186": [ - "32.2.1", - "32.2.2", - "32.2.3", - "32.2.4", - "32.2.5", - "32.2.6", - "32.2.7" - ], - "129.0.6668.0": [ - "33.0.0-alpha.1" - ], - "130.0.6672.0": [ - "33.0.0-alpha.2", - "33.0.0-alpha.3", - "33.0.0-alpha.4", - "33.0.0-alpha.5", - "33.0.0-alpha.6", - "33.0.0-beta.1", - "33.0.0-beta.2", - "33.0.0-beta.3", - "33.0.0-beta.4" - ], - "130.0.6723.19": [ - "33.0.0-beta.5", - "33.0.0-beta.6", - "33.0.0-beta.7" - ], - "130.0.6723.31": [ - "33.0.0-beta.8", - "33.0.0-beta.9", - "33.0.0-beta.10" - ], - "130.0.6723.44": [ - "33.0.0-beta.11", - "33.0.0" - ], - "130.0.6723.59": [ - "33.0.1", - "33.0.2" - ], - "130.0.6723.91": [ - "33.1.0" - ], - "130.0.6723.118": [ - "33.2.0" - ], - "130.0.6723.137": [ - "33.2.1" - ], - "130.0.6723.152": [ - "33.3.0" - ], - "131.0.6776.0": [ - "34.0.0-alpha.1" - ], - "132.0.6779.0": [ - "34.0.0-alpha.2" - ], - "132.0.6789.1": [ - "34.0.0-alpha.3", - "34.0.0-alpha.4", - "34.0.0-alpha.5", - "34.0.0-alpha.6", - "34.0.0-alpha.7" - ], - "132.0.6820.0": [ - "34.0.0-alpha.8" - ], - "132.0.6824.0": [ - "34.0.0-alpha.9", - "34.0.0-beta.1", - "34.0.0-beta.2", - "34.0.0-beta.3" - ], - "132.0.6834.6": [ - "34.0.0-beta.4", - "34.0.0-beta.5" - ], - "132.0.6834.15": [ - "34.0.0-beta.6", - "34.0.0-beta.7", - "34.0.0-beta.8" - ], - "132.0.6834.32": [ - "34.0.0-beta.9", - "34.0.0-beta.10", - "34.0.0-beta.11" - ], - "132.0.6834.46": [ - "34.0.0-beta.12" - ] -}; \ No newline at end of file diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.json b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.json deleted file mode 100644 index c64530d2..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-chromium-versions.json +++ /dev/null @@ -1 +0,0 @@ -{"39.0.2171.65":["0.20.0","0.20.1","0.20.2","0.20.3","0.20.4","0.20.5","0.20.6","0.20.7","0.20.8"],"40.0.2214.91":["0.21.0","0.21.1","0.21.2"],"41.0.2272.76":["0.21.3","0.22.1","0.22.2","0.22.3","0.23.0","0.24.0"],"42.0.2311.107":["0.25.0","0.25.1","0.25.2","0.25.3","0.26.0","0.26.1","0.27.0","0.27.1"],"43.0.2357.65":["0.27.2","0.27.3","0.28.0","0.28.1","0.28.2","0.28.3","0.29.1","0.29.2"],"44.0.2403.125":["0.30.4","0.31.0"],"45.0.2454.85":["0.31.2","0.32.2","0.32.3","0.33.0","0.33.1","0.33.2","0.33.3","0.33.4","0.33.6","0.33.7","0.33.8","0.33.9","0.34.0","0.34.1","0.34.2","0.34.3","0.34.4","0.35.1","0.35.2","0.35.3","0.35.4","0.35.5"],"47.0.2526.73":["0.36.0","0.36.2","0.36.3","0.36.4"],"47.0.2526.110":["0.36.5","0.36.6","0.36.7","0.36.8","0.36.9","0.36.10","0.36.11","0.36.12"],"49.0.2623.75":["0.37.0","0.37.1","0.37.3","0.37.4","0.37.5","0.37.6","0.37.7","0.37.8","1.0.0","1.0.1","1.0.2"],"50.0.2661.102":["1.1.0","1.1.1","1.1.2","1.1.3"],"51.0.2704.63":["1.2.0","1.2.1"],"51.0.2704.84":["1.2.2","1.2.3"],"51.0.2704.103":["1.2.4","1.2.5"],"51.0.2704.106":["1.2.6","1.2.7","1.2.8"],"52.0.2743.82":["1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.9","1.3.10","1.3.13","1.3.14","1.3.15"],"53.0.2785.113":["1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5"],"53.0.2785.143":["1.4.6","1.4.7","1.4.8","1.4.10","1.4.11","1.4.13","1.4.14","1.4.15","1.4.16"],"54.0.2840.51":["1.4.12"],"54.0.2840.101":["1.5.0","1.5.1"],"56.0.2924.87":["1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","1.6.7","1.6.8","1.6.9","1.6.10","1.6.11","1.6.12","1.6.13","1.6.14","1.6.15","1.6.16","1.6.17","1.6.18"],"58.0.3029.110":["1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9","1.7.10","1.7.11","1.7.12","1.7.13","1.7.14","1.7.15","1.7.16"],"59.0.3071.115":["1.8.0","1.8.1","1.8.2-beta.1","1.8.2-beta.2","1.8.2-beta.3","1.8.2-beta.4","1.8.2-beta.5","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.8.7","1.8.8"],"61.0.3163.100":["2.0.0-beta.1","2.0.0-beta.2","2.0.0-beta.3","2.0.0-beta.4","2.0.0-beta.5","2.0.0-beta.6","2.0.0-beta.7","2.0.0-beta.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.0.10","2.0.11","2.0.12","2.0.13","2.0.14","2.0.15","2.0.16","2.0.17","2.0.18","2.1.0-unsupported.20180809"],"66.0.3359.181":["3.0.0-beta.1","3.0.0-beta.2","3.0.0-beta.3","3.0.0-beta.4","3.0.0-beta.5","3.0.0-beta.6","3.0.0-beta.7","3.0.0-beta.8","3.0.0-beta.9","3.0.0-beta.10","3.0.0-beta.11","3.0.0-beta.12","3.0.0-beta.13","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.0.10","3.0.11","3.0.12","3.0.13","3.0.14","3.0.15","3.0.16","3.1.0-beta.1","3.1.0-beta.2","3.1.0-beta.3","3.1.0-beta.4","3.1.0-beta.5","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1.8","3.1.9","3.1.10","3.1.11","3.1.12","3.1.13"],"69.0.3497.106":["4.0.0-beta.1","4.0.0-beta.2","4.0.0-beta.3","4.0.0-beta.4","4.0.0-beta.5","4.0.0-beta.6","4.0.0-beta.7","4.0.0-beta.8","4.0.0-beta.9","4.0.0-beta.10","4.0.0-beta.11","4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6"],"69.0.3497.128":["4.0.7","4.0.8","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2.0","4.2.1","4.2.2","4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.2.9","4.2.10","4.2.11","4.2.12"],"72.0.3626.52":["5.0.0-beta.1","5.0.0-beta.2"],"73.0.3683.27":["5.0.0-beta.3"],"73.0.3683.54":["5.0.0-beta.4"],"73.0.3683.61":["5.0.0-beta.5"],"73.0.3683.84":["5.0.0-beta.6"],"73.0.3683.94":["5.0.0-beta.7"],"73.0.3683.104":["5.0.0-beta.8"],"73.0.3683.117":["5.0.0-beta.9"],"73.0.3683.119":["5.0.0"],"73.0.3683.121":["5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7","5.0.8","5.0.9","5.0.10","5.0.11","5.0.12","5.0.13"],"76.0.3774.1":["6.0.0-beta.1"],"76.0.3783.1":["6.0.0-beta.2","6.0.0-beta.3","6.0.0-beta.4"],"76.0.3805.4":["6.0.0-beta.5"],"76.0.3809.3":["6.0.0-beta.6"],"76.0.3809.22":["6.0.0-beta.7"],"76.0.3809.26":["6.0.0-beta.8","6.0.0-beta.9"],"76.0.3809.37":["6.0.0-beta.10"],"76.0.3809.42":["6.0.0-beta.11"],"76.0.3809.54":["6.0.0-beta.12"],"76.0.3809.60":["6.0.0-beta.13"],"76.0.3809.68":["6.0.0-beta.14"],"76.0.3809.74":["6.0.0-beta.15"],"76.0.3809.88":["6.0.0"],"76.0.3809.102":["6.0.1"],"76.0.3809.110":["6.0.2"],"76.0.3809.126":["6.0.3"],"76.0.3809.131":["6.0.4"],"76.0.3809.136":["6.0.5"],"76.0.3809.138":["6.0.6"],"76.0.3809.139":["6.0.7"],"76.0.3809.146":["6.0.8","6.0.9","6.0.10","6.0.11","6.0.12","6.1.0","6.1.1","6.1.2","6.1.3","6.1.4","6.1.5","6.1.6","6.1.7","6.1.8","6.1.9","6.1.10","6.1.11","6.1.12"],"78.0.3866.0":["7.0.0-beta.1","7.0.0-beta.2","7.0.0-beta.3"],"78.0.3896.6":["7.0.0-beta.4"],"78.0.3905.1":["7.0.0-beta.5","7.0.0-beta.6","7.0.0-beta.7","7.0.0"],"78.0.3904.92":["7.0.1"],"78.0.3904.94":["7.1.0"],"78.0.3904.99":["7.1.1"],"78.0.3904.113":["7.1.2"],"78.0.3904.126":["7.1.3"],"78.0.3904.130":["7.1.4","7.1.5","7.1.6","7.1.7","7.1.8","7.1.9","7.1.10","7.1.11","7.1.12","7.1.13","7.1.14","7.2.0","7.2.1","7.2.2","7.2.3","7.2.4","7.3.0","7.3.1","7.3.2","7.3.3"],"79.0.3931.0":["8.0.0-beta.1","8.0.0-beta.2"],"80.0.3955.0":["8.0.0-beta.3","8.0.0-beta.4"],"80.0.3987.14":["8.0.0-beta.5"],"80.0.3987.51":["8.0.0-beta.6"],"80.0.3987.59":["8.0.0-beta.7"],"80.0.3987.75":["8.0.0-beta.8","8.0.0-beta.9"],"80.0.3987.86":["8.0.0","8.0.1","8.0.2"],"80.0.3987.134":["8.0.3"],"80.0.3987.137":["8.1.0"],"80.0.3987.141":["8.1.1"],"80.0.3987.158":["8.2.0"],"80.0.3987.163":["8.2.1","8.2.2","8.2.3","8.5.3","8.5.4","8.5.5"],"80.0.3987.165":["8.2.4","8.2.5","8.3.0","8.3.1","8.3.2","8.3.3","8.3.4","8.4.0","8.4.1","8.5.0","8.5.1","8.5.2"],"82.0.4048.0":["9.0.0-beta.1","9.0.0-beta.2","9.0.0-beta.3","9.0.0-beta.4","9.0.0-beta.5"],"82.0.4058.2":["9.0.0-beta.6","9.0.0-beta.7","9.0.0-beta.9"],"82.0.4085.10":["9.0.0-beta.10"],"82.0.4085.14":["9.0.0-beta.11","9.0.0-beta.12","9.0.0-beta.13"],"82.0.4085.27":["9.0.0-beta.14"],"83.0.4102.3":["9.0.0-beta.15","9.0.0-beta.16"],"83.0.4103.14":["9.0.0-beta.17"],"83.0.4103.16":["9.0.0-beta.18"],"83.0.4103.24":["9.0.0-beta.19"],"83.0.4103.26":["9.0.0-beta.20","9.0.0-beta.21"],"83.0.4103.34":["9.0.0-beta.22"],"83.0.4103.44":["9.0.0-beta.23"],"83.0.4103.45":["9.0.0-beta.24"],"83.0.4103.64":["9.0.0"],"83.0.4103.94":["9.0.1","9.0.2"],"83.0.4103.100":["9.0.3"],"83.0.4103.104":["9.0.4"],"83.0.4103.119":["9.0.5"],"83.0.4103.122":["9.1.0","9.1.1","9.1.2","9.2.0","9.2.1","9.3.0","9.3.1","9.3.2","9.3.3","9.3.4","9.3.5","9.4.0","9.4.1","9.4.2","9.4.3","9.4.4"],"84.0.4129.0":["10.0.0-beta.1","10.0.0-beta.2"],"85.0.4161.2":["10.0.0-beta.3","10.0.0-beta.4"],"85.0.4181.1":["10.0.0-beta.8","10.0.0-beta.9"],"85.0.4183.19":["10.0.0-beta.10"],"85.0.4183.20":["10.0.0-beta.11"],"85.0.4183.26":["10.0.0-beta.12"],"85.0.4183.39":["10.0.0-beta.13","10.0.0-beta.14","10.0.0-beta.15","10.0.0-beta.17","10.0.0-beta.19","10.0.0-beta.20","10.0.0-beta.21"],"85.0.4183.70":["10.0.0-beta.23"],"85.0.4183.78":["10.0.0-beta.24"],"85.0.4183.80":["10.0.0-beta.25"],"85.0.4183.84":["10.0.0"],"85.0.4183.86":["10.0.1"],"85.0.4183.87":["10.1.0"],"85.0.4183.93":["10.1.1"],"85.0.4183.98":["10.1.2"],"85.0.4183.121":["10.1.3","10.1.4","10.1.5","10.1.6","10.1.7","10.2.0","10.3.0","10.3.1","10.3.2","10.4.0","10.4.1","10.4.2","10.4.3","10.4.4","10.4.5","10.4.6","10.4.7"],"86.0.4234.0":["11.0.0-beta.1","11.0.0-beta.3","11.0.0-beta.4","11.0.0-beta.5","11.0.0-beta.6","11.0.0-beta.7"],"87.0.4251.1":["11.0.0-beta.8","11.0.0-beta.9","11.0.0-beta.11"],"87.0.4280.11":["11.0.0-beta.12","11.0.0-beta.13"],"87.0.4280.27":["11.0.0-beta.16","11.0.0-beta.17","11.0.0-beta.18","11.0.0-beta.19"],"87.0.4280.40":["11.0.0-beta.20"],"87.0.4280.47":["11.0.0-beta.22","11.0.0-beta.23"],"87.0.4280.60":["11.0.0","11.0.1"],"87.0.4280.67":["11.0.2","11.0.3","11.0.4"],"87.0.4280.88":["11.0.5","11.1.0","11.1.1"],"87.0.4280.141":["11.2.0","11.2.1","11.2.2","11.2.3","11.3.0","11.4.0","11.4.1","11.4.2","11.4.3","11.4.4","11.4.5","11.4.6","11.4.7","11.4.8","11.4.9","11.4.10","11.4.11","11.4.12","11.5.0"],"89.0.4328.0":["12.0.0-beta.1","12.0.0-beta.3","12.0.0-beta.4","12.0.0-beta.5","12.0.0-beta.6","12.0.0-beta.7","12.0.0-beta.8","12.0.0-beta.9","12.0.0-beta.10","12.0.0-beta.11","12.0.0-beta.12","12.0.0-beta.14"],"89.0.4348.1":["12.0.0-beta.16","12.0.0-beta.18","12.0.0-beta.19","12.0.0-beta.20"],"89.0.4388.2":["12.0.0-beta.21","12.0.0-beta.22","12.0.0-beta.23","12.0.0-beta.24","12.0.0-beta.25","12.0.0-beta.26"],"89.0.4389.23":["12.0.0-beta.27","12.0.0-beta.28","12.0.0-beta.29"],"89.0.4389.58":["12.0.0-beta.30","12.0.0-beta.31"],"89.0.4389.69":["12.0.0"],"89.0.4389.82":["12.0.1"],"89.0.4389.90":["12.0.2"],"89.0.4389.114":["12.0.3","12.0.4"],"89.0.4389.128":["12.0.5","12.0.6","12.0.7","12.0.8","12.0.9","12.0.10","12.0.11","12.0.12","12.0.13","12.0.14","12.0.15","12.0.16","12.0.17","12.0.18","12.1.0","12.1.1","12.1.2","12.2.0","12.2.1","12.2.2","12.2.3"],"90.0.4402.0":["13.0.0-beta.2","13.0.0-beta.3"],"90.0.4415.0":["13.0.0-beta.4","13.0.0-beta.5","13.0.0-beta.6","13.0.0-beta.7","13.0.0-beta.8","13.0.0-beta.9","13.0.0-beta.10","13.0.0-beta.11","13.0.0-beta.12","13.0.0-beta.13"],"91.0.4448.0":["13.0.0-beta.14","13.0.0-beta.16","13.0.0-beta.17","13.0.0-beta.18","13.0.0-beta.20"],"91.0.4472.33":["13.0.0-beta.21","13.0.0-beta.22","13.0.0-beta.23"],"91.0.4472.38":["13.0.0-beta.24","13.0.0-beta.25","13.0.0-beta.26","13.0.0-beta.27","13.0.0-beta.28"],"91.0.4472.69":["13.0.0","13.0.1"],"91.0.4472.77":["13.1.0","13.1.1","13.1.2"],"91.0.4472.106":["13.1.3","13.1.4"],"91.0.4472.124":["13.1.5","13.1.6","13.1.7"],"91.0.4472.164":["13.1.8","13.1.9","13.2.0","13.2.1","13.2.2","13.2.3","13.3.0","13.4.0","13.5.0","13.5.1","13.5.2","13.6.0","13.6.1","13.6.2","13.6.3","13.6.6","13.6.7","13.6.8","13.6.9"],"92.0.4511.0":["14.0.0-beta.1","14.0.0-beta.2","14.0.0-beta.3"],"93.0.4536.0":["14.0.0-beta.5","14.0.0-beta.6","14.0.0-beta.7","14.0.0-beta.8"],"93.0.4539.0":["14.0.0-beta.9","14.0.0-beta.10"],"93.0.4557.4":["14.0.0-beta.11","14.0.0-beta.12"],"93.0.4566.0":["14.0.0-beta.13","14.0.0-beta.14","14.0.0-beta.15","14.0.0-beta.16","14.0.0-beta.17","15.0.0-alpha.1","15.0.0-alpha.2"],"93.0.4577.15":["14.0.0-beta.18","14.0.0-beta.19","14.0.0-beta.20","14.0.0-beta.21"],"93.0.4577.25":["14.0.0-beta.22","14.0.0-beta.23"],"93.0.4577.51":["14.0.0-beta.24","14.0.0-beta.25"],"93.0.4577.58":["14.0.0"],"93.0.4577.63":["14.0.1"],"93.0.4577.82":["14.0.2","14.1.0","14.1.1","14.2.0","14.2.1","14.2.2","14.2.3","14.2.4","14.2.5","14.2.6","14.2.7","14.2.8","14.2.9"],"94.0.4584.0":["15.0.0-alpha.3","15.0.0-alpha.4","15.0.0-alpha.5","15.0.0-alpha.6"],"94.0.4590.2":["15.0.0-alpha.7","15.0.0-alpha.8","15.0.0-alpha.9"],"94.0.4606.12":["15.0.0-alpha.10"],"94.0.4606.20":["15.0.0-beta.1","15.0.0-beta.2"],"94.0.4606.31":["15.0.0-beta.3","15.0.0-beta.4","15.0.0-beta.5","15.0.0-beta.6","15.0.0-beta.7"],"94.0.4606.51":["15.0.0"],"94.0.4606.61":["15.1.0","15.1.1"],"94.0.4606.71":["15.1.2"],"94.0.4606.81":["15.2.0","15.3.0","15.3.1","15.3.2","15.3.3","15.3.4","15.3.5","15.3.6","15.3.7","15.4.0","15.4.1","15.4.2","15.5.0","15.5.1","15.5.2","15.5.3","15.5.4","15.5.5","15.5.6","15.5.7"],"95.0.4629.0":["16.0.0-alpha.1","16.0.0-alpha.2","16.0.0-alpha.3","16.0.0-alpha.4","16.0.0-alpha.5","16.0.0-alpha.6","16.0.0-alpha.7"],"96.0.4647.0":["16.0.0-alpha.8","16.0.0-alpha.9","16.0.0-beta.1","16.0.0-beta.2","16.0.0-beta.3"],"96.0.4664.18":["16.0.0-beta.4","16.0.0-beta.5"],"96.0.4664.27":["16.0.0-beta.6","16.0.0-beta.7"],"96.0.4664.35":["16.0.0-beta.8","16.0.0-beta.9"],"96.0.4664.45":["16.0.0","16.0.1"],"96.0.4664.55":["16.0.2","16.0.3","16.0.4","16.0.5"],"96.0.4664.110":["16.0.6","16.0.7","16.0.8"],"96.0.4664.174":["16.0.9","16.0.10","16.1.0","16.1.1","16.2.0","16.2.1","16.2.2","16.2.3","16.2.4","16.2.5","16.2.6","16.2.7","16.2.8"],"96.0.4664.4":["17.0.0-alpha.1","17.0.0-alpha.2","17.0.0-alpha.3"],"98.0.4706.0":["17.0.0-alpha.4","17.0.0-alpha.5","17.0.0-alpha.6","17.0.0-beta.1","17.0.0-beta.2"],"98.0.4758.9":["17.0.0-beta.3"],"98.0.4758.11":["17.0.0-beta.4","17.0.0-beta.5","17.0.0-beta.6","17.0.0-beta.7","17.0.0-beta.8","17.0.0-beta.9"],"98.0.4758.74":["17.0.0"],"98.0.4758.82":["17.0.1"],"98.0.4758.102":["17.1.0"],"98.0.4758.109":["17.1.1","17.1.2","17.2.0"],"98.0.4758.141":["17.3.0","17.3.1","17.4.0","17.4.1","17.4.2","17.4.3","17.4.4","17.4.5","17.4.6","17.4.7","17.4.8","17.4.9","17.4.10","17.4.11"],"99.0.4767.0":["18.0.0-alpha.1","18.0.0-alpha.2","18.0.0-alpha.3","18.0.0-alpha.4","18.0.0-alpha.5"],"100.0.4894.0":["18.0.0-beta.1","18.0.0-beta.2","18.0.0-beta.3","18.0.0-beta.4","18.0.0-beta.5","18.0.0-beta.6"],"100.0.4896.56":["18.0.0"],"100.0.4896.60":["18.0.1","18.0.2"],"100.0.4896.75":["18.0.3","18.0.4"],"100.0.4896.127":["18.1.0"],"100.0.4896.143":["18.2.0","18.2.1","18.2.2","18.2.3"],"100.0.4896.160":["18.2.4","18.3.0","18.3.1","18.3.2","18.3.3","18.3.4","18.3.5","18.3.6","18.3.7","18.3.8","18.3.9","18.3.11","18.3.12","18.3.13","18.3.14","18.3.15"],"102.0.4962.3":["19.0.0-alpha.1"],"102.0.4971.0":["19.0.0-alpha.2","19.0.0-alpha.3"],"102.0.4989.0":["19.0.0-alpha.4","19.0.0-alpha.5"],"102.0.4999.0":["19.0.0-beta.1","19.0.0-beta.2","19.0.0-beta.3"],"102.0.5005.27":["19.0.0-beta.4"],"102.0.5005.40":["19.0.0-beta.5","19.0.0-beta.6","19.0.0-beta.7"],"102.0.5005.49":["19.0.0-beta.8"],"102.0.5005.61":["19.0.0","19.0.1"],"102.0.5005.63":["19.0.2","19.0.3","19.0.4"],"102.0.5005.115":["19.0.5","19.0.6"],"102.0.5005.134":["19.0.7"],"102.0.5005.148":["19.0.8"],"102.0.5005.167":["19.0.9","19.0.10","19.0.11","19.0.12","19.0.13","19.0.14","19.0.15","19.0.16","19.0.17","19.1.0","19.1.1","19.1.2","19.1.3","19.1.4","19.1.5","19.1.6","19.1.7","19.1.8","19.1.9"],"103.0.5044.0":["20.0.0-alpha.1"],"104.0.5073.0":["20.0.0-alpha.2","20.0.0-alpha.3","20.0.0-alpha.4","20.0.0-alpha.5","20.0.0-alpha.6","20.0.0-alpha.7","20.0.0-beta.1","20.0.0-beta.2","20.0.0-beta.3","20.0.0-beta.4","20.0.0-beta.5","20.0.0-beta.6","20.0.0-beta.7","20.0.0-beta.8"],"104.0.5112.39":["20.0.0-beta.9"],"104.0.5112.48":["20.0.0-beta.10","20.0.0-beta.11","20.0.0-beta.12"],"104.0.5112.57":["20.0.0-beta.13"],"104.0.5112.65":["20.0.0"],"104.0.5112.81":["20.0.1","20.0.2","20.0.3"],"104.0.5112.102":["20.1.0","20.1.1"],"104.0.5112.114":["20.1.2","20.1.3","20.1.4"],"104.0.5112.124":["20.2.0","20.3.0","20.3.1","20.3.2","20.3.3","20.3.4","20.3.5","20.3.6","20.3.7","20.3.8","20.3.9","20.3.10","20.3.11","20.3.12"],"105.0.5187.0":["21.0.0-alpha.1","21.0.0-alpha.2","21.0.0-alpha.3","21.0.0-alpha.4","21.0.0-alpha.5"],"106.0.5216.0":["21.0.0-alpha.6","21.0.0-beta.1","21.0.0-beta.2","21.0.0-beta.3","21.0.0-beta.4","21.0.0-beta.5"],"106.0.5249.40":["21.0.0-beta.6","21.0.0-beta.7","21.0.0-beta.8"],"106.0.5249.51":["21.0.0"],"106.0.5249.61":["21.0.1"],"106.0.5249.91":["21.1.0"],"106.0.5249.103":["21.1.1"],"106.0.5249.119":["21.2.0"],"106.0.5249.165":["21.2.1"],"106.0.5249.168":["21.2.2","21.2.3"],"106.0.5249.181":["21.3.0","21.3.1"],"106.0.5249.199":["21.3.3","21.3.4","21.3.5","21.4.0","21.4.1","21.4.2","21.4.3","21.4.4"],"107.0.5286.0":["22.0.0-alpha.1"],"108.0.5329.0":["22.0.0-alpha.3","22.0.0-alpha.4","22.0.0-alpha.5","22.0.0-alpha.6"],"108.0.5355.0":["22.0.0-alpha.7"],"108.0.5359.10":["22.0.0-alpha.8","22.0.0-beta.1","22.0.0-beta.2","22.0.0-beta.3"],"108.0.5359.29":["22.0.0-beta.4"],"108.0.5359.40":["22.0.0-beta.5","22.0.0-beta.6"],"108.0.5359.48":["22.0.0-beta.7","22.0.0-beta.8"],"108.0.5359.62":["22.0.0"],"108.0.5359.125":["22.0.1"],"108.0.5359.179":["22.0.2","22.0.3","22.1.0"],"108.0.5359.215":["22.2.0","22.2.1","22.3.0","22.3.1","22.3.2","22.3.3","22.3.4","22.3.5","22.3.6","22.3.7","22.3.8","22.3.9","22.3.10","22.3.11","22.3.12","22.3.13","22.3.14","22.3.15","22.3.16","22.3.17","22.3.18","22.3.20","22.3.21","22.3.22","22.3.23","22.3.24","22.3.25","22.3.26","22.3.27"],"110.0.5415.0":["23.0.0-alpha.1"],"110.0.5451.0":["23.0.0-alpha.2","23.0.0-alpha.3"],"110.0.5478.5":["23.0.0-beta.1","23.0.0-beta.2","23.0.0-beta.3"],"110.0.5481.30":["23.0.0-beta.4"],"110.0.5481.38":["23.0.0-beta.5"],"110.0.5481.52":["23.0.0-beta.6","23.0.0-beta.8"],"110.0.5481.77":["23.0.0"],"110.0.5481.100":["23.1.0"],"110.0.5481.104":["23.1.1"],"110.0.5481.177":["23.1.2"],"110.0.5481.179":["23.1.3"],"110.0.5481.192":["23.1.4","23.2.0"],"110.0.5481.208":["23.2.1","23.2.2","23.2.3","23.2.4","23.3.0","23.3.1","23.3.2","23.3.3","23.3.4","23.3.5","23.3.6","23.3.7","23.3.8","23.3.9","23.3.10","23.3.11","23.3.12","23.3.13"],"111.0.5560.0":["24.0.0-alpha.1","24.0.0-alpha.2","24.0.0-alpha.3","24.0.0-alpha.4","24.0.0-alpha.5","24.0.0-alpha.6","24.0.0-alpha.7"],"111.0.5563.50":["24.0.0-beta.1","24.0.0-beta.2"],"112.0.5615.20":["24.0.0-beta.3","24.0.0-beta.4"],"112.0.5615.29":["24.0.0-beta.5"],"112.0.5615.39":["24.0.0-beta.6","24.0.0-beta.7"],"112.0.5615.49":["24.0.0"],"112.0.5615.50":["24.1.0","24.1.1"],"112.0.5615.87":["24.1.2"],"112.0.5615.165":["24.1.3","24.2.0","24.3.0"],"112.0.5615.183":["24.3.1"],"112.0.5615.204":["24.4.0","24.4.1","24.5.0","24.5.1","24.6.0","24.6.1","24.6.2","24.6.3","24.6.4","24.6.5","24.7.0","24.7.1","24.8.0","24.8.1","24.8.2","24.8.3","24.8.4","24.8.5","24.8.6","24.8.7","24.8.8"],"114.0.5694.0":["25.0.0-alpha.1","25.0.0-alpha.2"],"114.0.5710.0":["25.0.0-alpha.3","25.0.0-alpha.4"],"114.0.5719.0":["25.0.0-alpha.5","25.0.0-alpha.6","25.0.0-beta.1","25.0.0-beta.2","25.0.0-beta.3"],"114.0.5735.16":["25.0.0-beta.4","25.0.0-beta.5","25.0.0-beta.6","25.0.0-beta.7"],"114.0.5735.35":["25.0.0-beta.8"],"114.0.5735.45":["25.0.0-beta.9","25.0.0","25.0.1"],"114.0.5735.106":["25.1.0","25.1.1"],"114.0.5735.134":["25.2.0"],"114.0.5735.199":["25.3.0"],"114.0.5735.243":["25.3.1"],"114.0.5735.248":["25.3.2","25.4.0"],"114.0.5735.289":["25.5.0","25.6.0","25.7.0","25.8.0","25.8.1","25.8.2","25.8.3","25.8.4","25.9.0","25.9.1","25.9.2","25.9.3","25.9.4","25.9.5","25.9.6","25.9.7","25.9.8"],"116.0.5791.0":["26.0.0-alpha.1","26.0.0-alpha.2","26.0.0-alpha.3","26.0.0-alpha.4","26.0.0-alpha.5"],"116.0.5815.0":["26.0.0-alpha.6"],"116.0.5831.0":["26.0.0-alpha.7"],"116.0.5845.0":["26.0.0-alpha.8","26.0.0-beta.1"],"116.0.5845.14":["26.0.0-beta.2","26.0.0-beta.3","26.0.0-beta.4","26.0.0-beta.5","26.0.0-beta.6","26.0.0-beta.7"],"116.0.5845.42":["26.0.0-beta.8","26.0.0-beta.9"],"116.0.5845.49":["26.0.0-beta.10","26.0.0-beta.11"],"116.0.5845.62":["26.0.0-beta.12"],"116.0.5845.82":["26.0.0"],"116.0.5845.97":["26.1.0"],"116.0.5845.179":["26.2.0"],"116.0.5845.188":["26.2.1"],"116.0.5845.190":["26.2.2","26.2.3","26.2.4"],"116.0.5845.228":["26.3.0","26.4.0","26.4.1","26.4.2","26.4.3","26.5.0","26.6.0","26.6.1","26.6.2","26.6.3","26.6.4","26.6.5","26.6.6","26.6.7","26.6.8","26.6.9","26.6.10"],"118.0.5949.0":["27.0.0-alpha.1","27.0.0-alpha.2","27.0.0-alpha.3","27.0.0-alpha.4","27.0.0-alpha.5","27.0.0-alpha.6"],"118.0.5993.5":["27.0.0-beta.1","27.0.0-beta.2","27.0.0-beta.3"],"118.0.5993.11":["27.0.0-beta.4"],"118.0.5993.18":["27.0.0-beta.5","27.0.0-beta.6","27.0.0-beta.7","27.0.0-beta.8","27.0.0-beta.9"],"118.0.5993.54":["27.0.0"],"118.0.5993.89":["27.0.1","27.0.2"],"118.0.5993.120":["27.0.3"],"118.0.5993.129":["27.0.4"],"118.0.5993.144":["27.1.0","27.1.2"],"118.0.5993.159":["27.1.3","27.2.0","27.2.1","27.2.2","27.2.3","27.2.4","27.3.0","27.3.1","27.3.2","27.3.3","27.3.4","27.3.5","27.3.6","27.3.7","27.3.8","27.3.9","27.3.10","27.3.11"],"119.0.6045.0":["28.0.0-alpha.1","28.0.0-alpha.2"],"119.0.6045.21":["28.0.0-alpha.3","28.0.0-alpha.4"],"119.0.6045.33":["28.0.0-alpha.5","28.0.0-alpha.6","28.0.0-alpha.7","28.0.0-beta.1"],"120.0.6099.0":["28.0.0-beta.2"],"120.0.6099.5":["28.0.0-beta.3","28.0.0-beta.4"],"120.0.6099.18":["28.0.0-beta.5","28.0.0-beta.6","28.0.0-beta.7","28.0.0-beta.8","28.0.0-beta.9","28.0.0-beta.10"],"120.0.6099.35":["28.0.0-beta.11"],"120.0.6099.56":["28.0.0"],"120.0.6099.109":["28.1.0","28.1.1"],"120.0.6099.199":["28.1.2","28.1.3"],"120.0.6099.216":["28.1.4"],"120.0.6099.227":["28.2.0"],"120.0.6099.268":["28.2.1"],"120.0.6099.276":["28.2.2"],"120.0.6099.283":["28.2.3"],"120.0.6099.291":["28.2.4","28.2.5","28.2.6","28.2.7","28.2.8","28.2.9","28.2.10","28.3.0","28.3.1","28.3.2","28.3.3"],"121.0.6147.0":["29.0.0-alpha.1","29.0.0-alpha.2","29.0.0-alpha.3"],"121.0.6159.0":["29.0.0-alpha.4","29.0.0-alpha.5","29.0.0-alpha.6","29.0.0-alpha.7"],"122.0.6194.0":["29.0.0-alpha.8"],"122.0.6236.2":["29.0.0-alpha.9","29.0.0-alpha.10","29.0.0-alpha.11","29.0.0-beta.1","29.0.0-beta.2"],"122.0.6261.6":["29.0.0-beta.3","29.0.0-beta.4"],"122.0.6261.18":["29.0.0-beta.5","29.0.0-beta.6","29.0.0-beta.7","29.0.0-beta.8","29.0.0-beta.9","29.0.0-beta.10","29.0.0-beta.11"],"122.0.6261.29":["29.0.0-beta.12"],"122.0.6261.39":["29.0.0"],"122.0.6261.57":["29.0.1"],"122.0.6261.70":["29.1.0"],"122.0.6261.111":["29.1.1"],"122.0.6261.112":["29.1.2","29.1.3"],"122.0.6261.129":["29.1.4"],"122.0.6261.130":["29.1.5"],"122.0.6261.139":["29.1.6"],"122.0.6261.156":["29.2.0","29.3.0","29.3.1","29.3.2","29.3.3","29.4.0","29.4.1","29.4.2","29.4.3","29.4.4","29.4.5","29.4.6"],"123.0.6296.0":["30.0.0-alpha.1"],"123.0.6312.5":["30.0.0-alpha.2"],"124.0.6323.0":["30.0.0-alpha.3","30.0.0-alpha.4"],"124.0.6331.0":["30.0.0-alpha.5","30.0.0-alpha.6"],"124.0.6353.0":["30.0.0-alpha.7"],"124.0.6359.0":["30.0.0-beta.1","30.0.0-beta.2"],"124.0.6367.9":["30.0.0-beta.3","30.0.0-beta.4","30.0.0-beta.5"],"124.0.6367.18":["30.0.0-beta.6"],"124.0.6367.29":["30.0.0-beta.7","30.0.0-beta.8"],"124.0.6367.49":["30.0.0"],"124.0.6367.60":["30.0.1"],"124.0.6367.91":["30.0.2"],"124.0.6367.119":["30.0.3"],"124.0.6367.201":["30.0.4"],"124.0.6367.207":["30.0.5","30.0.6"],"124.0.6367.221":["30.0.7"],"124.0.6367.230":["30.0.8"],"124.0.6367.233":["30.0.9"],"124.0.6367.243":["30.1.0","30.1.1","30.1.2","30.2.0","30.3.0","30.3.1","30.4.0","30.5.0","30.5.1"],"125.0.6412.0":["31.0.0-alpha.1","31.0.0-alpha.2","31.0.0-alpha.3","31.0.0-alpha.4","31.0.0-alpha.5"],"126.0.6445.0":["31.0.0-beta.1","31.0.0-beta.2","31.0.0-beta.3","31.0.0-beta.4","31.0.0-beta.5","31.0.0-beta.6","31.0.0-beta.7","31.0.0-beta.8","31.0.0-beta.9"],"126.0.6478.36":["31.0.0-beta.10","31.0.0","31.0.1"],"126.0.6478.61":["31.0.2"],"126.0.6478.114":["31.1.0"],"126.0.6478.127":["31.2.0","31.2.1"],"126.0.6478.183":["31.3.0"],"126.0.6478.185":["31.3.1"],"126.0.6478.234":["31.4.0","31.5.0","31.6.0","31.7.0","31.7.1","31.7.2","31.7.3","31.7.4","31.7.5","31.7.6"],"127.0.6521.0":["32.0.0-alpha.1","32.0.0-alpha.2","32.0.0-alpha.3","32.0.0-alpha.4","32.0.0-alpha.5"],"128.0.6571.0":["32.0.0-alpha.6","32.0.0-alpha.7"],"128.0.6573.0":["32.0.0-alpha.8","32.0.0-alpha.9","32.0.0-alpha.10","32.0.0-beta.1"],"128.0.6611.0":["32.0.0-beta.2"],"128.0.6613.7":["32.0.0-beta.3"],"128.0.6613.18":["32.0.0-beta.4"],"128.0.6613.27":["32.0.0-beta.5","32.0.0-beta.6","32.0.0-beta.7"],"128.0.6613.36":["32.0.0","32.0.1"],"128.0.6613.84":["32.0.2"],"128.0.6613.120":["32.1.0"],"128.0.6613.137":["32.1.1"],"128.0.6613.162":["32.1.2"],"128.0.6613.178":["32.2.0"],"128.0.6613.186":["32.2.1","32.2.2","32.2.3","32.2.4","32.2.5","32.2.6","32.2.7"],"129.0.6668.0":["33.0.0-alpha.1"],"130.0.6672.0":["33.0.0-alpha.2","33.0.0-alpha.3","33.0.0-alpha.4","33.0.0-alpha.5","33.0.0-alpha.6","33.0.0-beta.1","33.0.0-beta.2","33.0.0-beta.3","33.0.0-beta.4"],"130.0.6723.19":["33.0.0-beta.5","33.0.0-beta.6","33.0.0-beta.7"],"130.0.6723.31":["33.0.0-beta.8","33.0.0-beta.9","33.0.0-beta.10"],"130.0.6723.44":["33.0.0-beta.11","33.0.0"],"130.0.6723.59":["33.0.1","33.0.2"],"130.0.6723.91":["33.1.0"],"130.0.6723.118":["33.2.0"],"130.0.6723.137":["33.2.1"],"130.0.6723.152":["33.3.0"],"131.0.6776.0":["34.0.0-alpha.1"],"132.0.6779.0":["34.0.0-alpha.2"],"132.0.6789.1":["34.0.0-alpha.3","34.0.0-alpha.4","34.0.0-alpha.5","34.0.0-alpha.6","34.0.0-alpha.7"],"132.0.6820.0":["34.0.0-alpha.8"],"132.0.6824.0":["34.0.0-alpha.9","34.0.0-beta.1","34.0.0-beta.2","34.0.0-beta.3"],"132.0.6834.6":["34.0.0-beta.4","34.0.0-beta.5"],"132.0.6834.15":["34.0.0-beta.6","34.0.0-beta.7","34.0.0-beta.8"],"132.0.6834.32":["34.0.0-beta.9","34.0.0-beta.10","34.0.0-beta.11"],"132.0.6834.46":["34.0.0-beta.12"]} \ No newline at end of file diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.js b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.js deleted file mode 100644 index 48f99ce9..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.js +++ /dev/null @@ -1,1448 +0,0 @@ -module.exports = { - "0.20.0": "39.0.2171.65", - "0.20.1": "39.0.2171.65", - "0.20.2": "39.0.2171.65", - "0.20.3": "39.0.2171.65", - "0.20.4": "39.0.2171.65", - "0.20.5": "39.0.2171.65", - "0.20.6": "39.0.2171.65", - "0.20.7": "39.0.2171.65", - "0.20.8": "39.0.2171.65", - "0.21.0": "40.0.2214.91", - "0.21.1": "40.0.2214.91", - "0.21.2": "40.0.2214.91", - "0.21.3": "41.0.2272.76", - "0.22.1": "41.0.2272.76", - "0.22.2": "41.0.2272.76", - "0.22.3": "41.0.2272.76", - "0.23.0": "41.0.2272.76", - "0.24.0": "41.0.2272.76", - "0.25.0": "42.0.2311.107", - "0.25.1": "42.0.2311.107", - "0.25.2": "42.0.2311.107", - "0.25.3": "42.0.2311.107", - "0.26.0": "42.0.2311.107", - "0.26.1": "42.0.2311.107", - "0.27.0": "42.0.2311.107", - "0.27.1": "42.0.2311.107", - "0.27.2": "43.0.2357.65", - "0.27.3": "43.0.2357.65", - "0.28.0": "43.0.2357.65", - "0.28.1": "43.0.2357.65", - "0.28.2": "43.0.2357.65", - "0.28.3": "43.0.2357.65", - "0.29.1": "43.0.2357.65", - "0.29.2": "43.0.2357.65", - "0.30.4": "44.0.2403.125", - "0.31.0": "44.0.2403.125", - "0.31.2": "45.0.2454.85", - "0.32.2": "45.0.2454.85", - "0.32.3": "45.0.2454.85", - "0.33.0": "45.0.2454.85", - "0.33.1": "45.0.2454.85", - "0.33.2": "45.0.2454.85", - "0.33.3": "45.0.2454.85", - "0.33.4": "45.0.2454.85", - "0.33.6": "45.0.2454.85", - "0.33.7": "45.0.2454.85", - "0.33.8": "45.0.2454.85", - "0.33.9": "45.0.2454.85", - "0.34.0": "45.0.2454.85", - "0.34.1": "45.0.2454.85", - "0.34.2": "45.0.2454.85", - "0.34.3": "45.0.2454.85", - "0.34.4": "45.0.2454.85", - "0.35.1": "45.0.2454.85", - "0.35.2": "45.0.2454.85", - "0.35.3": "45.0.2454.85", - "0.35.4": "45.0.2454.85", - "0.35.5": "45.0.2454.85", - "0.36.0": "47.0.2526.73", - "0.36.2": "47.0.2526.73", - "0.36.3": "47.0.2526.73", - "0.36.4": "47.0.2526.73", - "0.36.5": "47.0.2526.110", - "0.36.6": "47.0.2526.110", - "0.36.7": "47.0.2526.110", - "0.36.8": "47.0.2526.110", - "0.36.9": "47.0.2526.110", - "0.36.10": "47.0.2526.110", - "0.36.11": "47.0.2526.110", - "0.36.12": "47.0.2526.110", - "0.37.0": "49.0.2623.75", - "0.37.1": "49.0.2623.75", - "0.37.3": "49.0.2623.75", - "0.37.4": "49.0.2623.75", - "0.37.5": "49.0.2623.75", - "0.37.6": "49.0.2623.75", - "0.37.7": "49.0.2623.75", - "0.37.8": "49.0.2623.75", - "1.0.0": "49.0.2623.75", - "1.0.1": "49.0.2623.75", - "1.0.2": "49.0.2623.75", - "1.1.0": "50.0.2661.102", - "1.1.1": "50.0.2661.102", - "1.1.2": "50.0.2661.102", - "1.1.3": "50.0.2661.102", - "1.2.0": "51.0.2704.63", - "1.2.1": "51.0.2704.63", - "1.2.2": "51.0.2704.84", - "1.2.3": "51.0.2704.84", - "1.2.4": "51.0.2704.103", - "1.2.5": "51.0.2704.103", - "1.2.6": "51.0.2704.106", - "1.2.7": "51.0.2704.106", - "1.2.8": "51.0.2704.106", - "1.3.0": "52.0.2743.82", - "1.3.1": "52.0.2743.82", - "1.3.2": "52.0.2743.82", - "1.3.3": "52.0.2743.82", - "1.3.4": "52.0.2743.82", - "1.3.5": "52.0.2743.82", - "1.3.6": "52.0.2743.82", - "1.3.7": "52.0.2743.82", - "1.3.9": "52.0.2743.82", - "1.3.10": "52.0.2743.82", - "1.3.13": "52.0.2743.82", - "1.3.14": "52.0.2743.82", - "1.3.15": "52.0.2743.82", - "1.4.0": "53.0.2785.113", - "1.4.1": "53.0.2785.113", - "1.4.2": "53.0.2785.113", - "1.4.3": "53.0.2785.113", - "1.4.4": "53.0.2785.113", - "1.4.5": "53.0.2785.113", - "1.4.6": "53.0.2785.143", - "1.4.7": "53.0.2785.143", - "1.4.8": "53.0.2785.143", - "1.4.10": "53.0.2785.143", - "1.4.11": "53.0.2785.143", - "1.4.12": "54.0.2840.51", - "1.4.13": "53.0.2785.143", - "1.4.14": "53.0.2785.143", - "1.4.15": "53.0.2785.143", - "1.4.16": "53.0.2785.143", - "1.5.0": "54.0.2840.101", - "1.5.1": "54.0.2840.101", - "1.6.0": "56.0.2924.87", - "1.6.1": "56.0.2924.87", - "1.6.2": "56.0.2924.87", - "1.6.3": "56.0.2924.87", - "1.6.4": "56.0.2924.87", - "1.6.5": "56.0.2924.87", - "1.6.6": "56.0.2924.87", - "1.6.7": "56.0.2924.87", - "1.6.8": "56.0.2924.87", - "1.6.9": "56.0.2924.87", - "1.6.10": "56.0.2924.87", - "1.6.11": "56.0.2924.87", - "1.6.12": "56.0.2924.87", - "1.6.13": "56.0.2924.87", - "1.6.14": "56.0.2924.87", - "1.6.15": "56.0.2924.87", - "1.6.16": "56.0.2924.87", - "1.6.17": "56.0.2924.87", - "1.6.18": "56.0.2924.87", - "1.7.0": "58.0.3029.110", - "1.7.1": "58.0.3029.110", - "1.7.2": "58.0.3029.110", - "1.7.3": "58.0.3029.110", - "1.7.4": "58.0.3029.110", - "1.7.5": "58.0.3029.110", - "1.7.6": "58.0.3029.110", - "1.7.7": "58.0.3029.110", - "1.7.8": "58.0.3029.110", - "1.7.9": "58.0.3029.110", - "1.7.10": "58.0.3029.110", - "1.7.11": "58.0.3029.110", - "1.7.12": "58.0.3029.110", - "1.7.13": "58.0.3029.110", - "1.7.14": "58.0.3029.110", - "1.7.15": "58.0.3029.110", - "1.7.16": "58.0.3029.110", - "1.8.0": "59.0.3071.115", - "1.8.1": "59.0.3071.115", - "1.8.2-beta.1": "59.0.3071.115", - "1.8.2-beta.2": "59.0.3071.115", - "1.8.2-beta.3": "59.0.3071.115", - "1.8.2-beta.4": "59.0.3071.115", - "1.8.2-beta.5": "59.0.3071.115", - "1.8.2": "59.0.3071.115", - "1.8.3": "59.0.3071.115", - "1.8.4": "59.0.3071.115", - "1.8.5": "59.0.3071.115", - "1.8.6": "59.0.3071.115", - "1.8.7": "59.0.3071.115", - "1.8.8": "59.0.3071.115", - "2.0.0-beta.1": "61.0.3163.100", - "2.0.0-beta.2": "61.0.3163.100", - "2.0.0-beta.3": "61.0.3163.100", - "2.0.0-beta.4": "61.0.3163.100", - "2.0.0-beta.5": "61.0.3163.100", - "2.0.0-beta.6": "61.0.3163.100", - "2.0.0-beta.7": "61.0.3163.100", - "2.0.0-beta.8": "61.0.3163.100", - "2.0.0": "61.0.3163.100", - "2.0.1": "61.0.3163.100", - "2.0.2": "61.0.3163.100", - "2.0.3": "61.0.3163.100", - "2.0.4": "61.0.3163.100", - "2.0.5": "61.0.3163.100", - "2.0.6": "61.0.3163.100", - "2.0.7": "61.0.3163.100", - "2.0.8": "61.0.3163.100", - "2.0.9": "61.0.3163.100", - "2.0.10": "61.0.3163.100", - "2.0.11": "61.0.3163.100", - "2.0.12": "61.0.3163.100", - "2.0.13": "61.0.3163.100", - "2.0.14": "61.0.3163.100", - "2.0.15": "61.0.3163.100", - "2.0.16": "61.0.3163.100", - "2.0.17": "61.0.3163.100", - "2.0.18": "61.0.3163.100", - "2.1.0-unsupported.20180809": "61.0.3163.100", - "3.0.0-beta.1": "66.0.3359.181", - "3.0.0-beta.2": "66.0.3359.181", - "3.0.0-beta.3": "66.0.3359.181", - "3.0.0-beta.4": "66.0.3359.181", - "3.0.0-beta.5": "66.0.3359.181", - "3.0.0-beta.6": "66.0.3359.181", - "3.0.0-beta.7": "66.0.3359.181", - "3.0.0-beta.8": "66.0.3359.181", - "3.0.0-beta.9": "66.0.3359.181", - "3.0.0-beta.10": "66.0.3359.181", - "3.0.0-beta.11": "66.0.3359.181", - "3.0.0-beta.12": "66.0.3359.181", - "3.0.0-beta.13": "66.0.3359.181", - "3.0.0": "66.0.3359.181", - "3.0.1": "66.0.3359.181", - "3.0.2": "66.0.3359.181", - "3.0.3": "66.0.3359.181", - "3.0.4": "66.0.3359.181", - "3.0.5": "66.0.3359.181", - "3.0.6": "66.0.3359.181", - "3.0.7": "66.0.3359.181", - "3.0.8": "66.0.3359.181", - "3.0.9": "66.0.3359.181", - "3.0.10": "66.0.3359.181", - "3.0.11": "66.0.3359.181", - "3.0.12": "66.0.3359.181", - "3.0.13": "66.0.3359.181", - "3.0.14": "66.0.3359.181", - "3.0.15": "66.0.3359.181", - "3.0.16": "66.0.3359.181", - "3.1.0-beta.1": "66.0.3359.181", - "3.1.0-beta.2": "66.0.3359.181", - "3.1.0-beta.3": "66.0.3359.181", - "3.1.0-beta.4": "66.0.3359.181", - "3.1.0-beta.5": "66.0.3359.181", - "3.1.0": "66.0.3359.181", - "3.1.1": "66.0.3359.181", - "3.1.2": "66.0.3359.181", - "3.1.3": "66.0.3359.181", - "3.1.4": "66.0.3359.181", - "3.1.5": "66.0.3359.181", - "3.1.6": "66.0.3359.181", - "3.1.7": "66.0.3359.181", - "3.1.8": "66.0.3359.181", - "3.1.9": "66.0.3359.181", - "3.1.10": "66.0.3359.181", - "3.1.11": "66.0.3359.181", - "3.1.12": "66.0.3359.181", - "3.1.13": "66.0.3359.181", - "4.0.0-beta.1": "69.0.3497.106", - "4.0.0-beta.2": "69.0.3497.106", - "4.0.0-beta.3": "69.0.3497.106", - "4.0.0-beta.4": "69.0.3497.106", - "4.0.0-beta.5": "69.0.3497.106", - "4.0.0-beta.6": "69.0.3497.106", - "4.0.0-beta.7": "69.0.3497.106", - "4.0.0-beta.8": "69.0.3497.106", - "4.0.0-beta.9": "69.0.3497.106", - "4.0.0-beta.10": "69.0.3497.106", - "4.0.0-beta.11": "69.0.3497.106", - "4.0.0": "69.0.3497.106", - "4.0.1": "69.0.3497.106", - "4.0.2": "69.0.3497.106", - "4.0.3": "69.0.3497.106", - "4.0.4": "69.0.3497.106", - "4.0.5": "69.0.3497.106", - "4.0.6": "69.0.3497.106", - "4.0.7": "69.0.3497.128", - "4.0.8": "69.0.3497.128", - "4.1.0": "69.0.3497.128", - "4.1.1": "69.0.3497.128", - "4.1.2": "69.0.3497.128", - "4.1.3": "69.0.3497.128", - "4.1.4": "69.0.3497.128", - "4.1.5": "69.0.3497.128", - "4.2.0": "69.0.3497.128", - "4.2.1": "69.0.3497.128", - "4.2.2": "69.0.3497.128", - "4.2.3": "69.0.3497.128", - "4.2.4": "69.0.3497.128", - "4.2.5": "69.0.3497.128", - "4.2.6": "69.0.3497.128", - "4.2.7": "69.0.3497.128", - "4.2.8": "69.0.3497.128", - "4.2.9": "69.0.3497.128", - "4.2.10": "69.0.3497.128", - "4.2.11": "69.0.3497.128", - "4.2.12": "69.0.3497.128", - "5.0.0-beta.1": "72.0.3626.52", - "5.0.0-beta.2": "72.0.3626.52", - "5.0.0-beta.3": "73.0.3683.27", - "5.0.0-beta.4": "73.0.3683.54", - "5.0.0-beta.5": "73.0.3683.61", - "5.0.0-beta.6": "73.0.3683.84", - "5.0.0-beta.7": "73.0.3683.94", - "5.0.0-beta.8": "73.0.3683.104", - "5.0.0-beta.9": "73.0.3683.117", - "5.0.0": "73.0.3683.119", - "5.0.1": "73.0.3683.121", - "5.0.2": "73.0.3683.121", - "5.0.3": "73.0.3683.121", - "5.0.4": "73.0.3683.121", - "5.0.5": "73.0.3683.121", - "5.0.6": "73.0.3683.121", - "5.0.7": "73.0.3683.121", - "5.0.8": "73.0.3683.121", - "5.0.9": "73.0.3683.121", - "5.0.10": "73.0.3683.121", - "5.0.11": "73.0.3683.121", - "5.0.12": "73.0.3683.121", - "5.0.13": "73.0.3683.121", - "6.0.0-beta.1": "76.0.3774.1", - "6.0.0-beta.2": "76.0.3783.1", - "6.0.0-beta.3": "76.0.3783.1", - "6.0.0-beta.4": "76.0.3783.1", - "6.0.0-beta.5": "76.0.3805.4", - "6.0.0-beta.6": "76.0.3809.3", - "6.0.0-beta.7": "76.0.3809.22", - "6.0.0-beta.8": "76.0.3809.26", - "6.0.0-beta.9": "76.0.3809.26", - "6.0.0-beta.10": "76.0.3809.37", - "6.0.0-beta.11": "76.0.3809.42", - "6.0.0-beta.12": "76.0.3809.54", - "6.0.0-beta.13": "76.0.3809.60", - "6.0.0-beta.14": "76.0.3809.68", - "6.0.0-beta.15": "76.0.3809.74", - "6.0.0": "76.0.3809.88", - "6.0.1": "76.0.3809.102", - "6.0.2": "76.0.3809.110", - "6.0.3": "76.0.3809.126", - "6.0.4": "76.0.3809.131", - "6.0.5": "76.0.3809.136", - "6.0.6": "76.0.3809.138", - "6.0.7": "76.0.3809.139", - "6.0.8": "76.0.3809.146", - "6.0.9": "76.0.3809.146", - "6.0.10": "76.0.3809.146", - "6.0.11": "76.0.3809.146", - "6.0.12": "76.0.3809.146", - "6.1.0": "76.0.3809.146", - "6.1.1": "76.0.3809.146", - "6.1.2": "76.0.3809.146", - "6.1.3": "76.0.3809.146", - "6.1.4": "76.0.3809.146", - "6.1.5": "76.0.3809.146", - "6.1.6": "76.0.3809.146", - "6.1.7": "76.0.3809.146", - "6.1.8": "76.0.3809.146", - "6.1.9": "76.0.3809.146", - "6.1.10": "76.0.3809.146", - "6.1.11": "76.0.3809.146", - "6.1.12": "76.0.3809.146", - "7.0.0-beta.1": "78.0.3866.0", - "7.0.0-beta.2": "78.0.3866.0", - "7.0.0-beta.3": "78.0.3866.0", - "7.0.0-beta.4": "78.0.3896.6", - "7.0.0-beta.5": "78.0.3905.1", - "7.0.0-beta.6": "78.0.3905.1", - "7.0.0-beta.7": "78.0.3905.1", - "7.0.0": "78.0.3905.1", - "7.0.1": "78.0.3904.92", - "7.1.0": "78.0.3904.94", - "7.1.1": "78.0.3904.99", - "7.1.2": "78.0.3904.113", - "7.1.3": "78.0.3904.126", - "7.1.4": "78.0.3904.130", - "7.1.5": "78.0.3904.130", - "7.1.6": "78.0.3904.130", - "7.1.7": "78.0.3904.130", - "7.1.8": "78.0.3904.130", - "7.1.9": "78.0.3904.130", - "7.1.10": "78.0.3904.130", - "7.1.11": "78.0.3904.130", - "7.1.12": "78.0.3904.130", - "7.1.13": "78.0.3904.130", - "7.1.14": "78.0.3904.130", - "7.2.0": "78.0.3904.130", - "7.2.1": "78.0.3904.130", - "7.2.2": "78.0.3904.130", - "7.2.3": "78.0.3904.130", - "7.2.4": "78.0.3904.130", - "7.3.0": "78.0.3904.130", - "7.3.1": "78.0.3904.130", - "7.3.2": "78.0.3904.130", - "7.3.3": "78.0.3904.130", - "8.0.0-beta.1": "79.0.3931.0", - "8.0.0-beta.2": "79.0.3931.0", - "8.0.0-beta.3": "80.0.3955.0", - "8.0.0-beta.4": "80.0.3955.0", - "8.0.0-beta.5": "80.0.3987.14", - "8.0.0-beta.6": "80.0.3987.51", - "8.0.0-beta.7": "80.0.3987.59", - "8.0.0-beta.8": "80.0.3987.75", - "8.0.0-beta.9": "80.0.3987.75", - "8.0.0": "80.0.3987.86", - "8.0.1": "80.0.3987.86", - "8.0.2": "80.0.3987.86", - "8.0.3": "80.0.3987.134", - "8.1.0": "80.0.3987.137", - "8.1.1": "80.0.3987.141", - "8.2.0": "80.0.3987.158", - "8.2.1": "80.0.3987.163", - "8.2.2": "80.0.3987.163", - "8.2.3": "80.0.3987.163", - "8.2.4": "80.0.3987.165", - "8.2.5": "80.0.3987.165", - "8.3.0": "80.0.3987.165", - "8.3.1": "80.0.3987.165", - "8.3.2": "80.0.3987.165", - "8.3.3": "80.0.3987.165", - "8.3.4": "80.0.3987.165", - "8.4.0": "80.0.3987.165", - "8.4.1": "80.0.3987.165", - "8.5.0": "80.0.3987.165", - "8.5.1": "80.0.3987.165", - "8.5.2": "80.0.3987.165", - "8.5.3": "80.0.3987.163", - "8.5.4": "80.0.3987.163", - "8.5.5": "80.0.3987.163", - "9.0.0-beta.1": "82.0.4048.0", - "9.0.0-beta.2": "82.0.4048.0", - "9.0.0-beta.3": "82.0.4048.0", - "9.0.0-beta.4": "82.0.4048.0", - "9.0.0-beta.5": "82.0.4048.0", - "9.0.0-beta.6": "82.0.4058.2", - "9.0.0-beta.7": "82.0.4058.2", - "9.0.0-beta.9": "82.0.4058.2", - "9.0.0-beta.10": "82.0.4085.10", - "9.0.0-beta.11": "82.0.4085.14", - "9.0.0-beta.12": "82.0.4085.14", - "9.0.0-beta.13": "82.0.4085.14", - "9.0.0-beta.14": "82.0.4085.27", - "9.0.0-beta.15": "83.0.4102.3", - "9.0.0-beta.16": "83.0.4102.3", - "9.0.0-beta.17": "83.0.4103.14", - "9.0.0-beta.18": "83.0.4103.16", - "9.0.0-beta.19": "83.0.4103.24", - "9.0.0-beta.20": "83.0.4103.26", - "9.0.0-beta.21": "83.0.4103.26", - "9.0.0-beta.22": "83.0.4103.34", - "9.0.0-beta.23": "83.0.4103.44", - "9.0.0-beta.24": "83.0.4103.45", - "9.0.0": "83.0.4103.64", - "9.0.1": "83.0.4103.94", - "9.0.2": "83.0.4103.94", - "9.0.3": "83.0.4103.100", - "9.0.4": "83.0.4103.104", - "9.0.5": "83.0.4103.119", - "9.1.0": "83.0.4103.122", - "9.1.1": "83.0.4103.122", - "9.1.2": "83.0.4103.122", - "9.2.0": "83.0.4103.122", - "9.2.1": "83.0.4103.122", - "9.3.0": "83.0.4103.122", - "9.3.1": "83.0.4103.122", - "9.3.2": "83.0.4103.122", - "9.3.3": "83.0.4103.122", - "9.3.4": "83.0.4103.122", - "9.3.5": "83.0.4103.122", - "9.4.0": "83.0.4103.122", - "9.4.1": "83.0.4103.122", - "9.4.2": "83.0.4103.122", - "9.4.3": "83.0.4103.122", - "9.4.4": "83.0.4103.122", - "10.0.0-beta.1": "84.0.4129.0", - "10.0.0-beta.2": "84.0.4129.0", - "10.0.0-beta.3": "85.0.4161.2", - "10.0.0-beta.4": "85.0.4161.2", - "10.0.0-beta.8": "85.0.4181.1", - "10.0.0-beta.9": "85.0.4181.1", - "10.0.0-beta.10": "85.0.4183.19", - "10.0.0-beta.11": "85.0.4183.20", - "10.0.0-beta.12": "85.0.4183.26", - "10.0.0-beta.13": "85.0.4183.39", - "10.0.0-beta.14": "85.0.4183.39", - "10.0.0-beta.15": "85.0.4183.39", - "10.0.0-beta.17": "85.0.4183.39", - "10.0.0-beta.19": "85.0.4183.39", - "10.0.0-beta.20": "85.0.4183.39", - "10.0.0-beta.21": "85.0.4183.39", - "10.0.0-beta.23": "85.0.4183.70", - "10.0.0-beta.24": "85.0.4183.78", - "10.0.0-beta.25": "85.0.4183.80", - "10.0.0": "85.0.4183.84", - "10.0.1": "85.0.4183.86", - "10.1.0": "85.0.4183.87", - "10.1.1": "85.0.4183.93", - "10.1.2": "85.0.4183.98", - "10.1.3": "85.0.4183.121", - "10.1.4": "85.0.4183.121", - "10.1.5": "85.0.4183.121", - "10.1.6": "85.0.4183.121", - "10.1.7": "85.0.4183.121", - "10.2.0": "85.0.4183.121", - "10.3.0": "85.0.4183.121", - "10.3.1": "85.0.4183.121", - "10.3.2": "85.0.4183.121", - "10.4.0": "85.0.4183.121", - "10.4.1": "85.0.4183.121", - "10.4.2": "85.0.4183.121", - "10.4.3": "85.0.4183.121", - "10.4.4": "85.0.4183.121", - "10.4.5": "85.0.4183.121", - "10.4.6": "85.0.4183.121", - "10.4.7": "85.0.4183.121", - "11.0.0-beta.1": "86.0.4234.0", - "11.0.0-beta.3": "86.0.4234.0", - "11.0.0-beta.4": "86.0.4234.0", - "11.0.0-beta.5": "86.0.4234.0", - "11.0.0-beta.6": "86.0.4234.0", - "11.0.0-beta.7": "86.0.4234.0", - "11.0.0-beta.8": "87.0.4251.1", - "11.0.0-beta.9": "87.0.4251.1", - "11.0.0-beta.11": "87.0.4251.1", - "11.0.0-beta.12": "87.0.4280.11", - "11.0.0-beta.13": "87.0.4280.11", - "11.0.0-beta.16": "87.0.4280.27", - "11.0.0-beta.17": "87.0.4280.27", - "11.0.0-beta.18": "87.0.4280.27", - "11.0.0-beta.19": "87.0.4280.27", - "11.0.0-beta.20": "87.0.4280.40", - "11.0.0-beta.22": "87.0.4280.47", - "11.0.0-beta.23": "87.0.4280.47", - "11.0.0": "87.0.4280.60", - "11.0.1": "87.0.4280.60", - "11.0.2": "87.0.4280.67", - "11.0.3": "87.0.4280.67", - "11.0.4": "87.0.4280.67", - "11.0.5": "87.0.4280.88", - "11.1.0": "87.0.4280.88", - "11.1.1": "87.0.4280.88", - "11.2.0": "87.0.4280.141", - "11.2.1": "87.0.4280.141", - "11.2.2": "87.0.4280.141", - "11.2.3": "87.0.4280.141", - "11.3.0": "87.0.4280.141", - "11.4.0": "87.0.4280.141", - "11.4.1": "87.0.4280.141", - "11.4.2": "87.0.4280.141", - "11.4.3": "87.0.4280.141", - "11.4.4": "87.0.4280.141", - "11.4.5": "87.0.4280.141", - "11.4.6": "87.0.4280.141", - "11.4.7": "87.0.4280.141", - "11.4.8": "87.0.4280.141", - "11.4.9": "87.0.4280.141", - "11.4.10": "87.0.4280.141", - "11.4.11": "87.0.4280.141", - "11.4.12": "87.0.4280.141", - "11.5.0": "87.0.4280.141", - "12.0.0-beta.1": "89.0.4328.0", - "12.0.0-beta.3": "89.0.4328.0", - "12.0.0-beta.4": "89.0.4328.0", - "12.0.0-beta.5": "89.0.4328.0", - "12.0.0-beta.6": "89.0.4328.0", - "12.0.0-beta.7": "89.0.4328.0", - "12.0.0-beta.8": "89.0.4328.0", - "12.0.0-beta.9": "89.0.4328.0", - "12.0.0-beta.10": "89.0.4328.0", - "12.0.0-beta.11": "89.0.4328.0", - "12.0.0-beta.12": "89.0.4328.0", - "12.0.0-beta.14": "89.0.4328.0", - "12.0.0-beta.16": "89.0.4348.1", - "12.0.0-beta.18": "89.0.4348.1", - "12.0.0-beta.19": "89.0.4348.1", - "12.0.0-beta.20": "89.0.4348.1", - "12.0.0-beta.21": "89.0.4388.2", - "12.0.0-beta.22": "89.0.4388.2", - "12.0.0-beta.23": "89.0.4388.2", - "12.0.0-beta.24": "89.0.4388.2", - "12.0.0-beta.25": "89.0.4388.2", - "12.0.0-beta.26": "89.0.4388.2", - "12.0.0-beta.27": "89.0.4389.23", - "12.0.0-beta.28": "89.0.4389.23", - "12.0.0-beta.29": "89.0.4389.23", - "12.0.0-beta.30": "89.0.4389.58", - "12.0.0-beta.31": "89.0.4389.58", - "12.0.0": "89.0.4389.69", - "12.0.1": "89.0.4389.82", - "12.0.2": "89.0.4389.90", - "12.0.3": "89.0.4389.114", - "12.0.4": "89.0.4389.114", - "12.0.5": "89.0.4389.128", - "12.0.6": "89.0.4389.128", - "12.0.7": "89.0.4389.128", - "12.0.8": "89.0.4389.128", - "12.0.9": "89.0.4389.128", - "12.0.10": "89.0.4389.128", - "12.0.11": "89.0.4389.128", - "12.0.12": "89.0.4389.128", - "12.0.13": "89.0.4389.128", - "12.0.14": "89.0.4389.128", - "12.0.15": "89.0.4389.128", - "12.0.16": "89.0.4389.128", - "12.0.17": "89.0.4389.128", - "12.0.18": "89.0.4389.128", - "12.1.0": "89.0.4389.128", - "12.1.1": "89.0.4389.128", - "12.1.2": "89.0.4389.128", - "12.2.0": "89.0.4389.128", - "12.2.1": "89.0.4389.128", - "12.2.2": "89.0.4389.128", - "12.2.3": "89.0.4389.128", - "13.0.0-beta.2": "90.0.4402.0", - "13.0.0-beta.3": "90.0.4402.0", - "13.0.0-beta.4": "90.0.4415.0", - "13.0.0-beta.5": "90.0.4415.0", - "13.0.0-beta.6": "90.0.4415.0", - "13.0.0-beta.7": "90.0.4415.0", - "13.0.0-beta.8": "90.0.4415.0", - "13.0.0-beta.9": "90.0.4415.0", - "13.0.0-beta.10": "90.0.4415.0", - "13.0.0-beta.11": "90.0.4415.0", - "13.0.0-beta.12": "90.0.4415.0", - "13.0.0-beta.13": "90.0.4415.0", - "13.0.0-beta.14": "91.0.4448.0", - "13.0.0-beta.16": "91.0.4448.0", - "13.0.0-beta.17": "91.0.4448.0", - "13.0.0-beta.18": "91.0.4448.0", - "13.0.0-beta.20": "91.0.4448.0", - "13.0.0-beta.21": "91.0.4472.33", - "13.0.0-beta.22": "91.0.4472.33", - "13.0.0-beta.23": "91.0.4472.33", - "13.0.0-beta.24": "91.0.4472.38", - "13.0.0-beta.25": "91.0.4472.38", - "13.0.0-beta.26": "91.0.4472.38", - "13.0.0-beta.27": "91.0.4472.38", - "13.0.0-beta.28": "91.0.4472.38", - "13.0.0": "91.0.4472.69", - "13.0.1": "91.0.4472.69", - "13.1.0": "91.0.4472.77", - "13.1.1": "91.0.4472.77", - "13.1.2": "91.0.4472.77", - "13.1.3": "91.0.4472.106", - "13.1.4": "91.0.4472.106", - "13.1.5": "91.0.4472.124", - "13.1.6": "91.0.4472.124", - "13.1.7": "91.0.4472.124", - "13.1.8": "91.0.4472.164", - "13.1.9": "91.0.4472.164", - "13.2.0": "91.0.4472.164", - "13.2.1": "91.0.4472.164", - "13.2.2": "91.0.4472.164", - "13.2.3": "91.0.4472.164", - "13.3.0": "91.0.4472.164", - "13.4.0": "91.0.4472.164", - "13.5.0": "91.0.4472.164", - "13.5.1": "91.0.4472.164", - "13.5.2": "91.0.4472.164", - "13.6.0": "91.0.4472.164", - "13.6.1": "91.0.4472.164", - "13.6.2": "91.0.4472.164", - "13.6.3": "91.0.4472.164", - "13.6.6": "91.0.4472.164", - "13.6.7": "91.0.4472.164", - "13.6.8": "91.0.4472.164", - "13.6.9": "91.0.4472.164", - "14.0.0-beta.1": "92.0.4511.0", - "14.0.0-beta.2": "92.0.4511.0", - "14.0.0-beta.3": "92.0.4511.0", - "14.0.0-beta.5": "93.0.4536.0", - "14.0.0-beta.6": "93.0.4536.0", - "14.0.0-beta.7": "93.0.4536.0", - "14.0.0-beta.8": "93.0.4536.0", - "14.0.0-beta.9": "93.0.4539.0", - "14.0.0-beta.10": "93.0.4539.0", - "14.0.0-beta.11": "93.0.4557.4", - "14.0.0-beta.12": "93.0.4557.4", - "14.0.0-beta.13": "93.0.4566.0", - "14.0.0-beta.14": "93.0.4566.0", - "14.0.0-beta.15": "93.0.4566.0", - "14.0.0-beta.16": "93.0.4566.0", - "14.0.0-beta.17": "93.0.4566.0", - "14.0.0-beta.18": "93.0.4577.15", - "14.0.0-beta.19": "93.0.4577.15", - "14.0.0-beta.20": "93.0.4577.15", - "14.0.0-beta.21": "93.0.4577.15", - "14.0.0-beta.22": "93.0.4577.25", - "14.0.0-beta.23": "93.0.4577.25", - "14.0.0-beta.24": "93.0.4577.51", - "14.0.0-beta.25": "93.0.4577.51", - "14.0.0": "93.0.4577.58", - "14.0.1": "93.0.4577.63", - "14.0.2": "93.0.4577.82", - "14.1.0": "93.0.4577.82", - "14.1.1": "93.0.4577.82", - "14.2.0": "93.0.4577.82", - "14.2.1": "93.0.4577.82", - "14.2.2": "93.0.4577.82", - "14.2.3": "93.0.4577.82", - "14.2.4": "93.0.4577.82", - "14.2.5": "93.0.4577.82", - "14.2.6": "93.0.4577.82", - "14.2.7": "93.0.4577.82", - "14.2.8": "93.0.4577.82", - "14.2.9": "93.0.4577.82", - "15.0.0-alpha.1": "93.0.4566.0", - "15.0.0-alpha.2": "93.0.4566.0", - "15.0.0-alpha.3": "94.0.4584.0", - "15.0.0-alpha.4": "94.0.4584.0", - "15.0.0-alpha.5": "94.0.4584.0", - "15.0.0-alpha.6": "94.0.4584.0", - "15.0.0-alpha.7": "94.0.4590.2", - "15.0.0-alpha.8": "94.0.4590.2", - "15.0.0-alpha.9": "94.0.4590.2", - "15.0.0-alpha.10": "94.0.4606.12", - "15.0.0-beta.1": "94.0.4606.20", - "15.0.0-beta.2": "94.0.4606.20", - "15.0.0-beta.3": "94.0.4606.31", - "15.0.0-beta.4": "94.0.4606.31", - "15.0.0-beta.5": "94.0.4606.31", - "15.0.0-beta.6": "94.0.4606.31", - "15.0.0-beta.7": "94.0.4606.31", - "15.0.0": "94.0.4606.51", - "15.1.0": "94.0.4606.61", - "15.1.1": "94.0.4606.61", - "15.1.2": "94.0.4606.71", - "15.2.0": "94.0.4606.81", - "15.3.0": "94.0.4606.81", - "15.3.1": "94.0.4606.81", - "15.3.2": "94.0.4606.81", - "15.3.3": "94.0.4606.81", - "15.3.4": "94.0.4606.81", - "15.3.5": "94.0.4606.81", - "15.3.6": "94.0.4606.81", - "15.3.7": "94.0.4606.81", - "15.4.0": "94.0.4606.81", - "15.4.1": "94.0.4606.81", - "15.4.2": "94.0.4606.81", - "15.5.0": "94.0.4606.81", - "15.5.1": "94.0.4606.81", - "15.5.2": "94.0.4606.81", - "15.5.3": "94.0.4606.81", - "15.5.4": "94.0.4606.81", - "15.5.5": "94.0.4606.81", - "15.5.6": "94.0.4606.81", - "15.5.7": "94.0.4606.81", - "16.0.0-alpha.1": "95.0.4629.0", - "16.0.0-alpha.2": "95.0.4629.0", - "16.0.0-alpha.3": "95.0.4629.0", - "16.0.0-alpha.4": "95.0.4629.0", - "16.0.0-alpha.5": "95.0.4629.0", - "16.0.0-alpha.6": "95.0.4629.0", - "16.0.0-alpha.7": "95.0.4629.0", - "16.0.0-alpha.8": "96.0.4647.0", - "16.0.0-alpha.9": "96.0.4647.0", - "16.0.0-beta.1": "96.0.4647.0", - "16.0.0-beta.2": "96.0.4647.0", - "16.0.0-beta.3": "96.0.4647.0", - "16.0.0-beta.4": "96.0.4664.18", - "16.0.0-beta.5": "96.0.4664.18", - "16.0.0-beta.6": "96.0.4664.27", - "16.0.0-beta.7": "96.0.4664.27", - "16.0.0-beta.8": "96.0.4664.35", - "16.0.0-beta.9": "96.0.4664.35", - "16.0.0": "96.0.4664.45", - "16.0.1": "96.0.4664.45", - "16.0.2": "96.0.4664.55", - "16.0.3": "96.0.4664.55", - "16.0.4": "96.0.4664.55", - "16.0.5": "96.0.4664.55", - "16.0.6": "96.0.4664.110", - "16.0.7": "96.0.4664.110", - "16.0.8": "96.0.4664.110", - "16.0.9": "96.0.4664.174", - "16.0.10": "96.0.4664.174", - "16.1.0": "96.0.4664.174", - "16.1.1": "96.0.4664.174", - "16.2.0": "96.0.4664.174", - "16.2.1": "96.0.4664.174", - "16.2.2": "96.0.4664.174", - "16.2.3": "96.0.4664.174", - "16.2.4": "96.0.4664.174", - "16.2.5": "96.0.4664.174", - "16.2.6": "96.0.4664.174", - "16.2.7": "96.0.4664.174", - "16.2.8": "96.0.4664.174", - "17.0.0-alpha.1": "96.0.4664.4", - "17.0.0-alpha.2": "96.0.4664.4", - "17.0.0-alpha.3": "96.0.4664.4", - "17.0.0-alpha.4": "98.0.4706.0", - "17.0.0-alpha.5": "98.0.4706.0", - "17.0.0-alpha.6": "98.0.4706.0", - "17.0.0-beta.1": "98.0.4706.0", - "17.0.0-beta.2": "98.0.4706.0", - "17.0.0-beta.3": "98.0.4758.9", - "17.0.0-beta.4": "98.0.4758.11", - "17.0.0-beta.5": "98.0.4758.11", - "17.0.0-beta.6": "98.0.4758.11", - "17.0.0-beta.7": "98.0.4758.11", - "17.0.0-beta.8": "98.0.4758.11", - "17.0.0-beta.9": "98.0.4758.11", - "17.0.0": "98.0.4758.74", - "17.0.1": "98.0.4758.82", - "17.1.0": "98.0.4758.102", - "17.1.1": "98.0.4758.109", - "17.1.2": "98.0.4758.109", - "17.2.0": "98.0.4758.109", - "17.3.0": "98.0.4758.141", - "17.3.1": "98.0.4758.141", - "17.4.0": "98.0.4758.141", - "17.4.1": "98.0.4758.141", - "17.4.2": "98.0.4758.141", - "17.4.3": "98.0.4758.141", - "17.4.4": "98.0.4758.141", - "17.4.5": "98.0.4758.141", - "17.4.6": "98.0.4758.141", - "17.4.7": "98.0.4758.141", - "17.4.8": "98.0.4758.141", - "17.4.9": "98.0.4758.141", - "17.4.10": "98.0.4758.141", - "17.4.11": "98.0.4758.141", - "18.0.0-alpha.1": "99.0.4767.0", - "18.0.0-alpha.2": "99.0.4767.0", - "18.0.0-alpha.3": "99.0.4767.0", - "18.0.0-alpha.4": "99.0.4767.0", - "18.0.0-alpha.5": "99.0.4767.0", - "18.0.0-beta.1": "100.0.4894.0", - "18.0.0-beta.2": "100.0.4894.0", - "18.0.0-beta.3": "100.0.4894.0", - "18.0.0-beta.4": "100.0.4894.0", - "18.0.0-beta.5": "100.0.4894.0", - "18.0.0-beta.6": "100.0.4894.0", - "18.0.0": "100.0.4896.56", - "18.0.1": "100.0.4896.60", - "18.0.2": "100.0.4896.60", - "18.0.3": "100.0.4896.75", - "18.0.4": "100.0.4896.75", - "18.1.0": "100.0.4896.127", - "18.2.0": "100.0.4896.143", - "18.2.1": "100.0.4896.143", - "18.2.2": "100.0.4896.143", - "18.2.3": "100.0.4896.143", - "18.2.4": "100.0.4896.160", - "18.3.0": "100.0.4896.160", - "18.3.1": "100.0.4896.160", - "18.3.2": "100.0.4896.160", - "18.3.3": "100.0.4896.160", - "18.3.4": "100.0.4896.160", - "18.3.5": "100.0.4896.160", - "18.3.6": "100.0.4896.160", - "18.3.7": "100.0.4896.160", - "18.3.8": "100.0.4896.160", - "18.3.9": "100.0.4896.160", - "18.3.11": "100.0.4896.160", - "18.3.12": "100.0.4896.160", - "18.3.13": "100.0.4896.160", - "18.3.14": "100.0.4896.160", - "18.3.15": "100.0.4896.160", - "19.0.0-alpha.1": "102.0.4962.3", - "19.0.0-alpha.2": "102.0.4971.0", - "19.0.0-alpha.3": "102.0.4971.0", - "19.0.0-alpha.4": "102.0.4989.0", - "19.0.0-alpha.5": "102.0.4989.0", - "19.0.0-beta.1": "102.0.4999.0", - "19.0.0-beta.2": "102.0.4999.0", - "19.0.0-beta.3": "102.0.4999.0", - "19.0.0-beta.4": "102.0.5005.27", - "19.0.0-beta.5": "102.0.5005.40", - "19.0.0-beta.6": "102.0.5005.40", - "19.0.0-beta.7": "102.0.5005.40", - "19.0.0-beta.8": "102.0.5005.49", - "19.0.0": "102.0.5005.61", - "19.0.1": "102.0.5005.61", - "19.0.2": "102.0.5005.63", - "19.0.3": "102.0.5005.63", - "19.0.4": "102.0.5005.63", - "19.0.5": "102.0.5005.115", - "19.0.6": "102.0.5005.115", - "19.0.7": "102.0.5005.134", - "19.0.8": "102.0.5005.148", - "19.0.9": "102.0.5005.167", - "19.0.10": "102.0.5005.167", - "19.0.11": "102.0.5005.167", - "19.0.12": "102.0.5005.167", - "19.0.13": "102.0.5005.167", - "19.0.14": "102.0.5005.167", - "19.0.15": "102.0.5005.167", - "19.0.16": "102.0.5005.167", - "19.0.17": "102.0.5005.167", - "19.1.0": "102.0.5005.167", - "19.1.1": "102.0.5005.167", - "19.1.2": "102.0.5005.167", - "19.1.3": "102.0.5005.167", - "19.1.4": "102.0.5005.167", - "19.1.5": "102.0.5005.167", - "19.1.6": "102.0.5005.167", - "19.1.7": "102.0.5005.167", - "19.1.8": "102.0.5005.167", - "19.1.9": "102.0.5005.167", - "20.0.0-alpha.1": "103.0.5044.0", - "20.0.0-alpha.2": "104.0.5073.0", - "20.0.0-alpha.3": "104.0.5073.0", - "20.0.0-alpha.4": "104.0.5073.0", - "20.0.0-alpha.5": "104.0.5073.0", - "20.0.0-alpha.6": "104.0.5073.0", - "20.0.0-alpha.7": "104.0.5073.0", - "20.0.0-beta.1": "104.0.5073.0", - "20.0.0-beta.2": "104.0.5073.0", - "20.0.0-beta.3": "104.0.5073.0", - "20.0.0-beta.4": "104.0.5073.0", - "20.0.0-beta.5": "104.0.5073.0", - "20.0.0-beta.6": "104.0.5073.0", - "20.0.0-beta.7": "104.0.5073.0", - "20.0.0-beta.8": "104.0.5073.0", - "20.0.0-beta.9": "104.0.5112.39", - "20.0.0-beta.10": "104.0.5112.48", - "20.0.0-beta.11": "104.0.5112.48", - "20.0.0-beta.12": "104.0.5112.48", - "20.0.0-beta.13": "104.0.5112.57", - "20.0.0": "104.0.5112.65", - "20.0.1": "104.0.5112.81", - "20.0.2": "104.0.5112.81", - "20.0.3": "104.0.5112.81", - "20.1.0": "104.0.5112.102", - "20.1.1": "104.0.5112.102", - "20.1.2": "104.0.5112.114", - "20.1.3": "104.0.5112.114", - "20.1.4": "104.0.5112.114", - "20.2.0": "104.0.5112.124", - "20.3.0": "104.0.5112.124", - "20.3.1": "104.0.5112.124", - "20.3.2": "104.0.5112.124", - "20.3.3": "104.0.5112.124", - "20.3.4": "104.0.5112.124", - "20.3.5": "104.0.5112.124", - "20.3.6": "104.0.5112.124", - "20.3.7": "104.0.5112.124", - "20.3.8": "104.0.5112.124", - "20.3.9": "104.0.5112.124", - "20.3.10": "104.0.5112.124", - "20.3.11": "104.0.5112.124", - "20.3.12": "104.0.5112.124", - "21.0.0-alpha.1": "105.0.5187.0", - "21.0.0-alpha.2": "105.0.5187.0", - "21.0.0-alpha.3": "105.0.5187.0", - "21.0.0-alpha.4": "105.0.5187.0", - "21.0.0-alpha.5": "105.0.5187.0", - "21.0.0-alpha.6": "106.0.5216.0", - "21.0.0-beta.1": "106.0.5216.0", - "21.0.0-beta.2": "106.0.5216.0", - "21.0.0-beta.3": "106.0.5216.0", - "21.0.0-beta.4": "106.0.5216.0", - "21.0.0-beta.5": "106.0.5216.0", - "21.0.0-beta.6": "106.0.5249.40", - "21.0.0-beta.7": "106.0.5249.40", - "21.0.0-beta.8": "106.0.5249.40", - "21.0.0": "106.0.5249.51", - "21.0.1": "106.0.5249.61", - "21.1.0": "106.0.5249.91", - "21.1.1": "106.0.5249.103", - "21.2.0": "106.0.5249.119", - "21.2.1": "106.0.5249.165", - "21.2.2": "106.0.5249.168", - "21.2.3": "106.0.5249.168", - "21.3.0": "106.0.5249.181", - "21.3.1": "106.0.5249.181", - "21.3.3": "106.0.5249.199", - "21.3.4": "106.0.5249.199", - "21.3.5": "106.0.5249.199", - "21.4.0": "106.0.5249.199", - "21.4.1": "106.0.5249.199", - "21.4.2": "106.0.5249.199", - "21.4.3": "106.0.5249.199", - "21.4.4": "106.0.5249.199", - "22.0.0-alpha.1": "107.0.5286.0", - "22.0.0-alpha.3": "108.0.5329.0", - "22.0.0-alpha.4": "108.0.5329.0", - "22.0.0-alpha.5": "108.0.5329.0", - "22.0.0-alpha.6": "108.0.5329.0", - "22.0.0-alpha.7": "108.0.5355.0", - "22.0.0-alpha.8": "108.0.5359.10", - "22.0.0-beta.1": "108.0.5359.10", - "22.0.0-beta.2": "108.0.5359.10", - "22.0.0-beta.3": "108.0.5359.10", - "22.0.0-beta.4": "108.0.5359.29", - "22.0.0-beta.5": "108.0.5359.40", - "22.0.0-beta.6": "108.0.5359.40", - "22.0.0-beta.7": "108.0.5359.48", - "22.0.0-beta.8": "108.0.5359.48", - "22.0.0": "108.0.5359.62", - "22.0.1": "108.0.5359.125", - "22.0.2": "108.0.5359.179", - "22.0.3": "108.0.5359.179", - "22.1.0": "108.0.5359.179", - "22.2.0": "108.0.5359.215", - "22.2.1": "108.0.5359.215", - "22.3.0": "108.0.5359.215", - "22.3.1": "108.0.5359.215", - "22.3.2": "108.0.5359.215", - "22.3.3": "108.0.5359.215", - "22.3.4": "108.0.5359.215", - "22.3.5": "108.0.5359.215", - "22.3.6": "108.0.5359.215", - "22.3.7": "108.0.5359.215", - "22.3.8": "108.0.5359.215", - "22.3.9": "108.0.5359.215", - "22.3.10": "108.0.5359.215", - "22.3.11": "108.0.5359.215", - "22.3.12": "108.0.5359.215", - "22.3.13": "108.0.5359.215", - "22.3.14": "108.0.5359.215", - "22.3.15": "108.0.5359.215", - "22.3.16": "108.0.5359.215", - "22.3.17": "108.0.5359.215", - "22.3.18": "108.0.5359.215", - "22.3.20": "108.0.5359.215", - "22.3.21": "108.0.5359.215", - "22.3.22": "108.0.5359.215", - "22.3.23": "108.0.5359.215", - "22.3.24": "108.0.5359.215", - "22.3.25": "108.0.5359.215", - "22.3.26": "108.0.5359.215", - "22.3.27": "108.0.5359.215", - "23.0.0-alpha.1": "110.0.5415.0", - "23.0.0-alpha.2": "110.0.5451.0", - "23.0.0-alpha.3": "110.0.5451.0", - "23.0.0-beta.1": "110.0.5478.5", - "23.0.0-beta.2": "110.0.5478.5", - "23.0.0-beta.3": "110.0.5478.5", - "23.0.0-beta.4": "110.0.5481.30", - "23.0.0-beta.5": "110.0.5481.38", - "23.0.0-beta.6": "110.0.5481.52", - "23.0.0-beta.8": "110.0.5481.52", - "23.0.0": "110.0.5481.77", - "23.1.0": "110.0.5481.100", - "23.1.1": "110.0.5481.104", - "23.1.2": "110.0.5481.177", - "23.1.3": "110.0.5481.179", - "23.1.4": "110.0.5481.192", - "23.2.0": "110.0.5481.192", - "23.2.1": "110.0.5481.208", - "23.2.2": "110.0.5481.208", - "23.2.3": "110.0.5481.208", - "23.2.4": "110.0.5481.208", - "23.3.0": "110.0.5481.208", - "23.3.1": "110.0.5481.208", - "23.3.2": "110.0.5481.208", - "23.3.3": "110.0.5481.208", - "23.3.4": "110.0.5481.208", - "23.3.5": "110.0.5481.208", - "23.3.6": "110.0.5481.208", - "23.3.7": "110.0.5481.208", - "23.3.8": "110.0.5481.208", - "23.3.9": "110.0.5481.208", - "23.3.10": "110.0.5481.208", - "23.3.11": "110.0.5481.208", - "23.3.12": "110.0.5481.208", - "23.3.13": "110.0.5481.208", - "24.0.0-alpha.1": "111.0.5560.0", - "24.0.0-alpha.2": "111.0.5560.0", - "24.0.0-alpha.3": "111.0.5560.0", - "24.0.0-alpha.4": "111.0.5560.0", - "24.0.0-alpha.5": "111.0.5560.0", - "24.0.0-alpha.6": "111.0.5560.0", - "24.0.0-alpha.7": "111.0.5560.0", - "24.0.0-beta.1": "111.0.5563.50", - "24.0.0-beta.2": "111.0.5563.50", - "24.0.0-beta.3": "112.0.5615.20", - "24.0.0-beta.4": "112.0.5615.20", - "24.0.0-beta.5": "112.0.5615.29", - "24.0.0-beta.6": "112.0.5615.39", - "24.0.0-beta.7": "112.0.5615.39", - "24.0.0": "112.0.5615.49", - "24.1.0": "112.0.5615.50", - "24.1.1": "112.0.5615.50", - "24.1.2": "112.0.5615.87", - "24.1.3": "112.0.5615.165", - "24.2.0": "112.0.5615.165", - "24.3.0": "112.0.5615.165", - "24.3.1": "112.0.5615.183", - "24.4.0": "112.0.5615.204", - "24.4.1": "112.0.5615.204", - "24.5.0": "112.0.5615.204", - "24.5.1": "112.0.5615.204", - "24.6.0": "112.0.5615.204", - "24.6.1": "112.0.5615.204", - "24.6.2": "112.0.5615.204", - "24.6.3": "112.0.5615.204", - "24.6.4": "112.0.5615.204", - "24.6.5": "112.0.5615.204", - "24.7.0": "112.0.5615.204", - "24.7.1": "112.0.5615.204", - "24.8.0": "112.0.5615.204", - "24.8.1": "112.0.5615.204", - "24.8.2": "112.0.5615.204", - "24.8.3": "112.0.5615.204", - "24.8.4": "112.0.5615.204", - "24.8.5": "112.0.5615.204", - "24.8.6": "112.0.5615.204", - "24.8.7": "112.0.5615.204", - "24.8.8": "112.0.5615.204", - "25.0.0-alpha.1": "114.0.5694.0", - "25.0.0-alpha.2": "114.0.5694.0", - "25.0.0-alpha.3": "114.0.5710.0", - "25.0.0-alpha.4": "114.0.5710.0", - "25.0.0-alpha.5": "114.0.5719.0", - "25.0.0-alpha.6": "114.0.5719.0", - "25.0.0-beta.1": "114.0.5719.0", - "25.0.0-beta.2": "114.0.5719.0", - "25.0.0-beta.3": "114.0.5719.0", - "25.0.0-beta.4": "114.0.5735.16", - "25.0.0-beta.5": "114.0.5735.16", - "25.0.0-beta.6": "114.0.5735.16", - "25.0.0-beta.7": "114.0.5735.16", - "25.0.0-beta.8": "114.0.5735.35", - "25.0.0-beta.9": "114.0.5735.45", - "25.0.0": "114.0.5735.45", - "25.0.1": "114.0.5735.45", - "25.1.0": "114.0.5735.106", - "25.1.1": "114.0.5735.106", - "25.2.0": "114.0.5735.134", - "25.3.0": "114.0.5735.199", - "25.3.1": "114.0.5735.243", - "25.3.2": "114.0.5735.248", - "25.4.0": "114.0.5735.248", - "25.5.0": "114.0.5735.289", - "25.6.0": "114.0.5735.289", - "25.7.0": "114.0.5735.289", - "25.8.0": "114.0.5735.289", - "25.8.1": "114.0.5735.289", - "25.8.2": "114.0.5735.289", - "25.8.3": "114.0.5735.289", - "25.8.4": "114.0.5735.289", - "25.9.0": "114.0.5735.289", - "25.9.1": "114.0.5735.289", - "25.9.2": "114.0.5735.289", - "25.9.3": "114.0.5735.289", - "25.9.4": "114.0.5735.289", - "25.9.5": "114.0.5735.289", - "25.9.6": "114.0.5735.289", - "25.9.7": "114.0.5735.289", - "25.9.8": "114.0.5735.289", - "26.0.0-alpha.1": "116.0.5791.0", - "26.0.0-alpha.2": "116.0.5791.0", - "26.0.0-alpha.3": "116.0.5791.0", - "26.0.0-alpha.4": "116.0.5791.0", - "26.0.0-alpha.5": "116.0.5791.0", - "26.0.0-alpha.6": "116.0.5815.0", - "26.0.0-alpha.7": "116.0.5831.0", - "26.0.0-alpha.8": "116.0.5845.0", - "26.0.0-beta.1": "116.0.5845.0", - "26.0.0-beta.2": "116.0.5845.14", - "26.0.0-beta.3": "116.0.5845.14", - "26.0.0-beta.4": "116.0.5845.14", - "26.0.0-beta.5": "116.0.5845.14", - "26.0.0-beta.6": "116.0.5845.14", - "26.0.0-beta.7": "116.0.5845.14", - "26.0.0-beta.8": "116.0.5845.42", - "26.0.0-beta.9": "116.0.5845.42", - "26.0.0-beta.10": "116.0.5845.49", - "26.0.0-beta.11": "116.0.5845.49", - "26.0.0-beta.12": "116.0.5845.62", - "26.0.0": "116.0.5845.82", - "26.1.0": "116.0.5845.97", - "26.2.0": "116.0.5845.179", - "26.2.1": "116.0.5845.188", - "26.2.2": "116.0.5845.190", - "26.2.3": "116.0.5845.190", - "26.2.4": "116.0.5845.190", - "26.3.0": "116.0.5845.228", - "26.4.0": "116.0.5845.228", - "26.4.1": "116.0.5845.228", - "26.4.2": "116.0.5845.228", - "26.4.3": "116.0.5845.228", - "26.5.0": "116.0.5845.228", - "26.6.0": "116.0.5845.228", - "26.6.1": "116.0.5845.228", - "26.6.2": "116.0.5845.228", - "26.6.3": "116.0.5845.228", - "26.6.4": "116.0.5845.228", - "26.6.5": "116.0.5845.228", - "26.6.6": "116.0.5845.228", - "26.6.7": "116.0.5845.228", - "26.6.8": "116.0.5845.228", - "26.6.9": "116.0.5845.228", - "26.6.10": "116.0.5845.228", - "27.0.0-alpha.1": "118.0.5949.0", - "27.0.0-alpha.2": "118.0.5949.0", - "27.0.0-alpha.3": "118.0.5949.0", - "27.0.0-alpha.4": "118.0.5949.0", - "27.0.0-alpha.5": "118.0.5949.0", - "27.0.0-alpha.6": "118.0.5949.0", - "27.0.0-beta.1": "118.0.5993.5", - "27.0.0-beta.2": "118.0.5993.5", - "27.0.0-beta.3": "118.0.5993.5", - "27.0.0-beta.4": "118.0.5993.11", - "27.0.0-beta.5": "118.0.5993.18", - "27.0.0-beta.6": "118.0.5993.18", - "27.0.0-beta.7": "118.0.5993.18", - "27.0.0-beta.8": "118.0.5993.18", - "27.0.0-beta.9": "118.0.5993.18", - "27.0.0": "118.0.5993.54", - "27.0.1": "118.0.5993.89", - "27.0.2": "118.0.5993.89", - "27.0.3": "118.0.5993.120", - "27.0.4": "118.0.5993.129", - "27.1.0": "118.0.5993.144", - "27.1.2": "118.0.5993.144", - "27.1.3": "118.0.5993.159", - "27.2.0": "118.0.5993.159", - "27.2.1": "118.0.5993.159", - "27.2.2": "118.0.5993.159", - "27.2.3": "118.0.5993.159", - "27.2.4": "118.0.5993.159", - "27.3.0": "118.0.5993.159", - "27.3.1": "118.0.5993.159", - "27.3.2": "118.0.5993.159", - "27.3.3": "118.0.5993.159", - "27.3.4": "118.0.5993.159", - "27.3.5": "118.0.5993.159", - "27.3.6": "118.0.5993.159", - "27.3.7": "118.0.5993.159", - "27.3.8": "118.0.5993.159", - "27.3.9": "118.0.5993.159", - "27.3.10": "118.0.5993.159", - "27.3.11": "118.0.5993.159", - "28.0.0-alpha.1": "119.0.6045.0", - "28.0.0-alpha.2": "119.0.6045.0", - "28.0.0-alpha.3": "119.0.6045.21", - "28.0.0-alpha.4": "119.0.6045.21", - "28.0.0-alpha.5": "119.0.6045.33", - "28.0.0-alpha.6": "119.0.6045.33", - "28.0.0-alpha.7": "119.0.6045.33", - "28.0.0-beta.1": "119.0.6045.33", - "28.0.0-beta.2": "120.0.6099.0", - "28.0.0-beta.3": "120.0.6099.5", - "28.0.0-beta.4": "120.0.6099.5", - "28.0.0-beta.5": "120.0.6099.18", - "28.0.0-beta.6": "120.0.6099.18", - "28.0.0-beta.7": "120.0.6099.18", - "28.0.0-beta.8": "120.0.6099.18", - "28.0.0-beta.9": "120.0.6099.18", - "28.0.0-beta.10": "120.0.6099.18", - "28.0.0-beta.11": "120.0.6099.35", - "28.0.0": "120.0.6099.56", - "28.1.0": "120.0.6099.109", - "28.1.1": "120.0.6099.109", - "28.1.2": "120.0.6099.199", - "28.1.3": "120.0.6099.199", - "28.1.4": "120.0.6099.216", - "28.2.0": "120.0.6099.227", - "28.2.1": "120.0.6099.268", - "28.2.2": "120.0.6099.276", - "28.2.3": "120.0.6099.283", - "28.2.4": "120.0.6099.291", - "28.2.5": "120.0.6099.291", - "28.2.6": "120.0.6099.291", - "28.2.7": "120.0.6099.291", - "28.2.8": "120.0.6099.291", - "28.2.9": "120.0.6099.291", - "28.2.10": "120.0.6099.291", - "28.3.0": "120.0.6099.291", - "28.3.1": "120.0.6099.291", - "28.3.2": "120.0.6099.291", - "28.3.3": "120.0.6099.291", - "29.0.0-alpha.1": "121.0.6147.0", - "29.0.0-alpha.2": "121.0.6147.0", - "29.0.0-alpha.3": "121.0.6147.0", - "29.0.0-alpha.4": "121.0.6159.0", - "29.0.0-alpha.5": "121.0.6159.0", - "29.0.0-alpha.6": "121.0.6159.0", - "29.0.0-alpha.7": "121.0.6159.0", - "29.0.0-alpha.8": "122.0.6194.0", - "29.0.0-alpha.9": "122.0.6236.2", - "29.0.0-alpha.10": "122.0.6236.2", - "29.0.0-alpha.11": "122.0.6236.2", - "29.0.0-beta.1": "122.0.6236.2", - "29.0.0-beta.2": "122.0.6236.2", - "29.0.0-beta.3": "122.0.6261.6", - "29.0.0-beta.4": "122.0.6261.6", - "29.0.0-beta.5": "122.0.6261.18", - "29.0.0-beta.6": "122.0.6261.18", - "29.0.0-beta.7": "122.0.6261.18", - "29.0.0-beta.8": "122.0.6261.18", - "29.0.0-beta.9": "122.0.6261.18", - "29.0.0-beta.10": "122.0.6261.18", - "29.0.0-beta.11": "122.0.6261.18", - "29.0.0-beta.12": "122.0.6261.29", - "29.0.0": "122.0.6261.39", - "29.0.1": "122.0.6261.57", - "29.1.0": "122.0.6261.70", - "29.1.1": "122.0.6261.111", - "29.1.2": "122.0.6261.112", - "29.1.3": "122.0.6261.112", - "29.1.4": "122.0.6261.129", - "29.1.5": "122.0.6261.130", - "29.1.6": "122.0.6261.139", - "29.2.0": "122.0.6261.156", - "29.3.0": "122.0.6261.156", - "29.3.1": "122.0.6261.156", - "29.3.2": "122.0.6261.156", - "29.3.3": "122.0.6261.156", - "29.4.0": "122.0.6261.156", - "29.4.1": "122.0.6261.156", - "29.4.2": "122.0.6261.156", - "29.4.3": "122.0.6261.156", - "29.4.4": "122.0.6261.156", - "29.4.5": "122.0.6261.156", - "29.4.6": "122.0.6261.156", - "30.0.0-alpha.1": "123.0.6296.0", - "30.0.0-alpha.2": "123.0.6312.5", - "30.0.0-alpha.3": "124.0.6323.0", - "30.0.0-alpha.4": "124.0.6323.0", - "30.0.0-alpha.5": "124.0.6331.0", - "30.0.0-alpha.6": "124.0.6331.0", - "30.0.0-alpha.7": "124.0.6353.0", - "30.0.0-beta.1": "124.0.6359.0", - "30.0.0-beta.2": "124.0.6359.0", - "30.0.0-beta.3": "124.0.6367.9", - "30.0.0-beta.4": "124.0.6367.9", - "30.0.0-beta.5": "124.0.6367.9", - "30.0.0-beta.6": "124.0.6367.18", - "30.0.0-beta.7": "124.0.6367.29", - "30.0.0-beta.8": "124.0.6367.29", - "30.0.0": "124.0.6367.49", - "30.0.1": "124.0.6367.60", - "30.0.2": "124.0.6367.91", - "30.0.3": "124.0.6367.119", - "30.0.4": "124.0.6367.201", - "30.0.5": "124.0.6367.207", - "30.0.6": "124.0.6367.207", - "30.0.7": "124.0.6367.221", - "30.0.8": "124.0.6367.230", - "30.0.9": "124.0.6367.233", - "30.1.0": "124.0.6367.243", - "30.1.1": "124.0.6367.243", - "30.1.2": "124.0.6367.243", - "30.2.0": "124.0.6367.243", - "30.3.0": "124.0.6367.243", - "30.3.1": "124.0.6367.243", - "30.4.0": "124.0.6367.243", - "30.5.0": "124.0.6367.243", - "30.5.1": "124.0.6367.243", - "31.0.0-alpha.1": "125.0.6412.0", - "31.0.0-alpha.2": "125.0.6412.0", - "31.0.0-alpha.3": "125.0.6412.0", - "31.0.0-alpha.4": "125.0.6412.0", - "31.0.0-alpha.5": "125.0.6412.0", - "31.0.0-beta.1": "126.0.6445.0", - "31.0.0-beta.2": "126.0.6445.0", - "31.0.0-beta.3": "126.0.6445.0", - "31.0.0-beta.4": "126.0.6445.0", - "31.0.0-beta.5": "126.0.6445.0", - "31.0.0-beta.6": "126.0.6445.0", - "31.0.0-beta.7": "126.0.6445.0", - "31.0.0-beta.8": "126.0.6445.0", - "31.0.0-beta.9": "126.0.6445.0", - "31.0.0-beta.10": "126.0.6478.36", - "31.0.0": "126.0.6478.36", - "31.0.1": "126.0.6478.36", - "31.0.2": "126.0.6478.61", - "31.1.0": "126.0.6478.114", - "31.2.0": "126.0.6478.127", - "31.2.1": "126.0.6478.127", - "31.3.0": "126.0.6478.183", - "31.3.1": "126.0.6478.185", - "31.4.0": "126.0.6478.234", - "31.5.0": "126.0.6478.234", - "31.6.0": "126.0.6478.234", - "31.7.0": "126.0.6478.234", - "31.7.1": "126.0.6478.234", - "31.7.2": "126.0.6478.234", - "31.7.3": "126.0.6478.234", - "31.7.4": "126.0.6478.234", - "31.7.5": "126.0.6478.234", - "31.7.6": "126.0.6478.234", - "32.0.0-alpha.1": "127.0.6521.0", - "32.0.0-alpha.2": "127.0.6521.0", - "32.0.0-alpha.3": "127.0.6521.0", - "32.0.0-alpha.4": "127.0.6521.0", - "32.0.0-alpha.5": "127.0.6521.0", - "32.0.0-alpha.6": "128.0.6571.0", - "32.0.0-alpha.7": "128.0.6571.0", - "32.0.0-alpha.8": "128.0.6573.0", - "32.0.0-alpha.9": "128.0.6573.0", - "32.0.0-alpha.10": "128.0.6573.0", - "32.0.0-beta.1": "128.0.6573.0", - "32.0.0-beta.2": "128.0.6611.0", - "32.0.0-beta.3": "128.0.6613.7", - "32.0.0-beta.4": "128.0.6613.18", - "32.0.0-beta.5": "128.0.6613.27", - "32.0.0-beta.6": "128.0.6613.27", - "32.0.0-beta.7": "128.0.6613.27", - "32.0.0": "128.0.6613.36", - "32.0.1": "128.0.6613.36", - "32.0.2": "128.0.6613.84", - "32.1.0": "128.0.6613.120", - "32.1.1": "128.0.6613.137", - "32.1.2": "128.0.6613.162", - "32.2.0": "128.0.6613.178", - "32.2.1": "128.0.6613.186", - "32.2.2": "128.0.6613.186", - "32.2.3": "128.0.6613.186", - "32.2.4": "128.0.6613.186", - "32.2.5": "128.0.6613.186", - "32.2.6": "128.0.6613.186", - "32.2.7": "128.0.6613.186", - "33.0.0-alpha.1": "129.0.6668.0", - "33.0.0-alpha.2": "130.0.6672.0", - "33.0.0-alpha.3": "130.0.6672.0", - "33.0.0-alpha.4": "130.0.6672.0", - "33.0.0-alpha.5": "130.0.6672.0", - "33.0.0-alpha.6": "130.0.6672.0", - "33.0.0-beta.1": "130.0.6672.0", - "33.0.0-beta.2": "130.0.6672.0", - "33.0.0-beta.3": "130.0.6672.0", - "33.0.0-beta.4": "130.0.6672.0", - "33.0.0-beta.5": "130.0.6723.19", - "33.0.0-beta.6": "130.0.6723.19", - "33.0.0-beta.7": "130.0.6723.19", - "33.0.0-beta.8": "130.0.6723.31", - "33.0.0-beta.9": "130.0.6723.31", - "33.0.0-beta.10": "130.0.6723.31", - "33.0.0-beta.11": "130.0.6723.44", - "33.0.0": "130.0.6723.44", - "33.0.1": "130.0.6723.59", - "33.0.2": "130.0.6723.59", - "33.1.0": "130.0.6723.91", - "33.2.0": "130.0.6723.118", - "33.2.1": "130.0.6723.137", - "33.3.0": "130.0.6723.152", - "34.0.0-alpha.1": "131.0.6776.0", - "34.0.0-alpha.2": "132.0.6779.0", - "34.0.0-alpha.3": "132.0.6789.1", - "34.0.0-alpha.4": "132.0.6789.1", - "34.0.0-alpha.5": "132.0.6789.1", - "34.0.0-alpha.6": "132.0.6789.1", - "34.0.0-alpha.7": "132.0.6789.1", - "34.0.0-alpha.8": "132.0.6820.0", - "34.0.0-alpha.9": "132.0.6824.0", - "34.0.0-beta.1": "132.0.6824.0", - "34.0.0-beta.2": "132.0.6824.0", - "34.0.0-beta.3": "132.0.6824.0", - "34.0.0-beta.4": "132.0.6834.6", - "34.0.0-beta.5": "132.0.6834.6", - "34.0.0-beta.6": "132.0.6834.15", - "34.0.0-beta.7": "132.0.6834.15", - "34.0.0-beta.8": "132.0.6834.15", - "34.0.0-beta.9": "132.0.6834.32", - "34.0.0-beta.10": "132.0.6834.32", - "34.0.0-beta.11": "132.0.6834.32", - "34.0.0-beta.12": "132.0.6834.46" -}; \ No newline at end of file diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.json b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.json deleted file mode 100644 index c9711ec9..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/full-versions.json +++ /dev/null @@ -1 +0,0 @@ -{"0.20.0":"39.0.2171.65","0.20.1":"39.0.2171.65","0.20.2":"39.0.2171.65","0.20.3":"39.0.2171.65","0.20.4":"39.0.2171.65","0.20.5":"39.0.2171.65","0.20.6":"39.0.2171.65","0.20.7":"39.0.2171.65","0.20.8":"39.0.2171.65","0.21.0":"40.0.2214.91","0.21.1":"40.0.2214.91","0.21.2":"40.0.2214.91","0.21.3":"41.0.2272.76","0.22.1":"41.0.2272.76","0.22.2":"41.0.2272.76","0.22.3":"41.0.2272.76","0.23.0":"41.0.2272.76","0.24.0":"41.0.2272.76","0.25.0":"42.0.2311.107","0.25.1":"42.0.2311.107","0.25.2":"42.0.2311.107","0.25.3":"42.0.2311.107","0.26.0":"42.0.2311.107","0.26.1":"42.0.2311.107","0.27.0":"42.0.2311.107","0.27.1":"42.0.2311.107","0.27.2":"43.0.2357.65","0.27.3":"43.0.2357.65","0.28.0":"43.0.2357.65","0.28.1":"43.0.2357.65","0.28.2":"43.0.2357.65","0.28.3":"43.0.2357.65","0.29.1":"43.0.2357.65","0.29.2":"43.0.2357.65","0.30.4":"44.0.2403.125","0.31.0":"44.0.2403.125","0.31.2":"45.0.2454.85","0.32.2":"45.0.2454.85","0.32.3":"45.0.2454.85","0.33.0":"45.0.2454.85","0.33.1":"45.0.2454.85","0.33.2":"45.0.2454.85","0.33.3":"45.0.2454.85","0.33.4":"45.0.2454.85","0.33.6":"45.0.2454.85","0.33.7":"45.0.2454.85","0.33.8":"45.0.2454.85","0.33.9":"45.0.2454.85","0.34.0":"45.0.2454.85","0.34.1":"45.0.2454.85","0.34.2":"45.0.2454.85","0.34.3":"45.0.2454.85","0.34.4":"45.0.2454.85","0.35.1":"45.0.2454.85","0.35.2":"45.0.2454.85","0.35.3":"45.0.2454.85","0.35.4":"45.0.2454.85","0.35.5":"45.0.2454.85","0.36.0":"47.0.2526.73","0.36.2":"47.0.2526.73","0.36.3":"47.0.2526.73","0.36.4":"47.0.2526.73","0.36.5":"47.0.2526.110","0.36.6":"47.0.2526.110","0.36.7":"47.0.2526.110","0.36.8":"47.0.2526.110","0.36.9":"47.0.2526.110","0.36.10":"47.0.2526.110","0.36.11":"47.0.2526.110","0.36.12":"47.0.2526.110","0.37.0":"49.0.2623.75","0.37.1":"49.0.2623.75","0.37.3":"49.0.2623.75","0.37.4":"49.0.2623.75","0.37.5":"49.0.2623.75","0.37.6":"49.0.2623.75","0.37.7":"49.0.2623.75","0.37.8":"49.0.2623.75","1.0.0":"49.0.2623.75","1.0.1":"49.0.2623.75","1.0.2":"49.0.2623.75","1.1.0":"50.0.2661.102","1.1.1":"50.0.2661.102","1.1.2":"50.0.2661.102","1.1.3":"50.0.2661.102","1.2.0":"51.0.2704.63","1.2.1":"51.0.2704.63","1.2.2":"51.0.2704.84","1.2.3":"51.0.2704.84","1.2.4":"51.0.2704.103","1.2.5":"51.0.2704.103","1.2.6":"51.0.2704.106","1.2.7":"51.0.2704.106","1.2.8":"51.0.2704.106","1.3.0":"52.0.2743.82","1.3.1":"52.0.2743.82","1.3.2":"52.0.2743.82","1.3.3":"52.0.2743.82","1.3.4":"52.0.2743.82","1.3.5":"52.0.2743.82","1.3.6":"52.0.2743.82","1.3.7":"52.0.2743.82","1.3.9":"52.0.2743.82","1.3.10":"52.0.2743.82","1.3.13":"52.0.2743.82","1.3.14":"52.0.2743.82","1.3.15":"52.0.2743.82","1.4.0":"53.0.2785.113","1.4.1":"53.0.2785.113","1.4.2":"53.0.2785.113","1.4.3":"53.0.2785.113","1.4.4":"53.0.2785.113","1.4.5":"53.0.2785.113","1.4.6":"53.0.2785.143","1.4.7":"53.0.2785.143","1.4.8":"53.0.2785.143","1.4.10":"53.0.2785.143","1.4.11":"53.0.2785.143","1.4.12":"54.0.2840.51","1.4.13":"53.0.2785.143","1.4.14":"53.0.2785.143","1.4.15":"53.0.2785.143","1.4.16":"53.0.2785.143","1.5.0":"54.0.2840.101","1.5.1":"54.0.2840.101","1.6.0":"56.0.2924.87","1.6.1":"56.0.2924.87","1.6.2":"56.0.2924.87","1.6.3":"56.0.2924.87","1.6.4":"56.0.2924.87","1.6.5":"56.0.2924.87","1.6.6":"56.0.2924.87","1.6.7":"56.0.2924.87","1.6.8":"56.0.2924.87","1.6.9":"56.0.2924.87","1.6.10":"56.0.2924.87","1.6.11":"56.0.2924.87","1.6.12":"56.0.2924.87","1.6.13":"56.0.2924.87","1.6.14":"56.0.2924.87","1.6.15":"56.0.2924.87","1.6.16":"56.0.2924.87","1.6.17":"56.0.2924.87","1.6.18":"56.0.2924.87","1.7.0":"58.0.3029.110","1.7.1":"58.0.3029.110","1.7.2":"58.0.3029.110","1.7.3":"58.0.3029.110","1.7.4":"58.0.3029.110","1.7.5":"58.0.3029.110","1.7.6":"58.0.3029.110","1.7.7":"58.0.3029.110","1.7.8":"58.0.3029.110","1.7.9":"58.0.3029.110","1.7.10":"58.0.3029.110","1.7.11":"58.0.3029.110","1.7.12":"58.0.3029.110","1.7.13":"58.0.3029.110","1.7.14":"58.0.3029.110","1.7.15":"58.0.3029.110","1.7.16":"58.0.3029.110","1.8.0":"59.0.3071.115","1.8.1":"59.0.3071.115","1.8.2-beta.1":"59.0.3071.115","1.8.2-beta.2":"59.0.3071.115","1.8.2-beta.3":"59.0.3071.115","1.8.2-beta.4":"59.0.3071.115","1.8.2-beta.5":"59.0.3071.115","1.8.2":"59.0.3071.115","1.8.3":"59.0.3071.115","1.8.4":"59.0.3071.115","1.8.5":"59.0.3071.115","1.8.6":"59.0.3071.115","1.8.7":"59.0.3071.115","1.8.8":"59.0.3071.115","2.0.0-beta.1":"61.0.3163.100","2.0.0-beta.2":"61.0.3163.100","2.0.0-beta.3":"61.0.3163.100","2.0.0-beta.4":"61.0.3163.100","2.0.0-beta.5":"61.0.3163.100","2.0.0-beta.6":"61.0.3163.100","2.0.0-beta.7":"61.0.3163.100","2.0.0-beta.8":"61.0.3163.100","2.0.0":"61.0.3163.100","2.0.1":"61.0.3163.100","2.0.2":"61.0.3163.100","2.0.3":"61.0.3163.100","2.0.4":"61.0.3163.100","2.0.5":"61.0.3163.100","2.0.6":"61.0.3163.100","2.0.7":"61.0.3163.100","2.0.8":"61.0.3163.100","2.0.9":"61.0.3163.100","2.0.10":"61.0.3163.100","2.0.11":"61.0.3163.100","2.0.12":"61.0.3163.100","2.0.13":"61.0.3163.100","2.0.14":"61.0.3163.100","2.0.15":"61.0.3163.100","2.0.16":"61.0.3163.100","2.0.17":"61.0.3163.100","2.0.18":"61.0.3163.100","2.1.0-unsupported.20180809":"61.0.3163.100","3.0.0-beta.1":"66.0.3359.181","3.0.0-beta.2":"66.0.3359.181","3.0.0-beta.3":"66.0.3359.181","3.0.0-beta.4":"66.0.3359.181","3.0.0-beta.5":"66.0.3359.181","3.0.0-beta.6":"66.0.3359.181","3.0.0-beta.7":"66.0.3359.181","3.0.0-beta.8":"66.0.3359.181","3.0.0-beta.9":"66.0.3359.181","3.0.0-beta.10":"66.0.3359.181","3.0.0-beta.11":"66.0.3359.181","3.0.0-beta.12":"66.0.3359.181","3.0.0-beta.13":"66.0.3359.181","3.0.0":"66.0.3359.181","3.0.1":"66.0.3359.181","3.0.2":"66.0.3359.181","3.0.3":"66.0.3359.181","3.0.4":"66.0.3359.181","3.0.5":"66.0.3359.181","3.0.6":"66.0.3359.181","3.0.7":"66.0.3359.181","3.0.8":"66.0.3359.181","3.0.9":"66.0.3359.181","3.0.10":"66.0.3359.181","3.0.11":"66.0.3359.181","3.0.12":"66.0.3359.181","3.0.13":"66.0.3359.181","3.0.14":"66.0.3359.181","3.0.15":"66.0.3359.181","3.0.16":"66.0.3359.181","3.1.0-beta.1":"66.0.3359.181","3.1.0-beta.2":"66.0.3359.181","3.1.0-beta.3":"66.0.3359.181","3.1.0-beta.4":"66.0.3359.181","3.1.0-beta.5":"66.0.3359.181","3.1.0":"66.0.3359.181","3.1.1":"66.0.3359.181","3.1.2":"66.0.3359.181","3.1.3":"66.0.3359.181","3.1.4":"66.0.3359.181","3.1.5":"66.0.3359.181","3.1.6":"66.0.3359.181","3.1.7":"66.0.3359.181","3.1.8":"66.0.3359.181","3.1.9":"66.0.3359.181","3.1.10":"66.0.3359.181","3.1.11":"66.0.3359.181","3.1.12":"66.0.3359.181","3.1.13":"66.0.3359.181","4.0.0-beta.1":"69.0.3497.106","4.0.0-beta.2":"69.0.3497.106","4.0.0-beta.3":"69.0.3497.106","4.0.0-beta.4":"69.0.3497.106","4.0.0-beta.5":"69.0.3497.106","4.0.0-beta.6":"69.0.3497.106","4.0.0-beta.7":"69.0.3497.106","4.0.0-beta.8":"69.0.3497.106","4.0.0-beta.9":"69.0.3497.106","4.0.0-beta.10":"69.0.3497.106","4.0.0-beta.11":"69.0.3497.106","4.0.0":"69.0.3497.106","4.0.1":"69.0.3497.106","4.0.2":"69.0.3497.106","4.0.3":"69.0.3497.106","4.0.4":"69.0.3497.106","4.0.5":"69.0.3497.106","4.0.6":"69.0.3497.106","4.0.7":"69.0.3497.128","4.0.8":"69.0.3497.128","4.1.0":"69.0.3497.128","4.1.1":"69.0.3497.128","4.1.2":"69.0.3497.128","4.1.3":"69.0.3497.128","4.1.4":"69.0.3497.128","4.1.5":"69.0.3497.128","4.2.0":"69.0.3497.128","4.2.1":"69.0.3497.128","4.2.2":"69.0.3497.128","4.2.3":"69.0.3497.128","4.2.4":"69.0.3497.128","4.2.5":"69.0.3497.128","4.2.6":"69.0.3497.128","4.2.7":"69.0.3497.128","4.2.8":"69.0.3497.128","4.2.9":"69.0.3497.128","4.2.10":"69.0.3497.128","4.2.11":"69.0.3497.128","4.2.12":"69.0.3497.128","5.0.0-beta.1":"72.0.3626.52","5.0.0-beta.2":"72.0.3626.52","5.0.0-beta.3":"73.0.3683.27","5.0.0-beta.4":"73.0.3683.54","5.0.0-beta.5":"73.0.3683.61","5.0.0-beta.6":"73.0.3683.84","5.0.0-beta.7":"73.0.3683.94","5.0.0-beta.8":"73.0.3683.104","5.0.0-beta.9":"73.0.3683.117","5.0.0":"73.0.3683.119","5.0.1":"73.0.3683.121","5.0.2":"73.0.3683.121","5.0.3":"73.0.3683.121","5.0.4":"73.0.3683.121","5.0.5":"73.0.3683.121","5.0.6":"73.0.3683.121","5.0.7":"73.0.3683.121","5.0.8":"73.0.3683.121","5.0.9":"73.0.3683.121","5.0.10":"73.0.3683.121","5.0.11":"73.0.3683.121","5.0.12":"73.0.3683.121","5.0.13":"73.0.3683.121","6.0.0-beta.1":"76.0.3774.1","6.0.0-beta.2":"76.0.3783.1","6.0.0-beta.3":"76.0.3783.1","6.0.0-beta.4":"76.0.3783.1","6.0.0-beta.5":"76.0.3805.4","6.0.0-beta.6":"76.0.3809.3","6.0.0-beta.7":"76.0.3809.22","6.0.0-beta.8":"76.0.3809.26","6.0.0-beta.9":"76.0.3809.26","6.0.0-beta.10":"76.0.3809.37","6.0.0-beta.11":"76.0.3809.42","6.0.0-beta.12":"76.0.3809.54","6.0.0-beta.13":"76.0.3809.60","6.0.0-beta.14":"76.0.3809.68","6.0.0-beta.15":"76.0.3809.74","6.0.0":"76.0.3809.88","6.0.1":"76.0.3809.102","6.0.2":"76.0.3809.110","6.0.3":"76.0.3809.126","6.0.4":"76.0.3809.131","6.0.5":"76.0.3809.136","6.0.6":"76.0.3809.138","6.0.7":"76.0.3809.139","6.0.8":"76.0.3809.146","6.0.9":"76.0.3809.146","6.0.10":"76.0.3809.146","6.0.11":"76.0.3809.146","6.0.12":"76.0.3809.146","6.1.0":"76.0.3809.146","6.1.1":"76.0.3809.146","6.1.2":"76.0.3809.146","6.1.3":"76.0.3809.146","6.1.4":"76.0.3809.146","6.1.5":"76.0.3809.146","6.1.6":"76.0.3809.146","6.1.7":"76.0.3809.146","6.1.8":"76.0.3809.146","6.1.9":"76.0.3809.146","6.1.10":"76.0.3809.146","6.1.11":"76.0.3809.146","6.1.12":"76.0.3809.146","7.0.0-beta.1":"78.0.3866.0","7.0.0-beta.2":"78.0.3866.0","7.0.0-beta.3":"78.0.3866.0","7.0.0-beta.4":"78.0.3896.6","7.0.0-beta.5":"78.0.3905.1","7.0.0-beta.6":"78.0.3905.1","7.0.0-beta.7":"78.0.3905.1","7.0.0":"78.0.3905.1","7.0.1":"78.0.3904.92","7.1.0":"78.0.3904.94","7.1.1":"78.0.3904.99","7.1.2":"78.0.3904.113","7.1.3":"78.0.3904.126","7.1.4":"78.0.3904.130","7.1.5":"78.0.3904.130","7.1.6":"78.0.3904.130","7.1.7":"78.0.3904.130","7.1.8":"78.0.3904.130","7.1.9":"78.0.3904.130","7.1.10":"78.0.3904.130","7.1.11":"78.0.3904.130","7.1.12":"78.0.3904.130","7.1.13":"78.0.3904.130","7.1.14":"78.0.3904.130","7.2.0":"78.0.3904.130","7.2.1":"78.0.3904.130","7.2.2":"78.0.3904.130","7.2.3":"78.0.3904.130","7.2.4":"78.0.3904.130","7.3.0":"78.0.3904.130","7.3.1":"78.0.3904.130","7.3.2":"78.0.3904.130","7.3.3":"78.0.3904.130","8.0.0-beta.1":"79.0.3931.0","8.0.0-beta.2":"79.0.3931.0","8.0.0-beta.3":"80.0.3955.0","8.0.0-beta.4":"80.0.3955.0","8.0.0-beta.5":"80.0.3987.14","8.0.0-beta.6":"80.0.3987.51","8.0.0-beta.7":"80.0.3987.59","8.0.0-beta.8":"80.0.3987.75","8.0.0-beta.9":"80.0.3987.75","8.0.0":"80.0.3987.86","8.0.1":"80.0.3987.86","8.0.2":"80.0.3987.86","8.0.3":"80.0.3987.134","8.1.0":"80.0.3987.137","8.1.1":"80.0.3987.141","8.2.0":"80.0.3987.158","8.2.1":"80.0.3987.163","8.2.2":"80.0.3987.163","8.2.3":"80.0.3987.163","8.2.4":"80.0.3987.165","8.2.5":"80.0.3987.165","8.3.0":"80.0.3987.165","8.3.1":"80.0.3987.165","8.3.2":"80.0.3987.165","8.3.3":"80.0.3987.165","8.3.4":"80.0.3987.165","8.4.0":"80.0.3987.165","8.4.1":"80.0.3987.165","8.5.0":"80.0.3987.165","8.5.1":"80.0.3987.165","8.5.2":"80.0.3987.165","8.5.3":"80.0.3987.163","8.5.4":"80.0.3987.163","8.5.5":"80.0.3987.163","9.0.0-beta.1":"82.0.4048.0","9.0.0-beta.2":"82.0.4048.0","9.0.0-beta.3":"82.0.4048.0","9.0.0-beta.4":"82.0.4048.0","9.0.0-beta.5":"82.0.4048.0","9.0.0-beta.6":"82.0.4058.2","9.0.0-beta.7":"82.0.4058.2","9.0.0-beta.9":"82.0.4058.2","9.0.0-beta.10":"82.0.4085.10","9.0.0-beta.11":"82.0.4085.14","9.0.0-beta.12":"82.0.4085.14","9.0.0-beta.13":"82.0.4085.14","9.0.0-beta.14":"82.0.4085.27","9.0.0-beta.15":"83.0.4102.3","9.0.0-beta.16":"83.0.4102.3","9.0.0-beta.17":"83.0.4103.14","9.0.0-beta.18":"83.0.4103.16","9.0.0-beta.19":"83.0.4103.24","9.0.0-beta.20":"83.0.4103.26","9.0.0-beta.21":"83.0.4103.26","9.0.0-beta.22":"83.0.4103.34","9.0.0-beta.23":"83.0.4103.44","9.0.0-beta.24":"83.0.4103.45","9.0.0":"83.0.4103.64","9.0.1":"83.0.4103.94","9.0.2":"83.0.4103.94","9.0.3":"83.0.4103.100","9.0.4":"83.0.4103.104","9.0.5":"83.0.4103.119","9.1.0":"83.0.4103.122","9.1.1":"83.0.4103.122","9.1.2":"83.0.4103.122","9.2.0":"83.0.4103.122","9.2.1":"83.0.4103.122","9.3.0":"83.0.4103.122","9.3.1":"83.0.4103.122","9.3.2":"83.0.4103.122","9.3.3":"83.0.4103.122","9.3.4":"83.0.4103.122","9.3.5":"83.0.4103.122","9.4.0":"83.0.4103.122","9.4.1":"83.0.4103.122","9.4.2":"83.0.4103.122","9.4.3":"83.0.4103.122","9.4.4":"83.0.4103.122","10.0.0-beta.1":"84.0.4129.0","10.0.0-beta.2":"84.0.4129.0","10.0.0-beta.3":"85.0.4161.2","10.0.0-beta.4":"85.0.4161.2","10.0.0-beta.8":"85.0.4181.1","10.0.0-beta.9":"85.0.4181.1","10.0.0-beta.10":"85.0.4183.19","10.0.0-beta.11":"85.0.4183.20","10.0.0-beta.12":"85.0.4183.26","10.0.0-beta.13":"85.0.4183.39","10.0.0-beta.14":"85.0.4183.39","10.0.0-beta.15":"85.0.4183.39","10.0.0-beta.17":"85.0.4183.39","10.0.0-beta.19":"85.0.4183.39","10.0.0-beta.20":"85.0.4183.39","10.0.0-beta.21":"85.0.4183.39","10.0.0-beta.23":"85.0.4183.70","10.0.0-beta.24":"85.0.4183.78","10.0.0-beta.25":"85.0.4183.80","10.0.0":"85.0.4183.84","10.0.1":"85.0.4183.86","10.1.0":"85.0.4183.87","10.1.1":"85.0.4183.93","10.1.2":"85.0.4183.98","10.1.3":"85.0.4183.121","10.1.4":"85.0.4183.121","10.1.5":"85.0.4183.121","10.1.6":"85.0.4183.121","10.1.7":"85.0.4183.121","10.2.0":"85.0.4183.121","10.3.0":"85.0.4183.121","10.3.1":"85.0.4183.121","10.3.2":"85.0.4183.121","10.4.0":"85.0.4183.121","10.4.1":"85.0.4183.121","10.4.2":"85.0.4183.121","10.4.3":"85.0.4183.121","10.4.4":"85.0.4183.121","10.4.5":"85.0.4183.121","10.4.6":"85.0.4183.121","10.4.7":"85.0.4183.121","11.0.0-beta.1":"86.0.4234.0","11.0.0-beta.3":"86.0.4234.0","11.0.0-beta.4":"86.0.4234.0","11.0.0-beta.5":"86.0.4234.0","11.0.0-beta.6":"86.0.4234.0","11.0.0-beta.7":"86.0.4234.0","11.0.0-beta.8":"87.0.4251.1","11.0.0-beta.9":"87.0.4251.1","11.0.0-beta.11":"87.0.4251.1","11.0.0-beta.12":"87.0.4280.11","11.0.0-beta.13":"87.0.4280.11","11.0.0-beta.16":"87.0.4280.27","11.0.0-beta.17":"87.0.4280.27","11.0.0-beta.18":"87.0.4280.27","11.0.0-beta.19":"87.0.4280.27","11.0.0-beta.20":"87.0.4280.40","11.0.0-beta.22":"87.0.4280.47","11.0.0-beta.23":"87.0.4280.47","11.0.0":"87.0.4280.60","11.0.1":"87.0.4280.60","11.0.2":"87.0.4280.67","11.0.3":"87.0.4280.67","11.0.4":"87.0.4280.67","11.0.5":"87.0.4280.88","11.1.0":"87.0.4280.88","11.1.1":"87.0.4280.88","11.2.0":"87.0.4280.141","11.2.1":"87.0.4280.141","11.2.2":"87.0.4280.141","11.2.3":"87.0.4280.141","11.3.0":"87.0.4280.141","11.4.0":"87.0.4280.141","11.4.1":"87.0.4280.141","11.4.2":"87.0.4280.141","11.4.3":"87.0.4280.141","11.4.4":"87.0.4280.141","11.4.5":"87.0.4280.141","11.4.6":"87.0.4280.141","11.4.7":"87.0.4280.141","11.4.8":"87.0.4280.141","11.4.9":"87.0.4280.141","11.4.10":"87.0.4280.141","11.4.11":"87.0.4280.141","11.4.12":"87.0.4280.141","11.5.0":"87.0.4280.141","12.0.0-beta.1":"89.0.4328.0","12.0.0-beta.3":"89.0.4328.0","12.0.0-beta.4":"89.0.4328.0","12.0.0-beta.5":"89.0.4328.0","12.0.0-beta.6":"89.0.4328.0","12.0.0-beta.7":"89.0.4328.0","12.0.0-beta.8":"89.0.4328.0","12.0.0-beta.9":"89.0.4328.0","12.0.0-beta.10":"89.0.4328.0","12.0.0-beta.11":"89.0.4328.0","12.0.0-beta.12":"89.0.4328.0","12.0.0-beta.14":"89.0.4328.0","12.0.0-beta.16":"89.0.4348.1","12.0.0-beta.18":"89.0.4348.1","12.0.0-beta.19":"89.0.4348.1","12.0.0-beta.20":"89.0.4348.1","12.0.0-beta.21":"89.0.4388.2","12.0.0-beta.22":"89.0.4388.2","12.0.0-beta.23":"89.0.4388.2","12.0.0-beta.24":"89.0.4388.2","12.0.0-beta.25":"89.0.4388.2","12.0.0-beta.26":"89.0.4388.2","12.0.0-beta.27":"89.0.4389.23","12.0.0-beta.28":"89.0.4389.23","12.0.0-beta.29":"89.0.4389.23","12.0.0-beta.30":"89.0.4389.58","12.0.0-beta.31":"89.0.4389.58","12.0.0":"89.0.4389.69","12.0.1":"89.0.4389.82","12.0.2":"89.0.4389.90","12.0.3":"89.0.4389.114","12.0.4":"89.0.4389.114","12.0.5":"89.0.4389.128","12.0.6":"89.0.4389.128","12.0.7":"89.0.4389.128","12.0.8":"89.0.4389.128","12.0.9":"89.0.4389.128","12.0.10":"89.0.4389.128","12.0.11":"89.0.4389.128","12.0.12":"89.0.4389.128","12.0.13":"89.0.4389.128","12.0.14":"89.0.4389.128","12.0.15":"89.0.4389.128","12.0.16":"89.0.4389.128","12.0.17":"89.0.4389.128","12.0.18":"89.0.4389.128","12.1.0":"89.0.4389.128","12.1.1":"89.0.4389.128","12.1.2":"89.0.4389.128","12.2.0":"89.0.4389.128","12.2.1":"89.0.4389.128","12.2.2":"89.0.4389.128","12.2.3":"89.0.4389.128","13.0.0-beta.2":"90.0.4402.0","13.0.0-beta.3":"90.0.4402.0","13.0.0-beta.4":"90.0.4415.0","13.0.0-beta.5":"90.0.4415.0","13.0.0-beta.6":"90.0.4415.0","13.0.0-beta.7":"90.0.4415.0","13.0.0-beta.8":"90.0.4415.0","13.0.0-beta.9":"90.0.4415.0","13.0.0-beta.10":"90.0.4415.0","13.0.0-beta.11":"90.0.4415.0","13.0.0-beta.12":"90.0.4415.0","13.0.0-beta.13":"90.0.4415.0","13.0.0-beta.14":"91.0.4448.0","13.0.0-beta.16":"91.0.4448.0","13.0.0-beta.17":"91.0.4448.0","13.0.0-beta.18":"91.0.4448.0","13.0.0-beta.20":"91.0.4448.0","13.0.0-beta.21":"91.0.4472.33","13.0.0-beta.22":"91.0.4472.33","13.0.0-beta.23":"91.0.4472.33","13.0.0-beta.24":"91.0.4472.38","13.0.0-beta.25":"91.0.4472.38","13.0.0-beta.26":"91.0.4472.38","13.0.0-beta.27":"91.0.4472.38","13.0.0-beta.28":"91.0.4472.38","13.0.0":"91.0.4472.69","13.0.1":"91.0.4472.69","13.1.0":"91.0.4472.77","13.1.1":"91.0.4472.77","13.1.2":"91.0.4472.77","13.1.3":"91.0.4472.106","13.1.4":"91.0.4472.106","13.1.5":"91.0.4472.124","13.1.6":"91.0.4472.124","13.1.7":"91.0.4472.124","13.1.8":"91.0.4472.164","13.1.9":"91.0.4472.164","13.2.0":"91.0.4472.164","13.2.1":"91.0.4472.164","13.2.2":"91.0.4472.164","13.2.3":"91.0.4472.164","13.3.0":"91.0.4472.164","13.4.0":"91.0.4472.164","13.5.0":"91.0.4472.164","13.5.1":"91.0.4472.164","13.5.2":"91.0.4472.164","13.6.0":"91.0.4472.164","13.6.1":"91.0.4472.164","13.6.2":"91.0.4472.164","13.6.3":"91.0.4472.164","13.6.6":"91.0.4472.164","13.6.7":"91.0.4472.164","13.6.8":"91.0.4472.164","13.6.9":"91.0.4472.164","14.0.0-beta.1":"92.0.4511.0","14.0.0-beta.2":"92.0.4511.0","14.0.0-beta.3":"92.0.4511.0","14.0.0-beta.5":"93.0.4536.0","14.0.0-beta.6":"93.0.4536.0","14.0.0-beta.7":"93.0.4536.0","14.0.0-beta.8":"93.0.4536.0","14.0.0-beta.9":"93.0.4539.0","14.0.0-beta.10":"93.0.4539.0","14.0.0-beta.11":"93.0.4557.4","14.0.0-beta.12":"93.0.4557.4","14.0.0-beta.13":"93.0.4566.0","14.0.0-beta.14":"93.0.4566.0","14.0.0-beta.15":"93.0.4566.0","14.0.0-beta.16":"93.0.4566.0","14.0.0-beta.17":"93.0.4566.0","14.0.0-beta.18":"93.0.4577.15","14.0.0-beta.19":"93.0.4577.15","14.0.0-beta.20":"93.0.4577.15","14.0.0-beta.21":"93.0.4577.15","14.0.0-beta.22":"93.0.4577.25","14.0.0-beta.23":"93.0.4577.25","14.0.0-beta.24":"93.0.4577.51","14.0.0-beta.25":"93.0.4577.51","14.0.0":"93.0.4577.58","14.0.1":"93.0.4577.63","14.0.2":"93.0.4577.82","14.1.0":"93.0.4577.82","14.1.1":"93.0.4577.82","14.2.0":"93.0.4577.82","14.2.1":"93.0.4577.82","14.2.2":"93.0.4577.82","14.2.3":"93.0.4577.82","14.2.4":"93.0.4577.82","14.2.5":"93.0.4577.82","14.2.6":"93.0.4577.82","14.2.7":"93.0.4577.82","14.2.8":"93.0.4577.82","14.2.9":"93.0.4577.82","15.0.0-alpha.1":"93.0.4566.0","15.0.0-alpha.2":"93.0.4566.0","15.0.0-alpha.3":"94.0.4584.0","15.0.0-alpha.4":"94.0.4584.0","15.0.0-alpha.5":"94.0.4584.0","15.0.0-alpha.6":"94.0.4584.0","15.0.0-alpha.7":"94.0.4590.2","15.0.0-alpha.8":"94.0.4590.2","15.0.0-alpha.9":"94.0.4590.2","15.0.0-alpha.10":"94.0.4606.12","15.0.0-beta.1":"94.0.4606.20","15.0.0-beta.2":"94.0.4606.20","15.0.0-beta.3":"94.0.4606.31","15.0.0-beta.4":"94.0.4606.31","15.0.0-beta.5":"94.0.4606.31","15.0.0-beta.6":"94.0.4606.31","15.0.0-beta.7":"94.0.4606.31","15.0.0":"94.0.4606.51","15.1.0":"94.0.4606.61","15.1.1":"94.0.4606.61","15.1.2":"94.0.4606.71","15.2.0":"94.0.4606.81","15.3.0":"94.0.4606.81","15.3.1":"94.0.4606.81","15.3.2":"94.0.4606.81","15.3.3":"94.0.4606.81","15.3.4":"94.0.4606.81","15.3.5":"94.0.4606.81","15.3.6":"94.0.4606.81","15.3.7":"94.0.4606.81","15.4.0":"94.0.4606.81","15.4.1":"94.0.4606.81","15.4.2":"94.0.4606.81","15.5.0":"94.0.4606.81","15.5.1":"94.0.4606.81","15.5.2":"94.0.4606.81","15.5.3":"94.0.4606.81","15.5.4":"94.0.4606.81","15.5.5":"94.0.4606.81","15.5.6":"94.0.4606.81","15.5.7":"94.0.4606.81","16.0.0-alpha.1":"95.0.4629.0","16.0.0-alpha.2":"95.0.4629.0","16.0.0-alpha.3":"95.0.4629.0","16.0.0-alpha.4":"95.0.4629.0","16.0.0-alpha.5":"95.0.4629.0","16.0.0-alpha.6":"95.0.4629.0","16.0.0-alpha.7":"95.0.4629.0","16.0.0-alpha.8":"96.0.4647.0","16.0.0-alpha.9":"96.0.4647.0","16.0.0-beta.1":"96.0.4647.0","16.0.0-beta.2":"96.0.4647.0","16.0.0-beta.3":"96.0.4647.0","16.0.0-beta.4":"96.0.4664.18","16.0.0-beta.5":"96.0.4664.18","16.0.0-beta.6":"96.0.4664.27","16.0.0-beta.7":"96.0.4664.27","16.0.0-beta.8":"96.0.4664.35","16.0.0-beta.9":"96.0.4664.35","16.0.0":"96.0.4664.45","16.0.1":"96.0.4664.45","16.0.2":"96.0.4664.55","16.0.3":"96.0.4664.55","16.0.4":"96.0.4664.55","16.0.5":"96.0.4664.55","16.0.6":"96.0.4664.110","16.0.7":"96.0.4664.110","16.0.8":"96.0.4664.110","16.0.9":"96.0.4664.174","16.0.10":"96.0.4664.174","16.1.0":"96.0.4664.174","16.1.1":"96.0.4664.174","16.2.0":"96.0.4664.174","16.2.1":"96.0.4664.174","16.2.2":"96.0.4664.174","16.2.3":"96.0.4664.174","16.2.4":"96.0.4664.174","16.2.5":"96.0.4664.174","16.2.6":"96.0.4664.174","16.2.7":"96.0.4664.174","16.2.8":"96.0.4664.174","17.0.0-alpha.1":"96.0.4664.4","17.0.0-alpha.2":"96.0.4664.4","17.0.0-alpha.3":"96.0.4664.4","17.0.0-alpha.4":"98.0.4706.0","17.0.0-alpha.5":"98.0.4706.0","17.0.0-alpha.6":"98.0.4706.0","17.0.0-beta.1":"98.0.4706.0","17.0.0-beta.2":"98.0.4706.0","17.0.0-beta.3":"98.0.4758.9","17.0.0-beta.4":"98.0.4758.11","17.0.0-beta.5":"98.0.4758.11","17.0.0-beta.6":"98.0.4758.11","17.0.0-beta.7":"98.0.4758.11","17.0.0-beta.8":"98.0.4758.11","17.0.0-beta.9":"98.0.4758.11","17.0.0":"98.0.4758.74","17.0.1":"98.0.4758.82","17.1.0":"98.0.4758.102","17.1.1":"98.0.4758.109","17.1.2":"98.0.4758.109","17.2.0":"98.0.4758.109","17.3.0":"98.0.4758.141","17.3.1":"98.0.4758.141","17.4.0":"98.0.4758.141","17.4.1":"98.0.4758.141","17.4.2":"98.0.4758.141","17.4.3":"98.0.4758.141","17.4.4":"98.0.4758.141","17.4.5":"98.0.4758.141","17.4.6":"98.0.4758.141","17.4.7":"98.0.4758.141","17.4.8":"98.0.4758.141","17.4.9":"98.0.4758.141","17.4.10":"98.0.4758.141","17.4.11":"98.0.4758.141","18.0.0-alpha.1":"99.0.4767.0","18.0.0-alpha.2":"99.0.4767.0","18.0.0-alpha.3":"99.0.4767.0","18.0.0-alpha.4":"99.0.4767.0","18.0.0-alpha.5":"99.0.4767.0","18.0.0-beta.1":"100.0.4894.0","18.0.0-beta.2":"100.0.4894.0","18.0.0-beta.3":"100.0.4894.0","18.0.0-beta.4":"100.0.4894.0","18.0.0-beta.5":"100.0.4894.0","18.0.0-beta.6":"100.0.4894.0","18.0.0":"100.0.4896.56","18.0.1":"100.0.4896.60","18.0.2":"100.0.4896.60","18.0.3":"100.0.4896.75","18.0.4":"100.0.4896.75","18.1.0":"100.0.4896.127","18.2.0":"100.0.4896.143","18.2.1":"100.0.4896.143","18.2.2":"100.0.4896.143","18.2.3":"100.0.4896.143","18.2.4":"100.0.4896.160","18.3.0":"100.0.4896.160","18.3.1":"100.0.4896.160","18.3.2":"100.0.4896.160","18.3.3":"100.0.4896.160","18.3.4":"100.0.4896.160","18.3.5":"100.0.4896.160","18.3.6":"100.0.4896.160","18.3.7":"100.0.4896.160","18.3.8":"100.0.4896.160","18.3.9":"100.0.4896.160","18.3.11":"100.0.4896.160","18.3.12":"100.0.4896.160","18.3.13":"100.0.4896.160","18.3.14":"100.0.4896.160","18.3.15":"100.0.4896.160","19.0.0-alpha.1":"102.0.4962.3","19.0.0-alpha.2":"102.0.4971.0","19.0.0-alpha.3":"102.0.4971.0","19.0.0-alpha.4":"102.0.4989.0","19.0.0-alpha.5":"102.0.4989.0","19.0.0-beta.1":"102.0.4999.0","19.0.0-beta.2":"102.0.4999.0","19.0.0-beta.3":"102.0.4999.0","19.0.0-beta.4":"102.0.5005.27","19.0.0-beta.5":"102.0.5005.40","19.0.0-beta.6":"102.0.5005.40","19.0.0-beta.7":"102.0.5005.40","19.0.0-beta.8":"102.0.5005.49","19.0.0":"102.0.5005.61","19.0.1":"102.0.5005.61","19.0.2":"102.0.5005.63","19.0.3":"102.0.5005.63","19.0.4":"102.0.5005.63","19.0.5":"102.0.5005.115","19.0.6":"102.0.5005.115","19.0.7":"102.0.5005.134","19.0.8":"102.0.5005.148","19.0.9":"102.0.5005.167","19.0.10":"102.0.5005.167","19.0.11":"102.0.5005.167","19.0.12":"102.0.5005.167","19.0.13":"102.0.5005.167","19.0.14":"102.0.5005.167","19.0.15":"102.0.5005.167","19.0.16":"102.0.5005.167","19.0.17":"102.0.5005.167","19.1.0":"102.0.5005.167","19.1.1":"102.0.5005.167","19.1.2":"102.0.5005.167","19.1.3":"102.0.5005.167","19.1.4":"102.0.5005.167","19.1.5":"102.0.5005.167","19.1.6":"102.0.5005.167","19.1.7":"102.0.5005.167","19.1.8":"102.0.5005.167","19.1.9":"102.0.5005.167","20.0.0-alpha.1":"103.0.5044.0","20.0.0-alpha.2":"104.0.5073.0","20.0.0-alpha.3":"104.0.5073.0","20.0.0-alpha.4":"104.0.5073.0","20.0.0-alpha.5":"104.0.5073.0","20.0.0-alpha.6":"104.0.5073.0","20.0.0-alpha.7":"104.0.5073.0","20.0.0-beta.1":"104.0.5073.0","20.0.0-beta.2":"104.0.5073.0","20.0.0-beta.3":"104.0.5073.0","20.0.0-beta.4":"104.0.5073.0","20.0.0-beta.5":"104.0.5073.0","20.0.0-beta.6":"104.0.5073.0","20.0.0-beta.7":"104.0.5073.0","20.0.0-beta.8":"104.0.5073.0","20.0.0-beta.9":"104.0.5112.39","20.0.0-beta.10":"104.0.5112.48","20.0.0-beta.11":"104.0.5112.48","20.0.0-beta.12":"104.0.5112.48","20.0.0-beta.13":"104.0.5112.57","20.0.0":"104.0.5112.65","20.0.1":"104.0.5112.81","20.0.2":"104.0.5112.81","20.0.3":"104.0.5112.81","20.1.0":"104.0.5112.102","20.1.1":"104.0.5112.102","20.1.2":"104.0.5112.114","20.1.3":"104.0.5112.114","20.1.4":"104.0.5112.114","20.2.0":"104.0.5112.124","20.3.0":"104.0.5112.124","20.3.1":"104.0.5112.124","20.3.2":"104.0.5112.124","20.3.3":"104.0.5112.124","20.3.4":"104.0.5112.124","20.3.5":"104.0.5112.124","20.3.6":"104.0.5112.124","20.3.7":"104.0.5112.124","20.3.8":"104.0.5112.124","20.3.9":"104.0.5112.124","20.3.10":"104.0.5112.124","20.3.11":"104.0.5112.124","20.3.12":"104.0.5112.124","21.0.0-alpha.1":"105.0.5187.0","21.0.0-alpha.2":"105.0.5187.0","21.0.0-alpha.3":"105.0.5187.0","21.0.0-alpha.4":"105.0.5187.0","21.0.0-alpha.5":"105.0.5187.0","21.0.0-alpha.6":"106.0.5216.0","21.0.0-beta.1":"106.0.5216.0","21.0.0-beta.2":"106.0.5216.0","21.0.0-beta.3":"106.0.5216.0","21.0.0-beta.4":"106.0.5216.0","21.0.0-beta.5":"106.0.5216.0","21.0.0-beta.6":"106.0.5249.40","21.0.0-beta.7":"106.0.5249.40","21.0.0-beta.8":"106.0.5249.40","21.0.0":"106.0.5249.51","21.0.1":"106.0.5249.61","21.1.0":"106.0.5249.91","21.1.1":"106.0.5249.103","21.2.0":"106.0.5249.119","21.2.1":"106.0.5249.165","21.2.2":"106.0.5249.168","21.2.3":"106.0.5249.168","21.3.0":"106.0.5249.181","21.3.1":"106.0.5249.181","21.3.3":"106.0.5249.199","21.3.4":"106.0.5249.199","21.3.5":"106.0.5249.199","21.4.0":"106.0.5249.199","21.4.1":"106.0.5249.199","21.4.2":"106.0.5249.199","21.4.3":"106.0.5249.199","21.4.4":"106.0.5249.199","22.0.0-alpha.1":"107.0.5286.0","22.0.0-alpha.3":"108.0.5329.0","22.0.0-alpha.4":"108.0.5329.0","22.0.0-alpha.5":"108.0.5329.0","22.0.0-alpha.6":"108.0.5329.0","22.0.0-alpha.7":"108.0.5355.0","22.0.0-alpha.8":"108.0.5359.10","22.0.0-beta.1":"108.0.5359.10","22.0.0-beta.2":"108.0.5359.10","22.0.0-beta.3":"108.0.5359.10","22.0.0-beta.4":"108.0.5359.29","22.0.0-beta.5":"108.0.5359.40","22.0.0-beta.6":"108.0.5359.40","22.0.0-beta.7":"108.0.5359.48","22.0.0-beta.8":"108.0.5359.48","22.0.0":"108.0.5359.62","22.0.1":"108.0.5359.125","22.0.2":"108.0.5359.179","22.0.3":"108.0.5359.179","22.1.0":"108.0.5359.179","22.2.0":"108.0.5359.215","22.2.1":"108.0.5359.215","22.3.0":"108.0.5359.215","22.3.1":"108.0.5359.215","22.3.2":"108.0.5359.215","22.3.3":"108.0.5359.215","22.3.4":"108.0.5359.215","22.3.5":"108.0.5359.215","22.3.6":"108.0.5359.215","22.3.7":"108.0.5359.215","22.3.8":"108.0.5359.215","22.3.9":"108.0.5359.215","22.3.10":"108.0.5359.215","22.3.11":"108.0.5359.215","22.3.12":"108.0.5359.215","22.3.13":"108.0.5359.215","22.3.14":"108.0.5359.215","22.3.15":"108.0.5359.215","22.3.16":"108.0.5359.215","22.3.17":"108.0.5359.215","22.3.18":"108.0.5359.215","22.3.20":"108.0.5359.215","22.3.21":"108.0.5359.215","22.3.22":"108.0.5359.215","22.3.23":"108.0.5359.215","22.3.24":"108.0.5359.215","22.3.25":"108.0.5359.215","22.3.26":"108.0.5359.215","22.3.27":"108.0.5359.215","23.0.0-alpha.1":"110.0.5415.0","23.0.0-alpha.2":"110.0.5451.0","23.0.0-alpha.3":"110.0.5451.0","23.0.0-beta.1":"110.0.5478.5","23.0.0-beta.2":"110.0.5478.5","23.0.0-beta.3":"110.0.5478.5","23.0.0-beta.4":"110.0.5481.30","23.0.0-beta.5":"110.0.5481.38","23.0.0-beta.6":"110.0.5481.52","23.0.0-beta.8":"110.0.5481.52","23.0.0":"110.0.5481.77","23.1.0":"110.0.5481.100","23.1.1":"110.0.5481.104","23.1.2":"110.0.5481.177","23.1.3":"110.0.5481.179","23.1.4":"110.0.5481.192","23.2.0":"110.0.5481.192","23.2.1":"110.0.5481.208","23.2.2":"110.0.5481.208","23.2.3":"110.0.5481.208","23.2.4":"110.0.5481.208","23.3.0":"110.0.5481.208","23.3.1":"110.0.5481.208","23.3.2":"110.0.5481.208","23.3.3":"110.0.5481.208","23.3.4":"110.0.5481.208","23.3.5":"110.0.5481.208","23.3.6":"110.0.5481.208","23.3.7":"110.0.5481.208","23.3.8":"110.0.5481.208","23.3.9":"110.0.5481.208","23.3.10":"110.0.5481.208","23.3.11":"110.0.5481.208","23.3.12":"110.0.5481.208","23.3.13":"110.0.5481.208","24.0.0-alpha.1":"111.0.5560.0","24.0.0-alpha.2":"111.0.5560.0","24.0.0-alpha.3":"111.0.5560.0","24.0.0-alpha.4":"111.0.5560.0","24.0.0-alpha.5":"111.0.5560.0","24.0.0-alpha.6":"111.0.5560.0","24.0.0-alpha.7":"111.0.5560.0","24.0.0-beta.1":"111.0.5563.50","24.0.0-beta.2":"111.0.5563.50","24.0.0-beta.3":"112.0.5615.20","24.0.0-beta.4":"112.0.5615.20","24.0.0-beta.5":"112.0.5615.29","24.0.0-beta.6":"112.0.5615.39","24.0.0-beta.7":"112.0.5615.39","24.0.0":"112.0.5615.49","24.1.0":"112.0.5615.50","24.1.1":"112.0.5615.50","24.1.2":"112.0.5615.87","24.1.3":"112.0.5615.165","24.2.0":"112.0.5615.165","24.3.0":"112.0.5615.165","24.3.1":"112.0.5615.183","24.4.0":"112.0.5615.204","24.4.1":"112.0.5615.204","24.5.0":"112.0.5615.204","24.5.1":"112.0.5615.204","24.6.0":"112.0.5615.204","24.6.1":"112.0.5615.204","24.6.2":"112.0.5615.204","24.6.3":"112.0.5615.204","24.6.4":"112.0.5615.204","24.6.5":"112.0.5615.204","24.7.0":"112.0.5615.204","24.7.1":"112.0.5615.204","24.8.0":"112.0.5615.204","24.8.1":"112.0.5615.204","24.8.2":"112.0.5615.204","24.8.3":"112.0.5615.204","24.8.4":"112.0.5615.204","24.8.5":"112.0.5615.204","24.8.6":"112.0.5615.204","24.8.7":"112.0.5615.204","24.8.8":"112.0.5615.204","25.0.0-alpha.1":"114.0.5694.0","25.0.0-alpha.2":"114.0.5694.0","25.0.0-alpha.3":"114.0.5710.0","25.0.0-alpha.4":"114.0.5710.0","25.0.0-alpha.5":"114.0.5719.0","25.0.0-alpha.6":"114.0.5719.0","25.0.0-beta.1":"114.0.5719.0","25.0.0-beta.2":"114.0.5719.0","25.0.0-beta.3":"114.0.5719.0","25.0.0-beta.4":"114.0.5735.16","25.0.0-beta.5":"114.0.5735.16","25.0.0-beta.6":"114.0.5735.16","25.0.0-beta.7":"114.0.5735.16","25.0.0-beta.8":"114.0.5735.35","25.0.0-beta.9":"114.0.5735.45","25.0.0":"114.0.5735.45","25.0.1":"114.0.5735.45","25.1.0":"114.0.5735.106","25.1.1":"114.0.5735.106","25.2.0":"114.0.5735.134","25.3.0":"114.0.5735.199","25.3.1":"114.0.5735.243","25.3.2":"114.0.5735.248","25.4.0":"114.0.5735.248","25.5.0":"114.0.5735.289","25.6.0":"114.0.5735.289","25.7.0":"114.0.5735.289","25.8.0":"114.0.5735.289","25.8.1":"114.0.5735.289","25.8.2":"114.0.5735.289","25.8.3":"114.0.5735.289","25.8.4":"114.0.5735.289","25.9.0":"114.0.5735.289","25.9.1":"114.0.5735.289","25.9.2":"114.0.5735.289","25.9.3":"114.0.5735.289","25.9.4":"114.0.5735.289","25.9.5":"114.0.5735.289","25.9.6":"114.0.5735.289","25.9.7":"114.0.5735.289","25.9.8":"114.0.5735.289","26.0.0-alpha.1":"116.0.5791.0","26.0.0-alpha.2":"116.0.5791.0","26.0.0-alpha.3":"116.0.5791.0","26.0.0-alpha.4":"116.0.5791.0","26.0.0-alpha.5":"116.0.5791.0","26.0.0-alpha.6":"116.0.5815.0","26.0.0-alpha.7":"116.0.5831.0","26.0.0-alpha.8":"116.0.5845.0","26.0.0-beta.1":"116.0.5845.0","26.0.0-beta.2":"116.0.5845.14","26.0.0-beta.3":"116.0.5845.14","26.0.0-beta.4":"116.0.5845.14","26.0.0-beta.5":"116.0.5845.14","26.0.0-beta.6":"116.0.5845.14","26.0.0-beta.7":"116.0.5845.14","26.0.0-beta.8":"116.0.5845.42","26.0.0-beta.9":"116.0.5845.42","26.0.0-beta.10":"116.0.5845.49","26.0.0-beta.11":"116.0.5845.49","26.0.0-beta.12":"116.0.5845.62","26.0.0":"116.0.5845.82","26.1.0":"116.0.5845.97","26.2.0":"116.0.5845.179","26.2.1":"116.0.5845.188","26.2.2":"116.0.5845.190","26.2.3":"116.0.5845.190","26.2.4":"116.0.5845.190","26.3.0":"116.0.5845.228","26.4.0":"116.0.5845.228","26.4.1":"116.0.5845.228","26.4.2":"116.0.5845.228","26.4.3":"116.0.5845.228","26.5.0":"116.0.5845.228","26.6.0":"116.0.5845.228","26.6.1":"116.0.5845.228","26.6.2":"116.0.5845.228","26.6.3":"116.0.5845.228","26.6.4":"116.0.5845.228","26.6.5":"116.0.5845.228","26.6.6":"116.0.5845.228","26.6.7":"116.0.5845.228","26.6.8":"116.0.5845.228","26.6.9":"116.0.5845.228","26.6.10":"116.0.5845.228","27.0.0-alpha.1":"118.0.5949.0","27.0.0-alpha.2":"118.0.5949.0","27.0.0-alpha.3":"118.0.5949.0","27.0.0-alpha.4":"118.0.5949.0","27.0.0-alpha.5":"118.0.5949.0","27.0.0-alpha.6":"118.0.5949.0","27.0.0-beta.1":"118.0.5993.5","27.0.0-beta.2":"118.0.5993.5","27.0.0-beta.3":"118.0.5993.5","27.0.0-beta.4":"118.0.5993.11","27.0.0-beta.5":"118.0.5993.18","27.0.0-beta.6":"118.0.5993.18","27.0.0-beta.7":"118.0.5993.18","27.0.0-beta.8":"118.0.5993.18","27.0.0-beta.9":"118.0.5993.18","27.0.0":"118.0.5993.54","27.0.1":"118.0.5993.89","27.0.2":"118.0.5993.89","27.0.3":"118.0.5993.120","27.0.4":"118.0.5993.129","27.1.0":"118.0.5993.144","27.1.2":"118.0.5993.144","27.1.3":"118.0.5993.159","27.2.0":"118.0.5993.159","27.2.1":"118.0.5993.159","27.2.2":"118.0.5993.159","27.2.3":"118.0.5993.159","27.2.4":"118.0.5993.159","27.3.0":"118.0.5993.159","27.3.1":"118.0.5993.159","27.3.2":"118.0.5993.159","27.3.3":"118.0.5993.159","27.3.4":"118.0.5993.159","27.3.5":"118.0.5993.159","27.3.6":"118.0.5993.159","27.3.7":"118.0.5993.159","27.3.8":"118.0.5993.159","27.3.9":"118.0.5993.159","27.3.10":"118.0.5993.159","27.3.11":"118.0.5993.159","28.0.0-alpha.1":"119.0.6045.0","28.0.0-alpha.2":"119.0.6045.0","28.0.0-alpha.3":"119.0.6045.21","28.0.0-alpha.4":"119.0.6045.21","28.0.0-alpha.5":"119.0.6045.33","28.0.0-alpha.6":"119.0.6045.33","28.0.0-alpha.7":"119.0.6045.33","28.0.0-beta.1":"119.0.6045.33","28.0.0-beta.2":"120.0.6099.0","28.0.0-beta.3":"120.0.6099.5","28.0.0-beta.4":"120.0.6099.5","28.0.0-beta.5":"120.0.6099.18","28.0.0-beta.6":"120.0.6099.18","28.0.0-beta.7":"120.0.6099.18","28.0.0-beta.8":"120.0.6099.18","28.0.0-beta.9":"120.0.6099.18","28.0.0-beta.10":"120.0.6099.18","28.0.0-beta.11":"120.0.6099.35","28.0.0":"120.0.6099.56","28.1.0":"120.0.6099.109","28.1.1":"120.0.6099.109","28.1.2":"120.0.6099.199","28.1.3":"120.0.6099.199","28.1.4":"120.0.6099.216","28.2.0":"120.0.6099.227","28.2.1":"120.0.6099.268","28.2.2":"120.0.6099.276","28.2.3":"120.0.6099.283","28.2.4":"120.0.6099.291","28.2.5":"120.0.6099.291","28.2.6":"120.0.6099.291","28.2.7":"120.0.6099.291","28.2.8":"120.0.6099.291","28.2.9":"120.0.6099.291","28.2.10":"120.0.6099.291","28.3.0":"120.0.6099.291","28.3.1":"120.0.6099.291","28.3.2":"120.0.6099.291","28.3.3":"120.0.6099.291","29.0.0-alpha.1":"121.0.6147.0","29.0.0-alpha.2":"121.0.6147.0","29.0.0-alpha.3":"121.0.6147.0","29.0.0-alpha.4":"121.0.6159.0","29.0.0-alpha.5":"121.0.6159.0","29.0.0-alpha.6":"121.0.6159.0","29.0.0-alpha.7":"121.0.6159.0","29.0.0-alpha.8":"122.0.6194.0","29.0.0-alpha.9":"122.0.6236.2","29.0.0-alpha.10":"122.0.6236.2","29.0.0-alpha.11":"122.0.6236.2","29.0.0-beta.1":"122.0.6236.2","29.0.0-beta.2":"122.0.6236.2","29.0.0-beta.3":"122.0.6261.6","29.0.0-beta.4":"122.0.6261.6","29.0.0-beta.5":"122.0.6261.18","29.0.0-beta.6":"122.0.6261.18","29.0.0-beta.7":"122.0.6261.18","29.0.0-beta.8":"122.0.6261.18","29.0.0-beta.9":"122.0.6261.18","29.0.0-beta.10":"122.0.6261.18","29.0.0-beta.11":"122.0.6261.18","29.0.0-beta.12":"122.0.6261.29","29.0.0":"122.0.6261.39","29.0.1":"122.0.6261.57","29.1.0":"122.0.6261.70","29.1.1":"122.0.6261.111","29.1.2":"122.0.6261.112","29.1.3":"122.0.6261.112","29.1.4":"122.0.6261.129","29.1.5":"122.0.6261.130","29.1.6":"122.0.6261.139","29.2.0":"122.0.6261.156","29.3.0":"122.0.6261.156","29.3.1":"122.0.6261.156","29.3.2":"122.0.6261.156","29.3.3":"122.0.6261.156","29.4.0":"122.0.6261.156","29.4.1":"122.0.6261.156","29.4.2":"122.0.6261.156","29.4.3":"122.0.6261.156","29.4.4":"122.0.6261.156","29.4.5":"122.0.6261.156","29.4.6":"122.0.6261.156","30.0.0-alpha.1":"123.0.6296.0","30.0.0-alpha.2":"123.0.6312.5","30.0.0-alpha.3":"124.0.6323.0","30.0.0-alpha.4":"124.0.6323.0","30.0.0-alpha.5":"124.0.6331.0","30.0.0-alpha.6":"124.0.6331.0","30.0.0-alpha.7":"124.0.6353.0","30.0.0-beta.1":"124.0.6359.0","30.0.0-beta.2":"124.0.6359.0","30.0.0-beta.3":"124.0.6367.9","30.0.0-beta.4":"124.0.6367.9","30.0.0-beta.5":"124.0.6367.9","30.0.0-beta.6":"124.0.6367.18","30.0.0-beta.7":"124.0.6367.29","30.0.0-beta.8":"124.0.6367.29","30.0.0":"124.0.6367.49","30.0.1":"124.0.6367.60","30.0.2":"124.0.6367.91","30.0.3":"124.0.6367.119","30.0.4":"124.0.6367.201","30.0.5":"124.0.6367.207","30.0.6":"124.0.6367.207","30.0.7":"124.0.6367.221","30.0.8":"124.0.6367.230","30.0.9":"124.0.6367.233","30.1.0":"124.0.6367.243","30.1.1":"124.0.6367.243","30.1.2":"124.0.6367.243","30.2.0":"124.0.6367.243","30.3.0":"124.0.6367.243","30.3.1":"124.0.6367.243","30.4.0":"124.0.6367.243","30.5.0":"124.0.6367.243","30.5.1":"124.0.6367.243","31.0.0-alpha.1":"125.0.6412.0","31.0.0-alpha.2":"125.0.6412.0","31.0.0-alpha.3":"125.0.6412.0","31.0.0-alpha.4":"125.0.6412.0","31.0.0-alpha.5":"125.0.6412.0","31.0.0-beta.1":"126.0.6445.0","31.0.0-beta.2":"126.0.6445.0","31.0.0-beta.3":"126.0.6445.0","31.0.0-beta.4":"126.0.6445.0","31.0.0-beta.5":"126.0.6445.0","31.0.0-beta.6":"126.0.6445.0","31.0.0-beta.7":"126.0.6445.0","31.0.0-beta.8":"126.0.6445.0","31.0.0-beta.9":"126.0.6445.0","31.0.0-beta.10":"126.0.6478.36","31.0.0":"126.0.6478.36","31.0.1":"126.0.6478.36","31.0.2":"126.0.6478.61","31.1.0":"126.0.6478.114","31.2.0":"126.0.6478.127","31.2.1":"126.0.6478.127","31.3.0":"126.0.6478.183","31.3.1":"126.0.6478.185","31.4.0":"126.0.6478.234","31.5.0":"126.0.6478.234","31.6.0":"126.0.6478.234","31.7.0":"126.0.6478.234","31.7.1":"126.0.6478.234","31.7.2":"126.0.6478.234","31.7.3":"126.0.6478.234","31.7.4":"126.0.6478.234","31.7.5":"126.0.6478.234","31.7.6":"126.0.6478.234","32.0.0-alpha.1":"127.0.6521.0","32.0.0-alpha.2":"127.0.6521.0","32.0.0-alpha.3":"127.0.6521.0","32.0.0-alpha.4":"127.0.6521.0","32.0.0-alpha.5":"127.0.6521.0","32.0.0-alpha.6":"128.0.6571.0","32.0.0-alpha.7":"128.0.6571.0","32.0.0-alpha.8":"128.0.6573.0","32.0.0-alpha.9":"128.0.6573.0","32.0.0-alpha.10":"128.0.6573.0","32.0.0-beta.1":"128.0.6573.0","32.0.0-beta.2":"128.0.6611.0","32.0.0-beta.3":"128.0.6613.7","32.0.0-beta.4":"128.0.6613.18","32.0.0-beta.5":"128.0.6613.27","32.0.0-beta.6":"128.0.6613.27","32.0.0-beta.7":"128.0.6613.27","32.0.0":"128.0.6613.36","32.0.1":"128.0.6613.36","32.0.2":"128.0.6613.84","32.1.0":"128.0.6613.120","32.1.1":"128.0.6613.137","32.1.2":"128.0.6613.162","32.2.0":"128.0.6613.178","32.2.1":"128.0.6613.186","32.2.2":"128.0.6613.186","32.2.3":"128.0.6613.186","32.2.4":"128.0.6613.186","32.2.5":"128.0.6613.186","32.2.6":"128.0.6613.186","32.2.7":"128.0.6613.186","33.0.0-alpha.1":"129.0.6668.0","33.0.0-alpha.2":"130.0.6672.0","33.0.0-alpha.3":"130.0.6672.0","33.0.0-alpha.4":"130.0.6672.0","33.0.0-alpha.5":"130.0.6672.0","33.0.0-alpha.6":"130.0.6672.0","33.0.0-beta.1":"130.0.6672.0","33.0.0-beta.2":"130.0.6672.0","33.0.0-beta.3":"130.0.6672.0","33.0.0-beta.4":"130.0.6672.0","33.0.0-beta.5":"130.0.6723.19","33.0.0-beta.6":"130.0.6723.19","33.0.0-beta.7":"130.0.6723.19","33.0.0-beta.8":"130.0.6723.31","33.0.0-beta.9":"130.0.6723.31","33.0.0-beta.10":"130.0.6723.31","33.0.0-beta.11":"130.0.6723.44","33.0.0":"130.0.6723.44","33.0.1":"130.0.6723.59","33.0.2":"130.0.6723.59","33.1.0":"130.0.6723.91","33.2.0":"130.0.6723.118","33.2.1":"130.0.6723.137","33.3.0":"130.0.6723.152","34.0.0-alpha.1":"131.0.6776.0","34.0.0-alpha.2":"132.0.6779.0","34.0.0-alpha.3":"132.0.6789.1","34.0.0-alpha.4":"132.0.6789.1","34.0.0-alpha.5":"132.0.6789.1","34.0.0-alpha.6":"132.0.6789.1","34.0.0-alpha.7":"132.0.6789.1","34.0.0-alpha.8":"132.0.6820.0","34.0.0-alpha.9":"132.0.6824.0","34.0.0-beta.1":"132.0.6824.0","34.0.0-beta.2":"132.0.6824.0","34.0.0-beta.3":"132.0.6824.0","34.0.0-beta.4":"132.0.6834.6","34.0.0-beta.5":"132.0.6834.6","34.0.0-beta.6":"132.0.6834.15","34.0.0-beta.7":"132.0.6834.15","34.0.0-beta.8":"132.0.6834.15","34.0.0-beta.9":"132.0.6834.32","34.0.0-beta.10":"132.0.6834.32","34.0.0-beta.11":"132.0.6834.32","34.0.0-beta.12":"132.0.6834.46"} \ No newline at end of file diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/index.js b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/index.js deleted file mode 100644 index 1818281f..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/index.js +++ /dev/null @@ -1,36 +0,0 @@ -var versions = require('./versions'); -var fullVersions = require('./full-versions'); -var chromiumVersions = require('./chromium-versions'); -var fullChromiumVersions = require('./full-chromium-versions'); - -var electronToChromium = function (query) { - var number = getQueryString(query); - return number.split('.').length > 2 ? fullVersions[number] : versions[number] || undefined; -}; - -var chromiumToElectron = function (query) { - var number = getQueryString(query); - return number.split('.').length > 2 ? fullChromiumVersions[number] : chromiumVersions[number] || undefined; -}; - -var electronToBrowserList = function (query) { - var number = getQueryString(query); - return versions[number] ? "Chrome >= " + versions[number] : undefined; -}; - -var getQueryString = function (query) { - var number = query; - if (query === 1) { number = "1.0" } - if (typeof query === 'number') { number += ''; } - return number; -}; - -module.exports = { - versions: versions, - fullVersions: fullVersions, - chromiumVersions: chromiumVersions, - fullChromiumVersions: fullChromiumVersions, - electronToChromium: electronToChromium, - electronToBrowserList: electronToBrowserList, - chromiumToElectron: chromiumToElectron -}; diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/package.json b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/package.json deleted file mode 100644 index eb44e3e8..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "electron-to-chromium", - "version": "1.5.74", - "description": "Provides a list of electron-to-chromium version mappings", - "main": "index.js", - "files": [ - "versions.js", - "full-versions.js", - "chromium-versions.js", - "full-chromium-versions.js", - "versions.json", - "full-versions.json", - "chromium-versions.json", - "full-chromium-versions.json", - "LICENSE" - ], - "scripts": { - "build": "node build.mjs", - "update": "node automated-update.js", - "test": "nyc ava --verbose", - "report": "nyc report --reporter=text-lcov > coverage.lcov && codecov" - }, - "repository": { - "type": "git", - "url": "https://github.com/kilian/electron-to-chromium/" - }, - "keywords": [ - "electron", - "chrome", - "chromium", - "browserslist", - "browserlist" - ], - "author": "Kilian Valkhof", - "license": "ISC", - "devDependencies": { - "ava": "^5.1.1", - "codecov": "^3.8.2", - "compare-versions": "^6.0.0-rc.1", - "node-fetch": "^3.3.0", - "nyc": "^15.1.0", - "shelljs": "^0.8.5" - } -} diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.js b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.js deleted file mode 100644 index 17fcb066..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.js +++ /dev/null @@ -1,176 +0,0 @@ -module.exports = { - "0.20": "39", - "0.21": "41", - "0.22": "41", - "0.23": "41", - "0.24": "41", - "0.25": "42", - "0.26": "42", - "0.27": "43", - "0.28": "43", - "0.29": "43", - "0.30": "44", - "0.31": "45", - "0.32": "45", - "0.33": "45", - "0.34": "45", - "0.35": "45", - "0.36": "47", - "0.37": "49", - "1.0": "49", - "1.1": "50", - "1.2": "51", - "1.3": "52", - "1.4": "53", - "1.5": "54", - "1.6": "56", - "1.7": "58", - "1.8": "59", - "2.0": "61", - "2.1": "61", - "3.0": "66", - "3.1": "66", - "4.0": "69", - "4.1": "69", - "4.2": "69", - "5.0": "73", - "6.0": "76", - "6.1": "76", - "7.0": "78", - "7.1": "78", - "7.2": "78", - "7.3": "78", - "8.0": "80", - "8.1": "80", - "8.2": "80", - "8.3": "80", - "8.4": "80", - "8.5": "80", - "9.0": "83", - "9.1": "83", - "9.2": "83", - "9.3": "83", - "9.4": "83", - "10.0": "85", - "10.1": "85", - "10.2": "85", - "10.3": "85", - "10.4": "85", - "11.0": "87", - "11.1": "87", - "11.2": "87", - "11.3": "87", - "11.4": "87", - "11.5": "87", - "12.0": "89", - "12.1": "89", - "12.2": "89", - "13.0": "91", - "13.1": "91", - "13.2": "91", - "13.3": "91", - "13.4": "91", - "13.5": "91", - "13.6": "91", - "14.0": "93", - "14.1": "93", - "14.2": "93", - "15.0": "94", - "15.1": "94", - "15.2": "94", - "15.3": "94", - "15.4": "94", - "15.5": "94", - "16.0": "96", - "16.1": "96", - "16.2": "96", - "17.0": "98", - "17.1": "98", - "17.2": "98", - "17.3": "98", - "17.4": "98", - "18.0": "100", - "18.1": "100", - "18.2": "100", - "18.3": "100", - "19.0": "102", - "19.1": "102", - "20.0": "104", - "20.1": "104", - "20.2": "104", - "20.3": "104", - "21.0": "106", - "21.1": "106", - "21.2": "106", - "21.3": "106", - "21.4": "106", - "22.0": "108", - "22.1": "108", - "22.2": "108", - "22.3": "108", - "23.0": "110", - "23.1": "110", - "23.2": "110", - "23.3": "110", - "24.0": "112", - "24.1": "112", - "24.2": "112", - "24.3": "112", - "24.4": "112", - "24.5": "112", - "24.6": "112", - "24.7": "112", - "24.8": "112", - "25.0": "114", - "25.1": "114", - "25.2": "114", - "25.3": "114", - "25.4": "114", - "25.5": "114", - "25.6": "114", - "25.7": "114", - "25.8": "114", - "25.9": "114", - "26.0": "116", - "26.1": "116", - "26.2": "116", - "26.3": "116", - "26.4": "116", - "26.5": "116", - "26.6": "116", - "27.0": "118", - "27.1": "118", - "27.2": "118", - "27.3": "118", - "28.0": "120", - "28.1": "120", - "28.2": "120", - "28.3": "120", - "29.0": "122", - "29.1": "122", - "29.2": "122", - "29.3": "122", - "29.4": "122", - "30.0": "124", - "30.1": "124", - "30.2": "124", - "30.3": "124", - "30.4": "124", - "30.5": "124", - "31.0": "126", - "31.1": "126", - "31.2": "126", - "31.3": "126", - "31.4": "126", - "31.5": "126", - "31.6": "126", - "31.7": "126", - "32.0": "128", - "32.1": "128", - "32.2": "128", - "33.0": "130", - "33.1": "130", - "33.2": "130", - "33.3": "130", - "34.0": "132" -}; \ No newline at end of file diff --git a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.json b/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.json deleted file mode 100644 index aa7db04f..00000000 --- a/node_modules/.pnpm/electron-to-chromium@1.5.74/node_modules/electron-to-chromium/versions.json +++ /dev/null @@ -1 +0,0 @@ -{"0.20":"39","0.21":"41","0.22":"41","0.23":"41","0.24":"41","0.25":"42","0.26":"42","0.27":"43","0.28":"43","0.29":"43","0.30":"44","0.31":"45","0.32":"45","0.33":"45","0.34":"45","0.35":"45","0.36":"47","0.37":"49","1.0":"49","1.1":"50","1.2":"51","1.3":"52","1.4":"53","1.5":"54","1.6":"56","1.7":"58","1.8":"59","2.0":"61","2.1":"61","3.0":"66","3.1":"66","4.0":"69","4.1":"69","4.2":"69","5.0":"73","6.0":"76","6.1":"76","7.0":"78","7.1":"78","7.2":"78","7.3":"78","8.0":"80","8.1":"80","8.2":"80","8.3":"80","8.4":"80","8.5":"80","9.0":"83","9.1":"83","9.2":"83","9.3":"83","9.4":"83","10.0":"85","10.1":"85","10.2":"85","10.3":"85","10.4":"85","11.0":"87","11.1":"87","11.2":"87","11.3":"87","11.4":"87","11.5":"87","12.0":"89","12.1":"89","12.2":"89","13.0":"91","13.1":"91","13.2":"91","13.3":"91","13.4":"91","13.5":"91","13.6":"91","14.0":"93","14.1":"93","14.2":"93","15.0":"94","15.1":"94","15.2":"94","15.3":"94","15.4":"94","15.5":"94","16.0":"96","16.1":"96","16.2":"96","17.0":"98","17.1":"98","17.2":"98","17.3":"98","17.4":"98","18.0":"100","18.1":"100","18.2":"100","18.3":"100","19.0":"102","19.1":"102","20.0":"104","20.1":"104","20.2":"104","20.3":"104","21.0":"106","21.1":"106","21.2":"106","21.3":"106","21.4":"106","22.0":"108","22.1":"108","22.2":"108","22.3":"108","23.0":"110","23.1":"110","23.2":"110","23.3":"110","24.0":"112","24.1":"112","24.2":"112","24.3":"112","24.4":"112","24.5":"112","24.6":"112","24.7":"112","24.8":"112","25.0":"114","25.1":"114","25.2":"114","25.3":"114","25.4":"114","25.5":"114","25.6":"114","25.7":"114","25.8":"114","25.9":"114","26.0":"116","26.1":"116","26.2":"116","26.3":"116","26.4":"116","26.5":"116","26.6":"116","27.0":"118","27.1":"118","27.2":"118","27.3":"118","28.0":"120","28.1":"120","28.2":"120","28.3":"120","29.0":"122","29.1":"122","29.2":"122","29.3":"122","29.4":"122","30.0":"124","30.1":"124","30.2":"124","30.3":"124","30.4":"124","30.5":"124","31.0":"126","31.1":"126","31.2":"126","31.3":"126","31.4":"126","31.5":"126","31.6":"126","31.7":"126","32.0":"128","32.1":"128","32.2":"128","33.0":"130","33.1":"130","33.2":"130","33.3":"130","34.0":"132"} \ No newline at end of file diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint deleted file mode 120000 index 399abca6..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint +++ /dev/null @@ -1 +0,0 @@ -../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint \ No newline at end of file diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/LICENSE b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/LICENSE deleted file mode 100644 index b93be905..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) Meta Platforms, Inc. and affiliates. - -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/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/README.md b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/README.md deleted file mode 100644 index d7a3e7d3..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# `eslint-plugin-react-hooks` - -This ESLint plugin enforces the [Rules of Hooks](https://react.dev/reference/rules/rules-of-hooks). - -It is a part of the [Hooks API](https://react.dev/reference/react/hooks) for React. - -## Installation - -**Note: If you're using Create React App, please use `react-scripts` >= 3 instead of adding it directly.** - -Assuming you already have ESLint installed, run: - -```sh -# npm -npm install eslint-plugin-react-hooks --save-dev - -# yarn -yarn add eslint-plugin-react-hooks --dev -``` - -Then extend the recommended eslint config: - -```js -{ - "extends": [ - // ... - "plugin:react-hooks/recommended" - ] -} -``` - -### Custom Configuration - -If you want more fine-grained configuration, you can instead add a snippet like this to your ESLint configuration file: - -```js -{ - "plugins": [ - // ... - "react-hooks" - ], - "rules": { - // ... - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn" - } -} -``` - - -## Advanced Configuration - -`exhaustive-deps` can be configured to validate dependencies of custom Hooks with the `additionalHooks` option. -This option accepts a regex to match the names of custom Hooks that have dependencies. - -```js -{ - "rules": { - // ... - "react-hooks/exhaustive-deps": ["warn", { - "additionalHooks": "(useMyCustomHook|useMyOtherCustomHook)" - }] - } -} -``` - -We suggest to use this option **very sparingly, if at all**. Generally saying, we recommend most custom Hooks to not use the dependencies argument, and instead provide a higher-level API that is more focused around a specific use case. - -## Valid and Invalid Examples - -Please refer to the [Rules of Hooks](https://react.dev/reference/rules/rules-of-hooks) documentation to learn more about this rule. - -## License - -MIT diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js deleted file mode 100644 index 3cacb9a9..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js +++ /dev/null @@ -1,2038 +0,0 @@ -/** - * @license React - * eslint-plugin-react-hooks.development.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -"production" !== process.env.NODE_ENV && - (function () { - function _unsupportedIterableToArray(o, minLen) { - if (o) { - if ("string" === typeof o) return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - "Object" === n && o.constructor && (n = o.constructor.name); - if ("Map" === n || "Set" === n) return Array.from(o); - if ( - "Arguments" === n || - /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ) - return _arrayLikeToArray(o, minLen); - } - } - function _arrayLikeToArray(arr, len) { - if (null == len || len > arr.length) len = arr.length; - for (var i = 0, arr2 = Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; - } - function _createForOfIteratorHelper(o, allowArrayLike) { - var it; - if ("undefined" === typeof Symbol || null == o[Symbol.iterator]) { - if ( - Array.isArray(o) || - (it = _unsupportedIterableToArray(o)) || - (allowArrayLike && o && "number" === typeof o.length) - ) { - it && (o = it); - var i = 0; - allowArrayLike = function () {}; - return { - s: allowArrayLike, - n: function () { - return i >= o.length ? { done: !0 } : { done: !1, value: o[i++] }; - }, - e: function (e) { - throw e; - }, - f: allowArrayLike - }; - } - throw new TypeError( - "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." - ); - } - var normalCompletion = !0, - didErr = !1, - err; - return { - s: function () { - it = o[Symbol.iterator](); - }, - n: function () { - var step = it.next(); - normalCompletion = step.done; - return step; - }, - e: function (e) { - didErr = !0; - err = e; - }, - f: function () { - try { - normalCompletion || null == it.return || it.return(); - } finally { - if (didErr) throw err; - } - } - }; - } - function isHook(node) { - if ("Identifier" === node.type) - return (node = node.name), "use" === node || /^use[A-Z0-9]/.test(node); - if ( - "MemberExpression" === node.type && - !node.computed && - isHook(node.property) - ) { - node = node.object; - var isPascalCaseNameSpace = /^[A-Z].*/; - return ( - "Identifier" === node.type && isPascalCaseNameSpace.test(node.name) - ); - } - return !1; - } - function isComponentName(node) { - return "Identifier" === node.type && /^[A-Z]/.test(node.name); - } - function isReactFunction(node, functionName) { - return ( - node.name === functionName || - ("MemberExpression" === node.type && - "React" === node.object.name && - node.property.name === functionName) - ); - } - function isForwardRefCallback(node) { - return !!( - node.parent && - node.parent.callee && - isReactFunction(node.parent.callee, "forwardRef") - ); - } - function isMemoCallback(node) { - return !!( - node.parent && - node.parent.callee && - isReactFunction(node.parent.callee, "memo") - ); - } - function isInsideComponentOrHook(node) { - for (; node; ) { - var functionName = getFunctionName(node); - if ( - (functionName && - (isComponentName(functionName) || isHook(functionName))) || - isForwardRefCallback(node) || - isMemoCallback(node) - ) - return !0; - node = node.parent; - } - return !1; - } - function getFunctionName(node) { - if ( - "FunctionDeclaration" === node.type || - ("FunctionExpression" === node.type && node.id) - ) - return node.id; - if ( - "FunctionExpression" === node.type || - "ArrowFunctionExpression" === node.type - ) - return "VariableDeclarator" === node.parent.type && - node.parent.init === node - ? node.parent.id - : "AssignmentExpression" === node.parent.type && - node.parent.right === node && - "=" === node.parent.operator - ? node.parent.left - : "Property" !== node.parent.type || - node.parent.value !== node || - node.parent.computed - ? "AssignmentPattern" !== node.parent.type || - node.parent.right !== node || - node.parent.computed - ? void 0 - : node.parent.left - : node.parent.key; - } - function collectRecommendations(_ref6) { - function createDepTree() { - return { - isUsed: !1, - isSatisfiedRecursively: !1, - isSubtreeUsed: !1, - children: new Map() - }; - } - function getOrCreateNodeByPath(rootNode, path) { - path = path.split("."); - path = _createForOfIteratorHelper(path); - var _step4; - try { - for (path.s(); !(_step4 = path.n()).done; ) { - var key = _step4.value, - child = rootNode.children.get(key); - child || - ((child = createDepTree()), rootNode.children.set(key, child)); - rootNode = child; - } - } catch (err) { - path.e(err); - } finally { - path.f(); - } - return rootNode; - } - function markAllParentsByPath(rootNode, path, fn) { - path = path.split("."); - path = _createForOfIteratorHelper(path); - var _step5; - try { - for (path.s(); !(_step5 = path.n()).done; ) { - var child = rootNode.children.get(_step5.value); - if (!child) break; - fn(child); - rootNode = child; - } - } catch (err) { - path.e(err); - } finally { - path.f(); - } - } - function scanTreeRecursively( - node, - missingPaths, - satisfyingPaths, - keyToPath - ) { - node.children.forEach(function (child, key) { - var path = keyToPath(key); - child.isSatisfiedRecursively - ? child.isSubtreeUsed && satisfyingPaths.add(path) - : child.isUsed - ? missingPaths.add(path) - : scanTreeRecursively( - child, - missingPaths, - satisfyingPaths, - function (childKey) { - return path + "." + childKey; - } - ); - }); - } - var dependencies = _ref6.dependencies, - declaredDependencies = _ref6.declaredDependencies, - stableDependencies = _ref6.stableDependencies, - externalDependencies = _ref6.externalDependencies, - isEffect = _ref6.isEffect, - depTree = createDepTree(); - dependencies.forEach(function (_, key) { - getOrCreateNodeByPath(depTree, key).isUsed = !0; - markAllParentsByPath(depTree, key, function (parent) { - parent.isSubtreeUsed = !0; - }); - }); - declaredDependencies.forEach(function (_ref7) { - getOrCreateNodeByPath(depTree, _ref7.key).isSatisfiedRecursively = !0; - }); - stableDependencies.forEach(function (key) { - getOrCreateNodeByPath(depTree, key).isSatisfiedRecursively = !0; - }); - _ref6 = new Set(); - var satisfyingDependencies = new Set(); - scanTreeRecursively( - depTree, - _ref6, - satisfyingDependencies, - function (key) { - return key; - } - ); - var suggestedDependencies = [], - unnecessaryDependencies = new Set(), - duplicateDependencies = new Set(); - declaredDependencies.forEach(function (_ref8) { - _ref8 = _ref8.key; - satisfyingDependencies.has(_ref8) - ? -1 === suggestedDependencies.indexOf(_ref8) - ? suggestedDependencies.push(_ref8) - : duplicateDependencies.add(_ref8) - : !isEffect || - _ref8.endsWith(".current") || - externalDependencies.has(_ref8) - ? unnecessaryDependencies.add(_ref8) - : -1 === suggestedDependencies.indexOf(_ref8) && - suggestedDependencies.push(_ref8); - }); - _ref6.forEach(function (key) { - suggestedDependencies.push(key); - }); - return { - suggestedDependencies: suggestedDependencies, - unnecessaryDependencies: unnecessaryDependencies, - duplicateDependencies: duplicateDependencies, - missingDependencies: _ref6 - }; - } - function getConstructionExpressionType(node) { - switch (node.type) { - case "ObjectExpression": - return "object"; - case "ArrayExpression": - return "array"; - case "ArrowFunctionExpression": - case "FunctionExpression": - return "function"; - case "ClassExpression": - return "class"; - case "ConditionalExpression": - if ( - null != getConstructionExpressionType(node.consequent) || - null != getConstructionExpressionType(node.alternate) - ) - return "conditional"; - break; - case "LogicalExpression": - if ( - null != getConstructionExpressionType(node.left) || - null != getConstructionExpressionType(node.right) - ) - return "logical expression"; - break; - case "JSXFragment": - return "JSX fragment"; - case "JSXElement": - return "JSX element"; - case "AssignmentExpression": - if (null != getConstructionExpressionType(node.right)) - return "assignment expression"; - break; - case "NewExpression": - return "object construction"; - case "Literal": - if (node.value instanceof RegExp) return "regular expression"; - break; - case "TypeCastExpression": - case "AsExpression": - case "TSAsExpression": - return getConstructionExpressionType(node.expression); - } - return null; - } - function scanForConstructions(_ref9) { - var declaredDependenciesNode = _ref9.declaredDependenciesNode, - componentScope = _ref9.componentScope, - scope = _ref9.scope; - return _ref9.declaredDependencies - .map(function (_ref10) { - var key = _ref10.key; - _ref10 = componentScope.variables.find(function (v) { - return v.name === key; - }); - if (null == _ref10) return null; - var node = _ref10.defs[0]; - if (null == node) return null; - if ( - "Variable" === node.type && - "VariableDeclarator" === node.node.type && - "Identifier" === node.node.id.type && - null != node.node.init - ) { - var constantExpressionType = getConstructionExpressionType( - node.node.init - ); - if (null != constantExpressionType) - return [_ref10, constantExpressionType]; - } - return "FunctionName" === node.type && - "FunctionDeclaration" === node.node.type - ? [_ref10, "function"] - : "ClassName" === node.type && "ClassDeclaration" === node.node.type - ? [_ref10, "class"] - : null; - }) - .filter(Boolean) - .map(function (_ref11) { - var ref = _ref11[0]; - _ref11 = _ref11[1]; - var JSCompiler_temp_const = ref.defs[0]; - a: { - for ( - var foundWriteExpr = !1, i = 0; - i < ref.references.length; - i++ - ) { - var reference = ref.references[i]; - if (reference.writeExpr) - if (foundWriteExpr) { - ref = !0; - break a; - } else { - foundWriteExpr = !0; - continue; - } - for ( - var currentScope = reference.from; - currentScope !== scope && null != currentScope; - - ) - currentScope = currentScope.upper; - if ( - currentScope !== scope && - !isAncestorNodeOf( - declaredDependenciesNode, - reference.identifier - ) - ) { - ref = !0; - break a; - } - } - ref = !1; - } - return { - construction: JSCompiler_temp_const, - depType: _ref11, - isUsedOutsideOfHook: ref - }; - }); - } - function getDependency(node) { - return ("MemberExpression" !== node.parent.type && - "OptionalMemberExpression" !== node.parent.type) || - node.parent.object !== node || - "current" === node.parent.property.name || - node.parent.computed || - (null != node.parent.parent && - ("CallExpression" === node.parent.parent.type || - "OptionalCallExpression" === node.parent.parent.type) && - node.parent.parent.callee === node.parent) - ? "MemberExpression" === node.type && - node.parent && - "AssignmentExpression" === node.parent.type && - node.parent.left === node - ? node.object - : node - : getDependency(node.parent); - } - function markNode(node, optionalChains, result) { - optionalChains && - (node.optional - ? optionalChains.has(result) || optionalChains.set(result, !0) - : optionalChains.set(result, !1)); - } - function analyzePropertyChain(node, optionalChains) { - if ("Identifier" === node.type || "JSXIdentifier" === node.type) - return ( - (node = node.name), - optionalChains && optionalChains.set(node, !1), - node - ); - if ("MemberExpression" !== node.type || node.computed) { - if ("OptionalMemberExpression" !== node.type || node.computed) { - if ("ChainExpression" !== node.type || node.computed) - throw Error("Unsupported node type: " + node.type); - node = node.expression; - if ("CallExpression" === node.type) - throw Error("Unsupported node type: " + node.type); - var _object2 = analyzePropertyChain(node.object, optionalChains), - _property2 = analyzePropertyChain(node.property, null); - _object2 = _object2 + "." + _property2; - markNode(node, optionalChains, _object2); - return _object2; - } - _object2 = analyzePropertyChain(node.object, optionalChains); - _property2 = analyzePropertyChain(node.property, null); - _object2 = _object2 + "." + _property2; - markNode(node, optionalChains, _object2); - return _object2; - } - _object2 = analyzePropertyChain(node.object, optionalChains); - _property2 = analyzePropertyChain(node.property, null); - _object2 = _object2 + "." + _property2; - markNode(node, optionalChains, _object2); - return _object2; - } - function getNodeWithoutReactNamespace(node) { - return "MemberExpression" !== node.type || - "Identifier" !== node.object.type || - "React" !== node.object.name || - "Identifier" !== node.property.type || - node.computed - ? node - : node.property; - } - function getReactiveHookCallbackIndex(calleeNode, options) { - var node = getNodeWithoutReactNamespace(calleeNode); - if ("Identifier" !== node.type) return -1; - switch (node.name) { - case "useEffect": - case "useLayoutEffect": - case "useCallback": - case "useMemo": - return 0; - case "useImperativeHandle": - return 1; - default: - if (node === calleeNode && options && options.additionalHooks) { - try { - var name = analyzePropertyChain(node, null); - } catch (error) { - if (/Unsupported node type/.test(error.message)) return 0; - throw error; - } - return options.additionalHooks.test(name) ? 0 : -1; - } - return -1; - } - } - function fastFindReferenceWithParent(start, target) { - for (var queue = [start], item = null; queue.length; ) { - item = queue.shift(); - if ( - ("Identifier" === item.type || "JSXIdentifier" === item.type) && - item.type === target.type && - item.name === target.name && - item.range[0] === target.range[0] && - item.range[1] === target.range[1] - ) - return item; - if (isAncestorNodeOf(item, target)) { - start = 0; - for ( - var _Object$entries = Object.entries(item); - start < _Object$entries.length; - start++ - ) { - var _Object$entries$_i = _Object$entries[start], - value = _Object$entries$_i[1]; - "parent" !== _Object$entries$_i[0] && - (isNodeLike(value) - ? ((value.parent = item), queue.push(value)) - : Array.isArray(value) && - value.forEach(function (val) { - isNodeLike(val) && ((val.parent = item), queue.push(val)); - })); - } - } - } - return null; - } - function joinEnglish(arr) { - for (var s = "", i = 0; i < arr.length; i++) - (s += arr[i]), - 0 === i && 2 === arr.length - ? (s += " and ") - : i === arr.length - 2 && 2 < arr.length - ? (s += ", and ") - : i < arr.length - 1 && (s += ", "); - return s; - } - function isNodeLike(val) { - return ( - "object" === typeof val && - null !== val && - !Array.isArray(val) && - "string" === typeof val.type - ); - } - function isAncestorNodeOf(a, b) { - return a.range[0] <= b.range[0] && a.range[1] >= b.range[1]; - } - exports.configs = { - recommended: { - plugins: ["react-hooks"], - rules: { - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn" - } - } - }; - exports.rules = { - "rules-of-hooks": { - meta: { - type: "problem", - docs: { - description: "enforces the Rules of Hooks", - recommended: !0, - url: "https://reactjs.org/docs/hooks-rules.html" - } - }, - create: function (context) { - function recordAllUseEffectEventFunctions(scope) { - scope = _createForOfIteratorHelper(scope.references); - try { - for (scope.s(); !scope.n().done; ); - } catch (err$0) { - scope.e(err$0); - } finally { - scope.f(); - } - } - var lastEffect = null, - codePathReactHooksMapStack = [], - codePathSegmentStack = [], - useEffectEventFunctions = new WeakSet(), - getSource = - "function" === typeof context.getSource - ? function (node) { - return context.getSource(node); - } - : function (node) { - return context.sourceCode.getText(node); - }, - getScope = - "function" === typeof context.getScope - ? function () { - return context.getScope(); - } - : function (node) { - return context.sourceCode.getScope(node); - }; - return { - onCodePathSegmentStart: function (segment) { - return codePathSegmentStack.push(segment); - }, - onCodePathSegmentEnd: function () { - return codePathSegmentStack.pop(); - }, - onCodePathStart: function () { - return codePathReactHooksMapStack.push(new Map()); - }, - onCodePathEnd: function (codePath, codePathNode) { - function countPathsFromStart(segment, pathHistory) { - var cache = countPathsFromStart.cache, - paths = cache.get(segment.id); - pathHistory = new Set(pathHistory); - if (pathHistory.has(segment.id)) { - cache = [].concat(pathHistory); - segment = cache.slice(cache.indexOf(segment.id) + 1); - segment = _createForOfIteratorHelper(segment); - var _step3; - try { - for (segment.s(); !(_step3 = segment.n()).done; ) - cyclic.add(_step3.value); - } catch (err) { - segment.e(err); - } finally { - segment.f(); - } - return BigInt("0"); - } - pathHistory.add(segment.id); - if (void 0 !== paths) return paths; - if (codePath.thrownSegments.includes(segment)) - paths = BigInt("0"); - else if (0 === segment.prevSegments.length) paths = BigInt("1"); - else { - paths = BigInt("0"); - _step3 = _createForOfIteratorHelper(segment.prevSegments); - var _step4; - try { - for (_step3.s(); !(_step4 = _step3.n()).done; ) - paths += countPathsFromStart(_step4.value, pathHistory); - } catch (err$1) { - _step3.e(err$1); - } finally { - _step3.f(); - } - } - segment.reachable && paths === BigInt("0") - ? cache.delete(segment.id) - : cache.set(segment.id, paths); - return paths; - } - function countPathsToEnd(segment, pathHistory) { - var cache = countPathsToEnd.cache, - paths = cache.get(segment.id); - pathHistory = new Set(pathHistory); - if (pathHistory.has(segment.id)) { - cache = Array.from(pathHistory); - segment = cache.slice(cache.indexOf(segment.id) - 1); - segment = _createForOfIteratorHelper(segment); - var _step5; - try { - for (segment.s(); !(_step5 = segment.n()).done; ) - cyclic.add(_step5.value); - } catch (err) { - segment.e(err); - } finally { - segment.f(); - } - return BigInt("0"); - } - pathHistory.add(segment.id); - if (void 0 !== paths) return paths; - if (codePath.thrownSegments.includes(segment)) - paths = BigInt("0"); - else if (0 === segment.nextSegments.length) paths = BigInt("1"); - else { - paths = BigInt("0"); - _step5 = _createForOfIteratorHelper(segment.nextSegments); - var _step6; - try { - for (_step5.s(); !(_step6 = _step5.n()).done; ) - paths += countPathsToEnd(_step6.value, pathHistory); - } catch (err$2) { - _step5.e(err$2); - } finally { - _step5.f(); - } - } - cache.set(segment.id, paths); - return paths; - } - function shortestPathLengthToStart(segment) { - var cache = shortestPathLengthToStart.cache, - length = cache.get(segment.id); - if (null === length) return Infinity; - if (void 0 !== length) return length; - cache.set(segment.id, null); - if (0 === segment.prevSegments.length) length = 1; - else { - length = Infinity; - var _iterator7 = _createForOfIteratorHelper( - segment.prevSegments - ), - _step7; - try { - for (_iterator7.s(); !(_step7 = _iterator7.n()).done; ) { - var prevLength = shortestPathLengthToStart(_step7.value); - prevLength < length && (length = prevLength); - } - } catch (err) { - _iterator7.e(err); - } finally { - _iterator7.f(); - } - length += 1; - } - cache.set(segment.id, length); - return length; - } - var reactHooksMap = codePathReactHooksMapStack.pop(); - if (0 !== reactHooksMap.size) { - var cyclic = new Set(); - countPathsFromStart.cache = new Map(); - countPathsToEnd.cache = new Map(); - shortestPathLengthToStart.cache = new Map(); - var allPathsFromStartToEnd = countPathsToEnd( - codePath.initialSegment - ), - codePathFunctionName = getFunctionName(codePathNode), - isSomewhereInsideComponentOrHook = - isInsideComponentOrHook(codePathNode), - isDirectlyInsideComponentOrHook = codePathFunctionName - ? isComponentName(codePathFunctionName) || - isHook(codePathFunctionName) - : isForwardRefCallback(codePathNode) || - isMemoCallback(codePathNode), - shortestFinalPathLength = Infinity, - _iterator8 = _createForOfIteratorHelper( - codePath.finalSegments - ), - _step8; - try { - for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) { - var finalSegment = _step8.value; - if (finalSegment.reachable) { - var length$jscomp$0 = - shortestPathLengthToStart(finalSegment); - length$jscomp$0 < shortestFinalPathLength && - (shortestFinalPathLength = length$jscomp$0); - } - } - } catch (err) { - _iterator8.e(err); - } finally { - _iterator8.f(); - } - reactHooksMap = _createForOfIteratorHelper(reactHooksMap); - var _step9; - try { - for ( - reactHooksMap.s(); - !(_step9 = reactHooksMap.n()).done; - - ) { - var _step9$value = _step9.value, - segment$jscomp$0 = _step9$value[0], - reactHooks = _step9$value[1]; - if (segment$jscomp$0.reachable) { - var possiblyHasEarlyReturn = - 0 === segment$jscomp$0.nextSegments.length - ? shortestFinalPathLength <= - shortestPathLengthToStart(segment$jscomp$0) - : shortestFinalPathLength < - shortestPathLengthToStart(segment$jscomp$0), - pathsFromStartToEnd = - countPathsFromStart(segment$jscomp$0) * - countPathsToEnd(segment$jscomp$0), - cycled = cyclic.has(segment$jscomp$0.id), - _iterator10 = _createForOfIteratorHelper(reactHooks), - _step10; - try { - for ( - _iterator10.s(); - !(_step10 = _iterator10.n()).done; - - ) { - var hook = _step10.value; - cycled && - !isReactFunction(hook, "use") && - context.report({ - node: hook, - message: - 'React Hook "' + - getSource(hook) + - '" may be executed more than once. Possibly because it is called in a loop. React Hooks must be called in the exact same order in every component render.' - }); - if (isDirectlyInsideComponentOrHook) { - if ( - (codePathNode.async && - context.report({ - node: hook, - message: - 'React Hook "' + - getSource(hook) + - '" cannot be called in an async function.' - }), - !cycled && - pathsFromStartToEnd !== - allPathsFromStartToEnd && - !isReactFunction(hook, "use")) - ) { - var message = - 'React Hook "' + - getSource(hook) + - '" is called conditionally. React Hooks must be called in the exact same order in every component render.' + - (possiblyHasEarlyReturn - ? " Did you accidentally call a React Hook after an early return?" - : ""); - context.report({ node: hook, message: message }); - } - } else if ( - codePathNode.parent && - ("MethodDefinition" === codePathNode.parent.type || - "ClassProperty" === codePathNode.parent.type) && - codePathNode.parent.value === codePathNode - ) { - var _message = - 'React Hook "' + - getSource(hook) + - '" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.'; - context.report({ node: hook, message: _message }); - } else if (codePathFunctionName) { - var _message2 = - 'React Hook "' + - getSource(hook) + - '" is called in function "' + - (getSource(codePathFunctionName) + - '" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".'); - context.report({ node: hook, message: _message2 }); - } else if ("Program" === codePathNode.type) { - var _message3 = - 'React Hook "' + - getSource(hook) + - '" cannot be called at the top level. React Hooks must be called in a React function component or a custom React Hook function.'; - context.report({ node: hook, message: _message3 }); - } else if ( - isSomewhereInsideComponentOrHook && - !isReactFunction(hook, "use") - ) { - var _message4 = - 'React Hook "' + - getSource(hook) + - '" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function.'; - context.report({ node: hook, message: _message4 }); - } - } - } catch (err$3) { - _iterator10.e(err$3); - } finally { - _iterator10.f(); - } - } - } - } catch (err$4) { - reactHooksMap.e(err$4); - } finally { - reactHooksMap.f(); - } - } - }, - CallExpression: function (node) { - if (isHook(node.callee)) { - var reactHooksMap = - codePathReactHooksMapStack[ - codePathReactHooksMapStack.length - 1 - ], - codePathSegment = - codePathSegmentStack[codePathSegmentStack.length - 1], - reactHooks = reactHooksMap.get(codePathSegment); - reactHooks || - ((reactHooks = []), - reactHooksMap.set(codePathSegment, reactHooks)); - reactHooks.push(node.callee); - } - "Identifier" === node.callee.type && - "useEffect" === node.callee.name && - 0 < node.arguments.length && - (lastEffect = node); - }, - Identifier: function (node) { - null == lastEffect && - useEffectEventFunctions.has(node) && - "CallExpression" !== node.parent.type && - context.report({ - node: node, - message: - "`" + - getSource(node) + - '` is a function created with React Hook "useEffectEvent", and can only be called from the same component. They cannot be assigned to variables or passed down.' - }); - }, - "CallExpression:exit": function (node) { - node === lastEffect && (lastEffect = null); - }, - FunctionDeclaration: function (node) { - isInsideComponentOrHook(node) && - recordAllUseEffectEventFunctions(getScope(node)); - }, - ArrowFunctionExpression: function (node) { - isInsideComponentOrHook(node) && - recordAllUseEffectEventFunctions(getScope(node)); - } - }; - } - }, - "exhaustive-deps": { - meta: { - type: "suggestion", - docs: { - description: - "verifies the list of dependencies for Hooks like useEffect and similar", - recommended: !0, - url: "https://github.com/facebook/react/issues/14920" - }, - fixable: "code", - hasSuggestions: !0, - schema: [ - { - type: "object", - additionalProperties: !1, - enableDangerousAutofixThisMayCauseInfiniteLoops: !1, - properties: { - additionalHooks: { type: "string" }, - enableDangerousAutofixThisMayCauseInfiniteLoops: { - type: "boolean" - } - } - } - ] - }, - create: function (context) { - function reportProblem(problem) { - enableDangerousAutofixThisMayCauseInfiniteLoops && - Array.isArray(problem.suggest) && - 0 < problem.suggest.length && - (problem.fix = problem.suggest[0].fix); - context.report(problem); - } - function memoizeWithWeakMap(fn, map) { - return function (arg) { - if (map.has(arg)) return map.get(arg); - var result = fn(arg); - map.set(arg, result); - return result; - }; - } - function visitFunctionWithDependencies( - node, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - isEffect - ) { - function gatherDependenciesRecursively(currentScope) { - var _iterator2 = _createForOfIteratorHelper( - currentScope.references - ), - _step2; - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { - var reference = _step2.value; - if ( - reference.resolved && - pureScopes.has(reference.resolved.scope) - ) { - var referenceNode = fastFindReferenceWithParent( - node, - reference.identifier - ), - dependencyNode = getDependency(referenceNode), - dependency = analyzePropertyChain( - dependencyNode, - optionalChains - ), - JSCompiler_temp; - if ( - (JSCompiler_temp = - isEffect && - "Identifier" === dependencyNode.type && - ("MemberExpression" === dependencyNode.parent.type || - "OptionalMemberExpression" === - dependencyNode.parent.type) && - !dependencyNode.parent.computed && - "Identifier" === dependencyNode.parent.property.type && - "current" === dependencyNode.parent.property.name) - ) { - for ( - var curScope = reference.from, - isInReturnedFunction = !1; - curScope.block !== node; - - ) - "function" === curScope.type && - (isInReturnedFunction = - null != curScope.block.parent && - "ReturnStatement" === curScope.block.parent.type), - (curScope = curScope.upper); - JSCompiler_temp = isInReturnedFunction; - } - JSCompiler_temp && - currentRefsInEffectCleanup.set(dependency, { - reference: reference, - dependencyNode: dependencyNode - }); - if ( - "TSTypeQuery" !== dependencyNode.parent.type && - "TSTypeReference" !== dependencyNode.parent.type - ) { - var def = reference.resolved.defs[0]; - if ( - null != def && - (null == def.node || def.node.init !== node.parent) && - "TypeParameter" !== def.type - ) - if (dependencies.has(dependency)) - dependencies - .get(dependency) - .references.push(reference); - else { - var resolved = reference.resolved, - isStable = - memoizedIsStableKnownHookValue(resolved) || - memoizedIsFunctionWithoutCapturedValues(resolved); - dependencies.set(dependency, { - isStable: isStable, - references: [reference] - }); - } - } - } - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - currentScope = _createForOfIteratorHelper( - currentScope.childScopes - ); - var _step3; - try { - for (currentScope.s(); !(_step3 = currentScope.n()).done; ) - gatherDependenciesRecursively(_step3.value); - } catch (err$5) { - currentScope.e(err$5); - } finally { - currentScope.f(); - } - } - function formatDependency(path) { - path = path.split("."); - for (var finalPath = "", i = 0; i < path.length; i++) { - if (0 !== i) { - var pathSoFar = path.slice(0, i + 1).join("."); - pathSoFar = !0 === optionalChains.get(pathSoFar); - finalPath += pathSoFar ? "?." : "."; - } - finalPath += path[i]; - } - return finalPath; - } - function getWarningMessage(deps, singlePrefix, label, fixVerb) { - return 0 === deps.size - ? null - : (1 < deps.size ? "" : singlePrefix + " ") + - label + - " " + - (1 < deps.size ? "dependencies" : "dependency") + - ": " + - joinEnglish( - Array.from(deps) - .sort() - .map(function (name) { - return "'" + formatDependency(name) + "'"; - }) - ) + - (". Either " + - fixVerb + - " " + - (1 < deps.size ? "them" : "it") + - " or remove the dependency array."); - } - isEffect && - node.async && - reportProblem({ - node: node, - message: - "Effect callbacks are synchronous to prevent race conditions. Put the async function inside:\n\nuseEffect(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" - }); - for ( - var scope = scopeManager.acquire(node), - pureScopes = new Set(), - componentScope = null, - currentScope = scope.upper; - currentScope; - - ) { - pureScopes.add(currentScope); - if ("function" === currentScope.type) break; - currentScope = currentScope.upper; - } - if (currentScope) { - componentScope = currentScope; - var isArray = Array.isArray, - memoizedIsStableKnownHookValue = memoizeWithWeakMap(function ( - resolved - ) { - if (!isArray(resolved.defs)) return !1; - var def = resolved.defs[0]; - if (null == def || "VariableDeclarator" !== def.node.type) - return !1; - var init = def.node.init; - if (null == init) return !1; - for ( - ; - "TSAsExpression" === init.type || - "AsExpression" === init.type; - - ) - init = init.expression; - var declaration = def.node.parent; - if ( - null == declaration && - (fastFindReferenceWithParent( - componentScope.block, - def.node.id - ), - (declaration = def.node.parent), - null == declaration) - ) - return !1; - if ( - "const" === declaration.kind && - "Literal" === init.type && - ("string" === typeof init.value || - "number" === typeof init.value || - null === init.value) - ) - return !0; - if ("CallExpression" !== init.type) return !1; - init = init.callee; - "MemberExpression" !== init.type || - "React" !== init.object.name || - null == init.property || - init.computed || - (init = init.property); - if ("Identifier" !== init.type) return !1; - def = def.node.id; - init = init.name; - if ("useRef" === init && "Identifier" === def.type) return !0; - if ( - "useState" === init || - "useReducer" === init || - "useActionState" === init - ) { - if ( - "ArrayPattern" === def.type && - 2 === def.elements.length && - isArray(resolved.identifiers) - ) { - if (def.elements[1] === resolved.identifiers[0]) { - if ("useState" === init) - for ( - resolved = resolved.references, - declaration = init = 0; - declaration < resolved.length; - declaration++ - ) { - resolved[declaration].isWrite() && init++; - if (1 < init) return !1; - setStateCallSites.set( - resolved[declaration].identifier, - def.elements[0] - ); - } - return !0; - } - if ( - def.elements[0] === resolved.identifiers[0] && - "useState" === init - ) - for ( - resolved = resolved.references, def = 0; - def < resolved.length; - def++ - ) - stateVariables.add(resolved[def].identifier); - } - } else if ( - "useTransition" === init && - "ArrayPattern" === def.type && - 2 === def.elements.length && - Array.isArray(resolved.identifiers) && - def.elements[1] === resolved.identifiers[0] - ) - return !0; - return !1; - }, stableKnownValueCache), - memoizedIsFunctionWithoutCapturedValues = memoizeWithWeakMap( - function (resolved) { - if (!isArray(resolved.defs)) return !1; - resolved = resolved.defs[0]; - if ( - null == resolved || - null == resolved.node || - null == resolved.node.id - ) - return !1; - var fnNode = resolved.node, - childScopes = componentScope.childScopes; - resolved = null; - var i; - for (i = 0; i < childScopes.length; i++) { - var childScope = childScopes[i], - childScopeBlock = childScope.block; - if ( - ("FunctionDeclaration" === fnNode.type && - childScopeBlock === fnNode) || - ("VariableDeclarator" === fnNode.type && - childScopeBlock.parent === fnNode) - ) { - resolved = childScope; - break; - } - } - if (null == resolved) return !1; - for (i = 0; i < resolved.through.length; i++) - if ( - ((fnNode = resolved.through[i]), - null != fnNode.resolved && - pureScopes.has(fnNode.resolved.scope) && - !memoizedIsStableKnownHookValue(fnNode.resolved)) - ) - return !1; - return !0; - }, - functionWithoutCapturedValueCache - ), - currentRefsInEffectCleanup = new Map(), - dependencies = new Map(), - optionalChains = new Map(); - gatherDependenciesRecursively(scope); - currentRefsInEffectCleanup.forEach(function (_ref, dependency) { - var dependencyNode = _ref.dependencyNode; - _ref = _ref.reference.resolved.references; - for ( - var foundCurrentAssignment = !1, i = 0; - i < _ref.length; - i++ - ) { - var parent = _ref[i].identifier.parent; - if ( - null != parent && - "MemberExpression" === parent.type && - !parent.computed && - "Identifier" === parent.property.type && - "current" === parent.property.name && - "AssignmentExpression" === parent.parent.type && - parent.parent.left === parent - ) { - foundCurrentAssignment = !0; - break; - } - } - foundCurrentAssignment || - reportProblem({ - node: dependencyNode.parent.property, - message: - "The ref value '" + - dependency + - ".current' will likely have changed by the time this effect cleanup function runs. If this ref points to a node rendered by React, copy '" + - (dependency + - ".current' to a variable inside the effect, and use that variable in the cleanup function.") - }); - }); - var staleAssignments = new Set(), - stableDependencies = new Set(); - dependencies.forEach(function (_ref2, key) { - var references = _ref2.references; - _ref2.isStable && stableDependencies.add(key); - references.forEach(function (reference) { - reference.writeExpr && - ((reference = reference.writeExpr), - staleAssignments.has(key) || - (staleAssignments.add(key), - reportProblem({ - node: reference, - message: - "Assignments to the '" + - key + - "' variable from inside React Hook " + - (getSource(reactiveHook) + - " will be lost after each render. To preserve the value over time, store it in a useRef Hook and keep the mutable value in the '.current' property. Otherwise, you can move this variable directly inside ") + - (getSource(reactiveHook) + ".") - }))); - }); - }); - if (!(0 < staleAssignments.size)) - if (declaredDependenciesNode) { - var declaredDependencies = [], - externalDependencies = new Set(); - currentScope = - "TSAsExpression" === declaredDependenciesNode.type && - "ArrayExpression" === - declaredDependenciesNode.expression.type; - "ArrayExpression" === declaredDependenciesNode.type || - currentScope - ? (currentScope - ? declaredDependenciesNode.expression - : declaredDependenciesNode - ).elements.forEach(function (declaredDependencyNode) { - if (null !== declaredDependencyNode) - if ("SpreadElement" === declaredDependencyNode.type) - reportProblem({ - node: declaredDependencyNode, - message: - "React Hook " + - getSource(reactiveHook) + - " has a spread element in its dependency array. This means we can't statically verify whether you've passed the correct dependencies." - }); - else { - useEffectEventVariables.has( - declaredDependencyNode - ) && - reportProblem({ - node: declaredDependencyNode, - message: - "Functions returned from `useEffectEvent` must not be included in the dependency array. Remove `" + - (getSource(declaredDependencyNode) + - "` from the list."), - suggest: [ - { - desc: - "Remove the dependency `" + - getSource(declaredDependencyNode) + - "`", - fix: function (fixer) { - return fixer.removeRange( - declaredDependencyNode.range - ); - } - } - ] - }); - try { - var declaredDependency = analyzePropertyChain( - declaredDependencyNode, - null - ); - } catch (error) { - if (/Unsupported node type/.test(error.message)) { - "Literal" === declaredDependencyNode.type - ? dependencies.has( - declaredDependencyNode.value - ) - ? reportProblem({ - node: declaredDependencyNode, - message: - "The " + - declaredDependencyNode.raw + - " literal is not a valid dependency because it never changes. Did you mean to include " + - (declaredDependencyNode.value + - " in the array instead?") - }) - : reportProblem({ - node: declaredDependencyNode, - message: - "The " + - declaredDependencyNode.raw + - " literal is not a valid dependency because it never changes. You can safely remove it." - }) - : reportProblem({ - node: declaredDependencyNode, - message: - "React Hook " + - getSource(reactiveHook) + - " has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked." - }); - return; - } - throw error; - } - for ( - var maybeID = declaredDependencyNode; - "MemberExpression" === maybeID.type || - "OptionalMemberExpression" === maybeID.type || - "ChainExpression" === maybeID.type; - - ) - maybeID = - maybeID.object || maybeID.expression.object; - var isDeclaredInComponent = - !componentScope.through.some(function (ref) { - return ref.identifier === maybeID; - }); - declaredDependencies.push({ - key: declaredDependency, - node: declaredDependencyNode - }); - isDeclaredInComponent || - externalDependencies.add(declaredDependency); - } - }) - : reportProblem({ - node: declaredDependenciesNode, - message: - "React Hook " + - getSource(reactiveHook) + - " was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies." - }); - var _collectRecommendatio2 = collectRecommendations({ - dependencies: dependencies, - declaredDependencies: declaredDependencies, - stableDependencies: stableDependencies, - externalDependencies: externalDependencies, - isEffect: isEffect - }); - currentScope = _collectRecommendatio2.unnecessaryDependencies; - var missingDependencies = - _collectRecommendatio2.missingDependencies, - duplicateDependencies = - _collectRecommendatio2.duplicateDependencies, - suggestedDeps = - _collectRecommendatio2.suggestedDependencies; - if ( - 0 === - duplicateDependencies.size + - missingDependencies.size + - currentScope.size - ) - scanForConstructions({ - declaredDependencies: declaredDependencies, - declaredDependenciesNode: declaredDependenciesNode, - componentScope: componentScope, - scope: scope - }).forEach(function (_ref4) { - var construction = _ref4.construction, - isUsedOutsideOfHook = _ref4.isUsedOutsideOfHook; - _ref4 = _ref4.depType; - var wrapperHook = - "function" === _ref4 ? "useCallback" : "useMemo", - constructionType = - "function" === _ref4 - ? "definition" - : "initialization", - defaultAdvice = - "wrap the " + - constructionType + - " of '" + - construction.name.name + - "' in its own " + - wrapperHook + - "() Hook."; - defaultAdvice = - "The '" + - construction.name.name + - "' " + - _ref4 + - " " + - ("conditional" === _ref4 || - "logical expression" === _ref4 - ? "could make" - : "makes") + - " the dependencies of " + - (reactiveHookName + - " Hook (at line " + - declaredDependenciesNode.loc.start.line + - ") change on every render. ") + - (isUsedOutsideOfHook - ? "To fix this, " + defaultAdvice - : "Move it inside the " + - reactiveHookName + - " callback. Alternatively, " + - defaultAdvice); - var suggest; - isUsedOutsideOfHook && - "Variable" === construction.type && - "function" === _ref4 && - (suggest = [ - { - desc: - "Wrap the " + - constructionType + - " of '" + - construction.name.name + - "' in its own " + - wrapperHook + - "() Hook.", - fix: function (fixer) { - var _ref5 = - "useMemo" === wrapperHook - ? ["useMemo(() => { return ", "; })"] - : ["useCallback(", ")"], - after = _ref5[1]; - return [ - fixer.insertTextBefore( - construction.node.init, - _ref5[0] - ), - fixer.insertTextAfter( - construction.node.init, - after - ) - ]; - } - } - ]); - reportProblem({ - node: construction.node, - message: defaultAdvice, - suggest: suggest - }); - }); - else { - !isEffect && - 0 < missingDependencies.size && - (suggestedDeps = collectRecommendations({ - dependencies: dependencies, - declaredDependencies: [], - stableDependencies: stableDependencies, - externalDependencies: externalDependencies, - isEffect: isEffect - }).suggestedDependencies); - (function () { - if (0 === declaredDependencies.length) return !0; - var declaredDepKeys = declaredDependencies.map( - function (dep) { - return dep.key; - } - ), - sortedDeclaredDepKeys = declaredDepKeys.slice().sort(); - return ( - declaredDepKeys.join(",") === - sortedDeclaredDepKeys.join(",") - ); - })() && suggestedDeps.sort(); - _collectRecommendatio2 = ""; - if (0 < currentScope.size) { - var badRef = null; - Array.from(currentScope.keys()).forEach(function (key) { - null === badRef && - key.endsWith(".current") && - (badRef = key); - }); - if (null !== badRef) - _collectRecommendatio2 = - " Mutable values like '" + - badRef + - "' aren't valid dependencies because mutating them doesn't re-render the component."; - else if (0 < externalDependencies.size) { - var dep = Array.from(externalDependencies)[0]; - scope.set.has(dep) || - (_collectRecommendatio2 = - " Outer scope values like '" + - dep + - "' aren't valid dependencies because mutating them doesn't re-render the component."); - } - } - if ( - !_collectRecommendatio2 && - missingDependencies.has("props") - ) { - scope = dependencies.get("props"); - if (null == scope) return; - scope = scope.references; - if (!Array.isArray(scope)) return; - dep = !0; - for ( - var i$jscomp$0 = 0; - i$jscomp$0 < scope.length; - i$jscomp$0++ - ) { - var id = fastFindReferenceWithParent( - componentScope.block, - scope[i$jscomp$0].identifier - ); - if (!id) { - dep = !1; - break; - } - id = id.parent; - if (null == id) { - dep = !1; - break; - } - if ( - "MemberExpression" !== id.type && - "OptionalMemberExpression" !== id.type - ) { - dep = !1; - break; - } - } - dep && - (_collectRecommendatio2 = - " However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the " + - (reactiveHookName + - " call and refer to those specific props inside ") + - (getSource(reactiveHook) + ".")); - } - if ( - !_collectRecommendatio2 && - 0 < missingDependencies.size - ) { - var missingCallbackDep = null; - missingDependencies.forEach(function (missingDep) { - if (!missingCallbackDep) { - var topScopeRef = componentScope.set.get(missingDep), - usedDep = dependencies.get(missingDep); - if ( - usedDep.references[0].resolved === topScopeRef && - ((topScopeRef = topScopeRef.defs[0]), - null != topScopeRef && - null != topScopeRef.name && - "Parameter" === topScopeRef.type) - ) { - topScopeRef = !1; - for ( - var id, _i2 = 0; - _i2 < usedDep.references.length; - _i2++ - ) - if ( - ((id = usedDep.references[_i2].identifier), - null != id && - null != id.parent && - ("CallExpression" === id.parent.type || - "OptionalCallExpression" === - id.parent.type) && - id.parent.callee === id) - ) { - topScopeRef = !0; - break; - } - topScopeRef && (missingCallbackDep = missingDep); - } - } - }); - null !== missingCallbackDep && - (_collectRecommendatio2 = - " If '" + - missingCallbackDep + - "' changes too often, find the parent component that defines it and wrap that definition in useCallback."); - } - if ( - !_collectRecommendatio2 && - 0 < missingDependencies.size - ) { - var setStateRecommendation = null; - missingDependencies.forEach(function (missingDep) { - if (null === setStateRecommendation) - for ( - var references = - dependencies.get(missingDep).references, - id, - maybeCall, - _i3 = 0; - _i3 < references.length; - _i3++ - ) { - id = references[_i3].identifier; - for ( - maybeCall = id.parent; - null != maybeCall && - maybeCall !== componentScope.block; - - ) { - if ("CallExpression" === maybeCall.type) { - var correspondingStateVariable = - setStateCallSites.get(maybeCall.callee); - if (null != correspondingStateVariable) { - correspondingStateVariable.name === missingDep - ? (setStateRecommendation = { - missingDep: missingDep, - setter: maybeCall.callee.name, - form: "updater" - }) - : stateVariables.has(id) - ? (setStateRecommendation = { - missingDep: missingDep, - setter: maybeCall.callee.name, - form: "reducer" - }) - : ((id = references[_i3].resolved), - null != id && - ((id = id.defs[0]), - null != id && - "Parameter" === id.type && - (setStateRecommendation = { - missingDep: missingDep, - setter: maybeCall.callee.name, - form: "inlineReducer" - }))); - break; - } - } - maybeCall = maybeCall.parent; - } - if (null !== setStateRecommendation) break; - } - }); - if (null !== setStateRecommendation) - switch (setStateRecommendation.form) { - case "reducer": - _collectRecommendatio2 = - " You can also replace multiple useState variables with useReducer if '" + - (setStateRecommendation.setter + - "' needs the current value of '") + - (setStateRecommendation.missingDep + "'."); - break; - case "inlineReducer": - _collectRecommendatio2 = - " If '" + - setStateRecommendation.setter + - "' needs the current value of '" + - (setStateRecommendation.missingDep + - "', you can also switch to useReducer instead of useState and read '") + - (setStateRecommendation.missingDep + - "' in the reducer."); - break; - case "updater": - _collectRecommendatio2 = - " You can also do a functional update '" + - setStateRecommendation.setter + - "(" + - setStateRecommendation.missingDep.slice(0, 1) + - " => ...)' if you only need '" + - setStateRecommendation.missingDep + - "' in the '" + - (setStateRecommendation.setter + "' call."); - break; - default: - throw Error("Unknown case."); - } - } - reportProblem({ - node: declaredDependenciesNode, - message: - "React Hook " + - getSource(reactiveHook) + - " has " + - (getWarningMessage( - missingDependencies, - "a", - "missing", - "include" - ) || - getWarningMessage( - currentScope, - "an", - "unnecessary", - "exclude" - ) || - getWarningMessage( - duplicateDependencies, - "a", - "duplicate", - "omit" - )) + - _collectRecommendatio2, - suggest: [ - { - desc: - "Update the dependencies array to be: [" + - suggestedDeps.map(formatDependency).join(", ") + - "]", - fix: function (fixer) { - return fixer.replaceText( - declaredDependenciesNode, - "[" + - suggestedDeps.map(formatDependency).join(", ") + - "]" - ); - } - } - ] - }); - } - } else { - var setStateInsideEffectWithoutDeps = null; - dependencies.forEach(function (_ref3, key) { - setStateInsideEffectWithoutDeps || - _ref3.references.forEach(function (reference) { - if ( - !setStateInsideEffectWithoutDeps && - setStateCallSites.has(reference.identifier) - ) { - for ( - reference = reference.from; - "function" !== reference.type; - - ) - reference = reference.upper; - reference.block === node && - (setStateInsideEffectWithoutDeps = key); - } - }); - }); - if (setStateInsideEffectWithoutDeps) { - var _suggestedDependencies = collectRecommendations({ - dependencies: dependencies, - declaredDependencies: [], - stableDependencies: stableDependencies, - externalDependencies: new Set(), - isEffect: !0 - }).suggestedDependencies; - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " contains a call to '" + - setStateInsideEffectWithoutDeps + - "'. Without a list of dependencies, this can lead to an infinite chain of updates. To fix this, pass [" + - _suggestedDependencies.join(", ") + - ("] as a second argument to the " + - reactiveHookName + - " Hook."), - suggest: [ - { - desc: - "Add dependencies array: [" + - _suggestedDependencies.join(", ") + - "]", - fix: function (fixer) { - return fixer.insertTextAfter( - node, - ", [" + _suggestedDependencies.join(", ") + "]" - ); - } - } - ] - }); - } - } - } - } - var enableDangerousAutofixThisMayCauseInfiniteLoops = - (context.options && - context.options[0] && - context.options[0] - .enableDangerousAutofixThisMayCauseInfiniteLoops) || - !1, - options = { - additionalHooks: - context.options && - context.options[0] && - context.options[0].additionalHooks - ? new RegExp(context.options[0].additionalHooks) - : void 0, - enableDangerousAutofixThisMayCauseInfiniteLoops: - enableDangerousAutofixThisMayCauseInfiniteLoops - }, - getSource = - "function" === typeof context.getSource - ? function (node) { - return context.getSource(node); - } - : function (node) { - return context.sourceCode.getText(node); - }, - getScope = - "function" === typeof context.getScope - ? function () { - return context.getScope(); - } - : function (node) { - return context.sourceCode.getScope(node); - }, - scopeManager = context.getSourceCode().scopeManager, - setStateCallSites = new WeakMap(), - stateVariables = new WeakSet(), - stableKnownValueCache = new WeakMap(), - functionWithoutCapturedValueCache = new WeakMap(), - useEffectEventVariables = new WeakSet(); - return { - CallExpression: function (node) { - var callbackIndex = getReactiveHookCallbackIndex( - node.callee, - options - ); - if (-1 !== callbackIndex) { - var callback = node.arguments[callbackIndex], - reactiveHook = node.callee, - reactiveHookName = - getNodeWithoutReactNamespace(reactiveHook).name; - node = node.arguments[callbackIndex + 1]; - var declaredDependenciesNode = - !node || - ("Identifier" === node.type && "undefined" === node.name) - ? void 0 - : node; - node = /Effect($|[^a-z])/g.test(reactiveHookName); - if (callback) - if (declaredDependenciesNode || node) { - switch (callback.type) { - case "FunctionExpression": - case "ArrowFunctionExpression": - visitFunctionWithDependencies( - callback, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - case "TSAsExpression": - visitFunctionWithDependencies( - callback.expression, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - case "Identifier": - if ( - !declaredDependenciesNode || - (declaredDependenciesNode.elements && - declaredDependenciesNode.elements.some( - function (el) { - return ( - el && - "Identifier" === el.type && - el.name === callback.name - ); - } - )) - ) - return; - callbackIndex = getScope(callback).set.get( - callback.name - ); - if (null == callbackIndex || null == callbackIndex.defs) - return; - callbackIndex = callbackIndex.defs[0]; - if (!callbackIndex || !callbackIndex.node) break; - if ( - "Variable" !== callbackIndex.type && - "FunctionName" !== callbackIndex.type - ) - break; - switch (callbackIndex.node.type) { - case "FunctionDeclaration": - visitFunctionWithDependencies( - callbackIndex.node, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - case "VariableDeclarator": - if ((callbackIndex = callbackIndex.node.init)) - switch (callbackIndex.type) { - case "ArrowFunctionExpression": - case "FunctionExpression": - visitFunctionWithDependencies( - callbackIndex, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - } - } - break; - default: - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " received a function whose dependencies are unknown. Pass an inline function instead." - }); - return; - } - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " has a missing dependency: '" + - callback.name + - "'. Either include it or remove the dependency array.", - suggest: [ - { - desc: - "Update the dependencies array to be: [" + - callback.name + - "]", - fix: function (fixer) { - return fixer.replaceText( - declaredDependenciesNode, - "[" + callback.name + "]" - ); - } - } - ] - }); - } else - ("useMemo" !== reactiveHookName && - "useCallback" !== reactiveHookName) || - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " does nothing when called with only one argument. Did you forget to pass an array of dependencies?" - }); - else - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " requires an effect callback. Did you forget to pass a callback to the hook?" - }); - } - } - }; - } - } - }; - })(); diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.js b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.js deleted file mode 100644 index 23e2b195..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.js +++ /dev/null @@ -1,1953 +0,0 @@ -/** - * @license React - * eslint-plugin-react-hooks.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -"use strict"; -function _unsupportedIterableToArray(o, minLen) { - if (o) { - if ("string" === typeof o) return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - "Object" === n && o.constructor && (n = o.constructor.name); - if ("Map" === n || "Set" === n) return Array.from(o); - if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); - } -} -function _arrayLikeToArray(arr, len) { - if (null == len || len > arr.length) len = arr.length; - for (var i = 0, arr2 = Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; -} -function _createForOfIteratorHelper(o, allowArrayLike) { - var it; - if ("undefined" === typeof Symbol || null == o[Symbol.iterator]) { - if ( - Array.isArray(o) || - (it = _unsupportedIterableToArray(o)) || - (allowArrayLike && o && "number" === typeof o.length) - ) { - it && (o = it); - var i = 0; - allowArrayLike = function () {}; - return { - s: allowArrayLike, - n: function () { - return i >= o.length ? { done: !0 } : { done: !1, value: o[i++] }; - }, - e: function (e) { - throw e; - }, - f: allowArrayLike - }; - } - throw new TypeError( - "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." - ); - } - var normalCompletion = !0, - didErr = !1, - err; - return { - s: function () { - it = o[Symbol.iterator](); - }, - n: function () { - var step = it.next(); - normalCompletion = step.done; - return step; - }, - e: function (e) { - didErr = !0; - err = e; - }, - f: function () { - try { - normalCompletion || null == it.return || it.return(); - } finally { - if (didErr) throw err; - } - } - }; -} -function isHook(node) { - if ("Identifier" === node.type) - return (node = node.name), "use" === node || /^use[A-Z0-9]/.test(node); - if ( - "MemberExpression" === node.type && - !node.computed && - isHook(node.property) - ) { - node = node.object; - var isPascalCaseNameSpace = /^[A-Z].*/; - return "Identifier" === node.type && isPascalCaseNameSpace.test(node.name); - } - return !1; -} -function isComponentName(node) { - return "Identifier" === node.type && /^[A-Z]/.test(node.name); -} -function isReactFunction(node, functionName) { - return ( - node.name === functionName || - ("MemberExpression" === node.type && - "React" === node.object.name && - node.property.name === functionName) - ); -} -function isForwardRefCallback(node) { - return !!( - node.parent && - node.parent.callee && - isReactFunction(node.parent.callee, "forwardRef") - ); -} -function isMemoCallback(node) { - return !!( - node.parent && - node.parent.callee && - isReactFunction(node.parent.callee, "memo") - ); -} -function isInsideComponentOrHook(node) { - for (; node; ) { - var functionName = getFunctionName(node); - if ( - (functionName && - (isComponentName(functionName) || isHook(functionName))) || - isForwardRefCallback(node) || - isMemoCallback(node) - ) - return !0; - node = node.parent; - } - return !1; -} -function getFunctionName(node) { - if ( - "FunctionDeclaration" === node.type || - ("FunctionExpression" === node.type && node.id) - ) - return node.id; - if ( - "FunctionExpression" === node.type || - "ArrowFunctionExpression" === node.type - ) - return "VariableDeclarator" === node.parent.type && - node.parent.init === node - ? node.parent.id - : "AssignmentExpression" === node.parent.type && - node.parent.right === node && - "=" === node.parent.operator - ? node.parent.left - : "Property" !== node.parent.type || - node.parent.value !== node || - node.parent.computed - ? "AssignmentPattern" !== node.parent.type || - node.parent.right !== node || - node.parent.computed - ? void 0 - : node.parent.left - : node.parent.key; -} -function collectRecommendations(_ref6) { - function createDepTree() { - return { - isUsed: !1, - isSatisfiedRecursively: !1, - isSubtreeUsed: !1, - children: new Map() - }; - } - function getOrCreateNodeByPath(rootNode, path) { - path = path.split("."); - path = _createForOfIteratorHelper(path); - var _step4; - try { - for (path.s(); !(_step4 = path.n()).done; ) { - var key = _step4.value, - child = rootNode.children.get(key); - child || ((child = createDepTree()), rootNode.children.set(key, child)); - rootNode = child; - } - } catch (err) { - path.e(err); - } finally { - path.f(); - } - return rootNode; - } - function markAllParentsByPath(rootNode, path, fn) { - path = path.split("."); - path = _createForOfIteratorHelper(path); - var _step5; - try { - for (path.s(); !(_step5 = path.n()).done; ) { - var child = rootNode.children.get(_step5.value); - if (!child) break; - fn(child); - rootNode = child; - } - } catch (err) { - path.e(err); - } finally { - path.f(); - } - } - function scanTreeRecursively(node, missingPaths, satisfyingPaths, keyToPath) { - node.children.forEach(function (child, key) { - var path = keyToPath(key); - child.isSatisfiedRecursively - ? child.isSubtreeUsed && satisfyingPaths.add(path) - : child.isUsed - ? missingPaths.add(path) - : scanTreeRecursively( - child, - missingPaths, - satisfyingPaths, - function (childKey) { - return path + "." + childKey; - } - ); - }); - } - var dependencies = _ref6.dependencies, - declaredDependencies = _ref6.declaredDependencies, - stableDependencies = _ref6.stableDependencies, - externalDependencies = _ref6.externalDependencies, - isEffect = _ref6.isEffect, - depTree = createDepTree(); - dependencies.forEach(function (_, key) { - getOrCreateNodeByPath(depTree, key).isUsed = !0; - markAllParentsByPath(depTree, key, function (parent) { - parent.isSubtreeUsed = !0; - }); - }); - declaredDependencies.forEach(function (_ref7) { - getOrCreateNodeByPath(depTree, _ref7.key).isSatisfiedRecursively = !0; - }); - stableDependencies.forEach(function (key) { - getOrCreateNodeByPath(depTree, key).isSatisfiedRecursively = !0; - }); - _ref6 = new Set(); - var satisfyingDependencies = new Set(); - scanTreeRecursively(depTree, _ref6, satisfyingDependencies, function (key) { - return key; - }); - var suggestedDependencies = [], - unnecessaryDependencies = new Set(), - duplicateDependencies = new Set(); - declaredDependencies.forEach(function (_ref8) { - _ref8 = _ref8.key; - satisfyingDependencies.has(_ref8) - ? -1 === suggestedDependencies.indexOf(_ref8) - ? suggestedDependencies.push(_ref8) - : duplicateDependencies.add(_ref8) - : !isEffect || - _ref8.endsWith(".current") || - externalDependencies.has(_ref8) - ? unnecessaryDependencies.add(_ref8) - : -1 === suggestedDependencies.indexOf(_ref8) && - suggestedDependencies.push(_ref8); - }); - _ref6.forEach(function (key) { - suggestedDependencies.push(key); - }); - return { - suggestedDependencies: suggestedDependencies, - unnecessaryDependencies: unnecessaryDependencies, - duplicateDependencies: duplicateDependencies, - missingDependencies: _ref6 - }; -} -function getConstructionExpressionType(node) { - switch (node.type) { - case "ObjectExpression": - return "object"; - case "ArrayExpression": - return "array"; - case "ArrowFunctionExpression": - case "FunctionExpression": - return "function"; - case "ClassExpression": - return "class"; - case "ConditionalExpression": - if ( - null != getConstructionExpressionType(node.consequent) || - null != getConstructionExpressionType(node.alternate) - ) - return "conditional"; - break; - case "LogicalExpression": - if ( - null != getConstructionExpressionType(node.left) || - null != getConstructionExpressionType(node.right) - ) - return "logical expression"; - break; - case "JSXFragment": - return "JSX fragment"; - case "JSXElement": - return "JSX element"; - case "AssignmentExpression": - if (null != getConstructionExpressionType(node.right)) - return "assignment expression"; - break; - case "NewExpression": - return "object construction"; - case "Literal": - if (node.value instanceof RegExp) return "regular expression"; - break; - case "TypeCastExpression": - case "AsExpression": - case "TSAsExpression": - return getConstructionExpressionType(node.expression); - } - return null; -} -function scanForConstructions(_ref9) { - var declaredDependenciesNode = _ref9.declaredDependenciesNode, - componentScope = _ref9.componentScope, - scope = _ref9.scope; - return _ref9.declaredDependencies - .map(function (_ref10) { - var key = _ref10.key; - _ref10 = componentScope.variables.find(function (v) { - return v.name === key; - }); - if (null == _ref10) return null; - var node = _ref10.defs[0]; - if (null == node) return null; - if ( - "Variable" === node.type && - "VariableDeclarator" === node.node.type && - "Identifier" === node.node.id.type && - null != node.node.init - ) { - var constantExpressionType = getConstructionExpressionType( - node.node.init - ); - if (null != constantExpressionType) - return [_ref10, constantExpressionType]; - } - return "FunctionName" === node.type && - "FunctionDeclaration" === node.node.type - ? [_ref10, "function"] - : "ClassName" === node.type && "ClassDeclaration" === node.node.type - ? [_ref10, "class"] - : null; - }) - .filter(Boolean) - .map(function (_ref11) { - var ref = _ref11[0]; - _ref11 = _ref11[1]; - var JSCompiler_temp_const = ref.defs[0]; - a: { - for (var foundWriteExpr = !1, i = 0; i < ref.references.length; i++) { - var reference = ref.references[i]; - if (reference.writeExpr) - if (foundWriteExpr) { - ref = !0; - break a; - } else { - foundWriteExpr = !0; - continue; - } - for ( - var currentScope = reference.from; - currentScope !== scope && null != currentScope; - - ) - currentScope = currentScope.upper; - if ( - currentScope !== scope && - !isAncestorNodeOf(declaredDependenciesNode, reference.identifier) - ) { - ref = !0; - break a; - } - } - ref = !1; - } - return { - construction: JSCompiler_temp_const, - depType: _ref11, - isUsedOutsideOfHook: ref - }; - }); -} -function getDependency(node) { - return ("MemberExpression" !== node.parent.type && - "OptionalMemberExpression" !== node.parent.type) || - node.parent.object !== node || - "current" === node.parent.property.name || - node.parent.computed || - (null != node.parent.parent && - ("CallExpression" === node.parent.parent.type || - "OptionalCallExpression" === node.parent.parent.type) && - node.parent.parent.callee === node.parent) - ? "MemberExpression" === node.type && - node.parent && - "AssignmentExpression" === node.parent.type && - node.parent.left === node - ? node.object - : node - : getDependency(node.parent); -} -function markNode(node, optionalChains, result) { - optionalChains && - (node.optional - ? optionalChains.has(result) || optionalChains.set(result, !0) - : optionalChains.set(result, !1)); -} -function analyzePropertyChain(node, optionalChains) { - if ("Identifier" === node.type || "JSXIdentifier" === node.type) - return ( - (node = node.name), optionalChains && optionalChains.set(node, !1), node - ); - if ("MemberExpression" !== node.type || node.computed) { - if ("OptionalMemberExpression" !== node.type || node.computed) { - if ("ChainExpression" !== node.type || node.computed) - throw Error("Unsupported node type: " + node.type); - node = node.expression; - if ("CallExpression" === node.type) - throw Error("Unsupported node type: " + node.type); - var object$20 = analyzePropertyChain(node.object, optionalChains), - property$21 = analyzePropertyChain(node.property, null); - object$20 = object$20 + "." + property$21; - markNode(node, optionalChains, object$20); - return object$20; - } - object$20 = analyzePropertyChain(node.object, optionalChains); - property$21 = analyzePropertyChain(node.property, null); - object$20 = object$20 + "." + property$21; - markNode(node, optionalChains, object$20); - return object$20; - } - object$20 = analyzePropertyChain(node.object, optionalChains); - property$21 = analyzePropertyChain(node.property, null); - object$20 = object$20 + "." + property$21; - markNode(node, optionalChains, object$20); - return object$20; -} -function getNodeWithoutReactNamespace(node) { - return "MemberExpression" !== node.type || - "Identifier" !== node.object.type || - "React" !== node.object.name || - "Identifier" !== node.property.type || - node.computed - ? node - : node.property; -} -function getReactiveHookCallbackIndex(calleeNode, options) { - var node = getNodeWithoutReactNamespace(calleeNode); - if ("Identifier" !== node.type) return -1; - switch (node.name) { - case "useEffect": - case "useLayoutEffect": - case "useCallback": - case "useMemo": - return 0; - case "useImperativeHandle": - return 1; - default: - if (node === calleeNode && options && options.additionalHooks) { - try { - var name = analyzePropertyChain(node, null); - } catch (error) { - if (/Unsupported node type/.test(error.message)) return 0; - throw error; - } - return options.additionalHooks.test(name) ? 0 : -1; - } - return -1; - } -} -function fastFindReferenceWithParent(start, target) { - for (var queue = [start], item = null; queue.length; ) { - item = queue.shift(); - if ( - ("Identifier" === item.type || "JSXIdentifier" === item.type) && - item.type === target.type && - item.name === target.name && - item.range[0] === target.range[0] && - item.range[1] === target.range[1] - ) - return item; - if (isAncestorNodeOf(item, target)) { - start = 0; - for ( - var _Object$entries = Object.entries(item); - start < _Object$entries.length; - start++ - ) { - var _Object$entries$_i = _Object$entries[start], - value = _Object$entries$_i[1]; - "parent" !== _Object$entries$_i[0] && - (isNodeLike(value) - ? ((value.parent = item), queue.push(value)) - : Array.isArray(value) && - value.forEach(function (val) { - isNodeLike(val) && ((val.parent = item), queue.push(val)); - })); - } - } - } - return null; -} -function joinEnglish(arr) { - for (var s = "", i = 0; i < arr.length; i++) - (s += arr[i]), - 0 === i && 2 === arr.length - ? (s += " and ") - : i === arr.length - 2 && 2 < arr.length - ? (s += ", and ") - : i < arr.length - 1 && (s += ", "); - return s; -} -function isNodeLike(val) { - return ( - "object" === typeof val && - null !== val && - !Array.isArray(val) && - "string" === typeof val.type - ); -} -function isAncestorNodeOf(a, b) { - return a.range[0] <= b.range[0] && a.range[1] >= b.range[1]; -} -exports.configs = { - recommended: { - plugins: ["react-hooks"], - rules: { - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn" - } - } -}; -exports.rules = { - "rules-of-hooks": { - meta: { - type: "problem", - docs: { - description: "enforces the Rules of Hooks", - recommended: !0, - url: "https://reactjs.org/docs/hooks-rules.html" - } - }, - create: function (context) { - function recordAllUseEffectEventFunctions(scope) { - scope = _createForOfIteratorHelper(scope.references); - try { - for (scope.s(); !scope.n().done; ); - } catch (err$1) { - scope.e(err$1); - } finally { - scope.f(); - } - } - var lastEffect = null, - codePathReactHooksMapStack = [], - codePathSegmentStack = [], - useEffectEventFunctions = new WeakSet(), - getSource = - "function" === typeof context.getSource - ? function (node) { - return context.getSource(node); - } - : function (node) { - return context.sourceCode.getText(node); - }, - getScope = - "function" === typeof context.getScope - ? function () { - return context.getScope(); - } - : function (node) { - return context.sourceCode.getScope(node); - }, - $jscomp$compprop0 = {}; - return ( - ($jscomp$compprop0.onCodePathSegmentStart = function (segment) { - return codePathSegmentStack.push(segment); - }), - ($jscomp$compprop0.onCodePathSegmentEnd = function () { - return codePathSegmentStack.pop(); - }), - ($jscomp$compprop0.onCodePathStart = function () { - return codePathReactHooksMapStack.push(new Map()); - }), - ($jscomp$compprop0.onCodePathEnd = function (codePath, codePathNode) { - function countPathsFromStart(segment, pathHistory) { - var cache = countPathsFromStart.cache, - paths = cache.get(segment.id); - pathHistory = new Set(pathHistory); - if (pathHistory.has(segment.id)) { - cache = [].concat(pathHistory); - segment = cache.slice(cache.indexOf(segment.id) + 1); - segment = _createForOfIteratorHelper(segment); - var _step3; - try { - for (segment.s(); !(_step3 = segment.n()).done; ) - cyclic.add(_step3.value); - } catch (err) { - segment.e(err); - } finally { - segment.f(); - } - return BigInt("0"); - } - pathHistory.add(segment.id); - if (void 0 !== paths) return paths; - if (codePath.thrownSegments.includes(segment)) paths = BigInt("0"); - else if (0 === segment.prevSegments.length) paths = BigInt("1"); - else { - paths = BigInt("0"); - _step3 = _createForOfIteratorHelper(segment.prevSegments); - var _step4; - try { - for (_step3.s(); !(_step4 = _step3.n()).done; ) - paths += countPathsFromStart(_step4.value, pathHistory); - } catch (err$2) { - _step3.e(err$2); - } finally { - _step3.f(); - } - } - segment.reachable && paths === BigInt("0") - ? cache.delete(segment.id) - : cache.set(segment.id, paths); - return paths; - } - function countPathsToEnd(segment, pathHistory) { - var cache = countPathsToEnd.cache, - paths = cache.get(segment.id); - pathHistory = new Set(pathHistory); - if (pathHistory.has(segment.id)) { - cache = Array.from(pathHistory); - segment = cache.slice(cache.indexOf(segment.id) - 1); - segment = _createForOfIteratorHelper(segment); - var _step5; - try { - for (segment.s(); !(_step5 = segment.n()).done; ) - cyclic.add(_step5.value); - } catch (err) { - segment.e(err); - } finally { - segment.f(); - } - return BigInt("0"); - } - pathHistory.add(segment.id); - if (void 0 !== paths) return paths; - if (codePath.thrownSegments.includes(segment)) paths = BigInt("0"); - else if (0 === segment.nextSegments.length) paths = BigInt("1"); - else { - paths = BigInt("0"); - _step5 = _createForOfIteratorHelper(segment.nextSegments); - var _step6; - try { - for (_step5.s(); !(_step6 = _step5.n()).done; ) - paths += countPathsToEnd(_step6.value, pathHistory); - } catch (err$3) { - _step5.e(err$3); - } finally { - _step5.f(); - } - } - cache.set(segment.id, paths); - return paths; - } - function shortestPathLengthToStart(segment) { - var cache = shortestPathLengthToStart.cache, - length = cache.get(segment.id); - if (null === length) return Infinity; - if (void 0 !== length) return length; - cache.set(segment.id, null); - if (0 === segment.prevSegments.length) length = 1; - else { - length = Infinity; - var _iterator7 = _createForOfIteratorHelper(segment.prevSegments), - _step7; - try { - for (_iterator7.s(); !(_step7 = _iterator7.n()).done; ) { - var prevLength = shortestPathLengthToStart(_step7.value); - prevLength < length && (length = prevLength); - } - } catch (err) { - _iterator7.e(err); - } finally { - _iterator7.f(); - } - length += 1; - } - cache.set(segment.id, length); - return length; - } - var reactHooksMap = codePathReactHooksMapStack.pop(); - if (0 !== reactHooksMap.size) { - var cyclic = new Set(); - countPathsFromStart.cache = new Map(); - countPathsToEnd.cache = new Map(); - shortestPathLengthToStart.cache = new Map(); - var allPathsFromStartToEnd = countPathsToEnd( - codePath.initialSegment - ), - codePathFunctionName = getFunctionName(codePathNode), - isSomewhereInsideComponentOrHook = - isInsideComponentOrHook(codePathNode), - isDirectlyInsideComponentOrHook = codePathFunctionName - ? isComponentName(codePathFunctionName) || - isHook(codePathFunctionName) - : isForwardRefCallback(codePathNode) || - isMemoCallback(codePathNode), - shortestFinalPathLength = Infinity, - _iterator8 = _createForOfIteratorHelper(codePath.finalSegments), - _step8; - try { - for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) { - var finalSegment = _step8.value; - if (finalSegment.reachable) { - var length$jscomp$0 = shortestPathLengthToStart(finalSegment); - length$jscomp$0 < shortestFinalPathLength && - (shortestFinalPathLength = length$jscomp$0); - } - } - } catch (err) { - _iterator8.e(err); - } finally { - _iterator8.f(); - } - reactHooksMap = _createForOfIteratorHelper(reactHooksMap); - var _step9; - try { - for (reactHooksMap.s(); !(_step9 = reactHooksMap.n()).done; ) { - var _step9$value = _step9.value, - segment$jscomp$0 = _step9$value[0], - reactHooks = _step9$value[1]; - if (segment$jscomp$0.reachable) { - var possiblyHasEarlyReturn = - 0 === segment$jscomp$0.nextSegments.length - ? shortestFinalPathLength <= - shortestPathLengthToStart(segment$jscomp$0) - : shortestFinalPathLength < - shortestPathLengthToStart(segment$jscomp$0), - pathsFromStartToEnd = - countPathsFromStart(segment$jscomp$0) * - countPathsToEnd(segment$jscomp$0), - cycled = cyclic.has(segment$jscomp$0.id), - _iterator10 = _createForOfIteratorHelper(reactHooks), - _step10; - try { - for (_iterator10.s(); !(_step10 = _iterator10.n()).done; ) { - var hook = _step10.value; - cycled && - !isReactFunction(hook, "use") && - context.report({ - node: hook, - message: - 'React Hook "' + - getSource(hook) + - '" may be executed more than once. Possibly because it is called in a loop. React Hooks must be called in the exact same order in every component render.' - }); - if (isDirectlyInsideComponentOrHook) { - if ( - (codePathNode.async && - context.report({ - node: hook, - message: - 'React Hook "' + - getSource(hook) + - '" cannot be called in an async function.' - }), - !cycled && - pathsFromStartToEnd !== allPathsFromStartToEnd && - !isReactFunction(hook, "use")) - ) { - var message = - 'React Hook "' + - getSource(hook) + - '" is called conditionally. React Hooks must be called in the exact same order in every component render.' + - (possiblyHasEarlyReturn - ? " Did you accidentally call a React Hook after an early return?" - : ""); - context.report({ node: hook, message: message }); - } - } else if ( - codePathNode.parent && - ("MethodDefinition" === codePathNode.parent.type || - "ClassProperty" === codePathNode.parent.type) && - codePathNode.parent.value === codePathNode - ) { - var message$4 = - 'React Hook "' + - getSource(hook) + - '" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.'; - context.report({ node: hook, message: message$4 }); - } else if (codePathFunctionName) { - var message$5 = - 'React Hook "' + - getSource(hook) + - '" is called in function "' + - (getSource(codePathFunctionName) + - '" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".'); - context.report({ node: hook, message: message$5 }); - } else if ("Program" === codePathNode.type) { - var message$6 = - 'React Hook "' + - getSource(hook) + - '" cannot be called at the top level. React Hooks must be called in a React function component or a custom React Hook function.'; - context.report({ node: hook, message: message$6 }); - } else if ( - isSomewhereInsideComponentOrHook && - !isReactFunction(hook, "use") - ) { - var message$7 = - 'React Hook "' + - getSource(hook) + - '" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function.'; - context.report({ node: hook, message: message$7 }); - } - } - } catch (err$8) { - _iterator10.e(err$8); - } finally { - _iterator10.f(); - } - } - } - } catch (err$9) { - reactHooksMap.e(err$9); - } finally { - reactHooksMap.f(); - } - } - }), - ($jscomp$compprop0.CallExpression = function (node) { - if (isHook(node.callee)) { - var reactHooksMap = - codePathReactHooksMapStack[ - codePathReactHooksMapStack.length - 1 - ], - codePathSegment = - codePathSegmentStack[codePathSegmentStack.length - 1], - reactHooks = reactHooksMap.get(codePathSegment); - reactHooks || - ((reactHooks = []), - reactHooksMap.set(codePathSegment, reactHooks)); - reactHooks.push(node.callee); - } - "Identifier" === node.callee.type && - "useEffect" === node.callee.name && - 0 < node.arguments.length && - (lastEffect = node); - }), - ($jscomp$compprop0.Identifier = function (node) { - null == lastEffect && - useEffectEventFunctions.has(node) && - "CallExpression" !== node.parent.type && - context.report({ - node: node, - message: - "`" + - getSource(node) + - '` is a function created with React Hook "useEffectEvent", and can only be called from the same component. They cannot be assigned to variables or passed down.' - }); - }), - ($jscomp$compprop0["CallExpression:exit"] = function (node) { - node === lastEffect && (lastEffect = null); - }), - ($jscomp$compprop0.FunctionDeclaration = function (node) { - isInsideComponentOrHook(node) && - recordAllUseEffectEventFunctions(getScope(node)); - }), - ($jscomp$compprop0.ArrowFunctionExpression = function (node) { - isInsideComponentOrHook(node) && - recordAllUseEffectEventFunctions(getScope(node)); - }), - $jscomp$compprop0 - ); - } - }, - "exhaustive-deps": { - meta: { - type: "suggestion", - docs: { - description: - "verifies the list of dependencies for Hooks like useEffect and similar", - recommended: !0, - url: "https://github.com/facebook/react/issues/14920" - }, - fixable: "code", - hasSuggestions: !0, - schema: [ - { - type: "object", - additionalProperties: !1, - enableDangerousAutofixThisMayCauseInfiniteLoops: !1, - properties: { - additionalHooks: { type: "string" }, - enableDangerousAutofixThisMayCauseInfiniteLoops: { type: "boolean" } - } - } - ] - }, - create: function (context) { - function reportProblem(problem) { - enableDangerousAutofixThisMayCauseInfiniteLoops && - Array.isArray(problem.suggest) && - 0 < problem.suggest.length && - (problem.fix = problem.suggest[0].fix); - context.report(problem); - } - function memoizeWithWeakMap(fn, map) { - return function (arg) { - if (map.has(arg)) return map.get(arg); - var result = fn(arg); - map.set(arg, result); - return result; - }; - } - function visitFunctionWithDependencies( - node, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - isEffect - ) { - function gatherDependenciesRecursively(currentScope) { - var _iterator2 = _createForOfIteratorHelper(currentScope.references), - _step2; - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { - var reference = _step2.value; - if ( - reference.resolved && - pureScopes.has(reference.resolved.scope) - ) { - var referenceNode = fastFindReferenceWithParent( - node, - reference.identifier - ), - dependencyNode = getDependency(referenceNode), - dependency = analyzePropertyChain( - dependencyNode, - optionalChains - ), - JSCompiler_temp; - if ( - (JSCompiler_temp = - isEffect && - "Identifier" === dependencyNode.type && - ("MemberExpression" === dependencyNode.parent.type || - "OptionalMemberExpression" === - dependencyNode.parent.type) && - !dependencyNode.parent.computed && - "Identifier" === dependencyNode.parent.property.type && - "current" === dependencyNode.parent.property.name) - ) { - for ( - var curScope = reference.from, isInReturnedFunction = !1; - curScope.block !== node; - - ) - "function" === curScope.type && - (isInReturnedFunction = - null != curScope.block.parent && - "ReturnStatement" === curScope.block.parent.type), - (curScope = curScope.upper); - JSCompiler_temp = isInReturnedFunction; - } - JSCompiler_temp && - currentRefsInEffectCleanup.set(dependency, { - reference: reference, - dependencyNode: dependencyNode - }); - if ( - "TSTypeQuery" !== dependencyNode.parent.type && - "TSTypeReference" !== dependencyNode.parent.type - ) { - var def = reference.resolved.defs[0]; - if ( - null != def && - (null == def.node || def.node.init !== node.parent) && - "TypeParameter" !== def.type - ) - if (dependencies.has(dependency)) - dependencies.get(dependency).references.push(reference); - else { - var resolved = reference.resolved, - isStable = - memoizedIsStableKnownHookValue(resolved) || - memoizedIsFunctionWithoutCapturedValues(resolved); - dependencies.set(dependency, { - isStable: isStable, - references: [reference] - }); - } - } - } - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - currentScope = _createForOfIteratorHelper(currentScope.childScopes); - var _step3; - try { - for (currentScope.s(); !(_step3 = currentScope.n()).done; ) - gatherDependenciesRecursively(_step3.value); - } catch (err$12) { - currentScope.e(err$12); - } finally { - currentScope.f(); - } - } - function formatDependency(path) { - path = path.split("."); - for (var finalPath = "", i = 0; i < path.length; i++) { - if (0 !== i) { - var pathSoFar = path.slice(0, i + 1).join("."); - pathSoFar = !0 === optionalChains.get(pathSoFar); - finalPath += pathSoFar ? "?." : "."; - } - finalPath += path[i]; - } - return finalPath; - } - function getWarningMessage(deps, singlePrefix, label, fixVerb) { - return 0 === deps.size - ? null - : (1 < deps.size ? "" : singlePrefix + " ") + - label + - " " + - (1 < deps.size ? "dependencies" : "dependency") + - ": " + - joinEnglish( - Array.from(deps) - .sort() - .map(function (name) { - return "'" + formatDependency(name) + "'"; - }) - ) + - (". Either " + - fixVerb + - " " + - (1 < deps.size ? "them" : "it") + - " or remove the dependency array."); - } - isEffect && - node.async && - reportProblem({ - node: node, - message: - "Effect callbacks are synchronous to prevent race conditions. Put the async function inside:\n\nuseEffect(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" - }); - for ( - var scope = scopeManager.acquire(node), - pureScopes = new Set(), - componentScope = null, - currentScope = scope.upper; - currentScope; - - ) { - pureScopes.add(currentScope); - if ("function" === currentScope.type) break; - currentScope = currentScope.upper; - } - if (currentScope) { - componentScope = currentScope; - var isArray = Array.isArray, - memoizedIsStableKnownHookValue = memoizeWithWeakMap(function ( - resolved - ) { - if (!isArray(resolved.defs)) return !1; - var def = resolved.defs[0]; - if (null == def || "VariableDeclarator" !== def.node.type) - return !1; - var init = def.node.init; - if (null == init) return !1; - for ( - ; - "TSAsExpression" === init.type || "AsExpression" === init.type; - - ) - init = init.expression; - var declaration = def.node.parent; - if ( - null == declaration && - (fastFindReferenceWithParent(componentScope.block, def.node.id), - (declaration = def.node.parent), - null == declaration) - ) - return !1; - if ( - "const" === declaration.kind && - "Literal" === init.type && - ("string" === typeof init.value || - "number" === typeof init.value || - null === init.value) - ) - return !0; - if ("CallExpression" !== init.type) return !1; - init = init.callee; - "MemberExpression" !== init.type || - "React" !== init.object.name || - null == init.property || - init.computed || - (init = init.property); - if ("Identifier" !== init.type) return !1; - def = def.node.id; - init = init.name; - if ("useRef" === init && "Identifier" === def.type) return !0; - if ( - "useState" === init || - "useReducer" === init || - "useActionState" === init - ) { - if ( - "ArrayPattern" === def.type && - 2 === def.elements.length && - isArray(resolved.identifiers) - ) { - if (def.elements[1] === resolved.identifiers[0]) { - if ("useState" === init) - for ( - resolved = resolved.references, declaration = init = 0; - declaration < resolved.length; - declaration++ - ) { - resolved[declaration].isWrite() && init++; - if (1 < init) return !1; - setStateCallSites.set( - resolved[declaration].identifier, - def.elements[0] - ); - } - return !0; - } - if ( - def.elements[0] === resolved.identifiers[0] && - "useState" === init - ) - for ( - resolved = resolved.references, def = 0; - def < resolved.length; - def++ - ) - stateVariables.add(resolved[def].identifier); - } - } else if ( - "useTransition" === init && - "ArrayPattern" === def.type && - 2 === def.elements.length && - Array.isArray(resolved.identifiers) && - def.elements[1] === resolved.identifiers[0] - ) - return !0; - return !1; - }, stableKnownValueCache), - memoizedIsFunctionWithoutCapturedValues = memoizeWithWeakMap( - function (resolved) { - if (!isArray(resolved.defs)) return !1; - resolved = resolved.defs[0]; - if ( - null == resolved || - null == resolved.node || - null == resolved.node.id - ) - return !1; - var fnNode = resolved.node, - childScopes = componentScope.childScopes; - resolved = null; - var i; - for (i = 0; i < childScopes.length; i++) { - var childScope = childScopes[i], - childScopeBlock = childScope.block; - if ( - ("FunctionDeclaration" === fnNode.type && - childScopeBlock === fnNode) || - ("VariableDeclarator" === fnNode.type && - childScopeBlock.parent === fnNode) - ) { - resolved = childScope; - break; - } - } - if (null == resolved) return !1; - for (i = 0; i < resolved.through.length; i++) - if ( - ((fnNode = resolved.through[i]), - null != fnNode.resolved && - pureScopes.has(fnNode.resolved.scope) && - !memoizedIsStableKnownHookValue(fnNode.resolved)) - ) - return !1; - return !0; - }, - functionWithoutCapturedValueCache - ), - currentRefsInEffectCleanup = new Map(), - dependencies = new Map(), - optionalChains = new Map(); - gatherDependenciesRecursively(scope); - currentRefsInEffectCleanup.forEach(function (_ref, dependency) { - var dependencyNode = _ref.dependencyNode; - _ref = _ref.reference.resolved.references; - for (var foundCurrentAssignment = !1, i = 0; i < _ref.length; i++) { - var parent = _ref[i].identifier.parent; - if ( - null != parent && - "MemberExpression" === parent.type && - !parent.computed && - "Identifier" === parent.property.type && - "current" === parent.property.name && - "AssignmentExpression" === parent.parent.type && - parent.parent.left === parent - ) { - foundCurrentAssignment = !0; - break; - } - } - foundCurrentAssignment || - reportProblem({ - node: dependencyNode.parent.property, - message: - "The ref value '" + - dependency + - ".current' will likely have changed by the time this effect cleanup function runs. If this ref points to a node rendered by React, copy '" + - (dependency + - ".current' to a variable inside the effect, and use that variable in the cleanup function.") - }); - }); - var staleAssignments = new Set(), - stableDependencies = new Set(); - dependencies.forEach(function (_ref2, key) { - var references = _ref2.references; - _ref2.isStable && stableDependencies.add(key); - references.forEach(function (reference) { - reference.writeExpr && - ((reference = reference.writeExpr), - staleAssignments.has(key) || - (staleAssignments.add(key), - reportProblem({ - node: reference, - message: - "Assignments to the '" + - key + - "' variable from inside React Hook " + - (getSource(reactiveHook) + - " will be lost after each render. To preserve the value over time, store it in a useRef Hook and keep the mutable value in the '.current' property. Otherwise, you can move this variable directly inside ") + - (getSource(reactiveHook) + ".") - }))); - }); - }); - if (!(0 < staleAssignments.size)) - if (declaredDependenciesNode) { - var declaredDependencies = [], - externalDependencies = new Set(); - currentScope = - "TSAsExpression" === declaredDependenciesNode.type && - "ArrayExpression" === declaredDependenciesNode.expression.type; - "ArrayExpression" === declaredDependenciesNode.type || - currentScope - ? (currentScope - ? declaredDependenciesNode.expression - : declaredDependenciesNode - ).elements.forEach(function (declaredDependencyNode) { - if (null !== declaredDependencyNode) - if ("SpreadElement" === declaredDependencyNode.type) - reportProblem({ - node: declaredDependencyNode, - message: - "React Hook " + - getSource(reactiveHook) + - " has a spread element in its dependency array. This means we can't statically verify whether you've passed the correct dependencies." - }); - else { - useEffectEventVariables.has(declaredDependencyNode) && - reportProblem({ - node: declaredDependencyNode, - message: - "Functions returned from `useEffectEvent` must not be included in the dependency array. Remove `" + - (getSource(declaredDependencyNode) + - "` from the list."), - suggest: [ - { - desc: - "Remove the dependency `" + - getSource(declaredDependencyNode) + - "`", - fix: function (fixer) { - return fixer.removeRange( - declaredDependencyNode.range - ); - } - } - ] - }); - try { - var declaredDependency = analyzePropertyChain( - declaredDependencyNode, - null - ); - } catch (error) { - if (/Unsupported node type/.test(error.message)) { - "Literal" === declaredDependencyNode.type - ? dependencies.has(declaredDependencyNode.value) - ? reportProblem({ - node: declaredDependencyNode, - message: - "The " + - declaredDependencyNode.raw + - " literal is not a valid dependency because it never changes. Did you mean to include " + - (declaredDependencyNode.value + - " in the array instead?") - }) - : reportProblem({ - node: declaredDependencyNode, - message: - "The " + - declaredDependencyNode.raw + - " literal is not a valid dependency because it never changes. You can safely remove it." - }) - : reportProblem({ - node: declaredDependencyNode, - message: - "React Hook " + - getSource(reactiveHook) + - " has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked." - }); - return; - } - throw error; - } - for ( - var maybeID = declaredDependencyNode; - "MemberExpression" === maybeID.type || - "OptionalMemberExpression" === maybeID.type || - "ChainExpression" === maybeID.type; - - ) - maybeID = maybeID.object || maybeID.expression.object; - var isDeclaredInComponent = - !componentScope.through.some(function (ref) { - return ref.identifier === maybeID; - }); - declaredDependencies.push({ - key: declaredDependency, - node: declaredDependencyNode - }); - isDeclaredInComponent || - externalDependencies.add(declaredDependency); - } - }) - : reportProblem({ - node: declaredDependenciesNode, - message: - "React Hook " + - getSource(reactiveHook) + - " was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies." - }); - var _collectRecommendatio2 = collectRecommendations({ - dependencies: dependencies, - declaredDependencies: declaredDependencies, - stableDependencies: stableDependencies, - externalDependencies: externalDependencies, - isEffect: isEffect - }); - currentScope = _collectRecommendatio2.unnecessaryDependencies; - var missingDependencies = - _collectRecommendatio2.missingDependencies, - duplicateDependencies = - _collectRecommendatio2.duplicateDependencies, - suggestedDeps = _collectRecommendatio2.suggestedDependencies; - if ( - 0 === - duplicateDependencies.size + - missingDependencies.size + - currentScope.size - ) - scanForConstructions({ - declaredDependencies: declaredDependencies, - declaredDependenciesNode: declaredDependenciesNode, - componentScope: componentScope, - scope: scope - }).forEach(function (_ref4) { - var construction = _ref4.construction, - isUsedOutsideOfHook = _ref4.isUsedOutsideOfHook; - _ref4 = _ref4.depType; - var wrapperHook = - "function" === _ref4 ? "useCallback" : "useMemo", - constructionType = - "function" === _ref4 ? "definition" : "initialization", - defaultAdvice = - "wrap the " + - constructionType + - " of '" + - construction.name.name + - "' in its own " + - wrapperHook + - "() Hook."; - defaultAdvice = - "The '" + - construction.name.name + - "' " + - _ref4 + - " " + - ("conditional" === _ref4 || "logical expression" === _ref4 - ? "could make" - : "makes") + - " the dependencies of " + - (reactiveHookName + - " Hook (at line " + - declaredDependenciesNode.loc.start.line + - ") change on every render. ") + - (isUsedOutsideOfHook - ? "To fix this, " + defaultAdvice - : "Move it inside the " + - reactiveHookName + - " callback. Alternatively, " + - defaultAdvice); - var suggest; - isUsedOutsideOfHook && - "Variable" === construction.type && - "function" === _ref4 && - (suggest = [ - { - desc: - "Wrap the " + - constructionType + - " of '" + - construction.name.name + - "' in its own " + - wrapperHook + - "() Hook.", - fix: function (fixer) { - var _ref5 = - "useMemo" === wrapperHook - ? ["useMemo(() => { return ", "; })"] - : ["useCallback(", ")"], - after = _ref5[1]; - return [ - fixer.insertTextBefore( - construction.node.init, - _ref5[0] - ), - fixer.insertTextAfter(construction.node.init, after) - ]; - } - } - ]); - reportProblem({ - node: construction.node, - message: defaultAdvice, - suggest: suggest - }); - }); - else { - !isEffect && - 0 < missingDependencies.size && - (suggestedDeps = collectRecommendations({ - dependencies: dependencies, - declaredDependencies: [], - stableDependencies: stableDependencies, - externalDependencies: externalDependencies, - isEffect: isEffect - }).suggestedDependencies); - (function () { - if (0 === declaredDependencies.length) return !0; - var declaredDepKeys = declaredDependencies.map( - function (dep) { - return dep.key; - } - ), - sortedDeclaredDepKeys = declaredDepKeys.slice().sort(); - return ( - declaredDepKeys.join(",") === - sortedDeclaredDepKeys.join(",") - ); - })() && suggestedDeps.sort(); - _collectRecommendatio2 = ""; - if (0 < currentScope.size) { - var badRef = null; - Array.from(currentScope.keys()).forEach(function (key) { - null === badRef && - key.endsWith(".current") && - (badRef = key); - }); - if (null !== badRef) - _collectRecommendatio2 = - " Mutable values like '" + - badRef + - "' aren't valid dependencies because mutating them doesn't re-render the component."; - else if (0 < externalDependencies.size) { - var dep = Array.from(externalDependencies)[0]; - scope.set.has(dep) || - (_collectRecommendatio2 = - " Outer scope values like '" + - dep + - "' aren't valid dependencies because mutating them doesn't re-render the component."); - } - } - if ( - !_collectRecommendatio2 && - missingDependencies.has("props") - ) { - scope = dependencies.get("props"); - if (null == scope) return; - scope = scope.references; - if (!Array.isArray(scope)) return; - dep = !0; - for ( - var i$jscomp$0 = 0; - i$jscomp$0 < scope.length; - i$jscomp$0++ - ) { - var id = fastFindReferenceWithParent( - componentScope.block, - scope[i$jscomp$0].identifier - ); - if (!id) { - dep = !1; - break; - } - id = id.parent; - if (null == id) { - dep = !1; - break; - } - if ( - "MemberExpression" !== id.type && - "OptionalMemberExpression" !== id.type - ) { - dep = !1; - break; - } - } - dep && - (_collectRecommendatio2 = - " However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the " + - (reactiveHookName + - " call and refer to those specific props inside ") + - (getSource(reactiveHook) + ".")); - } - if (!_collectRecommendatio2 && 0 < missingDependencies.size) { - var missingCallbackDep = null; - missingDependencies.forEach(function (missingDep) { - if (!missingCallbackDep) { - var topScopeRef = componentScope.set.get(missingDep), - usedDep = dependencies.get(missingDep); - if ( - usedDep.references[0].resolved === topScopeRef && - ((topScopeRef = topScopeRef.defs[0]), - null != topScopeRef && - null != topScopeRef.name && - "Parameter" === topScopeRef.type) - ) { - topScopeRef = !1; - for ( - var id, i$14 = 0; - i$14 < usedDep.references.length; - i$14++ - ) - if ( - ((id = usedDep.references[i$14].identifier), - null != id && - null != id.parent && - ("CallExpression" === id.parent.type || - "OptionalCallExpression" === id.parent.type) && - id.parent.callee === id) - ) { - topScopeRef = !0; - break; - } - topScopeRef && (missingCallbackDep = missingDep); - } - } - }); - null !== missingCallbackDep && - (_collectRecommendatio2 = - " If '" + - missingCallbackDep + - "' changes too often, find the parent component that defines it and wrap that definition in useCallback."); - } - if (!_collectRecommendatio2 && 0 < missingDependencies.size) { - var setStateRecommendation = null; - missingDependencies.forEach(function (missingDep) { - if (null === setStateRecommendation) - for ( - var references = - dependencies.get(missingDep).references, - id, - maybeCall, - i$15 = 0; - i$15 < references.length; - i$15++ - ) { - id = references[i$15].identifier; - for ( - maybeCall = id.parent; - null != maybeCall && - maybeCall !== componentScope.block; - - ) { - if ("CallExpression" === maybeCall.type) { - var correspondingStateVariable = - setStateCallSites.get(maybeCall.callee); - if (null != correspondingStateVariable) { - correspondingStateVariable.name === missingDep - ? (setStateRecommendation = { - missingDep: missingDep, - setter: maybeCall.callee.name, - form: "updater" - }) - : stateVariables.has(id) - ? (setStateRecommendation = { - missingDep: missingDep, - setter: maybeCall.callee.name, - form: "reducer" - }) - : ((id = references[i$15].resolved), - null != id && - ((id = id.defs[0]), - null != id && - "Parameter" === id.type && - (setStateRecommendation = { - missingDep: missingDep, - setter: maybeCall.callee.name, - form: "inlineReducer" - }))); - break; - } - } - maybeCall = maybeCall.parent; - } - if (null !== setStateRecommendation) break; - } - }); - if (null !== setStateRecommendation) - switch (setStateRecommendation.form) { - case "reducer": - _collectRecommendatio2 = - " You can also replace multiple useState variables with useReducer if '" + - (setStateRecommendation.setter + - "' needs the current value of '") + - (setStateRecommendation.missingDep + "'."); - break; - case "inlineReducer": - _collectRecommendatio2 = - " If '" + - setStateRecommendation.setter + - "' needs the current value of '" + - (setStateRecommendation.missingDep + - "', you can also switch to useReducer instead of useState and read '") + - (setStateRecommendation.missingDep + - "' in the reducer."); - break; - case "updater": - _collectRecommendatio2 = - " You can also do a functional update '" + - setStateRecommendation.setter + - "(" + - setStateRecommendation.missingDep.slice(0, 1) + - " => ...)' if you only need '" + - setStateRecommendation.missingDep + - "' in the '" + - (setStateRecommendation.setter + "' call."); - break; - default: - throw Error("Unknown case."); - } - } - reportProblem({ - node: declaredDependenciesNode, - message: - "React Hook " + - getSource(reactiveHook) + - " has " + - (getWarningMessage( - missingDependencies, - "a", - "missing", - "include" - ) || - getWarningMessage( - currentScope, - "an", - "unnecessary", - "exclude" - ) || - getWarningMessage( - duplicateDependencies, - "a", - "duplicate", - "omit" - )) + - _collectRecommendatio2, - suggest: [ - { - desc: - "Update the dependencies array to be: [" + - suggestedDeps.map(formatDependency).join(", ") + - "]", - fix: function (fixer) { - return fixer.replaceText( - declaredDependenciesNode, - "[" + - suggestedDeps.map(formatDependency).join(", ") + - "]" - ); - } - } - ] - }); - } - } else { - var setStateInsideEffectWithoutDeps = null; - dependencies.forEach(function (_ref3, key) { - setStateInsideEffectWithoutDeps || - _ref3.references.forEach(function (reference) { - if ( - !setStateInsideEffectWithoutDeps && - setStateCallSites.has(reference.identifier) - ) { - for ( - reference = reference.from; - "function" !== reference.type; - - ) - reference = reference.upper; - reference.block === node && - (setStateInsideEffectWithoutDeps = key); - } - }); - }); - if (setStateInsideEffectWithoutDeps) { - var suggestedDependencies$13 = collectRecommendations({ - dependencies: dependencies, - declaredDependencies: [], - stableDependencies: stableDependencies, - externalDependencies: new Set(), - isEffect: !0 - }).suggestedDependencies; - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " contains a call to '" + - setStateInsideEffectWithoutDeps + - "'. Without a list of dependencies, this can lead to an infinite chain of updates. To fix this, pass [" + - suggestedDependencies$13.join(", ") + - ("] as a second argument to the " + - reactiveHookName + - " Hook."), - suggest: [ - { - desc: - "Add dependencies array: [" + - suggestedDependencies$13.join(", ") + - "]", - fix: function (fixer) { - return fixer.insertTextAfter( - node, - ", [" + suggestedDependencies$13.join(", ") + "]" - ); - } - } - ] - }); - } - } - } - } - var enableDangerousAutofixThisMayCauseInfiniteLoops = - (context.options && - context.options[0] && - context.options[0] - .enableDangerousAutofixThisMayCauseInfiniteLoops) || - !1, - options = { - additionalHooks: - context.options && - context.options[0] && - context.options[0].additionalHooks - ? new RegExp(context.options[0].additionalHooks) - : void 0, - enableDangerousAutofixThisMayCauseInfiniteLoops: - enableDangerousAutofixThisMayCauseInfiniteLoops - }, - getSource = - "function" === typeof context.getSource - ? function (node) { - return context.getSource(node); - } - : function (node) { - return context.sourceCode.getText(node); - }, - getScope = - "function" === typeof context.getScope - ? function () { - return context.getScope(); - } - : function (node) { - return context.sourceCode.getScope(node); - }, - scopeManager = context.getSourceCode().scopeManager, - setStateCallSites = new WeakMap(), - stateVariables = new WeakSet(), - stableKnownValueCache = new WeakMap(), - functionWithoutCapturedValueCache = new WeakMap(), - useEffectEventVariables = new WeakSet(); - return { - CallExpression: function (node) { - var callbackIndex = getReactiveHookCallbackIndex( - node.callee, - options - ); - if (-1 !== callbackIndex) { - var callback = node.arguments[callbackIndex], - reactiveHook = node.callee, - reactiveHookName = - getNodeWithoutReactNamespace(reactiveHook).name; - node = node.arguments[callbackIndex + 1]; - var declaredDependenciesNode = - !node || ("Identifier" === node.type && "undefined" === node.name) - ? void 0 - : node; - node = /Effect($|[^a-z])/g.test(reactiveHookName); - if (callback) - if (declaredDependenciesNode || node) { - switch (callback.type) { - case "FunctionExpression": - case "ArrowFunctionExpression": - visitFunctionWithDependencies( - callback, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - case "TSAsExpression": - visitFunctionWithDependencies( - callback.expression, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - case "Identifier": - if ( - !declaredDependenciesNode || - (declaredDependenciesNode.elements && - declaredDependenciesNode.elements.some(function (el) { - return ( - el && - "Identifier" === el.type && - el.name === callback.name - ); - })) - ) - return; - callbackIndex = getScope(callback).set.get(callback.name); - if (null == callbackIndex || null == callbackIndex.defs) - return; - callbackIndex = callbackIndex.defs[0]; - if (!callbackIndex || !callbackIndex.node) break; - if ( - "Variable" !== callbackIndex.type && - "FunctionName" !== callbackIndex.type - ) - break; - switch (callbackIndex.node.type) { - case "FunctionDeclaration": - visitFunctionWithDependencies( - callbackIndex.node, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - case "VariableDeclarator": - if ((callbackIndex = callbackIndex.node.init)) - switch (callbackIndex.type) { - case "ArrowFunctionExpression": - case "FunctionExpression": - visitFunctionWithDependencies( - callbackIndex, - declaredDependenciesNode, - reactiveHook, - reactiveHookName, - node - ); - return; - } - } - break; - default: - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " received a function whose dependencies are unknown. Pass an inline function instead." - }); - return; - } - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " has a missing dependency: '" + - callback.name + - "'. Either include it or remove the dependency array.", - suggest: [ - { - desc: - "Update the dependencies array to be: [" + - callback.name + - "]", - fix: function (fixer) { - return fixer.replaceText( - declaredDependenciesNode, - "[" + callback.name + "]" - ); - } - } - ] - }); - } else - ("useMemo" !== reactiveHookName && - "useCallback" !== reactiveHookName) || - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " does nothing when called with only one argument. Did you forget to pass an array of dependencies?" - }); - else - reportProblem({ - node: reactiveHook, - message: - "React Hook " + - reactiveHookName + - " requires an effect callback. Did you forget to pass a callback to the hook?" - }); - } - } - }; - } - } -}; diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/index.js b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/index.js deleted file mode 100644 index 20458a7a..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -// TODO: this doesn't make sense for an ESLint rule. -// We need to fix our build process to not create bundles for "raw" packages like this. -if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/eslint-plugin-react-hooks.production.js'); -} else { - module.exports = require('./cjs/eslint-plugin-react-hooks.development.js'); -} diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint deleted file mode 100755 index 98221a13..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -else - exec node "$basedir/../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/package.json b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/package.json deleted file mode 100644 index 8570a4c0..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-hooks/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "eslint-plugin-react-hooks", - "description": "ESLint rules for React Hooks", - "version": "5.1.0", - "repository": { - "type": "git", - "url": "https://github.com/facebook/react.git", - "directory": "packages/eslint-plugin-react-hooks" - }, - "files": [ - "LICENSE", - "README.md", - "index.js", - "cjs" - ], - "keywords": [ - "eslint", - "eslint-plugin", - "eslintplugin", - "react" - ], - "license": "MIT", - "bugs": { - "url": "https://github.com/facebook/react/issues" - }, - "engines": { - "node": ">=10" - }, - "homepage": "https://react.dev/", - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - }, - "devDependencies": { - "@babel/eslint-parser": "^7.11.4", - "@typescript-eslint/parser-v2": "npm:@typescript-eslint/parser@^2.26.0", - "@typescript-eslint/parser-v3": "npm:@typescript-eslint/parser@^3.10.0", - "@typescript-eslint/parser-v4": "npm:@typescript-eslint/parser@^4.1.0", - "@typescript-eslint/parser-v5": "npm:@typescript-eslint/parser@^5.0.0-0", - "babel-eslint": "^10.0.3", - "eslint-v7": "npm:eslint@^7.7.0", - "eslint-v9": "npm:eslint@^9.0.0" - } -} \ No newline at end of file diff --git a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint index 4a92760f..bfb0e967 100755 --- a/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint +++ b/node_modules/.pnpm/eslint-plugin-react-hooks@5.1.0_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/eslint.js" "$@" diff --git a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint deleted file mode 120000 index 399abca6..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint +++ /dev/null @@ -1 +0,0 @@ -../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint \ No newline at end of file diff --git a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/LICENSE b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/LICENSE deleted file mode 100644 index 75488f19..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) Arnaud Barré (https://github.com/ArnaudBarre) - -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/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/README.md b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/README.md deleted file mode 100644 index dad9549d..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/README.md +++ /dev/null @@ -1,218 +0,0 @@ -# eslint-plugin-react-refresh [![npm](https://img.shields.io/npm/v/eslint-plugin-react-refresh)](https://www.npmjs.com/package/eslint-plugin-react-refresh) - -Validate that your components can safely be updated with Fast Refresh. - -## Explainer - -"Fast Refresh", also known as "hot reloading", is a feature in many modern bundlers. -If you update some React component(s) on disk, then the bundler will know to update only the impacted parts of your page -- without a full page reload. - -`eslint-plugin-react-refresh` enforces that your components are structured in a way that integrations such as [react-refresh](https://www.npmjs.com/package/react-refresh) expect. - -### Limitations - -⚠️ To avoid false positives, by default this plugin is only applied on `tsx` & `jsx` files. See [Options](#options) to run on JS files. ⚠️ - -The plugin relies on naming conventions (i.e. use PascalCase for components, camelCase for util functions). This is why there are some limitations: - -- `export *` are not supported and will be reported as an error -- Anonymous function are not supported (i.e `export default function() {}`) -- Class components are not supported -- All-uppercase function export is considered an error when not using direct named export (ex `const CMS = () => <>; export { CMS }`) - -## Installation - -```sh -npm i -D eslint-plugin-react-refresh -``` - -## Usage - -This plugin provides a single rule, `react-refresh/only-export-components`. There are multiple ways to enable it. - -### Recommended config - -```js -import reactRefresh from "eslint-plugin-react-refresh"; - -export default [ - /* Main config */ - reactRefresh.configs.recommended, -]; -``` - -### Vite config - -This enables the `allowConstantExport` option which is supported by Vite React plugins. - -```js -import reactRefresh from "eslint-plugin-react-refresh"; - -export default [ - /* Main config */ - reactRefresh.configs.vite, -]; -``` - -### Without config - -```js -import reactRefresh from "eslint-plugin-react-refresh"; - -export default [ - { - // in main config for TSX/JSX source files - plugins: { - "react-refresh": reactRefresh, - }, - rules: { - "react-refresh/only-export-components": "error", - }, - }, -]; -``` - -### Legacy config - -```jsonc -{ - "plugins": ["react-refresh"], - "rules": { - "react-refresh/only-export-components": "error" - } -} -``` - -## Examples - -These examples are from enabling `react-refresh/only-exports-components`. - -### Fail - -```jsx -export const foo = () => {}; -export const Bar = () => <>; -``` - -```jsx -export default function () {} -export default compose()(MainComponent) -``` - -```jsx -export * from "./foo"; -``` - -```jsx -const Tab = () => {}; -export const tabs = [, ]; -``` - -```jsx -const App = () => {}; -createRoot(document.getElementById("root")).render(); -``` - -### Pass - -```jsx -export default function Foo() { - return <>; -} -``` - -```jsx -const foo = () => {}; -export const Bar = () => <>; -``` - -```jsx -import { App } from "./App"; -createRoot(document.getElementById("root")).render(); -``` - -## Options - -These options are all present on `react-refresh/only-exports-components`. - -```ts -interface Options { - allowExportNames?: string[]; - allowConstantExport?: boolean; - customHOCs?: string[]; - checkJS?: boolean; -} - -const defaultOptions: Options = { - allowExportNames: [], - allowConstantExport: false, - customHOCs: [], - checkJS: false, -}; -``` - -### allowExportNames (v0.4.4) - -> Default: `[]` - -If you use a framework that handles HMR of some specific exports, you can use this option to avoid warning for them. - -Example for [Remix](https://remix.run/docs/en/main/discussion/hot-module-replacement#supported-exports): - -```json -{ - "react-refresh/only-export-components": [ - "error", - { "allowExportNames": ["meta", "links", "headers", "loader", "action"] } - ] -} -``` - -### allowConstantExport (v0.4.0) - -> Default: `false` (`true` in `vite` config) - -Don't warn when a constant (string, number, boolean, templateLiteral) is exported aside one or more components. - -This should be enabled if the fast refresh implementation correctly handles this case (HMR when the constant doesn't change, propagate update to importers when the constant changes.). Vite supports it, PR welcome if you notice other integrations works well. - -```json -{ - "react-refresh/only-export-components": [ - "error", - { "allowConstantExport": true } - ] -} -``` - -Enabling this option allows code such as the following: - -```jsx -export const CONSTANT = 3; -export const Foo = () => <>; -``` - -### checkJS (v0.3.3) - -> Default: `false` - -If your using JSX inside `.js` files (which I don't recommend because it forces you to configure every tool you use to switch the parser), you can still use the plugin by enabling this option. To reduce the number of false positive, only files importing `react` are checked. - -```json -{ - "react-refresh/only-export-components": ["error", { "checkJS": true }] -} -``` - -### customHOCs (v0.4.15) - -If you're exporting a component wrapped in a custom HOC, you can use this option to avoid false positives. - -```json -{ - "react-refresh/only-export-components": [ - "error", - { "customHOCs": ["observer", "withAuth"] } - ] -} -``` diff --git a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.d.ts b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.d.ts deleted file mode 100644 index d3deec24..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -type Config = { - plugins: { "react-refresh": { rules: Record } }; - rules: Record; -}; - -declare const _default: { - rules: Record; - configs: { - recommended: Config; - vite: Config; - }; -}; - -export default _default; diff --git a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.js b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.js deleted file mode 100644 index 88d614fa..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/index.js +++ /dev/null @@ -1,275 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/index.ts -var src_exports = {}; -__export(src_exports, { - configs: () => configs, - default: () => src_default, - rules: () => rules -}); -module.exports = __toCommonJS(src_exports); - -// src/only-export-components.ts -var reactComponentNameRE = /^[A-Z][a-zA-Z0-9]*$/u; -var onlyExportComponents = { - meta: { - messages: { - exportAll: "This rule can't verify that `export *` only exports components.", - namedExport: "Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components.", - anonymousExport: "Fast refresh can't handle anonymous components. Add a name to your export.", - localComponents: "Fast refresh only works when a file only exports components. Move your component(s) to a separate file.", - noExport: "Fast refresh only works when a file has exports. Move your component(s) to a separate file.", - reactContext: "Fast refresh only works when a file only exports components. Move your React context(s) to a separate file." - }, - type: "problem", - schema: [ - { - type: "object", - properties: { - allowExportNames: { type: "array", items: { type: "string" } }, - allowConstantExport: { type: "boolean" }, - customHOCs: { type: "array", items: { type: "string" } }, - checkJS: { type: "boolean" } - }, - additionalProperties: false - } - ] - }, - defaultOptions: [], - create: (context) => { - const { - allowExportNames, - allowConstantExport = false, - customHOCs = [], - checkJS = false - } = context.options[0] ?? {}; - const filename = context.filename; - if (filename.includes(".test.") || filename.includes(".spec.") || filename.includes(".cy.") || filename.includes(".stories.")) { - return {}; - } - const shouldScan = filename.endsWith(".jsx") || filename.endsWith(".tsx") || checkJS && filename.endsWith(".js"); - if (!shouldScan) - return {}; - const allowExportNamesSet = allowExportNames ? new Set(allowExportNames) : void 0; - const reactHOCs = ["memo", "forwardRef", ...customHOCs]; - const canBeReactFunctionComponent = (init) => { - if (!init) - return false; - if (init.type === "ArrowFunctionExpression") - return true; - if (init.type === "CallExpression" && init.callee.type === "Identifier") { - return reactHOCs.includes(init.callee.name); - } - return false; - }; - return { - Program(program) { - let hasExports = false; - let hasReactExport = false; - let reactIsInScope = false; - const localComponents = []; - const nonComponentExports = []; - const reactContextExports = []; - const handleLocalIdentifier = (identifierNode) => { - if (identifierNode.type !== "Identifier") - return; - if (reactComponentNameRE.test(identifierNode.name)) { - localComponents.push(identifierNode); - } - }; - const handleExportIdentifier = (identifierNode, isFunction, init) => { - if (identifierNode.type !== "Identifier") { - nonComponentExports.push(identifierNode); - return; - } - if (allowExportNamesSet == null ? void 0 : allowExportNamesSet.has(identifierNode.name)) - return; - if (allowConstantExport && init && (init.type === "Literal" || // 1, "foo" - init.type === "UnaryExpression" || // -1 - init.type === "TemplateLiteral" || // `Some ${template}` - init.type === "BinaryExpression")) { - return; - } - if (isFunction) { - if (reactComponentNameRE.test(identifierNode.name)) { - hasReactExport = true; - } else { - nonComponentExports.push(identifierNode); - } - } else { - if (init && init.type === "CallExpression" && // createContext || React.createContext - (init.callee.type === "Identifier" && init.callee.name === "createContext" || init.callee.type === "MemberExpression" && init.callee.property.type === "Identifier" && init.callee.property.name === "createContext")) { - reactContextExports.push(identifierNode); - return; - } - if (init && // Switch to allowList? - notReactComponentExpression.has(init.type)) { - nonComponentExports.push(identifierNode); - return; - } - if (reactComponentNameRE.test(identifierNode.name)) { - hasReactExport = true; - } else { - nonComponentExports.push(identifierNode); - } - } - }; - const handleExportDeclaration = (node) => { - var _a, _b; - if (node.type === "VariableDeclaration") { - for (const variable of node.declarations) { - handleExportIdentifier( - variable.id, - canBeReactFunctionComponent(variable.init), - variable.init - ); - } - } else if (node.type === "FunctionDeclaration") { - if (node.id === null) { - context.report({ messageId: "anonymousExport", node }); - } else { - handleExportIdentifier(node.id, true); - } - } else if (node.type === "CallExpression") { - if (node.callee.type === "CallExpression" && node.callee.callee.type === "Identifier" && node.callee.callee.name === "connect") { - hasReactExport = true; - } else if (node.callee.type !== "Identifier") { - if (node.callee.type === "MemberExpression" && node.callee.property.type === "Identifier" && reactHOCs.includes(node.callee.property.name)) { - hasReactExport = true; - } else { - context.report({ messageId: "anonymousExport", node }); - } - } else if (!reactHOCs.includes(node.callee.name)) { - context.report({ messageId: "anonymousExport", node }); - } else if (((_a = node.arguments[0]) == null ? void 0 : _a.type) === "FunctionExpression" && node.arguments[0].id) { - handleExportIdentifier(node.arguments[0].id, true); - } else if (((_b = node.arguments[0]) == null ? void 0 : _b.type) === "Identifier") { - hasReactExport = true; - } else { - context.report({ messageId: "anonymousExport", node }); - } - } else if (node.type === "TSEnumDeclaration") { - nonComponentExports.push(node.id); - } - }; - for (const node of program.body) { - if (node.type === "ExportAllDeclaration") { - if (node.exportKind === "type") - continue; - hasExports = true; - context.report({ messageId: "exportAll", node }); - } else if (node.type === "ExportDefaultDeclaration") { - hasExports = true; - const declaration = node.declaration.type === "TSAsExpression" || node.declaration.type === "TSSatisfiesExpression" ? node.declaration.expression : node.declaration; - if (declaration.type === "VariableDeclaration" || declaration.type === "FunctionDeclaration" || declaration.type === "CallExpression") { - handleExportDeclaration(declaration); - } - if (declaration.type === "Identifier") { - handleExportIdentifier(declaration); - } - if (declaration.type === "ArrowFunctionExpression") { - context.report({ messageId: "anonymousExport", node }); - } - } else if (node.type === "ExportNamedDeclaration") { - if (node.exportKind === "type") - continue; - hasExports = true; - if (node.declaration) - handleExportDeclaration(node.declaration); - for (const specifier of node.specifiers) { - handleExportIdentifier( - specifier.exported.type === "Identifier" && specifier.exported.name === "default" ? specifier.local : specifier.exported - ); - } - } else if (node.type === "VariableDeclaration") { - for (const variable of node.declarations) { - handleLocalIdentifier(variable.id); - } - } else if (node.type === "FunctionDeclaration") { - handleLocalIdentifier(node.id); - } else if (node.type === "ImportDeclaration" && node.source.value === "react") { - reactIsInScope = true; - } - } - if (checkJS && !reactIsInScope) - return; - if (hasExports) { - if (hasReactExport) { - for (const node of nonComponentExports) { - context.report({ messageId: "namedExport", node }); - } - for (const node of reactContextExports) { - context.report({ messageId: "reactContext", node }); - } - } else if (localComponents.length) { - for (const node of localComponents) { - context.report({ messageId: "localComponents", node }); - } - } - } else if (localComponents.length) { - for (const node of localComponents) { - context.report({ messageId: "noExport", node }); - } - } - } - }; - } -}; -var notReactComponentExpression = /* @__PURE__ */ new Set([ - "ArrayExpression", - "AwaitExpression", - "BinaryExpression", - "ChainExpression", - "ConditionalExpression", - "Literal", - "LogicalExpression", - "ObjectExpression", - "TemplateLiteral", - "ThisExpression", - "UnaryExpression", - "UpdateExpression" -]); - -// src/index.ts -var rules = { - "only-export-components": onlyExportComponents -}; -var plugin = { rules }; -var configs = { - recommended: { - plugins: { "react-refresh": plugin }, - rules: { "react-refresh/only-export-components": "error" } - }, - vite: { - plugins: { "react-refresh": plugin }, - rules: { - "react-refresh/only-export-components": [ - "error", - { allowConstantExport: true } - ] - } - } -}; -var src_default = { rules, configs }; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - configs, - rules -}); diff --git a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint deleted file mode 100755 index 98221a13..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -else - exec node "$basedir/../../../../../eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/package.json b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/package.json deleted file mode 100644 index 6e99cd35..00000000 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.6_/node_modules/eslint-plugin-react-refresh/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "eslint-plugin-react-refresh", - "description": "Validate that your components can safely be updated with Fast Refresh", - "version": "0.4.16", - "type": "commonjs", - "author": "Arnaud Barré (https://github.com/ArnaudBarre)", - "license": "MIT", - "repository": "github:ArnaudBarre/eslint-plugin-react-refresh", - "main": "index.js", - "types": "index.d.ts", - "keywords": [ - "eslint", - "eslint-plugin", - "react", - "react-refresh", - "fast refresh" - ], - "peerDependencies": { - "eslint": ">=8.40" - } -} \ No newline at end of file diff --git a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint index 4a92760f..bfb0e967 100755 --- a/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint +++ b/node_modules/.pnpm/eslint-plugin-react-refresh@0.4.16_eslint@9.17.0_jiti@1.21.7_/node_modules/eslint-plugin-react-refresh/node_modules/.bin/eslint @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/eslint.js" "$@" diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/eslint-utils b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/eslint-utils deleted file mode 120000 index ac59b220..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/eslint-utils +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint-community+eslint-utils@4.4.1_eslint@9.17.0_jiti@1.21.6_/node_modules/@eslint-community/eslint-utils \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/regexpp b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/regexpp deleted file mode 120000 index 59dabc87..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint-community/regexpp +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint-community+regexpp@4.12.1/node_modules/@eslint-community/regexpp \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/config-array b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/config-array deleted file mode 120000 index 7a73a734..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/config-array +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint+config-array@0.19.1/node_modules/@eslint/config-array \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/core b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/core deleted file mode 120000 index a7b0a91b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/core +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint+core@0.9.1/node_modules/@eslint/core \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/eslintrc b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/eslintrc deleted file mode 120000 index fae864dc..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/eslintrc +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint+eslintrc@3.2.0/node_modules/@eslint/eslintrc \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/js deleted file mode 120000 index 35e51781..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/js +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint+js@9.17.0/node_modules/@eslint/js \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/plugin-kit b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/plugin-kit deleted file mode 120000 index 503617a9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@eslint/plugin-kit +++ /dev/null @@ -1 +0,0 @@ -../../../@eslint+plugin-kit@0.2.4/node_modules/@eslint/plugin-kit \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanfs/node b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanfs/node deleted file mode 120000 index d6047a2e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanfs/node +++ /dev/null @@ -1 +0,0 @@ -../../../@humanfs+node@0.16.6/node_modules/@humanfs/node \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/module-importer b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/module-importer deleted file mode 120000 index c9dc9679..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/module-importer +++ /dev/null @@ -1 +0,0 @@ -../../../@humanwhocodes+module-importer@1.0.1/node_modules/@humanwhocodes/module-importer \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/retry b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/retry deleted file mode 120000 index 6b6970d8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@humanwhocodes/retry +++ /dev/null @@ -1 +0,0 @@ -../../../@humanwhocodes+retry@0.4.1/node_modules/@humanwhocodes/retry \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/estree b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/estree deleted file mode 120000 index 1da8ee96..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/estree +++ /dev/null @@ -1 +0,0 @@ -../../../@types+estree@1.0.6/node_modules/@types/estree \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/json-schema b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/json-schema deleted file mode 120000 index b197d0ca..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/@types/json-schema +++ /dev/null @@ -1 +0,0 @@ -../../../@types+json-schema@7.0.15/node_modules/@types/json-schema \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ajv b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ajv deleted file mode 120000 index a57cd403..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ajv +++ /dev/null @@ -1 +0,0 @@ -../../ajv@6.12.6/node_modules/ajv \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/chalk b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/chalk deleted file mode 120000 index ef1621c6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/chalk +++ /dev/null @@ -1 +0,0 @@ -../../chalk@4.1.2/node_modules/chalk \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/cross-spawn b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/cross-spawn deleted file mode 120000 index 22d35809..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/cross-spawn +++ /dev/null @@ -1 +0,0 @@ -../../cross-spawn@7.0.6/node_modules/cross-spawn \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/debug b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/debug deleted file mode 120000 index a8f3893b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/debug +++ /dev/null @@ -1 +0,0 @@ -../../debug@4.4.0/node_modules/debug \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/escape-string-regexp b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/escape-string-regexp deleted file mode 120000 index 78f3fd39..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/escape-string-regexp +++ /dev/null @@ -1 +0,0 @@ -../../escape-string-regexp@4.0.0/node_modules/escape-string-regexp \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-scope b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-scope deleted file mode 120000 index e9ae6a06..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-scope +++ /dev/null @@ -1 +0,0 @@ -../../eslint-scope@8.2.0/node_modules/eslint-scope \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-visitor-keys b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-visitor-keys deleted file mode 120000 index f76687cf..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint-visitor-keys +++ /dev/null @@ -1 +0,0 @@ -../../eslint-visitor-keys@4.2.0/node_modules/eslint-visitor-keys \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/LICENSE b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/LICENSE deleted file mode 100644 index b607bb36..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright OpenJS 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/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/README.md b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/README.md deleted file mode 100644 index 326c6121..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/README.md +++ /dev/null @@ -1,310 +0,0 @@ -[![npm version](https://img.shields.io/npm/v/eslint.svg)](https://www.npmjs.com/package/eslint) -[![Downloads](https://img.shields.io/npm/dm/eslint.svg)](https://www.npmjs.com/package/eslint) -[![Build Status](https://github.com/eslint/eslint/workflows/CI/badge.svg)](https://github.com/eslint/eslint/actions) -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint?ref=badge_shield) -
-[![Open Collective Backers](https://img.shields.io/opencollective/backers/eslint)](https://opencollective.com/eslint) -[![Open Collective Sponsors](https://img.shields.io/opencollective/sponsors/eslint)](https://opencollective.com/eslint) -[![Follow us on Twitter](https://img.shields.io/twitter/follow/geteslint?label=Follow&style=social)](https://twitter.com/intent/user?screen_name=geteslint) - -# ESLint - -[Website](https://eslint.org) | -[Configure ESLint](https://eslint.org/docs/latest/use/configure) | -[Rules](https://eslint.org/docs/rules/) | -[Contribute to ESLint](https://eslint.org/docs/latest/contribute) | -[Report Bugs](https://eslint.org/docs/latest/contribute/report-bugs) | -[Code of Conduct](https://eslint.org/conduct) | -[Twitter](https://twitter.com/geteslint) | -[Discord](https://eslint.org/chat) | -[Mastodon](https://fosstodon.org/@eslint) - -ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. In many ways, it is similar to JSLint and JSHint with a few exceptions: - -* ESLint uses [Espree](https://github.com/eslint/js/tree/main/packages/espree) for JavaScript parsing. -* ESLint uses an AST to evaluate patterns in code. -* ESLint is completely pluggable, every single rule is a plugin and you can add more at runtime. - -## Table of Contents - -1. [Installation and Usage](#installation-and-usage) -1. [Configuration](#configuration) -1. [Version Support](#version-support) -1. [Code of Conduct](#code-of-conduct) -1. [Filing Issues](#filing-issues) -1. [Frequently Asked Questions](#frequently-asked-questions) -1. [Releases](#releases) -1. [Security Policy](#security-policy) -1. [Semantic Versioning Policy](#semantic-versioning-policy) -1. [Stylistic Rule Updates](#stylistic-rule-updates) -1. [License](#license) -1. [Team](#team) -1. [Sponsors](#sponsors) -1. [Technology Sponsors](#technology-sponsors) - -## Installation and Usage - -Prerequisites: [Node.js](https://nodejs.org/) (`^18.18.0`, `^20.9.0`, or `>=21.1.0`) built with SSL support. (If you are using an official Node.js distribution, SSL is always built in.) - -You can install and configure ESLint using this command: - -```shell -npm init @eslint/config@latest -``` - -After that, you can run ESLint on any file or directory like this: - -```shell -npx eslint yourfile.js -``` - -## Configuration - -You can configure rules in your `eslint.config.js` files as in this example: - -```js -export default [ - { - files: ["**/*.js", "**/*.cjs", "**/*.mjs"], - rules: { - "prefer-const": "warn", - "no-constant-binary-expression": "error" - } - } -]; -``` - -The names `"prefer-const"` and `"no-constant-binary-expression"` are the names of [rules](https://eslint.org/docs/rules) in ESLint. The first value is the error level of the rule and can be one of these values: - -* `"off"` or `0` - turn the rule off -* `"warn"` or `1` - turn the rule on as a warning (doesn't affect exit code) -* `"error"` or `2` - turn the rule on as an error (exit code will be 1) - -The three error levels allow you fine-grained control over how ESLint applies rules (for more configuration options and details, see the [configuration docs](https://eslint.org/docs/latest/use/configure)). - -## Version Support - -The ESLint team provides ongoing support for the current version and six months of limited support for the previous version. Limited support includes critical bug fixes, security issues, and compatibility issues only. - -ESLint offers commercial support for both current and previous versions through our partners, [Tidelift][tidelift] and [HeroDevs][herodevs]. - -See [Version Support](https://eslint.org/version-support) for more details. - -## Code of Conduct - -ESLint adheres to the [OpenJS Foundation Code of Conduct](https://eslint.org/conduct). - -## Filing Issues - -Before filing an issue, please be sure to read the guidelines for what you're reporting: - -* [Bug Report](https://eslint.org/docs/latest/contribute/report-bugs) -* [Propose a New Rule](https://eslint.org/docs/latest/contribute/propose-new-rule) -* [Proposing a Rule Change](https://eslint.org/docs/latest/contribute/propose-rule-change) -* [Request a Change](https://eslint.org/docs/latest/contribute/request-change) - -## Frequently Asked Questions - -### Does ESLint support JSX? - -Yes, ESLint natively supports parsing JSX syntax (this must be enabled in [configuration](https://eslint.org/docs/latest/use/configure)). Please note that supporting JSX syntax *is not* the same as supporting React. React applies specific semantics to JSX syntax that ESLint doesn't recognize. We recommend using [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react) if you are using React and want React semantics. - -### Does Prettier replace ESLint? - -No, ESLint and Prettier have different jobs: ESLint is a linter (looking for problematic patterns) and Prettier is a code formatter. Using both tools is common, refer to [Prettier's documentation](https://prettier.io/docs/en/install#eslint-and-other-linters) to learn how to configure them to work well with each other. - -### What ECMAScript versions does ESLint support? - -ESLint has full support for ECMAScript 3, 5, and every year from 2015 up until the most recent stage 4 specification (the default). You can set your desired ECMAScript syntax and other settings (like global variables) through [configuration](https://eslint.org/docs/latest/use/configure). - -### What about experimental features? - -ESLint's parser only officially supports the latest final ECMAScript standard. We will make changes to core rules in order to avoid crashes on stage 3 ECMAScript syntax proposals (as long as they are implemented using the correct experimental ESTree syntax). We may make changes to core rules to better work with language extensions (such as JSX, Flow, and TypeScript) on a case-by-case basis. - -In other cases (including if rules need to warn on more or fewer cases due to new syntax, rather than just not crashing), we recommend you use other parsers and/or rule plugins. If you are using Babel, you can use [@babel/eslint-parser](https://www.npmjs.com/package/@babel/eslint-parser) and [@babel/eslint-plugin](https://www.npmjs.com/package/@babel/eslint-plugin) to use any option available in Babel. - -Once a language feature has been adopted into the ECMAScript standard (stage 4 according to the [TC39 process](https://tc39.github.io/process-document/)), we will accept issues and pull requests related to the new feature, subject to our [contributing guidelines](https://eslint.org/docs/latest/contribute). Until then, please use the appropriate parser and plugin(s) for your experimental feature. - -### Which Node.js versions does ESLint support? - -ESLint updates the supported Node.js versions with each major release of ESLint. At that time, ESLint's supported Node.js versions are updated to be: - -1. The most recent maintenance release of Node.js -1. The lowest minor version of the Node.js LTS release that includes the features the ESLint team wants to use. -1. The Node.js Current release - -ESLint is also expected to work with Node.js versions released after the Node.js Current release. - -Refer to the [Quick Start Guide](https://eslint.org/docs/latest/use/getting-started#prerequisites) for the officially supported Node.js versions for a given ESLint release. - -### Where to ask for help? - -Open a [discussion](https://github.com/eslint/eslint/discussions) or stop by our [Discord server](https://eslint.org/chat). - -### Why doesn't ESLint lock dependency versions? - -Lock files like `package-lock.json` are helpful for deployed applications. They ensure that dependencies are consistent between environments and across deployments. - -Packages like `eslint` that get published to the npm registry do not include lock files. `npm install eslint` as a user will respect version constraints in ESLint's `package.json`. ESLint and its dependencies will be included in the user's lock file if one exists, but ESLint's own lock file would not be used. - -We intentionally don't lock dependency versions so that we have the latest compatible dependency versions in development and CI that our users get when installing ESLint in a project. - -The Twilio blog has a [deeper dive](https://www.twilio.com/blog/lockfiles-nodejs) to learn more. - -## Releases - -We have scheduled releases every two weeks on Friday or Saturday. You can follow a [release issue](https://github.com/eslint/eslint/issues?q=is%3Aopen+is%3Aissue+label%3Arelease) for updates about the scheduling of any particular release. - -## Security Policy - -ESLint takes security seriously. We work hard to ensure that ESLint is safe for everyone and that security issues are addressed quickly and responsibly. Read the full [security policy](https://github.com/eslint/.github/blob/master/SECURITY.md). - -## Semantic Versioning Policy - -ESLint follows [semantic versioning](https://semver.org). However, due to the nature of ESLint as a code quality tool, it's not always clear when a minor or major version bump occurs. To help clarify this for everyone, we've defined the following semantic versioning policy for ESLint: - -* Patch release (intended to not break your lint build) - * A bug fix in a rule that results in ESLint reporting fewer linting errors. - * A bug fix to the CLI or core (including formatters). - * Improvements to documentation. - * Non-user-facing changes such as refactoring code, adding, deleting, or modifying tests, and increasing test coverage. - * Re-releasing after a failed release (i.e., publishing a release that doesn't work for anyone). -* Minor release (might break your lint build) - * A bug fix in a rule that results in ESLint reporting more linting errors. - * A new rule is created. - * A new option to an existing rule that does not result in ESLint reporting more linting errors by default. - * A new addition to an existing rule to support a newly-added language feature (within the last 12 months) that will result in ESLint reporting more linting errors by default. - * An existing rule is deprecated. - * A new CLI capability is created. - * New capabilities to the public API are added (new classes, new methods, new arguments to existing methods, etc.). - * A new formatter is created. - * `eslint:recommended` is updated and will result in strictly fewer linting errors (e.g., rule removals). -* Major release (likely to break your lint build) - * `eslint:recommended` is updated and may result in new linting errors (e.g., rule additions, most rule option updates). - * A new option to an existing rule that results in ESLint reporting more linting errors by default. - * An existing formatter is removed. - * Part of the public API is removed or changed in an incompatible way. The public API includes: - * Rule schemas - * Configuration schema - * Command-line options - * Node.js API - * Rule, formatter, parser, plugin APIs - -According to our policy, any minor update may report more linting errors than the previous release (ex: from a bug fix). As such, we recommend using the tilde (`~`) in `package.json` e.g. `"eslint": "~3.1.0"` to guarantee the results of your builds. - -## Stylistic Rule Updates - -Stylistic rules are frozen according to [our policy](https://eslint.org/blog/2020/05/changes-to-rules-policies) on how we evaluate new rules and rule changes. -This means: - -* **Bug fixes**: We will still fix bugs in stylistic rules. -* **New ECMAScript features**: We will also make sure stylistic rules are compatible with new ECMAScript features. -* **New options**: We will **not** add any new options to stylistic rules unless an option is the only way to fix a bug or support a newly-added ECMAScript feature. - -## License - -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feslint%2Feslint?ref=badge_large) - -## Team - -These folks keep the project moving and are resources for help. - - - - - -### Technical Steering Committee (TSC) - -The people who manage releases, review feature requests, and meet regularly to ensure ESLint is properly maintained. - -
- -Nicholas C. Zakas's Avatar
-Nicholas C. Zakas -
-
- -Francesco Trotta's Avatar
-Francesco Trotta -
-
- -Milos Djermanovic's Avatar
-Milos Djermanovic -
-
- -### Reviewers - -The people who review and implement new features. - -
- -唯然's Avatar
-唯然 -
-
- -Nitin Kumar's Avatar
-Nitin Kumar -
-
- -### Committers - -The people who review and fix bugs and help triage issues. - -
- -Josh Goldberg ✨'s Avatar
-Josh Goldberg ✨ -
-
- -Tanuj Kanti's Avatar
-Tanuj Kanti -
-
- -### Website Team - -Team members who focus specifically on eslint.org - -
- -Amaresh  S M's Avatar
-Amaresh S M -
-
- -Strek's Avatar
-Strek -
-
- -Percy Ma's Avatar
-Percy Ma -
-
- - - - - -## Sponsors - -The following companies, organizations, and individuals support ESLint's ongoing maintenance and development. [Become a Sponsor](https://eslint.org/donate) -to get your logo on our READMEs and [website](https://eslint.org/sponsors). - -

Platinum Sponsors

-

Gold Sponsors

-

trunk.io

Silver Sponsors

-

SERP Triumph JetBrains Liftoff American Express Workleap

Bronze Sponsors

-

Cybozu Syntax WordHint Anagram Solver Icons8 Discord GitBook Nx Mercedes-Benz Group HeroCoders

-

Technology Sponsors

-Technology sponsors allow us to use their products and services for free as part of a contribution to the open source ecosystem and our work. -

Netlify Algolia 1Password

- - -[tidelift]: https://tidelift.com/funding/github/npm/eslint -[herodevs]: https://www.herodevs.com/support/eslint-nes?utm_source=ESLintWebsite&utm_medium=ESLintWebsite&utm_campaign=ESLintNES&utm_id=ESLintNES diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js deleted file mode 100755 index 5ba2ff50..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/bin/eslint.js +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/env node - -/** - * @fileoverview Main CLI that is run via the eslint command. - * @author Nicholas C. Zakas - */ - -/* eslint no-console:off -- CLI */ - -"use strict"; - -const mod = require("node:module"); - -// to use V8's code cache to speed up instantiation time -mod.enableCompileCache?.(); - -// must do this initialization *before* other requires in order to work -if (process.argv.includes("--debug")) { - require("debug").enable("eslint:*,-eslint:code-path,eslintrc:*"); -} - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Read data from stdin til the end. - * - * Note: See - * - https://github.com/nodejs/node/blob/master/doc/api/process.md#processstdin - * - https://github.com/nodejs/node/blob/master/doc/api/process.md#a-note-on-process-io - * - https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-01/msg00419.html - * - https://github.com/nodejs/node/issues/7439 (historical) - * - * On Windows using `fs.readFileSync(STDIN_FILE_DESCRIPTOR, "utf8")` seems - * to read 4096 bytes before blocking and never drains to read further data. - * - * The investigation on the Emacs thread indicates: - * - * > Emacs on MS-Windows uses pipes to communicate with subprocesses; a - * > pipe on Windows has a 4K buffer. So as soon as Emacs writes more than - * > 4096 bytes to the pipe, the pipe becomes full, and Emacs then waits for - * > the subprocess to read its end of the pipe, at which time Emacs will - * > write the rest of the stuff. - * @returns {Promise} The read text. - */ -function readStdin() { - return new Promise((resolve, reject) => { - let content = ""; - let chunk = ""; - - process.stdin - .setEncoding("utf8") - .on("readable", () => { - while ((chunk = process.stdin.read()) !== null) { - content += chunk; - } - }) - .on("end", () => resolve(content)) - .on("error", reject); - }); -} - -/** - * Get the error message of a given value. - * @param {any} error The value to get. - * @returns {string} The error message. - */ -function getErrorMessage(error) { - - // Lazy loading because this is used only if an error happened. - const util = require("node:util"); - - // Foolproof -- third-party module might throw non-object. - if (typeof error !== "object" || error === null) { - return String(error); - } - - // Use templates if `error.messageTemplate` is present. - if (typeof error.messageTemplate === "string") { - try { - const template = require(`../messages/${error.messageTemplate}.js`); - - return template(error.messageData || {}); - } catch { - - // Ignore template error then fallback to use `error.stack`. - } - } - - // Use the stacktrace if it's an error object. - if (typeof error.stack === "string") { - return error.stack; - } - - // Otherwise, dump the object. - return util.format("%o", error); -} - -/** - * Tracks error messages that are shown to the user so we only ever show the - * same message once. - * @type {Set} - */ -const displayedErrors = new Set(); - -/** - * Tracks whether an unexpected error was caught - * @type {boolean} - */ -let hadFatalError = false; - -/** - * Catch and report unexpected error. - * @param {any} error The thrown error object. - * @returns {void} - */ -function onFatalError(error) { - process.exitCode = 2; - hadFatalError = true; - - const { version } = require("../package.json"); - const message = ` -Oops! Something went wrong! :( - -ESLint: ${version} - -${getErrorMessage(error)}`; - - if (!displayedErrors.has(message)) { - console.error(message); - displayedErrors.add(message); - } -} - -//------------------------------------------------------------------------------ -// Execution -//------------------------------------------------------------------------------ - -(async function main() { - process.on("uncaughtException", onFatalError); - process.on("unhandledRejection", onFatalError); - - // Call the config initializer if `--init` is present. - if (process.argv.includes("--init")) { - - // `eslint --init` has been moved to `@eslint/create-config` - console.warn("You can also run this command directly using 'npm init @eslint/config@latest'."); - - const spawn = require("cross-spawn"); - - spawn.sync("npm", ["init", "@eslint/config@latest"], { encoding: "utf8", stdio: "inherit" }); - return; - } - - // Otherwise, call the CLI. - const cli = require("../lib/cli"); - const exitCode = await cli.execute( - process.argv, - process.argv.includes("--stdin") ? await readStdin() : null, - true - ); - - /* - * If an uncaught exception or unhandled rejection was detected in the meantime, - * keep the fatal exit code 2 that is already assigned to `process.exitCode`. - * Without this condition, exit code 2 (unsuccessful execution) could be overwritten with - * 1 (successful execution, lint problems found) or even 0 (successful execution, no lint problems found). - * This ensures that unexpected errors that seemingly don't affect the success - * of the execution will still cause a non-zero exit code, as it's a common - * practice and the default behavior of Node.js to exit with non-zero - * in case of an uncaught exception or unhandled rejection. - * - * Otherwise, assign the exit code returned from CLI. - */ - if (!hadFatalError) { - process.exitCode = exitCode; - } -}()).catch(onFatalError); diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/default-cli-options.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/default-cli-options.js deleted file mode 100644 index dad03d89..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/default-cli-options.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * @fileoverview Default CLIEngineOptions. - * @author Ian VanSchooten - */ - -"use strict"; - -module.exports = { - configFile: null, - baseConfig: false, - rulePaths: [], - useEslintrc: true, - envs: [], - globals: [], - extensions: null, - ignore: true, - ignorePath: void 0, - cache: false, - - /* - * in order to honor the cacheFile option if specified - * this option should not have a default value otherwise - * it will always be used - */ - cacheLocation: "", - cacheFile: ".eslintcache", - cacheStrategy: "metadata", - fix: false, - allowInlineConfig: true, - reportUnusedDisableDirectives: void 0, - globInputPaths: true -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/ecma-version.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/ecma-version.js deleted file mode 100644 index 4e38c1d2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/ecma-version.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @fileoverview Configuration related to ECMAScript versions - * @author Milos Djermanovic - */ - -"use strict"; - -/** - * The latest ECMAScript version supported by ESLint. - * @type {number} year-based ECMAScript version - */ -const LATEST_ECMA_VERSION = 2025; - -module.exports = { - LATEST_ECMA_VERSION -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/globals.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/globals.js deleted file mode 100644 index 81df6bb2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/globals.js +++ /dev/null @@ -1,160 +0,0 @@ -/** - * @fileoverview Globals for ecmaVersion/sourceType - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Globals -//----------------------------------------------------------------------------- - -const commonjs = { - exports: true, - global: false, - module: false, - require: false -}; - -const es3 = { - Array: false, - Boolean: false, - constructor: false, - Date: false, - decodeURI: false, - decodeURIComponent: false, - encodeURI: false, - encodeURIComponent: false, - Error: false, - escape: false, - eval: false, - EvalError: false, - Function: false, - hasOwnProperty: false, - Infinity: false, - isFinite: false, - isNaN: false, - isPrototypeOf: false, - Math: false, - NaN: false, - Number: false, - Object: false, - parseFloat: false, - parseInt: false, - propertyIsEnumerable: false, - RangeError: false, - ReferenceError: false, - RegExp: false, - String: false, - SyntaxError: false, - toLocaleString: false, - toString: false, - TypeError: false, - undefined: false, - unescape: false, - URIError: false, - valueOf: false -}; - -const es5 = { - ...es3, - JSON: false -}; - -const es2015 = { - ...es5, - ArrayBuffer: false, - DataView: false, - Float32Array: false, - Float64Array: false, - Int16Array: false, - Int32Array: false, - Int8Array: false, - Intl: false, - Map: false, - Promise: false, - Proxy: false, - Reflect: false, - Set: false, - Symbol: false, - Uint16Array: false, - Uint32Array: false, - Uint8Array: false, - Uint8ClampedArray: false, - WeakMap: false, - WeakSet: false -}; - -// no new globals in ES2016 -const es2016 = { - ...es2015 -}; - -const es2017 = { - ...es2016, - Atomics: false, - SharedArrayBuffer: false -}; - -// no new globals in ES2018 -const es2018 = { - ...es2017 -}; - -// no new globals in ES2019 -const es2019 = { - ...es2018 -}; - -const es2020 = { - ...es2019, - BigInt: false, - BigInt64Array: false, - BigUint64Array: false, - globalThis: false -}; - -const es2021 = { - ...es2020, - AggregateError: false, - FinalizationRegistry: false, - WeakRef: false -}; - -const es2022 = { - ...es2021 -}; - -const es2023 = { - ...es2022 -}; - -const es2024 = { - ...es2023 -}; - -const es2025 = { - ...es2024 -}; - - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -module.exports = { - commonjs, - es3, - es5, - es2015, - es2016, - es2017, - es2018, - es2019, - es2020, - es2021, - es2022, - es2023, - es2024, - es2025 -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/replacements.json b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/replacements.json deleted file mode 100644 index c047811e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/replacements.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "rules": { - "generator-star": ["generator-star-spacing"], - "global-strict": ["strict"], - "no-arrow-condition": ["no-confusing-arrow", "no-constant-condition"], - "no-comma-dangle": ["comma-dangle"], - "no-empty-class": ["no-empty-character-class"], - "no-empty-label": ["no-labels"], - "no-extra-strict": ["strict"], - "no-reserved-keys": ["quote-props"], - "no-space-before-semi": ["semi-spacing"], - "no-wrap-func": ["no-extra-parens"], - "space-after-function-name": ["space-before-function-paren"], - "space-after-keywords": ["keyword-spacing"], - "space-before-function-parentheses": ["space-before-function-paren"], - "space-before-keywords": ["keyword-spacing"], - "space-in-brackets": ["object-curly-spacing", "array-bracket-spacing", "computed-property-spacing"], - "space-return-throw-case": ["keyword-spacing"], - "space-unary-word-ops": ["space-unary-ops"], - "spaced-line-comment": ["spaced-comment"] - } -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/rule-type-list.json b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/rule-type-list.json deleted file mode 100644 index f48454bb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/conf/rule-type-list.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "types": { - "problem": [], - "suggestion": [], - "layout": [] - }, - "deprecated": [], - "removed": [ - { "removed": "generator-star", "replacedBy": ["generator-star-spacing"] }, - { "removed": "global-strict", "replacedBy": ["strict"] }, - { "removed": "no-arrow-condition", "replacedBy": ["no-confusing-arrow", "no-constant-condition"] }, - { "removed": "no-comma-dangle", "replacedBy": ["comma-dangle"] }, - { "removed": "no-empty-class", "replacedBy": ["no-empty-character-class"] }, - { "removed": "no-empty-label", "replacedBy": ["no-labels"] }, - { "removed": "no-extra-strict", "replacedBy": ["strict"] }, - { "removed": "no-reserved-keys", "replacedBy": ["quote-props"] }, - { "removed": "no-space-before-semi", "replacedBy": ["semi-spacing"] }, - { "removed": "no-wrap-func", "replacedBy": ["no-extra-parens"] }, - { "removed": "space-after-function-name", "replacedBy": ["space-before-function-paren"] }, - { "removed": "space-after-keywords", "replacedBy": ["keyword-spacing"] }, - { "removed": "space-before-function-parentheses", "replacedBy": ["space-before-function-paren"] }, - { "removed": "space-before-keywords", "replacedBy": ["keyword-spacing"] }, - { "removed": "space-in-brackets", "replacedBy": ["object-curly-spacing", "array-bracket-spacing"] }, - { "removed": "space-return-throw-case", "replacedBy": ["keyword-spacing"] }, - { "removed": "space-unary-word-ops", "replacedBy": ["space-unary-ops"] }, - { "removed": "spaced-line-comment", "replacedBy": ["spaced-comment"] }, - { "removed": "valid-jsdoc", "replacedBy": [] }, - { "removed": "require-jsdoc", "replacedBy": [] } - ] -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/api.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/api.js deleted file mode 100644 index a134ecda..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/api.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @fileoverview Expose out ESLint and CLI to require. - * @author Ian Christian Myers - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const { ESLint, shouldUseFlatConfig } = require("./eslint/eslint"); -const { LegacyESLint } = require("./eslint/legacy-eslint"); -const { Linter } = require("./linter"); -const { RuleTester } = require("./rule-tester"); -const { SourceCode } = require("./languages/js/source-code"); - -//----------------------------------------------------------------------------- -// Functions -//----------------------------------------------------------------------------- - -/** - * Loads the correct ESLint constructor given the options. - * @param {Object} [options] The options object - * @param {boolean} [options.useFlatConfig] Whether or not to use a flat config - * @returns {Promise} The ESLint constructor - */ -async function loadESLint({ useFlatConfig } = {}) { - - /* - * Note: The v8.x version of this function also accepted a `cwd` option, but - * it is not used in this implementation so we silently ignore it. - */ - - const shouldESLintUseFlatConfig = useFlatConfig ?? (await shouldUseFlatConfig()); - - return shouldESLintUseFlatConfig ? ESLint : LegacyESLint; -} - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -module.exports = { - Linter, - loadESLint, - ESLint, - RuleTester, - SourceCode -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/cli-engine.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/cli-engine.js deleted file mode 100644 index 43fcc73d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/cli-engine.js +++ /dev/null @@ -1,1089 +0,0 @@ -/** - * @fileoverview Main CLI object. - * @author Nicholas C. Zakas - */ - -"use strict"; - -/* - * The CLI object should *not* call process.exit() directly. It should only return - * exit codes. This allows other programs to use the CLI object and still control - * when the program exits. - */ - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const fs = require("node:fs"); -const path = require("node:path"); -const defaultOptions = require("../../conf/default-cli-options"); -const pkg = require("../../package.json"); - - -const { - Legacy: { - ConfigOps, - naming, - CascadingConfigArrayFactory, - IgnorePattern, - getUsedExtractedConfigs, - ModuleResolver - } -} = require("@eslint/eslintrc"); - -const { FileEnumerator } = require("./file-enumerator"); - -const { Linter } = require("../linter"); -const builtInRules = require("../rules"); -const loadRules = require("./load-rules"); -const hash = require("./hash"); -const LintResultCache = require("./lint-result-cache"); - -const debug = require("debug")("eslint:cli-engine"); -const removedFormatters = new Set([ - "checkstyle", - "codeframe", - "compact", - "jslint-xml", - "junit", - "table", - "tap", - "unix", - "visualstudio" -]); -const validFixTypes = new Set(["directive", "problem", "suggestion", "layout"]); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -// For VSCode IntelliSense -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").DeprecatedRuleInfo} DeprecatedRuleInfo */ -/** @typedef {import("../shared/types").LintMessage} LintMessage */ -/** @typedef {import("../shared/types").SuppressedLintMessage} SuppressedLintMessage */ -/** @typedef {import("../shared/types").ParserOptions} ParserOptions */ -/** @typedef {import("../shared/types").Plugin} Plugin */ -/** @typedef {import("../shared/types").RuleConf} RuleConf */ -/** @typedef {import("../shared/types").Rule} Rule */ -/** @typedef {import("../shared/types").FormatterFunction} FormatterFunction */ -/** @typedef {ReturnType} ConfigArray */ -/** @typedef {ReturnType} ExtractedConfig */ - -/** - * The options to configure a CLI engine with. - * @typedef {Object} CLIEngineOptions - * @property {boolean} [allowInlineConfig] Enable or disable inline configuration comments. - * @property {ConfigData} [baseConfig] Base config object, extended by all configs used with this CLIEngine instance - * @property {boolean} [cache] Enable result caching. - * @property {string} [cacheLocation] The cache file to use instead of .eslintcache. - * @property {string} [configFile] The configuration file to use. - * @property {string} [cwd] The value to use for the current working directory. - * @property {string[]} [envs] An array of environments to load. - * @property {string[]|null} [extensions] An array of file extensions to check. - * @property {boolean|Function} [fix] Execute in autofix mode. If a function, should return a boolean. - * @property {string[]} [fixTypes] Array of rule types to apply fixes for. - * @property {string[]} [globals] An array of global variables to declare. - * @property {boolean} [ignore] False disables use of .eslintignore. - * @property {string} [ignorePath] The ignore file to use instead of .eslintignore. - * @property {string|string[]} [ignorePattern] One or more glob patterns to ignore. - * @property {boolean} [useEslintrc] False disables looking for .eslintrc - * @property {string} [parser] The name of the parser to use. - * @property {ParserOptions} [parserOptions] An object of parserOption settings to use. - * @property {string[]} [plugins] An array of plugins to load. - * @property {Record} [rules] An object of rules to use. - * @property {string[]} [rulePaths] An array of directories to load custom rules from. - * @property {boolean|string} [reportUnusedDisableDirectives] `true`, `"error"` or '"warn"' adds reports for unused eslint-disable directives - * @property {boolean} [globInputPaths] Set to false to skip glob resolution of input file paths to lint (default: true). If false, each input file paths is assumed to be a non-glob path to an existing file. - * @property {string} [resolvePluginsRelativeTo] The folder where plugins should be resolved from, defaulting to the CWD - */ - -/** - * A linting result. - * @typedef {Object} LintResult - * @property {string} filePath The path to the file that was linted. - * @property {LintMessage[]} messages All of the messages for the result. - * @property {SuppressedLintMessage[]} suppressedMessages All of the suppressed messages for the result. - * @property {number} errorCount Number of errors for the result. - * @property {number} fatalErrorCount Number of fatal errors for the result. - * @property {number} warningCount Number of warnings for the result. - * @property {number} fixableErrorCount Number of fixable errors for the result. - * @property {number} fixableWarningCount Number of fixable warnings for the result. - * @property {string} [source] The source code of the file that was linted. - * @property {string} [output] The source code of the file that was linted, with as many fixes applied as possible. - */ - -/** - * Linting results. - * @typedef {Object} LintReport - * @property {LintResult[]} results All of the result. - * @property {number} errorCount Number of errors for the result. - * @property {number} fatalErrorCount Number of fatal errors for the result. - * @property {number} warningCount Number of warnings for the result. - * @property {number} fixableErrorCount Number of fixable errors for the result. - * @property {number} fixableWarningCount Number of fixable warnings for the result. - * @property {DeprecatedRuleInfo[]} usedDeprecatedRules The list of used deprecated rules. - */ - -/** - * Private data for CLIEngine. - * @typedef {Object} CLIEngineInternalSlots - * @property {Map} additionalPluginPool The map for additional plugins. - * @property {string} cacheFilePath The path to the cache of lint results. - * @property {CascadingConfigArrayFactory} configArrayFactory The factory of configs. - * @property {(filePath: string) => boolean} defaultIgnores The default predicate function to check if a file ignored or not. - * @property {FileEnumerator} fileEnumerator The file enumerator. - * @property {ConfigArray[]} lastConfigArrays The list of config arrays that the last `executeOnFiles` or `executeOnText` used. - * @property {LintResultCache|null} lintResultCache The cache of lint results. - * @property {Linter} linter The linter instance which has loaded rules. - * @property {CLIEngineOptions} options The normalized options of this instance. - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** @type {WeakMap} */ -const internalSlotsMap = new WeakMap(); - -/** - * Determines if each fix type in an array is supported by ESLint and throws - * an error if not. - * @param {string[]} fixTypes An array of fix types to check. - * @returns {void} - * @throws {Error} If an invalid fix type is found. - */ -function validateFixTypes(fixTypes) { - for (const fixType of fixTypes) { - if (!validFixTypes.has(fixType)) { - throw new Error(`Invalid fix type "${fixType}" found.`); - } - } -} - -/** - * It will calculate the error and warning count for collection of messages per file - * @param {LintMessage[]} messages Collection of messages - * @returns {Object} Contains the stats - * @private - */ -function calculateStatsPerFile(messages) { - const stat = { - errorCount: 0, - fatalErrorCount: 0, - warningCount: 0, - fixableErrorCount: 0, - fixableWarningCount: 0 - }; - - for (let i = 0; i < messages.length; i++) { - const message = messages[i]; - - if (message.fatal || message.severity === 2) { - stat.errorCount++; - if (message.fatal) { - stat.fatalErrorCount++; - } - if (message.fix) { - stat.fixableErrorCount++; - } - } else { - stat.warningCount++; - if (message.fix) { - stat.fixableWarningCount++; - } - } - } - return stat; -} - -/** - * It will calculate the error and warning count for collection of results from all files - * @param {LintResult[]} results Collection of messages from all the files - * @returns {Object} Contains the stats - * @private - */ -function calculateStatsPerRun(results) { - const stat = { - errorCount: 0, - fatalErrorCount: 0, - warningCount: 0, - fixableErrorCount: 0, - fixableWarningCount: 0 - }; - - for (let i = 0; i < results.length; i++) { - const result = results[i]; - - stat.errorCount += result.errorCount; - stat.fatalErrorCount += result.fatalErrorCount; - stat.warningCount += result.warningCount; - stat.fixableErrorCount += result.fixableErrorCount; - stat.fixableWarningCount += result.fixableWarningCount; - } - - return stat; -} - -/** - * Processes an source code using ESLint. - * @param {Object} config The config object. - * @param {string} config.text The source code to verify. - * @param {string} config.cwd The path to the current working directory. - * @param {string|undefined} config.filePath The path to the file of `text`. If this is undefined, it uses ``. - * @param {ConfigArray} config.config The config. - * @param {boolean} config.fix If `true` then it does fix. - * @param {boolean} config.allowInlineConfig If `true` then it uses directive comments. - * @param {boolean|string} config.reportUnusedDisableDirectives If `true`, `"error"` or '"warn"', then it reports unused `eslint-disable` comments. - * @param {FileEnumerator} config.fileEnumerator The file enumerator to check if a path is a target or not. - * @param {Linter} config.linter The linter instance to verify. - * @returns {LintResult} The result of linting. - * @private - */ -function verifyText({ - text, - cwd, - filePath: providedFilePath, - config, - fix, - allowInlineConfig, - reportUnusedDisableDirectives, - fileEnumerator, - linter -}) { - const filePath = providedFilePath || ""; - - debug(`Lint ${filePath}`); - - /* - * Verify. - * `config.extractConfig(filePath)` requires an absolute path, but `linter` - * doesn't know CWD, so it gives `linter` an absolute path always. - */ - const filePathToVerify = filePath === "" ? path.join(cwd, filePath) : filePath; - const { fixed, messages, output } = linter.verifyAndFix( - text, - config, - { - allowInlineConfig, - filename: filePathToVerify, - fix, - reportUnusedDisableDirectives, - - /** - * Check if the linter should adopt a given code block or not. - * @param {string} blockFilename The virtual filename of a code block. - * @returns {boolean} `true` if the linter should adopt the code block. - */ - filterCodeBlock(blockFilename) { - return fileEnumerator.isTargetPath(blockFilename); - } - } - ); - - // Tweak and return. - const result = { - filePath, - messages, - suppressedMessages: linter.getSuppressedMessages(), - ...calculateStatsPerFile(messages) - }; - - if (fixed) { - result.output = output; - } - if ( - result.errorCount + result.warningCount > 0 && - typeof result.output === "undefined" - ) { - result.source = text; - } - - return result; -} - -/** - * Returns result with warning by ignore settings - * @param {string} filePath File path of checked code - * @param {string} baseDir Absolute path of base directory - * @returns {LintResult} Result with single warning - * @private - */ -function createIgnoreResult(filePath, baseDir) { - let message; - const isHidden = filePath.split(path.sep) - .find(segment => /^\./u.test(segment)); - const isInNodeModules = baseDir && path.relative(baseDir, filePath).startsWith("node_modules"); - - if (isHidden) { - message = "File ignored by default. Use a negated ignore pattern (like \"--ignore-pattern '!'\") to override."; - } else if (isInNodeModules) { - message = "File ignored by default. Use \"--ignore-pattern '!node_modules/*'\" to override."; - } else { - message = "File ignored because of a matching ignore pattern. Use \"--no-ignore\" to override."; - } - - return { - filePath: path.resolve(filePath), - messages: [ - { - ruleId: null, - fatal: false, - severity: 1, - message, - nodeType: null - } - ], - suppressedMessages: [], - errorCount: 0, - fatalErrorCount: 0, - warningCount: 1, - fixableErrorCount: 0, - fixableWarningCount: 0 - }; -} - -/** - * Get a rule. - * @param {string} ruleId The rule ID to get. - * @param {ConfigArray[]} configArrays The config arrays that have plugin rules. - * @returns {Rule|null} The rule or null. - */ -function getRule(ruleId, configArrays) { - for (const configArray of configArrays) { - const rule = configArray.pluginRules.get(ruleId); - - if (rule) { - return rule; - } - } - return builtInRules.get(ruleId) || null; -} - -/** - * Checks whether a message's rule type should be fixed. - * @param {LintMessage} message The message to check. - * @param {ConfigArray[]} lastConfigArrays The list of config arrays that the last `executeOnFiles` or `executeOnText` used. - * @param {string[]} fixTypes An array of fix types to check. - * @returns {boolean} Whether the message should be fixed. - */ -function shouldMessageBeFixed(message, lastConfigArrays, fixTypes) { - if (!message.ruleId) { - return fixTypes.has("directive"); - } - - const rule = message.ruleId && getRule(message.ruleId, lastConfigArrays); - - return Boolean(rule && rule.meta && fixTypes.has(rule.meta.type)); -} - -/** - * Collect used deprecated rules. - * @param {ConfigArray[]} usedConfigArrays The config arrays which were used. - * @returns {IterableIterator} Used deprecated rules. - */ -function *iterateRuleDeprecationWarnings(usedConfigArrays) { - const processedRuleIds = new Set(); - - // Flatten used configs. - /** @type {ExtractedConfig[]} */ - const configs = usedConfigArrays.flatMap(getUsedExtractedConfigs); - - // Traverse rule configs. - for (const config of configs) { - for (const [ruleId, ruleConfig] of Object.entries(config.rules)) { - - // Skip if it was processed. - if (processedRuleIds.has(ruleId)) { - continue; - } - processedRuleIds.add(ruleId); - - // Skip if it's not used. - if (!ConfigOps.getRuleSeverity(ruleConfig)) { - continue; - } - const rule = getRule(ruleId, usedConfigArrays); - - // Skip if it's not deprecated. - if (!(rule && rule.meta && rule.meta.deprecated)) { - continue; - } - - // This rule was used and deprecated. - yield { - ruleId, - replacedBy: rule.meta.replacedBy || [] - }; - } - } -} - -/** - * Checks if the given message is an error message. - * @param {LintMessage} message The message to check. - * @returns {boolean} Whether or not the message is an error message. - * @private - */ -function isErrorMessage(message) { - return message.severity === 2; -} - - -/** - * return the cacheFile to be used by eslint, based on whether the provided parameter is - * a directory or looks like a directory (ends in `path.sep`), in which case the file - * name will be the `cacheFile/.cache_hashOfCWD` - * - * if cacheFile points to a file or looks like a file then it will just use that file - * @param {string} cacheFile The name of file to be used to store the cache - * @param {string} cwd Current working directory - * @returns {string} the resolved path to the cache file - */ -function getCacheFile(cacheFile, cwd) { - - /* - * make sure the path separators are normalized for the environment/os - * keeping the trailing path separator if present - */ - const normalizedCacheFile = path.normalize(cacheFile); - - const resolvedCacheFile = path.resolve(cwd, normalizedCacheFile); - const looksLikeADirectory = normalizedCacheFile.slice(-1) === path.sep; - - /** - * return the name for the cache file in case the provided parameter is a directory - * @returns {string} the resolved path to the cacheFile - */ - function getCacheFileForDirectory() { - return path.join(resolvedCacheFile, `.cache_${hash(cwd)}`); - } - - let fileStats; - - try { - fileStats = fs.lstatSync(resolvedCacheFile); - } catch { - fileStats = null; - } - - - /* - * in case the file exists we need to verify if the provided path - * is a directory or a file. If it is a directory we want to create a file - * inside that directory - */ - if (fileStats) { - - /* - * is a directory or is a file, but the original file the user provided - * looks like a directory but `path.resolve` removed the `last path.sep` - * so we need to still treat this like a directory - */ - if (fileStats.isDirectory() || looksLikeADirectory) { - return getCacheFileForDirectory(); - } - - // is file so just use that file - return resolvedCacheFile; - } - - /* - * here we known the file or directory doesn't exist, - * so we will try to infer if its a directory if it looks like a directory - * for the current operating system. - */ - - // if the last character passed is a path separator we assume is a directory - if (looksLikeADirectory) { - return getCacheFileForDirectory(); - } - - return resolvedCacheFile; -} - -/** - * Convert a string array to a boolean map. - * @param {string[]|null} keys The keys to assign true. - * @param {boolean} defaultValue The default value for each property. - * @param {string} displayName The property name which is used in error message. - * @throws {Error} Requires array. - * @returns {Record} The boolean map. - */ -function toBooleanMap(keys, defaultValue, displayName) { - if (keys && !Array.isArray(keys)) { - throw new Error(`${displayName} must be an array.`); - } - if (keys && keys.length > 0) { - return keys.reduce((map, def) => { - const [key, value] = def.split(":"); - - if (key !== "__proto__") { - map[key] = value === void 0 - ? defaultValue - : value === "true"; - } - - return map; - }, {}); - } - return void 0; -} - -/** - * Create a config data from CLI options. - * @param {CLIEngineOptions} options The options - * @returns {ConfigData|null} The created config data. - */ -function createConfigDataFromOptions(options) { - const { - ignorePattern, - parser, - parserOptions, - plugins, - rules - } = options; - const env = toBooleanMap(options.envs, true, "envs"); - const globals = toBooleanMap(options.globals, false, "globals"); - - if ( - env === void 0 && - globals === void 0 && - (ignorePattern === void 0 || ignorePattern.length === 0) && - parser === void 0 && - parserOptions === void 0 && - plugins === void 0 && - rules === void 0 - ) { - return null; - } - return { - env, - globals, - ignorePatterns: ignorePattern, - parser, - parserOptions, - plugins, - rules - }; -} - -/** - * Checks whether a directory exists at the given location - * @param {string} resolvedPath A path from the CWD - * @throws {Error} As thrown by `fs.statSync` or `fs.isDirectory`. - * @returns {boolean} `true` if a directory exists - */ -function directoryExists(resolvedPath) { - try { - return fs.statSync(resolvedPath).isDirectory(); - } catch (error) { - if (error && (error.code === "ENOENT" || error.code === "ENOTDIR")) { - return false; - } - throw error; - } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Core CLI. - */ -class CLIEngine { - - /** - * Creates a new instance of the core CLI engine. - * @param {CLIEngineOptions} providedOptions The options for this instance. - * @param {Object} [additionalData] Additional settings that are not CLIEngineOptions. - * @param {Record|null} [additionalData.preloadedPlugins] Preloaded plugins. - */ - constructor(providedOptions, { preloadedPlugins } = {}) { - const options = Object.assign( - Object.create(null), - defaultOptions, - { cwd: process.cwd() }, - providedOptions - ); - - if (options.fix === void 0) { - options.fix = false; - } - - const additionalPluginPool = new Map(); - - if (preloadedPlugins) { - for (const [id, plugin] of Object.entries(preloadedPlugins)) { - additionalPluginPool.set(id, plugin); - } - } - - const cacheFilePath = getCacheFile( - options.cacheLocation || options.cacheFile, - options.cwd - ); - const configArrayFactory = new CascadingConfigArrayFactory({ - additionalPluginPool, - baseConfig: options.baseConfig || null, - cliConfig: createConfigDataFromOptions(options), - cwd: options.cwd, - ignorePath: options.ignorePath, - resolvePluginsRelativeTo: options.resolvePluginsRelativeTo, - rulePaths: options.rulePaths, - specificConfigPath: options.configFile, - useEslintrc: options.useEslintrc, - builtInRules, - loadRules, - getEslintRecommendedConfig: () => require("@eslint/js").configs.recommended, - getEslintAllConfig: () => require("@eslint/js").configs.all - }); - const fileEnumerator = new FileEnumerator({ - configArrayFactory, - cwd: options.cwd, - extensions: options.extensions, - globInputPaths: options.globInputPaths, - errorOnUnmatchedPattern: options.errorOnUnmatchedPattern, - ignore: options.ignore - }); - const lintResultCache = - options.cache ? new LintResultCache(cacheFilePath, options.cacheStrategy) : null; - const linter = new Linter({ cwd: options.cwd, configType: "eslintrc" }); - - /** @type {ConfigArray[]} */ - const lastConfigArrays = [configArrayFactory.getConfigArrayForFile()]; - - // Store private data. - internalSlotsMap.set(this, { - additionalPluginPool, - cacheFilePath, - configArrayFactory, - defaultIgnores: IgnorePattern.createDefaultIgnore(options.cwd), - fileEnumerator, - lastConfigArrays, - lintResultCache, - linter, - options - }); - - // setup special filter for fixes - if (options.fix && options.fixTypes && options.fixTypes.length > 0) { - debug(`Using fix types ${options.fixTypes}`); - - // throw an error if any invalid fix types are found - validateFixTypes(options.fixTypes); - - // convert to Set for faster lookup - const fixTypes = new Set(options.fixTypes); - - // save original value of options.fix in case it's a function - const originalFix = (typeof options.fix === "function") - ? options.fix : () => true; - - options.fix = message => shouldMessageBeFixed(message, lastConfigArrays, fixTypes) && originalFix(message); - } - } - - getRules() { - const { lastConfigArrays } = internalSlotsMap.get(this); - - return new Map(function *() { - yield* builtInRules; - - for (const configArray of lastConfigArrays) { - yield* configArray.pluginRules; - } - }()); - } - - /** - * Returns results that only contains errors. - * @param {LintResult[]} results The results to filter. - * @returns {LintResult[]} The filtered results. - */ - static getErrorResults(results) { - const filtered = []; - - results.forEach(result => { - const filteredMessages = result.messages.filter(isErrorMessage); - const filteredSuppressedMessages = result.suppressedMessages.filter(isErrorMessage); - - if (filteredMessages.length > 0) { - filtered.push({ - ...result, - messages: filteredMessages, - suppressedMessages: filteredSuppressedMessages, - errorCount: filteredMessages.length, - warningCount: 0, - fixableErrorCount: result.fixableErrorCount, - fixableWarningCount: 0 - }); - } - }); - - return filtered; - } - - /** - * Outputs fixes from the given results to files. - * @param {LintReport} report The report object created by CLIEngine. - * @returns {void} - */ - static outputFixes(report) { - report.results.filter(result => Object.hasOwn(result, "output")).forEach(result => { - fs.writeFileSync(result.filePath, result.output); - }); - } - - /** - * Resolves the patterns passed into executeOnFiles() into glob-based patterns - * for easier handling. - * @param {string[]} patterns The file patterns passed on the command line. - * @returns {string[]} The equivalent glob patterns. - */ - resolveFileGlobPatterns(patterns) { - const { options } = internalSlotsMap.get(this); - - if (options.globInputPaths === false) { - return patterns.filter(Boolean); - } - - const extensions = (options.extensions || [".js"]).map(ext => ext.replace(/^\./u, "")); - const dirSuffix = `/**/*.{${extensions.join(",")}}`; - - return patterns.filter(Boolean).map(pathname => { - const resolvedPath = path.resolve(options.cwd, pathname); - const newPath = directoryExists(resolvedPath) - ? pathname.replace(/[/\\]$/u, "") + dirSuffix - : pathname; - - return path.normalize(newPath).replace(/\\/gu, "/"); - }); - } - - /** - * Executes the current configuration on an array of file and directory names. - * @param {string[]} patterns An array of file and directory names. - * @throws {Error} As may be thrown by `fs.unlinkSync`. - * @returns {LintReport} The results for all files that were linted. - */ - executeOnFiles(patterns) { - const { - cacheFilePath, - fileEnumerator, - lastConfigArrays, - lintResultCache, - linter, - options: { - allowInlineConfig, - cache, - cwd, - fix, - reportUnusedDisableDirectives - } - } = internalSlotsMap.get(this); - const results = []; - const startTime = Date.now(); - - // Clear the last used config arrays. - lastConfigArrays.length = 0; - - // Delete cache file; should this do here? - if (!cache) { - try { - fs.unlinkSync(cacheFilePath); - } catch (error) { - const errorCode = error && error.code; - - // Ignore errors when no such file exists or file system is read only (and cache file does not exist) - if (errorCode !== "ENOENT" && !(errorCode === "EROFS" && !fs.existsSync(cacheFilePath))) { - throw error; - } - } - } - - // Iterate source code files. - for (const { config, filePath, ignored } of fileEnumerator.iterateFiles(patterns)) { - if (ignored) { - results.push(createIgnoreResult(filePath, cwd)); - continue; - } - - /* - * Store used configs for: - * - this method uses to collect used deprecated rules. - * - `getRules()` method uses to collect all loaded rules. - * - `--fix-type` option uses to get the loaded rule's meta data. - */ - if (!lastConfigArrays.includes(config)) { - lastConfigArrays.push(config); - } - - // Skip if there is cached result. - if (lintResultCache) { - const cachedResult = - lintResultCache.getCachedLintResults(filePath, config); - - if (cachedResult) { - const hadMessages = - cachedResult.messages && - cachedResult.messages.length > 0; - - if (hadMessages && fix) { - debug(`Reprocessing cached file to allow autofix: ${filePath}`); - } else { - debug(`Skipping file since it hasn't changed: ${filePath}`); - results.push(cachedResult); - continue; - } - } - } - - // Do lint. - const result = verifyText({ - text: fs.readFileSync(filePath, "utf8"), - filePath, - config, - cwd, - fix, - allowInlineConfig, - reportUnusedDisableDirectives, - fileEnumerator, - linter - }); - - results.push(result); - - /* - * Store the lint result in the LintResultCache. - * NOTE: The LintResultCache will remove the file source and any - * other properties that are difficult to serialize, and will - * hydrate those properties back in on future lint runs. - */ - if (lintResultCache) { - lintResultCache.setCachedLintResults(filePath, config, result); - } - } - - // Persist the cache to disk. - if (lintResultCache) { - lintResultCache.reconcile(); - } - - debug(`Linting complete in: ${Date.now() - startTime}ms`); - let usedDeprecatedRules; - - return { - results, - ...calculateStatsPerRun(results), - - // Initialize it lazily because CLI and `ESLint` API don't use it. - get usedDeprecatedRules() { - if (!usedDeprecatedRules) { - usedDeprecatedRules = Array.from( - iterateRuleDeprecationWarnings(lastConfigArrays) - ); - } - return usedDeprecatedRules; - } - }; - } - - /** - * Executes the current configuration on text. - * @param {string} text A string of JavaScript code to lint. - * @param {string} [filename] An optional string representing the texts filename. - * @param {boolean} [warnIgnored] Always warn when a file is ignored - * @returns {LintReport} The results for the linting. - */ - executeOnText(text, filename, warnIgnored) { - const { - configArrayFactory, - fileEnumerator, - lastConfigArrays, - linter, - options: { - allowInlineConfig, - cwd, - fix, - reportUnusedDisableDirectives - } - } = internalSlotsMap.get(this); - const results = []; - const startTime = Date.now(); - const resolvedFilename = filename && path.resolve(cwd, filename); - - - // Clear the last used config arrays. - lastConfigArrays.length = 0; - if (resolvedFilename && this.isPathIgnored(resolvedFilename)) { - if (warnIgnored) { - results.push(createIgnoreResult(resolvedFilename, cwd)); - } - } else { - const config = configArrayFactory.getConfigArrayForFile( - resolvedFilename || "__placeholder__.js" - ); - - /* - * Store used configs for: - * - this method uses to collect used deprecated rules. - * - `getRules()` method uses to collect all loaded rules. - * - `--fix-type` option uses to get the loaded rule's meta data. - */ - lastConfigArrays.push(config); - - // Do lint. - results.push(verifyText({ - text, - filePath: resolvedFilename, - config, - cwd, - fix, - allowInlineConfig, - reportUnusedDisableDirectives, - fileEnumerator, - linter - })); - } - - debug(`Linting complete in: ${Date.now() - startTime}ms`); - let usedDeprecatedRules; - - return { - results, - ...calculateStatsPerRun(results), - - // Initialize it lazily because CLI and `ESLint` API don't use it. - get usedDeprecatedRules() { - if (!usedDeprecatedRules) { - usedDeprecatedRules = Array.from( - iterateRuleDeprecationWarnings(lastConfigArrays) - ); - } - return usedDeprecatedRules; - } - }; - } - - /** - * Returns a configuration object for the given file based on the CLI options. - * This is the same logic used by the ESLint CLI executable to determine - * configuration for each file it processes. - * @param {string} filePath The path of the file to retrieve a config object for. - * @throws {Error} If filepath a directory path. - * @returns {ConfigData} A configuration object for the file. - */ - getConfigForFile(filePath) { - const { configArrayFactory, options } = internalSlotsMap.get(this); - const absolutePath = path.resolve(options.cwd, filePath); - - if (directoryExists(absolutePath)) { - throw Object.assign( - new Error("'filePath' should not be a directory path."), - { messageTemplate: "print-config-with-directory-path" } - ); - } - - return configArrayFactory - .getConfigArrayForFile(absolutePath) - .extractConfig(absolutePath) - .toCompatibleObjectAsConfigFileContent(); - } - - /** - * Checks if a given path is ignored by ESLint. - * @param {string} filePath The path of the file to check. - * @returns {boolean} Whether or not the given path is ignored. - */ - isPathIgnored(filePath) { - const { - configArrayFactory, - defaultIgnores, - options: { cwd, ignore } - } = internalSlotsMap.get(this); - const absolutePath = path.resolve(cwd, filePath); - - if (ignore) { - const config = configArrayFactory - .getConfigArrayForFile(absolutePath) - .extractConfig(absolutePath); - const ignores = config.ignores || defaultIgnores; - - return ignores(absolutePath); - } - - return defaultIgnores(absolutePath); - } - - /** - * Returns the formatter representing the given format or null if the `format` is not a string. - * @param {string} [format] The name of the format to load or the path to a - * custom formatter. - * @throws {any} As may be thrown by requiring of formatter - * @returns {(FormatterFunction|null)} The formatter function or null if the `format` is not a string. - */ - getFormatter(format) { - - // default is stylish - const resolvedFormatName = format || "stylish"; - - // only strings are valid formatters - if (typeof resolvedFormatName === "string") { - - // replace \ with / for Windows compatibility - const normalizedFormatName = resolvedFormatName.replace(/\\/gu, "/"); - - const slots = internalSlotsMap.get(this); - const cwd = slots ? slots.options.cwd : process.cwd(); - const namespace = naming.getNamespaceFromTerm(normalizedFormatName); - - let formatterPath; - - // if there's a slash, then it's a file (TODO: this check seems dubious for scoped npm packages) - if (!namespace && normalizedFormatName.includes("/")) { - formatterPath = path.resolve(cwd, normalizedFormatName); - } else { - try { - const npmFormat = naming.normalizePackageName(normalizedFormatName, "eslint-formatter"); - - formatterPath = ModuleResolver.resolve(npmFormat, path.join(cwd, "__placeholder__.js")); - } catch { - formatterPath = path.resolve(__dirname, "formatters", normalizedFormatName); - } - } - - try { - return require(formatterPath); - } catch (ex) { - if (removedFormatters.has(format)) { - ex.message = `The ${format} formatter is no longer part of core ESLint. Install it manually with \`npm install -D eslint-formatter-${format}\``; - } else { - ex.message = `There was a problem loading formatter: ${formatterPath}\nError: ${ex.message}`; - } - throw ex; - } - - } else { - return null; - } - } -} - -CLIEngine.version = pkg.version; -CLIEngine.getFormatter = CLIEngine.prototype.getFormatter; - -module.exports = { - CLIEngine, - - /** - * Get the internal slots of a given CLIEngine instance for tests. - * @param {CLIEngine} instance The CLIEngine instance to get. - * @returns {CLIEngineInternalSlots} The internal slots. - */ - getCLIEngineInternalSlots(instance) { - return internalSlotsMap.get(instance); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/file-enumerator.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/file-enumerator.js deleted file mode 100644 index da5d1039..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/file-enumerator.js +++ /dev/null @@ -1,547 +0,0 @@ -/** - * @fileoverview `FileEnumerator` class. - * - * `FileEnumerator` class has two responsibilities: - * - * 1. Find target files by processing glob patterns. - * 2. Tie each target file and appropriate configuration. - * - * It provides a method: - * - * - `iterateFiles(patterns)` - * Iterate files which are matched by given patterns together with the - * corresponded configuration. This is for `CLIEngine#executeOnFiles()`. - * While iterating files, it loads the configuration file of each directory - * before iterate files on the directory, so we can use the configuration - * files to determine target files. - * - * @example - * const enumerator = new FileEnumerator(); - * const linter = new Linter(); - * - * for (const { config, filePath } of enumerator.iterateFiles(["*.js"])) { - * const code = fs.readFileSync(filePath, "utf8"); - * const messages = linter.verify(code, config, filePath); - * - * console.log(messages); - * } - * - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const fs = require("node:fs"); -const path = require("node:path"); -const getGlobParent = require("glob-parent"); -const isGlob = require("is-glob"); -const escapeRegExp = require("escape-string-regexp"); -const { Minimatch } = require("minimatch"); - -const { - Legacy: { - IgnorePattern, - CascadingConfigArrayFactory - } -} = require("@eslint/eslintrc"); -const debug = require("debug")("eslint:file-enumerator"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const minimatchOpts = { dot: true, matchBase: true }; -const dotfilesPattern = /(?:(?:^\.)|(?:[/\\]\.))[^/\\.].*/u; -const NONE = 0; -const IGNORED_SILENTLY = 1; -const IGNORED = 2; - -// For VSCode intellisense -/** @typedef {ReturnType} ConfigArray */ - -/** - * @typedef {Object} FileEnumeratorOptions - * @property {CascadingConfigArrayFactory} [configArrayFactory] The factory for config arrays. - * @property {string} [cwd] The base directory to start lookup. - * @property {string[]} [extensions] The extensions to match files for directory patterns. - * @property {boolean} [globInputPaths] Set to false to skip glob resolution of input file paths to lint (default: true). If false, each input file paths is assumed to be a non-glob path to an existing file. - * @property {boolean} [ignore] The flag to check ignored files. - * @property {string[]} [rulePaths] The value of `--rulesdir` option. - */ - -/** - * @typedef {Object} FileAndConfig - * @property {string} filePath The path to a target file. - * @property {ConfigArray} config The config entries of that file. - * @property {boolean} ignored If `true` then this file should be ignored and warned because it was directly specified. - */ - -/** - * @typedef {Object} FileEntry - * @property {string} filePath The path to a target file. - * @property {ConfigArray} config The config entries of that file. - * @property {NONE|IGNORED_SILENTLY|IGNORED} flag The flag. - * - `NONE` means the file is a target file. - * - `IGNORED_SILENTLY` means the file should be ignored silently. - * - `IGNORED` means the file should be ignored and warned because it was directly specified. - */ - -/** - * @typedef {Object} FileEnumeratorInternalSlots - * @property {CascadingConfigArrayFactory} configArrayFactory The factory for config arrays. - * @property {string} cwd The base directory to start lookup. - * @property {RegExp|null} extensionRegExp The RegExp to test if a string ends with specific file extensions. - * @property {boolean} globInputPaths Set to false to skip glob resolution of input file paths to lint (default: true). If false, each input file paths is assumed to be a non-glob path to an existing file. - * @property {boolean} ignoreFlag The flag to check ignored files. - * @property {(filePath:string, dot:boolean) => boolean} defaultIgnores The default predicate function to ignore files. - */ - -/** @type {WeakMap} */ -const internalSlotsMap = new WeakMap(); - -/** - * Check if a string is a glob pattern or not. - * @param {string} pattern A glob pattern. - * @returns {boolean} `true` if the string is a glob pattern. - */ -function isGlobPattern(pattern) { - return isGlob(path.sep === "\\" ? pattern.replace(/\\/gu, "/") : pattern); -} - -/** - * Get stats of a given path. - * @param {string} filePath The path to target file. - * @throws {Error} As may be thrown by `fs.statSync`. - * @returns {fs.Stats|null} The stats. - * @private - */ -function statSafeSync(filePath) { - try { - return fs.statSync(filePath); - } catch (error) { - - /* c8 ignore next */ - if (error.code !== "ENOENT") { - throw error; - } - return null; - } -} - -/** - * Get filenames in a given path to a directory. - * @param {string} directoryPath The path to target directory. - * @throws {Error} As may be thrown by `fs.readdirSync`. - * @returns {import("fs").Dirent[]} The filenames. - * @private - */ -function readdirSafeSync(directoryPath) { - try { - return fs.readdirSync(directoryPath, { withFileTypes: true }); - } catch (error) { - - /* c8 ignore next */ - if (error.code !== "ENOENT") { - throw error; - } - return []; - } -} - -/** - * Create a `RegExp` object to detect extensions. - * @param {string[] | null} extensions The extensions to create. - * @returns {RegExp | null} The created `RegExp` object or null. - */ -function createExtensionRegExp(extensions) { - if (extensions) { - const normalizedExts = extensions.map(ext => escapeRegExp( - ext.startsWith(".") - ? ext.slice(1) - : ext - )); - - return new RegExp( - `.\\.(?:${normalizedExts.join("|")})$`, - "u" - ); - } - return null; -} - -/** - * The error type when no files match a glob. - */ -class NoFilesFoundError extends Error { - - /** - * @param {string} pattern The glob pattern which was not found. - * @param {boolean} globDisabled If `true` then the pattern was a glob pattern, but glob was disabled. - */ - constructor(pattern, globDisabled) { - super(`No files matching '${pattern}' were found${globDisabled ? " (glob was disabled)" : ""}.`); - this.messageTemplate = "file-not-found"; - this.messageData = { pattern, globDisabled }; - } -} - -/** - * The error type when there are files matched by a glob, but all of them have been ignored. - */ -class AllFilesIgnoredError extends Error { - - /** - * @param {string} pattern The glob pattern which was not found. - */ - constructor(pattern) { - super(`All files matched by '${pattern}' are ignored.`); - this.messageTemplate = "all-files-ignored"; - this.messageData = { pattern }; - } -} - -/** - * This class provides the functionality that enumerates every file which is - * matched by given glob patterns and that configuration. - */ -class FileEnumerator { - - /** - * Initialize this enumerator. - * @param {FileEnumeratorOptions} options The options. - */ - constructor({ - cwd = process.cwd(), - configArrayFactory = new CascadingConfigArrayFactory({ - cwd, - getEslintRecommendedConfig: () => require("@eslint/js").configs.recommended, - getEslintAllConfig: () => require("@eslint/js").configs.all - }), - extensions = null, - globInputPaths = true, - errorOnUnmatchedPattern = true, - ignore = true - } = {}) { - internalSlotsMap.set(this, { - configArrayFactory, - cwd, - defaultIgnores: IgnorePattern.createDefaultIgnore(cwd), - extensionRegExp: createExtensionRegExp(extensions), - globInputPaths, - errorOnUnmatchedPattern, - ignoreFlag: ignore - }); - } - - /** - * Check if a given file is target or not. - * @param {string} filePath The path to a candidate file. - * @param {ConfigArray} [providedConfig] Optional. The configuration for the file. - * @returns {boolean} `true` if the file is a target. - */ - isTargetPath(filePath, providedConfig) { - const { - configArrayFactory, - extensionRegExp - } = internalSlotsMap.get(this); - - // If `--ext` option is present, use it. - if (extensionRegExp) { - return extensionRegExp.test(filePath); - } - - // `.js` file is target by default. - if (filePath.endsWith(".js")) { - return true; - } - - // use `overrides[].files` to check additional targets. - const config = - providedConfig || - configArrayFactory.getConfigArrayForFile( - filePath, - { ignoreNotFoundError: true } - ); - - return config.isAdditionalTargetPath(filePath); - } - - /** - * Iterate files which are matched by given glob patterns. - * @param {string|string[]} patternOrPatterns The glob patterns to iterate files. - * @throws {NoFilesFoundError|AllFilesIgnoredError} On an unmatched pattern. - * @returns {IterableIterator} The found files. - */ - *iterateFiles(patternOrPatterns) { - const { globInputPaths, errorOnUnmatchedPattern } = internalSlotsMap.get(this); - const patterns = Array.isArray(patternOrPatterns) - ? patternOrPatterns - : [patternOrPatterns]; - - debug("Start to iterate files: %o", patterns); - - // The set of paths to remove duplicate. - const set = new Set(); - - for (const pattern of patterns) { - let foundRegardlessOfIgnored = false; - let found = false; - - // Skip empty string. - if (!pattern) { - continue; - } - - // Iterate files of this pattern. - for (const { config, filePath, flag } of this._iterateFiles(pattern)) { - foundRegardlessOfIgnored = true; - if (flag === IGNORED_SILENTLY) { - continue; - } - found = true; - - // Remove duplicate paths while yielding paths. - if (!set.has(filePath)) { - set.add(filePath); - yield { - config, - filePath, - ignored: flag === IGNORED - }; - } - } - - // Raise an error if any files were not found. - if (errorOnUnmatchedPattern) { - if (!foundRegardlessOfIgnored) { - throw new NoFilesFoundError( - pattern, - !globInputPaths && isGlob(pattern) - ); - } - if (!found) { - throw new AllFilesIgnoredError(pattern); - } - } - } - - debug(`Complete iterating files: ${JSON.stringify(patterns)}`); - } - - /** - * Iterate files which are matched by a given glob pattern. - * @param {string} pattern The glob pattern to iterate files. - * @returns {IterableIterator} The found files. - */ - _iterateFiles(pattern) { - const { cwd, globInputPaths } = internalSlotsMap.get(this); - const absolutePath = path.resolve(cwd, pattern); - const isDot = dotfilesPattern.test(pattern); - const stat = statSafeSync(absolutePath); - - if (stat && stat.isDirectory()) { - return this._iterateFilesWithDirectory(absolutePath, isDot); - } - if (stat && stat.isFile()) { - return this._iterateFilesWithFile(absolutePath); - } - if (globInputPaths && isGlobPattern(pattern)) { - return this._iterateFilesWithGlob(pattern, isDot); - } - - return []; - } - - /** - * Iterate a file which is matched by a given path. - * @param {string} filePath The path to the target file. - * @returns {IterableIterator} The found files. - * @private - */ - _iterateFilesWithFile(filePath) { - debug(`File: ${filePath}`); - - const { configArrayFactory } = internalSlotsMap.get(this); - const config = configArrayFactory.getConfigArrayForFile(filePath); - const ignored = this._isIgnoredFile(filePath, { config, direct: true }); - const flag = ignored ? IGNORED : NONE; - - return [{ config, filePath, flag }]; - } - - /** - * Iterate files in a given path. - * @param {string} directoryPath The path to the target directory. - * @param {boolean} dotfiles If `true` then it doesn't skip dot files by default. - * @returns {IterableIterator} The found files. - * @private - */ - _iterateFilesWithDirectory(directoryPath, dotfiles) { - debug(`Directory: ${directoryPath}`); - - return this._iterateFilesRecursive( - directoryPath, - { dotfiles, recursive: true, selector: null } - ); - } - - /** - * Iterate files which are matched by a given glob pattern. - * @param {string} pattern The glob pattern to iterate files. - * @param {boolean} dotfiles If `true` then it doesn't skip dot files by default. - * @returns {IterableIterator} The found files. - * @private - */ - _iterateFilesWithGlob(pattern, dotfiles) { - debug(`Glob: ${pattern}`); - - const { cwd } = internalSlotsMap.get(this); - const directoryPath = path.resolve(cwd, getGlobParent(pattern)); - const absolutePath = path.resolve(cwd, pattern); - const globPart = absolutePath.slice(directoryPath.length + 1); - - /* - * recursive if there are `**` or path separators in the glob part. - * Otherwise, patterns such as `src/*.js`, it doesn't need recursive. - */ - const recursive = /\*\*|\/|\\/u.test(globPart); - const selector = new Minimatch(absolutePath, minimatchOpts); - - debug(`recursive? ${recursive}`); - - return this._iterateFilesRecursive( - directoryPath, - { dotfiles, recursive, selector } - ); - } - - /** - * Iterate files in a given path. - * @param {string} directoryPath The path to the target directory. - * @param {Object} options The options to iterate files. - * @param {boolean} [options.dotfiles] If `true` then it doesn't skip dot files by default. - * @param {boolean} [options.recursive] If `true` then it dives into sub directories. - * @param {InstanceType} [options.selector] The matcher to choose files. - * @returns {IterableIterator} The found files. - * @private - */ - *_iterateFilesRecursive(directoryPath, options) { - debug(`Enter the directory: ${directoryPath}`); - const { configArrayFactory } = internalSlotsMap.get(this); - - /** @type {ConfigArray|null} */ - let config = null; - - // Enumerate the files of this directory. - for (const entry of readdirSafeSync(directoryPath)) { - const filePath = path.join(directoryPath, entry.name); - const fileInfo = entry.isSymbolicLink() ? statSafeSync(filePath) : entry; - - if (!fileInfo) { - continue; - } - - // Check if the file is matched. - if (fileInfo.isFile()) { - if (!config) { - config = configArrayFactory.getConfigArrayForFile( - filePath, - - /* - * We must ignore `ConfigurationNotFoundError` at this - * point because we don't know if target files exist in - * this directory. - */ - { ignoreNotFoundError: true } - ); - } - const matched = options.selector - - // Started with a glob pattern; choose by the pattern. - ? options.selector.match(filePath) - - // Started with a directory path; choose by file extensions. - : this.isTargetPath(filePath, config); - - if (matched) { - const ignored = this._isIgnoredFile(filePath, { ...options, config }); - const flag = ignored ? IGNORED_SILENTLY : NONE; - - debug(`Yield: ${entry.name}${ignored ? " but ignored" : ""}`); - yield { - config: configArrayFactory.getConfigArrayForFile(filePath), - filePath, - flag - }; - } else { - debug(`Didn't match: ${entry.name}`); - } - - // Dive into the sub directory. - } else if (options.recursive && fileInfo.isDirectory()) { - if (!config) { - config = configArrayFactory.getConfigArrayForFile( - filePath, - { ignoreNotFoundError: true } - ); - } - const ignored = this._isIgnoredFile( - filePath + path.sep, - { ...options, config } - ); - - if (!ignored) { - yield* this._iterateFilesRecursive(filePath, options); - } - } - } - - debug(`Leave the directory: ${directoryPath}`); - } - - /** - * Check if a given file should be ignored. - * @param {string} filePath The path to a file to check. - * @param {Object} options Options - * @param {ConfigArray} [options.config] The config for this file. - * @param {boolean} [options.dotfiles] If `true` then this is not ignore dot files by default. - * @param {boolean} [options.direct] If `true` then this is a direct specified file. - * @returns {boolean} `true` if the file should be ignored. - * @private - */ - _isIgnoredFile(filePath, { - config: providedConfig, - dotfiles = false, - direct = false - }) { - const { - configArrayFactory, - defaultIgnores, - ignoreFlag - } = internalSlotsMap.get(this); - - if (ignoreFlag) { - const config = - providedConfig || - configArrayFactory.getConfigArrayForFile( - filePath, - { ignoreNotFoundError: true } - ); - const ignores = - config.extractConfig(filePath).ignores || defaultIgnores; - - return ignores(filePath, dotfiles); - } - - return !direct && defaultIgnores(filePath, dotfiles); - } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = { FileEnumerator }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json deleted file mode 100644 index 4cc61ae3..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "name": "html", - "description": "Outputs results to HTML. The `html` formatter is useful for visual presentation in the browser." - }, - { - "name": "json-with-metadata", - "description": "Outputs JSON-serialized results. The `json-with-metadata` provides the same linting results as the [`json`](#json) formatter with additional metadata about the rules applied. The linting results are included in the `results` property and the rules metadata is included in the `metadata` property.\n\nAlternatively, you can use the [ESLint Node.js API](../../integrate/nodejs-api) to programmatically use ESLint." - }, - { - "name": "json", - "description": "Outputs JSON-serialized results. The `json` formatter is useful when you want to programmatically work with the CLI's linting results.\n\nAlternatively, you can use the [ESLint Node.js API](../../integrate/nodejs-api) to programmatically use ESLint." - }, - { - "name": "stylish", - "description": "Human-readable output format. This is the default formatter." - } -] diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/html.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/html.js deleted file mode 100644 index 1aa66fce..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/html.js +++ /dev/null @@ -1,351 +0,0 @@ -/** - * @fileoverview HTML reporter - * @author Julian Laval - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const encodeHTML = (function() { - const encodeHTMLRules = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'" - }; - const matchHTML = /[&<>"']/ug; - - return function(code) { - return code - ? code.toString().replace(matchHTML, m => encodeHTMLRules[m] || m) - : ""; - }; -}()); - -/** - * Get the final HTML document. - * @param {Object} it data for the document. - * @returns {string} HTML document. - */ -function pageTemplate(it) { - const { reportColor, reportSummary, date, results } = it; - - return ` - - - - - ESLint Report - - - - - -
-

ESLint Report

-
- ${reportSummary} - Generated on ${date} -
-
- - - ${results} - -
- - - -`.trimStart(); -} - -/** - * Given a word and a count, append an s if count is not one. - * @param {string} word A word in its singular form. - * @param {int} count A number controlling whether word should be pluralized. - * @returns {string} The original word with an s on the end if count is not one. - */ -function pluralize(word, count) { - return (count === 1 ? word : `${word}s`); -} - -/** - * Renders text along the template of x problems (x errors, x warnings) - * @param {string} totalErrors Total errors - * @param {string} totalWarnings Total warnings - * @returns {string} The formatted string, pluralized where necessary - */ -function renderSummary(totalErrors, totalWarnings) { - const totalProblems = totalErrors + totalWarnings; - let renderedText = `${totalProblems} ${pluralize("problem", totalProblems)}`; - - if (totalProblems !== 0) { - renderedText += ` (${totalErrors} ${pluralize("error", totalErrors)}, ${totalWarnings} ${pluralize("warning", totalWarnings)})`; - } - return renderedText; -} - -/** - * Get the color based on whether there are errors/warnings... - * @param {string} totalErrors Total errors - * @param {string} totalWarnings Total warnings - * @returns {int} The color code (0 = green, 1 = yellow, 2 = red) - */ -function renderColor(totalErrors, totalWarnings) { - if (totalErrors !== 0) { - return 2; - } - if (totalWarnings !== 0) { - return 1; - } - return 0; -} - -/** - * Get HTML (table row) describing a single message. - * @param {Object} it data for the message. - * @returns {string} HTML (table row) describing the message. - */ -function messageTemplate(it) { - const { - parentIndex, - lineNumber, - columnNumber, - severityNumber, - severityName, - message, - ruleUrl, - ruleId - } = it; - - return ` - - ${lineNumber}:${columnNumber} - ${severityName} - ${encodeHTML(message)} - - ${ruleId ? ruleId : ""} - - -`.trimStart(); -} - -/** - * Get HTML (table rows) describing the messages. - * @param {Array} messages Messages. - * @param {int} parentIndex Index of the parent HTML row. - * @param {Object} rulesMeta Dictionary containing metadata for each rule executed by the analysis. - * @returns {string} HTML (table rows) describing the messages. - */ -function renderMessages(messages, parentIndex, rulesMeta) { - - /** - * Get HTML (table row) describing a message. - * @param {Object} message Message. - * @returns {string} HTML (table row) describing a message. - */ - return messages.map(message => { - const lineNumber = message.line || 0; - const columnNumber = message.column || 0; - let ruleUrl; - - if (rulesMeta) { - const meta = rulesMeta[message.ruleId]; - - if (meta && meta.docs && meta.docs.url) { - ruleUrl = meta.docs.url; - } - } - - return messageTemplate({ - parentIndex, - lineNumber, - columnNumber, - severityNumber: message.severity, - severityName: message.severity === 1 ? "Warning" : "Error", - message: message.message, - ruleId: message.ruleId, - ruleUrl - }); - }).join("\n"); -} - -/** - * Get HTML (table row) describing the result for a single file. - * @param {Object} it data for the file. - * @returns {string} HTML (table row) describing the result for the file. - */ -function resultTemplate(it) { - const { color, index, filePath, summary } = it; - - return ` - - - [+] ${encodeHTML(filePath)} - ${encodeHTML(summary)} - - -`.trimStart(); -} - -/** - * Render the results. - * @param {Array} results Test results. - * @param {Object} rulesMeta Dictionary containing metadata for each rule executed by the analysis. - * @returns {string} HTML string describing the results. - */ -function renderResults(results, rulesMeta) { - return results.map((result, index) => resultTemplate({ - index, - color: renderColor(result.errorCount, result.warningCount), - filePath: result.filePath, - summary: renderSummary(result.errorCount, result.warningCount) - }) + renderMessages(result.messages, index, rulesMeta)).join("\n"); -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = function(results, data) { - let totalErrors, - totalWarnings; - - const metaData = data ? data.rulesMeta : {}; - - totalErrors = 0; - totalWarnings = 0; - - // Iterate over results to get totals - results.forEach(result => { - totalErrors += result.errorCount; - totalWarnings += result.warningCount; - }); - - return pageTemplate({ - date: new Date(), - reportColor: renderColor(totalErrors, totalWarnings), - reportSummary: renderSummary(totalErrors, totalWarnings), - results: renderResults(results, metaData) - }); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js deleted file mode 100644 index 68994715..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @fileoverview JSON reporter, including rules metadata - * @author Chris Meyer - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = function(results, data) { - return JSON.stringify({ - results, - metadata: data - }); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json.js deleted file mode 100644 index 82138af1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/json.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @fileoverview JSON reporter - * @author Burak Yigit Kaya aka BYK - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = function(results) { - return JSON.stringify(results); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/stylish.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/stylish.js deleted file mode 100644 index a5cf39ba..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/formatters/stylish.js +++ /dev/null @@ -1,101 +0,0 @@ -/** - * @fileoverview Stylish reporter - * @author Sindre Sorhus - */ -"use strict"; - -const chalk = require("chalk"), - util = require("node:util"), - table = require("../../shared/text-table"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Given a word and a count, append an s if count is not one. - * @param {string} word A word in its singular form. - * @param {int} count A number controlling whether word should be pluralized. - * @returns {string} The original word with an s on the end if count is not one. - */ -function pluralize(word, count) { - return (count === 1 ? word : `${word}s`); -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = function(results) { - - let output = "\n", - errorCount = 0, - warningCount = 0, - fixableErrorCount = 0, - fixableWarningCount = 0, - summaryColor = "yellow"; - - results.forEach(result => { - const messages = result.messages; - - if (messages.length === 0) { - return; - } - - errorCount += result.errorCount; - warningCount += result.warningCount; - fixableErrorCount += result.fixableErrorCount; - fixableWarningCount += result.fixableWarningCount; - - output += `${chalk.underline(result.filePath)}\n`; - - output += `${table( - messages.map(message => { - let messageType; - - if (message.fatal || message.severity === 2) { - messageType = chalk.red("error"); - summaryColor = "red"; - } else { - messageType = chalk.yellow("warning"); - } - - return [ - "", - String(message.line || 0), - String(message.column || 0), - messageType, - message.message.replace(/([^ ])\.$/u, "$1"), - chalk.dim(message.ruleId || "") - ]; - }), - { - align: ["", "r", "l"], - stringLength(str) { - return util.stripVTControlCharacters(str).length; - } - } - ).split("\n").map(el => el.replace(/(\d+)\s+(\d+)/u, (m, p1, p2) => chalk.dim(`${p1}:${p2}`))).join("\n")}\n\n`; - }); - - const total = errorCount + warningCount; - - if (total > 0) { - output += chalk[summaryColor].bold([ - "\u2716 ", total, pluralize(" problem", total), - " (", errorCount, pluralize(" error", errorCount), ", ", - warningCount, pluralize(" warning", warningCount), ")\n" - ].join("")); - - if (fixableErrorCount > 0 || fixableWarningCount > 0) { - output += chalk[summaryColor].bold([ - " ", fixableErrorCount, pluralize(" error", fixableErrorCount), " and ", - fixableWarningCount, pluralize(" warning", fixableWarningCount), - " potentially fixable with the `--fix` option.\n" - ].join("")); - } - } - - // Resets output color, for prevent change on top level - return total > 0 ? chalk.reset(output) : ""; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/hash.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/hash.js deleted file mode 100644 index 8e467734..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/hash.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @fileoverview Defining the hashing function in one place. - * @author Michael Ficarra - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const murmur = require("imurmurhash"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -//------------------------------------------------------------------------------ -// Private -//------------------------------------------------------------------------------ - -/** - * hash the given string - * @param {string} str the string to hash - * @returns {string} the hash - */ -function hash(str) { - return murmur(str).result().toString(36); -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = hash; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/index.js deleted file mode 100644 index 52e45a6d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/index.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -const { CLIEngine } = require("./cli-engine"); - -module.exports = { - CLIEngine -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/lint-result-cache.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/lint-result-cache.js deleted file mode 100644 index 320362d4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/lint-result-cache.js +++ /dev/null @@ -1,203 +0,0 @@ -/** - * @fileoverview Utility for caching lint results. - * @author Kevin Partington - */ -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const fs = require("node:fs"); -const fileEntryCache = require("file-entry-cache"); -const stringify = require("json-stable-stringify-without-jsonify"); -const pkg = require("../../package.json"); -const assert = require("../shared/assert"); -const hash = require("./hash"); - -const debug = require("debug")("eslint:lint-result-cache"); - -//----------------------------------------------------------------------------- -// Helpers -//----------------------------------------------------------------------------- - -const configHashCache = new WeakMap(); -const nodeVersion = process && process.version; - -const validCacheStrategies = ["metadata", "content"]; -const invalidCacheStrategyErrorMessage = `Cache strategy must be one of: ${validCacheStrategies - .map(strategy => `"${strategy}"`) - .join(", ")}`; - -/** - * Tests whether a provided cacheStrategy is valid - * @param {string} cacheStrategy The cache strategy to use - * @returns {boolean} true if `cacheStrategy` is one of `validCacheStrategies`; false otherwise - */ -function isValidCacheStrategy(cacheStrategy) { - return ( - validCacheStrategies.includes(cacheStrategy) - ); -} - -/** - * Calculates the hash of the config - * @param {ConfigArray} config The config. - * @returns {string} The hash of the config - */ -function hashOfConfigFor(config) { - if (!configHashCache.has(config)) { - configHashCache.set(config, hash(`${pkg.version}_${nodeVersion}_${stringify(config)}`)); - } - - return configHashCache.get(config); -} - -//----------------------------------------------------------------------------- -// Public Interface -//----------------------------------------------------------------------------- - -/** - * Lint result cache. This wraps around the file-entry-cache module, - * transparently removing properties that are difficult or expensive to - * serialize and adding them back in on retrieval. - */ -class LintResultCache { - - /** - * Creates a new LintResultCache instance. - * @param {string} cacheFileLocation The cache file location. - * @param {"metadata" | "content"} cacheStrategy The cache strategy to use. - */ - constructor(cacheFileLocation, cacheStrategy) { - assert(cacheFileLocation, "Cache file location is required"); - assert(cacheStrategy, "Cache strategy is required"); - assert( - isValidCacheStrategy(cacheStrategy), - invalidCacheStrategyErrorMessage - ); - - debug(`Caching results to ${cacheFileLocation}`); - - const useChecksum = cacheStrategy === "content"; - - debug( - `Using "${cacheStrategy}" strategy to detect changes` - ); - - this.fileEntryCache = fileEntryCache.create( - cacheFileLocation, - void 0, - useChecksum - ); - this.cacheFileLocation = cacheFileLocation; - } - - /** - * Retrieve cached lint results for a given file path, if present in the - * cache. If the file is present and has not been changed, rebuild any - * missing result information. - * @param {string} filePath The file for which to retrieve lint results. - * @param {ConfigArray} config The config of the file. - * @returns {Object|null} The rebuilt lint results, or null if the file is - * changed or not in the filesystem. - */ - getCachedLintResults(filePath, config) { - - /* - * Cached lint results are valid if and only if: - * 1. The file is present in the filesystem - * 2. The file has not changed since the time it was previously linted - * 3. The ESLint configuration has not changed since the time the file - * was previously linted - * If any of these are not true, we will not reuse the lint results. - */ - const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath); - const hashOfConfig = hashOfConfigFor(config); - const changed = - fileDescriptor.changed || - fileDescriptor.meta.hashOfConfig !== hashOfConfig; - - if (fileDescriptor.notFound) { - debug(`File not found on the file system: ${filePath}`); - return null; - } - - if (changed) { - debug(`Cache entry not found or no longer valid: ${filePath}`); - return null; - } - - const cachedResults = fileDescriptor.meta.results; - - // Just in case, not sure if this can ever happen. - if (!cachedResults) { - return cachedResults; - } - - /* - * Shallow clone the object to ensure that any properties added or modified afterwards - * will not be accidentally stored in the cache file when `reconcile()` is called. - * https://github.com/eslint/eslint/issues/13507 - * All intentional changes to the cache file must be done through `setCachedLintResults()`. - */ - const results = { ...cachedResults }; - - // If source is present but null, need to reread the file from the filesystem. - if (results.source === null) { - debug(`Rereading cached result source from filesystem: ${filePath}`); - results.source = fs.readFileSync(filePath, "utf-8"); - } - - return results; - } - - /** - * Set the cached lint results for a given file path, after removing any - * information that will be both unnecessary and difficult to serialize. - * Avoids caching results with an "output" property (meaning fixes were - * applied), to prevent potentially incorrect results if fixes are not - * written to disk. - * @param {string} filePath The file for which to set lint results. - * @param {ConfigArray} config The config of the file. - * @param {Object} result The lint result to be set for the file. - * @returns {void} - */ - setCachedLintResults(filePath, config, result) { - if (result && Object.hasOwn(result, "output")) { - return; - } - - const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath); - - if (fileDescriptor && !fileDescriptor.notFound) { - debug(`Updating cached result: ${filePath}`); - - // Serialize the result, except that we want to remove the file source if present. - const resultToSerialize = Object.assign({}, result); - - /* - * Set result.source to null. - * In `getCachedLintResults`, if source is explicitly null, we will - * read the file from the filesystem to set the value again. - */ - if (Object.hasOwn(resultToSerialize, "source")) { - resultToSerialize.source = null; - } - - fileDescriptor.meta.results = resultToSerialize; - fileDescriptor.meta.hashOfConfig = hashOfConfigFor(config); - } - } - - /** - * Persists the in-memory cache to disk. - * @returns {void} - */ - reconcile() { - debug(`Persisting cached results: ${this.cacheFileLocation}`); - this.fileEntryCache.reconcile(); - } -} - -module.exports = LintResultCache; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/load-rules.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/load-rules.js deleted file mode 100644 index a58f954e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli-engine/load-rules.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @fileoverview Module for loading rules from files and directories. - * @author Michael Ficarra - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const fs = require("node:fs"), - path = require("node:path"); - -const rulesDirCache = {}; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Load all rule modules from specified directory. - * @param {string} relativeRulesDir Path to rules directory, may be relative. - * @param {string} cwd Current working directory - * @returns {Object} Loaded rule modules. - */ -module.exports = function(relativeRulesDir, cwd) { - const rulesDir = path.resolve(cwd, relativeRulesDir); - - // cache will help performance as IO operation are expensive - if (rulesDirCache[rulesDir]) { - return rulesDirCache[rulesDir]; - } - - const rules = Object.create(null); - - fs.readdirSync(rulesDir).forEach(file => { - if (path.extname(file) !== ".js") { - return; - } - rules[file.slice(0, -3)] = require(path.join(rulesDir, file)); - }); - rulesDirCache[rulesDir] = rules; - - return rules; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli.js deleted file mode 100644 index 3229d6a2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/cli.js +++ /dev/null @@ -1,548 +0,0 @@ -/** - * @fileoverview Main CLI object. - * @author Nicholas C. Zakas - */ - -"use strict"; - -/* - * NOTE: The CLI object should *not* call process.exit() directly. It should only return - * exit codes. This allows other programs to use the CLI object and still control - * when the program exits. - */ - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const fs = require("node:fs"), - path = require("node:path"), - { promisify } = require("node:util"), - { LegacyESLint } = require("./eslint"), - { ESLint, shouldUseFlatConfig, locateConfigFileToUse } = require("./eslint/eslint"), - createCLIOptions = require("./options"), - log = require("./shared/logging"), - RuntimeInfo = require("./shared/runtime-info"), - { normalizeSeverityToString } = require("./shared/severity"); -const { Legacy: { naming } } = require("@eslint/eslintrc"); -const { ModuleImporter } = require("@humanwhocodes/module-importer"); -const debug = require("debug")("eslint:cli"); - -//------------------------------------------------------------------------------ -// Types -//------------------------------------------------------------------------------ - -/** @typedef {import("./eslint/eslint").ESLintOptions} ESLintOptions */ -/** @typedef {import("./eslint/eslint").LintMessage} LintMessage */ -/** @typedef {import("./eslint/eslint").LintResult} LintResult */ -/** @typedef {import("./options").ParsedCLIOptions} ParsedCLIOptions */ -/** @typedef {import("./shared/types").Plugin} Plugin */ -/** @typedef {import("./shared/types").ResultsMeta} ResultsMeta */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const mkdir = promisify(fs.mkdir); -const stat = promisify(fs.stat); -const writeFile = promisify(fs.writeFile); - -/** - * Loads plugins with the specified names. - * @param {{ "import": (name: string) => Promise }} importer An object with an `import` method called once for each plugin. - * @param {string[]} pluginNames The names of the plugins to be loaded, with or without the "eslint-plugin-" prefix. - * @returns {Promise>} A mapping of plugin short names to implementations. - */ -async function loadPlugins(importer, pluginNames) { - const plugins = {}; - - await Promise.all(pluginNames.map(async pluginName => { - - const longName = naming.normalizePackageName(pluginName, "eslint-plugin"); - const module = await importer.import(longName); - - if (!("default" in module)) { - throw new Error(`"${longName}" cannot be used with the \`--plugin\` option because its default module does not provide a \`default\` export`); - } - - const shortName = naming.getShorthandName(pluginName, "eslint-plugin"); - - plugins[shortName] = module.default; - })); - - return plugins; -} - -/** - * Predicate function for whether or not to apply fixes in quiet mode. - * If a message is a warning, do not apply a fix. - * @param {LintMessage} message The lint result. - * @returns {boolean} True if the lint message is an error (and thus should be - * autofixed), false otherwise. - */ -function quietFixPredicate(message) { - return message.severity === 2; -} - -/** - * Predicate function for whether or not to run a rule in quiet mode. - * If a rule is set to warning, do not run it. - * @param {{ ruleId: string; severity: number; }} rule The rule id and severity. - * @returns {boolean} True if the lint rule should run, false otherwise. - */ -function quietRuleFilter(rule) { - return rule.severity === 2; -} - -/** - * Translates the CLI options into the options expected by the ESLint constructor. - * @param {ParsedCLIOptions} cliOptions The CLI options to translate. - * @param {"flat"|"eslintrc"} [configType="eslintrc"] The format of the - * config to generate. - * @returns {Promise} The options object for the ESLint constructor. - * @private - */ -async function translateOptions({ - cache, - cacheFile, - cacheLocation, - cacheStrategy, - config, - configLookup, - env, - errorOnUnmatchedPattern, - eslintrc, - ext, - fix, - fixDryRun, - fixType, - flag, - global, - ignore, - ignorePath, - ignorePattern, - inlineConfig, - parser, - parserOptions, - plugin, - quiet, - reportUnusedDisableDirectives, - reportUnusedDisableDirectivesSeverity, - resolvePluginsRelativeTo, - rule, - rulesdir, - stats, - warnIgnored, - passOnNoPatterns, - maxWarnings -}, configType) { - - let overrideConfig, overrideConfigFile; - const importer = new ModuleImporter(); - - if (configType === "flat") { - overrideConfigFile = (typeof config === "string") ? config : !configLookup; - if (overrideConfigFile === false) { - overrideConfigFile = void 0; - } - - const languageOptions = {}; - - if (global) { - languageOptions.globals = global.reduce((obj, name) => { - if (name.endsWith(":true")) { - obj[name.slice(0, -5)] = "writable"; - } else { - obj[name] = "readonly"; - } - return obj; - }, {}); - } - - if (parserOptions) { - languageOptions.parserOptions = parserOptions; - } - - if (parser) { - languageOptions.parser = await importer.import(parser); - } - - overrideConfig = [{ - ...Object.keys(languageOptions).length > 0 ? { languageOptions } : {}, - rules: rule ? rule : {} - }]; - - if (reportUnusedDisableDirectives || reportUnusedDisableDirectivesSeverity !== void 0) { - overrideConfig[0].linterOptions = { - reportUnusedDisableDirectives: reportUnusedDisableDirectives - ? "error" - : normalizeSeverityToString(reportUnusedDisableDirectivesSeverity) - }; - } - - if (plugin) { - overrideConfig[0].plugins = await loadPlugins(importer, plugin); - } - - } else { - overrideConfigFile = config; - - overrideConfig = { - env: env && env.reduce((obj, name) => { - obj[name] = true; - return obj; - }, {}), - globals: global && global.reduce((obj, name) => { - if (name.endsWith(":true")) { - obj[name.slice(0, -5)] = "writable"; - } else { - obj[name] = "readonly"; - } - return obj; - }, {}), - ignorePatterns: ignorePattern, - parser, - parserOptions, - plugins: plugin, - rules: rule - }; - } - - const options = { - allowInlineConfig: inlineConfig, - cache, - cacheLocation: cacheLocation || cacheFile, - cacheStrategy, - errorOnUnmatchedPattern, - fix: (fix || fixDryRun) && (quiet ? quietFixPredicate : true), - fixTypes: fixType, - ignore, - overrideConfig, - overrideConfigFile, - passOnNoPatterns - }; - - if (configType === "flat") { - options.ignorePatterns = ignorePattern; - options.stats = stats; - options.warnIgnored = warnIgnored; - options.flags = flag; - - /* - * For performance reasons rules not marked as 'error' are filtered out in quiet mode. As maxWarnings - * requires rules set to 'warn' to be run, we only filter out 'warn' rules if maxWarnings is not specified. - */ - options.ruleFilter = quiet && maxWarnings === -1 ? quietRuleFilter : () => true; - } else { - options.resolvePluginsRelativeTo = resolvePluginsRelativeTo; - options.rulePaths = rulesdir; - options.useEslintrc = eslintrc; - options.extensions = ext; - options.ignorePath = ignorePath; - if (reportUnusedDisableDirectives || reportUnusedDisableDirectivesSeverity !== void 0) { - options.reportUnusedDisableDirectives = reportUnusedDisableDirectives - ? "error" - : normalizeSeverityToString(reportUnusedDisableDirectivesSeverity); - } - } - - return options; -} - -/** - * Count error messages. - * @param {LintResult[]} results The lint results. - * @returns {{errorCount:number;fatalErrorCount:number,warningCount:number}} The number of error messages. - */ -function countErrors(results) { - let errorCount = 0; - let fatalErrorCount = 0; - let warningCount = 0; - - for (const result of results) { - errorCount += result.errorCount; - fatalErrorCount += result.fatalErrorCount; - warningCount += result.warningCount; - } - - return { errorCount, fatalErrorCount, warningCount }; -} - -/** - * Check if a given file path is a directory or not. - * @param {string} filePath The path to a file to check. - * @returns {Promise} `true` if the given path is a directory. - */ -async function isDirectory(filePath) { - try { - return (await stat(filePath)).isDirectory(); - } catch (error) { - if (error.code === "ENOENT" || error.code === "ENOTDIR") { - return false; - } - throw error; - } -} - -/** - * Outputs the results of the linting. - * @param {ESLint} engine The ESLint instance to use. - * @param {LintResult[]} results The results to print. - * @param {string} format The name of the formatter to use or the path to the formatter. - * @param {string} outputFile The path for the output file. - * @param {ResultsMeta} resultsMeta Warning count and max threshold. - * @returns {Promise} True if the printing succeeds, false if not. - * @private - */ -async function printResults(engine, results, format, outputFile, resultsMeta) { - let formatter; - - try { - formatter = await engine.loadFormatter(format); - } catch (e) { - log.error(e.message); - return false; - } - - const output = await formatter.format(results, resultsMeta); - - if (outputFile) { - const filePath = path.resolve(process.cwd(), outputFile); - - if (await isDirectory(filePath)) { - log.error("Cannot write to output file path, it is a directory: %s", outputFile); - return false; - } - - try { - await mkdir(path.dirname(filePath), { recursive: true }); - await writeFile(filePath, output); - } catch (ex) { - log.error("There was a problem writing the output file:\n%s", ex); - return false; - } - } else if (output) { - log.info(output); - } - - return true; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Encapsulates all CLI behavior for eslint. Makes it easier to test as well as - * for other Node.js programs to effectively run the CLI. - */ -const cli = { - - /** - * Calculates the command string for the --inspect-config operation. - * @param {string} configFile The path to the config file to inspect. - * @param {boolean} hasUnstableTSConfigFlag `true` if the `unstable_ts_config` flag is enabled, `false` if it's not. - * @returns {Promise} The command string to execute. - */ - async calculateInspectConfigFlags(configFile, hasUnstableTSConfigFlag) { - - // find the config file - const { - configFilePath, - basePath - } = await locateConfigFileToUse({ cwd: process.cwd(), configFile }, hasUnstableTSConfigFlag); - - return ["--config", configFilePath, "--basePath", basePath]; - }, - - /** - * Executes the CLI based on an array of arguments that is passed in. - * @param {string|Array|Object} args The arguments to process. - * @param {string} [text] The text to lint (used for TTY). - * @param {boolean} [allowFlatConfig=true] Whether or not to allow flat config. - * @returns {Promise} The exit code for the operation. - */ - async execute(args, text, allowFlatConfig = true) { - if (Array.isArray(args)) { - debug("CLI args: %o", args.slice(2)); - } - - /* - * Before doing anything, we need to see if we are using a - * flat config file. If so, then we need to change the way command - * line args are parsed. This is temporary, and when we fully - * switch to flat config we can remove this logic. - */ - - const usingFlatConfig = allowFlatConfig && await shouldUseFlatConfig(); - - debug("Using flat config?", usingFlatConfig); - - if (allowFlatConfig && !usingFlatConfig) { - process.emitWarning("You are using an eslintrc configuration file, which is deprecated and support will be removed in v10.0.0. Please migrate to an eslint.config.js file. See https://eslint.org/docs/latest/use/configure/migration-guide for details. An eslintrc configuration file is used because you have the ESLINT_USE_FLAT_CONFIG environment variable set to false. If you want to use an eslint.config.js file, remove the environment variable. If you want to find the location of the eslintrc configuration file, use the --debug flag.", "ESLintRCWarning"); - } - - const CLIOptions = createCLIOptions(usingFlatConfig); - - /** @type {ParsedCLIOptions} */ - let options; - - try { - options = CLIOptions.parse(args); - } catch (error) { - debug("Error parsing CLI options:", error.message); - - let errorMessage = error.message; - - if (usingFlatConfig) { - errorMessage += "\nYou're using eslint.config.js, some command line flags are no longer available. Please see https://eslint.org/docs/latest/use/command-line-interface for details."; - } - - log.error(errorMessage); - return 2; - } - - const files = options._; - const useStdin = typeof text === "string"; - - if (options.help) { - log.info(CLIOptions.generateHelp()); - return 0; - } - if (options.version) { - log.info(RuntimeInfo.version()); - return 0; - } - if (options.envInfo) { - try { - log.info(RuntimeInfo.environment()); - return 0; - } catch (err) { - debug("Error retrieving environment info"); - log.error(err.message); - return 2; - } - } - - if (options.printConfig) { - if (files.length) { - log.error("The --print-config option must be used with exactly one file name."); - return 2; - } - if (useStdin) { - log.error("The --print-config option is not available for piped-in code."); - return 2; - } - - const engine = usingFlatConfig - ? new ESLint(await translateOptions(options, "flat")) - : new LegacyESLint(await translateOptions(options)); - const fileConfig = - await engine.calculateConfigForFile(options.printConfig); - - log.info(JSON.stringify(fileConfig, null, " ")); - return 0; - } - - if (options.inspectConfig) { - - log.info("You can also run this command directly using 'npx @eslint/config-inspector@latest' in the same directory as your configuration file."); - - try { - const flatOptions = await translateOptions(options, "flat"); - const spawn = require("cross-spawn"); - const flags = await cli.calculateInspectConfigFlags(flatOptions.overrideConfigFile, flatOptions.flags ? flatOptions.flags.includes("unstable_ts_config") : false); - - spawn.sync("npx", ["@eslint/config-inspector@latest", ...flags], { encoding: "utf8", stdio: "inherit" }); - } catch (error) { - log.error(error); - return 2; - } - - return 0; - } - - debug(`Running on ${useStdin ? "text" : "files"}`); - - if (options.fix && options.fixDryRun) { - log.error("The --fix option and the --fix-dry-run option cannot be used together."); - return 2; - } - if (useStdin && options.fix) { - log.error("The --fix option is not available for piped-in code; use --fix-dry-run instead."); - return 2; - } - if (options.fixType && !options.fix && !options.fixDryRun) { - log.error("The --fix-type option requires either --fix or --fix-dry-run."); - return 2; - } - - if (options.reportUnusedDisableDirectives && options.reportUnusedDisableDirectivesSeverity !== void 0) { - log.error("The --report-unused-disable-directives option and the --report-unused-disable-directives-severity option cannot be used together."); - return 2; - } - - const ActiveESLint = usingFlatConfig ? ESLint : LegacyESLint; - const eslintOptions = await translateOptions(options, usingFlatConfig ? "flat" : "eslintrc"); - const engine = new ActiveESLint(eslintOptions); - let results; - - if (useStdin) { - results = await engine.lintText(text, { - filePath: options.stdinFilename, - - // flatConfig respects CLI flag and constructor warnIgnored, eslintrc forces true for backwards compatibility - warnIgnored: usingFlatConfig ? void 0 : true - }); - } else { - results = await engine.lintFiles(files); - } - - if (options.fix) { - debug("Fix mode enabled - applying fixes"); - await ActiveESLint.outputFixes(results); - } - - let resultsToPrint = results; - - if (options.quiet) { - debug("Quiet mode enabled - filtering out warnings"); - resultsToPrint = ActiveESLint.getErrorResults(resultsToPrint); - } - - const resultCounts = countErrors(results); - const tooManyWarnings = options.maxWarnings >= 0 && resultCounts.warningCount > options.maxWarnings; - const resultsMeta = tooManyWarnings - ? { - maxWarningsExceeded: { - maxWarnings: options.maxWarnings, - foundWarnings: resultCounts.warningCount - } - } - : {}; - - if (await printResults(engine, resultsToPrint, options.format, options.outputFile, resultsMeta)) { - - // Errors and warnings from the original unfiltered results should determine the exit code - const shouldExitForFatalErrors = - options.exitOnFatalError && resultCounts.fatalErrorCount > 0; - - if (!resultCounts.errorCount && tooManyWarnings) { - log.error( - "ESLint found too many warnings (maximum: %s).", - options.maxWarnings - ); - } - - if (shouldExitForFatalErrors) { - return 2; - } - - return (resultCounts.errorCount || tooManyWarnings) ? 1 : 0; - } - - return 2; - } -}; - -module.exports = cli; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config-loader.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config-loader.js deleted file mode 100644 index 845cd0c9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config-loader.js +++ /dev/null @@ -1,719 +0,0 @@ -/** - * @fileoverview Utility to load config files - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const path = require("node:path"); -const fs = require("node:fs/promises"); -const findUp = require("find-up"); -const { pathToFileURL } = require("node:url"); -const debug = require("debug")("eslint:config-loader"); -const { FlatConfigArray } = require("./flat-config-array"); - -//----------------------------------------------------------------------------- -// Types -//----------------------------------------------------------------------------- - -/** - * @typedef {import("../shared/types").FlatConfigObject} FlatConfigObject - * @typedef {import("../shared/types").FlatConfigArray} FlatConfigArray - * @typedef {Object} ConfigLoaderOptions - * @property {string|false|undefined} configFile The path to the config file to use. - * @property {string} cwd The current working directory. - * @property {boolean} ignoreEnabled Indicates if ignore patterns should be honored. - * @property {FlatConfigArray} [baseConfig] The base config to use. - * @property {Array} [defaultConfigs] The default configs to use. - * @property {Array} [ignorePatterns] The ignore patterns to use. - * @property {FlatConfigObject|Array} overrideConfig The override config to use. - * @property {boolean} allowTS Indicates if TypeScript configuration files are allowed. - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const FLAT_CONFIG_FILENAMES = [ - "eslint.config.js", - "eslint.config.mjs", - "eslint.config.cjs" -]; - -const TS_FLAT_CONFIG_FILENAMES = [ - "eslint.config.ts", - "eslint.config.mts", - "eslint.config.cts" -]; - -const importedConfigFileModificationTime = new Map(); - -/** - * Asserts that the given file path is valid. - * @param {string} filePath The file path to check. - * @returns {void} - * @throws {Error} If `filePath` is not a non-empty string. - */ -function assertValidFilePath(filePath) { - if (!filePath || typeof filePath !== "string") { - throw new Error("'filePath' must be a non-empty string"); - } -} - -/** - * Asserts that a configuration exists. A configuration exists if any - * of the following are true: - * - `configFilePath` is defined. - * - `useConfigFile` is `false`. - * @param {string|undefined} configFilePath The path to the config file. - * @param {ConfigLoaderOptions} loaderOptions The options to use when loading configuration files. - * @returns {void} - * @throws {Error} If no configuration exists. - */ -function assertConfigurationExists(configFilePath, loaderOptions) { - - const { - configFile: useConfigFile - } = loaderOptions; - - if (!configFilePath && useConfigFile !== false) { - const error = new Error("Could not find config file."); - - error.messageTemplate = "config-file-missing"; - throw error; - } - -} - -/** - * Check if the file is a TypeScript file. - * @param {string} filePath The file path to check. - * @returns {boolean} `true` if the file is a TypeScript file, `false` if it's not. - */ -function isFileTS(filePath) { - const fileExtension = path.extname(filePath); - - return /^\.[mc]?ts$/u.test(fileExtension); -} - -/** - * Check if ESLint is running in Bun. - * @returns {boolean} `true` if the ESLint is running Bun, `false` if it's not. - */ -function isRunningInBun() { - return !!globalThis.Bun; -} - -/** - * Check if ESLint is running in Deno. - * @returns {boolean} `true` if the ESLint is running in Deno, `false` if it's not. - */ -function isRunningInDeno() { - return !!globalThis.Deno; -} - -/** - * Load the config array from the given filename. - * @param {string} filePath The filename to load from. - * @param {boolean} allowTS Indicates if TypeScript configuration files are allowed. - * @returns {Promise} The config loaded from the config file. - */ -async function loadConfigFile(filePath, allowTS) { - - debug(`Loading config from ${filePath}`); - - const fileURL = pathToFileURL(filePath); - - debug(`Config file URL is ${fileURL}`); - - const mtime = (await fs.stat(filePath)).mtime.getTime(); - - /* - * Append a query with the config file's modification time (`mtime`) in order - * to import the current version of the config file. Without the query, `import()` would - * cache the config file module by the pathname only, and then always return - * the same version (the one that was actual when the module was imported for the first time). - * - * This ensures that the config file module is loaded and executed again - * if it has been changed since the last time it was imported. - * If it hasn't been changed, `import()` will just return the cached version. - * - * Note that we should not overuse queries (e.g., by appending the current time - * to always reload the config file module) as that could cause memory leaks - * because entries are never removed from the import cache. - */ - fileURL.searchParams.append("mtime", mtime); - - /* - * With queries, we can bypass the import cache. However, when import-ing a CJS module, - * Node.js uses the require infrastructure under the hood. That includes the require cache, - * which caches the config file module by its file path (queries have no effect). - * Therefore, we also need to clear the require cache before importing the config file module. - * In order to get the same behavior with ESM and CJS config files, in particular - to reload - * the config file only if it has been changed, we track file modification times and clear - * the require cache only if the file has been changed. - */ - if (importedConfigFileModificationTime.get(filePath) !== mtime) { - delete require.cache[filePath]; - } - - const isTS = isFileTS(filePath); - const isBun = isRunningInBun(); - const isDeno = isRunningInDeno(); - - /* - * If we are dealing with a TypeScript file, then we need to use `jiti` to load it - * in Node.js. Deno and Bun both allow native importing of TypeScript files. - * - * When Node.js supports native TypeScript imports, we can remove this check. - */ - if (allowTS && isTS && !isDeno && !isBun) { - - // eslint-disable-next-line no-use-before-define -- `ConfigLoader.loadJiti` can be overwritten for testing - const { createJiti } = await ConfigLoader.loadJiti().catch(() => { - throw new Error("The 'jiti' library is required for loading TypeScript configuration files. Make sure to install it."); - }); - - // `createJiti` was added in jiti v2. - if (typeof createJiti !== "function") { - throw new Error("You are using an outdated version of the 'jiti' library. Please update to the latest version of 'jiti' to ensure compatibility and access to the latest features."); - } - - /* - * Disabling `moduleCache` allows us to reload a - * config file when the last modified timestamp changes. - */ - - const jiti = createJiti(__filename, { moduleCache: false, interopDefault: false }); - const config = await jiti.import(fileURL.href); - - importedConfigFileModificationTime.set(filePath, mtime); - - return config?.default ?? config; - } - - - // fallback to normal runtime behavior - - const config = (await import(fileURL)).default; - - importedConfigFileModificationTime.set(filePath, mtime); - - return config; -} - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -/** - * Encapsulates the loading and caching of configuration files when looking up - * from the file being linted. - */ -class ConfigLoader { - - /** - * Map of config file paths to the config arrays for those directories. - * @type {Map>} - */ - #configArrays = new Map(); - - /** - * Map of absolute directory names to the config file paths for those directories. - * @type {Map>} - */ - #configFilePaths = new Map(); - - /** - * The options to use when loading configuration files. - * @type {ConfigLoaderOptions} - */ - #options; - - /** - * Creates a new instance. - * @param {ConfigLoaderOptions} options The options to use when loading configuration files. - */ - constructor(options) { - this.#options = options; - } - - /** - * Determines which config file to use. This is determined by seeing if an - * override config file was specified, and if so, using it; otherwise, as long - * as override config file is not explicitly set to `false`, it will search - * upwards from `fromDirectory` for a file named `eslint.config.js`. - * @param {string} fromDirectory The directory from which to start searching. - * @returns {Promise<{configFilePath:string|undefined,basePath:string}>} Location information for - * the config file. - */ - async #locateConfigFileToUse(fromDirectory) { - - // check cache first - if (this.#configFilePaths.has(fromDirectory)) { - return this.#configFilePaths.get(fromDirectory); - } - - const resultPromise = ConfigLoader.locateConfigFileToUse({ - useConfigFile: this.#options.configFile, - cwd: this.#options.cwd, - fromDirectory, - allowTS: this.#options.allowTS - }); - - // ensure `ConfigLoader.locateConfigFileToUse` is called only once for `fromDirectory` - this.#configFilePaths.set(fromDirectory, resultPromise); - - // Unwrap the promise. This is primarily for the sync `getCachedConfigArrayForPath` method. - const result = await resultPromise; - - this.#configFilePaths.set(fromDirectory, result); - - return result; - } - - /** - * Calculates the config array for this run based on inputs. - * @param {string} configFilePath The absolute path to the config file to use if not overridden. - * @param {string} basePath The base path to use for relative paths in the config file. - * @returns {Promise} The config array for `eslint`. - */ - async #calculateConfigArray(configFilePath, basePath) { - - // check for cached version first - if (this.#configArrays.has(configFilePath)) { - return this.#configArrays.get(configFilePath); - } - - const configsPromise = ConfigLoader.calculateConfigArray(configFilePath, basePath, this.#options); - - // ensure `ConfigLoader.calculateConfigArray` is called only once for `configFilePath` - this.#configArrays.set(configFilePath, configsPromise); - - // Unwrap the promise. This is primarily for the sync `getCachedConfigArrayForPath` method. - const configs = await configsPromise; - - this.#configArrays.set(configFilePath, configs); - - return configs; - } - - /** - * Returns the config file path for the given directory or file. This will either use - * the override config file that was specified in the constructor options or - * search for a config file from the directory. - * @param {string} fileOrDirPath The file or directory path to get the config file path for. - * @returns {Promise} The config file path or `undefined` if not found. - * @throws {Error} If `fileOrDirPath` is not a non-empty string. - * @throws {Error} If `fileOrDirPath` is not an absolute path. - */ - async findConfigFileForPath(fileOrDirPath) { - - assertValidFilePath(fileOrDirPath); - - const absoluteDirPath = path.resolve(this.#options.cwd, path.dirname(fileOrDirPath)); - const { configFilePath } = await this.#locateConfigFileToUse(absoluteDirPath); - - return configFilePath; - } - - /** - * Returns a configuration object for the given file based on the CLI options. - * This is the same logic used by the ESLint CLI executable to determine - * configuration for each file it processes. - * @param {string} filePath The path of the file or directory to retrieve config for. - * @returns {Promise} A configuration object for the file - * or `undefined` if there is no configuration data for the file. - * @throws {Error} If no configuration for `filePath` exists. - */ - async loadConfigArrayForFile(filePath) { - - assertValidFilePath(filePath); - - debug(`Calculating config for file ${filePath}`); - - const configFilePath = await this.findConfigFileForPath(filePath); - - assertConfigurationExists(configFilePath, this.#options); - - return this.loadConfigArrayForDirectory(filePath); - } - - /** - * Returns a configuration object for the given directory based on the CLI options. - * This is the same logic used by the ESLint CLI executable to determine - * configuration for each file it processes. - * @param {string} dirPath The path of the directory to retrieve config for. - * @returns {Promise} A configuration object for the directory - * or `undefined` if there is no configuration data for the directory. - */ - async loadConfigArrayForDirectory(dirPath) { - - assertValidFilePath(dirPath); - - debug(`Calculating config for directory ${dirPath}`); - - const absoluteDirPath = path.resolve(this.#options.cwd, path.dirname(dirPath)); - const { configFilePath, basePath } = await this.#locateConfigFileToUse(absoluteDirPath); - - debug(`Using config file ${configFilePath} and base path ${basePath}`); - return this.#calculateConfigArray(configFilePath, basePath); - } - - /** - * Returns a configuration array for the given file based on the CLI options. - * This is a synchronous operation and does not read any files from disk. It's - * intended to be used in locations where we know the config file has already - * been loaded and we just need to get the configuration for a file. - * @param {string} filePath The path of the file to retrieve a config object for. - * @returns {ConfigData|undefined} A configuration object for the file - * or `undefined` if there is no configuration data for the file. - * @throws {Error} If `filePath` is not a non-empty string. - * @throws {Error} If `filePath` is not an absolute path. - * @throws {Error} If the config file was not already loaded. - */ - getCachedConfigArrayForFile(filePath) { - assertValidFilePath(filePath); - - debug(`Looking up cached config for ${filePath}`); - - return this.getCachedConfigArrayForPath(path.dirname(filePath)); - } - - /** - * Returns a configuration array for the given directory based on the CLI options. - * This is a synchronous operation and does not read any files from disk. It's - * intended to be used in locations where we know the config file has already - * been loaded and we just need to get the configuration for a file. - * @param {string} fileOrDirPath The path of the directory to retrieve a config object for. - * @returns {ConfigData|undefined} A configuration object for the directory - * or `undefined` if there is no configuration data for the directory. - * @throws {Error} If `dirPath` is not a non-empty string. - * @throws {Error} If `dirPath` is not an absolute path. - * @throws {Error} If the config file was not already loaded. - */ - getCachedConfigArrayForPath(fileOrDirPath) { - assertValidFilePath(fileOrDirPath); - - debug(`Looking up cached config for ${fileOrDirPath}`); - - const absoluteDirPath = path.resolve(this.#options.cwd, fileOrDirPath); - - if (!this.#configFilePaths.has(absoluteDirPath)) { - throw new Error(`Could not find config file for ${fileOrDirPath}`); - } - - const configFilePathInfo = this.#configFilePaths.get(absoluteDirPath); - - if (typeof configFilePathInfo.then === "function") { - throw new Error(`Config file path for ${fileOrDirPath} has not yet been calculated or an error occurred during the calculation`); - } - - const { configFilePath } = configFilePathInfo; - - const configArray = this.#configArrays.get(configFilePath); - - if (!configArray || typeof configArray.then === "function") { - throw new Error(`Config array for ${fileOrDirPath} has not yet been calculated or an error occurred during the calculation`); - } - - return configArray; - } - - /** - * Used to import the jiti dependency. This method is exposed internally for testing purposes. - * @returns {Promise>} A promise that fulfills with a module object - * or rejects with an error if jiti is not found. - */ - static loadJiti() { - return import("jiti"); - } - - /** - * Determines which config file to use. This is determined by seeing if an - * override config file was specified, and if so, using it; otherwise, as long - * as override config file is not explicitly set to `false`, it will search - * upwards from `fromDirectory` for a file named `eslint.config.js`. - * This method is exposed internally for testing purposes. - * @param {Object} [options] the options object - * @param {string|false|undefined} options.useConfigFile The path to the config file to use. - * @param {string} options.cwd Path to a directory that should be considered as the current working directory. - * @param {string} [options.fromDirectory] The directory from which to start searching. Defaults to `cwd`. - * @param {boolean} options.allowTS Indicates if TypeScript configuration files are allowed. - * @returns {Promise<{configFilePath:string|undefined,basePath:string}>} Location information for - * the config file. - */ - static async locateConfigFileToUse({ useConfigFile, cwd, fromDirectory = cwd, allowTS }) { - - const configFilenames = allowTS - ? [...FLAT_CONFIG_FILENAMES, ...TS_FLAT_CONFIG_FILENAMES] - : FLAT_CONFIG_FILENAMES; - - // determine where to load config file from - let configFilePath; - let basePath = cwd; - - if (typeof useConfigFile === "string") { - debug(`Override config file path is ${useConfigFile}`); - configFilePath = path.resolve(cwd, useConfigFile); - basePath = cwd; - } else if (useConfigFile !== false) { - debug("Searching for eslint.config.js"); - configFilePath = await findUp( - configFilenames, - { cwd: fromDirectory } - ); - - if (configFilePath) { - basePath = path.dirname(configFilePath); - } - - } - - return { - configFilePath, - basePath - }; - - } - - /** - * Calculates the config array for this run based on inputs. - * This method is exposed internally for testing purposes. - * @param {string} configFilePath The absolute path to the config file to use if not overridden. - * @param {string} basePath The base path to use for relative paths in the config file. - * @param {ConfigLoaderOptions} options The options to use when loading configuration files. - * @returns {Promise} The config array for `eslint`. - */ - static async calculateConfigArray(configFilePath, basePath, options) { - - const { - cwd, - baseConfig, - ignoreEnabled, - ignorePatterns, - overrideConfig, - defaultConfigs = [], - allowTS - } = options; - - debug(`Calculating config array from config file ${configFilePath} and base path ${basePath}`); - - const configs = new FlatConfigArray(baseConfig || [], { basePath, shouldIgnore: ignoreEnabled }); - - // load config file - if (configFilePath) { - - debug(`Loading config file ${configFilePath}`); - const fileConfig = await loadConfigFile(configFilePath, allowTS); - - if (Array.isArray(fileConfig)) { - configs.push(...fileConfig); - } else { - configs.push(fileConfig); - } - } - - // add in any configured defaults - configs.push(...defaultConfigs); - - // append command line ignore patterns - if (ignorePatterns && ignorePatterns.length > 0) { - - let relativeIgnorePatterns; - - /* - * If the config file basePath is different than the cwd, then - * the ignore patterns won't work correctly. Here, we adjust the - * ignore pattern to include the correct relative path. Patterns - * passed as `ignorePatterns` are relative to the cwd, whereas - * the config file basePath can be an ancestor of the cwd. - */ - if (basePath === cwd) { - relativeIgnorePatterns = ignorePatterns; - } else { - - // relative path must only have Unix-style separators - const relativeIgnorePath = path.relative(basePath, cwd).replace(/\\/gu, "/"); - - relativeIgnorePatterns = ignorePatterns.map(pattern => { - const negated = pattern.startsWith("!"); - const basePattern = negated ? pattern.slice(1) : pattern; - - return (negated ? "!" : "") + - path.posix.join(relativeIgnorePath, basePattern); - }); - } - - /* - * Ignore patterns are added to the end of the config array - * so they can override default ignores. - */ - configs.push({ - ignores: relativeIgnorePatterns - }); - } - - if (overrideConfig) { - if (Array.isArray(overrideConfig)) { - configs.push(...overrideConfig); - } else { - configs.push(overrideConfig); - } - } - - await configs.normalize(); - - return configs; - } - -} - -/** - * Encapsulates the loading and caching of configuration files when looking up - * from the current working directory. - */ -class LegacyConfigLoader extends ConfigLoader { - - /** - * The options to use when loading configuration files. - * @type {ConfigLoaderOptions} - */ - #options; - - /** - * The cached config file path for this instance. - * @type {Promise<{configFilePath:string,basePath:string}|undefined>} - */ - #configFilePath; - - /** - * The cached config array for this instance. - * @type {FlatConfigArray|Promise} - */ - #configArray; - - /** - * Creates a new instance. - * @param {ConfigLoaderOptions} options The options to use when loading configuration files. - */ - constructor(options) { - super(options); - this.#options = options; - } - - /** - * Determines which config file to use. This is determined by seeing if an - * override config file was specified, and if so, using it; otherwise, as long - * as override config file is not explicitly set to `false`, it will search - * upwards from the cwd for a file named `eslint.config.js`. - * @returns {Promise<{configFilePath:string|undefined,basePath:string}>} Location information for - * the config file. - */ - #locateConfigFileToUse() { - if (!this.#configFilePath) { - this.#configFilePath = ConfigLoader.locateConfigFileToUse({ - useConfigFile: this.#options.configFile, - cwd: this.#options.cwd, - allowTS: this.#options.allowTS - }); - } - - return this.#configFilePath; - } - - /** - * Calculates the config array for this run based on inputs. - * @param {string} configFilePath The absolute path to the config file to use if not overridden. - * @param {string} basePath The base path to use for relative paths in the config file. - * @returns {Promise} The config array for `eslint`. - */ - async #calculateConfigArray(configFilePath, basePath) { - - // check for cached version first - if (this.#configArray) { - return this.#configArray; - } - - // ensure `ConfigLoader.calculateConfigArray` is called only once - this.#configArray = ConfigLoader.calculateConfigArray(configFilePath, basePath, this.#options); - - // Unwrap the promise. This is primarily for the sync `getCachedConfigArrayForPath` method. - this.#configArray = await this.#configArray; - - return this.#configArray; - } - - - /** - * Returns the config file path for the given directory. This will either use - * the override config file that was specified in the constructor options or - * search for a config file from the directory of the file being linted. - * @param {string} dirPath The directory path to get the config file path for. - * @returns {Promise} The config file path or `undefined` if not found. - * @throws {Error} If `fileOrDirPath` is not a non-empty string. - * @throws {Error} If `fileOrDirPath` is not an absolute path. - */ - async findConfigFileForPath(dirPath) { - - assertValidFilePath(dirPath); - - const { configFilePath } = await this.#locateConfigFileToUse(); - - return configFilePath; - } - - /** - * Returns a configuration object for the given file based on the CLI options. - * This is the same logic used by the ESLint CLI executable to determine - * configuration for each file it processes. - * @param {string} dirPath The path of the directory to retrieve config for. - * @returns {Promise} A configuration object for the file - * or `undefined` if there is no configuration data for the file. - */ - async loadConfigArrayForDirectory(dirPath) { - - assertValidFilePath(dirPath); - - debug(`[Legacy]: Calculating config for ${dirPath}`); - - const { configFilePath, basePath } = await this.#locateConfigFileToUse(); - - debug(`[Legacy]: Using config file ${configFilePath} and base path ${basePath}`); - return this.#calculateConfigArray(configFilePath, basePath); - } - - /** - * Returns a configuration array for the given directory based on the CLI options. - * This is a synchronous operation and does not read any files from disk. It's - * intended to be used in locations where we know the config file has already - * been loaded and we just need to get the configuration for a file. - * @param {string} dirPath The path of the directory to retrieve a config object for. - * @returns {ConfigData|undefined} A configuration object for the file - * or `undefined` if there is no configuration data for the file. - * @throws {Error} If `dirPath` is not a non-empty string. - * @throws {Error} If `dirPath` is not an absolute path. - * @throws {Error} If the config file was not already loaded. - */ - getCachedConfigArrayForPath(dirPath) { - assertValidFilePath(dirPath); - - debug(`[Legacy]: Looking up cached config for ${dirPath}`); - - if (!this.#configArray) { - throw new Error(`Could not find config file for ${dirPath}`); - } - - if (typeof this.#configArray.then === "function") { - throw new Error(`Config array for ${dirPath} has not yet been calculated or an error occurred during the calculation`); - } - - return this.#configArray; - } -} - -module.exports = { ConfigLoader, LegacyConfigLoader }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config.js deleted file mode 100644 index 009d09fa..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/config.js +++ /dev/null @@ -1,297 +0,0 @@ -/** - * @fileoverview The `Config` class - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const { deepMergeArrays } = require("../shared/deep-merge-arrays"); -const { getRuleFromConfig } = require("./flat-config-helpers"); -const { flatConfigSchema, hasMethod } = require("./flat-config-schema"); -const { RuleValidator } = require("./rule-validator"); -const { ObjectSchema } = require("@eslint/config-array"); - -//----------------------------------------------------------------------------- -// Helpers -//----------------------------------------------------------------------------- - -const ruleValidator = new RuleValidator(); - -const severities = new Map([ - [0, 0], - [1, 1], - [2, 2], - ["off", 0], - ["warn", 1], - ["error", 2] -]); - -/** - * Splits a plugin identifier in the form a/b/c into two parts: a/b and c. - * @param {string} identifier The identifier to parse. - * @returns {{objectName: string, pluginName: string}} The parts of the plugin - * name. - */ -function splitPluginIdentifier(identifier) { - const parts = identifier.split("/"); - - return { - objectName: parts.pop(), - pluginName: parts.join("/") - }; -} - -/** - * Returns the name of an object in the config by reading its `meta` key. - * @param {Object} object The object to check. - * @returns {string?} The name of the object if found or `null` if there - * is no name. - */ -function getObjectId(object) { - - // first check old-style name - let name = object.name; - - if (!name) { - - if (!object.meta) { - return null; - } - - name = object.meta.name; - - if (!name) { - return null; - } - } - - // now check for old-style version - let version = object.version; - - if (!version) { - version = object.meta && object.meta.version; - } - - // if there's a version then append that - if (version) { - return `${name}@${version}`; - } - - return name; -} - -/** - * Converts a languageOptions object to a JSON representation. - * @param {Record} languageOptions The options to create a JSON - * representation of. - * @param {string} objectKey The key of the object being converted. - * @returns {Record} The JSON representation of the languageOptions. - * @throws {TypeError} If a function is found in the languageOptions. - */ -function languageOptionsToJSON(languageOptions, objectKey = "languageOptions") { - - const result = {}; - - for (const [key, value] of Object.entries(languageOptions)) { - if (value) { - if (typeof value === "object") { - const name = getObjectId(value); - - if (name && hasMethod(value)) { - result[key] = name; - } else { - result[key] = languageOptionsToJSON(value, key); - } - continue; - } - - if (typeof value === "function") { - throw new TypeError(`Cannot serialize key "${key}" in ${objectKey}: Function values are not supported.`); - } - - } - - result[key] = value; - } - - return result; -} - - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -/** - * Represents a normalized configuration object. - */ -class Config { - - /** - * The name to use for the language when serializing to JSON. - * @type {string|undefined} - */ - #languageName; - - /** - * The name to use for the processor when serializing to JSON. - * @type {string|undefined} - */ - #processorName; - - /** - * Creates a new instance. - * @param {Object} config The configuration object. - */ - constructor(config) { - - const { plugins, language, languageOptions, processor, ...otherKeys } = config; - - // Validate config object - const schema = new ObjectSchema(flatConfigSchema); - - schema.validate(config); - - // first, copy all the other keys over - Object.assign(this, otherKeys); - - // ensure that a language is specified - if (!language) { - throw new TypeError("Key 'language' is required."); - } - - // copy the rest over - this.plugins = plugins; - this.language = language; - - // Check language value - const { pluginName: languagePluginName, objectName: localLanguageName } = splitPluginIdentifier(language); - - this.#languageName = language; - - if (!plugins || !plugins[languagePluginName] || !plugins[languagePluginName].languages || !plugins[languagePluginName].languages[localLanguageName]) { - throw new TypeError(`Key "language": Could not find "${localLanguageName}" in plugin "${languagePluginName}".`); - } - - this.language = plugins[languagePluginName].languages[localLanguageName]; - - if (this.language.defaultLanguageOptions ?? languageOptions) { - this.languageOptions = flatConfigSchema.languageOptions.merge( - this.language.defaultLanguageOptions, - languageOptions - ); - } else { - this.languageOptions = {}; - } - - // Validate language options - try { - this.language.validateLanguageOptions(this.languageOptions); - } catch (error) { - throw new TypeError(`Key "languageOptions": ${error.message}`, { cause: error }); - } - - // Normalize language options if necessary - if (this.language.normalizeLanguageOptions) { - this.languageOptions = this.language.normalizeLanguageOptions(this.languageOptions); - } - - // Check processor value - if (processor) { - this.processor = processor; - - if (typeof processor === "string") { - const { pluginName, objectName: localProcessorName } = splitPluginIdentifier(processor); - - this.#processorName = processor; - - if (!plugins || !plugins[pluginName] || !plugins[pluginName].processors || !plugins[pluginName].processors[localProcessorName]) { - throw new TypeError(`Key "processor": Could not find "${localProcessorName}" in plugin "${pluginName}".`); - } - - this.processor = plugins[pluginName].processors[localProcessorName]; - } else if (typeof processor === "object") { - this.#processorName = getObjectId(processor); - this.processor = processor; - } else { - throw new TypeError("Key 'processor' must be a string or an object."); - } - } - - // Process the rules - if (this.rules) { - this.#normalizeRulesConfig(); - ruleValidator.validate(this); - } - } - - /** - * Converts the configuration to a JSON representation. - * @returns {Record} The JSON representation of the configuration. - * @throws {Error} If the configuration cannot be serialized. - */ - toJSON() { - - if (this.processor && !this.#processorName) { - throw new Error("Could not serialize processor object (missing 'meta' object)."); - } - - if (!this.#languageName) { - throw new Error("Could not serialize language object (missing 'meta' object)."); - } - - return { - ...this, - plugins: Object.entries(this.plugins).map(([namespace, plugin]) => { - - const pluginId = getObjectId(plugin); - - if (!pluginId) { - return namespace; - } - - return `${namespace}:${pluginId}`; - }), - language: this.#languageName, - languageOptions: languageOptionsToJSON(this.languageOptions), - processor: this.#processorName - }; - } - - /** - * Normalizes the rules configuration. Ensures that each rule config is - * an array and that the severity is a number. Applies meta.defaultOptions. - * This function modifies `this.rules`. - * @returns {void} - */ - #normalizeRulesConfig() { - for (const [ruleId, originalConfig] of Object.entries(this.rules)) { - - // ensure rule config is an array - let ruleConfig = Array.isArray(originalConfig) - ? originalConfig - : [originalConfig]; - - // normalize severity - ruleConfig[0] = severities.get(ruleConfig[0]); - - const rule = getRuleFromConfig(ruleId, this); - - // apply meta.defaultOptions - const slicedOptions = ruleConfig.slice(1); - const mergedOptions = deepMergeArrays(rule?.meta?.defaultOptions, slicedOptions); - - if (mergedOptions.length) { - ruleConfig = [ruleConfig[0], ...mergedOptions]; - } - - this.rules[ruleId] = ruleConfig; - } - } -} - -module.exports = { Config }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/default-config.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/default-config.js deleted file mode 100644 index 1b4ec45c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/default-config.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * @fileoverview Default configuration - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const Rules = require("../rules"); - -//----------------------------------------------------------------------------- -// Helpers -//----------------------------------------------------------------------------- - -exports.defaultConfig = Object.freeze([ - { - plugins: { - "@": { - - languages: { - js: require("../languages/js") - }, - - /* - * Because we try to delay loading rules until absolutely - * necessary, a proxy allows us to hook into the lazy-loading - * aspect of the rules map while still keeping all of the - * relevant configuration inside of the config array. - */ - rules: new Proxy({}, { - get(target, property) { - return Rules.get(property); - }, - - has(target, property) { - return Rules.has(property); - } - }) - } - }, - language: "@/js", - linterOptions: { - reportUnusedDisableDirectives: 1 - } - }, - - // default ignores are listed here - { - ignores: [ - "**/node_modules/", - ".git/" - ] - }, - - // intentionally empty config to ensure these files are globbed by default - { - files: ["**/*.js", "**/*.mjs"] - }, - { - files: ["**/*.cjs"], - languageOptions: { - sourceType: "commonjs", - ecmaVersion: "latest" - } - } -]); diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-array.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-array.js deleted file mode 100644 index 7c911019..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-array.js +++ /dev/null @@ -1,222 +0,0 @@ -/** - * @fileoverview Flat Config Array - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const { ConfigArray, ConfigArraySymbol } = require("@eslint/config-array"); -const { flatConfigSchema } = require("./flat-config-schema"); -const { defaultConfig } = require("./default-config"); -const { Config } = require("./config"); - -//----------------------------------------------------------------------------- -// Helpers -//----------------------------------------------------------------------------- - -/** - * Fields that are considered metadata and not part of the config object. - */ -const META_FIELDS = new Set(["name"]); - -/** - * Wraps a config error with details about where the error occurred. - * @param {Error} error The original error. - * @param {number} originalLength The original length of the config array. - * @param {number} baseLength The length of the base config. - * @returns {TypeError} The new error with details. - */ -function wrapConfigErrorWithDetails(error, originalLength, baseLength) { - - let location = "user-defined"; - let configIndex = error.index; - - /* - * A config array is set up in this order: - * 1. Base config - * 2. Original configs - * 3. User-defined configs - * 4. CLI-defined configs - * - * So we need to adjust the index to account for the base config. - * - * - If the index is less than the base length, it's in the base config - * (as specified by `baseConfig` argument to `FlatConfigArray` constructor). - * - If the index is greater than the base length but less than the original - * length + base length, it's in the original config. The original config - * is passed to the `FlatConfigArray` constructor as the first argument. - * - Otherwise, it's in the user-defined config, which is loaded from the - * config file and merged with any command-line options. - */ - if (error.index < baseLength) { - location = "base"; - } else if (error.index < originalLength + baseLength) { - location = "original"; - configIndex = error.index - baseLength; - } else { - configIndex = error.index - originalLength - baseLength; - } - - return new TypeError( - `${error.message.slice(0, -1)} at ${location} index ${configIndex}.`, - { cause: error } - ); -} - - -const originalBaseConfig = Symbol("originalBaseConfig"); -const originalLength = Symbol("originalLength"); -const baseLength = Symbol("baseLength"); - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -/** - * Represents an array containing configuration information for ESLint. - */ -class FlatConfigArray extends ConfigArray { - - /** - * Creates a new instance. - * @param {*[]} configs An array of configuration information. - * @param {{basePath: string, shouldIgnore: boolean, baseConfig: FlatConfig}} options The options - * to use for the config array instance. - */ - constructor(configs, { - basePath, - shouldIgnore = true, - baseConfig = defaultConfig - } = {}) { - super(configs, { - basePath, - schema: flatConfigSchema - }); - - /** - * The original length of the array before any modifications. - * @type {number} - */ - this[originalLength] = this.length; - - if (baseConfig[Symbol.iterator]) { - this.unshift(...baseConfig); - } else { - this.unshift(baseConfig); - } - - /** - * The length of the array after applying the base config. - * @type {number} - */ - this[baseLength] = this.length - this[originalLength]; - - /** - * The base config used to build the config array. - * @type {Array} - */ - this[originalBaseConfig] = baseConfig; - Object.defineProperty(this, originalBaseConfig, { writable: false }); - - /** - * Determines if `ignores` fields should be honored. - * If true, then all `ignores` fields are honored. - * if false, then only `ignores` fields in the baseConfig are honored. - * @type {boolean} - */ - this.shouldIgnore = shouldIgnore; - Object.defineProperty(this, "shouldIgnore", { writable: false }); - } - - /** - * Normalizes the array by calling the superclass method and catching/rethrowing - * any ConfigError exceptions with additional details. - * @param {any} [context] The context to use to normalize the array. - * @returns {Promise} A promise that resolves when the array is normalized. - */ - normalize(context) { - return super.normalize(context) - .catch(error => { - if (error.name === "ConfigError") { - throw wrapConfigErrorWithDetails(error, this[originalLength], this[baseLength]); - } - - throw error; - - }); - } - - /** - * Normalizes the array by calling the superclass method and catching/rethrowing - * any ConfigError exceptions with additional details. - * @param {any} [context] The context to use to normalize the array. - * @returns {FlatConfigArray} The current instance. - * @throws {TypeError} If the config is invalid. - */ - normalizeSync(context) { - - try { - - return super.normalizeSync(context); - - } catch (error) { - - if (error.name === "ConfigError") { - throw wrapConfigErrorWithDetails(error, this[originalLength], this[baseLength]); - } - - throw error; - - } - - } - - /* eslint-disable class-methods-use-this -- Desired as instance method */ - /** - * Replaces a config with another config to allow us to put strings - * in the config array that will be replaced by objects before - * normalization. - * @param {Object} config The config to preprocess. - * @returns {Object} The preprocessed config. - */ - [ConfigArraySymbol.preprocessConfig](config) { - - /* - * If a config object has `ignores` and no other non-meta fields, then it's an object - * for global ignores. If `shouldIgnore` is false, that object shouldn't apply, - * so we'll remove its `ignores`. - */ - if ( - !this.shouldIgnore && - !this[originalBaseConfig].includes(config) && - config.ignores && - Object.keys(config).filter(key => !META_FIELDS.has(key)).length === 1 - ) { - /* eslint-disable-next-line no-unused-vars -- need to strip off other keys */ - const { ignores, ...otherKeys } = config; - - return otherKeys; - } - - return config; - } - - /** - * Finalizes the config by replacing plugin references with their objects - * and validating rule option schemas. - * @param {Object} config The config to finalize. - * @returns {Object} The finalized config. - * @throws {TypeError} If the config is invalid. - */ - [ConfigArraySymbol.finalizeConfig](config) { - return new Config(config); - } - /* eslint-enable class-methods-use-this -- Desired as instance method */ - -} - -exports.FlatConfigArray = FlatConfigArray; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-helpers.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-helpers.js deleted file mode 100644 index a904a0dd..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-helpers.js +++ /dev/null @@ -1,128 +0,0 @@ -/** - * @fileoverview Shared functions to work with configs. - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** @typedef {import("../shared/types").Rule} Rule */ - -//------------------------------------------------------------------------------ -// Private Members -//------------------------------------------------------------------------------ - -// JSON schema that disallows passing any options -const noOptionsSchema = Object.freeze({ - type: "array", - minItems: 0, - maxItems: 0 -}); - -//----------------------------------------------------------------------------- -// Functions -//----------------------------------------------------------------------------- - -/** - * Parses a ruleId into its plugin and rule parts. - * @param {string} ruleId The rule ID to parse. - * @returns {{pluginName:string,ruleName:string}} The plugin and rule - * parts of the ruleId; - */ -function parseRuleId(ruleId) { - let pluginName, ruleName; - - // distinguish between core rules and plugin rules - if (ruleId.includes("/")) { - - // mimic scoped npm packages - if (ruleId.startsWith("@")) { - pluginName = ruleId.slice(0, ruleId.lastIndexOf("/")); - } else { - pluginName = ruleId.slice(0, ruleId.indexOf("/")); - } - - ruleName = ruleId.slice(pluginName.length + 1); - } else { - pluginName = "@"; - ruleName = ruleId; - } - - return { - pluginName, - ruleName - }; -} - -/** - * Retrieves a rule instance from a given config based on the ruleId. - * @param {string} ruleId The rule ID to look for. - * @param {FlatConfig} config The config to search. - * @returns {import("../shared/types").Rule|undefined} The rule if found - * or undefined if not. - */ -function getRuleFromConfig(ruleId, config) { - const { pluginName, ruleName } = parseRuleId(ruleId); - - return config.plugins?.[pluginName]?.rules?.[ruleName]; -} - -/** - * Gets a complete options schema for a rule. - * @param {Rule} rule A rule object - * @throws {TypeError} If `meta.schema` is specified but is not an array, object or `false`. - * @returns {Object|null} JSON Schema for the rule's options. `null` if `meta.schema` is `false`. - */ -function getRuleOptionsSchema(rule) { - - if (!rule.meta) { - return { ...noOptionsSchema }; // default if `meta.schema` is not specified - } - - const schema = rule.meta.schema; - - if (typeof schema === "undefined") { - return { ...noOptionsSchema }; // default if `meta.schema` is not specified - } - - // `schema:false` is an allowed explicit opt-out of options validation for the rule - if (schema === false) { - return null; - } - - if (typeof schema !== "object" || schema === null) { - throw new TypeError("Rule's `meta.schema` must be an array or object"); - } - - // ESLint-specific array form needs to be converted into a valid JSON Schema definition - if (Array.isArray(schema)) { - if (schema.length) { - return { - type: "array", - items: schema, - minItems: 0, - maxItems: schema.length - }; - } - - // `schema:[]` is an explicit way to specify that the rule does not accept any options - return { ...noOptionsSchema }; - } - - // `schema:` is assumed to be a valid JSON Schema definition - return schema; -} - - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -module.exports = { - parseRuleId, - getRuleFromConfig, - getRuleOptionsSchema -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-schema.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-schema.js deleted file mode 100644 index bffbae79..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/flat-config-schema.js +++ /dev/null @@ -1,576 +0,0 @@ -/** - * @fileoverview Flat config schema - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const { normalizeSeverityToNumber } = require("../shared/severity"); - -//----------------------------------------------------------------------------- -// Type Definitions -//----------------------------------------------------------------------------- - -/** - * @typedef ObjectPropertySchema - * @property {Function|string} merge The function or name of the function to call - * to merge multiple objects with this property. - * @property {Function|string} validate The function or name of the function to call - * to validate the value of this property. - */ - -//----------------------------------------------------------------------------- -// Helpers -//----------------------------------------------------------------------------- - -const ruleSeverities = new Map([ - [0, 0], ["off", 0], - [1, 1], ["warn", 1], - [2, 2], ["error", 2] -]); - -/** - * Check if a value is a non-null object. - * @param {any} value The value to check. - * @returns {boolean} `true` if the value is a non-null object. - */ -function isNonNullObject(value) { - return typeof value === "object" && value !== null; -} - -/** - * Check if a value is a non-null non-array object. - * @param {any} value The value to check. - * @returns {boolean} `true` if the value is a non-null non-array object. - */ -function isNonArrayObject(value) { - return isNonNullObject(value) && !Array.isArray(value); -} - -/** - * Check if a value is undefined. - * @param {any} value The value to check. - * @returns {boolean} `true` if the value is undefined. - */ -function isUndefined(value) { - return typeof value === "undefined"; -} - -/** - * Deeply merges two non-array objects. - * @param {Object} first The base object. - * @param {Object} second The overrides object. - * @param {Map>} [mergeMap] Maps the combination of first and second arguments to a merged result. - * @returns {Object} An object with properties from both first and second. - */ -function deepMerge(first, second, mergeMap = new Map()) { - - let secondMergeMap = mergeMap.get(first); - - if (secondMergeMap) { - const result = secondMergeMap.get(second); - - if (result) { - - // If this combination of first and second arguments has been already visited, return the previously created result. - return result; - } - } else { - secondMergeMap = new Map(); - mergeMap.set(first, secondMergeMap); - } - - /* - * First create a result object where properties from the second object - * overwrite properties from the first. This sets up a baseline to use - * later rather than needing to inspect and change every property - * individually. - */ - const result = { - ...first, - ...second - }; - - delete result.__proto__; // eslint-disable-line no-proto -- don't merge own property "__proto__" - - // Store the pending result for this combination of first and second arguments. - secondMergeMap.set(second, result); - - for (const key of Object.keys(second)) { - - // avoid hairy edge case - if (key === "__proto__" || !Object.prototype.propertyIsEnumerable.call(first, key)) { - continue; - } - - const firstValue = first[key]; - const secondValue = second[key]; - - if (isNonArrayObject(firstValue) && isNonArrayObject(secondValue)) { - result[key] = deepMerge(firstValue, secondValue, mergeMap); - } else if (isUndefined(secondValue)) { - result[key] = firstValue; - } - } - - return result; - -} - -/** - * Normalizes the rule options config for a given rule by ensuring that - * it is an array and that the first item is 0, 1, or 2. - * @param {Array|string|number} ruleOptions The rule options config. - * @returns {Array} An array of rule options. - */ -function normalizeRuleOptions(ruleOptions) { - - const finalOptions = Array.isArray(ruleOptions) - ? ruleOptions.slice(0) - : [ruleOptions]; - - finalOptions[0] = ruleSeverities.get(finalOptions[0]); - return structuredClone(finalOptions); -} - -/** - * Determines if an object has any methods. - * @param {Object} object The object to check. - * @returns {boolean} `true` if the object has any methods. - */ -function hasMethod(object) { - - for (const key of Object.keys(object)) { - - if (typeof object[key] === "function") { - return true; - } - } - - return false; -} - -//----------------------------------------------------------------------------- -// Assertions -//----------------------------------------------------------------------------- - -/** - * The error type when a rule's options are configured with an invalid type. - */ -class InvalidRuleOptionsError extends Error { - - /** - * @param {string} ruleId Rule name being configured. - * @param {any} value The invalid value. - */ - constructor(ruleId, value) { - super(`Key "${ruleId}": Expected severity of "off", 0, "warn", 1, "error", or 2.`); - this.messageTemplate = "invalid-rule-options"; - this.messageData = { ruleId, value }; - } -} - -/** - * Validates that a value is a valid rule options entry. - * @param {string} ruleId Rule name being configured. - * @param {any} value The value to check. - * @returns {void} - * @throws {InvalidRuleOptionsError} If the value isn't a valid rule options. - */ -function assertIsRuleOptions(ruleId, value) { - if (typeof value !== "string" && typeof value !== "number" && !Array.isArray(value)) { - throw new InvalidRuleOptionsError(ruleId, value); - } -} - -/** - * The error type when a rule's severity is invalid. - */ -class InvalidRuleSeverityError extends Error { - - /** - * @param {string} ruleId Rule name being configured. - * @param {any} value The invalid value. - */ - constructor(ruleId, value) { - super(`Key "${ruleId}": Expected severity of "off", 0, "warn", 1, "error", or 2.`); - this.messageTemplate = "invalid-rule-severity"; - this.messageData = { ruleId, value }; - } -} - -/** - * Validates that a value is valid rule severity. - * @param {string} ruleId Rule name being configured. - * @param {any} value The value to check. - * @returns {void} - * @throws {InvalidRuleSeverityError} If the value isn't a valid rule severity. - */ -function assertIsRuleSeverity(ruleId, value) { - const severity = ruleSeverities.get(value); - - if (typeof severity === "undefined") { - throw new InvalidRuleSeverityError(ruleId, value); - } -} - -/** - * Validates that a given string is the form pluginName/objectName. - * @param {string} value The string to check. - * @returns {void} - * @throws {TypeError} If the string isn't in the correct format. - */ -function assertIsPluginMemberName(value) { - if (!/[@a-z0-9-_$]+(?:\/(?:[a-z0-9-_$]+))+$/iu.test(value)) { - throw new TypeError(`Expected string in the form "pluginName/objectName" but found "${value}".`); - } -} - -/** - * Validates that a value is an object. - * @param {any} value The value to check. - * @returns {void} - * @throws {TypeError} If the value isn't an object. - */ -function assertIsObject(value) { - if (!isNonNullObject(value)) { - throw new TypeError("Expected an object."); - } -} - -/** - * The error type when there's an eslintrc-style options in a flat config. - */ -class IncompatibleKeyError extends Error { - - /** - * @param {string} key The invalid key. - */ - constructor(key) { - super("This appears to be in eslintrc format rather than flat config format."); - this.messageTemplate = "eslintrc-incompat"; - this.messageData = { key }; - } -} - -/** - * The error type when there's an eslintrc-style plugins array found. - */ -class IncompatiblePluginsError extends Error { - - /** - * Creates a new instance. - * @param {Array} plugins The plugins array. - */ - constructor(plugins) { - super("This appears to be in eslintrc format (array of strings) rather than flat config format (object)."); - this.messageTemplate = "eslintrc-plugins"; - this.messageData = { plugins }; - } -} - - -//----------------------------------------------------------------------------- -// Low-Level Schemas -//----------------------------------------------------------------------------- - -/** @type {ObjectPropertySchema} */ -const booleanSchema = { - merge: "replace", - validate: "boolean" -}; - -const ALLOWED_SEVERITIES = new Set(["error", "warn", "off", 2, 1, 0]); - -/** @type {ObjectPropertySchema} */ -const disableDirectiveSeveritySchema = { - merge(first, second) { - const value = second === void 0 ? first : second; - - if (typeof value === "boolean") { - return value ? "warn" : "off"; - } - - return normalizeSeverityToNumber(value); - }, - validate(value) { - if (!(ALLOWED_SEVERITIES.has(value) || typeof value === "boolean")) { - throw new TypeError("Expected one of: \"error\", \"warn\", \"off\", 0, 1, 2, or a boolean."); - } - } -}; - -/** @type {ObjectPropertySchema} */ -const deepObjectAssignSchema = { - merge(first = {}, second = {}) { - return deepMerge(first, second); - }, - validate: "object" -}; - - -//----------------------------------------------------------------------------- -// High-Level Schemas -//----------------------------------------------------------------------------- - -/** @type {ObjectPropertySchema} */ -const languageOptionsSchema = { - merge(first = {}, second = {}) { - - const result = deepMerge(first, second); - - for (const [key, value] of Object.entries(result)) { - - /* - * Special case: Because the `parser` property is an object, it should - * not be deep merged. Instead, it should be replaced if it exists in - * the second object. To make this more generic, we just check for - * objects with methods and replace them if they exist in the second - * object. - */ - if (isNonArrayObject(value)) { - if (hasMethod(value)) { - result[key] = second[key] ?? first[key]; - continue; - } - - // for other objects, make sure we aren't reusing the same object - result[key] = { ...result[key] }; - continue; - } - - } - - return result; - }, - validate: "object" -}; - -/** @type {ObjectPropertySchema} */ -const languageSchema = { - merge: "replace", - validate: assertIsPluginMemberName -}; - -/** @type {ObjectPropertySchema} */ -const pluginsSchema = { - merge(first = {}, second = {}) { - const keys = new Set([...Object.keys(first), ...Object.keys(second)]); - const result = {}; - - // manually validate that plugins are not redefined - for (const key of keys) { - - // avoid hairy edge case - if (key === "__proto__") { - continue; - } - - if (key in first && key in second && first[key] !== second[key]) { - throw new TypeError(`Cannot redefine plugin "${key}".`); - } - - result[key] = second[key] || first[key]; - } - - return result; - }, - validate(value) { - - // first check the value to be sure it's an object - if (value === null || typeof value !== "object") { - throw new TypeError("Expected an object."); - } - - // make sure it's not an array, which would mean eslintrc-style is used - if (Array.isArray(value)) { - throw new IncompatiblePluginsError(value); - } - - // second check the keys to make sure they are objects - for (const key of Object.keys(value)) { - - // avoid hairy edge case - if (key === "__proto__") { - continue; - } - - if (value[key] === null || typeof value[key] !== "object") { - throw new TypeError(`Key "${key}": Expected an object.`); - } - } - } -}; - -/** @type {ObjectPropertySchema} */ -const processorSchema = { - merge: "replace", - validate(value) { - if (typeof value === "string") { - assertIsPluginMemberName(value); - } else if (value && typeof value === "object") { - if (typeof value.preprocess !== "function" || typeof value.postprocess !== "function") { - throw new TypeError("Object must have a preprocess() and a postprocess() method."); - } - } else { - throw new TypeError("Expected an object or a string."); - } - } -}; - -/** @type {ObjectPropertySchema} */ -const rulesSchema = { - merge(first = {}, second = {}) { - - const result = { - ...first, - ...second - }; - - - for (const ruleId of Object.keys(result)) { - - try { - - // avoid hairy edge case - if (ruleId === "__proto__") { - - /* eslint-disable-next-line no-proto -- Though deprecated, may still be present */ - delete result.__proto__; - continue; - } - - result[ruleId] = normalizeRuleOptions(result[ruleId]); - - /* - * If either rule config is missing, then the correct - * config is already present and we just need to normalize - * the severity. - */ - if (!(ruleId in first) || !(ruleId in second)) { - continue; - } - - const firstRuleOptions = normalizeRuleOptions(first[ruleId]); - const secondRuleOptions = normalizeRuleOptions(second[ruleId]); - - /* - * If the second rule config only has a severity (length of 1), - * then use that severity and keep the rest of the options from - * the first rule config. - */ - if (secondRuleOptions.length === 1) { - result[ruleId] = [secondRuleOptions[0], ...firstRuleOptions.slice(1)]; - continue; - } - - /* - * In any other situation, then the second rule config takes - * precedence. That means the value at `result[ruleId]` is - * already correct and no further work is necessary. - */ - } catch (ex) { - throw new Error(`Key "${ruleId}": ${ex.message}`, { cause: ex }); - } - - } - - return result; - - - }, - - validate(value) { - assertIsObject(value); - - /* - * We are not checking the rule schema here because there is no - * guarantee that the rule definition is present at this point. Instead - * we wait and check the rule schema during the finalization step - * of calculating a config. - */ - for (const ruleId of Object.keys(value)) { - - // avoid hairy edge case - if (ruleId === "__proto__") { - continue; - } - - const ruleOptions = value[ruleId]; - - assertIsRuleOptions(ruleId, ruleOptions); - - if (Array.isArray(ruleOptions)) { - assertIsRuleSeverity(ruleId, ruleOptions[0]); - } else { - assertIsRuleSeverity(ruleId, ruleOptions); - } - } - } -}; - -/** - * Creates a schema that always throws an error. Useful for warning - * about eslintrc-style keys. - * @param {string} key The eslintrc key to create a schema for. - * @returns {ObjectPropertySchema} The schema. - */ -function createEslintrcErrorSchema(key) { - return { - merge: "replace", - validate() { - throw new IncompatibleKeyError(key); - } - }; -} - -const eslintrcKeys = [ - "env", - "extends", - "globals", - "ignorePatterns", - "noInlineConfig", - "overrides", - "parser", - "parserOptions", - "reportUnusedDisableDirectives", - "root" -]; - -//----------------------------------------------------------------------------- -// Full schema -//----------------------------------------------------------------------------- - -const flatConfigSchema = { - - // eslintrc-style keys that should always error - ...Object.fromEntries(eslintrcKeys.map(key => [key, createEslintrcErrorSchema(key)])), - - // flat config keys - settings: deepObjectAssignSchema, - linterOptions: { - schema: { - noInlineConfig: booleanSchema, - reportUnusedDisableDirectives: disableDirectiveSeveritySchema - } - }, - language: languageSchema, - languageOptions: languageOptionsSchema, - processor: processorSchema, - plugins: pluginsSchema, - rules: rulesSchema -}; - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -module.exports = { - flatConfigSchema, - hasMethod, - assertIsRuleSeverity -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/rule-validator.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/rule-validator.js deleted file mode 100644 index 3b4ea612..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/config/rule-validator.js +++ /dev/null @@ -1,194 +0,0 @@ -/** - * @fileoverview Rule Validator - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const ajvImport = require("../shared/ajv"); -const ajv = ajvImport(); -const { - parseRuleId, - getRuleFromConfig, - getRuleOptionsSchema -} = require("./flat-config-helpers"); -const ruleReplacements = require("../../conf/replacements.json"); - -//----------------------------------------------------------------------------- -// Helpers -//----------------------------------------------------------------------------- - -/** - * Throws a helpful error when a rule cannot be found. - * @param {Object} ruleId The rule identifier. - * @param {string} ruleId.pluginName The ID of the rule to find. - * @param {string} ruleId.ruleName The ID of the rule to find. - * @param {Object} config The config to search in. - * @throws {TypeError} For missing plugin or rule. - * @returns {void} - */ -function throwRuleNotFoundError({ pluginName, ruleName }, config) { - - const ruleId = pluginName === "@" ? ruleName : `${pluginName}/${ruleName}`; - - const errorMessageHeader = `Key "rules": Key "${ruleId}"`; - let errorMessage = `${errorMessageHeader}: Could not find plugin "${pluginName}".`; - - // if the plugin exists then we need to check if the rule exists - if (config.plugins && config.plugins[pluginName]) { - const replacementRuleName = ruleReplacements.rules[ruleName]; - - if (pluginName === "@" && replacementRuleName) { - - errorMessage = `${errorMessageHeader}: Rule "${ruleName}" was removed and replaced by "${replacementRuleName}".`; - - } else { - - errorMessage = `${errorMessageHeader}: Could not find "${ruleName}" in plugin "${pluginName}".`; - - // otherwise, let's see if we can find the rule name elsewhere - for (const [otherPluginName, otherPlugin] of Object.entries(config.plugins)) { - if (otherPlugin.rules && otherPlugin.rules[ruleName]) { - errorMessage += ` Did you mean "${otherPluginName}/${ruleName}"?`; - break; - } - } - - } - - // falls through to throw error - } - - throw new TypeError(errorMessage); -} - -/** - * The error type when a rule has an invalid `meta.schema`. - */ -class InvalidRuleOptionsSchemaError extends Error { - - /** - * Creates a new instance. - * @param {string} ruleId Id of the rule that has an invalid `meta.schema`. - * @param {Error} processingError Error caught while processing the `meta.schema`. - */ - constructor(ruleId, processingError) { - super( - `Error while processing options validation schema of rule '${ruleId}': ${processingError.message}`, - { cause: processingError } - ); - this.code = "ESLINT_INVALID_RULE_OPTIONS_SCHEMA"; - } -} - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -/** - * Implements validation functionality for the rules portion of a config. - */ -class RuleValidator { - - /** - * Creates a new instance. - */ - constructor() { - - /** - * A collection of compiled validators for rules that have already - * been validated. - * @type {WeakMap} - */ - this.validators = new WeakMap(); - } - - /** - * Validates all of the rule configurations in a config against each - * rule's schema. - * @param {Object} config The full config to validate. This object must - * contain both the rules section and the plugins section. - * @returns {void} - * @throws {Error} If a rule's configuration does not match its schema. - */ - validate(config) { - - if (!config.rules) { - return; - } - - for (const [ruleId, ruleOptions] of Object.entries(config.rules)) { - - // check for edge case - if (ruleId === "__proto__") { - continue; - } - - /* - * If a rule is disabled, we don't do any validation. This allows - * users to safely set any value to 0 or "off" without worrying - * that it will cause a validation error. - * - * Note: ruleOptions is always an array at this point because - * this validation occurs after FlatConfigArray has merged and - * normalized values. - */ - if (ruleOptions[0] === 0) { - continue; - } - - const rule = getRuleFromConfig(ruleId, config); - - if (!rule) { - throwRuleNotFoundError(parseRuleId(ruleId), config); - } - - // Precompile and cache validator the first time - if (!this.validators.has(rule)) { - try { - const schema = getRuleOptionsSchema(rule); - - if (schema) { - this.validators.set(rule, ajv.compile(schema)); - } - } catch (err) { - throw new InvalidRuleOptionsSchemaError(ruleId, err); - } - } - - const validateRule = this.validators.get(rule); - - if (validateRule) { - - validateRule(ruleOptions.slice(1)); - - if (validateRule.errors) { - throw new Error(`Key "rules": Key "${ruleId}":\n${ - validateRule.errors.map( - error => { - if ( - error.keyword === "additionalProperties" && - error.schema === false && - typeof error.parentSchema?.properties === "object" && - typeof error.params?.additionalProperty === "string" - ) { - const expectedProperties = Object.keys(error.parentSchema.properties).map(property => `"${property}"`); - - return `\tValue ${JSON.stringify(error.data)} ${error.message}.\n\t\tUnexpected property "${error.params.additionalProperty}". Expected properties: ${expectedProperties.join(", ")}.\n`; - } - - return `\tValue ${JSON.stringify(error.data)} ${error.message}.\n`; - } - ).join("") - }`); - } - } - } - } -} - -exports.RuleValidator = RuleValidator; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint-helpers.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint-helpers.js deleted file mode 100644 index c8445100..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint-helpers.js +++ /dev/null @@ -1,965 +0,0 @@ -/** - * @fileoverview Helper functions for ESLint class - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const path = require("node:path"); -const fs = require("node:fs"); -const fsp = fs.promises; -const isGlob = require("is-glob"); -const hash = require("../cli-engine/hash"); -const minimatch = require("minimatch"); -const globParent = require("glob-parent"); - -//----------------------------------------------------------------------------- -// Fixup references -//----------------------------------------------------------------------------- - -const Minimatch = minimatch.Minimatch; -const MINIMATCH_OPTIONS = { dot: true }; - -//----------------------------------------------------------------------------- -// Types -//----------------------------------------------------------------------------- - -/** - * @typedef {Object} GlobSearch - * @property {Array} patterns The normalized patterns to use for a search. - * @property {Array} rawPatterns The patterns as entered by the user - * before doing any normalization. - */ - -//----------------------------------------------------------------------------- -// Errors -//----------------------------------------------------------------------------- - -/** - * The error type when no files match a glob. - */ -class NoFilesFoundError extends Error { - - /** - * @param {string} pattern The glob pattern which was not found. - * @param {boolean} globEnabled If `false` then the pattern was a glob pattern, but glob was disabled. - */ - constructor(pattern, globEnabled) { - super(`No files matching '${pattern}' were found${!globEnabled ? " (glob was disabled)" : ""}.`); - this.messageTemplate = "file-not-found"; - this.messageData = { pattern, globDisabled: !globEnabled }; - } -} - -/** - * The error type when a search fails to match multiple patterns. - */ -class UnmatchedSearchPatternsError extends Error { - - /** - * @param {Object} options The options for the error. - * @param {string} options.basePath The directory that was searched. - * @param {Array} options.unmatchedPatterns The glob patterns - * which were not found. - * @param {Array} options.patterns The glob patterns that were - * searched. - * @param {Array} options.rawPatterns The raw glob patterns that - * were searched. - */ - constructor({ basePath, unmatchedPatterns, patterns, rawPatterns }) { - super(`No files matching '${rawPatterns}' in '${basePath}' were found.`); - this.basePath = basePath; - this.unmatchedPatterns = unmatchedPatterns; - this.patterns = patterns; - this.rawPatterns = rawPatterns; - } -} - -/** - * The error type when there are files matched by a glob, but all of them have been ignored. - */ -class AllFilesIgnoredError extends Error { - - /** - * @param {string} pattern The glob pattern which was not found. - */ - constructor(pattern) { - super(`All files matched by '${pattern}' are ignored.`); - this.messageTemplate = "all-matched-files-ignored"; - this.messageData = { pattern }; - } -} - - -//----------------------------------------------------------------------------- -// General Helpers -//----------------------------------------------------------------------------- - -/** - * Check if a given value is a non-empty string or not. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is a non-empty string. - */ -function isNonEmptyString(value) { - return typeof value === "string" && value.trim() !== ""; -} - -/** - * Check if a given value is an array of non-empty strings or not. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is an array of non-empty strings. - */ -function isArrayOfNonEmptyString(value) { - return Array.isArray(value) && value.length && value.every(isNonEmptyString); -} - -/** - * Check if a given value is an empty array or an array of non-empty strings. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is an empty array or an array of non-empty - * strings. - */ -function isEmptyArrayOrArrayOfNonEmptyString(value) { - return Array.isArray(value) && value.every(isNonEmptyString); -} - -//----------------------------------------------------------------------------- -// File-related Helpers -//----------------------------------------------------------------------------- - -/** - * Normalizes slashes in a file pattern to posix-style. - * @param {string} pattern The pattern to replace slashes in. - * @returns {string} The pattern with slashes normalized. - */ -function normalizeToPosix(pattern) { - return pattern.replace(/\\/gu, "/"); -} - -/** - * Check if a string is a glob pattern or not. - * @param {string} pattern A glob pattern. - * @returns {boolean} `true` if the string is a glob pattern. - */ -function isGlobPattern(pattern) { - return isGlob(path.sep === "\\" ? normalizeToPosix(pattern) : pattern); -} - - -/** - * Determines if a given glob pattern will return any results. - * Used primarily to help with useful error messages. - * @param {Object} options The options for the function. - * @param {string} options.basePath The directory to search. - * @param {string} options.pattern An absolute path glob pattern to match. - * @returns {Promise} True if there is a glob match, false if not. - */ -async function globMatch({ basePath, pattern }) { - - let found = false; - const { hfs } = await import("@humanfs/node"); - const patternToUse = normalizeToPosix(path.relative(basePath, pattern)); - - const matcher = new Minimatch(patternToUse, MINIMATCH_OPTIONS); - - const walkSettings = { - - directoryFilter(entry) { - return !found && matcher.match(entry.path, true); - }, - - entryFilter(entry) { - if (found || entry.isDirectory) { - return false; - } - - if (matcher.match(entry.path)) { - found = true; - return true; - } - - return false; - } - }; - - if (await hfs.isDirectory(basePath)) { - return hfs.walk(basePath, walkSettings).next().then(() => found); - } - - return found; -} - -/** - * Searches a directory looking for matching glob patterns. This uses - * the config array's logic to determine if a directory or file should - * be ignored, so it is consistent with how ignoring works throughout - * ESLint. - * @param {Object} options The options for this function. - * @param {string} options.basePath The directory to search. - * @param {Array} options.patterns An array of absolute path glob patterns - * to match. - * @param {Array} options.rawPatterns An array of glob patterns - * as the user inputted them. Used for errors. - * @param {ConfigLoader|LegacyConfigLoader} options.configLoader The config array to use for - * determining what to ignore. - * @param {boolean} options.errorOnUnmatchedPattern Determines if an error - * should be thrown when a pattern is unmatched. - * @returns {Promise>} An array of matching file paths - * or an empty array if there are no matches. - * @throws {UnmatchedSearchPatternsError} If there is a pattern that doesn't - * match any files. - */ -async function globSearch({ - basePath, - patterns, - rawPatterns, - configLoader, - errorOnUnmatchedPattern -}) { - - if (patterns.length === 0) { - return []; - } - - /* - * In this section we are converting the patterns into Minimatch - * instances for performance reasons. Because we are doing the same - * matches repeatedly, it's best to compile those patterns once and - * reuse them multiple times. - * - * To do that, we convert any patterns with an absolute path into a - * relative path and normalize it to Posix-style slashes. We also keep - * track of the relative patterns to map them back to the original - * patterns, which we need in order to throw an error if there are any - * unmatched patterns. - */ - const relativeToPatterns = new Map(); - const matchers = patterns.map((pattern, i) => { - const patternToUse = normalizeToPosix(path.relative(basePath, pattern)); - - relativeToPatterns.set(patternToUse, patterns[i]); - - return new Minimatch(patternToUse, MINIMATCH_OPTIONS); - }); - - /* - * We track unmatched patterns because we may want to throw an error when - * they occur. To start, this set is initialized with all of the patterns. - * Every time a match occurs, the pattern is removed from the set, making - * it easy to tell if we have any unmatched patterns left at the end of - * search. - */ - const unmatchedPatterns = new Set([...relativeToPatterns.keys()]); - const { hfs } = await import("@humanfs/node"); - - const walk = hfs.walk( - basePath, - { - async directoryFilter(entry) { - - if (!matchers.some(matcher => matcher.match(entry.path, true))) { - return false; - } - - const absolutePath = path.resolve(basePath, entry.path); - const configs = await configLoader.loadConfigArrayForDirectory(absolutePath); - - return !configs.isDirectoryIgnored(absolutePath); - }, - async entryFilter(entry) { - const absolutePath = path.resolve(basePath, entry.path); - - // entries may be directories or files so filter out directories - if (entry.isDirectory) { - return false; - } - - const configs = await configLoader.loadConfigArrayForFile(absolutePath); - const config = configs.getConfig(absolutePath); - - /* - * Optimization: We need to track when patterns are left unmatched - * and so we use `unmatchedPatterns` to do that. There is a bit of - * complexity here because the same file can be matched by more than - * one pattern. So, when we start, we actually need to test every - * pattern against every file. Once we know there are no remaining - * unmatched patterns, then we can switch to just looking for the - * first matching pattern for improved speed. - */ - const matchesPattern = unmatchedPatterns.size > 0 - ? matchers.reduce((previousValue, matcher) => { - const pathMatches = matcher.match(entry.path); - - /* - * We updated the unmatched patterns set only if the path - * matches and the file has a config. If the file has no - * config, that means there wasn't a match for the - * pattern so it should not be removed. - * - * Performance note: `getConfig()` aggressively caches - * results so there is no performance penalty for calling - * it multiple times with the same argument. - */ - if (pathMatches && config) { - unmatchedPatterns.delete(matcher.pattern); - } - - return pathMatches || previousValue; - }, false) - : matchers.some(matcher => matcher.match(entry.path)); - - return matchesPattern && config !== void 0; - } - } - ); - - const filePaths = []; - - if (await hfs.isDirectory(basePath)) { - for await (const entry of walk) { - filePaths.push(path.resolve(basePath, entry.path)); - } - } - - // now check to see if we have any unmatched patterns - if (errorOnUnmatchedPattern && unmatchedPatterns.size > 0) { - throw new UnmatchedSearchPatternsError({ - basePath, - unmatchedPatterns: [...unmatchedPatterns].map( - pattern => relativeToPatterns.get(pattern) - ), - patterns, - rawPatterns - }); - } - - return filePaths; -} - -/** - * Throws an error for unmatched patterns. The error will only contain information about the first one. - * Checks to see if there are any ignored results for a given search. - * @param {Object} options The options for this function. - * @param {string} options.basePath The directory to search. - * @param {Array} options.patterns An array of glob patterns - * that were used in the original search. - * @param {Array} options.rawPatterns An array of glob patterns - * as the user inputted them. Used for errors. - * @param {Array} options.unmatchedPatterns A non-empty array of absolute path glob patterns - * that were unmatched in the original search. - * @returns {void} Always throws an error. - * @throws {NoFilesFoundError} If the first unmatched pattern - * doesn't match any files even when there are no ignores. - * @throws {AllFilesIgnoredError} If the first unmatched pattern - * matches some files when there are no ignores. - */ -async function throwErrorForUnmatchedPatterns({ - basePath, - patterns, - rawPatterns, - unmatchedPatterns -}) { - - const pattern = unmatchedPatterns[0]; - const rawPattern = rawPatterns[patterns.indexOf(pattern)]; - - const patternHasMatch = await globMatch({ - basePath, - pattern - }); - - if (patternHasMatch) { - throw new AllFilesIgnoredError(rawPattern); - } - - // if we get here there are truly no matches - throw new NoFilesFoundError(rawPattern, true); -} - -/** - * Performs multiple glob searches in parallel. - * @param {Object} options The options for this function. - * @param {Map} options.searches - * A map of absolute path glob patterns to match. - * @param {ConfigLoader|LegacyConfigLoader} options.configLoader The config loader to use for - * determining what to ignore. - * @param {boolean} options.errorOnUnmatchedPattern Determines if an - * unmatched glob pattern should throw an error. - * @returns {Promise>} An array of matching file paths - * or an empty array if there are no matches. - */ -async function globMultiSearch({ searches, configLoader, errorOnUnmatchedPattern }) { - - /* - * For convenience, we normalized the search map into an array of objects. - * Next, we filter out all searches that have no patterns. This happens - * primarily for the cwd, which is prepopulated in the searches map as an - * optimization. However, if it has no patterns, it means all patterns - * occur outside of the cwd and we can safely filter out that search. - */ - const normalizedSearches = [...searches].map( - ([basePath, { patterns, rawPatterns }]) => ({ basePath, patterns, rawPatterns }) - ).filter(({ patterns }) => patterns.length > 0); - - const results = await Promise.allSettled( - normalizedSearches.map( - ({ basePath, patterns, rawPatterns }) => globSearch({ - basePath, - patterns, - rawPatterns, - configLoader, - errorOnUnmatchedPattern - }) - ) - ); - - /* - * The first loop handles errors from the glob searches. Since we can't - * use `await` inside `flatMap`, we process errors separately in this loop. - * This results in two iterations over `results`, but since the length is - * less than or equal to the number of globs and directories passed on the - * command line, the performance impact should be minimal. - */ - for (let i = 0; i < results.length; i++) { - - const result = results[i]; - const currentSearch = normalizedSearches[i]; - - if (result.status === "fulfilled") { - continue; - } - - // if we make it here then there was an error - const error = result.reason; - - // unexpected errors should be re-thrown - if (!error.basePath) { - throw error; - } - - if (errorOnUnmatchedPattern) { - - await throwErrorForUnmatchedPatterns({ - ...currentSearch, - unmatchedPatterns: error.unmatchedPatterns - }); - - } - - } - - // second loop for `fulfulled` results - return results.flatMap(result => result.value); - -} - -/** - * Finds all files matching the options specified. - * @param {Object} args The arguments objects. - * @param {Array} args.patterns An array of glob patterns. - * @param {boolean} args.globInputPaths true to interpret glob patterns, - * false to not interpret glob patterns. - * @param {string} args.cwd The current working directory to find from. - * @param {ConfigLoader|LegacyConfigLoader} args.configLoader The config loeader for the current run. - * @param {boolean} args.errorOnUnmatchedPattern Determines if an unmatched pattern - * should throw an error. - * @returns {Promise>} The fully resolved file paths. - * @throws {AllFilesIgnoredError} If there are no results due to an ignore pattern. - * @throws {NoFilesFoundError} If no files matched the given patterns. - */ -async function findFiles({ - patterns, - globInputPaths, - cwd, - configLoader, - errorOnUnmatchedPattern -}) { - - const results = []; - const missingPatterns = []; - let globbyPatterns = []; - let rawPatterns = []; - const searches = new Map([[cwd, { patterns: globbyPatterns, rawPatterns: [] }]]); - - /* - * This part is a bit involved because we need to account for - * the different ways that the patterns can match directories. - * For each different way, we need to decide if we should look - * for a config file or just use the default config. (Directories - * without a config file always use the default config.) - * - * Here are the cases: - * - * 1. A directory is passed directly (e.g., "subdir"). In this case, we - * can assume that the user intends to lint this directory and we should - * not look for a config file in the parent directory, because the only - * reason to do that would be to ignore this directory (which we already - * know we don't want to do). Instead, we use the default config until we - * get to the directory that was passed, at which point we start looking - * for config files again. - * - * 2. A dot (".") or star ("*"). In this case, we want to read - * the config file in the current directory because the user is - * explicitly asking to lint the current directory. Note that "." - * will traverse into subdirectories while "*" will not. - * - * 3. A directory is passed in the form of "subdir/subsubdir". - * In this case, we don't want to look for a config file in the - * parent directory ("subdir"). We can skip looking for a config - * file until `entry.depth` is greater than 1 because there's no - * way that the pattern can match `entry.path` yet. - * - * 4. A directory glob pattern is passed (e.g., "subd*"). We want - * this case to act like case 2 because it's unclear whether or not - * any particular directory is meant to be traversed. - * - * 5. A recursive glob pattern is passed (e.g., "**"). We want this - * case to act like case 2. - */ - - // check to see if we have explicit files and directories - const filePaths = patterns.map(filePath => path.resolve(cwd, filePath)); - const stats = await Promise.all( - filePaths.map( - filePath => fsp.stat(filePath).catch(() => { }) - ) - ); - - stats.forEach((stat, index) => { - - const filePath = filePaths[index]; - const pattern = normalizeToPosix(patterns[index]); - - if (stat) { - - // files are added directly to the list - if (stat.isFile()) { - results.push(filePath); - } - - // directories need extensions attached - if (stat.isDirectory()) { - - if (!searches.has(filePath)) { - searches.set(filePath, { patterns: [], rawPatterns: [] }); - } - ({ patterns: globbyPatterns, rawPatterns } = searches.get(filePath)); - - globbyPatterns.push(`${normalizeToPosix(filePath)}/**`); - rawPatterns.push(pattern); - } - - return; - } - - // save patterns for later use based on whether globs are enabled - if (globInputPaths && isGlobPattern(pattern)) { - - /* - * We are grouping patterns by their glob parent. This is done to - * make it easier to determine when a config file should be loaded. - */ - - const basePath = path.resolve(cwd, globParent(pattern)); - - if (!searches.has(basePath)) { - searches.set(basePath, { patterns: [], rawPatterns: [] }); - } - ({ patterns: globbyPatterns, rawPatterns } = searches.get(basePath)); - - globbyPatterns.push(filePath); - rawPatterns.push(pattern); - } else { - missingPatterns.push(pattern); - } - }); - - // there were patterns that didn't match anything, tell the user - if (errorOnUnmatchedPattern && missingPatterns.length) { - throw new NoFilesFoundError(missingPatterns[0], globInputPaths); - } - - // now we are safe to do the search - const globbyResults = await globMultiSearch({ - searches, - configLoader, - errorOnUnmatchedPattern - }); - - return [ - ...new Set([ - ...results, - ...globbyResults - ]) - ]; -} - -//----------------------------------------------------------------------------- -// Results-related Helpers -//----------------------------------------------------------------------------- - -/** - * Checks if the given message is an error message. - * @param {LintMessage} message The message to check. - * @returns {boolean} Whether or not the message is an error message. - * @private - */ -function isErrorMessage(message) { - return message.severity === 2; -} - -/** - * Returns result with warning by ignore settings - * @param {string} filePath Absolute file path of checked code - * @param {string} baseDir Absolute path of base directory - * @param {"ignored"|"external"|"unconfigured"} configStatus A status that determines why the file is ignored - * @returns {LintResult} Result with single warning - * @private - */ -function createIgnoreResult(filePath, baseDir, configStatus) { - let message; - - switch (configStatus) { - case "external": - message = "File ignored because outside of base path."; - break; - case "unconfigured": - message = "File ignored because no matching configuration was supplied."; - break; - default: - { - const isInNodeModules = baseDir && path.dirname(path.relative(baseDir, filePath)).split(path.sep).includes("node_modules"); - - if (isInNodeModules) { - message = "File ignored by default because it is located under the node_modules directory. Use ignore pattern \"!**/node_modules/\" to disable file ignore settings or use \"--no-warn-ignored\" to suppress this warning."; - } else { - message = "File ignored because of a matching ignore pattern. Use \"--no-ignore\" to disable file ignore settings or use \"--no-warn-ignored\" to suppress this warning."; - } - } - break; - } - - return { - filePath, - messages: [ - { - ruleId: null, - fatal: false, - severity: 1, - message, - nodeType: null - } - ], - suppressedMessages: [], - errorCount: 0, - warningCount: 1, - fatalErrorCount: 0, - fixableErrorCount: 0, - fixableWarningCount: 0 - }; -} - -//----------------------------------------------------------------------------- -// Options-related Helpers -//----------------------------------------------------------------------------- - - -/** - * Check if a given value is a valid fix type or not. - * @param {any} x The value to check. - * @returns {boolean} `true` if `x` is valid fix type. - */ -function isFixType(x) { - return x === "directive" || x === "problem" || x === "suggestion" || x === "layout"; -} - -/** - * Check if a given value is an array of fix types or not. - * @param {any} x The value to check. - * @returns {boolean} `true` if `x` is an array of fix types. - */ -function isFixTypeArray(x) { - return Array.isArray(x) && x.every(isFixType); -} - -/** - * The error for invalid options. - */ -class ESLintInvalidOptionsError extends Error { - constructor(messages) { - super(`Invalid Options:\n- ${messages.join("\n- ")}`); - this.code = "ESLINT_INVALID_OPTIONS"; - Error.captureStackTrace(this, ESLintInvalidOptionsError); - } -} - -/** - * Validates and normalizes options for the wrapped CLIEngine instance. - * @param {ESLintOptions} options The options to process. - * @throws {ESLintInvalidOptionsError} If of any of a variety of type errors. - * @returns {ESLintOptions} The normalized options. - */ -function processOptions({ - allowInlineConfig = true, // ← we cannot use `overrideConfig.noInlineConfig` instead because `allowInlineConfig` has side-effect that suppress warnings that show inline configs are ignored. - baseConfig = null, - cache = false, - cacheLocation = ".eslintcache", - cacheStrategy = "metadata", - cwd = process.cwd(), - errorOnUnmatchedPattern = true, - fix = false, - fixTypes = null, // ← should be null by default because if it's an array then it suppresses rules that don't have the `meta.type` property. - flags = [], - globInputPaths = true, - ignore = true, - ignorePatterns = null, - overrideConfig = null, - overrideConfigFile = null, - plugins = {}, - stats = false, - warnIgnored = true, - passOnNoPatterns = false, - ruleFilter = () => true, - ...unknownOptions -}) { - const errors = []; - const unknownOptionKeys = Object.keys(unknownOptions); - - if (unknownOptionKeys.length >= 1) { - errors.push(`Unknown options: ${unknownOptionKeys.join(", ")}`); - if (unknownOptionKeys.includes("cacheFile")) { - errors.push("'cacheFile' has been removed. Please use the 'cacheLocation' option instead."); - } - if (unknownOptionKeys.includes("configFile")) { - errors.push("'configFile' has been removed. Please use the 'overrideConfigFile' option instead."); - } - if (unknownOptionKeys.includes("envs")) { - errors.push("'envs' has been removed."); - } - if (unknownOptionKeys.includes("extensions")) { - errors.push("'extensions' has been removed."); - } - if (unknownOptionKeys.includes("resolvePluginsRelativeTo")) { - errors.push("'resolvePluginsRelativeTo' has been removed."); - } - if (unknownOptionKeys.includes("globals")) { - errors.push("'globals' has been removed. Please use the 'overrideConfig.languageOptions.globals' option instead."); - } - if (unknownOptionKeys.includes("ignorePath")) { - errors.push("'ignorePath' has been removed."); - } - if (unknownOptionKeys.includes("ignorePattern")) { - errors.push("'ignorePattern' has been removed. Please use the 'overrideConfig.ignorePatterns' option instead."); - } - if (unknownOptionKeys.includes("parser")) { - errors.push("'parser' has been removed. Please use the 'overrideConfig.languageOptions.parser' option instead."); - } - if (unknownOptionKeys.includes("parserOptions")) { - errors.push("'parserOptions' has been removed. Please use the 'overrideConfig.languageOptions.parserOptions' option instead."); - } - if (unknownOptionKeys.includes("rules")) { - errors.push("'rules' has been removed. Please use the 'overrideConfig.rules' option instead."); - } - if (unknownOptionKeys.includes("rulePaths")) { - errors.push("'rulePaths' has been removed. Please define your rules using plugins."); - } - if (unknownOptionKeys.includes("reportUnusedDisableDirectives")) { - errors.push("'reportUnusedDisableDirectives' has been removed. Please use the 'overrideConfig.linterOptions.reportUnusedDisableDirectives' option instead."); - } - } - if (typeof allowInlineConfig !== "boolean") { - errors.push("'allowInlineConfig' must be a boolean."); - } - if (typeof baseConfig !== "object") { - errors.push("'baseConfig' must be an object or null."); - } - if (typeof cache !== "boolean") { - errors.push("'cache' must be a boolean."); - } - if (!isNonEmptyString(cacheLocation)) { - errors.push("'cacheLocation' must be a non-empty string."); - } - if ( - cacheStrategy !== "metadata" && - cacheStrategy !== "content" - ) { - errors.push("'cacheStrategy' must be any of \"metadata\", \"content\"."); - } - if (!isNonEmptyString(cwd) || !path.isAbsolute(cwd)) { - errors.push("'cwd' must be an absolute path."); - } - if (typeof errorOnUnmatchedPattern !== "boolean") { - errors.push("'errorOnUnmatchedPattern' must be a boolean."); - } - if (typeof fix !== "boolean" && typeof fix !== "function") { - errors.push("'fix' must be a boolean or a function."); - } - if (fixTypes !== null && !isFixTypeArray(fixTypes)) { - errors.push("'fixTypes' must be an array of any of \"directive\", \"problem\", \"suggestion\", and \"layout\"."); - } - if (!isEmptyArrayOrArrayOfNonEmptyString(flags)) { - errors.push("'flags' must be an array of non-empty strings."); - } - if (typeof globInputPaths !== "boolean") { - errors.push("'globInputPaths' must be a boolean."); - } - if (typeof ignore !== "boolean") { - errors.push("'ignore' must be a boolean."); - } - if (!isEmptyArrayOrArrayOfNonEmptyString(ignorePatterns) && ignorePatterns !== null) { - errors.push("'ignorePatterns' must be an array of non-empty strings or null."); - } - if (typeof overrideConfig !== "object") { - errors.push("'overrideConfig' must be an object or null."); - } - if (!isNonEmptyString(overrideConfigFile) && overrideConfigFile !== null && overrideConfigFile !== true) { - errors.push("'overrideConfigFile' must be a non-empty string, null, or true."); - } - if (typeof passOnNoPatterns !== "boolean") { - errors.push("'passOnNoPatterns' must be a boolean."); - } - if (typeof plugins !== "object") { - errors.push("'plugins' must be an object or null."); - } else if (plugins !== null && Object.keys(plugins).includes("")) { - errors.push("'plugins' must not include an empty string."); - } - if (Array.isArray(plugins)) { - errors.push("'plugins' doesn't add plugins to configuration to load. Please use the 'overrideConfig.plugins' option instead."); - } - if (typeof stats !== "boolean") { - errors.push("'stats' must be a boolean."); - } - if (typeof warnIgnored !== "boolean") { - errors.push("'warnIgnored' must be a boolean."); - } - if (typeof ruleFilter !== "function") { - errors.push("'ruleFilter' must be a function."); - } - if (errors.length > 0) { - throw new ESLintInvalidOptionsError(errors); - } - - return { - allowInlineConfig, - baseConfig, - cache, - cacheLocation, - cacheStrategy, - - // when overrideConfigFile is true that means don't do config file lookup - configFile: overrideConfigFile === true ? false : overrideConfigFile, - overrideConfig, - cwd: path.normalize(cwd), - errorOnUnmatchedPattern, - fix, - fixTypes, - flags: [...flags], - globInputPaths, - ignore, - ignorePatterns, - stats, - passOnNoPatterns, - warnIgnored, - ruleFilter - }; -} - - -//----------------------------------------------------------------------------- -// Cache-related helpers -//----------------------------------------------------------------------------- - -/** - * return the cacheFile to be used by eslint, based on whether the provided parameter is - * a directory or looks like a directory (ends in `path.sep`), in which case the file - * name will be the `cacheFile/.cache_hashOfCWD` - * - * if cacheFile points to a file or looks like a file then in will just use that file - * @param {string} cacheFile The name of file to be used to store the cache - * @param {string} cwd Current working directory - * @returns {string} the resolved path to the cache file - */ -function getCacheFile(cacheFile, cwd) { - - /* - * make sure the path separators are normalized for the environment/os - * keeping the trailing path separator if present - */ - const normalizedCacheFile = path.normalize(cacheFile); - - const resolvedCacheFile = path.resolve(cwd, normalizedCacheFile); - const looksLikeADirectory = normalizedCacheFile.slice(-1) === path.sep; - - /** - * return the name for the cache file in case the provided parameter is a directory - * @returns {string} the resolved path to the cacheFile - */ - function getCacheFileForDirectory() { - return path.join(resolvedCacheFile, `.cache_${hash(cwd)}`); - } - - let fileStats; - - try { - fileStats = fs.lstatSync(resolvedCacheFile); - } catch { - fileStats = null; - } - - - /* - * in case the file exists we need to verify if the provided path - * is a directory or a file. If it is a directory we want to create a file - * inside that directory - */ - if (fileStats) { - - /* - * is a directory or is a file, but the original file the user provided - * looks like a directory but `path.resolve` removed the `last path.sep` - * so we need to still treat this like a directory - */ - if (fileStats.isDirectory() || looksLikeADirectory) { - return getCacheFileForDirectory(); - } - - // is file so just use that file - return resolvedCacheFile; - } - - /* - * here we known the file or directory doesn't exist, - * so we will try to infer if its a directory if it looks like a directory - * for the current operating system. - */ - - // if the last character passed is a path separator we assume is a directory - if (looksLikeADirectory) { - return getCacheFileForDirectory(); - } - - return resolvedCacheFile; -} - - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -module.exports = { - findFiles, - - isNonEmptyString, - isArrayOfNonEmptyString, - - createIgnoreResult, - isErrorMessage, - - processOptions, - - getCacheFile -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint.js deleted file mode 100644 index c91a376f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/eslint.js +++ /dev/null @@ -1,1121 +0,0 @@ -/** - * @fileoverview Main class using flat config - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const fs = require("node:fs/promises"); -const { existsSync } = require("node:fs"); -const path = require("node:path"); -const { version } = require("../../package.json"); -const { Linter } = require("../linter"); -const { getRuleFromConfig } = require("../config/flat-config-helpers"); -const { defaultConfig } = require("../config/default-config"); -const { - Legacy: { - ConfigOps: { - getRuleSeverity - }, - ModuleResolver, - naming - } -} = require("@eslint/eslintrc"); - -const { - findFiles, - getCacheFile, - - isNonEmptyString, - isArrayOfNonEmptyString, - - createIgnoreResult, - isErrorMessage, - - processOptions -} = require("./eslint-helpers"); -const { pathToFileURL } = require("node:url"); -const LintResultCache = require("../cli-engine/lint-result-cache"); -const { Retrier } = require("@humanwhocodes/retry"); -const { ConfigLoader, LegacyConfigLoader } = require("../config/config-loader"); - -/* - * This is necessary to allow overwriting writeFile for testing purposes. - * We can just use fs/promises once we drop Node.js 12 support. - */ - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -// For VSCode IntelliSense -/** @typedef {import("../cli-engine/cli-engine").ConfigArray} ConfigArray */ -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").DeprecatedRuleInfo} DeprecatedRuleInfo */ -/** @typedef {import("../shared/types").LintMessage} LintMessage */ -/** @typedef {import("../shared/types").LintResult} LintResult */ -/** @typedef {import("../shared/types").ParserOptions} ParserOptions */ -/** @typedef {import("../shared/types").Plugin} Plugin */ -/** @typedef {import("../shared/types").ResultsMeta} ResultsMeta */ -/** @typedef {import("../shared/types").RuleConf} RuleConf */ -/** @typedef {import("../shared/types").Rule} Rule */ -/** @typedef {ReturnType} ExtractedConfig */ -/** @typedef {import('../cli-engine/cli-engine').CLIEngine} CLIEngine */ -/** @typedef {import('./legacy-eslint').CLIEngineLintReport} CLIEngineLintReport */ - -/** - * The options with which to configure the ESLint instance. - * @typedef {Object} ESLintOptions - * @property {boolean} [allowInlineConfig] Enable or disable inline configuration comments. - * @property {ConfigData|Array} [baseConfig] Base config, extended by all configs used with this instance - * @property {boolean} [cache] Enable result caching. - * @property {string} [cacheLocation] The cache file to use instead of .eslintcache. - * @property {"metadata" | "content"} [cacheStrategy] The strategy used to detect changed files. - * @property {string} [cwd] The value to use for the current working directory. - * @property {boolean} [errorOnUnmatchedPattern] If `false` then `ESLint#lintFiles()` doesn't throw even if no target files found. Defaults to `true`. - * @property {boolean|Function} [fix] Execute in autofix mode. If a function, should return a boolean. - * @property {string[]} [fixTypes] Array of rule types to apply fixes for. - * @property {string[]} [flags] Array of feature flags to enable. - * @property {boolean} [globInputPaths] Set to false to skip glob resolution of input file paths to lint (default: true). If false, each input file paths is assumed to be a non-glob path to an existing file. - * @property {boolean} [ignore] False disables all ignore patterns except for the default ones. - * @property {string[]} [ignorePatterns] Ignore file patterns to use in addition to config ignores. These patterns are relative to `cwd`. - * @property {ConfigData|Array} [overrideConfig] Override config, overrides all configs used with this instance - * @property {boolean|string} [overrideConfigFile] Searches for default config file when falsy; - * doesn't do any config file lookup when `true`; considered to be a config filename - * when a string. - * @property {Record} [plugins] An array of plugin implementations. - * @property {boolean} [stats] True enables added statistics on lint results. - * @property {boolean} [warnIgnored] Show warnings when the file list includes ignored files - * @property {boolean} [passOnNoPatterns=false] When set to true, missing patterns cause - * the linting operation to short circuit and not report any failures. - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const debug = require("debug")("eslint:eslint"); -const privateMembers = new WeakMap(); -const removedFormatters = new Set([ - "checkstyle", - "codeframe", - "compact", - "jslint-xml", - "junit", - "table", - "tap", - "unix", - "visualstudio" -]); - -/** - * It will calculate the error and warning count for collection of messages per file - * @param {LintMessage[]} messages Collection of messages - * @returns {Object} Contains the stats - * @private - */ -function calculateStatsPerFile(messages) { - const stat = { - errorCount: 0, - fatalErrorCount: 0, - warningCount: 0, - fixableErrorCount: 0, - fixableWarningCount: 0 - }; - - for (let i = 0; i < messages.length; i++) { - const message = messages[i]; - - if (message.fatal || message.severity === 2) { - stat.errorCount++; - if (message.fatal) { - stat.fatalErrorCount++; - } - if (message.fix) { - stat.fixableErrorCount++; - } - } else { - stat.warningCount++; - if (message.fix) { - stat.fixableWarningCount++; - } - } - } - return stat; -} - -/** - * Create rulesMeta object. - * @param {Map} rules a map of rules from which to generate the object. - * @returns {Object} metadata for all enabled rules. - */ -function createRulesMeta(rules) { - return Array.from(rules).reduce((retVal, [id, rule]) => { - retVal[id] = rule.meta; - return retVal; - }, {}); -} - -/** - * Return the absolute path of a file named `"__placeholder__.js"` in a given directory. - * This is used as a replacement for a missing file path. - * @param {string} cwd An absolute directory path. - * @returns {string} The absolute path of a file named `"__placeholder__.js"` in the given directory. - */ -function getPlaceholderPath(cwd) { - return path.join(cwd, "__placeholder__.js"); -} - -/** @type {WeakMap} */ -const usedDeprecatedRulesCache = new WeakMap(); - -/** - * Create used deprecated rule list. - * @param {CLIEngine} eslint The CLIEngine instance. - * @param {string} maybeFilePath The absolute path to a lint target file or `""`. - * @returns {DeprecatedRuleInfo[]} The used deprecated rule list. - */ -function getOrFindUsedDeprecatedRules(eslint, maybeFilePath) { - const { - options: { cwd }, - configLoader - } = privateMembers.get(eslint); - const filePath = path.isAbsolute(maybeFilePath) - ? maybeFilePath - : getPlaceholderPath(cwd); - const configs = configLoader.getCachedConfigArrayForFile(filePath); - const config = configs.getConfig(filePath); - - // Most files use the same config, so cache it. - if (config && !usedDeprecatedRulesCache.has(config)) { - const retv = []; - - if (config.rules) { - for (const [ruleId, ruleConf] of Object.entries(config.rules)) { - if (getRuleSeverity(ruleConf) === 0) { - continue; - } - const rule = getRuleFromConfig(ruleId, config); - const meta = rule && rule.meta; - - if (meta && meta.deprecated) { - retv.push({ ruleId, replacedBy: meta.replacedBy || [] }); - } - } - } - - - usedDeprecatedRulesCache.set(config, Object.freeze(retv)); - } - - return config ? usedDeprecatedRulesCache.get(config) : Object.freeze([]); -} - -/** - * Processes the linting results generated by a CLIEngine linting report to - * match the ESLint class's API. - * @param {CLIEngine} eslint The CLIEngine instance. - * @param {CLIEngineLintReport} report The CLIEngine linting report to process. - * @returns {LintResult[]} The processed linting results. - */ -function processLintReport(eslint, { results }) { - const descriptor = { - configurable: true, - enumerable: true, - get() { - return getOrFindUsedDeprecatedRules(eslint, this.filePath); - } - }; - - for (const result of results) { - Object.defineProperty(result, "usedDeprecatedRules", descriptor); - } - - return results; -} - -/** - * An Array.prototype.sort() compatible compare function to order results by their file path. - * @param {LintResult} a The first lint result. - * @param {LintResult} b The second lint result. - * @returns {number} An integer representing the order in which the two results should occur. - */ -function compareResultsByFilePath(a, b) { - if (a.filePath < b.filePath) { - return -1; - } - - if (a.filePath > b.filePath) { - return 1; - } - - return 0; -} - - -/** - * Determines which config file to use. This is determined by seeing if an - * override config file was passed, and if so, using it; otherwise, as long - * as override config file is not explicitly set to `false`, it will search - * upwards from the cwd for a file named `eslint.config.js`. - * - * This function is used primarily by the `--inspect-config` option. For now, - * we will maintain the existing behavior, which is to search up from the cwd. - * @param {ESLintOptions} options The ESLint instance options. - * @param {boolean} allowTS `true` if the `unstable_ts_config` flag is enabled, `false` if it's not. - * @returns {Promise<{configFilePath:string|undefined;basePath:string}>} Location information for - * the config file. - */ -async function locateConfigFileToUse({ configFile, cwd }, allowTS) { - - const configLoader = new ConfigLoader({ - cwd, - allowTS, - configFile - }); - - const configFilePath = await configLoader.findConfigFileForPath(path.join(cwd, "__placeholder__.js")); - - if (!configFilePath) { - throw new Error("No ESLint configuration file was found."); - } - - return { - configFilePath, - basePath: configFile ? cwd : path.dirname(configFilePath) - }; -} - -/** - * Processes an source code using ESLint. - * @param {Object} config The config object. - * @param {string} config.text The source code to verify. - * @param {string} config.cwd The path to the current working directory. - * @param {string|undefined} config.filePath The path to the file of `text`. If this is undefined, it uses ``. - * @param {FlatConfigArray} config.configs The config. - * @param {boolean} config.fix If `true` then it does fix. - * @param {boolean} config.allowInlineConfig If `true` then it uses directive comments. - * @param {Function} config.ruleFilter A predicate function to filter which rules should be run. - * @param {boolean} config.stats If `true`, then if reports extra statistics with the lint results. - * @param {Linter} config.linter The linter instance to verify. - * @returns {LintResult} The result of linting. - * @private - */ -function verifyText({ - text, - cwd, - filePath: providedFilePath, - configs, - fix, - allowInlineConfig, - ruleFilter, - stats, - linter -}) { - const filePath = providedFilePath || ""; - - debug(`Lint ${filePath}`); - - /* - * Verify. - * `config.extractConfig(filePath)` requires an absolute path, but `linter` - * doesn't know CWD, so it gives `linter` an absolute path always. - */ - const filePathToVerify = filePath === "" ? getPlaceholderPath(cwd) : filePath; - const { fixed, messages, output } = linter.verifyAndFix( - text, - configs, - { - allowInlineConfig, - filename: filePathToVerify, - fix, - ruleFilter, - stats, - - /** - * Check if the linter should adopt a given code block or not. - * @param {string} blockFilename The virtual filename of a code block. - * @returns {boolean} `true` if the linter should adopt the code block. - */ - filterCodeBlock(blockFilename) { - return configs.getConfig(blockFilename) !== void 0; - } - } - ); - - // Tweak and return. - const result = { - filePath: filePath === "" ? filePath : path.resolve(filePath), - messages, - suppressedMessages: linter.getSuppressedMessages(), - ...calculateStatsPerFile(messages) - }; - - if (fixed) { - result.output = output; - } - - if ( - result.errorCount + result.warningCount > 0 && - typeof result.output === "undefined" - ) { - result.source = text; - } - - if (stats) { - result.stats = { - times: linter.getTimes(), - fixPasses: linter.getFixPassCount() - }; - } - - return result; -} - -/** - * Checks whether a message's rule type should be fixed. - * @param {LintMessage} message The message to check. - * @param {FlatConfig} config The config for the file that generated the message. - * @param {string[]} fixTypes An array of fix types to check. - * @returns {boolean} Whether the message should be fixed. - */ -function shouldMessageBeFixed(message, config, fixTypes) { - if (!message.ruleId) { - return fixTypes.has("directive"); - } - - const rule = message.ruleId && getRuleFromConfig(message.ruleId, config); - - return Boolean(rule && rule.meta && fixTypes.has(rule.meta.type)); -} - -/** - * Creates an error to be thrown when an array of results passed to `getRulesMetaForResults` was not created by the current engine. - * @returns {TypeError} An error object. - */ -function createExtraneousResultsError() { - return new TypeError("Results object was not created from this ESLint instance."); -} - -/** - * Creates a fixer function based on the provided fix, fixTypesSet, and config. - * @param {Function|boolean} fix The original fix option. - * @param {Set} fixTypesSet A set of fix types to filter messages for fixing. - * @param {FlatConfig} config The config for the file that generated the message. - * @returns {Function|boolean} The fixer function or the original fix value. - */ -function getFixerForFixTypes(fix, fixTypesSet, config) { - if (!fix || !fixTypesSet) { - return fix; - } - - const originalFix = (typeof fix === "function") ? fix : () => true; - - return message => shouldMessageBeFixed(message, config, fixTypesSet) && originalFix(message); -} - -//----------------------------------------------------------------------------- -// Main API -//----------------------------------------------------------------------------- - -/** - * Primary Node.js API for ESLint. - */ -class ESLint { - - /** - * The type of configuration used by this class. - * @type {string} - */ - static configType = "flat"; - - /** - * The loader to use for finding config files. - * @type {ConfigLoader|LegacyConfigLoader} - */ - #configLoader; - - /** - * Creates a new instance of the main ESLint API. - * @param {ESLintOptions} options The options for this instance. - */ - constructor(options = {}) { - - const defaultConfigs = []; - const processedOptions = processOptions(options); - const linter = new Linter({ - cwd: processedOptions.cwd, - configType: "flat", - flags: processedOptions.flags - }); - - const cacheFilePath = getCacheFile( - processedOptions.cacheLocation, - processedOptions.cwd - ); - - const lintResultCache = processedOptions.cache - ? new LintResultCache(cacheFilePath, processedOptions.cacheStrategy) - : null; - - const configLoaderOptions = { - cwd: processedOptions.cwd, - baseConfig: processedOptions.baseConfig, - overrideConfig: processedOptions.overrideConfig, - configFile: processedOptions.configFile, - ignoreEnabled: processedOptions.ignore, - ignorePatterns: processedOptions.ignorePatterns, - defaultConfigs, - allowTS: processedOptions.flags.includes("unstable_ts_config") - }; - - this.#configLoader = processedOptions.flags.includes("unstable_config_lookup_from_file") - ? new ConfigLoader(configLoaderOptions) - : new LegacyConfigLoader(configLoaderOptions); - - debug(`Using config loader ${this.#configLoader.constructor.name}`); - - privateMembers.set(this, { - options: processedOptions, - linter, - cacheFilePath, - lintResultCache, - defaultConfigs, - configs: null, - configLoader: this.#configLoader - }); - - - /** - * If additional plugins are passed in, add that to the default - * configs for this instance. - */ - if (options.plugins) { - - const plugins = {}; - - for (const [pluginName, plugin] of Object.entries(options.plugins)) { - plugins[naming.getShorthandName(pluginName, "eslint-plugin")] = plugin; - } - - defaultConfigs.push({ - plugins - }); - } - - // Check for the .eslintignore file, and warn if it's present. - if (existsSync(path.resolve(processedOptions.cwd, ".eslintignore"))) { - process.emitWarning( - "The \".eslintignore\" file is no longer supported. Switch to using the \"ignores\" property in \"eslint.config.js\": https://eslint.org/docs/latest/use/configure/migration-guide#ignoring-files", - "ESLintIgnoreWarning" - ); - } - } - - /** - * The version text. - * @type {string} - */ - static get version() { - return version; - } - - /** - * The default configuration that ESLint uses internally. This is provided for tooling that wants to calculate configurations using the same defaults as ESLint. - * Keep in mind that the default configuration may change from version to version, so you shouldn't rely on any particular keys or values to be present. - * @type {ConfigArray} - */ - static get defaultConfig() { - return defaultConfig; - } - - /** - * Outputs fixes from the given results to files. - * @param {LintResult[]} results The lint results. - * @returns {Promise} Returns a promise that is used to track side effects. - */ - static async outputFixes(results) { - if (!Array.isArray(results)) { - throw new Error("'results' must be an array"); - } - - await Promise.all( - results - .filter(result => { - if (typeof result !== "object" || result === null) { - throw new Error("'results' must include only objects"); - } - return ( - typeof result.output === "string" && - path.isAbsolute(result.filePath) - ); - }) - .map(r => fs.writeFile(r.filePath, r.output)) - ); - } - - /** - * Returns results that only contains errors. - * @param {LintResult[]} results The results to filter. - * @returns {LintResult[]} The filtered results. - */ - static getErrorResults(results) { - const filtered = []; - - results.forEach(result => { - const filteredMessages = result.messages.filter(isErrorMessage); - const filteredSuppressedMessages = result.suppressedMessages.filter(isErrorMessage); - - if (filteredMessages.length > 0) { - filtered.push({ - ...result, - messages: filteredMessages, - suppressedMessages: filteredSuppressedMessages, - errorCount: filteredMessages.length, - warningCount: 0, - fixableErrorCount: result.fixableErrorCount, - fixableWarningCount: 0 - }); - } - }); - - return filtered; - } - - /** - * Returns meta objects for each rule represented in the lint results. - * @param {LintResult[]} results The results to fetch rules meta for. - * @returns {Object} A mapping of ruleIds to rule meta objects. - * @throws {TypeError} When the results object wasn't created from this ESLint instance. - * @throws {TypeError} When a plugin or rule is missing. - */ - getRulesMetaForResults(results) { - - // short-circuit simple case - if (results.length === 0) { - return {}; - } - - const resultRules = new Map(); - const { - configLoader, - options: { cwd } - } = privateMembers.get(this); - - for (const result of results) { - - /* - * Normalize filename for . - */ - const filePath = result.filePath === "" - ? getPlaceholderPath(cwd) : result.filePath; - const allMessages = result.messages.concat(result.suppressedMessages); - - for (const { ruleId } of allMessages) { - if (!ruleId) { - continue; - } - - /* - * All of the plugin and rule information is contained within the - * calculated config for the given file. - */ - let configs; - - try { - configs = configLoader.getCachedConfigArrayForFile(filePath); - } catch { - throw createExtraneousResultsError(); - } - - const config = configs.getConfig(filePath); - - if (!config) { - throw createExtraneousResultsError(); - } - const rule = getRuleFromConfig(ruleId, config); - - // ignore unknown rules - if (rule) { - resultRules.set(ruleId, rule); - } - } - } - - return createRulesMeta(resultRules); - } - - /** - * Indicates if the given feature flag is enabled for this instance. - * @param {string} flag The feature flag to check. - * @returns {boolean} `true` if the feature flag is enabled, `false` if not. - */ - hasFlag(flag) { - - // note: Linter does validation of the flags - return privateMembers.get(this).linter.hasFlag(flag); - } - - /** - * Executes the current configuration on an array of file and directory names. - * @param {string|string[]} patterns An array of file and directory names. - * @returns {Promise} The results of linting the file patterns given. - */ - async lintFiles(patterns) { - - let normalizedPatterns = patterns; - const { - cacheFilePath, - lintResultCache, - linter, - options: eslintOptions - } = privateMembers.get(this); - - /* - * Special cases: - * 1. `patterns` is an empty string - * 2. `patterns` is an empty array - * - * In both cases, we use the cwd as the directory to lint. - */ - if (patterns === "" || Array.isArray(patterns) && patterns.length === 0) { - - /* - * Special case: If `passOnNoPatterns` is true, then we just exit - * without doing any work. - */ - if (eslintOptions.passOnNoPatterns) { - return []; - } - - normalizedPatterns = ["."]; - } else { - - if (!isNonEmptyString(patterns) && !isArrayOfNonEmptyString(patterns)) { - throw new Error("'patterns' must be a non-empty string or an array of non-empty strings"); - } - - if (typeof patterns === "string") { - normalizedPatterns = [patterns]; - } - } - - debug(`Using file patterns: ${normalizedPatterns}`); - - const { - allowInlineConfig, - cache, - cwd, - fix, - fixTypes, - ruleFilter, - stats, - globInputPaths, - errorOnUnmatchedPattern, - warnIgnored - } = eslintOptions; - const startTime = Date.now(); - const fixTypesSet = fixTypes ? new Set(fixTypes) : null; - - // Delete cache file; should this be done here? - if (!cache && cacheFilePath) { - debug(`Deleting cache file at ${cacheFilePath}`); - - try { - await fs.unlink(cacheFilePath); - } catch (error) { - const errorCode = error && error.code; - - // Ignore errors when no such file exists or file system is read only (and cache file does not exist) - if (errorCode !== "ENOENT" && !(errorCode === "EROFS" && !existsSync(cacheFilePath))) { - throw error; - } - } - } - - const filePaths = await findFiles({ - patterns: normalizedPatterns, - cwd, - globInputPaths, - configLoader: this.#configLoader, - errorOnUnmatchedPattern - }); - const controller = new AbortController(); - const retryCodes = new Set(["ENFILE", "EMFILE"]); - const retrier = new Retrier(error => retryCodes.has(error.code), { concurrency: 100 }); - - debug(`${filePaths.length} files found in: ${Date.now() - startTime}ms`); - - /* - * Because we need to process multiple files, including reading from disk, - * it is most efficient to start by reading each file via promises so that - * they can be done in parallel. Then, we can lint the returned text. This - * ensures we are waiting the minimum amount of time in between lints. - */ - const results = await Promise.all( - - filePaths.map(async filePath => { - - const configs = await this.#configLoader.loadConfigArrayForFile(filePath); - const config = configs.getConfig(filePath); - - /* - * If a filename was entered that cannot be matched - * to a config, then notify the user. - */ - if (!config) { - if (warnIgnored) { - const configStatus = configs.getConfigStatus(filePath); - - return createIgnoreResult(filePath, cwd, configStatus); - } - - return void 0; - } - - // Skip if there is cached result. - if (lintResultCache) { - const cachedResult = - lintResultCache.getCachedLintResults(filePath, config); - - if (cachedResult) { - const hadMessages = - cachedResult.messages && - cachedResult.messages.length > 0; - - if (hadMessages && fix) { - debug(`Reprocessing cached file to allow autofix: ${filePath}`); - } else { - debug(`Skipping file since it hasn't changed: ${filePath}`); - return cachedResult; - } - } - } - - - // set up fixer for fixTypes if necessary - const fixer = getFixerForFixTypes(fix, fixTypesSet, config); - - return retrier.retry(() => fs.readFile(filePath, { encoding: "utf8", signal: controller.signal }) - .then(text => { - - // fail immediately if an error occurred in another file - controller.signal.throwIfAborted(); - - // do the linting - const result = verifyText({ - text, - filePath, - configs, - cwd, - fix: fixer, - allowInlineConfig, - ruleFilter, - stats, - linter - }); - - /* - * Store the lint result in the LintResultCache. - * NOTE: The LintResultCache will remove the file source and any - * other properties that are difficult to serialize, and will - * hydrate those properties back in on future lint runs. - */ - if (lintResultCache) { - lintResultCache.setCachedLintResults(filePath, config, result); - } - - return result; - }), { signal: controller.signal }) - .catch(error => { - controller.abort(error); - throw error; - }); - }) - ); - - // Persist the cache to disk. - if (lintResultCache) { - lintResultCache.reconcile(); - } - - const finalResults = results.filter(result => !!result); - - return processLintReport(this, { - results: finalResults - }); - } - - /** - * Executes the current configuration on text. - * @param {string} code A string of JavaScript code to lint. - * @param {Object} [options] The options. - * @param {string} [options.filePath] The path to the file of the source code. - * @param {boolean} [options.warnIgnored] When set to true, warn if given filePath is an ignored path. - * @returns {Promise} The results of linting the string of code given. - */ - async lintText(code, options = {}) { - - // Parameter validation - - if (typeof code !== "string") { - throw new Error("'code' must be a string"); - } - - if (typeof options !== "object") { - throw new Error("'options' must be an object, null, or undefined"); - } - - // Options validation - - const { - filePath, - warnIgnored, - ...unknownOptions - } = options || {}; - - const unknownOptionKeys = Object.keys(unknownOptions); - - if (unknownOptionKeys.length > 0) { - throw new Error(`'options' must not include the unknown option(s): ${unknownOptionKeys.join(", ")}`); - } - - if (filePath !== void 0 && !isNonEmptyString(filePath)) { - throw new Error("'options.filePath' must be a non-empty string or undefined"); - } - - if (typeof warnIgnored !== "boolean" && typeof warnIgnored !== "undefined") { - throw new Error("'options.warnIgnored' must be a boolean or undefined"); - } - - // Now we can get down to linting - - const { - linter, - options: eslintOptions - } = privateMembers.get(this); - const { - allowInlineConfig, - cwd, - fix, - fixTypes, - warnIgnored: constructorWarnIgnored, - ruleFilter, - stats - } = eslintOptions; - const results = []; - const startTime = Date.now(); - const fixTypesSet = fixTypes ? new Set(fixTypes) : null; - const resolvedFilename = path.resolve(cwd, filePath || "__placeholder__.js"); - const configs = await this.#configLoader.loadConfigArrayForFile(resolvedFilename); - const configStatus = configs?.getConfigStatus(resolvedFilename) ?? "unconfigured"; - - // Clear the last used config arrays. - if (resolvedFilename && configStatus !== "matched") { - const shouldWarnIgnored = typeof warnIgnored === "boolean" ? warnIgnored : constructorWarnIgnored; - - if (shouldWarnIgnored) { - results.push(createIgnoreResult(resolvedFilename, cwd, configStatus)); - } - } else { - - const config = configs.getConfig(resolvedFilename); - const fixer = getFixerForFixTypes(fix, fixTypesSet, config); - - // Do lint. - results.push(verifyText({ - text: code, - filePath: resolvedFilename.endsWith("__placeholder__.js") ? "" : resolvedFilename, - configs, - cwd, - fix: fixer, - allowInlineConfig, - ruleFilter, - stats, - linter - })); - } - - debug(`Linting complete in: ${Date.now() - startTime}ms`); - - return processLintReport(this, { - results - }); - - } - - /** - * Returns the formatter representing the given formatter name. - * @param {string} [name] The name of the formatter to load. - * The following values are allowed: - * - `undefined` ... Load `stylish` builtin formatter. - * - A builtin formatter name ... Load the builtin formatter. - * - A third-party formatter name: - * - `foo` → `eslint-formatter-foo` - * - `@foo` → `@foo/eslint-formatter` - * - `@foo/bar` → `@foo/eslint-formatter-bar` - * - A file path ... Load the file. - * @returns {Promise} A promise resolving to the formatter object. - * This promise will be rejected if the given formatter was not found or not - * a function. - */ - async loadFormatter(name = "stylish") { - if (typeof name !== "string") { - throw new Error("'name' must be a string"); - } - - // replace \ with / for Windows compatibility - const normalizedFormatName = name.replace(/\\/gu, "/"); - const namespace = naming.getNamespaceFromTerm(normalizedFormatName); - - // grab our options - const { cwd } = privateMembers.get(this).options; - - - let formatterPath; - - // if there's a slash, then it's a file (TODO: this check seems dubious for scoped npm packages) - if (!namespace && normalizedFormatName.includes("/")) { - formatterPath = path.resolve(cwd, normalizedFormatName); - } else { - try { - const npmFormat = naming.normalizePackageName(normalizedFormatName, "eslint-formatter"); - - // TODO: This is pretty dirty...would be nice to clean up at some point. - formatterPath = ModuleResolver.resolve(npmFormat, getPlaceholderPath(cwd)); - } catch { - formatterPath = path.resolve(__dirname, "../", "cli-engine", "formatters", `${normalizedFormatName}.js`); - } - } - - let formatter; - - try { - formatter = (await import(pathToFileURL(formatterPath))).default; - } catch (ex) { - - // check for formatters that have been removed - if (removedFormatters.has(name)) { - ex.message = `The ${name} formatter is no longer part of core ESLint. Install it manually with \`npm install -D eslint-formatter-${name}\``; - } else { - ex.message = `There was a problem loading formatter: ${formatterPath}\nError: ${ex.message}`; - } - - throw ex; - } - - - if (typeof formatter !== "function") { - throw new TypeError(`Formatter must be a function, but got a ${typeof formatter}.`); - } - - const eslint = this; - - return { - - /** - * The main formatter method. - * @param {LintResult[]} results The lint results to format. - * @param {ResultsMeta} resultsMeta Warning count and max threshold. - * @returns {string} The formatted lint results. - */ - format(results, resultsMeta) { - let rulesMeta = null; - - results.sort(compareResultsByFilePath); - - return formatter(results, { - ...resultsMeta, - cwd, - get rulesMeta() { - if (!rulesMeta) { - rulesMeta = eslint.getRulesMetaForResults(results); - } - - return rulesMeta; - } - }); - } - }; - } - - /** - * Returns a configuration object for the given file based on the CLI options. - * This is the same logic used by the ESLint CLI executable to determine - * configuration for each file it processes. - * @param {string} filePath The path of the file to retrieve a config object for. - * @returns {Promise} A configuration object for the file - * or `undefined` if there is no configuration data for the object. - */ - async calculateConfigForFile(filePath) { - if (!isNonEmptyString(filePath)) { - throw new Error("'filePath' must be a non-empty string"); - } - const options = privateMembers.get(this).options; - const absolutePath = path.resolve(options.cwd, filePath); - const configs = await this.#configLoader.loadConfigArrayForFile(absolutePath); - - if (!configs) { - const error = new Error("Could not find config file."); - - error.messageTemplate = "config-file-missing"; - throw error; - } - - return configs.getConfig(absolutePath); - } - - /** - * Finds the config file being used by this instance based on the options - * passed to the constructor. - * @param {string} [filePath] The path of the file to find the config file for. - * @returns {Promise} The path to the config file being used or - * `undefined` if no config file is being used. - */ - findConfigFile(filePath) { - const options = privateMembers.get(this).options; - - /* - * Because the new config lookup scheme skips the current directory - * and looks into the parent directories, we need to use a placeholder - * directory to ensure the file in cwd is checked. - */ - const fakeCwd = path.join(options.cwd, "__placeholder__"); - - return this.#configLoader.findConfigFileForPath(filePath ?? fakeCwd) - .catch(() => void 0); - } - - /** - * Checks if a given path is ignored by ESLint. - * @param {string} filePath The path of the file to check. - * @returns {Promise} Whether or not the given path is ignored. - */ - async isPathIgnored(filePath) { - const config = await this.calculateConfigForFile(filePath); - - return config === void 0; - } -} - -/** - * Returns whether flat config should be used. - * @returns {Promise} Whether flat config should be used. - */ -async function shouldUseFlatConfig() { - return (process.env.ESLINT_USE_FLAT_CONFIG !== "false"); -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = { - ESLint, - shouldUseFlatConfig, - locateConfigFileToUse -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/index.js deleted file mode 100644 index b7c52a4e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/index.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; - -const { ESLint } = require("./eslint"); -const { LegacyESLint } = require("./legacy-eslint"); - -module.exports = { - ESLint, - LegacyESLint -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/legacy-eslint.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/legacy-eslint.js deleted file mode 100644 index f282e587..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/eslint/legacy-eslint.js +++ /dev/null @@ -1,742 +0,0 @@ -/** - * @fileoverview Main API Class - * @author Kai Cataldo - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const path = require("node:path"); -const fs = require("node:fs"); -const { promisify } = require("node:util"); -const { CLIEngine, getCLIEngineInternalSlots } = require("../cli-engine/cli-engine"); -const BuiltinRules = require("../rules"); -const { - Legacy: { - ConfigOps: { - getRuleSeverity - } - } -} = require("@eslint/eslintrc"); -const { version } = require("../../package.json"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** @typedef {import("../cli-engine/cli-engine").LintReport} CLIEngineLintReport */ -/** @typedef {import("../shared/types").DeprecatedRuleInfo} DeprecatedRuleInfo */ -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").LintMessage} LintMessage */ -/** @typedef {import("../shared/types").SuppressedLintMessage} SuppressedLintMessage */ -/** @typedef {import("../shared/types").Plugin} Plugin */ -/** @typedef {import("../shared/types").Rule} Rule */ -/** @typedef {import("../shared/types").LintResult} LintResult */ -/** @typedef {import("../shared/types").ResultsMeta} ResultsMeta */ - -/** - * The main formatter object. - * @typedef LoadedFormatter - * @property {(results: LintResult[], resultsMeta: ResultsMeta) => string | Promise} format format function. - */ - -/** - * The options with which to configure the LegacyESLint instance. - * @typedef {Object} LegacyESLintOptions - * @property {boolean} [allowInlineConfig] Enable or disable inline configuration comments. - * @property {ConfigData} [baseConfig] Base config object, extended by all configs used with this instance - * @property {boolean} [cache] Enable result caching. - * @property {string} [cacheLocation] The cache file to use instead of .eslintcache. - * @property {"metadata" | "content"} [cacheStrategy] The strategy used to detect changed files. - * @property {string} [cwd] The value to use for the current working directory. - * @property {boolean} [errorOnUnmatchedPattern] If `false` then `ESLint#lintFiles()` doesn't throw even if no target files found. Defaults to `true`. - * @property {string[]} [extensions] An array of file extensions to check. - * @property {boolean|Function} [fix] Execute in autofix mode. If a function, should return a boolean. - * @property {string[]} [fixTypes] Array of rule types to apply fixes for. - * @property {boolean} [globInputPaths] Set to false to skip glob resolution of input file paths to lint (default: true). If false, each input file paths is assumed to be a non-glob path to an existing file. - * @property {boolean} [ignore] False disables use of .eslintignore. - * @property {string} [ignorePath] The ignore file to use instead of .eslintignore. - * @property {ConfigData} [overrideConfig] Override config object, overrides all configs used with this instance - * @property {string} [overrideConfigFile] The configuration file to use. - * @property {Record|null} [plugins] Preloaded plugins. This is a map-like object, keys are plugin IDs and each value is implementation. - * @property {"error" | "warn" | "off"} [reportUnusedDisableDirectives] the severity to report unused eslint-disable directives. - * @property {string} [resolvePluginsRelativeTo] The folder where plugins should be resolved from, defaulting to the CWD. - * @property {string[]} [rulePaths] An array of directories to load custom rules from. - * @property {boolean} [useEslintrc] False disables looking for .eslintrc.* files. - * @property {boolean} [passOnNoPatterns=false] When set to true, missing patterns cause - * the linting operation to short circuit and not report any failures. - */ - -/** - * A rules metadata object. - * @typedef {Object} RulesMeta - * @property {string} id The plugin ID. - * @property {Object} definition The plugin definition. - */ - -/** - * Private members for the `ESLint` instance. - * @typedef {Object} ESLintPrivateMembers - * @property {CLIEngine} cliEngine The wrapped CLIEngine instance. - * @property {LegacyESLintOptions} options The options used to instantiate the ESLint instance. - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const writeFile = promisify(fs.writeFile); - -/** - * The map with which to store private class members. - * @type {WeakMap} - */ -const privateMembersMap = new WeakMap(); - -/** - * Check if a given value is a non-empty string or not. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is a non-empty string. - */ -function isNonEmptyString(value) { - return typeof value === "string" && value.trim() !== ""; -} - -/** - * Check if a given value is an array of non-empty strings or not. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is an array of non-empty strings. - */ -function isArrayOfNonEmptyString(value) { - return Array.isArray(value) && value.length && value.every(isNonEmptyString); -} - -/** - * Check if a given value is an empty array or an array of non-empty strings. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is an empty array or an array of non-empty - * strings. - */ -function isEmptyArrayOrArrayOfNonEmptyString(value) { - return Array.isArray(value) && value.every(isNonEmptyString); -} - -/** - * Check if a given value is a valid fix type or not. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is valid fix type. - */ -function isFixType(value) { - return value === "directive" || value === "problem" || value === "suggestion" || value === "layout"; -} - -/** - * Check if a given value is an array of fix types or not. - * @param {any} value The value to check. - * @returns {boolean} `true` if `value` is an array of fix types. - */ -function isFixTypeArray(value) { - return Array.isArray(value) && value.every(isFixType); -} - -/** - * The error for invalid options. - */ -class ESLintInvalidOptionsError extends Error { - constructor(messages) { - super(`Invalid Options:\n- ${messages.join("\n- ")}`); - this.code = "ESLINT_INVALID_OPTIONS"; - Error.captureStackTrace(this, ESLintInvalidOptionsError); - } -} - -/** - * Validates and normalizes options for the wrapped CLIEngine instance. - * @param {LegacyESLintOptions} options The options to process. - * @throws {ESLintInvalidOptionsError} If of any of a variety of type errors. - * @returns {LegacyESLintOptions} The normalized options. - */ -function processOptions({ - allowInlineConfig = true, // ← we cannot use `overrideConfig.noInlineConfig` instead because `allowInlineConfig` has side-effect that suppress warnings that show inline configs are ignored. - baseConfig = null, - cache = false, - cacheLocation = ".eslintcache", - cacheStrategy = "metadata", - cwd = process.cwd(), - errorOnUnmatchedPattern = true, - extensions = null, // ← should be null by default because if it's an array then it suppresses RFC20 feature. - fix = false, - fixTypes = null, // ← should be null by default because if it's an array then it suppresses rules that don't have the `meta.type` property. - flags, /* eslint-disable-line no-unused-vars -- leaving for compatibility with ESLint#hasFlag */ - globInputPaths = true, - ignore = true, - ignorePath = null, // ← should be null by default because if it's a string then it may throw ENOENT. - overrideConfig = null, - overrideConfigFile = null, - plugins = {}, - reportUnusedDisableDirectives = null, // ← should be null by default because if it's a string then it overrides the 'reportUnusedDisableDirectives' setting in config files. And we cannot use `overrideConfig.reportUnusedDisableDirectives` instead because we cannot configure the `error` severity with that. - resolvePluginsRelativeTo = null, // ← should be null by default because if it's a string then it suppresses RFC47 feature. - rulePaths = [], - useEslintrc = true, - passOnNoPatterns = false, - ...unknownOptions -}) { - const errors = []; - const unknownOptionKeys = Object.keys(unknownOptions); - - if (unknownOptionKeys.length >= 1) { - errors.push(`Unknown options: ${unknownOptionKeys.join(", ")}`); - if (unknownOptionKeys.includes("cacheFile")) { - errors.push("'cacheFile' has been removed. Please use the 'cacheLocation' option instead."); - } - if (unknownOptionKeys.includes("configFile")) { - errors.push("'configFile' has been removed. Please use the 'overrideConfigFile' option instead."); - } - if (unknownOptionKeys.includes("envs")) { - errors.push("'envs' has been removed. Please use the 'overrideConfig.env' option instead."); - } - if (unknownOptionKeys.includes("globals")) { - errors.push("'globals' has been removed. Please use the 'overrideConfig.globals' option instead."); - } - if (unknownOptionKeys.includes("ignorePattern")) { - errors.push("'ignorePattern' has been removed. Please use the 'overrideConfig.ignorePatterns' option instead."); - } - if (unknownOptionKeys.includes("parser")) { - errors.push("'parser' has been removed. Please use the 'overrideConfig.parser' option instead."); - } - if (unknownOptionKeys.includes("parserOptions")) { - errors.push("'parserOptions' has been removed. Please use the 'overrideConfig.parserOptions' option instead."); - } - if (unknownOptionKeys.includes("rules")) { - errors.push("'rules' has been removed. Please use the 'overrideConfig.rules' option instead."); - } - } - if (typeof allowInlineConfig !== "boolean") { - errors.push("'allowInlineConfig' must be a boolean."); - } - if (typeof baseConfig !== "object") { - errors.push("'baseConfig' must be an object or null."); - } - if (typeof cache !== "boolean") { - errors.push("'cache' must be a boolean."); - } - if (!isNonEmptyString(cacheLocation)) { - errors.push("'cacheLocation' must be a non-empty string."); - } - if ( - cacheStrategy !== "metadata" && - cacheStrategy !== "content" - ) { - errors.push("'cacheStrategy' must be any of \"metadata\", \"content\"."); - } - if (!isNonEmptyString(cwd) || !path.isAbsolute(cwd)) { - errors.push("'cwd' must be an absolute path."); - } - if (typeof errorOnUnmatchedPattern !== "boolean") { - errors.push("'errorOnUnmatchedPattern' must be a boolean."); - } - if (!isEmptyArrayOrArrayOfNonEmptyString(extensions) && extensions !== null) { - errors.push("'extensions' must be an array of non-empty strings or null."); - } - if (typeof fix !== "boolean" && typeof fix !== "function") { - errors.push("'fix' must be a boolean or a function."); - } - if (fixTypes !== null && !isFixTypeArray(fixTypes)) { - errors.push("'fixTypes' must be an array of any of \"directive\", \"problem\", \"suggestion\", and \"layout\"."); - } - if (typeof globInputPaths !== "boolean") { - errors.push("'globInputPaths' must be a boolean."); - } - if (typeof ignore !== "boolean") { - errors.push("'ignore' must be a boolean."); - } - if (!isNonEmptyString(ignorePath) && ignorePath !== null) { - errors.push("'ignorePath' must be a non-empty string or null."); - } - if (typeof overrideConfig !== "object") { - errors.push("'overrideConfig' must be an object or null."); - } - if (!isNonEmptyString(overrideConfigFile) && overrideConfigFile !== null) { - errors.push("'overrideConfigFile' must be a non-empty string or null."); - } - if (typeof plugins !== "object") { - errors.push("'plugins' must be an object or null."); - } else if (plugins !== null && Object.keys(plugins).includes("")) { - errors.push("'plugins' must not include an empty string."); - } - if (Array.isArray(plugins)) { - errors.push("'plugins' doesn't add plugins to configuration to load. Please use the 'overrideConfig.plugins' option instead."); - } - if ( - reportUnusedDisableDirectives !== "error" && - reportUnusedDisableDirectives !== "warn" && - reportUnusedDisableDirectives !== "off" && - reportUnusedDisableDirectives !== null - ) { - errors.push("'reportUnusedDisableDirectives' must be any of \"error\", \"warn\", \"off\", and null."); - } - if ( - !isNonEmptyString(resolvePluginsRelativeTo) && - resolvePluginsRelativeTo !== null - ) { - errors.push("'resolvePluginsRelativeTo' must be a non-empty string or null."); - } - if (!isEmptyArrayOrArrayOfNonEmptyString(rulePaths)) { - errors.push("'rulePaths' must be an array of non-empty strings."); - } - if (typeof useEslintrc !== "boolean") { - errors.push("'useEslintrc' must be a boolean."); - } - if (typeof passOnNoPatterns !== "boolean") { - errors.push("'passOnNoPatterns' must be a boolean."); - } - - if (errors.length > 0) { - throw new ESLintInvalidOptionsError(errors); - } - - return { - allowInlineConfig, - baseConfig, - cache, - cacheLocation, - cacheStrategy, - configFile: overrideConfigFile, - cwd: path.normalize(cwd), - errorOnUnmatchedPattern, - extensions, - fix, - fixTypes, - flags: [], // LegacyESLint does not support flags, so just ignore them. - globInputPaths, - ignore, - ignorePath, - reportUnusedDisableDirectives, - resolvePluginsRelativeTo, - rulePaths, - useEslintrc, - passOnNoPatterns - }; -} - -/** - * Check if a value has one or more properties and that value is not undefined. - * @param {any} obj The value to check. - * @returns {boolean} `true` if `obj` has one or more properties that that value is not undefined. - */ -function hasDefinedProperty(obj) { - if (typeof obj === "object" && obj !== null) { - for (const key in obj) { - if (typeof obj[key] !== "undefined") { - return true; - } - } - } - return false; -} - -/** - * Create rulesMeta object. - * @param {Map} rules a map of rules from which to generate the object. - * @returns {Object} metadata for all enabled rules. - */ -function createRulesMeta(rules) { - return Array.from(rules).reduce((retVal, [id, rule]) => { - retVal[id] = rule.meta; - return retVal; - }, {}); -} - -/** @type {WeakMap} */ -const usedDeprecatedRulesCache = new WeakMap(); - -/** - * Create used deprecated rule list. - * @param {CLIEngine} cliEngine The CLIEngine instance. - * @param {string} maybeFilePath The absolute path to a lint target file or `""`. - * @returns {DeprecatedRuleInfo[]} The used deprecated rule list. - */ -function getOrFindUsedDeprecatedRules(cliEngine, maybeFilePath) { - const { - configArrayFactory, - options: { cwd } - } = getCLIEngineInternalSlots(cliEngine); - const filePath = path.isAbsolute(maybeFilePath) - ? maybeFilePath - : path.join(cwd, "__placeholder__.js"); - const configArray = configArrayFactory.getConfigArrayForFile(filePath); - const config = configArray.extractConfig(filePath); - - // Most files use the same config, so cache it. - if (!usedDeprecatedRulesCache.has(config)) { - const pluginRules = configArray.pluginRules; - const retv = []; - - for (const [ruleId, ruleConf] of Object.entries(config.rules)) { - if (getRuleSeverity(ruleConf) === 0) { - continue; - } - const rule = pluginRules.get(ruleId) || BuiltinRules.get(ruleId); - const meta = rule && rule.meta; - - if (meta && meta.deprecated) { - retv.push({ ruleId, replacedBy: meta.replacedBy || [] }); - } - } - - usedDeprecatedRulesCache.set(config, Object.freeze(retv)); - } - - return usedDeprecatedRulesCache.get(config); -} - -/** - * Processes the linting results generated by a CLIEngine linting report to - * match the ESLint class's API. - * @param {CLIEngine} cliEngine The CLIEngine instance. - * @param {CLIEngineLintReport} report The CLIEngine linting report to process. - * @returns {LintResult[]} The processed linting results. - */ -function processCLIEngineLintReport(cliEngine, { results }) { - const descriptor = { - configurable: true, - enumerable: true, - get() { - return getOrFindUsedDeprecatedRules(cliEngine, this.filePath); - } - }; - - for (const result of results) { - Object.defineProperty(result, "usedDeprecatedRules", descriptor); - } - - return results; -} - -/** - * An Array.prototype.sort() compatible compare function to order results by their file path. - * @param {LintResult} a The first lint result. - * @param {LintResult} b The second lint result. - * @returns {number} An integer representing the order in which the two results should occur. - */ -function compareResultsByFilePath(a, b) { - if (a.filePath < b.filePath) { - return -1; - } - - if (a.filePath > b.filePath) { - return 1; - } - - return 0; -} - -/** - * Main API. - */ -class LegacyESLint { - - /** - * The type of configuration used by this class. - * @type {string} - */ - static configType = "eslintrc"; - - /** - * Creates a new instance of the main ESLint API. - * @param {LegacyESLintOptions} options The options for this instance. - */ - constructor(options = {}) { - const processedOptions = processOptions(options); - const cliEngine = new CLIEngine(processedOptions, { preloadedPlugins: options.plugins }); - const { - configArrayFactory, - lastConfigArrays - } = getCLIEngineInternalSlots(cliEngine); - let updated = false; - - /* - * Address `overrideConfig` to set override config. - * Operate the `configArrayFactory` internal slot directly because this - * functionality doesn't exist as the public API of CLIEngine. - */ - if (hasDefinedProperty(options.overrideConfig)) { - configArrayFactory.setOverrideConfig(options.overrideConfig); - updated = true; - } - - // Update caches. - if (updated) { - configArrayFactory.clearCache(); - lastConfigArrays[0] = configArrayFactory.getConfigArrayForFile(); - } - - // Initialize private properties. - privateMembersMap.set(this, { - cliEngine, - options: processedOptions - }); - } - - /** - * The version text. - * @type {string} - */ - static get version() { - return version; - } - - /** - * Outputs fixes from the given results to files. - * @param {LintResult[]} results The lint results. - * @returns {Promise} Returns a promise that is used to track side effects. - */ - static async outputFixes(results) { - if (!Array.isArray(results)) { - throw new Error("'results' must be an array"); - } - - await Promise.all( - results - .filter(result => { - if (typeof result !== "object" || result === null) { - throw new Error("'results' must include only objects"); - } - return ( - typeof result.output === "string" && - path.isAbsolute(result.filePath) - ); - }) - .map(r => writeFile(r.filePath, r.output)) - ); - } - - /** - * Returns results that only contains errors. - * @param {LintResult[]} results The results to filter. - * @returns {LintResult[]} The filtered results. - */ - static getErrorResults(results) { - return CLIEngine.getErrorResults(results); - } - - /** - * Returns meta objects for each rule represented in the lint results. - * @param {LintResult[]} results The results to fetch rules meta for. - * @returns {Object} A mapping of ruleIds to rule meta objects. - */ - getRulesMetaForResults(results) { - - const resultRuleIds = new Set(); - - // first gather all ruleIds from all results - - for (const result of results) { - for (const { ruleId } of result.messages) { - resultRuleIds.add(ruleId); - } - for (const { ruleId } of result.suppressedMessages) { - resultRuleIds.add(ruleId); - } - } - - // create a map of all rules in the results - - const { cliEngine } = privateMembersMap.get(this); - const rules = cliEngine.getRules(); - const resultRules = new Map(); - - for (const [ruleId, rule] of rules) { - if (resultRuleIds.has(ruleId)) { - resultRules.set(ruleId, rule); - } - } - - return createRulesMeta(resultRules); - - } - - /* eslint-disable no-unused-vars, class-methods-use-this -- leaving for compatibility with ESLint#hasFlag */ - /** - * Indicates if the given feature flag is enabled for this instance. For this - * class, this always returns `false` because it does not support feature flags. - * @param {string} flag The feature flag to check. - * @returns {boolean} Always false. - */ - hasFlag(flag) { - return false; - } - /* eslint-enable no-unused-vars, class-methods-use-this -- reenable rules for the rest of the file */ - - /** - * Executes the current configuration on an array of file and directory names. - * @param {string[]} patterns An array of file and directory names. - * @returns {Promise} The results of linting the file patterns given. - */ - async lintFiles(patterns) { - const { cliEngine, options } = privateMembersMap.get(this); - - if (options.passOnNoPatterns && (patterns === "" || (Array.isArray(patterns) && patterns.length === 0))) { - return []; - } - - if (!isNonEmptyString(patterns) && !isArrayOfNonEmptyString(patterns)) { - throw new Error("'patterns' must be a non-empty string or an array of non-empty strings"); - } - - return processCLIEngineLintReport( - cliEngine, - cliEngine.executeOnFiles(patterns) - ); - } - - /** - * Executes the current configuration on text. - * @param {string} code A string of JavaScript code to lint. - * @param {Object} [options] The options. - * @param {string} [options.filePath] The path to the file of the source code. - * @param {boolean} [options.warnIgnored] When set to true, warn if given filePath is an ignored path. - * @returns {Promise} The results of linting the string of code given. - */ - async lintText(code, options = {}) { - if (typeof code !== "string") { - throw new Error("'code' must be a string"); - } - if (typeof options !== "object") { - throw new Error("'options' must be an object, null, or undefined"); - } - const { - filePath, - warnIgnored = false, - ...unknownOptions - } = options || {}; - - const unknownOptionKeys = Object.keys(unknownOptions); - - if (unknownOptionKeys.length > 0) { - throw new Error(`'options' must not include the unknown option(s): ${unknownOptionKeys.join(", ")}`); - } - - if (filePath !== void 0 && !isNonEmptyString(filePath)) { - throw new Error("'options.filePath' must be a non-empty string or undefined"); - } - if (typeof warnIgnored !== "boolean") { - throw new Error("'options.warnIgnored' must be a boolean or undefined"); - } - - const { cliEngine } = privateMembersMap.get(this); - - return processCLIEngineLintReport( - cliEngine, - cliEngine.executeOnText(code, filePath, warnIgnored) - ); - } - - /** - * Returns the formatter representing the given formatter name. - * @param {string} [name] The name of the formatter to load. - * The following values are allowed: - * - `undefined` ... Load `stylish` builtin formatter. - * - A builtin formatter name ... Load the builtin formatter. - * - A third-party formatter name: - * - `foo` → `eslint-formatter-foo` - * - `@foo` → `@foo/eslint-formatter` - * - `@foo/bar` → `@foo/eslint-formatter-bar` - * - A file path ... Load the file. - * @returns {Promise} A promise resolving to the formatter object. - * This promise will be rejected if the given formatter was not found or not - * a function. - */ - async loadFormatter(name = "stylish") { - if (typeof name !== "string") { - throw new Error("'name' must be a string"); - } - - const { cliEngine, options } = privateMembersMap.get(this); - const formatter = cliEngine.getFormatter(name); - - if (typeof formatter !== "function") { - throw new Error(`Formatter must be a function, but got a ${typeof formatter}.`); - } - - return { - - /** - * The main formatter method. - * @param {LintResult[]} results The lint results to format. - * @param {ResultsMeta} resultsMeta Warning count and max threshold. - * @returns {string | Promise} The formatted lint results. - */ - format(results, resultsMeta) { - let rulesMeta = null; - - results.sort(compareResultsByFilePath); - - return formatter(results, { - ...resultsMeta, - get cwd() { - return options.cwd; - }, - get rulesMeta() { - if (!rulesMeta) { - rulesMeta = createRulesMeta(cliEngine.getRules()); - } - - return rulesMeta; - } - }); - } - }; - } - - /** - * Returns a configuration object for the given file based on the CLI options. - * This is the same logic used by the ESLint CLI executable to determine - * configuration for each file it processes. - * @param {string} filePath The path of the file to retrieve a config object for. - * @returns {Promise} A configuration object for the file. - */ - async calculateConfigForFile(filePath) { - if (!isNonEmptyString(filePath)) { - throw new Error("'filePath' must be a non-empty string"); - } - const { cliEngine } = privateMembersMap.get(this); - - return cliEngine.getConfigForFile(filePath); - } - - /** - * Checks if a given path is ignored by ESLint. - * @param {string} filePath The path of the file to check. - * @returns {Promise} Whether or not the given path is ignored. - */ - async isPathIgnored(filePath) { - if (!isNonEmptyString(filePath)) { - throw new Error("'filePath' must be a non-empty string"); - } - const { cliEngine } = privateMembersMap.get(this); - - return cliEngine.isPathIgnored(filePath); - } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = { - LegacyESLint, - - /** - * Get the private class members of a given ESLint instance for tests. - * @param {ESLint} instance The ESLint instance to get. - * @returns {ESLintPrivateMembers} The instance's private class members. - */ - getESLintPrivateMembers(instance) { - return privateMembersMap.get(instance); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/index.js deleted file mode 100644 index 98d72a54..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/index.js +++ /dev/null @@ -1,336 +0,0 @@ -/** - * @fileoverview JavaScript Language Object - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const { SourceCode } = require("./source-code"); -const createDebug = require("debug"); -const astUtils = require("../../shared/ast-utils"); -const espree = require("espree"); -const eslintScope = require("eslint-scope"); -const evk = require("eslint-visitor-keys"); -const { validateLanguageOptions } = require("./validate-language-options"); -const { LATEST_ECMA_VERSION } = require("../../../conf/ecma-version"); - -//----------------------------------------------------------------------------- -// Type Definitions -//----------------------------------------------------------------------------- - -/** @typedef {import("@eslint/core").File} File */ -/** @typedef {import("@eslint/core").Language} Language */ -/** @typedef {import("@eslint/core").OkParseResult} OkParseResult */ - -//----------------------------------------------------------------------------- -// Helpers -//----------------------------------------------------------------------------- - -const debug = createDebug("eslint:languages:js"); -const DEFAULT_ECMA_VERSION = 5; -const parserSymbol = Symbol.for("eslint.RuleTester.parser"); - -/** - * Analyze scope of the given AST. - * @param {ASTNode} ast The `Program` node to analyze. - * @param {LanguageOptions} languageOptions The parser options. - * @param {Record} visitorKeys The visitor keys. - * @returns {ScopeManager} The analysis result. - */ -function analyzeScope(ast, languageOptions, visitorKeys) { - const parserOptions = languageOptions.parserOptions; - const ecmaFeatures = parserOptions.ecmaFeatures || {}; - const ecmaVersion = languageOptions.ecmaVersion || DEFAULT_ECMA_VERSION; - - return eslintScope.analyze(ast, { - ignoreEval: true, - nodejsScope: ecmaFeatures.globalReturn, - impliedStrict: ecmaFeatures.impliedStrict, - ecmaVersion: typeof ecmaVersion === "number" ? ecmaVersion : 6, - sourceType: languageOptions.sourceType || "script", - childVisitorKeys: visitorKeys || evk.KEYS, - fallback: evk.getKeys - }); -} - -/** - * Determines if a given object is Espree. - * @param {Object} parser The parser to check. - * @returns {boolean} True if the parser is Espree or false if not. - */ -function isEspree(parser) { - return !!(parser === espree || parser[parserSymbol] === espree); -} - -/** - * Normalize ECMAScript version from the initial config into languageOptions (year) - * format. - * @param {any} [ecmaVersion] ECMAScript version from the initial config - * @returns {number} normalized ECMAScript version - */ -function normalizeEcmaVersionForLanguageOptions(ecmaVersion) { - - switch (ecmaVersion) { - case 3: - return 3; - - // void 0 = no ecmaVersion specified so use the default - case 5: - case void 0: - return 5; - - default: - if (typeof ecmaVersion === "number") { - return ecmaVersion >= 2015 ? ecmaVersion : ecmaVersion + 2009; - } - } - - /* - * We default to the latest supported ecmaVersion for everything else. - * Remember, this is for languageOptions.ecmaVersion, which sets the version - * that is used for a number of processes inside of ESLint. It's normally - * safe to assume people want the latest unless otherwise specified. - */ - return LATEST_ECMA_VERSION; -} - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -/** - * @type {Language} - */ -module.exports = { - - fileType: "text", - lineStart: 1, - columnStart: 0, - nodeTypeKey: "type", - visitorKeys: evk.KEYS, - - defaultLanguageOptions: { - sourceType: "module", - ecmaVersion: "latest", - parser: espree, - parserOptions: {} - }, - - validateLanguageOptions, - - /** - * Normalizes the language options. - * @param {Object} languageOptions The language options to normalize. - * @returns {Object} The normalized language options. - */ - normalizeLanguageOptions(languageOptions) { - - languageOptions.ecmaVersion = normalizeEcmaVersionForLanguageOptions( - languageOptions.ecmaVersion - ); - - // Espree expects this information to be passed in - if (isEspree(languageOptions.parser)) { - const parserOptions = languageOptions.parserOptions; - - if (languageOptions.sourceType) { - - parserOptions.sourceType = languageOptions.sourceType; - - if ( - parserOptions.sourceType === "module" && - parserOptions.ecmaFeatures && - parserOptions.ecmaFeatures.globalReturn - ) { - parserOptions.ecmaFeatures.globalReturn = false; - } - } - } - - return languageOptions; - - }, - - /** - * Determines if a given node matches a given selector class. - * @param {string} className The class name to check. - * @param {ASTNode} node The node to check. - * @param {Array} ancestry The ancestry of the node. - * @returns {boolean} True if there's a match, false if not. - * @throws {Error} When an unknown class name is passed. - */ - matchesSelectorClass(className, node, ancestry) { - - /* - * Copyright (c) 2013, Joel Feenstra - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the ESQuery nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL JOEL FEENSTRA BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - switch (className.toLowerCase()) { - - case "statement": - if (node.type.slice(-9) === "Statement") { - return true; - } - - // fallthrough: interface Declaration <: Statement { } - - case "declaration": - return node.type.slice(-11) === "Declaration"; - - case "pattern": - if (node.type.slice(-7) === "Pattern") { - return true; - } - - // fallthrough: interface Expression <: Node, Pattern { } - - case "expression": - return node.type.slice(-10) === "Expression" || - node.type.slice(-7) === "Literal" || - ( - node.type === "Identifier" && - (ancestry.length === 0 || ancestry[0].type !== "MetaProperty") - ) || - node.type === "MetaProperty"; - - case "function": - return node.type === "FunctionDeclaration" || - node.type === "FunctionExpression" || - node.type === "ArrowFunctionExpression"; - - default: - throw new Error(`Unknown class name: ${className}`); - } - }, - - /** - * Parses the given file into an AST. - * @param {File} file The virtual file to parse. - * @param {Object} options Additional options passed from ESLint. - * @param {LanguageOptions} options.languageOptions The language options. - * @returns {Object} The result of parsing. - */ - parse(file, { languageOptions }) { - - // Note: BOM already removed - const { body: text, path: filePath } = file; - const textToParse = text.replace(astUtils.shebangPattern, (match, captured) => `//${captured}`); - const { ecmaVersion, sourceType, parser } = languageOptions; - const parserOptions = Object.assign( - { ecmaVersion, sourceType }, - languageOptions.parserOptions, - { - loc: true, - range: true, - raw: true, - tokens: true, - comment: true, - eslintVisitorKeys: true, - eslintScopeManager: true, - filePath - } - ); - - /* - * Check for parsing errors first. If there's a parsing error, nothing - * else can happen. However, a parsing error does not throw an error - * from this method - it's just considered a fatal error message, a - * problem that ESLint identified just like any other. - */ - try { - debug("Parsing:", filePath); - const parseResult = (typeof parser.parseForESLint === "function") - ? parser.parseForESLint(textToParse, parserOptions) - : { ast: parser.parse(textToParse, parserOptions) }; - - debug("Parsing successful:", filePath); - - const { - ast, - services: parserServices = {}, - visitorKeys = evk.KEYS, - scopeManager - } = parseResult; - - return { - ok: true, - ast, - parserServices, - visitorKeys, - scopeManager - }; - } catch (ex) { - - // If the message includes a leading line number, strip it: - const message = ex.message.replace(/^line \d+:/iu, "").trim(); - - debug("%s\n%s", message, ex.stack); - - return { - ok: false, - errors: [{ - message, - line: ex.lineNumber, - column: ex.column - }] - }; - } - - }, - - /** - * Creates a new `SourceCode` object from the given information. - * @param {File} file The virtual file to create a `SourceCode` object from. - * @param {OkParseResult} parseResult The result returned from `parse()`. - * @param {Object} options Additional options passed from ESLint. - * @param {LanguageOptions} options.languageOptions The language options. - * @returns {SourceCode} The new `SourceCode` object. - */ - createSourceCode(file, parseResult, { languageOptions }) { - - const { body: text, path: filePath, bom: hasBOM } = file; - const { ast, parserServices, visitorKeys } = parseResult; - - debug("Scope analysis:", filePath); - const scopeManager = parseResult.scopeManager || analyzeScope(ast, languageOptions, visitorKeys); - - debug("Scope analysis successful:", filePath); - - return new SourceCode({ - text, - ast, - hasBOM, - parserServices, - scopeManager, - visitorKeys - }); - } - -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/index.js deleted file mode 100644 index 1ecfbe47..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/index.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -const SourceCode = require("./source-code"); - -module.exports = { - SourceCode -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/source-code.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/source-code.js deleted file mode 100644 index 9c073fa2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/source-code.js +++ /dev/null @@ -1,1202 +0,0 @@ -/** - * @fileoverview Abstraction of JavaScript source code. - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const - { isCommentToken } = require("@eslint-community/eslint-utils"), - TokenStore = require("./token-store"), - astUtils = require("../../../shared/ast-utils"), - Traverser = require("../../../shared/traverser"), - globals = require("../../../../conf/globals"), - { - directivesPattern - } = require("../../../shared/directives"), - - CodePathAnalyzer = require("../../../linter/code-path-analysis/code-path-analyzer"), - createEmitter = require("../../../linter/safe-emitter"), - { ConfigCommentParser, VisitNodeStep, CallMethodStep, Directive } = require("@eslint/plugin-kit"), - - eslintScope = require("eslint-scope"); - -//------------------------------------------------------------------------------ -// Type Definitions -//------------------------------------------------------------------------------ - -/** @typedef {import("eslint-scope").Variable} Variable */ -/** @typedef {import("eslint-scope").Scope} Scope */ -/** @typedef {import("@eslint/core").SourceCode} ISourceCode */ -/** @typedef {import("@eslint/core").Directive} IDirective */ -/** @typedef {import("@eslint/core").TraversalStep} ITraversalStep */ - -//------------------------------------------------------------------------------ -// Private -//------------------------------------------------------------------------------ - -const commentParser = new ConfigCommentParser(); - -const CODE_PATH_EVENTS = [ - "onCodePathStart", - "onCodePathEnd", - "onCodePathSegmentStart", - "onCodePathSegmentEnd", - "onCodePathSegmentLoop", - "onUnreachableCodePathSegmentStart", - "onUnreachableCodePathSegmentEnd" -]; - -/** - * Validates that the given AST has the required information. - * @param {ASTNode} ast The Program node of the AST to check. - * @throws {Error} If the AST doesn't contain the correct information. - * @returns {void} - * @private - */ -function validate(ast) { - if (!ast.tokens) { - throw new Error("AST is missing the tokens array."); - } - - if (!ast.comments) { - throw new Error("AST is missing the comments array."); - } - - if (!ast.loc) { - throw new Error("AST is missing location information."); - } - - if (!ast.range) { - throw new Error("AST is missing range information"); - } -} - -/** - * Retrieves globals for the given ecmaVersion. - * @param {number} ecmaVersion The version to retrieve globals for. - * @returns {Object} The globals for the given ecmaVersion. - */ -function getGlobalsForEcmaVersion(ecmaVersion) { - - switch (ecmaVersion) { - case 3: - return globals.es3; - - case 5: - return globals.es5; - - default: - if (ecmaVersion < 2015) { - return globals[`es${ecmaVersion + 2009}`]; - } - - return globals[`es${ecmaVersion}`]; - } -} - -/** - * Check to see if its a ES6 export declaration. - * @param {ASTNode} astNode An AST node. - * @returns {boolean} whether the given node represents an export declaration. - * @private - */ -function looksLikeExport(astNode) { - return astNode.type === "ExportDefaultDeclaration" || astNode.type === "ExportNamedDeclaration" || - astNode.type === "ExportAllDeclaration" || astNode.type === "ExportSpecifier"; -} - -/** - * Merges two sorted lists into a larger sorted list in O(n) time. - * @param {Token[]} tokens The list of tokens. - * @param {Token[]} comments The list of comments. - * @returns {Token[]} A sorted list of tokens and comments. - * @private - */ -function sortedMerge(tokens, comments) { - const result = []; - let tokenIndex = 0; - let commentIndex = 0; - - while (tokenIndex < tokens.length || commentIndex < comments.length) { - if (commentIndex >= comments.length || tokenIndex < tokens.length && tokens[tokenIndex].range[0] < comments[commentIndex].range[0]) { - result.push(tokens[tokenIndex++]); - } else { - result.push(comments[commentIndex++]); - } - } - - return result; -} - -/** - * Normalizes a value for a global in a config - * @param {(boolean|string|null)} configuredValue The value given for a global in configuration or in - * a global directive comment - * @returns {("readable"|"writeable"|"off")} The value normalized as a string - * @throws Error if global value is invalid - */ -function normalizeConfigGlobal(configuredValue) { - switch (configuredValue) { - case "off": - return "off"; - - case true: - case "true": - case "writeable": - case "writable": - return "writable"; - - case null: - case false: - case "false": - case "readable": - case "readonly": - return "readonly"; - - default: - throw new Error(`'${configuredValue}' is not a valid configuration for a global (use 'readonly', 'writable', or 'off')`); - } -} - -/** - * Determines if two nodes or tokens overlap. - * @param {ASTNode|Token} first The first node or token to check. - * @param {ASTNode|Token} second The second node or token to check. - * @returns {boolean} True if the two nodes or tokens overlap. - * @private - */ -function nodesOrTokensOverlap(first, second) { - return (first.range[0] <= second.range[0] && first.range[1] >= second.range[0]) || - (second.range[0] <= first.range[0] && second.range[1] >= first.range[0]); -} - -/** - * Determines if two nodes or tokens have at least one whitespace character - * between them. Order does not matter. Returns false if the given nodes or - * tokens overlap. - * @param {SourceCode} sourceCode The source code object. - * @param {ASTNode|Token} first The first node or token to check between. - * @param {ASTNode|Token} second The second node or token to check between. - * @param {boolean} checkInsideOfJSXText If `true` is present, check inside of JSXText tokens for backward compatibility. - * @returns {boolean} True if there is a whitespace character between - * any of the tokens found between the two given nodes or tokens. - * @public - */ -function isSpaceBetween(sourceCode, first, second, checkInsideOfJSXText) { - if (nodesOrTokensOverlap(first, second)) { - return false; - } - - const [startingNodeOrToken, endingNodeOrToken] = first.range[1] <= second.range[0] - ? [first, second] - : [second, first]; - const firstToken = sourceCode.getLastToken(startingNodeOrToken) || startingNodeOrToken; - const finalToken = sourceCode.getFirstToken(endingNodeOrToken) || endingNodeOrToken; - let currentToken = firstToken; - - while (currentToken !== finalToken) { - const nextToken = sourceCode.getTokenAfter(currentToken, { includeComments: true }); - - if ( - currentToken.range[1] !== nextToken.range[0] || - - /* - * For backward compatibility, check spaces in JSXText. - * https://github.com/eslint/eslint/issues/12614 - */ - ( - checkInsideOfJSXText && - nextToken !== finalToken && - nextToken.type === "JSXText" && - /\s/u.test(nextToken.value) - ) - ) { - return true; - } - - currentToken = nextToken; - } - - return false; -} - -//----------------------------------------------------------------------------- -// Directive Comments -//----------------------------------------------------------------------------- - -/** - * Ensures that variables representing built-in properties of the Global Object, - * and any globals declared by special block comments, are present in the global - * scope. - * @param {Scope} globalScope The global scope. - * @param {Object|undefined} configGlobals The globals declared in configuration - * @param {Object|undefined} inlineGlobals The globals declared in the source code - * @returns {void} - */ -function addDeclaredGlobals(globalScope, configGlobals = {}, inlineGlobals = {}) { - - // Define configured global variables. - for (const id of new Set([...Object.keys(configGlobals), ...Object.keys(inlineGlobals)])) { - - /* - * `normalizeConfigGlobal` will throw an error if a configured global value is invalid. However, these errors would - * typically be caught when validating a config anyway (validity for inline global comments is checked separately). - */ - const configValue = configGlobals[id] === void 0 ? void 0 : normalizeConfigGlobal(configGlobals[id]); - const commentValue = inlineGlobals[id] && inlineGlobals[id].value; - const value = commentValue || configValue; - const sourceComments = inlineGlobals[id] && inlineGlobals[id].comments; - - if (value === "off") { - continue; - } - - let variable = globalScope.set.get(id); - - if (!variable) { - variable = new eslintScope.Variable(id, globalScope); - - globalScope.variables.push(variable); - globalScope.set.set(id, variable); - } - - variable.eslintImplicitGlobalSetting = configValue; - variable.eslintExplicitGlobal = sourceComments !== void 0; - variable.eslintExplicitGlobalComments = sourceComments; - variable.writeable = (value === "writable"); - } - - /* - * "through" contains all references which definitions cannot be found. - * Since we augment the global scope using configuration, we need to update - * references and remove the ones that were added by configuration. - */ - globalScope.through = globalScope.through.filter(reference => { - const name = reference.identifier.name; - const variable = globalScope.set.get(name); - - if (variable) { - - /* - * Links the variable and the reference. - * And this reference is removed from `Scope#through`. - */ - reference.resolved = variable; - variable.references.push(reference); - - return false; - } - - return true; - }); -} - -/** - * Sets the given variable names as exported so they won't be triggered by - * the `no-unused-vars` rule. - * @param {eslint.Scope} globalScope The global scope to define exports in. - * @param {Record} variables An object whose keys are the variable - * names to export. - * @returns {void} - */ -function markExportedVariables(globalScope, variables) { - - Object.keys(variables).forEach(name => { - const variable = globalScope.set.get(name); - - if (variable) { - variable.eslintUsed = true; - variable.eslintExported = true; - } - }); - -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -const caches = Symbol("caches"); - -/** - * Represents parsed source code. - * @implements {ISourceCode} - */ -class SourceCode extends TokenStore { - - /** - * The cache of steps that were taken while traversing the source code. - * @type {Array} - */ - #steps; - - /** - * Creates a new instance. - * @param {string|Object} textOrConfig The source code text or config object. - * @param {string} textOrConfig.text The source code text. - * @param {ASTNode} textOrConfig.ast The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped. - * @param {boolean} textOrConfig.hasBOM Indicates if the text has a Unicode BOM. - * @param {Object|null} textOrConfig.parserServices The parser services. - * @param {ScopeManager|null} textOrConfig.scopeManager The scope of this source code. - * @param {Object|null} textOrConfig.visitorKeys The visitor keys to traverse AST. - * @param {ASTNode} [astIfNoConfig] The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped. - */ - constructor(textOrConfig, astIfNoConfig) { - let text, hasBOM, ast, parserServices, scopeManager, visitorKeys; - - // Process overloading of arguments - if (typeof textOrConfig === "string") { - text = textOrConfig; - ast = astIfNoConfig; - hasBOM = false; - } else if (typeof textOrConfig === "object" && textOrConfig !== null) { - text = textOrConfig.text; - ast = textOrConfig.ast; - hasBOM = textOrConfig.hasBOM; - parserServices = textOrConfig.parserServices; - scopeManager = textOrConfig.scopeManager; - visitorKeys = textOrConfig.visitorKeys; - } - - validate(ast); - super(ast.tokens, ast.comments); - - /** - * General purpose caching for the class. - */ - this[caches] = new Map([ - ["scopes", new WeakMap()], - ["vars", new Map()], - ["configNodes", void 0] - ]); - - /** - * Indicates if the AST is ESTree compatible. - * @type {boolean} - */ - this.isESTree = ast.type === "Program"; - - /* - * Backwards compatibility for BOM handling. - * - * The `hasBOM` property has been available on the `SourceCode` object - * for a long time and is used to indicate if the source contains a BOM. - * The linter strips the BOM and just passes the `hasBOM` property to the - * `SourceCode` constructor to make it easier for languages to not deal with - * the BOM. - * - * However, the text passed in to the `SourceCode` constructor might still - * have a BOM if the constructor is called outside of the linter, so we still - * need to check for the BOM in the text. - */ - const textHasBOM = text.charCodeAt(0) === 0xFEFF; - - /** - * The flag to indicate that the source code has Unicode BOM. - * @type {boolean} - */ - this.hasBOM = textHasBOM || !!hasBOM; - - /** - * The original text source code. - * BOM was stripped from this text. - * @type {string} - */ - this.text = (textHasBOM ? text.slice(1) : text); - - /** - * The parsed AST for the source code. - * @type {ASTNode} - */ - this.ast = ast; - - /** - * The parser services of this source code. - * @type {Object} - */ - this.parserServices = parserServices || {}; - - /** - * The scope of this source code. - * @type {ScopeManager|null} - */ - this.scopeManager = scopeManager || null; - - /** - * The visitor keys to traverse AST. - * @type {Object} - */ - this.visitorKeys = visitorKeys || Traverser.DEFAULT_VISITOR_KEYS; - - // Check the source text for the presence of a shebang since it is parsed as a standard line comment. - const shebangMatched = this.text.match(astUtils.shebangPattern); - const hasShebang = shebangMatched && ast.comments.length && ast.comments[0].value === shebangMatched[1]; - - if (hasShebang) { - ast.comments[0].type = "Shebang"; - } - - this.tokensAndComments = sortedMerge(ast.tokens, ast.comments); - - /** - * The source code split into lines according to ECMA-262 specification. - * This is done to avoid each rule needing to do so separately. - * @type {string[]} - */ - this.lines = []; - this.lineStartIndices = [0]; - - const lineEndingPattern = astUtils.createGlobalLinebreakMatcher(); - let match; - - /* - * Previously, this was implemented using a regex that - * matched a sequence of non-linebreak characters followed by a - * linebreak, then adding the lengths of the matches. However, - * this caused a catastrophic backtracking issue when the end - * of a file contained a large number of non-newline characters. - * To avoid this, the current implementation just matches newlines - * and uses match.index to get the correct line start indices. - */ - while ((match = lineEndingPattern.exec(this.text))) { - this.lines.push(this.text.slice(this.lineStartIndices.at(-1), match.index)); - this.lineStartIndices.push(match.index + match[0].length); - } - this.lines.push(this.text.slice(this.lineStartIndices.at(-1))); - - // don't allow further modification of this object - Object.freeze(this); - Object.freeze(this.lines); - } - - /** - * Split the source code into multiple lines based on the line delimiters. - * @param {string} text Source code as a string. - * @returns {string[]} Array of source code lines. - * @public - */ - static splitLines(text) { - return text.split(astUtils.createGlobalLinebreakMatcher()); - } - - /** - * Gets the source code for the given node. - * @param {ASTNode} [node] The AST node to get the text for. - * @param {int} [beforeCount] The number of characters before the node to retrieve. - * @param {int} [afterCount] The number of characters after the node to retrieve. - * @returns {string} The text representing the AST node. - * @public - */ - getText(node, beforeCount, afterCount) { - if (node) { - return this.text.slice(Math.max(node.range[0] - (beforeCount || 0), 0), - node.range[1] + (afterCount || 0)); - } - return this.text; - } - - /** - * Gets the entire source text split into an array of lines. - * @returns {Array} The source text as an array of lines. - * @public - */ - getLines() { - return this.lines; - } - - /** - * Retrieves an array containing all comments in the source code. - * @returns {ASTNode[]} An array of comment nodes. - * @public - */ - getAllComments() { - return this.ast.comments; - } - - /** - * Retrieves the JSDoc comment for a given node. - * @param {ASTNode} node The AST node to get the comment for. - * @returns {Token|null} The Block comment token containing the JSDoc comment - * for the given node or null if not found. - * @public - * @deprecated - */ - getJSDocComment(node) { - - /** - * Checks for the presence of a JSDoc comment for the given node and returns it. - * @param {ASTNode} astNode The AST node to get the comment for. - * @returns {Token|null} The Block comment token containing the JSDoc comment - * for the given node or null if not found. - * @private - */ - const findJSDocComment = astNode => { - const tokenBefore = this.getTokenBefore(astNode, { includeComments: true }); - - if ( - tokenBefore && - isCommentToken(tokenBefore) && - tokenBefore.type === "Block" && - tokenBefore.value.charAt(0) === "*" && - astNode.loc.start.line - tokenBefore.loc.end.line <= 1 - ) { - return tokenBefore; - } - - return null; - }; - let parent = node.parent; - - switch (node.type) { - case "ClassDeclaration": - case "FunctionDeclaration": - return findJSDocComment(looksLikeExport(parent) ? parent : node); - - case "ClassExpression": - return findJSDocComment(parent.parent); - - case "ArrowFunctionExpression": - case "FunctionExpression": - if (parent.type !== "CallExpression" && parent.type !== "NewExpression") { - while ( - !this.getCommentsBefore(parent).length && - !/Function/u.test(parent.type) && - parent.type !== "MethodDefinition" && - parent.type !== "Property" - ) { - parent = parent.parent; - - if (!parent) { - break; - } - } - - if (parent && parent.type !== "FunctionDeclaration" && parent.type !== "Program") { - return findJSDocComment(parent); - } - } - - return findJSDocComment(node); - - // falls through - default: - return null; - } - } - - /** - * Gets the deepest node containing a range index. - * @param {int} index Range index of the desired node. - * @returns {ASTNode} The node if found or null if not found. - * @public - */ - getNodeByRangeIndex(index) { - let result = null; - - Traverser.traverse(this.ast, { - visitorKeys: this.visitorKeys, - enter(node) { - if (node.range[0] <= index && index < node.range[1]) { - result = node; - } else { - this.skip(); - } - }, - leave(node) { - if (node === result) { - this.break(); - } - } - }); - - return result; - } - - /** - * Determines if two nodes or tokens have at least one whitespace character - * between them. Order does not matter. Returns false if the given nodes or - * tokens overlap. - * @param {ASTNode|Token} first The first node or token to check between. - * @param {ASTNode|Token} second The second node or token to check between. - * @returns {boolean} True if there is a whitespace character between - * any of the tokens found between the two given nodes or tokens. - * @public - */ - isSpaceBetween(first, second) { - return isSpaceBetween(this, first, second, false); - } - - /** - * Determines if two nodes or tokens have at least one whitespace character - * between them. Order does not matter. Returns false if the given nodes or - * tokens overlap. - * For backward compatibility, this method returns true if there are - * `JSXText` tokens that contain whitespaces between the two. - * @param {ASTNode|Token} first The first node or token to check between. - * @param {ASTNode|Token} second The second node or token to check between. - * @returns {boolean} True if there is a whitespace character between - * any of the tokens found between the two given nodes or tokens. - * @deprecated in favor of isSpaceBetween(). - * @public - */ - isSpaceBetweenTokens(first, second) { - return isSpaceBetween(this, first, second, true); - } - - /** - * Converts a source text index into a (line, column) pair. - * @param {number} index The index of a character in a file - * @throws {TypeError} If non-numeric index or index out of range. - * @returns {Object} A {line, column} location object with a 0-indexed column - * @public - */ - getLocFromIndex(index) { - if (typeof index !== "number") { - throw new TypeError("Expected `index` to be a number."); - } - - if (index < 0 || index > this.text.length) { - throw new RangeError(`Index out of range (requested index ${index}, but source text has length ${this.text.length}).`); - } - - /* - * For an argument of this.text.length, return the location one "spot" past the last character - * of the file. If the last character is a linebreak, the location will be column 0 of the next - * line; otherwise, the location will be in the next column on the same line. - * - * See getIndexFromLoc for the motivation for this special case. - */ - if (index === this.text.length) { - return { line: this.lines.length, column: this.lines.at(-1).length }; - } - - /* - * To figure out which line index is on, determine the last place at which index could - * be inserted into lineStartIndices to keep the list sorted. - */ - const lineNumber = index >= this.lineStartIndices.at(-1) - ? this.lineStartIndices.length - : this.lineStartIndices.findIndex(el => index < el); - - return { line: lineNumber, column: index - this.lineStartIndices[lineNumber - 1] }; - } - - /** - * Converts a (line, column) pair into a range index. - * @param {Object} loc A line/column location - * @param {number} loc.line The line number of the location (1-indexed) - * @param {number} loc.column The column number of the location (0-indexed) - * @throws {TypeError|RangeError} If `loc` is not an object with a numeric - * `line` and `column`, if the `line` is less than or equal to zero or - * the line or column is out of the expected range. - * @returns {number} The range index of the location in the file. - * @public - */ - getIndexFromLoc(loc) { - if (typeof loc !== "object" || typeof loc.line !== "number" || typeof loc.column !== "number") { - throw new TypeError("Expected `loc` to be an object with numeric `line` and `column` properties."); - } - - if (loc.line <= 0) { - throw new RangeError(`Line number out of range (line ${loc.line} requested). Line numbers should be 1-based.`); - } - - if (loc.line > this.lineStartIndices.length) { - throw new RangeError(`Line number out of range (line ${loc.line} requested, but only ${this.lineStartIndices.length} lines present).`); - } - - const lineStartIndex = this.lineStartIndices[loc.line - 1]; - const lineEndIndex = loc.line === this.lineStartIndices.length ? this.text.length : this.lineStartIndices[loc.line]; - const positionIndex = lineStartIndex + loc.column; - - /* - * By design, getIndexFromLoc({ line: lineNum, column: 0 }) should return the start index of - * the given line, provided that the line number is valid element of this.lines. Since the - * last element of this.lines is an empty string for files with trailing newlines, add a - * special case where getting the index for the first location after the end of the file - * will return the length of the file, rather than throwing an error. This allows rules to - * use getIndexFromLoc consistently without worrying about edge cases at the end of a file. - */ - if ( - loc.line === this.lineStartIndices.length && positionIndex > lineEndIndex || - loc.line < this.lineStartIndices.length && positionIndex >= lineEndIndex - ) { - throw new RangeError(`Column number out of range (column ${loc.column} requested, but the length of line ${loc.line} is ${lineEndIndex - lineStartIndex}).`); - } - - return positionIndex; - } - - /** - * Gets the scope for the given node - * @param {ASTNode} currentNode The node to get the scope of - * @returns {Scope} The scope information for this node - * @throws {TypeError} If the `currentNode` argument is missing. - */ - getScope(currentNode) { - - if (!currentNode) { - throw new TypeError("Missing required argument: node."); - } - - // check cache first - const cache = this[caches].get("scopes"); - const cachedScope = cache.get(currentNode); - - if (cachedScope) { - return cachedScope; - } - - // On Program node, get the outermost scope to avoid return Node.js special function scope or ES modules scope. - const inner = currentNode.type !== "Program"; - - for (let node = currentNode; node; node = node.parent) { - const scope = this.scopeManager.acquire(node, inner); - - if (scope) { - if (scope.type === "function-expression-name") { - cache.set(currentNode, scope.childScopes[0]); - return scope.childScopes[0]; - } - - cache.set(currentNode, scope); - return scope; - } - } - - cache.set(currentNode, this.scopeManager.scopes[0]); - return this.scopeManager.scopes[0]; - } - - /** - * Get the variables that `node` defines. - * This is a convenience method that passes through - * to the same method on the `scopeManager`. - * @param {ASTNode} node The node for which the variables are obtained. - * @returns {Array} An array of variable nodes representing - * the variables that `node` defines. - */ - getDeclaredVariables(node) { - return this.scopeManager.getDeclaredVariables(node); - } - - /* eslint-disable class-methods-use-this -- node is owned by SourceCode */ - /** - * Gets all the ancestors of a given node - * @param {ASTNode} node The node - * @returns {Array} All the ancestor nodes in the AST, not including the provided node, starting - * from the root node at index 0 and going inwards to the parent node. - * @throws {TypeError} When `node` is missing. - */ - getAncestors(node) { - - if (!node) { - throw new TypeError("Missing required argument: node."); - } - - const ancestorsStartingAtParent = []; - - for (let ancestor = node.parent; ancestor; ancestor = ancestor.parent) { - ancestorsStartingAtParent.push(ancestor); - } - - return ancestorsStartingAtParent.reverse(); - } - - /** - * Returns the location of the given node or token. - * @param {ASTNode|Token} nodeOrToken The node or token to get the location of. - * @returns {SourceLocation} The location of the node or token. - */ - getLoc(nodeOrToken) { - return nodeOrToken.loc; - } - - /** - * Returns the range of the given node or token. - * @param {ASTNode|Token} nodeOrToken The node or token to get the range of. - * @returns {[number, number]} The range of the node or token. - */ - getRange(nodeOrToken) { - return nodeOrToken.range; - } - - /* eslint-enable class-methods-use-this -- node is owned by SourceCode */ - - /** - * Marks a variable as used in the current scope - * @param {string} name The name of the variable to mark as used. - * @param {ASTNode} [refNode] The closest node to the variable reference. - * @returns {boolean} True if the variable was found and marked as used, false if not. - */ - markVariableAsUsed(name, refNode = this.ast) { - - const currentScope = this.getScope(refNode); - let initialScope = currentScope; - - /* - * When we are in an ESM or CommonJS module, we need to start searching - * from the top-level scope, not the global scope. For ESM the top-level - * scope is the module scope; for CommonJS the top-level scope is the - * outer function scope. - * - * Without this check, we might miss a variable declared with `var` at - * the top-level because it won't exist in the global scope. - */ - if ( - currentScope.type === "global" && - currentScope.childScopes.length > 0 && - - // top-level scopes refer to a `Program` node - currentScope.childScopes[0].block === this.ast - ) { - initialScope = currentScope.childScopes[0]; - } - - for (let scope = initialScope; scope; scope = scope.upper) { - const variable = scope.variables.find(scopeVar => scopeVar.name === name); - - if (variable) { - variable.eslintUsed = true; - return true; - } - } - - return false; - } - - - /** - * Returns an array of all inline configuration nodes found in the - * source code. - * @returns {Array} An array of all inline configuration nodes. - */ - getInlineConfigNodes() { - - // check the cache first - let configNodes = this[caches].get("configNodes"); - - if (configNodes) { - return configNodes; - } - - // calculate fresh config nodes - configNodes = this.ast.comments.filter(comment => { - - // shebang comments are never directives - if (comment.type === "Shebang") { - return false; - } - - const directive = commentParser.parseDirective(comment.value); - - if (!directive) { - return false; - } - - if (!directivesPattern.test(directive.label)) { - return false; - } - - // only certain comment types are supported as line comments - return comment.type !== "Line" || !!/^eslint-disable-(next-)?line$/u.test(directive.label); - }); - - this[caches].set("configNodes", configNodes); - - return configNodes; - } - - /** - * Returns an all directive nodes that enable or disable rules along with any problems - * encountered while parsing the directives. - * @returns {{problems:Array,directives:Array}} Information - * that ESLint needs to further process the directives. - */ - getDisableDirectives() { - - // check the cache first - const cachedDirectives = this[caches].get("disableDirectives"); - - if (cachedDirectives) { - return cachedDirectives; - } - - const problems = []; - const directives = []; - - this.getInlineConfigNodes().forEach(comment => { - - // Step 1: Parse the directive - const { - label, - value, - justification: justificationPart - } = commentParser.parseDirective(comment.value); - - // Step 2: Extract the directive value - const lineCommentSupported = /^eslint-disable-(next-)?line$/u.test(label); - - if (comment.type === "Line" && !lineCommentSupported) { - return; - } - - // Step 3: Validate the directive does not span multiple lines - if (label === "eslint-disable-line" && comment.loc.start.line !== comment.loc.end.line) { - const message = `${label} comment should not span multiple lines.`; - - problems.push({ - ruleId: null, - message, - loc: comment.loc - }); - return; - } - - // Step 4: Extract the directive value and create the Directive object - switch (label) { - case "eslint-disable": - case "eslint-enable": - case "eslint-disable-next-line": - case "eslint-disable-line": { - const directiveType = label.slice("eslint-".length); - - directives.push(new Directive({ - type: directiveType, - node: comment, - value, - justification: justificationPart - })); - } - - // no default - } - }); - - const result = { problems, directives }; - - this[caches].set("disableDirectives", result); - - return result; - } - - /** - * Applies language options sent in from the core. - * @param {Object} languageOptions The language options for this run. - * @returns {void} - */ - applyLanguageOptions(languageOptions) { - - /* - * Add configured globals and language globals - * - * Using Object.assign instead of object spread for performance reasons - * https://github.com/eslint/eslint/issues/16302 - */ - const configGlobals = Object.assign( - Object.create(null), // https://github.com/eslint/eslint/issues/18363 - getGlobalsForEcmaVersion(languageOptions.ecmaVersion), - languageOptions.sourceType === "commonjs" ? globals.commonjs : void 0, - languageOptions.globals - ); - const varsCache = this[caches].get("vars"); - - varsCache.set("configGlobals", configGlobals); - } - - /** - * Applies configuration found inside of the source code. This method is only - * called when ESLint is running with inline configuration allowed. - * @returns {{problems:Array,configs:{config:FlatConfigArray,loc:Location}}} Information - * that ESLint needs to further process the inline configuration. - */ - applyInlineConfig() { - - const problems = []; - const configs = []; - const exportedVariables = {}; - const inlineGlobals = Object.create(null); - - this.getInlineConfigNodes().forEach(comment => { - - const { label, value } = commentParser.parseDirective(comment.value); - - switch (label) { - case "exported": - Object.assign(exportedVariables, commentParser.parseListConfig(value)); - break; - - case "globals": - case "global": - for (const [id, idSetting] of Object.entries(commentParser.parseStringConfig(value))) { - let normalizedValue; - - try { - normalizedValue = normalizeConfigGlobal(idSetting); - } catch (err) { - problems.push({ - ruleId: null, - loc: comment.loc, - message: err.message - }); - continue; - } - - if (inlineGlobals[id]) { - inlineGlobals[id].comments.push(comment); - inlineGlobals[id].value = normalizedValue; - } else { - inlineGlobals[id] = { - comments: [comment], - value: normalizedValue - }; - } - } - break; - - case "eslint": { - const parseResult = commentParser.parseJSONLikeConfig(value); - - if (parseResult.ok) { - configs.push({ - config: { - rules: parseResult.config - }, - loc: comment.loc - }); - } else { - problems.push({ - ruleId: null, - loc: comment.loc, - message: parseResult.error.message - }); - } - - break; - } - - // no default - } - }); - - // save all the new variables for later - const varsCache = this[caches].get("vars"); - - varsCache.set("inlineGlobals", inlineGlobals); - varsCache.set("exportedVariables", exportedVariables); - - return { - configs, - problems - }; - } - - /** - * Called by ESLint core to indicate that it has finished providing - * information. We now add in all the missing variables and ensure that - * state-changing methods cannot be called by rules. - * @returns {void} - */ - finalize() { - - const varsCache = this[caches].get("vars"); - const configGlobals = varsCache.get("configGlobals"); - const inlineGlobals = varsCache.get("inlineGlobals"); - const exportedVariables = varsCache.get("exportedVariables"); - const globalScope = this.scopeManager.scopes[0]; - - addDeclaredGlobals(globalScope, configGlobals, inlineGlobals); - - if (exportedVariables) { - markExportedVariables(globalScope, exportedVariables); - } - - } - - /** - * Traverse the source code and return the steps that were taken. - * @returns {Array} The steps that were taken while traversing the source code. - */ - traverse() { - - // Because the AST doesn't mutate, we can cache the steps - if (this.#steps) { - return this.#steps; - } - - const steps = this.#steps = []; - - /* - * This logic works for any AST, not just ESTree. Because ESLint has allowed - * custom parsers to return any AST, we need to ensure that the traversal - * logic works for any AST. - */ - const emitter = createEmitter(); - let analyzer = { - enterNode(node) { - steps.push(new VisitNodeStep({ - target: node, - phase: 1, - args: [node, node.parent] - })); - }, - leaveNode(node) { - steps.push(new VisitNodeStep({ - target: node, - phase: 2, - args: [node, node.parent] - })); - }, - emitter - }; - - /* - * We do code path analysis for ESTree only. Code path analysis is not - * necessary for other ASTs, and it's also not possible to do for other - * ASTs because the necessary information is not available. - * - * Generally speaking, we can tell that the AST is an ESTree if it has a - * Program node at the top level. This is not a perfect heuristic, but it - * is good enough for now. - */ - if (this.isESTree) { - analyzer = new CodePathAnalyzer(analyzer); - - CODE_PATH_EVENTS.forEach(eventName => { - emitter.on(eventName, (...args) => { - steps.push(new CallMethodStep({ - target: eventName, - args - })); - }); - }); - } - - /* - * The actual AST traversal is done by the `Traverser` class. This class - * is responsible for walking the AST and calling the appropriate methods - * on the `analyzer` object, which is appropriate for the given AST. - */ - Traverser.traverse(this.ast, { - enter(node, parent) { - - // save the parent node on a property for backwards compatibility - node.parent = parent; - - analyzer.enterNode(node); - }, - leave(node) { - analyzer.leaveNode(node); - }, - visitorKeys: this.visitorKeys - }); - - return steps; - } -} - -module.exports = SourceCode; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js deleted file mode 100644 index 7255a622..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @fileoverview Define the cursor which iterates tokens and comments in reverse. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const Cursor = require("./cursor"); -const utils = require("./utils"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The cursor which iterates tokens and comments in reverse. - */ -module.exports = class BackwardTokenCommentCursor extends Cursor { - - /** - * Initializes this cursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - */ - constructor(tokens, comments, indexMap, startLoc, endLoc) { - super(); - this.tokens = tokens; - this.comments = comments; - this.tokenIndex = utils.getLastIndex(tokens, indexMap, endLoc); - this.commentIndex = utils.search(comments, endLoc) - 1; - this.border = startLoc; - } - - /** @inheritdoc */ - moveNext() { - const token = (this.tokenIndex >= 0) ? this.tokens[this.tokenIndex] : null; - const comment = (this.commentIndex >= 0) ? this.comments[this.commentIndex] : null; - - if (token && (!comment || token.range[1] > comment.range[1])) { - this.current = token; - this.tokenIndex -= 1; - } else if (comment) { - this.current = comment; - this.commentIndex -= 1; - } else { - this.current = null; - } - - return Boolean(this.current) && (this.border === -1 || this.current.range[0] >= this.border); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js deleted file mode 100644 index d3469c99..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @fileoverview Define the cursor which iterates tokens only in reverse. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const Cursor = require("./cursor"); -const { getLastIndex, getFirstIndex } = require("./utils"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The cursor which iterates tokens only in reverse. - */ -module.exports = class BackwardTokenCursor extends Cursor { - - /** - * Initializes this cursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - */ - constructor(tokens, comments, indexMap, startLoc, endLoc) { - super(); - this.tokens = tokens; - this.index = getLastIndex(tokens, indexMap, endLoc); - this.indexEnd = getFirstIndex(tokens, indexMap, startLoc); - } - - /** @inheritdoc */ - moveNext() { - if (this.index >= this.indexEnd) { - this.current = this.tokens[this.index]; - this.index -= 1; - return true; - } - return false; - } - - /* - * - * Shorthand for performance. - * - */ - - /** @inheritdoc */ - getOneToken() { - return (this.index >= this.indexEnd) ? this.tokens[this.index] : null; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js deleted file mode 100644 index 0b726006..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @fileoverview Define the abstract class about cursors which iterate tokens. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The abstract class about cursors which iterate tokens. - * - * This class has 2 abstract methods. - * - * - `current: Token | Comment | null` ... The current token. - * - `moveNext(): boolean` ... Moves this cursor to the next token. If the next token didn't exist, it returns `false`. - * - * This is similar to ES2015 Iterators. - * However, Iterators were slow (at 2017-01), so I created this class as similar to C# IEnumerable. - * - * There are the following known sub classes. - * - * - ForwardTokenCursor .......... The cursor which iterates tokens only. - * - BackwardTokenCursor ......... The cursor which iterates tokens only in reverse. - * - ForwardTokenCommentCursor ... The cursor which iterates tokens and comments. - * - BackwardTokenCommentCursor .. The cursor which iterates tokens and comments in reverse. - * - DecorativeCursor - * - FilterCursor ............ The cursor which ignores the specified tokens. - * - SkipCursor .............. The cursor which ignores the first few tokens. - * - LimitCursor ............. The cursor which limits the count of tokens. - * - */ -module.exports = class Cursor { - - /** - * Initializes this cursor. - */ - constructor() { - this.current = null; - } - - /** - * Gets the first token. - * This consumes this cursor. - * @returns {Token|Comment} The first token or null. - */ - getOneToken() { - return this.moveNext() ? this.current : null; - } - - /** - * Gets the first tokens. - * This consumes this cursor. - * @returns {(Token|Comment)[]} All tokens. - */ - getAllTokens() { - const tokens = []; - - while (this.moveNext()) { - tokens.push(this.current); - } - - return tokens; - } - - /** - * Moves this cursor to the next token. - * @returns {boolean} `true` if the next token exists. - * @abstract - */ - /* c8 ignore next */ - moveNext() { // eslint-disable-line class-methods-use-this -- Unused - throw new Error("Not implemented."); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js deleted file mode 100644 index f2676f13..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * @fileoverview Define 2 token factories; forward and backward. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const BackwardTokenCommentCursor = require("./backward-token-comment-cursor"); -const BackwardTokenCursor = require("./backward-token-cursor"); -const FilterCursor = require("./filter-cursor"); -const ForwardTokenCommentCursor = require("./forward-token-comment-cursor"); -const ForwardTokenCursor = require("./forward-token-cursor"); -const LimitCursor = require("./limit-cursor"); -const SkipCursor = require("./skip-cursor"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * The cursor factory. - * @private - */ -class CursorFactory { - - /** - * Initializes this cursor. - * @param {Function} TokenCursor The class of the cursor which iterates tokens only. - * @param {Function} TokenCommentCursor The class of the cursor which iterates the mix of tokens and comments. - */ - constructor(TokenCursor, TokenCommentCursor) { - this.TokenCursor = TokenCursor; - this.TokenCommentCursor = TokenCommentCursor; - } - - /** - * Creates a base cursor instance that can be decorated by createCursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - * @param {boolean} includeComments The flag to iterate comments as well. - * @returns {Cursor} The created base cursor. - */ - createBaseCursor(tokens, comments, indexMap, startLoc, endLoc, includeComments) { - const Cursor = includeComments ? this.TokenCommentCursor : this.TokenCursor; - - return new Cursor(tokens, comments, indexMap, startLoc, endLoc); - } - - /** - * Creates a cursor that iterates tokens with normalized options. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - * @param {boolean} includeComments The flag to iterate comments as well. - * @param {Function|null} filter The predicate function to choose tokens. - * @param {number} skip The count of tokens the cursor skips. - * @param {number} count The maximum count of tokens the cursor iterates. Zero is no iteration for backward compatibility. - * @returns {Cursor} The created cursor. - */ - createCursor(tokens, comments, indexMap, startLoc, endLoc, includeComments, filter, skip, count) { - let cursor = this.createBaseCursor(tokens, comments, indexMap, startLoc, endLoc, includeComments); - - if (filter) { - cursor = new FilterCursor(cursor, filter); - } - if (skip >= 1) { - cursor = new SkipCursor(cursor, skip); - } - if (count >= 0) { - cursor = new LimitCursor(cursor, count); - } - - return cursor; - } -} - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -module.exports = { - forward: new CursorFactory(ForwardTokenCursor, ForwardTokenCommentCursor), - backward: new CursorFactory(BackwardTokenCursor, BackwardTokenCommentCursor) -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js deleted file mode 100644 index 3ee7b0b3..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @fileoverview Define the abstract class about cursors which manipulate another cursor. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const Cursor = require("./cursor"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The abstract class about cursors which manipulate another cursor. - */ -module.exports = class DecorativeCursor extends Cursor { - - /** - * Initializes this cursor. - * @param {Cursor} cursor The cursor to be decorated. - */ - constructor(cursor) { - super(); - this.cursor = cursor; - } - - /** @inheritdoc */ - moveNext() { - const retv = this.cursor.moveNext(); - - this.current = this.cursor.current; - - return retv; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js deleted file mode 100644 index 08c4f220..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * @fileoverview Define the cursor which ignores specified tokens. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const DecorativeCursor = require("./decorative-cursor"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The decorative cursor which ignores specified tokens. - */ -module.exports = class FilterCursor extends DecorativeCursor { - - /** - * Initializes this cursor. - * @param {Cursor} cursor The cursor to be decorated. - * @param {Function} predicate The predicate function to decide tokens this cursor iterates. - */ - constructor(cursor, predicate) { - super(cursor); - this.predicate = predicate; - } - - /** @inheritdoc */ - moveNext() { - const predicate = this.predicate; - - while (super.moveNext()) { - if (predicate(this.current)) { - return true; - } - } - return false; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js deleted file mode 100644 index 8aa46c27..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @fileoverview Define the cursor which iterates tokens and comments. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const Cursor = require("./cursor"); -const { getFirstIndex, search } = require("./utils"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The cursor which iterates tokens and comments. - */ -module.exports = class ForwardTokenCommentCursor extends Cursor { - - /** - * Initializes this cursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - */ - constructor(tokens, comments, indexMap, startLoc, endLoc) { - super(); - this.tokens = tokens; - this.comments = comments; - this.tokenIndex = getFirstIndex(tokens, indexMap, startLoc); - this.commentIndex = search(comments, startLoc); - this.border = endLoc; - } - - /** @inheritdoc */ - moveNext() { - const token = (this.tokenIndex < this.tokens.length) ? this.tokens[this.tokenIndex] : null; - const comment = (this.commentIndex < this.comments.length) ? this.comments[this.commentIndex] : null; - - if (token && (!comment || token.range[0] < comment.range[0])) { - this.current = token; - this.tokenIndex += 1; - } else if (comment) { - this.current = comment; - this.commentIndex += 1; - } else { - this.current = null; - } - - return Boolean(this.current) && (this.border === -1 || this.current.range[1] <= this.border); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js deleted file mode 100644 index 9305cbef..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @fileoverview Define the cursor which iterates tokens only. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const Cursor = require("./cursor"); -const { getFirstIndex, getLastIndex } = require("./utils"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The cursor which iterates tokens only. - */ -module.exports = class ForwardTokenCursor extends Cursor { - - /** - * Initializes this cursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - */ - constructor(tokens, comments, indexMap, startLoc, endLoc) { - super(); - this.tokens = tokens; - this.index = getFirstIndex(tokens, indexMap, startLoc); - this.indexEnd = getLastIndex(tokens, indexMap, endLoc); - } - - /** @inheritdoc */ - moveNext() { - if (this.index <= this.indexEnd) { - this.current = this.tokens[this.index]; - this.index += 1; - return true; - } - return false; - } - - /* - * - * Shorthand for performance. - * - */ - - /** @inheritdoc */ - getOneToken() { - return (this.index <= this.indexEnd) ? this.tokens[this.index] : null; - } - - /** @inheritdoc */ - getAllTokens() { - return this.tokens.slice(this.index, this.indexEnd + 1); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/index.js deleted file mode 100644 index d44191ac..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/index.js +++ /dev/null @@ -1,627 +0,0 @@ -/** - * @fileoverview Object to handle access and retrieval of tokens. - * @author Brandon Mills - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { isCommentToken } = require("@eslint-community/eslint-utils"); -const assert = require("../../../../shared/assert"); -const cursors = require("./cursors"); -const ForwardTokenCursor = require("./forward-token-cursor"); -const PaddedTokenCursor = require("./padded-token-cursor"); -const utils = require("./utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const TOKENS = Symbol("tokens"); -const COMMENTS = Symbol("comments"); -const INDEX_MAP = Symbol("indexMap"); - -/** - * Creates the map from locations to indices in `tokens`. - * - * The first/last location of tokens is mapped to the index of the token. - * The first/last location of comments is mapped to the index of the next token of each comment. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @returns {Object} The map from locations to indices in `tokens`. - * @private - */ -function createIndexMap(tokens, comments) { - const map = Object.create(null); - let tokenIndex = 0; - let commentIndex = 0; - let nextStart; - let range; - - while (tokenIndex < tokens.length || commentIndex < comments.length) { - nextStart = (commentIndex < comments.length) ? comments[commentIndex].range[0] : Number.MAX_SAFE_INTEGER; - while (tokenIndex < tokens.length && (range = tokens[tokenIndex].range)[0] < nextStart) { - map[range[0]] = tokenIndex; - map[range[1] - 1] = tokenIndex; - tokenIndex += 1; - } - - nextStart = (tokenIndex < tokens.length) ? tokens[tokenIndex].range[0] : Number.MAX_SAFE_INTEGER; - while (commentIndex < comments.length && (range = comments[commentIndex].range)[0] < nextStart) { - map[range[0]] = tokenIndex; - map[range[1] - 1] = tokenIndex; - commentIndex += 1; - } - } - - return map; -} - -/** - * Creates the cursor iterates tokens with options. - * @param {CursorFactory} factory The cursor factory to initialize cursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - * @param {number|Function|Object} [opts=0] The option object. If this is a number then it's `opts.skip`. If this is a function then it's `opts.filter`. - * @param {boolean} [opts.includeComments=false] The flag to iterate comments as well. - * @param {Function|null} [opts.filter=null] The predicate function to choose tokens. - * @param {number} [opts.skip=0] The count of tokens the cursor skips. - * @returns {Cursor} The created cursor. - * @private - */ -function createCursorWithSkip(factory, tokens, comments, indexMap, startLoc, endLoc, opts) { - let includeComments = false; - let skip = 0; - let filter = null; - - if (typeof opts === "number") { - skip = opts | 0; - } else if (typeof opts === "function") { - filter = opts; - } else if (opts) { - includeComments = !!opts.includeComments; - skip = opts.skip | 0; - filter = opts.filter || null; - } - assert(skip >= 0, "options.skip should be zero or a positive integer."); - assert(!filter || typeof filter === "function", "options.filter should be a function."); - - return factory.createCursor(tokens, comments, indexMap, startLoc, endLoc, includeComments, filter, skip, -1); -} - -/** - * Creates the cursor iterates tokens with options. - * @param {CursorFactory} factory The cursor factory to initialize cursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - * @param {number|Function|Object} [opts=0] The option object. If this is a number then it's `opts.count`. If this is a function then it's `opts.filter`. - * @param {boolean} [opts.includeComments] The flag to iterate comments as well. - * @param {Function|null} [opts.filter=null] The predicate function to choose tokens. - * @param {number} [opts.count=0] The maximum count of tokens the cursor iterates. Zero is no iteration for backward compatibility. - * @returns {Cursor} The created cursor. - * @private - */ -function createCursorWithCount(factory, tokens, comments, indexMap, startLoc, endLoc, opts) { - let includeComments = false; - let count = 0; - let countExists = false; - let filter = null; - - if (typeof opts === "number") { - count = opts | 0; - countExists = true; - } else if (typeof opts === "function") { - filter = opts; - } else if (opts) { - includeComments = !!opts.includeComments; - count = opts.count | 0; - countExists = typeof opts.count === "number"; - filter = opts.filter || null; - } - assert(count >= 0, "options.count should be zero or a positive integer."); - assert(!filter || typeof filter === "function", "options.filter should be a function."); - - return factory.createCursor(tokens, comments, indexMap, startLoc, endLoc, includeComments, filter, 0, countExists ? count : -1); -} - -/** - * Creates the cursor iterates tokens with options. - * This is overload function of the below. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - * @param {Function|Object} opts The option object. If this is a function then it's `opts.filter`. - * @param {boolean} [opts.includeComments] The flag to iterate comments as well. - * @param {Function|null} [opts.filter=null] The predicate function to choose tokens. - * @param {number} [opts.count=0] The maximum count of tokens the cursor iterates. Zero is no iteration for backward compatibility. - * @returns {Cursor} The created cursor. - * @private - */ -/** - * Creates the cursor iterates tokens with options. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - * @param {number} [beforeCount=0] The number of tokens before the node to retrieve. - * @param {boolean} [afterCount=0] The number of tokens after the node to retrieve. - * @returns {Cursor} The created cursor. - * @private - */ -function createCursorWithPadding(tokens, comments, indexMap, startLoc, endLoc, beforeCount, afterCount) { - if (typeof beforeCount === "undefined" && typeof afterCount === "undefined") { - return new ForwardTokenCursor(tokens, comments, indexMap, startLoc, endLoc); - } - if (typeof beforeCount === "number" || typeof beforeCount === "undefined") { - return new PaddedTokenCursor(tokens, comments, indexMap, startLoc, endLoc, beforeCount | 0, afterCount | 0); - } - return createCursorWithCount(cursors.forward, tokens, comments, indexMap, startLoc, endLoc, beforeCount); -} - -/** - * Gets comment tokens that are adjacent to the current cursor position. - * @param {Cursor} cursor A cursor instance. - * @returns {Array} An array of comment tokens adjacent to the current cursor position. - * @private - */ -function getAdjacentCommentTokensFromCursor(cursor) { - const tokens = []; - let currentToken = cursor.getOneToken(); - - while (currentToken && isCommentToken(currentToken)) { - tokens.push(currentToken); - currentToken = cursor.getOneToken(); - } - - return tokens; -} - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The token store. - * - * This class provides methods to get tokens by locations as fast as possible. - * The methods are a part of public API, so we should be careful if it changes this class. - * - * People can get tokens in O(1) by the hash map which is mapping from the location of tokens/comments to tokens. - * Also people can get a mix of tokens and comments in O(log k), the k is the number of comments. - * Assuming that comments to be much fewer than tokens, this does not make hash map from token's locations to comments to reduce memory cost. - * This uses binary-searching instead for comments. - */ -module.exports = class TokenStore { - - /** - * Initializes this token store. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - */ - constructor(tokens, comments) { - this[TOKENS] = tokens; - this[COMMENTS] = comments; - this[INDEX_MAP] = createIndexMap(tokens, comments); - } - - //-------------------------------------------------------------------------- - // Gets single token. - //-------------------------------------------------------------------------- - - /** - * Gets the token starting at the specified index. - * @param {number} offset Index of the start of the token's range. - * @param {Object} [options=0] The option object. - * @param {boolean} [options.includeComments=false] The flag to iterate comments as well. - * @returns {Token|null} The token starting at index, or null if no such token. - */ - getTokenByRangeStart(offset, options) { - const includeComments = options && options.includeComments; - const token = cursors.forward.createBaseCursor( - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - offset, - -1, - includeComments - ).getOneToken(); - - if (token && token.range[0] === offset) { - return token; - } - return null; - } - - /** - * Gets the first token of the given node. - * @param {ASTNode} node The AST node. - * @param {number|Function|Object} [options=0] The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`. - * @param {boolean} [options.includeComments=false] The flag to iterate comments as well. - * @param {Function|null} [options.filter=null] The predicate function to choose tokens. - * @param {number} [options.skip=0] The count of tokens the cursor skips. - * @returns {Token|null} An object representing the token. - */ - getFirstToken(node, options) { - return createCursorWithSkip( - cursors.forward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - node.range[0], - node.range[1], - options - ).getOneToken(); - } - - /** - * Gets the last token of the given node. - * @param {ASTNode} node The AST node. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstToken() - * @returns {Token|null} An object representing the token. - */ - getLastToken(node, options) { - return createCursorWithSkip( - cursors.backward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - node.range[0], - node.range[1], - options - ).getOneToken(); - } - - /** - * Gets the token that precedes a given node or token. - * @param {ASTNode|Token|Comment} node The AST node or token. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstToken() - * @returns {Token|null} An object representing the token. - */ - getTokenBefore(node, options) { - return createCursorWithSkip( - cursors.backward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - -1, - node.range[0], - options - ).getOneToken(); - } - - /** - * Gets the token that follows a given node or token. - * @param {ASTNode|Token|Comment} node The AST node or token. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstToken() - * @returns {Token|null} An object representing the token. - */ - getTokenAfter(node, options) { - return createCursorWithSkip( - cursors.forward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - node.range[1], - -1, - options - ).getOneToken(); - } - - /** - * Gets the first token between two non-overlapping nodes. - * @param {ASTNode|Token|Comment} left Node before the desired token range. - * @param {ASTNode|Token|Comment} right Node after the desired token range. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstToken() - * @returns {Token|null} An object representing the token. - */ - getFirstTokenBetween(left, right, options) { - return createCursorWithSkip( - cursors.forward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - left.range[1], - right.range[0], - options - ).getOneToken(); - } - - /** - * Gets the last token between two non-overlapping nodes. - * @param {ASTNode|Token|Comment} left Node before the desired token range. - * @param {ASTNode|Token|Comment} right Node after the desired token range. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstToken() - * @returns {Token|null} An object representing the token. - */ - getLastTokenBetween(left, right, options) { - return createCursorWithSkip( - cursors.backward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - left.range[1], - right.range[0], - options - ).getOneToken(); - } - - /** - * Gets the token that precedes a given node or token in the token stream. - * This is defined for backward compatibility. Use `includeComments` option instead. - * TODO: We have a plan to remove this in a future major version. - * @param {ASTNode|Token|Comment} node The AST node or token. - * @param {number} [skip=0] A number of tokens to skip. - * @returns {Token|null} An object representing the token. - * @deprecated - */ - getTokenOrCommentBefore(node, skip) { - return this.getTokenBefore(node, { includeComments: true, skip }); - } - - /** - * Gets the token that follows a given node or token in the token stream. - * This is defined for backward compatibility. Use `includeComments` option instead. - * TODO: We have a plan to remove this in a future major version. - * @param {ASTNode|Token|Comment} node The AST node or token. - * @param {number} [skip=0] A number of tokens to skip. - * @returns {Token|null} An object representing the token. - * @deprecated - */ - getTokenOrCommentAfter(node, skip) { - return this.getTokenAfter(node, { includeComments: true, skip }); - } - - //-------------------------------------------------------------------------- - // Gets multiple tokens. - //-------------------------------------------------------------------------- - - /** - * Gets the first `count` tokens of the given node. - * @param {ASTNode} node The AST node. - * @param {number|Function|Object} [options=0] The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`. - * @param {boolean} [options.includeComments=false] The flag to iterate comments as well. - * @param {Function|null} [options.filter=null] The predicate function to choose tokens. - * @param {number} [options.count=0] The maximum count of tokens the cursor iterates. - * @returns {Token[]} Tokens. - */ - getFirstTokens(node, options) { - return createCursorWithCount( - cursors.forward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - node.range[0], - node.range[1], - options - ).getAllTokens(); - } - - /** - * Gets the last `count` tokens of the given node. - * @param {ASTNode} node The AST node. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstTokens() - * @returns {Token[]} Tokens. - */ - getLastTokens(node, options) { - return createCursorWithCount( - cursors.backward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - node.range[0], - node.range[1], - options - ).getAllTokens().reverse(); - } - - /** - * Gets the `count` tokens that precedes a given node or token. - * @param {ASTNode|Token|Comment} node The AST node or token. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstTokens() - * @returns {Token[]} Tokens. - */ - getTokensBefore(node, options) { - return createCursorWithCount( - cursors.backward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - -1, - node.range[0], - options - ).getAllTokens().reverse(); - } - - /** - * Gets the `count` tokens that follows a given node or token. - * @param {ASTNode|Token|Comment} node The AST node or token. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstTokens() - * @returns {Token[]} Tokens. - */ - getTokensAfter(node, options) { - return createCursorWithCount( - cursors.forward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - node.range[1], - -1, - options - ).getAllTokens(); - } - - /** - * Gets the first `count` tokens between two non-overlapping nodes. - * @param {ASTNode|Token|Comment} left Node before the desired token range. - * @param {ASTNode|Token|Comment} right Node after the desired token range. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstTokens() - * @returns {Token[]} Tokens between left and right. - */ - getFirstTokensBetween(left, right, options) { - return createCursorWithCount( - cursors.forward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - left.range[1], - right.range[0], - options - ).getAllTokens(); - } - - /** - * Gets the last `count` tokens between two non-overlapping nodes. - * @param {ASTNode|Token|Comment} left Node before the desired token range. - * @param {ASTNode|Token|Comment} right Node after the desired token range. - * @param {number|Function|Object} [options=0] The option object. Same options as getFirstTokens() - * @returns {Token[]} Tokens between left and right. - */ - getLastTokensBetween(left, right, options) { - return createCursorWithCount( - cursors.backward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - left.range[1], - right.range[0], - options - ).getAllTokens().reverse(); - } - - /** - * Gets all tokens that are related to the given node. - * @param {ASTNode} node The AST node. - * @param {Function|Object} options The option object. If this is a function then it's `options.filter`. - * @param {boolean} [options.includeComments=false] The flag to iterate comments as well. - * @param {Function|null} [options.filter=null] The predicate function to choose tokens. - * @param {number} [options.count=0] The maximum count of tokens the cursor iterates. - * @returns {Token[]} Array of objects representing tokens. - */ - /** - * Gets all tokens that are related to the given node. - * @param {ASTNode} node The AST node. - * @param {int} [beforeCount=0] The number of tokens before the node to retrieve. - * @param {int} [afterCount=0] The number of tokens after the node to retrieve. - * @returns {Token[]} Array of objects representing tokens. - */ - getTokens(node, beforeCount, afterCount) { - return createCursorWithPadding( - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - node.range[0], - node.range[1], - beforeCount, - afterCount - ).getAllTokens(); - } - - /** - * Gets all of the tokens between two non-overlapping nodes. - * @param {ASTNode|Token|Comment} left Node before the desired token range. - * @param {ASTNode|Token|Comment} right Node after the desired token range. - * @param {Function|Object} options The option object. If this is a function then it's `options.filter`. - * @param {boolean} [options.includeComments=false] The flag to iterate comments as well. - * @param {Function|null} [options.filter=null] The predicate function to choose tokens. - * @param {number} [options.count=0] The maximum count of tokens the cursor iterates. - * @returns {Token[]} Tokens between left and right. - */ - /** - * Gets all of the tokens between two non-overlapping nodes. - * @param {ASTNode|Token|Comment} left Node before the desired token range. - * @param {ASTNode|Token|Comment} right Node after the desired token range. - * @param {int} [padding=0] Number of extra tokens on either side of center. - * @returns {Token[]} Tokens between left and right. - */ - getTokensBetween(left, right, padding) { - return createCursorWithPadding( - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - left.range[1], - right.range[0], - padding, - padding - ).getAllTokens(); - } - - //-------------------------------------------------------------------------- - // Others. - //-------------------------------------------------------------------------- - - /** - * Checks whether any comments exist or not between the given 2 nodes. - * @param {ASTNode} left The node to check. - * @param {ASTNode} right The node to check. - * @returns {boolean} `true` if one or more comments exist. - */ - commentsExistBetween(left, right) { - const index = utils.search(this[COMMENTS], left.range[1]); - - return ( - index < this[COMMENTS].length && - this[COMMENTS][index].range[1] <= right.range[0] - ); - } - - /** - * Gets all comment tokens directly before the given node or token. - * @param {ASTNode|token} nodeOrToken The AST node or token to check for adjacent comment tokens. - * @returns {Array} An array of comments in occurrence order. - */ - getCommentsBefore(nodeOrToken) { - const cursor = createCursorWithCount( - cursors.backward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - -1, - nodeOrToken.range[0], - { includeComments: true } - ); - - return getAdjacentCommentTokensFromCursor(cursor).reverse(); - } - - /** - * Gets all comment tokens directly after the given node or token. - * @param {ASTNode|token} nodeOrToken The AST node or token to check for adjacent comment tokens. - * @returns {Array} An array of comments in occurrence order. - */ - getCommentsAfter(nodeOrToken) { - const cursor = createCursorWithCount( - cursors.forward, - this[TOKENS], - this[COMMENTS], - this[INDEX_MAP], - nodeOrToken.range[1], - -1, - { includeComments: true } - ); - - return getAdjacentCommentTokensFromCursor(cursor); - } - - /** - * Gets all comment tokens inside the given node. - * @param {ASTNode} node The AST node to get the comments for. - * @returns {Array} An array of comments in occurrence order. - */ - getCommentsInside(node) { - return this.getTokens(node, { - includeComments: true, - filter: isCommentToken - }); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js deleted file mode 100644 index 0fd92a77..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @fileoverview Define the cursor which limits the number of tokens. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const DecorativeCursor = require("./decorative-cursor"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The decorative cursor which limits the number of tokens. - */ -module.exports = class LimitCursor extends DecorativeCursor { - - /** - * Initializes this cursor. - * @param {Cursor} cursor The cursor to be decorated. - * @param {number} count The count of tokens this cursor iterates. - */ - constructor(cursor, count) { - super(cursor); - this.count = count; - } - - /** @inheritdoc */ - moveNext() { - if (this.count > 0) { - this.count -= 1; - return super.moveNext(); - } - return false; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js deleted file mode 100644 index 89349fa1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * @fileoverview Define the cursor which iterates tokens only, with inflated range. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const ForwardTokenCursor = require("./forward-token-cursor"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The cursor which iterates tokens only, with inflated range. - * This is for the backward compatibility of padding options. - */ -module.exports = class PaddedTokenCursor extends ForwardTokenCursor { - - /** - * Initializes this cursor. - * @param {Token[]} tokens The array of tokens. - * @param {Comment[]} comments The array of comments. - * @param {Object} indexMap The map from locations to indices in `tokens`. - * @param {number} startLoc The start location of the iteration range. - * @param {number} endLoc The end location of the iteration range. - * @param {number} beforeCount The number of tokens this cursor iterates before start. - * @param {number} afterCount The number of tokens this cursor iterates after end. - */ - constructor(tokens, comments, indexMap, startLoc, endLoc, beforeCount, afterCount) { - super(tokens, comments, indexMap, startLoc, endLoc); - this.index = Math.max(0, this.index - beforeCount); - this.indexEnd = Math.min(tokens.length - 1, this.indexEnd + afterCount); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js deleted file mode 100644 index f068f531..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @fileoverview Define the cursor which ignores the first few tokens. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const DecorativeCursor = require("./decorative-cursor"); - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * The decorative cursor which ignores the first few tokens. - */ -module.exports = class SkipCursor extends DecorativeCursor { - - /** - * Initializes this cursor. - * @param {Cursor} cursor The cursor to be decorated. - * @param {number} count The count of tokens this cursor skips. - */ - constructor(cursor, count) { - super(cursor); - this.count = count; - } - - /** @inheritdoc */ - moveNext() { - while (this.count > 0) { - this.count -= 1; - if (!super.moveNext()) { - return false; - } - } - return super.moveNext(); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js deleted file mode 100644 index 3e014703..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * @fileoverview Define utility functions for token store. - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * Finds the index of the first token which is after the given location. - * If it was not found, this returns `tokens.length`. - * @param {(Token|Comment)[]} tokens It searches the token in this list. - * @param {number} location The location to search. - * @returns {number} The found index or `tokens.length`. - */ -exports.search = function search(tokens, location) { - for (let minIndex = 0, maxIndex = tokens.length - 1; minIndex <= maxIndex;) { - - /* - * Calculate the index in the middle between minIndex and maxIndex. - * `| 0` is used to round a fractional value down to the nearest integer: this is similar to - * using `Math.trunc()` or `Math.floor()`, but performance tests have shown this method to - * be faster. - */ - const index = (minIndex + maxIndex) / 2 | 0; - const token = tokens[index]; - const tokenStartLocation = token.range[0]; - - if (location <= tokenStartLocation) { - if (index === minIndex) { - return index; - } - maxIndex = index; - } else { - minIndex = index + 1; - } - } - return tokens.length; -}; - -/** - * Gets the index of the `startLoc` in `tokens`. - * `startLoc` can be the value of `node.range[1]`, so this checks about `startLoc - 1` as well. - * @param {(Token|Comment)[]} tokens The tokens to find an index. - * @param {Object} indexMap The map from locations to indices. - * @param {number} startLoc The location to get an index. - * @returns {number} The index. - */ -exports.getFirstIndex = function getFirstIndex(tokens, indexMap, startLoc) { - if (startLoc in indexMap) { - return indexMap[startLoc]; - } - if ((startLoc - 1) in indexMap) { - const index = indexMap[startLoc - 1]; - const token = tokens[index]; - - // If the mapped index is out of bounds, the returned cursor index will point after the end of the tokens array. - if (!token) { - return tokens.length; - } - - /* - * For the map of "comment's location -> token's index", it points the next token of a comment. - * In that case, +1 is unnecessary. - */ - if (token.range[0] >= startLoc) { - return index; - } - return index + 1; - } - return 0; -}; - -/** - * Gets the index of the `endLoc` in `tokens`. - * The information of end locations are recorded at `endLoc - 1` in `indexMap`, so this checks about `endLoc - 1` as well. - * @param {(Token|Comment)[]} tokens The tokens to find an index. - * @param {Object} indexMap The map from locations to indices. - * @param {number} endLoc The location to get an index. - * @returns {number} The index. - */ -exports.getLastIndex = function getLastIndex(tokens, indexMap, endLoc) { - if (endLoc in indexMap) { - return indexMap[endLoc] - 1; - } - if ((endLoc - 1) in indexMap) { - const index = indexMap[endLoc - 1]; - const token = tokens[index]; - - // If the mapped index is out of bounds, the returned cursor index will point before the end of the tokens array. - if (!token) { - return tokens.length - 1; - } - - /* - * For the map of "comment's location -> token's index", it points the next token of a comment. - * In that case, -1 is necessary. - */ - if (token.range[1] > endLoc) { - return index - 1; - } - return index; - } - return tokens.length - 1; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/validate-language-options.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/validate-language-options.js deleted file mode 100644 index ba1e5e39..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/languages/js/validate-language-options.js +++ /dev/null @@ -1,181 +0,0 @@ -/** - * @fileoverview The schema to validate language options - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Data -//----------------------------------------------------------------------------- - -const globalVariablesValues = new Set([ - true, "true", "writable", "writeable", - false, "false", "readonly", "readable", null, - "off" -]); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Check if a value is a non-null object. - * @param {any} value The value to check. - * @returns {boolean} `true` if the value is a non-null object. - */ -function isNonNullObject(value) { - return typeof value === "object" && value !== null; -} - -/** - * Check if a value is a non-null non-array object. - * @param {any} value The value to check. - * @returns {boolean} `true` if the value is a non-null non-array object. - */ -function isNonArrayObject(value) { - return isNonNullObject(value) && !Array.isArray(value); -} - -/** - * Check if a value is undefined. - * @param {any} value The value to check. - * @returns {boolean} `true` if the value is undefined. - */ -function isUndefined(value) { - return typeof value === "undefined"; -} - -//----------------------------------------------------------------------------- -// Schemas -//----------------------------------------------------------------------------- - -/** - * Validates the ecmaVersion property. - * @param {string|number} ecmaVersion The value to check. - * @returns {void} - * @throws {TypeError} If the value is invalid. - */ -function validateEcmaVersion(ecmaVersion) { - - if (isUndefined(ecmaVersion)) { - throw new TypeError("Key \"ecmaVersion\": Expected an \"ecmaVersion\" property."); - } - - if (typeof ecmaVersion !== "number" && ecmaVersion !== "latest") { - throw new TypeError("Key \"ecmaVersion\": Expected a number or \"latest\"."); - } - -} - -/** - * Validates the sourceType property. - * @param {string} sourceType The value to check. - * @returns {void} - * @throws {TypeError} If the value is invalid. - */ -function validateSourceType(sourceType) { - - if (typeof sourceType !== "string" || !/^(?:script|module|commonjs)$/u.test(sourceType)) { - throw new TypeError("Key \"sourceType\": Expected \"script\", \"module\", or \"commonjs\"."); - } - -} - -/** - * Validates the globals property. - * @param {Object} globals The value to check. - * @returns {void} - * @throws {TypeError} If the value is invalid. - */ -function validateGlobals(globals) { - - if (!isNonArrayObject(globals)) { - throw new TypeError("Key \"globals\": Expected an object."); - } - - for (const key of Object.keys(globals)) { - - // avoid hairy edge case - if (key === "__proto__") { - continue; - } - - if (key !== key.trim()) { - throw new TypeError(`Key "globals": Global "${key}" has leading or trailing whitespace.`); - } - - if (!globalVariablesValues.has(globals[key])) { - throw new TypeError(`Key "globals": Key "${key}": Expected "readonly", "writable", or "off".`); - } - } -} - -/** - * Validates the parser property. - * @param {Object} parser The value to check. - * @returns {void} - * @throws {TypeError} If the value is invalid. - */ -function validateParser(parser) { - - if (!parser || typeof parser !== "object" || - (typeof parser.parse !== "function" && typeof parser.parseForESLint !== "function") - ) { - throw new TypeError("Key \"parser\": Expected object with parse() or parseForESLint() method."); - } - -} - -/** - * Validates the language options. - * @param {Object} languageOptions The language options to validate. - * @returns {void} - * @throws {TypeError} If the language options are invalid. - */ -function validateLanguageOptions(languageOptions) { - - if (!isNonArrayObject(languageOptions)) { - throw new TypeError("Expected an object."); - } - - const { - ecmaVersion, - sourceType, - globals, - parser, - parserOptions, - ...otherOptions - } = languageOptions; - - if ("ecmaVersion" in languageOptions) { - validateEcmaVersion(ecmaVersion); - } - - if ("sourceType" in languageOptions) { - validateSourceType(sourceType); - } - - if ("globals" in languageOptions) { - validateGlobals(globals); - } - - if ("parser" in languageOptions) { - validateParser(parser); - } - - if ("parserOptions" in languageOptions) { - if (!isNonArrayObject(parserOptions)) { - throw new TypeError("Key \"parserOptions\": Expected an object."); - } - } - - const otherOptionKeys = Object.keys(otherOptions); - - if (otherOptionKeys.length > 0) { - throw new TypeError(`Unexpected key "${otherOptionKeys[0]}" found.`); - } - -} - -module.exports = { validateLanguageOptions }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/apply-disable-directives.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/apply-disable-directives.js deleted file mode 100644 index 1f07447f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/apply-disable-directives.js +++ /dev/null @@ -1,502 +0,0 @@ -/** - * @fileoverview A module that filters reported problems based on `eslint-disable` and `eslint-enable` comments - * @author Teddy Katz - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** @typedef {import("../shared/types").LintMessage} LintMessage */ -/** @typedef {import("@eslint/core").Language} Language */ -/** @typedef {import("@eslint/core").Position} Position */ -/** @typedef {import("@eslint/core").RulesConfig} RulesConfig */ - -//------------------------------------------------------------------------------ -// Module Definition -//------------------------------------------------------------------------------ - -const escapeRegExp = require("escape-string-regexp"); -const { - Legacy: { - ConfigOps - } -} = require("@eslint/eslintrc/universal"); - -/** - * Compares the locations of two objects in a source file - * @param {Position} itemA The first object - * @param {Position} itemB The second object - * @returns {number} A value less than 1 if itemA appears before itemB in the source file, greater than 1 if - * itemA appears after itemB in the source file, or 0 if itemA and itemB have the same location. - */ -function compareLocations(itemA, itemB) { - return itemA.line - itemB.line || itemA.column - itemB.column; -} - -/** - * Groups a set of directives into sub-arrays by their parent comment. - * @param {Iterable} directives Unused directives to be removed. - * @returns {Directive[][]} Directives grouped by their parent comment. - */ -function groupByParentDirective(directives) { - const groups = new Map(); - - for (const directive of directives) { - const { unprocessedDirective: { parentDirective } } = directive; - - if (groups.has(parentDirective)) { - groups.get(parentDirective).push(directive); - } else { - groups.set(parentDirective, [directive]); - } - } - - return [...groups.values()]; -} - -/** - * Creates removal details for a set of directives within the same comment. - * @param {Directive[]} directives Unused directives to be removed. - * @param {{node: Token, value: string}} parentDirective Data about the backing directive. - * @param {SourceCode} sourceCode The source code object for the file being linted. - * @returns {{ description, fix, unprocessedDirective }[]} Details for later creation of output Problems. - */ -function createIndividualDirectivesRemoval(directives, parentDirective, sourceCode) { - - /* - * Get the list of the rules text without any surrounding whitespace. In order to preserve the original - * formatting, we don't want to change that whitespace. - * - * // eslint-disable-line rule-one , rule-two , rule-three -- comment - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - */ - const listText = parentDirective.value.trim(); - - // Calculate where it starts in the source code text - const listStart = sourceCode.text.indexOf(listText, sourceCode.getRange(parentDirective.node)[0]); - - /* - * We can assume that `listText` contains multiple elements. - * Otherwise, this function wouldn't be called - if there is - * only one rule in the list, then the whole comment must be removed. - */ - - return directives.map(directive => { - const { ruleId } = directive; - - const regex = new RegExp(String.raw`(?:^|\s*,\s*)(?['"]?)${escapeRegExp(ruleId)}\k(?:\s*,\s*|$)`, "u"); - const match = regex.exec(listText); - const matchedText = match[0]; - const matchStart = listStart + match.index; - const matchEnd = matchStart + matchedText.length; - - const firstIndexOfComma = matchedText.indexOf(","); - const lastIndexOfComma = matchedText.lastIndexOf(","); - - let removalStart, removalEnd; - - if (firstIndexOfComma !== lastIndexOfComma) { - - /* - * Since there are two commas, this must one of the elements in the middle of the list. - * Matched range starts where the previous rule name ends, and ends where the next rule name starts. - * - * // eslint-disable-line rule-one , rule-two , rule-three -- comment - * ^^^^^^^^^^^^^^ - * - * We want to remove only the content between the two commas, and also one of the commas. - * - * // eslint-disable-line rule-one , rule-two , rule-three -- comment - * ^^^^^^^^^^^ - */ - removalStart = matchStart + firstIndexOfComma; - removalEnd = matchStart + lastIndexOfComma; - - } else { - - /* - * This is either the first element or the last element. - * - * If this is the first element, matched range starts where the first rule name starts - * and ends where the second rule name starts. This is exactly the range we want - * to remove so that the second rule name will start where the first one was starting - * and thus preserve the original formatting. - * - * // eslint-disable-line rule-one , rule-two , rule-three -- comment - * ^^^^^^^^^^^ - * - * Similarly, if this is the last element, we've already matched the range we want to - * remove. The previous rule name will end where the last one was ending, relative - * to the content on the right side. - * - * // eslint-disable-line rule-one , rule-two , rule-three -- comment - * ^^^^^^^^^^^^^ - */ - removalStart = matchStart; - removalEnd = matchEnd; - } - - return { - description: `'${ruleId}'`, - fix: { - range: [ - removalStart, - removalEnd - ], - text: "" - }, - unprocessedDirective: directive.unprocessedDirective - }; - }); -} - -/** - * Creates a description of deleting an entire unused disable directive. - * @param {Directive[]} directives Unused directives to be removed. - * @param {Token} node The backing Comment token. - * @param {SourceCode} sourceCode The source code object for the file being linted. - * @returns {{ description, fix, unprocessedDirective }} Details for later creation of an output problem. - */ -function createDirectiveRemoval(directives, node, sourceCode) { - const range = sourceCode.getRange(node); - const ruleIds = directives.filter(directive => directive.ruleId).map(directive => `'${directive.ruleId}'`); - - return { - description: ruleIds.length <= 2 - ? ruleIds.join(" or ") - : `${ruleIds.slice(0, ruleIds.length - 1).join(", ")}, or ${ruleIds.at(-1)}`, - fix: { - range, - text: " " - }, - unprocessedDirective: directives[0].unprocessedDirective - }; -} - -/** - * Parses details from directives to create output Problems. - * @param {Iterable} allDirectives Unused directives to be removed. - * @param {SourceCode} sourceCode The source code object for the file being linted. - * @returns {{ description, fix, unprocessedDirective }[]} Details for later creation of output Problems. - */ -function processUnusedDirectives(allDirectives, sourceCode) { - const directiveGroups = groupByParentDirective(allDirectives); - - return directiveGroups.flatMap( - directives => { - const { parentDirective } = directives[0].unprocessedDirective; - const remainingRuleIds = new Set(parentDirective.ruleIds); - - for (const directive of directives) { - remainingRuleIds.delete(directive.ruleId); - } - - return remainingRuleIds.size - ? createIndividualDirectivesRemoval(directives, parentDirective, sourceCode) - : [createDirectiveRemoval(directives, parentDirective.node, sourceCode)]; - } - ); -} - -/** - * Collect eslint-enable comments that are removing suppressions by eslint-disable comments. - * @param {Directive[]} directives The directives to check. - * @returns {Set} The used eslint-enable comments - */ -function collectUsedEnableDirectives(directives) { - - /** - * A Map of `eslint-enable` keyed by ruleIds that may be marked as used. - * If `eslint-enable` does not have a ruleId, the key will be `null`. - * @type {Map} - */ - const enabledRules = new Map(); - - /** - * A Set of `eslint-enable` marked as used. - * It is also the return value of `collectUsedEnableDirectives` function. - * @type {Set} - */ - const usedEnableDirectives = new Set(); - - /* - * Checks the directives backwards to see if the encountered `eslint-enable` is used by the previous `eslint-disable`, - * and if so, stores the `eslint-enable` in `usedEnableDirectives`. - */ - for (let index = directives.length - 1; index >= 0; index--) { - const directive = directives[index]; - - if (directive.type === "disable") { - if (enabledRules.size === 0) { - continue; - } - if (directive.ruleId === null) { - - // If encounter `eslint-disable` without ruleId, - // mark all `eslint-enable` currently held in enabledRules as used. - // e.g. - // /* eslint-disable */ <- current directive - // /* eslint-enable rule-id1 */ <- used - // /* eslint-enable rule-id2 */ <- used - // /* eslint-enable */ <- used - for (const enableDirective of enabledRules.values()) { - usedEnableDirectives.add(enableDirective); - } - enabledRules.clear(); - } else { - const enableDirective = enabledRules.get(directive.ruleId); - - if (enableDirective) { - - // If encounter `eslint-disable` with ruleId, and there is an `eslint-enable` with the same ruleId in enabledRules, - // mark `eslint-enable` with ruleId as used. - // e.g. - // /* eslint-disable rule-id */ <- current directive - // /* eslint-enable rule-id */ <- used - usedEnableDirectives.add(enableDirective); - } else { - const enabledDirectiveWithoutRuleId = enabledRules.get(null); - - if (enabledDirectiveWithoutRuleId) { - - // If encounter `eslint-disable` with ruleId, and there is no `eslint-enable` with the same ruleId in enabledRules, - // mark `eslint-enable` without ruleId as used. - // e.g. - // /* eslint-disable rule-id */ <- current directive - // /* eslint-enable */ <- used - usedEnableDirectives.add(enabledDirectiveWithoutRuleId); - } - } - } - } else if (directive.type === "enable") { - if (directive.ruleId === null) { - - // If encounter `eslint-enable` without ruleId, the `eslint-enable` that follows it are unused. - // So clear enabledRules. - // e.g. - // /* eslint-enable */ <- current directive - // /* eslint-enable rule-id *// <- unused - // /* eslint-enable */ <- unused - enabledRules.clear(); - enabledRules.set(null, directive); - } else { - enabledRules.set(directive.ruleId, directive); - } - } - } - return usedEnableDirectives; -} - -/** - * This is the same as the exported function, except that it - * doesn't handle disable-line and disable-next-line directives, and it always reports unused - * disable directives. - * @param {Object} options options for applying directives. This is the same as the options - * for the exported function, except that `reportUnusedDisableDirectives` is not supported - * (this function always reports unused disable directives). - * @returns {{problems: LintMessage[], unusedDirectives: LintMessage[]}} An object with a list - * of problems (including suppressed ones) and unused eslint-disable directives - */ -function applyDirectives(options) { - const problems = []; - const usedDisableDirectives = new Set(); - const { sourceCode } = options; - - for (const problem of options.problems) { - let disableDirectivesForProblem = []; - let nextDirectiveIndex = 0; - - while ( - nextDirectiveIndex < options.directives.length && - compareLocations(options.directives[nextDirectiveIndex], problem) <= 0 - ) { - const directive = options.directives[nextDirectiveIndex++]; - - if (directive.ruleId === null || directive.ruleId === problem.ruleId) { - switch (directive.type) { - case "disable": - disableDirectivesForProblem.push(directive); - break; - - case "enable": - disableDirectivesForProblem = []; - break; - - // no default - } - } - } - - if (disableDirectivesForProblem.length > 0) { - const suppressions = disableDirectivesForProblem.map(directive => ({ - kind: "directive", - justification: directive.unprocessedDirective.justification - })); - - if (problem.suppressions) { - problem.suppressions = problem.suppressions.concat(suppressions); - } else { - problem.suppressions = suppressions; - usedDisableDirectives.add(disableDirectivesForProblem.at(-1)); - } - } - - problems.push(problem); - } - - const unusedDisableDirectivesToReport = options.directives - .filter(directive => directive.type === "disable" && !usedDisableDirectives.has(directive) && !options.rulesToIgnore.has(directive.ruleId)); - - - const unusedEnableDirectivesToReport = new Set( - options.directives.filter(directive => directive.unprocessedDirective.type === "enable" && !options.rulesToIgnore.has(directive.ruleId)) - ); - - /* - * If directives has the eslint-enable directive, - * check whether the eslint-enable comment is used. - */ - if (unusedEnableDirectivesToReport.size > 0) { - for (const directive of collectUsedEnableDirectives(options.directives)) { - unusedEnableDirectivesToReport.delete(directive); - } - } - - const processed = processUnusedDirectives(unusedDisableDirectivesToReport, sourceCode) - .concat(processUnusedDirectives(unusedEnableDirectivesToReport, sourceCode)); - const columnOffset = options.language.columnStart === 1 ? 0 : 1; - const lineOffset = options.language.lineStart === 1 ? 0 : 1; - - const unusedDirectives = processed - .map(({ description, fix, unprocessedDirective }) => { - const { parentDirective, type, line, column } = unprocessedDirective; - - let message; - - if (type === "enable") { - message = description - ? `Unused eslint-enable directive (no matching eslint-disable directives were found for ${description}).` - : "Unused eslint-enable directive (no matching eslint-disable directives were found)."; - } else { - message = description - ? `Unused eslint-disable directive (no problems were reported from ${description}).` - : "Unused eslint-disable directive (no problems were reported)."; - } - - const loc = sourceCode.getLoc(parentDirective.node); - - return { - ruleId: null, - message, - line: type === "disable-next-line" ? loc.start.line + lineOffset : line, - column: type === "disable-next-line" ? loc.start.column + columnOffset : column, - severity: options.reportUnusedDisableDirectives === "warn" ? 1 : 2, - nodeType: null, - ...options.disableFixes ? {} : { fix } - }; - }); - - return { problems, unusedDirectives }; -} - -/** - * Given a list of directive comments (i.e. metadata about eslint-disable and eslint-enable comments) and a list - * of reported problems, adds the suppression information to the problems. - * @param {Object} options Information about directives and problems - * @param {Language} options.language The language being linted. - * @param {SourceCode} options.sourceCode The source code object for the file being linted. - * @param {{ - * type: ("disable"|"enable"|"disable-line"|"disable-next-line"), - * ruleId: (string|null), - * line: number, - * column: number, - * justification: string - * }} options.directives Directive comments found in the file, with one-based columns. - * Two directive comments can only have the same location if they also have the same type (e.g. a single eslint-disable - * comment for two different rules is represented as two directives). - * @param {{ruleId: (string|null), line: number, column: number}[]} options.problems - * A list of problems reported by rules, sorted by increasing location in the file, with one-based columns. - * @param {"off" | "warn" | "error"} options.reportUnusedDisableDirectives If `"warn"` or `"error"`, adds additional problems for unused directives - * @param {RulesConfig} options.configuredRules The rules configuration. - * @param {Function} options.ruleFilter A predicate function to filter which rules should be executed. - * @param {boolean} options.disableFixes If true, it doesn't make `fix` properties. - * @returns {{ruleId: (string|null), line: number, column: number, suppressions?: {kind: string, justification: string}}[]} - * An object with a list of reported problems, the suppressed of which contain the suppression information. - */ -module.exports = ({ language, sourceCode, directives, disableFixes, problems, configuredRules, ruleFilter, reportUnusedDisableDirectives = "off" }) => { - const blockDirectives = directives - .filter(directive => directive.type === "disable" || directive.type === "enable") - .map(directive => Object.assign({}, directive, { unprocessedDirective: directive })) - .sort(compareLocations); - - const lineDirectives = directives.flatMap(directive => { - switch (directive.type) { - case "disable": - case "enable": - return []; - - case "disable-line": - return [ - { type: "disable", line: directive.line, column: 1, ruleId: directive.ruleId, unprocessedDirective: directive }, - { type: "enable", line: directive.line + 1, column: 0, ruleId: directive.ruleId, unprocessedDirective: directive } - ]; - - case "disable-next-line": - return [ - { type: "disable", line: directive.line + 1, column: 1, ruleId: directive.ruleId, unprocessedDirective: directive }, - { type: "enable", line: directive.line + 2, column: 0, ruleId: directive.ruleId, unprocessedDirective: directive } - ]; - - default: - throw new TypeError(`Unrecognized directive type '${directive.type}'`); - } - }).sort(compareLocations); - - // This determines a list of rules that are not being run by the given ruleFilter, if present. - const rulesToIgnore = configuredRules && ruleFilter - ? new Set(Object.keys(configuredRules).filter(ruleId => { - const severity = ConfigOps.getRuleSeverity(configuredRules[ruleId]); - - // Ignore for disabled rules. - if (severity === 0) { - return false; - } - - return !ruleFilter({ severity, ruleId }); - })) - : new Set(); - - // If no ruleId is supplied that means this directive is applied to all rules, so we can't determine if it's unused if any rules are filtered out. - if (rulesToIgnore.size > 0) { - rulesToIgnore.add(null); - } - - const blockDirectivesResult = applyDirectives({ - language, - sourceCode, - problems, - directives: blockDirectives, - disableFixes, - reportUnusedDisableDirectives, - rulesToIgnore - }); - const lineDirectivesResult = applyDirectives({ - language, - sourceCode, - problems: blockDirectivesResult.problems, - directives: lineDirectives, - disableFixes, - reportUnusedDisableDirectives, - rulesToIgnore - }); - - return reportUnusedDisableDirectives !== "off" - ? lineDirectivesResult.problems - .concat(blockDirectivesResult.unusedDirectives) - .concat(lineDirectivesResult.unusedDirectives) - .sort(compareLocations) - : lineDirectivesResult.problems; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js deleted file mode 100644 index baa6e997..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +++ /dev/null @@ -1,851 +0,0 @@ -/** - * @fileoverview A class of the code path analyzer. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const assert = require("../../shared/assert"), - { breakableTypePattern } = require("../../shared/ast-utils"), - CodePath = require("./code-path"), - CodePathSegment = require("./code-path-segment"), - IdGenerator = require("./id-generator"), - debug = require("./debug-helpers"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given node is a `case` node (not `default` node). - * @param {ASTNode} node A `SwitchCase` node to check. - * @returns {boolean} `true` if the node is a `case` node (not `default` node). - */ -function isCaseNode(node) { - return Boolean(node.test); -} - -/** - * Checks if a given node appears as the value of a PropertyDefinition node. - * @param {ASTNode} node THe node to check. - * @returns {boolean} `true` if the node is a PropertyDefinition value, - * false if not. - */ -function isPropertyDefinitionValue(node) { - const parent = node.parent; - - return parent && parent.type === "PropertyDefinition" && parent.value === node; -} - -/** - * Checks whether the given logical operator is taken into account for the code - * path analysis. - * @param {string} operator The operator found in the LogicalExpression node - * @returns {boolean} `true` if the operator is "&&" or "||" or "??" - */ -function isHandledLogicalOperator(operator) { - return operator === "&&" || operator === "||" || operator === "??"; -} - -/** - * Checks whether the given assignment operator is a logical assignment operator. - * Logical assignments are taken into account for the code path analysis - * because of their short-circuiting semantics. - * @param {string} operator The operator found in the AssignmentExpression node - * @returns {boolean} `true` if the operator is "&&=" or "||=" or "??=" - */ -function isLogicalAssignmentOperator(operator) { - return operator === "&&=" || operator === "||=" || operator === "??="; -} - -/** - * Gets the label if the parent node of a given node is a LabeledStatement. - * @param {ASTNode} node A node to get. - * @returns {string|null} The label or `null`. - */ -function getLabel(node) { - if (node.parent.type === "LabeledStatement") { - return node.parent.label.name; - } - return null; -} - -/** - * Checks whether or not a given logical expression node goes different path - * between the `true` case and the `false` case. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is a test of a choice statement. - */ -function isForkingByTrueOrFalse(node) { - const parent = node.parent; - - switch (parent.type) { - case "ConditionalExpression": - case "IfStatement": - case "WhileStatement": - case "DoWhileStatement": - case "ForStatement": - return parent.test === node; - - case "LogicalExpression": - return isHandledLogicalOperator(parent.operator); - - case "AssignmentExpression": - return isLogicalAssignmentOperator(parent.operator); - - default: - return false; - } -} - -/** - * Gets the boolean value of a given literal node. - * - * This is used to detect infinity loops (e.g. `while (true) {}`). - * Statements preceded by an infinity loop are unreachable if the loop didn't - * have any `break` statement. - * @param {ASTNode} node A node to get. - * @returns {boolean|undefined} a boolean value if the node is a Literal node, - * otherwise `undefined`. - */ -function getBooleanValueIfSimpleConstant(node) { - if (node.type === "Literal") { - return Boolean(node.value); - } - return void 0; -} - -/** - * Checks that a given identifier node is a reference or not. - * - * This is used to detect the first throwable node in a `try` block. - * @param {ASTNode} node An Identifier node to check. - * @returns {boolean} `true` if the node is a reference. - */ -function isIdentifierReference(node) { - const parent = node.parent; - - switch (parent.type) { - case "LabeledStatement": - case "BreakStatement": - case "ContinueStatement": - case "ArrayPattern": - case "RestElement": - case "ImportSpecifier": - case "ImportDefaultSpecifier": - case "ImportNamespaceSpecifier": - case "CatchClause": - return false; - - case "FunctionDeclaration": - case "FunctionExpression": - case "ArrowFunctionExpression": - case "ClassDeclaration": - case "ClassExpression": - case "VariableDeclarator": - return parent.id !== node; - - case "Property": - case "PropertyDefinition": - case "MethodDefinition": - return ( - parent.key !== node || - parent.computed || - parent.shorthand - ); - - case "AssignmentPattern": - return parent.key !== node; - - default: - return true; - } -} - -/** - * Updates the current segment with the head segment. - * This is similar to local branches and tracking branches of git. - * - * To separate the current and the head is in order to not make useless segments. - * - * In this process, both "onCodePathSegmentStart" and "onCodePathSegmentEnd" - * events are fired. - * @param {CodePathAnalyzer} analyzer The instance. - * @param {ASTNode} node The current AST node. - * @returns {void} - */ -function forwardCurrentToHead(analyzer, node) { - const codePath = analyzer.codePath; - const state = CodePath.getState(codePath); - const currentSegments = state.currentSegments; - const headSegments = state.headSegments; - const end = Math.max(currentSegments.length, headSegments.length); - let i, currentSegment, headSegment; - - // Fires leaving events. - for (i = 0; i < end; ++i) { - currentSegment = currentSegments[i]; - headSegment = headSegments[i]; - - if (currentSegment !== headSegment && currentSegment) { - - const eventName = currentSegment.reachable - ? "onCodePathSegmentEnd" - : "onUnreachableCodePathSegmentEnd"; - - debug.dump(`${eventName} ${currentSegment.id}`); - - analyzer.emitter.emit( - eventName, - currentSegment, - node - ); - } - } - - // Update state. - state.currentSegments = headSegments; - - // Fires entering events. - for (i = 0; i < end; ++i) { - currentSegment = currentSegments[i]; - headSegment = headSegments[i]; - - if (currentSegment !== headSegment && headSegment) { - - const eventName = headSegment.reachable - ? "onCodePathSegmentStart" - : "onUnreachableCodePathSegmentStart"; - - debug.dump(`${eventName} ${headSegment.id}`); - CodePathSegment.markUsed(headSegment); - analyzer.emitter.emit( - eventName, - headSegment, - node - ); - } - } - -} - -/** - * Updates the current segment with empty. - * This is called at the last of functions or the program. - * @param {CodePathAnalyzer} analyzer The instance. - * @param {ASTNode} node The current AST node. - * @returns {void} - */ -function leaveFromCurrentSegment(analyzer, node) { - const state = CodePath.getState(analyzer.codePath); - const currentSegments = state.currentSegments; - - for (let i = 0; i < currentSegments.length; ++i) { - const currentSegment = currentSegments[i]; - const eventName = currentSegment.reachable - ? "onCodePathSegmentEnd" - : "onUnreachableCodePathSegmentEnd"; - - debug.dump(`${eventName} ${currentSegment.id}`); - - analyzer.emitter.emit( - eventName, - currentSegment, - node - ); - } - - state.currentSegments = []; -} - -/** - * Updates the code path due to the position of a given node in the parent node - * thereof. - * - * For example, if the node is `parent.consequent`, this creates a fork from the - * current path. - * @param {CodePathAnalyzer} analyzer The instance. - * @param {ASTNode} node The current AST node. - * @returns {void} - */ -function preprocess(analyzer, node) { - const codePath = analyzer.codePath; - const state = CodePath.getState(codePath); - const parent = node.parent; - - switch (parent.type) { - - // The `arguments.length == 0` case is in `postprocess` function. - case "CallExpression": - if (parent.optional === true && parent.arguments.length >= 1 && parent.arguments[0] === node) { - state.makeOptionalRight(); - } - break; - case "MemberExpression": - if (parent.optional === true && parent.property === node) { - state.makeOptionalRight(); - } - break; - - case "LogicalExpression": - if ( - parent.right === node && - isHandledLogicalOperator(parent.operator) - ) { - state.makeLogicalRight(); - } - break; - - case "AssignmentExpression": - if ( - parent.right === node && - isLogicalAssignmentOperator(parent.operator) - ) { - state.makeLogicalRight(); - } - break; - - case "ConditionalExpression": - case "IfStatement": - - /* - * Fork if this node is at `consequent`/`alternate`. - * `popForkContext()` exists at `IfStatement:exit` and - * `ConditionalExpression:exit`. - */ - if (parent.consequent === node) { - state.makeIfConsequent(); - } else if (parent.alternate === node) { - state.makeIfAlternate(); - } - break; - - case "SwitchCase": - if (parent.consequent[0] === node) { - state.makeSwitchCaseBody(false, !parent.test); - } - break; - - case "TryStatement": - if (parent.handler === node) { - state.makeCatchBlock(); - } else if (parent.finalizer === node) { - state.makeFinallyBlock(); - } - break; - - case "WhileStatement": - if (parent.test === node) { - state.makeWhileTest(getBooleanValueIfSimpleConstant(node)); - } else { - assert(parent.body === node); - state.makeWhileBody(); - } - break; - - case "DoWhileStatement": - if (parent.body === node) { - state.makeDoWhileBody(); - } else { - assert(parent.test === node); - state.makeDoWhileTest(getBooleanValueIfSimpleConstant(node)); - } - break; - - case "ForStatement": - if (parent.test === node) { - state.makeForTest(getBooleanValueIfSimpleConstant(node)); - } else if (parent.update === node) { - state.makeForUpdate(); - } else if (parent.body === node) { - state.makeForBody(); - } - break; - - case "ForInStatement": - case "ForOfStatement": - if (parent.left === node) { - state.makeForInOfLeft(); - } else if (parent.right === node) { - state.makeForInOfRight(); - } else { - assert(parent.body === node); - state.makeForInOfBody(); - } - break; - - case "AssignmentPattern": - - /* - * Fork if this node is at `right`. - * `left` is executed always, so it uses the current path. - * `popForkContext()` exists at `AssignmentPattern:exit`. - */ - if (parent.right === node) { - state.pushForkContext(); - state.forkBypassPath(); - state.forkPath(); - } - break; - - default: - break; - } -} - -/** - * Updates the code path due to the type of a given node in entering. - * @param {CodePathAnalyzer} analyzer The instance. - * @param {ASTNode} node The current AST node. - * @returns {void} - */ -function processCodePathToEnter(analyzer, node) { - let codePath = analyzer.codePath; - let state = codePath && CodePath.getState(codePath); - const parent = node.parent; - - /** - * Creates a new code path and trigger the onCodePathStart event - * based on the currently selected node. - * @param {string} origin The reason the code path was started. - * @returns {void} - */ - function startCodePath(origin) { - if (codePath) { - - // Emits onCodePathSegmentStart events if updated. - forwardCurrentToHead(analyzer, node); - debug.dumpState(node, state, false); - } - - // Create the code path of this scope. - codePath = analyzer.codePath = new CodePath({ - id: analyzer.idGenerator.next(), - origin, - upper: codePath, - onLooped: analyzer.onLooped - }); - state = CodePath.getState(codePath); - - // Emits onCodePathStart events. - debug.dump(`onCodePathStart ${codePath.id}`); - analyzer.emitter.emit("onCodePathStart", codePath, node); - } - - /* - * Special case: The right side of class field initializer is considered - * to be its own function, so we need to start a new code path in this - * case. - */ - if (isPropertyDefinitionValue(node)) { - startCodePath("class-field-initializer"); - - /* - * Intentional fall through because `node` needs to also be - * processed by the code below. For example, if we have: - * - * class Foo { - * a = () => {} - * } - * - * In this case, we also need start a second code path. - */ - - } - - switch (node.type) { - case "Program": - startCodePath("program"); - break; - - case "FunctionDeclaration": - case "FunctionExpression": - case "ArrowFunctionExpression": - startCodePath("function"); - break; - - case "StaticBlock": - startCodePath("class-static-block"); - break; - - case "ChainExpression": - state.pushChainContext(); - break; - case "CallExpression": - if (node.optional === true) { - state.makeOptionalNode(); - } - break; - case "MemberExpression": - if (node.optional === true) { - state.makeOptionalNode(); - } - break; - - case "LogicalExpression": - if (isHandledLogicalOperator(node.operator)) { - state.pushChoiceContext( - node.operator, - isForkingByTrueOrFalse(node) - ); - } - break; - - case "AssignmentExpression": - if (isLogicalAssignmentOperator(node.operator)) { - state.pushChoiceContext( - node.operator.slice(0, -1), // removes `=` from the end - isForkingByTrueOrFalse(node) - ); - } - break; - - case "ConditionalExpression": - case "IfStatement": - state.pushChoiceContext("test", false); - break; - - case "SwitchStatement": - state.pushSwitchContext( - node.cases.some(isCaseNode), - getLabel(node) - ); - break; - - case "TryStatement": - state.pushTryContext(Boolean(node.finalizer)); - break; - - case "SwitchCase": - - /* - * Fork if this node is after the 2st node in `cases`. - * It's similar to `else` blocks. - * The next `test` node is processed in this path. - */ - if (parent.discriminant !== node && parent.cases[0] !== node) { - state.forkPath(); - } - break; - - case "WhileStatement": - case "DoWhileStatement": - case "ForStatement": - case "ForInStatement": - case "ForOfStatement": - state.pushLoopContext(node.type, getLabel(node)); - break; - - case "LabeledStatement": - if (!breakableTypePattern.test(node.body.type)) { - state.pushBreakContext(false, node.label.name); - } - break; - - default: - break; - } - - // Emits onCodePathSegmentStart events if updated. - forwardCurrentToHead(analyzer, node); - debug.dumpState(node, state, false); -} - -/** - * Updates the code path due to the type of a given node in leaving. - * @param {CodePathAnalyzer} analyzer The instance. - * @param {ASTNode} node The current AST node. - * @returns {void} - */ -function processCodePathToExit(analyzer, node) { - - const codePath = analyzer.codePath; - const state = CodePath.getState(codePath); - let dontForward = false; - - switch (node.type) { - case "ChainExpression": - state.popChainContext(); - break; - - case "IfStatement": - case "ConditionalExpression": - state.popChoiceContext(); - break; - - case "LogicalExpression": - if (isHandledLogicalOperator(node.operator)) { - state.popChoiceContext(); - } - break; - - case "AssignmentExpression": - if (isLogicalAssignmentOperator(node.operator)) { - state.popChoiceContext(); - } - break; - - case "SwitchStatement": - state.popSwitchContext(); - break; - - case "SwitchCase": - - /* - * This is the same as the process at the 1st `consequent` node in - * `preprocess` function. - * Must do if this `consequent` is empty. - */ - if (node.consequent.length === 0) { - state.makeSwitchCaseBody(true, !node.test); - } - if (state.forkContext.reachable) { - dontForward = true; - } - break; - - case "TryStatement": - state.popTryContext(); - break; - - case "BreakStatement": - forwardCurrentToHead(analyzer, node); - state.makeBreak(node.label && node.label.name); - dontForward = true; - break; - - case "ContinueStatement": - forwardCurrentToHead(analyzer, node); - state.makeContinue(node.label && node.label.name); - dontForward = true; - break; - - case "ReturnStatement": - forwardCurrentToHead(analyzer, node); - state.makeReturn(); - dontForward = true; - break; - - case "ThrowStatement": - forwardCurrentToHead(analyzer, node); - state.makeThrow(); - dontForward = true; - break; - - case "Identifier": - if (isIdentifierReference(node)) { - state.makeFirstThrowablePathInTryBlock(); - dontForward = true; - } - break; - - case "CallExpression": - case "ImportExpression": - case "MemberExpression": - case "NewExpression": - case "YieldExpression": - state.makeFirstThrowablePathInTryBlock(); - break; - - case "WhileStatement": - case "DoWhileStatement": - case "ForStatement": - case "ForInStatement": - case "ForOfStatement": - state.popLoopContext(); - break; - - case "AssignmentPattern": - state.popForkContext(); - break; - - case "LabeledStatement": - if (!breakableTypePattern.test(node.body.type)) { - state.popBreakContext(); - } - break; - - default: - break; - } - - // Emits onCodePathSegmentStart events if updated. - if (!dontForward) { - forwardCurrentToHead(analyzer, node); - } - debug.dumpState(node, state, true); -} - -/** - * Updates the code path to finalize the current code path. - * @param {CodePathAnalyzer} analyzer The instance. - * @param {ASTNode} node The current AST node. - * @returns {void} - */ -function postprocess(analyzer, node) { - - /** - * Ends the code path for the current node. - * @returns {void} - */ - function endCodePath() { - let codePath = analyzer.codePath; - - // Mark the current path as the final node. - CodePath.getState(codePath).makeFinal(); - - // Emits onCodePathSegmentEnd event of the current segments. - leaveFromCurrentSegment(analyzer, node); - - // Emits onCodePathEnd event of this code path. - debug.dump(`onCodePathEnd ${codePath.id}`); - analyzer.emitter.emit("onCodePathEnd", codePath, node); - debug.dumpDot(codePath); - - codePath = analyzer.codePath = analyzer.codePath.upper; - if (codePath) { - debug.dumpState(node, CodePath.getState(codePath), true); - } - - } - - switch (node.type) { - case "Program": - case "FunctionDeclaration": - case "FunctionExpression": - case "ArrowFunctionExpression": - case "StaticBlock": { - endCodePath(); - break; - } - - // The `arguments.length >= 1` case is in `preprocess` function. - case "CallExpression": - if (node.optional === true && node.arguments.length === 0) { - CodePath.getState(analyzer.codePath).makeOptionalRight(); - } - break; - - default: - break; - } - - /* - * Special case: The right side of class field initializer is considered - * to be its own function, so we need to end a code path in this - * case. - * - * We need to check after the other checks in order to close the - * code paths in the correct order for code like this: - * - * - * class Foo { - * a = () => {} - * } - * - * In this case, The ArrowFunctionExpression code path is closed first - * and then we need to close the code path for the PropertyDefinition - * value. - */ - if (isPropertyDefinitionValue(node)) { - endCodePath(); - } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * The class to analyze code paths. - * This class implements the EventGenerator interface. - */ -class CodePathAnalyzer { - - /** - * @param {EventGenerator} eventGenerator An event generator to wrap. - */ - constructor(eventGenerator) { - this.original = eventGenerator; - this.emitter = eventGenerator.emitter; - this.codePath = null; - this.idGenerator = new IdGenerator("s"); - this.currentNode = null; - this.onLooped = this.onLooped.bind(this); - } - - /** - * Does the process to enter a given AST node. - * This updates state of analysis and calls `enterNode` of the wrapped. - * @param {ASTNode} node A node which is entering. - * @returns {void} - */ - enterNode(node) { - this.currentNode = node; - - // Updates the code path due to node's position in its parent node. - if (node.parent) { - preprocess(this, node); - } - - /* - * Updates the code path. - * And emits onCodePathStart/onCodePathSegmentStart events. - */ - processCodePathToEnter(this, node); - - // Emits node events. - this.original.enterNode(node); - - this.currentNode = null; - } - - /** - * Does the process to leave a given AST node. - * This updates state of analysis and calls `leaveNode` of the wrapped. - * @param {ASTNode} node A node which is leaving. - * @returns {void} - */ - leaveNode(node) { - this.currentNode = node; - - /* - * Updates the code path. - * And emits onCodePathStart/onCodePathSegmentStart events. - */ - processCodePathToExit(this, node); - - // Emits node events. - this.original.leaveNode(node); - - // Emits the last onCodePathStart/onCodePathSegmentStart events. - postprocess(this, node); - - this.currentNode = null; - } - - /** - * This is called on a code path looped. - * Then this raises a looped event. - * @param {CodePathSegment} fromSegment A segment of prev. - * @param {CodePathSegment} toSegment A segment of next. - * @returns {void} - */ - onLooped(fromSegment, toSegment) { - if (fromSegment.reachable && toSegment.reachable) { - debug.dump(`onCodePathSegmentLoop ${fromSegment.id} -> ${toSegment.id}`); - this.emitter.emit( - "onCodePathSegmentLoop", - fromSegment, - toSegment, - this.currentNode - ); - } - } -} - -module.exports = CodePathAnalyzer; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js deleted file mode 100644 index 3b8dbb41..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +++ /dev/null @@ -1,263 +0,0 @@ -/** - * @fileoverview The CodePathSegment class. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const debug = require("./debug-helpers"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given segment is reachable. - * @param {CodePathSegment} segment A segment to check. - * @returns {boolean} `true` if the segment is reachable. - */ -function isReachable(segment) { - return segment.reachable; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * A code path segment. - * - * Each segment is arranged in a series of linked lists (implemented by arrays) - * that keep track of the previous and next segments in a code path. In this way, - * you can navigate between all segments in any code path so long as you have a - * reference to any segment in that code path. - * - * When first created, the segment is in a detached state, meaning that it knows the - * segments that came before it but those segments don't know that this new segment - * follows it. Only when `CodePathSegment#markUsed()` is called on a segment does it - * officially become part of the code path by updating the previous segments to know - * that this new segment follows. - */ -class CodePathSegment { - - /** - * Creates a new instance. - * @param {string} id An identifier. - * @param {CodePathSegment[]} allPrevSegments An array of the previous segments. - * This array includes unreachable segments. - * @param {boolean} reachable A flag which shows this is reachable. - */ - constructor(id, allPrevSegments, reachable) { - - /** - * The identifier of this code path. - * Rules use it to store additional information of each rule. - * @type {string} - */ - this.id = id; - - /** - * An array of the next reachable segments. - * @type {CodePathSegment[]} - */ - this.nextSegments = []; - - /** - * An array of the previous reachable segments. - * @type {CodePathSegment[]} - */ - this.prevSegments = allPrevSegments.filter(isReachable); - - /** - * An array of all next segments including reachable and unreachable. - * @type {CodePathSegment[]} - */ - this.allNextSegments = []; - - /** - * An array of all previous segments including reachable and unreachable. - * @type {CodePathSegment[]} - */ - this.allPrevSegments = allPrevSegments; - - /** - * A flag which shows this is reachable. - * @type {boolean} - */ - this.reachable = reachable; - - // Internal data. - Object.defineProperty(this, "internal", { - value: { - - // determines if the segment has been attached to the code path - used: false, - - // array of previous segments coming from the end of a loop - loopedPrevSegments: [] - } - }); - - /* c8 ignore start */ - if (debug.enabled) { - this.internal.nodes = []; - }/* c8 ignore stop */ - } - - /** - * Checks a given previous segment is coming from the end of a loop. - * @param {CodePathSegment} segment A previous segment to check. - * @returns {boolean} `true` if the segment is coming from the end of a loop. - */ - isLoopedPrevSegment(segment) { - return this.internal.loopedPrevSegments.includes(segment); - } - - /** - * Creates the root segment. - * @param {string} id An identifier. - * @returns {CodePathSegment} The created segment. - */ - static newRoot(id) { - return new CodePathSegment(id, [], true); - } - - /** - * Creates a new segment and appends it after the given segments. - * @param {string} id An identifier. - * @param {CodePathSegment[]} allPrevSegments An array of the previous segments - * to append to. - * @returns {CodePathSegment} The created segment. - */ - static newNext(id, allPrevSegments) { - return new CodePathSegment( - id, - CodePathSegment.flattenUnusedSegments(allPrevSegments), - allPrevSegments.some(isReachable) - ); - } - - /** - * Creates an unreachable segment and appends it after the given segments. - * @param {string} id An identifier. - * @param {CodePathSegment[]} allPrevSegments An array of the previous segments. - * @returns {CodePathSegment} The created segment. - */ - static newUnreachable(id, allPrevSegments) { - const segment = new CodePathSegment(id, CodePathSegment.flattenUnusedSegments(allPrevSegments), false); - - /* - * In `if (a) return a; foo();` case, the unreachable segment preceded by - * the return statement is not used but must not be removed. - */ - CodePathSegment.markUsed(segment); - - return segment; - } - - /** - * Creates a segment that follows given segments. - * This factory method does not connect with `allPrevSegments`. - * But this inherits `reachable` flag. - * @param {string} id An identifier. - * @param {CodePathSegment[]} allPrevSegments An array of the previous segments. - * @returns {CodePathSegment} The created segment. - */ - static newDisconnected(id, allPrevSegments) { - return new CodePathSegment(id, [], allPrevSegments.some(isReachable)); - } - - /** - * Marks a given segment as used. - * - * And this function registers the segment into the previous segments as a next. - * @param {CodePathSegment} segment A segment to mark. - * @returns {void} - */ - static markUsed(segment) { - if (segment.internal.used) { - return; - } - segment.internal.used = true; - - let i; - - if (segment.reachable) { - - /* - * If the segment is reachable, then it's officially part of the - * code path. This loops through all previous segments to update - * their list of next segments. Because the segment is reachable, - * it's added to both `nextSegments` and `allNextSegments`. - */ - for (i = 0; i < segment.allPrevSegments.length; ++i) { - const prevSegment = segment.allPrevSegments[i]; - - prevSegment.allNextSegments.push(segment); - prevSegment.nextSegments.push(segment); - } - } else { - - /* - * If the segment is not reachable, then it's not officially part of the - * code path. This loops through all previous segments to update - * their list of next segments. Because the segment is not reachable, - * it's added only to `allNextSegments`. - */ - for (i = 0; i < segment.allPrevSegments.length; ++i) { - segment.allPrevSegments[i].allNextSegments.push(segment); - } - } - } - - /** - * Marks a previous segment as looped. - * @param {CodePathSegment} segment A segment. - * @param {CodePathSegment} prevSegment A previous segment to mark. - * @returns {void} - */ - static markPrevSegmentAsLooped(segment, prevSegment) { - segment.internal.loopedPrevSegments.push(prevSegment); - } - - /** - * Creates a new array based on an array of segments. If any segment in the - * array is unused, then it is replaced by all of its previous segments. - * All used segments are returned as-is without replacement. - * @param {CodePathSegment[]} segments The array of segments to flatten. - * @returns {CodePathSegment[]} The flattened array. - */ - static flattenUnusedSegments(segments) { - const done = new Set(); - - for (let i = 0; i < segments.length; ++i) { - const segment = segments[i]; - - // Ignores duplicated. - if (done.has(segment)) { - continue; - } - - // Use previous segments if unused. - if (!segment.internal.used) { - for (let j = 0; j < segment.allPrevSegments.length; ++j) { - const prevSegment = segment.allPrevSegments[j]; - - if (!done.has(prevSegment)) { - done.add(prevSegment); - } - } - } else { - done.add(segment); - } - } - - return [...done]; - } -} - -module.exports = CodePathSegment; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js deleted file mode 100644 index 2b0dc2bf..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +++ /dev/null @@ -1,2348 +0,0 @@ -/** - * @fileoverview A class to manage state of generating a code path. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const CodePathSegment = require("./code-path-segment"), - ForkContext = require("./fork-context"); - -//----------------------------------------------------------------------------- -// Contexts -//----------------------------------------------------------------------------- - -/** - * Represents the context in which a `break` statement can be used. - * - * A `break` statement without a label is only valid in a few places in - * JavaScript: any type of loop or a `switch` statement. Otherwise, `break` - * without a label causes a syntax error. For these contexts, `breakable` is - * set to `true` to indicate that a `break` without a label is valid. - * - * However, a `break` statement with a label is also valid inside of a labeled - * statement. For example, this is valid: - * - * a : { - * break a; - * } - * - * The `breakable` property is set false for labeled statements to indicate - * that `break` without a label is invalid. - */ -class BreakContext { - - /** - * Creates a new instance. - * @param {BreakContext} upperContext The previous `BreakContext`. - * @param {boolean} breakable Indicates if we are inside a statement where - * `break` without a label will exit the statement. - * @param {string|null} label The label for the statement. - * @param {ForkContext} forkContext The current fork context. - */ - constructor(upperContext, breakable, label, forkContext) { - - /** - * The previous `BreakContext` - * @type {BreakContext} - */ - this.upper = upperContext; - - /** - * Indicates if we are inside a statement where `break` without a label - * will exit the statement. - * @type {boolean} - */ - this.breakable = breakable; - - /** - * The label associated with the statement. - * @type {string|null} - */ - this.label = label; - - /** - * The fork context for the `break`. - * @type {ForkContext} - */ - this.brokenForkContext = ForkContext.newEmpty(forkContext); - } -} - -/** - * Represents the context for `ChainExpression` nodes. - */ -class ChainContext { - - /** - * Creates a new instance. - * @param {ChainContext} upperContext The previous `ChainContext`. - */ - constructor(upperContext) { - - /** - * The previous `ChainContext` - * @type {ChainContext} - */ - this.upper = upperContext; - - /** - * The number of choice contexts inside of the `ChainContext`. - * @type {number} - */ - this.choiceContextCount = 0; - - } -} - -/** - * Represents a choice in the code path. - * - * Choices are created by logical operators such as `&&`, loops, conditionals, - * and `if` statements. This is the point at which the code path has a choice of - * which direction to go. - * - * The result of a choice might be in the left (test) expression of another choice, - * and in that case, may create a new fork. For example, `a || b` is a choice - * but does not create a new fork because the result of the expression is - * not used as the test expression in another expression. In this case, - * `isForkingAsResult` is false. In the expression `a || b || c`, the `a || b` - * expression appears as the test expression for `|| c`, so the - * result of `a || b` creates a fork because execution may or may not - * continue to `|| c`. `isForkingAsResult` for `a || b` in this case is true - * while `isForkingAsResult` for `|| c` is false. (`isForkingAsResult` is always - * false for `if` statements, conditional expressions, and loops.) - * - * All of the choices except one (`??`) operate on a true/false fork, meaning if - * true go one way and if false go the other (tracked by `trueForkContext` and - * `falseForkContext`). The `??` operator doesn't operate on true/false because - * the left expression is evaluated to be nullish or not, so only if nullish do - * we fork to the right expression (tracked by `nullishForkContext`). - */ -class ChoiceContext { - - /** - * Creates a new instance. - * @param {ChoiceContext} upperContext The previous `ChoiceContext`. - * @param {string} kind The kind of choice. If it's a logical or assignment expression, this - * is `"&&"` or `"||"` or `"??"`; if it's an `if` statement or - * conditional expression, this is `"test"`; otherwise, this is `"loop"`. - * @param {boolean} isForkingAsResult Indicates if the result of the choice - * creates a fork. - * @param {ForkContext} forkContext The containing `ForkContext`. - */ - constructor(upperContext, kind, isForkingAsResult, forkContext) { - - /** - * The previous `ChoiceContext` - * @type {ChoiceContext} - */ - this.upper = upperContext; - - /** - * The kind of choice. If it's a logical or assignment expression, this - * is `"&&"` or `"||"` or `"??"`; if it's an `if` statement or - * conditional expression, this is `"test"`; otherwise, this is `"loop"`. - * @type {string} - */ - this.kind = kind; - - /** - * Indicates if the result of the choice forks the code path. - * @type {boolean} - */ - this.isForkingAsResult = isForkingAsResult; - - /** - * The fork context for the `true` path of the choice. - * @type {ForkContext} - */ - this.trueForkContext = ForkContext.newEmpty(forkContext); - - /** - * The fork context for the `false` path of the choice. - * @type {ForkContext} - */ - this.falseForkContext = ForkContext.newEmpty(forkContext); - - /** - * The fork context for when the choice result is `null` or `undefined`. - * @type {ForkContext} - */ - this.nullishForkContext = ForkContext.newEmpty(forkContext); - - /** - * Indicates if any of `trueForkContext`, `falseForkContext`, or - * `nullishForkContext` have been updated with segments from a child context. - * @type {boolean} - */ - this.processed = false; - } - -} - -/** - * Base class for all loop contexts. - */ -class LoopContextBase { - - /** - * Creates a new instance. - * @param {LoopContext|null} upperContext The previous `LoopContext`. - * @param {string} type The AST node's `type` for the loop. - * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`. - * @param {BreakContext} breakContext The context for breaking the loop. - */ - constructor(upperContext, type, label, breakContext) { - - /** - * The previous `LoopContext`. - * @type {LoopContext} - */ - this.upper = upperContext; - - /** - * The AST node's `type` for the loop. - * @type {string} - */ - this.type = type; - - /** - * The label for the loop from an enclosing `LabeledStatement`. - * @type {string|null} - */ - this.label = label; - - /** - * The fork context for when `break` is encountered. - * @type {ForkContext} - */ - this.brokenForkContext = breakContext.brokenForkContext; - } -} - -/** - * Represents the context for a `while` loop. - */ -class WhileLoopContext extends LoopContextBase { - - /** - * Creates a new instance. - * @param {LoopContext|null} upperContext The previous `LoopContext`. - * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`. - * @param {BreakContext} breakContext The context for breaking the loop. - */ - constructor(upperContext, label, breakContext) { - super(upperContext, "WhileStatement", label, breakContext); - - /** - * The hardcoded literal boolean test condition for - * the loop. Used to catch infinite or skipped loops. - * @type {boolean|undefined} - */ - this.test = void 0; - - /** - * The segments representing the test condition where `continue` will - * jump to. The test condition will typically have just one segment but - * it's possible for there to be more than one. - * @type {Array|null} - */ - this.continueDestSegments = null; - } -} - -/** - * Represents the context for a `do-while` loop. - */ -class DoWhileLoopContext extends LoopContextBase { - - /** - * Creates a new instance. - * @param {LoopContext|null} upperContext The previous `LoopContext`. - * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`. - * @param {BreakContext} breakContext The context for breaking the loop. - * @param {ForkContext} forkContext The enclosing fork context. - */ - constructor(upperContext, label, breakContext, forkContext) { - super(upperContext, "DoWhileStatement", label, breakContext); - - /** - * The hardcoded literal boolean test condition for - * the loop. Used to catch infinite or skipped loops. - * @type {boolean|undefined} - */ - this.test = void 0; - - /** - * The segments at the start of the loop body. This is the only loop - * where the test comes at the end, so the first iteration always - * happens and we need a reference to the first statements. - * @type {Array|null} - */ - this.entrySegments = null; - - /** - * The fork context to follow when a `continue` is found. - * @type {ForkContext} - */ - this.continueForkContext = ForkContext.newEmpty(forkContext); - } -} - -/** - * Represents the context for a `for` loop. - */ -class ForLoopContext extends LoopContextBase { - - /** - * Creates a new instance. - * @param {LoopContext|null} upperContext The previous `LoopContext`. - * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`. - * @param {BreakContext} breakContext The context for breaking the loop. - */ - constructor(upperContext, label, breakContext) { - super(upperContext, "ForStatement", label, breakContext); - - /** - * The hardcoded literal boolean test condition for - * the loop. Used to catch infinite or skipped loops. - * @type {boolean|undefined} - */ - this.test = void 0; - - /** - * The end of the init expression. This may change during the lifetime - * of the instance as we traverse the loop because some loops don't have - * an init expression. - * @type {Array|null} - */ - this.endOfInitSegments = null; - - /** - * The start of the test expression. This may change during the lifetime - * of the instance as we traverse the loop because some loops don't have - * a test expression. - * @type {Array|null} - */ - this.testSegments = null; - - /** - * The end of the test expression. This may change during the lifetime - * of the instance as we traverse the loop because some loops don't have - * a test expression. - * @type {Array|null} - */ - this.endOfTestSegments = null; - - /** - * The start of the update expression. This may change during the lifetime - * of the instance as we traverse the loop because some loops don't have - * an update expression. - * @type {Array|null} - */ - this.updateSegments = null; - - /** - * The end of the update expresion. This may change during the lifetime - * of the instance as we traverse the loop because some loops don't have - * an update expression. - * @type {Array|null} - */ - this.endOfUpdateSegments = null; - - /** - * The segments representing the test condition where `continue` will - * jump to. The test condition will typically have just one segment but - * it's possible for there to be more than one. This may change during the - * lifetime of the instance as we traverse the loop because some loops - * don't have an update expression. When there is an update expression, this - * will end up pointing to that expression; otherwise it will end up pointing - * to the test expression. - * @type {Array|null} - */ - this.continueDestSegments = null; - } -} - -/** - * Represents the context for a `for-in` loop. - * - * Terminology: - * - "left" means the part of the loop to the left of the `in` keyword. For - * example, in `for (var x in y)`, the left is `var x`. - * - "right" means the part of the loop to the right of the `in` keyword. For - * example, in `for (var x in y)`, the right is `y`. - */ -class ForInLoopContext extends LoopContextBase { - - /** - * Creates a new instance. - * @param {LoopContext|null} upperContext The previous `LoopContext`. - * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`. - * @param {BreakContext} breakContext The context for breaking the loop. - */ - constructor(upperContext, label, breakContext) { - super(upperContext, "ForInStatement", label, breakContext); - - /** - * The segments that came immediately before the start of the loop. - * This allows you to traverse backwards out of the loop into the - * surrounding code. This is necessary to evaluate the right expression - * correctly, as it must be evaluated in the same way as the left - * expression, but the pointer to these segments would otherwise be - * lost if not stored on the instance. Once the right expression has - * been evaluated, this property is no longer used. - * @type {Array|null} - */ - this.prevSegments = null; - - /** - * Segments representing the start of everything to the left of the - * `in` keyword. This can be used to move forward towards - * `endOfLeftSegments`. `leftSegments` and `endOfLeftSegments` are - * effectively the head and tail of a doubly-linked list. - * @type {Array|null} - */ - this.leftSegments = null; - - /** - * Segments representing the end of everything to the left of the - * `in` keyword. This can be used to move backward towards `leftSegments`. - * `leftSegments` and `endOfLeftSegments` are effectively the head - * and tail of a doubly-linked list. - * @type {Array|null} - */ - this.endOfLeftSegments = null; - - /** - * The segments representing the left expression where `continue` will - * jump to. In `for-in` loops, `continue` must always re-execute the - * left expression each time through the loop. This contains the same - * segments as `leftSegments`, but is duplicated here so each loop - * context has the same property pointing to where `continue` should - * end up. - * @type {Array|null} - */ - this.continueDestSegments = null; - } -} - -/** - * Represents the context for a `for-of` loop. - */ -class ForOfLoopContext extends LoopContextBase { - - /** - * Creates a new instance. - * @param {LoopContext|null} upperContext The previous `LoopContext`. - * @param {string|null} label The label for the loop from an enclosing `LabeledStatement`. - * @param {BreakContext} breakContext The context for breaking the loop. - */ - constructor(upperContext, label, breakContext) { - super(upperContext, "ForOfStatement", label, breakContext); - - /** - * The segments that came immediately before the start of the loop. - * This allows you to traverse backwards out of the loop into the - * surrounding code. This is necessary to evaluate the right expression - * correctly, as it must be evaluated in the same way as the left - * expression, but the pointer to these segments would otherwise be - * lost if not stored on the instance. Once the right expression has - * been evaluated, this property is no longer used. - * @type {Array|null} - */ - this.prevSegments = null; - - /** - * Segments representing the start of everything to the left of the - * `of` keyword. This can be used to move forward towards - * `endOfLeftSegments`. `leftSegments` and `endOfLeftSegments` are - * effectively the head and tail of a doubly-linked list. - * @type {Array|null} - */ - this.leftSegments = null; - - /** - * Segments representing the end of everything to the left of the - * `of` keyword. This can be used to move backward towards `leftSegments`. - * `leftSegments` and `endOfLeftSegments` are effectively the head - * and tail of a doubly-linked list. - * @type {Array|null} - */ - this.endOfLeftSegments = null; - - /** - * The segments representing the left expression where `continue` will - * jump to. In `for-in` loops, `continue` must always re-execute the - * left expression each time through the loop. This contains the same - * segments as `leftSegments`, but is duplicated here so each loop - * context has the same property pointing to where `continue` should - * end up. - * @type {Array|null} - */ - this.continueDestSegments = null; - } -} - -/** - * Represents the context for any loop. - * @typedef {WhileLoopContext|DoWhileLoopContext|ForLoopContext|ForInLoopContext|ForOfLoopContext} LoopContext - */ - -/** - * Represents the context for a `switch` statement. - */ -class SwitchContext { - - /** - * Creates a new instance. - * @param {SwitchContext} upperContext The previous context. - * @param {boolean} hasCase Indicates if there is at least one `case` statement. - * `default` doesn't count. - */ - constructor(upperContext, hasCase) { - - /** - * The previous context. - * @type {SwitchContext} - */ - this.upper = upperContext; - - /** - * Indicates if there is at least one `case` statement. `default` doesn't count. - * @type {boolean} - */ - this.hasCase = hasCase; - - /** - * The `default` keyword. - * @type {Array|null} - */ - this.defaultSegments = null; - - /** - * The default case body starting segments. - * @type {Array|null} - */ - this.defaultBodySegments = null; - - /** - * Indicates if a `default` case and is empty exists. - * @type {boolean} - */ - this.foundEmptyDefault = false; - - /** - * Indicates that a `default` exists and is the last case. - * @type {boolean} - */ - this.lastIsDefault = false; - - /** - * The number of fork contexts created. This is equivalent to the - * number of `case` statements plus a `default` statement (if present). - * @type {number} - */ - this.forkCount = 0; - } -} - -/** - * Represents the context for a `try` statement. - */ -class TryContext { - - /** - * Creates a new instance. - * @param {TryContext} upperContext The previous context. - * @param {boolean} hasFinalizer Indicates if the `try` statement has a - * `finally` block. - * @param {ForkContext} forkContext The enclosing fork context. - */ - constructor(upperContext, hasFinalizer, forkContext) { - - /** - * The previous context. - * @type {TryContext} - */ - this.upper = upperContext; - - /** - * Indicates if the `try` statement has a `finally` block. - * @type {boolean} - */ - this.hasFinalizer = hasFinalizer; - - /** - * Tracks the traversal position inside of the `try` statement. This is - * used to help determine the context necessary to create paths because - * a `try` statement may or may not have `catch` or `finally` blocks, - * and code paths behave differently in those blocks. - * @type {"try"|"catch"|"finally"} - */ - this.position = "try"; - - /** - * If the `try` statement has a `finally` block, this affects how a - * `return` statement behaves in the `try` block. Without `finally`, - * `return` behaves as usual and doesn't require a fork; with `finally`, - * `return` forks into the `finally` block, so we need a fork context - * to track it. - * @type {ForkContext|null} - */ - this.returnedForkContext = hasFinalizer - ? ForkContext.newEmpty(forkContext) - : null; - - /** - * When a `throw` occurs inside of a `try` block, the code path forks - * into the `catch` or `finally` blocks, and this fork context tracks - * that path. - * @type {ForkContext} - */ - this.thrownForkContext = ForkContext.newEmpty(forkContext); - - /** - * Indicates if the last segment in the `try` block is reachable. - * @type {boolean} - */ - this.lastOfTryIsReachable = false; - - /** - * Indicates if the last segment in the `catch` block is reachable. - * @type {boolean} - */ - this.lastOfCatchIsReachable = false; - } -} - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Adds given segments into the `dest` array. - * If the `others` array does not include the given segments, adds to the `all` - * array as well. - * - * This adds only reachable and used segments. - * @param {CodePathSegment[]} dest A destination array (`returnedSegments` or `thrownSegments`). - * @param {CodePathSegment[]} others Another destination array (`returnedSegments` or `thrownSegments`). - * @param {CodePathSegment[]} all The unified destination array (`finalSegments`). - * @param {CodePathSegment[]} segments Segments to add. - * @returns {void} - */ -function addToReturnedOrThrown(dest, others, all, segments) { - for (let i = 0; i < segments.length; ++i) { - const segment = segments[i]; - - dest.push(segment); - if (!others.includes(segment)) { - all.push(segment); - } - } -} - -/** - * Gets a loop context for a `continue` statement based on a given label. - * @param {CodePathState} state The state to search within. - * @param {string|null} label The label of a `continue` statement. - * @returns {LoopContext} A loop-context for a `continue` statement. - */ -function getContinueContext(state, label) { - if (!label) { - return state.loopContext; - } - - let context = state.loopContext; - - while (context) { - if (context.label === label) { - return context; - } - context = context.upper; - } - - /* c8 ignore next */ - return null; -} - -/** - * Gets a context for a `break` statement. - * @param {CodePathState} state The state to search within. - * @param {string|null} label The label of a `break` statement. - * @returns {BreakContext} A context for a `break` statement. - */ -function getBreakContext(state, label) { - let context = state.breakContext; - - while (context) { - if (label ? context.label === label : context.breakable) { - return context; - } - context = context.upper; - } - - /* c8 ignore next */ - return null; -} - -/** - * Gets a context for a `return` statement. There is just one special case: - * if there is a `try` statement with a `finally` block, because that alters - * how `return` behaves; otherwise, this just passes through the given state. - * @param {CodePathState} state The state to search within - * @returns {TryContext|CodePathState} A context for a `return` statement. - */ -function getReturnContext(state) { - let context = state.tryContext; - - while (context) { - if (context.hasFinalizer && context.position !== "finally") { - return context; - } - context = context.upper; - } - - return state; -} - -/** - * Gets a context for a `throw` statement. There is just one special case: - * if there is a `try` statement with a `finally` block and we are inside of - * a `catch` because that changes how `throw` behaves; otherwise, this just - * passes through the given state. - * @param {CodePathState} state The state to search within. - * @returns {TryContext|CodePathState} A context for a `throw` statement. - */ -function getThrowContext(state) { - let context = state.tryContext; - - while (context) { - if (context.position === "try" || - (context.hasFinalizer && context.position === "catch") - ) { - return context; - } - context = context.upper; - } - - return state; -} - -/** - * Removes a given value from a given array. - * @param {any[]} elements An array to remove the specific element. - * @param {any} value The value to be removed. - * @returns {void} - */ -function removeFromArray(elements, value) { - elements.splice(elements.indexOf(value), 1); -} - -/** - * Disconnect given segments. - * - * This is used in a process for switch statements. - * If there is the "default" chunk before other cases, the order is different - * between node's and running's. - * @param {CodePathSegment[]} prevSegments Forward segments to disconnect. - * @param {CodePathSegment[]} nextSegments Backward segments to disconnect. - * @returns {void} - */ -function disconnectSegments(prevSegments, nextSegments) { - for (let i = 0; i < prevSegments.length; ++i) { - const prevSegment = prevSegments[i]; - const nextSegment = nextSegments[i]; - - removeFromArray(prevSegment.nextSegments, nextSegment); - removeFromArray(prevSegment.allNextSegments, nextSegment); - removeFromArray(nextSegment.prevSegments, prevSegment); - removeFromArray(nextSegment.allPrevSegments, prevSegment); - } -} - -/** - * Creates looping path between two arrays of segments, ensuring that there are - * paths going between matching segments in the arrays. - * @param {CodePathState} state The state to operate on. - * @param {CodePathSegment[]} unflattenedFromSegments Segments which are source. - * @param {CodePathSegment[]} unflattenedToSegments Segments which are destination. - * @returns {void} - */ -function makeLooped(state, unflattenedFromSegments, unflattenedToSegments) { - - const fromSegments = CodePathSegment.flattenUnusedSegments(unflattenedFromSegments); - const toSegments = CodePathSegment.flattenUnusedSegments(unflattenedToSegments); - const end = Math.min(fromSegments.length, toSegments.length); - - /* - * This loop effectively updates a doubly-linked list between two collections - * of segments making sure that segments in the same array indices are - * combined to create a path. - */ - for (let i = 0; i < end; ++i) { - - // get the segments in matching array indices - const fromSegment = fromSegments[i]; - const toSegment = toSegments[i]; - - /* - * If the destination segment is reachable, then create a path from the - * source segment to the destination segment. - */ - if (toSegment.reachable) { - fromSegment.nextSegments.push(toSegment); - } - - /* - * If the source segment is reachable, then create a path from the - * destination segment back to the source segment. - */ - if (fromSegment.reachable) { - toSegment.prevSegments.push(fromSegment); - } - - /* - * Also update the arrays that don't care if the segments are reachable - * or not. This should always happen regardless of anything else. - */ - fromSegment.allNextSegments.push(toSegment); - toSegment.allPrevSegments.push(fromSegment); - - /* - * If the destination segment has at least two previous segments in its - * path then that means there was one previous segment before this iteration - * of the loop was executed. So, we need to mark the source segment as - * looped. - */ - if (toSegment.allPrevSegments.length >= 2) { - CodePathSegment.markPrevSegmentAsLooped(toSegment, fromSegment); - } - - // let the code path analyzer know that there's been a loop created - state.notifyLooped(fromSegment, toSegment); - } -} - -/** - * Finalizes segments of `test` chunk of a ForStatement. - * - * - Adds `false` paths to paths which are leaving from the loop. - * - Sets `true` paths to paths which go to the body. - * @param {LoopContext} context A loop context to modify. - * @param {ChoiceContext} choiceContext A choice context of this loop. - * @param {CodePathSegment[]} head The current head paths. - * @returns {void} - */ -function finalizeTestSegmentsOfFor(context, choiceContext, head) { - - /* - * If this choice context doesn't already contain paths from a - * child context, then add the current head to each potential path. - */ - if (!choiceContext.processed) { - choiceContext.trueForkContext.add(head); - choiceContext.falseForkContext.add(head); - choiceContext.nullishForkContext.add(head); - } - - /* - * If the test condition isn't a hardcoded truthy value, then `break` - * must follow the same path as if the test condition is false. To represent - * that, we append the path for when the loop test is false (represented by - * `falseForkContext`) to the `brokenForkContext`. - */ - if (context.test !== true) { - context.brokenForkContext.addAll(choiceContext.falseForkContext); - } - - context.endOfTestSegments = choiceContext.trueForkContext.makeNext(0, -1); -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * A class which manages state to analyze code paths. - */ -class CodePathState { - - /** - * Creates a new instance. - * @param {IdGenerator} idGenerator An id generator to generate id for code - * path segments. - * @param {Function} onLooped A callback function to notify looping. - */ - constructor(idGenerator, onLooped) { - - /** - * The ID generator to use when creating new segments. - * @type {IdGenerator} - */ - this.idGenerator = idGenerator; - - /** - * A callback function to call when there is a loop. - * @type {Function} - */ - this.notifyLooped = onLooped; - - /** - * The root fork context for this state. - * @type {ForkContext} - */ - this.forkContext = ForkContext.newRoot(idGenerator); - - /** - * Context for logical expressions, conditional expressions, `if` statements, - * and loops. - * @type {ChoiceContext} - */ - this.choiceContext = null; - - /** - * Context for `switch` statements. - * @type {SwitchContext} - */ - this.switchContext = null; - - /** - * Context for `try` statements. - * @type {TryContext} - */ - this.tryContext = null; - - /** - * Context for loop statements. - * @type {LoopContext} - */ - this.loopContext = null; - - /** - * Context for `break` statements. - * @type {BreakContext} - */ - this.breakContext = null; - - /** - * Context for `ChainExpression` nodes. - * @type {ChainContext} - */ - this.chainContext = null; - - /** - * An array that tracks the current segments in the state. The array - * starts empty and segments are added with each `onCodePathSegmentStart` - * event and removed with each `onCodePathSegmentEnd` event. Effectively, - * this is tracking the code path segment traversal as the state is - * modified. - * @type {Array} - */ - this.currentSegments = []; - - /** - * Tracks the starting segment for this path. This value never changes. - * @type {CodePathSegment} - */ - this.initialSegment = this.forkContext.head[0]; - - /** - * The final segments of the code path which are either `return` or `throw`. - * This is a union of the segments in `returnedForkContext` and `thrownForkContext`. - * @type {Array} - */ - this.finalSegments = []; - - /** - * The final segments of the code path which are `return`. These - * segments are also contained in `finalSegments`. - * @type {Array} - */ - this.returnedForkContext = []; - - /** - * The final segments of the code path which are `throw`. These - * segments are also contained in `finalSegments`. - * @type {Array} - */ - this.thrownForkContext = []; - - /* - * We add an `add` method so that these look more like fork contexts and - * can be used interchangeably when a fork context is needed to add more - * segments to a path. - * - * Ultimately, we want anything added to `returned` or `thrown` to also - * be added to `final`. We only add reachable and used segments to these - * arrays. - */ - const final = this.finalSegments; - const returned = this.returnedForkContext; - const thrown = this.thrownForkContext; - - returned.add = addToReturnedOrThrown.bind(null, returned, thrown, final); - thrown.add = addToReturnedOrThrown.bind(null, thrown, returned, final); - } - - /** - * A passthrough property exposing the current pointer as part of the API. - * @type {CodePathSegment[]} - */ - get headSegments() { - return this.forkContext.head; - } - - /** - * The parent forking context. - * This is used for the root of new forks. - * @type {ForkContext} - */ - get parentForkContext() { - const current = this.forkContext; - - return current && current.upper; - } - - /** - * Creates and stacks new forking context. - * @param {boolean} forkLeavingPath A flag which shows being in a - * "finally" block. - * @returns {ForkContext} The created context. - */ - pushForkContext(forkLeavingPath) { - this.forkContext = ForkContext.newEmpty( - this.forkContext, - forkLeavingPath - ); - - return this.forkContext; - } - - /** - * Pops and merges the last forking context. - * @returns {ForkContext} The last context. - */ - popForkContext() { - const lastContext = this.forkContext; - - this.forkContext = lastContext.upper; - this.forkContext.replaceHead(lastContext.makeNext(0, -1)); - - return lastContext; - } - - /** - * Creates a new path. - * @returns {void} - */ - forkPath() { - this.forkContext.add(this.parentForkContext.makeNext(-1, -1)); - } - - /** - * Creates a bypass path. - * This is used for such as IfStatement which does not have "else" chunk. - * @returns {void} - */ - forkBypassPath() { - this.forkContext.add(this.parentForkContext.head); - } - - //-------------------------------------------------------------------------- - // ConditionalExpression, LogicalExpression, IfStatement - //-------------------------------------------------------------------------- - - /** - * Creates a context for ConditionalExpression, LogicalExpression, AssignmentExpression (logical assignments only), - * IfStatement, WhileStatement, DoWhileStatement, or ForStatement. - * - * LogicalExpressions have cases that it goes different paths between the - * `true` case and the `false` case. - * - * For Example: - * - * if (a || b) { - * foo(); - * } else { - * bar(); - * } - * - * In this case, `b` is evaluated always in the code path of the `else` - * block, but it's not so in the code path of the `if` block. - * So there are 3 paths. - * - * a -> foo(); - * a -> b -> foo(); - * a -> b -> bar(); - * @param {string} kind A kind string. - * If the new context is LogicalExpression's or AssignmentExpression's, this is `"&&"` or `"||"` or `"??"`. - * If it's IfStatement's or ConditionalExpression's, this is `"test"`. - * Otherwise, this is `"loop"`. - * @param {boolean} isForkingAsResult Indicates if the result of the choice - * creates a fork. - * @returns {void} - */ - pushChoiceContext(kind, isForkingAsResult) { - this.choiceContext = new ChoiceContext(this.choiceContext, kind, isForkingAsResult, this.forkContext); - } - - /** - * Pops the last choice context and finalizes it. - * This is called upon leaving a node that represents a choice. - * @throws {Error} (Unreachable.) - * @returns {ChoiceContext} The popped context. - */ - popChoiceContext() { - const poppedChoiceContext = this.choiceContext; - const forkContext = this.forkContext; - const head = forkContext.head; - - this.choiceContext = poppedChoiceContext.upper; - - switch (poppedChoiceContext.kind) { - case "&&": - case "||": - case "??": - - /* - * The `head` are the path of the right-hand operand. - * If we haven't previously added segments from child contexts, - * then we add these segments to all possible forks. - */ - if (!poppedChoiceContext.processed) { - poppedChoiceContext.trueForkContext.add(head); - poppedChoiceContext.falseForkContext.add(head); - poppedChoiceContext.nullishForkContext.add(head); - } - - /* - * If this context is the left (test) expression for another choice - * context, such as `a || b` in the expression `a || b || c`, - * then we take the segments for this context and move them up - * to the parent context. - */ - if (poppedChoiceContext.isForkingAsResult) { - const parentContext = this.choiceContext; - - parentContext.trueForkContext.addAll(poppedChoiceContext.trueForkContext); - parentContext.falseForkContext.addAll(poppedChoiceContext.falseForkContext); - parentContext.nullishForkContext.addAll(poppedChoiceContext.nullishForkContext); - parentContext.processed = true; - - // Exit early so we don't collapse all paths into one. - return poppedChoiceContext; - } - - break; - - case "test": - if (!poppedChoiceContext.processed) { - - /* - * The head segments are the path of the `if` block here. - * Updates the `true` path with the end of the `if` block. - */ - poppedChoiceContext.trueForkContext.clear(); - poppedChoiceContext.trueForkContext.add(head); - } else { - - /* - * The head segments are the path of the `else` block here. - * Updates the `false` path with the end of the `else` - * block. - */ - poppedChoiceContext.falseForkContext.clear(); - poppedChoiceContext.falseForkContext.add(head); - } - - break; - - case "loop": - - /* - * Loops are addressed in `popLoopContext()` so just return - * the context without modification. - */ - return poppedChoiceContext; - - /* c8 ignore next */ - default: - throw new Error("unreachable"); - } - - /* - * Merge the true path with the false path to create a single path. - */ - const combinedForkContext = poppedChoiceContext.trueForkContext; - - combinedForkContext.addAll(poppedChoiceContext.falseForkContext); - forkContext.replaceHead(combinedForkContext.makeNext(0, -1)); - - return poppedChoiceContext; - } - - /** - * Creates a code path segment to represent right-hand operand of a logical - * expression. - * This is called in the preprocessing phase when entering a node. - * @throws {Error} (Unreachable.) - * @returns {void} - */ - makeLogicalRight() { - const currentChoiceContext = this.choiceContext; - const forkContext = this.forkContext; - - if (currentChoiceContext.processed) { - - /* - * This context was already assigned segments from a child - * choice context. In this case, we are concerned only about - * the path that does not short-circuit and so ends up on the - * right-hand operand of the logical expression. - */ - let prevForkContext; - - switch (currentChoiceContext.kind) { - case "&&": // if true then go to the right-hand side. - prevForkContext = currentChoiceContext.trueForkContext; - break; - case "||": // if false then go to the right-hand side. - prevForkContext = currentChoiceContext.falseForkContext; - break; - case "??": // Both true/false can short-circuit, so needs the third path to go to the right-hand side. That's nullishForkContext. - prevForkContext = currentChoiceContext.nullishForkContext; - break; - default: - throw new Error("unreachable"); - } - - /* - * Create the segment for the right-hand operand of the logical expression - * and adjust the fork context pointer to point there. The right-hand segment - * is added at the end of all segments in `prevForkContext`. - */ - forkContext.replaceHead(prevForkContext.makeNext(0, -1)); - - /* - * We no longer need this list of segments. - * - * Reset `processed` because we've removed the segments from the child - * choice context. This allows `popChoiceContext()` to continue adding - * segments later. - */ - prevForkContext.clear(); - currentChoiceContext.processed = false; - - } else { - - /* - * This choice context was not assigned segments from a child - * choice context, which means that it's a terminal logical - * expression. - * - * `head` is the segments for the left-hand operand of the - * logical expression. - * - * Each of the fork contexts below are empty at this point. We choose - * the path(s) that will short-circuit and add the segment for the - * left-hand operand to it. Ultimately, this will be the only segment - * in that path due to the short-circuting, so we are just seeding - * these paths to start. - */ - switch (currentChoiceContext.kind) { - case "&&": - - /* - * In most contexts, when a && expression evaluates to false, - * it short circuits, so we need to account for that by setting - * the `falseForkContext` to the left operand. - * - * When a && expression is the left-hand operand for a ?? - * expression, such as `(a && b) ?? c`, a nullish value will - * also short-circuit in a different way than a false value, - * so we also set the `nullishForkContext` to the left operand. - * This path is only used with a ?? expression and is thrown - * away for any other type of logical expression, so it's safe - * to always add. - */ - currentChoiceContext.falseForkContext.add(forkContext.head); - currentChoiceContext.nullishForkContext.add(forkContext.head); - break; - case "||": // the true path can short-circuit. - currentChoiceContext.trueForkContext.add(forkContext.head); - break; - case "??": // both can short-circuit. - currentChoiceContext.trueForkContext.add(forkContext.head); - currentChoiceContext.falseForkContext.add(forkContext.head); - break; - default: - throw new Error("unreachable"); - } - - /* - * Create the segment for the right-hand operand of the logical expression - * and adjust the fork context pointer to point there. - */ - forkContext.replaceHead(forkContext.makeNext(-1, -1)); - } - } - - /** - * Makes a code path segment of the `if` block. - * @returns {void} - */ - makeIfConsequent() { - const context = this.choiceContext; - const forkContext = this.forkContext; - - /* - * If any result were not transferred from child contexts, - * this sets the head segments to both cases. - * The head segments are the path of the test expression. - */ - if (!context.processed) { - context.trueForkContext.add(forkContext.head); - context.falseForkContext.add(forkContext.head); - context.nullishForkContext.add(forkContext.head); - } - - context.processed = false; - - // Creates new path from the `true` case. - forkContext.replaceHead( - context.trueForkContext.makeNext(0, -1) - ); - } - - /** - * Makes a code path segment of the `else` block. - * @returns {void} - */ - makeIfAlternate() { - const context = this.choiceContext; - const forkContext = this.forkContext; - - /* - * The head segments are the path of the `if` block. - * Updates the `true` path with the end of the `if` block. - */ - context.trueForkContext.clear(); - context.trueForkContext.add(forkContext.head); - context.processed = true; - - // Creates new path from the `false` case. - forkContext.replaceHead( - context.falseForkContext.makeNext(0, -1) - ); - } - - //-------------------------------------------------------------------------- - // ChainExpression - //-------------------------------------------------------------------------- - - /** - * Pushes a new `ChainExpression` context to the stack. This method is - * called when entering a `ChainExpression` node. A chain context is used to - * count forking in the optional chain then merge them on the exiting from the - * `ChainExpression` node. - * @returns {void} - */ - pushChainContext() { - this.chainContext = new ChainContext(this.chainContext); - } - - /** - * Pop a `ChainExpression` context from the stack. This method is called on - * exiting from each `ChainExpression` node. This merges all forks of the - * last optional chaining. - * @returns {void} - */ - popChainContext() { - const context = this.chainContext; - - this.chainContext = context.upper; - - // pop all choice contexts of this. - for (let i = context.choiceContextCount; i > 0; --i) { - this.popChoiceContext(); - } - } - - /** - * Create a choice context for optional access. - * This method is called on entering to each `(Call|Member)Expression[optional=true]` node. - * This creates a choice context as similar to `LogicalExpression[operator="??"]` node. - * @returns {void} - */ - makeOptionalNode() { - if (this.chainContext) { - this.chainContext.choiceContextCount += 1; - this.pushChoiceContext("??", false); - } - } - - /** - * Create a fork. - * This method is called on entering to the `arguments|property` property of each `(Call|Member)Expression` node. - * @returns {void} - */ - makeOptionalRight() { - if (this.chainContext) { - this.makeLogicalRight(); - } - } - - //-------------------------------------------------------------------------- - // SwitchStatement - //-------------------------------------------------------------------------- - - /** - * Creates a context object of SwitchStatement and stacks it. - * @param {boolean} hasCase `true` if the switch statement has one or more - * case parts. - * @param {string|null} label The label text. - * @returns {void} - */ - pushSwitchContext(hasCase, label) { - this.switchContext = new SwitchContext(this.switchContext, hasCase); - this.pushBreakContext(true, label); - } - - /** - * Pops the last context of SwitchStatement and finalizes it. - * - * - Disposes all forking stack for `case` and `default`. - * - Creates the next code path segment from `context.brokenForkContext`. - * - If the last `SwitchCase` node is not a `default` part, creates a path - * to the `default` body. - * @returns {void} - */ - popSwitchContext() { - const context = this.switchContext; - - this.switchContext = context.upper; - - const forkContext = this.forkContext; - const brokenForkContext = this.popBreakContext().brokenForkContext; - - if (context.forkCount === 0) { - - /* - * When there is only one `default` chunk and there is one or more - * `break` statements, even if forks are nothing, it needs to merge - * those. - */ - if (!brokenForkContext.empty) { - brokenForkContext.add(forkContext.makeNext(-1, -1)); - forkContext.replaceHead(brokenForkContext.makeNext(0, -1)); - } - - return; - } - - const lastSegments = forkContext.head; - - this.forkBypassPath(); - const lastCaseSegments = forkContext.head; - - /* - * `brokenForkContext` is used to make the next segment. - * It must add the last segment into `brokenForkContext`. - */ - brokenForkContext.add(lastSegments); - - /* - * Any value that doesn't match a `case` test should flow to the default - * case. That happens normally when the default case is last in the `switch`, - * but if it's not, we need to rewire some of the paths to be correct. - */ - if (!context.lastIsDefault) { - if (context.defaultBodySegments) { - - /* - * There is a non-empty default case, so remove the path from the `default` - * label to its body for an accurate representation. - */ - disconnectSegments(context.defaultSegments, context.defaultBodySegments); - - /* - * Connect the path from the last non-default case to the body of the - * default case. - */ - makeLooped(this, lastCaseSegments, context.defaultBodySegments); - - } else { - - /* - * There is no default case, so we treat this as if the last case - * had a `break` in it. - */ - brokenForkContext.add(lastCaseSegments); - } - } - - // Traverse up to the original fork context for the `switch` statement - for (let i = 0; i < context.forkCount; ++i) { - this.forkContext = this.forkContext.upper; - } - - /* - * Creates a path from all `brokenForkContext` paths. - * This is a path after `switch` statement. - */ - this.forkContext.replaceHead(brokenForkContext.makeNext(0, -1)); - } - - /** - * Makes a code path segment for a `SwitchCase` node. - * @param {boolean} isCaseBodyEmpty `true` if the body is empty. - * @param {boolean} isDefaultCase `true` if the body is the default case. - * @returns {void} - */ - makeSwitchCaseBody(isCaseBodyEmpty, isDefaultCase) { - const context = this.switchContext; - - if (!context.hasCase) { - return; - } - - /* - * Merge forks. - * The parent fork context has two segments. - * Those are from the current `case` and the body of the previous case. - */ - const parentForkContext = this.forkContext; - const forkContext = this.pushForkContext(); - - forkContext.add(parentForkContext.makeNext(0, -1)); - - /* - * Add information about the default case. - * - * The purpose of this is to identify the starting segments for the - * default case to make sure there is a path there. - */ - if (isDefaultCase) { - - /* - * This is the default case in the `switch`. - * - * We first save the current pointer as `defaultSegments` to point - * to the `default` keyword. - */ - context.defaultSegments = parentForkContext.head; - - /* - * If the body of the case is empty then we just set - * `foundEmptyDefault` to true; otherwise, we save a reference - * to the current pointer as `defaultBodySegments`. - */ - if (isCaseBodyEmpty) { - context.foundEmptyDefault = true; - } else { - context.defaultBodySegments = forkContext.head; - } - - } else { - - /* - * This is not the default case in the `switch`. - * - * If it's not empty and there is already an empty default case found, - * that means the default case actually comes before this case, - * and that it will fall through to this case. So, we can now - * ignore the previous default case (reset `foundEmptyDefault` to false) - * and set `defaultBodySegments` to the current segments because this is - * effectively the new default case. - */ - if (!isCaseBodyEmpty && context.foundEmptyDefault) { - context.foundEmptyDefault = false; - context.defaultBodySegments = forkContext.head; - } - } - - // keep track if the default case ends up last - context.lastIsDefault = isDefaultCase; - context.forkCount += 1; - } - - //-------------------------------------------------------------------------- - // TryStatement - //-------------------------------------------------------------------------- - - /** - * Creates a context object of TryStatement and stacks it. - * @param {boolean} hasFinalizer `true` if the try statement has a - * `finally` block. - * @returns {void} - */ - pushTryContext(hasFinalizer) { - this.tryContext = new TryContext(this.tryContext, hasFinalizer, this.forkContext); - } - - /** - * Pops the last context of TryStatement and finalizes it. - * @returns {void} - */ - popTryContext() { - const context = this.tryContext; - - this.tryContext = context.upper; - - /* - * If we're inside the `catch` block, that means there is no `finally`, - * so we can process the `try` and `catch` blocks the simple way and - * merge their two paths. - */ - if (context.position === "catch") { - this.popForkContext(); - return; - } - - /* - * The following process is executed only when there is a `finally` - * block. - */ - - const originalReturnedForkContext = context.returnedForkContext; - const originalThrownForkContext = context.thrownForkContext; - - // no `return` or `throw` in `try` or `catch` so there's nothing left to do - if (originalReturnedForkContext.empty && originalThrownForkContext.empty) { - return; - } - - /* - * The following process is executed only when there is a `finally` - * block and there was a `return` or `throw` in the `try` or `catch` - * blocks. - */ - - // Separate head to normal paths and leaving paths. - const headSegments = this.forkContext.head; - - this.forkContext = this.forkContext.upper; - const normalSegments = headSegments.slice(0, headSegments.length / 2 | 0); - const leavingSegments = headSegments.slice(headSegments.length / 2 | 0); - - // Forwards the leaving path to upper contexts. - if (!originalReturnedForkContext.empty) { - getReturnContext(this).returnedForkContext.add(leavingSegments); - } - if (!originalThrownForkContext.empty) { - getThrowContext(this).thrownForkContext.add(leavingSegments); - } - - // Sets the normal path as the next. - this.forkContext.replaceHead(normalSegments); - - /* - * If both paths of the `try` block and the `catch` block are - * unreachable, the next path becomes unreachable as well. - */ - if (!context.lastOfTryIsReachable && !context.lastOfCatchIsReachable) { - this.forkContext.makeUnreachable(); - } - } - - /** - * Makes a code path segment for a `catch` block. - * @returns {void} - */ - makeCatchBlock() { - const context = this.tryContext; - const forkContext = this.forkContext; - const originalThrownForkContext = context.thrownForkContext; - - /* - * We are now in a catch block so we need to update the context - * with that information. This includes creating a new fork - * context in case we encounter any `throw` statements here. - */ - context.position = "catch"; - context.thrownForkContext = ForkContext.newEmpty(forkContext); - context.lastOfTryIsReachable = forkContext.reachable; - - // Merge the thrown paths from the `try` and `catch` blocks - originalThrownForkContext.add(forkContext.head); - const thrownSegments = originalThrownForkContext.makeNext(0, -1); - - // Fork to a bypass and the merged thrown path. - this.pushForkContext(); - this.forkBypassPath(); - this.forkContext.add(thrownSegments); - } - - /** - * Makes a code path segment for a `finally` block. - * - * In the `finally` block, parallel paths are created. The parallel paths - * are used as leaving-paths. The leaving-paths are paths from `return` - * statements and `throw` statements in a `try` block or a `catch` block. - * @returns {void} - */ - makeFinallyBlock() { - const context = this.tryContext; - let forkContext = this.forkContext; - const originalReturnedForkContext = context.returnedForkContext; - const originalThrownForContext = context.thrownForkContext; - const headOfLeavingSegments = forkContext.head; - - // Update state. - if (context.position === "catch") { - - // Merges two paths from the `try` block and `catch` block. - this.popForkContext(); - forkContext = this.forkContext; - - context.lastOfCatchIsReachable = forkContext.reachable; - } else { - context.lastOfTryIsReachable = forkContext.reachable; - } - - - context.position = "finally"; - - /* - * If there was no `return` or `throw` in either the `try` or `catch` - * blocks, then there's no further code paths to create for `finally`. - */ - if (originalReturnedForkContext.empty && originalThrownForContext.empty) { - - // This path does not leave. - return; - } - - /* - * Create a parallel segment from merging returned and thrown. - * This segment will leave at the end of this `finally` block. - */ - const segments = forkContext.makeNext(-1, -1); - - for (let i = 0; i < forkContext.count; ++i) { - const prevSegsOfLeavingSegment = [headOfLeavingSegments[i]]; - - for (let j = 0; j < originalReturnedForkContext.segmentsList.length; ++j) { - prevSegsOfLeavingSegment.push(originalReturnedForkContext.segmentsList[j][i]); - } - for (let j = 0; j < originalThrownForContext.segmentsList.length; ++j) { - prevSegsOfLeavingSegment.push(originalThrownForContext.segmentsList[j][i]); - } - - segments.push( - CodePathSegment.newNext( - this.idGenerator.next(), - prevSegsOfLeavingSegment - ) - ); - } - - this.pushForkContext(true); - this.forkContext.add(segments); - } - - /** - * Makes a code path segment from the first throwable node to the `catch` - * block or the `finally` block. - * @returns {void} - */ - makeFirstThrowablePathInTryBlock() { - const forkContext = this.forkContext; - - if (!forkContext.reachable) { - return; - } - - const context = getThrowContext(this); - - if (context === this || - context.position !== "try" || - !context.thrownForkContext.empty - ) { - return; - } - - context.thrownForkContext.add(forkContext.head); - forkContext.replaceHead(forkContext.makeNext(-1, -1)); - } - - //-------------------------------------------------------------------------- - // Loop Statements - //-------------------------------------------------------------------------- - - /** - * Creates a context object of a loop statement and stacks it. - * @param {string} type The type of the node which was triggered. One of - * `WhileStatement`, `DoWhileStatement`, `ForStatement`, `ForInStatement`, - * and `ForStatement`. - * @param {string|null} label A label of the node which was triggered. - * @throws {Error} (Unreachable - unknown type.) - * @returns {void} - */ - pushLoopContext(type, label) { - const forkContext = this.forkContext; - - // All loops need a path to account for `break` statements - const breakContext = this.pushBreakContext(true, label); - - switch (type) { - case "WhileStatement": - this.pushChoiceContext("loop", false); - this.loopContext = new WhileLoopContext(this.loopContext, label, breakContext); - break; - - case "DoWhileStatement": - this.pushChoiceContext("loop", false); - this.loopContext = new DoWhileLoopContext(this.loopContext, label, breakContext, forkContext); - break; - - case "ForStatement": - this.pushChoiceContext("loop", false); - this.loopContext = new ForLoopContext(this.loopContext, label, breakContext); - break; - - case "ForInStatement": - this.loopContext = new ForInLoopContext(this.loopContext, label, breakContext); - break; - - case "ForOfStatement": - this.loopContext = new ForOfLoopContext(this.loopContext, label, breakContext); - break; - - /* c8 ignore next */ - default: - throw new Error(`unknown type: "${type}"`); - } - } - - /** - * Pops the last context of a loop statement and finalizes it. - * @throws {Error} (Unreachable - unknown type.) - * @returns {void} - */ - popLoopContext() { - const context = this.loopContext; - - this.loopContext = context.upper; - - const forkContext = this.forkContext; - const brokenForkContext = this.popBreakContext().brokenForkContext; - - // Creates a looped path. - switch (context.type) { - case "WhileStatement": - case "ForStatement": - this.popChoiceContext(); - - /* - * Creates the path from the end of the loop body up to the - * location where `continue` would jump to. - */ - makeLooped( - this, - forkContext.head, - context.continueDestSegments - ); - break; - - case "DoWhileStatement": { - const choiceContext = this.popChoiceContext(); - - if (!choiceContext.processed) { - choiceContext.trueForkContext.add(forkContext.head); - choiceContext.falseForkContext.add(forkContext.head); - } - - /* - * If this isn't a hardcoded `true` condition, then `break` - * should continue down the path as if the condition evaluated - * to false. - */ - if (context.test !== true) { - brokenForkContext.addAll(choiceContext.falseForkContext); - } - - /* - * When the condition is true, the loop continues back to the top, - * so create a path from each possible true condition back to the - * top of the loop. - */ - const segmentsList = choiceContext.trueForkContext.segmentsList; - - for (let i = 0; i < segmentsList.length; ++i) { - makeLooped( - this, - segmentsList[i], - context.entrySegments - ); - } - break; - } - - case "ForInStatement": - case "ForOfStatement": - brokenForkContext.add(forkContext.head); - - /* - * Creates the path from the end of the loop body up to the - * left expression (left of `in` or `of`) of the loop. - */ - makeLooped( - this, - forkContext.head, - context.leftSegments - ); - break; - - /* c8 ignore next */ - default: - throw new Error("unreachable"); - } - - /* - * If there wasn't a `break` statement in the loop, then we're at - * the end of the loop's path, so we make an unreachable segment - * to mark that. - * - * If there was a `break` statement, then we continue on into the - * `brokenForkContext`. - */ - if (brokenForkContext.empty) { - forkContext.replaceHead(forkContext.makeUnreachable(-1, -1)); - } else { - forkContext.replaceHead(brokenForkContext.makeNext(0, -1)); - } - } - - /** - * Makes a code path segment for the test part of a WhileStatement. - * @param {boolean|undefined} test The test value (only when constant). - * @returns {void} - */ - makeWhileTest(test) { - const context = this.loopContext; - const forkContext = this.forkContext; - const testSegments = forkContext.makeNext(0, -1); - - // Update state. - context.test = test; - context.continueDestSegments = testSegments; - forkContext.replaceHead(testSegments); - } - - /** - * Makes a code path segment for the body part of a WhileStatement. - * @returns {void} - */ - makeWhileBody() { - const context = this.loopContext; - const choiceContext = this.choiceContext; - const forkContext = this.forkContext; - - if (!choiceContext.processed) { - choiceContext.trueForkContext.add(forkContext.head); - choiceContext.falseForkContext.add(forkContext.head); - } - - /* - * If this isn't a hardcoded `true` condition, then `break` - * should continue down the path as if the condition evaluated - * to false. - */ - if (context.test !== true) { - context.brokenForkContext.addAll(choiceContext.falseForkContext); - } - forkContext.replaceHead(choiceContext.trueForkContext.makeNext(0, -1)); - } - - /** - * Makes a code path segment for the body part of a DoWhileStatement. - * @returns {void} - */ - makeDoWhileBody() { - const context = this.loopContext; - const forkContext = this.forkContext; - const bodySegments = forkContext.makeNext(-1, -1); - - // Update state. - context.entrySegments = bodySegments; - forkContext.replaceHead(bodySegments); - } - - /** - * Makes a code path segment for the test part of a DoWhileStatement. - * @param {boolean|undefined} test The test value (only when constant). - * @returns {void} - */ - makeDoWhileTest(test) { - const context = this.loopContext; - const forkContext = this.forkContext; - - context.test = test; - - /* - * If there is a `continue` statement in the loop then `continueForkContext` - * won't be empty. We wire up the path from `continue` to the loop - * test condition and then continue the traversal in the root fork context. - */ - if (!context.continueForkContext.empty) { - context.continueForkContext.add(forkContext.head); - const testSegments = context.continueForkContext.makeNext(0, -1); - - forkContext.replaceHead(testSegments); - } - } - - /** - * Makes a code path segment for the test part of a ForStatement. - * @param {boolean|undefined} test The test value (only when constant). - * @returns {void} - */ - makeForTest(test) { - const context = this.loopContext; - const forkContext = this.forkContext; - const endOfInitSegments = forkContext.head; - const testSegments = forkContext.makeNext(-1, -1); - - /* - * Update the state. - * - * The `continueDestSegments` are set to `testSegments` because we - * don't yet know if there is an update expression in this loop. So, - * from what we already know at this point, a `continue` statement - * will jump back to the test expression. - */ - context.test = test; - context.endOfInitSegments = endOfInitSegments; - context.continueDestSegments = context.testSegments = testSegments; - forkContext.replaceHead(testSegments); - } - - /** - * Makes a code path segment for the update part of a ForStatement. - * @returns {void} - */ - makeForUpdate() { - const context = this.loopContext; - const choiceContext = this.choiceContext; - const forkContext = this.forkContext; - - // Make the next paths of the test. - if (context.testSegments) { - finalizeTestSegmentsOfFor( - context, - choiceContext, - forkContext.head - ); - } else { - context.endOfInitSegments = forkContext.head; - } - - /* - * Update the state. - * - * The `continueDestSegments` are now set to `updateSegments` because we - * know there is an update expression in this loop. So, a `continue` statement - * in the loop will jump to the update expression first, and then to any - * test expression the loop might have. - */ - const updateSegments = forkContext.makeDisconnected(-1, -1); - - context.continueDestSegments = context.updateSegments = updateSegments; - forkContext.replaceHead(updateSegments); - } - - /** - * Makes a code path segment for the body part of a ForStatement. - * @returns {void} - */ - makeForBody() { - const context = this.loopContext; - const choiceContext = this.choiceContext; - const forkContext = this.forkContext; - - /* - * Determine what to do based on which part of the `for` loop are present. - * 1. If there is an update expression, then `updateSegments` is not null and - * we need to assign `endOfUpdateSegments`, and if there is a test - * expression, we then need to create the looped path to get back to - * the test condition. - * 2. If there is no update expression but there is a test expression, - * then we only need to update the test segment information. - * 3. If there is no update expression and no test expression, then we - * just save `endOfInitSegments`. - */ - if (context.updateSegments) { - context.endOfUpdateSegments = forkContext.head; - - /* - * In a `for` loop that has both an update expression and a test - * condition, execution flows from the test expression into the - * loop body, to the update expression, and then back to the test - * expression to determine if the loop should continue. - * - * To account for that, we need to make a path from the end of the - * update expression to the start of the test expression. This is - * effectively what creates the loop in the code path. - */ - if (context.testSegments) { - makeLooped( - this, - context.endOfUpdateSegments, - context.testSegments - ); - } - } else if (context.testSegments) { - finalizeTestSegmentsOfFor( - context, - choiceContext, - forkContext.head - ); - } else { - context.endOfInitSegments = forkContext.head; - } - - let bodySegments = context.endOfTestSegments; - - /* - * If there is a test condition, then there `endOfTestSegments` is also - * the start of the loop body. If there isn't a test condition then - * `bodySegments` will be null and we need to look elsewhere to find - * the start of the body. - * - * The body starts at the end of the init expression and ends at the end - * of the update expression, so we use those locations to determine the - * body segments. - */ - if (!bodySegments) { - - const prevForkContext = ForkContext.newEmpty(forkContext); - - prevForkContext.add(context.endOfInitSegments); - if (context.endOfUpdateSegments) { - prevForkContext.add(context.endOfUpdateSegments); - } - - bodySegments = prevForkContext.makeNext(0, -1); - } - - /* - * If there was no test condition and no update expression, then - * `continueDestSegments` will be null. In that case, a - * `continue` should skip directly to the body of the loop. - * Otherwise, we want to keep the current `continueDestSegments`. - */ - context.continueDestSegments = context.continueDestSegments || bodySegments; - - // move pointer to the body - forkContext.replaceHead(bodySegments); - } - - /** - * Makes a code path segment for the left part of a ForInStatement and a - * ForOfStatement. - * @returns {void} - */ - makeForInOfLeft() { - const context = this.loopContext; - const forkContext = this.forkContext; - const leftSegments = forkContext.makeDisconnected(-1, -1); - - // Update state. - context.prevSegments = forkContext.head; - context.leftSegments = context.continueDestSegments = leftSegments; - forkContext.replaceHead(leftSegments); - } - - /** - * Makes a code path segment for the right part of a ForInStatement and a - * ForOfStatement. - * @returns {void} - */ - makeForInOfRight() { - const context = this.loopContext; - const forkContext = this.forkContext; - const temp = ForkContext.newEmpty(forkContext); - - temp.add(context.prevSegments); - const rightSegments = temp.makeNext(-1, -1); - - // Update state. - context.endOfLeftSegments = forkContext.head; - forkContext.replaceHead(rightSegments); - } - - /** - * Makes a code path segment for the body part of a ForInStatement and a - * ForOfStatement. - * @returns {void} - */ - makeForInOfBody() { - const context = this.loopContext; - const forkContext = this.forkContext; - const temp = ForkContext.newEmpty(forkContext); - - temp.add(context.endOfLeftSegments); - const bodySegments = temp.makeNext(-1, -1); - - // Make a path: `right` -> `left`. - makeLooped(this, forkContext.head, context.leftSegments); - - // Update state. - context.brokenForkContext.add(forkContext.head); - forkContext.replaceHead(bodySegments); - } - - //-------------------------------------------------------------------------- - // Control Statements - //-------------------------------------------------------------------------- - - /** - * Creates new context in which a `break` statement can be used. This occurs inside of a loop, - * labeled statement, or switch statement. - * @param {boolean} breakable Indicates if we are inside a statement where - * `break` without a label will exit the statement. - * @param {string|null} label The label associated with the statement. - * @returns {BreakContext} The new context. - */ - pushBreakContext(breakable, label) { - this.breakContext = new BreakContext(this.breakContext, breakable, label, this.forkContext); - return this.breakContext; - } - - /** - * Removes the top item of the break context stack. - * @returns {Object} The removed context. - */ - popBreakContext() { - const context = this.breakContext; - const forkContext = this.forkContext; - - this.breakContext = context.upper; - - // Process this context here for other than switches and loops. - if (!context.breakable) { - const brokenForkContext = context.brokenForkContext; - - if (!brokenForkContext.empty) { - brokenForkContext.add(forkContext.head); - forkContext.replaceHead(brokenForkContext.makeNext(0, -1)); - } - } - - return context; - } - - /** - * Makes a path for a `break` statement. - * - * It registers the head segment to a context of `break`. - * It makes new unreachable segment, then it set the head with the segment. - * @param {string|null} label A label of the break statement. - * @returns {void} - */ - makeBreak(label) { - const forkContext = this.forkContext; - - if (!forkContext.reachable) { - return; - } - - const context = getBreakContext(this, label); - - - if (context) { - context.brokenForkContext.add(forkContext.head); - } - - /* c8 ignore next */ - forkContext.replaceHead(forkContext.makeUnreachable(-1, -1)); - } - - /** - * Makes a path for a `continue` statement. - * - * It makes a looping path. - * It makes new unreachable segment, then it set the head with the segment. - * @param {string|null} label A label of the continue statement. - * @returns {void} - */ - makeContinue(label) { - const forkContext = this.forkContext; - - if (!forkContext.reachable) { - return; - } - - const context = getContinueContext(this, label); - - if (context) { - if (context.continueDestSegments) { - makeLooped(this, forkContext.head, context.continueDestSegments); - - // If the context is a for-in/of loop, this affects a break also. - if (context.type === "ForInStatement" || - context.type === "ForOfStatement" - ) { - context.brokenForkContext.add(forkContext.head); - } - } else { - context.continueForkContext.add(forkContext.head); - } - } - forkContext.replaceHead(forkContext.makeUnreachable(-1, -1)); - } - - /** - * Makes a path for a `return` statement. - * - * It registers the head segment to a context of `return`. - * It makes new unreachable segment, then it set the head with the segment. - * @returns {void} - */ - makeReturn() { - const forkContext = this.forkContext; - - if (forkContext.reachable) { - getReturnContext(this).returnedForkContext.add(forkContext.head); - forkContext.replaceHead(forkContext.makeUnreachable(-1, -1)); - } - } - - /** - * Makes a path for a `throw` statement. - * - * It registers the head segment to a context of `throw`. - * It makes new unreachable segment, then it set the head with the segment. - * @returns {void} - */ - makeThrow() { - const forkContext = this.forkContext; - - if (forkContext.reachable) { - getThrowContext(this).thrownForkContext.add(forkContext.head); - forkContext.replaceHead(forkContext.makeUnreachable(-1, -1)); - } - } - - /** - * Makes the final path. - * @returns {void} - */ - makeFinal() { - const segments = this.currentSegments; - - if (segments.length > 0 && segments[0].reachable) { - this.returnedForkContext.add(segments); - } - } -} - -module.exports = CodePathState; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path.js deleted file mode 100644 index 8c438e29..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +++ /dev/null @@ -1,344 +0,0 @@ -/** - * @fileoverview A class of the code path. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const CodePathState = require("./code-path-state"); -const IdGenerator = require("./id-generator"); - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * A code path. - */ -class CodePath { - - /** - * Creates a new instance. - * @param {Object} options Options for the function (see below). - * @param {string} options.id An identifier. - * @param {string} options.origin The type of code path origin. - * @param {CodePath|null} options.upper The code path of the upper function scope. - * @param {Function} options.onLooped A callback function to notify looping. - */ - constructor({ id, origin, upper, onLooped }) { - - /** - * The identifier of this code path. - * Rules use it to store additional information of each rule. - * @type {string} - */ - this.id = id; - - /** - * The reason that this code path was started. May be "program", - * "function", "class-field-initializer", or "class-static-block". - * @type {string} - */ - this.origin = origin; - - /** - * The code path of the upper function scope. - * @type {CodePath|null} - */ - this.upper = upper; - - /** - * The code paths of nested function scopes. - * @type {CodePath[]} - */ - this.childCodePaths = []; - - // Initializes internal state. - Object.defineProperty( - this, - "internal", - { value: new CodePathState(new IdGenerator(`${id}_`), onLooped) } - ); - - // Adds this into `childCodePaths` of `upper`. - if (upper) { - upper.childCodePaths.push(this); - } - } - - /** - * Gets the state of a given code path. - * @param {CodePath} codePath A code path to get. - * @returns {CodePathState} The state of the code path. - */ - static getState(codePath) { - return codePath.internal; - } - - /** - * The initial code path segment. This is the segment that is at the head - * of the code path. - * This is a passthrough to the underlying `CodePathState`. - * @type {CodePathSegment} - */ - get initialSegment() { - return this.internal.initialSegment; - } - - /** - * Final code path segments. These are the terminal (tail) segments in the - * code path, which is the combination of `returnedSegments` and `thrownSegments`. - * All segments in this array are reachable. - * This is a passthrough to the underlying `CodePathState`. - * @type {CodePathSegment[]} - */ - get finalSegments() { - return this.internal.finalSegments; - } - - /** - * Final code path segments that represent normal completion of the code path. - * For functions, this means both explicit `return` statements and implicit returns, - * such as the last reachable segment in a function that does not have an - * explicit `return` as this implicitly returns `undefined`. For scripts, - * modules, class field initializers, and class static blocks, this means - * all lines of code have been executed. - * These segments are also present in `finalSegments`. - * This is a passthrough to the underlying `CodePathState`. - * @type {CodePathSegment[]} - */ - get returnedSegments() { - return this.internal.returnedForkContext; - } - - /** - * Final code path segments that represent `throw` statements. - * This is a passthrough to the underlying `CodePathState`. - * These segments are also present in `finalSegments`. - * @type {CodePathSegment[]} - */ - get thrownSegments() { - return this.internal.thrownForkContext; - } - - /** - * Traverses all segments in this code path. - * - * codePath.traverseSegments((segment, controller) => { - * // do something. - * }); - * - * This method enumerates segments in order from the head. - * - * The `controller` argument has two methods: - * - * - `skip()` - skips the following segments in this branch - * - `break()` - skips all following segments in the traversal - * - * A note on the parameters: the `options` argument is optional. This means - * the first argument might be an options object or the callback function. - * @param {Object} [optionsOrCallback] Optional first and last segments to traverse. - * @param {CodePathSegment} [optionsOrCallback.first] The first segment to traverse. - * @param {CodePathSegment} [optionsOrCallback.last] The last segment to traverse. - * @param {Function} callback A callback function. - * @returns {void} - */ - traverseSegments(optionsOrCallback, callback) { - - // normalize the arguments into a callback and options - let resolvedOptions; - let resolvedCallback; - - if (typeof optionsOrCallback === "function") { - resolvedCallback = optionsOrCallback; - resolvedOptions = {}; - } else { - resolvedOptions = optionsOrCallback || {}; - resolvedCallback = callback; - } - - // determine where to start traversing from based on the options - const startSegment = resolvedOptions.first || this.internal.initialSegment; - const lastSegment = resolvedOptions.last; - - // set up initial location information - let record; - let index; - let end; - let segment = null; - - // segments that have already been visited during traversal - const visited = new Set(); - - // tracks the traversal steps - const stack = [[startSegment, 0]]; - - // segments that have been skipped during traversal - const skipped = new Set(); - - // indicates if we exited early from the traversal - let broken = false; - - /** - * Maintains traversal state. - */ - const controller = { - - /** - * Skip the following segments in this branch. - * @returns {void} - */ - skip() { - skipped.add(segment); - }, - - /** - * Stop traversal completely - do not traverse to any - * other segments. - * @returns {void} - */ - break() { - broken = true; - } - }; - - /** - * Checks if a given previous segment has been visited. - * @param {CodePathSegment} prevSegment A previous segment to check. - * @returns {boolean} `true` if the segment has been visited. - */ - function isVisited(prevSegment) { - return ( - visited.has(prevSegment) || - segment.isLoopedPrevSegment(prevSegment) - ); - } - - /** - * Checks if a given previous segment has been skipped. - * @param {CodePathSegment} prevSegment A previous segment to check. - * @returns {boolean} `true` if the segment has been skipped. - */ - function isSkipped(prevSegment) { - return ( - skipped.has(prevSegment) || - segment.isLoopedPrevSegment(prevSegment) - ); - } - - // the traversal - while (stack.length > 0) { - - /* - * This isn't a pure stack. We use the top record all the time - * but don't always pop it off. The record is popped only if - * one of the following is true: - * - * 1) We have already visited the segment. - * 2) We have not visited *all* of the previous segments. - * 3) We have traversed past the available next segments. - * - * Otherwise, we just read the value and sometimes modify the - * record as we traverse. - */ - record = stack.at(-1); - segment = record[0]; - index = record[1]; - - if (index === 0) { - - // Skip if this segment has been visited already. - if (visited.has(segment)) { - stack.pop(); - continue; - } - - // Skip if all previous segments have not been visited. - if (segment !== startSegment && - segment.prevSegments.length > 0 && - !segment.prevSegments.every(isVisited) - ) { - stack.pop(); - continue; - } - - visited.add(segment); - - - // Skips the segment if all previous segments have been skipped. - const shouldSkip = ( - skipped.size > 0 && - segment.prevSegments.length > 0 && - segment.prevSegments.every(isSkipped) - ); - - /* - * If the most recent segment hasn't been skipped, then we call - * the callback, passing in the segment and the controller. - */ - if (!shouldSkip) { - resolvedCallback.call(this, segment, controller); - - // exit if we're at the last segment - if (segment === lastSegment) { - controller.skip(); - } - - /* - * If the previous statement was executed, or if the callback - * called a method on the controller, we might need to exit the - * loop, so check for that and break accordingly. - */ - if (broken) { - break; - } - } else { - - // If the most recent segment has been skipped, then mark it as skipped. - skipped.add(segment); - } - } - - // Update the stack. - end = segment.nextSegments.length - 1; - if (index < end) { - - /* - * If we haven't yet visited all of the next segments, update - * the current top record on the stack to the next index to visit - * and then push a record for the current segment on top. - * - * Setting the current top record's index lets us know how many - * times we've been here and ensures that the segment won't be - * reprocessed (because we only process segments with an index - * of 0). - */ - record[1] += 1; - stack.push([segment.nextSegments[index], 0]); - } else if (index === end) { - - /* - * If we are at the last next segment, then reset the top record - * in the stack to next segment and set its index to 0 so it will - * be processed next. - */ - record[0] = segment.nextSegments[index]; - record[1] = 0; - } else { - - /* - * If index > end, that means we have no more segments that need - * processing. So, we pop that record off of the stack in order to - * continue traversing at the next level up. - */ - stack.pop(); - } - } - } -} - -module.exports = CodePath; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js deleted file mode 100644 index c0e01a82..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +++ /dev/null @@ -1,203 +0,0 @@ -/** - * @fileoverview Helpers to debug for code path analysis. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const debug = require("debug")("eslint:code-path"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Gets id of a given segment. - * @param {CodePathSegment} segment A segment to get. - * @returns {string} Id of the segment. - */ -/* c8 ignore next */ -function getId(segment) { // eslint-disable-line jsdoc/require-jsdoc -- Ignoring - return segment.id + (segment.reachable ? "" : "!"); -} - -/** - * Get string for the given node and operation. - * @param {ASTNode} node The node to convert. - * @param {"enter" | "exit" | undefined} label The operation label. - * @returns {string} The string representation. - */ -function nodeToString(node, label) { - const suffix = label ? `:${label}` : ""; - - switch (node.type) { - case "Identifier": return `${node.type}${suffix} (${node.name})`; - case "Literal": return `${node.type}${suffix} (${node.value})`; - default: return `${node.type}${suffix}`; - } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = { - - /** - * A flag that debug dumping is enabled or not. - * @type {boolean} - */ - enabled: debug.enabled, - - /** - * Dumps given objects. - * @param {...any} args objects to dump. - * @returns {void} - */ - dump: debug, - - /** - * Dumps the current analyzing state. - * @param {ASTNode} node A node to dump. - * @param {CodePathState} state A state to dump. - * @param {boolean} leaving A flag whether or not it's leaving - * @returns {void} - */ - dumpState: !debug.enabled ? debug : /* c8 ignore next */ function(node, state, leaving) { - for (let i = 0; i < state.currentSegments.length; ++i) { - const segInternal = state.currentSegments[i].internal; - - if (leaving) { - const last = segInternal.nodes.length - 1; - - if (last >= 0 && segInternal.nodes[last] === nodeToString(node, "enter")) { - segInternal.nodes[last] = nodeToString(node, void 0); - } else { - segInternal.nodes.push(nodeToString(node, "exit")); - } - } else { - segInternal.nodes.push(nodeToString(node, "enter")); - } - } - - debug([ - `${state.currentSegments.map(getId).join(",")})`, - `${node.type}${leaving ? ":exit" : ""}` - ].join(" ")); - }, - - /** - * Dumps a DOT code of a given code path. - * The DOT code can be visualized with Graphvis. - * @param {CodePath} codePath A code path to dump. - * @returns {void} - * @see http://www.graphviz.org - * @see http://www.webgraphviz.com - */ - dumpDot: !debug.enabled ? debug : /* c8 ignore next */ function(codePath) { - let text = - "\n" + - "digraph {\n" + - "node[shape=box,style=\"rounded,filled\",fillcolor=white];\n" + - "initial[label=\"\",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];\n"; - - if (codePath.returnedSegments.length > 0) { - text += "final[label=\"\",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];\n"; - } - if (codePath.thrownSegments.length > 0) { - text += "thrown[label=\"✘\",shape=circle,width=0.3,height=0.3,fixedsize=true];\n"; - } - - const traceMap = Object.create(null); - const arrows = this.makeDotArrows(codePath, traceMap); - - for (const id in traceMap) { // eslint-disable-line guard-for-in -- Want ability to traverse prototype - const segment = traceMap[id]; - - text += `${id}[`; - - if (segment.reachable) { - text += "label=\""; - } else { - text += "style=\"rounded,dashed,filled\",fillcolor=\"#FF9800\",label=\"<>\\n"; - } - - if (segment.internal.nodes.length > 0) { - text += segment.internal.nodes.join("\\n"); - } else { - text += "????"; - } - - text += "\"];\n"; - } - - text += `${arrows}\n`; - text += "}"; - debug("DOT", text); - }, - - /** - * Makes a DOT code of a given code path. - * The DOT code can be visualized with Graphvis. - * @param {CodePath} codePath A code path to make DOT. - * @param {Object} traceMap Optional. A map to check whether or not segments had been done. - * @returns {string} A DOT code of the code path. - */ - makeDotArrows(codePath, traceMap) { - const stack = [[codePath.initialSegment, 0]]; - const done = traceMap || Object.create(null); - let lastId = codePath.initialSegment.id; - let text = `initial->${codePath.initialSegment.id}`; - - while (stack.length > 0) { - const item = stack.pop(); - const segment = item[0]; - const index = item[1]; - - if (done[segment.id] && index === 0) { - continue; - } - done[segment.id] = segment; - - const nextSegment = segment.allNextSegments[index]; - - if (!nextSegment) { - continue; - } - - if (lastId === segment.id) { - text += `->${nextSegment.id}`; - } else { - text += `;\n${segment.id}->${nextSegment.id}`; - } - lastId = nextSegment.id; - - stack.unshift([segment, 1 + index]); - stack.push([nextSegment, 0]); - } - - codePath.returnedSegments.forEach(finalSegment => { - if (lastId === finalSegment.id) { - text += "->final"; - } else { - text += `;\n${finalSegment.id}->final`; - } - lastId = null; - }); - - codePath.thrownSegments.forEach(finalSegment => { - if (lastId === finalSegment.id) { - text += "->thrown"; - } else { - text += `;\n${finalSegment.id}->thrown`; - } - lastId = null; - }); - - return `${text};`; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js deleted file mode 100644 index d6598be9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +++ /dev/null @@ -1,349 +0,0 @@ -/** - * @fileoverview A class to operate forking. - * - * This is state of forking. - * This has a fork list and manages it. - * - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const assert = require("../../shared/assert"), - CodePathSegment = require("./code-path-segment"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines whether or not a given segment is reachable. - * @param {CodePathSegment} segment The segment to check. - * @returns {boolean} `true` if the segment is reachable. - */ -function isReachable(segment) { - return segment.reachable; -} - -/** - * Creates a new segment for each fork in the given context and appends it - * to the end of the specified range of segments. Ultimately, this ends up calling - * `new CodePathSegment()` for each of the forks using the `create` argument - * as a wrapper around special behavior. - * - * The `startIndex` and `endIndex` arguments specify a range of segments in - * `context` that should become `allPrevSegments` for the newly created - * `CodePathSegment` objects. - * - * When `context.segmentsList` is `[[a, b], [c, d], [e, f]]`, `begin` is `0`, and - * `end` is `-1`, this creates two new segments, `[g, h]`. This `g` is appended to - * the end of the path from `a`, `c`, and `e`. This `h` is appended to the end of - * `b`, `d`, and `f`. - * @param {ForkContext} context An instance from which the previous segments - * will be obtained. - * @param {number} startIndex The index of the first segment in the context - * that should be specified as previous segments for the newly created segments. - * @param {number} endIndex The index of the last segment in the context - * that should be specified as previous segments for the newly created segments. - * @param {Function} create A function that creates new `CodePathSegment` - * instances in a particular way. See the `CodePathSegment.new*` methods. - * @returns {Array} An array of the newly-created segments. - */ -function createSegments(context, startIndex, endIndex, create) { - - /** @type {Array>} */ - const list = context.segmentsList; - - /* - * Both `startIndex` and `endIndex` work the same way: if the number is zero - * or more, then the number is used as-is. If the number is negative, - * then that number is added to the length of the segments list to - * determine the index to use. That means -1 for either argument - * is the last element, -2 is the second to last, and so on. - * - * So if `startIndex` is 0, `endIndex` is -1, and `list.length` is 3, the - * effective `startIndex` is 0 and the effective `endIndex` is 2, so this function - * will include items at indices 0, 1, and 2. - * - * Therefore, if `startIndex` is -1 and `endIndex` is -1, that means we'll only - * be using the last segment in `list`. - */ - const normalizedBegin = startIndex >= 0 ? startIndex : list.length + startIndex; - const normalizedEnd = endIndex >= 0 ? endIndex : list.length + endIndex; - - /** @type {Array} */ - const segments = []; - - for (let i = 0; i < context.count; ++i) { - - // this is passed into `new CodePathSegment` to add to code path. - const allPrevSegments = []; - - for (let j = normalizedBegin; j <= normalizedEnd; ++j) { - allPrevSegments.push(list[j][i]); - } - - // note: `create` is just a wrapper that augments `new CodePathSegment`. - segments.push(create(context.idGenerator.next(), allPrevSegments)); - } - - return segments; -} - -/** - * Inside of a `finally` block we end up with two parallel paths. If the code path - * exits by a control statement (such as `break` or `continue`) from the `finally` - * block, then we need to merge the remaining parallel paths back into one. - * @param {ForkContext} context The fork context to work on. - * @param {Array} segments Segments to merge. - * @returns {Array} The merged segments. - */ -function mergeExtraSegments(context, segments) { - let currentSegments = segments; - - /* - * We need to ensure that the array returned from this function contains no more - * than the number of segments that the context allows. `context.count` indicates - * how many items should be in the returned array to ensure that the new segment - * entries will line up with the already existing segment entries. - */ - while (currentSegments.length > context.count) { - const merged = []; - - /* - * Because `context.count` is a factor of 2 inside of a `finally` block, - * we can divide the segment count by 2 to merge the paths together. - * This loops through each segment in the list and creates a new `CodePathSegment` - * that has the segment and the segment two slots away as previous segments. - * - * If `currentSegments` is [a,b,c,d], this will create new segments e and f, such - * that: - * - * When `i` is 0: - * a->e - * c->e - * - * When `i` is 1: - * b->f - * d->f - */ - for (let i = 0, length = Math.floor(currentSegments.length / 2); i < length; ++i) { - merged.push(CodePathSegment.newNext( - context.idGenerator.next(), - [currentSegments[i], currentSegments[i + length]] - )); - } - - /* - * Go through the loop condition one more time to see if we have the - * number of segments for the context. If not, we'll keep merging paths - * of the merged segments until we get there. - */ - currentSegments = merged; - } - - return currentSegments; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Manages the forking of code paths. - */ -class ForkContext { - - /** - * Creates a new instance. - * @param {IdGenerator} idGenerator An identifier generator for segments. - * @param {ForkContext|null} upper The preceding fork context. - * @param {number} count The number of parallel segments in each element - * of `segmentsList`. - */ - constructor(idGenerator, upper, count) { - - /** - * The ID generator that will generate segment IDs for any new - * segments that are created. - * @type {IdGenerator} - */ - this.idGenerator = idGenerator; - - /** - * The preceding fork context. - * @type {ForkContext|null} - */ - this.upper = upper; - - /** - * The number of elements in each element of `segmentsList`. In most - * cases, this is 1 but can be 2 when there is a `finally` present, - * which forks the code path outside of normal flow. In the case of nested - * `finally` blocks, this can be a multiple of 2. - * @type {number} - */ - this.count = count; - - /** - * The segments within this context. Each element in this array has - * `count` elements that represent one step in each fork. For example, - * when `segmentsList` is `[[a, b], [c, d], [e, f]]`, there is one path - * a->c->e and one path b->d->f, and `count` is 2 because each element - * is an array with two elements. - * @type {Array>} - */ - this.segmentsList = []; - } - - /** - * The segments that begin this fork context. - * @type {Array} - */ - get head() { - const list = this.segmentsList; - - return list.length === 0 ? [] : list.at(-1); - } - - /** - * Indicates if the context contains no segments. - * @type {boolean} - */ - get empty() { - return this.segmentsList.length === 0; - } - - /** - * Indicates if there are any segments that are reachable. - * @type {boolean} - */ - get reachable() { - const segments = this.head; - - return segments.length > 0 && segments.some(isReachable); - } - - /** - * Creates new segments in this context and appends them to the end of the - * already existing `CodePathSegment`s specified by `startIndex` and - * `endIndex`. - * @param {number} startIndex The index of the first segment in the context - * that should be specified as previous segments for the newly created segments. - * @param {number} endIndex The index of the last segment in the context - * that should be specified as previous segments for the newly created segments. - * @returns {Array} An array of the newly created segments. - */ - makeNext(startIndex, endIndex) { - return createSegments(this, startIndex, endIndex, CodePathSegment.newNext); - } - - /** - * Creates new unreachable segments in this context and appends them to the end of the - * already existing `CodePathSegment`s specified by `startIndex` and - * `endIndex`. - * @param {number} startIndex The index of the first segment in the context - * that should be specified as previous segments for the newly created segments. - * @param {number} endIndex The index of the last segment in the context - * that should be specified as previous segments for the newly created segments. - * @returns {Array} An array of the newly created segments. - */ - makeUnreachable(startIndex, endIndex) { - return createSegments(this, startIndex, endIndex, CodePathSegment.newUnreachable); - } - - /** - * Creates new segments in this context and does not append them to the end - * of the already existing `CodePathSegment`s specified by `startIndex` and - * `endIndex`. The `startIndex` and `endIndex` are only used to determine if - * the new segments should be reachable. If any of the segments in this range - * are reachable then the new segments are also reachable; otherwise, the new - * segments are unreachable. - * @param {number} startIndex The index of the first segment in the context - * that should be considered for reachability. - * @param {number} endIndex The index of the last segment in the context - * that should be considered for reachability. - * @returns {Array} An array of the newly created segments. - */ - makeDisconnected(startIndex, endIndex) { - return createSegments(this, startIndex, endIndex, CodePathSegment.newDisconnected); - } - - /** - * Adds segments to the head of this context. - * @param {Array} segments The segments to add. - * @returns {void} - */ - add(segments) { - assert(segments.length >= this.count, `${segments.length} >= ${this.count}`); - this.segmentsList.push(mergeExtraSegments(this, segments)); - } - - /** - * Replaces the head segments with the given segments. - * The current head segments are removed. - * @param {Array} replacementHeadSegments The new head segments. - * @returns {void} - */ - replaceHead(replacementHeadSegments) { - assert( - replacementHeadSegments.length >= this.count, - `${replacementHeadSegments.length} >= ${this.count}` - ); - this.segmentsList.splice(-1, 1, mergeExtraSegments(this, replacementHeadSegments)); - } - - /** - * Adds all segments of a given fork context into this context. - * @param {ForkContext} otherForkContext The fork context to add from. - * @returns {void} - */ - addAll(otherForkContext) { - assert(otherForkContext.count === this.count); - this.segmentsList.push(...otherForkContext.segmentsList); - } - - /** - * Clears all segments in this context. - * @returns {void} - */ - clear() { - this.segmentsList = []; - } - - /** - * Creates a new root context, meaning that there are no parent - * fork contexts. - * @param {IdGenerator} idGenerator An identifier generator for segments. - * @returns {ForkContext} New fork context. - */ - static newRoot(idGenerator) { - const context = new ForkContext(idGenerator, null, 1); - - context.add([CodePathSegment.newRoot(idGenerator.next())]); - - return context; - } - - /** - * Creates an empty fork context preceded by a given context. - * @param {ForkContext} parentContext The parent fork context. - * @param {boolean} shouldForkLeavingPath Indicates that we are inside of - * a `finally` block and should therefore fork the path that leaves - * `finally`. - * @returns {ForkContext} New fork context. - */ - static newEmpty(parentContext, shouldForkLeavingPath) { - return new ForkContext( - parentContext.idGenerator, - parentContext, - (shouldForkLeavingPath ? 2 : 1) * parentContext.count - ); - } -} - -module.exports = ForkContext; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js deleted file mode 100644 index b580104e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @fileoverview A class of identifiers generator for code path segments. - * - * Each rule uses the identifier of code path segments to store additional - * information of the code path. - * - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * A generator for unique ids. - */ -class IdGenerator { - - /** - * @param {string} prefix Optional. A prefix of generated ids. - */ - constructor(prefix) { - this.prefix = String(prefix); - this.n = 0; - } - - /** - * Generates id. - * @returns {string} A generated id. - */ - next() { - this.n = 1 + this.n | 0; - - /* c8 ignore start */ - if (this.n < 0) { - this.n = 1; - }/* c8 ignore stop */ - - return this.prefix + this.n; - } -} - -module.exports = IdGenerator; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/file-context.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/file-context.js deleted file mode 100644 index b6694723..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/file-context.js +++ /dev/null @@ -1,134 +0,0 @@ -/** - * @fileoverview The FileContext class. - * @author Nicholas C. Zakas - */ - -"use strict"; - -/** - * Represents a file context that the linter can use to lint a file. - */ -class FileContext { - - /** - * The current working directory. - * @type {string} - */ - cwd; - - /** - * The filename of the file being linted. - * @type {string} - */ - filename; - - /** - * The physical filename of the file being linted. - * @type {string} - */ - physicalFilename; - - /** - * The source code of the file being linted. - * @type {SourceCode} - */ - sourceCode; - - /** - * The parser options for the file being linted. - * @type {Record} - * @deprecated Use `languageOptions` instead. - */ - parserOptions; - - /** - * The path to the parser used to parse this file. - * @type {string} - * @deprecated No longer supported. - */ - parserPath; - - /** - * The language options used when parsing this file. - * @type {Record} - */ - languageOptions; - - /** - * The settings for the file being linted. - * @type {Record} - */ - settings; - - /** - * Creates a new instance. - * @param {Object} config The configuration object for the file context. - * @param {string} config.cwd The current working directory. - * @param {string} config.filename The filename of the file being linted. - * @param {string} config.physicalFilename The physical filename of the file being linted. - * @param {SourceCode} config.sourceCode The source code of the file being linted. - * @param {Record} config.parserOptions The parser options for the file being linted. - * @param {string} config.parserPath The path to the parser used to parse this file. - * @param {Record} config.languageOptions The language options used when parsing this file. - * @param {Record} config.settings The settings for the file being linted. - */ - constructor({ - cwd, - filename, - physicalFilename, - sourceCode, - parserOptions, - parserPath, - languageOptions, - settings - }) { - this.cwd = cwd; - this.filename = filename; - this.physicalFilename = physicalFilename; - this.sourceCode = sourceCode; - this.parserOptions = parserOptions; - this.parserPath = parserPath; - this.languageOptions = languageOptions; - this.settings = settings; - - Object.freeze(this); - } - - /** - * Gets the current working directory. - * @returns {string} The current working directory. - * @deprecated Use `cwd` instead. - */ - getCwd() { - return this.cwd; - } - - /** - * Gets the filename of the file being linted. - * @returns {string} The filename of the file being linted. - * @deprecated Use `filename` instead. - */ - getFilename() { - return this.filename; - } - - /** - * Gets the physical filename of the file being linted. - * @returns {string} The physical filename of the file being linted. - * @deprecated Use `physicalFilename` instead. - */ - getPhysicalFilename() { - return this.physicalFilename; - } - - /** - * Gets the source code of the file being linted. - * @returns {SourceCode} The source code of the file being linted. - * @deprecated Use `sourceCode` instead. - */ - getSourceCode() { - return this.sourceCode; - } -} - -exports.FileContext = FileContext; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/index.js deleted file mode 100644 index 9e539776..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/index.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -const { Linter } = require("./linter"); -const SourceCodeFixer = require("./source-code-fixer"); - -module.exports = { - Linter, - - // For testers. - SourceCodeFixer -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/interpolate.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/interpolate.js deleted file mode 100644 index 5f4ff922..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/interpolate.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @fileoverview Interpolate keys from an object into a string with {{ }} markers. - * @author Jed Fox - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Returns a global expression matching placeholders in messages. - * @returns {RegExp} Global regular expression matching placeholders - */ -function getPlaceholderMatcher() { - return /\{\{([^{}]+?)\}\}/gu; -} - -/** - * Replaces {{ placeholders }} in the message with the provided data. - * Does not replace placeholders not available in the data. - * @param {string} text Original message with potential placeholders - * @param {Record} data Map of placeholder name to its value - * @returns {string} Message with replaced placeholders - */ -function interpolate(text, data) { - if (!data) { - return text; - } - - const matcher = getPlaceholderMatcher(); - - // Substitution content for any {{ }} markers. - return text.replace(matcher, (fullMatch, termWithWhitespace) => { - const term = termWithWhitespace.trim(); - - if (term in data) { - return data[term]; - } - - // Preserve old behavior: If parameter name not provided, don't replace it. - return fullMatch; - }); -} - -module.exports = { - getPlaceholderMatcher, - interpolate -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/linter.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/linter.js deleted file mode 100644 index 007fcf45..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/linter.js +++ /dev/null @@ -1,2407 +0,0 @@ -/** - * @fileoverview Main Linter Class - * @author Gyandeep Singh - * @author aladdin-add - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const - path = require("node:path"), - eslintScope = require("eslint-scope"), - evk = require("eslint-visitor-keys"), - espree = require("espree"), - merge = require("lodash.merge"), - pkg = require("../../package.json"), - { - Legacy: { - ConfigOps, - ConfigValidator, - environments: BuiltInEnvironments - } - } = require("@eslint/eslintrc/universal"), - Traverser = require("../shared/traverser"), - { SourceCode } = require("../languages/js/source-code"), - applyDisableDirectives = require("./apply-disable-directives"), - { ConfigCommentParser } = require("@eslint/plugin-kit"), - NodeEventGenerator = require("./node-event-generator"), - createReportTranslator = require("./report-translator"), - Rules = require("./rules"), - createEmitter = require("./safe-emitter"), - SourceCodeFixer = require("./source-code-fixer"), - timing = require("./timing"), - ruleReplacements = require("../../conf/replacements.json"); -const { getRuleFromConfig } = require("../config/flat-config-helpers"); -const { FlatConfigArray } = require("../config/flat-config-array"); -const { startTime, endTime } = require("../shared/stats"); -const { RuleValidator } = require("../config/rule-validator"); -const { assertIsRuleSeverity } = require("../config/flat-config-schema"); -const { normalizeSeverityToString } = require("../shared/severity"); -const { deepMergeArrays } = require("../shared/deep-merge-arrays"); -const jslang = require("../languages/js"); -const { activeFlags, inactiveFlags } = require("../shared/flags"); -const debug = require("debug")("eslint:linter"); -const MAX_AUTOFIX_PASSES = 10; -const DEFAULT_PARSER_NAME = "espree"; -const DEFAULT_ECMA_VERSION = 5; -const commentParser = new ConfigCommentParser(); -const DEFAULT_ERROR_LOC = { start: { line: 1, column: 0 }, end: { line: 1, column: 1 } }; -const parserSymbol = Symbol.for("eslint.RuleTester.parser"); -const { LATEST_ECMA_VERSION } = require("../../conf/ecma-version"); -const { VFile } = require("./vfile"); -const { ParserService } = require("../services/parser-service"); -const { FileContext } = require("./file-context"); -const { ProcessorService } = require("../services/processor-service"); -const STEP_KIND_VISIT = 1; -const STEP_KIND_CALL = 2; - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** @typedef {import("../shared/types").ConfigData} ConfigData */ -/** @typedef {import("../shared/types").Environment} Environment */ -/** @typedef {import("../shared/types").GlobalConf} GlobalConf */ -/** @typedef {import("../shared/types").LintMessage} LintMessage */ -/** @typedef {import("../shared/types").SuppressedLintMessage} SuppressedLintMessage */ -/** @typedef {import("../shared/types").ParserOptions} ParserOptions */ -/** @typedef {import("../shared/types").LanguageOptions} LanguageOptions */ -/** @typedef {import("../shared/types").Processor} Processor */ -/** @typedef {import("../shared/types").Rule} Rule */ -/** @typedef {import("../shared/types").Times} Times */ -/** @typedef {import("@eslint/core").Language} Language */ -/** @typedef {import("@eslint/core").RuleSeverity} RuleSeverity */ -/** @typedef {import("@eslint/core").RuleConfig} RuleConfig */ - - -/* eslint-disable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/4#issuecomment-778805577 */ -/** - * @template T - * @typedef {{ [P in keyof T]-?: T[P] }} Required - */ -/* eslint-enable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/4#issuecomment-778805577 */ - -/** - * @typedef {Object} DisableDirective - * @property {("disable"|"enable"|"disable-line"|"disable-next-line")} type Type of directive - * @property {number} line The line number - * @property {number} column The column number - * @property {(string|null)} ruleId The rule ID - * @property {string} justification The justification of directive - */ - -/** - * The private data for `Linter` instance. - * @typedef {Object} LinterInternalSlots - * @property {ConfigArray|null} lastConfigArray The `ConfigArray` instance that the last `verify()` call used. - * @property {SourceCode|null} lastSourceCode The `SourceCode` instance that the last `verify()` call used. - * @property {SuppressedLintMessage[]} lastSuppressedMessages The `SuppressedLintMessage[]` instance that the last `verify()` call produced. - * @property {Map} parserMap The loaded parsers. - * @property {Times} times The times spent on applying a rule to a file (see `stats` option). - * @property {Rules} ruleMap The loaded rules. - */ - -/** - * @typedef {Object} VerifyOptions - * @property {boolean} [allowInlineConfig] Allow/disallow inline comments' ability - * to change config once it is set. Defaults to true if not supplied. - * Useful if you want to validate JS without comments overriding rules. - * @property {boolean} [disableFixes] if `true` then the linter doesn't make `fix` - * properties into the lint result. - * @property {string} [filename] the filename of the source code. - * @property {boolean | "off" | "warn" | "error"} [reportUnusedDisableDirectives] Adds reported errors for - * unused `eslint-disable` directives. - * @property {Function} [ruleFilter] A predicate function that determines whether a given rule should run. - */ - -/** - * @typedef {Object} ProcessorOptions - * @property {(filename:string, text:string) => boolean} [filterCodeBlock] the - * predicate function that selects adopt code blocks. - * @property {Processor.postprocess} [postprocess] postprocessor for report - * messages. If provided, this should accept an array of the message lists - * for each code block returned from the preprocessor, apply a mapping to - * the messages as appropriate, and return a one-dimensional array of - * messages. - * @property {Processor.preprocess} [preprocess] preprocessor for source text. - * If provided, this should accept a string of source text, and return an - * array of code blocks to lint. - */ - -/** - * @typedef {Object} FixOptions - * @property {boolean | ((message: LintMessage) => boolean)} [fix] Determines - * whether fixes should be applied. - */ - -/** - * @typedef {Object} InternalOptions - * @property {string | null} warnInlineConfig The config name what `noInlineConfig` setting came from. If `noInlineConfig` setting didn't exist, this is null. If this is a config name, then the linter warns directive comments. - * @property {"off" | "warn" | "error"} reportUnusedDisableDirectives (boolean values were normalized) - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines if a given object is Espree. - * @param {Object} parser The parser to check. - * @returns {boolean} True if the parser is Espree or false if not. - */ -function isEspree(parser) { - return !!(parser === espree || parser[parserSymbol] === espree); -} - -/** - * Ensures that variables representing built-in properties of the Global Object, - * and any globals declared by special block comments, are present in the global - * scope. - * @param {Scope} globalScope The global scope. - * @param {Object} configGlobals The globals declared in configuration - * @param {{exportedVariables: Object, enabledGlobals: Object}} commentDirectives Directives from comment configuration - * @returns {void} - */ -function addDeclaredGlobals(globalScope, configGlobals, { exportedVariables, enabledGlobals }) { - - // Define configured global variables. - for (const id of new Set([...Object.keys(configGlobals), ...Object.keys(enabledGlobals)])) { - - /* - * `ConfigOps.normalizeConfigGlobal` will throw an error if a configured global value is invalid. However, these errors would - * typically be caught when validating a config anyway (validity for inline global comments is checked separately). - */ - const configValue = configGlobals[id] === void 0 ? void 0 : ConfigOps.normalizeConfigGlobal(configGlobals[id]); - const commentValue = enabledGlobals[id] && enabledGlobals[id].value; - const value = commentValue || configValue; - const sourceComments = enabledGlobals[id] && enabledGlobals[id].comments; - - if (value === "off") { - continue; - } - - let variable = globalScope.set.get(id); - - if (!variable) { - variable = new eslintScope.Variable(id, globalScope); - - globalScope.variables.push(variable); - globalScope.set.set(id, variable); - } - - variable.eslintImplicitGlobalSetting = configValue; - variable.eslintExplicitGlobal = sourceComments !== void 0; - variable.eslintExplicitGlobalComments = sourceComments; - variable.writeable = (value === "writable"); - } - - // mark all exported variables as such - Object.keys(exportedVariables).forEach(name => { - const variable = globalScope.set.get(name); - - if (variable) { - variable.eslintUsed = true; - variable.eslintExported = true; - } - }); - - /* - * "through" contains all references which definitions cannot be found. - * Since we augment the global scope using configuration, we need to update - * references and remove the ones that were added by configuration. - */ - globalScope.through = globalScope.through.filter(reference => { - const name = reference.identifier.name; - const variable = globalScope.set.get(name); - - if (variable) { - - /* - * Links the variable and the reference. - * And this reference is removed from `Scope#through`. - */ - reference.resolved = variable; - variable.references.push(reference); - - return false; - } - - return true; - }); -} - -/** - * creates a missing-rule message. - * @param {string} ruleId the ruleId to create - * @returns {string} created error message - * @private - */ -function createMissingRuleMessage(ruleId) { - return Object.hasOwn(ruleReplacements.rules, ruleId) - ? `Rule '${ruleId}' was removed and replaced by: ${ruleReplacements.rules[ruleId].join(", ")}` - : `Definition for rule '${ruleId}' was not found.`; -} - -/** - * Updates a given location based on the language offsets. This allows us to - * change 0-based locations to 1-based locations. We always want ESLint - * reporting lines and columns starting from 1. - * @param {Object} location The location to update. - * @param {number} location.line The starting line number. - * @param {number} location.column The starting column number. - * @param {number} [location.endLine] The ending line number. - * @param {number} [location.endColumn] The ending column number. - * @param {Language} language The language to use to adjust the location information. - * @returns {Object} The updated location. - */ -function updateLocationInformation({ line, column, endLine, endColumn }, language) { - - const columnOffset = language.columnStart === 1 ? 0 : 1; - const lineOffset = language.lineStart === 1 ? 0 : 1; - - // calculate separately to account for undefined - const finalEndLine = endLine === void 0 ? endLine : endLine + lineOffset; - const finalEndColumn = endColumn === void 0 ? endColumn : endColumn + columnOffset; - - return { - line: line + lineOffset, - column: column + columnOffset, - endLine: finalEndLine, - endColumn: finalEndColumn - }; -} - -/** - * creates a linting problem - * @param {Object} options to create linting error - * @param {string} [options.ruleId] the ruleId to report - * @param {Object} [options.loc] the loc to report - * @param {string} [options.message] the error message to report - * @param {RuleSeverity} [options.severity] the error message to report - * @param {Language} [options.language] the language to use to adjust the location information - * @returns {LintMessage} created problem, returns a missing-rule problem if only provided ruleId. - * @private - */ -function createLintingProblem(options) { - const { - ruleId = null, - loc = DEFAULT_ERROR_LOC, - message = createMissingRuleMessage(options.ruleId), - severity = 2, - - // fallback for eslintrc mode - language = { - columnStart: 0, - lineStart: 1 - } - } = options; - - return { - ruleId, - message, - ...updateLocationInformation({ - line: loc.start.line, - column: loc.start.column, - endLine: loc.end.line, - endColumn: loc.end.column - }, language), - severity, - nodeType: null - }; -} - -/** - * Creates a collection of disable directives from a comment - * @param {Object} options to create disable directives - * @param {("disable"|"enable"|"disable-line"|"disable-next-line")} options.type The type of directive comment - * @param {string} options.value The value after the directive in the comment - * comment specified no specific rules, so it applies to all rules (e.g. `eslint-disable`) - * @param {string} options.justification The justification of the directive - * @param {ASTNode|token} options.node The Comment node/token. - * @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules - * @param {Language} language The language to use to adjust the location information. - * @param {SourceCode} sourceCode The SourceCode object to get comments from. - * @returns {Object} Directives and problems from the comment - */ -function createDisableDirectives({ type, value, justification, node }, ruleMapper, language, sourceCode) { - const ruleIds = Object.keys(commentParser.parseListConfig(value)); - const directiveRules = ruleIds.length ? ruleIds : [null]; - const result = { - directives: [], // valid disable directives - directiveProblems: [] // problems in directives - }; - const parentDirective = { node, value, ruleIds }; - - for (const ruleId of directiveRules) { - - const loc = sourceCode.getLoc(node); - - // push to directives, if the rule is defined(including null, e.g. /*eslint enable*/) - if (ruleId === null || !!ruleMapper(ruleId)) { - - - if (type === "disable-next-line") { - const { line, column } = updateLocationInformation( - loc.end, - language - ); - - result.directives.push({ - parentDirective, - type, - line, - column, - ruleId, - justification - }); - } else { - const { line, column } = updateLocationInformation( - loc.start, - language - ); - - result.directives.push({ - parentDirective, - type, - line, - column, - ruleId, - justification - }); - } - } else { - result.directiveProblems.push(createLintingProblem({ ruleId, loc, language })); - } - } - return result; -} - -/** - * Parses comments in file to extract file-specific config of rules, globals - * and environments and merges them with global config; also code blocks - * where reporting is disabled or enabled and merges them with reporting config. - * @param {SourceCode} sourceCode The SourceCode object to get comments from. - * @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules - * @param {string|null} warnInlineConfig If a string then it should warn directive comments as disabled. The string value is the config name what the setting came from. - * @param {ConfigData} config Provided config. - * @returns {{configuredRules: Object, enabledGlobals: {value:string,comment:Token}[], exportedVariables: Object, problems: LintMessage[], disableDirectives: DisableDirective[]}} - * A collection of the directive comments that were found, along with any problems that occurred when parsing - */ -function getDirectiveComments(sourceCode, ruleMapper, warnInlineConfig, config) { - const configuredRules = {}; - const enabledGlobals = Object.create(null); - const exportedVariables = {}; - const problems = []; - const disableDirectives = []; - const validator = new ConfigValidator({ - builtInRules: Rules - }); - - sourceCode.getInlineConfigNodes().filter(token => token.type !== "Shebang").forEach(comment => { - - const directive = commentParser.parseDirective(comment.value); - - if (!directive) { - return; - } - - const { - label, - value, - justification: justificationPart - } = directive; - - const lineCommentSupported = /^eslint-disable-(next-)?line$/u.test(label); - - if (comment.type === "Line" && !lineCommentSupported) { - return; - } - - const loc = sourceCode.getLoc(comment); - - if (warnInlineConfig) { - const kind = comment.type === "Block" ? `/*${label}*/` : `//${label}`; - - problems.push(createLintingProblem({ - ruleId: null, - message: `'${kind}' has no effect because you have 'noInlineConfig' setting in ${warnInlineConfig}.`, - loc, - severity: 1 - })); - return; - } - - if (label === "eslint-disable-line" && loc.start.line !== loc.end.line) { - const message = `${label} comment should not span multiple lines.`; - - problems.push(createLintingProblem({ - ruleId: null, - message, - loc - })); - return; - } - - switch (label) { - case "eslint-disable": - case "eslint-enable": - case "eslint-disable-next-line": - case "eslint-disable-line": { - const directiveType = label.slice("eslint-".length); - const { directives, directiveProblems } = createDisableDirectives({ - type: directiveType, - value, - justification: justificationPart, - node: comment - }, ruleMapper, jslang, sourceCode); - - disableDirectives.push(...directives); - problems.push(...directiveProblems); - break; - } - - case "exported": - Object.assign(exportedVariables, commentParser.parseListConfig(value)); - break; - - case "globals": - case "global": - for (const [id, idSetting] of Object.entries(commentParser.parseStringConfig(value))) { - let normalizedValue; - - try { - normalizedValue = ConfigOps.normalizeConfigGlobal(idSetting); - } catch (err) { - problems.push(createLintingProblem({ - ruleId: null, - loc, - message: err.message - })); - continue; - } - - if (enabledGlobals[id]) { - enabledGlobals[id].comments.push(comment); - enabledGlobals[id].value = normalizedValue; - } else { - enabledGlobals[id] = { - comments: [comment], - value: normalizedValue - }; - } - } - break; - - case "eslint": { - const parseResult = commentParser.parseJSONLikeConfig(value); - - if (parseResult.ok) { - Object.keys(parseResult.config).forEach(name => { - const rule = ruleMapper(name); - const ruleValue = parseResult.config[name]; - - if (!rule) { - problems.push(createLintingProblem({ ruleId: name, loc })); - return; - } - - if (Object.hasOwn(configuredRules, name)) { - problems.push(createLintingProblem({ - message: `Rule "${name}" is already configured by another configuration comment in the preceding code. This configuration is ignored.`, - loc - })); - return; - } - - let ruleOptions = Array.isArray(ruleValue) ? ruleValue : [ruleValue]; - - /* - * If the rule was already configured, inline rule configuration that - * only has severity should retain options from the config and just override the severity. - * - * Example: - * - * { - * rules: { - * curly: ["error", "multi"] - * } - * } - * - * /* eslint curly: ["warn"] * / - * - * Results in: - * - * curly: ["warn", "multi"] - */ - if ( - - /* - * If inline config for the rule has only severity - */ - ruleOptions.length === 1 && - - /* - * And the rule was already configured - */ - config.rules && Object.hasOwn(config.rules, name) - ) { - - /* - * Then use severity from the inline config and options from the provided config - */ - ruleOptions = [ - ruleOptions[0], // severity from the inline config - ...Array.isArray(config.rules[name]) ? config.rules[name].slice(1) : [] // options from the provided config - ]; - } - - try { - validator.validateRuleOptions(rule, name, ruleOptions); - } catch (err) { - - /* - * If the rule has invalid `meta.schema`, throw the error because - * this is not an invalid inline configuration but an invalid rule. - */ - if (err.code === "ESLINT_INVALID_RULE_OPTIONS_SCHEMA") { - throw err; - } - - problems.push(createLintingProblem({ - ruleId: name, - message: err.message, - loc - })); - - // do not apply the config, if found invalid options. - return; - } - - configuredRules[name] = ruleOptions; - }); - } else { - const problem = createLintingProblem({ - ruleId: null, - loc, - message: parseResult.error.message - }); - - problem.fatal = true; - problems.push(problem); - } - - break; - } - - // no default - } - }); - - return { - configuredRules, - enabledGlobals, - exportedVariables, - problems, - disableDirectives - }; -} - -/** - * Parses comments in file to extract disable directives. - * @param {SourceCode} sourceCode The SourceCode object to get comments from. - * @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules - * @param {Language} language The language to use to adjust the location information - * @returns {{problems: LintMessage[], disableDirectives: DisableDirective[]}} - * A collection of the directive comments that were found, along with any problems that occurred when parsing - */ -function getDirectiveCommentsForFlatConfig(sourceCode, ruleMapper, language) { - const disableDirectives = []; - const problems = []; - - if (sourceCode.getDisableDirectives) { - const { - directives: directivesSources, - problems: directivesProblems - } = sourceCode.getDisableDirectives(); - - problems.push(...directivesProblems.map(directiveProblem => createLintingProblem({ - ...directiveProblem, - language - }))); - - directivesSources.forEach(directive => { - const { directives, directiveProblems } = createDisableDirectives(directive, ruleMapper, language, sourceCode); - - disableDirectives.push(...directives); - problems.push(...directiveProblems); - }); - } - - return { - problems, - disableDirectives - }; -} - -/** - * Normalize ECMAScript version from the initial config - * @param {Parser} parser The parser which uses this options. - * @param {number} ecmaVersion ECMAScript version from the initial config - * @returns {number} normalized ECMAScript version - */ -function normalizeEcmaVersion(parser, ecmaVersion) { - - if (isEspree(parser)) { - if (ecmaVersion === "latest") { - return espree.latestEcmaVersion; - } - } - - /* - * Calculate ECMAScript edition number from official year version starting with - * ES2015, which corresponds with ES6 (or a difference of 2009). - */ - return ecmaVersion >= 2015 ? ecmaVersion - 2009 : ecmaVersion; -} - -/** - * Normalize ECMAScript version from the initial config into languageOptions (year) - * format. - * @param {any} [ecmaVersion] ECMAScript version from the initial config - * @returns {number} normalized ECMAScript version - */ -function normalizeEcmaVersionForLanguageOptions(ecmaVersion) { - - switch (ecmaVersion) { - case 3: - return 3; - - // void 0 = no ecmaVersion specified so use the default - case 5: - case void 0: - return 5; - - default: - if (typeof ecmaVersion === "number") { - return ecmaVersion >= 2015 ? ecmaVersion : ecmaVersion + 2009; - } - } - - /* - * We default to the latest supported ecmaVersion for everything else. - * Remember, this is for languageOptions.ecmaVersion, which sets the version - * that is used for a number of processes inside of ESLint. It's normally - * safe to assume people want the latest unless otherwise specified. - */ - return LATEST_ECMA_VERSION; -} - -const eslintEnvPattern = /\/\*\s*eslint-env\s(.+?)(?:\*\/|$)/gsu; - -/** - * Checks whether or not there is a comment which has "eslint-env *" in a given text. - * @param {string} text A source code text to check. - * @returns {Object|null} A result of parseListConfig() with "eslint-env *" comment. - */ -function findEslintEnv(text) { - let match, retv; - - eslintEnvPattern.lastIndex = 0; - - while ((match = eslintEnvPattern.exec(text)) !== null) { - if (match[0].endsWith("*/")) { - retv = Object.assign( - retv || {}, - commentParser.parseListConfig(commentParser.parseDirective(match[0].slice(2, -2)).value) - ); - } - } - - return retv; -} - -/** - * Convert "/path/to/" to "". - * `CLIEngine#executeOnText()` method gives "/path/to/" if the filename - * was omitted because `configArray.extractConfig()` requires an absolute path. - * But the linter should pass `` to `RuleContext#filename` in that - * case. - * Also, code blocks can have their virtual filename. If the parent filename was - * ``, the virtual filename is `/0_foo.js` or something like (i.e., - * it's not an absolute path). - * @param {string} filename The filename to normalize. - * @returns {string} The normalized filename. - */ -function normalizeFilename(filename) { - const parts = filename.split(path.sep); - const index = parts.lastIndexOf(""); - - return index === -1 ? filename : parts.slice(index).join(path.sep); -} - -/** - * Normalizes the possible options for `linter.verify` and `linter.verifyAndFix` to a - * consistent shape. - * @param {VerifyOptions} providedOptions Options - * @param {ConfigData} config Config. - * @returns {Required & InternalOptions} Normalized options - */ -function normalizeVerifyOptions(providedOptions, config) { - - const linterOptions = config.linterOptions || config; - - // .noInlineConfig for eslintrc, .linterOptions.noInlineConfig for flat - const disableInlineConfig = linterOptions.noInlineConfig === true; - const ignoreInlineConfig = providedOptions.allowInlineConfig === false; - const configNameOfNoInlineConfig = config.configNameOfNoInlineConfig - ? ` (${config.configNameOfNoInlineConfig})` - : ""; - - let reportUnusedDisableDirectives = providedOptions.reportUnusedDisableDirectives; - - if (typeof reportUnusedDisableDirectives === "boolean") { - reportUnusedDisableDirectives = reportUnusedDisableDirectives ? "error" : "off"; - } - if (typeof reportUnusedDisableDirectives !== "string") { - if (typeof linterOptions.reportUnusedDisableDirectives === "boolean") { - reportUnusedDisableDirectives = linterOptions.reportUnusedDisableDirectives ? "warn" : "off"; - } else { - reportUnusedDisableDirectives = linterOptions.reportUnusedDisableDirectives === void 0 ? "off" : normalizeSeverityToString(linterOptions.reportUnusedDisableDirectives); - } - } - - let ruleFilter = providedOptions.ruleFilter; - - if (typeof ruleFilter !== "function") { - ruleFilter = () => true; - } - - return { - filename: normalizeFilename(providedOptions.filename || ""), - allowInlineConfig: !ignoreInlineConfig, - warnInlineConfig: disableInlineConfig && !ignoreInlineConfig - ? `your config${configNameOfNoInlineConfig}` - : null, - reportUnusedDisableDirectives, - disableFixes: Boolean(providedOptions.disableFixes), - stats: providedOptions.stats, - ruleFilter - }; -} - -/** - * Combines the provided parserOptions with the options from environments - * @param {Parser} parser The parser which uses this options. - * @param {ParserOptions} providedOptions The provided 'parserOptions' key in a config - * @param {Environment[]} enabledEnvironments The environments enabled in configuration and with inline comments - * @returns {ParserOptions} Resulting parser options after merge - */ -function resolveParserOptions(parser, providedOptions, enabledEnvironments) { - - const parserOptionsFromEnv = enabledEnvironments - .filter(env => env.parserOptions) - .reduce((parserOptions, env) => merge(parserOptions, env.parserOptions), {}); - const mergedParserOptions = merge(parserOptionsFromEnv, providedOptions || {}); - const isModule = mergedParserOptions.sourceType === "module"; - - if (isModule) { - - /* - * can't have global return inside of modules - * TODO: espree validate parserOptions.globalReturn when sourceType is setting to module.(@aladdin-add) - */ - mergedParserOptions.ecmaFeatures = Object.assign({}, mergedParserOptions.ecmaFeatures, { globalReturn: false }); - } - - mergedParserOptions.ecmaVersion = normalizeEcmaVersion(parser, mergedParserOptions.ecmaVersion); - - return mergedParserOptions; -} - -/** - * Converts parserOptions to languageOptions for backwards compatibility with eslintrc. - * @param {ConfigData} config Config object. - * @param {Object} config.globals Global variable definitions. - * @param {Parser} config.parser The parser to use. - * @param {ParserOptions} config.parserOptions The parserOptions to use. - * @returns {LanguageOptions} The languageOptions equivalent. - */ -function createLanguageOptions({ globals: configuredGlobals, parser, parserOptions }) { - - const { - ecmaVersion, - sourceType - } = parserOptions; - - return { - globals: configuredGlobals, - ecmaVersion: normalizeEcmaVersionForLanguageOptions(ecmaVersion), - sourceType, - parser, - parserOptions - }; -} - -/** - * Combines the provided globals object with the globals from environments - * @param {Record} providedGlobals The 'globals' key in a config - * @param {Environment[]} enabledEnvironments The environments enabled in configuration and with inline comments - * @returns {Record} The resolved globals object - */ -function resolveGlobals(providedGlobals, enabledEnvironments) { - return Object.assign( - Object.create(null), - ...enabledEnvironments.filter(env => env.globals).map(env => env.globals), - providedGlobals - ); -} - -/** - * Store time measurements in map - * @param {number} time Time measurement - * @param {Object} timeOpts Options relating which time was measured - * @param {WeakMap} slots Linter internal slots map - * @returns {void} - */ -function storeTime(time, timeOpts, slots) { - const { type, key } = timeOpts; - - if (!slots.times) { - slots.times = { passes: [{}] }; - } - - const passIndex = slots.fixPasses; - - if (passIndex > slots.times.passes.length - 1) { - slots.times.passes.push({}); - } - - if (key) { - slots.times.passes[passIndex][type] ??= {}; - slots.times.passes[passIndex][type][key] ??= { total: 0 }; - slots.times.passes[passIndex][type][key].total += time; - } else { - slots.times.passes[passIndex][type] ??= { total: 0 }; - slots.times.passes[passIndex][type].total += time; - } -} - -/** - * Get the options for a rule (not including severity), if any - * @param {RuleConfig} ruleConfig rule configuration - * @param {Object|undefined} defaultOptions rule.meta.defaultOptions - * @returns {Array} of rule options, empty Array if none - */ -function getRuleOptions(ruleConfig, defaultOptions) { - if (Array.isArray(ruleConfig)) { - return deepMergeArrays(defaultOptions, ruleConfig.slice(1)); - } - return defaultOptions ?? []; -} - -/** - * Analyze scope of the given AST. - * @param {ASTNode} ast The `Program` node to analyze. - * @param {LanguageOptions} languageOptions The parser options. - * @param {Record} visitorKeys The visitor keys. - * @returns {ScopeManager} The analysis result. - */ -function analyzeScope(ast, languageOptions, visitorKeys) { - const parserOptions = languageOptions.parserOptions; - const ecmaFeatures = parserOptions.ecmaFeatures || {}; - const ecmaVersion = languageOptions.ecmaVersion || DEFAULT_ECMA_VERSION; - - return eslintScope.analyze(ast, { - ignoreEval: true, - nodejsScope: ecmaFeatures.globalReturn, - impliedStrict: ecmaFeatures.impliedStrict, - ecmaVersion: typeof ecmaVersion === "number" ? ecmaVersion : 6, - sourceType: languageOptions.sourceType || "script", - childVisitorKeys: visitorKeys || evk.KEYS, - fallback: Traverser.getKeys - }); -} - -/** - * Runs a rule, and gets its listeners - * @param {Rule} rule A rule object - * @param {Context} ruleContext The context that should be passed to the rule - * @throws {TypeError} If `rule` is not an object with a `create` method - * @throws {any} Any error during the rule's `create` - * @returns {Object} A map of selector listeners provided by the rule - */ -function createRuleListeners(rule, ruleContext) { - - if (!rule || typeof rule !== "object" || typeof rule.create !== "function") { - throw new TypeError(`Error while loading rule '${ruleContext.id}': Rule must be an object with a \`create\` method`); - } - - try { - return rule.create(ruleContext); - } catch (ex) { - ex.message = `Error while loading rule '${ruleContext.id}': ${ex.message}`; - throw ex; - } -} - -/** - * Runs the given rules on the given SourceCode object - * @param {SourceCode} sourceCode A SourceCode object for the given text - * @param {Object} configuredRules The rules configuration - * @param {function(string): Rule} ruleMapper A mapper function from rule names to rules - * @param {string | undefined} parserName The name of the parser in the config - * @param {Language} language The language object used for parsing. - * @param {LanguageOptions} languageOptions The options for parsing the code. - * @param {Object} settings The settings that were enabled in the config - * @param {string} filename The reported filename of the code - * @param {boolean} applyDefaultOptions If true, apply rules' meta.defaultOptions in computing their config options. - * @param {boolean} disableFixes If true, it doesn't make `fix` properties. - * @param {string | undefined} cwd cwd of the cli - * @param {string} physicalFilename The full path of the file on disk without any code block information - * @param {Function} ruleFilter A predicate function to filter which rules should be executed. - * @param {boolean} stats If true, stats are collected appended to the result - * @param {WeakMap} slots InternalSlotsMap of linter - * @returns {LintMessage[]} An array of reported problems - * @throws {Error} If traversal into a node fails. - */ -function runRules( - sourceCode, - configuredRules, - ruleMapper, - parserName, - language, - languageOptions, - settings, - filename, - applyDefaultOptions, - disableFixes, - cwd, - physicalFilename, - ruleFilter, - stats, - slots -) { - const emitter = createEmitter(); - - // must happen first to assign all node.parent properties - const eventQueue = sourceCode.traverse(); - - /* - * Create a frozen object with the ruleContext properties and methods that are shared by all rules. - * All rule contexts will inherit from this object. This avoids the performance penalty of copying all the - * properties once for each rule. - */ - const sharedTraversalContext = new FileContext({ - cwd, - filename, - physicalFilename: physicalFilename || filename, - sourceCode, - parserOptions: { - ...languageOptions.parserOptions - }, - parserPath: parserName, - languageOptions, - settings - }); - - const lintingProblems = []; - - Object.keys(configuredRules).forEach(ruleId => { - const severity = ConfigOps.getRuleSeverity(configuredRules[ruleId]); - - // not load disabled rules - if (severity === 0) { - return; - } - - if (ruleFilter && !ruleFilter({ ruleId, severity })) { - return; - } - - const rule = ruleMapper(ruleId); - - if (!rule) { - lintingProblems.push(createLintingProblem({ ruleId, language })); - return; - } - - const messageIds = rule.meta && rule.meta.messages; - let reportTranslator = null; - const ruleContext = Object.freeze( - Object.assign( - Object.create(sharedTraversalContext), - { - id: ruleId, - options: getRuleOptions(configuredRules[ruleId], applyDefaultOptions ? rule.meta?.defaultOptions : void 0), - report(...args) { - - /* - * Create a report translator lazily. - * In a vast majority of cases, any given rule reports zero errors on a given - * piece of code. Creating a translator lazily avoids the performance cost of - * creating a new translator function for each rule that usually doesn't get - * called. - * - * Using lazy report translators improves end-to-end performance by about 3% - * with Node 8.4.0. - */ - if (reportTranslator === null) { - reportTranslator = createReportTranslator({ - ruleId, - severity, - sourceCode, - messageIds, - disableFixes, - language - }); - } - const problem = reportTranslator(...args); - - if (problem.fix && !(rule.meta && rule.meta.fixable)) { - throw new Error("Fixable rules must set the `meta.fixable` property to \"code\" or \"whitespace\"."); - } - if (problem.suggestions && !(rule.meta && rule.meta.hasSuggestions === true)) { - if (rule.meta && rule.meta.docs && typeof rule.meta.docs.suggestion !== "undefined") { - - // Encourage migration from the former property name. - throw new Error("Rules with suggestions must set the `meta.hasSuggestions` property to `true`. `meta.docs.suggestion` is ignored by ESLint."); - } - throw new Error("Rules with suggestions must set the `meta.hasSuggestions` property to `true`."); - } - lintingProblems.push(problem); - } - } - ) - ); - - const ruleListenersReturn = (timing.enabled || stats) - ? timing.time(ruleId, createRuleListeners, stats)(rule, ruleContext) : createRuleListeners(rule, ruleContext); - - const ruleListeners = stats ? ruleListenersReturn.result : ruleListenersReturn; - - if (stats) { - storeTime(ruleListenersReturn.tdiff, { type: "rules", key: ruleId }, slots); - } - - /** - * Include `ruleId` in error logs - * @param {Function} ruleListener A rule method that listens for a node. - * @returns {Function} ruleListener wrapped in error handler - */ - function addRuleErrorHandler(ruleListener) { - return function ruleErrorHandler(...listenerArgs) { - try { - const ruleListenerReturn = ruleListener(...listenerArgs); - - const ruleListenerResult = stats ? ruleListenerReturn.result : ruleListenerReturn; - - if (stats) { - storeTime(ruleListenerReturn.tdiff, { type: "rules", key: ruleId }, slots); - } - - return ruleListenerResult; - } catch (e) { - e.ruleId = ruleId; - throw e; - } - }; - } - - if (typeof ruleListeners === "undefined" || ruleListeners === null) { - throw new Error(`The create() function for rule '${ruleId}' did not return an object.`); - } - - // add all the selectors from the rule as listeners - Object.keys(ruleListeners).forEach(selector => { - const ruleListener = (timing.enabled || stats) - ? timing.time(ruleId, ruleListeners[selector], stats) : ruleListeners[selector]; - - emitter.on( - selector, - addRuleErrorHandler(ruleListener) - ); - }); - }); - - const eventGenerator = new NodeEventGenerator(emitter, { - visitorKeys: sourceCode.visitorKeys ?? language.visitorKeys, - fallback: Traverser.getKeys, - matchClass: language.matchesSelectorClass ?? (() => false), - nodeTypeKey: language.nodeTypeKey - }); - - for (const step of eventQueue) { - switch (step.kind) { - case STEP_KIND_VISIT: { - try { - if (step.phase === 1) { - eventGenerator.enterNode(step.target); - } else { - eventGenerator.leaveNode(step.target); - } - } catch (err) { - err.currentNode = step.target; - throw err; - } - break; - } - - case STEP_KIND_CALL: { - emitter.emit(step.target, ...step.args); - break; - } - - default: - throw new Error(`Invalid traversal step found: "${step.type}".`); - } - - } - - return lintingProblems; -} - -/** - * Ensure the source code to be a string. - * @param {string|SourceCode} textOrSourceCode The text or source code object. - * @returns {string} The source code text. - */ -function ensureText(textOrSourceCode) { - if (typeof textOrSourceCode === "object") { - const { hasBOM, text } = textOrSourceCode; - const bom = hasBOM ? "\uFEFF" : ""; - - return bom + text; - } - - return String(textOrSourceCode); -} - -/** - * Get an environment. - * @param {LinterInternalSlots} slots The internal slots of Linter. - * @param {string} envId The environment ID to get. - * @returns {Environment|null} The environment. - */ -function getEnv(slots, envId) { - return ( - (slots.lastConfigArray && slots.lastConfigArray.pluginEnvironments.get(envId)) || - BuiltInEnvironments.get(envId) || - null - ); -} - -/** - * Get a rule. - * @param {LinterInternalSlots} slots The internal slots of Linter. - * @param {string} ruleId The rule ID to get. - * @returns {Rule|null} The rule. - */ -function getRule(slots, ruleId) { - return ( - (slots.lastConfigArray && slots.lastConfigArray.pluginRules.get(ruleId)) || - slots.ruleMap.get(ruleId) - ); -} - -/** - * Normalize the value of the cwd - * @param {string | undefined} cwd raw value of the cwd, path to a directory that should be considered as the current working directory, can be undefined. - * @returns {string | undefined} normalized cwd - */ -function normalizeCwd(cwd) { - if (cwd) { - return cwd; - } - if (typeof process === "object") { - return process.cwd(); - } - - // It's more explicit to assign the undefined - // eslint-disable-next-line no-undefined -- Consistently returning a value - return undefined; -} - -/** - * The map to store private data. - * @type {WeakMap} - */ -const internalSlotsMap = new WeakMap(); - -/** - * Throws an error when the given linter is in flat config mode. - * @param {Linter} linter The linter to check. - * @returns {void} - * @throws {Error} If the linter is in flat config mode. - */ -function assertEslintrcConfig(linter) { - const { configType } = internalSlotsMap.get(linter); - - if (configType === "flat") { - throw new Error("This method cannot be used with flat config. Add your entries directly into the config array."); - } -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Object that is responsible for verifying JavaScript text - * @name Linter - */ -class Linter { - - /** - * Initialize the Linter. - * @param {Object} [config] the config object - * @param {string} [config.cwd] path to a directory that should be considered as the current working directory, can be undefined. - * @param {Array} [config.flags] the feature flags to enable. - * @param {"flat"|"eslintrc"} [config.configType="flat"] the type of config used. - */ - constructor({ cwd, configType = "flat", flags = [] } = {}) { - - flags.forEach(flag => { - if (inactiveFlags.has(flag)) { - throw new Error(`The flag '${flag}' is inactive: ${inactiveFlags.get(flag)}`); - } - - if (!activeFlags.has(flag)) { - throw new Error(`Unknown flag '${flag}'.`); - } - }); - - internalSlotsMap.set(this, { - cwd: normalizeCwd(cwd), - flags, - lastConfigArray: null, - lastSourceCode: null, - lastSuppressedMessages: [], - configType, // TODO: Remove after flat config conversion - parserMap: new Map([["espree", espree]]), - ruleMap: new Rules() - }); - - this.version = pkg.version; - } - - /** - * Getter for package version. - * @static - * @returns {string} The version from package.json. - */ - static get version() { - return pkg.version; - } - - /** - * Indicates if the given feature flag is enabled for this instance. - * @param {string} flag The feature flag to check. - * @returns {boolean} `true` if the feature flag is enabled, `false` if not. - */ - hasFlag(flag) { - return internalSlotsMap.get(this).flags.includes(flag); - } - - /** - * Lint using eslintrc and without processors. - * @param {VFile} file The file to lint. - * @param {ConfigData} providedConfig An ESLintConfig instance to configure everything. - * @param {VerifyOptions} [providedOptions] The optional filename of the file being checked. - * @throws {Error} If during rule execution. - * @returns {(LintMessage|SuppressedLintMessage)[]} The results as an array of messages or an empty array if no messages. - */ - #eslintrcVerifyWithoutProcessors(file, providedConfig, providedOptions) { - - const slots = internalSlotsMap.get(this); - const config = providedConfig || {}; - const options = normalizeVerifyOptions(providedOptions, config); - - // Resolve parser. - let parserName = DEFAULT_PARSER_NAME; - let parser = espree; - - if (typeof config.parser === "object" && config.parser !== null) { - parserName = config.parser.filePath; - parser = config.parser.definition; - } else if (typeof config.parser === "string") { - if (!slots.parserMap.has(config.parser)) { - return [{ - ruleId: null, - fatal: true, - severity: 2, - message: `Configured parser '${config.parser}' was not found.`, - line: 0, - column: 0, - nodeType: null - }]; - } - parserName = config.parser; - parser = slots.parserMap.get(config.parser); - } - - // search and apply "eslint-env *". - const envInFile = options.allowInlineConfig && !options.warnInlineConfig - ? findEslintEnv(file.body) - : {}; - const resolvedEnvConfig = Object.assign({ builtin: true }, config.env, envInFile); - const enabledEnvs = Object.keys(resolvedEnvConfig) - .filter(envName => resolvedEnvConfig[envName]) - .map(envName => getEnv(slots, envName)) - .filter(env => env); - - const parserOptions = resolveParserOptions(parser, config.parserOptions || {}, enabledEnvs); - const configuredGlobals = resolveGlobals(config.globals || {}, enabledEnvs); - const settings = config.settings || {}; - const languageOptions = createLanguageOptions({ - globals: config.globals, - parser, - parserOptions - }); - - if (!slots.lastSourceCode) { - let t; - - if (options.stats) { - t = startTime(); - } - - const parserService = new ParserService(); - const parseResult = parserService.parseSync( - file, - { - language: jslang, - languageOptions - } - ); - - if (options.stats) { - const time = endTime(t); - const timeOpts = { type: "parse" }; - - storeTime(time, timeOpts, slots); - } - - if (!parseResult.ok) { - return parseResult.errors; - } - - slots.lastSourceCode = parseResult.sourceCode; - } else { - - /* - * If the given source code object as the first argument does not have scopeManager, analyze the scope. - * This is for backward compatibility (SourceCode is frozen so it cannot rebind). - */ - if (!slots.lastSourceCode.scopeManager) { - slots.lastSourceCode = new SourceCode({ - text: slots.lastSourceCode.text, - ast: slots.lastSourceCode.ast, - hasBOM: slots.lastSourceCode.hasBOM, - parserServices: slots.lastSourceCode.parserServices, - visitorKeys: slots.lastSourceCode.visitorKeys, - scopeManager: analyzeScope(slots.lastSourceCode.ast, languageOptions) - }); - } - } - - const sourceCode = slots.lastSourceCode; - const commentDirectives = options.allowInlineConfig - ? getDirectiveComments(sourceCode, ruleId => getRule(slots, ruleId), options.warnInlineConfig, config) - : { configuredRules: {}, enabledGlobals: {}, exportedVariables: {}, problems: [], disableDirectives: [] }; - - addDeclaredGlobals( - sourceCode.scopeManager.scopes[0], - configuredGlobals, - { exportedVariables: commentDirectives.exportedVariables, enabledGlobals: commentDirectives.enabledGlobals } - ); - - const configuredRules = Object.assign({}, config.rules, commentDirectives.configuredRules); - - let lintingProblems; - - try { - lintingProblems = runRules( - sourceCode, - configuredRules, - ruleId => getRule(slots, ruleId), - parserName, - jslang, - languageOptions, - settings, - options.filename, - true, - options.disableFixes, - slots.cwd, - providedOptions.physicalFilename, - null, - options.stats, - slots - ); - } catch (err) { - err.message += `\nOccurred while linting ${options.filename}`; - debug("An error occurred while traversing"); - debug("Filename:", options.filename); - if (err.currentNode) { - const { line } = sourceCode.getLoc(err.currentNode).start; - - debug("Line:", line); - err.message += `:${line}`; - } - debug("Parser Options:", parserOptions); - debug("Parser Path:", parserName); - debug("Settings:", settings); - - if (err.ruleId) { - err.message += `\nRule: "${err.ruleId}"`; - } - - throw err; - } - - return applyDisableDirectives({ - language: jslang, - sourceCode, - directives: commentDirectives.disableDirectives, - disableFixes: options.disableFixes, - problems: lintingProblems - .concat(commentDirectives.problems) - .sort((problemA, problemB) => problemA.line - problemB.line || problemA.column - problemB.column), - reportUnusedDisableDirectives: options.reportUnusedDisableDirectives - }); - - } - - /** - * Same as linter.verify, except without support for processors. - * @param {string|SourceCode} textOrSourceCode The text to parse or a SourceCode object. - * @param {ConfigData} providedConfig An ESLintConfig instance to configure everything. - * @param {VerifyOptions} [providedOptions] The optional filename of the file being checked. - * @throws {Error} If during rule execution. - * @returns {(LintMessage|SuppressedLintMessage)[]} The results as an array of messages or an empty array if no messages. - */ - _verifyWithoutProcessors(textOrSourceCode, providedConfig, providedOptions) { - const slots = internalSlotsMap.get(this); - const filename = normalizeFilename(providedOptions.filename || ""); - let text; - - // evaluate arguments - if (typeof textOrSourceCode === "string") { - slots.lastSourceCode = null; - text = textOrSourceCode; - } else { - slots.lastSourceCode = textOrSourceCode; - text = textOrSourceCode.text; - } - - const file = new VFile(filename, text, { - physicalPath: providedOptions.physicalFilename - }); - - return this.#eslintrcVerifyWithoutProcessors(file, providedConfig, providedOptions); - } - - /** - * Verifies the text against the rules specified by the second argument. - * @param {string|SourceCode} textOrSourceCode The text to parse or a SourceCode object. - * @param {ConfigData|ConfigArray} config An ESLintConfig instance to configure everything. - * @param {(string|(VerifyOptions&ProcessorOptions))} [filenameOrOptions] The optional filename of the file being checked. - * If this is not set, the filename will default to '' in the rule context. If - * an object, then it has "filename", "allowInlineConfig", and some properties. - * @returns {LintMessage[]} The results as an array of messages or an empty array if no messages. - */ - verify(textOrSourceCode, config, filenameOrOptions) { - debug("Verify"); - - const { configType, cwd } = internalSlotsMap.get(this); - - const options = typeof filenameOrOptions === "string" - ? { filename: filenameOrOptions } - : filenameOrOptions || {}; - - const configToUse = config ?? {}; - - if (configType !== "eslintrc") { - - /* - * Because of how Webpack packages up the files, we can't - * compare directly to `FlatConfigArray` using `instanceof` - * because it's not the same `FlatConfigArray` as in the tests. - * So, we work around it by assuming an array is, in fact, a - * `FlatConfigArray` if it has a `getConfig()` method. - */ - let configArray = configToUse; - - if (!Array.isArray(configToUse) || typeof configToUse.getConfig !== "function") { - configArray = new FlatConfigArray(configToUse, { basePath: cwd }); - configArray.normalizeSync(); - } - - return this._distinguishSuppressedMessages(this._verifyWithFlatConfigArray(textOrSourceCode, configArray, options, true)); - } - - if (typeof configToUse.extractConfig === "function") { - return this._distinguishSuppressedMessages(this._verifyWithConfigArray(textOrSourceCode, configToUse, options)); - } - - /* - * If we get to here, it means `config` is just an object rather - * than a config array so we can go right into linting. - */ - - /* - * `Linter` doesn't support `overrides` property in configuration. - * So we cannot apply multiple processors. - */ - if (options.preprocess || options.postprocess) { - return this._distinguishSuppressedMessages(this._verifyWithProcessor(textOrSourceCode, configToUse, options)); - } - return this._distinguishSuppressedMessages(this._verifyWithoutProcessors(textOrSourceCode, configToUse, options)); - } - - /** - * Verify with a processor. - * @param {string|SourceCode} textOrSourceCode The source code. - * @param {FlatConfig} config The config array. - * @param {VerifyOptions&ProcessorOptions} options The options. - * @param {FlatConfigArray} [configForRecursive] The `ConfigArray` object to apply multiple processors recursively. - * @returns {(LintMessage|SuppressedLintMessage)[]} The found problems. - */ - _verifyWithFlatConfigArrayAndProcessor(textOrSourceCode, config, options, configForRecursive) { - const slots = internalSlotsMap.get(this); - const filename = options.filename || ""; - const filenameToExpose = normalizeFilename(filename); - const physicalFilename = options.physicalFilename || filenameToExpose; - const text = ensureText(textOrSourceCode); - const file = new VFile(filenameToExpose, text, { - physicalPath: physicalFilename - }); - - const preprocess = options.preprocess || (rawText => [rawText]); - const postprocess = options.postprocess || (messagesList => messagesList.flat()); - - const processorService = new ProcessorService(); - const preprocessResult = processorService.preprocessSync(file, { - processor: { - preprocess, - postprocess - } - }); - - if (!preprocessResult.ok) { - return preprocessResult.errors; - } - - const filterCodeBlock = - options.filterCodeBlock || - (blockFilename => blockFilename.endsWith(".js")); - const originalExtname = path.extname(filename); - const { files } = preprocessResult; - - const messageLists = files.map(block => { - debug("A code block was found: %o", block.path || "(unnamed)"); - - // Keep the legacy behavior. - if (typeof block === "string") { - return this._verifyWithFlatConfigArrayAndWithoutProcessors(block, config, options); - } - - // Skip this block if filtered. - if (!filterCodeBlock(block.path, block.body)) { - debug("This code block was skipped."); - return []; - } - - // Resolve configuration again if the file content or extension was changed. - if (configForRecursive && (text !== block.rawBody || path.extname(block.path) !== originalExtname)) { - debug("Resolving configuration again because the file content or extension was changed."); - return this._verifyWithFlatConfigArray( - block.rawBody, - configForRecursive, - { ...options, filename: block.path, physicalFilename: block.physicalPath } - ); - } - - slots.lastSourceCode = null; - - // Does lint. - return this.#flatVerifyWithoutProcessors( - block, - config, - { ...options, filename: block.path, physicalFilename: block.physicalPath } - ); - }); - - return processorService.postprocessSync(file, messageLists, { - processor: { - preprocess, - postprocess - } - }); - } - - /** - * Verify using flat config and without any processors. - * @param {VFile} file The file to lint. - * @param {FlatConfig} providedConfig An ESLintConfig instance to configure everything. - * @param {VerifyOptions} [providedOptions] The optional filename of the file being checked. - * @throws {Error} If during rule execution. - * @returns {(LintMessage|SuppressedLintMessage)[]} The results as an array of messages or an empty array if no messages. - */ - #flatVerifyWithoutProcessors(file, providedConfig, providedOptions) { - - const slots = internalSlotsMap.get(this); - const config = providedConfig || {}; - const { settings = {}, languageOptions } = config; - const options = normalizeVerifyOptions(providedOptions, config); - - if (!slots.lastSourceCode) { - let t; - - if (options.stats) { - t = startTime(); - } - - const parserService = new ParserService(); - const parseResult = parserService.parseSync( - file, - config - ); - - if (options.stats) { - const time = endTime(t); - - storeTime(time, { type: "parse" }, slots); - } - - if (!parseResult.ok) { - return parseResult.errors; - } - - slots.lastSourceCode = parseResult.sourceCode; - } else { - - /* - * If the given source code object as the first argument does not have scopeManager, analyze the scope. - * This is for backward compatibility (SourceCode is frozen so it cannot rebind). - * - * We check explicitly for `null` to ensure that this is a JS-flavored language. - * For non-JS languages we don't want to do this. - * - * TODO: Remove this check when we stop exporting the `SourceCode` object. - */ - if (slots.lastSourceCode.scopeManager === null) { - slots.lastSourceCode = new SourceCode({ - text: slots.lastSourceCode.text, - ast: slots.lastSourceCode.ast, - hasBOM: slots.lastSourceCode.hasBOM, - parserServices: slots.lastSourceCode.parserServices, - visitorKeys: slots.lastSourceCode.visitorKeys, - scopeManager: analyzeScope(slots.lastSourceCode.ast, languageOptions) - }); - } - } - - const sourceCode = slots.lastSourceCode; - - /* - * Make adjustments based on the language options. For JavaScript, - * this is primarily about adding variables into the global scope - * to account for ecmaVersion and configured globals. - */ - sourceCode.applyLanguageOptions?.(languageOptions); - - const mergedInlineConfig = { - rules: {} - }; - const inlineConfigProblems = []; - - /* - * Inline config can be either enabled or disabled. If disabled, it's possible - * to detect the inline config and emit a warning (though this is not required). - * So we first check to see if inline config is allowed at all, and if so, we - * need to check if it's a warning or not. - */ - if (options.allowInlineConfig) { - - // if inline config should warn then add the warnings - if (options.warnInlineConfig) { - if (sourceCode.getInlineConfigNodes) { - sourceCode.getInlineConfigNodes().forEach(node => { - - const loc = sourceCode.getLoc(node); - const range = sourceCode.getRange(node); - - inlineConfigProblems.push(createLintingProblem({ - ruleId: null, - message: `'${sourceCode.text.slice(range[0], range[1])}' has no effect because you have 'noInlineConfig' setting in ${options.warnInlineConfig}.`, - loc, - severity: 1, - language: config.language - })); - - }); - } - } else { - const inlineConfigResult = sourceCode.applyInlineConfig?.(); - - if (inlineConfigResult) { - inlineConfigProblems.push( - ...inlineConfigResult.problems - .map(problem => createLintingProblem({ ...problem, language: config.language })) - .map(problem => { - problem.fatal = true; - return problem; - }) - ); - - // next we need to verify information about the specified rules - const ruleValidator = new RuleValidator(); - - for (const { config: inlineConfig, loc } of inlineConfigResult.configs) { - - Object.keys(inlineConfig.rules).forEach(ruleId => { - const rule = getRuleFromConfig(ruleId, config); - const ruleValue = inlineConfig.rules[ruleId]; - - if (!rule) { - inlineConfigProblems.push(createLintingProblem({ - ruleId, - loc, - language: config.language - })); - return; - } - - if (Object.hasOwn(mergedInlineConfig.rules, ruleId)) { - inlineConfigProblems.push(createLintingProblem({ - message: `Rule "${ruleId}" is already configured by another configuration comment in the preceding code. This configuration is ignored.`, - loc, - language: config.language - })); - return; - } - - try { - - let ruleOptions = Array.isArray(ruleValue) ? ruleValue : [ruleValue]; - - assertIsRuleSeverity(ruleId, ruleOptions[0]); - - /* - * If the rule was already configured, inline rule configuration that - * only has severity should retain options from the config and just override the severity. - * - * Example: - * - * { - * rules: { - * curly: ["error", "multi"] - * } - * } - * - * /* eslint curly: ["warn"] * / - * - * Results in: - * - * curly: ["warn", "multi"] - */ - - let shouldValidateOptions = true; - - if ( - - /* - * If inline config for the rule has only severity - */ - ruleOptions.length === 1 && - - /* - * And the rule was already configured - */ - config.rules && Object.hasOwn(config.rules, ruleId) - ) { - - /* - * Then use severity from the inline config and options from the provided config - */ - ruleOptions = [ - ruleOptions[0], // severity from the inline config - ...config.rules[ruleId].slice(1) // options from the provided config - ]; - - // if the rule was enabled, the options have already been validated - if (config.rules[ruleId][0] > 0) { - shouldValidateOptions = false; - } - } else { - - /** - * Since we know the user provided options, apply defaults on top of them - */ - const slicedOptions = ruleOptions.slice(1); - const mergedOptions = deepMergeArrays(rule.meta?.defaultOptions, slicedOptions); - - if (mergedOptions.length) { - ruleOptions = [ruleOptions[0], ...mergedOptions]; - } - } - - if (shouldValidateOptions) { - ruleValidator.validate({ - plugins: config.plugins, - rules: { - [ruleId]: ruleOptions - } - }); - } - - mergedInlineConfig.rules[ruleId] = ruleOptions; - } catch (err) { - - /* - * If the rule has invalid `meta.schema`, throw the error because - * this is not an invalid inline configuration but an invalid rule. - */ - if (err.code === "ESLINT_INVALID_RULE_OPTIONS_SCHEMA") { - throw err; - } - - let baseMessage = err.message.slice( - err.message.startsWith("Key \"rules\":") - ? err.message.indexOf(":", 12) + 1 - : err.message.indexOf(":") + 1 - ).trim(); - - if (err.messageTemplate) { - baseMessage += ` You passed "${ruleValue}".`; - } - - inlineConfigProblems.push(createLintingProblem({ - ruleId, - message: `Inline configuration for rule "${ruleId}" is invalid:\n\t${baseMessage}\n`, - loc, - language: config.language - })); - } - }); - } - } - } - } - - const commentDirectives = options.allowInlineConfig && !options.warnInlineConfig - ? getDirectiveCommentsForFlatConfig( - sourceCode, - ruleId => getRuleFromConfig(ruleId, config), - config.language - ) - : { problems: [], disableDirectives: [] }; - - const configuredRules = Object.assign({}, config.rules, mergedInlineConfig.rules); - - let lintingProblems; - - sourceCode.finalize?.(); - - try { - lintingProblems = runRules( - sourceCode, - configuredRules, - ruleId => getRuleFromConfig(ruleId, config), - void 0, - config.language, - languageOptions, - settings, - options.filename, - false, - options.disableFixes, - slots.cwd, - providedOptions.physicalFilename, - options.ruleFilter, - options.stats, - slots - ); - } catch (err) { - err.message += `\nOccurred while linting ${options.filename}`; - debug("An error occurred while traversing"); - debug("Filename:", options.filename); - if (err.currentNode) { - const { line } = sourceCode.getLoc(err.currentNode).start; - - debug("Line:", line); - err.message += `:${line}`; - } - debug("Parser Options:", languageOptions.parserOptions); - - // debug("Parser Path:", parserName); - debug("Settings:", settings); - - if (err.ruleId) { - err.message += `\nRule: "${err.ruleId}"`; - } - - throw err; - } - - return applyDisableDirectives({ - language: config.language, - sourceCode, - directives: commentDirectives.disableDirectives, - disableFixes: options.disableFixes, - problems: lintingProblems - .concat(commentDirectives.problems) - .concat(inlineConfigProblems) - .sort((problemA, problemB) => problemA.line - problemB.line || problemA.column - problemB.column), - reportUnusedDisableDirectives: options.reportUnusedDisableDirectives, - ruleFilter: options.ruleFilter, - configuredRules - }); - - - } - - /** - * Same as linter.verify, except without support for processors. - * @param {string|SourceCode} textOrSourceCode The text to parse or a SourceCode object. - * @param {FlatConfig} providedConfig An ESLintConfig instance to configure everything. - * @param {VerifyOptions} [providedOptions] The optional filename of the file being checked. - * @throws {Error} If during rule execution. - * @returns {(LintMessage|SuppressedLintMessage)[]} The results as an array of messages or an empty array if no messages. - */ - _verifyWithFlatConfigArrayAndWithoutProcessors(textOrSourceCode, providedConfig, providedOptions) { - const slots = internalSlotsMap.get(this); - const filename = normalizeFilename(providedOptions.filename || ""); - let text; - - // evaluate arguments - if (typeof textOrSourceCode === "string") { - slots.lastSourceCode = null; - text = textOrSourceCode; - } else { - slots.lastSourceCode = textOrSourceCode; - text = textOrSourceCode.text; - } - - const file = new VFile(filename, text, { - physicalPath: providedOptions.physicalFilename - }); - - return this.#flatVerifyWithoutProcessors(file, providedConfig, providedOptions); - } - - /** - * Verify a given code with `ConfigArray`. - * @param {string|SourceCode} textOrSourceCode The source code. - * @param {ConfigArray} configArray The config array. - * @param {VerifyOptions&ProcessorOptions} options The options. - * @returns {(LintMessage|SuppressedLintMessage)[]} The found problems. - */ - _verifyWithConfigArray(textOrSourceCode, configArray, options) { - debug("With ConfigArray: %s", options.filename); - - // Store the config array in order to get plugin envs and rules later. - internalSlotsMap.get(this).lastConfigArray = configArray; - - // Extract the final config for this file. - const config = configArray.extractConfig(options.filename); - const processor = - config.processor && - configArray.pluginProcessors.get(config.processor); - - // Verify. - if (processor) { - debug("Apply the processor: %o", config.processor); - const { preprocess, postprocess, supportsAutofix } = processor; - const disableFixes = options.disableFixes || !supportsAutofix; - - return this._verifyWithProcessor( - textOrSourceCode, - config, - { ...options, disableFixes, postprocess, preprocess }, - configArray - ); - } - return this._verifyWithoutProcessors(textOrSourceCode, config, options); - } - - /** - * Verify a given code with a flat config. - * @param {string|SourceCode} textOrSourceCode The source code. - * @param {FlatConfigArray} configArray The config array. - * @param {VerifyOptions&ProcessorOptions} options The options. - * @param {boolean} [firstCall=false] Indicates if this is being called directly - * from verify(). (TODO: Remove once eslintrc is removed.) - * @returns {(LintMessage|SuppressedLintMessage)[]} The found problems. - */ - _verifyWithFlatConfigArray(textOrSourceCode, configArray, options, firstCall = false) { - debug("With flat config: %s", options.filename); - - // we need a filename to match configs against - const filename = options.filename || "__placeholder__.js"; - - // Store the config array in order to get plugin envs and rules later. - internalSlotsMap.get(this).lastConfigArray = configArray; - const config = configArray.getConfig(filename); - - if (!config) { - return [ - { - ruleId: null, - severity: 1, - message: `No matching configuration found for ${filename}.`, - line: 0, - column: 0, - nodeType: null - } - ]; - } - - // Verify. - if (config.processor) { - debug("Apply the processor: %o", config.processor); - const { preprocess, postprocess, supportsAutofix } = config.processor; - const disableFixes = options.disableFixes || !supportsAutofix; - - return this._verifyWithFlatConfigArrayAndProcessor( - textOrSourceCode, - config, - { ...options, filename, disableFixes, postprocess, preprocess }, - configArray - ); - } - - // check for options-based processing - if (firstCall && (options.preprocess || options.postprocess)) { - return this._verifyWithFlatConfigArrayAndProcessor(textOrSourceCode, config, options); - } - - return this._verifyWithFlatConfigArrayAndWithoutProcessors(textOrSourceCode, config, options); - } - - /** - * Verify with a processor. - * @param {string|SourceCode} textOrSourceCode The source code. - * @param {ConfigData|ExtractedConfig} config The config array. - * @param {VerifyOptions&ProcessorOptions} options The options. - * @param {ConfigArray} [configForRecursive] The `ConfigArray` object to apply multiple processors recursively. - * @returns {(LintMessage|SuppressedLintMessage)[]} The found problems. - */ - _verifyWithProcessor(textOrSourceCode, config, options, configForRecursive) { - const slots = internalSlotsMap.get(this); - const filename = options.filename || ""; - const filenameToExpose = normalizeFilename(filename); - const physicalFilename = options.physicalFilename || filenameToExpose; - const text = ensureText(textOrSourceCode); - const file = new VFile(filenameToExpose, text, { - physicalPath: physicalFilename - }); - - const preprocess = options.preprocess || (rawText => [rawText]); - const postprocess = options.postprocess || (messagesList => messagesList.flat()); - - const processorService = new ProcessorService(); - const preprocessResult = processorService.preprocessSync(file, { - processor: { - preprocess, - postprocess - } - }); - - if (!preprocessResult.ok) { - return preprocessResult.errors; - } - - const filterCodeBlock = - options.filterCodeBlock || - (blockFilePath => blockFilePath.endsWith(".js")); - const originalExtname = path.extname(filename); - - const { files } = preprocessResult; - - const messageLists = files.map(block => { - debug("A code block was found: %o", block.path ?? "(unnamed)"); - - // Keep the legacy behavior. - if (typeof block === "string") { - return this._verifyWithoutProcessors(block, config, options); - } - - // Skip this block if filtered. - if (!filterCodeBlock(block.path, block.body)) { - debug("This code block was skipped."); - return []; - } - - // Resolve configuration again if the file content or extension was changed. - if (configForRecursive && (text !== block.rawBody || path.extname(block.path) !== originalExtname)) { - debug("Resolving configuration again because the file content or extension was changed."); - return this._verifyWithConfigArray( - block.rawBody, - configForRecursive, - { ...options, filename: block.path, physicalFilename: block.physicalPath } - ); - } - - slots.lastSourceCode = null; - - // Does lint. - return this.#eslintrcVerifyWithoutProcessors( - block, - config, - { ...options, filename: block.path, physicalFilename: block.physicalPath } - ); - }); - - return processorService.postprocessSync(file, messageLists, { - processor: { - preprocess, - postprocess - } - }); - - } - - /** - * Given a list of reported problems, distinguish problems between normal messages and suppressed messages. - * The normal messages will be returned and the suppressed messages will be stored as lastSuppressedMessages. - * @param {Array} problems A list of reported problems. - * @returns {LintMessage[]} A list of LintMessage. - */ - _distinguishSuppressedMessages(problems) { - const messages = []; - const suppressedMessages = []; - const slots = internalSlotsMap.get(this); - - for (const problem of problems) { - if (problem.suppressions) { - suppressedMessages.push(problem); - } else { - messages.push(problem); - } - } - - slots.lastSuppressedMessages = suppressedMessages; - - return messages; - } - - /** - * Gets the SourceCode object representing the parsed source. - * @returns {SourceCode} The SourceCode object. - */ - getSourceCode() { - return internalSlotsMap.get(this).lastSourceCode; - } - - /** - * Gets the times spent on (parsing, fixing, linting) a file. - * @returns {LintTimes} The times. - */ - getTimes() { - return internalSlotsMap.get(this).times ?? { passes: [] }; - } - - /** - * Gets the number of autofix passes that were made in the last run. - * @returns {number} The number of autofix passes. - */ - getFixPassCount() { - return internalSlotsMap.get(this).fixPasses ?? 0; - } - - /** - * Gets the list of SuppressedLintMessage produced in the last running. - * @returns {SuppressedLintMessage[]} The list of SuppressedLintMessage - */ - getSuppressedMessages() { - return internalSlotsMap.get(this).lastSuppressedMessages; - } - - /** - * Defines a new linting rule. - * @param {string} ruleId A unique rule identifier - * @param {Rule} rule A rule object - * @returns {void} - */ - defineRule(ruleId, rule) { - assertEslintrcConfig(this); - internalSlotsMap.get(this).ruleMap.define(ruleId, rule); - } - - /** - * Defines many new linting rules. - * @param {Record} rulesToDefine map from unique rule identifier to rule - * @returns {void} - */ - defineRules(rulesToDefine) { - assertEslintrcConfig(this); - Object.getOwnPropertyNames(rulesToDefine).forEach(ruleId => { - this.defineRule(ruleId, rulesToDefine[ruleId]); - }); - } - - /** - * Gets an object with all loaded rules. - * @returns {Map} All loaded rules - */ - getRules() { - assertEslintrcConfig(this); - const { lastConfigArray, ruleMap } = internalSlotsMap.get(this); - - return new Map(function *() { - yield* ruleMap; - - if (lastConfigArray) { - yield* lastConfigArray.pluginRules; - } - }()); - } - - /** - * Define a new parser module - * @param {string} parserId Name of the parser - * @param {Parser} parserModule The parser object - * @returns {void} - */ - defineParser(parserId, parserModule) { - assertEslintrcConfig(this); - internalSlotsMap.get(this).parserMap.set(parserId, parserModule); - } - - /** - * Performs multiple autofix passes over the text until as many fixes as possible - * have been applied. - * @param {string} text The source text to apply fixes to. - * @param {ConfigData|ConfigArray|FlatConfigArray} config The ESLint config object to use. - * @param {VerifyOptions&ProcessorOptions&FixOptions} options The ESLint options object to use. - * @returns {{fixed:boolean,messages:LintMessage[],output:string}} The result of the fix operation as returned from the - * SourceCodeFixer. - */ - verifyAndFix(text, config, options) { - let messages, - fixedResult, - fixed = false, - passNumber = 0, - currentText = text; - const debugTextDescription = options && options.filename || `${text.slice(0, 10)}...`; - const shouldFix = options && typeof options.fix !== "undefined" ? options.fix : true; - const stats = options?.stats; - - /** - * This loop continues until one of the following is true: - * - * 1. No more fixes have been applied. - * 2. Ten passes have been made. - * - * That means anytime a fix is successfully applied, there will be another pass. - * Essentially, guaranteeing a minimum of two passes. - */ - const slots = internalSlotsMap.get(this); - - // Remove lint times from the last run. - if (stats) { - delete slots.times; - slots.fixPasses = 0; - } - - do { - passNumber++; - let tTotal; - - if (stats) { - tTotal = startTime(); - } - - debug(`Linting code for ${debugTextDescription} (pass ${passNumber})`); - messages = this.verify(currentText, config, options); - - debug(`Generating fixed text for ${debugTextDescription} (pass ${passNumber})`); - let t; - - if (stats) { - t = startTime(); - } - - fixedResult = SourceCodeFixer.applyFixes(currentText, messages, shouldFix); - - if (stats) { - - if (fixedResult.fixed) { - const time = endTime(t); - - storeTime(time, { type: "fix" }, slots); - slots.fixPasses++; - } else { - storeTime(0, { type: "fix" }, slots); - } - } - - /* - * stop if there are any syntax errors. - * 'fixedResult.output' is a empty string. - */ - if (messages.length === 1 && messages[0].fatal) { - break; - } - - // keep track if any fixes were ever applied - important for return value - fixed = fixed || fixedResult.fixed; - - // update to use the fixed output instead of the original text - currentText = fixedResult.output; - - if (stats) { - tTotal = endTime(tTotal); - const passIndex = slots.times.passes.length - 1; - - slots.times.passes[passIndex].total = tTotal; - } - - } while ( - fixedResult.fixed && - passNumber < MAX_AUTOFIX_PASSES - ); - - /* - * If the last result had fixes, we need to lint again to be sure we have - * the most up-to-date information. - */ - if (fixedResult.fixed) { - let tTotal; - - if (stats) { - tTotal = startTime(); - } - - fixedResult.messages = this.verify(currentText, config, options); - - if (stats) { - storeTime(0, { type: "fix" }, slots); - slots.times.passes.at(-1).total = endTime(tTotal); - } - } - - // ensure the last result properly reflects if fixes were done - fixedResult.fixed = fixed; - fixedResult.output = currentText; - - return fixedResult; - } -} - -module.exports = { - Linter, - - /** - * Get the internal slots of a given Linter instance for tests. - * @param {Linter} instance The Linter instance to get. - * @returns {LinterInternalSlots} The internal slots. - */ - getLinterInternalSlots(instance) { - return internalSlotsMap.get(instance); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/node-event-generator.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/node-event-generator.js deleted file mode 100644 index 0eb2f8dc..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/node-event-generator.js +++ /dev/null @@ -1,352 +0,0 @@ -/** - * @fileoverview The event generator for AST nodes. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const esquery = require("esquery"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** - * An object describing an AST selector - * @typedef {Object} ASTSelector - * @property {string} rawSelector The string that was parsed into this selector - * @property {boolean} isExit `true` if this should be emitted when exiting the node rather than when entering - * @property {Object} parsedSelector An object (from esquery) describing the matching behavior of the selector - * @property {string[]|null} listenerTypes A list of node types that could possibly cause the selector to match, - * or `null` if all node types could cause a match - * @property {number} attributeCount The total number of classes, pseudo-classes, and attribute queries in this selector - * @property {number} identifierCount The total number of identifier queries in this selector - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Computes the union of one or more arrays - * @param {...any[]} arrays One or more arrays to union - * @returns {any[]} The union of the input arrays - */ -function union(...arrays) { - return [...new Set(arrays.flat())]; -} - -/** - * Computes the intersection of one or more arrays - * @param {...any[]} arrays One or more arrays to intersect - * @returns {any[]} The intersection of the input arrays - */ -function intersection(...arrays) { - if (arrays.length === 0) { - return []; - } - - let result = [...new Set(arrays[0])]; - - for (const array of arrays.slice(1)) { - result = result.filter(x => array.includes(x)); - } - return result; -} - -/** - * Gets the possible types of a selector - * @param {Object} parsedSelector An object (from esquery) describing the matching behavior of the selector - * @returns {string[]|null} The node types that could possibly trigger this selector, or `null` if all node types could trigger it - */ -function getPossibleTypes(parsedSelector) { - switch (parsedSelector.type) { - case "identifier": - return [parsedSelector.value]; - - case "matches": { - const typesForComponents = parsedSelector.selectors.map(getPossibleTypes); - - if (typesForComponents.every(Boolean)) { - return union(...typesForComponents); - } - return null; - } - - case "compound": { - const typesForComponents = parsedSelector.selectors.map(getPossibleTypes).filter(typesForComponent => typesForComponent); - - // If all of the components could match any type, then the compound could also match any type. - if (!typesForComponents.length) { - return null; - } - - /* - * If at least one of the components could only match a particular type, the compound could only match - * the intersection of those types. - */ - return intersection(...typesForComponents); - } - - case "child": - case "descendant": - case "sibling": - case "adjacent": - return getPossibleTypes(parsedSelector.right); - - case "class": - if (parsedSelector.name === "function") { - return ["FunctionDeclaration", "FunctionExpression", "ArrowFunctionExpression"]; - } - - return null; - - default: - return null; - - } -} - -/** - * Counts the number of class, pseudo-class, and attribute queries in this selector - * @param {Object} parsedSelector An object (from esquery) describing the selector's matching behavior - * @returns {number} The number of class, pseudo-class, and attribute queries in this selector - */ -function countClassAttributes(parsedSelector) { - switch (parsedSelector.type) { - case "child": - case "descendant": - case "sibling": - case "adjacent": - return countClassAttributes(parsedSelector.left) + countClassAttributes(parsedSelector.right); - - case "compound": - case "not": - case "matches": - return parsedSelector.selectors.reduce((sum, childSelector) => sum + countClassAttributes(childSelector), 0); - - case "attribute": - case "field": - case "nth-child": - case "nth-last-child": - return 1; - - default: - return 0; - } -} - -/** - * Counts the number of identifier queries in this selector - * @param {Object} parsedSelector An object (from esquery) describing the selector's matching behavior - * @returns {number} The number of identifier queries - */ -function countIdentifiers(parsedSelector) { - switch (parsedSelector.type) { - case "child": - case "descendant": - case "sibling": - case "adjacent": - return countIdentifiers(parsedSelector.left) + countIdentifiers(parsedSelector.right); - - case "compound": - case "not": - case "matches": - return parsedSelector.selectors.reduce((sum, childSelector) => sum + countIdentifiers(childSelector), 0); - - case "identifier": - return 1; - - default: - return 0; - } -} - -/** - * Compares the specificity of two selector objects, with CSS-like rules. - * @param {ASTSelector} selectorA An AST selector descriptor - * @param {ASTSelector} selectorB Another AST selector descriptor - * @returns {number} - * a value less than 0 if selectorA is less specific than selectorB - * a value greater than 0 if selectorA is more specific than selectorB - * a value less than 0 if selectorA and selectorB have the same specificity, and selectorA <= selectorB alphabetically - * a value greater than 0 if selectorA and selectorB have the same specificity, and selectorA > selectorB alphabetically - */ -function compareSpecificity(selectorA, selectorB) { - return selectorA.attributeCount - selectorB.attributeCount || - selectorA.identifierCount - selectorB.identifierCount || - (selectorA.rawSelector <= selectorB.rawSelector ? -1 : 1); -} - -/** - * Parses a raw selector string, and throws a useful error if parsing fails. - * @param {string} rawSelector A raw AST selector - * @returns {Object} An object (from esquery) describing the matching behavior of this selector - * @throws {Error} An error if the selector is invalid - */ -function tryParseSelector(rawSelector) { - try { - return esquery.parse(rawSelector.replace(/:exit$/u, "")); - } catch (err) { - if (err.location && err.location.start && typeof err.location.start.offset === "number") { - throw new SyntaxError(`Syntax error in selector "${rawSelector}" at position ${err.location.start.offset}: ${err.message}`); - } - throw err; - } -} - -const selectorCache = new Map(); - -/** - * Parses a raw selector string, and returns the parsed selector along with specificity and type information. - * @param {string} rawSelector A raw AST selector - * @returns {ASTSelector} A selector descriptor - */ -function parseSelector(rawSelector) { - if (selectorCache.has(rawSelector)) { - return selectorCache.get(rawSelector); - } - - const parsedSelector = tryParseSelector(rawSelector); - - const result = { - rawSelector, - isExit: rawSelector.endsWith(":exit"), - parsedSelector, - listenerTypes: getPossibleTypes(parsedSelector), - attributeCount: countClassAttributes(parsedSelector), - identifierCount: countIdentifiers(parsedSelector) - }; - - selectorCache.set(rawSelector, result); - return result; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * The event generator for AST nodes. - * This implements below interface. - * - * ```ts - * interface EventGenerator { - * emitter: SafeEmitter; - * enterNode(node: ASTNode): void; - * leaveNode(node: ASTNode): void; - * } - * ``` - */ -class NodeEventGenerator { - - /** - * @param {SafeEmitter} emitter - * An SafeEmitter which is the destination of events. This emitter must already - * have registered listeners for all of the events that it needs to listen for. - * (See lib/linter/safe-emitter.js for more details on `SafeEmitter`.) - * @param {ESQueryOptions} esqueryOptions `esquery` options for traversing custom nodes. - * @returns {NodeEventGenerator} new instance - */ - constructor(emitter, esqueryOptions) { - this.emitter = emitter; - this.esqueryOptions = esqueryOptions; - this.currentAncestry = []; - this.enterSelectorsByNodeType = new Map(); - this.exitSelectorsByNodeType = new Map(); - this.anyTypeEnterSelectors = []; - this.anyTypeExitSelectors = []; - - emitter.eventNames().forEach(rawSelector => { - const selector = parseSelector(rawSelector); - - if (selector.listenerTypes) { - const typeMap = selector.isExit ? this.exitSelectorsByNodeType : this.enterSelectorsByNodeType; - - selector.listenerTypes.forEach(nodeType => { - if (!typeMap.has(nodeType)) { - typeMap.set(nodeType, []); - } - typeMap.get(nodeType).push(selector); - }); - return; - } - const selectors = selector.isExit ? this.anyTypeExitSelectors : this.anyTypeEnterSelectors; - - selectors.push(selector); - }); - - this.anyTypeEnterSelectors.sort(compareSpecificity); - this.anyTypeExitSelectors.sort(compareSpecificity); - this.enterSelectorsByNodeType.forEach(selectorList => selectorList.sort(compareSpecificity)); - this.exitSelectorsByNodeType.forEach(selectorList => selectorList.sort(compareSpecificity)); - } - - /** - * Checks a selector against a node, and emits it if it matches - * @param {ASTNode} node The node to check - * @param {ASTSelector} selector An AST selector descriptor - * @returns {void} - */ - applySelector(node, selector) { - if (esquery.matches(node, selector.parsedSelector, this.currentAncestry, this.esqueryOptions)) { - this.emitter.emit(selector.rawSelector, node); - } - } - - /** - * Applies all appropriate selectors to a node, in specificity order - * @param {ASTNode} node The node to check - * @param {boolean} isExit `false` if the node is currently being entered, `true` if it's currently being exited - * @returns {void} - */ - applySelectors(node, isExit) { - const selectorsByNodeType = (isExit ? this.exitSelectorsByNodeType : this.enterSelectorsByNodeType).get(node.type) || []; - const anyTypeSelectors = isExit ? this.anyTypeExitSelectors : this.anyTypeEnterSelectors; - - /* - * selectorsByNodeType and anyTypeSelectors were already sorted by specificity in the constructor. - * Iterate through each of them, applying selectors in the right order. - */ - let selectorsByTypeIndex = 0; - let anyTypeSelectorsIndex = 0; - - while (selectorsByTypeIndex < selectorsByNodeType.length || anyTypeSelectorsIndex < anyTypeSelectors.length) { - if ( - selectorsByTypeIndex >= selectorsByNodeType.length || - anyTypeSelectorsIndex < anyTypeSelectors.length && - compareSpecificity(anyTypeSelectors[anyTypeSelectorsIndex], selectorsByNodeType[selectorsByTypeIndex]) < 0 - ) { - this.applySelector(node, anyTypeSelectors[anyTypeSelectorsIndex++]); - } else { - this.applySelector(node, selectorsByNodeType[selectorsByTypeIndex++]); - } - } - } - - /** - * Emits an event of entering AST node. - * @param {ASTNode} node A node which was entered. - * @returns {void} - */ - enterNode(node) { - this.applySelectors(node, false); - this.currentAncestry.unshift(node); - } - - /** - * Emits an event of leaving AST node. - * @param {ASTNode} node A node which was left. - * @returns {void} - */ - leaveNode(node) { - this.currentAncestry.shift(); - this.applySelectors(node, true); - } -} - -module.exports = NodeEventGenerator; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/report-translator.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/report-translator.js deleted file mode 100644 index e0a46305..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/report-translator.js +++ /dev/null @@ -1,376 +0,0 @@ -/** - * @fileoverview A helper that translates context.report() calls from the rule API into generic problem objects - * @author Teddy Katz - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const assert = require("../shared/assert"); -const { RuleFixer } = require("./rule-fixer"); -const { interpolate } = require("./interpolate"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** @typedef {import("../shared/types").LintMessage} LintMessage */ - -/** - * An error message description - * @typedef {Object} MessageDescriptor - * @property {ASTNode} [node] The reported node - * @property {Location} loc The location of the problem. - * @property {string} message The problem message. - * @property {Object} [data] Optional data to use to fill in placeholders in the - * message. - * @property {Function} [fix] The function to call that creates a fix command. - * @property {Array<{desc?: string, messageId?: string, fix: Function}>} suggest Suggestion descriptions and functions to create a the associated fixes. - */ - -//------------------------------------------------------------------------------ -// Module Definition -//------------------------------------------------------------------------------ - - -/** - * Translates a multi-argument context.report() call into a single object argument call - * @param {...*} args A list of arguments passed to `context.report` - * @returns {MessageDescriptor} A normalized object containing report information - */ -function normalizeMultiArgReportCall(...args) { - - // If there is one argument, it is considered to be a new-style call already. - if (args.length === 1) { - - // Shallow clone the object to avoid surprises if reusing the descriptor - return Object.assign({}, args[0]); - } - - // If the second argument is a string, the arguments are interpreted as [node, message, data, fix]. - if (typeof args[1] === "string") { - return { - node: args[0], - message: args[1], - data: args[2], - fix: args[3] - }; - } - - // Otherwise, the arguments are interpreted as [node, loc, message, data, fix]. - return { - node: args[0], - loc: args[1], - message: args[2], - data: args[3], - fix: args[4] - }; -} - -/** - * Asserts that either a loc or a node was provided, and the node is valid if it was provided. - * @param {MessageDescriptor} descriptor A descriptor to validate - * @returns {void} - * @throws AssertionError if neither a node nor a loc was provided, or if the node is not an object - */ -function assertValidNodeInfo(descriptor) { - if (descriptor.node) { - assert(typeof descriptor.node === "object", "Node must be an object"); - } else { - assert(descriptor.loc, "Node must be provided when reporting error if location is not provided"); - } -} - -/** - * Normalizes a MessageDescriptor to always have a `loc` with `start` and `end` properties - * @param {MessageDescriptor} descriptor A descriptor for the report from a rule. - * @returns {{start: Location, end: (Location|null)}} An updated location that infers the `start` and `end` properties - * from the `node` of the original descriptor, or infers the `start` from the `loc` of the original descriptor. - */ -function normalizeReportLoc(descriptor) { - if (descriptor.loc.start) { - return descriptor.loc; - } - return { start: descriptor.loc, end: null }; -} - -/** - * Clones the given fix object. - * @param {Fix|null} fix The fix to clone. - * @returns {Fix|null} Deep cloned fix object or `null` if `null` or `undefined` was passed in. - */ -function cloneFix(fix) { - if (!fix) { - return null; - } - - return { - range: [fix.range[0], fix.range[1]], - text: fix.text - }; -} - -/** - * Check that a fix has a valid range. - * @param {Fix|null} fix The fix to validate. - * @returns {void} - */ -function assertValidFix(fix) { - if (fix) { - assert(fix.range && typeof fix.range[0] === "number" && typeof fix.range[1] === "number", `Fix has invalid range: ${JSON.stringify(fix, null, 2)}`); - } -} - -/** - * Compares items in a fixes array by range. - * @param {Fix} a The first message. - * @param {Fix} b The second message. - * @returns {int} -1 if a comes before b, 1 if a comes after b, 0 if equal. - * @private - */ -function compareFixesByRange(a, b) { - return a.range[0] - b.range[0] || a.range[1] - b.range[1]; -} - -/** - * Merges the given fixes array into one. - * @param {Fix[]} fixes The fixes to merge. - * @param {SourceCode} sourceCode The source code object to get the text between fixes. - * @returns {{text: string, range: number[]}} The merged fixes - */ -function mergeFixes(fixes, sourceCode) { - for (const fix of fixes) { - assertValidFix(fix); - } - - if (fixes.length === 0) { - return null; - } - if (fixes.length === 1) { - return cloneFix(fixes[0]); - } - - fixes.sort(compareFixesByRange); - - const originalText = sourceCode.text; - const start = fixes[0].range[0]; - const end = fixes.at(-1).range[1]; - let text = ""; - let lastPos = Number.MIN_SAFE_INTEGER; - - for (const fix of fixes) { - assert(fix.range[0] >= lastPos, "Fix objects must not be overlapped in a report."); - - if (fix.range[0] >= 0) { - text += originalText.slice(Math.max(0, start, lastPos), fix.range[0]); - } - text += fix.text; - lastPos = fix.range[1]; - } - text += originalText.slice(Math.max(0, start, lastPos), end); - - return { range: [start, end], text }; -} - -/** - * Gets one fix object from the given descriptor. - * If the descriptor retrieves multiple fixes, this merges those to one. - * @param {MessageDescriptor} descriptor The report descriptor. - * @param {SourceCode} sourceCode The source code object to get text between fixes. - * @returns {({text: string, range: number[]}|null)} The fix for the descriptor - */ -function normalizeFixes(descriptor, sourceCode) { - if (typeof descriptor.fix !== "function") { - return null; - } - - const ruleFixer = new RuleFixer({ sourceCode }); - - // @type {null | Fix | Fix[] | IterableIterator} - const fix = descriptor.fix(ruleFixer); - - // Merge to one. - if (fix && Symbol.iterator in fix) { - return mergeFixes(Array.from(fix), sourceCode); - } - - assertValidFix(fix); - return cloneFix(fix); -} - -/** - * Gets an array of suggestion objects from the given descriptor. - * @param {MessageDescriptor} descriptor The report descriptor. - * @param {SourceCode} sourceCode The source code object to get text between fixes. - * @param {Object} messages Object of meta messages for the rule. - * @returns {Array} The suggestions for the descriptor - */ -function mapSuggestions(descriptor, sourceCode, messages) { - if (!descriptor.suggest || !Array.isArray(descriptor.suggest)) { - return []; - } - - return descriptor.suggest - .map(suggestInfo => { - const computedDesc = suggestInfo.desc || messages[suggestInfo.messageId]; - - return { - ...suggestInfo, - desc: interpolate(computedDesc, suggestInfo.data), - fix: normalizeFixes(suggestInfo, sourceCode) - }; - }) - - // Remove suggestions that didn't provide a fix - .filter(({ fix }) => fix); -} - -/** - * Creates information about the report from a descriptor - * @param {Object} options Information about the problem - * @param {string} options.ruleId Rule ID - * @param {(0|1|2)} options.severity Rule severity - * @param {(ASTNode|null)} options.node Node - * @param {string} options.message Error message - * @param {string} [options.messageId] The error message ID. - * @param {{start: SourceLocation, end: (SourceLocation|null)}} options.loc Start and end location - * @param {{text: string, range: (number[]|null)}} options.fix The fix object - * @param {Array<{text: string, range: (number[]|null)}>} options.suggestions The array of suggestions objects - * @param {Language} [options.language] The language to use to adjust line and column offsets. - * @returns {LintMessage} Information about the report - */ -function createProblem(options) { - const { language } = options; - - // calculate offsets based on the language in use - const columnOffset = language.columnStart === 1 ? 0 : 1; - const lineOffset = language.lineStart === 1 ? 0 : 1; - - const problem = { - ruleId: options.ruleId, - severity: options.severity, - message: options.message, - line: options.loc.start.line + lineOffset, - column: options.loc.start.column + columnOffset, - nodeType: options.node && options.node.type || null - }; - - /* - * If this isn’t in the conditional, some of the tests fail - * because `messageId` is present in the problem object - */ - if (options.messageId) { - problem.messageId = options.messageId; - } - - if (options.loc.end) { - problem.endLine = options.loc.end.line + lineOffset; - problem.endColumn = options.loc.end.column + columnOffset; - } - - if (options.fix) { - problem.fix = options.fix; - } - - if (options.suggestions && options.suggestions.length > 0) { - problem.suggestions = options.suggestions; - } - - return problem; -} - -/** - * Validates that suggestions are properly defined. Throws if an error is detected. - * @param {Array<{ desc?: string, messageId?: string }>} suggest The incoming suggest data. - * @param {Object} messages Object of meta messages for the rule. - * @returns {void} - */ -function validateSuggestions(suggest, messages) { - if (suggest && Array.isArray(suggest)) { - suggest.forEach(suggestion => { - if (suggestion.messageId) { - const { messageId } = suggestion; - - if (!messages) { - throw new TypeError(`context.report() called with a suggest option with a messageId '${messageId}', but no messages were present in the rule metadata.`); - } - - if (!messages[messageId]) { - throw new TypeError(`context.report() called with a suggest option with a messageId '${messageId}' which is not present in the 'messages' config: ${JSON.stringify(messages, null, 2)}`); - } - - if (suggestion.desc) { - throw new TypeError("context.report() called with a suggest option that defines both a 'messageId' and an 'desc'. Please only pass one."); - } - } else if (!suggestion.desc) { - throw new TypeError("context.report() called with a suggest option that doesn't have either a `desc` or `messageId`"); - } - - if (typeof suggestion.fix !== "function") { - throw new TypeError(`context.report() called with a suggest option without a fix function. See: ${suggestion}`); - } - }); - } -} - -/** - * Returns a function that converts the arguments of a `context.report` call from a rule into a reported - * problem for the Node.js API. - * @param {{ruleId: string, severity: number, sourceCode: SourceCode, messageIds: Object, disableFixes: boolean, language:Language}} metadata Metadata for the reported problem - * @returns {function(...args): LintMessage} Function that returns information about the report - */ - -module.exports = function createReportTranslator(metadata) { - - /* - * `createReportTranslator` gets called once per enabled rule per file. It needs to be very performant. - * The report translator itself (i.e. the function that `createReportTranslator` returns) gets - * called every time a rule reports a problem, which happens much less frequently (usually, the vast - * majority of rules don't report any problems for a given file). - */ - return (...args) => { - const descriptor = normalizeMultiArgReportCall(...args); - const messages = metadata.messageIds; - const { sourceCode } = metadata; - - assertValidNodeInfo(descriptor); - - let computedMessage; - - if (descriptor.messageId) { - if (!messages) { - throw new TypeError("context.report() called with a messageId, but no messages were present in the rule metadata."); - } - const id = descriptor.messageId; - - if (descriptor.message) { - throw new TypeError("context.report() called with a message and a messageId. Please only pass one."); - } - if (!messages || !Object.hasOwn(messages, id)) { - throw new TypeError(`context.report() called with a messageId of '${id}' which is not present in the 'messages' config: ${JSON.stringify(messages, null, 2)}`); - } - computedMessage = messages[id]; - } else if (descriptor.message) { - computedMessage = descriptor.message; - } else { - throw new TypeError("Missing `message` property in report() call; add a message that describes the linting problem."); - } - - validateSuggestions(descriptor.suggest, messages); - - return createProblem({ - ruleId: metadata.ruleId, - severity: metadata.severity, - node: descriptor.node, - message: interpolate(computedMessage, descriptor.data), - messageId: descriptor.messageId, - loc: descriptor.loc ? normalizeReportLoc(descriptor) : sourceCode.getLoc(descriptor.node), - fix: metadata.disableFixes ? null : normalizeFixes(descriptor, sourceCode), - suggestions: metadata.disableFixes ? [] : mapSuggestions(descriptor, sourceCode, messages), - language: metadata.language - }); - }; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rule-fixer.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rule-fixer.js deleted file mode 100644 index f9c45feb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rule-fixer.js +++ /dev/null @@ -1,163 +0,0 @@ -/** - * @fileoverview An object that creates fix commands for rules. - * @author Nicholas C. Zakas - */ -"use strict"; - -/* eslint class-methods-use-this: off -- Methods desired on instance */ - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -// none! - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Creates a fix command that inserts text at the specified index in the source text. - * @param {int} index The 0-based index at which to insert the new text. - * @param {string} text The text to insert. - * @returns {Object} The fix command. - * @private - */ -function insertTextAt(index, text) { - return { - range: [index, index], - text - }; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Creates code fixing commands for rules. - */ -class RuleFixer { - - /** - * The source code object representing the text to be fixed. - * @type {SourceCode} - */ - #sourceCode; - - /** - * Creates a new instance. - * @param {Object} options The options for the fixer. - * @param {SourceCode} options.sourceCode The source code object representing the text to be fixed. - */ - constructor({ sourceCode }) { - this.#sourceCode = sourceCode; - } - - /** - * Creates a fix command that inserts text after the given node or token. - * The fix is not applied until applyFixes() is called. - * @param {ASTNode|Token} nodeOrToken The node or token to insert after. - * @param {string} text The text to insert. - * @returns {Object} The fix command. - */ - insertTextAfter(nodeOrToken, text) { - const range = this.#sourceCode.getRange(nodeOrToken); - - return this.insertTextAfterRange(range, text); - } - - /** - * Creates a fix command that inserts text after the specified range in the source text. - * The fix is not applied until applyFixes() is called. - * @param {int[]} range The range to replace, first item is start of range, second - * is end of range. - * @param {string} text The text to insert. - * @returns {Object} The fix command. - */ - insertTextAfterRange(range, text) { - return insertTextAt(range[1], text); - } - - /** - * Creates a fix command that inserts text before the given node or token. - * The fix is not applied until applyFixes() is called. - * @param {ASTNode|Token} nodeOrToken The node or token to insert before. - * @param {string} text The text to insert. - * @returns {Object} The fix command. - */ - insertTextBefore(nodeOrToken, text) { - const range = this.#sourceCode.getRange(nodeOrToken); - - return this.insertTextBeforeRange(range, text); - } - - /** - * Creates a fix command that inserts text before the specified range in the source text. - * The fix is not applied until applyFixes() is called. - * @param {int[]} range The range to replace, first item is start of range, second - * is end of range. - * @param {string} text The text to insert. - * @returns {Object} The fix command. - */ - insertTextBeforeRange(range, text) { - return insertTextAt(range[0], text); - } - - /** - * Creates a fix command that replaces text at the node or token. - * The fix is not applied until applyFixes() is called. - * @param {ASTNode|Token} nodeOrToken The node or token to remove. - * @param {string} text The text to insert. - * @returns {Object} The fix command. - */ - replaceText(nodeOrToken, text) { - const range = this.#sourceCode.getRange(nodeOrToken); - - return this.replaceTextRange(range, text); - } - - /** - * Creates a fix command that replaces text at the specified range in the source text. - * The fix is not applied until applyFixes() is called. - * @param {int[]} range The range to replace, first item is start of range, second - * is end of range. - * @param {string} text The text to insert. - * @returns {Object} The fix command. - */ - replaceTextRange(range, text) { - return { - range, - text - }; - } - - /** - * Creates a fix command that removes the node or token from the source. - * The fix is not applied until applyFixes() is called. - * @param {ASTNode|Token} nodeOrToken The node or token to remove. - * @returns {Object} The fix command. - */ - remove(nodeOrToken) { - const range = this.#sourceCode.getRange(nodeOrToken); - - return this.removeRange(range); - } - - /** - * Creates a fix command that removes the specified range of text from the source. - * The fix is not applied until applyFixes() is called. - * @param {int[]} range The range to remove, first item is start of range, second - * is end of range. - * @returns {Object} The fix command. - */ - removeRange(range) { - return { - range, - text: "" - }; - } -} - - -module.exports = { RuleFixer }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rules.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rules.js deleted file mode 100644 index bb8e3682..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/rules.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * @fileoverview Defines a storage for rules. - * @author Nicholas C. Zakas - * @author aladdin-add - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const builtInRules = require("../rules"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** @typedef {import("../shared/types").Rule} Rule */ - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * A storage for rules. - */ -class Rules { - constructor() { - this._rules = Object.create(null); - } - - /** - * Registers a rule module for rule id in storage. - * @param {string} ruleId Rule id (file name). - * @param {Rule} rule Rule object. - * @returns {void} - */ - define(ruleId, rule) { - this._rules[ruleId] = rule; - } - - /** - * Access rule handler by id (file name). - * @param {string} ruleId Rule id (file name). - * @returns {Rule} Rule object. - */ - get(ruleId) { - if (typeof this._rules[ruleId] === "string") { - this.define(ruleId, require(this._rules[ruleId])); - } - if (this._rules[ruleId]) { - return this._rules[ruleId]; - } - if (builtInRules.has(ruleId)) { - return builtInRules.get(ruleId); - } - - return null; - } - - *[Symbol.iterator]() { - yield* builtInRules; - - for (const ruleId of Object.keys(this._rules)) { - yield [ruleId, this.get(ruleId)]; - } - } -} - -module.exports = Rules; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/safe-emitter.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/safe-emitter.js deleted file mode 100644 index f4837c1d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/safe-emitter.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @fileoverview A variant of EventEmitter which does not give listeners information about each other - * @author Teddy Katz - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** - * An event emitter - * @typedef {Object} SafeEmitter - * @property {(eventName: string, listenerFunc: Function) => void} on Adds a listener for a given event name - * @property {(eventName: string, arg1?: any, arg2?: any, arg3?: any) => void} emit Emits an event with a given name. - * This calls all the listeners that were listening for that name, with `arg1`, `arg2`, and `arg3` as arguments. - * @property {function(): string[]} eventNames Gets the list of event names that have registered listeners. - */ - -/** - * Creates an object which can listen for and emit events. - * This is similar to the EventEmitter API in Node's standard library, but it has a few differences. - * The goal is to allow multiple modules to attach arbitrary listeners to the same emitter, without - * letting the modules know about each other at all. - * 1. It has no special keys like `error` and `newListener`, which would allow modules to detect when - * another module throws an error or registers a listener. - * 2. It calls listener functions without any `this` value. (`EventEmitter` calls listeners with a - * `this` value of the emitter instance, which would give listeners access to other listeners.) - * @returns {SafeEmitter} An emitter - */ -module.exports = () => { - const listeners = Object.create(null); - - return Object.freeze({ - on(eventName, listener) { - if (eventName in listeners) { - listeners[eventName].push(listener); - } else { - listeners[eventName] = [listener]; - } - }, - emit(eventName, ...args) { - if (eventName in listeners) { - listeners[eventName].forEach(listener => listener(...args)); - } - }, - eventNames() { - return Object.keys(listeners); - } - }); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/source-code-fixer.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/source-code-fixer.js deleted file mode 100644 index 35de5141..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/source-code-fixer.js +++ /dev/null @@ -1,152 +0,0 @@ -/** - * @fileoverview An object that caches and applies source code fixes. - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const debug = require("debug")("eslint:source-code-fixer"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const BOM = "\uFEFF"; - -/** - * Compares items in a messages array by range. - * @param {Message} a The first message. - * @param {Message} b The second message. - * @returns {int} -1 if a comes before b, 1 if a comes after b, 0 if equal. - * @private - */ -function compareMessagesByFixRange(a, b) { - return a.fix.range[0] - b.fix.range[0] || a.fix.range[1] - b.fix.range[1]; -} - -/** - * Compares items in a messages array by line and column. - * @param {Message} a The first message. - * @param {Message} b The second message. - * @returns {int} -1 if a comes before b, 1 if a comes after b, 0 if equal. - * @private - */ -function compareMessagesByLocation(a, b) { - return a.line - b.line || a.column - b.column; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Utility for apply fixes to source code. - * @constructor - */ -function SourceCodeFixer() { - Object.freeze(this); -} - -/** - * Applies the fixes specified by the messages to the given text. Tries to be - * smart about the fixes and won't apply fixes over the same area in the text. - * @param {string} sourceText The text to apply the changes to. - * @param {Message[]} messages The array of messages reported by ESLint. - * @param {boolean|Function} [shouldFix=true] Determines whether each message should be fixed - * @returns {Object} An object containing the fixed text and any unfixed messages. - */ -SourceCodeFixer.applyFixes = function(sourceText, messages, shouldFix) { - debug("Applying fixes"); - - if (shouldFix === false) { - debug("shouldFix parameter was false, not attempting fixes"); - return { - fixed: false, - messages, - output: sourceText - }; - } - - // clone the array - const remainingMessages = [], - fixes = [], - bom = sourceText.startsWith(BOM) ? BOM : "", - text = bom ? sourceText.slice(1) : sourceText; - let lastPos = Number.NEGATIVE_INFINITY, - output = bom; - - /** - * Try to use the 'fix' from a problem. - * @param {Message} problem The message object to apply fixes from - * @returns {boolean} Whether fix was successfully applied - */ - function attemptFix(problem) { - const fix = problem.fix; - const start = fix.range[0]; - const end = fix.range[1]; - - // Remain it as a problem if it's overlapped or it's a negative range - if (lastPos >= start || start > end) { - remainingMessages.push(problem); - return false; - } - - // Remove BOM. - if ((start < 0 && end >= 0) || (start === 0 && fix.text.startsWith(BOM))) { - output = ""; - } - - // Make output to this fix. - output += text.slice(Math.max(0, lastPos), Math.max(0, start)); - output += fix.text; - lastPos = end; - return true; - } - - messages.forEach(problem => { - if (Object.hasOwn(problem, "fix") && problem.fix) { - fixes.push(problem); - } else { - remainingMessages.push(problem); - } - }); - - if (fixes.length) { - debug("Found fixes to apply"); - let fixesWereApplied = false; - - for (const problem of fixes.sort(compareMessagesByFixRange)) { - if (typeof shouldFix !== "function" || shouldFix(problem)) { - attemptFix(problem); - - /* - * The only time attemptFix will fail is if a previous fix was - * applied which conflicts with it. So we can mark this as true. - */ - fixesWereApplied = true; - } else { - remainingMessages.push(problem); - } - } - output += text.slice(Math.max(0, lastPos)); - - return { - fixed: fixesWereApplied, - messages: remainingMessages.sort(compareMessagesByLocation), - output - }; - } - - debug("No fixes to apply"); - return { - fixed: false, - messages, - output: bom + text - }; - -}; - -module.exports = SourceCodeFixer; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/timing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/timing.js deleted file mode 100644 index 232c5f4f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/timing.js +++ /dev/null @@ -1,169 +0,0 @@ -/** - * @fileoverview Tracks performance of individual rules. - * @author Brandon Mills - */ - -"use strict"; - -const { startTime, endTime } = require("../shared/stats"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/* c8 ignore next */ -/** - * Align the string to left - * @param {string} str string to evaluate - * @param {int} len length of the string - * @param {string} ch delimiter character - * @returns {string} modified string - * @private - */ -function alignLeft(str, len, ch) { - return str + new Array(len - str.length + 1).join(ch || " "); -} - -/* c8 ignore next */ -/** - * Align the string to right - * @param {string} str string to evaluate - * @param {int} len length of the string - * @param {string} ch delimiter character - * @returns {string} modified string - * @private - */ -function alignRight(str, len, ch) { - return new Array(len - str.length + 1).join(ch || " ") + str; -} - -//------------------------------------------------------------------------------ -// Module definition -//------------------------------------------------------------------------------ - -const enabled = !!process.env.TIMING; - -const HEADERS = ["Rule", "Time (ms)", "Relative"]; -const ALIGN = [alignLeft, alignRight, alignRight]; - -/** - * Decide how many rules to show in the output list. - * @returns {number} the number of rules to show - */ -function getListSize() { - const MINIMUM_SIZE = 10; - - if (typeof process.env.TIMING !== "string") { - return MINIMUM_SIZE; - } - - if (process.env.TIMING.toLowerCase() === "all") { - return Number.POSITIVE_INFINITY; - } - - const TIMING_ENV_VAR_AS_INTEGER = Number.parseInt(process.env.TIMING, 10); - - return TIMING_ENV_VAR_AS_INTEGER > 10 ? TIMING_ENV_VAR_AS_INTEGER : MINIMUM_SIZE; -} - -/* c8 ignore next */ -/** - * display the data - * @param {Object} data Data object to be displayed - * @returns {void} prints modified string with console.log - * @private - */ -function display(data) { - let total = 0; - const rows = Object.keys(data) - .map(key => { - const time = data[key]; - - total += time; - return [key, time]; - }) - .sort((a, b) => b[1] - a[1]) - .slice(0, getListSize()); - - rows.forEach(row => { - row.push(`${(row[1] * 100 / total).toFixed(1)}%`); - row[1] = row[1].toFixed(3); - }); - - rows.unshift(HEADERS); - - const widths = []; - - rows.forEach(row => { - const len = row.length; - - for (let i = 0; i < len; i++) { - const n = row[i].length; - - if (!widths[i] || n > widths[i]) { - widths[i] = n; - } - } - }); - - const table = rows.map(row => ( - row - .map((cell, index) => ALIGN[index](cell, widths[index])) - .join(" | ") - )); - - table.splice(1, 0, widths.map((width, index) => { - const extraAlignment = index !== 0 && index !== widths.length - 1 ? 2 : 1; - - return ALIGN[index](":", width + extraAlignment, "-"); - }).join("|")); - - console.log(table.join("\n")); // eslint-disable-line no-console -- Debugging function -} - -/* c8 ignore next */ -module.exports = (function() { - - const data = Object.create(null); - - /** - * Time the run - * @param {any} key key from the data object - * @param {Function} fn function to be called - * @param {boolean} stats if 'stats' is true, return the result and the time difference - * @returns {Function} function to be executed - * @private - */ - function time(key, fn, stats) { - - return function(...args) { - - const t = startTime(); - const result = fn(...args); - const tdiff = endTime(t); - - if (enabled) { - if (typeof data[key] === "undefined") { - data[key] = 0; - } - - data[key] += tdiff; - } - - return stats ? { result, tdiff } : result; - }; - } - - if (enabled) { - process.on("exit", () => { - display(data); - }); - } - - return { - time, - enabled, - getListSize - }; - -}()); diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/vfile.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/vfile.js deleted file mode 100644 index bb2da0a7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/linter/vfile.js +++ /dev/null @@ -1,118 +0,0 @@ -/** - * @fileoverview Virtual file - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Type Definitions -//----------------------------------------------------------------------------- - -/** @typedef {import("@eslint/core").File} File */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines if a given value has a byte order mark (BOM). - * @param {string|Uint8Array} value The value to check. - * @returns {boolean} `true` if the value has a BOM, `false` otherwise. - */ -function hasUnicodeBOM(value) { - return typeof value === "string" - ? value.charCodeAt(0) === 0xFEFF - : value[0] === 0xEF && value[1] === 0xBB && value[2] === 0xBF; -} - -/** - * Strips Unicode BOM from the given value. - * @param {string|Uint8Array} value The value to remove the BOM from. - * @returns {string|Uint8Array} The stripped value. - */ -function stripUnicodeBOM(value) { - - if (!hasUnicodeBOM(value)) { - return value; - } - - if (typeof value === "string") { - - /* - * Check Unicode BOM. - * In JavaScript, string data is stored as UTF-16, so BOM is 0xFEFF. - * http://www.ecma-international.org/ecma-262/6.0/#sec-unicode-format-control-characters - */ - return value.slice(1); - } - - /* - * In a Uint8Array, the BOM is represented by three bytes: 0xEF, 0xBB, and 0xBF, - * so we can just remove the first three bytes. - */ - return value.slice(3); -} - -//------------------------------------------------------------------------------ -// Exports -//------------------------------------------------------------------------------ - -/** - * Represents a virtual file inside of ESLint. - * @implements {File} - */ -class VFile { - - /** - * The file path including any processor-created virtual path. - * @type {string} - * @readonly - */ - path; - - /** - * The file path on disk. - * @type {string} - * @readonly - */ - physicalPath; - - /** - * The file contents. - * @type {string|Uint8Array} - * @readonly - */ - body; - - /** - * The raw body of the file, including a BOM if present. - * @type {string|Uint8Array} - * @readonly - */ - rawBody; - - /** - * Indicates whether the file has a byte order mark (BOM). - * @type {boolean} - * @readonly - */ - bom; - - /** - * Creates a new instance. - * @param {string} path The file path. - * @param {string|Uint8Array} body The file contents. - * @param {Object} [options] Additional options. - * @param {string} [options.physicalPath] The file path on disk. - */ - constructor(path, body, { physicalPath } = {}) { - this.path = path; - this.physicalPath = physicalPath ?? path; - this.bom = hasUnicodeBOM(body); - this.body = stripUnicodeBOM(body); - this.rawBody = body; - } -} - -module.exports = { VFile }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/options.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/options.js deleted file mode 100644 index d35c9f6d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/options.js +++ /dev/null @@ -1,442 +0,0 @@ -/** - * @fileoverview Options configuration for optionator. - * @author George Zahariev - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const optionator = require("optionator"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** - * The options object parsed by Optionator. - * @typedef {Object} ParsedCLIOptions - * @property {boolean} cache Only check changed files - * @property {string} cacheFile Path to the cache file. Deprecated: use --cache-location - * @property {string} [cacheLocation] Path to the cache file or directory - * @property {"metadata" | "content"} cacheStrategy Strategy to use for detecting changed files in the cache - * @property {boolean} [color] Force enabling/disabling of color - * @property {string} [config] Use this configuration, overriding .eslintrc.* config options if present - * @property {boolean} debug Output debugging information - * @property {string[]} [env] Specify environments - * @property {boolean} envInfo Output execution environment information - * @property {boolean} errorOnUnmatchedPattern Prevent errors when pattern is unmatched - * @property {boolean} eslintrc Disable use of configuration from .eslintrc.* - * @property {string[]} [ext] Specify JavaScript file extensions - * @property {string[]} [flag] Feature flags - * @property {boolean} fix Automatically fix problems - * @property {boolean} fixDryRun Automatically fix problems without saving the changes to the file system - * @property {("directive" | "problem" | "suggestion" | "layout")[]} [fixType] Specify the types of fixes to apply (directive, problem, suggestion, layout) - * @property {string} format Use a specific output format - * @property {string[]} [global] Define global variables - * @property {boolean} [help] Show help - * @property {boolean} ignore Disable use of ignore files and patterns - * @property {string} [ignorePath] Specify path of ignore file - * @property {string[]} [ignorePattern] Patterns of files to ignore. In eslintrc mode, these are in addition to `.eslintignore` - * @property {boolean} init Run config initialization wizard - * @property {boolean} inlineConfig Prevent comments from changing config or rules - * @property {number} maxWarnings Number of warnings to trigger nonzero exit code - * @property {string} [outputFile] Specify file to write report to - * @property {string} [parser] Specify the parser to be used - * @property {Object} [parserOptions] Specify parser options - * @property {string[]} [plugin] Specify plugins - * @property {string} [printConfig] Print the configuration for the given file - * @property {boolean | undefined} reportUnusedDisableDirectives Adds reported errors for unused eslint-disable and eslint-enable directives - * @property {string | undefined} reportUnusedDisableDirectivesSeverity A severity string indicating if and how unused disable and enable directives should be tracked and reported. - * @property {string} [resolvePluginsRelativeTo] A folder where plugins should be resolved from, CWD by default - * @property {Object} [rule] Specify rules - * @property {string[]} [rulesdir] Load additional rules from this directory. Deprecated: Use rules from plugins - * @property {boolean} stdin Lint code provided on - * @property {string} [stdinFilename] Specify filename to process STDIN as - * @property {boolean} quiet Report errors only - * @property {boolean} [version] Output the version number - * @property {boolean} warnIgnored Show warnings when the file list includes ignored files - * @property {boolean} [passOnNoPatterns=false] When set to true, missing patterns cause - * the linting operation to short circuit and not report any failures. - * @property {string[]} _ Positional filenames or patterns - * @property {boolean} [stats] Report additional statistics - */ - -//------------------------------------------------------------------------------ -// Initialization and Public Interface -//------------------------------------------------------------------------------ - -// exports "parse(args)", "generateHelp()", and "generateHelpForOption(optionName)" - -/** - * Creates the CLI options for ESLint. - * @param {boolean} usingFlatConfig Indicates if flat config is being used. - * @returns {Object} The optionator instance. - */ -module.exports = function(usingFlatConfig) { - - let lookupFlag; - - if (usingFlatConfig) { - lookupFlag = { - option: "config-lookup", - type: "Boolean", - default: "true", - description: "Disable look up for eslint.config.js" - }; - } else { - lookupFlag = { - option: "eslintrc", - type: "Boolean", - default: "true", - description: "Disable use of configuration from .eslintrc.*" - }; - } - - let envFlag; - - if (!usingFlatConfig) { - envFlag = { - option: "env", - type: "[String]", - description: "Specify environments" - }; - } - - let inspectConfigFlag; - - if (usingFlatConfig) { - inspectConfigFlag = { - option: "inspect-config", - type: "Boolean", - description: "Open the config inspector with the current configuration" - }; - } - - let extFlag; - - if (!usingFlatConfig) { - extFlag = { - option: "ext", - type: "[String]", - description: "Specify JavaScript file extensions" - }; - } - - let resolvePluginsFlag; - - if (!usingFlatConfig) { - resolvePluginsFlag = { - option: "resolve-plugins-relative-to", - type: "path::String", - description: "A folder where plugins should be resolved from, CWD by default" - }; - } - - let rulesDirFlag; - - if (!usingFlatConfig) { - rulesDirFlag = { - option: "rulesdir", - type: "[path::String]", - description: "Load additional rules from this directory. Deprecated: Use rules from plugins" - }; - } - - let ignorePathFlag; - - if (!usingFlatConfig) { - ignorePathFlag = { - option: "ignore-path", - type: "path::String", - description: "Specify path of ignore file" - }; - } - - let statsFlag; - - if (usingFlatConfig) { - statsFlag = { - option: "stats", - type: "Boolean", - default: "false", - description: "Add statistics to the lint report" - }; - } - - let warnIgnoredFlag; - - if (usingFlatConfig) { - warnIgnoredFlag = { - option: "warn-ignored", - type: "Boolean", - default: "true", - description: "Suppress warnings when the file list includes ignored files" - }; - } - - let flagFlag; - - if (usingFlatConfig) { - flagFlag = { - option: "flag", - type: "[String]", - description: "Enable a feature flag" - }; - } - - return optionator({ - prepend: "eslint [options] file.js [file.js] [dir]", - defaults: { - concatRepeatedArrays: true, - mergeRepeatedObjects: true - }, - options: [ - { - heading: "Basic configuration" - }, - lookupFlag, - { - option: "config", - alias: "c", - type: "path::String", - description: usingFlatConfig - ? "Use this configuration instead of eslint.config.js, eslint.config.mjs, or eslint.config.cjs" - : "Use this configuration, overriding .eslintrc.* config options if present" - }, - inspectConfigFlag, - envFlag, - extFlag, - { - option: "global", - type: "[String]", - description: "Define global variables" - }, - { - option: "parser", - type: "String", - description: "Specify the parser to be used" - }, - { - option: "parser-options", - type: "Object", - description: "Specify parser options" - }, - resolvePluginsFlag, - { - heading: "Specify Rules and Plugins" - }, - { - option: "plugin", - type: "[String]", - description: "Specify plugins" - }, - { - option: "rule", - type: "Object", - description: "Specify rules" - }, - rulesDirFlag, - { - heading: "Fix Problems" - }, - { - option: "fix", - type: "Boolean", - default: false, - description: "Automatically fix problems" - }, - { - option: "fix-dry-run", - type: "Boolean", - default: false, - description: "Automatically fix problems without saving the changes to the file system" - }, - { - option: "fix-type", - type: "Array", - description: "Specify the types of fixes to apply (directive, problem, suggestion, layout)" - }, - { - heading: "Ignore Files" - }, - ignorePathFlag, - { - option: "ignore", - type: "Boolean", - default: "true", - description: "Disable use of ignore files and patterns" - }, - { - option: "ignore-pattern", - type: "[String]", - description: `Patterns of files to ignore${usingFlatConfig ? "" : " (in addition to those in .eslintignore)"}`, - concatRepeatedArrays: [true, { - oneValuePerFlag: true - }] - }, - { - heading: "Use stdin" - }, - { - option: "stdin", - type: "Boolean", - default: "false", - description: "Lint code provided on " - }, - { - option: "stdin-filename", - type: "String", - description: "Specify filename to process STDIN as" - }, - { - heading: "Handle Warnings" - }, - { - option: "quiet", - type: "Boolean", - default: "false", - description: "Report errors only" - }, - { - option: "max-warnings", - type: "Int", - default: "-1", - description: "Number of warnings to trigger nonzero exit code" - }, - { - heading: "Output" - }, - { - option: "output-file", - alias: "o", - type: "path::String", - description: "Specify file to write report to" - }, - { - option: "format", - alias: "f", - type: "String", - default: "stylish", - description: "Use a specific output format" - }, - { - option: "color", - type: "Boolean", - alias: "no-color", - description: "Force enabling/disabling of color" - }, - { - heading: "Inline configuration comments" - }, - { - option: "inline-config", - type: "Boolean", - default: "true", - description: "Prevent comments from changing config or rules" - }, - { - option: "report-unused-disable-directives", - type: "Boolean", - default: void 0, - description: "Adds reported errors for unused eslint-disable and eslint-enable directives" - }, - { - option: "report-unused-disable-directives-severity", - type: "String", - default: void 0, - description: "Chooses severity level for reporting unused eslint-disable and eslint-enable directives", - enum: ["off", "warn", "error", "0", "1", "2"] - }, - { - heading: "Caching" - }, - { - option: "cache", - type: "Boolean", - default: "false", - description: "Only check changed files" - }, - { - option: "cache-file", - type: "path::String", - default: ".eslintcache", - description: "Path to the cache file. Deprecated: use --cache-location" - }, - { - option: "cache-location", - type: "path::String", - description: "Path to the cache file or directory" - }, - { - option: "cache-strategy", - dependsOn: ["cache"], - type: "String", - default: "metadata", - enum: ["metadata", "content"], - description: "Strategy to use for detecting changed files in the cache" - }, - { - heading: "Miscellaneous" - }, - { - option: "init", - type: "Boolean", - default: "false", - description: "Run config initialization wizard" - }, - { - option: "env-info", - type: "Boolean", - default: "false", - description: "Output execution environment information" - }, - { - option: "error-on-unmatched-pattern", - type: "Boolean", - default: "true", - description: "Prevent errors when pattern is unmatched" - }, - { - option: "exit-on-fatal-error", - type: "Boolean", - default: "false", - description: "Exit with exit code 2 in case of fatal error" - }, - warnIgnoredFlag, - { - option: "pass-on-no-patterns", - type: "Boolean", - default: false, - description: "Exit with exit code 0 in case no file patterns are passed" - }, - { - option: "debug", - type: "Boolean", - default: false, - description: "Output debugging information" - }, - { - option: "help", - alias: "h", - type: "Boolean", - description: "Show help" - }, - { - option: "version", - alias: "v", - type: "Boolean", - description: "Output the version number" - }, - { - option: "print-config", - type: "path::String", - description: "Print the configuration for the given file" - }, - statsFlag, - flagFlag - ].filter(value => !!value) - }); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/index.js deleted file mode 100644 index 58f67ee4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/index.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -const RuleTester = require("./rule-tester"); - -module.exports = { - RuleTester -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/rule-tester.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/rule-tester.js deleted file mode 100644 index 4ffcfed5..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rule-tester/rule-tester.js +++ /dev/null @@ -1,1307 +0,0 @@ -/** - * @fileoverview Mocha/Jest test wrapper - * @author Ilya Volodin - */ -"use strict"; - -/* globals describe, it -- Mocha globals */ - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const - assert = require("node:assert"), - util = require("node:util"), - path = require("node:path"), - equal = require("fast-deep-equal"), - Traverser = require("../shared/traverser"), - { getRuleOptionsSchema } = require("../config/flat-config-helpers"), - { Linter, SourceCodeFixer } = require("../linter"), - { interpolate, getPlaceholderMatcher } = require("../linter/interpolate"), - stringify = require("json-stable-stringify-without-jsonify"); - -const { FlatConfigArray } = require("../config/flat-config-array"); -const { defaultConfig } = require("../config/default-config"); - -const ajv = require("../shared/ajv")({ strictDefaults: true }); - -const parserSymbol = Symbol.for("eslint.RuleTester.parser"); -const { ConfigArraySymbol } = require("@eslint/config-array"); -const { isSerializable } = require("../shared/serialization"); - -const jslang = require("../languages/js"); -const { SourceCode } = require("../languages/js/source-code"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** @typedef {import("../shared/types").Parser} Parser */ -/** @typedef {import("../shared/types").LanguageOptions} LanguageOptions */ -/** @typedef {import("../shared/types").Rule} Rule */ - - -/** - * A test case that is expected to pass lint. - * @typedef {Object} ValidTestCase - * @property {string} [name] Name for the test case. - * @property {string} code Code for the test case. - * @property {any[]} [options] Options for the test case. - * @property {Function} [before] Function to execute before testing the case. - * @property {Function} [after] Function to execute after testing the case regardless of its result. - * @property {LanguageOptions} [languageOptions] The language options to use in the test case. - * @property {{ [name: string]: any }} [settings] Settings for the test case. - * @property {string} [filename] The fake filename for the test case. Useful for rules that make assertion about filenames. - * @property {boolean} [only] Run only this test case or the subset of test cases with this property. - */ - -/** - * A test case that is expected to fail lint. - * @typedef {Object} InvalidTestCase - * @property {string} [name] Name for the test case. - * @property {string} code Code for the test case. - * @property {number | Array} errors Expected errors. - * @property {string | null} [output] The expected code after autofixes are applied. If set to `null`, the test runner will assert that no autofix is suggested. - * @property {any[]} [options] Options for the test case. - * @property {Function} [before] Function to execute before testing the case. - * @property {Function} [after] Function to execute after testing the case regardless of its result. - * @property {{ [name: string]: any }} [settings] Settings for the test case. - * @property {string} [filename] The fake filename for the test case. Useful for rules that make assertion about filenames. - * @property {LanguageOptions} [languageOptions] The language options to use in the test case. - * @property {boolean} [only] Run only this test case or the subset of test cases with this property. - */ - -/** - * A description of a reported error used in a rule tester test. - * @typedef {Object} TestCaseError - * @property {string | RegExp} [message] Message. - * @property {string} [messageId] Message ID. - * @property {string} [type] The type of the reported AST node. - * @property {{ [name: string]: string }} [data] The data used to fill the message template. - * @property {number} [line] The 1-based line number of the reported start location. - * @property {number} [column] The 1-based column number of the reported start location. - * @property {number} [endLine] The 1-based line number of the reported end location. - * @property {number} [endColumn] The 1-based column number of the reported end location. - */ - -//------------------------------------------------------------------------------ -// Private Members -//------------------------------------------------------------------------------ - -/* - * testerDefaultConfig must not be modified as it allows to reset the tester to - * the initial default configuration - */ -const testerDefaultConfig = { rules: {} }; - -/* - * RuleTester uses this config as its default. This can be overwritten via - * setDefaultConfig(). - */ -let sharedDefaultConfig = { rules: {} }; - -/* - * List every parameters possible on a test case that are not related to eslint - * configuration - */ -const RuleTesterParameters = [ - "name", - "code", - "filename", - "options", - "before", - "after", - "errors", - "output", - "only" -]; - -/* - * All allowed property names in error objects. - */ -const errorObjectParameters = new Set([ - "message", - "messageId", - "data", - "type", - "line", - "column", - "endLine", - "endColumn", - "suggestions" -]); -const friendlyErrorObjectParameterList = `[${[...errorObjectParameters].map(key => `'${key}'`).join(", ")}]`; - -/* - * All allowed property names in suggestion objects. - */ -const suggestionObjectParameters = new Set([ - "desc", - "messageId", - "data", - "output" -]); -const friendlySuggestionObjectParameterList = `[${[...suggestionObjectParameters].map(key => `'${key}'`).join(", ")}]`; - -/* - * Ignored test case properties when checking for test case duplicates. - */ -const duplicationIgnoredParameters = new Set([ - "name", - "errors", - "output" -]); - -const forbiddenMethods = [ - "applyInlineConfig", - "applyLanguageOptions", - "finalize" -]; - -/** @type {Map} */ -const forbiddenMethodCalls = new Map(forbiddenMethods.map(methodName => ([methodName, new WeakSet()]))); - -const hasOwnProperty = Function.call.bind(Object.hasOwnProperty); - -/** - * Clones a given value deeply. - * Note: This ignores `parent` property. - * @param {any} x A value to clone. - * @returns {any} A cloned value. - */ -function cloneDeeplyExcludesParent(x) { - if (typeof x === "object" && x !== null) { - if (Array.isArray(x)) { - return x.map(cloneDeeplyExcludesParent); - } - - const retv = {}; - - for (const key in x) { - if (key !== "parent" && hasOwnProperty(x, key)) { - retv[key] = cloneDeeplyExcludesParent(x[key]); - } - } - - return retv; - } - - return x; -} - -/** - * Freezes a given value deeply. - * @param {any} x A value to freeze. - * @returns {void} - */ -function freezeDeeply(x) { - if (typeof x === "object" && x !== null) { - if (Array.isArray(x)) { - x.forEach(freezeDeeply); - } else { - for (const key in x) { - if (key !== "parent" && hasOwnProperty(x, key)) { - freezeDeeply(x[key]); - } - } - } - Object.freeze(x); - } -} - -/** - * Replace control characters by `\u00xx` form. - * @param {string} text The text to sanitize. - * @returns {string} The sanitized text. - */ -function sanitize(text) { - if (typeof text !== "string") { - return ""; - } - return text.replace( - /[\u0000-\u0009\u000b-\u001a]/gu, // eslint-disable-line no-control-regex -- Escaping controls - c => `\\u${c.codePointAt(0).toString(16).padStart(4, "0")}` - ); -} - -/** - * Define `start`/`end` properties as throwing error. - * @param {string} objName Object name used for error messages. - * @param {ASTNode} node The node to define. - * @returns {void} - */ -function defineStartEndAsError(objName, node) { - Object.defineProperties(node, { - start: { - get() { - throw new Error(`Use ${objName}.range[0] instead of ${objName}.start`); - }, - configurable: true, - enumerable: false - }, - end: { - get() { - throw new Error(`Use ${objName}.range[1] instead of ${objName}.end`); - }, - configurable: true, - enumerable: false - } - }); -} - - -/** - * Define `start`/`end` properties of all nodes of the given AST as throwing error. - * @param {ASTNode} ast The root node to errorize `start`/`end` properties. - * @param {Object} [visitorKeys] Visitor keys to be used for traversing the given ast. - * @returns {void} - */ -function defineStartEndAsErrorInTree(ast, visitorKeys) { - Traverser.traverse(ast, { visitorKeys, enter: defineStartEndAsError.bind(null, "node") }); - ast.tokens.forEach(defineStartEndAsError.bind(null, "token")); - ast.comments.forEach(defineStartEndAsError.bind(null, "token")); -} - -/** - * Wraps the given parser in order to intercept and modify return values from the `parse` and `parseForESLint` methods, for test purposes. - * In particular, to modify ast nodes, tokens and comments to throw on access to their `start` and `end` properties. - * @param {Parser} parser Parser object. - * @returns {Parser} Wrapped parser object. - */ -function wrapParser(parser) { - - if (typeof parser.parseForESLint === "function") { - return { - [parserSymbol]: parser, - parseForESLint(...args) { - const ret = parser.parseForESLint(...args); - - defineStartEndAsErrorInTree(ret.ast, ret.visitorKeys); - return ret; - } - }; - } - - return { - [parserSymbol]: parser, - parse(...args) { - const ast = parser.parse(...args); - - defineStartEndAsErrorInTree(ast); - return ast; - } - }; -} - -/** - * Function to replace forbidden `SourceCode` methods. Allows just one call per method. - * @param {string} methodName The name of the method to forbid. - * @param {Function} prototype The prototype with the original method to call. - * @returns {Function} The function that throws the error. - */ -function throwForbiddenMethodError(methodName, prototype) { - - const original = prototype[methodName]; - - return function(...args) { - - const called = forbiddenMethodCalls.get(methodName); - - /* eslint-disable no-invalid-this -- needed to operate as a method. */ - if (!called.has(this)) { - called.add(this); - - return original.apply(this, args); - } - /* eslint-enable no-invalid-this -- not needed past this point */ - - throw new Error( - `\`SourceCode#${methodName}()\` cannot be called inside a rule.` - ); - }; -} - -/** - * Extracts names of {{ placeholders }} from the reported message. - * @param {string} message Reported message - * @returns {string[]} Array of placeholder names - */ -function getMessagePlaceholders(message) { - const matcher = getPlaceholderMatcher(); - - return Array.from(message.matchAll(matcher), ([, name]) => name.trim()); -} - -/** - * Returns the placeholders in the reported messages but - * only includes the placeholders available in the raw message and not in the provided data. - * @param {string} message The reported message - * @param {string} raw The raw message specified in the rule meta.messages - * @param {undefined|Record} data The passed - * @returns {string[]} Missing placeholder names - */ -function getUnsubstitutedMessagePlaceholders(message, raw, data = {}) { - const unsubstituted = getMessagePlaceholders(message); - - if (unsubstituted.length === 0) { - return []; - } - - // Remove false positives by only counting placeholders in the raw message, which were not provided in the data matcher or added with a data property - const known = getMessagePlaceholders(raw); - const provided = Object.keys(data); - - return unsubstituted.filter(name => known.includes(name) && !provided.includes(name)); -} - -const metaSchemaDescription = ` -\t- If the rule has options, set \`meta.schema\` to an array or non-empty object to enable options validation. -\t- If the rule doesn't have options, omit \`meta.schema\` to enforce that no options can be passed to the rule. -\t- You can also set \`meta.schema\` to \`false\` to opt-out of options validation (not recommended). - -\thttps://eslint.org/docs/latest/extend/custom-rules#options-schemas -`; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -// default separators for testing -const DESCRIBE = Symbol("describe"); -const IT = Symbol("it"); -const IT_ONLY = Symbol("itOnly"); - -/** - * This is `it` default handler if `it` don't exist. - * @this {Mocha} - * @param {string} text The description of the test case. - * @param {Function} method The logic of the test case. - * @throws {Error} Any error upon execution of `method`. - * @returns {any} Returned value of `method`. - */ -function itDefaultHandler(text, method) { - try { - return method.call(this); - } catch (err) { - if (err instanceof assert.AssertionError) { - err.message += ` (${util.inspect(err.actual)} ${err.operator} ${util.inspect(err.expected)})`; - } - throw err; - } -} - -/** - * This is `describe` default handler if `describe` don't exist. - * @this {Mocha} - * @param {string} text The description of the test case. - * @param {Function} method The logic of the test case. - * @returns {any} Returned value of `method`. - */ -function describeDefaultHandler(text, method) { - return method.call(this); -} - -/** - * Mocha test wrapper. - */ -class RuleTester { - - /** - * Creates a new instance of RuleTester. - * @param {Object} [testerConfig] Optional, extra configuration for the tester - */ - constructor(testerConfig = {}) { - - /** - * The configuration to use for this tester. Combination of the tester - * configuration and the default configuration. - * @type {Object} - */ - this.testerConfig = [ - sharedDefaultConfig, - testerConfig, - { rules: { "rule-tester/validate-ast": "error" } } - ]; - - this.linter = new Linter({ configType: "flat" }); - } - - /** - * Set the configuration to use for all future tests - * @param {Object} config the configuration to use. - * @throws {TypeError} If non-object config. - * @returns {void} - */ - static setDefaultConfig(config) { - if (typeof config !== "object" || config === null) { - throw new TypeError("RuleTester.setDefaultConfig: config must be an object"); - } - sharedDefaultConfig = config; - - // Make sure the rules object exists since it is assumed to exist later - sharedDefaultConfig.rules = sharedDefaultConfig.rules || {}; - } - - /** - * Get the current configuration used for all tests - * @returns {Object} the current configuration - */ - static getDefaultConfig() { - return sharedDefaultConfig; - } - - /** - * Reset the configuration to the initial configuration of the tester removing - * any changes made until now. - * @returns {void} - */ - static resetDefaultConfig() { - sharedDefaultConfig = { - rules: { - ...testerDefaultConfig.rules - } - }; - } - - - /* - * If people use `mocha test.js --watch` command, `describe` and `it` function - * instances are different for each execution. So `describe` and `it` should get fresh instance - * always. - */ - static get describe() { - return ( - this[DESCRIBE] || - (typeof describe === "function" ? describe : describeDefaultHandler) - ); - } - - static set describe(value) { - this[DESCRIBE] = value; - } - - static get it() { - return ( - this[IT] || - (typeof it === "function" ? it : itDefaultHandler) - ); - } - - static set it(value) { - this[IT] = value; - } - - /** - * Adds the `only` property to a test to run it in isolation. - * @param {string | ValidTestCase | InvalidTestCase} item A single test to run by itself. - * @returns {ValidTestCase | InvalidTestCase} The test with `only` set. - */ - static only(item) { - if (typeof item === "string") { - return { code: item, only: true }; - } - - return { ...item, only: true }; - } - - static get itOnly() { - if (typeof this[IT_ONLY] === "function") { - return this[IT_ONLY]; - } - if (typeof this[IT] === "function" && typeof this[IT].only === "function") { - return Function.bind.call(this[IT].only, this[IT]); - } - if (typeof it === "function" && typeof it.only === "function") { - return Function.bind.call(it.only, it); - } - - if (typeof this[DESCRIBE] === "function" || typeof this[IT] === "function") { - throw new Error( - "Set `RuleTester.itOnly` to use `only` with a custom test framework.\n" + - "See https://eslint.org/docs/latest/integrate/nodejs-api#customizing-ruletester for more." - ); - } - if (typeof it === "function") { - throw new Error("The current test framework does not support exclusive tests with `only`."); - } - throw new Error("To use `only`, use RuleTester with a test framework that provides `it.only()` like Mocha."); - } - - static set itOnly(value) { - this[IT_ONLY] = value; - } - - - /** - * Adds a new rule test to execute. - * @param {string} ruleName The name of the rule to run. - * @param {Rule} rule The rule to test. - * @param {{ - * valid: (ValidTestCase | string)[], - * invalid: InvalidTestCase[] - * }} test The collection of tests to run. - * @throws {TypeError|Error} If `rule` is not an object with a `create` method, - * or if non-object `test`, or if a required scenario of the given type is missing. - * @returns {void} - */ - run(ruleName, rule, test) { - - const testerConfig = this.testerConfig, - requiredScenarios = ["valid", "invalid"], - scenarioErrors = [], - linter = this.linter, - ruleId = `rule-to-test/${ruleName}`; - - const seenValidTestCases = new Set(); - const seenInvalidTestCases = new Set(); - - if (!rule || typeof rule !== "object" || typeof rule.create !== "function") { - throw new TypeError("Rule must be an object with a `create` method"); - } - - if (!test || typeof test !== "object") { - throw new TypeError(`Test Scenarios for rule ${ruleName} : Could not find test scenario object`); - } - - requiredScenarios.forEach(scenarioType => { - if (!test[scenarioType]) { - scenarioErrors.push(`Could not find any ${scenarioType} test scenarios`); - } - }); - - if (scenarioErrors.length > 0) { - throw new Error([ - `Test Scenarios for rule ${ruleName} is invalid:` - ].concat(scenarioErrors).join("\n")); - } - - const baseConfig = [ - { files: ["**"] }, // Make sure the default config matches for all files - { - plugins: { - - // copy root plugin over - "@": { - - /* - * Parsers are wrapped to detect more errors, so this needs - * to be a new object for each call to run(), otherwise the - * parsers will be wrapped multiple times. - */ - parsers: { - ...defaultConfig[0].plugins["@"].parsers - }, - - /* - * The rules key on the default plugin is a proxy to lazy-load - * just the rules that are needed. So, don't create a new object - * here, just use the default one to keep that performance - * enhancement. - */ - rules: defaultConfig[0].plugins["@"].rules, - languages: defaultConfig[0].plugins["@"].languages - }, - "rule-to-test": { - rules: { - [ruleName]: Object.assign({}, rule, { - - // Create a wrapper rule that freezes the `context` properties. - create(context) { - freezeDeeply(context.options); - freezeDeeply(context.settings); - freezeDeeply(context.parserOptions); - - // freezeDeeply(context.languageOptions); - - return rule.create(context); - } - }) - } - } - }, - language: defaultConfig[0].language - }, - ...defaultConfig.slice(1) - ]; - - /** - * Runs a hook on the given item when it's assigned to the given property - * @param {string|Object} item Item to run the hook on - * @param {string} prop The property having the hook assigned to - * @throws {Error} If the property is not a function or that function throws an error - * @returns {void} - * @private - */ - function runHook(item, prop) { - if (typeof item === "object" && hasOwnProperty(item, prop)) { - assert.strictEqual(typeof item[prop], "function", `Optional test case property '${prop}' must be a function`); - item[prop](); - } - } - - /** - * Run the rule for the given item - * @param {string|Object} item Item to run the rule against - * @throws {Error} If an invalid schema. - * @returns {Object} Eslint run result - * @private - */ - function runRuleForItem(item) { - const flatConfigArrayOptions = { - baseConfig - }; - - if (item.filename) { - flatConfigArrayOptions.basePath = path.parse(item.filename).root || void 0; - } - - const configs = new FlatConfigArray(testerConfig, flatConfigArrayOptions); - - /* - * Modify the returned config so that the parser is wrapped to catch - * access of the start/end properties. This method is called just - * once per code snippet being tested, so each test case gets a clean - * parser. - */ - configs[ConfigArraySymbol.finalizeConfig] = function(...args) { - - // can't do super here :( - const proto = Object.getPrototypeOf(this); - const calculatedConfig = proto[ConfigArraySymbol.finalizeConfig].apply(this, args); - - // wrap the parser to catch start/end property access - if (calculatedConfig.language === jslang) { - calculatedConfig.languageOptions.parser = wrapParser(calculatedConfig.languageOptions.parser); - } - - return calculatedConfig; - }; - - let code, filename, output, beforeAST, afterAST; - - if (typeof item === "string") { - code = item; - } else { - code = item.code; - - /* - * Assumes everything on the item is a config except for the - * parameters used by this tester - */ - const itemConfig = { ...item }; - - for (const parameter of RuleTesterParameters) { - delete itemConfig[parameter]; - } - - /* - * Create the config object from the tester config and this item - * specific configurations. - */ - configs.push(itemConfig); - } - - if (hasOwnProperty(item, "only")) { - assert.ok(typeof item.only === "boolean", "Optional test case property 'only' must be a boolean"); - } - if (hasOwnProperty(item, "filename")) { - assert.ok(typeof item.filename === "string", "Optional test case property 'filename' must be a string"); - filename = item.filename; - } - - let ruleConfig = 1; - - if (hasOwnProperty(item, "options")) { - assert(Array.isArray(item.options), "options must be an array"); - ruleConfig = [1, ...item.options]; - } - - configs.push({ - rules: { - [ruleId]: ruleConfig - } - }); - - let schema; - - try { - schema = getRuleOptionsSchema(rule); - } catch (err) { - err.message += metaSchemaDescription; - throw err; - } - - /* - * Check and throw an error if the schema is an empty object (`schema:{}`), because such schema - * doesn't validate or enforce anything and is therefore considered a possible error. If the intent - * was to skip options validation, `schema:false` should be set instead (explicit opt-out). - * - * For this purpose, a schema object is considered empty if it doesn't have any own enumerable string-keyed - * properties. While `ajv.compile()` does use enumerable properties from the prototype chain as well, - * it caches compiled schemas by serializing only own enumerable properties, so it's generally not a good idea - * to use inherited properties in schemas because schemas that differ only in inherited properties would end up - * having the same cache entry that would be correct for only one of them. - * - * At this point, `schema` can only be an object or `null`. - */ - if (schema && Object.keys(schema).length === 0) { - throw new Error(`\`schema: {}\` is a no-op${metaSchemaDescription}`); - } - - /* - * Setup AST getters. - * The goal is to check whether or not AST was modified when - * running the rule under test. - */ - configs.push({ - plugins: { - "rule-tester": { - rules: { - "validate-ast": { - create() { - return { - Program(node) { - beforeAST = cloneDeeplyExcludesParent(node); - }, - "Program:exit"(node) { - afterAST = node; - } - }; - } - } - } - } - } - }); - - if (schema) { - ajv.validateSchema(schema); - - if (ajv.errors) { - const errors = ajv.errors.map(error => { - const field = error.dataPath[0] === "." ? error.dataPath.slice(1) : error.dataPath; - - return `\t${field}: ${error.message}`; - }).join("\n"); - - throw new Error([`Schema for rule ${ruleName} is invalid:`, errors]); - } - - /* - * `ajv.validateSchema` checks for errors in the structure of the schema (by comparing the schema against a "meta-schema"), - * and it reports those errors individually. However, there are other types of schema errors that only occur when compiling - * the schema (e.g. using invalid defaults in a schema), and only one of these errors can be reported at a time. As a result, - * the schema is compiled here separately from checking for `validateSchema` errors. - */ - try { - ajv.compile(schema); - } catch (err) { - throw new Error(`Schema for rule ${ruleName} is invalid: ${err.message}`); - } - } - - // check for validation errors - try { - configs.normalizeSync(); - configs.getConfig("test.js"); - } catch (error) { - error.message = `ESLint configuration in rule-tester is invalid: ${error.message}`; - throw error; - } - - // Verify the code. - const { applyLanguageOptions, applyInlineConfig, finalize } = SourceCode.prototype; - let messages; - - try { - forbiddenMethods.forEach(methodName => { - SourceCode.prototype[methodName] = throwForbiddenMethodError(methodName, SourceCode.prototype); - }); - - messages = linter.verify(code, configs, filename); - } finally { - SourceCode.prototype.applyInlineConfig = applyInlineConfig; - SourceCode.prototype.applyLanguageOptions = applyLanguageOptions; - SourceCode.prototype.finalize = finalize; - } - - - const fatalErrorMessage = messages.find(m => m.fatal); - - assert(!fatalErrorMessage, `A fatal parsing error occurred: ${fatalErrorMessage && fatalErrorMessage.message}`); - - // Verify if autofix makes a syntax error or not. - if (messages.some(m => m.fix)) { - output = SourceCodeFixer.applyFixes(code, messages).output; - const errorMessageInFix = linter.verify(output, configs, filename).find(m => m.fatal); - - assert(!errorMessageInFix, [ - "A fatal parsing error occurred in autofix.", - `Error: ${errorMessageInFix && errorMessageInFix.message}`, - "Autofix output:", - output - ].join("\n")); - } else { - output = code; - } - - return { - messages, - output, - beforeAST, - afterAST: cloneDeeplyExcludesParent(afterAST), - configs, - filename - }; - } - - /** - * Check if the AST was changed - * @param {ASTNode} beforeAST AST node before running - * @param {ASTNode} afterAST AST node after running - * @returns {void} - * @private - */ - function assertASTDidntChange(beforeAST, afterAST) { - if (!equal(beforeAST, afterAST)) { - assert.fail("Rule should not modify AST."); - } - } - - /** - * Check if this test case is a duplicate of one we have seen before. - * @param {string|Object} item test case object - * @param {Set} seenTestCases set of serialized test cases we have seen so far (managed by this function) - * @returns {void} - * @private - */ - function checkDuplicateTestCase(item, seenTestCases) { - if (!isSerializable(item)) { - - /* - * If we can't serialize a test case (because it contains a function, RegExp, etc), skip the check. - * This might happen with properties like: options, plugins, settings, languageOptions.parser, languageOptions.parserOptions. - */ - return; - } - - const normalizedItem = typeof item === "string" ? { code: item } : item; - const serializedTestCase = stringify(normalizedItem, { - replacer(key, value) { - - // "this" is the currently stringified object --> only ignore top-level properties - return (normalizedItem !== this || !duplicationIgnoredParameters.has(key)) ? value : void 0; - } - }); - - assert( - !seenTestCases.has(serializedTestCase), - "detected duplicate test case" - ); - seenTestCases.add(serializedTestCase); - } - - /** - * Check if the template is valid or not - * all valid cases go through this - * @param {string|Object} item Item to run the rule against - * @returns {void} - * @private - */ - function testValidTemplate(item) { - const code = typeof item === "object" ? item.code : item; - - assert.ok(typeof code === "string", "Test case must specify a string value for 'code'"); - if (item.name) { - assert.ok(typeof item.name === "string", "Optional test case property 'name' must be a string"); - } - - checkDuplicateTestCase(item, seenValidTestCases); - - const result = runRuleForItem(item); - const messages = result.messages; - - assert.strictEqual(messages.length, 0, util.format("Should have no errors but had %d: %s", - messages.length, - util.inspect(messages))); - - assertASTDidntChange(result.beforeAST, result.afterAST); - } - - /** - * Asserts that the message matches its expected value. If the expected - * value is a regular expression, it is checked against the actual - * value. - * @param {string} actual Actual value - * @param {string|RegExp} expected Expected value - * @returns {void} - * @private - */ - function assertMessageMatches(actual, expected) { - if (expected instanceof RegExp) { - - // assert.js doesn't have a built-in RegExp match function - assert.ok( - expected.test(actual), - `Expected '${actual}' to match ${expected}` - ); - } else { - assert.strictEqual(actual, expected); - } - } - - /** - * Check if the template is invalid or not - * all invalid cases go through this. - * @param {string|Object} item Item to run the rule against - * @returns {void} - * @private - */ - function testInvalidTemplate(item) { - assert.ok(typeof item.code === "string", "Test case must specify a string value for 'code'"); - if (item.name) { - assert.ok(typeof item.name === "string", "Optional test case property 'name' must be a string"); - } - assert.ok(item.errors || item.errors === 0, - `Did not specify errors for an invalid test of ${ruleName}`); - - if (Array.isArray(item.errors) && item.errors.length === 0) { - assert.fail("Invalid cases must have at least one error"); - } - - checkDuplicateTestCase(item, seenInvalidTestCases); - - const ruleHasMetaMessages = hasOwnProperty(rule, "meta") && hasOwnProperty(rule.meta, "messages"); - const friendlyIDList = ruleHasMetaMessages ? `[${Object.keys(rule.meta.messages).map(key => `'${key}'`).join(", ")}]` : null; - - const result = runRuleForItem(item); - const messages = result.messages; - - for (const message of messages) { - if (hasOwnProperty(message, "suggestions")) { - - /** @type {Map} */ - const seenMessageIndices = new Map(); - - for (let i = 0; i < message.suggestions.length; i += 1) { - const suggestionMessage = message.suggestions[i].desc; - const previous = seenMessageIndices.get(suggestionMessage); - - assert.ok(!seenMessageIndices.has(suggestionMessage), `Suggestion message '${suggestionMessage}' reported from suggestion ${i} was previously reported by suggestion ${previous}. Suggestion messages should be unique within an error.`); - seenMessageIndices.set(suggestionMessage, i); - } - } - } - - if (typeof item.errors === "number") { - - if (item.errors === 0) { - assert.fail("Invalid cases must have 'error' value greater than 0"); - } - - assert.strictEqual(messages.length, item.errors, util.format("Should have %d error%s but had %d: %s", - item.errors, - item.errors === 1 ? "" : "s", - messages.length, - util.inspect(messages))); - } else { - assert.strictEqual( - messages.length, item.errors.length, util.format( - "Should have %d error%s but had %d: %s", - item.errors.length, - item.errors.length === 1 ? "" : "s", - messages.length, - util.inspect(messages) - ) - ); - - const hasMessageOfThisRule = messages.some(m => m.ruleId === ruleId); - - for (let i = 0, l = item.errors.length; i < l; i++) { - const error = item.errors[i]; - const message = messages[i]; - - assert(hasMessageOfThisRule, "Error rule name should be the same as the name of the rule being tested"); - - if (typeof error === "string" || error instanceof RegExp) { - - // Just an error message. - assertMessageMatches(message.message, error); - assert.ok(message.suggestions === void 0, `Error at index ${i} has suggestions. Please convert the test error into an object and specify 'suggestions' property on it to test suggestions.`); - } else if (typeof error === "object" && error !== null) { - - /* - * Error object. - * This may have a message, messageId, data, node type, line, and/or - * column. - */ - - Object.keys(error).forEach(propertyName => { - assert.ok( - errorObjectParameters.has(propertyName), - `Invalid error property name '${propertyName}'. Expected one of ${friendlyErrorObjectParameterList}.` - ); - }); - - if (hasOwnProperty(error, "message")) { - assert.ok(!hasOwnProperty(error, "messageId"), "Error should not specify both 'message' and a 'messageId'."); - assert.ok(!hasOwnProperty(error, "data"), "Error should not specify both 'data' and 'message'."); - assertMessageMatches(message.message, error.message); - } else if (hasOwnProperty(error, "messageId")) { - assert.ok( - ruleHasMetaMessages, - "Error can not use 'messageId' if rule under test doesn't define 'meta.messages'." - ); - if (!hasOwnProperty(rule.meta.messages, error.messageId)) { - assert(false, `Invalid messageId '${error.messageId}'. Expected one of ${friendlyIDList}.`); - } - assert.strictEqual( - message.messageId, - error.messageId, - `messageId '${message.messageId}' does not match expected messageId '${error.messageId}'.` - ); - - const unsubstitutedPlaceholders = getUnsubstitutedMessagePlaceholders( - message.message, - rule.meta.messages[message.messageId], - error.data - ); - - assert.ok( - unsubstitutedPlaceholders.length === 0, - `The reported message has ${unsubstitutedPlaceholders.length > 1 ? `unsubstituted placeholders: ${unsubstitutedPlaceholders.map(name => `'${name}'`).join(", ")}` : `an unsubstituted placeholder '${unsubstitutedPlaceholders[0]}'`}. Please provide the missing ${unsubstitutedPlaceholders.length > 1 ? "values" : "value"} via the 'data' property in the context.report() call.` - ); - - if (hasOwnProperty(error, "data")) { - - /* - * if data was provided, then directly compare the returned message to a synthetic - * interpolated message using the same message ID and data provided in the test. - * See https://github.com/eslint/eslint/issues/9890 for context. - */ - const unformattedOriginalMessage = rule.meta.messages[error.messageId]; - const rehydratedMessage = interpolate(unformattedOriginalMessage, error.data); - - assert.strictEqual( - message.message, - rehydratedMessage, - `Hydrated message "${rehydratedMessage}" does not match "${message.message}"` - ); - } - } else { - assert.fail("Test error must specify either a 'messageId' or 'message'."); - } - - if (error.type) { - assert.strictEqual(message.nodeType, error.type, `Error type should be ${error.type}, found ${message.nodeType}`); - } - - if (hasOwnProperty(error, "line")) { - assert.strictEqual(message.line, error.line, `Error line should be ${error.line}`); - } - - if (hasOwnProperty(error, "column")) { - assert.strictEqual(message.column, error.column, `Error column should be ${error.column}`); - } - - if (hasOwnProperty(error, "endLine")) { - assert.strictEqual(message.endLine, error.endLine, `Error endLine should be ${error.endLine}`); - } - - if (hasOwnProperty(error, "endColumn")) { - assert.strictEqual(message.endColumn, error.endColumn, `Error endColumn should be ${error.endColumn}`); - } - - assert.ok(!message.suggestions || hasOwnProperty(error, "suggestions"), `Error at index ${i} has suggestions. Please specify 'suggestions' property on the test error object.`); - if (hasOwnProperty(error, "suggestions")) { - - // Support asserting there are no suggestions - const expectsSuggestions = Array.isArray(error.suggestions) ? error.suggestions.length > 0 : Boolean(error.suggestions); - const hasSuggestions = message.suggestions !== void 0; - - if (!hasSuggestions && expectsSuggestions) { - assert.ok(!error.suggestions, `Error should have suggestions on error with message: "${message.message}"`); - } else if (hasSuggestions) { - assert.ok(expectsSuggestions, `Error should have no suggestions on error with message: "${message.message}"`); - if (typeof error.suggestions === "number") { - assert.strictEqual(message.suggestions.length, error.suggestions, `Error should have ${error.suggestions} suggestions. Instead found ${message.suggestions.length} suggestions`); - } else if (Array.isArray(error.suggestions)) { - assert.strictEqual(message.suggestions.length, error.suggestions.length, `Error should have ${error.suggestions.length} suggestions. Instead found ${message.suggestions.length} suggestions`); - - error.suggestions.forEach((expectedSuggestion, index) => { - assert.ok( - typeof expectedSuggestion === "object" && expectedSuggestion !== null, - "Test suggestion in 'suggestions' array must be an object." - ); - Object.keys(expectedSuggestion).forEach(propertyName => { - assert.ok( - suggestionObjectParameters.has(propertyName), - `Invalid suggestion property name '${propertyName}'. Expected one of ${friendlySuggestionObjectParameterList}.` - ); - }); - - const actualSuggestion = message.suggestions[index]; - const suggestionPrefix = `Error Suggestion at index ${index}:`; - - if (hasOwnProperty(expectedSuggestion, "desc")) { - assert.ok( - !hasOwnProperty(expectedSuggestion, "data"), - `${suggestionPrefix} Test should not specify both 'desc' and 'data'.` - ); - assert.ok( - !hasOwnProperty(expectedSuggestion, "messageId"), - `${suggestionPrefix} Test should not specify both 'desc' and 'messageId'.` - ); - assert.strictEqual( - actualSuggestion.desc, - expectedSuggestion.desc, - `${suggestionPrefix} desc should be "${expectedSuggestion.desc}" but got "${actualSuggestion.desc}" instead.` - ); - } else if (hasOwnProperty(expectedSuggestion, "messageId")) { - assert.ok( - ruleHasMetaMessages, - `${suggestionPrefix} Test can not use 'messageId' if rule under test doesn't define 'meta.messages'.` - ); - assert.ok( - hasOwnProperty(rule.meta.messages, expectedSuggestion.messageId), - `${suggestionPrefix} Test has invalid messageId '${expectedSuggestion.messageId}', the rule under test allows only one of ${friendlyIDList}.` - ); - assert.strictEqual( - actualSuggestion.messageId, - expectedSuggestion.messageId, - `${suggestionPrefix} messageId should be '${expectedSuggestion.messageId}' but got '${actualSuggestion.messageId}' instead.` - ); - - const unsubstitutedPlaceholders = getUnsubstitutedMessagePlaceholders( - actualSuggestion.desc, - rule.meta.messages[expectedSuggestion.messageId], - expectedSuggestion.data - ); - - assert.ok( - unsubstitutedPlaceholders.length === 0, - `The message of the suggestion has ${unsubstitutedPlaceholders.length > 1 ? `unsubstituted placeholders: ${unsubstitutedPlaceholders.map(name => `'${name}'`).join(", ")}` : `an unsubstituted placeholder '${unsubstitutedPlaceholders[0]}'`}. Please provide the missing ${unsubstitutedPlaceholders.length > 1 ? "values" : "value"} via the 'data' property for the suggestion in the context.report() call.` - ); - - if (hasOwnProperty(expectedSuggestion, "data")) { - const unformattedMetaMessage = rule.meta.messages[expectedSuggestion.messageId]; - const rehydratedDesc = interpolate(unformattedMetaMessage, expectedSuggestion.data); - - assert.strictEqual( - actualSuggestion.desc, - rehydratedDesc, - `${suggestionPrefix} Hydrated test desc "${rehydratedDesc}" does not match received desc "${actualSuggestion.desc}".` - ); - } - } else if (hasOwnProperty(expectedSuggestion, "data")) { - assert.fail( - `${suggestionPrefix} Test must specify 'messageId' if 'data' is used.` - ); - } else { - assert.fail( - `${suggestionPrefix} Test must specify either 'messageId' or 'desc'.` - ); - } - - assert.ok(hasOwnProperty(expectedSuggestion, "output"), `${suggestionPrefix} The "output" property is required.`); - const codeWithAppliedSuggestion = SourceCodeFixer.applyFixes(item.code, [actualSuggestion]).output; - - // Verify if suggestion fix makes a syntax error or not. - const errorMessageInSuggestion = - linter.verify(codeWithAppliedSuggestion, result.configs, result.filename).find(m => m.fatal); - - assert(!errorMessageInSuggestion, [ - "A fatal parsing error occurred in suggestion fix.", - `Error: ${errorMessageInSuggestion && errorMessageInSuggestion.message}`, - "Suggestion output:", - codeWithAppliedSuggestion - ].join("\n")); - - assert.strictEqual(codeWithAppliedSuggestion, expectedSuggestion.output, `Expected the applied suggestion fix to match the test suggestion output for suggestion at index: ${index} on error with message: "${message.message}"`); - assert.notStrictEqual(expectedSuggestion.output, item.code, `The output of a suggestion should differ from the original source code for suggestion at index: ${index} on error with message: "${message.message}"`); - }); - } else { - assert.fail("Test error object property 'suggestions' should be an array or a number"); - } - } - } - } else { - - // Message was an unexpected type - assert.fail(`Error should be a string, object, or RegExp, but found (${util.inspect(message)})`); - } - } - } - - if (hasOwnProperty(item, "output")) { - if (item.output === null) { - assert.strictEqual( - result.output, - item.code, - "Expected no autofixes to be suggested" - ); - } else { - assert.strictEqual(result.output, item.output, "Output is incorrect."); - assert.notStrictEqual(item.code, item.output, "Test property 'output' matches 'code'. If no autofix is expected, then omit the 'output' property or set it to null."); - } - } else { - assert.strictEqual( - result.output, - item.code, - "The rule fixed the code. Please add 'output' property." - ); - } - - assertASTDidntChange(result.beforeAST, result.afterAST); - } - - /* - * This creates a mocha test suite and pipes all supplied info through - * one of the templates above. - * The test suites for valid/invalid are created conditionally as - * test runners (eg. vitest) fail for empty test suites. - */ - this.constructor.describe(ruleName, () => { - if (test.valid.length > 0) { - this.constructor.describe("valid", () => { - test.valid.forEach(valid => { - this.constructor[valid.only ? "itOnly" : "it"]( - sanitize(typeof valid === "object" ? valid.name || valid.code : valid), - () => { - try { - runHook(valid, "before"); - testValidTemplate(valid); - } finally { - runHook(valid, "after"); - } - } - ); - }); - }); - } - - if (test.invalid.length > 0) { - this.constructor.describe("invalid", () => { - test.invalid.forEach(invalid => { - this.constructor[invalid.only ? "itOnly" : "it"]( - sanitize(invalid.name || invalid.code), - () => { - try { - runHook(invalid, "before"); - testInvalidTemplate(invalid); - } finally { - runHook(invalid, "after"); - } - } - ); - }); - }); - } - }); - } -} - -RuleTester[DESCRIBE] = RuleTester[IT] = RuleTester[IT_ONLY] = null; - -module.exports = RuleTester; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/accessor-pairs.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/accessor-pairs.js deleted file mode 100644 index e95c7d06..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/accessor-pairs.js +++ /dev/null @@ -1,350 +0,0 @@ -/** - * @fileoverview Rule to enforce getter and setter pairs in objects and classes. - * @author Gyandeep Singh - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** - * Property name if it can be computed statically, otherwise the list of the tokens of the key node. - * @typedef {string|Token[]} Key - */ - -/** - * Accessor nodes with the same key. - * @typedef {Object} AccessorData - * @property {Key} key Accessor's key - * @property {ASTNode[]} getters List of getter nodes. - * @property {ASTNode[]} setters List of setter nodes. - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not the given lists represent the equal tokens in the same order. - * Tokens are compared by their properties, not by instance. - * @param {Token[]} left First list of tokens. - * @param {Token[]} right Second list of tokens. - * @returns {boolean} `true` if the lists have same tokens. - */ -function areEqualTokenLists(left, right) { - if (left.length !== right.length) { - return false; - } - - for (let i = 0; i < left.length; i++) { - const leftToken = left[i], - rightToken = right[i]; - - if (leftToken.type !== rightToken.type || leftToken.value !== rightToken.value) { - return false; - } - } - - return true; -} - -/** - * Checks whether or not the given keys are equal. - * @param {Key} left First key. - * @param {Key} right Second key. - * @returns {boolean} `true` if the keys are equal. - */ -function areEqualKeys(left, right) { - if (typeof left === "string" && typeof right === "string") { - - // Statically computed names. - return left === right; - } - if (Array.isArray(left) && Array.isArray(right)) { - - // Token lists. - return areEqualTokenLists(left, right); - } - - return false; -} - -/** - * Checks whether or not a given node is of an accessor kind ('get' or 'set'). - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is of an accessor kind. - */ -function isAccessorKind(node) { - return node.kind === "get" || node.kind === "set"; -} - -/** - * Checks whether or not a given node is an argument of a specified method call. - * @param {ASTNode} node A node to check. - * @param {number} index An expected index of the node in arguments. - * @param {string} object An expected name of the object of the method. - * @param {string} property An expected name of the method. - * @returns {boolean} `true` if the node is an argument of the specified method call. - */ -function isArgumentOfMethodCall(node, index, object, property) { - const parent = node.parent; - - return ( - parent.type === "CallExpression" && - astUtils.isSpecificMemberAccess(parent.callee, object, property) && - parent.arguments[index] === node - ); -} - -/** - * Checks whether or not a given node is a property descriptor. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is a property descriptor. - */ -function isPropertyDescriptor(node) { - - // Object.defineProperty(obj, "foo", {set: ...}) - if (isArgumentOfMethodCall(node, 2, "Object", "defineProperty") || - isArgumentOfMethodCall(node, 2, "Reflect", "defineProperty") - ) { - return true; - } - - /* - * Object.defineProperties(obj, {foo: {set: ...}}) - * Object.create(proto, {foo: {set: ...}}) - */ - const grandparent = node.parent.parent; - - return grandparent.type === "ObjectExpression" && ( - isArgumentOfMethodCall(grandparent, 1, "Object", "create") || - isArgumentOfMethodCall(grandparent, 1, "Object", "defineProperties") - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - enforceForClassMembers: true, - getWithoutSet: false, - setWithoutGet: true - }], - - docs: { - description: "Enforce getter and setter pairs in objects and classes", - recommended: false, - url: "https://eslint.org/docs/latest/rules/accessor-pairs" - }, - - schema: [{ - type: "object", - properties: { - getWithoutSet: { - type: "boolean" - }, - setWithoutGet: { - type: "boolean" - }, - enforceForClassMembers: { - type: "boolean" - } - }, - additionalProperties: false - }], - - messages: { - missingGetterInPropertyDescriptor: "Getter is not present in property descriptor.", - missingSetterInPropertyDescriptor: "Setter is not present in property descriptor.", - missingGetterInObjectLiteral: "Getter is not present for {{ name }}.", - missingSetterInObjectLiteral: "Setter is not present for {{ name }}.", - missingGetterInClass: "Getter is not present for class {{ name }}.", - missingSetterInClass: "Setter is not present for class {{ name }}." - } - }, - create(context) { - const [{ - getWithoutSet: checkGetWithoutSet, - setWithoutGet: checkSetWithoutGet, - enforceForClassMembers - }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Reports the given node. - * @param {ASTNode} node The node to report. - * @param {string} messageKind "missingGetter" or "missingSetter". - * @returns {void} - * @private - */ - function report(node, messageKind) { - if (node.type === "Property") { - context.report({ - node, - messageId: `${messageKind}InObjectLiteral`, - loc: astUtils.getFunctionHeadLoc(node.value, sourceCode), - data: { name: astUtils.getFunctionNameWithKind(node.value) } - }); - } else if (node.type === "MethodDefinition") { - context.report({ - node, - messageId: `${messageKind}InClass`, - loc: astUtils.getFunctionHeadLoc(node.value, sourceCode), - data: { name: astUtils.getFunctionNameWithKind(node.value) } - }); - } else { - context.report({ - node, - messageId: `${messageKind}InPropertyDescriptor` - }); - } - } - - /** - * Reports each of the nodes in the given list using the same messageId. - * @param {ASTNode[]} nodes Nodes to report. - * @param {string} messageKind "missingGetter" or "missingSetter". - * @returns {void} - * @private - */ - function reportList(nodes, messageKind) { - for (const node of nodes) { - report(node, messageKind); - } - } - - /** - * Checks accessor pairs in the given list of nodes. - * @param {ASTNode[]} nodes The list to check. - * @returns {void} - * @private - */ - function checkList(nodes) { - const accessors = []; - let found = false; - - for (let i = 0; i < nodes.length; i++) { - const node = nodes[i]; - - if (isAccessorKind(node)) { - - // Creates a new `AccessorData` object for the given getter or setter node. - const name = astUtils.getStaticPropertyName(node); - const key = (name !== null) ? name : sourceCode.getTokens(node.key); - - // Merges the given `AccessorData` object into the given accessors list. - for (let j = 0; j < accessors.length; j++) { - const accessor = accessors[j]; - - if (areEqualKeys(accessor.key, key)) { - accessor.getters.push(...node.kind === "get" ? [node] : []); - accessor.setters.push(...node.kind === "set" ? [node] : []); - found = true; - break; - } - } - if (!found) { - accessors.push({ - key, - getters: node.kind === "get" ? [node] : [], - setters: node.kind === "set" ? [node] : [] - }); - } - found = false; - } - } - - for (const { getters, setters } of accessors) { - if (checkSetWithoutGet && setters.length && !getters.length) { - reportList(setters, "missingGetter"); - } - if (checkGetWithoutSet && getters.length && !setters.length) { - reportList(getters, "missingSetter"); - } - } - } - - /** - * Checks accessor pairs in an object literal. - * @param {ASTNode} node `ObjectExpression` node to check. - * @returns {void} - * @private - */ - function checkObjectLiteral(node) { - checkList(node.properties.filter(p => p.type === "Property")); - } - - /** - * Checks accessor pairs in a property descriptor. - * @param {ASTNode} node Property descriptor `ObjectExpression` node to check. - * @returns {void} - * @private - */ - function checkPropertyDescriptor(node) { - const namesToCheck = new Set(node.properties - .filter(p => p.type === "Property" && p.kind === "init" && !p.computed) - .map(({ key }) => key.name)); - - const hasGetter = namesToCheck.has("get"); - const hasSetter = namesToCheck.has("set"); - - if (checkSetWithoutGet && hasSetter && !hasGetter) { - report(node, "missingGetter"); - } - if (checkGetWithoutSet && hasGetter && !hasSetter) { - report(node, "missingSetter"); - } - } - - /** - * Checks the given object expression as an object literal and as a possible property descriptor. - * @param {ASTNode} node `ObjectExpression` node to check. - * @returns {void} - * @private - */ - function checkObjectExpression(node) { - checkObjectLiteral(node); - if (isPropertyDescriptor(node)) { - checkPropertyDescriptor(node); - } - } - - /** - * Checks the given class body. - * @param {ASTNode} node `ClassBody` node to check. - * @returns {void} - * @private - */ - function checkClassBody(node) { - const methodDefinitions = node.body.filter(m => m.type === "MethodDefinition"); - - checkList(methodDefinitions.filter(m => m.static)); - checkList(methodDefinitions.filter(m => !m.static)); - } - - const listeners = {}; - - if (checkSetWithoutGet || checkGetWithoutSet) { - listeners.ObjectExpression = checkObjectExpression; - if (enforceForClassMembers) { - listeners.ClassBody = checkClassBody; - } - } - - return listeners; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-newline.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-newline.js deleted file mode 100644 index 9eb72582..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-newline.js +++ /dev/null @@ -1,261 +0,0 @@ -/** - * @fileoverview Rule to enforce linebreaks after open and before close array brackets - * @author Jan Peer Stöcklmair - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce linebreaks after opening and before closing array brackets", - recommended: false, - url: "https://eslint.org/docs/latest/rules/array-bracket-newline" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["always", "never", "consistent"] - }, - { - type: "object", - properties: { - multiline: { - type: "boolean" - }, - minItems: { - type: ["integer", "null"], - minimum: 0 - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - unexpectedOpeningLinebreak: "There should be no linebreak after '['.", - unexpectedClosingLinebreak: "There should be no linebreak before ']'.", - missingOpeningLinebreak: "A linebreak is required after '['.", - missingClosingLinebreak: "A linebreak is required before ']'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - - /** - * Normalizes a given option value. - * @param {string|Object|undefined} option An option value to parse. - * @returns {{multiline: boolean, minItems: number}} Normalized option object. - */ - function normalizeOptionValue(option) { - let consistent = false; - let multiline = false; - let minItems; - - if (option) { - if (option === "consistent") { - consistent = true; - minItems = Number.POSITIVE_INFINITY; - } else if (option === "always" || option.minItems === 0) { - minItems = 0; - } else if (option === "never") { - minItems = Number.POSITIVE_INFINITY; - } else { - multiline = Boolean(option.multiline); - minItems = option.minItems || Number.POSITIVE_INFINITY; - } - } else { - consistent = false; - multiline = true; - minItems = Number.POSITIVE_INFINITY; - } - - return { consistent, multiline, minItems }; - } - - /** - * Normalizes a given option value. - * @param {string|Object|undefined} options An option value to parse. - * @returns {{ArrayExpression: {multiline: boolean, minItems: number}, ArrayPattern: {multiline: boolean, minItems: number}}} Normalized option object. - */ - function normalizeOptions(options) { - const value = normalizeOptionValue(options); - - return { ArrayExpression: value, ArrayPattern: value }; - } - - /** - * Reports that there shouldn't be a linebreak after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportNoBeginningLinebreak(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "unexpectedOpeningLinebreak", - fix(fixer) { - const nextToken = sourceCode.getTokenAfter(token, { includeComments: true }); - - if (astUtils.isCommentToken(nextToken)) { - return null; - } - - return fixer.removeRange([token.range[1], nextToken.range[0]]); - } - }); - } - - /** - * Reports that there shouldn't be a linebreak before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportNoEndingLinebreak(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "unexpectedClosingLinebreak", - fix(fixer) { - const previousToken = sourceCode.getTokenBefore(token, { includeComments: true }); - - if (astUtils.isCommentToken(previousToken)) { - return null; - } - - return fixer.removeRange([previousToken.range[1], token.range[0]]); - } - }); - } - - /** - * Reports that there should be a linebreak after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredBeginningLinebreak(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "missingOpeningLinebreak", - fix(fixer) { - return fixer.insertTextAfter(token, "\n"); - } - }); - } - - /** - * Reports that there should be a linebreak before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredEndingLinebreak(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "missingClosingLinebreak", - fix(fixer) { - return fixer.insertTextBefore(token, "\n"); - } - }); - } - - /** - * Reports a given node if it violated this rule. - * @param {ASTNode} node A node to check. This is an ArrayExpression node or an ArrayPattern node. - * @returns {void} - */ - function check(node) { - const elements = node.elements; - const normalizedOptions = normalizeOptions(context.options[0]); - const options = normalizedOptions[node.type]; - const openBracket = sourceCode.getFirstToken(node); - const closeBracket = sourceCode.getLastToken(node); - const firstIncComment = sourceCode.getTokenAfter(openBracket, { includeComments: true }); - const lastIncComment = sourceCode.getTokenBefore(closeBracket, { includeComments: true }); - const first = sourceCode.getTokenAfter(openBracket); - const last = sourceCode.getTokenBefore(closeBracket); - - const needsLinebreaks = ( - elements.length >= options.minItems || - ( - options.multiline && - elements.length > 0 && - firstIncComment.loc.start.line !== lastIncComment.loc.end.line - ) || - ( - elements.length === 0 && - firstIncComment.type === "Block" && - firstIncComment.loc.start.line !== lastIncComment.loc.end.line && - firstIncComment === lastIncComment - ) || - ( - options.consistent && - openBracket.loc.end.line !== first.loc.start.line - ) - ); - - /* - * Use tokens or comments to check multiline or not. - * But use only tokens to check whether linebreaks are needed. - * This allows: - * var arr = [ // eslint-disable-line foo - * 'a' - * ] - */ - - if (needsLinebreaks) { - if (astUtils.isTokenOnSameLine(openBracket, first)) { - reportRequiredBeginningLinebreak(node, openBracket); - } - if (astUtils.isTokenOnSameLine(last, closeBracket)) { - reportRequiredEndingLinebreak(node, closeBracket); - } - } else { - if (!astUtils.isTokenOnSameLine(openBracket, first)) { - reportNoBeginningLinebreak(node, openBracket); - } - if (!astUtils.isTokenOnSameLine(last, closeBracket)) { - reportNoEndingLinebreak(node, closeBracket); - } - } - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - ArrayPattern: check, - ArrayExpression: check - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-spacing.js deleted file mode 100644 index 31ace985..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-bracket-spacing.js +++ /dev/null @@ -1,244 +0,0 @@ -/** - * @fileoverview Disallows or enforces spaces inside of array brackets. - * @author Jamund Ferguson - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing inside array brackets", - recommended: false, - url: "https://eslint.org/docs/latest/rules/array-bracket-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - singleValue: { - type: "boolean" - }, - objectsInArrays: { - type: "boolean" - }, - arraysInArrays: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedSpaceAfter: "There should be no space after '{{tokenValue}}'.", - unexpectedSpaceBefore: "There should be no space before '{{tokenValue}}'.", - missingSpaceAfter: "A space is required after '{{tokenValue}}'.", - missingSpaceBefore: "A space is required before '{{tokenValue}}'." - } - }, - create(context) { - const spaced = context.options[0] === "always", - sourceCode = context.sourceCode; - - /** - * Determines whether an option is set, relative to the spacing option. - * If spaced is "always", then check whether option is set to false. - * If spaced is "never", then check whether option is set to true. - * @param {Object} option The option to exclude. - * @returns {boolean} Whether or not the property is excluded. - */ - function isOptionSet(option) { - return context.options[1] ? context.options[1][option] === !spaced : false; - } - - const options = { - spaced, - singleElementException: isOptionSet("singleValue"), - objectsInArraysException: isOptionSet("objectsInArrays"), - arraysInArraysException: isOptionSet("arraysInArrays") - }; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Reports that there shouldn't be a space after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportNoBeginningSpace(node, token) { - const nextToken = sourceCode.getTokenAfter(token); - - context.report({ - node, - loc: { start: token.loc.end, end: nextToken.loc.start }, - messageId: "unexpectedSpaceAfter", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.removeRange([token.range[1], nextToken.range[0]]); - } - }); - } - - /** - * Reports that there shouldn't be a space before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportNoEndingSpace(node, token) { - const previousToken = sourceCode.getTokenBefore(token); - - context.report({ - node, - loc: { start: previousToken.loc.end, end: token.loc.start }, - messageId: "unexpectedSpaceBefore", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.removeRange([previousToken.range[1], token.range[0]]); - } - }); - } - - /** - * Reports that there should be a space after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredBeginningSpace(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "missingSpaceAfter", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.insertTextAfter(token, " "); - } - }); - } - - /** - * Reports that there should be a space before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredEndingSpace(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "missingSpaceBefore", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.insertTextBefore(token, " "); - } - }); - } - - /** - * Determines if a node is an object type - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether or not the node is an object type. - */ - function isObjectType(node) { - return node && (node.type === "ObjectExpression" || node.type === "ObjectPattern"); - } - - /** - * Determines if a node is an array type - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether or not the node is an array type. - */ - function isArrayType(node) { - return node && (node.type === "ArrayExpression" || node.type === "ArrayPattern"); - } - - /** - * Validates the spacing around array brackets - * @param {ASTNode} node The node we're checking for spacing - * @returns {void} - */ - function validateArraySpacing(node) { - if (options.spaced && node.elements.length === 0) { - return; - } - - const first = sourceCode.getFirstToken(node), - second = sourceCode.getFirstToken(node, 1), - last = node.typeAnnotation - ? sourceCode.getTokenBefore(node.typeAnnotation) - : sourceCode.getLastToken(node), - penultimate = sourceCode.getTokenBefore(last), - firstElement = node.elements[0], - lastElement = node.elements.at(-1); - - const openingBracketMustBeSpaced = - options.objectsInArraysException && isObjectType(firstElement) || - options.arraysInArraysException && isArrayType(firstElement) || - options.singleElementException && node.elements.length === 1 - ? !options.spaced : options.spaced; - - const closingBracketMustBeSpaced = - options.objectsInArraysException && isObjectType(lastElement) || - options.arraysInArraysException && isArrayType(lastElement) || - options.singleElementException && node.elements.length === 1 - ? !options.spaced : options.spaced; - - if (astUtils.isTokenOnSameLine(first, second)) { - if (openingBracketMustBeSpaced && !sourceCode.isSpaceBetweenTokens(first, second)) { - reportRequiredBeginningSpace(node, first); - } - if (!openingBracketMustBeSpaced && sourceCode.isSpaceBetweenTokens(first, second)) { - reportNoBeginningSpace(node, first); - } - } - - if (first !== penultimate && astUtils.isTokenOnSameLine(penultimate, last)) { - if (closingBracketMustBeSpaced && !sourceCode.isSpaceBetweenTokens(penultimate, last)) { - reportRequiredEndingSpace(node, last); - } - if (!closingBracketMustBeSpaced && sourceCode.isSpaceBetweenTokens(penultimate, last)) { - reportNoEndingSpace(node, last); - } - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - ArrayPattern: validateArraySpacing, - ArrayExpression: validateArraySpacing - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-callback-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-callback-return.js deleted file mode 100644 index 974fea8c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-callback-return.js +++ /dev/null @@ -1,448 +0,0 @@ -/** - * @fileoverview Rule to enforce return statements in callbacks of array's methods - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const TARGET_NODE_TYPE = /^(?:Arrow)?FunctionExpression$/u; -const TARGET_METHODS = /^(?:every|filter|find(?:Last)?(?:Index)?|flatMap|forEach|map|reduce(?:Right)?|some|sort|toSorted)$/u; - -/** - * Checks a given node is a member access which has the specified name's - * property. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is a member access which has - * the specified name's property. The node may be a `(Chain|Member)Expression` node. - */ -function isTargetMethod(node) { - return astUtils.isSpecificMemberAccess(node, null, TARGET_METHODS); -} - -/** - * Checks all segments in a set and returns true if any are reachable. - * @param {Set} segments The segments to check. - * @returns {boolean} True if any segment is reachable; false otherwise. - */ -function isAnySegmentReachable(segments) { - - for (const segment of segments) { - if (segment.reachable) { - return true; - } - } - - return false; -} - -/** - * Returns a human-legible description of an array method - * @param {string} arrayMethodName A method name to fully qualify - * @returns {string} the method name prefixed with `Array.` if it is a class method, - * or else `Array.prototype.` if it is an instance method. - */ -function fullMethodName(arrayMethodName) { - if (["from", "of", "isArray"].includes(arrayMethodName)) { - return "Array.".concat(arrayMethodName); - } - return "Array.prototype.".concat(arrayMethodName); -} - -/** - * Checks whether or not a given node is a function expression which is the - * callback of an array method, returning the method name. - * @param {ASTNode} node A node to check. This is one of - * FunctionExpression or ArrowFunctionExpression. - * @returns {string} The method name if the node is a callback method, - * null otherwise. - */ -function getArrayMethodName(node) { - let currentNode = node; - - while (currentNode) { - const parent = currentNode.parent; - - switch (parent.type) { - - /* - * Looks up the destination. e.g., - * foo.every(nativeFoo || function foo() { ... }); - */ - case "LogicalExpression": - case "ConditionalExpression": - case "ChainExpression": - currentNode = parent; - break; - - /* - * If the upper function is IIFE, checks the destination of the return value. - * e.g. - * foo.every((function() { - * // setup... - * return function callback() { ... }; - * })()); - */ - case "ReturnStatement": { - const func = astUtils.getUpperFunction(parent); - - if (func === null || !astUtils.isCallee(func)) { - return null; - } - currentNode = func.parent; - break; - } - - /* - * e.g. - * Array.from([], function() {}); - * list.every(function() {}); - */ - case "CallExpression": - if (astUtils.isArrayFromMethod(parent.callee)) { - if ( - parent.arguments.length >= 2 && - parent.arguments[1] === currentNode - ) { - return "from"; - } - } - if (isTargetMethod(parent.callee)) { - if ( - parent.arguments.length >= 1 && - parent.arguments[0] === currentNode - ) { - return astUtils.getStaticPropertyName(parent.callee); - } - } - return null; - - // Otherwise this node is not target. - default: - return null; - } - } - - /* c8 ignore next */ - return null; -} - -/** - * Checks if the given node is a void expression. - * @param {ASTNode} node The node to check. - * @returns {boolean} - `true` if the node is a void expression - */ -function isExpressionVoid(node) { - return node.type === "UnaryExpression" && node.operator === "void"; -} - -/** - * Fixes the linting error by prepending "void " to the given node - * @param {Object} sourceCode context given by context.sourceCode - * @param {ASTNode} node The node to fix. - * @param {Object} fixer The fixer object provided by ESLint. - * @returns {Array} - An array of fix objects to apply to the node. - */ -function voidPrependFixer(sourceCode, node, fixer) { - - const requiresParens = - - // prepending `void ` will fail if the node has a lower precedence than void - astUtils.getPrecedence(node) < astUtils.getPrecedence({ type: "UnaryExpression", operator: "void" }) && - - // check if there are parentheses around the node to avoid redundant parentheses - !astUtils.isParenthesised(sourceCode, node); - - // avoid parentheses issues - const returnOrArrowToken = sourceCode.getTokenBefore( - node, - node.parent.type === "ArrowFunctionExpression" - ? astUtils.isArrowToken - - // isReturnToken - : token => token.type === "Keyword" && token.value === "return" - ); - - const firstToken = sourceCode.getTokenAfter(returnOrArrowToken); - - const prependSpace = - - // is return token, as => allows void to be adjacent - returnOrArrowToken.value === "return" && - - // If two tokens (return and "(") are adjacent - returnOrArrowToken.range[1] === firstToken.range[0]; - - return [ - fixer.insertTextBefore(firstToken, `${prependSpace ? " " : ""}void ${requiresParens ? "(" : ""}`), - fixer.insertTextAfter(node, requiresParens ? ")" : "") - ]; -} - -/** - * Fixes the linting error by `wrapping {}` around the given node's body. - * @param {Object} sourceCode context given by context.sourceCode - * @param {ASTNode} node The node to fix. - * @param {Object} fixer The fixer object provided by ESLint. - * @returns {Array} - An array of fix objects to apply to the node. - */ -function curlyWrapFixer(sourceCode, node, fixer) { - const arrowToken = sourceCode.getTokenBefore(node.body, astUtils.isArrowToken); - const firstToken = sourceCode.getTokenAfter(arrowToken); - const lastToken = sourceCode.getLastToken(node); - - return [ - fixer.insertTextBefore(firstToken, "{"), - fixer.insertTextAfter(lastToken, "}") - ]; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - allowImplicit: false, - checkForEach: false, - allowVoid: false - }], - - docs: { - description: "Enforce `return` statements in callbacks of array methods", - recommended: false, - url: "https://eslint.org/docs/latest/rules/array-callback-return" - }, - - // eslint-disable-next-line eslint-plugin/require-meta-has-suggestions -- false positive - hasSuggestions: true, - - schema: [ - { - type: "object", - properties: { - allowImplicit: { - type: "boolean" - }, - checkForEach: { - type: "boolean" - }, - allowVoid: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - expectedAtEnd: "{{arrayMethodName}}() expects a value to be returned at the end of {{name}}.", - expectedInside: "{{arrayMethodName}}() expects a return value from {{name}}.", - expectedReturnValue: "{{arrayMethodName}}() expects a return value from {{name}}.", - expectedNoReturnValue: "{{arrayMethodName}}() expects no useless return value from {{name}}.", - wrapBraces: "Wrap the expression in `{}`.", - prependVoid: "Prepend `void` to the expression." - } - }, - - create(context) { - const [options] = context.options; - const sourceCode = context.sourceCode; - - let funcInfo = { - arrayMethodName: null, - upper: null, - codePath: null, - hasReturn: false, - shouldCheck: false, - node: null - }; - - /** - * Checks whether or not the last code path segment is reachable. - * Then reports this function if the segment is reachable. - * - * If the last code path segment is reachable, there are paths which are not - * returned or thrown. - * @param {ASTNode} node A node to check. - * @returns {void} - */ - function checkLastSegment(node) { - - if (!funcInfo.shouldCheck) { - return; - } - - const messageAndSuggestions = { messageId: "", suggest: [] }; - - if (funcInfo.arrayMethodName === "forEach") { - if (options.checkForEach && node.type === "ArrowFunctionExpression" && node.expression) { - - if (options.allowVoid) { - if (isExpressionVoid(node.body)) { - return; - } - - messageAndSuggestions.messageId = "expectedNoReturnValue"; - messageAndSuggestions.suggest = [ - { - messageId: "wrapBraces", - fix(fixer) { - return curlyWrapFixer(sourceCode, node, fixer); - } - }, - { - messageId: "prependVoid", - fix(fixer) { - return voidPrependFixer(sourceCode, node.body, fixer); - } - } - ]; - } else { - messageAndSuggestions.messageId = "expectedNoReturnValue"; - messageAndSuggestions.suggest = [{ - messageId: "wrapBraces", - fix(fixer) { - return curlyWrapFixer(sourceCode, node, fixer); - } - }]; - } - } - } else { - if (node.body.type === "BlockStatement" && isAnySegmentReachable(funcInfo.currentSegments)) { - messageAndSuggestions.messageId = funcInfo.hasReturn ? "expectedAtEnd" : "expectedInside"; - } - } - - if (messageAndSuggestions.messageId) { - const name = astUtils.getFunctionNameWithKind(node); - - context.report({ - node, - loc: astUtils.getFunctionHeadLoc(node, sourceCode), - messageId: messageAndSuggestions.messageId, - data: { name, arrayMethodName: fullMethodName(funcInfo.arrayMethodName) }, - suggest: messageAndSuggestions.suggest.length !== 0 ? messageAndSuggestions.suggest : null - }); - } - } - - return { - - // Stacks this function's information. - onCodePathStart(codePath, node) { - - let methodName = null; - - if (TARGET_NODE_TYPE.test(node.type)) { - methodName = getArrayMethodName(node); - } - - funcInfo = { - arrayMethodName: methodName, - upper: funcInfo, - codePath, - hasReturn: false, - shouldCheck: - methodName && - !node.async && - !node.generator, - node, - currentSegments: new Set() - }; - }, - - // Pops this function's information. - onCodePathEnd() { - funcInfo = funcInfo.upper; - }, - - onUnreachableCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - onCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - - // Checks the return statement is valid. - ReturnStatement(node) { - - if (!funcInfo.shouldCheck) { - return; - } - - funcInfo.hasReturn = true; - - const messageAndSuggestions = { messageId: "", suggest: [] }; - - if (funcInfo.arrayMethodName === "forEach") { - - // if checkForEach: true, returning a value at any path inside a forEach is not allowed - if (options.checkForEach && node.argument) { - - if (options.allowVoid) { - if (isExpressionVoid(node.argument)) { - return; - } - - messageAndSuggestions.messageId = "expectedNoReturnValue"; - messageAndSuggestions.suggest = [{ - messageId: "prependVoid", - fix(fixer) { - return voidPrependFixer(sourceCode, node.argument, fixer); - } - }]; - } else { - messageAndSuggestions.messageId = "expectedNoReturnValue"; - } - } - } else { - - // if allowImplicit: false, should also check node.argument - if (!options.allowImplicit && !node.argument) { - messageAndSuggestions.messageId = "expectedReturnValue"; - } - } - - if (messageAndSuggestions.messageId) { - context.report({ - node, - messageId: messageAndSuggestions.messageId, - data: { - name: astUtils.getFunctionNameWithKind(funcInfo.node), - arrayMethodName: fullMethodName(funcInfo.arrayMethodName) - }, - suggest: messageAndSuggestions.suggest.length !== 0 ? messageAndSuggestions.suggest : null - }); - } - }, - - // Reports a given function if the last path is reachable. - "FunctionExpression:exit": checkLastSegment, - "ArrowFunctionExpression:exit": checkLastSegment - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-element-newline.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-element-newline.js deleted file mode 100644 index 504fe04a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/array-element-newline.js +++ /dev/null @@ -1,311 +0,0 @@ -/** - * @fileoverview Rule to enforce line breaks after each array element - * @author Jan Peer Stöcklmair - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce line breaks after each array element", - recommended: false, - url: "https://eslint.org/docs/latest/rules/array-element-newline" - }, - - fixable: "whitespace", - - schema: { - definitions: { - basicConfig: { - oneOf: [ - { - enum: ["always", "never", "consistent"] - }, - { - type: "object", - properties: { - multiline: { - type: "boolean" - }, - minItems: { - type: ["integer", "null"], - minimum: 0 - } - }, - additionalProperties: false - } - ] - } - }, - type: "array", - items: [ - { - oneOf: [ - { - $ref: "#/definitions/basicConfig" - }, - { - type: "object", - properties: { - ArrayExpression: { - $ref: "#/definitions/basicConfig" - }, - ArrayPattern: { - $ref: "#/definitions/basicConfig" - } - }, - additionalProperties: false, - minProperties: 1 - } - ] - } - ] - }, - - messages: { - unexpectedLineBreak: "There should be no linebreak here.", - missingLineBreak: "There should be a linebreak after this element." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - - /** - * Normalizes a given option value. - * @param {string|Object|undefined} providedOption An option value to parse. - * @returns {{multiline: boolean, minItems: number}} Normalized option object. - */ - function normalizeOptionValue(providedOption) { - let consistent = false; - let multiline = false; - let minItems; - - const option = providedOption || "always"; - - if (!option || option === "always" || option.minItems === 0) { - minItems = 0; - } else if (option === "never") { - minItems = Number.POSITIVE_INFINITY; - } else if (option === "consistent") { - consistent = true; - minItems = Number.POSITIVE_INFINITY; - } else { - multiline = Boolean(option.multiline); - minItems = option.minItems || Number.POSITIVE_INFINITY; - } - - return { consistent, multiline, minItems }; - } - - /** - * Normalizes a given option value. - * @param {string|Object|undefined} options An option value to parse. - * @returns {{ArrayExpression: {multiline: boolean, minItems: number}, ArrayPattern: {multiline: boolean, minItems: number}}} Normalized option object. - */ - function normalizeOptions(options) { - if (options && (options.ArrayExpression || options.ArrayPattern)) { - let expressionOptions, patternOptions; - - if (options.ArrayExpression) { - expressionOptions = normalizeOptionValue(options.ArrayExpression); - } - - if (options.ArrayPattern) { - patternOptions = normalizeOptionValue(options.ArrayPattern); - } - - return { ArrayExpression: expressionOptions, ArrayPattern: patternOptions }; - } - - const value = normalizeOptionValue(options); - - return { ArrayExpression: value, ArrayPattern: value }; - } - - /** - * Reports that there shouldn't be a line break after the first token - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportNoLineBreak(token) { - const tokenBefore = sourceCode.getTokenBefore(token, { includeComments: true }); - - context.report({ - loc: { - start: tokenBefore.loc.end, - end: token.loc.start - }, - messageId: "unexpectedLineBreak", - fix(fixer) { - if (astUtils.isCommentToken(tokenBefore)) { - return null; - } - - if (!astUtils.isTokenOnSameLine(tokenBefore, token)) { - return fixer.replaceTextRange([tokenBefore.range[1], token.range[0]], " "); - } - - /* - * This will check if the comma is on the same line as the next element - * Following array: - * [ - * 1 - * , 2 - * , 3 - * ] - * - * will be fixed to: - * [ - * 1, 2, 3 - * ] - */ - const twoTokensBefore = sourceCode.getTokenBefore(tokenBefore, { includeComments: true }); - - if (astUtils.isCommentToken(twoTokensBefore)) { - return null; - } - - return fixer.replaceTextRange([twoTokensBefore.range[1], tokenBefore.range[0]], ""); - - } - }); - } - - /** - * Reports that there should be a line break after the first token - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredLineBreak(token) { - const tokenBefore = sourceCode.getTokenBefore(token, { includeComments: true }); - - context.report({ - loc: { - start: tokenBefore.loc.end, - end: token.loc.start - }, - messageId: "missingLineBreak", - fix(fixer) { - return fixer.replaceTextRange([tokenBefore.range[1], token.range[0]], "\n"); - } - }); - } - - /** - * Reports a given node if it violated this rule. - * @param {ASTNode} node A node to check. This is an ObjectExpression node or an ObjectPattern node. - * @returns {void} - */ - function check(node) { - const elements = node.elements; - const normalizedOptions = normalizeOptions(context.options[0]); - const options = normalizedOptions[node.type]; - - if (!options) { - return; - } - - let elementBreak = false; - - /* - * MULTILINE: true - * loop through every element and check - * if at least one element has linebreaks inside - * this ensures that following is not valid (due to elements are on the same line): - * - * [ - * 1, - * 2, - * 3 - * ] - */ - if (options.multiline) { - elementBreak = elements - .filter(element => element !== null) - .some(element => element.loc.start.line !== element.loc.end.line); - } - - let linebreaksCount = 0; - - for (let i = 0; i < node.elements.length; i++) { - const element = node.elements[i]; - - const previousElement = elements[i - 1]; - - if (i === 0 || element === null || previousElement === null) { - continue; - } - - const commaToken = sourceCode.getFirstTokenBetween(previousElement, element, astUtils.isCommaToken); - const lastTokenOfPreviousElement = sourceCode.getTokenBefore(commaToken); - const firstTokenOfCurrentElement = sourceCode.getTokenAfter(commaToken); - - if (!astUtils.isTokenOnSameLine(lastTokenOfPreviousElement, firstTokenOfCurrentElement)) { - linebreaksCount++; - } - } - - const needsLinebreaks = ( - elements.length >= options.minItems || - ( - options.multiline && - elementBreak - ) || - ( - options.consistent && - linebreaksCount > 0 && - linebreaksCount < node.elements.length - ) - ); - - elements.forEach((element, i) => { - const previousElement = elements[i - 1]; - - if (i === 0 || element === null || previousElement === null) { - return; - } - - const commaToken = sourceCode.getFirstTokenBetween(previousElement, element, astUtils.isCommaToken); - const lastTokenOfPreviousElement = sourceCode.getTokenBefore(commaToken); - const firstTokenOfCurrentElement = sourceCode.getTokenAfter(commaToken); - - if (needsLinebreaks) { - if (astUtils.isTokenOnSameLine(lastTokenOfPreviousElement, firstTokenOfCurrentElement)) { - reportRequiredLineBreak(firstTokenOfCurrentElement); - } - } else { - if (!astUtils.isTokenOnSameLine(lastTokenOfPreviousElement, firstTokenOfCurrentElement)) { - reportNoLineBreak(firstTokenOfCurrentElement); - } - } - }); - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - ArrayPattern: check, - ArrayExpression: check - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-body-style.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-body-style.js deleted file mode 100644 index a5947e50..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-body-style.js +++ /dev/null @@ -1,298 +0,0 @@ -/** - * @fileoverview Rule to require braces in arrow function body. - * @author Alberto Rodríguez - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["as-needed"], - - docs: { - description: "Require braces around arrow function bodies", - recommended: false, - url: "https://eslint.org/docs/latest/rules/arrow-body-style" - }, - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["always", "never"] - } - ], - minItems: 0, - maxItems: 1 - }, - { - type: "array", - items: [ - { - enum: ["as-needed"] - }, - { - type: "object", - properties: { - requireReturnForObjectLiteral: { type: "boolean" } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - - fixable: "code", - - messages: { - unexpectedOtherBlock: "Unexpected block statement surrounding arrow body.", - unexpectedEmptyBlock: "Unexpected block statement surrounding arrow body; put a value of `undefined` immediately after the `=>`.", - unexpectedObjectBlock: "Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the `=>`.", - unexpectedSingleBlock: "Unexpected block statement surrounding arrow body; move the returned value immediately after the `=>`.", - expectedBlock: "Expected block statement surrounding arrow body." - } - }, - - create(context) { - const options = context.options; - const always = options[0] === "always"; - const asNeeded = options[0] === "as-needed"; - const never = options[0] === "never"; - const requireReturnForObjectLiteral = options[1] && options[1].requireReturnForObjectLiteral; - const sourceCode = context.sourceCode; - let funcInfo = null; - - /** - * Checks whether the given node has ASI problem or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if it changes semantics if `;` or `}` followed by the token are removed. - */ - function hasASIProblem(token) { - return token && token.type === "Punctuator" && /^[([/`+-]/u.test(token.value); - } - - /** - * Gets the closing parenthesis by the given node. - * @param {ASTNode} node first node after an opening parenthesis. - * @returns {Token} The found closing parenthesis token. - */ - function findClosingParen(node) { - let nodeToCheck = node; - - while (!astUtils.isParenthesised(sourceCode, nodeToCheck)) { - nodeToCheck = nodeToCheck.parent; - } - return sourceCode.getTokenAfter(nodeToCheck); - } - - /** - * Check whether the node is inside of a for loop's init - * @param {ASTNode} node node is inside for loop - * @returns {boolean} `true` if the node is inside of a for loop, else `false` - */ - function isInsideForLoopInitializer(node) { - if (node && node.parent) { - if (node.parent.type === "ForStatement" && node.parent.init === node) { - return true; - } - return isInsideForLoopInitializer(node.parent); - } - return false; - } - - /** - * Determines whether a arrow function body needs braces - * @param {ASTNode} node The arrow function node. - * @returns {void} - */ - function validate(node) { - const arrowBody = node.body; - - if (arrowBody.type === "BlockStatement") { - const blockBody = arrowBody.body; - - if (blockBody.length !== 1 && !never) { - return; - } - - if (asNeeded && requireReturnForObjectLiteral && blockBody[0].type === "ReturnStatement" && - blockBody[0].argument && blockBody[0].argument.type === "ObjectExpression") { - return; - } - - if (never || asNeeded && blockBody[0].type === "ReturnStatement") { - let messageId; - - if (blockBody.length === 0) { - messageId = "unexpectedEmptyBlock"; - } else if (blockBody.length > 1) { - messageId = "unexpectedOtherBlock"; - } else if (blockBody[0].argument === null) { - messageId = "unexpectedSingleBlock"; - } else if (astUtils.isOpeningBraceToken(sourceCode.getFirstToken(blockBody[0], { skip: 1 }))) { - messageId = "unexpectedObjectBlock"; - } else { - messageId = "unexpectedSingleBlock"; - } - - context.report({ - node, - loc: arrowBody.loc, - messageId, - fix(fixer) { - const fixes = []; - - if (blockBody.length !== 1 || - blockBody[0].type !== "ReturnStatement" || - !blockBody[0].argument || - hasASIProblem(sourceCode.getTokenAfter(arrowBody)) - ) { - return fixes; - } - - const openingBrace = sourceCode.getFirstToken(arrowBody); - const closingBrace = sourceCode.getLastToken(arrowBody); - const firstValueToken = sourceCode.getFirstToken(blockBody[0], 1); - const lastValueToken = sourceCode.getLastToken(blockBody[0]); - const commentsExist = - sourceCode.commentsExistBetween(openingBrace, firstValueToken) || - sourceCode.commentsExistBetween(lastValueToken, closingBrace); - - /* - * Remove tokens around the return value. - * If comments don't exist, remove extra spaces as well. - */ - if (commentsExist) { - fixes.push( - fixer.remove(openingBrace), - fixer.remove(closingBrace), - fixer.remove(sourceCode.getTokenAfter(openingBrace)) // return keyword - ); - } else { - fixes.push( - fixer.removeRange([openingBrace.range[0], firstValueToken.range[0]]), - fixer.removeRange([lastValueToken.range[1], closingBrace.range[1]]) - ); - } - - /* - * If the first token of the return value is `{` or the return value is a sequence expression, - * enclose the return value by parentheses to avoid syntax error. - */ - if (astUtils.isOpeningBraceToken(firstValueToken) || blockBody[0].argument.type === "SequenceExpression" || (funcInfo.hasInOperator && isInsideForLoopInitializer(node))) { - if (!astUtils.isParenthesised(sourceCode, blockBody[0].argument)) { - fixes.push( - fixer.insertTextBefore(firstValueToken, "("), - fixer.insertTextAfter(lastValueToken, ")") - ); - } - } - - /* - * If the last token of the return statement is semicolon, remove it. - * Non-block arrow body is an expression, not a statement. - */ - if (astUtils.isSemicolonToken(lastValueToken)) { - fixes.push(fixer.remove(lastValueToken)); - } - - return fixes; - } - }); - } - } else { - if (always || (asNeeded && requireReturnForObjectLiteral && arrowBody.type === "ObjectExpression")) { - context.report({ - node, - loc: arrowBody.loc, - messageId: "expectedBlock", - fix(fixer) { - const fixes = []; - const arrowToken = sourceCode.getTokenBefore(arrowBody, astUtils.isArrowToken); - const [firstTokenAfterArrow, secondTokenAfterArrow] = sourceCode.getTokensAfter(arrowToken, { count: 2 }); - const lastToken = sourceCode.getLastToken(node); - - let parenthesisedObjectLiteral = null; - - if ( - astUtils.isOpeningParenToken(firstTokenAfterArrow) && - astUtils.isOpeningBraceToken(secondTokenAfterArrow) - ) { - const braceNode = sourceCode.getNodeByRangeIndex(secondTokenAfterArrow.range[0]); - - if (braceNode.type === "ObjectExpression") { - parenthesisedObjectLiteral = braceNode; - } - } - - // If the value is object literal, remove parentheses which were forced by syntax. - if (parenthesisedObjectLiteral) { - const openingParenToken = firstTokenAfterArrow; - const openingBraceToken = secondTokenAfterArrow; - - if (astUtils.isTokenOnSameLine(openingParenToken, openingBraceToken)) { - fixes.push(fixer.replaceText(openingParenToken, "{return ")); - } else { - - // Avoid ASI - fixes.push( - fixer.replaceText(openingParenToken, "{"), - fixer.insertTextBefore(openingBraceToken, "return ") - ); - } - - // Closing paren for the object doesn't have to be lastToken, e.g.: () => ({}).foo() - fixes.push(fixer.remove(findClosingParen(parenthesisedObjectLiteral))); - fixes.push(fixer.insertTextAfter(lastToken, "}")); - - } else { - fixes.push(fixer.insertTextBefore(firstTokenAfterArrow, "{return ")); - fixes.push(fixer.insertTextAfter(lastToken, "}")); - } - - return fixes; - } - }); - } - } - } - - return { - "BinaryExpression[operator='in']"() { - let info = funcInfo; - - while (info) { - info.hasInOperator = true; - info = info.upper; - } - }, - ArrowFunctionExpression() { - funcInfo = { - upper: funcInfo, - hasInOperator: false - }; - }, - "ArrowFunctionExpression:exit"(node) { - validate(node); - funcInfo = funcInfo.upper; - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-parens.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-parens.js deleted file mode 100644 index 2206d8ce..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-parens.js +++ /dev/null @@ -1,186 +0,0 @@ -/** - * @fileoverview Rule to require parens in arrow function arguments. - * @author Jxck - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines if the given arrow function has block body. - * @param {ASTNode} node `ArrowFunctionExpression` node. - * @returns {boolean} `true` if the function has block body. - */ -function hasBlockBody(node) { - return node.body.type === "BlockStatement"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require parentheses around arrow function arguments", - recommended: false, - url: "https://eslint.org/docs/latest/rules/arrow-parens" - }, - - fixable: "code", - - schema: [ - { - enum: ["always", "as-needed"] - }, - { - type: "object", - properties: { - requireForBlockBody: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedParens: "Unexpected parentheses around single function argument.", - expectedParens: "Expected parentheses around arrow function argument.", - - unexpectedParensInline: "Unexpected parentheses around single function argument having a body with no curly braces.", - expectedParensBlock: "Expected parentheses around arrow function argument having a body with curly braces." - } - }, - - create(context) { - const asNeeded = context.options[0] === "as-needed"; - const requireForBlockBody = asNeeded && context.options[1] && context.options[1].requireForBlockBody === true; - - const sourceCode = context.sourceCode; - - /** - * Finds opening paren of parameters for the given arrow function, if it exists. - * It is assumed that the given arrow function has exactly one parameter. - * @param {ASTNode} node `ArrowFunctionExpression` node. - * @returns {Token|null} the opening paren, or `null` if the given arrow function doesn't have parens of parameters. - */ - function findOpeningParenOfParams(node) { - const tokenBeforeParams = sourceCode.getTokenBefore(node.params[0]); - - if ( - tokenBeforeParams && - astUtils.isOpeningParenToken(tokenBeforeParams) && - node.range[0] <= tokenBeforeParams.range[0] - ) { - return tokenBeforeParams; - } - - return null; - } - - /** - * Finds closing paren of parameters for the given arrow function. - * It is assumed that the given arrow function has parens of parameters and that it has exactly one parameter. - * @param {ASTNode} node `ArrowFunctionExpression` node. - * @returns {Token} the closing paren of parameters. - */ - function getClosingParenOfParams(node) { - return sourceCode.getTokenAfter(node.params[0], astUtils.isClosingParenToken); - } - - /** - * Determines whether the given arrow function has comments inside parens of parameters. - * It is assumed that the given arrow function has parens of parameters. - * @param {ASTNode} node `ArrowFunctionExpression` node. - * @param {Token} openingParen Opening paren of parameters. - * @returns {boolean} `true` if the function has at least one comment inside of parens of parameters. - */ - function hasCommentsInParensOfParams(node, openingParen) { - return sourceCode.commentsExistBetween(openingParen, getClosingParenOfParams(node)); - } - - /** - * Determines whether the given arrow function has unexpected tokens before opening paren of parameters, - * in which case it will be assumed that the existing parens of parameters are necessary. - * Only tokens within the range of the arrow function (tokens that are part of the arrow function) are taken into account. - * Example: (a) => b - * @param {ASTNode} node `ArrowFunctionExpression` node. - * @param {Token} openingParen Opening paren of parameters. - * @returns {boolean} `true` if the function has at least one unexpected token. - */ - function hasUnexpectedTokensBeforeOpeningParen(node, openingParen) { - const expectedCount = node.async ? 1 : 0; - - return sourceCode.getFirstToken(node, { skip: expectedCount }) !== openingParen; - } - - return { - "ArrowFunctionExpression[params.length=1]"(node) { - const shouldHaveParens = !asNeeded || requireForBlockBody && hasBlockBody(node); - const openingParen = findOpeningParenOfParams(node); - const hasParens = openingParen !== null; - const [param] = node.params; - - if (shouldHaveParens && !hasParens) { - context.report({ - node, - messageId: requireForBlockBody ? "expectedParensBlock" : "expectedParens", - loc: param.loc, - *fix(fixer) { - yield fixer.insertTextBefore(param, "("); - yield fixer.insertTextAfter(param, ")"); - } - }); - } - - if ( - !shouldHaveParens && - hasParens && - param.type === "Identifier" && - !param.typeAnnotation && - !node.returnType && - !hasCommentsInParensOfParams(node, openingParen) && - !hasUnexpectedTokensBeforeOpeningParen(node, openingParen) - ) { - context.report({ - node, - messageId: requireForBlockBody ? "unexpectedParensInline" : "unexpectedParens", - loc: param.loc, - *fix(fixer) { - const tokenBeforeOpeningParen = sourceCode.getTokenBefore(openingParen); - const closingParen = getClosingParenOfParams(node); - - if ( - tokenBeforeOpeningParen && - tokenBeforeOpeningParen.range[1] === openingParen.range[0] && - !astUtils.canTokensBeAdjacent(tokenBeforeOpeningParen, sourceCode.getFirstToken(param)) - ) { - yield fixer.insertTextBefore(openingParen, " "); - } - - // remove parens, whitespace inside parens, and possible trailing comma - yield fixer.removeRange([openingParen.range[0], param.range[0]]); - yield fixer.removeRange([param.range[1], closingParen.range[1]]); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-spacing.js deleted file mode 100644 index 2b7d464f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/arrow-spacing.js +++ /dev/null @@ -1,164 +0,0 @@ -/** - * @fileoverview Rule to define spacing before/after arrow function's arrow. - * @author Jxck - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing before and after the arrow in arrow functions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/arrow-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - before: { - type: "boolean", - default: true - }, - after: { - type: "boolean", - default: true - } - }, - additionalProperties: false - } - ], - - messages: { - expectedBefore: "Missing space before =>.", - unexpectedBefore: "Unexpected space before =>.", - - expectedAfter: "Missing space after =>.", - unexpectedAfter: "Unexpected space after =>." - } - }, - - create(context) { - - // merge rules with default - const rule = Object.assign({}, context.options[0]); - - rule.before = rule.before !== false; - rule.after = rule.after !== false; - - const sourceCode = context.sourceCode; - - /** - * Get tokens of arrow(`=>`) and before/after arrow. - * @param {ASTNode} node The arrow function node. - * @returns {Object} Tokens of arrow and before/after arrow. - */ - function getTokens(node) { - const arrow = sourceCode.getTokenBefore(node.body, astUtils.isArrowToken); - - return { - before: sourceCode.getTokenBefore(arrow), - arrow, - after: sourceCode.getTokenAfter(arrow) - }; - } - - /** - * Count spaces before/after arrow(`=>`) token. - * @param {Object} tokens Tokens before/after arrow. - * @returns {Object} count of space before/after arrow. - */ - function countSpaces(tokens) { - const before = tokens.arrow.range[0] - tokens.before.range[1]; - const after = tokens.after.range[0] - tokens.arrow.range[1]; - - return { before, after }; - } - - /** - * Determines whether space(s) before after arrow(`=>`) is satisfy rule. - * if before/after value is `true`, there should be space(s). - * if before/after value is `false`, there should be no space. - * @param {ASTNode} node The arrow function node. - * @returns {void} - */ - function spaces(node) { - const tokens = getTokens(node); - const countSpace = countSpaces(tokens); - - if (rule.before) { - - // should be space(s) before arrow - if (countSpace.before === 0) { - context.report({ - node: tokens.before, - messageId: "expectedBefore", - fix(fixer) { - return fixer.insertTextBefore(tokens.arrow, " "); - } - }); - } - } else { - - // should be no space before arrow - if (countSpace.before > 0) { - context.report({ - node: tokens.before, - messageId: "unexpectedBefore", - fix(fixer) { - return fixer.removeRange([tokens.before.range[1], tokens.arrow.range[0]]); - } - }); - } - } - - if (rule.after) { - - // should be space(s) after arrow - if (countSpace.after === 0) { - context.report({ - node: tokens.after, - messageId: "expectedAfter", - fix(fixer) { - return fixer.insertTextAfter(tokens.arrow, " "); - } - }); - } - } else { - - // should be no space after arrow - if (countSpace.after > 0) { - context.report({ - node: tokens.after, - messageId: "unexpectedAfter", - fix(fixer) { - return fixer.removeRange([tokens.arrow.range[1], tokens.after.range[0]]); - } - }); - } - } - } - - return { - ArrowFunctionExpression: spaces - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-scoped-var.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-scoped-var.js deleted file mode 100644 index d65fc074..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-scoped-var.js +++ /dev/null @@ -1,135 +0,0 @@ -/** - * @fileoverview Rule to check for "block scoped" variables by binding context - * @author Matt DuVall - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce the use of variables within the scope they are defined", - recommended: false, - url: "https://eslint.org/docs/latest/rules/block-scoped-var" - }, - - schema: [], - - messages: { - outOfScope: "'{{name}}' declared on line {{definitionLine}} column {{definitionColumn}} is used outside of binding context." - } - }, - - create(context) { - let stack = []; - const sourceCode = context.sourceCode; - - /** - * Makes a block scope. - * @param {ASTNode} node A node of a scope. - * @returns {void} - */ - function enterScope(node) { - stack.push(node.range); - } - - /** - * Pops the last block scope. - * @returns {void} - */ - function exitScope() { - stack.pop(); - } - - /** - * Reports a given reference. - * @param {eslint-scope.Reference} reference A reference to report. - * @param {eslint-scope.Definition} definition A definition for which to report reference. - * @returns {void} - */ - function report(reference, definition) { - const identifier = reference.identifier; - const definitionPosition = definition.name.loc.start; - - context.report({ - node: identifier, - messageId: "outOfScope", - data: { - name: identifier.name, - definitionLine: definitionPosition.line, - definitionColumn: definitionPosition.column + 1 - } - }); - } - - /** - * Finds and reports references which are outside of valid scopes. - * @param {ASTNode} node A node to get variables. - * @returns {void} - */ - function checkForVariables(node) { - if (node.kind !== "var") { - return; - } - - // Defines a predicate to check whether or not a given reference is outside of valid scope. - const scopeRange = stack.at(-1); - - /** - * Check if a reference is out of scope - * @param {ASTNode} reference node to examine - * @returns {boolean} True is its outside the scope - * @private - */ - function isOutsideOfScope(reference) { - const idRange = reference.identifier.range; - - return idRange[0] < scopeRange[0] || idRange[1] > scopeRange[1]; - } - - // Gets declared variables, and checks its references. - const variables = sourceCode.getDeclaredVariables(node); - - for (let i = 0; i < variables.length; ++i) { - - // Reports. - variables[i] - .references - .filter(isOutsideOfScope) - .forEach(ref => report(ref, variables[i].defs.find(def => def.parent === node))); - } - } - - return { - Program(node) { - stack = [node.range]; - }, - - // Manages scopes. - BlockStatement: enterScope, - "BlockStatement:exit": exitScope, - ForStatement: enterScope, - "ForStatement:exit": exitScope, - ForInStatement: enterScope, - "ForInStatement:exit": exitScope, - ForOfStatement: enterScope, - "ForOfStatement:exit": exitScope, - SwitchStatement: enterScope, - "SwitchStatement:exit": exitScope, - CatchClause: enterScope, - "CatchClause:exit": exitScope, - StaticBlock: enterScope, - "StaticBlock:exit": exitScope, - - // Finds and reports references which are outside of valid scope. - VariableDeclaration: checkForVariables - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-spacing.js deleted file mode 100644 index 9ca46115..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/block-spacing.js +++ /dev/null @@ -1,174 +0,0 @@ -/** - * @fileoverview A rule to disallow or enforce spaces inside of single line blocks. - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const util = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow or enforce spaces inside of blocks after opening block and before closing block", - recommended: false, - url: "https://eslint.org/docs/latest/rules/block-spacing" - }, - - fixable: "whitespace", - - schema: [ - { enum: ["always", "never"] } - ], - - messages: { - missing: "Requires a space {{location}} '{{token}}'.", - extra: "Unexpected space(s) {{location}} '{{token}}'." - } - }, - - create(context) { - const always = (context.options[0] !== "never"), - messageId = always ? "missing" : "extra", - sourceCode = context.sourceCode; - - /** - * Gets the open brace token from a given node. - * @param {ASTNode} node A BlockStatement/StaticBlock/SwitchStatement node to get. - * @returns {Token} The token of the open brace. - */ - function getOpenBrace(node) { - if (node.type === "SwitchStatement") { - if (node.cases.length > 0) { - return sourceCode.getTokenBefore(node.cases[0]); - } - return sourceCode.getLastToken(node, 1); - } - - if (node.type === "StaticBlock") { - return sourceCode.getFirstToken(node, { skip: 1 }); // skip the `static` token - } - - // "BlockStatement" - return sourceCode.getFirstToken(node); - } - - /** - * Checks whether or not: - * - given tokens are on same line. - * - there is/isn't a space between given tokens. - * @param {Token} left A token to check. - * @param {Token} right The token which is next to `left`. - * @returns {boolean} - * When the option is `"always"`, `true` if there are one or more spaces between given tokens. - * When the option is `"never"`, `true` if there are not any spaces between given tokens. - * If given tokens are not on same line, it's always `true`. - */ - function isValid(left, right) { - return ( - !util.isTokenOnSameLine(left, right) || - sourceCode.isSpaceBetweenTokens(left, right) === always - ); - } - - /** - * Checks and reports invalid spacing style inside braces. - * @param {ASTNode} node A BlockStatement/StaticBlock/SwitchStatement node to check. - * @returns {void} - */ - function checkSpacingInsideBraces(node) { - - // Gets braces and the first/last token of content. - const openBrace = getOpenBrace(node); - const closeBrace = sourceCode.getLastToken(node); - const firstToken = sourceCode.getTokenAfter(openBrace, { includeComments: true }); - const lastToken = sourceCode.getTokenBefore(closeBrace, { includeComments: true }); - - // Skip if the node is invalid or empty. - if (openBrace.type !== "Punctuator" || - openBrace.value !== "{" || - closeBrace.type !== "Punctuator" || - closeBrace.value !== "}" || - firstToken === closeBrace - ) { - return; - } - - // Skip line comments for option never - if (!always && firstToken.type === "Line") { - return; - } - - // Check. - if (!isValid(openBrace, firstToken)) { - let loc = openBrace.loc; - - if (messageId === "extra") { - loc = { - start: openBrace.loc.end, - end: firstToken.loc.start - }; - } - - context.report({ - node, - loc, - messageId, - data: { - location: "after", - token: openBrace.value - }, - fix(fixer) { - if (always) { - return fixer.insertTextBefore(firstToken, " "); - } - - return fixer.removeRange([openBrace.range[1], firstToken.range[0]]); - } - }); - } - if (!isValid(lastToken, closeBrace)) { - let loc = closeBrace.loc; - - if (messageId === "extra") { - loc = { - start: lastToken.loc.end, - end: closeBrace.loc.start - }; - } - context.report({ - node, - loc, - messageId, - data: { - location: "before", - token: closeBrace.value - }, - fix(fixer) { - if (always) { - return fixer.insertTextAfter(lastToken, " "); - } - - return fixer.removeRange([lastToken.range[1], closeBrace.range[0]]); - } - }); - } - } - - return { - BlockStatement: checkSpacingInsideBraces, - StaticBlock: checkSpacingInsideBraces, - SwitchStatement: checkSpacingInsideBraces - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/brace-style.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/brace-style.js deleted file mode 100644 index 0fb4c65e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/brace-style.js +++ /dev/null @@ -1,197 +0,0 @@ -/** - * @fileoverview Rule to flag block statements that do not use the one true brace style - * @author Ian Christian Myers - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent brace style for blocks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/brace-style" - }, - - schema: [ - { - enum: ["1tbs", "stroustrup", "allman"] - }, - { - type: "object", - properties: { - allowSingleLine: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - fixable: "whitespace", - - messages: { - nextLineOpen: "Opening curly brace does not appear on the same line as controlling statement.", - sameLineOpen: "Opening curly brace appears on the same line as controlling statement.", - blockSameLine: "Statement inside of curly braces should be on next line.", - nextLineClose: "Closing curly brace does not appear on the same line as the subsequent block.", - singleLineClose: "Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.", - sameLineClose: "Closing curly brace appears on the same line as the subsequent block." - } - }, - - create(context) { - const style = context.options[0] || "1tbs", - params = context.options[1] || {}, - sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Fixes a place where a newline unexpectedly appears - * @param {Token} firstToken The token before the unexpected newline - * @param {Token} secondToken The token after the unexpected newline - * @returns {Function} A fixer function to remove the newlines between the tokens - */ - function removeNewlineBetween(firstToken, secondToken) { - const textRange = [firstToken.range[1], secondToken.range[0]]; - const textBetween = sourceCode.text.slice(textRange[0], textRange[1]); - - // Don't do a fix if there is a comment between the tokens - if (textBetween.trim()) { - return null; - } - return fixer => fixer.replaceTextRange(textRange, " "); - } - - /** - * Validates a pair of curly brackets based on the user's config - * @param {Token} openingCurly The opening curly bracket - * @param {Token} closingCurly The closing curly bracket - * @returns {void} - */ - function validateCurlyPair(openingCurly, closingCurly) { - const tokenBeforeOpeningCurly = sourceCode.getTokenBefore(openingCurly); - const tokenAfterOpeningCurly = sourceCode.getTokenAfter(openingCurly); - const tokenBeforeClosingCurly = sourceCode.getTokenBefore(closingCurly); - const singleLineException = params.allowSingleLine && astUtils.isTokenOnSameLine(openingCurly, closingCurly); - - if (style !== "allman" && !astUtils.isTokenOnSameLine(tokenBeforeOpeningCurly, openingCurly)) { - context.report({ - node: openingCurly, - messageId: "nextLineOpen", - fix: removeNewlineBetween(tokenBeforeOpeningCurly, openingCurly) - }); - } - - if (style === "allman" && astUtils.isTokenOnSameLine(tokenBeforeOpeningCurly, openingCurly) && !singleLineException) { - context.report({ - node: openingCurly, - messageId: "sameLineOpen", - fix: fixer => fixer.insertTextBefore(openingCurly, "\n") - }); - } - - if (astUtils.isTokenOnSameLine(openingCurly, tokenAfterOpeningCurly) && tokenAfterOpeningCurly !== closingCurly && !singleLineException) { - context.report({ - node: openingCurly, - messageId: "blockSameLine", - fix: fixer => fixer.insertTextAfter(openingCurly, "\n") - }); - } - - if (tokenBeforeClosingCurly !== openingCurly && !singleLineException && astUtils.isTokenOnSameLine(tokenBeforeClosingCurly, closingCurly)) { - context.report({ - node: closingCurly, - messageId: "singleLineClose", - fix: fixer => fixer.insertTextBefore(closingCurly, "\n") - }); - } - } - - /** - * Validates the location of a token that appears before a keyword (e.g. a newline before `else`) - * @param {Token} curlyToken The closing curly token. This is assumed to precede a keyword token (such as `else` or `finally`). - * @returns {void} - */ - function validateCurlyBeforeKeyword(curlyToken) { - const keywordToken = sourceCode.getTokenAfter(curlyToken); - - if (style === "1tbs" && !astUtils.isTokenOnSameLine(curlyToken, keywordToken)) { - context.report({ - node: curlyToken, - messageId: "nextLineClose", - fix: removeNewlineBetween(curlyToken, keywordToken) - }); - } - - if (style !== "1tbs" && astUtils.isTokenOnSameLine(curlyToken, keywordToken)) { - context.report({ - node: curlyToken, - messageId: "sameLineClose", - fix: fixer => fixer.insertTextAfter(curlyToken, "\n") - }); - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - BlockStatement(node) { - if (!astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type)) { - validateCurlyPair(sourceCode.getFirstToken(node), sourceCode.getLastToken(node)); - } - }, - StaticBlock(node) { - validateCurlyPair( - sourceCode.getFirstToken(node, { skip: 1 }), // skip the `static` token - sourceCode.getLastToken(node) - ); - }, - ClassBody(node) { - validateCurlyPair(sourceCode.getFirstToken(node), sourceCode.getLastToken(node)); - }, - SwitchStatement(node) { - const closingCurly = sourceCode.getLastToken(node); - const openingCurly = sourceCode.getTokenBefore(node.cases.length ? node.cases[0] : closingCurly); - - validateCurlyPair(openingCurly, closingCurly); - }, - IfStatement(node) { - if (node.consequent.type === "BlockStatement" && node.alternate) { - - // Handle the keyword after the `if` block (before `else`) - validateCurlyBeforeKeyword(sourceCode.getLastToken(node.consequent)); - } - }, - TryStatement(node) { - - // Handle the keyword after the `try` block (before `catch` or `finally`) - validateCurlyBeforeKeyword(sourceCode.getLastToken(node.block)); - - if (node.handler && node.finalizer) { - - // Handle the keyword after the `catch` block (before `finally`) - validateCurlyBeforeKeyword(sourceCode.getLastToken(node.handler.body)); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/callback-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/callback-return.js deleted file mode 100644 index ffc34b16..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/callback-return.js +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @fileoverview Enforce return after a callback. - * @author Jamund Ferguson - * @deprecated in ESLint v7.0.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Require `return` statements after callbacks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/callback-return" - }, - - schema: [{ - type: "array", - items: { type: "string" } - }], - - messages: { - missingReturn: "Expected return with your callback function." - } - }, - - create(context) { - - const callbacks = context.options[0] || ["callback", "cb", "next"], - sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Find the closest parent matching a list of types. - * @param {ASTNode} node The node whose parents we are searching - * @param {Array} types The node types to match - * @returns {ASTNode} The matched node or undefined. - */ - function findClosestParentOfType(node, types) { - if (!node.parent) { - return null; - } - if (!types.includes(node.parent.type)) { - return findClosestParentOfType(node.parent, types); - } - return node.parent; - } - - /** - * Check to see if a node contains only identifiers - * @param {ASTNode} node The node to check - * @returns {boolean} Whether or not the node contains only identifiers - */ - function containsOnlyIdentifiers(node) { - if (node.type === "Identifier") { - return true; - } - - if (node.type === "MemberExpression") { - if (node.object.type === "Identifier") { - return true; - } - if (node.object.type === "MemberExpression") { - return containsOnlyIdentifiers(node.object); - } - } - - return false; - } - - /** - * Check to see if a CallExpression is in our callback list. - * @param {ASTNode} node The node to check against our callback names list. - * @returns {boolean} Whether or not this function matches our callback name. - */ - function isCallback(node) { - return containsOnlyIdentifiers(node.callee) && callbacks.includes(sourceCode.getText(node.callee)); - } - - /** - * Determines whether or not the callback is part of a callback expression. - * @param {ASTNode} node The callback node - * @param {ASTNode} parentNode The expression node - * @returns {boolean} Whether or not this is part of a callback expression - */ - function isCallbackExpression(node, parentNode) { - - // ensure the parent node exists and is an expression - if (!parentNode || parentNode.type !== "ExpressionStatement") { - return false; - } - - // cb() - if (parentNode.expression === node) { - return true; - } - - // special case for cb && cb() and similar - if (parentNode.expression.type === "BinaryExpression" || parentNode.expression.type === "LogicalExpression") { - if (parentNode.expression.right === node) { - return true; - } - } - - return false; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - CallExpression(node) { - - // if we're not a callback we can return - if (!isCallback(node)) { - return; - } - - // find the closest block, return or loop - const closestBlock = findClosestParentOfType(node, ["BlockStatement", "ReturnStatement", "ArrowFunctionExpression"]) || {}; - - // if our parent is a return we know we're ok - if (closestBlock.type === "ReturnStatement") { - return; - } - - // arrow functions don't always have blocks and implicitly return - if (closestBlock.type === "ArrowFunctionExpression") { - return; - } - - // block statements are part of functions and most if statements - if (closestBlock.type === "BlockStatement") { - - // find the last item in the block - const lastItem = closestBlock.body.at(-1); - - // if the callback is the last thing in a block that might be ok - if (isCallbackExpression(node, lastItem)) { - - const parentType = closestBlock.parent.type; - - // but only if the block is part of a function - if (parentType === "FunctionExpression" || - parentType === "FunctionDeclaration" || - parentType === "ArrowFunctionExpression" - ) { - return; - } - - } - - // ending a block with a return is also ok - if (lastItem.type === "ReturnStatement") { - - // but only if the callback is immediately before - if (isCallbackExpression(node, closestBlock.body.at(-2))) { - return; - } - } - - } - - // as long as you're the child of a function at this point you should be asked to return - if (findClosestParentOfType(node, ["FunctionDeclaration", "FunctionExpression", "ArrowFunctionExpression"])) { - context.report({ node, messageId: "missingReturn" }); - } - - } - - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/camelcase.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/camelcase.js deleted file mode 100644 index 6fac7462..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/camelcase.js +++ /dev/null @@ -1,410 +0,0 @@ -/** - * @fileoverview Rule to flag non-camelcased identifiers - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allow: [], - ignoreDestructuring: false, - ignoreGlobals: false, - ignoreImports: false, - properties: "always" - }], - - docs: { - description: "Enforce camelcase naming convention", - recommended: false, - url: "https://eslint.org/docs/latest/rules/camelcase" - }, - - schema: [ - { - type: "object", - properties: { - ignoreDestructuring: { - type: "boolean" - }, - ignoreImports: { - type: "boolean" - }, - ignoreGlobals: { - type: "boolean" - }, - properties: { - enum: ["always", "never"] - }, - allow: { - type: "array", - items: { - type: "string" - }, - minItems: 0, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - notCamelCase: "Identifier '{{name}}' is not in camel case.", - notCamelCasePrivate: "#{{name}} is not in camel case." - } - }, - - create(context) { - const [{ - allow, - ignoreDestructuring, - ignoreGlobals, - ignoreImports, - properties - }] = context.options; - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - // contains reported nodes to avoid reporting twice on destructuring with shorthand notation - const reported = new Set(); - - /** - * Checks if a string contains an underscore and isn't all upper-case - * @param {string} name The string to check. - * @returns {boolean} if the string is underscored - * @private - */ - function isUnderscored(name) { - const nameBody = name.replace(/^_+|_+$/gu, ""); - - // if there's an underscore, it might be A_CONSTANT, which is okay - return nameBody.includes("_") && nameBody !== nameBody.toUpperCase(); - } - - /** - * Checks if a string match the ignore list - * @param {string} name The string to check. - * @returns {boolean} if the string is ignored - * @private - */ - function isAllowed(name) { - return allow.some( - entry => name === entry || name.match(new RegExp(entry, "u")) - ); - } - - /** - * Checks if a given name is good or not. - * @param {string} name The name to check. - * @returns {boolean} `true` if the name is good. - * @private - */ - function isGoodName(name) { - return !isUnderscored(name) || isAllowed(name); - } - - /** - * Checks if a given identifier reference or member expression is an assignment - * target. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is an assignment target. - */ - function isAssignmentTarget(node) { - const parent = node.parent; - - switch (parent.type) { - case "AssignmentExpression": - case "AssignmentPattern": - return parent.left === node; - - case "Property": - return ( - parent.parent.type === "ObjectPattern" && - parent.value === node - ); - case "ArrayPattern": - case "RestElement": - return true; - - default: - return false; - } - } - - /** - * Checks if a given binding identifier uses the original name as-is. - * - If it's in object destructuring or object expression, the original name is its property name. - * - If it's in import declaration, the original name is its exported name. - * @param {ASTNode} node The `Identifier` node to check. - * @returns {boolean} `true` if the identifier uses the original name as-is. - */ - function equalsToOriginalName(node) { - const localName = node.name; - const valueNode = node.parent.type === "AssignmentPattern" - ? node.parent - : node; - const parent = valueNode.parent; - - switch (parent.type) { - case "Property": - return ( - (parent.parent.type === "ObjectPattern" || parent.parent.type === "ObjectExpression") && - parent.value === valueNode && - !parent.computed && - parent.key.type === "Identifier" && - parent.key.name === localName - ); - - case "ImportSpecifier": - return ( - parent.local === node && - astUtils.getModuleExportName(parent.imported) === localName - ); - - default: - return false; - } - } - - /** - * Reports an AST node as a rule violation. - * @param {ASTNode} node The node to report. - * @returns {void} - * @private - */ - function report(node) { - if (reported.has(node.range[0])) { - return; - } - reported.add(node.range[0]); - - // Report it. - context.report({ - node, - messageId: node.type === "PrivateIdentifier" - ? "notCamelCasePrivate" - : "notCamelCase", - data: { name: node.name } - }); - } - - /** - * Reports an identifier reference or a binding identifier. - * @param {ASTNode} node The `Identifier` node to report. - * @returns {void} - */ - function reportReferenceId(node) { - - /* - * For backward compatibility, if it's in callings then ignore it. - * Not sure why it is. - */ - if ( - node.parent.type === "CallExpression" || - node.parent.type === "NewExpression" - ) { - return; - } - - /* - * For backward compatibility, if it's a default value of - * destructuring/parameters then ignore it. - * Not sure why it is. - */ - if ( - node.parent.type === "AssignmentPattern" && - node.parent.right === node - ) { - return; - } - - /* - * The `ignoreDestructuring` flag skips the identifiers that uses - * the property name as-is. - */ - if (ignoreDestructuring && equalsToOriginalName(node)) { - return; - } - - /* - * Import attribute keys are always ignored - */ - if (astUtils.isImportAttributeKey(node)) { - return; - } - - report(node); - } - - return { - - // Report camelcase of global variable references ------------------ - Program(node) { - const scope = sourceCode.getScope(node); - - if (!ignoreGlobals) { - - // Defined globals in config files or directive comments. - for (const variable of scope.variables) { - if ( - variable.identifiers.length > 0 || - isGoodName(variable.name) - ) { - continue; - } - for (const reference of variable.references) { - - /* - * For backward compatibility, this rule reports read-only - * references as well. - */ - reportReferenceId(reference.identifier); - } - } - } - - // Undefined globals. - for (const reference of scope.through) { - const id = reference.identifier; - - if (isGoodName(id.name) || astUtils.isImportAttributeKey(id)) { - continue; - } - - /* - * For backward compatibility, this rule reports read-only - * references as well. - */ - reportReferenceId(id); - } - }, - - // Report camelcase of declared variables -------------------------- - [[ - "VariableDeclaration", - "FunctionDeclaration", - "FunctionExpression", - "ArrowFunctionExpression", - "ClassDeclaration", - "ClassExpression", - "CatchClause" - ]](node) { - for (const variable of sourceCode.getDeclaredVariables(node)) { - if (isGoodName(variable.name)) { - continue; - } - const id = variable.identifiers[0]; - - // Report declaration. - if (!(ignoreDestructuring && equalsToOriginalName(id))) { - report(id); - } - - /* - * For backward compatibility, report references as well. - * It looks unnecessary because declarations are reported. - */ - for (const reference of variable.references) { - if (reference.init) { - continue; // Skip the write references of initializers. - } - reportReferenceId(reference.identifier); - } - } - }, - - // Report camelcase in properties ---------------------------------- - [[ - "ObjectExpression > Property[computed!=true] > Identifier.key", - "MethodDefinition[computed!=true] > Identifier.key", - "PropertyDefinition[computed!=true] > Identifier.key", - "MethodDefinition > PrivateIdentifier.key", - "PropertyDefinition > PrivateIdentifier.key" - ]](node) { - if (properties === "never" || astUtils.isImportAttributeKey(node) || isGoodName(node.name)) { - return; - } - report(node); - }, - "MemberExpression[computed!=true] > Identifier.property"(node) { - if ( - properties === "never" || - !isAssignmentTarget(node.parent) || // ← ignore read-only references. - isGoodName(node.name) - ) { - return; - } - report(node); - }, - - // Report camelcase in import -------------------------------------- - ImportDeclaration(node) { - for (const variable of sourceCode.getDeclaredVariables(node)) { - if (isGoodName(variable.name)) { - continue; - } - const id = variable.identifiers[0]; - - // Report declaration. - if (!(ignoreImports && equalsToOriginalName(id))) { - report(id); - } - - /* - * For backward compatibility, report references as well. - * It looks unnecessary because declarations are reported. - */ - for (const reference of variable.references) { - reportReferenceId(reference.identifier); - } - } - }, - - // Report camelcase in re-export ----------------------------------- - [[ - "ExportAllDeclaration > Identifier.exported", - "ExportSpecifier > Identifier.exported" - ]](node) { - if (isGoodName(node.name)) { - return; - } - report(node); - }, - - // Report camelcase in labels -------------------------------------- - [[ - "LabeledStatement > Identifier.label", - - /* - * For backward compatibility, report references as well. - * It looks unnecessary because declarations are reported. - */ - "BreakStatement > Identifier.label", - "ContinueStatement > Identifier.label" - ]](node) { - if (isGoodName(node.name)) { - return; - } - report(node); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/capitalized-comments.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/capitalized-comments.js deleted file mode 100644 index 07a27b6e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/capitalized-comments.js +++ /dev/null @@ -1,303 +0,0 @@ -/** - * @fileoverview enforce or disallow capitalization of the first letter of a comment - * @author Kevin Partington - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const DEFAULT_IGNORE_PATTERN = astUtils.COMMENTS_IGNORE_PATTERN, - WHITESPACE = /\s/gu, - MAYBE_URL = /^\s*[^:/?#\s]+:\/\/[^?#]/u, // TODO: Combine w/ max-len pattern? - LETTER_PATTERN = /\p{L}/u; - -/* - * Base schema body for defining the basic capitalization rule, ignorePattern, - * and ignoreInlineComments values. - * This can be used in a few different ways in the actual schema. - */ -const SCHEMA_BODY = { - type: "object", - properties: { - ignorePattern: { - type: "string" - }, - ignoreInlineComments: { - type: "boolean" - }, - ignoreConsecutiveComments: { - type: "boolean" - } - }, - additionalProperties: false -}; -const DEFAULTS = { - ignorePattern: "", - ignoreInlineComments: false, - ignoreConsecutiveComments: false -}; - -/** - * Get normalized options for either block or line comments from the given - * user-provided options. - * - If the user-provided options is just a string, returns a normalized - * set of options using default values for all other options. - * - If the user-provided options is an object, then a normalized option - * set is returned. Options specified in overrides will take priority - * over options specified in the main options object, which will in - * turn take priority over the rule's defaults. - * @param {Object|string} rawOptions The user-provided options. - * @param {string} which Either "line" or "block". - * @returns {Object} The normalized options. - */ -function getNormalizedOptions(rawOptions, which) { - return Object.assign({}, DEFAULTS, rawOptions[which] || rawOptions); -} - -/** - * Get normalized options for block and line comments. - * @param {Object|string} rawOptions The user-provided options. - * @returns {Object} An object with "Line" and "Block" keys and corresponding - * normalized options objects. - */ -function getAllNormalizedOptions(rawOptions = {}) { - return { - Line: getNormalizedOptions(rawOptions, "line"), - Block: getNormalizedOptions(rawOptions, "block") - }; -} - -/** - * Creates a regular expression for each ignorePattern defined in the rule - * options. - * - * This is done in order to avoid invoking the RegExp constructor repeatedly. - * @param {Object} normalizedOptions The normalized rule options. - * @returns {void} - */ -function createRegExpForIgnorePatterns(normalizedOptions) { - Object.keys(normalizedOptions).forEach(key => { - const ignorePatternStr = normalizedOptions[key].ignorePattern; - - if (ignorePatternStr) { - const regExp = RegExp(`^\\s*(?:${ignorePatternStr})`, "u"); - - normalizedOptions[key].ignorePatternRegExp = regExp; - } - }); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce or disallow capitalization of the first letter of a comment", - recommended: false, - url: "https://eslint.org/docs/latest/rules/capitalized-comments" - }, - - fixable: "code", - - schema: [ - { enum: ["always", "never"] }, - { - oneOf: [ - SCHEMA_BODY, - { - type: "object", - properties: { - line: SCHEMA_BODY, - block: SCHEMA_BODY - }, - additionalProperties: false - } - ] - } - ], - - messages: { - unexpectedLowercaseComment: "Comments should not begin with a lowercase character.", - unexpectedUppercaseComment: "Comments should not begin with an uppercase character." - } - }, - - create(context) { - - const capitalize = context.options[0] || "always", - normalizedOptions = getAllNormalizedOptions(context.options[1]), - sourceCode = context.sourceCode; - - createRegExpForIgnorePatterns(normalizedOptions); - - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - - /** - * Checks whether a comment is an inline comment. - * - * For the purpose of this rule, a comment is inline if: - * 1. The comment is preceded by a token on the same line; and - * 2. The command is followed by a token on the same line. - * - * Note that the comment itself need not be single-line! - * - * Also, it follows from this definition that only block comments can - * be considered as possibly inline. This is because line comments - * would consume any following tokens on the same line as the comment. - * @param {ASTNode} comment The comment node to check. - * @returns {boolean} True if the comment is an inline comment, false - * otherwise. - */ - function isInlineComment(comment) { - const previousToken = sourceCode.getTokenBefore(comment, { includeComments: true }), - nextToken = sourceCode.getTokenAfter(comment, { includeComments: true }); - - return Boolean( - previousToken && - nextToken && - comment.loc.start.line === previousToken.loc.end.line && - comment.loc.end.line === nextToken.loc.start.line - ); - } - - /** - * Determine if a comment follows another comment. - * @param {ASTNode} comment The comment to check. - * @returns {boolean} True if the comment follows a valid comment. - */ - function isConsecutiveComment(comment) { - const previousTokenOrComment = sourceCode.getTokenBefore(comment, { includeComments: true }); - - return Boolean( - previousTokenOrComment && - ["Block", "Line"].includes(previousTokenOrComment.type) - ); - } - - /** - * Check a comment to determine if it is valid for this rule. - * @param {ASTNode} comment The comment node to process. - * @param {Object} options The options for checking this comment. - * @returns {boolean} True if the comment is valid, false otherwise. - */ - function isCommentValid(comment, options) { - - // 1. Check for default ignore pattern. - if (DEFAULT_IGNORE_PATTERN.test(comment.value)) { - return true; - } - - // 2. Check for custom ignore pattern. - const commentWithoutAsterisks = comment.value - .replace(/\*/gu, ""); - - if (options.ignorePatternRegExp && options.ignorePatternRegExp.test(commentWithoutAsterisks)) { - return true; - } - - // 3. Check for inline comments. - if (options.ignoreInlineComments && isInlineComment(comment)) { - return true; - } - - // 4. Is this a consecutive comment (and are we tolerating those)? - if (options.ignoreConsecutiveComments && isConsecutiveComment(comment)) { - return true; - } - - // 5. Does the comment start with a possible URL? - if (MAYBE_URL.test(commentWithoutAsterisks)) { - return true; - } - - // 6. Is the initial word character a letter? - const commentWordCharsOnly = commentWithoutAsterisks - .replace(WHITESPACE, ""); - - if (commentWordCharsOnly.length === 0) { - return true; - } - - // Get the first Unicode character (1 or 2 code units). - const [firstWordChar] = commentWordCharsOnly; - - if (!LETTER_PATTERN.test(firstWordChar)) { - return true; - } - - // 7. Check the case of the initial word character. - const isUppercase = firstWordChar !== firstWordChar.toLocaleLowerCase(), - isLowercase = firstWordChar !== firstWordChar.toLocaleUpperCase(); - - if (capitalize === "always" && isLowercase) { - return false; - } - if (capitalize === "never" && isUppercase) { - return false; - } - - return true; - } - - /** - * Process a comment to determine if it needs to be reported. - * @param {ASTNode} comment The comment node to process. - * @returns {void} - */ - function processComment(comment) { - const options = normalizedOptions[comment.type], - commentValid = isCommentValid(comment, options); - - if (!commentValid) { - const messageId = capitalize === "always" - ? "unexpectedLowercaseComment" - : "unexpectedUppercaseComment"; - - context.report({ - node: null, // Intentionally using loc instead - loc: comment.loc, - messageId, - fix(fixer) { - const match = comment.value.match(LETTER_PATTERN); - const char = match[0]; - - // Offset match.index by 2 to account for the first 2 characters that start the comment (// or /*) - const charIndex = comment.range[0] + match.index + 2; - - return fixer.replaceTextRange( - [charIndex, charIndex + char.length], - capitalize === "always" ? char.toLocaleUpperCase() : char.toLocaleLowerCase() - ); - } - }); - } - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - Program() { - const comments = sourceCode.getAllComments(); - - comments.filter(token => token.type !== "Shebang").forEach(processComment); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/class-methods-use-this.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/class-methods-use-this.js deleted file mode 100644 index 11054630..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/class-methods-use-this.js +++ /dev/null @@ -1,191 +0,0 @@ -/** - * @fileoverview Rule to enforce that all class methods use 'this'. - * @author Patrick Williams - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - enforceForClassFields: true, - exceptMethods: [] - }], - - docs: { - description: "Enforce that class methods utilize `this`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/class-methods-use-this" - }, - - schema: [{ - type: "object", - properties: { - exceptMethods: { - type: "array", - items: { - type: "string" - } - }, - enforceForClassFields: { - type: "boolean" - } - }, - additionalProperties: false - }], - - messages: { - missingThis: "Expected 'this' to be used by class {{name}}." - } - }, - create(context) { - const [options] = context.options; - const { enforceForClassFields } = options; - const exceptMethods = new Set(options.exceptMethods); - - const stack = []; - - /** - * Push `this` used flag initialized with `false` onto the stack. - * @returns {void} - */ - function pushContext() { - stack.push(false); - } - - /** - * Pop `this` used flag from the stack. - * @returns {boolean | undefined} `this` used flag - */ - function popContext() { - return stack.pop(); - } - - /** - * Initializes the current context to false and pushes it onto the stack. - * These booleans represent whether 'this' has been used in the context. - * @returns {void} - * @private - */ - function enterFunction() { - pushContext(); - } - - /** - * Check if the node is an instance method - * @param {ASTNode} node node to check - * @returns {boolean} True if its an instance method - * @private - */ - function isInstanceMethod(node) { - switch (node.type) { - case "MethodDefinition": - return !node.static && node.kind !== "constructor"; - case "PropertyDefinition": - return !node.static && enforceForClassFields; - default: - return false; - } - } - - /** - * Check if the node is an instance method not excluded by config - * @param {ASTNode} node node to check - * @returns {boolean} True if it is an instance method, and not excluded by config - * @private - */ - function isIncludedInstanceMethod(node) { - if (isInstanceMethod(node)) { - if (node.computed) { - return true; - } - - const hashIfNeeded = node.key.type === "PrivateIdentifier" ? "#" : ""; - const name = node.key.type === "Literal" - ? astUtils.getStaticStringValue(node.key) - : (node.key.name || ""); - - return !exceptMethods.has(hashIfNeeded + name); - } - return false; - } - - /** - * Checks if we are leaving a function that is a method, and reports if 'this' has not been used. - * Static methods and the constructor are exempt. - * Then pops the context off the stack. - * @param {ASTNode} node A function node that was entered. - * @returns {void} - * @private - */ - function exitFunction(node) { - const methodUsesThis = popContext(); - - if (isIncludedInstanceMethod(node.parent) && !methodUsesThis) { - context.report({ - node, - loc: astUtils.getFunctionHeadLoc(node, context.sourceCode), - messageId: "missingThis", - data: { - name: astUtils.getFunctionNameWithKind(node) - } - }); - } - } - - /** - * Mark the current context as having used 'this'. - * @returns {void} - * @private - */ - function markThisUsed() { - if (stack.length) { - stack[stack.length - 1] = true; - } - } - - return { - FunctionDeclaration: enterFunction, - "FunctionDeclaration:exit": exitFunction, - FunctionExpression: enterFunction, - "FunctionExpression:exit": exitFunction, - - /* - * Class field value are implicit functions. - */ - "PropertyDefinition > *.key:exit": pushContext, - "PropertyDefinition:exit": popContext, - - /* - * Class static blocks are implicit functions. They aren't required to use `this`, - * but we have to push context so that it captures any use of `this` in the static block - * separately from enclosing contexts, because static blocks have their own `this` and it - * shouldn't count as used `this` in enclosing contexts. - */ - StaticBlock: pushContext, - "StaticBlock:exit": popContext, - - ThisExpression: markThisUsed, - Super: markThisUsed, - ...( - enforceForClassFields && { - "PropertyDefinition > ArrowFunctionExpression.value": enterFunction, - "PropertyDefinition > ArrowFunctionExpression.value:exit": exitFunction - } - ) - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-dangle.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-dangle.js deleted file mode 100644 index c24c1475..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-dangle.js +++ /dev/null @@ -1,373 +0,0 @@ -/** - * @fileoverview Rule to forbid or enforce dangling commas. - * @author Ian Christian Myers - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const DEFAULT_OPTIONS = Object.freeze({ - arrays: "never", - objects: "never", - imports: "never", - exports: "never", - functions: "never" -}); - -/** - * Checks whether or not a trailing comma is allowed in a given node. - * If the `lastItem` is `RestElement` or `RestProperty`, it disallows trailing commas. - * @param {ASTNode} lastItem The node of the last element in the given node. - * @returns {boolean} `true` if a trailing comma is allowed. - */ -function isTrailingCommaAllowed(lastItem) { - return !( - lastItem.type === "RestElement" || - lastItem.type === "RestProperty" || - lastItem.type === "ExperimentalRestProperty" - ); -} - -/** - * Normalize option value. - * @param {string|Object|undefined} optionValue The 1st option value to normalize. - * @param {number} ecmaVersion The normalized ECMAScript version. - * @returns {Object} The normalized option value. - */ -function normalizeOptions(optionValue, ecmaVersion) { - if (typeof optionValue === "string") { - return { - arrays: optionValue, - objects: optionValue, - imports: optionValue, - exports: optionValue, - functions: ecmaVersion < 2017 ? "ignore" : optionValue - }; - } - if (typeof optionValue === "object" && optionValue !== null) { - return { - arrays: optionValue.arrays || DEFAULT_OPTIONS.arrays, - objects: optionValue.objects || DEFAULT_OPTIONS.objects, - imports: optionValue.imports || DEFAULT_OPTIONS.imports, - exports: optionValue.exports || DEFAULT_OPTIONS.exports, - functions: optionValue.functions || DEFAULT_OPTIONS.functions - }; - } - - return DEFAULT_OPTIONS; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow trailing commas", - recommended: false, - url: "https://eslint.org/docs/latest/rules/comma-dangle" - }, - - fixable: "code", - - schema: { - definitions: { - value: { - enum: [ - "always-multiline", - "always", - "never", - "only-multiline" - ] - }, - valueWithIgnore: { - enum: [ - "always-multiline", - "always", - "ignore", - "never", - "only-multiline" - ] - } - }, - type: "array", - items: [ - { - oneOf: [ - { - $ref: "#/definitions/value" - }, - { - type: "object", - properties: { - arrays: { $ref: "#/definitions/valueWithIgnore" }, - objects: { $ref: "#/definitions/valueWithIgnore" }, - imports: { $ref: "#/definitions/valueWithIgnore" }, - exports: { $ref: "#/definitions/valueWithIgnore" }, - functions: { $ref: "#/definitions/valueWithIgnore" } - }, - additionalProperties: false - } - ] - } - ], - additionalItems: false - }, - - messages: { - unexpected: "Unexpected trailing comma.", - missing: "Missing trailing comma." - } - }, - - create(context) { - const options = normalizeOptions(context.options[0], context.languageOptions.ecmaVersion); - - const sourceCode = context.sourceCode; - - /** - * Gets the last item of the given node. - * @param {ASTNode} node The node to get. - * @returns {ASTNode|null} The last node or null. - */ - function getLastItem(node) { - - /** - * Returns the last element of an array - * @param {any[]} array The input array - * @returns {any} The last element - */ - function last(array) { - return array.at(-1); - } - - switch (node.type) { - case "ObjectExpression": - case "ObjectPattern": - return last(node.properties); - case "ArrayExpression": - case "ArrayPattern": - return last(node.elements); - case "ImportDeclaration": - case "ExportNamedDeclaration": - return last(node.specifiers); - case "FunctionDeclaration": - case "FunctionExpression": - case "ArrowFunctionExpression": - return last(node.params); - case "CallExpression": - case "NewExpression": - return last(node.arguments); - default: - return null; - } - } - - /** - * Gets the trailing comma token of the given node. - * If the trailing comma does not exist, this returns the token which is - * the insertion point of the trailing comma token. - * @param {ASTNode} node The node to get. - * @param {ASTNode} lastItem The last item of the node. - * @returns {Token} The trailing comma token or the insertion point. - */ - function getTrailingToken(node, lastItem) { - switch (node.type) { - case "ObjectExpression": - case "ArrayExpression": - case "CallExpression": - case "NewExpression": - return sourceCode.getLastToken(node, 1); - default: { - const nextToken = sourceCode.getTokenAfter(lastItem); - - if (astUtils.isCommaToken(nextToken)) { - return nextToken; - } - return sourceCode.getLastToken(lastItem); - } - } - } - - /** - * Checks whether or not a given node is multiline. - * This rule handles a given node as multiline when the closing parenthesis - * and the last element are not on the same line. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is multiline. - */ - function isMultiline(node) { - const lastItem = getLastItem(node); - - if (!lastItem) { - return false; - } - - const penultimateToken = getTrailingToken(node, lastItem); - const lastToken = sourceCode.getTokenAfter(penultimateToken); - - return lastToken.loc.end.line !== penultimateToken.loc.end.line; - } - - /** - * Reports a trailing comma if it exists. - * @param {ASTNode} node A node to check. Its type is one of - * ObjectExpression, ObjectPattern, ArrayExpression, ArrayPattern, - * ImportDeclaration, and ExportNamedDeclaration. - * @returns {void} - */ - function forbidTrailingComma(node) { - const lastItem = getLastItem(node); - - if (!lastItem || (node.type === "ImportDeclaration" && lastItem.type !== "ImportSpecifier")) { - return; - } - - const trailingToken = getTrailingToken(node, lastItem); - - if (astUtils.isCommaToken(trailingToken)) { - context.report({ - node: lastItem, - loc: trailingToken.loc, - messageId: "unexpected", - *fix(fixer) { - yield fixer.remove(trailingToken); - - /* - * Extend the range of the fix to include surrounding tokens to ensure - * that the element after which the comma is removed stays _last_. - * This intentionally makes conflicts in fix ranges with rules that may be - * adding or removing elements in the same autofix pass. - * https://github.com/eslint/eslint/issues/15660 - */ - yield fixer.insertTextBefore(sourceCode.getTokenBefore(trailingToken), ""); - yield fixer.insertTextAfter(sourceCode.getTokenAfter(trailingToken), ""); - } - }); - } - } - - /** - * Reports the last element of a given node if it does not have a trailing - * comma. - * - * If a given node is `ArrayPattern` which has `RestElement`, the trailing - * comma is disallowed, so report if it exists. - * @param {ASTNode} node A node to check. Its type is one of - * ObjectExpression, ObjectPattern, ArrayExpression, ArrayPattern, - * ImportDeclaration, and ExportNamedDeclaration. - * @returns {void} - */ - function forceTrailingComma(node) { - const lastItem = getLastItem(node); - - if (!lastItem || (node.type === "ImportDeclaration" && lastItem.type !== "ImportSpecifier")) { - return; - } - if (!isTrailingCommaAllowed(lastItem)) { - forbidTrailingComma(node); - return; - } - - const trailingToken = getTrailingToken(node, lastItem); - - if (trailingToken.value !== ",") { - context.report({ - node: lastItem, - loc: { - start: trailingToken.loc.end, - end: astUtils.getNextLocation(sourceCode, trailingToken.loc.end) - }, - messageId: "missing", - *fix(fixer) { - yield fixer.insertTextAfter(trailingToken, ","); - - /* - * Extend the range of the fix to include surrounding tokens to ensure - * that the element after which the comma is inserted stays _last_. - * This intentionally makes conflicts in fix ranges with rules that may be - * adding or removing elements in the same autofix pass. - * https://github.com/eslint/eslint/issues/15660 - */ - yield fixer.insertTextBefore(trailingToken, ""); - yield fixer.insertTextAfter(sourceCode.getTokenAfter(trailingToken), ""); - } - }); - } - } - - /** - * If a given node is multiline, reports the last element of a given node - * when it does not have a trailing comma. - * Otherwise, reports a trailing comma if it exists. - * @param {ASTNode} node A node to check. Its type is one of - * ObjectExpression, ObjectPattern, ArrayExpression, ArrayPattern, - * ImportDeclaration, and ExportNamedDeclaration. - * @returns {void} - */ - function forceTrailingCommaIfMultiline(node) { - if (isMultiline(node)) { - forceTrailingComma(node); - } else { - forbidTrailingComma(node); - } - } - - /** - * Only if a given node is not multiline, reports the last element of a given node - * when it does not have a trailing comma. - * Otherwise, reports a trailing comma if it exists. - * @param {ASTNode} node A node to check. Its type is one of - * ObjectExpression, ObjectPattern, ArrayExpression, ArrayPattern, - * ImportDeclaration, and ExportNamedDeclaration. - * @returns {void} - */ - function allowTrailingCommaIfMultiline(node) { - if (!isMultiline(node)) { - forbidTrailingComma(node); - } - } - - const predicate = { - always: forceTrailingComma, - "always-multiline": forceTrailingCommaIfMultiline, - "only-multiline": allowTrailingCommaIfMultiline, - never: forbidTrailingComma, - ignore() {} - }; - - return { - ObjectExpression: predicate[options.objects], - ObjectPattern: predicate[options.objects], - - ArrayExpression: predicate[options.arrays], - ArrayPattern: predicate[options.arrays], - - ImportDeclaration: predicate[options.imports], - - ExportNamedDeclaration: predicate[options.exports], - - FunctionDeclaration: predicate[options.functions], - FunctionExpression: predicate[options.functions], - ArrowFunctionExpression: predicate[options.functions], - CallExpression: predicate[options.functions], - NewExpression: predicate[options.functions] - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-spacing.js deleted file mode 100644 index e266de4a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-spacing.js +++ /dev/null @@ -1,192 +0,0 @@ -/** - * @fileoverview Comma spacing - validates spacing before and after comma - * @author Vignesh Anand aka vegetableman. - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing before and after commas", - recommended: false, - url: "https://eslint.org/docs/latest/rules/comma-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - before: { - type: "boolean", - default: false - }, - after: { - type: "boolean", - default: true - } - }, - additionalProperties: false - } - ], - - messages: { - missing: "A space is required {{loc}} ','.", - unexpected: "There should be no space {{loc}} ','." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - const tokensAndComments = sourceCode.tokensAndComments; - - const options = { - before: context.options[0] ? context.options[0].before : false, - after: context.options[0] ? context.options[0].after : true - }; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - // list of comma tokens to ignore for the check of leading whitespace - const commaTokensToIgnore = []; - - /** - * Reports a spacing error with an appropriate message. - * @param {ASTNode} node The binary expression node to report. - * @param {string} loc Is the error "before" or "after" the comma? - * @param {ASTNode} otherNode The node at the left or right of `node` - * @returns {void} - * @private - */ - function report(node, loc, otherNode) { - context.report({ - node, - fix(fixer) { - if (options[loc]) { - if (loc === "before") { - return fixer.insertTextBefore(node, " "); - } - return fixer.insertTextAfter(node, " "); - - } - let start, end; - const newText = ""; - - if (loc === "before") { - start = otherNode.range[1]; - end = node.range[0]; - } else { - start = node.range[1]; - end = otherNode.range[0]; - } - - return fixer.replaceTextRange([start, end], newText); - - }, - messageId: options[loc] ? "missing" : "unexpected", - data: { - loc - } - }); - } - - /** - * Adds null elements of the given ArrayExpression or ArrayPattern node to the ignore list. - * @param {ASTNode} node An ArrayExpression or ArrayPattern node. - * @returns {void} - */ - function addNullElementsToIgnoreList(node) { - let previousToken = sourceCode.getFirstToken(node); - - node.elements.forEach(element => { - let token; - - if (element === null) { - token = sourceCode.getTokenAfter(previousToken); - - if (astUtils.isCommaToken(token)) { - commaTokensToIgnore.push(token); - } - } else { - token = sourceCode.getTokenAfter(element); - } - - previousToken = token; - }); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - "Program:exit"() { - tokensAndComments.forEach((token, i) => { - - if (!astUtils.isCommaToken(token)) { - return; - } - - const previousToken = tokensAndComments[i - 1]; - const nextToken = tokensAndComments[i + 1]; - - if ( - previousToken && - !astUtils.isCommaToken(previousToken) && // ignore spacing between two commas - - /* - * `commaTokensToIgnore` are ending commas of `null` elements (array holes/elisions). - * In addition to spacing between two commas, this can also ignore: - * - * - Spacing after `[` (controlled by array-bracket-spacing) - * Example: [ , ] - * ^ - * - Spacing after a comment (for backwards compatibility, this was possibly unintentional) - * Example: [a, /* * / ,] - * ^ - */ - !commaTokensToIgnore.includes(token) && - - astUtils.isTokenOnSameLine(previousToken, token) && - options.before !== sourceCode.isSpaceBetweenTokens(previousToken, token) - ) { - report(token, "before", previousToken); - } - - if ( - nextToken && - !astUtils.isCommaToken(nextToken) && // ignore spacing between two commas - !astUtils.isClosingParenToken(nextToken) && // controlled by space-in-parens - !astUtils.isClosingBracketToken(nextToken) && // controlled by array-bracket-spacing - !astUtils.isClosingBraceToken(nextToken) && // controlled by object-curly-spacing - !(!options.after && nextToken.type === "Line") && // special case, allow space before line comment - astUtils.isTokenOnSameLine(token, nextToken) && - options.after !== sourceCode.isSpaceBetweenTokens(token, nextToken) - ) { - report(token, "after", nextToken); - } - }); - }, - ArrayExpression: addNullElementsToIgnoreList, - ArrayPattern: addNullElementsToIgnoreList - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-style.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-style.js deleted file mode 100644 index d632a3ba..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/comma-style.js +++ /dev/null @@ -1,314 +0,0 @@ -/** - * @fileoverview Comma style - enforces comma styles of two types: last and first - * @author Vignesh Anand aka vegetableman - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent comma style", - recommended: false, - url: "https://eslint.org/docs/latest/rules/comma-style" - }, - - fixable: "code", - - schema: [ - { - enum: ["first", "last"] - }, - { - type: "object", - properties: { - exceptions: { - type: "object", - additionalProperties: { - type: "boolean" - } - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedLineBeforeAndAfterComma: "Bad line breaking before and after ','.", - expectedCommaFirst: "',' should be placed first.", - expectedCommaLast: "',' should be placed last." - } - }, - - create(context) { - const style = context.options[0] || "last", - sourceCode = context.sourceCode; - const exceptions = { - ArrayPattern: true, - ArrowFunctionExpression: true, - CallExpression: true, - FunctionDeclaration: true, - FunctionExpression: true, - ImportDeclaration: true, - ObjectPattern: true, - NewExpression: true - }; - - if (context.options.length === 2 && Object.hasOwn(context.options[1], "exceptions")) { - const keys = Object.keys(context.options[1].exceptions); - - for (let i = 0; i < keys.length; i++) { - exceptions[keys[i]] = context.options[1].exceptions[keys[i]]; - } - } - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Modified text based on the style - * @param {string} styleType Style type - * @param {string} text Source code text - * @returns {string} modified text - * @private - */ - function getReplacedText(styleType, text) { - switch (styleType) { - case "between": - return `,${text.replace(astUtils.LINEBREAK_MATCHER, "")}`; - - case "first": - return `${text},`; - - case "last": - return `,${text}`; - - default: - return ""; - } - } - - /** - * Determines the fixer function for a given style. - * @param {string} styleType comma style - * @param {ASTNode} previousItemToken The token to check. - * @param {ASTNode} commaToken The token to check. - * @param {ASTNode} currentItemToken The token to check. - * @returns {Function} Fixer function - * @private - */ - function getFixerFunction(styleType, previousItemToken, commaToken, currentItemToken) { - const text = - sourceCode.text.slice(previousItemToken.range[1], commaToken.range[0]) + - sourceCode.text.slice(commaToken.range[1], currentItemToken.range[0]); - const range = [previousItemToken.range[1], currentItemToken.range[0]]; - - return function(fixer) { - return fixer.replaceTextRange(range, getReplacedText(styleType, text)); - }; - } - - /** - * Validates the spacing around single items in lists. - * @param {Token} previousItemToken The last token from the previous item. - * @param {Token} commaToken The token representing the comma. - * @param {Token} currentItemToken The first token of the current item. - * @param {Token} reportItem The item to use when reporting an error. - * @returns {void} - * @private - */ - function validateCommaItemSpacing(previousItemToken, commaToken, currentItemToken, reportItem) { - - // if single line - if (astUtils.isTokenOnSameLine(commaToken, currentItemToken) && - astUtils.isTokenOnSameLine(previousItemToken, commaToken)) { - - // do nothing. - - } else if (!astUtils.isTokenOnSameLine(commaToken, currentItemToken) && - !astUtils.isTokenOnSameLine(previousItemToken, commaToken)) { - - const comment = sourceCode.getCommentsAfter(commaToken)[0]; - const styleType = comment && comment.type === "Block" && astUtils.isTokenOnSameLine(commaToken, comment) - ? style - : "between"; - - // lone comma - context.report({ - node: reportItem, - loc: commaToken.loc, - messageId: "unexpectedLineBeforeAndAfterComma", - fix: getFixerFunction(styleType, previousItemToken, commaToken, currentItemToken) - }); - - } else if (style === "first" && !astUtils.isTokenOnSameLine(commaToken, currentItemToken)) { - - context.report({ - node: reportItem, - loc: commaToken.loc, - messageId: "expectedCommaFirst", - fix: getFixerFunction(style, previousItemToken, commaToken, currentItemToken) - }); - - } else if (style === "last" && astUtils.isTokenOnSameLine(commaToken, currentItemToken)) { - - context.report({ - node: reportItem, - loc: commaToken.loc, - messageId: "expectedCommaLast", - fix: getFixerFunction(style, previousItemToken, commaToken, currentItemToken) - }); - } - } - - /** - * Checks the comma placement with regards to a declaration/property/element - * @param {ASTNode} node The binary expression node to check - * @param {string} property The property of the node containing child nodes. - * @private - * @returns {void} - */ - function validateComma(node, property) { - const items = node[property], - arrayLiteral = (node.type === "ArrayExpression" || node.type === "ArrayPattern"); - - if (items.length > 1 || arrayLiteral) { - - // seed as opening [ - let previousItemToken = sourceCode.getFirstToken(node); - - items.forEach(item => { - const commaToken = item ? sourceCode.getTokenBefore(item) : previousItemToken, - currentItemToken = item ? sourceCode.getFirstToken(item) : sourceCode.getTokenAfter(commaToken), - reportItem = item || currentItemToken; - - /* - * This works by comparing three token locations: - * - previousItemToken is the last token of the previous item - * - commaToken is the location of the comma before the current item - * - currentItemToken is the first token of the current item - * - * These values get switched around if item is undefined. - * previousItemToken will refer to the last token not belonging - * to the current item, which could be a comma or an opening - * square bracket. currentItemToken could be a comma. - * - * All comparisons are done based on these tokens directly, so - * they are always valid regardless of an undefined item. - */ - if (astUtils.isCommaToken(commaToken)) { - validateCommaItemSpacing(previousItemToken, commaToken, currentItemToken, reportItem); - } - - if (item) { - const tokenAfterItem = sourceCode.getTokenAfter(item, astUtils.isNotClosingParenToken); - - previousItemToken = tokenAfterItem - ? sourceCode.getTokenBefore(tokenAfterItem) - : sourceCode.ast.tokens.at(-1); - } else { - previousItemToken = currentItemToken; - } - }); - - /* - * Special case for array literals that have empty last items, such - * as [ 1, 2, ]. These arrays only have two items show up in the - * AST, so we need to look at the token to verify that there's no - * dangling comma. - */ - if (arrayLiteral) { - - const lastToken = sourceCode.getLastToken(node), - nextToLastToken = sourceCode.getTokenBefore(lastToken); - - if (astUtils.isCommaToken(nextToLastToken)) { - validateCommaItemSpacing( - sourceCode.getTokenBefore(nextToLastToken), - nextToLastToken, - lastToken, - lastToken - ); - } - } - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - const nodes = {}; - - if (!exceptions.VariableDeclaration) { - nodes.VariableDeclaration = function(node) { - validateComma(node, "declarations"); - }; - } - if (!exceptions.ObjectExpression) { - nodes.ObjectExpression = function(node) { - validateComma(node, "properties"); - }; - } - if (!exceptions.ObjectPattern) { - nodes.ObjectPattern = function(node) { - validateComma(node, "properties"); - }; - } - if (!exceptions.ArrayExpression) { - nodes.ArrayExpression = function(node) { - validateComma(node, "elements"); - }; - } - if (!exceptions.ArrayPattern) { - nodes.ArrayPattern = function(node) { - validateComma(node, "elements"); - }; - } - if (!exceptions.FunctionDeclaration) { - nodes.FunctionDeclaration = function(node) { - validateComma(node, "params"); - }; - } - if (!exceptions.FunctionExpression) { - nodes.FunctionExpression = function(node) { - validateComma(node, "params"); - }; - } - if (!exceptions.ArrowFunctionExpression) { - nodes.ArrowFunctionExpression = function(node) { - validateComma(node, "params"); - }; - } - if (!exceptions.CallExpression) { - nodes.CallExpression = function(node) { - validateComma(node, "arguments"); - }; - } - if (!exceptions.ImportDeclaration) { - nodes.ImportDeclaration = function(node) { - validateComma(node, "specifiers"); - }; - } - if (!exceptions.NewExpression) { - nodes.NewExpression = function(node) { - validateComma(node, "arguments"); - }; - } - - return nodes; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/complexity.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/complexity.js deleted file mode 100644 index 7358fe19..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/complexity.js +++ /dev/null @@ -1,192 +0,0 @@ -/** - * @fileoverview Counts the cyclomatic complexity of each function of the script. See http://en.wikipedia.org/wiki/Cyclomatic_complexity. - * Counts the number of if, conditional, for, while, try, switch/case, - * @author Patrick Brosset - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { upperCaseFirst } = require("../shared/string-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const THRESHOLD_DEFAULT = 20; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [THRESHOLD_DEFAULT], - - docs: { - description: "Enforce a maximum cyclomatic complexity allowed in a program", - recommended: false, - url: "https://eslint.org/docs/latest/rules/complexity" - }, - - schema: [ - { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - type: "object", - properties: { - maximum: { - type: "integer", - minimum: 0 - }, - max: { - type: "integer", - minimum: 0 - }, - variant: { - enum: ["classic", "modified"] - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - complex: "{{name}} has a complexity of {{complexity}}. Maximum allowed is {{max}}." - } - }, - - create(context) { - const option = context.options[0]; - let threshold = THRESHOLD_DEFAULT; - let VARIANT = "classic"; - - if (typeof option === "object") { - if (Object.hasOwn(option, "maximum") || Object.hasOwn(option, "max")) { - threshold = option.maximum || option.max; - } - - if (Object.hasOwn(option, "variant")) { - VARIANT = option.variant; - } - } else if (typeof option === "number") { - threshold = option; - } - - const IS_MODIFIED_COMPLEXITY = VARIANT === "modified"; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - // Using a stack to store complexity per code path - const complexities = []; - - /** - * Increase the complexity of the code path in context - * @returns {void} - * @private - */ - function increaseComplexity() { - complexities[complexities.length - 1]++; - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - - onCodePathStart() { - - // The initial complexity is 1, representing one execution path in the CodePath - complexities.push(1); - }, - - // Each branching in the code adds 1 to the complexity - CatchClause: increaseComplexity, - ConditionalExpression: increaseComplexity, - LogicalExpression: increaseComplexity, - ForStatement: increaseComplexity, - ForInStatement: increaseComplexity, - ForOfStatement: increaseComplexity, - IfStatement: increaseComplexity, - WhileStatement: increaseComplexity, - DoWhileStatement: increaseComplexity, - AssignmentPattern: increaseComplexity, - - // Avoid `default` - "SwitchCase[test]": () => IS_MODIFIED_COMPLEXITY || increaseComplexity(), - SwitchStatement: () => IS_MODIFIED_COMPLEXITY && increaseComplexity(), - - // Logical assignment operators have short-circuiting behavior - AssignmentExpression(node) { - if (astUtils.isLogicalAssignmentOperator(node.operator)) { - increaseComplexity(); - } - }, - - MemberExpression(node) { - if (node.optional === true) { - increaseComplexity(); - } - }, - - CallExpression(node) { - if (node.optional === true) { - increaseComplexity(); - } - }, - - onCodePathEnd(codePath, node) { - const complexity = complexities.pop(); - - /* - * This rule only evaluates complexity of functions, so "program" is excluded. - * Class field initializers and class static blocks are implicit functions. Therefore, - * they shouldn't contribute to the enclosing function's complexity, but their - * own complexity should be evaluated. - */ - if ( - codePath.origin !== "function" && - codePath.origin !== "class-field-initializer" && - codePath.origin !== "class-static-block" - ) { - return; - } - - if (complexity > threshold) { - let name; - - if (codePath.origin === "class-field-initializer") { - name = "class field initializer"; - } else if (codePath.origin === "class-static-block") { - name = "class static block"; - } else { - name = astUtils.getFunctionNameWithKind(node); - } - - context.report({ - node, - messageId: "complex", - data: { - name: upperCaseFirst(name), - complexity, - max: threshold - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/computed-property-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/computed-property-spacing.js deleted file mode 100644 index 2852877f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/computed-property-spacing.js +++ /dev/null @@ -1,208 +0,0 @@ -/** - * @fileoverview Disallows or enforces spaces inside computed properties. - * @author Jamund Ferguson - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing inside computed property brackets", - recommended: false, - url: "https://eslint.org/docs/latest/rules/computed-property-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - enforceForClassMembers: { - type: "boolean", - default: true - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedSpaceBefore: "There should be no space before '{{tokenValue}}'.", - unexpectedSpaceAfter: "There should be no space after '{{tokenValue}}'.", - - missingSpaceBefore: "A space is required before '{{tokenValue}}'.", - missingSpaceAfter: "A space is required after '{{tokenValue}}'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const propertyNameMustBeSpaced = context.options[0] === "always"; // default is "never" - const enforceForClassMembers = !context.options[1] || context.options[1].enforceForClassMembers; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Reports that there shouldn't be a space after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @param {Token} tokenAfter The token after `token`. - * @returns {void} - */ - function reportNoBeginningSpace(node, token, tokenAfter) { - context.report({ - node, - loc: { start: token.loc.end, end: tokenAfter.loc.start }, - messageId: "unexpectedSpaceAfter", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.removeRange([token.range[1], tokenAfter.range[0]]); - } - }); - } - - /** - * Reports that there shouldn't be a space before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @param {Token} tokenBefore The token before `token`. - * @returns {void} - */ - function reportNoEndingSpace(node, token, tokenBefore) { - context.report({ - node, - loc: { start: tokenBefore.loc.end, end: token.loc.start }, - messageId: "unexpectedSpaceBefore", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.removeRange([tokenBefore.range[1], token.range[0]]); - } - }); - } - - /** - * Reports that there should be a space after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredBeginningSpace(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "missingSpaceAfter", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.insertTextAfter(token, " "); - } - }); - } - - /** - * Reports that there should be a space before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredEndingSpace(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "missingSpaceBefore", - data: { - tokenValue: token.value - }, - fix(fixer) { - return fixer.insertTextBefore(token, " "); - } - }); - } - - /** - * Returns a function that checks the spacing of a node on the property name - * that was passed in. - * @param {string} propertyName The property on the node to check for spacing - * @returns {Function} A function that will check spacing on a node - */ - function checkSpacing(propertyName) { - return function(node) { - if (!node.computed) { - return; - } - - const property = node[propertyName]; - - const before = sourceCode.getTokenBefore(property, astUtils.isOpeningBracketToken), - first = sourceCode.getTokenAfter(before, { includeComments: true }), - after = sourceCode.getTokenAfter(property, astUtils.isClosingBracketToken), - last = sourceCode.getTokenBefore(after, { includeComments: true }); - - if (astUtils.isTokenOnSameLine(before, first)) { - if (propertyNameMustBeSpaced) { - if (!sourceCode.isSpaceBetweenTokens(before, first) && astUtils.isTokenOnSameLine(before, first)) { - reportRequiredBeginningSpace(node, before); - } - } else { - if (sourceCode.isSpaceBetweenTokens(before, first)) { - reportNoBeginningSpace(node, before, first); - } - } - } - - if (astUtils.isTokenOnSameLine(last, after)) { - if (propertyNameMustBeSpaced) { - if (!sourceCode.isSpaceBetweenTokens(last, after) && astUtils.isTokenOnSameLine(last, after)) { - reportRequiredEndingSpace(node, after); - } - } else { - if (sourceCode.isSpaceBetweenTokens(last, after)) { - reportNoEndingSpace(node, after, last); - } - } - } - }; - } - - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - const listeners = { - Property: checkSpacing("key"), - MemberExpression: checkSpacing("property") - }; - - if (enforceForClassMembers) { - listeners.MethodDefinition = - listeners.PropertyDefinition = listeners.Property; - } - - return listeners; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-return.js deleted file mode 100644 index f31c2e10..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-return.js +++ /dev/null @@ -1,210 +0,0 @@ -/** - * @fileoverview Rule to flag consistent return values - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { upperCaseFirst } = require("../shared/string-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks all segments in a set and returns true if all are unreachable. - * @param {Set} segments The segments to check. - * @returns {boolean} True if all segments are unreachable; false otherwise. - */ -function areAllSegmentsUnreachable(segments) { - - for (const segment of segments) { - if (segment.reachable) { - return false; - } - } - - return true; -} - -/** - * Checks whether a given node is a `constructor` method in an ES6 class - * @param {ASTNode} node A node to check - * @returns {boolean} `true` if the node is a `constructor` method - */ -function isClassConstructor(node) { - return node.type === "FunctionExpression" && - node.parent && - node.parent.type === "MethodDefinition" && - node.parent.kind === "constructor"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require `return` statements to either always or never specify values", - recommended: false, - url: "https://eslint.org/docs/latest/rules/consistent-return" - }, - - schema: [{ - type: "object", - properties: { - treatUndefinedAsUnspecified: { - type: "boolean" - } - }, - additionalProperties: false - }], - - defaultOptions: [{ treatUndefinedAsUnspecified: false }], - - messages: { - missingReturn: "Expected to return a value at the end of {{name}}.", - missingReturnValue: "{{name}} expected a return value.", - unexpectedReturnValue: "{{name}} expected no return value." - } - }, - - create(context) { - const [{ treatUndefinedAsUnspecified }] = context.options; - let funcInfo = null; - - /** - * Checks whether of not the implicit returning is consistent if the last - * code path segment is reachable. - * @param {ASTNode} node A program/function node to check. - * @returns {void} - */ - function checkLastSegment(node) { - let loc, name; - - /* - * Skip if it expected no return value or unreachable. - * When unreachable, all paths are returned or thrown. - */ - if (!funcInfo.hasReturnValue || - areAllSegmentsUnreachable(funcInfo.currentSegments) || - astUtils.isES5Constructor(node) || - isClassConstructor(node) - ) { - return; - } - - // Adjust a location and a message. - if (node.type === "Program") { - - // The head of program. - loc = { line: 1, column: 0 }; - name = "program"; - } else if (node.type === "ArrowFunctionExpression") { - - // `=>` token - loc = context.sourceCode.getTokenBefore(node.body, astUtils.isArrowToken).loc; - } else if ( - node.parent.type === "MethodDefinition" || - (node.parent.type === "Property" && node.parent.method) - ) { - - // Method name. - loc = node.parent.key.loc; - } else { - - // Function name or `function` keyword. - loc = (node.id || context.sourceCode.getFirstToken(node)).loc; - } - - if (!name) { - name = astUtils.getFunctionNameWithKind(node); - } - - // Reports. - context.report({ - node, - loc, - messageId: "missingReturn", - data: { name } - }); - } - - return { - - // Initializes/Disposes state of each code path. - onCodePathStart(codePath, node) { - funcInfo = { - upper: funcInfo, - codePath, - hasReturn: false, - hasReturnValue: false, - messageId: "", - node, - currentSegments: new Set() - }; - }, - onCodePathEnd() { - funcInfo = funcInfo.upper; - }, - - onUnreachableCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - onCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - - // Reports a given return statement if it's inconsistent. - ReturnStatement(node) { - const argument = node.argument; - let hasReturnValue = Boolean(argument); - - if (treatUndefinedAsUnspecified && hasReturnValue) { - hasReturnValue = !astUtils.isSpecificId(argument, "undefined") && argument.operator !== "void"; - } - - if (!funcInfo.hasReturn) { - funcInfo.hasReturn = true; - funcInfo.hasReturnValue = hasReturnValue; - funcInfo.messageId = hasReturnValue ? "missingReturnValue" : "unexpectedReturnValue"; - funcInfo.data = { - name: funcInfo.node.type === "Program" - ? "Program" - : upperCaseFirst(astUtils.getFunctionNameWithKind(funcInfo.node)) - }; - } else if (funcInfo.hasReturnValue !== hasReturnValue) { - context.report({ - node, - messageId: funcInfo.messageId, - data: funcInfo.data - }); - } - }, - - // Reports a given program/function if the implicit returning is not consistent. - "Program:exit": checkLastSegment, - "FunctionDeclaration:exit": checkLastSegment, - "FunctionExpression:exit": checkLastSegment, - "ArrowFunctionExpression:exit": checkLastSegment - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-this.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-this.js deleted file mode 100644 index 9a76e7a4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/consistent-this.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @fileoverview Rule to enforce consistent naming of "this" context variables - * @author Raphael Pigulla - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce consistent naming when capturing the current execution context", - recommended: false, - url: "https://eslint.org/docs/latest/rules/consistent-this" - }, - - schema: { - type: "array", - items: { - type: "string", - minLength: 1 - }, - uniqueItems: true - }, - - defaultOptions: ["that"], - - messages: { - aliasNotAssignedToThis: "Designated alias '{{name}}' is not assigned to 'this'.", - unexpectedAlias: "Unexpected alias '{{name}}' for 'this'." - } - }, - - create(context) { - const aliases = context.options; - const sourceCode = context.sourceCode; - - /** - * Reports that a variable declarator or assignment expression is assigning - * a non-'this' value to the specified alias. - * @param {ASTNode} node The assigning node. - * @param {string} name the name of the alias that was incorrectly used. - * @returns {void} - */ - function reportBadAssignment(node, name) { - context.report({ node, messageId: "aliasNotAssignedToThis", data: { name } }); - } - - /** - * Checks that an assignment to an identifier only assigns 'this' to the - * appropriate alias, and the alias is only assigned to 'this'. - * @param {ASTNode} node The assigning node. - * @param {Identifier} name The name of the variable assigned to. - * @param {Expression} value The value of the assignment. - * @returns {void} - */ - function checkAssignment(node, name, value) { - const isThis = value.type === "ThisExpression"; - - if (aliases.includes(name)) { - if (!isThis || node.operator && node.operator !== "=") { - reportBadAssignment(node, name); - } - } else if (isThis) { - context.report({ node, messageId: "unexpectedAlias", data: { name } }); - } - } - - /** - * Ensures that a variable declaration of the alias in a program or function - * is assigned to the correct value. - * @param {string} alias alias the check the assignment of. - * @param {Object} scope scope of the current code we are checking. - * @private - * @returns {void} - */ - function checkWasAssigned(alias, scope) { - const variable = scope.set.get(alias); - - if (!variable) { - return; - } - - if (variable.defs.some(def => def.node.type === "VariableDeclarator" && - def.node.init !== null)) { - return; - } - - /* - * The alias has been declared and not assigned: check it was - * assigned later in the same scope. - */ - if (!variable.references.some(reference => { - const write = reference.writeExpr; - - return ( - reference.from === scope && - write && write.type === "ThisExpression" && - write.parent.operator === "=" - ); - })) { - variable.defs.map(def => def.node).forEach(node => { - reportBadAssignment(node, alias); - }); - } - } - - /** - * Check each alias to ensure that is was assigned to the correct value. - * @param {ASTNode} node The node that represents the scope to check. - * @returns {void} - */ - function ensureWasAssigned(node) { - const scope = sourceCode.getScope(node); - - aliases.forEach(alias => { - checkWasAssigned(alias, scope); - }); - } - - return { - "Program:exit": ensureWasAssigned, - "FunctionExpression:exit": ensureWasAssigned, - "FunctionDeclaration:exit": ensureWasAssigned, - - VariableDeclarator(node) { - const id = node.id; - const isDestructuring = - id.type === "ArrayPattern" || id.type === "ObjectPattern"; - - if (node.init !== null && !isDestructuring) { - checkAssignment(node, id.name, node.init); - } - }, - - AssignmentExpression(node) { - if (node.left.type === "Identifier") { - checkAssignment(node, node.left.name, node.right); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/constructor-super.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/constructor-super.js deleted file mode 100644 index 6f46278f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/constructor-super.js +++ /dev/null @@ -1,445 +0,0 @@ -/** - * @fileoverview A rule to verify `super()` callings in constructor. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given node is a constructor. - * @param {ASTNode} node A node to check. This node type is one of - * `Program`, `FunctionDeclaration`, `FunctionExpression`, and - * `ArrowFunctionExpression`. - * @returns {boolean} `true` if the node is a constructor. - */ -function isConstructorFunction(node) { - return ( - node.type === "FunctionExpression" && - node.parent.type === "MethodDefinition" && - node.parent.kind === "constructor" - ); -} - -/** - * Checks whether a given node can be a constructor or not. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node can be a constructor. - */ -function isPossibleConstructor(node) { - if (!node) { - return false; - } - - switch (node.type) { - case "ClassExpression": - case "FunctionExpression": - case "ThisExpression": - case "MemberExpression": - case "CallExpression": - case "NewExpression": - case "ChainExpression": - case "YieldExpression": - case "TaggedTemplateExpression": - case "MetaProperty": - return true; - - case "Identifier": - return node.name !== "undefined"; - - case "AssignmentExpression": - if (["=", "&&="].includes(node.operator)) { - return isPossibleConstructor(node.right); - } - - if (["||=", "??="].includes(node.operator)) { - return ( - isPossibleConstructor(node.left) || - isPossibleConstructor(node.right) - ); - } - - /** - * All other assignment operators are mathematical assignment operators (arithmetic or bitwise). - * An assignment expression with a mathematical operator can either evaluate to a primitive value, - * or throw, depending on the operands. Thus, it cannot evaluate to a constructor function. - */ - return false; - - case "LogicalExpression": - - /* - * If the && operator short-circuits, the left side was falsy and therefore not a constructor, and if - * it doesn't short-circuit, it takes the value from the right side, so the right side must always be a - * possible constructor. A future improvement could verify that the left side could be truthy by - * excluding falsy literals. - */ - if (node.operator === "&&") { - return isPossibleConstructor(node.right); - } - - return ( - isPossibleConstructor(node.left) || - isPossibleConstructor(node.right) - ); - - case "ConditionalExpression": - return ( - isPossibleConstructor(node.alternate) || - isPossibleConstructor(node.consequent) - ); - - case "SequenceExpression": { - const lastExpression = node.expressions.at(-1); - - return isPossibleConstructor(lastExpression); - } - - default: - return false; - } -} - -/** - * A class to store information about a code path segment. - */ -class SegmentInfo { - - /** - * Indicates if super() is called in all code paths. - * @type {boolean} - */ - calledInEveryPaths = false; - - /** - * Indicates if super() is called in any code paths. - * @type {boolean} - */ - calledInSomePaths = false; - - /** - * The nodes which have been validated and don't need to be reconsidered. - * @type {ASTNode[]} - */ - validNodes = []; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Require `super()` calls in constructors", - recommended: true, - url: "https://eslint.org/docs/latest/rules/constructor-super" - }, - - schema: [], - - messages: { - missingSome: "Lacked a call of 'super()' in some code paths.", - missingAll: "Expected to call 'super()'.", - - duplicate: "Unexpected duplicate 'super()'.", - badSuper: "Unexpected 'super()' because 'super' is not a constructor." - } - }, - - create(context) { - - /* - * {{hasExtends: boolean, scope: Scope, codePath: CodePath}[]} - * Information for each constructor. - * - upper: Information of the upper constructor. - * - hasExtends: A flag which shows whether own class has a valid `extends` - * part. - * - scope: The scope of own class. - * - codePath: The code path object of the constructor. - */ - let funcInfo = null; - - /** - * @type {Record} - */ - const segInfoMap = Object.create(null); - - /** - * Gets the flag which shows `super()` is called in some paths. - * @param {CodePathSegment} segment A code path segment to get. - * @returns {boolean} The flag which shows `super()` is called in some paths - */ - function isCalledInSomePath(segment) { - return segment.reachable && segInfoMap[segment.id].calledInSomePaths; - } - - /** - * Determines if a segment has been seen in the traversal. - * @param {CodePathSegment} segment A code path segment to check. - * @returns {boolean} `true` if the segment has been seen. - */ - function hasSegmentBeenSeen(segment) { - return !!segInfoMap[segment.id]; - } - - /** - * Gets the flag which shows `super()` is called in all paths. - * @param {CodePathSegment} segment A code path segment to get. - * @returns {boolean} The flag which shows `super()` is called in all paths. - */ - function isCalledInEveryPath(segment) { - return segment.reachable && segInfoMap[segment.id].calledInEveryPaths; - } - - return { - - /** - * Stacks a constructor information. - * @param {CodePath} codePath A code path which was started. - * @param {ASTNode} node The current node. - * @returns {void} - */ - onCodePathStart(codePath, node) { - if (isConstructorFunction(node)) { - - // Class > ClassBody > MethodDefinition > FunctionExpression - const classNode = node.parent.parent.parent; - const superClass = classNode.superClass; - - funcInfo = { - upper: funcInfo, - isConstructor: true, - hasExtends: Boolean(superClass), - superIsConstructor: isPossibleConstructor(superClass), - codePath, - currentSegments: new Set() - }; - } else { - funcInfo = { - upper: funcInfo, - isConstructor: false, - hasExtends: false, - superIsConstructor: false, - codePath, - currentSegments: new Set() - }; - } - }, - - /** - * Pops a constructor information. - * And reports if `super()` lacked. - * @param {CodePath} codePath A code path which was ended. - * @param {ASTNode} node The current node. - * @returns {void} - */ - onCodePathEnd(codePath, node) { - const hasExtends = funcInfo.hasExtends; - - // Pop. - funcInfo = funcInfo.upper; - - if (!hasExtends) { - return; - } - - // Reports if `super()` lacked. - const returnedSegments = codePath.returnedSegments; - const calledInEveryPaths = returnedSegments.every(isCalledInEveryPath); - const calledInSomePaths = returnedSegments.some(isCalledInSomePath); - - if (!calledInEveryPaths) { - context.report({ - messageId: calledInSomePaths - ? "missingSome" - : "missingAll", - node: node.parent - }); - } - }, - - /** - * Initialize information of a given code path segment. - * @param {CodePathSegment} segment A code path segment to initialize. - * @param {CodePathSegment} node Node that starts the segment. - * @returns {void} - */ - onCodePathSegmentStart(segment, node) { - - funcInfo.currentSegments.add(segment); - - if (!(funcInfo.isConstructor && funcInfo.hasExtends)) { - return; - } - - // Initialize info. - const info = segInfoMap[segment.id] = new SegmentInfo(); - - const seenPrevSegments = segment.prevSegments.filter(hasSegmentBeenSeen); - - // When there are previous segments, aggregates these. - if (seenPrevSegments.length > 0) { - info.calledInSomePaths = seenPrevSegments.some(isCalledInSomePath); - info.calledInEveryPaths = seenPrevSegments.every(isCalledInEveryPath); - } - - /* - * ForStatement > *.update segments are a special case as they are created in advance, - * without seen previous segments. Since they logically don't affect `calledInEveryPaths` - * calculations, and they can never be a lone previous segment of another one, we'll set - * their `calledInEveryPaths` to `true` to effectively ignore them in those calculations. - * . - */ - if (node.parent && node.parent.type === "ForStatement" && node.parent.update === node) { - info.calledInEveryPaths = true; - } - }, - - onUnreachableCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - onCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - - /** - * Update information of the code path segment when a code path was - * looped. - * @param {CodePathSegment} fromSegment The code path segment of the - * end of a loop. - * @param {CodePathSegment} toSegment A code path segment of the head - * of a loop. - * @returns {void} - */ - onCodePathSegmentLoop(fromSegment, toSegment) { - if (!(funcInfo.isConstructor && funcInfo.hasExtends)) { - return; - } - - funcInfo.codePath.traverseSegments( - { first: toSegment, last: fromSegment }, - (segment, controller) => { - const info = segInfoMap[segment.id]; - - // skip segments after the loop - if (!info) { - controller.skip(); - return; - } - - const seenPrevSegments = segment.prevSegments.filter(hasSegmentBeenSeen); - const calledInSomePreviousPaths = seenPrevSegments.some(isCalledInSomePath); - const calledInEveryPreviousPaths = seenPrevSegments.every(isCalledInEveryPath); - - info.calledInSomePaths ||= calledInSomePreviousPaths; - info.calledInEveryPaths ||= calledInEveryPreviousPaths; - - // If flags become true anew, reports the valid nodes. - if (calledInSomePreviousPaths) { - const nodes = info.validNodes; - - info.validNodes = []; - - for (let i = 0; i < nodes.length; ++i) { - const node = nodes[i]; - - context.report({ - messageId: "duplicate", - node - }); - } - } - } - ); - }, - - /** - * Checks for a call of `super()`. - * @param {ASTNode} node A CallExpression node to check. - * @returns {void} - */ - "CallExpression:exit"(node) { - if (!(funcInfo.isConstructor && funcInfo.hasExtends)) { - return; - } - - // Skips except `super()`. - if (node.callee.type !== "Super") { - return; - } - - // Reports if needed. - const segments = funcInfo.currentSegments; - let duplicate = false; - let info = null; - - for (const segment of segments) { - - if (segment.reachable) { - info = segInfoMap[segment.id]; - - duplicate = duplicate || info.calledInSomePaths; - info.calledInSomePaths = info.calledInEveryPaths = true; - } - } - - if (info) { - if (duplicate) { - context.report({ - messageId: "duplicate", - node - }); - } else if (!funcInfo.superIsConstructor) { - context.report({ - messageId: "badSuper", - node - }); - } else { - info.validNodes.push(node); - } - } - }, - - /** - * Set the mark to the returned path as `super()` was called. - * @param {ASTNode} node A ReturnStatement node to check. - * @returns {void} - */ - ReturnStatement(node) { - if (!(funcInfo.isConstructor && funcInfo.hasExtends)) { - return; - } - - // Skips if no argument. - if (!node.argument) { - return; - } - - // Returning argument is a substitute of 'super()'. - const segments = funcInfo.currentSegments; - - for (const segment of segments) { - - if (segment.reachable) { - const info = segInfoMap[segment.id]; - - info.calledInSomePaths = info.calledInEveryPaths = true; - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/curly.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/curly.js deleted file mode 100644 index fa273dcc..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/curly.js +++ /dev/null @@ -1,349 +0,0 @@ -/** - * @fileoverview Rule to flag statements without curly braces - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce consistent brace style for all control statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/curly" - }, - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["all"] - } - ], - minItems: 0, - maxItems: 1 - }, - { - type: "array", - items: [ - { - enum: ["multi", "multi-line", "multi-or-nest"] - }, - { - enum: ["consistent"] - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - - defaultOptions: ["all"], - - fixable: "code", - - messages: { - missingCurlyAfter: "Expected { after '{{name}}'.", - missingCurlyAfterCondition: "Expected { after '{{name}}' condition.", - unexpectedCurlyAfter: "Unnecessary { after '{{name}}'.", - unexpectedCurlyAfterCondition: "Unnecessary { after '{{name}}' condition." - } - }, - - create(context) { - const multiOnly = (context.options[0] === "multi"); - const multiLine = (context.options[0] === "multi-line"); - const multiOrNest = (context.options[0] === "multi-or-nest"); - const consistent = (context.options[1] === "consistent"); - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Determines if a given node is a one-liner that's on the same line as it's preceding code. - * @param {ASTNode} node The node to check. - * @returns {boolean} True if the node is a one-liner that's on the same line as it's preceding code. - * @private - */ - function isCollapsedOneLiner(node) { - const before = sourceCode.getTokenBefore(node); - const last = sourceCode.getLastToken(node); - const lastExcludingSemicolon = astUtils.isSemicolonToken(last) ? sourceCode.getTokenBefore(last) : last; - - return before.loc.start.line === lastExcludingSemicolon.loc.end.line; - } - - /** - * Determines if a given node is a one-liner. - * @param {ASTNode} node The node to check. - * @returns {boolean} True if the node is a one-liner. - * @private - */ - function isOneLiner(node) { - if (node.type === "EmptyStatement") { - return true; - } - - const first = sourceCode.getFirstToken(node); - const last = sourceCode.getLastToken(node); - const lastExcludingSemicolon = astUtils.isSemicolonToken(last) ? sourceCode.getTokenBefore(last) : last; - - return first.loc.start.line === lastExcludingSemicolon.loc.end.line; - } - - /** - * Determines if a semicolon needs to be inserted after removing a set of curly brackets, in order to avoid a SyntaxError. - * @param {Token} closingBracket The } token - * @returns {boolean} `true` if a semicolon needs to be inserted after the last statement in the block. - */ - function needsSemicolon(closingBracket) { - const tokenBefore = sourceCode.getTokenBefore(closingBracket); - const tokenAfter = sourceCode.getTokenAfter(closingBracket); - const lastBlockNode = sourceCode.getNodeByRangeIndex(tokenBefore.range[0]); - - if (astUtils.isSemicolonToken(tokenBefore)) { - - // If the last statement already has a semicolon, don't add another one. - return false; - } - - if (!tokenAfter) { - - // If there are no statements after this block, there is no need to add a semicolon. - return false; - } - - if (lastBlockNode.type === "BlockStatement" && lastBlockNode.parent.type !== "FunctionExpression" && lastBlockNode.parent.type !== "ArrowFunctionExpression") { - - /* - * If the last node surrounded by curly brackets is a BlockStatement (other than a FunctionExpression or an ArrowFunctionExpression), - * don't insert a semicolon. Otherwise, the semicolon would be parsed as a separate statement, which would cause - * a SyntaxError if it was followed by `else`. - */ - return false; - } - - if (tokenBefore.loc.end.line === tokenAfter.loc.start.line) { - - // If the next token is on the same line, insert a semicolon. - return true; - } - - if (/^[([/`+-]/u.test(tokenAfter.value)) { - - // If the next token starts with a character that would disrupt ASI, insert a semicolon. - return true; - } - - if (tokenBefore.type === "Punctuator" && (tokenBefore.value === "++" || tokenBefore.value === "--")) { - - // If the last token is ++ or --, insert a semicolon to avoid disrupting ASI. - return true; - } - - // Otherwise, do not insert a semicolon. - return false; - } - - /** - * Prepares to check the body of a node to see if it's a block statement. - * @param {ASTNode} node The node to report if there's a problem. - * @param {ASTNode} body The body node to check for blocks. - * @param {string} name The name to report if there's a problem. - * @param {{ condition: boolean }} opts Options to pass to the report functions - * @returns {Object} a prepared check object, with "actual", "expected", "check" properties. - * "actual" will be `true` or `false` whether the body is already a block statement. - * "expected" will be `true` or `false` if the body should be a block statement or not, or - * `null` if it doesn't matter, depending on the rule options. It can be modified to change - * the final behavior of "check". - * "check" will be a function reporting appropriate problems depending on the other - * properties. - */ - function prepareCheck(node, body, name, opts) { - const hasBlock = (body.type === "BlockStatement"); - let expected = null; - - if (hasBlock && (body.body.length !== 1 || astUtils.areBracesNecessary(body, sourceCode))) { - expected = true; - } else if (multiOnly) { - expected = false; - } else if (multiLine) { - if (!isCollapsedOneLiner(body)) { - expected = true; - } - - // otherwise, the body is allowed to have braces or not to have braces - - } else if (multiOrNest) { - if (hasBlock) { - const statement = body.body[0]; - const leadingCommentsInBlock = sourceCode.getCommentsBefore(statement); - - expected = !isOneLiner(statement) || leadingCommentsInBlock.length > 0; - } else { - expected = !isOneLiner(body); - } - } else { - - // default "all" - expected = true; - } - - return { - actual: hasBlock, - expected, - check() { - if (this.expected !== null && this.expected !== this.actual) { - if (this.expected) { - context.report({ - node, - loc: body.loc, - messageId: opts && opts.condition ? "missingCurlyAfterCondition" : "missingCurlyAfter", - data: { - name - }, - fix: fixer => fixer.replaceText(body, `{${sourceCode.getText(body)}}`) - }); - } else { - context.report({ - node, - loc: body.loc, - messageId: opts && opts.condition ? "unexpectedCurlyAfterCondition" : "unexpectedCurlyAfter", - data: { - name - }, - fix(fixer) { - - /* - * `do while` expressions sometimes need a space to be inserted after `do`. - * e.g. `do{foo()} while (bar)` should be corrected to `do foo() while (bar)` - */ - const needsPrecedingSpace = node.type === "DoWhileStatement" && - sourceCode.getTokenBefore(body).range[1] === body.range[0] && - !astUtils.canTokensBeAdjacent("do", sourceCode.getFirstToken(body, { skip: 1 })); - - const openingBracket = sourceCode.getFirstToken(body); - const closingBracket = sourceCode.getLastToken(body); - const lastTokenInBlock = sourceCode.getTokenBefore(closingBracket); - - if (needsSemicolon(closingBracket)) { - - /* - * If removing braces would cause a SyntaxError due to multiple statements on the same line (or - * change the semantics of the code due to ASI), don't perform a fix. - */ - return null; - } - - const resultingBodyText = sourceCode.getText().slice(openingBracket.range[1], lastTokenInBlock.range[0]) + - sourceCode.getText(lastTokenInBlock) + - sourceCode.getText().slice(lastTokenInBlock.range[1], closingBracket.range[0]); - - return fixer.replaceText(body, (needsPrecedingSpace ? " " : "") + resultingBodyText); - } - }); - } - } - } - }; - } - - /** - * Prepares to check the bodies of a "if", "else if" and "else" chain. - * @param {ASTNode} node The first IfStatement node of the chain. - * @returns {Object[]} prepared checks for each body of the chain. See `prepareCheck` for more - * information. - */ - function prepareIfChecks(node) { - const preparedChecks = []; - - for (let currentNode = node; currentNode; currentNode = currentNode.alternate) { - preparedChecks.push(prepareCheck(currentNode, currentNode.consequent, "if", { condition: true })); - if (currentNode.alternate && currentNode.alternate.type !== "IfStatement") { - preparedChecks.push(prepareCheck(currentNode, currentNode.alternate, "else")); - break; - } - } - - if (consistent) { - - /* - * If any node should have or already have braces, make sure they - * all have braces. - * If all nodes shouldn't have braces, make sure they don't. - */ - const expected = preparedChecks.some(preparedCheck => { - if (preparedCheck.expected !== null) { - return preparedCheck.expected; - } - return preparedCheck.actual; - }); - - preparedChecks.forEach(preparedCheck => { - preparedCheck.expected = expected; - }); - } - - return preparedChecks; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - IfStatement(node) { - const parent = node.parent; - const isElseIf = parent.type === "IfStatement" && parent.alternate === node; - - if (!isElseIf) { - - // This is a top `if`, check the whole `if-else-if` chain - prepareIfChecks(node).forEach(preparedCheck => { - preparedCheck.check(); - }); - } - - // Skip `else if`, it's already checked (when the top `if` was visited) - }, - - WhileStatement(node) { - prepareCheck(node, node.body, "while", { condition: true }).check(); - }, - - DoWhileStatement(node) { - prepareCheck(node, node.body, "do").check(); - }, - - ForStatement(node) { - prepareCheck(node, node.body, "for", { condition: true }).check(); - }, - - ForInStatement(node) { - prepareCheck(node, node.body, "for-in").check(); - }, - - ForOfStatement(node) { - prepareCheck(node, node.body, "for-of").check(); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case-last.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case-last.js deleted file mode 100644 index bd2d93ec..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case-last.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @fileoverview Rule to enforce `default` clauses in switch statements to be last - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce `default` clauses in switch statements to be last", - recommended: false, - url: "https://eslint.org/docs/latest/rules/default-case-last" - }, - - schema: [], - - messages: { - notLast: "Default clause should be the last clause." - } - }, - - create(context) { - return { - SwitchStatement(node) { - const cases = node.cases, - indexOfDefault = cases.findIndex(c => c.test === null); - - if (indexOfDefault !== -1 && indexOfDefault !== cases.length - 1) { - const defaultClause = cases[indexOfDefault]; - - context.report({ node: defaultClause, messageId: "notLast" }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case.js deleted file mode 100644 index 9fa7acd3..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-case.js +++ /dev/null @@ -1,99 +0,0 @@ -/** - * @fileoverview require default case in switch statements - * @author Aliaksei Shytkin - */ -"use strict"; - -const DEFAULT_COMMENT_PATTERN = /^no default$/iu; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{}], - - docs: { - description: "Require `default` cases in `switch` statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/default-case" - }, - - schema: [{ - type: "object", - properties: { - commentPattern: { - type: "string" - } - }, - additionalProperties: false - }], - - messages: { - missingDefaultCase: "Expected a default case." - } - }, - - create(context) { - const [options] = context.options; - const commentPattern = options.commentPattern - ? new RegExp(options.commentPattern, "u") - : DEFAULT_COMMENT_PATTERN; - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Shortcut to get last element of array - * @param {*[]} collection Array - * @returns {any} Last element - */ - function last(collection) { - return collection.at(-1); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - SwitchStatement(node) { - - if (!node.cases.length) { - - /* - * skip check of empty switch because there is no easy way - * to extract comments inside it now - */ - return; - } - - const hasDefault = node.cases.some(v => v.test === null); - - if (!hasDefault) { - - let comment; - - const lastCase = last(node.cases); - const comments = sourceCode.getCommentsAfter(lastCase); - - if (comments.length) { - comment = last(comments); - } - - if (!comment || !commentPattern.test(comment.value.trim())) { - context.report({ node, messageId: "missingDefaultCase" }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-param-last.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-param-last.js deleted file mode 100644 index 3254fa80..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/default-param-last.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @fileoverview enforce default parameters to be last - * @author Chiawen Chen - */ - -"use strict"; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce default parameters to be last", - recommended: false, - url: "https://eslint.org/docs/latest/rules/default-param-last" - }, - - schema: [], - - messages: { - shouldBeLast: "Default parameters should be last." - } - }, - - create(context) { - - /** - * Handler for function contexts. - * @param {ASTNode} node function node - * @returns {void} - */ - function handleFunction(node) { - let hasSeenPlainParam = false; - - for (let i = node.params.length - 1; i >= 0; i -= 1) { - const param = node.params[i]; - - if ( - param.type !== "AssignmentPattern" && - param.type !== "RestElement" - ) { - hasSeenPlainParam = true; - continue; - } - - if (hasSeenPlainParam && param.type === "AssignmentPattern") { - context.report({ - node: param, - messageId: "shouldBeLast" - }); - } - } - } - - return { - FunctionDeclaration: handleFunction, - FunctionExpression: handleFunction, - ArrowFunctionExpression: handleFunction - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-location.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-location.js deleted file mode 100644 index 0d017c16..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-location.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * @fileoverview Validates newlines before and after dots - * @author Greg Cochard - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent newlines before and after dots", - recommended: false, - url: "https://eslint.org/docs/latest/rules/dot-location" - }, - - schema: [ - { - enum: ["object", "property"] - } - ], - - fixable: "code", - - messages: { - expectedDotAfterObject: "Expected dot to be on same line as object.", - expectedDotBeforeProperty: "Expected dot to be on same line as property." - } - }, - - create(context) { - - const config = context.options[0]; - - // default to onObject if no preference is passed - const onObject = config === "object" || !config; - - const sourceCode = context.sourceCode; - - /** - * Reports if the dot between object and property is on the correct location. - * @param {ASTNode} node The `MemberExpression` node. - * @returns {void} - */ - function checkDotLocation(node) { - const property = node.property; - const dotToken = sourceCode.getTokenBefore(property); - - if (onObject) { - - // `obj` expression can be parenthesized, but those paren tokens are not a part of the `obj` node. - const tokenBeforeDot = sourceCode.getTokenBefore(dotToken); - - if (!astUtils.isTokenOnSameLine(tokenBeforeDot, dotToken)) { - context.report({ - node, - loc: dotToken.loc, - messageId: "expectedDotAfterObject", - *fix(fixer) { - if (dotToken.value.startsWith(".") && astUtils.isDecimalIntegerNumericToken(tokenBeforeDot)) { - yield fixer.insertTextAfter(tokenBeforeDot, ` ${dotToken.value}`); - } else { - yield fixer.insertTextAfter(tokenBeforeDot, dotToken.value); - } - yield fixer.remove(dotToken); - } - }); - } - } else if (!astUtils.isTokenOnSameLine(dotToken, property)) { - context.report({ - node, - loc: dotToken.loc, - messageId: "expectedDotBeforeProperty", - *fix(fixer) { - yield fixer.remove(dotToken); - yield fixer.insertTextBefore(property, dotToken.value); - } - }); - } - } - - /** - * Checks the spacing of the dot within a member expression. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkNode(node) { - if (!node.computed) { - checkDotLocation(node); - } - } - - return { - MemberExpression: checkNode - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-notation.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-notation.js deleted file mode 100644 index 370c1cae..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/dot-notation.js +++ /dev/null @@ -1,179 +0,0 @@ -/** - * @fileoverview Rule to warn about using dot notation instead of square bracket notation when possible. - * @author Josh Perez - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const keywords = require("./utils/keywords"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const validIdentifier = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/u; - -// `null` literal must be handled separately. -const literalTypesToCheck = new Set(["string", "boolean"]); - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allowKeywords: true, - allowPattern: "" - }], - - docs: { - description: "Enforce dot notation whenever possible", - recommended: false, - url: "https://eslint.org/docs/latest/rules/dot-notation" - }, - - schema: [ - { - type: "object", - properties: { - allowKeywords: { - type: "boolean" - }, - allowPattern: { - type: "string" - } - }, - additionalProperties: false - } - ], - - fixable: "code", - - messages: { - useDot: "[{{key}}] is better written in dot notation.", - useBrackets: ".{{key}} is a syntax error." - } - }, - - create(context) { - const [options] = context.options; - const allowKeywords = options.allowKeywords; - const sourceCode = context.sourceCode; - - let allowPattern; - - if (options.allowPattern) { - allowPattern = new RegExp(options.allowPattern, "u"); - } - - /** - * Check if the property is valid dot notation - * @param {ASTNode} node The dot notation node - * @param {string} value Value which is to be checked - * @returns {void} - */ - function checkComputedProperty(node, value) { - if ( - validIdentifier.test(value) && - (allowKeywords || !keywords.includes(String(value))) && - !(allowPattern && allowPattern.test(value)) - ) { - const formattedValue = node.property.type === "Literal" ? JSON.stringify(value) : `\`${value}\``; - - context.report({ - node: node.property, - messageId: "useDot", - data: { - key: formattedValue - }, - *fix(fixer) { - const leftBracket = sourceCode.getTokenAfter(node.object, astUtils.isOpeningBracketToken); - const rightBracket = sourceCode.getLastToken(node); - const nextToken = sourceCode.getTokenAfter(node); - - // Don't perform any fixes if there are comments inside the brackets. - if (sourceCode.commentsExistBetween(leftBracket, rightBracket)) { - return; - } - - // Replace the brackets by an identifier. - if (!node.optional) { - yield fixer.insertTextBefore( - leftBracket, - astUtils.isDecimalInteger(node.object) ? " ." : "." - ); - } - yield fixer.replaceTextRange( - [leftBracket.range[0], rightBracket.range[1]], - value - ); - - // Insert a space after the property if it will be connected to the next token. - if ( - nextToken && - rightBracket.range[1] === nextToken.range[0] && - !astUtils.canTokensBeAdjacent(String(value), nextToken) - ) { - yield fixer.insertTextAfter(node, " "); - } - } - }); - } - } - - return { - MemberExpression(node) { - if ( - node.computed && - node.property.type === "Literal" && - (literalTypesToCheck.has(typeof node.property.value) || astUtils.isNullLiteral(node.property)) - ) { - checkComputedProperty(node, node.property.value); - } - if ( - node.computed && - astUtils.isStaticTemplateLiteral(node.property) - ) { - checkComputedProperty(node, node.property.quasis[0].value.cooked); - } - if ( - !allowKeywords && - !node.computed && - node.property.type === "Identifier" && - keywords.includes(String(node.property.name)) - ) { - context.report({ - node: node.property, - messageId: "useBrackets", - data: { - key: node.property.name - }, - *fix(fixer) { - const dotToken = sourceCode.getTokenBefore(node.property); - - // A statement that starts with `let[` is parsed as a destructuring variable declaration, not a MemberExpression. - if (node.object.type === "Identifier" && node.object.name === "let" && !node.optional) { - return; - } - - // Don't perform any fixes if there are comments between the dot and the property name. - if (sourceCode.commentsExistBetween(dotToken, node.property)) { - return; - } - - // Replace the identifier to brackets. - if (!node.optional) { - yield fixer.remove(dotToken); - } - yield fixer.replaceText(node.property, `["${node.property.name}"]`); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eol-last.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eol-last.js deleted file mode 100644 index c46ff4ef..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eol-last.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * @fileoverview Require or disallow newline at the end of files - * @author Nodeca Team - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow newline at the end of files", - recommended: false, - url: "https://eslint.org/docs/latest/rules/eol-last" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never", "unix", "windows"] - } - ], - - messages: { - missing: "Newline required at end of file but not found.", - unexpected: "Newline not allowed at end of file." - } - }, - create(context) { - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program: function checkBadEOF(node) { - const sourceCode = context.sourceCode, - src = sourceCode.getText(), - lastLine = sourceCode.lines.at(-1), - location = { - column: lastLine.length, - line: sourceCode.lines.length - }, - LF = "\n", - CRLF = `\r${LF}`, - endsWithNewline = src.endsWith(LF); - - /* - * Empty source is always valid: No content in file so we don't - * need to lint for a newline on the last line of content. - */ - if (!src.length) { - return; - } - - let mode = context.options[0] || "always", - appendCRLF = false; - - if (mode === "unix") { - - // `"unix"` should behave exactly as `"always"` - mode = "always"; - } - if (mode === "windows") { - - // `"windows"` should behave exactly as `"always"`, but append CRLF in the fixer for backwards compatibility - mode = "always"; - appendCRLF = true; - } - if (mode === "always" && !endsWithNewline) { - - // File is not newline-terminated, but should be - context.report({ - node, - loc: location, - messageId: "missing", - fix(fixer) { - return fixer.insertTextAfterRange([0, src.length], appendCRLF ? CRLF : LF); - } - }); - } else if (mode === "never" && endsWithNewline) { - - const secondLastLine = sourceCode.lines.at(-2); - - // File is newline-terminated, but shouldn't be - context.report({ - node, - loc: { - start: { line: sourceCode.lines.length - 1, column: secondLastLine.length }, - end: { line: sourceCode.lines.length, column: 0 } - }, - messageId: "unexpected", - fix(fixer) { - const finalEOLs = /(?:\r?\n)+$/u, - match = finalEOLs.exec(sourceCode.text), - start = match.index, - end = sourceCode.text.length; - - return fixer.replaceTextRange([start, end], ""); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eqeqeq.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eqeqeq.js deleted file mode 100644 index 12b1e805..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/eqeqeq.js +++ /dev/null @@ -1,174 +0,0 @@ -/** - * @fileoverview Rule to flag statements that use != and == instead of !== and === - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require the use of `===` and `!==`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/eqeqeq" - }, - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["always"] - }, - { - type: "object", - properties: { - null: { - enum: ["always", "never", "ignore"] - } - }, - additionalProperties: false - } - ], - additionalItems: false - }, - { - type: "array", - items: [ - { - enum: ["smart", "allow-null"] - } - ], - additionalItems: false - } - ] - }, - - fixable: "code", - - messages: { - unexpected: "Expected '{{expectedOperator}}' and instead saw '{{actualOperator}}'." - } - }, - - create(context) { - const config = context.options[0] || "always"; - const options = context.options[1] || {}; - const sourceCode = context.sourceCode; - - const nullOption = (config === "always") - ? options.null || "always" - : "ignore"; - const enforceRuleForNull = (nullOption === "always"); - const enforceInverseRuleForNull = (nullOption === "never"); - - /** - * Checks if an expression is a typeof expression - * @param {ASTNode} node The node to check - * @returns {boolean} if the node is a typeof expression - */ - function isTypeOf(node) { - return node.type === "UnaryExpression" && node.operator === "typeof"; - } - - /** - * Checks if either operand of a binary expression is a typeof operation - * @param {ASTNode} node The node to check - * @returns {boolean} if one of the operands is typeof - * @private - */ - function isTypeOfBinary(node) { - return isTypeOf(node.left) || isTypeOf(node.right); - } - - /** - * Checks if operands are literals of the same type (via typeof) - * @param {ASTNode} node The node to check - * @returns {boolean} if operands are of same type - * @private - */ - function areLiteralsAndSameType(node) { - return node.left.type === "Literal" && node.right.type === "Literal" && - typeof node.left.value === typeof node.right.value; - } - - /** - * Checks if one of the operands is a literal null - * @param {ASTNode} node The node to check - * @returns {boolean} if operands are null - * @private - */ - function isNullCheck(node) { - return astUtils.isNullLiteral(node.right) || astUtils.isNullLiteral(node.left); - } - - /** - * Reports a message for this rule. - * @param {ASTNode} node The binary expression node that was checked - * @param {string} expectedOperator The operator that was expected (either '==', '!=', '===', or '!==') - * @returns {void} - * @private - */ - function report(node, expectedOperator) { - const operatorToken = sourceCode.getFirstTokenBetween( - node.left, - node.right, - token => token.value === node.operator - ); - - context.report({ - node, - loc: operatorToken.loc, - messageId: "unexpected", - data: { expectedOperator, actualOperator: node.operator }, - fix(fixer) { - - // If the comparison is a `typeof` comparison or both sides are literals with the same type, then it's safe to fix. - if (isTypeOfBinary(node) || areLiteralsAndSameType(node)) { - return fixer.replaceText(operatorToken, expectedOperator); - } - return null; - } - }); - } - - return { - BinaryExpression(node) { - const isNull = isNullCheck(node); - - if (node.operator !== "==" && node.operator !== "!=") { - if (enforceInverseRuleForNull && isNull) { - report(node, node.operator.slice(0, -1)); - } - return; - } - - if (config === "smart" && (isTypeOfBinary(node) || - areLiteralsAndSameType(node) || isNull)) { - return; - } - - if (!enforceRuleForNull && isNull) { - return; - } - - report(node, `${node.operator}=`); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/for-direction.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/for-direction.js deleted file mode 100644 index f386d83d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/for-direction.js +++ /dev/null @@ -1,140 +0,0 @@ -/** - * @fileoverview enforce `for` loop update clause moving the counter in the right direction.(for-direction) - * @author Aladdin-ADD - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { getStaticValue } = require("@eslint-community/eslint-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Enforce `for` loop update clause moving the counter in the right direction", - recommended: true, - url: "https://eslint.org/docs/latest/rules/for-direction" - }, - - fixable: null, - schema: [], - - messages: { - incorrectDirection: "The update clause in this loop moves the variable in the wrong direction." - } - }, - - create(context) { - const { sourceCode } = context; - - /** - * report an error. - * @param {ASTNode} node the node to report. - * @returns {void} - */ - function report(node) { - context.report({ - node, - messageId: "incorrectDirection" - }); - } - - /** - * check the right side of the assignment - * @param {ASTNode} update UpdateExpression to check - * @param {int} dir expected direction that could either be turned around or invalidated - * @returns {int} return dir, the negated dir, or zero if the counter does not change or the direction is not clear - */ - function getRightDirection(update, dir) { - const staticValue = getStaticValue(update.right, sourceCode.getScope(update)); - - if (staticValue && ["bigint", "boolean", "number"].includes(typeof staticValue.value)) { - const sign = Math.sign(Number(staticValue.value)) || 0; // convert NaN to 0 - - return dir * sign; - } - return 0; - } - - /** - * check UpdateExpression add/sub the counter - * @param {ASTNode} update UpdateExpression to check - * @param {string} counter variable name to check - * @returns {int} if add return 1, if sub return -1, if nochange, return 0 - */ - function getUpdateDirection(update, counter) { - if (update.argument.type === "Identifier" && update.argument.name === counter) { - if (update.operator === "++") { - return 1; - } - if (update.operator === "--") { - return -1; - } - } - return 0; - } - - /** - * check AssignmentExpression add/sub the counter - * @param {ASTNode} update AssignmentExpression to check - * @param {string} counter variable name to check - * @returns {int} if add return 1, if sub return -1, if nochange, return 0 - */ - function getAssignmentDirection(update, counter) { - if (update.left.name === counter) { - if (update.operator === "+=") { - return getRightDirection(update, 1); - } - if (update.operator === "-=") { - return getRightDirection(update, -1); - } - } - return 0; - } - - return { - ForStatement(node) { - - if (node.test && node.test.type === "BinaryExpression" && node.update) { - for (const counterPosition of ["left", "right"]) { - if (node.test[counterPosition].type !== "Identifier") { - continue; - } - - const counter = node.test[counterPosition].name; - const operator = node.test.operator; - const update = node.update; - - let wrongDirection; - - if (operator === "<" || operator === "<=") { - wrongDirection = counterPosition === "left" ? -1 : 1; - } else if (operator === ">" || operator === ">=") { - wrongDirection = counterPosition === "left" ? 1 : -1; - } else { - return; - } - - if (update.type === "UpdateExpression") { - if (getUpdateDirection(update, counter) === wrongDirection) { - report(node); - } - } else if (update.type === "AssignmentExpression" && getAssignmentDirection(update, counter) === wrongDirection) { - report(node); - } - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-call-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-call-spacing.js deleted file mode 100644 index 33f73727..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-call-spacing.js +++ /dev/null @@ -1,233 +0,0 @@ -/** - * @fileoverview Rule to control spacing within function calls - * @author Matt DuVall - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow spacing between function identifiers and their invocations", - recommended: false, - url: "https://eslint.org/docs/latest/rules/func-call-spacing" - }, - - fixable: "whitespace", - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["never"] - } - ], - minItems: 0, - maxItems: 1 - }, - { - type: "array", - items: [ - { - enum: ["always"] - }, - { - type: "object", - properties: { - allowNewlines: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - - messages: { - unexpectedWhitespace: "Unexpected whitespace between function name and paren.", - unexpectedNewline: "Unexpected newline between function name and paren.", - missing: "Missing space between function name and paren." - } - }, - - create(context) { - - const never = context.options[0] !== "always"; - const allowNewlines = !never && context.options[1] && context.options[1].allowNewlines; - const sourceCode = context.sourceCode; - const text = sourceCode.getText(); - - /** - * Check if open space is present in a function name - * @param {ASTNode} node node to evaluate - * @param {Token} leftToken The last token of the callee. This may be the closing parenthesis that encloses the callee. - * @param {Token} rightToken Tha first token of the arguments. this is the opening parenthesis that encloses the arguments. - * @returns {void} - * @private - */ - function checkSpacing(node, leftToken, rightToken) { - const textBetweenTokens = text.slice(leftToken.range[1], rightToken.range[0]).replace(/\/\*.*?\*\//gu, ""); - const hasWhitespace = /\s/u.test(textBetweenTokens); - const hasNewline = hasWhitespace && astUtils.LINEBREAK_MATCHER.test(textBetweenTokens); - - /* - * never allowNewlines hasWhitespace hasNewline message - * F F F F Missing space between function name and paren. - * F F F T (Invalid `!hasWhitespace && hasNewline`) - * F F T T Unexpected newline between function name and paren. - * F F T F (OK) - * F T T F (OK) - * F T T T (OK) - * F T F T (Invalid `!hasWhitespace && hasNewline`) - * F T F F Missing space between function name and paren. - * T T F F (Invalid `never && allowNewlines`) - * T T F T (Invalid `!hasWhitespace && hasNewline`) - * T T T T (Invalid `never && allowNewlines`) - * T T T F (Invalid `never && allowNewlines`) - * T F T F Unexpected space between function name and paren. - * T F T T Unexpected space between function name and paren. - * T F F T (Invalid `!hasWhitespace && hasNewline`) - * T F F F (OK) - * - * T T Unexpected space between function name and paren. - * F F Missing space between function name and paren. - * F F T Unexpected newline between function name and paren. - */ - - if (never && hasWhitespace) { - context.report({ - node, - loc: { - start: leftToken.loc.end, - end: { - line: rightToken.loc.start.line, - column: rightToken.loc.start.column - 1 - } - }, - messageId: "unexpectedWhitespace", - fix(fixer) { - - // Don't remove comments. - if (sourceCode.commentsExistBetween(leftToken, rightToken)) { - return null; - } - - // If `?.` exists, it doesn't hide no-unexpected-multiline errors - if (node.optional) { - return fixer.replaceTextRange([leftToken.range[1], rightToken.range[0]], "?."); - } - - /* - * Only autofix if there is no newline - * https://github.com/eslint/eslint/issues/7787 - */ - if (hasNewline) { - return null; - } - return fixer.removeRange([leftToken.range[1], rightToken.range[0]]); - } - }); - } else if (!never && !hasWhitespace) { - context.report({ - node, - loc: { - start: { - line: leftToken.loc.end.line, - column: leftToken.loc.end.column - 1 - }, - end: rightToken.loc.start - }, - messageId: "missing", - fix(fixer) { - if (node.optional) { - return null; // Not sure if inserting a space to either before/after `?.` token. - } - return fixer.insertTextBefore(rightToken, " "); - } - }); - } else if (!never && !allowNewlines && hasNewline) { - context.report({ - node, - loc: { - start: leftToken.loc.end, - end: rightToken.loc.start - }, - messageId: "unexpectedNewline", - fix(fixer) { - - /* - * Only autofix if there is no newline - * https://github.com/eslint/eslint/issues/7787 - * But if `?.` exists, it doesn't hide no-unexpected-multiline errors - */ - if (!node.optional) { - return null; - } - - // Don't remove comments. - if (sourceCode.commentsExistBetween(leftToken, rightToken)) { - return null; - } - - const range = [leftToken.range[1], rightToken.range[0]]; - const qdToken = sourceCode.getTokenAfter(leftToken); - - if (qdToken.range[0] === leftToken.range[1]) { - return fixer.replaceTextRange(range, "?. "); - } - if (qdToken.range[1] === rightToken.range[0]) { - return fixer.replaceTextRange(range, " ?."); - } - return fixer.replaceTextRange(range, " ?. "); - } - }); - } - } - - return { - "CallExpression, NewExpression"(node) { - const lastToken = sourceCode.getLastToken(node); - const lastCalleeToken = sourceCode.getLastToken(node.callee); - const parenToken = sourceCode.getFirstTokenBetween(lastCalleeToken, lastToken, astUtils.isOpeningParenToken); - const prevToken = parenToken && sourceCode.getTokenBefore(parenToken, astUtils.isNotQuestionDotToken); - - // Parens in NewExpression are optional - if (!(parenToken && parenToken.range[1] < node.range[1])) { - return; - } - - checkSpacing(node, prevToken, parenToken); - }, - - ImportExpression(node) { - const leftToken = sourceCode.getFirstToken(node); - const rightToken = sourceCode.getTokenAfter(leftToken); - - checkSpacing(node, leftToken, rightToken); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-name-matching.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-name-matching.js deleted file mode 100644 index b9555d6b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-name-matching.js +++ /dev/null @@ -1,253 +0,0 @@ -/** - * @fileoverview Rule to require function names to match the name of the variable or property to which they are assigned. - * @author Annie Zhang, Pavel Strashkin - */ - -"use strict"; - -//-------------------------------------------------------------------------- -// Requirements -//-------------------------------------------------------------------------- - -const astUtils = require("./utils/ast-utils"); -const esutils = require("esutils"); - -//-------------------------------------------------------------------------- -// Helpers -//-------------------------------------------------------------------------- - -/** - * Determines if a pattern is `module.exports` or `module["exports"]` - * @param {ASTNode} pattern The left side of the AssignmentExpression - * @returns {boolean} True if the pattern is `module.exports` or `module["exports"]` - */ -function isModuleExports(pattern) { - if (pattern.type === "MemberExpression" && pattern.object.type === "Identifier" && pattern.object.name === "module") { - - // module.exports - if (pattern.property.type === "Identifier" && pattern.property.name === "exports") { - return true; - } - - // module["exports"] - if (pattern.property.type === "Literal" && pattern.property.value === "exports") { - return true; - } - } - return false; -} - -/** - * Determines if a string name is a valid identifier - * @param {string} name The string to be checked - * @param {int} ecmaVersion The ECMAScript version if specified in the parserOptions config - * @returns {boolean} True if the string is a valid identifier - */ -function isIdentifier(name, ecmaVersion) { - if (ecmaVersion >= 2015) { - return esutils.keyword.isIdentifierES6(name); - } - return esutils.keyword.isIdentifierES5(name); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const alwaysOrNever = { enum: ["always", "never"] }; -const optionsObject = { - type: "object", - properties: { - considerPropertyDescriptor: { - type: "boolean" - }, - includeCommonJSModuleExports: { - type: "boolean" - } - }, - additionalProperties: false -}; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require function names to match the name of the variable or property to which they are assigned", - recommended: false, - url: "https://eslint.org/docs/latest/rules/func-name-matching" - }, - - schema: { - anyOf: [{ - type: "array", - additionalItems: false, - items: [alwaysOrNever, optionsObject] - }, { - type: "array", - additionalItems: false, - items: [optionsObject] - }] - }, - - messages: { - matchProperty: "Function name `{{funcName}}` should match property name `{{name}}`.", - matchVariable: "Function name `{{funcName}}` should match variable name `{{name}}`.", - notMatchProperty: "Function name `{{funcName}}` should not match property name `{{name}}`.", - notMatchVariable: "Function name `{{funcName}}` should not match variable name `{{name}}`." - } - }, - - create(context) { - const options = (typeof context.options[0] === "object" ? context.options[0] : context.options[1]) || {}; - const nameMatches = typeof context.options[0] === "string" ? context.options[0] : "always"; - const considerPropertyDescriptor = options.considerPropertyDescriptor; - const includeModuleExports = options.includeCommonJSModuleExports; - const ecmaVersion = context.languageOptions.ecmaVersion; - - /** - * Check whether node is a certain CallExpression. - * @param {string} objName object name - * @param {string} funcName function name - * @param {ASTNode} node The node to check - * @returns {boolean} `true` if node matches CallExpression - */ - function isPropertyCall(objName, funcName, node) { - if (!node) { - return false; - } - return node.type === "CallExpression" && astUtils.isSpecificMemberAccess(node.callee, objName, funcName); - } - - /** - * Compares identifiers based on the nameMatches option - * @param {string} x the first identifier - * @param {string} y the second identifier - * @returns {boolean} whether the two identifiers should warn. - */ - function shouldWarn(x, y) { - return (nameMatches === "always" && x !== y) || (nameMatches === "never" && x === y); - } - - /** - * Reports - * @param {ASTNode} node The node to report - * @param {string} name The variable or property name - * @param {string} funcName The function name - * @param {boolean} isProp True if the reported node is a property assignment - * @returns {void} - */ - function report(node, name, funcName, isProp) { - let messageId; - - if (nameMatches === "always" && isProp) { - messageId = "matchProperty"; - } else if (nameMatches === "always") { - messageId = "matchVariable"; - } else if (isProp) { - messageId = "notMatchProperty"; - } else { - messageId = "notMatchVariable"; - } - context.report({ - node, - messageId, - data: { - name, - funcName - } - }); - } - - /** - * Determines whether a given node is a string literal - * @param {ASTNode} node The node to check - * @returns {boolean} `true` if the node is a string literal - */ - function isStringLiteral(node) { - return node.type === "Literal" && typeof node.value === "string"; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - VariableDeclarator(node) { - if (!node.init || node.init.type !== "FunctionExpression" || node.id.type !== "Identifier") { - return; - } - if (node.init.id && shouldWarn(node.id.name, node.init.id.name)) { - report(node, node.id.name, node.init.id.name, false); - } - }, - - AssignmentExpression(node) { - if ( - node.right.type !== "FunctionExpression" || - (node.left.computed && node.left.property.type !== "Literal") || - (!includeModuleExports && isModuleExports(node.left)) || - (node.left.type !== "Identifier" && node.left.type !== "MemberExpression") - ) { - return; - } - - const isProp = node.left.type === "MemberExpression"; - const name = isProp ? astUtils.getStaticPropertyName(node.left) : node.left.name; - - if (node.right.id && name && isIdentifier(name) && shouldWarn(name, node.right.id.name)) { - report(node, name, node.right.id.name, isProp); - } - }, - - "Property, PropertyDefinition[value]"(node) { - if (!(node.value.type === "FunctionExpression" && node.value.id)) { - return; - } - - if (node.key.type === "Identifier" && !node.computed) { - const functionName = node.value.id.name; - let propertyName = node.key.name; - - if ( - considerPropertyDescriptor && - propertyName === "value" && - node.parent.type === "ObjectExpression" - ) { - if (isPropertyCall("Object", "defineProperty", node.parent.parent) || isPropertyCall("Reflect", "defineProperty", node.parent.parent)) { - const property = node.parent.parent.arguments[1]; - - if (isStringLiteral(property) && shouldWarn(property.value, functionName)) { - report(node, property.value, functionName, true); - } - } else if (isPropertyCall("Object", "defineProperties", node.parent.parent.parent.parent)) { - propertyName = node.parent.parent.key.name; - if (!node.parent.parent.computed && shouldWarn(propertyName, functionName)) { - report(node, propertyName, functionName, true); - } - } else if (isPropertyCall("Object", "create", node.parent.parent.parent.parent)) { - propertyName = node.parent.parent.key.name; - if (!node.parent.parent.computed && shouldWarn(propertyName, functionName)) { - report(node, propertyName, functionName, true); - } - } else if (shouldWarn(propertyName, functionName)) { - report(node, propertyName, functionName, true); - } - } else if (shouldWarn(propertyName, functionName)) { - report(node, propertyName, functionName, true); - } - return; - } - - if ( - isStringLiteral(node.key) && - isIdentifier(node.key.value, ecmaVersion) && - shouldWarn(node.key.value, node.value.id.name) - ) { - report(node, node.key.value, node.value.id.name, true); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-names.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-names.js deleted file mode 100644 index 6990f0c7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-names.js +++ /dev/null @@ -1,191 +0,0 @@ -/** - * @fileoverview Rule to warn when a function expression does not have a name. - * @author Kyle T. Nunery - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -/** - * Checks whether or not a given variable is a function name. - * @param {eslint-scope.Variable} variable A variable to check. - * @returns {boolean} `true` if the variable is a function name. - */ -function isFunctionName(variable) { - return variable && variable.defs[0].type === "FunctionName"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["always", {}], - - docs: { - description: "Require or disallow named `function` expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/func-names" - }, - - schema: { - definitions: { - value: { - enum: [ - "always", - "as-needed", - "never" - ] - } - }, - items: [ - { - $ref: "#/definitions/value" - }, - { - type: "object", - properties: { - generators: { - $ref: "#/definitions/value" - } - }, - additionalProperties: false - } - ] - }, - - messages: { - unnamed: "Unexpected unnamed {{name}}.", - named: "Unexpected named {{name}}." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Returns the config option for the given node. - * @param {ASTNode} node A node to get the config for. - * @returns {string} The config option. - */ - function getConfigForNode(node) { - if ( - node.generator && - context.options[1].generators - ) { - return context.options[1].generators; - } - - return context.options[0]; - } - - /** - * Determines whether the current FunctionExpression node is a get, set, or - * shorthand method in an object literal or a class. - * @param {ASTNode} node A node to check. - * @returns {boolean} True if the node is a get, set, or shorthand method. - */ - function isObjectOrClassMethod(node) { - const parent = node.parent; - - return (parent.type === "MethodDefinition" || ( - parent.type === "Property" && ( - parent.method || - parent.kind === "get" || - parent.kind === "set" - ) - )); - } - - /** - * Determines whether the current FunctionExpression node has a name that would be - * inferred from context in a conforming ES6 environment. - * @param {ASTNode} node A node to check. - * @returns {boolean} True if the node would have a name assigned automatically. - */ - function hasInferredName(node) { - const parent = node.parent; - - return isObjectOrClassMethod(node) || - (parent.type === "VariableDeclarator" && parent.id.type === "Identifier" && parent.init === node) || - (parent.type === "Property" && parent.value === node) || - (parent.type === "PropertyDefinition" && parent.value === node) || - (parent.type === "AssignmentExpression" && parent.left.type === "Identifier" && parent.right === node) || - (parent.type === "AssignmentPattern" && parent.left.type === "Identifier" && parent.right === node); - } - - /** - * Reports that an unnamed function should be named - * @param {ASTNode} node The node to report in the event of an error. - * @returns {void} - */ - function reportUnexpectedUnnamedFunction(node) { - context.report({ - node, - messageId: "unnamed", - loc: astUtils.getFunctionHeadLoc(node, sourceCode), - data: { name: astUtils.getFunctionNameWithKind(node) } - }); - } - - /** - * Reports that a named function should be unnamed - * @param {ASTNode} node The node to report in the event of an error. - * @returns {void} - */ - function reportUnexpectedNamedFunction(node) { - context.report({ - node, - messageId: "named", - loc: astUtils.getFunctionHeadLoc(node, sourceCode), - data: { name: astUtils.getFunctionNameWithKind(node) } - }); - } - - /** - * The listener for function nodes. - * @param {ASTNode} node function node - * @returns {void} - */ - function handleFunction(node) { - - // Skip recursive functions. - const nameVar = sourceCode.getDeclaredVariables(node)[0]; - - if (isFunctionName(nameVar) && nameVar.references.length > 0) { - return; - } - - const hasName = Boolean(node.id && node.id.name); - const config = getConfigForNode(node); - - if (config === "never") { - if (hasName && node.type !== "FunctionDeclaration") { - reportUnexpectedNamedFunction(node); - } - } else if (config === "as-needed") { - if (!hasName && !hasInferredName(node)) { - reportUnexpectedUnnamedFunction(node); - } - } else { - if (!hasName && !isObjectOrClassMethod(node)) { - reportUnexpectedUnnamedFunction(node); - } - } - } - - return { - "FunctionExpression:exit": handleFunction, - "ExportDefaultDeclaration > FunctionDeclaration": handleFunction - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-style.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-style.js deleted file mode 100644 index b6682d60..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/func-style.js +++ /dev/null @@ -1,138 +0,0 @@ -/** - * @fileoverview Rule to enforce a particular function style - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["expression", { - allowArrowFunctions: false, - overrides: {} - }], - - docs: { - description: "Enforce the consistent use of either `function` declarations or expressions assigned to variables", - recommended: false, - url: "https://eslint.org/docs/latest/rules/func-style" - }, - - schema: [ - { - enum: ["declaration", "expression"] - }, - { - type: "object", - properties: { - allowArrowFunctions: { - type: "boolean" - }, - overrides: { - type: "object", - properties: { - namedExports: { - enum: ["declaration", "expression", "ignore"] - } - }, - additionalProperties: false - } - }, - additionalProperties: false - } - ], - - messages: { - expression: "Expected a function expression.", - declaration: "Expected a function declaration." - } - }, - - create(context) { - const [style, { allowArrowFunctions, overrides }] = context.options; - const enforceDeclarations = (style === "declaration"); - const { namedExports: exportFunctionStyle } = overrides; - const stack = []; - - const nodesToCheck = { - FunctionDeclaration(node) { - stack.push(false); - - if ( - !enforceDeclarations && - node.parent.type !== "ExportDefaultDeclaration" && - (typeof exportFunctionStyle === "undefined" || node.parent.type !== "ExportNamedDeclaration") - ) { - context.report({ node, messageId: "expression" }); - } - - if (node.parent.type === "ExportNamedDeclaration" && exportFunctionStyle === "expression") { - context.report({ node, messageId: "expression" }); - } - }, - "FunctionDeclaration:exit"() { - stack.pop(); - }, - - FunctionExpression(node) { - stack.push(false); - - if ( - enforceDeclarations && - node.parent.type === "VariableDeclarator" && - (typeof exportFunctionStyle === "undefined" || node.parent.parent.parent.type !== "ExportNamedDeclaration") - ) { - context.report({ node: node.parent, messageId: "declaration" }); - } - - if ( - node.parent.type === "VariableDeclarator" && node.parent.parent.parent.type === "ExportNamedDeclaration" && - exportFunctionStyle === "declaration" - ) { - context.report({ node: node.parent, messageId: "declaration" }); - } - }, - "FunctionExpression:exit"() { - stack.pop(); - }, - - "ThisExpression, Super"() { - if (stack.length > 0) { - stack[stack.length - 1] = true; - } - } - }; - - if (!allowArrowFunctions) { - nodesToCheck.ArrowFunctionExpression = function() { - stack.push(false); - }; - - nodesToCheck["ArrowFunctionExpression:exit"] = function(node) { - const hasThisOrSuperExpr = stack.pop(); - - if (!hasThisOrSuperExpr && node.parent.type === "VariableDeclarator") { - if ( - enforceDeclarations && - (typeof exportFunctionStyle === "undefined" || node.parent.parent.parent.type !== "ExportNamedDeclaration") - ) { - context.report({ node: node.parent, messageId: "declaration" }); - } - - if (node.parent.parent.parent.type === "ExportNamedDeclaration" && exportFunctionStyle === "declaration") { - context.report({ node: node.parent, messageId: "declaration" }); - } - } - }; - } - - return nodesToCheck; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-call-argument-newline.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-call-argument-newline.js deleted file mode 100644 index 458399d6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-call-argument-newline.js +++ /dev/null @@ -1,125 +0,0 @@ -/** - * @fileoverview Rule to enforce line breaks between arguments of a function call - * @author Alexey Gonchar - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce line breaks between arguments of a function call", - recommended: false, - url: "https://eslint.org/docs/latest/rules/function-call-argument-newline" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never", "consistent"] - } - ], - - messages: { - unexpectedLineBreak: "There should be no line break here.", - missingLineBreak: "There should be a line break after this argument." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - const checkers = { - unexpected: { - messageId: "unexpectedLineBreak", - check: (prevToken, currentToken) => prevToken.loc.end.line !== currentToken.loc.start.line, - createFix: (token, tokenBefore) => fixer => - fixer.replaceTextRange([tokenBefore.range[1], token.range[0]], " ") - }, - missing: { - messageId: "missingLineBreak", - check: (prevToken, currentToken) => prevToken.loc.end.line === currentToken.loc.start.line, - createFix: (token, tokenBefore) => fixer => - fixer.replaceTextRange([tokenBefore.range[1], token.range[0]], "\n") - } - }; - - /** - * Check all arguments for line breaks in the CallExpression - * @param {CallExpression} node node to evaluate - * @param {{ messageId: string, check: Function }} checker selected checker - * @returns {void} - * @private - */ - function checkArguments(node, checker) { - for (let i = 1; i < node.arguments.length; i++) { - const prevArgToken = sourceCode.getLastToken(node.arguments[i - 1]); - const currentArgToken = sourceCode.getFirstToken(node.arguments[i]); - - if (checker.check(prevArgToken, currentArgToken)) { - const tokenBefore = sourceCode.getTokenBefore( - currentArgToken, - { includeComments: true } - ); - - const hasLineCommentBefore = tokenBefore.type === "Line"; - - context.report({ - node, - loc: { - start: tokenBefore.loc.end, - end: currentArgToken.loc.start - }, - messageId: checker.messageId, - fix: hasLineCommentBefore ? null : checker.createFix(currentArgToken, tokenBefore) - }); - } - } - } - - /** - * Check if open space is present in a function name - * @param {CallExpression} node node to evaluate - * @returns {void} - * @private - */ - function check(node) { - if (node.arguments.length < 2) { - return; - } - - const option = context.options[0] || "always"; - - if (option === "never") { - checkArguments(node, checkers.unexpected); - } else if (option === "always") { - checkArguments(node, checkers.missing); - } else if (option === "consistent") { - const firstArgToken = sourceCode.getLastToken(node.arguments[0]); - const secondArgToken = sourceCode.getFirstToken(node.arguments[1]); - - if (firstArgToken.loc.end.line === secondArgToken.loc.start.line) { - checkArguments(node, checkers.unexpected); - } else { - checkArguments(node, checkers.missing); - } - } - } - - return { - CallExpression: check, - NewExpression: check - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-paren-newline.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-paren-newline.js deleted file mode 100644 index 86268e52..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/function-paren-newline.js +++ /dev/null @@ -1,292 +0,0 @@ -/** - * @fileoverview enforce consistent line breaks inside function parentheses - * @author Teddy Katz - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent line breaks inside function parentheses", - recommended: false, - url: "https://eslint.org/docs/latest/rules/function-paren-newline" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["always", "never", "consistent", "multiline", "multiline-arguments"] - }, - { - type: "object", - properties: { - minItems: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - expectedBefore: "Expected newline before ')'.", - expectedAfter: "Expected newline after '('.", - expectedBetween: "Expected newline between arguments/params.", - unexpectedBefore: "Unexpected newline before ')'.", - unexpectedAfter: "Unexpected newline after '('." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const rawOption = context.options[0] || "multiline"; - const multilineOption = rawOption === "multiline"; - const multilineArgumentsOption = rawOption === "multiline-arguments"; - const consistentOption = rawOption === "consistent"; - let minItems; - - if (typeof rawOption === "object") { - minItems = rawOption.minItems; - } else if (rawOption === "always") { - minItems = 0; - } else if (rawOption === "never") { - minItems = Infinity; - } else { - minItems = null; - } - - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - - /** - * Determines whether there should be newlines inside function parens - * @param {ASTNode[]} elements The arguments or parameters in the list - * @param {boolean} hasLeftNewline `true` if the left paren has a newline in the current code. - * @returns {boolean} `true` if there should be newlines inside the function parens - */ - function shouldHaveNewlines(elements, hasLeftNewline) { - if (multilineArgumentsOption && elements.length === 1) { - return hasLeftNewline; - } - if (multilineOption || multilineArgumentsOption) { - return elements.some((element, index) => index !== elements.length - 1 && element.loc.end.line !== elements[index + 1].loc.start.line); - } - if (consistentOption) { - return hasLeftNewline; - } - return elements.length >= minItems; - } - - /** - * Validates parens - * @param {Object} parens An object with keys `leftParen` for the left paren token, and `rightParen` for the right paren token - * @param {ASTNode[]} elements The arguments or parameters in the list - * @returns {void} - */ - function validateParens(parens, elements) { - const leftParen = parens.leftParen; - const rightParen = parens.rightParen; - const tokenAfterLeftParen = sourceCode.getTokenAfter(leftParen); - const tokenBeforeRightParen = sourceCode.getTokenBefore(rightParen); - const hasLeftNewline = !astUtils.isTokenOnSameLine(leftParen, tokenAfterLeftParen); - const hasRightNewline = !astUtils.isTokenOnSameLine(tokenBeforeRightParen, rightParen); - const needsNewlines = shouldHaveNewlines(elements, hasLeftNewline); - - if (hasLeftNewline && !needsNewlines) { - context.report({ - node: leftParen, - messageId: "unexpectedAfter", - fix(fixer) { - return sourceCode.getText().slice(leftParen.range[1], tokenAfterLeftParen.range[0]).trim() - - // If there is a comment between the ( and the first element, don't do a fix. - ? null - : fixer.removeRange([leftParen.range[1], tokenAfterLeftParen.range[0]]); - } - }); - } else if (!hasLeftNewline && needsNewlines) { - context.report({ - node: leftParen, - messageId: "expectedAfter", - fix: fixer => fixer.insertTextAfter(leftParen, "\n") - }); - } - - if (hasRightNewline && !needsNewlines) { - context.report({ - node: rightParen, - messageId: "unexpectedBefore", - fix(fixer) { - return sourceCode.getText().slice(tokenBeforeRightParen.range[1], rightParen.range[0]).trim() - - // If there is a comment between the last element and the ), don't do a fix. - ? null - : fixer.removeRange([tokenBeforeRightParen.range[1], rightParen.range[0]]); - } - }); - } else if (!hasRightNewline && needsNewlines) { - context.report({ - node: rightParen, - messageId: "expectedBefore", - fix: fixer => fixer.insertTextBefore(rightParen, "\n") - }); - } - } - - /** - * Validates a list of arguments or parameters - * @param {Object} parens An object with keys `leftParen` for the left paren token, and `rightParen` for the right paren token - * @param {ASTNode[]} elements The arguments or parameters in the list - * @returns {void} - */ - function validateArguments(parens, elements) { - const leftParen = parens.leftParen; - const tokenAfterLeftParen = sourceCode.getTokenAfter(leftParen); - const hasLeftNewline = !astUtils.isTokenOnSameLine(leftParen, tokenAfterLeftParen); - const needsNewlines = shouldHaveNewlines(elements, hasLeftNewline); - - for (let i = 0; i <= elements.length - 2; i++) { - const currentElement = elements[i]; - const nextElement = elements[i + 1]; - const hasNewLine = currentElement.loc.end.line !== nextElement.loc.start.line; - - if (!hasNewLine && needsNewlines) { - context.report({ - node: currentElement, - messageId: "expectedBetween", - fix: fixer => fixer.insertTextBefore(nextElement, "\n") - }); - } - } - } - - /** - * Gets the left paren and right paren tokens of a node. - * @param {ASTNode} node The node with parens - * @throws {TypeError} Unexpected node type. - * @returns {Object} An object with keys `leftParen` for the left paren token, and `rightParen` for the right paren token. - * Can also return `null` if an expression has no parens (e.g. a NewExpression with no arguments, or an ArrowFunctionExpression - * with a single parameter) - */ - function getParenTokens(node) { - switch (node.type) { - case "NewExpression": - if (!node.arguments.length && - !( - astUtils.isOpeningParenToken(sourceCode.getLastToken(node, { skip: 1 })) && - astUtils.isClosingParenToken(sourceCode.getLastToken(node)) && - node.callee.range[1] < node.range[1] - ) - ) { - - // If the NewExpression does not have parens (e.g. `new Foo`), return null. - return null; - } - - // falls through - - case "CallExpression": - return { - leftParen: sourceCode.getTokenAfter(node.callee, astUtils.isOpeningParenToken), - rightParen: sourceCode.getLastToken(node) - }; - - case "FunctionDeclaration": - case "FunctionExpression": { - const leftParen = sourceCode.getFirstToken(node, astUtils.isOpeningParenToken); - const rightParen = node.params.length - ? sourceCode.getTokenAfter(node.params.at(-1), astUtils.isClosingParenToken) - : sourceCode.getTokenAfter(leftParen); - - return { leftParen, rightParen }; - } - - case "ArrowFunctionExpression": { - const firstToken = sourceCode.getFirstToken(node, { skip: (node.async ? 1 : 0) }); - - if (!astUtils.isOpeningParenToken(firstToken)) { - - // If the ArrowFunctionExpression has a single param without parens, return null. - return null; - } - - const rightParen = node.params.length - ? sourceCode.getTokenAfter(node.params.at(-1), astUtils.isClosingParenToken) - : sourceCode.getTokenAfter(firstToken); - - return { - leftParen: firstToken, - rightParen - }; - } - - case "ImportExpression": { - const leftParen = sourceCode.getFirstToken(node, 1); - const rightParen = sourceCode.getLastToken(node); - - return { leftParen, rightParen }; - } - - default: - throw new TypeError(`unexpected node with type ${node.type}`); - } - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - [[ - "ArrowFunctionExpression", - "CallExpression", - "FunctionDeclaration", - "FunctionExpression", - "ImportExpression", - "NewExpression" - ]](node) { - const parens = getParenTokens(node); - let params; - - if (node.type === "ImportExpression") { - params = [node.source]; - } else if (astUtils.isFunction(node)) { - params = node.params; - } else { - params = node.arguments; - } - - if (parens) { - validateParens(parens, params); - - if (multilineArgumentsOption) { - validateArguments(parens, params); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/generator-star-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/generator-star-spacing.js deleted file mode 100644 index c633f979..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/generator-star-spacing.js +++ /dev/null @@ -1,209 +0,0 @@ -/** - * @fileoverview Rule to check the spacing around the * in generator functions. - * @author Jamund Ferguson - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const OVERRIDE_SCHEMA = { - oneOf: [ - { - enum: ["before", "after", "both", "neither"] - }, - { - type: "object", - properties: { - before: { type: "boolean" }, - after: { type: "boolean" } - }, - additionalProperties: false - } - ] -}; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing around `*` operators in generator functions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/generator-star-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["before", "after", "both", "neither"] - }, - { - type: "object", - properties: { - before: { type: "boolean" }, - after: { type: "boolean" }, - named: OVERRIDE_SCHEMA, - anonymous: OVERRIDE_SCHEMA, - method: OVERRIDE_SCHEMA - }, - additionalProperties: false - } - ] - } - ], - - messages: { - missingBefore: "Missing space before *.", - missingAfter: "Missing space after *.", - unexpectedBefore: "Unexpected space before *.", - unexpectedAfter: "Unexpected space after *." - } - }, - - create(context) { - - const optionDefinitions = { - before: { before: true, after: false }, - after: { before: false, after: true }, - both: { before: true, after: true }, - neither: { before: false, after: false } - }; - - /** - * Returns resolved option definitions based on an option and defaults - * @param {any} option The option object or string value - * @param {Object} defaults The defaults to use if options are not present - * @returns {Object} the resolved object definition - */ - function optionToDefinition(option, defaults) { - if (!option) { - return defaults; - } - - return typeof option === "string" - ? optionDefinitions[option] - : Object.assign({}, defaults, option); - } - - const modes = (function(option) { - const defaults = optionToDefinition(option, optionDefinitions.before); - - return { - named: optionToDefinition(option.named, defaults), - anonymous: optionToDefinition(option.anonymous, defaults), - method: optionToDefinition(option.method, defaults) - }; - }(context.options[0] || {})); - - const sourceCode = context.sourceCode; - - /** - * Checks if the given token is a star token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a star token. - */ - function isStarToken(token) { - return token.value === "*" && token.type === "Punctuator"; - } - - /** - * Gets the generator star token of the given function node. - * @param {ASTNode} node The function node to get. - * @returns {Token} Found star token. - */ - function getStarToken(node) { - return sourceCode.getFirstToken( - (node.parent.method || node.parent.type === "MethodDefinition") ? node.parent : node, - isStarToken - ); - } - - /** - * capitalize a given string. - * @param {string} str the given string. - * @returns {string} the capitalized string. - */ - function capitalize(str) { - return str[0].toUpperCase() + str.slice(1); - } - - /** - * Checks the spacing between two tokens before or after the star token. - * @param {string} kind Either "named", "anonymous", or "method" - * @param {string} side Either "before" or "after". - * @param {Token} leftToken `function` keyword token if side is "before", or - * star token if side is "after". - * @param {Token} rightToken Star token if side is "before", or identifier - * token if side is "after". - * @returns {void} - */ - function checkSpacing(kind, side, leftToken, rightToken) { - if (!!(rightToken.range[0] - leftToken.range[1]) !== modes[kind][side]) { - const after = leftToken.value === "*"; - const spaceRequired = modes[kind][side]; - const node = after ? leftToken : rightToken; - const messageId = `${spaceRequired ? "missing" : "unexpected"}${capitalize(side)}`; - - context.report({ - node, - messageId, - fix(fixer) { - if (spaceRequired) { - if (after) { - return fixer.insertTextAfter(node, " "); - } - return fixer.insertTextBefore(node, " "); - } - return fixer.removeRange([leftToken.range[1], rightToken.range[0]]); - } - }); - } - } - - /** - * Enforces the spacing around the star if node is a generator function. - * @param {ASTNode} node A function expression or declaration node. - * @returns {void} - */ - function checkFunction(node) { - if (!node.generator) { - return; - } - - const starToken = getStarToken(node); - const prevToken = sourceCode.getTokenBefore(starToken); - const nextToken = sourceCode.getTokenAfter(starToken); - - let kind = "named"; - - if (node.parent.type === "MethodDefinition" || (node.parent.type === "Property" && node.parent.method)) { - kind = "method"; - } else if (!node.id) { - kind = "anonymous"; - } - - // Only check before when preceded by `function`|`static` keyword - if (!(kind === "method" && starToken === sourceCode.getFirstToken(node.parent))) { - checkSpacing(kind, "before", prevToken, starToken); - } - - checkSpacing(kind, "after", starToken, nextToken); - } - - return { - FunctionDeclaration: checkFunction, - FunctionExpression: checkFunction - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/getter-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/getter-return.js deleted file mode 100644 index f012876b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/getter-return.js +++ /dev/null @@ -1,206 +0,0 @@ -/** - * @fileoverview Enforces that a return statement is present in property getters. - * @author Aladdin-ADD(hh_2013@foxmail.com) - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const TARGET_NODE_TYPE = /^(?:Arrow)?FunctionExpression$/u; - -/** - * Checks all segments in a set and returns true if any are reachable. - * @param {Set} segments The segments to check. - * @returns {boolean} True if any segment is reachable; false otherwise. - */ -function isAnySegmentReachable(segments) { - - for (const segment of segments) { - if (segment.reachable) { - return true; - } - } - - return false; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - allowImplicit: false - }], - - docs: { - description: "Enforce `return` statements in getters", - recommended: true, - url: "https://eslint.org/docs/latest/rules/getter-return" - }, - - fixable: null, - - schema: [ - { - type: "object", - properties: { - allowImplicit: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - expected: "Expected to return a value in {{name}}.", - expectedAlways: "Expected {{name}} to always return a value." - } - }, - - create(context) { - const [{ allowImplicit }] = context.options; - const sourceCode = context.sourceCode; - - let funcInfo = { - upper: null, - codePath: null, - hasReturn: false, - shouldCheck: false, - node: null, - currentSegments: [] - }; - - /** - * Checks whether or not the last code path segment is reachable. - * Then reports this function if the segment is reachable. - * - * If the last code path segment is reachable, there are paths which are not - * returned or thrown. - * @param {ASTNode} node A node to check. - * @returns {void} - */ - function checkLastSegment(node) { - if (funcInfo.shouldCheck && - isAnySegmentReachable(funcInfo.currentSegments) - ) { - context.report({ - node, - loc: astUtils.getFunctionHeadLoc(node, sourceCode), - messageId: funcInfo.hasReturn ? "expectedAlways" : "expected", - data: { - name: astUtils.getFunctionNameWithKind(funcInfo.node) - } - }); - } - } - - /** - * Checks whether a node means a getter function. - * @param {ASTNode} node a node to check. - * @returns {boolean} if node means a getter, return true; else return false. - */ - function isGetter(node) { - const parent = node.parent; - - if (TARGET_NODE_TYPE.test(node.type) && node.body.type === "BlockStatement") { - if (parent.kind === "get") { - return true; - } - if (parent.type === "Property" && astUtils.getStaticPropertyName(parent) === "get" && parent.parent.type === "ObjectExpression") { - - // Object.defineProperty() or Reflect.defineProperty() - if (parent.parent.parent.type === "CallExpression") { - const callNode = parent.parent.parent.callee; - - if (astUtils.isSpecificMemberAccess(callNode, "Object", "defineProperty") || - astUtils.isSpecificMemberAccess(callNode, "Reflect", "defineProperty")) { - return true; - } - } - - // Object.defineProperties() or Object.create() - if (parent.parent.parent.type === "Property" && - parent.parent.parent.parent.type === "ObjectExpression" && - parent.parent.parent.parent.parent.type === "CallExpression") { - const callNode = parent.parent.parent.parent.parent.callee; - - return astUtils.isSpecificMemberAccess(callNode, "Object", "defineProperties") || - astUtils.isSpecificMemberAccess(callNode, "Object", "create"); - } - } - } - return false; - } - return { - - // Stacks this function's information. - onCodePathStart(codePath, node) { - funcInfo = { - upper: funcInfo, - codePath, - hasReturn: false, - shouldCheck: isGetter(node), - node, - currentSegments: new Set() - }; - }, - - // Pops this function's information. - onCodePathEnd() { - funcInfo = funcInfo.upper; - }, - onUnreachableCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - onCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - // Checks the return statement is valid. - ReturnStatement(node) { - if (funcInfo.shouldCheck) { - funcInfo.hasReturn = true; - - // if allowImplicit: false, should also check node.argument - if (!allowImplicit && !node.argument) { - context.report({ - node, - messageId: "expected", - data: { - name: astUtils.getFunctionNameWithKind(funcInfo.node) - } - }); - } - } - }, - - // Reports a given function if the last path is reachable. - "FunctionExpression:exit": checkLastSegment, - "ArrowFunctionExpression:exit": checkLastSegment - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/global-require.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/global-require.js deleted file mode 100644 index deae9d26..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/global-require.js +++ /dev/null @@ -1,90 +0,0 @@ -/** - * @fileoverview Rule for disallowing require() outside of the top-level module context - * @author Jamund Ferguson - * @deprecated in ESLint v7.0.0 - */ - -"use strict"; - -const ACCEPTABLE_PARENTS = new Set([ - "AssignmentExpression", - "VariableDeclarator", - "MemberExpression", - "ExpressionStatement", - "CallExpression", - "ConditionalExpression", - "Program", - "VariableDeclaration", - "ChainExpression" -]); - -/** - * Finds the eslint-scope reference in the given scope. - * @param {Object} scope The scope to search. - * @param {ASTNode} node The identifier node. - * @returns {Reference|null} Returns the found reference or null if none were found. - */ -function findReference(scope, node) { - const references = scope.references.filter(reference => reference.identifier.range[0] === node.range[0] && - reference.identifier.range[1] === node.range[1]); - - if (references.length === 1) { - return references[0]; - } - - /* c8 ignore next */ - return null; - -} - -/** - * Checks if the given identifier node is shadowed in the given scope. - * @param {Object} scope The current scope. - * @param {ASTNode} node The identifier node to check. - * @returns {boolean} Whether or not the name is shadowed. - */ -function isShadowed(scope, node) { - const reference = findReference(scope, node); - - return reference && reference.resolved && reference.resolved.defs.length > 0; -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Require `require()` calls to be placed at top-level module scope", - recommended: false, - url: "https://eslint.org/docs/latest/rules/global-require" - }, - - schema: [], - messages: { - unexpected: "Unexpected require()." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - CallExpression(node) { - const currentScope = sourceCode.getScope(node); - - if (node.callee.name === "require" && !isShadowed(currentScope, node.callee)) { - const isGoodRequire = sourceCode.getAncestors(node).every(parent => ACCEPTABLE_PARENTS.has(parent.type)); - - if (!isGoodRequire) { - context.report({ node, messageId: "unexpected" }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/grouped-accessor-pairs.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/grouped-accessor-pairs.js deleted file mode 100644 index cd627b47..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +++ /dev/null @@ -1,217 +0,0 @@ -/** - * @fileoverview Rule to require grouped accessor pairs in object literals and classes - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** - * Property name if it can be computed statically, otherwise the list of the tokens of the key node. - * @typedef {string|Token[]} Key - */ - -/** - * Accessor nodes with the same key. - * @typedef {Object} AccessorData - * @property {Key} key Accessor's key - * @property {ASTNode[]} getters List of getter nodes. - * @property {ASTNode[]} setters List of setter nodes. - */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not the given lists represent the equal tokens in the same order. - * Tokens are compared by their properties, not by instance. - * @param {Token[]} left First list of tokens. - * @param {Token[]} right Second list of tokens. - * @returns {boolean} `true` if the lists have same tokens. - */ -function areEqualTokenLists(left, right) { - if (left.length !== right.length) { - return false; - } - - for (let i = 0; i < left.length; i++) { - const leftToken = left[i], - rightToken = right[i]; - - if (leftToken.type !== rightToken.type || leftToken.value !== rightToken.value) { - return false; - } - } - - return true; -} - -/** - * Checks whether or not the given keys are equal. - * @param {Key} left First key. - * @param {Key} right Second key. - * @returns {boolean} `true` if the keys are equal. - */ -function areEqualKeys(left, right) { - if (typeof left === "string" && typeof right === "string") { - - // Statically computed names. - return left === right; - } - if (Array.isArray(left) && Array.isArray(right)) { - - // Token lists. - return areEqualTokenLists(left, right); - } - - return false; -} - -/** - * Checks whether or not a given node is of an accessor kind ('get' or 'set'). - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is of an accessor kind. - */ -function isAccessorKind(node) { - return node.kind === "get" || node.kind === "set"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["anyOrder"], - - docs: { - description: "Require grouped accessor pairs in object literals and classes", - recommended: false, - url: "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - }, - - schema: [ - { - enum: ["anyOrder", "getBeforeSet", "setBeforeGet"] - } - ], - - messages: { - notGrouped: "Accessor pair {{ formerName }} and {{ latterName }} should be grouped.", - invalidOrder: "Expected {{ latterName }} to be before {{ formerName }}." - } - }, - - create(context) { - const [order] = context.options; - const sourceCode = context.sourceCode; - - /** - * Reports the given accessor pair. - * @param {string} messageId messageId to report. - * @param {ASTNode} formerNode getter/setter node that is defined before `latterNode`. - * @param {ASTNode} latterNode getter/setter node that is defined after `formerNode`. - * @returns {void} - * @private - */ - function report(messageId, formerNode, latterNode) { - context.report({ - node: latterNode, - messageId, - loc: astUtils.getFunctionHeadLoc(latterNode.value, sourceCode), - data: { - formerName: astUtils.getFunctionNameWithKind(formerNode.value), - latterName: astUtils.getFunctionNameWithKind(latterNode.value) - } - }); - } - - /** - * Checks accessor pairs in the given list of nodes. - * @param {ASTNode[]} nodes The list to check. - * @param {Function} shouldCheck – Predicate that returns `true` if the node should be checked. - * @returns {void} - * @private - */ - function checkList(nodes, shouldCheck) { - const accessors = []; - let found = false; - - for (let i = 0; i < nodes.length; i++) { - const node = nodes[i]; - - if (shouldCheck(node) && isAccessorKind(node)) { - - // Creates a new `AccessorData` object for the given getter or setter node. - const name = astUtils.getStaticPropertyName(node); - const key = (name !== null) ? name : sourceCode.getTokens(node.key); - - // Merges the given `AccessorData` object into the given accessors list. - for (let j = 0; j < accessors.length; j++) { - const accessor = accessors[j]; - - if (areEqualKeys(accessor.key, key)) { - accessor.getters.push(...node.kind === "get" ? [node] : []); - accessor.setters.push(...node.kind === "set" ? [node] : []); - found = true; - break; - } - } - if (!found) { - accessors.push({ - key, - getters: node.kind === "get" ? [node] : [], - setters: node.kind === "set" ? [node] : [] - }); - } - found = false; - } - } - - for (const { getters, setters } of accessors) { - - // Don't report accessor properties that have duplicate getters or setters. - if (getters.length === 1 && setters.length === 1) { - const [getter] = getters, - [setter] = setters, - getterIndex = nodes.indexOf(getter), - setterIndex = nodes.indexOf(setter), - formerNode = getterIndex < setterIndex ? getter : setter, - latterNode = getterIndex < setterIndex ? setter : getter; - - if (Math.abs(getterIndex - setterIndex) > 1) { - report("notGrouped", formerNode, latterNode); - } else if ( - (order === "getBeforeSet" && getterIndex > setterIndex) || - (order === "setBeforeGet" && getterIndex < setterIndex) - ) { - report("invalidOrder", formerNode, latterNode); - } - } - } - } - - return { - ObjectExpression(node) { - checkList(node.properties, n => n.type === "Property"); - }, - ClassBody(node) { - checkList(node.body, n => n.type === "MethodDefinition" && !n.static); - checkList(node.body, n => n.type === "MethodDefinition" && n.static); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/guard-for-in.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/guard-for-in.js deleted file mode 100644 index d6e70d0d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/guard-for-in.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @fileoverview Rule to flag for-in loops without if statements inside - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require `for-in` loops to include an `if` statement", - recommended: false, - url: "https://eslint.org/docs/latest/rules/guard-for-in" - }, - - schema: [], - messages: { - wrap: "The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype." - } - }, - - create(context) { - - return { - - ForInStatement(node) { - const body = node.body; - - // empty statement - if (body.type === "EmptyStatement") { - return; - } - - // if statement - if (body.type === "IfStatement") { - return; - } - - // empty block - if (body.type === "BlockStatement" && body.body.length === 0) { - return; - } - - // block with just if statement - if (body.type === "BlockStatement" && body.body.length === 1 && body.body[0].type === "IfStatement") { - return; - } - - // block that starts with if statement - if (body.type === "BlockStatement" && body.body.length >= 1 && body.body[0].type === "IfStatement") { - const i = body.body[0]; - - // ... whose consequent is a continue - if (i.consequent.type === "ContinueStatement") { - return; - } - - // ... whose consequent is a block that contains only a continue - if (i.consequent.type === "BlockStatement" && i.consequent.body.length === 1 && i.consequent.body[0].type === "ContinueStatement") { - return; - } - } - - context.report({ node, messageId: "wrap" }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/handle-callback-err.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/handle-callback-err.js deleted file mode 100644 index ad84931a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/handle-callback-err.js +++ /dev/null @@ -1,101 +0,0 @@ -/** - * @fileoverview Ensure handling of errors when we know they exist. - * @author Jamund Ferguson - * @deprecated in ESLint v7.0.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Require error handling in callbacks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/handle-callback-err" - }, - - schema: [ - { - type: "string" - } - ], - messages: { - expected: "Expected error to be handled." - } - }, - - create(context) { - - const errorArgument = context.options[0] || "err"; - const sourceCode = context.sourceCode; - - /** - * Checks if the given argument should be interpreted as a regexp pattern. - * @param {string} stringToCheck The string which should be checked. - * @returns {boolean} Whether or not the string should be interpreted as a pattern. - */ - function isPattern(stringToCheck) { - const firstChar = stringToCheck[0]; - - return firstChar === "^"; - } - - /** - * Checks if the given name matches the configured error argument. - * @param {string} name The name which should be compared. - * @returns {boolean} Whether or not the given name matches the configured error variable name. - */ - function matchesConfiguredErrorName(name) { - if (isPattern(errorArgument)) { - const regexp = new RegExp(errorArgument, "u"); - - return regexp.test(name); - } - return name === errorArgument; - } - - /** - * Get the parameters of a given function scope. - * @param {Object} scope The function scope. - * @returns {Array} All parameters of the given scope. - */ - function getParameters(scope) { - return scope.variables.filter(variable => variable.defs[0] && variable.defs[0].type === "Parameter"); - } - - /** - * Check to see if we're handling the error object properly. - * @param {ASTNode} node The AST node to check. - * @returns {void} - */ - function checkForError(node) { - const scope = sourceCode.getScope(node), - parameters = getParameters(scope), - firstParameter = parameters[0]; - - if (firstParameter && matchesConfiguredErrorName(firstParameter.name)) { - if (firstParameter.references.length === 0) { - context.report({ node, messageId: "expected" }); - } - } - } - - return { - FunctionDeclaration: checkForError, - FunctionExpression: checkForError, - ArrowFunctionExpression: checkForError - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-blacklist.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-blacklist.js deleted file mode 100644 index 6b7f561e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-blacklist.js +++ /dev/null @@ -1,246 +0,0 @@ -/** - * @fileoverview Rule that warns when identifier names that are - * specified in the configuration are used. - * @author Keith Cirkel (http://keithcirkel.co.uk) - * @deprecated in ESLint v7.5.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether the given node represents assignment target in a normal assignment or destructuring. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is assignment target. - */ -function isAssignmentTarget(node) { - const parent = node.parent; - - return ( - - // normal assignment - ( - parent.type === "AssignmentExpression" && - parent.left === node - ) || - - // destructuring - parent.type === "ArrayPattern" || - parent.type === "RestElement" || - ( - parent.type === "Property" && - parent.value === node && - parent.parent.type === "ObjectPattern" - ) || - ( - parent.type === "AssignmentPattern" && - parent.left === node - ) - ); -} - -/** - * Checks whether the given node represents an imported name that is renamed in the same import/export specifier. - * - * Examples: - * import { a as b } from 'mod'; // node `a` is renamed import - * export { a as b } from 'mod'; // node `a` is renamed import - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a renamed import. - */ -function isRenamedImport(node) { - const parent = node.parent; - - return ( - ( - parent.type === "ImportSpecifier" && - parent.imported !== parent.local && - parent.imported === node - ) || - ( - parent.type === "ExportSpecifier" && - parent.parent.source && // re-export - parent.local !== parent.exported && - parent.local === node - ) - ); -} - -/** - * Checks whether the given node is a renamed identifier node in an ObjectPattern destructuring. - * - * Examples: - * const { a : b } = foo; // node `a` is renamed node. - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a renamed node in an ObjectPattern destructuring. - */ -function isRenamedInDestructuring(node) { - const parent = node.parent; - - return ( - ( - !parent.computed && - parent.type === "Property" && - parent.parent.type === "ObjectPattern" && - parent.value !== node && - parent.key === node - ) - ); -} - -/** - * Checks whether the given node represents shorthand definition of a property in an object literal. - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a shorthand property definition. - */ -function isShorthandPropertyDefinition(node) { - const parent = node.parent; - - return ( - parent.type === "Property" && - parent.parent.type === "ObjectExpression" && - parent.shorthand - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: ["id-denylist"], - - type: "suggestion", - - docs: { - description: "Disallow specified identifiers", - recommended: false, - url: "https://eslint.org/docs/latest/rules/id-blacklist" - }, - - schema: { - type: "array", - items: { - type: "string" - }, - uniqueItems: true - }, - messages: { - restricted: "Identifier '{{name}}' is restricted." - } - }, - - create(context) { - - const denyList = new Set(context.options); - const reportedNodes = new Set(); - const sourceCode = context.sourceCode; - - let globalScope; - - /** - * Checks whether the given name is restricted. - * @param {string} name The name to check. - * @returns {boolean} `true` if the name is restricted. - * @private - */ - function isRestricted(name) { - return denyList.has(name); - } - - /** - * Checks whether the given node represents a reference to a global variable that is not declared in the source code. - * These identifiers will be allowed, as it is assumed that user has no control over the names of external global variables. - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a reference to a global variable. - */ - function isReferenceToGlobalVariable(node) { - const variable = globalScope.set.get(node.name); - - return variable && variable.defs.length === 0 && - variable.references.some(ref => ref.identifier === node); - } - - /** - * Determines whether the given node should be checked. - * @param {ASTNode} node `Identifier` node. - * @returns {boolean} `true` if the node should be checked. - */ - function shouldCheck(node) { - const parent = node.parent; - - /* - * Member access has special rules for checking property names. - * Read access to a property with a restricted name is allowed, because it can be on an object that user has no control over. - * Write access isn't allowed, because it potentially creates a new property with a restricted name. - */ - if ( - parent.type === "MemberExpression" && - parent.property === node && - !parent.computed - ) { - return isAssignmentTarget(parent); - } - - return ( - parent.type !== "CallExpression" && - parent.type !== "NewExpression" && - !isRenamedImport(node) && - !isRenamedInDestructuring(node) && - !( - isReferenceToGlobalVariable(node) && - !isShorthandPropertyDefinition(node) - ) - ); - } - - /** - * Reports an AST node as a rule violation. - * @param {ASTNode} node The node to report. - * @returns {void} - * @private - */ - function report(node) { - - /* - * We used the range instead of the node because it's possible - * for the same identifier to be represented by two different - * nodes, with the most clear example being shorthand properties: - * { foo } - * In this case, "foo" is represented by one node for the name - * and one for the value. The only way to know they are the same - * is to look at the range. - */ - if (!reportedNodes.has(node.range.toString())) { - context.report({ - node, - messageId: "restricted", - data: { - name: node.name - } - }); - reportedNodes.add(node.range.toString()); - } - - } - - return { - - Program(node) { - globalScope = sourceCode.getScope(node); - }, - - Identifier(node) { - if (isRestricted(node.name) && shouldCheck(node)) { - report(node); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-denylist.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-denylist.js deleted file mode 100644 index 5d394be2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-denylist.js +++ /dev/null @@ -1,241 +0,0 @@ -/** - * @fileoverview Rule that warns when identifier names that are - * specified in the configuration are used. - * @author Keith Cirkel (http://keithcirkel.co.uk) - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether the given node represents assignment target in a normal assignment or destructuring. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is assignment target. - */ -function isAssignmentTarget(node) { - const parent = node.parent; - - return ( - - // normal assignment - ( - parent.type === "AssignmentExpression" && - parent.left === node - ) || - - // destructuring - parent.type === "ArrayPattern" || - parent.type === "RestElement" || - ( - parent.type === "Property" && - parent.value === node && - parent.parent.type === "ObjectPattern" - ) || - ( - parent.type === "AssignmentPattern" && - parent.left === node - ) - ); -} - -/** - * Checks whether the given node represents an imported name that is renamed in the same import/export specifier. - * - * Examples: - * import { a as b } from 'mod'; // node `a` is renamed import - * export { a as b } from 'mod'; // node `a` is renamed import - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a renamed import. - */ -function isRenamedImport(node) { - const parent = node.parent; - - return ( - ( - parent.type === "ImportSpecifier" && - parent.imported !== parent.local && - parent.imported === node - ) || - ( - parent.type === "ExportSpecifier" && - parent.parent.source && // re-export - parent.local !== parent.exported && - parent.local === node - ) - ); -} - -/** - * Checks whether the given node is an ObjectPattern destructuring. - * - * Examples: - * const { a : b } = foo; - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is in an ObjectPattern destructuring. - */ -function isPropertyNameInDestructuring(node) { - const parent = node.parent; - - return ( - ( - !parent.computed && - parent.type === "Property" && - parent.parent.type === "ObjectPattern" && - parent.key === node - ) - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [], - - docs: { - description: "Disallow specified identifiers", - recommended: false, - url: "https://eslint.org/docs/latest/rules/id-denylist" - }, - - schema: { - type: "array", - items: { - type: "string" - }, - uniqueItems: true - }, - messages: { - restricted: "Identifier '{{name}}' is restricted.", - restrictedPrivate: "Identifier '#{{name}}' is restricted." - } - }, - - create(context) { - const denyList = new Set(context.options); - const reportedNodes = new Set(); - const sourceCode = context.sourceCode; - - let globalScope; - - /** - * Checks whether the given name is restricted. - * @param {string} name The name to check. - * @returns {boolean} `true` if the name is restricted. - * @private - */ - function isRestricted(name) { - return denyList.has(name); - } - - /** - * Checks whether the given node represents a reference to a global variable that is not declared in the source code. - * These identifiers will be allowed, as it is assumed that user has no control over the names of external global variables. - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a reference to a global variable. - */ - function isReferenceToGlobalVariable(node) { - const variable = globalScope.set.get(node.name); - - return variable && variable.defs.length === 0 && - variable.references.some(ref => ref.identifier === node); - } - - /** - * Determines whether the given node should be checked. - * @param {ASTNode} node `Identifier` node. - * @returns {boolean} `true` if the node should be checked. - */ - function shouldCheck(node) { - - // Import attributes are defined by environments, so naming conventions shouldn't apply to them - if (astUtils.isImportAttributeKey(node)) { - return false; - } - - const parent = node.parent; - - /* - * Member access has special rules for checking property names. - * Read access to a property with a restricted name is allowed, because it can be on an object that user has no control over. - * Write access isn't allowed, because it potentially creates a new property with a restricted name. - */ - if ( - parent.type === "MemberExpression" && - parent.property === node && - !parent.computed - ) { - return isAssignmentTarget(parent); - } - - return ( - parent.type !== "CallExpression" && - parent.type !== "NewExpression" && - !isRenamedImport(node) && - !isPropertyNameInDestructuring(node) && - !isReferenceToGlobalVariable(node) - ); - } - - /** - * Reports an AST node as a rule violation. - * @param {ASTNode} node The node to report. - * @returns {void} - * @private - */ - function report(node) { - - /* - * We used the range instead of the node because it's possible - * for the same identifier to be represented by two different - * nodes, with the most clear example being shorthand properties: - * { foo } - * In this case, "foo" is represented by one node for the name - * and one for the value. The only way to know they are the same - * is to look at the range. - */ - if (!reportedNodes.has(node.range.toString())) { - const isPrivate = node.type === "PrivateIdentifier"; - - context.report({ - node, - messageId: isPrivate ? "restrictedPrivate" : "restricted", - data: { - name: node.name - } - }); - reportedNodes.add(node.range.toString()); - } - } - - return { - - Program(node) { - globalScope = sourceCode.getScope(node); - }, - - [[ - "Identifier", - "PrivateIdentifier" - ]](node) { - if (isRestricted(node.name) && shouldCheck(node)) { - report(node); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-length.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-length.js deleted file mode 100644 index 65b75709..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-length.js +++ /dev/null @@ -1,190 +0,0 @@ -/** - * @fileoverview Rule that warns when identifier names are shorter or longer - * than the values provided in configuration. - * @author Burak Yigit Kaya aka BYK - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { getGraphemeCount } = require("../shared/string-utils"); -const { getModuleExportName, isImportAttributeKey } = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - exceptionPatterns: [], - exceptions: [], - min: 2, - properties: "always" - }], - - docs: { - description: "Enforce minimum and maximum identifier lengths", - recommended: false, - url: "https://eslint.org/docs/latest/rules/id-length" - }, - - schema: [ - { - type: "object", - properties: { - min: { - type: "integer" - }, - max: { - type: "integer" - }, - exceptions: { - type: "array", - uniqueItems: true, - items: { - type: "string" - } - }, - exceptionPatterns: { - type: "array", - uniqueItems: true, - items: { - type: "string" - } - }, - properties: { - enum: ["always", "never"] - } - }, - additionalProperties: false - } - ], - messages: { - tooShort: "Identifier name '{{name}}' is too short (< {{min}}).", - tooShortPrivate: "Identifier name '#{{name}}' is too short (< {{min}}).", - tooLong: "Identifier name '{{name}}' is too long (> {{max}}).", - tooLongPrivate: "Identifier name #'{{name}}' is too long (> {{max}})." - } - }, - - create(context) { - const [options] = context.options; - const { max: maxLength = Infinity, min: minLength } = options; - const properties = options.properties !== "never"; - const exceptions = new Set(options.exceptions); - const exceptionPatterns = options.exceptionPatterns.map(pattern => new RegExp(pattern, "u")); - const reportedNodes = new Set(); - - /** - * Checks if a string matches the provided exception patterns - * @param {string} name The string to check. - * @returns {boolean} if the string is a match - * @private - */ - function matchesExceptionPattern(name) { - return exceptionPatterns.some(pattern => pattern.test(name)); - } - - const SUPPORTED_EXPRESSIONS = { - MemberExpression: properties && function(parent) { - return !parent.computed && ( - - // regular property assignment - (parent.parent.left === parent && parent.parent.type === "AssignmentExpression" || - - // or the last identifier in an ObjectPattern destructuring - parent.parent.type === "Property" && parent.parent.value === parent && - parent.parent.parent.type === "ObjectPattern" && parent.parent.parent.parent.left === parent.parent.parent) - ); - }, - AssignmentPattern(parent, node) { - return parent.left === node; - }, - VariableDeclarator(parent, node) { - return parent.id === node; - }, - Property(parent, node) { - - if (parent.parent.type === "ObjectPattern") { - const isKeyAndValueSame = parent.value.name === parent.key.name; - - return ( - !isKeyAndValueSame && parent.value === node || - isKeyAndValueSame && parent.key === node && properties - ); - } - return properties && !isImportAttributeKey(node) && !parent.computed && parent.key.name === node.name; - }, - ImportSpecifier(parent, node) { - return ( - parent.local === node && - getModuleExportName(parent.imported) !== getModuleExportName(parent.local) - ); - }, - ImportDefaultSpecifier: true, - ImportNamespaceSpecifier: true, - RestElement: true, - FunctionExpression: true, - ArrowFunctionExpression: true, - ClassDeclaration: true, - FunctionDeclaration: true, - MethodDefinition: true, - PropertyDefinition: true, - CatchClause: true, - ArrayPattern: true - }; - - return { - [[ - "Identifier", - "PrivateIdentifier" - ]](node) { - const name = node.name; - const parent = node.parent; - - const nameLength = getGraphemeCount(name); - - const isShort = nameLength < minLength; - const isLong = nameLength > maxLength; - - if (!(isShort || isLong) || exceptions.has(name) || matchesExceptionPattern(name)) { - return; // Nothing to report - } - - const isValidExpression = SUPPORTED_EXPRESSIONS[parent.type]; - - /* - * We used the range instead of the node because it's possible - * for the same identifier to be represented by two different - * nodes, with the most clear example being shorthand properties: - * { foo } - * In this case, "foo" is represented by one node for the name - * and one for the value. The only way to know they are the same - * is to look at the range. - */ - if (isValidExpression && !reportedNodes.has(node.range.toString()) && (isValidExpression === true || isValidExpression(parent, node))) { - reportedNodes.add(node.range.toString()); - - let messageId = isShort ? "tooShort" : "tooLong"; - - if (node.type === "PrivateIdentifier") { - messageId += "Private"; - } - - context.report({ - node, - messageId, - data: { name, min: minLength, max: maxLength } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-match.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-match.js deleted file mode 100644 index 76d774ef..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/id-match.js +++ /dev/null @@ -1,307 +0,0 @@ -/** - * @fileoverview Rule to flag non-matching identifiers - * @author Matthieu Larcher - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["^.+$", { - classFields: false, - ignoreDestructuring: false, - onlyDeclarations: false, - properties: false - }], - - docs: { - description: "Require identifiers to match a specified regular expression", - recommended: false, - url: "https://eslint.org/docs/latest/rules/id-match" - }, - - schema: [ - { - type: "string" - }, - { - type: "object", - properties: { - properties: { - type: "boolean" - }, - classFields: { - type: "boolean" - }, - onlyDeclarations: { - type: "boolean" - }, - ignoreDestructuring: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - messages: { - notMatch: "Identifier '{{name}}' does not match the pattern '{{pattern}}'.", - notMatchPrivate: "Identifier '#{{name}}' does not match the pattern '{{pattern}}'." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Options - //-------------------------------------------------------------------------- - const [pattern, { - classFields: checkClassFields, - ignoreDestructuring, - onlyDeclarations, - properties: checkProperties - }] = context.options; - const regexp = new RegExp(pattern, "u"); - - const sourceCode = context.sourceCode; - let globalScope; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - // contains reported nodes to avoid reporting twice on destructuring with shorthand notation - const reportedNodes = new Set(); - const ALLOWED_PARENT_TYPES = new Set(["CallExpression", "NewExpression"]); - const DECLARATION_TYPES = new Set(["FunctionDeclaration", "VariableDeclarator"]); - const IMPORT_TYPES = new Set(["ImportSpecifier", "ImportNamespaceSpecifier", "ImportDefaultSpecifier"]); - - /** - * Checks whether the given node represents a reference to a global variable that is not declared in the source code. - * These identifiers will be allowed, as it is assumed that user has no control over the names of external global variables. - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a reference to a global variable. - */ - function isReferenceToGlobalVariable(node) { - const variable = globalScope.set.get(node.name); - - return variable && variable.defs.length === 0 && - variable.references.some(ref => ref.identifier === node); - } - - /** - * Checks if a string matches the provided pattern - * @param {string} name The string to check. - * @returns {boolean} if the string is a match - * @private - */ - function isInvalid(name) { - return !regexp.test(name); - } - - /** - * Checks if a parent of a node is an ObjectPattern. - * @param {ASTNode} node The node to check. - * @returns {boolean} if the node is inside an ObjectPattern - * @private - */ - function isInsideObjectPattern(node) { - let { parent } = node; - - while (parent) { - if (parent.type === "ObjectPattern") { - return true; - } - - parent = parent.parent; - } - - return false; - } - - /** - * Verifies if we should report an error or not based on the effective - * parent node and the identifier name. - * @param {ASTNode} effectiveParent The effective parent node of the node to be reported - * @param {string} name The identifier name of the identifier node - * @returns {boolean} whether an error should be reported or not - */ - function shouldReport(effectiveParent, name) { - return (!onlyDeclarations || DECLARATION_TYPES.has(effectiveParent.type)) && - !ALLOWED_PARENT_TYPES.has(effectiveParent.type) && isInvalid(name); - } - - /** - * Reports an AST node as a rule violation. - * @param {ASTNode} node The node to report. - * @returns {void} - * @private - */ - function report(node) { - - /* - * We used the range instead of the node because it's possible - * for the same identifier to be represented by two different - * nodes, with the most clear example being shorthand properties: - * { foo } - * In this case, "foo" is represented by one node for the name - * and one for the value. The only way to know they are the same - * is to look at the range. - */ - if (!reportedNodes.has(node.range.toString())) { - - const messageId = (node.type === "PrivateIdentifier") - ? "notMatchPrivate" : "notMatch"; - - context.report({ - node, - messageId, - data: { - name: node.name, - pattern - } - }); - reportedNodes.add(node.range.toString()); - } - } - - return { - - Program(node) { - globalScope = sourceCode.getScope(node); - }, - - Identifier(node) { - const name = node.name, - parent = node.parent, - effectiveParent = (parent.type === "MemberExpression") ? parent.parent : parent; - - if (isReferenceToGlobalVariable(node) || astUtils.isImportAttributeKey(node)) { - return; - } - - if (parent.type === "MemberExpression") { - - if (!checkProperties) { - return; - } - - // Always check object names - if (parent.object.type === "Identifier" && - parent.object.name === name) { - if (isInvalid(name)) { - report(node); - } - - // Report AssignmentExpressions left side's assigned variable id - } else if (effectiveParent.type === "AssignmentExpression" && - effectiveParent.left.type === "MemberExpression" && - effectiveParent.left.property.name === node.name) { - if (isInvalid(name)) { - report(node); - } - - // Report AssignmentExpressions only if they are the left side of the assignment - } else if (effectiveParent.type === "AssignmentExpression" && effectiveParent.right.type !== "MemberExpression") { - if (isInvalid(name)) { - report(node); - } - } - - // For https://github.com/eslint/eslint/issues/15123 - } else if ( - parent.type === "Property" && - parent.parent.type === "ObjectExpression" && - parent.key === node && - !parent.computed - ) { - if (checkProperties && isInvalid(name)) { - report(node); - } - - /* - * Properties have their own rules, and - * AssignmentPattern nodes can be treated like Properties: - * e.g.: const { no_camelcased = false } = bar; - */ - } else if (parent.type === "Property" || parent.type === "AssignmentPattern") { - - if (parent.parent && parent.parent.type === "ObjectPattern") { - if (!ignoreDestructuring && parent.shorthand && parent.value.left && isInvalid(name)) { - report(node); - } - - const assignmentKeyEqualsValue = parent.key.name === parent.value.name; - - // prevent checking righthand side of destructured object - if (!assignmentKeyEqualsValue && parent.key === node) { - return; - } - - const valueIsInvalid = parent.value.name && isInvalid(name); - - // ignore destructuring if the option is set, unless a new identifier is created - if (valueIsInvalid && !(assignmentKeyEqualsValue && ignoreDestructuring)) { - report(node); - } - } - - // never check properties or always ignore destructuring - if ((!checkProperties && !parent.computed) || (ignoreDestructuring && isInsideObjectPattern(node))) { - return; - } - - // don't check right hand side of AssignmentExpression to prevent duplicate warnings - if (parent.right !== node && shouldReport(effectiveParent, name)) { - report(node); - } - - // Check if it's an import specifier - } else if (IMPORT_TYPES.has(parent.type)) { - - // Report only if the local imported identifier is invalid - if (parent.local && parent.local.name === node.name && isInvalid(name)) { - report(node); - } - - } else if (parent.type === "PropertyDefinition") { - - if (checkClassFields && isInvalid(name)) { - report(node); - } - - // Report anything that is invalid that isn't a CallExpression - } else if (shouldReport(effectiveParent, name)) { - report(node); - } - }, - - "PrivateIdentifier"(node) { - - const isClassField = node.parent.type === "PropertyDefinition"; - - if (isClassField && !checkClassFields) { - return; - } - - if (isInvalid(node.name)) { - report(node); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js deleted file mode 100644 index 32f422ce..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @fileoverview enforce the location of arrow function bodies - * @author Sharmila Jesupaul - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const { isCommentToken, isNotOpeningParenToken } = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce the location of arrow function bodies", - recommended: false, - url: "https://eslint.org/docs/latest/rules/implicit-arrow-linebreak" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["beside", "below"] - } - ], - messages: { - expected: "Expected a linebreak before this expression.", - unexpected: "Expected no linebreak before this expression." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const option = context.options[0] || "beside"; - - /** - * Validates the location of an arrow function body - * @param {ASTNode} node The arrow function body - * @returns {void} - */ - function validateExpression(node) { - if (node.body.type === "BlockStatement") { - return; - } - - const arrowToken = sourceCode.getTokenBefore(node.body, isNotOpeningParenToken); - const firstTokenOfBody = sourceCode.getTokenAfter(arrowToken); - - if (arrowToken.loc.end.line === firstTokenOfBody.loc.start.line && option === "below") { - context.report({ - node: firstTokenOfBody, - messageId: "expected", - fix: fixer => fixer.insertTextBefore(firstTokenOfBody, "\n") - }); - } else if (arrowToken.loc.end.line !== firstTokenOfBody.loc.start.line && option === "beside") { - context.report({ - node: firstTokenOfBody, - messageId: "unexpected", - fix(fixer) { - if (sourceCode.getFirstTokenBetween(arrowToken, firstTokenOfBody, { includeComments: true, filter: isCommentToken })) { - return null; - } - - return fixer.replaceTextRange([arrowToken.range[1], firstTokenOfBody.range[0]], " "); - } - }); - } - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - return { - ArrowFunctionExpression: node => validateExpression(node) - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent-legacy.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent-legacy.js deleted file mode 100644 index 4adb4230..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent-legacy.js +++ /dev/null @@ -1,1126 +0,0 @@ -/** - * @fileoverview This option sets a specific tab width for your code - * - * This rule has been ported and modified from nodeca. - * @author Vitaly Puzrin - * @author Gyandeep Singh - * @deprecated in ESLint v4.0.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ -// this rule has known coverage issues, but it's deprecated and shouldn't be updated in the future anyway. -/* c8 ignore next */ -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "layout", - - docs: { - description: "Enforce consistent indentation", - recommended: false, - url: "https://eslint.org/docs/latest/rules/indent-legacy" - }, - - deprecated: true, - - replacedBy: ["indent"], - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["tab"] - }, - { - type: "integer", - minimum: 0 - } - ] - }, - { - type: "object", - properties: { - SwitchCase: { - type: "integer", - minimum: 0 - }, - VariableDeclarator: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - type: "object", - properties: { - var: { - type: "integer", - minimum: 0 - }, - let: { - type: "integer", - minimum: 0 - }, - const: { - type: "integer", - minimum: 0 - } - } - } - ] - }, - outerIIFEBody: { - type: "integer", - minimum: 0 - }, - MemberExpression: { - type: "integer", - minimum: 0 - }, - FunctionDeclaration: { - type: "object", - properties: { - parameters: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["first"] - } - ] - }, - body: { - type: "integer", - minimum: 0 - } - } - }, - FunctionExpression: { - type: "object", - properties: { - parameters: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["first"] - } - ] - }, - body: { - type: "integer", - minimum: 0 - } - } - }, - CallExpression: { - type: "object", - properties: { - parameters: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["first"] - } - ] - } - } - }, - ArrayExpression: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["first"] - } - ] - }, - ObjectExpression: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["first"] - } - ] - } - }, - additionalProperties: false - } - ], - messages: { - expected: "Expected indentation of {{expected}} but found {{actual}}." - } - }, - - create(context) { - const DEFAULT_VARIABLE_INDENT = 1; - const DEFAULT_PARAMETER_INDENT = null; // For backwards compatibility, don't check parameter indentation unless specified in the config - const DEFAULT_FUNCTION_BODY_INDENT = 1; - - let indentType = "space"; - let indentSize = 4; - const options = { - SwitchCase: 0, - VariableDeclarator: { - var: DEFAULT_VARIABLE_INDENT, - let: DEFAULT_VARIABLE_INDENT, - const: DEFAULT_VARIABLE_INDENT - }, - outerIIFEBody: null, - FunctionDeclaration: { - parameters: DEFAULT_PARAMETER_INDENT, - body: DEFAULT_FUNCTION_BODY_INDENT - }, - FunctionExpression: { - parameters: DEFAULT_PARAMETER_INDENT, - body: DEFAULT_FUNCTION_BODY_INDENT - }, - CallExpression: { - arguments: DEFAULT_PARAMETER_INDENT - }, - ArrayExpression: 1, - ObjectExpression: 1 - }; - - const sourceCode = context.sourceCode; - - if (context.options.length) { - if (context.options[0] === "tab") { - indentSize = 1; - indentType = "tab"; - } else /* c8 ignore start */ if (typeof context.options[0] === "number") { - indentSize = context.options[0]; - indentType = "space"; - }/* c8 ignore stop */ - - if (context.options[1]) { - const opts = context.options[1]; - - options.SwitchCase = opts.SwitchCase || 0; - const variableDeclaratorRules = opts.VariableDeclarator; - - if (typeof variableDeclaratorRules === "number") { - options.VariableDeclarator = { - var: variableDeclaratorRules, - let: variableDeclaratorRules, - const: variableDeclaratorRules - }; - } else if (typeof variableDeclaratorRules === "object") { - Object.assign(options.VariableDeclarator, variableDeclaratorRules); - } - - if (typeof opts.outerIIFEBody === "number") { - options.outerIIFEBody = opts.outerIIFEBody; - } - - if (typeof opts.MemberExpression === "number") { - options.MemberExpression = opts.MemberExpression; - } - - if (typeof opts.FunctionDeclaration === "object") { - Object.assign(options.FunctionDeclaration, opts.FunctionDeclaration); - } - - if (typeof opts.FunctionExpression === "object") { - Object.assign(options.FunctionExpression, opts.FunctionExpression); - } - - if (typeof opts.CallExpression === "object") { - Object.assign(options.CallExpression, opts.CallExpression); - } - - if (typeof opts.ArrayExpression === "number" || typeof opts.ArrayExpression === "string") { - options.ArrayExpression = opts.ArrayExpression; - } - - if (typeof opts.ObjectExpression === "number" || typeof opts.ObjectExpression === "string") { - options.ObjectExpression = opts.ObjectExpression; - } - } - } - - const caseIndentStore = {}; - - /** - * Creates an error message for a line, given the expected/actual indentation. - * @param {int} expectedAmount The expected amount of indentation characters for this line - * @param {int} actualSpaces The actual number of indentation spaces that were found on this line - * @param {int} actualTabs The actual number of indentation tabs that were found on this line - * @returns {string} An error message for this line - */ - function createErrorMessageData(expectedAmount, actualSpaces, actualTabs) { - const expectedStatement = `${expectedAmount} ${indentType}${expectedAmount === 1 ? "" : "s"}`; // e.g. "2 tabs" - const foundSpacesWord = `space${actualSpaces === 1 ? "" : "s"}`; // e.g. "space" - const foundTabsWord = `tab${actualTabs === 1 ? "" : "s"}`; // e.g. "tabs" - let foundStatement; - - if (actualSpaces > 0 && actualTabs > 0) { - foundStatement = `${actualSpaces} ${foundSpacesWord} and ${actualTabs} ${foundTabsWord}`; // e.g. "1 space and 2 tabs" - } else if (actualSpaces > 0) { - - /* - * Abbreviate the message if the expected indentation is also spaces. - * e.g. 'Expected 4 spaces but found 2' rather than 'Expected 4 spaces but found 2 spaces' - */ - foundStatement = indentType === "space" ? actualSpaces : `${actualSpaces} ${foundSpacesWord}`; - } else if (actualTabs > 0) { - foundStatement = indentType === "tab" ? actualTabs : `${actualTabs} ${foundTabsWord}`; - } else { - foundStatement = "0"; - } - return { - expected: expectedStatement, - actual: foundStatement - }; - } - - /** - * Reports a given indent violation - * @param {ASTNode} node Node violating the indent rule - * @param {int} needed Expected indentation character count - * @param {int} gottenSpaces Indentation space count in the actual node/code - * @param {int} gottenTabs Indentation tab count in the actual node/code - * @param {Object} [loc] Error line and column location - * @param {boolean} isLastNodeCheck Is the error for last node check - * @returns {void} - */ - function report(node, needed, gottenSpaces, gottenTabs, loc, isLastNodeCheck) { - if (gottenSpaces && gottenTabs) { - - // To avoid conflicts with `no-mixed-spaces-and-tabs`, don't report lines that have both spaces and tabs. - return; - } - - const desiredIndent = (indentType === "space" ? " " : "\t").repeat(needed); - - const textRange = isLastNodeCheck - ? [node.range[1] - node.loc.end.column, node.range[1] - node.loc.end.column + gottenSpaces + gottenTabs] - : [node.range[0] - node.loc.start.column, node.range[0] - node.loc.start.column + gottenSpaces + gottenTabs]; - - context.report({ - node, - loc, - messageId: "expected", - data: createErrorMessageData(needed, gottenSpaces, gottenTabs), - fix: fixer => fixer.replaceTextRange(textRange, desiredIndent) - }); - } - - /** - * Get the actual indent of node - * @param {ASTNode|Token} node Node to examine - * @param {boolean} [byLastLine=false] get indent of node's last line - * @returns {Object} The node's indent. Contains keys `space` and `tab`, representing the indent of each character. Also - * contains keys `goodChar` and `badChar`, where `goodChar` is the amount of the user's desired indentation character, and - * `badChar` is the amount of the other indentation character. - */ - function getNodeIndent(node, byLastLine) { - const token = byLastLine ? sourceCode.getLastToken(node) : sourceCode.getFirstToken(node); - const srcCharsBeforeNode = sourceCode.getText(token, token.loc.start.column).split(""); - const indentChars = srcCharsBeforeNode.slice(0, srcCharsBeforeNode.findIndex(char => char !== " " && char !== "\t")); - const spaces = indentChars.filter(char => char === " ").length; - const tabs = indentChars.filter(char => char === "\t").length; - - return { - space: spaces, - tab: tabs, - goodChar: indentType === "space" ? spaces : tabs, - badChar: indentType === "space" ? tabs : spaces - }; - } - - /** - * Checks node is the first in its own start line. By default it looks by start line. - * @param {ASTNode} node The node to check - * @param {boolean} [byEndLocation=false] Lookup based on start position or end - * @returns {boolean} true if its the first in the its start line - */ - function isNodeFirstInLine(node, byEndLocation) { - const firstToken = byEndLocation === true ? sourceCode.getLastToken(node, 1) : sourceCode.getTokenBefore(node), - startLine = byEndLocation === true ? node.loc.end.line : node.loc.start.line, - endLine = firstToken ? firstToken.loc.end.line : -1; - - return startLine !== endLine; - } - - /** - * Check indent for node - * @param {ASTNode} node Node to check - * @param {int} neededIndent needed indent - * @returns {void} - */ - function checkNodeIndent(node, neededIndent) { - const actualIndent = getNodeIndent(node, false); - - if ( - node.type !== "ArrayExpression" && - node.type !== "ObjectExpression" && - (actualIndent.goodChar !== neededIndent || actualIndent.badChar !== 0) && - isNodeFirstInLine(node) - ) { - report(node, neededIndent, actualIndent.space, actualIndent.tab); - } - - if (node.type === "IfStatement" && node.alternate) { - const elseToken = sourceCode.getTokenBefore(node.alternate); - - checkNodeIndent(elseToken, neededIndent); - - if (!isNodeFirstInLine(node.alternate)) { - checkNodeIndent(node.alternate, neededIndent); - } - } - - if (node.type === "TryStatement" && node.handler) { - const catchToken = sourceCode.getFirstToken(node.handler); - - checkNodeIndent(catchToken, neededIndent); - } - - if (node.type === "TryStatement" && node.finalizer) { - const finallyToken = sourceCode.getTokenBefore(node.finalizer); - - checkNodeIndent(finallyToken, neededIndent); - } - - if (node.type === "DoWhileStatement") { - const whileToken = sourceCode.getTokenAfter(node.body); - - checkNodeIndent(whileToken, neededIndent); - } - } - - /** - * Check indent for nodes list - * @param {ASTNode[]} nodes list of node objects - * @param {int} indent needed indent - * @returns {void} - */ - function checkNodesIndent(nodes, indent) { - nodes.forEach(node => checkNodeIndent(node, indent)); - } - - /** - * Check last node line indent this detects, that block closed correctly - * @param {ASTNode} node Node to examine - * @param {int} lastLineIndent needed indent - * @returns {void} - */ - function checkLastNodeLineIndent(node, lastLineIndent) { - const lastToken = sourceCode.getLastToken(node); - const endIndent = getNodeIndent(lastToken, true); - - if ((endIndent.goodChar !== lastLineIndent || endIndent.badChar !== 0) && isNodeFirstInLine(node, true)) { - report( - node, - lastLineIndent, - endIndent.space, - endIndent.tab, - { line: lastToken.loc.start.line, column: lastToken.loc.start.column }, - true - ); - } - } - - /** - * Check last node line indent this detects, that block closed correctly - * This function for more complicated return statement case, where closing parenthesis may be followed by ';' - * @param {ASTNode} node Node to examine - * @param {int} firstLineIndent first line needed indent - * @returns {void} - */ - function checkLastReturnStatementLineIndent(node, firstLineIndent) { - - /* - * in case if return statement ends with ');' we have traverse back to ')' - * otherwise we'll measure indent for ';' and replace ')' - */ - const lastToken = sourceCode.getLastToken(node, astUtils.isClosingParenToken); - const textBeforeClosingParenthesis = sourceCode.getText(lastToken, lastToken.loc.start.column).slice(0, -1); - - if (textBeforeClosingParenthesis.trim()) { - - // There are tokens before the closing paren, don't report this case - return; - } - - const endIndent = getNodeIndent(lastToken, true); - - if (endIndent.goodChar !== firstLineIndent) { - report( - node, - firstLineIndent, - endIndent.space, - endIndent.tab, - { line: lastToken.loc.start.line, column: lastToken.loc.start.column }, - true - ); - } - } - - /** - * Check first node line indent is correct - * @param {ASTNode} node Node to examine - * @param {int} firstLineIndent needed indent - * @returns {void} - */ - function checkFirstNodeLineIndent(node, firstLineIndent) { - const startIndent = getNodeIndent(node, false); - - if ((startIndent.goodChar !== firstLineIndent || startIndent.badChar !== 0) && isNodeFirstInLine(node)) { - report( - node, - firstLineIndent, - startIndent.space, - startIndent.tab, - { line: node.loc.start.line, column: node.loc.start.column } - ); - } - } - - /** - * Returns a parent node of given node based on a specified type - * if not present then return null - * @param {ASTNode} node node to examine - * @param {string} type type that is being looked for - * @param {string} stopAtList end points for the evaluating code - * @returns {ASTNode|void} if found then node otherwise null - */ - function getParentNodeByType(node, type, stopAtList) { - let parent = node.parent; - const stopAtSet = new Set(stopAtList || ["Program"]); - - while (parent.type !== type && !stopAtSet.has(parent.type) && parent.type !== "Program") { - parent = parent.parent; - } - - return parent.type === type ? parent : null; - } - - /** - * Returns the VariableDeclarator based on the current node - * if not present then return null - * @param {ASTNode} node node to examine - * @returns {ASTNode|void} if found then node otherwise null - */ - function getVariableDeclaratorNode(node) { - return getParentNodeByType(node, "VariableDeclarator"); - } - - /** - * Check to see if the node is part of the multi-line variable declaration. - * Also if its on the same line as the varNode - * @param {ASTNode} node node to check - * @param {ASTNode} varNode variable declaration node to check against - * @returns {boolean} True if all the above condition satisfy - */ - function isNodeInVarOnTop(node, varNode) { - return varNode && - varNode.parent.loc.start.line === node.loc.start.line && - varNode.parent.declarations.length > 1; - } - - /** - * Check to see if the argument before the callee node is multi-line and - * there should only be 1 argument before the callee node - * @param {ASTNode} node node to check - * @returns {boolean} True if arguments are multi-line - */ - function isArgBeforeCalleeNodeMultiline(node) { - const parent = node.parent; - - if (parent.arguments.length >= 2 && parent.arguments[1] === node) { - return parent.arguments[0].loc.end.line > parent.arguments[0].loc.start.line; - } - - return false; - } - - /** - * Check to see if the node is a file level IIFE - * @param {ASTNode} node The function node to check. - * @returns {boolean} True if the node is the outer IIFE - */ - function isOuterIIFE(node) { - const parent = node.parent; - let stmt = parent.parent; - - /* - * Verify that the node is an IIEF - */ - if ( - parent.type !== "CallExpression" || - parent.callee !== node) { - - return false; - } - - /* - * Navigate legal ancestors to determine whether this IIEF is outer - */ - while ( - stmt.type === "UnaryExpression" && ( - stmt.operator === "!" || - stmt.operator === "~" || - stmt.operator === "+" || - stmt.operator === "-") || - stmt.type === "AssignmentExpression" || - stmt.type === "LogicalExpression" || - stmt.type === "SequenceExpression" || - stmt.type === "VariableDeclarator") { - - stmt = stmt.parent; - } - - return (( - stmt.type === "ExpressionStatement" || - stmt.type === "VariableDeclaration") && - stmt.parent && stmt.parent.type === "Program" - ); - } - - /** - * Check indent for function block content - * @param {ASTNode} node A BlockStatement node that is inside of a function. - * @returns {void} - */ - function checkIndentInFunctionBlock(node) { - - /* - * Search first caller in chain. - * Ex.: - * - * Models <- Identifier - * .User - * .find() - * .exec(function() { - * // function body - * }); - * - * Looks for 'Models' - */ - const calleeNode = node.parent; // FunctionExpression - let indent; - - if (calleeNode.parent && - (calleeNode.parent.type === "Property" || - calleeNode.parent.type === "ArrayExpression")) { - - // If function is part of array or object, comma can be put at left - indent = getNodeIndent(calleeNode, false).goodChar; - } else { - - // If function is standalone, simple calculate indent - indent = getNodeIndent(calleeNode).goodChar; - } - - if (calleeNode.parent.type === "CallExpression") { - const calleeParent = calleeNode.parent; - - if (calleeNode.type !== "FunctionExpression" && calleeNode.type !== "ArrowFunctionExpression") { - if (calleeParent && calleeParent.loc.start.line < node.loc.start.line) { - indent = getNodeIndent(calleeParent).goodChar; - } - } else { - if (isArgBeforeCalleeNodeMultiline(calleeNode) && - calleeParent.callee.loc.start.line === calleeParent.callee.loc.end.line && - !isNodeFirstInLine(calleeNode)) { - indent = getNodeIndent(calleeParent).goodChar; - } - } - } - - /* - * function body indent should be indent + indent size, unless this - * is a FunctionDeclaration, FunctionExpression, or outer IIFE and the corresponding options are enabled. - */ - let functionOffset = indentSize; - - if (options.outerIIFEBody !== null && isOuterIIFE(calleeNode)) { - functionOffset = options.outerIIFEBody * indentSize; - } else if (calleeNode.type === "FunctionExpression") { - functionOffset = options.FunctionExpression.body * indentSize; - } else if (calleeNode.type === "FunctionDeclaration") { - functionOffset = options.FunctionDeclaration.body * indentSize; - } - indent += functionOffset; - - // check if the node is inside a variable - const parentVarNode = getVariableDeclaratorNode(node); - - if (parentVarNode && isNodeInVarOnTop(node, parentVarNode)) { - indent += indentSize * options.VariableDeclarator[parentVarNode.parent.kind]; - } - - if (node.body.length > 0) { - checkNodesIndent(node.body, indent); - } - - checkLastNodeLineIndent(node, indent - functionOffset); - } - - - /** - * Checks if the given node starts and ends on the same line - * @param {ASTNode} node The node to check - * @returns {boolean} Whether or not the block starts and ends on the same line. - */ - function isSingleLineNode(node) { - const lastToken = sourceCode.getLastToken(node), - startLine = node.loc.start.line, - endLine = lastToken.loc.end.line; - - return startLine === endLine; - } - - /** - * Check indent for array block content or object block content - * @param {ASTNode} node node to examine - * @returns {void} - */ - function checkIndentInArrayOrObjectBlock(node) { - - // Skip inline - if (isSingleLineNode(node)) { - return; - } - - let elements = (node.type === "ArrayExpression") ? node.elements : node.properties; - - // filter out empty elements example would be [ , 2] so remove first element as espree considers it as null - elements = elements.filter(elem => elem !== null); - - let nodeIndent; - let elementsIndent; - const parentVarNode = getVariableDeclaratorNode(node); - - // TODO - come up with a better strategy in future - if (isNodeFirstInLine(node)) { - const parent = node.parent; - - nodeIndent = getNodeIndent(parent).goodChar; - if (!parentVarNode || parentVarNode.loc.start.line !== node.loc.start.line) { - if (parent.type !== "VariableDeclarator" || parentVarNode === parentVarNode.parent.declarations[0]) { - if (parent.type === "VariableDeclarator" && parentVarNode.loc.start.line === parent.loc.start.line) { - nodeIndent += (indentSize * options.VariableDeclarator[parentVarNode.parent.kind]); - } else if (parent.type === "ObjectExpression" || parent.type === "ArrayExpression") { - const parentElements = node.parent.type === "ObjectExpression" ? node.parent.properties : node.parent.elements; - - if (parentElements[0] && - parentElements[0].loc.start.line === parent.loc.start.line && - parentElements[0].loc.end.line !== parent.loc.start.line) { - - /* - * If the first element of the array spans multiple lines, don't increase the expected indentation of the rest. - * e.g. [{ - * foo: 1 - * }, - * { - * bar: 1 - * }] - * the second object is not indented. - */ - } else if (typeof options[parent.type] === "number") { - nodeIndent += options[parent.type] * indentSize; - } else { - nodeIndent = parentElements[0].loc.start.column; - } - } else if (parent.type === "CallExpression" || parent.type === "NewExpression") { - if (typeof options.CallExpression.arguments === "number") { - nodeIndent += options.CallExpression.arguments * indentSize; - } else if (options.CallExpression.arguments === "first") { - if (parent.arguments.includes(node)) { - nodeIndent = parent.arguments[0].loc.start.column; - } - } else { - nodeIndent += indentSize; - } - } else if (parent.type === "LogicalExpression" || parent.type === "ArrowFunctionExpression") { - nodeIndent += indentSize; - } - } - } - - checkFirstNodeLineIndent(node, nodeIndent); - } else { - nodeIndent = getNodeIndent(node).goodChar; - } - - if (options[node.type] === "first") { - elementsIndent = elements.length ? elements[0].loc.start.column : 0; // If there are no elements, elementsIndent doesn't matter. - } else { - elementsIndent = nodeIndent + indentSize * options[node.type]; - } - - /* - * Check if the node is a multiple variable declaration; if so, then - * make sure indentation takes that into account. - */ - if (isNodeInVarOnTop(node, parentVarNode)) { - elementsIndent += indentSize * options.VariableDeclarator[parentVarNode.parent.kind]; - } - - checkNodesIndent(elements, elementsIndent); - - if (elements.length > 0) { - - // Skip last block line check if last item in same line - if (elements.at(-1).loc.end.line === node.loc.end.line) { - return; - } - } - - checkLastNodeLineIndent(node, nodeIndent + - (isNodeInVarOnTop(node, parentVarNode) ? options.VariableDeclarator[parentVarNode.parent.kind] * indentSize : 0)); - } - - /** - * Check if the node or node body is a BlockStatement or not - * @param {ASTNode} node node to test - * @returns {boolean} True if it or its body is a block statement - */ - function isNodeBodyBlock(node) { - return node.type === "BlockStatement" || node.type === "ClassBody" || (node.body && node.body.type === "BlockStatement") || - (node.consequent && node.consequent.type === "BlockStatement"); - } - - /** - * Check indentation for blocks - * @param {ASTNode} node node to check - * @returns {void} - */ - function blockIndentationCheck(node) { - - // Skip inline blocks - if (isSingleLineNode(node)) { - return; - } - - if (node.parent && ( - node.parent.type === "FunctionExpression" || - node.parent.type === "FunctionDeclaration" || - node.parent.type === "ArrowFunctionExpression") - ) { - checkIndentInFunctionBlock(node); - return; - } - - let indent; - let nodesToCheck; - - /* - * For this statements we should check indent from statement beginning, - * not from the beginning of the block. - */ - const statementsWithProperties = [ - "IfStatement", "WhileStatement", "ForStatement", "ForInStatement", "ForOfStatement", "DoWhileStatement", "ClassDeclaration", "TryStatement" - ]; - - if (node.parent && statementsWithProperties.includes(node.parent.type) && isNodeBodyBlock(node)) { - indent = getNodeIndent(node.parent).goodChar; - } else if (node.parent && node.parent.type === "CatchClause") { - indent = getNodeIndent(node.parent.parent).goodChar; - } else { - indent = getNodeIndent(node).goodChar; - } - - if (node.type === "IfStatement" && node.consequent.type !== "BlockStatement") { - nodesToCheck = [node.consequent]; - } else if (Array.isArray(node.body)) { - nodesToCheck = node.body; - } else { - nodesToCheck = [node.body]; - } - - if (nodesToCheck.length > 0) { - checkNodesIndent(nodesToCheck, indent + indentSize); - } - - if (node.type === "BlockStatement") { - checkLastNodeLineIndent(node, indent); - } - } - - /** - * Filter out the elements which are on the same line of each other or the node. - * basically have only 1 elements from each line except the variable declaration line. - * @param {ASTNode} node Variable declaration node - * @returns {ASTNode[]} Filtered elements - */ - function filterOutSameLineVars(node) { - return node.declarations.reduce((finalCollection, elem) => { - const lastElem = finalCollection.at(-1); - - if ((elem.loc.start.line !== node.loc.start.line && !lastElem) || - (lastElem && lastElem.loc.start.line !== elem.loc.start.line)) { - finalCollection.push(elem); - } - - return finalCollection; - }, []); - } - - /** - * Check indentation for variable declarations - * @param {ASTNode} node node to examine - * @returns {void} - */ - function checkIndentInVariableDeclarations(node) { - const elements = filterOutSameLineVars(node); - const nodeIndent = getNodeIndent(node).goodChar; - const lastElement = elements.at(-1); - - const elementsIndent = nodeIndent + indentSize * options.VariableDeclarator[node.kind]; - - checkNodesIndent(elements, elementsIndent); - - // Only check the last line if there is any token after the last item - if (sourceCode.getLastToken(node).loc.end.line <= lastElement.loc.end.line) { - return; - } - - const tokenBeforeLastElement = sourceCode.getTokenBefore(lastElement); - - if (tokenBeforeLastElement.value === ",") { - - // Special case for comma-first syntax where the semicolon is indented - checkLastNodeLineIndent(node, getNodeIndent(tokenBeforeLastElement).goodChar); - } else { - checkLastNodeLineIndent(node, elementsIndent - indentSize); - } - } - - /** - * Check and decide whether to check for indentation for blockless nodes - * Scenarios are for or while statements without braces around them - * @param {ASTNode} node node to examine - * @returns {void} - */ - function blockLessNodes(node) { - if (node.body.type !== "BlockStatement") { - blockIndentationCheck(node); - } - } - - /** - * Returns the expected indentation for the case statement - * @param {ASTNode} node node to examine - * @param {int} [providedSwitchIndent] indent for switch statement - * @returns {int} indent size - */ - function expectedCaseIndent(node, providedSwitchIndent) { - const switchNode = (node.type === "SwitchStatement") ? node : node.parent; - const switchIndent = typeof providedSwitchIndent === "undefined" - ? getNodeIndent(switchNode).goodChar - : providedSwitchIndent; - let caseIndent; - - if (caseIndentStore[switchNode.loc.start.line]) { - return caseIndentStore[switchNode.loc.start.line]; - } - - if (switchNode.cases.length > 0 && options.SwitchCase === 0) { - caseIndent = switchIndent; - } else { - caseIndent = switchIndent + (indentSize * options.SwitchCase); - } - - caseIndentStore[switchNode.loc.start.line] = caseIndent; - return caseIndent; - - } - - /** - * Checks whether a return statement is wrapped in () - * @param {ASTNode} node node to examine - * @returns {boolean} the result - */ - function isWrappedInParenthesis(node) { - const regex = /^return\s*?\(\s*?\);*?/u; - - const statementWithoutArgument = sourceCode.getText(node).replace( - sourceCode.getText(node.argument), "" - ); - - return regex.test(statementWithoutArgument); - } - - return { - Program(node) { - if (node.body.length > 0) { - - // Root nodes should have no indent - checkNodesIndent(node.body, getNodeIndent(node).goodChar); - } - }, - - ClassBody: blockIndentationCheck, - - BlockStatement: blockIndentationCheck, - - WhileStatement: blockLessNodes, - - ForStatement: blockLessNodes, - - ForInStatement: blockLessNodes, - - ForOfStatement: blockLessNodes, - - DoWhileStatement: blockLessNodes, - - IfStatement(node) { - if (node.consequent.type !== "BlockStatement" && node.consequent.loc.start.line > node.loc.start.line) { - blockIndentationCheck(node); - } - }, - - VariableDeclaration(node) { - if (node.declarations.at(-1).loc.start.line > node.declarations[0].loc.start.line) { - checkIndentInVariableDeclarations(node); - } - }, - - ObjectExpression(node) { - checkIndentInArrayOrObjectBlock(node); - }, - - ArrayExpression(node) { - checkIndentInArrayOrObjectBlock(node); - }, - - MemberExpression(node) { - - if (typeof options.MemberExpression === "undefined") { - return; - } - - if (isSingleLineNode(node)) { - return; - } - - /* - * The typical layout of variable declarations and assignments - * alter the expectation of correct indentation. Skip them. - * TODO: Add appropriate configuration options for variable - * declarations and assignments. - */ - if (getParentNodeByType(node, "VariableDeclarator", ["FunctionExpression", "ArrowFunctionExpression"])) { - return; - } - - if (getParentNodeByType(node, "AssignmentExpression", ["FunctionExpression"])) { - return; - } - - const propertyIndent = getNodeIndent(node).goodChar + indentSize * options.MemberExpression; - - const checkNodes = [node.property]; - - const dot = sourceCode.getTokenBefore(node.property); - - if (dot.type === "Punctuator" && dot.value === ".") { - checkNodes.push(dot); - } - - checkNodesIndent(checkNodes, propertyIndent); - }, - - SwitchStatement(node) { - - // Switch is not a 'BlockStatement' - const switchIndent = getNodeIndent(node).goodChar; - const caseIndent = expectedCaseIndent(node, switchIndent); - - checkNodesIndent(node.cases, caseIndent); - - - checkLastNodeLineIndent(node, switchIndent); - }, - - SwitchCase(node) { - - // Skip inline cases - if (isSingleLineNode(node)) { - return; - } - const caseIndent = expectedCaseIndent(node); - - checkNodesIndent(node.consequent, caseIndent + indentSize); - }, - - FunctionDeclaration(node) { - if (isSingleLineNode(node)) { - return; - } - if (options.FunctionDeclaration.parameters === "first" && node.params.length) { - checkNodesIndent(node.params.slice(1), node.params[0].loc.start.column); - } else if (options.FunctionDeclaration.parameters !== null) { - checkNodesIndent(node.params, getNodeIndent(node).goodChar + indentSize * options.FunctionDeclaration.parameters); - } - }, - - FunctionExpression(node) { - if (isSingleLineNode(node)) { - return; - } - if (options.FunctionExpression.parameters === "first" && node.params.length) { - checkNodesIndent(node.params.slice(1), node.params[0].loc.start.column); - } else if (options.FunctionExpression.parameters !== null) { - checkNodesIndent(node.params, getNodeIndent(node).goodChar + indentSize * options.FunctionExpression.parameters); - } - }, - - ReturnStatement(node) { - if (isSingleLineNode(node)) { - return; - } - - const firstLineIndent = getNodeIndent(node).goodChar; - - // in case if return statement is wrapped in parenthesis - if (isWrappedInParenthesis(node)) { - checkLastReturnStatementLineIndent(node, firstLineIndent); - } else { - checkNodeIndent(node, firstLineIndent); - } - }, - - CallExpression(node) { - if (isSingleLineNode(node)) { - return; - } - if (options.CallExpression.arguments === "first" && node.arguments.length) { - checkNodesIndent(node.arguments.slice(1), node.arguments[0].loc.start.column); - } else if (options.CallExpression.arguments !== null) { - checkNodesIndent(node.arguments, getNodeIndent(node).goodChar + indentSize * options.CallExpression.arguments); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent.js deleted file mode 100644 index bc812b13..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/indent.js +++ /dev/null @@ -1,1803 +0,0 @@ -/** - * @fileoverview This rule sets a specific indentation style and width for your code - * - * @author Teddy Katz - * @author Vitaly Puzrin - * @author Gyandeep Singh - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const KNOWN_NODES = new Set([ - "AssignmentExpression", - "AssignmentPattern", - "ArrayExpression", - "ArrayPattern", - "ArrowFunctionExpression", - "AwaitExpression", - "BlockStatement", - "BinaryExpression", - "BreakStatement", - "CallExpression", - "CatchClause", - "ChainExpression", - "ClassBody", - "ClassDeclaration", - "ClassExpression", - "ConditionalExpression", - "ContinueStatement", - "DoWhileStatement", - "DebuggerStatement", - "EmptyStatement", - "ExperimentalRestProperty", - "ExperimentalSpreadProperty", - "ExpressionStatement", - "ForStatement", - "ForInStatement", - "ForOfStatement", - "FunctionDeclaration", - "FunctionExpression", - "Identifier", - "IfStatement", - "Literal", - "LabeledStatement", - "LogicalExpression", - "MemberExpression", - "MetaProperty", - "MethodDefinition", - "NewExpression", - "ObjectExpression", - "ObjectPattern", - "PrivateIdentifier", - "Program", - "Property", - "PropertyDefinition", - "RestElement", - "ReturnStatement", - "SequenceExpression", - "SpreadElement", - "StaticBlock", - "Super", - "SwitchCase", - "SwitchStatement", - "TaggedTemplateExpression", - "TemplateElement", - "TemplateLiteral", - "ThisExpression", - "ThrowStatement", - "TryStatement", - "UnaryExpression", - "UpdateExpression", - "VariableDeclaration", - "VariableDeclarator", - "WhileStatement", - "WithStatement", - "YieldExpression", - "JSXFragment", - "JSXOpeningFragment", - "JSXClosingFragment", - "JSXIdentifier", - "JSXNamespacedName", - "JSXMemberExpression", - "JSXEmptyExpression", - "JSXExpressionContainer", - "JSXElement", - "JSXClosingElement", - "JSXOpeningElement", - "JSXAttribute", - "JSXSpreadAttribute", - "JSXText", - "ExportDefaultDeclaration", - "ExportNamedDeclaration", - "ExportAllDeclaration", - "ExportSpecifier", - "ImportDeclaration", - "ImportSpecifier", - "ImportDefaultSpecifier", - "ImportNamespaceSpecifier", - "ImportExpression" -]); - -/* - * General rule strategy: - * 1. An OffsetStorage instance stores a map of desired offsets, where each token has a specified offset from another - * specified token or to the first column. - * 2. As the AST is traversed, modify the desired offsets of tokens accordingly. For example, when entering a - * BlockStatement, offset all of the tokens in the BlockStatement by 1 indent level from the opening curly - * brace of the BlockStatement. - * 3. After traversing the AST, calculate the expected indentation levels of every token according to the - * OffsetStorage container. - * 4. For each line, compare the expected indentation of the first token to the actual indentation in the file, - * and report the token if the two values are not equal. - */ - - -/** - * A mutable map that stores (key, value) pairs. The keys are numeric indices, and must be unique. - * This is intended to be a generic wrapper around a map with non-negative integer keys, so that the underlying implementation - * can easily be swapped out. - */ -class IndexMap { - - /** - * Creates an empty map - * @param {number} maxKey The maximum key - */ - constructor(maxKey) { - - // Initializing the array with the maximum expected size avoids dynamic reallocations that could degrade performance. - this._values = Array(maxKey + 1); - } - - /** - * Inserts an entry into the map. - * @param {number} key The entry's key - * @param {any} value The entry's value - * @returns {void} - */ - insert(key, value) { - this._values[key] = value; - } - - /** - * Finds the value of the entry with the largest key less than or equal to the provided key - * @param {number} key The provided key - * @returns {*|undefined} The value of the found entry, or undefined if no such entry exists. - */ - findLastNotAfter(key) { - const values = this._values; - - for (let index = key; index >= 0; index--) { - const value = values[index]; - - if (value) { - return value; - } - } - return void 0; - } - - /** - * Deletes all of the keys in the interval [start, end) - * @param {number} start The start of the range - * @param {number} end The end of the range - * @returns {void} - */ - deleteRange(start, end) { - this._values.fill(void 0, start, end); - } -} - -/** - * A helper class to get token-based info related to indentation - */ -class TokenInfo { - - /** - * @param {SourceCode} sourceCode A SourceCode object - */ - constructor(sourceCode) { - this.sourceCode = sourceCode; - this.firstTokensByLineNumber = new Map(); - const tokens = sourceCode.tokensAndComments; - - for (let i = 0; i < tokens.length; i++) { - const token = tokens[i]; - - if (!this.firstTokensByLineNumber.has(token.loc.start.line)) { - this.firstTokensByLineNumber.set(token.loc.start.line, token); - } - if (!this.firstTokensByLineNumber.has(token.loc.end.line) && sourceCode.text.slice(token.range[1] - token.loc.end.column, token.range[1]).trim()) { - this.firstTokensByLineNumber.set(token.loc.end.line, token); - } - } - } - - /** - * Gets the first token on a given token's line - * @param {Token|ASTNode} token a node or token - * @returns {Token} The first token on the given line - */ - getFirstTokenOfLine(token) { - return this.firstTokensByLineNumber.get(token.loc.start.line); - } - - /** - * Determines whether a token is the first token in its line - * @param {Token} token The token - * @returns {boolean} `true` if the token is the first on its line - */ - isFirstTokenOfLine(token) { - return this.getFirstTokenOfLine(token) === token; - } - - /** - * Get the actual indent of a token - * @param {Token} token Token to examine. This should be the first token on its line. - * @returns {string} The indentation characters that precede the token - */ - getTokenIndent(token) { - return this.sourceCode.text.slice(token.range[0] - token.loc.start.column, token.range[0]); - } -} - -/** - * A class to store information on desired offsets of tokens from each other - */ -class OffsetStorage { - - /** - * @param {TokenInfo} tokenInfo a TokenInfo instance - * @param {number} indentSize The desired size of each indentation level - * @param {string} indentType The indentation character - * @param {number} maxIndex The maximum end index of any token - */ - constructor(tokenInfo, indentSize, indentType, maxIndex) { - this._tokenInfo = tokenInfo; - this._indentSize = indentSize; - this._indentType = indentType; - - this._indexMap = new IndexMap(maxIndex); - this._indexMap.insert(0, { offset: 0, from: null, force: false }); - - this._lockedFirstTokens = new WeakMap(); - this._desiredIndentCache = new WeakMap(); - this._ignoredTokens = new WeakSet(); - } - - _getOffsetDescriptor(token) { - return this._indexMap.findLastNotAfter(token.range[0]); - } - - /** - * Sets the offset column of token B to match the offset column of token A. - * - **WARNING**: This matches a *column*, even if baseToken is not the first token on its line. In - * most cases, `setDesiredOffset` should be used instead. - * @param {Token} baseToken The first token - * @param {Token} offsetToken The second token, whose offset should be matched to the first token - * @returns {void} - */ - matchOffsetOf(baseToken, offsetToken) { - - /* - * lockedFirstTokens is a map from a token whose indentation is controlled by the "first" option to - * the token that it depends on. For example, with the `ArrayExpression: first` option, the first - * token of each element in the array after the first will be mapped to the first token of the first - * element. The desired indentation of each of these tokens is computed based on the desired indentation - * of the "first" element, rather than through the normal offset mechanism. - */ - this._lockedFirstTokens.set(offsetToken, baseToken); - } - - /** - * Sets the desired offset of a token. - * - * This uses a line-based offset collapsing behavior to handle tokens on the same line. - * For example, consider the following two cases: - * - * ( - * [ - * bar - * ] - * ) - * - * ([ - * bar - * ]) - * - * Based on the first case, it's clear that the `bar` token needs to have an offset of 1 indent level (4 spaces) from - * the `[` token, and the `[` token has to have an offset of 1 indent level from the `(` token. Since the `(` token is - * the first on its line (with an indent of 0 spaces), the `bar` token needs to be offset by 2 indent levels (8 spaces) - * from the start of its line. - * - * However, in the second case `bar` should only be indented by 4 spaces. This is because the offset of 1 indent level - * between the `(` and the `[` tokens gets "collapsed" because the two tokens are on the same line. As a result, the - * `(` token is mapped to the `[` token with an offset of 0, and the rule correctly decides that `bar` should be indented - * by 1 indent level from the start of the line. - * - * This is useful because rule listeners can usually just call `setDesiredOffset` for all the tokens in the node, - * without needing to check which lines those tokens are on. - * - * Note that since collapsing only occurs when two tokens are on the same line, there are a few cases where non-intuitive - * behavior can occur. For example, consider the following cases: - * - * foo( - * ). - * bar( - * baz - * ) - * - * foo( - * ).bar( - * baz - * ) - * - * Based on the first example, it would seem that `bar` should be offset by 1 indent level from `foo`, and `baz` - * should be offset by 1 indent level from `bar`. However, this is not correct, because it would result in `baz` - * being indented by 2 indent levels in the second case (since `foo`, `bar`, and `baz` are all on separate lines, no - * collapsing would occur). - * - * Instead, the correct way would be to offset `baz` by 1 level from `bar`, offset `bar` by 1 level from the `)`, and - * offset the `)` by 0 levels from `foo`. This ensures that the offset between `bar` and the `)` are correctly collapsed - * in the second case. - * @param {Token} token The token - * @param {Token} fromToken The token that `token` should be offset from - * @param {number} offset The desired indent level - * @returns {void} - */ - setDesiredOffset(token, fromToken, offset) { - return this.setDesiredOffsets(token.range, fromToken, offset); - } - - /** - * Sets the desired offset of all tokens in a range - * It's common for node listeners in this file to need to apply the same offset to a large, contiguous range of tokens. - * Moreover, the offset of any given token is usually updated multiple times (roughly once for each node that contains - * it). This means that the offset of each token is updated O(AST depth) times. - * It would not be performant to store and update the offsets for each token independently, because the rule would end - * up having a time complexity of O(number of tokens * AST depth), which is quite slow for large files. - * - * Instead, the offset tree is represented as a collection of contiguous offset ranges in a file. For example, the following - * list could represent the state of the offset tree at a given point: - * - * - Tokens starting in the interval [0, 15) are aligned with the beginning of the file - * - Tokens starting in the interval [15, 30) are offset by 1 indent level from the `bar` token - * - Tokens starting in the interval [30, 43) are offset by 1 indent level from the `foo` token - * - Tokens starting in the interval [43, 820) are offset by 2 indent levels from the `bar` token - * - Tokens starting in the interval [820, ∞) are offset by 1 indent level from the `baz` token - * - * The `setDesiredOffsets` methods inserts ranges like the ones above. The third line above would be inserted by using: - * `setDesiredOffsets([30, 43], fooToken, 1);` - * @param {[number, number]} range A [start, end] pair. All tokens with range[0] <= token.start < range[1] will have the offset applied. - * @param {Token} fromToken The token that this is offset from - * @param {number} offset The desired indent level - * @param {boolean} force `true` if this offset should not use the normal collapsing behavior. This should almost always be false. - * @returns {void} - */ - setDesiredOffsets(range, fromToken, offset, force) { - - /* - * Offset ranges are stored as a collection of nodes, where each node maps a numeric key to an offset - * descriptor. The tree for the example above would have the following nodes: - * - * * key: 0, value: { offset: 0, from: null } - * * key: 15, value: { offset: 1, from: barToken } - * * key: 30, value: { offset: 1, from: fooToken } - * * key: 43, value: { offset: 2, from: barToken } - * * key: 820, value: { offset: 1, from: bazToken } - * - * To find the offset descriptor for any given token, one needs to find the node with the largest key - * which is <= token.start. To make this operation fast, the nodes are stored in a map indexed by key. - */ - - const descriptorToInsert = { offset, from: fromToken, force }; - - const descriptorAfterRange = this._indexMap.findLastNotAfter(range[1]); - - const fromTokenIsInRange = fromToken && fromToken.range[0] >= range[0] && fromToken.range[1] <= range[1]; - const fromTokenDescriptor = fromTokenIsInRange && this._getOffsetDescriptor(fromToken); - - // First, remove any existing nodes in the range from the map. - this._indexMap.deleteRange(range[0] + 1, range[1]); - - // Insert a new node into the map for this range - this._indexMap.insert(range[0], descriptorToInsert); - - /* - * To avoid circular offset dependencies, keep the `fromToken` token mapped to whatever it was mapped to previously, - * even if it's in the current range. - */ - if (fromTokenIsInRange) { - this._indexMap.insert(fromToken.range[0], fromTokenDescriptor); - this._indexMap.insert(fromToken.range[1], descriptorToInsert); - } - - /* - * To avoid modifying the offset of tokens after the range, insert another node to keep the offset of the following - * tokens the same as it was before. - */ - this._indexMap.insert(range[1], descriptorAfterRange); - } - - /** - * Gets the desired indent of a token - * @param {Token} token The token - * @returns {string} The desired indent of the token - */ - getDesiredIndent(token) { - if (!this._desiredIndentCache.has(token)) { - - if (this._ignoredTokens.has(token)) { - - /* - * If the token is ignored, use the actual indent of the token as the desired indent. - * This ensures that no errors are reported for this token. - */ - this._desiredIndentCache.set( - token, - this._tokenInfo.getTokenIndent(token) - ); - } else if (this._lockedFirstTokens.has(token)) { - const firstToken = this._lockedFirstTokens.get(token); - - this._desiredIndentCache.set( - token, - - // (indentation for the first element's line) - this.getDesiredIndent(this._tokenInfo.getFirstTokenOfLine(firstToken)) + - - // (space between the start of the first element's line and the first element) - this._indentType.repeat(firstToken.loc.start.column - this._tokenInfo.getFirstTokenOfLine(firstToken).loc.start.column) - ); - } else { - const offsetInfo = this._getOffsetDescriptor(token); - const offset = ( - offsetInfo.from && - offsetInfo.from.loc.start.line === token.loc.start.line && - !/^\s*?\n/u.test(token.value) && - !offsetInfo.force - ) ? 0 : offsetInfo.offset * this._indentSize; - - this._desiredIndentCache.set( - token, - (offsetInfo.from ? this.getDesiredIndent(offsetInfo.from) : "") + this._indentType.repeat(offset) - ); - } - } - return this._desiredIndentCache.get(token); - } - - /** - * Ignores a token, preventing it from being reported. - * @param {Token} token The token - * @returns {void} - */ - ignoreToken(token) { - if (this._tokenInfo.isFirstTokenOfLine(token)) { - this._ignoredTokens.add(token); - } - } - - /** - * Gets the first token that the given token's indentation is dependent on - * @param {Token} token The token - * @returns {Token} The token that the given token depends on, or `null` if the given token is at the top level - */ - getFirstDependency(token) { - return this._getOffsetDescriptor(token).from; - } -} - -const ELEMENT_LIST_SCHEMA = { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["first", "off"] - } - ] -}; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent indentation", - recommended: false, - url: "https://eslint.org/docs/latest/rules/indent" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["tab"] - }, - { - type: "integer", - minimum: 0 - } - ] - }, - { - type: "object", - properties: { - SwitchCase: { - type: "integer", - minimum: 0, - default: 0 - }, - VariableDeclarator: { - oneOf: [ - ELEMENT_LIST_SCHEMA, - { - type: "object", - properties: { - var: ELEMENT_LIST_SCHEMA, - let: ELEMENT_LIST_SCHEMA, - const: ELEMENT_LIST_SCHEMA - }, - additionalProperties: false - } - ] - }, - outerIIFEBody: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["off"] - } - ] - }, - MemberExpression: { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - enum: ["off"] - } - ] - }, - FunctionDeclaration: { - type: "object", - properties: { - parameters: ELEMENT_LIST_SCHEMA, - body: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - }, - FunctionExpression: { - type: "object", - properties: { - parameters: ELEMENT_LIST_SCHEMA, - body: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - }, - StaticBlock: { - type: "object", - properties: { - body: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - }, - CallExpression: { - type: "object", - properties: { - arguments: ELEMENT_LIST_SCHEMA - }, - additionalProperties: false - }, - ArrayExpression: ELEMENT_LIST_SCHEMA, - ObjectExpression: ELEMENT_LIST_SCHEMA, - ImportDeclaration: ELEMENT_LIST_SCHEMA, - flatTernaryExpressions: { - type: "boolean", - default: false - }, - offsetTernaryExpressions: { - type: "boolean", - default: false - }, - ignoredNodes: { - type: "array", - items: { - type: "string", - not: { - pattern: ":exit$" - } - } - }, - ignoreComments: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - messages: { - wrongIndentation: "Expected indentation of {{expected}} but found {{actual}}." - } - }, - - create(context) { - const DEFAULT_VARIABLE_INDENT = 1; - const DEFAULT_PARAMETER_INDENT = 1; - const DEFAULT_FUNCTION_BODY_INDENT = 1; - - let indentType = "space"; - let indentSize = 4; - const options = { - SwitchCase: 0, - VariableDeclarator: { - var: DEFAULT_VARIABLE_INDENT, - let: DEFAULT_VARIABLE_INDENT, - const: DEFAULT_VARIABLE_INDENT - }, - outerIIFEBody: 1, - FunctionDeclaration: { - parameters: DEFAULT_PARAMETER_INDENT, - body: DEFAULT_FUNCTION_BODY_INDENT - }, - FunctionExpression: { - parameters: DEFAULT_PARAMETER_INDENT, - body: DEFAULT_FUNCTION_BODY_INDENT - }, - StaticBlock: { - body: DEFAULT_FUNCTION_BODY_INDENT - }, - CallExpression: { - arguments: DEFAULT_PARAMETER_INDENT - }, - MemberExpression: 1, - ArrayExpression: 1, - ObjectExpression: 1, - ImportDeclaration: 1, - flatTernaryExpressions: false, - ignoredNodes: [], - ignoreComments: false - }; - - if (context.options.length) { - if (context.options[0] === "tab") { - indentSize = 1; - indentType = "tab"; - } else { - indentSize = context.options[0]; - indentType = "space"; - } - - if (context.options[1]) { - Object.assign(options, context.options[1]); - - if (typeof options.VariableDeclarator === "number" || options.VariableDeclarator === "first") { - options.VariableDeclarator = { - var: options.VariableDeclarator, - let: options.VariableDeclarator, - const: options.VariableDeclarator - }; - } - } - } - - const sourceCode = context.sourceCode; - const tokenInfo = new TokenInfo(sourceCode); - const offsets = new OffsetStorage(tokenInfo, indentSize, indentType === "space" ? " " : "\t", sourceCode.text.length); - const parameterParens = new WeakSet(); - - /** - * Creates an error message for a line, given the expected/actual indentation. - * @param {int} expectedAmount The expected amount of indentation characters for this line - * @param {int} actualSpaces The actual number of indentation spaces that were found on this line - * @param {int} actualTabs The actual number of indentation tabs that were found on this line - * @returns {string} An error message for this line - */ - function createErrorMessageData(expectedAmount, actualSpaces, actualTabs) { - const expectedStatement = `${expectedAmount} ${indentType}${expectedAmount === 1 ? "" : "s"}`; // e.g. "2 tabs" - const foundSpacesWord = `space${actualSpaces === 1 ? "" : "s"}`; // e.g. "space" - const foundTabsWord = `tab${actualTabs === 1 ? "" : "s"}`; // e.g. "tabs" - let foundStatement; - - if (actualSpaces > 0) { - - /* - * Abbreviate the message if the expected indentation is also spaces. - * e.g. 'Expected 4 spaces but found 2' rather than 'Expected 4 spaces but found 2 spaces' - */ - foundStatement = indentType === "space" ? actualSpaces : `${actualSpaces} ${foundSpacesWord}`; - } else if (actualTabs > 0) { - foundStatement = indentType === "tab" ? actualTabs : `${actualTabs} ${foundTabsWord}`; - } else { - foundStatement = "0"; - } - return { - expected: expectedStatement, - actual: foundStatement - }; - } - - /** - * Reports a given indent violation - * @param {Token} token Token violating the indent rule - * @param {string} neededIndent Expected indentation string - * @returns {void} - */ - function report(token, neededIndent) { - const actualIndent = Array.from(tokenInfo.getTokenIndent(token)); - const numSpaces = actualIndent.filter(char => char === " ").length; - const numTabs = actualIndent.filter(char => char === "\t").length; - - context.report({ - node: token, - messageId: "wrongIndentation", - data: createErrorMessageData(neededIndent.length, numSpaces, numTabs), - loc: { - start: { line: token.loc.start.line, column: 0 }, - end: { line: token.loc.start.line, column: token.loc.start.column } - }, - fix(fixer) { - const range = [token.range[0] - token.loc.start.column, token.range[0]]; - const newText = neededIndent; - - return fixer.replaceTextRange(range, newText); - } - }); - } - - /** - * Checks if a token's indentation is correct - * @param {Token} token Token to examine - * @param {string} desiredIndent Desired indentation of the string - * @returns {boolean} `true` if the token's indentation is correct - */ - function validateTokenIndent(token, desiredIndent) { - const indentation = tokenInfo.getTokenIndent(token); - - return indentation === desiredIndent || - - // To avoid conflicts with no-mixed-spaces-and-tabs, don't report mixed spaces and tabs. - indentation.includes(" ") && indentation.includes("\t"); - } - - /** - * Check to see if the node is a file level IIFE - * @param {ASTNode} node The function node to check. - * @returns {boolean} True if the node is the outer IIFE - */ - function isOuterIIFE(node) { - - /* - * Verify that the node is an IIFE - */ - if (!node.parent || node.parent.type !== "CallExpression" || node.parent.callee !== node) { - return false; - } - - /* - * Navigate legal ancestors to determine whether this IIFE is outer. - * A "legal ancestor" is an expression or statement that causes the function to get executed immediately. - * For example, `!(function(){})()` is an outer IIFE even though it is preceded by a ! operator. - */ - let statement = node.parent && node.parent.parent; - - while ( - statement.type === "UnaryExpression" && ["!", "~", "+", "-"].includes(statement.operator) || - statement.type === "AssignmentExpression" || - statement.type === "LogicalExpression" || - statement.type === "SequenceExpression" || - statement.type === "VariableDeclarator" - ) { - statement = statement.parent; - } - - return (statement.type === "ExpressionStatement" || statement.type === "VariableDeclaration") && statement.parent.type === "Program"; - } - - /** - * Counts the number of linebreaks that follow the last non-whitespace character in a string - * @param {string} string The string to check - * @returns {number} The number of JavaScript linebreaks that follow the last non-whitespace character, - * or the total number of linebreaks if the string is all whitespace. - */ - function countTrailingLinebreaks(string) { - const trailingWhitespace = string.match(/\s*$/u)[0]; - const linebreakMatches = trailingWhitespace.match(astUtils.createGlobalLinebreakMatcher()); - - return linebreakMatches === null ? 0 : linebreakMatches.length; - } - - /** - * Check indentation for lists of elements (arrays, objects, function params) - * @param {ASTNode[]} elements List of elements that should be offset - * @param {Token} startToken The start token of the list that element should be aligned against, e.g. '[' - * @param {Token} endToken The end token of the list, e.g. ']' - * @param {number|string} offset The amount that the elements should be offset - * @returns {void} - */ - function addElementListIndent(elements, startToken, endToken, offset) { - - /** - * Gets the first token of a given element, including surrounding parentheses. - * @param {ASTNode} element A node in the `elements` list - * @returns {Token} The first token of this element - */ - function getFirstToken(element) { - let token = sourceCode.getTokenBefore(element); - - while (astUtils.isOpeningParenToken(token) && token !== startToken) { - token = sourceCode.getTokenBefore(token); - } - return sourceCode.getTokenAfter(token); - } - - // Run through all the tokens in the list, and offset them by one indent level (mainly for comments, other things will end up overridden) - offsets.setDesiredOffsets( - [startToken.range[1], endToken.range[0]], - startToken, - typeof offset === "number" ? offset : 1 - ); - offsets.setDesiredOffset(endToken, startToken, 0); - - // If the preference is "first" but there is no first element (e.g. sparse arrays w/ empty first slot), fall back to 1 level. - if (offset === "first" && elements.length && !elements[0]) { - return; - } - elements.forEach((element, index) => { - if (!element) { - - // Skip holes in arrays - return; - } - if (offset === "off") { - - // Ignore the first token of every element if the "off" option is used - offsets.ignoreToken(getFirstToken(element)); - } - - // Offset the following elements correctly relative to the first element - if (index === 0) { - return; - } - if (offset === "first" && tokenInfo.isFirstTokenOfLine(getFirstToken(element))) { - offsets.matchOffsetOf(getFirstToken(elements[0]), getFirstToken(element)); - } else { - const previousElement = elements[index - 1]; - const firstTokenOfPreviousElement = previousElement && getFirstToken(previousElement); - const previousElementLastToken = previousElement && sourceCode.getLastToken(previousElement); - - if ( - previousElement && - previousElementLastToken.loc.end.line - countTrailingLinebreaks(previousElementLastToken.value) > startToken.loc.end.line - ) { - offsets.setDesiredOffsets( - [previousElement.range[1], element.range[1]], - firstTokenOfPreviousElement, - 0 - ); - } - } - }); - } - - /** - * Check and decide whether to check for indentation for blockless nodes - * Scenarios are for or while statements without braces around them - * @param {ASTNode} node node to examine - * @returns {void} - */ - function addBlocklessNodeIndent(node) { - if (node.type !== "BlockStatement") { - const lastParentToken = sourceCode.getTokenBefore(node, astUtils.isNotOpeningParenToken); - - let firstBodyToken = sourceCode.getFirstToken(node); - let lastBodyToken = sourceCode.getLastToken(node); - - while ( - astUtils.isOpeningParenToken(sourceCode.getTokenBefore(firstBodyToken)) && - astUtils.isClosingParenToken(sourceCode.getTokenAfter(lastBodyToken)) - ) { - firstBodyToken = sourceCode.getTokenBefore(firstBodyToken); - lastBodyToken = sourceCode.getTokenAfter(lastBodyToken); - } - - offsets.setDesiredOffsets([firstBodyToken.range[0], lastBodyToken.range[1]], lastParentToken, 1); - } - } - - /** - * Checks the indentation for nodes that are like function calls (`CallExpression` and `NewExpression`) - * @param {ASTNode} node A CallExpression or NewExpression node - * @returns {void} - */ - function addFunctionCallIndent(node) { - let openingParen; - - if (node.arguments.length) { - openingParen = sourceCode.getFirstTokenBetween(node.callee, node.arguments[0], astUtils.isOpeningParenToken); - } else { - openingParen = sourceCode.getLastToken(node, 1); - } - const closingParen = sourceCode.getLastToken(node); - - parameterParens.add(openingParen); - parameterParens.add(closingParen); - - /* - * If `?.` token exists, set desired offset for that. - * This logic is copied from `MemberExpression`'s. - */ - if (node.optional) { - const dotToken = sourceCode.getTokenAfter(node.callee, astUtils.isQuestionDotToken); - const calleeParenCount = sourceCode.getTokensBetween(node.callee, dotToken, { filter: astUtils.isClosingParenToken }).length; - const firstTokenOfCallee = calleeParenCount - ? sourceCode.getTokenBefore(node.callee, { skip: calleeParenCount - 1 }) - : sourceCode.getFirstToken(node.callee); - const lastTokenOfCallee = sourceCode.getTokenBefore(dotToken); - const offsetBase = lastTokenOfCallee.loc.end.line === openingParen.loc.start.line - ? lastTokenOfCallee - : firstTokenOfCallee; - - offsets.setDesiredOffset(dotToken, offsetBase, 1); - } - - const offsetAfterToken = node.callee.type === "TaggedTemplateExpression" ? sourceCode.getFirstToken(node.callee.quasi) : openingParen; - const offsetToken = sourceCode.getTokenBefore(offsetAfterToken); - - offsets.setDesiredOffset(openingParen, offsetToken, 0); - - addElementListIndent(node.arguments, openingParen, closingParen, options.CallExpression.arguments); - } - - /** - * Checks the indentation of parenthesized values, given a list of tokens in a program - * @param {Token[]} tokens A list of tokens - * @returns {void} - */ - function addParensIndent(tokens) { - const parenStack = []; - const parenPairs = []; - - for (let i = 0; i < tokens.length; i++) { - const nextToken = tokens[i]; - - if (astUtils.isOpeningParenToken(nextToken)) { - parenStack.push(nextToken); - } else if (astUtils.isClosingParenToken(nextToken)) { - parenPairs.push({ left: parenStack.pop(), right: nextToken }); - } - } - - for (let i = parenPairs.length - 1; i >= 0; i--) { - const leftParen = parenPairs[i].left; - const rightParen = parenPairs[i].right; - - // We only want to handle parens around expressions, so exclude parentheses that are in function parameters and function call arguments. - if (!parameterParens.has(leftParen) && !parameterParens.has(rightParen)) { - const parenthesizedTokens = new Set(sourceCode.getTokensBetween(leftParen, rightParen)); - - parenthesizedTokens.forEach(token => { - if (!parenthesizedTokens.has(offsets.getFirstDependency(token))) { - offsets.setDesiredOffset(token, leftParen, 1); - } - }); - } - - offsets.setDesiredOffset(rightParen, leftParen, 0); - } - } - - /** - * Ignore all tokens within an unknown node whose offset do not depend - * on another token's offset within the unknown node - * @param {ASTNode} node Unknown Node - * @returns {void} - */ - function ignoreNode(node) { - const unknownNodeTokens = new Set(sourceCode.getTokens(node, { includeComments: true })); - - unknownNodeTokens.forEach(token => { - if (!unknownNodeTokens.has(offsets.getFirstDependency(token))) { - const firstTokenOfLine = tokenInfo.getFirstTokenOfLine(token); - - if (token === firstTokenOfLine) { - offsets.ignoreToken(token); - } else { - offsets.setDesiredOffset(token, firstTokenOfLine, 0); - } - } - }); - } - - /** - * Check whether the given token is on the first line of a statement. - * @param {Token} token The token to check. - * @param {ASTNode} leafNode The expression node that the token belongs directly. - * @returns {boolean} `true` if the token is on the first line of a statement. - */ - function isOnFirstLineOfStatement(token, leafNode) { - let node = leafNode; - - while (node.parent && !node.parent.type.endsWith("Statement") && !node.parent.type.endsWith("Declaration")) { - node = node.parent; - } - node = node.parent; - - return !node || node.loc.start.line === token.loc.start.line; - } - - /** - * Check whether there are any blank (whitespace-only) lines between - * two tokens on separate lines. - * @param {Token} firstToken The first token. - * @param {Token} secondToken The second token. - * @returns {boolean} `true` if the tokens are on separate lines and - * there exists a blank line between them, `false` otherwise. - */ - function hasBlankLinesBetween(firstToken, secondToken) { - const firstTokenLine = firstToken.loc.end.line; - const secondTokenLine = secondToken.loc.start.line; - - if (firstTokenLine === secondTokenLine || firstTokenLine === secondTokenLine - 1) { - return false; - } - - for (let line = firstTokenLine + 1; line < secondTokenLine; ++line) { - if (!tokenInfo.firstTokensByLineNumber.has(line)) { - return true; - } - } - - return false; - } - - const ignoredNodeFirstTokens = new Set(); - - const baseOffsetListeners = { - "ArrayExpression, ArrayPattern"(node) { - const openingBracket = sourceCode.getFirstToken(node); - const closingBracket = sourceCode.getTokenAfter([...node.elements].reverse().find(_ => _) || openingBracket, astUtils.isClosingBracketToken); - - addElementListIndent(node.elements, openingBracket, closingBracket, options.ArrayExpression); - }, - - "ObjectExpression, ObjectPattern"(node) { - const openingCurly = sourceCode.getFirstToken(node); - const closingCurly = sourceCode.getTokenAfter( - node.properties.length ? node.properties.at(-1) : openingCurly, - astUtils.isClosingBraceToken - ); - - addElementListIndent(node.properties, openingCurly, closingCurly, options.ObjectExpression); - }, - - ArrowFunctionExpression(node) { - const maybeOpeningParen = sourceCode.getFirstToken(node, { skip: node.async ? 1 : 0 }); - - if (astUtils.isOpeningParenToken(maybeOpeningParen)) { - const openingParen = maybeOpeningParen; - const closingParen = sourceCode.getTokenBefore(node.body, astUtils.isClosingParenToken); - - parameterParens.add(openingParen); - parameterParens.add(closingParen); - addElementListIndent(node.params, openingParen, closingParen, options.FunctionExpression.parameters); - } - - addBlocklessNodeIndent(node.body); - }, - - AssignmentExpression(node) { - const operator = sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator); - - offsets.setDesiredOffsets([operator.range[0], node.range[1]], sourceCode.getLastToken(node.left), 1); - offsets.ignoreToken(operator); - offsets.ignoreToken(sourceCode.getTokenAfter(operator)); - }, - - "BinaryExpression, LogicalExpression"(node) { - const operator = sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator); - - /* - * For backwards compatibility, don't check BinaryExpression indents, e.g. - * var foo = bar && - * baz; - */ - - const tokenAfterOperator = sourceCode.getTokenAfter(operator); - - offsets.ignoreToken(operator); - offsets.ignoreToken(tokenAfterOperator); - offsets.setDesiredOffset(tokenAfterOperator, operator, 0); - }, - - "BlockStatement, ClassBody"(node) { - let blockIndentLevel; - - if (node.parent && isOuterIIFE(node.parent)) { - blockIndentLevel = options.outerIIFEBody; - } else if (node.parent && (node.parent.type === "FunctionExpression" || node.parent.type === "ArrowFunctionExpression")) { - blockIndentLevel = options.FunctionExpression.body; - } else if (node.parent && node.parent.type === "FunctionDeclaration") { - blockIndentLevel = options.FunctionDeclaration.body; - } else { - blockIndentLevel = 1; - } - - /* - * For blocks that aren't lone statements, ensure that the opening curly brace - * is aligned with the parent. - */ - if (!astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type)) { - offsets.setDesiredOffset(sourceCode.getFirstToken(node), sourceCode.getFirstToken(node.parent), 0); - } - - addElementListIndent(node.body, sourceCode.getFirstToken(node), sourceCode.getLastToken(node), blockIndentLevel); - }, - - CallExpression: addFunctionCallIndent, - - "ClassDeclaration[superClass], ClassExpression[superClass]"(node) { - const classToken = sourceCode.getFirstToken(node); - const extendsToken = sourceCode.getTokenBefore(node.superClass, astUtils.isNotOpeningParenToken); - - offsets.setDesiredOffsets([extendsToken.range[0], node.body.range[0]], classToken, 1); - }, - - ConditionalExpression(node) { - const firstToken = sourceCode.getFirstToken(node); - - // `flatTernaryExpressions` option is for the following style: - // var a = - // foo > 0 ? bar : - // foo < 0 ? baz : - // /*else*/ qiz ; - if (!options.flatTernaryExpressions || - !astUtils.isTokenOnSameLine(node.test, node.consequent) || - isOnFirstLineOfStatement(firstToken, node) - ) { - const questionMarkToken = sourceCode.getFirstTokenBetween(node.test, node.consequent, token => token.type === "Punctuator" && token.value === "?"); - const colonToken = sourceCode.getFirstTokenBetween(node.consequent, node.alternate, token => token.type === "Punctuator" && token.value === ":"); - - const firstConsequentToken = sourceCode.getTokenAfter(questionMarkToken); - const lastConsequentToken = sourceCode.getTokenBefore(colonToken); - const firstAlternateToken = sourceCode.getTokenAfter(colonToken); - - offsets.setDesiredOffset(questionMarkToken, firstToken, 1); - offsets.setDesiredOffset(colonToken, firstToken, 1); - - offsets.setDesiredOffset(firstConsequentToken, firstToken, firstConsequentToken.type === "Punctuator" && - options.offsetTernaryExpressions ? 2 : 1); - - /* - * The alternate and the consequent should usually have the same indentation. - * If they share part of a line, align the alternate against the first token of the consequent. - * This allows the alternate to be indented correctly in cases like this: - * foo ? ( - * bar - * ) : ( // this '(' is aligned with the '(' above, so it's considered to be aligned with `foo` - * baz // as a result, `baz` is offset by 1 rather than 2 - * ) - */ - if (lastConsequentToken.loc.end.line === firstAlternateToken.loc.start.line) { - offsets.setDesiredOffset(firstAlternateToken, firstConsequentToken, 0); - } else { - - /** - * If the alternate and consequent do not share part of a line, offset the alternate from the first - * token of the conditional expression. For example: - * foo ? bar - * : baz - * - * If `baz` were aligned with `bar` rather than being offset by 1 from `foo`, `baz` would end up - * having no expected indentation. - */ - offsets.setDesiredOffset(firstAlternateToken, firstToken, firstAlternateToken.type === "Punctuator" && - options.offsetTernaryExpressions ? 2 : 1); - } - } - }, - - "DoWhileStatement, WhileStatement, ForInStatement, ForOfStatement, WithStatement": node => addBlocklessNodeIndent(node.body), - - ExportNamedDeclaration(node) { - if (node.declaration === null) { - const closingCurly = sourceCode.getLastToken(node, astUtils.isClosingBraceToken); - - // Indent the specifiers in `export {foo, bar, baz}` - addElementListIndent(node.specifiers, sourceCode.getFirstToken(node, { skip: 1 }), closingCurly, 1); - - if (node.source) { - - // Indent everything after and including the `from` token in `export {foo, bar, baz} from 'qux'` - offsets.setDesiredOffsets([closingCurly.range[1], node.range[1]], sourceCode.getFirstToken(node), 1); - } - } - }, - - ForStatement(node) { - const forOpeningParen = sourceCode.getFirstToken(node, 1); - - if (node.init) { - offsets.setDesiredOffsets(node.init.range, forOpeningParen, 1); - } - if (node.test) { - offsets.setDesiredOffsets(node.test.range, forOpeningParen, 1); - } - if (node.update) { - offsets.setDesiredOffsets(node.update.range, forOpeningParen, 1); - } - addBlocklessNodeIndent(node.body); - }, - - "FunctionDeclaration, FunctionExpression"(node) { - const closingParen = sourceCode.getTokenBefore(node.body); - const openingParen = sourceCode.getTokenBefore(node.params.length ? node.params[0] : closingParen); - - parameterParens.add(openingParen); - parameterParens.add(closingParen); - addElementListIndent(node.params, openingParen, closingParen, options[node.type].parameters); - }, - - IfStatement(node) { - addBlocklessNodeIndent(node.consequent); - if (node.alternate) { - addBlocklessNodeIndent(node.alternate); - } - }, - - /* - * For blockless nodes with semicolon-first style, don't indent the semicolon. - * e.g. - * if (foo) - * bar() - * ; [1, 2, 3].map(foo) - * - * Traversal into the node sets indentation of the semicolon, so we need to override it on exit. - */ - ":matches(DoWhileStatement, ForStatement, ForInStatement, ForOfStatement, IfStatement, WhileStatement, WithStatement):exit"(node) { - let nodesToCheck; - - if (node.type === "IfStatement") { - nodesToCheck = [node.consequent]; - if (node.alternate) { - nodesToCheck.push(node.alternate); - } - } else { - nodesToCheck = [node.body]; - } - - for (const nodeToCheck of nodesToCheck) { - const lastToken = sourceCode.getLastToken(nodeToCheck); - - if (astUtils.isSemicolonToken(lastToken)) { - const tokenBeforeLast = sourceCode.getTokenBefore(lastToken); - const tokenAfterLast = sourceCode.getTokenAfter(lastToken); - - // override indentation of `;` only if its line looks like a semicolon-first style line - if ( - !astUtils.isTokenOnSameLine(tokenBeforeLast, lastToken) && - tokenAfterLast && - astUtils.isTokenOnSameLine(lastToken, tokenAfterLast) - ) { - offsets.setDesiredOffset( - lastToken, - sourceCode.getFirstToken(node), - 0 - ); - } - } - } - }, - - ImportDeclaration(node) { - if (node.specifiers.some(specifier => specifier.type === "ImportSpecifier")) { - const openingCurly = sourceCode.getFirstToken(node, astUtils.isOpeningBraceToken); - const closingCurly = sourceCode.getLastToken(node, astUtils.isClosingBraceToken); - - addElementListIndent(node.specifiers.filter(specifier => specifier.type === "ImportSpecifier"), openingCurly, closingCurly, options.ImportDeclaration); - } - - const fromToken = sourceCode.getLastToken(node, token => token.type === "Identifier" && token.value === "from"); - const sourceToken = sourceCode.getLastToken(node, token => token.type === "String"); - const semiToken = sourceCode.getLastToken(node, token => token.type === "Punctuator" && token.value === ";"); - - if (fromToken) { - const end = semiToken && semiToken.range[1] === sourceToken.range[1] ? node.range[1] : sourceToken.range[1]; - - offsets.setDesiredOffsets([fromToken.range[0], end], sourceCode.getFirstToken(node), 1); - } - }, - - ImportExpression(node) { - const openingParen = sourceCode.getFirstToken(node, 1); - const closingParen = sourceCode.getLastToken(node); - - parameterParens.add(openingParen); - parameterParens.add(closingParen); - offsets.setDesiredOffset(openingParen, sourceCode.getTokenBefore(openingParen), 0); - - addElementListIndent([node.source], openingParen, closingParen, options.CallExpression.arguments); - }, - - "MemberExpression, JSXMemberExpression, MetaProperty"(node) { - const object = node.type === "MetaProperty" ? node.meta : node.object; - const firstNonObjectToken = sourceCode.getFirstTokenBetween(object, node.property, astUtils.isNotClosingParenToken); - const secondNonObjectToken = sourceCode.getTokenAfter(firstNonObjectToken); - - const objectParenCount = sourceCode.getTokensBetween(object, node.property, { filter: astUtils.isClosingParenToken }).length; - const firstObjectToken = objectParenCount - ? sourceCode.getTokenBefore(object, { skip: objectParenCount - 1 }) - : sourceCode.getFirstToken(object); - const lastObjectToken = sourceCode.getTokenBefore(firstNonObjectToken); - const firstPropertyToken = node.computed ? firstNonObjectToken : secondNonObjectToken; - - if (node.computed) { - - // For computed MemberExpressions, match the closing bracket with the opening bracket. - offsets.setDesiredOffset(sourceCode.getLastToken(node), firstNonObjectToken, 0); - offsets.setDesiredOffsets(node.property.range, firstNonObjectToken, 1); - } - - /* - * If the object ends on the same line that the property starts, match against the last token - * of the object, to ensure that the MemberExpression is not indented. - * - * Otherwise, match against the first token of the object, e.g. - * foo - * .bar - * .baz // <-- offset by 1 from `foo` - */ - const offsetBase = lastObjectToken.loc.end.line === firstPropertyToken.loc.start.line - ? lastObjectToken - : firstObjectToken; - - if (typeof options.MemberExpression === "number") { - - // Match the dot (for non-computed properties) or the opening bracket (for computed properties) against the object. - offsets.setDesiredOffset(firstNonObjectToken, offsetBase, options.MemberExpression); - - /* - * For computed MemberExpressions, match the first token of the property against the opening bracket. - * Otherwise, match the first token of the property against the object. - */ - offsets.setDesiredOffset(secondNonObjectToken, node.computed ? firstNonObjectToken : offsetBase, options.MemberExpression); - } else { - - // If the MemberExpression option is off, ignore the dot and the first token of the property. - offsets.ignoreToken(firstNonObjectToken); - offsets.ignoreToken(secondNonObjectToken); - - // To ignore the property indentation, ensure that the property tokens depend on the ignored tokens. - offsets.setDesiredOffset(firstNonObjectToken, offsetBase, 0); - offsets.setDesiredOffset(secondNonObjectToken, firstNonObjectToken, 0); - } - }, - - NewExpression(node) { - - // Only indent the arguments if the NewExpression has parens (e.g. `new Foo(bar)` or `new Foo()`, but not `new Foo` - if (node.arguments.length > 0 || - astUtils.isClosingParenToken(sourceCode.getLastToken(node)) && - astUtils.isOpeningParenToken(sourceCode.getLastToken(node, 1))) { - addFunctionCallIndent(node); - } - }, - - Property(node) { - if (!node.shorthand && !node.method && node.kind === "init") { - const colon = sourceCode.getFirstTokenBetween(node.key, node.value, astUtils.isColonToken); - - offsets.ignoreToken(sourceCode.getTokenAfter(colon)); - } - }, - - PropertyDefinition(node) { - const firstToken = sourceCode.getFirstToken(node); - const maybeSemicolonToken = sourceCode.getLastToken(node); - let keyLastToken; - - // Indent key. - if (node.computed) { - const bracketTokenL = sourceCode.getTokenBefore(node.key, astUtils.isOpeningBracketToken); - const bracketTokenR = keyLastToken = sourceCode.getTokenAfter(node.key, astUtils.isClosingBracketToken); - const keyRange = [bracketTokenL.range[1], bracketTokenR.range[0]]; - - if (bracketTokenL !== firstToken) { - offsets.setDesiredOffset(bracketTokenL, firstToken, 0); - } - offsets.setDesiredOffsets(keyRange, bracketTokenL, 1); - offsets.setDesiredOffset(bracketTokenR, bracketTokenL, 0); - } else { - const idToken = keyLastToken = sourceCode.getFirstToken(node.key); - - if (idToken !== firstToken) { - offsets.setDesiredOffset(idToken, firstToken, 1); - } - } - - // Indent initializer. - if (node.value) { - const eqToken = sourceCode.getTokenBefore(node.value, astUtils.isEqToken); - const valueToken = sourceCode.getTokenAfter(eqToken); - - offsets.setDesiredOffset(eqToken, keyLastToken, 1); - offsets.setDesiredOffset(valueToken, eqToken, 1); - if (astUtils.isSemicolonToken(maybeSemicolonToken)) { - offsets.setDesiredOffset(maybeSemicolonToken, eqToken, 1); - } - } else if (astUtils.isSemicolonToken(maybeSemicolonToken)) { - offsets.setDesiredOffset(maybeSemicolonToken, keyLastToken, 1); - } - }, - - StaticBlock(node) { - const openingCurly = sourceCode.getFirstToken(node, { skip: 1 }); // skip the `static` token - const closingCurly = sourceCode.getLastToken(node); - - addElementListIndent(node.body, openingCurly, closingCurly, options.StaticBlock.body); - }, - - SwitchStatement(node) { - const openingCurly = sourceCode.getTokenAfter(node.discriminant, astUtils.isOpeningBraceToken); - const closingCurly = sourceCode.getLastToken(node); - - offsets.setDesiredOffsets([openingCurly.range[1], closingCurly.range[0]], openingCurly, options.SwitchCase); - - if (node.cases.length) { - sourceCode.getTokensBetween( - node.cases.at(-1), - closingCurly, - { includeComments: true, filter: astUtils.isCommentToken } - ).forEach(token => offsets.ignoreToken(token)); - } - }, - - SwitchCase(node) { - if (!(node.consequent.length === 1 && node.consequent[0].type === "BlockStatement")) { - const caseKeyword = sourceCode.getFirstToken(node); - const tokenAfterCurrentCase = sourceCode.getTokenAfter(node); - - offsets.setDesiredOffsets([caseKeyword.range[1], tokenAfterCurrentCase.range[0]], caseKeyword, 1); - } - }, - - TemplateLiteral(node) { - node.expressions.forEach((expression, index) => { - const previousQuasi = node.quasis[index]; - const nextQuasi = node.quasis[index + 1]; - const tokenToAlignFrom = previousQuasi.loc.start.line === previousQuasi.loc.end.line - ? sourceCode.getFirstToken(previousQuasi) - : null; - - offsets.setDesiredOffsets([previousQuasi.range[1], nextQuasi.range[0]], tokenToAlignFrom, 1); - offsets.setDesiredOffset(sourceCode.getFirstToken(nextQuasi), tokenToAlignFrom, 0); - }); - }, - - VariableDeclaration(node) { - let variableIndent = Object.hasOwn(options.VariableDeclarator, node.kind) - ? options.VariableDeclarator[node.kind] - : DEFAULT_VARIABLE_INDENT; - - const firstToken = sourceCode.getFirstToken(node), - lastToken = sourceCode.getLastToken(node); - - if (options.VariableDeclarator[node.kind] === "first") { - if (node.declarations.length > 1) { - addElementListIndent( - node.declarations, - firstToken, - lastToken, - "first" - ); - return; - } - - variableIndent = DEFAULT_VARIABLE_INDENT; - } - - if (node.declarations.at(-1).loc.start.line > node.loc.start.line) { - - /* - * VariableDeclarator indentation is a bit different from other forms of indentation, in that the - * indentation of an opening bracket sometimes won't match that of a closing bracket. For example, - * the following indentations are correct: - * - * var foo = { - * ok: true - * }; - * - * var foo = { - * ok: true, - * }, - * bar = 1; - * - * Account for when exiting the AST (after indentations have already been set for the nodes in - * the declaration) by manually increasing the indentation level of the tokens in this declarator - * on the same line as the start of the declaration, provided that there are declarators that - * follow this one. - */ - offsets.setDesiredOffsets(node.range, firstToken, variableIndent, true); - } else { - offsets.setDesiredOffsets(node.range, firstToken, variableIndent); - } - - if (astUtils.isSemicolonToken(lastToken)) { - offsets.ignoreToken(lastToken); - } - }, - - VariableDeclarator(node) { - if (node.init) { - const equalOperator = sourceCode.getTokenBefore(node.init, astUtils.isNotOpeningParenToken); - const tokenAfterOperator = sourceCode.getTokenAfter(equalOperator); - - offsets.ignoreToken(equalOperator); - offsets.ignoreToken(tokenAfterOperator); - offsets.setDesiredOffsets([tokenAfterOperator.range[0], node.range[1]], equalOperator, 1); - offsets.setDesiredOffset(equalOperator, sourceCode.getLastToken(node.id), 0); - } - }, - - "JSXAttribute[value]"(node) { - const equalsToken = sourceCode.getFirstTokenBetween(node.name, node.value, token => token.type === "Punctuator" && token.value === "="); - - offsets.setDesiredOffsets([equalsToken.range[0], node.value.range[1]], sourceCode.getFirstToken(node.name), 1); - }, - - JSXElement(node) { - if (node.closingElement) { - addElementListIndent(node.children, sourceCode.getFirstToken(node.openingElement), sourceCode.getFirstToken(node.closingElement), 1); - } - }, - - JSXOpeningElement(node) { - const firstToken = sourceCode.getFirstToken(node); - let closingToken; - - if (node.selfClosing) { - closingToken = sourceCode.getLastToken(node, { skip: 1 }); - offsets.setDesiredOffset(sourceCode.getLastToken(node), closingToken, 0); - } else { - closingToken = sourceCode.getLastToken(node); - } - offsets.setDesiredOffsets(node.name.range, sourceCode.getFirstToken(node)); - addElementListIndent(node.attributes, firstToken, closingToken, 1); - }, - - JSXClosingElement(node) { - const firstToken = sourceCode.getFirstToken(node); - - offsets.setDesiredOffsets(node.name.range, firstToken, 1); - }, - - JSXFragment(node) { - const firstOpeningToken = sourceCode.getFirstToken(node.openingFragment); - const firstClosingToken = sourceCode.getFirstToken(node.closingFragment); - - addElementListIndent(node.children, firstOpeningToken, firstClosingToken, 1); - }, - - JSXOpeningFragment(node) { - const firstToken = sourceCode.getFirstToken(node); - const closingToken = sourceCode.getLastToken(node); - - offsets.setDesiredOffsets(node.range, firstToken, 1); - offsets.matchOffsetOf(firstToken, closingToken); - }, - - JSXClosingFragment(node) { - const firstToken = sourceCode.getFirstToken(node); - const slashToken = sourceCode.getLastToken(node, { skip: 1 }); - const closingToken = sourceCode.getLastToken(node); - const tokenToMatch = astUtils.isTokenOnSameLine(slashToken, closingToken) ? slashToken : closingToken; - - offsets.setDesiredOffsets(node.range, firstToken, 1); - offsets.matchOffsetOf(firstToken, tokenToMatch); - }, - - JSXExpressionContainer(node) { - const openingCurly = sourceCode.getFirstToken(node); - const closingCurly = sourceCode.getLastToken(node); - - offsets.setDesiredOffsets( - [openingCurly.range[1], closingCurly.range[0]], - openingCurly, - 1 - ); - }, - - JSXSpreadAttribute(node) { - const openingCurly = sourceCode.getFirstToken(node); - const closingCurly = sourceCode.getLastToken(node); - - offsets.setDesiredOffsets( - [openingCurly.range[1], closingCurly.range[0]], - openingCurly, - 1 - ); - }, - - "*"(node) { - const firstToken = sourceCode.getFirstToken(node); - - // Ensure that the children of every node are indented at least as much as the first token. - if (firstToken && !ignoredNodeFirstTokens.has(firstToken)) { - offsets.setDesiredOffsets(node.range, firstToken, 0); - } - } - }; - - const listenerCallQueue = []; - - /* - * To ignore the indentation of a node: - * 1. Don't call the node's listener when entering it (if it has a listener) - * 2. Don't set any offsets against the first token of the node. - * 3. Call `ignoreNode` on the node sometime after exiting it and before validating offsets. - */ - const offsetListeners = {}; - - for (const [selector, listener] of Object.entries(baseOffsetListeners)) { - - /* - * Offset listener calls are deferred until traversal is finished, and are called as - * part of the final `Program:exit` listener. This is necessary because a node might - * be matched by multiple selectors. - * - * Example: Suppose there is an offset listener for `Identifier`, and the user has - * specified in configuration that `MemberExpression > Identifier` should be ignored. - * Due to selector specificity rules, the `Identifier` listener will get called first. However, - * if a given Identifier node is supposed to be ignored, then the `Identifier` offset listener - * should not have been called at all. Without doing extra selector matching, we don't know - * whether the Identifier matches the `MemberExpression > Identifier` selector until the - * `MemberExpression > Identifier` listener is called. - * - * To avoid this, the `Identifier` listener isn't called until traversal finishes and all - * ignored nodes are known. - */ - offsetListeners[selector] = node => listenerCallQueue.push({ listener, node }); - } - - // For each ignored node selector, set up a listener to collect it into the `ignoredNodes` set. - const ignoredNodes = new Set(); - - /** - * Ignores a node - * @param {ASTNode} node The node to ignore - * @returns {void} - */ - function addToIgnoredNodes(node) { - ignoredNodes.add(node); - ignoredNodeFirstTokens.add(sourceCode.getFirstToken(node)); - } - - const ignoredNodeListeners = options.ignoredNodes.reduce( - (listeners, ignoredSelector) => Object.assign(listeners, { [ignoredSelector]: addToIgnoredNodes }), - {} - ); - - /* - * Join the listeners, and add a listener to verify that all tokens actually have the correct indentation - * at the end. - * - * Using Object.assign will cause some offset listeners to be overwritten if the same selector also appears - * in `ignoredNodeListeners`. This isn't a problem because all of the matching nodes will be ignored, - * so those listeners wouldn't be called anyway. - */ - return Object.assign( - offsetListeners, - ignoredNodeListeners, - { - "*:exit"(node) { - - // If a node's type is nonstandard, we can't tell how its children should be offset, so ignore it. - if (!KNOWN_NODES.has(node.type)) { - addToIgnoredNodes(node); - } - }, - "Program:exit"() { - - // If ignoreComments option is enabled, ignore all comment tokens. - if (options.ignoreComments) { - sourceCode.getAllComments() - .forEach(comment => offsets.ignoreToken(comment)); - } - - // Invoke the queued offset listeners for the nodes that aren't ignored. - for (let i = 0; i < listenerCallQueue.length; i++) { - const nodeInfo = listenerCallQueue[i]; - - if (!ignoredNodes.has(nodeInfo.node)) { - nodeInfo.listener(nodeInfo.node); - } - } - - // Update the offsets for ignored nodes to prevent their child tokens from being reported. - ignoredNodes.forEach(ignoreNode); - - addParensIndent(sourceCode.ast.tokens); - - /* - * Create a Map from (tokenOrComment) => (precedingToken). - * This is necessary because sourceCode.getTokenBefore does not handle a comment as an argument correctly. - */ - const precedingTokens = new WeakMap(); - - for (let i = 0; i < sourceCode.ast.comments.length; i++) { - const comment = sourceCode.ast.comments[i]; - - const tokenOrCommentBefore = sourceCode.getTokenBefore(comment, { includeComments: true }); - const hasToken = precedingTokens.has(tokenOrCommentBefore) ? precedingTokens.get(tokenOrCommentBefore) : tokenOrCommentBefore; - - precedingTokens.set(comment, hasToken); - } - - for (let i = 1; i < sourceCode.lines.length + 1; i++) { - - if (!tokenInfo.firstTokensByLineNumber.has(i)) { - - // Don't check indentation on blank lines - continue; - } - - const firstTokenOfLine = tokenInfo.firstTokensByLineNumber.get(i); - - if (firstTokenOfLine.loc.start.line !== i) { - - // Don't check the indentation of multi-line tokens (e.g. template literals or block comments) twice. - continue; - } - - if (astUtils.isCommentToken(firstTokenOfLine)) { - const tokenBefore = precedingTokens.get(firstTokenOfLine); - const tokenAfter = tokenBefore ? sourceCode.getTokenAfter(tokenBefore) : sourceCode.ast.tokens[0]; - const mayAlignWithBefore = tokenBefore && !hasBlankLinesBetween(tokenBefore, firstTokenOfLine); - const mayAlignWithAfter = tokenAfter && !hasBlankLinesBetween(firstTokenOfLine, tokenAfter); - - /* - * If a comment precedes a line that begins with a semicolon token, align to that token, i.e. - * - * let foo - * // comment - * ;(async () => {})() - */ - if (tokenAfter && astUtils.isSemicolonToken(tokenAfter) && !astUtils.isTokenOnSameLine(firstTokenOfLine, tokenAfter)) { - offsets.setDesiredOffset(firstTokenOfLine, tokenAfter, 0); - } - - // If a comment matches the expected indentation of the token immediately before or after, don't report it. - if ( - mayAlignWithBefore && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenBefore)) || - mayAlignWithAfter && validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(tokenAfter)) - ) { - continue; - } - } - - // If the token matches the expected indentation, don't report it. - if (validateTokenIndent(firstTokenOfLine, offsets.getDesiredIndent(firstTokenOfLine))) { - continue; - } - - // Otherwise, report the token/comment. - report(firstTokenOfLine, offsets.getDesiredIndent(firstTokenOfLine)); - } - } - } - ); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/index.js deleted file mode 100644 index 5ff7b6f5..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/index.js +++ /dev/null @@ -1,305 +0,0 @@ -/** - * @fileoverview Collects the built-in rules into a map structure so that they can be imported all at once and without - * using the file-system directly. - * @author Peter (Somogyvari) Metz - */ - -"use strict"; - -/* eslint sort-keys: ["error", "asc"] -- More readable for long list */ - -const { LazyLoadingRuleMap } = require("./utils/lazy-loading-rule-map"); - -/** @type {Map} */ -module.exports = new LazyLoadingRuleMap(Object.entries({ - "accessor-pairs": () => require("./accessor-pairs"), - "array-bracket-newline": () => require("./array-bracket-newline"), - "array-bracket-spacing": () => require("./array-bracket-spacing"), - "array-callback-return": () => require("./array-callback-return"), - "array-element-newline": () => require("./array-element-newline"), - "arrow-body-style": () => require("./arrow-body-style"), - "arrow-parens": () => require("./arrow-parens"), - "arrow-spacing": () => require("./arrow-spacing"), - "block-scoped-var": () => require("./block-scoped-var"), - "block-spacing": () => require("./block-spacing"), - "brace-style": () => require("./brace-style"), - "callback-return": () => require("./callback-return"), - camelcase: () => require("./camelcase"), - "capitalized-comments": () => require("./capitalized-comments"), - "class-methods-use-this": () => require("./class-methods-use-this"), - "comma-dangle": () => require("./comma-dangle"), - "comma-spacing": () => require("./comma-spacing"), - "comma-style": () => require("./comma-style"), - complexity: () => require("./complexity"), - "computed-property-spacing": () => require("./computed-property-spacing"), - "consistent-return": () => require("./consistent-return"), - "consistent-this": () => require("./consistent-this"), - "constructor-super": () => require("./constructor-super"), - curly: () => require("./curly"), - "default-case": () => require("./default-case"), - "default-case-last": () => require("./default-case-last"), - "default-param-last": () => require("./default-param-last"), - "dot-location": () => require("./dot-location"), - "dot-notation": () => require("./dot-notation"), - "eol-last": () => require("./eol-last"), - eqeqeq: () => require("./eqeqeq"), - "for-direction": () => require("./for-direction"), - "func-call-spacing": () => require("./func-call-spacing"), - "func-name-matching": () => require("./func-name-matching"), - "func-names": () => require("./func-names"), - "func-style": () => require("./func-style"), - "function-call-argument-newline": () => require("./function-call-argument-newline"), - "function-paren-newline": () => require("./function-paren-newline"), - "generator-star-spacing": () => require("./generator-star-spacing"), - "getter-return": () => require("./getter-return"), - "global-require": () => require("./global-require"), - "grouped-accessor-pairs": () => require("./grouped-accessor-pairs"), - "guard-for-in": () => require("./guard-for-in"), - "handle-callback-err": () => require("./handle-callback-err"), - "id-blacklist": () => require("./id-blacklist"), - "id-denylist": () => require("./id-denylist"), - "id-length": () => require("./id-length"), - "id-match": () => require("./id-match"), - "implicit-arrow-linebreak": () => require("./implicit-arrow-linebreak"), - indent: () => require("./indent"), - "indent-legacy": () => require("./indent-legacy"), - "init-declarations": () => require("./init-declarations"), - "jsx-quotes": () => require("./jsx-quotes"), - "key-spacing": () => require("./key-spacing"), - "keyword-spacing": () => require("./keyword-spacing"), - "line-comment-position": () => require("./line-comment-position"), - "linebreak-style": () => require("./linebreak-style"), - "lines-around-comment": () => require("./lines-around-comment"), - "lines-around-directive": () => require("./lines-around-directive"), - "lines-between-class-members": () => require("./lines-between-class-members"), - "logical-assignment-operators": () => require("./logical-assignment-operators"), - "max-classes-per-file": () => require("./max-classes-per-file"), - "max-depth": () => require("./max-depth"), - "max-len": () => require("./max-len"), - "max-lines": () => require("./max-lines"), - "max-lines-per-function": () => require("./max-lines-per-function"), - "max-nested-callbacks": () => require("./max-nested-callbacks"), - "max-params": () => require("./max-params"), - "max-statements": () => require("./max-statements"), - "max-statements-per-line": () => require("./max-statements-per-line"), - "multiline-comment-style": () => require("./multiline-comment-style"), - "multiline-ternary": () => require("./multiline-ternary"), - "new-cap": () => require("./new-cap"), - "new-parens": () => require("./new-parens"), - "newline-after-var": () => require("./newline-after-var"), - "newline-before-return": () => require("./newline-before-return"), - "newline-per-chained-call": () => require("./newline-per-chained-call"), - "no-alert": () => require("./no-alert"), - "no-array-constructor": () => require("./no-array-constructor"), - "no-async-promise-executor": () => require("./no-async-promise-executor"), - "no-await-in-loop": () => require("./no-await-in-loop"), - "no-bitwise": () => require("./no-bitwise"), - "no-buffer-constructor": () => require("./no-buffer-constructor"), - "no-caller": () => require("./no-caller"), - "no-case-declarations": () => require("./no-case-declarations"), - "no-catch-shadow": () => require("./no-catch-shadow"), - "no-class-assign": () => require("./no-class-assign"), - "no-compare-neg-zero": () => require("./no-compare-neg-zero"), - "no-cond-assign": () => require("./no-cond-assign"), - "no-confusing-arrow": () => require("./no-confusing-arrow"), - "no-console": () => require("./no-console"), - "no-const-assign": () => require("./no-const-assign"), - "no-constant-binary-expression": () => require("./no-constant-binary-expression"), - "no-constant-condition": () => require("./no-constant-condition"), - "no-constructor-return": () => require("./no-constructor-return"), - "no-continue": () => require("./no-continue"), - "no-control-regex": () => require("./no-control-regex"), - "no-debugger": () => require("./no-debugger"), - "no-delete-var": () => require("./no-delete-var"), - "no-div-regex": () => require("./no-div-regex"), - "no-dupe-args": () => require("./no-dupe-args"), - "no-dupe-class-members": () => require("./no-dupe-class-members"), - "no-dupe-else-if": () => require("./no-dupe-else-if"), - "no-dupe-keys": () => require("./no-dupe-keys"), - "no-duplicate-case": () => require("./no-duplicate-case"), - "no-duplicate-imports": () => require("./no-duplicate-imports"), - "no-else-return": () => require("./no-else-return"), - "no-empty": () => require("./no-empty"), - "no-empty-character-class": () => require("./no-empty-character-class"), - "no-empty-function": () => require("./no-empty-function"), - "no-empty-pattern": () => require("./no-empty-pattern"), - "no-empty-static-block": () => require("./no-empty-static-block"), - "no-eq-null": () => require("./no-eq-null"), - "no-eval": () => require("./no-eval"), - "no-ex-assign": () => require("./no-ex-assign"), - "no-extend-native": () => require("./no-extend-native"), - "no-extra-bind": () => require("./no-extra-bind"), - "no-extra-boolean-cast": () => require("./no-extra-boolean-cast"), - "no-extra-label": () => require("./no-extra-label"), - "no-extra-parens": () => require("./no-extra-parens"), - "no-extra-semi": () => require("./no-extra-semi"), - "no-fallthrough": () => require("./no-fallthrough"), - "no-floating-decimal": () => require("./no-floating-decimal"), - "no-func-assign": () => require("./no-func-assign"), - "no-global-assign": () => require("./no-global-assign"), - "no-implicit-coercion": () => require("./no-implicit-coercion"), - "no-implicit-globals": () => require("./no-implicit-globals"), - "no-implied-eval": () => require("./no-implied-eval"), - "no-import-assign": () => require("./no-import-assign"), - "no-inline-comments": () => require("./no-inline-comments"), - "no-inner-declarations": () => require("./no-inner-declarations"), - "no-invalid-regexp": () => require("./no-invalid-regexp"), - "no-invalid-this": () => require("./no-invalid-this"), - "no-irregular-whitespace": () => require("./no-irregular-whitespace"), - "no-iterator": () => require("./no-iterator"), - "no-label-var": () => require("./no-label-var"), - "no-labels": () => require("./no-labels"), - "no-lone-blocks": () => require("./no-lone-blocks"), - "no-lonely-if": () => require("./no-lonely-if"), - "no-loop-func": () => require("./no-loop-func"), - "no-loss-of-precision": () => require("./no-loss-of-precision"), - "no-magic-numbers": () => require("./no-magic-numbers"), - "no-misleading-character-class": () => require("./no-misleading-character-class"), - "no-mixed-operators": () => require("./no-mixed-operators"), - "no-mixed-requires": () => require("./no-mixed-requires"), - "no-mixed-spaces-and-tabs": () => require("./no-mixed-spaces-and-tabs"), - "no-multi-assign": () => require("./no-multi-assign"), - "no-multi-spaces": () => require("./no-multi-spaces"), - "no-multi-str": () => require("./no-multi-str"), - "no-multiple-empty-lines": () => require("./no-multiple-empty-lines"), - "no-native-reassign": () => require("./no-native-reassign"), - "no-negated-condition": () => require("./no-negated-condition"), - "no-negated-in-lhs": () => require("./no-negated-in-lhs"), - "no-nested-ternary": () => require("./no-nested-ternary"), - "no-new": () => require("./no-new"), - "no-new-func": () => require("./no-new-func"), - "no-new-native-nonconstructor": () => require("./no-new-native-nonconstructor"), - "no-new-object": () => require("./no-new-object"), - "no-new-require": () => require("./no-new-require"), - "no-new-symbol": () => require("./no-new-symbol"), - "no-new-wrappers": () => require("./no-new-wrappers"), - "no-nonoctal-decimal-escape": () => require("./no-nonoctal-decimal-escape"), - "no-obj-calls": () => require("./no-obj-calls"), - "no-object-constructor": () => require("./no-object-constructor"), - "no-octal": () => require("./no-octal"), - "no-octal-escape": () => require("./no-octal-escape"), - "no-param-reassign": () => require("./no-param-reassign"), - "no-path-concat": () => require("./no-path-concat"), - "no-plusplus": () => require("./no-plusplus"), - "no-process-env": () => require("./no-process-env"), - "no-process-exit": () => require("./no-process-exit"), - "no-promise-executor-return": () => require("./no-promise-executor-return"), - "no-proto": () => require("./no-proto"), - "no-prototype-builtins": () => require("./no-prototype-builtins"), - "no-redeclare": () => require("./no-redeclare"), - "no-regex-spaces": () => require("./no-regex-spaces"), - "no-restricted-exports": () => require("./no-restricted-exports"), - "no-restricted-globals": () => require("./no-restricted-globals"), - "no-restricted-imports": () => require("./no-restricted-imports"), - "no-restricted-modules": () => require("./no-restricted-modules"), - "no-restricted-properties": () => require("./no-restricted-properties"), - "no-restricted-syntax": () => require("./no-restricted-syntax"), - "no-return-assign": () => require("./no-return-assign"), - "no-return-await": () => require("./no-return-await"), - "no-script-url": () => require("./no-script-url"), - "no-self-assign": () => require("./no-self-assign"), - "no-self-compare": () => require("./no-self-compare"), - "no-sequences": () => require("./no-sequences"), - "no-setter-return": () => require("./no-setter-return"), - "no-shadow": () => require("./no-shadow"), - "no-shadow-restricted-names": () => require("./no-shadow-restricted-names"), - "no-spaced-func": () => require("./no-spaced-func"), - "no-sparse-arrays": () => require("./no-sparse-arrays"), - "no-sync": () => require("./no-sync"), - "no-tabs": () => require("./no-tabs"), - "no-template-curly-in-string": () => require("./no-template-curly-in-string"), - "no-ternary": () => require("./no-ternary"), - "no-this-before-super": () => require("./no-this-before-super"), - "no-throw-literal": () => require("./no-throw-literal"), - "no-trailing-spaces": () => require("./no-trailing-spaces"), - "no-undef": () => require("./no-undef"), - "no-undef-init": () => require("./no-undef-init"), - "no-undefined": () => require("./no-undefined"), - "no-underscore-dangle": () => require("./no-underscore-dangle"), - "no-unexpected-multiline": () => require("./no-unexpected-multiline"), - "no-unmodified-loop-condition": () => require("./no-unmodified-loop-condition"), - "no-unneeded-ternary": () => require("./no-unneeded-ternary"), - "no-unreachable": () => require("./no-unreachable"), - "no-unreachable-loop": () => require("./no-unreachable-loop"), - "no-unsafe-finally": () => require("./no-unsafe-finally"), - "no-unsafe-negation": () => require("./no-unsafe-negation"), - "no-unsafe-optional-chaining": () => require("./no-unsafe-optional-chaining"), - "no-unused-expressions": () => require("./no-unused-expressions"), - "no-unused-labels": () => require("./no-unused-labels"), - "no-unused-private-class-members": () => require("./no-unused-private-class-members"), - "no-unused-vars": () => require("./no-unused-vars"), - "no-use-before-define": () => require("./no-use-before-define"), - "no-useless-assignment": () => require("./no-useless-assignment"), - "no-useless-backreference": () => require("./no-useless-backreference"), - "no-useless-call": () => require("./no-useless-call"), - "no-useless-catch": () => require("./no-useless-catch"), - "no-useless-computed-key": () => require("./no-useless-computed-key"), - "no-useless-concat": () => require("./no-useless-concat"), - "no-useless-constructor": () => require("./no-useless-constructor"), - "no-useless-escape": () => require("./no-useless-escape"), - "no-useless-rename": () => require("./no-useless-rename"), - "no-useless-return": () => require("./no-useless-return"), - "no-var": () => require("./no-var"), - "no-void": () => require("./no-void"), - "no-warning-comments": () => require("./no-warning-comments"), - "no-whitespace-before-property": () => require("./no-whitespace-before-property"), - "no-with": () => require("./no-with"), - "nonblock-statement-body-position": () => require("./nonblock-statement-body-position"), - "object-curly-newline": () => require("./object-curly-newline"), - "object-curly-spacing": () => require("./object-curly-spacing"), - "object-property-newline": () => require("./object-property-newline"), - "object-shorthand": () => require("./object-shorthand"), - "one-var": () => require("./one-var"), - "one-var-declaration-per-line": () => require("./one-var-declaration-per-line"), - "operator-assignment": () => require("./operator-assignment"), - "operator-linebreak": () => require("./operator-linebreak"), - "padded-blocks": () => require("./padded-blocks"), - "padding-line-between-statements": () => require("./padding-line-between-statements"), - "prefer-arrow-callback": () => require("./prefer-arrow-callback"), - "prefer-const": () => require("./prefer-const"), - "prefer-destructuring": () => require("./prefer-destructuring"), - "prefer-exponentiation-operator": () => require("./prefer-exponentiation-operator"), - "prefer-named-capture-group": () => require("./prefer-named-capture-group"), - "prefer-numeric-literals": () => require("./prefer-numeric-literals"), - "prefer-object-has-own": () => require("./prefer-object-has-own"), - "prefer-object-spread": () => require("./prefer-object-spread"), - "prefer-promise-reject-errors": () => require("./prefer-promise-reject-errors"), - "prefer-reflect": () => require("./prefer-reflect"), - "prefer-regex-literals": () => require("./prefer-regex-literals"), - "prefer-rest-params": () => require("./prefer-rest-params"), - "prefer-spread": () => require("./prefer-spread"), - "prefer-template": () => require("./prefer-template"), - "quote-props": () => require("./quote-props"), - quotes: () => require("./quotes"), - radix: () => require("./radix"), - "require-atomic-updates": () => require("./require-atomic-updates"), - "require-await": () => require("./require-await"), - "require-unicode-regexp": () => require("./require-unicode-regexp"), - "require-yield": () => require("./require-yield"), - "rest-spread-spacing": () => require("./rest-spread-spacing"), - semi: () => require("./semi"), - "semi-spacing": () => require("./semi-spacing"), - "semi-style": () => require("./semi-style"), - "sort-imports": () => require("./sort-imports"), - "sort-keys": () => require("./sort-keys"), - "sort-vars": () => require("./sort-vars"), - "space-before-blocks": () => require("./space-before-blocks"), - "space-before-function-paren": () => require("./space-before-function-paren"), - "space-in-parens": () => require("./space-in-parens"), - "space-infix-ops": () => require("./space-infix-ops"), - "space-unary-ops": () => require("./space-unary-ops"), - "spaced-comment": () => require("./spaced-comment"), - strict: () => require("./strict"), - "switch-colon-spacing": () => require("./switch-colon-spacing"), - "symbol-description": () => require("./symbol-description"), - "template-curly-spacing": () => require("./template-curly-spacing"), - "template-tag-spacing": () => require("./template-tag-spacing"), - "unicode-bom": () => require("./unicode-bom"), - "use-isnan": () => require("./use-isnan"), - "valid-typeof": () => require("./valid-typeof"), - "vars-on-top": () => require("./vars-on-top"), - "wrap-iife": () => require("./wrap-iife"), - "wrap-regex": () => require("./wrap-regex"), - "yield-star-spacing": () => require("./yield-star-spacing"), - yoda: () => require("./yoda") -})); diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/init-declarations.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/init-declarations.js deleted file mode 100644 index 3abe107f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/init-declarations.js +++ /dev/null @@ -1,139 +0,0 @@ -/** - * @fileoverview A rule to control the style of variable initializations. - * @author Colin Ihrig - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given node is a for loop. - * @param {ASTNode} block A node to check. - * @returns {boolean} `true` when the node is a for loop. - */ -function isForLoop(block) { - return block.type === "ForInStatement" || - block.type === "ForOfStatement" || - block.type === "ForStatement"; -} - -/** - * Checks whether or not a given declarator node has its initializer. - * @param {ASTNode} node A declarator node to check. - * @returns {boolean} `true` when the node has its initializer. - */ -function isInitialized(node) { - const declaration = node.parent; - const block = declaration.parent; - - if (isForLoop(block)) { - if (block.type === "ForStatement") { - return block.init === declaration; - } - return block.left === declaration; - } - return Boolean(node.init); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require or disallow initialization in variable declarations", - recommended: false, - url: "https://eslint.org/docs/latest/rules/init-declarations" - }, - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["always"] - } - ], - minItems: 0, - maxItems: 1 - }, - { - type: "array", - items: [ - { - enum: ["never"] - }, - { - type: "object", - properties: { - ignoreForLoopInit: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - messages: { - initialized: "Variable '{{idName}}' should be initialized on declaration.", - notInitialized: "Variable '{{idName}}' should not be initialized on declaration." - } - }, - - create(context) { - - const MODE_ALWAYS = "always", - MODE_NEVER = "never"; - - const mode = context.options[0] || MODE_ALWAYS; - const params = context.options[1] || {}; - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - "VariableDeclaration:exit"(node) { - - const kind = node.kind, - declarations = node.declarations; - - for (let i = 0; i < declarations.length; ++i) { - const declaration = declarations[i], - id = declaration.id, - initialized = isInitialized(declaration), - isIgnoredForLoop = params.ignoreForLoopInit && isForLoop(node.parent); - let messageId = ""; - - if (mode === MODE_ALWAYS && !initialized) { - messageId = "initialized"; - } else if (mode === MODE_NEVER && kind !== "const" && initialized && !isIgnoredForLoop) { - messageId = "notInitialized"; - } - - if (id.type === "Identifier" && messageId) { - context.report({ - node: declaration, - messageId, - data: { - idName: id.name - } - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/jsx-quotes.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/jsx-quotes.js deleted file mode 100644 index 3dcd5fa9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/jsx-quotes.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * @fileoverview A rule to ensure consistent quotes used in jsx syntax. - * @author Mathias Schreck - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Constants -//------------------------------------------------------------------------------ - -const QUOTE_SETTINGS = { - "prefer-double": { - quote: "\"", - description: "singlequote", - convert(str) { - return str.replace(/'/gu, "\""); - } - }, - "prefer-single": { - quote: "'", - description: "doublequote", - convert(str) { - return str.replace(/"/gu, "'"); - } - } -}; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce the consistent use of either double or single quotes in JSX attributes", - recommended: false, - url: "https://eslint.org/docs/latest/rules/jsx-quotes" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["prefer-single", "prefer-double"] - } - ], - messages: { - unexpected: "Unexpected usage of {{description}}." - } - }, - - create(context) { - const quoteOption = context.options[0] || "prefer-double", - setting = QUOTE_SETTINGS[quoteOption]; - - /** - * Checks if the given string literal node uses the expected quotes - * @param {ASTNode} node A string literal node. - * @returns {boolean} Whether or not the string literal used the expected quotes. - * @public - */ - function usesExpectedQuotes(node) { - return node.value.includes(setting.quote) || astUtils.isSurroundedBy(node.raw, setting.quote); - } - - return { - JSXAttribute(node) { - const attributeValue = node.value; - - if (attributeValue && astUtils.isStringLiteral(attributeValue) && !usesExpectedQuotes(attributeValue)) { - context.report({ - node: attributeValue, - messageId: "unexpected", - data: { - description: setting.description - }, - fix(fixer) { - return fixer.replaceText(attributeValue, setting.convert(attributeValue.raw)); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/key-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/key-spacing.js deleted file mode 100644 index aa8fd37b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/key-spacing.js +++ /dev/null @@ -1,687 +0,0 @@ -/** - * @fileoverview Rule to specify spacing of object literal keys and values - * @author Brandon Mills - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { getGraphemeCount } = require("../shared/string-utils"); - -/** - * Checks whether a string contains a line terminator as defined in - * http://www.ecma-international.org/ecma-262/5.1/#sec-7.3 - * @param {string} str String to test. - * @returns {boolean} True if str contains a line terminator. - */ -function containsLineTerminator(str) { - return astUtils.LINEBREAK_MATCHER.test(str); -} - -/** - * Gets the last element of an array. - * @param {Array} arr An array. - * @returns {any} Last element of arr. - */ -function last(arr) { - return arr.at(-1); -} - -/** - * Checks whether a node is contained on a single line. - * @param {ASTNode} node AST Node being evaluated. - * @returns {boolean} True if the node is a single line. - */ -function isSingleLine(node) { - return (node.loc.end.line === node.loc.start.line); -} - -/** - * Checks whether the properties on a single line. - * @param {ASTNode[]} properties List of Property AST nodes. - * @returns {boolean} True if all properties is on a single line. - */ -function isSingleLineProperties(properties) { - const [firstProp] = properties, - lastProp = last(properties); - - return firstProp.loc.start.line === lastProp.loc.end.line; -} - -/** - * Initializes a single option property from the configuration with defaults for undefined values - * @param {Object} toOptions Object to be initialized - * @param {Object} fromOptions Object to be initialized from - * @returns {Object} The object with correctly initialized options and values - */ -function initOptionProperty(toOptions, fromOptions) { - toOptions.mode = fromOptions.mode || "strict"; - - // Set value of beforeColon - if (typeof fromOptions.beforeColon !== "undefined") { - toOptions.beforeColon = +fromOptions.beforeColon; - } else { - toOptions.beforeColon = 0; - } - - // Set value of afterColon - if (typeof fromOptions.afterColon !== "undefined") { - toOptions.afterColon = +fromOptions.afterColon; - } else { - toOptions.afterColon = 1; - } - - // Set align if exists - if (typeof fromOptions.align !== "undefined") { - if (typeof fromOptions.align === "object") { - toOptions.align = fromOptions.align; - } else { // "string" - toOptions.align = { - on: fromOptions.align, - mode: toOptions.mode, - beforeColon: toOptions.beforeColon, - afterColon: toOptions.afterColon - }; - } - } - - return toOptions; -} - -/** - * Initializes all the option values (singleLine, multiLine and align) from the configuration with defaults for undefined values - * @param {Object} toOptions Object to be initialized - * @param {Object} fromOptions Object to be initialized from - * @returns {Object} The object with correctly initialized options and values - */ -function initOptions(toOptions, fromOptions) { - if (typeof fromOptions.align === "object") { - - // Initialize the alignment configuration - toOptions.align = initOptionProperty({}, fromOptions.align); - toOptions.align.on = fromOptions.align.on || "colon"; - toOptions.align.mode = fromOptions.align.mode || "strict"; - - toOptions.multiLine = initOptionProperty({}, (fromOptions.multiLine || fromOptions)); - toOptions.singleLine = initOptionProperty({}, (fromOptions.singleLine || fromOptions)); - - } else { // string or undefined - toOptions.multiLine = initOptionProperty({}, (fromOptions.multiLine || fromOptions)); - toOptions.singleLine = initOptionProperty({}, (fromOptions.singleLine || fromOptions)); - - // If alignment options are defined in multiLine, pull them out into the general align configuration - if (toOptions.multiLine.align) { - toOptions.align = { - on: toOptions.multiLine.align.on, - mode: toOptions.multiLine.align.mode || toOptions.multiLine.mode, - beforeColon: toOptions.multiLine.align.beforeColon, - afterColon: toOptions.multiLine.align.afterColon - }; - } - } - - return toOptions; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing between keys and values in object literal properties", - recommended: false, - url: "https://eslint.org/docs/latest/rules/key-spacing" - }, - - fixable: "whitespace", - - schema: [{ - anyOf: [ - { - type: "object", - properties: { - align: { - anyOf: [ - { - enum: ["colon", "value"] - }, - { - type: "object", - properties: { - mode: { - enum: ["strict", "minimum"] - }, - on: { - enum: ["colon", "value"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - }, - mode: { - enum: ["strict", "minimum"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - }, - { - type: "object", - properties: { - singleLine: { - type: "object", - properties: { - mode: { - enum: ["strict", "minimum"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - }, - multiLine: { - type: "object", - properties: { - align: { - anyOf: [ - { - enum: ["colon", "value"] - }, - { - type: "object", - properties: { - mode: { - enum: ["strict", "minimum"] - }, - on: { - enum: ["colon", "value"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - }, - mode: { - enum: ["strict", "minimum"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - } - }, - additionalProperties: false - }, - { - type: "object", - properties: { - singleLine: { - type: "object", - properties: { - mode: { - enum: ["strict", "minimum"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - }, - multiLine: { - type: "object", - properties: { - mode: { - enum: ["strict", "minimum"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - }, - align: { - type: "object", - properties: { - mode: { - enum: ["strict", "minimum"] - }, - on: { - enum: ["colon", "value"] - }, - beforeColon: { - type: "boolean" - }, - afterColon: { - type: "boolean" - } - }, - additionalProperties: false - } - }, - additionalProperties: false - } - ] - }], - messages: { - extraKey: "Extra space after {{computed}}key '{{key}}'.", - extraValue: "Extra space before value for {{computed}}key '{{key}}'.", - missingKey: "Missing space after {{computed}}key '{{key}}'.", - missingValue: "Missing space before value for {{computed}}key '{{key}}'." - } - }, - - create(context) { - - /** - * OPTIONS - * "key-spacing": [2, { - * beforeColon: false, - * afterColon: true, - * align: "colon" // Optional, or "value" - * } - */ - const options = context.options[0] || {}, - ruleOptions = initOptions({}, options), - multiLineOptions = ruleOptions.multiLine, - singleLineOptions = ruleOptions.singleLine, - alignmentOptions = ruleOptions.align || null; - - const sourceCode = context.sourceCode; - - /** - * Determines if the given property is key-value property. - * @param {ASTNode} property Property node to check. - * @returns {boolean} Whether the property is a key-value property. - */ - function isKeyValueProperty(property) { - return !( - (property.method || - property.shorthand || - property.kind !== "init" || property.type !== "Property") // Could be "ExperimentalSpreadProperty" or "SpreadElement" - ); - } - - /** - * Starting from the given node (a property.key node here) looks forward - * until it finds the colon punctuator and returns it. - * @param {ASTNode} node The node to start looking from. - * @returns {ASTNode} The colon punctuator. - */ - function getNextColon(node) { - return sourceCode.getTokenAfter(node, astUtils.isColonToken); - } - - /** - * Starting from the given node (a property.key node here) looks forward - * until it finds the last token before a colon punctuator and returns it. - * @param {ASTNode} node The node to start looking from. - * @returns {ASTNode} The last token before a colon punctuator. - */ - function getLastTokenBeforeColon(node) { - const colonToken = getNextColon(node); - - return sourceCode.getTokenBefore(colonToken); - } - - /** - * Starting from the given node (a property.key node here) looks forward - * until it finds the first token after a colon punctuator and returns it. - * @param {ASTNode} node The node to start looking from. - * @returns {ASTNode} The first token after a colon punctuator. - */ - function getFirstTokenAfterColon(node) { - const colonToken = getNextColon(node); - - return sourceCode.getTokenAfter(colonToken); - } - - /** - * Checks whether a property is a member of the property group it follows. - * @param {ASTNode} lastMember The last Property known to be in the group. - * @param {ASTNode} candidate The next Property that might be in the group. - * @returns {boolean} True if the candidate property is part of the group. - */ - function continuesPropertyGroup(lastMember, candidate) { - const groupEndLine = lastMember.loc.start.line, - candidateValueStartLine = (isKeyValueProperty(candidate) ? getFirstTokenAfterColon(candidate.key) : candidate).loc.start.line; - - if (candidateValueStartLine - groupEndLine <= 1) { - return true; - } - - /* - * Check that the first comment is adjacent to the end of the group, the - * last comment is adjacent to the candidate property, and that successive - * comments are adjacent to each other. - */ - const leadingComments = sourceCode.getCommentsBefore(candidate); - - if ( - leadingComments.length && - leadingComments[0].loc.start.line - groupEndLine <= 1 && - candidateValueStartLine - last(leadingComments).loc.end.line <= 1 - ) { - for (let i = 1; i < leadingComments.length; i++) { - if (leadingComments[i].loc.start.line - leadingComments[i - 1].loc.end.line > 1) { - return false; - } - } - return true; - } - - return false; - } - - /** - * Gets an object literal property's key as the identifier name or string value. - * @param {ASTNode} property Property node whose key to retrieve. - * @returns {string} The property's key. - */ - function getKey(property) { - const key = property.key; - - if (property.computed) { - return sourceCode.getText().slice(key.range[0], key.range[1]); - } - return astUtils.getStaticPropertyName(property); - } - - /** - * Reports an appropriately-formatted error if spacing is incorrect on one - * side of the colon. - * @param {ASTNode} property Key-value pair in an object literal. - * @param {string} side Side being verified - either "key" or "value". - * @param {string} whitespace Actual whitespace string. - * @param {int} expected Expected whitespace length. - * @param {string} mode Value of the mode as "strict" or "minimum" - * @returns {void} - */ - function report(property, side, whitespace, expected, mode) { - const diff = whitespace.length - expected; - - if (( - diff && mode === "strict" || - diff < 0 && mode === "minimum" || - diff > 0 && !expected && mode === "minimum") && - !(expected && containsLineTerminator(whitespace)) - ) { - const nextColon = getNextColon(property.key), - tokenBeforeColon = sourceCode.getTokenBefore(nextColon, { includeComments: true }), - tokenAfterColon = sourceCode.getTokenAfter(nextColon, { includeComments: true }), - isKeySide = side === "key", - isExtra = diff > 0, - diffAbs = Math.abs(diff), - spaces = Array(diffAbs + 1).join(" "); - - const locStart = isKeySide ? tokenBeforeColon.loc.end : nextColon.loc.start; - const locEnd = isKeySide ? nextColon.loc.start : tokenAfterColon.loc.start; - const missingLoc = isKeySide ? tokenBeforeColon.loc : tokenAfterColon.loc; - const loc = isExtra ? { start: locStart, end: locEnd } : missingLoc; - - let fix; - - if (isExtra) { - let range; - - // Remove whitespace - if (isKeySide) { - range = [tokenBeforeColon.range[1], tokenBeforeColon.range[1] + diffAbs]; - } else { - range = [tokenAfterColon.range[0] - diffAbs, tokenAfterColon.range[0]]; - } - fix = function(fixer) { - return fixer.removeRange(range); - }; - } else { - - // Add whitespace - if (isKeySide) { - fix = function(fixer) { - return fixer.insertTextAfter(tokenBeforeColon, spaces); - }; - } else { - fix = function(fixer) { - return fixer.insertTextBefore(tokenAfterColon, spaces); - }; - } - } - - let messageId; - - if (isExtra) { - messageId = side === "key" ? "extraKey" : "extraValue"; - } else { - messageId = side === "key" ? "missingKey" : "missingValue"; - } - - context.report({ - node: property[side], - loc, - messageId, - data: { - computed: property.computed ? "computed " : "", - key: getKey(property) - }, - fix - }); - } - } - - /** - * Gets the number of characters in a key, including quotes around string - * keys and braces around computed property keys. - * @param {ASTNode} property Property of on object literal. - * @returns {int} Width of the key. - */ - function getKeyWidth(property) { - const startToken = sourceCode.getFirstToken(property); - const endToken = getLastTokenBeforeColon(property.key); - - return getGraphemeCount(sourceCode.getText().slice(startToken.range[0], endToken.range[1])); - } - - /** - * Gets the whitespace around the colon in an object literal property. - * @param {ASTNode} property Property node from an object literal. - * @returns {Object} Whitespace before and after the property's colon. - */ - function getPropertyWhitespace(property) { - const whitespace = /(\s*):(\s*)/u.exec(sourceCode.getText().slice( - property.key.range[1], property.value.range[0] - )); - - if (whitespace) { - return { - beforeColon: whitespace[1], - afterColon: whitespace[2] - }; - } - return null; - } - - /** - * Creates groups of properties. - * @param {ASTNode} node ObjectExpression node being evaluated. - * @returns {Array} Groups of property AST node lists. - */ - function createGroups(node) { - if (node.properties.length === 1) { - return [node.properties]; - } - - return node.properties.reduce((groups, property) => { - const currentGroup = last(groups), - prev = last(currentGroup); - - if (!prev || continuesPropertyGroup(prev, property)) { - currentGroup.push(property); - } else { - groups.push([property]); - } - - return groups; - }, [ - [] - ]); - } - - /** - * Verifies correct vertical alignment of a group of properties. - * @param {ASTNode[]} properties List of Property AST nodes. - * @returns {void} - */ - function verifyGroupAlignment(properties) { - const length = properties.length, - widths = properties.map(getKeyWidth), // Width of keys, including quotes - align = alignmentOptions.on; // "value" or "colon" - let targetWidth = Math.max(...widths), - beforeColon, afterColon, mode; - - if (alignmentOptions && length > 1) { // When aligning values within a group, use the alignment configuration. - beforeColon = alignmentOptions.beforeColon; - afterColon = alignmentOptions.afterColon; - mode = alignmentOptions.mode; - } else { - beforeColon = multiLineOptions.beforeColon; - afterColon = multiLineOptions.afterColon; - mode = alignmentOptions.mode; - } - - // Conditionally include one space before or after colon - targetWidth += (align === "colon" ? beforeColon : afterColon); - - for (let i = 0; i < length; i++) { - const property = properties[i]; - const whitespace = getPropertyWhitespace(property); - - if (whitespace) { // Object literal getters/setters lack a colon - const width = widths[i]; - - if (align === "value") { - report(property, "key", whitespace.beforeColon, beforeColon, mode); - report(property, "value", whitespace.afterColon, targetWidth - width, mode); - } else { // align = "colon" - report(property, "key", whitespace.beforeColon, targetWidth - width, mode); - report(property, "value", whitespace.afterColon, afterColon, mode); - } - } - } - } - - /** - * Verifies spacing of property conforms to specified options. - * @param {ASTNode} node Property node being evaluated. - * @param {Object} lineOptions Configured singleLine or multiLine options - * @returns {void} - */ - function verifySpacing(node, lineOptions) { - const actual = getPropertyWhitespace(node); - - if (actual) { // Object literal getters/setters lack colons - report(node, "key", actual.beforeColon, lineOptions.beforeColon, lineOptions.mode); - report(node, "value", actual.afterColon, lineOptions.afterColon, lineOptions.mode); - } - } - - /** - * Verifies spacing of each property in a list. - * @param {ASTNode[]} properties List of Property AST nodes. - * @param {Object} lineOptions Configured singleLine or multiLine options - * @returns {void} - */ - function verifyListSpacing(properties, lineOptions) { - const length = properties.length; - - for (let i = 0; i < length; i++) { - verifySpacing(properties[i], lineOptions); - } - } - - /** - * Verifies vertical alignment, taking into account groups of properties. - * @param {ASTNode} node ObjectExpression node being evaluated. - * @returns {void} - */ - function verifyAlignment(node) { - createGroups(node).forEach(group => { - const properties = group.filter(isKeyValueProperty); - - if (properties.length > 0 && isSingleLineProperties(properties)) { - verifyListSpacing(properties, multiLineOptions); - } else { - verifyGroupAlignment(properties); - } - }); - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - if (alignmentOptions) { // Verify vertical alignment - - return { - ObjectExpression(node) { - if (isSingleLine(node)) { - verifyListSpacing(node.properties.filter(isKeyValueProperty), singleLineOptions); - } else { - verifyAlignment(node); - } - } - }; - - } - - // Obey beforeColon and afterColon in each property as configured - return { - Property(node) { - verifySpacing(node, isSingleLine(node.parent) ? singleLineOptions : multiLineOptions); - } - }; - - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/keyword-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/keyword-spacing.js deleted file mode 100644 index 9d18441e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/keyword-spacing.js +++ /dev/null @@ -1,640 +0,0 @@ -/** - * @fileoverview Rule to enforce spacing before and after keywords. - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"), - keywords = require("./utils/keywords"); - -//------------------------------------------------------------------------------ -// Constants -//------------------------------------------------------------------------------ - -const PREV_TOKEN = /^[)\]}>]$/u; -const NEXT_TOKEN = /^(?:[([{<~!]|\+\+?|--?)$/u; -const PREV_TOKEN_M = /^[)\]}>*]$/u; -const NEXT_TOKEN_M = /^[{*]$/u; -const TEMPLATE_OPEN_PAREN = /\$\{$/u; -const TEMPLATE_CLOSE_PAREN = /^\}/u; -const CHECK_TYPE = /^(?:JSXElement|RegularExpression|String|Template|PrivateIdentifier)$/u; -const KEYS = keywords.concat(["as", "async", "await", "from", "get", "let", "of", "set", "yield"]); - -// check duplications. -(function() { - KEYS.sort(); - for (let i = 1; i < KEYS.length; ++i) { - if (KEYS[i] === KEYS[i - 1]) { - throw new Error(`Duplication was found in the keyword list: ${KEYS[i]}`); - } - } -}()); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given token is a "Template" token ends with "${". - * @param {Token} token A token to check. - * @returns {boolean} `true` if the token is a "Template" token ends with "${". - */ -function isOpenParenOfTemplate(token) { - return token.type === "Template" && TEMPLATE_OPEN_PAREN.test(token.value); -} - -/** - * Checks whether or not a given token is a "Template" token starts with "}". - * @param {Token} token A token to check. - * @returns {boolean} `true` if the token is a "Template" token starts with "}". - */ -function isCloseParenOfTemplate(token) { - return token.type === "Template" && TEMPLATE_CLOSE_PAREN.test(token.value); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing before and after keywords", - recommended: false, - url: "https://eslint.org/docs/latest/rules/keyword-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - before: { type: "boolean", default: true }, - after: { type: "boolean", default: true }, - overrides: { - type: "object", - properties: KEYS.reduce((retv, key) => { - retv[key] = { - type: "object", - properties: { - before: { type: "boolean" }, - after: { type: "boolean" } - }, - additionalProperties: false - }; - return retv; - }, {}), - additionalProperties: false - } - }, - additionalProperties: false - } - ], - messages: { - expectedBefore: "Expected space(s) before \"{{value}}\".", - expectedAfter: "Expected space(s) after \"{{value}}\".", - unexpectedBefore: "Unexpected space(s) before \"{{value}}\".", - unexpectedAfter: "Unexpected space(s) after \"{{value}}\"." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - const tokensToIgnore = new WeakSet(); - - /** - * Reports a given token if there are not space(s) before the token. - * @param {Token} token A token to report. - * @param {RegExp} pattern A pattern of the previous token to check. - * @returns {void} - */ - function expectSpaceBefore(token, pattern) { - const prevToken = sourceCode.getTokenBefore(token); - - if (prevToken && - (CHECK_TYPE.test(prevToken.type) || pattern.test(prevToken.value)) && - !isOpenParenOfTemplate(prevToken) && - !tokensToIgnore.has(prevToken) && - astUtils.isTokenOnSameLine(prevToken, token) && - !sourceCode.isSpaceBetweenTokens(prevToken, token) - ) { - context.report({ - loc: token.loc, - messageId: "expectedBefore", - data: token, - fix(fixer) { - return fixer.insertTextBefore(token, " "); - } - }); - } - } - - /** - * Reports a given token if there are space(s) before the token. - * @param {Token} token A token to report. - * @param {RegExp} pattern A pattern of the previous token to check. - * @returns {void} - */ - function unexpectSpaceBefore(token, pattern) { - const prevToken = sourceCode.getTokenBefore(token); - - if (prevToken && - (CHECK_TYPE.test(prevToken.type) || pattern.test(prevToken.value)) && - !isOpenParenOfTemplate(prevToken) && - !tokensToIgnore.has(prevToken) && - astUtils.isTokenOnSameLine(prevToken, token) && - sourceCode.isSpaceBetweenTokens(prevToken, token) - ) { - context.report({ - loc: { start: prevToken.loc.end, end: token.loc.start }, - messageId: "unexpectedBefore", - data: token, - fix(fixer) { - return fixer.removeRange([prevToken.range[1], token.range[0]]); - } - }); - } - } - - /** - * Reports a given token if there are not space(s) after the token. - * @param {Token} token A token to report. - * @param {RegExp} pattern A pattern of the next token to check. - * @returns {void} - */ - function expectSpaceAfter(token, pattern) { - const nextToken = sourceCode.getTokenAfter(token); - - if (nextToken && - (CHECK_TYPE.test(nextToken.type) || pattern.test(nextToken.value)) && - !isCloseParenOfTemplate(nextToken) && - !tokensToIgnore.has(nextToken) && - astUtils.isTokenOnSameLine(token, nextToken) && - !sourceCode.isSpaceBetweenTokens(token, nextToken) - ) { - context.report({ - loc: token.loc, - messageId: "expectedAfter", - data: token, - fix(fixer) { - return fixer.insertTextAfter(token, " "); - } - }); - } - } - - /** - * Reports a given token if there are space(s) after the token. - * @param {Token} token A token to report. - * @param {RegExp} pattern A pattern of the next token to check. - * @returns {void} - */ - function unexpectSpaceAfter(token, pattern) { - const nextToken = sourceCode.getTokenAfter(token); - - if (nextToken && - (CHECK_TYPE.test(nextToken.type) || pattern.test(nextToken.value)) && - !isCloseParenOfTemplate(nextToken) && - !tokensToIgnore.has(nextToken) && - astUtils.isTokenOnSameLine(token, nextToken) && - sourceCode.isSpaceBetweenTokens(token, nextToken) - ) { - - context.report({ - loc: { start: token.loc.end, end: nextToken.loc.start }, - messageId: "unexpectedAfter", - data: token, - fix(fixer) { - return fixer.removeRange([token.range[1], nextToken.range[0]]); - } - }); - } - } - - /** - * Parses the option object and determines check methods for each keyword. - * @param {Object|undefined} options The option object to parse. - * @returns {Object} - Normalized option object. - * Keys are keywords (there are for every keyword). - * Values are instances of `{"before": function, "after": function}`. - */ - function parseOptions(options = {}) { - const before = options.before !== false; - const after = options.after !== false; - const defaultValue = { - before: before ? expectSpaceBefore : unexpectSpaceBefore, - after: after ? expectSpaceAfter : unexpectSpaceAfter - }; - const overrides = (options && options.overrides) || {}; - const retv = Object.create(null); - - for (let i = 0; i < KEYS.length; ++i) { - const key = KEYS[i]; - const override = overrides[key]; - - if (override) { - const thisBefore = ("before" in override) ? override.before : before; - const thisAfter = ("after" in override) ? override.after : after; - - retv[key] = { - before: thisBefore ? expectSpaceBefore : unexpectSpaceBefore, - after: thisAfter ? expectSpaceAfter : unexpectSpaceAfter - }; - } else { - retv[key] = defaultValue; - } - } - - return retv; - } - - const checkMethodMap = parseOptions(context.options[0]); - - /** - * Reports a given token if usage of spacing followed by the token is - * invalid. - * @param {Token} token A token to report. - * @param {RegExp} [pattern] Optional. A pattern of the previous - * token to check. - * @returns {void} - */ - function checkSpacingBefore(token, pattern) { - checkMethodMap[token.value].before(token, pattern || PREV_TOKEN); - } - - /** - * Reports a given token if usage of spacing preceded by the token is - * invalid. - * @param {Token} token A token to report. - * @param {RegExp} [pattern] Optional. A pattern of the next - * token to check. - * @returns {void} - */ - function checkSpacingAfter(token, pattern) { - checkMethodMap[token.value].after(token, pattern || NEXT_TOKEN); - } - - /** - * Reports a given token if usage of spacing around the token is invalid. - * @param {Token} token A token to report. - * @returns {void} - */ - function checkSpacingAround(token) { - checkSpacingBefore(token); - checkSpacingAfter(token); - } - - /** - * Reports the first token of a given node if the first token is a keyword - * and usage of spacing around the token is invalid. - * @param {ASTNode|null} node A node to report. - * @returns {void} - */ - function checkSpacingAroundFirstToken(node) { - const firstToken = node && sourceCode.getFirstToken(node); - - if (firstToken && firstToken.type === "Keyword") { - checkSpacingAround(firstToken); - } - } - - /** - * Reports the first token of a given node if the first token is a keyword - * and usage of spacing followed by the token is invalid. - * - * This is used for unary operators (e.g. `typeof`), `function`, and `super`. - * Other rules are handling usage of spacing preceded by those keywords. - * @param {ASTNode|null} node A node to report. - * @returns {void} - */ - function checkSpacingBeforeFirstToken(node) { - const firstToken = node && sourceCode.getFirstToken(node); - - if (firstToken && firstToken.type === "Keyword") { - checkSpacingBefore(firstToken); - } - } - - /** - * Reports the previous token of a given node if the token is a keyword and - * usage of spacing around the token is invalid. - * @param {ASTNode|null} node A node to report. - * @returns {void} - */ - function checkSpacingAroundTokenBefore(node) { - if (node) { - const token = sourceCode.getTokenBefore(node, astUtils.isKeywordToken); - - checkSpacingAround(token); - } - } - - /** - * Reports `async` or `function` keywords of a given node if usage of - * spacing around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForFunction(node) { - const firstToken = node && sourceCode.getFirstToken(node); - - if (firstToken && - ((firstToken.type === "Keyword" && firstToken.value === "function") || - firstToken.value === "async") - ) { - checkSpacingBefore(firstToken); - } - } - - /** - * Reports `class` and `extends` keywords of a given node if usage of - * spacing around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForClass(node) { - checkSpacingAroundFirstToken(node); - checkSpacingAroundTokenBefore(node.superClass); - } - - /** - * Reports `if` and `else` keywords of a given node if usage of spacing - * around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForIfStatement(node) { - checkSpacingAroundFirstToken(node); - checkSpacingAroundTokenBefore(node.alternate); - } - - /** - * Reports `try`, `catch`, and `finally` keywords of a given node if usage - * of spacing around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForTryStatement(node) { - checkSpacingAroundFirstToken(node); - checkSpacingAroundFirstToken(node.handler); - checkSpacingAroundTokenBefore(node.finalizer); - } - - /** - * Reports `do` and `while` keywords of a given node if usage of spacing - * around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForDoWhileStatement(node) { - checkSpacingAroundFirstToken(node); - checkSpacingAroundTokenBefore(node.test); - } - - /** - * Reports `for` and `in` keywords of a given node if usage of spacing - * around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForForInStatement(node) { - checkSpacingAroundFirstToken(node); - - const inToken = sourceCode.getTokenBefore(node.right, astUtils.isNotOpeningParenToken); - const previousToken = sourceCode.getTokenBefore(inToken); - - if (previousToken.type !== "PrivateIdentifier") { - checkSpacingBefore(inToken); - } - - checkSpacingAfter(inToken); - } - - /** - * Reports `for` and `of` keywords of a given node if usage of spacing - * around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForForOfStatement(node) { - if (node.await) { - checkSpacingBefore(sourceCode.getFirstToken(node, 0)); - checkSpacingAfter(sourceCode.getFirstToken(node, 1)); - } else { - checkSpacingAroundFirstToken(node); - } - - const ofToken = sourceCode.getTokenBefore(node.right, astUtils.isNotOpeningParenToken); - const previousToken = sourceCode.getTokenBefore(ofToken); - - if (previousToken.type !== "PrivateIdentifier") { - checkSpacingBefore(ofToken); - } - - checkSpacingAfter(ofToken); - } - - /** - * Reports `import`, `export`, `as`, and `from` keywords of a given node if - * usage of spacing around those keywords is invalid. - * - * This rule handles the `*` token in module declarations. - * - * import*as A from "./a"; /*error Expected space(s) after "import". - * error Expected space(s) before "as". - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForModuleDeclaration(node) { - const firstToken = sourceCode.getFirstToken(node); - - checkSpacingBefore(firstToken, PREV_TOKEN_M); - checkSpacingAfter(firstToken, NEXT_TOKEN_M); - - if (node.type === "ExportDefaultDeclaration") { - checkSpacingAround(sourceCode.getTokenAfter(firstToken)); - } - - if (node.type === "ExportAllDeclaration" && node.exported) { - const asToken = sourceCode.getTokenBefore(node.exported); - - checkSpacingBefore(asToken, PREV_TOKEN_M); - checkSpacingAfter(asToken, NEXT_TOKEN_M); - } - - if (node.source) { - const fromToken = sourceCode.getTokenBefore(node.source); - - checkSpacingBefore(fromToken, PREV_TOKEN_M); - checkSpacingAfter(fromToken, NEXT_TOKEN_M); - } - } - - /** - * Reports `as` keyword of a given node if usage of spacing around this - * keyword is invalid. - * @param {ASTNode} node An `ImportSpecifier` node to check. - * @returns {void} - */ - function checkSpacingForImportSpecifier(node) { - if (node.imported.range[0] !== node.local.range[0]) { - const asToken = sourceCode.getTokenBefore(node.local); - - checkSpacingBefore(asToken, PREV_TOKEN_M); - } - } - - /** - * Reports `as` keyword of a given node if usage of spacing around this - * keyword is invalid. - * @param {ASTNode} node An `ExportSpecifier` node to check. - * @returns {void} - */ - function checkSpacingForExportSpecifier(node) { - if (node.local.range[0] !== node.exported.range[0]) { - const asToken = sourceCode.getTokenBefore(node.exported); - - checkSpacingBefore(asToken, PREV_TOKEN_M); - checkSpacingAfter(asToken, NEXT_TOKEN_M); - } - } - - /** - * Reports `as` keyword of a given node if usage of spacing around this - * keyword is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForImportNamespaceSpecifier(node) { - const asToken = sourceCode.getFirstToken(node, 1); - - checkSpacingBefore(asToken, PREV_TOKEN_M); - } - - /** - * Reports `static`, `get`, and `set` keywords of a given node if usage of - * spacing around those keywords is invalid. - * @param {ASTNode} node A node to report. - * @throws {Error} If unable to find token get, set, or async beside method name. - * @returns {void} - */ - function checkSpacingForProperty(node) { - if (node.static) { - checkSpacingAroundFirstToken(node); - } - if (node.kind === "get" || - node.kind === "set" || - ( - (node.method || node.type === "MethodDefinition") && - node.value.async - ) - ) { - const token = sourceCode.getTokenBefore( - node.key, - tok => { - switch (tok.value) { - case "get": - case "set": - case "async": - return true; - default: - return false; - } - } - ); - - if (!token) { - throw new Error("Failed to find token get, set, or async beside method name"); - } - - - checkSpacingAround(token); - } - } - - /** - * Reports `await` keyword of a given node if usage of spacing before - * this keyword is invalid. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function checkSpacingForAwaitExpression(node) { - checkSpacingBefore(sourceCode.getFirstToken(node)); - } - - return { - - // Statements - DebuggerStatement: checkSpacingAroundFirstToken, - WithStatement: checkSpacingAroundFirstToken, - - // Statements - Control flow - BreakStatement: checkSpacingAroundFirstToken, - ContinueStatement: checkSpacingAroundFirstToken, - ReturnStatement: checkSpacingAroundFirstToken, - ThrowStatement: checkSpacingAroundFirstToken, - TryStatement: checkSpacingForTryStatement, - - // Statements - Choice - IfStatement: checkSpacingForIfStatement, - SwitchStatement: checkSpacingAroundFirstToken, - SwitchCase: checkSpacingAroundFirstToken, - - // Statements - Loops - DoWhileStatement: checkSpacingForDoWhileStatement, - ForInStatement: checkSpacingForForInStatement, - ForOfStatement: checkSpacingForForOfStatement, - ForStatement: checkSpacingAroundFirstToken, - WhileStatement: checkSpacingAroundFirstToken, - - // Statements - Declarations - ClassDeclaration: checkSpacingForClass, - ExportNamedDeclaration: checkSpacingForModuleDeclaration, - ExportDefaultDeclaration: checkSpacingForModuleDeclaration, - ExportAllDeclaration: checkSpacingForModuleDeclaration, - FunctionDeclaration: checkSpacingForFunction, - ImportDeclaration: checkSpacingForModuleDeclaration, - VariableDeclaration: checkSpacingAroundFirstToken, - - // Expressions - ArrowFunctionExpression: checkSpacingForFunction, - AwaitExpression: checkSpacingForAwaitExpression, - ClassExpression: checkSpacingForClass, - FunctionExpression: checkSpacingForFunction, - NewExpression: checkSpacingBeforeFirstToken, - Super: checkSpacingBeforeFirstToken, - ThisExpression: checkSpacingBeforeFirstToken, - UnaryExpression: checkSpacingBeforeFirstToken, - YieldExpression: checkSpacingBeforeFirstToken, - - // Others - ImportSpecifier: checkSpacingForImportSpecifier, - ExportSpecifier: checkSpacingForExportSpecifier, - ImportNamespaceSpecifier: checkSpacingForImportNamespaceSpecifier, - MethodDefinition: checkSpacingForProperty, - PropertyDefinition: checkSpacingForProperty, - StaticBlock: checkSpacingAroundFirstToken, - Property: checkSpacingForProperty, - - // To avoid conflicts with `space-infix-ops`, e.g. `a > this.b` - "BinaryExpression[operator='>']"(node) { - const operatorToken = sourceCode.getTokenBefore(node.right, astUtils.isNotOpeningParenToken); - - tokensToIgnore.add(operatorToken); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/line-comment-position.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/line-comment-position.js deleted file mode 100644 index e7a7788c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/line-comment-position.js +++ /dev/null @@ -1,125 +0,0 @@ -/** - * @fileoverview Rule to enforce the position of line comments - * @author Alberto Rodríguez - * @deprecated in ESLint v9.3.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce position of line comments", - recommended: false, - url: "https://eslint.org/docs/latest/rules/line-comment-position" - }, - - schema: [ - { - oneOf: [ - { - enum: ["above", "beside"] - }, - { - type: "object", - properties: { - position: { - enum: ["above", "beside"] - }, - ignorePattern: { - type: "string" - }, - applyDefaultPatterns: { - type: "boolean" - }, - applyDefaultIgnorePatterns: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - } - ], - messages: { - above: "Expected comment to be above code.", - beside: "Expected comment to be beside code." - } - }, - - create(context) { - const options = context.options[0]; - - let above, - ignorePattern, - applyDefaultIgnorePatterns = true; - - if (!options || typeof options === "string") { - above = !options || options === "above"; - - } else { - above = !options.position || options.position === "above"; - ignorePattern = options.ignorePattern; - - if (Object.hasOwn(options, "applyDefaultIgnorePatterns")) { - applyDefaultIgnorePatterns = options.applyDefaultIgnorePatterns; - } else { - applyDefaultIgnorePatterns = options.applyDefaultPatterns !== false; - } - } - - const defaultIgnoreRegExp = astUtils.COMMENTS_IGNORE_PATTERN; - const fallThroughRegExp = /^\s*falls?\s?through/u; - const customIgnoreRegExp = new RegExp(ignorePattern, "u"); - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program() { - const comments = sourceCode.getAllComments(); - - comments.filter(token => token.type === "Line").forEach(node => { - if (applyDefaultIgnorePatterns && (defaultIgnoreRegExp.test(node.value) || fallThroughRegExp.test(node.value))) { - return; - } - - if (ignorePattern && customIgnoreRegExp.test(node.value)) { - return; - } - - const previous = sourceCode.getTokenBefore(node, { includeComments: true }); - const isOnSameLine = previous && previous.loc.end.line === node.loc.start.line; - - if (above) { - if (isOnSameLine) { - context.report({ - node, - messageId: "above" - }); - } - } else { - if (!isOnSameLine) { - context.report({ - node, - messageId: "beside" - }); - } - } - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/linebreak-style.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/linebreak-style.js deleted file mode 100644 index e59acca1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/linebreak-style.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * @fileoverview Rule to enforce a single linebreak style. - * @author Erik Mueller - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent linebreak style", - recommended: false, - url: "https://eslint.org/docs/latest/rules/linebreak-style" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["unix", "windows"] - } - ], - messages: { - expectedLF: "Expected linebreaks to be 'LF' but found 'CRLF'.", - expectedCRLF: "Expected linebreaks to be 'CRLF' but found 'LF'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Builds a fix function that replaces text at the specified range in the source text. - * @param {int[]} range The range to replace - * @param {string} text The text to insert. - * @returns {Function} Fixer function - * @private - */ - function createFix(range, text) { - return function(fixer) { - return fixer.replaceTextRange(range, text); - }; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program: function checkForLinebreakStyle(node) { - const linebreakStyle = context.options[0] || "unix", - expectedLF = linebreakStyle === "unix", - expectedLFChars = expectedLF ? "\n" : "\r\n", - source = sourceCode.getText(), - pattern = astUtils.createGlobalLinebreakMatcher(); - let match; - - let i = 0; - - while ((match = pattern.exec(source)) !== null) { - i++; - if (match[0] === expectedLFChars) { - continue; - } - - const index = match.index; - const range = [index, index + match[0].length]; - - context.report({ - node, - loc: { - start: { - line: i, - column: sourceCode.lines[i - 1].length - }, - end: { - line: i + 1, - column: 0 - } - }, - messageId: expectedLF ? "expectedLF" : "expectedCRLF", - fix: createFix(range, expectedLFChars) - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-comment.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-comment.js deleted file mode 100644 index 2a6e472f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-comment.js +++ /dev/null @@ -1,471 +0,0 @@ -/** - * @fileoverview Enforces empty lines around comments. - * @author Jamund Ferguson - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Return an array with any line numbers that are empty. - * @param {Array} lines An array of each line of the file. - * @returns {Array} An array of line numbers. - */ -function getEmptyLineNums(lines) { - const emptyLines = lines.map((line, i) => ({ - code: line.trim(), - num: i + 1 - })).filter(line => !line.code).map(line => line.num); - - return emptyLines; -} - -/** - * Return an array with any line numbers that contain comments. - * @param {Array} comments An array of comment tokens. - * @returns {Array} An array of line numbers. - */ -function getCommentLineNums(comments) { - const lines = []; - - comments.forEach(token => { - const start = token.loc.start.line; - const end = token.loc.end.line; - - lines.push(start, end); - }); - return lines; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require empty lines around comments", - recommended: false, - url: "https://eslint.org/docs/latest/rules/lines-around-comment" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - beforeBlockComment: { - type: "boolean", - default: true - }, - afterBlockComment: { - type: "boolean", - default: false - }, - beforeLineComment: { - type: "boolean", - default: false - }, - afterLineComment: { - type: "boolean", - default: false - }, - allowBlockStart: { - type: "boolean", - default: false - }, - allowBlockEnd: { - type: "boolean", - default: false - }, - allowClassStart: { - type: "boolean" - }, - allowClassEnd: { - type: "boolean" - }, - allowObjectStart: { - type: "boolean" - }, - allowObjectEnd: { - type: "boolean" - }, - allowArrayStart: { - type: "boolean" - }, - allowArrayEnd: { - type: "boolean" - }, - ignorePattern: { - type: "string" - }, - applyDefaultIgnorePatterns: { - type: "boolean" - }, - afterHashbangComment: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - messages: { - after: "Expected line after comment.", - before: "Expected line before comment." - } - }, - - create(context) { - - const options = Object.assign({}, context.options[0]); - const ignorePattern = options.ignorePattern; - const defaultIgnoreRegExp = astUtils.COMMENTS_IGNORE_PATTERN; - const customIgnoreRegExp = new RegExp(ignorePattern, "u"); - const applyDefaultIgnorePatterns = options.applyDefaultIgnorePatterns !== false; - - options.beforeBlockComment = typeof options.beforeBlockComment !== "undefined" ? options.beforeBlockComment : true; - - const sourceCode = context.sourceCode; - - const lines = sourceCode.lines, - numLines = lines.length + 1, - comments = sourceCode.getAllComments(), - commentLines = getCommentLineNums(comments), - emptyLines = getEmptyLineNums(lines), - commentAndEmptyLines = new Set(commentLines.concat(emptyLines)); - - /** - * Returns whether or not comments are on lines starting with or ending with code - * @param {token} token The comment token to check. - * @returns {boolean} True if the comment is not alone. - */ - function codeAroundComment(token) { - let currentToken = token; - - do { - currentToken = sourceCode.getTokenBefore(currentToken, { includeComments: true }); - } while (currentToken && astUtils.isCommentToken(currentToken)); - - if (currentToken && astUtils.isTokenOnSameLine(currentToken, token)) { - return true; - } - - currentToken = token; - do { - currentToken = sourceCode.getTokenAfter(currentToken, { includeComments: true }); - } while (currentToken && astUtils.isCommentToken(currentToken)); - - if (currentToken && astUtils.isTokenOnSameLine(token, currentToken)) { - return true; - } - - return false; - } - - /** - * Returns whether or not comments are inside a node type or not. - * @param {ASTNode} parent The Comment parent node. - * @param {string} nodeType The parent type to check against. - * @returns {boolean} True if the comment is inside nodeType. - */ - function isParentNodeType(parent, nodeType) { - return parent.type === nodeType || - (parent.body && parent.body.type === nodeType) || - (parent.consequent && parent.consequent.type === nodeType); - } - - /** - * Returns the parent node that contains the given token. - * @param {token} token The token to check. - * @returns {ASTNode|null} The parent node that contains the given token. - */ - function getParentNodeOfToken(token) { - const node = sourceCode.getNodeByRangeIndex(token.range[0]); - - /* - * For the purpose of this rule, the comment token is in a `StaticBlock` node only - * if it's inside the braces of that `StaticBlock` node. - * - * Example where this function returns `null`: - * - * static - * // comment - * { - * } - * - * Example where this function returns `StaticBlock` node: - * - * static - * { - * // comment - * } - * - */ - if (node && node.type === "StaticBlock") { - const openingBrace = sourceCode.getFirstToken(node, { skip: 1 }); // skip the `static` token - - return token.range[0] >= openingBrace.range[0] - ? node - : null; - } - - return node; - } - - /** - * Returns whether or not comments are at the parent start or not. - * @param {token} token The Comment token. - * @param {string} nodeType The parent type to check against. - * @returns {boolean} True if the comment is at parent start. - */ - function isCommentAtParentStart(token, nodeType) { - const parent = getParentNodeOfToken(token); - - if (parent && isParentNodeType(parent, nodeType)) { - let parentStartNodeOrToken = parent; - - if (parent.type === "StaticBlock") { - parentStartNodeOrToken = sourceCode.getFirstToken(parent, { skip: 1 }); // opening brace of the static block - } else if (parent.type === "SwitchStatement") { - parentStartNodeOrToken = sourceCode.getTokenAfter(parent.discriminant, { - filter: astUtils.isOpeningBraceToken - }); // opening brace of the switch statement - } - - return token.loc.start.line - parentStartNodeOrToken.loc.start.line === 1; - } - - return false; - } - - /** - * Returns whether or not comments are at the parent end or not. - * @param {token} token The Comment token. - * @param {string} nodeType The parent type to check against. - * @returns {boolean} True if the comment is at parent end. - */ - function isCommentAtParentEnd(token, nodeType) { - const parent = getParentNodeOfToken(token); - - return !!parent && isParentNodeType(parent, nodeType) && - parent.loc.end.line - token.loc.end.line === 1; - } - - /** - * Returns whether or not comments are at the block start or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at block start. - */ - function isCommentAtBlockStart(token) { - return ( - isCommentAtParentStart(token, "ClassBody") || - isCommentAtParentStart(token, "BlockStatement") || - isCommentAtParentStart(token, "StaticBlock") || - isCommentAtParentStart(token, "SwitchCase") || - isCommentAtParentStart(token, "SwitchStatement") - ); - } - - /** - * Returns whether or not comments are at the block end or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at block end. - */ - function isCommentAtBlockEnd(token) { - return ( - isCommentAtParentEnd(token, "ClassBody") || - isCommentAtParentEnd(token, "BlockStatement") || - isCommentAtParentEnd(token, "StaticBlock") || - isCommentAtParentEnd(token, "SwitchCase") || - isCommentAtParentEnd(token, "SwitchStatement") - ); - } - - /** - * Returns whether or not comments are at the class start or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at class start. - */ - function isCommentAtClassStart(token) { - return isCommentAtParentStart(token, "ClassBody"); - } - - /** - * Returns whether or not comments are at the class end or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at class end. - */ - function isCommentAtClassEnd(token) { - return isCommentAtParentEnd(token, "ClassBody"); - } - - /** - * Returns whether or not comments are at the object start or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at object start. - */ - function isCommentAtObjectStart(token) { - return isCommentAtParentStart(token, "ObjectExpression") || isCommentAtParentStart(token, "ObjectPattern"); - } - - /** - * Returns whether or not comments are at the object end or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at object end. - */ - function isCommentAtObjectEnd(token) { - return isCommentAtParentEnd(token, "ObjectExpression") || isCommentAtParentEnd(token, "ObjectPattern"); - } - - /** - * Returns whether or not comments are at the array start or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at array start. - */ - function isCommentAtArrayStart(token) { - return isCommentAtParentStart(token, "ArrayExpression") || isCommentAtParentStart(token, "ArrayPattern"); - } - - /** - * Returns whether or not comments are at the array end or not. - * @param {token} token The Comment token. - * @returns {boolean} True if the comment is at array end. - */ - function isCommentAtArrayEnd(token) { - return isCommentAtParentEnd(token, "ArrayExpression") || isCommentAtParentEnd(token, "ArrayPattern"); - } - - /** - * Checks if a comment token has lines around it (ignores inline comments) - * @param {token} token The Comment token. - * @param {Object} opts Options to determine the newline. - * @param {boolean} opts.after Should have a newline after this line. - * @param {boolean} opts.before Should have a newline before this line. - * @returns {void} - */ - function checkForEmptyLine(token, opts) { - if (applyDefaultIgnorePatterns && defaultIgnoreRegExp.test(token.value)) { - return; - } - - if (ignorePattern && customIgnoreRegExp.test(token.value)) { - return; - } - - let after = opts.after, - before = opts.before; - - const prevLineNum = token.loc.start.line - 1, - nextLineNum = token.loc.end.line + 1, - commentIsNotAlone = codeAroundComment(token); - - const blockStartAllowed = options.allowBlockStart && - isCommentAtBlockStart(token) && - !(options.allowClassStart === false && - isCommentAtClassStart(token)), - blockEndAllowed = options.allowBlockEnd && isCommentAtBlockEnd(token) && !(options.allowClassEnd === false && isCommentAtClassEnd(token)), - classStartAllowed = options.allowClassStart && isCommentAtClassStart(token), - classEndAllowed = options.allowClassEnd && isCommentAtClassEnd(token), - objectStartAllowed = options.allowObjectStart && isCommentAtObjectStart(token), - objectEndAllowed = options.allowObjectEnd && isCommentAtObjectEnd(token), - arrayStartAllowed = options.allowArrayStart && isCommentAtArrayStart(token), - arrayEndAllowed = options.allowArrayEnd && isCommentAtArrayEnd(token); - - const exceptionStartAllowed = blockStartAllowed || classStartAllowed || objectStartAllowed || arrayStartAllowed; - const exceptionEndAllowed = blockEndAllowed || classEndAllowed || objectEndAllowed || arrayEndAllowed; - - // ignore top of the file and bottom of the file - if (prevLineNum < 1) { - before = false; - } - if (nextLineNum >= numLines) { - after = false; - } - - // we ignore all inline comments - if (commentIsNotAlone) { - return; - } - - const previousTokenOrComment = sourceCode.getTokenBefore(token, { includeComments: true }); - const nextTokenOrComment = sourceCode.getTokenAfter(token, { includeComments: true }); - - // check for newline before - if (!exceptionStartAllowed && before && !commentAndEmptyLines.has(prevLineNum) && - !(astUtils.isCommentToken(previousTokenOrComment) && astUtils.isTokenOnSameLine(previousTokenOrComment, token))) { - const lineStart = token.range[0] - token.loc.start.column; - const range = [lineStart, lineStart]; - - context.report({ - node: token, - messageId: "before", - fix(fixer) { - return fixer.insertTextBeforeRange(range, "\n"); - } - }); - } - - // check for newline after - if (!exceptionEndAllowed && after && !commentAndEmptyLines.has(nextLineNum) && - !(astUtils.isCommentToken(nextTokenOrComment) && astUtils.isTokenOnSameLine(token, nextTokenOrComment))) { - context.report({ - node: token, - messageId: "after", - fix(fixer) { - return fixer.insertTextAfter(token, "\n"); - } - }); - } - - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program() { - comments.forEach(token => { - if (token.type === "Line") { - if (options.beforeLineComment || options.afterLineComment) { - checkForEmptyLine(token, { - after: options.afterLineComment, - before: options.beforeLineComment - }); - } - } else if (token.type === "Block") { - if (options.beforeBlockComment || options.afterBlockComment) { - checkForEmptyLine(token, { - after: options.afterBlockComment, - before: options.beforeBlockComment - }); - } - } else if (token.type === "Shebang") { - if (options.afterHashbangComment) { - checkForEmptyLine(token, { - after: options.afterHashbangComment, - before: false - }); - } - } - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-directive.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-directive.js deleted file mode 100644 index fb6871d3..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-around-directive.js +++ /dev/null @@ -1,201 +0,0 @@ -/** - * @fileoverview Require or disallow newlines around directives. - * @author Kai Cataldo - * @deprecated in ESLint v4.0.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "layout", - - docs: { - description: "Require or disallow newlines around directives", - recommended: false, - url: "https://eslint.org/docs/latest/rules/lines-around-directive" - }, - - schema: [{ - oneOf: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - before: { - enum: ["always", "never"] - }, - after: { - enum: ["always", "never"] - } - }, - additionalProperties: false, - minProperties: 2 - } - ] - }], - - fixable: "whitespace", - messages: { - expected: "Expected newline {{location}} \"{{value}}\" directive.", - unexpected: "Unexpected newline {{location}} \"{{value}}\" directive." - }, - deprecated: true, - replacedBy: ["padding-line-between-statements"] - }, - - create(context) { - const sourceCode = context.sourceCode; - const config = context.options[0] || "always"; - const expectLineBefore = typeof config === "string" ? config : config.before; - const expectLineAfter = typeof config === "string" ? config : config.after; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Check if node is preceded by a blank newline. - * @param {ASTNode} node Node to check. - * @returns {boolean} Whether or not the passed in node is preceded by a blank newline. - */ - function hasNewlineBefore(node) { - const tokenBefore = sourceCode.getTokenBefore(node, { includeComments: true }); - const tokenLineBefore = tokenBefore ? tokenBefore.loc.end.line : 0; - - return node.loc.start.line - tokenLineBefore >= 2; - } - - /** - * Gets the last token of a node that is on the same line as the rest of the node. - * This will usually be the last token of the node, but it will be the second-to-last token if the node has a trailing - * semicolon on a different line. - * @param {ASTNode} node A directive node - * @returns {Token} The last token of the node on the line - */ - function getLastTokenOnLine(node) { - const lastToken = sourceCode.getLastToken(node); - const secondToLastToken = sourceCode.getTokenBefore(lastToken); - - return astUtils.isSemicolonToken(lastToken) && lastToken.loc.start.line > secondToLastToken.loc.end.line - ? secondToLastToken - : lastToken; - } - - /** - * Check if node is followed by a blank newline. - * @param {ASTNode} node Node to check. - * @returns {boolean} Whether or not the passed in node is followed by a blank newline. - */ - function hasNewlineAfter(node) { - const lastToken = getLastTokenOnLine(node); - const tokenAfter = sourceCode.getTokenAfter(lastToken, { includeComments: true }); - - return tokenAfter.loc.start.line - lastToken.loc.end.line >= 2; - } - - /** - * Report errors for newlines around directives. - * @param {ASTNode} node Node to check. - * @param {string} location Whether the error was found before or after the directive. - * @param {boolean} expected Whether or not a newline was expected or unexpected. - * @returns {void} - */ - function reportError(node, location, expected) { - context.report({ - node, - messageId: expected ? "expected" : "unexpected", - data: { - value: node.expression.value, - location - }, - fix(fixer) { - const lastToken = getLastTokenOnLine(node); - - if (expected) { - return location === "before" ? fixer.insertTextBefore(node, "\n") : fixer.insertTextAfter(lastToken, "\n"); - } - return fixer.removeRange(location === "before" ? [node.range[0] - 1, node.range[0]] : [lastToken.range[1], lastToken.range[1] + 1]); - } - }); - } - - /** - * Check lines around directives in node - * @param {ASTNode} node node to check - * @returns {void} - */ - function checkDirectives(node) { - const directives = astUtils.getDirectivePrologue(node); - - if (!directives.length) { - return; - } - - const firstDirective = directives[0]; - const leadingComments = sourceCode.getCommentsBefore(firstDirective); - - /* - * Only check before the first directive if it is preceded by a comment or if it is at the top of - * the file and expectLineBefore is set to "never". This is to not force a newline at the top of - * the file if there are no comments as well as for compatibility with padded-blocks. - */ - if (leadingComments.length) { - if (expectLineBefore === "always" && !hasNewlineBefore(firstDirective)) { - reportError(firstDirective, "before", true); - } - - if (expectLineBefore === "never" && hasNewlineBefore(firstDirective)) { - reportError(firstDirective, "before", false); - } - } else if ( - node.type === "Program" && - expectLineBefore === "never" && - !leadingComments.length && - hasNewlineBefore(firstDirective) - ) { - reportError(firstDirective, "before", false); - } - - const lastDirective = directives.at(-1); - const statements = node.type === "Program" ? node.body : node.body.body; - - /* - * Do not check after the last directive if the body only - * contains a directive prologue and isn't followed by a comment to ensure - * this rule behaves well with padded-blocks. - */ - if (lastDirective === statements.at(-1) && !lastDirective.trailingComments) { - return; - } - - if (expectLineAfter === "always" && !hasNewlineAfter(lastDirective)) { - reportError(lastDirective, "after", true); - } - - if (expectLineAfter === "never" && hasNewlineAfter(lastDirective)) { - reportError(lastDirective, "after", false); - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program: checkDirectives, - FunctionDeclaration: checkDirectives, - FunctionExpression: checkDirectives, - ArrowFunctionExpression: checkDirectives - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-between-class-members.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-between-class-members.js deleted file mode 100644 index 5f36d468..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/lines-between-class-members.js +++ /dev/null @@ -1,269 +0,0 @@ -/** - * @fileoverview Rule to check empty newline between class members - * @author 薛定谔的猫 - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Types of class members. - * Those have `test` method to check it matches to the given class member. - * @private - */ -const ClassMemberTypes = { - "*": { test: () => true }, - field: { test: node => node.type === "PropertyDefinition" }, - method: { test: node => node.type === "MethodDefinition" } -}; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow an empty line between class members", - recommended: false, - url: "https://eslint.org/docs/latest/rules/lines-between-class-members" - }, - - fixable: "whitespace", - - schema: [ - { - anyOf: [ - { - type: "object", - properties: { - enforce: { - type: "array", - items: { - type: "object", - properties: { - blankLine: { enum: ["always", "never"] }, - prev: { enum: ["method", "field", "*"] }, - next: { enum: ["method", "field", "*"] } - }, - additionalProperties: false, - required: ["blankLine", "prev", "next"] - }, - minItems: 1 - } - }, - additionalProperties: false, - required: ["enforce"] - }, - { - enum: ["always", "never"] - } - ] - }, - { - type: "object", - properties: { - exceptAfterSingleLine: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - messages: { - never: "Unexpected blank line between class members.", - always: "Expected blank line between class members." - } - }, - - create(context) { - - const options = []; - - options[0] = context.options[0] || "always"; - options[1] = context.options[1] || { exceptAfterSingleLine: false }; - - const configureList = typeof options[0] === "object" ? options[0].enforce : [{ blankLine: options[0], prev: "*", next: "*" }]; - const sourceCode = context.sourceCode; - - /** - * Gets a pair of tokens that should be used to check lines between two class member nodes. - * - * In most cases, this returns the very last token of the current node and - * the very first token of the next node. - * For example: - * - * class C { - * x = 1; // curLast: `;` nextFirst: `in` - * in = 2 - * } - * - * There is only one exception. If the given node ends with a semicolon, and it looks like - * a semicolon-less style's semicolon - one that is not on the same line as the preceding - * token, but is on the line where the next class member starts - this returns the preceding - * token and the semicolon as boundary tokens. - * For example: - * - * class C { - * x = 1 // curLast: `1` nextFirst: `;` - * ;in = 2 - * } - * When determining the desired layout of the code, we should treat this semicolon as - * a part of the next class member node instead of the one it technically belongs to. - * @param {ASTNode} curNode Current class member node. - * @param {ASTNode} nextNode Next class member node. - * @returns {Token} The actual last token of `node`. - * @private - */ - function getBoundaryTokens(curNode, nextNode) { - const lastToken = sourceCode.getLastToken(curNode); - const prevToken = sourceCode.getTokenBefore(lastToken); - const nextToken = sourceCode.getFirstToken(nextNode); // skip possible lone `;` between nodes - - const isSemicolonLessStyle = ( - astUtils.isSemicolonToken(lastToken) && - !astUtils.isTokenOnSameLine(prevToken, lastToken) && - astUtils.isTokenOnSameLine(lastToken, nextToken) - ); - - return isSemicolonLessStyle - ? { curLast: prevToken, nextFirst: lastToken } - : { curLast: lastToken, nextFirst: nextToken }; - } - - /** - * Return the last token among the consecutive tokens that have no exceed max line difference in between, before the first token in the next member. - * @param {Token} prevLastToken The last token in the previous member node. - * @param {Token} nextFirstToken The first token in the next member node. - * @param {number} maxLine The maximum number of allowed line difference between consecutive tokens. - * @returns {Token} The last token among the consecutive tokens. - */ - function findLastConsecutiveTokenAfter(prevLastToken, nextFirstToken, maxLine) { - const after = sourceCode.getTokenAfter(prevLastToken, { includeComments: true }); - - if (after !== nextFirstToken && after.loc.start.line - prevLastToken.loc.end.line <= maxLine) { - return findLastConsecutiveTokenAfter(after, nextFirstToken, maxLine); - } - return prevLastToken; - } - - /** - * Return the first token among the consecutive tokens that have no exceed max line difference in between, after the last token in the previous member. - * @param {Token} nextFirstToken The first token in the next member node. - * @param {Token} prevLastToken The last token in the previous member node. - * @param {number} maxLine The maximum number of allowed line difference between consecutive tokens. - * @returns {Token} The first token among the consecutive tokens. - */ - function findFirstConsecutiveTokenBefore(nextFirstToken, prevLastToken, maxLine) { - const before = sourceCode.getTokenBefore(nextFirstToken, { includeComments: true }); - - if (before !== prevLastToken && nextFirstToken.loc.start.line - before.loc.end.line <= maxLine) { - return findFirstConsecutiveTokenBefore(before, prevLastToken, maxLine); - } - return nextFirstToken; - } - - /** - * Checks if there is a token or comment between two tokens. - * @param {Token} before The token before. - * @param {Token} after The token after. - * @returns {boolean} True if there is a token or comment between two tokens. - */ - function hasTokenOrCommentBetween(before, after) { - return sourceCode.getTokensBetween(before, after, { includeComments: true }).length !== 0; - } - - /** - * Checks whether the given node matches the given type. - * @param {ASTNode} node The class member node to check. - * @param {string} type The class member type to check. - * @returns {boolean} `true` if the class member node matched the type. - * @private - */ - function match(node, type) { - return ClassMemberTypes[type].test(node); - } - - /** - * Finds the last matched configuration from the configureList. - * @param {ASTNode} prevNode The previous node to match. - * @param {ASTNode} nextNode The current node to match. - * @returns {string|null} Padding type or `null` if no matches were found. - * @private - */ - function getPaddingType(prevNode, nextNode) { - for (let i = configureList.length - 1; i >= 0; --i) { - const configure = configureList[i]; - const matched = - match(prevNode, configure.prev) && - match(nextNode, configure.next); - - if (matched) { - return configure.blankLine; - } - } - return null; - } - - return { - ClassBody(node) { - const body = node.body; - - for (let i = 0; i < body.length - 1; i++) { - const curFirst = sourceCode.getFirstToken(body[i]); - const { curLast, nextFirst } = getBoundaryTokens(body[i], body[i + 1]); - const isMulti = !astUtils.isTokenOnSameLine(curFirst, curLast); - const skip = !isMulti && options[1].exceptAfterSingleLine; - const beforePadding = findLastConsecutiveTokenAfter(curLast, nextFirst, 1); - const afterPadding = findFirstConsecutiveTokenBefore(nextFirst, curLast, 1); - const isPadded = afterPadding.loc.start.line - beforePadding.loc.end.line > 1; - const hasTokenInPadding = hasTokenOrCommentBetween(beforePadding, afterPadding); - const curLineLastToken = findLastConsecutiveTokenAfter(curLast, nextFirst, 0); - const paddingType = getPaddingType(body[i], body[i + 1]); - - if (paddingType === "never" && isPadded) { - context.report({ - node: body[i + 1], - messageId: "never", - - fix(fixer) { - if (hasTokenInPadding) { - return null; - } - return fixer.replaceTextRange([beforePadding.range[1], afterPadding.range[0]], "\n"); - } - }); - } else if (paddingType === "always" && !skip && !isPadded) { - context.report({ - node: body[i + 1], - messageId: "always", - - fix(fixer) { - if (hasTokenInPadding) { - return null; - } - return fixer.insertTextAfter(curLineLastToken, "\n"); - } - }); - } - - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/logical-assignment-operators.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/logical-assignment-operators.js deleted file mode 100644 index c084c04c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/logical-assignment-operators.js +++ /dev/null @@ -1,504 +0,0 @@ -/** - * @fileoverview Rule to replace assignment expressions with logical operator assignment - * @author Daniel Martens - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ -const astUtils = require("./utils/ast-utils.js"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const baseTypes = new Set(["Identifier", "Super", "ThisExpression"]); - -/** - * Returns true iff either "undefined" or a void expression (eg. "void 0") - * @param {ASTNode} expression Expression to check - * @param {import('eslint-scope').Scope} scope Scope of the expression - * @returns {boolean} True iff "undefined" or "void ..." - */ -function isUndefined(expression, scope) { - if (expression.type === "Identifier" && expression.name === "undefined") { - return astUtils.isReferenceToGlobalVariable(scope, expression); - } - - return expression.type === "UnaryExpression" && - expression.operator === "void" && - expression.argument.type === "Literal" && - expression.argument.value === 0; -} - -/** - * Returns true iff the reference is either an identifier or member expression - * @param {ASTNode} expression Expression to check - * @returns {boolean} True for identifiers and member expressions - */ -function isReference(expression) { - return (expression.type === "Identifier" && expression.name !== "undefined") || - expression.type === "MemberExpression"; -} - -/** - * Returns true iff the expression checks for nullish with loose equals. - * Examples: value == null, value == void 0 - * @param {ASTNode} expression Test condition - * @param {import('eslint-scope').Scope} scope Scope of the expression - * @returns {boolean} True iff implicit nullish comparison - */ -function isImplicitNullishComparison(expression, scope) { - if (expression.type !== "BinaryExpression" || expression.operator !== "==") { - return false; - } - - const reference = isReference(expression.left) ? "left" : "right"; - const nullish = reference === "left" ? "right" : "left"; - - return isReference(expression[reference]) && - (astUtils.isNullLiteral(expression[nullish]) || isUndefined(expression[nullish], scope)); -} - -/** - * Condition with two equal comparisons. - * @param {ASTNode} expression Condition - * @returns {boolean} True iff matches ? === ? || ? === ? - */ -function isDoubleComparison(expression) { - return expression.type === "LogicalExpression" && - expression.operator === "||" && - expression.left.type === "BinaryExpression" && - expression.left.operator === "===" && - expression.right.type === "BinaryExpression" && - expression.right.operator === "==="; -} - -/** - * Returns true iff the expression checks for undefined and null. - * Example: value === null || value === undefined - * @param {ASTNode} expression Test condition - * @param {import('eslint-scope').Scope} scope Scope of the expression - * @returns {boolean} True iff explicit nullish comparison - */ -function isExplicitNullishComparison(expression, scope) { - if (!isDoubleComparison(expression)) { - return false; - } - const leftReference = isReference(expression.left.left) ? "left" : "right"; - const leftNullish = leftReference === "left" ? "right" : "left"; - const rightReference = isReference(expression.right.left) ? "left" : "right"; - const rightNullish = rightReference === "left" ? "right" : "left"; - - return astUtils.isSameReference(expression.left[leftReference], expression.right[rightReference]) && - ((astUtils.isNullLiteral(expression.left[leftNullish]) && isUndefined(expression.right[rightNullish], scope)) || - (isUndefined(expression.left[leftNullish], scope) && astUtils.isNullLiteral(expression.right[rightNullish]))); -} - -/** - * Returns true for Boolean(arg) calls - * @param {ASTNode} expression Test condition - * @param {import('eslint-scope').Scope} scope Scope of the expression - * @returns {boolean} Whether the expression is a boolean cast - */ -function isBooleanCast(expression, scope) { - return expression.type === "CallExpression" && - expression.callee.name === "Boolean" && - expression.arguments.length === 1 && - astUtils.isReferenceToGlobalVariable(scope, expression.callee); -} - -/** - * Returns true for: - * truthiness checks: value, Boolean(value), !!value - * falsiness checks: !value, !Boolean(value) - * nullish checks: value == null, value === undefined || value === null - * @param {ASTNode} expression Test condition - * @param {import('eslint-scope').Scope} scope Scope of the expression - * @returns {?{ reference: ASTNode, operator: '??'|'||'|'&&'}} Null if not a known existence - */ -function getExistence(expression, scope) { - const isNegated = expression.type === "UnaryExpression" && expression.operator === "!"; - const base = isNegated ? expression.argument : expression; - - switch (true) { - case isReference(base): - return { reference: base, operator: isNegated ? "||" : "&&" }; - case base.type === "UnaryExpression" && base.operator === "!" && isReference(base.argument): - return { reference: base.argument, operator: "&&" }; - case isBooleanCast(base, scope) && isReference(base.arguments[0]): - return { reference: base.arguments[0], operator: isNegated ? "||" : "&&" }; - case isImplicitNullishComparison(expression, scope): - return { reference: isReference(expression.left) ? expression.left : expression.right, operator: "??" }; - case isExplicitNullishComparison(expression, scope): - return { reference: isReference(expression.left.left) ? expression.left.left : expression.left.right, operator: "??" }; - default: return null; - } -} - -/** - * Returns true iff the node is inside a with block - * @param {ASTNode} node Node to check - * @returns {boolean} True iff passed node is inside a with block - */ -function isInsideWithBlock(node) { - if (node.type === "Program") { - return false; - } - - return node.parent.type === "WithStatement" && node.parent.body === node ? true : isInsideWithBlock(node.parent); -} - -/** - * Gets the leftmost operand of a consecutive logical expression. - * @param {SourceCode} sourceCode The ESLint source code object - * @param {LogicalExpression} node LogicalExpression - * @returns {Expression} Leftmost operand - */ -function getLeftmostOperand(sourceCode, node) { - let left = node.left; - - while (left.type === "LogicalExpression" && left.operator === node.operator) { - - if (astUtils.isParenthesised(sourceCode, left)) { - - /* - * It should have associativity, - * but ignore it if use parentheses to make the evaluation order clear. - */ - return left; - } - left = left.left; - } - return left; - -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require or disallow logical assignment operator shorthand", - recommended: false, - url: "https://eslint.org/docs/latest/rules/logical-assignment-operators" - }, - - schema: { - type: "array", - oneOf: [{ - items: [ - { const: "always" }, - { - type: "object", - properties: { - enforceForIfStatements: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - minItems: 0, // 0 for allowing passing no options - maxItems: 2 - }, { - items: [{ const: "never" }], - minItems: 1, - maxItems: 1 - }] - }, - fixable: "code", - hasSuggestions: true, - messages: { - assignment: "Assignment (=) can be replaced with operator assignment ({{operator}}).", - useLogicalOperator: "Convert this assignment to use the operator {{ operator }}.", - logical: "Logical expression can be replaced with an assignment ({{ operator }}).", - convertLogical: "Replace this logical expression with an assignment with the operator {{ operator }}.", - if: "'if' statement can be replaced with a logical operator assignment with operator {{ operator }}.", - convertIf: "Replace this 'if' statement with a logical assignment with operator {{ operator }}.", - unexpected: "Unexpected logical operator assignment ({{operator}}) shorthand.", - separate: "Separate the logical assignment into an assignment with a logical operator." - } - }, - - create(context) { - const mode = context.options[0] === "never" ? "never" : "always"; - const checkIf = mode === "always" && context.options.length > 1 && context.options[1].enforceForIfStatements; - const sourceCode = context.sourceCode; - const isStrict = sourceCode.getScope(sourceCode.ast).isStrict; - - /** - * Returns false if the access could be a getter - * @param {ASTNode} node Assignment expression - * @returns {boolean} True iff the fix is safe - */ - function cannotBeGetter(node) { - return node.type === "Identifier" && - (isStrict || !isInsideWithBlock(node)); - } - - /** - * Check whether only a single property is accessed - * @param {ASTNode} node reference - * @returns {boolean} True iff a single property is accessed - */ - function accessesSingleProperty(node) { - if (!isStrict && isInsideWithBlock(node)) { - return node.type === "Identifier"; - } - - return node.type === "MemberExpression" && - baseTypes.has(node.object.type) && - (!node.computed || (node.property.type !== "MemberExpression" && node.property.type !== "ChainExpression")); - } - - /** - * Adds a fixer or suggestion whether on the fix is safe. - * @param {{ messageId: string, node: ASTNode }} descriptor Report descriptor without fix or suggest - * @param {{ messageId: string, fix: Function }} suggestion Adds the fix or the whole suggestion as only element in "suggest" to suggestion - * @param {boolean} shouldBeFixed Fix iff the condition is true - * @returns {Object} Descriptor with either an added fix or suggestion - */ - function createConditionalFixer(descriptor, suggestion, shouldBeFixed) { - if (shouldBeFixed) { - return { - ...descriptor, - fix: suggestion.fix - }; - } - - return { - ...descriptor, - suggest: [suggestion] - }; - } - - - /** - * Returns the operator token for assignments and binary expressions - * @param {ASTNode} node AssignmentExpression or BinaryExpression - * @returns {import('eslint').AST.Token} Operator token between the left and right expression - */ - function getOperatorToken(node) { - return sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator); - } - - if (mode === "never") { - return { - - // foo ||= bar - "AssignmentExpression"(assignment) { - if (!astUtils.isLogicalAssignmentOperator(assignment.operator)) { - return; - } - - const descriptor = { - messageId: "unexpected", - node: assignment, - data: { operator: assignment.operator } - }; - const suggestion = { - messageId: "separate", - *fix(ruleFixer) { - if (sourceCode.getCommentsInside(assignment).length > 0) { - return; - } - - const operatorToken = getOperatorToken(assignment); - - // -> foo = bar - yield ruleFixer.replaceText(operatorToken, "="); - - const assignmentText = sourceCode.getText(assignment.left); - const operator = assignment.operator.slice(0, -1); - - // -> foo = foo || bar - yield ruleFixer.insertTextAfter(operatorToken, ` ${assignmentText} ${operator}`); - - const precedence = astUtils.getPrecedence(assignment.right) <= astUtils.getPrecedence({ type: "LogicalExpression", operator }); - - // ?? and || / && cannot be mixed but have same precedence - const mixed = assignment.operator === "??=" && astUtils.isLogicalExpression(assignment.right); - - if (!astUtils.isParenthesised(sourceCode, assignment.right) && (precedence || mixed)) { - - // -> foo = foo || (bar) - yield ruleFixer.insertTextBefore(assignment.right, "("); - yield ruleFixer.insertTextAfter(assignment.right, ")"); - } - } - }; - - context.report(createConditionalFixer(descriptor, suggestion, cannotBeGetter(assignment.left))); - } - }; - } - - return { - - // foo = foo || bar - "AssignmentExpression[operator='='][right.type='LogicalExpression']"(assignment) { - const leftOperand = getLeftmostOperand(sourceCode, assignment.right); - - if (!astUtils.isSameReference(assignment.left, leftOperand) - ) { - return; - } - - const descriptor = { - messageId: "assignment", - node: assignment, - data: { operator: `${assignment.right.operator}=` } - }; - const suggestion = { - messageId: "useLogicalOperator", - data: { operator: `${assignment.right.operator}=` }, - *fix(ruleFixer) { - if (sourceCode.getCommentsInside(assignment).length > 0) { - return; - } - - // No need for parenthesis around the assignment based on precedence as the precedence stays the same even with changed operator - const assignmentOperatorToken = getOperatorToken(assignment); - - // -> foo ||= foo || bar - yield ruleFixer.insertTextBefore(assignmentOperatorToken, assignment.right.operator); - - // -> foo ||= bar - const logicalOperatorToken = getOperatorToken(leftOperand.parent); - const firstRightOperandToken = sourceCode.getTokenAfter(logicalOperatorToken); - - yield ruleFixer.removeRange([leftOperand.parent.range[0], firstRightOperandToken.range[0]]); - } - }; - - context.report(createConditionalFixer(descriptor, suggestion, cannotBeGetter(assignment.left))); - }, - - // foo || (foo = bar) - 'LogicalExpression[right.type="AssignmentExpression"][right.operator="="]'(logical) { - - // Right side has to be parenthesized, otherwise would be parsed as (foo || foo) = bar which is illegal - if (isReference(logical.left) && astUtils.isSameReference(logical.left, logical.right.left)) { - const descriptor = { - messageId: "logical", - node: logical, - data: { operator: `${logical.operator}=` } - }; - const suggestion = { - messageId: "convertLogical", - data: { operator: `${logical.operator}=` }, - *fix(ruleFixer) { - if (sourceCode.getCommentsInside(logical).length > 0) { - return; - } - - const parentPrecedence = astUtils.getPrecedence(logical.parent); - const requiresOuterParenthesis = logical.parent.type !== "ExpressionStatement" && ( - parentPrecedence === -1 || - astUtils.getPrecedence({ type: "AssignmentExpression" }) < parentPrecedence - ); - - if (!astUtils.isParenthesised(sourceCode, logical) && requiresOuterParenthesis) { - yield ruleFixer.insertTextBefore(logical, "("); - yield ruleFixer.insertTextAfter(logical, ")"); - } - - // Also removes all opening parenthesis - yield ruleFixer.removeRange([logical.range[0], logical.right.range[0]]); // -> foo = bar) - - // Also removes all ending parenthesis - yield ruleFixer.removeRange([logical.right.range[1], logical.range[1]]); // -> foo = bar - - const operatorToken = getOperatorToken(logical.right); - - yield ruleFixer.insertTextBefore(operatorToken, logical.operator); // -> foo ||= bar - } - }; - const fix = cannotBeGetter(logical.left) || accessesSingleProperty(logical.left); - - context.report(createConditionalFixer(descriptor, suggestion, fix)); - } - }, - - // if (foo) foo = bar - "IfStatement[alternate=null]"(ifNode) { - if (!checkIf) { - return; - } - - const hasBody = ifNode.consequent.type === "BlockStatement"; - - if (hasBody && ifNode.consequent.body.length !== 1) { - return; - } - - const body = hasBody ? ifNode.consequent.body[0] : ifNode.consequent; - const scope = sourceCode.getScope(ifNode); - const existence = getExistence(ifNode.test, scope); - - if ( - body.type === "ExpressionStatement" && - body.expression.type === "AssignmentExpression" && - body.expression.operator === "=" && - existence !== null && - astUtils.isSameReference(existence.reference, body.expression.left) - ) { - const descriptor = { - messageId: "if", - node: ifNode, - data: { operator: `${existence.operator}=` } - }; - const suggestion = { - messageId: "convertIf", - data: { operator: `${existence.operator}=` }, - *fix(ruleFixer) { - if (sourceCode.getCommentsInside(ifNode).length > 0) { - return; - } - - const firstBodyToken = sourceCode.getFirstToken(body); - const prevToken = sourceCode.getTokenBefore(ifNode); - - if ( - prevToken !== null && - prevToken.value !== ";" && - prevToken.value !== "{" && - firstBodyToken.type !== "Identifier" && - firstBodyToken.type !== "Keyword" - ) { - - // Do not fix if the fixed statement could be part of the previous statement (eg. fn() if (a == null) (a) = b --> fn()(a) ??= b) - return; - } - - - const operatorToken = getOperatorToken(body.expression); - - yield ruleFixer.insertTextBefore(operatorToken, existence.operator); // -> if (foo) foo ||= bar - - yield ruleFixer.removeRange([ifNode.range[0], body.range[0]]); // -> foo ||= bar - - yield ruleFixer.removeRange([body.range[1], ifNode.range[1]]); // -> foo ||= bar, only present if "if" had a body - - const nextToken = sourceCode.getTokenAfter(body.expression); - - if (hasBody && (nextToken !== null && nextToken.value !== ";")) { - yield ruleFixer.insertTextAfter(ifNode, ";"); - } - } - }; - const shouldBeFixed = cannotBeGetter(existence.reference) || - (ifNode.test.type !== "LogicalExpression" && accessesSingleProperty(existence.reference)); - - context.report(createConditionalFixer(descriptor, suggestion, shouldBeFixed)); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-classes-per-file.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-classes-per-file.js deleted file mode 100644 index 241e0602..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-classes-per-file.js +++ /dev/null @@ -1,89 +0,0 @@ -/** - * @fileoverview Enforce a maximum number of classes per file - * @author James Garbutt - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce a maximum number of classes per file", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-classes-per-file" - }, - - schema: [ - { - oneOf: [ - { - type: "integer", - minimum: 1 - }, - { - type: "object", - properties: { - ignoreExpressions: { - type: "boolean" - }, - max: { - type: "integer", - minimum: 1 - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - maximumExceeded: "File has too many classes ({{ classCount }}). Maximum allowed is {{ max }}." - } - }, - create(context) { - const [option = {}] = context.options; - const [ignoreExpressions, max] = typeof option === "number" - ? [false, option || 1] - : [option.ignoreExpressions, option.max || 1]; - - let classCount = 0; - - return { - Program() { - classCount = 0; - }, - "Program:exit"(node) { - if (classCount > max) { - context.report({ - node, - messageId: "maximumExceeded", - data: { - classCount, - max - } - }); - } - }, - "ClassDeclaration"() { - classCount++; - }, - "ClassExpression"() { - if (!ignoreExpressions) { - classCount++; - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-depth.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-depth.js deleted file mode 100644 index e92c6b4a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-depth.js +++ /dev/null @@ -1,156 +0,0 @@ -/** - * @fileoverview A rule to set the maximum depth block can be nested in a function. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce a maximum depth that blocks can be nested", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-depth" - }, - - schema: [ - { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - type: "object", - properties: { - maximum: { - type: "integer", - minimum: 0 - }, - max: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - } - ] - } - ], - messages: { - tooDeeply: "Blocks are nested too deeply ({{depth}}). Maximum allowed is {{maxDepth}}." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - const functionStack = [], - option = context.options[0]; - let maxDepth = 4; - - if ( - typeof option === "object" && - (Object.hasOwn(option, "maximum") || Object.hasOwn(option, "max")) - ) { - maxDepth = option.maximum || option.max; - } - if (typeof option === "number") { - maxDepth = option; - } - - /** - * When parsing a new function, store it in our function stack - * @returns {void} - * @private - */ - function startFunction() { - functionStack.push(0); - } - - /** - * When parsing is done then pop out the reference - * @returns {void} - * @private - */ - function endFunction() { - functionStack.pop(); - } - - /** - * Save the block and Evaluate the node - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function pushBlock(node) { - const len = ++functionStack[functionStack.length - 1]; - - if (len > maxDepth) { - context.report({ node, messageId: "tooDeeply", data: { depth: len, maxDepth } }); - } - } - - /** - * Pop the saved block - * @returns {void} - * @private - */ - function popBlock() { - functionStack[functionStack.length - 1]--; - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - Program: startFunction, - FunctionDeclaration: startFunction, - FunctionExpression: startFunction, - ArrowFunctionExpression: startFunction, - StaticBlock: startFunction, - - IfStatement(node) { - if (node.parent.type !== "IfStatement") { - pushBlock(node); - } - }, - SwitchStatement: pushBlock, - TryStatement: pushBlock, - DoWhileStatement: pushBlock, - WhileStatement: pushBlock, - WithStatement: pushBlock, - ForStatement: pushBlock, - ForInStatement: pushBlock, - ForOfStatement: pushBlock, - - "IfStatement:exit": popBlock, - "SwitchStatement:exit": popBlock, - "TryStatement:exit": popBlock, - "DoWhileStatement:exit": popBlock, - "WhileStatement:exit": popBlock, - "WithStatement:exit": popBlock, - "ForStatement:exit": popBlock, - "ForInStatement:exit": popBlock, - "ForOfStatement:exit": popBlock, - - "FunctionDeclaration:exit": endFunction, - "FunctionExpression:exit": endFunction, - "ArrowFunctionExpression:exit": endFunction, - "StaticBlock:exit": endFunction, - "Program:exit": endFunction - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-len.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-len.js deleted file mode 100644 index 15910d5d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-len.js +++ /dev/null @@ -1,440 +0,0 @@ -/** - * @fileoverview Rule to check for max length on a line. - * @author Matt DuVall - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Constants -//------------------------------------------------------------------------------ - -const OPTIONS_SCHEMA = { - type: "object", - properties: { - code: { - type: "integer", - minimum: 0 - }, - comments: { - type: "integer", - minimum: 0 - }, - tabWidth: { - type: "integer", - minimum: 0 - }, - ignorePattern: { - type: "string" - }, - ignoreComments: { - type: "boolean" - }, - ignoreStrings: { - type: "boolean" - }, - ignoreUrls: { - type: "boolean" - }, - ignoreTemplateLiterals: { - type: "boolean" - }, - ignoreRegExpLiterals: { - type: "boolean" - }, - ignoreTrailingComments: { - type: "boolean" - } - }, - additionalProperties: false -}; - -const OPTIONS_OR_INTEGER_SCHEMA = { - anyOf: [ - OPTIONS_SCHEMA, - { - type: "integer", - minimum: 0 - } - ] -}; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce a maximum line length", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-len" - }, - - schema: [ - OPTIONS_OR_INTEGER_SCHEMA, - OPTIONS_OR_INTEGER_SCHEMA, - OPTIONS_SCHEMA - ], - messages: { - max: "This line has a length of {{lineLength}}. Maximum allowed is {{maxLength}}.", - maxComment: "This line has a comment length of {{lineLength}}. Maximum allowed is {{maxCommentLength}}." - } - }, - - create(context) { - - /* - * Inspired by http://tools.ietf.org/html/rfc3986#appendix-B, however: - * - They're matching an entire string that we know is a URI - * - We're matching part of a string where we think there *might* be a URL - * - We're only concerned about URLs, as picking out any URI would cause - * too many false positives - * - We don't care about matching the entire URL, any small segment is fine - */ - const URL_REGEXP = /[^:/?#]:\/\/[^?#]/u; - - const sourceCode = context.sourceCode; - - /** - * Computes the length of a line that may contain tabs. The width of each - * tab will be the number of spaces to the next tab stop. - * @param {string} line The line. - * @param {int} tabWidth The width of each tab stop in spaces. - * @returns {int} The computed line length. - * @private - */ - function computeLineLength(line, tabWidth) { - let extraCharacterCount = 0; - - line.replace(/\t/gu, (match, offset) => { - const totalOffset = offset + extraCharacterCount, - previousTabStopOffset = tabWidth ? totalOffset % tabWidth : 0, - spaceCount = tabWidth - previousTabStopOffset; - - extraCharacterCount += spaceCount - 1; // -1 for the replaced tab - }); - return Array.from(line).length + extraCharacterCount; - } - - // The options object must be the last option specified… - const options = Object.assign({}, context.options.at(-1)); - - // …but max code length… - if (typeof context.options[0] === "number") { - options.code = context.options[0]; - } - - // …and tabWidth can be optionally specified directly as integers. - if (typeof context.options[1] === "number") { - options.tabWidth = context.options[1]; - } - - const maxLength = typeof options.code === "number" ? options.code : 80, - tabWidth = typeof options.tabWidth === "number" ? options.tabWidth : 4, - ignoreComments = !!options.ignoreComments, - ignoreStrings = !!options.ignoreStrings, - ignoreTemplateLiterals = !!options.ignoreTemplateLiterals, - ignoreRegExpLiterals = !!options.ignoreRegExpLiterals, - ignoreTrailingComments = !!options.ignoreTrailingComments || !!options.ignoreComments, - ignoreUrls = !!options.ignoreUrls, - maxCommentLength = options.comments; - let ignorePattern = options.ignorePattern || null; - - if (ignorePattern) { - ignorePattern = new RegExp(ignorePattern, "u"); - } - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Tells if a given comment is trailing: it starts on the current line and - * extends to or past the end of the current line. - * @param {string} line The source line we want to check for a trailing comment on - * @param {number} lineNumber The one-indexed line number for line - * @param {ASTNode} comment The comment to inspect - * @returns {boolean} If the comment is trailing on the given line - */ - function isTrailingComment(line, lineNumber, comment) { - return comment && - (comment.loc.start.line === lineNumber && lineNumber <= comment.loc.end.line) && - (comment.loc.end.line > lineNumber || comment.loc.end.column === line.length); - } - - /** - * Tells if a comment encompasses the entire line. - * @param {string} line The source line with a trailing comment - * @param {number} lineNumber The one-indexed line number this is on - * @param {ASTNode} comment The comment to remove - * @returns {boolean} If the comment covers the entire line - */ - function isFullLineComment(line, lineNumber, comment) { - const start = comment.loc.start, - end = comment.loc.end, - isFirstTokenOnLine = !line.slice(0, comment.loc.start.column).trim(); - - return comment && - (start.line < lineNumber || (start.line === lineNumber && isFirstTokenOnLine)) && - (end.line > lineNumber || (end.line === lineNumber && end.column === line.length)); - } - - /** - * Check if a node is a JSXEmptyExpression contained in a single line JSXExpressionContainer. - * @param {ASTNode} node A node to check. - * @returns {boolean} True if the node is a JSXEmptyExpression contained in a single line JSXExpressionContainer. - */ - function isJSXEmptyExpressionInSingleLineContainer(node) { - if (!node || !node.parent || node.type !== "JSXEmptyExpression" || node.parent.type !== "JSXExpressionContainer") { - return false; - } - - const parent = node.parent; - - return parent.loc.start.line === parent.loc.end.line; - } - - /** - * Gets the line after the comment and any remaining trailing whitespace is - * stripped. - * @param {string} line The source line with a trailing comment - * @param {ASTNode} comment The comment to remove - * @returns {string} Line without comment and trailing whitespace - */ - function stripTrailingComment(line, comment) { - - // loc.column is zero-indexed - return line.slice(0, comment.loc.start.column).replace(/\s+$/u, ""); - } - - /** - * Ensure that an array exists at [key] on `object`, and add `value` to it. - * @param {Object} object the object to mutate - * @param {string} key the object's key - * @param {any} value the value to add - * @returns {void} - * @private - */ - function ensureArrayAndPush(object, key, value) { - if (!Array.isArray(object[key])) { - object[key] = []; - } - object[key].push(value); - } - - /** - * Retrieves an array containing all strings (" or ') in the source code. - * @returns {ASTNode[]} An array of string nodes. - */ - function getAllStrings() { - return sourceCode.ast.tokens.filter(token => (token.type === "String" || - (token.type === "JSXText" && sourceCode.getNodeByRangeIndex(token.range[0] - 1).type === "JSXAttribute"))); - } - - /** - * Retrieves an array containing all template literals in the source code. - * @returns {ASTNode[]} An array of template literal nodes. - */ - function getAllTemplateLiterals() { - return sourceCode.ast.tokens.filter(token => token.type === "Template"); - } - - - /** - * Retrieves an array containing all RegExp literals in the source code. - * @returns {ASTNode[]} An array of RegExp literal nodes. - */ - function getAllRegExpLiterals() { - return sourceCode.ast.tokens.filter(token => token.type === "RegularExpression"); - } - - /** - * - * reduce an array of AST nodes by line number, both start and end. - * @param {ASTNode[]} arr array of AST nodes - * @returns {Object} accululated AST nodes - */ - function groupArrayByLineNumber(arr) { - const obj = {}; - - for (let i = 0; i < arr.length; i++) { - const node = arr[i]; - - for (let j = node.loc.start.line; j <= node.loc.end.line; ++j) { - ensureArrayAndPush(obj, j, node); - } - } - return obj; - } - - /** - * Returns an array of all comments in the source code. - * If the element in the array is a JSXEmptyExpression contained with a single line JSXExpressionContainer, - * the element is changed with JSXExpressionContainer node. - * @returns {ASTNode[]} An array of comment nodes - */ - function getAllComments() { - const comments = []; - - sourceCode.getAllComments() - .forEach(commentNode => { - const containingNode = sourceCode.getNodeByRangeIndex(commentNode.range[0]); - - if (isJSXEmptyExpressionInSingleLineContainer(containingNode)) { - - // push a unique node only - if (comments.at(-1) !== containingNode.parent) { - comments.push(containingNode.parent); - } - } else { - comments.push(commentNode); - } - }); - - return comments; - } - - /** - * Check the program for max length - * @param {ASTNode} node Node to examine - * @returns {void} - * @private - */ - function checkProgramForMaxLength(node) { - - // split (honors line-ending) - const lines = sourceCode.lines, - - // list of comments to ignore - comments = ignoreComments || maxCommentLength || ignoreTrailingComments ? getAllComments() : []; - - // we iterate over comments in parallel with the lines - let commentsIndex = 0; - - const strings = getAllStrings(); - const stringsByLine = groupArrayByLineNumber(strings); - - const templateLiterals = getAllTemplateLiterals(); - const templateLiteralsByLine = groupArrayByLineNumber(templateLiterals); - - const regExpLiterals = getAllRegExpLiterals(); - const regExpLiteralsByLine = groupArrayByLineNumber(regExpLiterals); - - lines.forEach((line, i) => { - - // i is zero-indexed, line numbers are one-indexed - const lineNumber = i + 1; - - /* - * if we're checking comment length; we need to know whether this - * line is a comment - */ - let lineIsComment = false; - let textToMeasure; - - /* - * We can short-circuit the comment checks if we're already out of - * comments to check. - */ - if (commentsIndex < comments.length) { - let comment; - - // iterate over comments until we find one past the current line - do { - comment = comments[++commentsIndex]; - } while (comment && comment.loc.start.line <= lineNumber); - - // and step back by one - comment = comments[--commentsIndex]; - - if (isFullLineComment(line, lineNumber, comment)) { - lineIsComment = true; - textToMeasure = line; - } else if (ignoreTrailingComments && isTrailingComment(line, lineNumber, comment)) { - textToMeasure = stripTrailingComment(line, comment); - - // ignore multiple trailing comments in the same line - let lastIndex = commentsIndex; - - while (isTrailingComment(textToMeasure, lineNumber, comments[--lastIndex])) { - textToMeasure = stripTrailingComment(textToMeasure, comments[lastIndex]); - } - } else { - textToMeasure = line; - } - } else { - textToMeasure = line; - } - if (ignorePattern && ignorePattern.test(textToMeasure) || - ignoreUrls && URL_REGEXP.test(textToMeasure) || - ignoreStrings && stringsByLine[lineNumber] || - ignoreTemplateLiterals && templateLiteralsByLine[lineNumber] || - ignoreRegExpLiterals && regExpLiteralsByLine[lineNumber] - ) { - - // ignore this line - return; - } - - const lineLength = computeLineLength(textToMeasure, tabWidth); - const commentLengthApplies = lineIsComment && maxCommentLength; - - if (lineIsComment && ignoreComments) { - return; - } - - const loc = { - start: { - line: lineNumber, - column: 0 - }, - end: { - line: lineNumber, - column: textToMeasure.length - } - }; - - if (commentLengthApplies) { - if (lineLength > maxCommentLength) { - context.report({ - node, - loc, - messageId: "maxComment", - data: { - lineLength, - maxCommentLength - } - }); - } - } else if (lineLength > maxLength) { - context.report({ - node, - loc, - messageId: "max", - data: { - lineLength, - maxLength - } - }); - } - }); - } - - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - Program: checkProgramForMaxLength - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines-per-function.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines-per-function.js deleted file mode 100644 index f981922a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines-per-function.js +++ /dev/null @@ -1,213 +0,0 @@ -/** - * @fileoverview A rule to set the maximum number of line of code in a function. - * @author Pete Ward - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { upperCaseFirst } = require("../shared/string-utils"); - -//------------------------------------------------------------------------------ -// Constants -//------------------------------------------------------------------------------ - -const OPTIONS_SCHEMA = { - type: "object", - properties: { - max: { - type: "integer", - minimum: 0 - }, - skipComments: { - type: "boolean" - }, - skipBlankLines: { - type: "boolean" - }, - IIFEs: { - type: "boolean" - } - }, - additionalProperties: false -}; - -const OPTIONS_OR_INTEGER_SCHEMA = { - oneOf: [ - OPTIONS_SCHEMA, - { - type: "integer", - minimum: 1 - } - ] -}; - -/** - * Given a list of comment nodes, return a map with numeric keys (source code line numbers) and comment token values. - * @param {Array} comments An array of comment nodes. - * @returns {Map} A map with numeric keys (source code line numbers) and comment token values. - */ -function getCommentLineNumbers(comments) { - const map = new Map(); - - comments.forEach(comment => { - for (let i = comment.loc.start.line; i <= comment.loc.end.line; i++) { - map.set(i, comment); - } - }); - return map; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce a maximum number of lines of code in a function", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-lines-per-function" - }, - - schema: [ - OPTIONS_OR_INTEGER_SCHEMA - ], - messages: { - exceed: "{{name}} has too many lines ({{lineCount}}). Maximum allowed is {{maxLines}}." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const lines = sourceCode.lines; - - const option = context.options[0]; - let maxLines = 50; - let skipComments = false; - let skipBlankLines = false; - let IIFEs = false; - - if (typeof option === "object") { - maxLines = typeof option.max === "number" ? option.max : 50; - skipComments = !!option.skipComments; - skipBlankLines = !!option.skipBlankLines; - IIFEs = !!option.IIFEs; - } else if (typeof option === "number") { - maxLines = option; - } - - const commentLineNumbers = getCommentLineNumbers(sourceCode.getAllComments()); - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Tells if a comment encompasses the entire line. - * @param {string} line The source line with a trailing comment - * @param {number} lineNumber The one-indexed line number this is on - * @param {ASTNode} comment The comment to remove - * @returns {boolean} If the comment covers the entire line - */ - function isFullLineComment(line, lineNumber, comment) { - const start = comment.loc.start, - end = comment.loc.end, - isFirstTokenOnLine = start.line === lineNumber && !line.slice(0, start.column).trim(), - isLastTokenOnLine = end.line === lineNumber && !line.slice(end.column).trim(); - - return comment && - (start.line < lineNumber || isFirstTokenOnLine) && - (end.line > lineNumber || isLastTokenOnLine); - } - - /** - * Identifies is a node is a FunctionExpression which is part of an IIFE - * @param {ASTNode} node Node to test - * @returns {boolean} True if it's an IIFE - */ - function isIIFE(node) { - return (node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") && node.parent && node.parent.type === "CallExpression" && node.parent.callee === node; - } - - /** - * Identifies is a node is a FunctionExpression which is embedded within a MethodDefinition or Property - * @param {ASTNode} node Node to test - * @returns {boolean} True if it's a FunctionExpression embedded within a MethodDefinition or Property - */ - function isEmbedded(node) { - if (!node.parent) { - return false; - } - if (node !== node.parent.value) { - return false; - } - if (node.parent.type === "MethodDefinition") { - return true; - } - if (node.parent.type === "Property") { - return node.parent.method === true || node.parent.kind === "get" || node.parent.kind === "set"; - } - return false; - } - - /** - * Count the lines in the function - * @param {ASTNode} funcNode Function AST node - * @returns {void} - * @private - */ - function processFunction(funcNode) { - const node = isEmbedded(funcNode) ? funcNode.parent : funcNode; - - if (!IIFEs && isIIFE(node)) { - return; - } - let lineCount = 0; - - for (let i = node.loc.start.line - 1; i < node.loc.end.line; ++i) { - const line = lines[i]; - - if (skipComments) { - if (commentLineNumbers.has(i + 1) && isFullLineComment(line, i + 1, commentLineNumbers.get(i + 1))) { - continue; - } - } - - if (skipBlankLines) { - if (line.match(/^\s*$/u)) { - continue; - } - } - - lineCount++; - } - - if (lineCount > maxLines) { - const name = upperCaseFirst(astUtils.getFunctionNameWithKind(funcNode)); - - context.report({ - node, - messageId: "exceed", - data: { name, lineCount, maxLines } - }); - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - FunctionDeclaration: processFunction, - FunctionExpression: processFunction, - ArrowFunctionExpression: processFunction - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines.js deleted file mode 100644 index d8215794..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-lines.js +++ /dev/null @@ -1,193 +0,0 @@ -/** - * @fileoverview enforce a maximum file length - * @author Alberto Rodríguez - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Creates an array of numbers from `start` up to, but not including, `end` - * @param {number} start The start of the range - * @param {number} end The end of the range - * @returns {number[]} The range of numbers - */ -function range(start, end) { - return [...Array(end - start).keys()].map(x => x + start); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce a maximum number of lines per file", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-lines" - }, - - schema: [ - { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - type: "object", - properties: { - max: { - type: "integer", - minimum: 0 - }, - skipComments: { - type: "boolean" - }, - skipBlankLines: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - } - ], - messages: { - exceed: - "File has too many lines ({{actual}}). Maximum allowed is {{max}}." - } - }, - - create(context) { - const option = context.options[0]; - let max = 300; - - if ( - typeof option === "object" && - Object.hasOwn(option, "max") - ) { - max = option.max; - } else if (typeof option === "number") { - max = option; - } - - const skipComments = option && option.skipComments; - const skipBlankLines = option && option.skipBlankLines; - - const sourceCode = context.sourceCode; - - /** - * Returns whether or not a token is a comment node type - * @param {Token} token The token to check - * @returns {boolean} True if the token is a comment node - */ - function isCommentNodeType(token) { - return token && (token.type === "Block" || token.type === "Line"); - } - - /** - * Returns the line numbers of a comment that don't have any code on the same line - * @param {Node} comment The comment node to check - * @returns {number[]} The line numbers - */ - function getLinesWithoutCode(comment) { - let start = comment.loc.start.line; - let end = comment.loc.end.line; - - let token; - - token = comment; - do { - token = sourceCode.getTokenBefore(token, { - includeComments: true - }); - } while (isCommentNodeType(token)); - - if (token && astUtils.isTokenOnSameLine(token, comment)) { - start += 1; - } - - token = comment; - do { - token = sourceCode.getTokenAfter(token, { - includeComments: true - }); - } while (isCommentNodeType(token)); - - if (token && astUtils.isTokenOnSameLine(comment, token)) { - end -= 1; - } - - if (start <= end) { - return range(start, end + 1); - } - return []; - } - - return { - "Program:exit"() { - let lines = sourceCode.lines.map((text, i) => ({ - lineNumber: i + 1, - text - })); - - /* - * If file ends with a linebreak, `sourceCode.lines` will have one extra empty line at the end. - * That isn't a real line, so we shouldn't count it. - */ - if (lines.length > 1 && lines.at(-1).text === "") { - lines.pop(); - } - - if (skipBlankLines) { - lines = lines.filter(l => l.text.trim() !== ""); - } - - if (skipComments) { - const comments = sourceCode.getAllComments(); - - const commentLines = new Set(comments.flatMap(getLinesWithoutCode)); - - lines = lines.filter( - l => !commentLines.has(l.lineNumber) - ); - } - - if (lines.length > max) { - const loc = { - start: { - line: lines[max].lineNumber, - column: 0 - }, - end: { - line: sourceCode.lines.length, - column: sourceCode.lines.at(-1).length - } - }; - - context.report({ - loc, - messageId: "exceed", - data: { - max, - actual: lines.length - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-nested-callbacks.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-nested-callbacks.js deleted file mode 100644 index 448c0bd4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-nested-callbacks.js +++ /dev/null @@ -1,117 +0,0 @@ -/** - * @fileoverview Rule to enforce a maximum number of nested callbacks. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce a maximum depth that callbacks can be nested", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-nested-callbacks" - }, - - schema: [ - { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - type: "object", - properties: { - maximum: { - type: "integer", - minimum: 0 - }, - max: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - } - ] - } - ], - messages: { - exceed: "Too many nested callbacks ({{num}}). Maximum allowed is {{max}}." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Constants - //-------------------------------------------------------------------------- - const option = context.options[0]; - let THRESHOLD = 10; - - if ( - typeof option === "object" && - (Object.hasOwn(option, "maximum") || Object.hasOwn(option, "max")) - ) { - THRESHOLD = option.maximum || option.max; - } else if (typeof option === "number") { - THRESHOLD = option; - } - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - const callbackStack = []; - - /** - * Checks a given function node for too many callbacks. - * @param {ASTNode} node The node to check. - * @returns {void} - * @private - */ - function checkFunction(node) { - const parent = node.parent; - - if (parent.type === "CallExpression") { - callbackStack.push(node); - } - - if (callbackStack.length > THRESHOLD) { - const opts = { num: callbackStack.length, max: THRESHOLD }; - - context.report({ node, messageId: "exceed", data: opts }); - } - } - - /** - * Pops the call stack. - * @returns {void} - * @private - */ - function popStack() { - callbackStack.pop(); - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - ArrowFunctionExpression: checkFunction, - "ArrowFunctionExpression:exit": popStack, - - FunctionExpression: checkFunction, - "FunctionExpression:exit": popStack - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-params.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-params.js deleted file mode 100644 index eb043ab1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-params.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * @fileoverview Rule to flag when a function has too many parameters - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { upperCaseFirst } = require("../shared/string-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce a maximum number of parameters in function definitions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-params" - }, - - schema: [ - { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - type: "object", - properties: { - maximum: { - type: "integer", - minimum: 0 - }, - max: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - } - ] - } - ], - messages: { - exceed: "{{name}} has too many parameters ({{count}}). Maximum allowed is {{max}}." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const option = context.options[0]; - let numParams = 3; - - if ( - typeof option === "object" && - (Object.hasOwn(option, "maximum") || Object.hasOwn(option, "max")) - ) { - numParams = option.maximum || option.max; - } - if (typeof option === "number") { - numParams = option; - } - - /** - * Checks a function to see if it has too many parameters. - * @param {ASTNode} node The node to check. - * @returns {void} - * @private - */ - function checkFunction(node) { - if (node.params.length > numParams) { - context.report({ - loc: astUtils.getFunctionHeadLoc(node, sourceCode), - node, - messageId: "exceed", - data: { - name: upperCaseFirst(astUtils.getFunctionNameWithKind(node)), - count: node.params.length, - max: numParams - } - }); - } - } - - return { - FunctionDeclaration: checkFunction, - ArrowFunctionExpression: checkFunction, - FunctionExpression: checkFunction - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements-per-line.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements-per-line.js deleted file mode 100644 index 4ad73a67..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements-per-line.js +++ /dev/null @@ -1,199 +0,0 @@ -/** - * @fileoverview Specify the maximum number of statements allowed per line. - * @author Kenneth Williams - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce a maximum number of statements allowed per line", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-statements-per-line" - }, - - schema: [ - { - type: "object", - properties: { - max: { - type: "integer", - minimum: 1, - default: 1 - } - }, - additionalProperties: false - } - ], - messages: { - exceed: "This line has {{numberOfStatementsOnThisLine}} {{statements}}. Maximum allowed is {{maxStatementsPerLine}}." - } - }, - - create(context) { - - const sourceCode = context.sourceCode, - options = context.options[0] || {}, - maxStatementsPerLine = typeof options.max !== "undefined" ? options.max : 1; - - let lastStatementLine = 0, - numberOfStatementsOnThisLine = 0, - firstExtraStatement; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - const SINGLE_CHILD_ALLOWED = /^(?:(?:DoWhile|For|ForIn|ForOf|If|Labeled|While)Statement|Export(?:Default|Named)Declaration)$/u; - - /** - * Reports with the first extra statement, and clears it. - * @returns {void} - */ - function reportFirstExtraStatementAndClear() { - if (firstExtraStatement) { - context.report({ - node: firstExtraStatement, - messageId: "exceed", - data: { - numberOfStatementsOnThisLine, - maxStatementsPerLine, - statements: numberOfStatementsOnThisLine === 1 ? "statement" : "statements" - } - }); - } - firstExtraStatement = null; - } - - /** - * Gets the actual last token of a given node. - * @param {ASTNode} node A node to get. This is a node except EmptyStatement. - * @returns {Token} The actual last token. - */ - function getActualLastToken(node) { - return sourceCode.getLastToken(node, astUtils.isNotSemicolonToken); - } - - /** - * Addresses a given node. - * It updates the state of this rule, then reports the node if the node violated this rule. - * @param {ASTNode} node A node to check. - * @returns {void} - */ - function enterStatement(node) { - const line = node.loc.start.line; - - /* - * Skip to allow non-block statements if this is direct child of control statements. - * `if (a) foo();` is counted as 1. - * But `if (a) foo(); else foo();` should be counted as 2. - */ - if (SINGLE_CHILD_ALLOWED.test(node.parent.type) && - node.parent.alternate !== node - ) { - return; - } - - // Update state. - if (line === lastStatementLine) { - numberOfStatementsOnThisLine += 1; - } else { - reportFirstExtraStatementAndClear(); - numberOfStatementsOnThisLine = 1; - lastStatementLine = line; - } - - // Reports if the node violated this rule. - if (numberOfStatementsOnThisLine === maxStatementsPerLine + 1) { - firstExtraStatement = firstExtraStatement || node; - } - } - - /** - * Updates the state of this rule with the end line of leaving node to check with the next statement. - * @param {ASTNode} node A node to check. - * @returns {void} - */ - function leaveStatement(node) { - const line = getActualLastToken(node).loc.end.line; - - // Update state. - if (line !== lastStatementLine) { - reportFirstExtraStatementAndClear(); - numberOfStatementsOnThisLine = 1; - lastStatementLine = line; - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - BreakStatement: enterStatement, - ClassDeclaration: enterStatement, - ContinueStatement: enterStatement, - DebuggerStatement: enterStatement, - DoWhileStatement: enterStatement, - ExpressionStatement: enterStatement, - ForInStatement: enterStatement, - ForOfStatement: enterStatement, - ForStatement: enterStatement, - FunctionDeclaration: enterStatement, - IfStatement: enterStatement, - ImportDeclaration: enterStatement, - LabeledStatement: enterStatement, - ReturnStatement: enterStatement, - SwitchStatement: enterStatement, - ThrowStatement: enterStatement, - TryStatement: enterStatement, - VariableDeclaration: enterStatement, - WhileStatement: enterStatement, - WithStatement: enterStatement, - ExportNamedDeclaration: enterStatement, - ExportDefaultDeclaration: enterStatement, - ExportAllDeclaration: enterStatement, - - "BreakStatement:exit": leaveStatement, - "ClassDeclaration:exit": leaveStatement, - "ContinueStatement:exit": leaveStatement, - "DebuggerStatement:exit": leaveStatement, - "DoWhileStatement:exit": leaveStatement, - "ExpressionStatement:exit": leaveStatement, - "ForInStatement:exit": leaveStatement, - "ForOfStatement:exit": leaveStatement, - "ForStatement:exit": leaveStatement, - "FunctionDeclaration:exit": leaveStatement, - "IfStatement:exit": leaveStatement, - "ImportDeclaration:exit": leaveStatement, - "LabeledStatement:exit": leaveStatement, - "ReturnStatement:exit": leaveStatement, - "SwitchStatement:exit": leaveStatement, - "ThrowStatement:exit": leaveStatement, - "TryStatement:exit": leaveStatement, - "VariableDeclaration:exit": leaveStatement, - "WhileStatement:exit": leaveStatement, - "WithStatement:exit": leaveStatement, - "ExportNamedDeclaration:exit": leaveStatement, - "ExportDefaultDeclaration:exit": leaveStatement, - "ExportAllDeclaration:exit": leaveStatement, - "Program:exit": reportFirstExtraStatementAndClear - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements.js deleted file mode 100644 index 96d5ea7b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/max-statements.js +++ /dev/null @@ -1,184 +0,0 @@ -/** - * @fileoverview A rule to set the maximum number of statements in a function. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { upperCaseFirst } = require("../shared/string-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce a maximum number of statements allowed in function blocks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/max-statements" - }, - - schema: [ - { - oneOf: [ - { - type: "integer", - minimum: 0 - }, - { - type: "object", - properties: { - maximum: { - type: "integer", - minimum: 0 - }, - max: { - type: "integer", - minimum: 0 - } - }, - additionalProperties: false - } - ] - }, - { - type: "object", - properties: { - ignoreTopLevelFunctions: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - messages: { - exceed: "{{name}} has too many statements ({{count}}). Maximum allowed is {{max}}." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - const functionStack = [], - option = context.options[0], - ignoreTopLevelFunctions = context.options[1] && context.options[1].ignoreTopLevelFunctions || false, - topLevelFunctions = []; - let maxStatements = 10; - - if ( - typeof option === "object" && - (Object.hasOwn(option, "maximum") || Object.hasOwn(option, "max")) - ) { - maxStatements = option.maximum || option.max; - } else if (typeof option === "number") { - maxStatements = option; - } - - /** - * Reports a node if it has too many statements - * @param {ASTNode} node node to evaluate - * @param {int} count Number of statements in node - * @param {int} max Maximum number of statements allowed - * @returns {void} - * @private - */ - function reportIfTooManyStatements(node, count, max) { - if (count > max) { - const name = upperCaseFirst(astUtils.getFunctionNameWithKind(node)); - - context.report({ - node, - messageId: "exceed", - data: { name, count, max } - }); - } - } - - /** - * When parsing a new function, store it in our function stack - * @returns {void} - * @private - */ - function startFunction() { - functionStack.push(0); - } - - /** - * Evaluate the node at the end of function - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function endFunction(node) { - const count = functionStack.pop(); - - /* - * This rule does not apply to class static blocks, but we have to track them so - * that statements in them do not count as statements in the enclosing function. - */ - if (node.type === "StaticBlock") { - return; - } - - if (ignoreTopLevelFunctions && functionStack.length === 0) { - topLevelFunctions.push({ node, count }); - } else { - reportIfTooManyStatements(node, count, maxStatements); - } - } - - /** - * Increment the count of the functions - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function countStatements(node) { - functionStack[functionStack.length - 1] += node.body.length; - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - FunctionDeclaration: startFunction, - FunctionExpression: startFunction, - ArrowFunctionExpression: startFunction, - StaticBlock: startFunction, - - BlockStatement: countStatements, - - "FunctionDeclaration:exit": endFunction, - "FunctionExpression:exit": endFunction, - "ArrowFunctionExpression:exit": endFunction, - "StaticBlock:exit": endFunction, - - "Program:exit"() { - if (topLevelFunctions.length === 1) { - return; - } - - topLevelFunctions.forEach(element => { - const count = element.count; - const node = element.node; - - reportIfTooManyStatements(node, count, maxStatements); - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-comment-style.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-comment-style.js deleted file mode 100644 index 098e054b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-comment-style.js +++ /dev/null @@ -1,476 +0,0 @@ -/** - * @fileoverview enforce a particular style for multiline comments - * @author Teddy Katz - * @deprecated in ESLint v9.3.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - docs: { - description: "Enforce a particular style for multiline comments", - recommended: false, - url: "https://eslint.org/docs/latest/rules/multiline-comment-style" - }, - - fixable: "whitespace", - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["starred-block", "bare-block"] - } - ], - additionalItems: false - }, - { - type: "array", - items: [ - { - enum: ["separate-lines"] - }, - { - type: "object", - properties: { - checkJSDoc: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - additionalItems: false - } - ] - }, - messages: { - expectedBlock: "Expected a block comment instead of consecutive line comments.", - expectedBareBlock: "Expected a block comment without padding stars.", - startNewline: "Expected a linebreak after '/*'.", - endNewline: "Expected a linebreak before '*/'.", - missingStar: "Expected a '*' at the start of this line.", - alignment: "Expected this line to be aligned with the start of the comment.", - expectedLines: "Expected multiple line comments instead of a block comment." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const option = context.options[0] || "starred-block"; - const params = context.options[1] || {}; - const checkJSDoc = !!params.checkJSDoc; - - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - - /** - * Checks if a comment line is starred. - * @param {string} line A string representing a comment line. - * @returns {boolean} Whether or not the comment line is starred. - */ - function isStarredCommentLine(line) { - return /^\s*\*/u.test(line); - } - - /** - * Checks if a comment group is in starred-block form. - * @param {Token[]} commentGroup A group of comments, containing either multiple line comments or a single block comment. - * @returns {boolean} Whether or not the comment group is in starred block form. - */ - function isStarredBlockComment([firstComment]) { - if (firstComment.type !== "Block") { - return false; - } - - const lines = firstComment.value.split(astUtils.LINEBREAK_MATCHER); - - // The first and last lines can only contain whitespace. - return lines.length > 0 && lines.every((line, i) => (i === 0 || i === lines.length - 1 ? /^\s*$/u : /^\s*\*/u).test(line)); - } - - /** - * Checks if a comment group is in JSDoc form. - * @param {Token[]} commentGroup A group of comments, containing either multiple line comments or a single block comment. - * @returns {boolean} Whether or not the comment group is in JSDoc form. - */ - function isJSDocComment([firstComment]) { - if (firstComment.type !== "Block") { - return false; - } - - const lines = firstComment.value.split(astUtils.LINEBREAK_MATCHER); - - return /^\*\s*$/u.test(lines[0]) && - lines.slice(1, -1).every(line => /^\s* /u.test(line)) && - /^\s*$/u.test(lines.at(-1)); - } - - /** - * Processes a comment group that is currently in separate-line form, calculating the offset for each line. - * @param {Token[]} commentGroup A group of comments containing multiple line comments. - * @returns {string[]} An array of the processed lines. - */ - function processSeparateLineComments(commentGroup) { - const allLinesHaveLeadingSpace = commentGroup - .map(({ value }) => value) - .filter(line => line.trim().length) - .every(line => line.startsWith(" ")); - - return commentGroup.map(({ value }) => (allLinesHaveLeadingSpace ? value.replace(/^ /u, "") : value)); - } - - /** - * Processes a comment group that is currently in starred-block form, calculating the offset for each line. - * @param {Token} comment A single block comment token in starred-block form. - * @returns {string[]} An array of the processed lines. - */ - function processStarredBlockComment(comment) { - const lines = comment.value.split(astUtils.LINEBREAK_MATCHER) - .filter((line, i, linesArr) => !(i === 0 || i === linesArr.length - 1)) - .map(line => line.replace(/^\s*$/u, "")); - const allLinesHaveLeadingSpace = lines - .map(line => line.replace(/\s*\*/u, "")) - .filter(line => line.trim().length) - .every(line => line.startsWith(" ")); - - return lines.map(line => line.replace(allLinesHaveLeadingSpace ? /\s*\* ?/u : /\s*\*/u, "")); - } - - /** - * Processes a comment group that is currently in bare-block form, calculating the offset for each line. - * @param {Token} comment A single block comment token in bare-block form. - * @returns {string[]} An array of the processed lines. - */ - function processBareBlockComment(comment) { - const lines = comment.value.split(astUtils.LINEBREAK_MATCHER).map(line => line.replace(/^\s*$/u, "")); - const leadingWhitespace = `${sourceCode.text.slice(comment.range[0] - comment.loc.start.column, comment.range[0])} `; - let offset = ""; - - /* - * Calculate the offset of the least indented line and use that as the basis for offsetting all the lines. - * The first line should not be checked because it is inline with the opening block comment delimiter. - */ - for (const [i, line] of lines.entries()) { - if (!line.trim().length || i === 0) { - continue; - } - - const [, lineOffset] = line.match(/^(\s*\*?\s*)/u); - - if (lineOffset.length < leadingWhitespace.length) { - const newOffset = leadingWhitespace.slice(lineOffset.length - leadingWhitespace.length); - - if (newOffset.length > offset.length) { - offset = newOffset; - } - } - } - - return lines.map(line => { - const match = line.match(/^(\s*\*?\s*)(.*)/u); - const [, lineOffset, lineContents] = match; - - if (lineOffset.length > leadingWhitespace.length) { - return `${lineOffset.slice(leadingWhitespace.length - (offset.length + lineOffset.length))}${lineContents}`; - } - - if (lineOffset.length < leadingWhitespace.length) { - return `${lineOffset.slice(leadingWhitespace.length)}${lineContents}`; - } - - return lineContents; - }); - } - - /** - * Gets a list of comment lines in a group, formatting leading whitespace as necessary. - * @param {Token[]} commentGroup A group of comments containing either multiple line comments or a single block comment. - * @returns {string[]} A list of comment lines. - */ - function getCommentLines(commentGroup) { - const [firstComment] = commentGroup; - - if (firstComment.type === "Line") { - return processSeparateLineComments(commentGroup); - } - - if (isStarredBlockComment(commentGroup)) { - return processStarredBlockComment(firstComment); - } - - return processBareBlockComment(firstComment); - } - - /** - * Gets the initial offset (whitespace) from the beginning of a line to a given comment token. - * @param {Token} comment The token to check. - * @returns {string} The offset from the beginning of a line to the token. - */ - function getInitialOffset(comment) { - return sourceCode.text.slice(comment.range[0] - comment.loc.start.column, comment.range[0]); - } - - /** - * Converts a comment into starred-block form - * @param {Token} firstComment The first comment of the group being converted - * @param {string[]} commentLinesList A list of lines to appear in the new starred-block comment - * @returns {string} A representation of the comment value in starred-block form, excluding start and end markers - */ - function convertToStarredBlock(firstComment, commentLinesList) { - const initialOffset = getInitialOffset(firstComment); - - return `/*\n${commentLinesList.map(line => `${initialOffset} * ${line}`).join("\n")}\n${initialOffset} */`; - } - - /** - * Converts a comment into separate-line form - * @param {Token} firstComment The first comment of the group being converted - * @param {string[]} commentLinesList A list of lines to appear in the new starred-block comment - * @returns {string} A representation of the comment value in separate-line form - */ - function convertToSeparateLines(firstComment, commentLinesList) { - return commentLinesList.map(line => `// ${line}`).join(`\n${getInitialOffset(firstComment)}`); - } - - /** - * Converts a comment into bare-block form - * @param {Token} firstComment The first comment of the group being converted - * @param {string[]} commentLinesList A list of lines to appear in the new starred-block comment - * @returns {string} A representation of the comment value in bare-block form - */ - function convertToBlock(firstComment, commentLinesList) { - return `/* ${commentLinesList.join(`\n${getInitialOffset(firstComment)} `)} */`; - } - - /** - * Each method checks a group of comments to see if it's valid according to the given option. - * @param {Token[]} commentGroup A list of comments that appear together. This will either contain a single - * block comment or multiple line comments. - * @returns {void} - */ - const commentGroupCheckers = { - "starred-block"(commentGroup) { - const [firstComment] = commentGroup; - const commentLines = getCommentLines(commentGroup); - - if (commentLines.some(value => value.includes("*/"))) { - return; - } - - if (commentGroup.length > 1) { - context.report({ - loc: { - start: firstComment.loc.start, - end: commentGroup.at(-1).loc.end - }, - messageId: "expectedBlock", - fix(fixer) { - const range = [firstComment.range[0], commentGroup.at(-1).range[1]]; - - return commentLines.some(value => value.startsWith("/")) - ? null - : fixer.replaceTextRange(range, convertToStarredBlock(firstComment, commentLines)); - } - }); - } else { - const lines = firstComment.value.split(astUtils.LINEBREAK_MATCHER); - const expectedLeadingWhitespace = getInitialOffset(firstComment); - const expectedLinePrefix = `${expectedLeadingWhitespace} *`; - - if (!/^\*?\s*$/u.test(lines[0])) { - const start = firstComment.value.startsWith("*") ? firstComment.range[0] + 1 : firstComment.range[0]; - - context.report({ - loc: { - start: firstComment.loc.start, - end: { line: firstComment.loc.start.line, column: firstComment.loc.start.column + 2 } - }, - messageId: "startNewline", - fix: fixer => fixer.insertTextAfterRange([start, start + 2], `\n${expectedLinePrefix}`) - }); - } - - if (!/^\s*$/u.test(lines.at(-1))) { - context.report({ - loc: { - start: { line: firstComment.loc.end.line, column: firstComment.loc.end.column - 2 }, - end: firstComment.loc.end - }, - messageId: "endNewline", - fix: fixer => fixer.replaceTextRange([firstComment.range[1] - 2, firstComment.range[1]], `\n${expectedLinePrefix}/`) - }); - } - - for (let lineNumber = firstComment.loc.start.line + 1; lineNumber <= firstComment.loc.end.line; lineNumber++) { - const lineText = sourceCode.lines[lineNumber - 1]; - const errorType = isStarredCommentLine(lineText) - ? "alignment" - : "missingStar"; - - if (!lineText.startsWith(expectedLinePrefix)) { - context.report({ - loc: { - start: { line: lineNumber, column: 0 }, - end: { line: lineNumber, column: lineText.length } - }, - messageId: errorType, - fix(fixer) { - const lineStartIndex = sourceCode.getIndexFromLoc({ line: lineNumber, column: 0 }); - - if (errorType === "alignment") { - const [, commentTextPrefix = ""] = lineText.match(/^(\s*\*)/u) || []; - const commentTextStartIndex = lineStartIndex + commentTextPrefix.length; - - return fixer.replaceTextRange([lineStartIndex, commentTextStartIndex], expectedLinePrefix); - } - - const [, commentTextPrefix = ""] = lineText.match(/^(\s*)/u) || []; - const commentTextStartIndex = lineStartIndex + commentTextPrefix.length; - let offset; - - for (const [idx, line] of lines.entries()) { - if (!/\S+/u.test(line)) { - continue; - } - - const lineTextToAlignWith = sourceCode.lines[firstComment.loc.start.line - 1 + idx]; - const [, prefix = "", initialOffset = ""] = lineTextToAlignWith.match(/^(\s*(?:\/?\*)?(\s*))/u) || []; - - offset = `${commentTextPrefix.slice(prefix.length)}${initialOffset}`; - - if (/^\s*\//u.test(lineText) && offset.length === 0) { - offset += " "; - } - break; - } - - return fixer.replaceTextRange([lineStartIndex, commentTextStartIndex], `${expectedLinePrefix}${offset}`); - } - }); - } - } - } - }, - "separate-lines"(commentGroup) { - const [firstComment] = commentGroup; - - const isJSDoc = isJSDocComment(commentGroup); - - if (firstComment.type !== "Block" || (!checkJSDoc && isJSDoc)) { - return; - } - - let commentLines = getCommentLines(commentGroup); - - if (isJSDoc) { - commentLines = commentLines.slice(1, commentLines.length - 1); - } - - const tokenAfter = sourceCode.getTokenAfter(firstComment, { includeComments: true }); - - if (tokenAfter && firstComment.loc.end.line === tokenAfter.loc.start.line) { - return; - } - - context.report({ - loc: { - start: firstComment.loc.start, - end: { line: firstComment.loc.start.line, column: firstComment.loc.start.column + 2 } - }, - messageId: "expectedLines", - fix(fixer) { - return fixer.replaceText(firstComment, convertToSeparateLines(firstComment, commentLines)); - } - }); - }, - "bare-block"(commentGroup) { - if (isJSDocComment(commentGroup)) { - return; - } - - const [firstComment] = commentGroup; - const commentLines = getCommentLines(commentGroup); - - // Disallows consecutive line comments in favor of using a block comment. - if (firstComment.type === "Line" && commentLines.length > 1 && - !commentLines.some(value => value.includes("*/"))) { - context.report({ - loc: { - start: firstComment.loc.start, - end: commentGroup.at(-1).loc.end - }, - messageId: "expectedBlock", - fix(fixer) { - return fixer.replaceTextRange( - [firstComment.range[0], commentGroup.at(-1).range[1]], - convertToBlock(firstComment, commentLines) - ); - } - }); - } - - // Prohibits block comments from having a * at the beginning of each line. - if (isStarredBlockComment(commentGroup)) { - context.report({ - loc: { - start: firstComment.loc.start, - end: { line: firstComment.loc.start.line, column: firstComment.loc.start.column + 2 } - }, - messageId: "expectedBareBlock", - fix(fixer) { - return fixer.replaceText(firstComment, convertToBlock(firstComment, commentLines)); - } - }); - } - } - }; - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - Program() { - return sourceCode.getAllComments() - .filter(comment => comment.type !== "Shebang") - .filter(comment => !astUtils.COMMENTS_IGNORE_PATTERN.test(comment.value)) - .filter(comment => { - const tokenBefore = sourceCode.getTokenBefore(comment, { includeComments: true }); - - return !tokenBefore || tokenBefore.loc.end.line < comment.loc.start.line; - }) - .reduce((commentGroups, comment, index, commentList) => { - const tokenBefore = sourceCode.getTokenBefore(comment, { includeComments: true }); - - if ( - comment.type === "Line" && - index && commentList[index - 1].type === "Line" && - tokenBefore && tokenBefore.loc.end.line === comment.loc.start.line - 1 && - tokenBefore === commentList[index - 1] - ) { - commentGroups.at(-1).push(comment); - } else { - commentGroups.push([comment]); - } - - return commentGroups; - }, []) - .filter(commentGroup => !(commentGroup.length === 1 && commentGroup[0].loc.start.line === commentGroup[0].loc.end.line)) - .forEach(commentGroupCheckers[option]); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-ternary.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-ternary.js deleted file mode 100644 index 8155dd7a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/multiline-ternary.js +++ /dev/null @@ -1,174 +0,0 @@ -/** - * @fileoverview Enforce newlines between operands of ternary expressions - * @author Kai Cataldo - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce newlines between operands of ternary expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/multiline-ternary" - }, - - schema: [ - { - enum: ["always", "always-multiline", "never"] - } - ], - - messages: { - expectedTestCons: "Expected newline between test and consequent of ternary expression.", - expectedConsAlt: "Expected newline between consequent and alternate of ternary expression.", - unexpectedTestCons: "Unexpected newline between test and consequent of ternary expression.", - unexpectedConsAlt: "Unexpected newline between consequent and alternate of ternary expression." - }, - - fixable: "whitespace" - }, - - create(context) { - const sourceCode = context.sourceCode; - const option = context.options[0]; - const multiline = option !== "never"; - const allowSingleLine = option === "always-multiline"; - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - ConditionalExpression(node) { - const questionToken = sourceCode.getTokenAfter(node.test, astUtils.isNotClosingParenToken); - const colonToken = sourceCode.getTokenAfter(node.consequent, astUtils.isNotClosingParenToken); - - const firstTokenOfTest = sourceCode.getFirstToken(node); - const lastTokenOfTest = sourceCode.getTokenBefore(questionToken); - const firstTokenOfConsequent = sourceCode.getTokenAfter(questionToken); - const lastTokenOfConsequent = sourceCode.getTokenBefore(colonToken); - const firstTokenOfAlternate = sourceCode.getTokenAfter(colonToken); - - const areTestAndConsequentOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfTest, firstTokenOfConsequent); - const areConsequentAndAlternateOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfConsequent, firstTokenOfAlternate); - - const hasComments = !!sourceCode.getCommentsInside(node).length; - - if (!multiline) { - if (!areTestAndConsequentOnSameLine) { - context.report({ - node: node.test, - loc: { - start: firstTokenOfTest.loc.start, - end: lastTokenOfTest.loc.end - }, - messageId: "unexpectedTestCons", - fix(fixer) { - if (hasComments) { - return null; - } - const fixers = []; - const areTestAndQuestionOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfTest, questionToken); - const areQuestionAndConsOnSameLine = astUtils.isTokenOnSameLine(questionToken, firstTokenOfConsequent); - - if (!areTestAndQuestionOnSameLine) { - fixers.push(fixer.removeRange([lastTokenOfTest.range[1], questionToken.range[0]])); - } - if (!areQuestionAndConsOnSameLine) { - fixers.push(fixer.removeRange([questionToken.range[1], firstTokenOfConsequent.range[0]])); - } - - return fixers; - } - }); - } - - if (!areConsequentAndAlternateOnSameLine) { - context.report({ - node: node.consequent, - loc: { - start: firstTokenOfConsequent.loc.start, - end: lastTokenOfConsequent.loc.end - }, - messageId: "unexpectedConsAlt", - fix(fixer) { - if (hasComments) { - return null; - } - const fixers = []; - const areConsAndColonOnSameLine = astUtils.isTokenOnSameLine(lastTokenOfConsequent, colonToken); - const areColonAndAltOnSameLine = astUtils.isTokenOnSameLine(colonToken, firstTokenOfAlternate); - - if (!areConsAndColonOnSameLine) { - fixers.push(fixer.removeRange([lastTokenOfConsequent.range[1], colonToken.range[0]])); - } - if (!areColonAndAltOnSameLine) { - fixers.push(fixer.removeRange([colonToken.range[1], firstTokenOfAlternate.range[0]])); - } - - return fixers; - } - }); - } - } else { - if (allowSingleLine && node.loc.start.line === node.loc.end.line) { - return; - } - - if (areTestAndConsequentOnSameLine) { - context.report({ - node: node.test, - loc: { - start: firstTokenOfTest.loc.start, - end: lastTokenOfTest.loc.end - }, - messageId: "expectedTestCons", - fix: fixer => (hasComments ? null : ( - fixer.replaceTextRange( - [ - lastTokenOfTest.range[1], - questionToken.range[0] - ], - "\n" - ) - )) - }); - } - - if (areConsequentAndAlternateOnSameLine) { - context.report({ - node: node.consequent, - loc: { - start: firstTokenOfConsequent.loc.start, - end: lastTokenOfConsequent.loc.end - }, - messageId: "expectedConsAlt", - fix: (fixer => (hasComments ? null : ( - fixer.replaceTextRange( - [ - lastTokenOfConsequent.range[1], - colonToken.range[0] - ], - "\n" - ) - ))) - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-cap.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-cap.js deleted file mode 100644 index c57997a5..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-cap.js +++ /dev/null @@ -1,257 +0,0 @@ -/** - * @fileoverview Rule to flag use of constructors without capital letters - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const CAPS_ALLOWED = [ - "Array", - "Boolean", - "Date", - "Error", - "Function", - "Number", - "Object", - "RegExp", - "String", - "Symbol", - "BigInt" -]; - -/** - * A reducer function to invert an array to an Object mapping the string form of the key, to `true`. - * @param {Object} map Accumulator object for the reduce. - * @param {string} key Object key to set to `true`. - * @returns {Object} Returns the updated Object for further reduction. - */ -function invert(map, key) { - map[key] = true; - return map; -} - -/** - * Creates an object with the cap is new exceptions as its keys and true as their values. - * @param {Object} config Rule configuration - * @returns {Object} Object with cap is new exceptions. - */ -function calculateCapIsNewExceptions(config) { - const capIsNewExceptions = Array.from(new Set([...config.capIsNewExceptions, ...CAPS_ALLOWED])); - - return capIsNewExceptions.reduce(invert, {}); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require constructor names to begin with a capital letter", - recommended: false, - url: "https://eslint.org/docs/latest/rules/new-cap" - }, - - schema: [ - { - type: "object", - properties: { - newIsCap: { - type: "boolean" - }, - capIsNew: { - type: "boolean" - }, - newIsCapExceptions: { - type: "array", - items: { - type: "string" - } - }, - newIsCapExceptionPattern: { - type: "string" - }, - capIsNewExceptions: { - type: "array", - items: { - type: "string" - } - }, - capIsNewExceptionPattern: { - type: "string" - }, - properties: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - defaultOptions: [{ - capIsNew: true, - capIsNewExceptions: CAPS_ALLOWED, - newIsCap: true, - newIsCapExceptions: [], - properties: true - }], - - messages: { - upper: "A function with a name starting with an uppercase letter should only be used as a constructor.", - lower: "A constructor name should not start with a lowercase letter." - } - }, - - create(context) { - const [config] = context.options; - const skipProperties = !config.properties; - - const newIsCapExceptions = config.newIsCapExceptions.reduce(invert, {}); - const newIsCapExceptionPattern = config.newIsCapExceptionPattern ? new RegExp(config.newIsCapExceptionPattern, "u") : null; - - const capIsNewExceptions = calculateCapIsNewExceptions(config); - const capIsNewExceptionPattern = config.capIsNewExceptionPattern ? new RegExp(config.capIsNewExceptionPattern, "u") : null; - - const listeners = {}; - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Get exact callee name from expression - * @param {ASTNode} node CallExpression or NewExpression node - * @returns {string} name - */ - function extractNameFromExpression(node) { - return node.callee.type === "Identifier" - ? node.callee.name - : astUtils.getStaticPropertyName(node.callee) || ""; - } - - /** - * Returns the capitalization state of the string - - * Whether the first character is uppercase, lowercase, or non-alphabetic - * @param {string} str String - * @returns {string} capitalization state: "non-alpha", "lower", or "upper" - */ - function getCap(str) { - const firstChar = str.charAt(0); - - const firstCharLower = firstChar.toLowerCase(); - const firstCharUpper = firstChar.toUpperCase(); - - if (firstCharLower === firstCharUpper) { - - // char has no uppercase variant, so it's non-alphabetic - return "non-alpha"; - } - if (firstChar === firstCharLower) { - return "lower"; - } - return "upper"; - - } - - /** - * Check if capitalization is allowed for a CallExpression - * @param {Object} allowedMap Object mapping calleeName to a Boolean - * @param {ASTNode} node CallExpression node - * @param {string} calleeName Capitalized callee name from a CallExpression - * @param {Object} pattern RegExp object from options pattern - * @returns {boolean} Returns true if the callee may be capitalized - */ - function isCapAllowed(allowedMap, node, calleeName, pattern) { - const sourceText = sourceCode.getText(node.callee); - - if (allowedMap[calleeName] || allowedMap[sourceText]) { - return true; - } - - if (pattern && pattern.test(sourceText)) { - return true; - } - - const callee = astUtils.skipChainExpression(node.callee); - - if (calleeName === "UTC" && callee.type === "MemberExpression") { - - // allow if callee is Date.UTC - return callee.object.type === "Identifier" && - callee.object.name === "Date"; - } - - return skipProperties && callee.type === "MemberExpression"; - } - - /** - * Reports the given messageId for the given node. The location will be the start of the property or the callee. - * @param {ASTNode} node CallExpression or NewExpression node. - * @param {string} messageId The messageId to report. - * @returns {void} - */ - function report(node, messageId) { - let callee = astUtils.skipChainExpression(node.callee); - - if (callee.type === "MemberExpression") { - callee = callee.property; - } - - context.report({ node, loc: callee.loc, messageId }); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - if (config.newIsCap) { - listeners.NewExpression = function(node) { - - const constructorName = extractNameFromExpression(node); - - if (constructorName) { - const capitalization = getCap(constructorName); - const isAllowed = capitalization !== "lower" || isCapAllowed(newIsCapExceptions, node, constructorName, newIsCapExceptionPattern); - - if (!isAllowed) { - report(node, "lower"); - } - } - }; - } - - if (config.capIsNew) { - listeners.CallExpression = function(node) { - - const calleeName = extractNameFromExpression(node); - - if (calleeName) { - const capitalization = getCap(calleeName); - const isAllowed = capitalization !== "upper" || isCapAllowed(capIsNewExceptions, node, calleeName, capIsNewExceptionPattern); - - if (!isAllowed) { - report(node, "upper"); - } - } - }; - } - - return listeners; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-parens.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-parens.js deleted file mode 100644 index 1c5d21d4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/new-parens.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * @fileoverview Rule to flag when using constructor without parentheses - * @author Ilya Volodin - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce or disallow parentheses when invoking a constructor with no arguments", - recommended: false, - url: "https://eslint.org/docs/latest/rules/new-parens" - }, - - fixable: "code", - schema: [ - { - enum: ["always", "never"] - } - ], - messages: { - missing: "Missing '()' invoking a constructor.", - unnecessary: "Unnecessary '()' invoking a constructor with no arguments." - } - }, - - create(context) { - const options = context.options; - const always = options[0] !== "never"; // Default is always - - const sourceCode = context.sourceCode; - - return { - NewExpression(node) { - if (node.arguments.length !== 0) { - return; // if there are arguments, there have to be parens - } - - const lastToken = sourceCode.getLastToken(node); - const hasLastParen = lastToken && astUtils.isClosingParenToken(lastToken); - - // `hasParens` is true only if the new expression ends with its own parens, e.g., new new foo() does not end with its own parens - const hasParens = hasLastParen && - astUtils.isOpeningParenToken(sourceCode.getTokenBefore(lastToken)) && - node.callee.range[1] < node.range[1]; - - if (always) { - if (!hasParens) { - context.report({ - node, - messageId: "missing", - fix: fixer => fixer.insertTextAfter(node, "()") - }); - } - } else { - if (hasParens) { - context.report({ - node, - messageId: "unnecessary", - fix: fixer => [ - fixer.remove(sourceCode.getTokenBefore(lastToken)), - fixer.remove(lastToken), - fixer.insertTextBefore(node, "("), - fixer.insertTextAfter(node, ")") - ] - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-after-var.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-after-var.js deleted file mode 100644 index 6e447641..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-after-var.js +++ /dev/null @@ -1,253 +0,0 @@ -/** - * @fileoverview Rule to check empty newline after "var" statement - * @author Gopal Venkatesan - * @deprecated in ESLint v4.0.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "layout", - - docs: { - description: "Require or disallow an empty line after variable declarations", - recommended: false, - url: "https://eslint.org/docs/latest/rules/newline-after-var" - }, - schema: [ - { - enum: ["never", "always"] - } - ], - fixable: "whitespace", - messages: { - expected: "Expected blank line after variable declarations.", - unexpected: "Unexpected blank line after variable declarations." - }, - - deprecated: true, - - replacedBy: ["padding-line-between-statements"] - }, - - create(context) { - const sourceCode = context.sourceCode; - - // Default `mode` to "always". - const mode = context.options[0] === "never" ? "never" : "always"; - - // Cache starting and ending line numbers of comments for faster lookup - const commentEndLine = sourceCode.getAllComments().reduce((result, token) => { - result[token.loc.start.line] = token.loc.end.line; - return result; - }, {}); - - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Gets a token from the given node to compare line to the next statement. - * - * In general, the token is the last token of the node. However, the token is the second last token if the following conditions satisfy. - * - * - The last token is semicolon. - * - The semicolon is on a different line from the previous token of the semicolon. - * - * This behavior would address semicolon-less style code. e.g.: - * - * var foo = 1 - * - * ;(a || b).doSomething() - * @param {ASTNode} node The node to get. - * @returns {Token} The token to compare line to the next statement. - */ - function getLastToken(node) { - const lastToken = sourceCode.getLastToken(node); - - if (lastToken.type === "Punctuator" && lastToken.value === ";") { - const prevToken = sourceCode.getTokenBefore(lastToken); - - if (prevToken.loc.end.line !== lastToken.loc.start.line) { - return prevToken; - } - } - - return lastToken; - } - - /** - * Determine if provided keyword is a variable declaration - * @private - * @param {string} keyword keyword to test - * @returns {boolean} True if `keyword` is a type of var - */ - function isVar(keyword) { - return keyword === "var" || keyword === "let" || keyword === "const"; - } - - /** - * Determine if provided keyword is a variant of for specifiers - * @private - * @param {string} keyword keyword to test - * @returns {boolean} True if `keyword` is a variant of for specifier - */ - function isForTypeSpecifier(keyword) { - return keyword === "ForStatement" || keyword === "ForInStatement" || keyword === "ForOfStatement"; - } - - /** - * Determine if provided keyword is an export specifiers - * @private - * @param {string} nodeType nodeType to test - * @returns {boolean} True if `nodeType` is an export specifier - */ - function isExportSpecifier(nodeType) { - return nodeType === "ExportNamedDeclaration" || nodeType === "ExportSpecifier" || - nodeType === "ExportDefaultDeclaration" || nodeType === "ExportAllDeclaration"; - } - - /** - * Determine if provided node is the last of their parent block. - * @private - * @param {ASTNode} node node to test - * @returns {boolean} True if `node` is last of their parent block. - */ - function isLastNode(node) { - const token = sourceCode.getTokenAfter(node); - - return !token || (token.type === "Punctuator" && token.value === "}"); - } - - /** - * Gets the last line of a group of consecutive comments - * @param {number} commentStartLine The starting line of the group - * @returns {number} The number of the last comment line of the group - */ - function getLastCommentLineOfBlock(commentStartLine) { - const currentCommentEnd = commentEndLine[commentStartLine]; - - return commentEndLine[currentCommentEnd + 1] ? getLastCommentLineOfBlock(currentCommentEnd + 1) : currentCommentEnd; - } - - /** - * Determine if a token starts more than one line after a comment ends - * @param {token} token The token being checked - * @param {integer} commentStartLine The line number on which the comment starts - * @returns {boolean} True if `token` does not start immediately after a comment - */ - function hasBlankLineAfterComment(token, commentStartLine) { - return token.loc.start.line > getLastCommentLineOfBlock(commentStartLine) + 1; - } - - /** - * Checks that a blank line exists after a variable declaration when mode is - * set to "always", or checks that there is no blank line when mode is set - * to "never" - * @private - * @param {ASTNode} node `VariableDeclaration` node to test - * @returns {void} - */ - function checkForBlankLine(node) { - - /* - * lastToken is the last token on the node's line. It will usually also be the last token of the node, but it will - * sometimes be second-last if there is a semicolon on a different line. - */ - const lastToken = getLastToken(node), - - /* - * If lastToken is the last token of the node, nextToken should be the token after the node. Otherwise, nextToken - * is the last token of the node. - */ - nextToken = lastToken === sourceCode.getLastToken(node) ? sourceCode.getTokenAfter(node) : sourceCode.getLastToken(node), - nextLineNum = lastToken.loc.end.line + 1; - - // Ignore if there is no following statement - if (!nextToken) { - return; - } - - // Ignore if parent of node is a for variant - if (isForTypeSpecifier(node.parent.type)) { - return; - } - - // Ignore if parent of node is an export specifier - if (isExportSpecifier(node.parent.type)) { - return; - } - - /* - * Some coding styles use multiple `var` statements, so do nothing if - * the next token is a `var` statement. - */ - if (nextToken.type === "Keyword" && isVar(nextToken.value)) { - return; - } - - // Ignore if it is last statement in a block - if (isLastNode(node)) { - return; - } - - // Next statement is not a `var`... - const noNextLineToken = nextToken.loc.start.line > nextLineNum; - const hasNextLineComment = (typeof commentEndLine[nextLineNum] !== "undefined"); - - if (mode === "never" && noNextLineToken && !hasNextLineComment) { - context.report({ - node, - messageId: "unexpected", - fix(fixer) { - const linesBetween = sourceCode.getText().slice(lastToken.range[1], nextToken.range[0]).split(astUtils.LINEBREAK_MATCHER); - - return fixer.replaceTextRange([lastToken.range[1], nextToken.range[0]], `${linesBetween.slice(0, -1).join("")}\n${linesBetween.at(-1)}`); - } - }); - } - - // Token on the next line, or comment without blank line - if ( - mode === "always" && ( - !noNextLineToken || - hasNextLineComment && !hasBlankLineAfterComment(nextToken, nextLineNum) - ) - ) { - context.report({ - node, - messageId: "expected", - fix(fixer) { - if ((noNextLineToken ? getLastCommentLineOfBlock(nextLineNum) : lastToken.loc.end.line) === nextToken.loc.start.line) { - return fixer.insertTextBefore(nextToken, "\n\n"); - } - - return fixer.insertTextBeforeRange([nextToken.range[0] - nextToken.loc.start.column, nextToken.range[1]], "\n"); - } - }); - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - VariableDeclaration: checkForBlankLine - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-before-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-before-return.js deleted file mode 100644 index 21e9faf1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-before-return.js +++ /dev/null @@ -1,217 +0,0 @@ -/** - * @fileoverview Rule to require newlines before `return` statement - * @author Kai Cataldo - * @deprecated in ESLint v4.0.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "layout", - - docs: { - description: "Require an empty line before `return` statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/newline-before-return" - }, - - fixable: "whitespace", - schema: [], - messages: { - expected: "Expected newline before return statement." - }, - - deprecated: true, - replacedBy: ["padding-line-between-statements"] - }, - - create(context) { - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Tests whether node is preceded by supplied tokens - * @param {ASTNode} node node to check - * @param {Array} testTokens array of tokens to test against - * @returns {boolean} Whether or not the node is preceded by one of the supplied tokens - * @private - */ - function isPrecededByTokens(node, testTokens) { - const tokenBefore = sourceCode.getTokenBefore(node); - - return testTokens.includes(tokenBefore.value); - } - - /** - * Checks whether node is the first node after statement or in block - * @param {ASTNode} node node to check - * @returns {boolean} Whether or not the node is the first node after statement or in block - * @private - */ - function isFirstNode(node) { - const parentType = node.parent.type; - - if (node.parent.body) { - return Array.isArray(node.parent.body) - ? node.parent.body[0] === node - : node.parent.body === node; - } - - if (parentType === "IfStatement") { - return isPrecededByTokens(node, ["else", ")"]); - } - if (parentType === "DoWhileStatement") { - return isPrecededByTokens(node, ["do"]); - } - if (parentType === "SwitchCase") { - return isPrecededByTokens(node, [":"]); - } - return isPrecededByTokens(node, [")"]); - - } - - /** - * Returns the number of lines of comments that precede the node - * @param {ASTNode} node node to check for overlapping comments - * @param {number} lineNumTokenBefore line number of previous token, to check for overlapping comments - * @returns {number} Number of lines of comments that precede the node - * @private - */ - function calcCommentLines(node, lineNumTokenBefore) { - const comments = sourceCode.getCommentsBefore(node); - let numLinesComments = 0; - - if (!comments.length) { - return numLinesComments; - } - - comments.forEach(comment => { - numLinesComments++; - - if (comment.type === "Block") { - numLinesComments += comment.loc.end.line - comment.loc.start.line; - } - - // avoid counting lines with inline comments twice - if (comment.loc.start.line === lineNumTokenBefore) { - numLinesComments--; - } - - if (comment.loc.end.line === node.loc.start.line) { - numLinesComments--; - } - }); - - return numLinesComments; - } - - /** - * Returns the line number of the token before the node that is passed in as an argument - * @param {ASTNode} node The node to use as the start of the calculation - * @returns {number} Line number of the token before `node` - * @private - */ - function getLineNumberOfTokenBefore(node) { - const tokenBefore = sourceCode.getTokenBefore(node); - let lineNumTokenBefore; - - /** - * Global return (at the beginning of a script) is a special case. - * If there is no token before `return`, then we expect no line - * break before the return. Comments are allowed to occupy lines - * before the global return, just no blank lines. - * Setting lineNumTokenBefore to zero in that case results in the - * desired behavior. - */ - if (tokenBefore) { - lineNumTokenBefore = tokenBefore.loc.end.line; - } else { - lineNumTokenBefore = 0; // global return at beginning of script - } - - return lineNumTokenBefore; - } - - /** - * Checks whether node is preceded by a newline - * @param {ASTNode} node node to check - * @returns {boolean} Whether or not the node is preceded by a newline - * @private - */ - function hasNewlineBefore(node) { - const lineNumNode = node.loc.start.line; - const lineNumTokenBefore = getLineNumberOfTokenBefore(node); - const commentLines = calcCommentLines(node, lineNumTokenBefore); - - return (lineNumNode - lineNumTokenBefore - commentLines) > 1; - } - - /** - * Checks whether it is safe to apply a fix to a given return statement. - * - * The fix is not considered safe if the given return statement has leading comments, - * as we cannot safely determine if the newline should be added before or after the comments. - * For more information, see: https://github.com/eslint/eslint/issues/5958#issuecomment-222767211 - * @param {ASTNode} node The return statement node to check. - * @returns {boolean} `true` if it can fix the node. - * @private - */ - function canFix(node) { - const leadingComments = sourceCode.getCommentsBefore(node); - const lastLeadingComment = leadingComments.at(-1); - const tokenBefore = sourceCode.getTokenBefore(node); - - if (leadingComments.length === 0) { - return true; - } - - /* - * if the last leading comment ends in the same line as the previous token and - * does not share a line with the `return` node, we can consider it safe to fix. - * Example: - * function a() { - * var b; //comment - * return; - * } - */ - if (lastLeadingComment.loc.end.line === tokenBefore.loc.end.line && - lastLeadingComment.loc.end.line !== node.loc.start.line) { - return true; - } - - return false; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - ReturnStatement(node) { - if (!isFirstNode(node) && !hasNewlineBefore(node)) { - context.report({ - node, - messageId: "expected", - fix(fixer) { - if (canFix(node)) { - const tokenBefore = sourceCode.getTokenBefore(node); - const newlines = node.loc.start.line === tokenBefore.loc.end.line ? "\n\n" : "\n"; - - return fixer.insertTextBefore(node, newlines); - } - return null; - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-per-chained-call.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-per-chained-call.js deleted file mode 100644 index 3124ac2d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/newline-per-chained-call.js +++ /dev/null @@ -1,126 +0,0 @@ -/** - * @fileoverview Rule to ensure newline per method call when chaining calls - * @author Rajendra Patil - * @author Burak Yigit Kaya - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require a newline after each call in a method chain", - recommended: false, - url: "https://eslint.org/docs/latest/rules/newline-per-chained-call" - }, - - fixable: "whitespace", - - schema: [{ - type: "object", - properties: { - ignoreChainWithDepth: { - type: "integer", - minimum: 1, - maximum: 10, - default: 2 - } - }, - additionalProperties: false - }], - messages: { - expected: "Expected line break before `{{callee}}`." - } - }, - - create(context) { - - const options = context.options[0] || {}, - ignoreChainWithDepth = options.ignoreChainWithDepth || 2; - - const sourceCode = context.sourceCode; - - /** - * Get the prefix of a given MemberExpression node. - * If the MemberExpression node is a computed value it returns a - * left bracket. If not it returns a period. - * @param {ASTNode} node A MemberExpression node to get - * @returns {string} The prefix of the node. - */ - function getPrefix(node) { - if (node.computed) { - if (node.optional) { - return "?.["; - } - return "["; - } - if (node.optional) { - return "?."; - } - return "."; - } - - /** - * Gets the property text of a given MemberExpression node. - * If the text is multiline, this returns only the first line. - * @param {ASTNode} node A MemberExpression node to get. - * @returns {string} The property text of the node. - */ - function getPropertyText(node) { - const prefix = getPrefix(node); - const lines = sourceCode.getText(node.property).split(astUtils.LINEBREAK_MATCHER); - const suffix = node.computed && lines.length === 1 ? "]" : ""; - - return prefix + lines[0] + suffix; - } - - return { - "CallExpression:exit"(node) { - const callee = astUtils.skipChainExpression(node.callee); - - if (callee.type !== "MemberExpression") { - return; - } - - let parent = astUtils.skipChainExpression(callee.object); - let depth = 1; - - while (parent && parent.callee) { - depth += 1; - parent = astUtils.skipChainExpression(astUtils.skipChainExpression(parent.callee).object); - } - - if (depth > ignoreChainWithDepth && astUtils.isTokenOnSameLine(callee.object, callee.property)) { - const firstTokenAfterObject = sourceCode.getTokenAfter(callee.object, astUtils.isNotClosingParenToken); - - context.report({ - node: callee.property, - loc: { - start: firstTokenAfterObject.loc.start, - end: callee.loc.end - }, - messageId: "expected", - data: { - callee: getPropertyText(callee) - }, - fix(fixer) { - return fixer.insertTextBefore(firstTokenAfterObject, "\n"); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-alert.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-alert.js deleted file mode 100644 index cc872856..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-alert.js +++ /dev/null @@ -1,138 +0,0 @@ -/** - * @fileoverview Rule to flag use of alert, confirm, prompt - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { - getStaticPropertyName: getPropertyName, - getVariableByName, - skipChainExpression -} = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks if the given name is a prohibited identifier. - * @param {string} name The name to check - * @returns {boolean} Whether or not the name is prohibited. - */ -function isProhibitedIdentifier(name) { - return /^(alert|confirm|prompt)$/u.test(name); -} - -/** - * Finds the eslint-scope reference in the given scope. - * @param {Object} scope The scope to search. - * @param {ASTNode} node The identifier node. - * @returns {Reference|null} Returns the found reference or null if none were found. - */ -function findReference(scope, node) { - const references = scope.references.filter(reference => reference.identifier.range[0] === node.range[0] && - reference.identifier.range[1] === node.range[1]); - - if (references.length === 1) { - return references[0]; - } - return null; -} - -/** - * Checks if the given identifier node is shadowed in the given scope. - * @param {Object} scope The current scope. - * @param {string} node The identifier node to check - * @returns {boolean} Whether or not the name is shadowed. - */ -function isShadowed(scope, node) { - const reference = findReference(scope, node); - - return reference && reference.resolved && reference.resolved.defs.length > 0; -} - -/** - * Checks if the given identifier node is a ThisExpression in the global scope or the global window property. - * @param {Object} scope The current scope. - * @param {string} node The identifier node to check - * @returns {boolean} Whether or not the node is a reference to the global object. - */ -function isGlobalThisReferenceOrGlobalWindow(scope, node) { - if (scope.type === "global" && node.type === "ThisExpression") { - return true; - } - if ( - node.type === "Identifier" && - ( - node.name === "window" || - (node.name === "globalThis" && getVariableByName(scope, "globalThis")) - ) - ) { - return !isShadowed(scope, node); - } - - return false; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow the use of `alert`, `confirm`, and `prompt`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-alert" - }, - - schema: [], - - messages: { - unexpected: "Unexpected {{name}}." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - CallExpression(node) { - const callee = skipChainExpression(node.callee), - currentScope = sourceCode.getScope(node); - - // without window. - if (callee.type === "Identifier") { - const name = callee.name; - - if (!isShadowed(currentScope, callee) && isProhibitedIdentifier(callee.name)) { - context.report({ - node, - messageId: "unexpected", - data: { name } - }); - } - - } else if (callee.type === "MemberExpression" && isGlobalThisReferenceOrGlobalWindow(currentScope, callee.object)) { - const name = getPropertyName(callee); - - if (isProhibitedIdentifier(name)) { - context.report({ - node, - messageId: "unexpected", - data: { name } - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-array-constructor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-array-constructor.js deleted file mode 100644 index f56b6876..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-array-constructor.js +++ /dev/null @@ -1,133 +0,0 @@ -/** - * @fileoverview Disallow construction of dense arrays using the Array constructor - * @author Matt DuVall - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { - getVariableByName, - isClosingParenToken, - isOpeningParenToken, - isStartOfExpressionStatement, - needsPrecedingSemicolon -} = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `Array` constructors", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-array-constructor" - }, - - hasSuggestions: true, - - schema: [], - - messages: { - preferLiteral: "The array literal notation [] is preferable.", - useLiteral: "Replace with an array literal.", - useLiteralAfterSemicolon: "Replace with an array literal, add preceding semicolon." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Gets the text between the calling parentheses of a CallExpression or NewExpression. - * @param {ASTNode} node A CallExpression or NewExpression node. - * @returns {string} The text between the calling parentheses, or an empty string if there are none. - */ - function getArgumentsText(node) { - const lastToken = sourceCode.getLastToken(node); - - if (!isClosingParenToken(lastToken)) { - return ""; - } - - let firstToken = node.callee; - - do { - firstToken = sourceCode.getTokenAfter(firstToken); - if (!firstToken || firstToken === lastToken) { - return ""; - } - } while (!isOpeningParenToken(firstToken)); - - return sourceCode.text.slice(firstToken.range[1], lastToken.range[0]); - } - - /** - * Disallow construction of dense arrays using the Array constructor - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function check(node) { - if ( - node.callee.type !== "Identifier" || - node.callee.name !== "Array" || - node.arguments.length === 1 && - node.arguments[0].type !== "SpreadElement") { - return; - } - - const variable = getVariableByName(sourceCode.getScope(node), "Array"); - - /* - * Check if `Array` is a predefined global variable: predefined globals have no declarations, - * meaning that the `identifiers` list of the variable object is empty. - */ - if (variable && variable.identifiers.length === 0) { - const argsText = getArgumentsText(node); - let fixText; - let messageId; - - /* - * Check if the suggested change should include a preceding semicolon or not. - * Due to JavaScript's ASI rules, a missing semicolon may be inserted automatically - * before an expression like `Array()` or `new Array()`, but not when the expression - * is changed into an array literal like `[]`. - */ - if (isStartOfExpressionStatement(node) && needsPrecedingSemicolon(sourceCode, node)) { - fixText = `;[${argsText}]`; - messageId = "useLiteralAfterSemicolon"; - } else { - fixText = `[${argsText}]`; - messageId = "useLiteral"; - } - - context.report({ - node, - messageId: "preferLiteral", - suggest: [ - { - messageId, - fix: fixer => fixer.replaceText(node, fixText) - } - ] - }); - } - } - - return { - CallExpression: check, - NewExpression: check - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-async-promise-executor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-async-promise-executor.js deleted file mode 100644 index ea6c8511..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-async-promise-executor.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @fileoverview disallow using an async function as a Promise executor - * @author Teddy Katz - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow using an async function as a Promise executor", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-async-promise-executor" - }, - - fixable: null, - schema: [], - messages: { - async: "Promise executor functions should not be async." - } - }, - - create(context) { - return { - "NewExpression[callee.name='Promise'][arguments.0.async=true]"(node) { - context.report({ - node: context.sourceCode.getFirstToken(node.arguments[0], token => token.value === "async"), - messageId: "async" - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-await-in-loop.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-await-in-loop.js deleted file mode 100644 index 20230def..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-await-in-loop.js +++ /dev/null @@ -1,106 +0,0 @@ -/** - * @fileoverview Rule to disallow uses of await inside of loops. - * @author Nat Mote (nmote) - */ -"use strict"; - -/** - * Check whether it should stop traversing ancestors at the given node. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if it should stop traversing. - */ -function isBoundary(node) { - const t = node.type; - - return ( - t === "FunctionDeclaration" || - t === "FunctionExpression" || - t === "ArrowFunctionExpression" || - - /* - * Don't report the await expressions on for-await-of loop since it's - * asynchronous iteration intentionally. - */ - (t === "ForOfStatement" && node.await === true) - ); -} - -/** - * Check whether the given node is in loop. - * @param {ASTNode} node A node to check. - * @param {ASTNode} parent A parent node to check. - * @returns {boolean} `true` if the node is in loop. - */ -function isLooped(node, parent) { - switch (parent.type) { - case "ForStatement": - return ( - node === parent.test || - node === parent.update || - node === parent.body - ); - - case "ForOfStatement": - case "ForInStatement": - return node === parent.body; - - case "WhileStatement": - case "DoWhileStatement": - return node === parent.test || node === parent.body; - - default: - return false; - } -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow `await` inside of loops", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-await-in-loop" - }, - - schema: [], - - messages: { - unexpectedAwait: "Unexpected `await` inside a loop." - } - }, - create(context) { - - /** - * Validate an await expression. - * @param {ASTNode} awaitNode An AwaitExpression or ForOfStatement node to validate. - * @returns {void} - */ - function validate(awaitNode) { - if (awaitNode.type === "ForOfStatement" && !awaitNode.await) { - return; - } - - let node = awaitNode; - let parent = node.parent; - - while (parent && !isBoundary(parent)) { - if (isLooped(node, parent)) { - context.report({ - node: awaitNode, - messageId: "unexpectedAwait" - }); - return; - } - node = parent; - parent = parent.parent; - } - } - - return { - AwaitExpression: validate, - ForOfStatement: validate - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-bitwise.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-bitwise.js deleted file mode 100644 index 79432669..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-bitwise.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * @fileoverview Rule to flag bitwise identifiers - * @author Nicholas C. Zakas - */ - -"use strict"; - -/* - * - * Set of bitwise operators. - * - */ -const BITWISE_OPERATORS = [ - "^", "|", "&", "<<", ">>", ">>>", - "^=", "|=", "&=", "<<=", ">>=", ">>>=", - "~" -]; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allow: [], - int32Hint: false - }], - - docs: { - description: "Disallow bitwise operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-bitwise" - }, - - schema: [ - { - type: "object", - properties: { - allow: { - type: "array", - items: { - enum: BITWISE_OPERATORS - }, - uniqueItems: true - }, - int32Hint: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpected: "Unexpected use of '{{operator}}'." - } - }, - - create(context) { - const [{ allow: allowed, int32Hint }] = context.options; - - /** - * Reports an unexpected use of a bitwise operator. - * @param {ASTNode} node Node which contains the bitwise operator. - * @returns {void} - */ - function report(node) { - context.report({ node, messageId: "unexpected", data: { operator: node.operator } }); - } - - /** - * Checks if the given node has a bitwise operator. - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether or not the node has a bitwise operator. - */ - function hasBitwiseOperator(node) { - return BITWISE_OPERATORS.includes(node.operator); - } - - /** - * Checks if exceptions were provided, e.g. `{ allow: ['~', '|'] }`. - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether or not the node has a bitwise operator. - */ - function allowedOperator(node) { - return allowed.includes(node.operator); - } - - /** - * Checks if the given bitwise operator is used for integer typecasting, i.e. "|0" - * @param {ASTNode} node The node to check. - * @returns {boolean} whether the node is used in integer typecasting. - */ - function isInt32Hint(node) { - return int32Hint && node.operator === "|" && node.right && - node.right.type === "Literal" && node.right.value === 0; - } - - /** - * Report if the given node contains a bitwise operator. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkNodeForBitwiseOperator(node) { - if (hasBitwiseOperator(node) && !allowedOperator(node) && !isInt32Hint(node)) { - report(node); - } - } - - return { - AssignmentExpression: checkNodeForBitwiseOperator, - BinaryExpression: checkNodeForBitwiseOperator, - UnaryExpression: checkNodeForBitwiseOperator - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-buffer-constructor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-buffer-constructor.js deleted file mode 100644 index 0b73c767..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-buffer-constructor.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @fileoverview disallow use of the Buffer() constructor - * @author Teddy Katz - * @deprecated in ESLint v7.0.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "problem", - - docs: { - description: "Disallow use of the `Buffer()` constructor", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-buffer-constructor" - }, - - schema: [], - - messages: { - deprecated: "{{expr}} is deprecated. Use Buffer.from(), Buffer.alloc(), or Buffer.allocUnsafe() instead." - } - }, - - create(context) { - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - "CallExpression[callee.name='Buffer'], NewExpression[callee.name='Buffer']"(node) { - context.report({ - node, - messageId: "deprecated", - data: { expr: node.type === "CallExpression" ? "Buffer()" : "new Buffer()" } - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-caller.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-caller.js deleted file mode 100644 index 3e61a8e1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-caller.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @fileoverview Rule to flag use of arguments.callee and arguments.caller. - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow the use of `arguments.caller` or `arguments.callee`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-caller" - }, - - schema: [], - - messages: { - unexpected: "Avoid arguments.{{prop}}." - } - }, - - create(context) { - - return { - - MemberExpression(node) { - const objectName = node.object.name, - propertyName = node.property.name; - - if (objectName === "arguments" && !node.computed && propertyName && propertyName.match(/^calle[er]$/u)) { - context.report({ node, messageId: "unexpected", data: { prop: propertyName } }); - } - - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-case-declarations.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-case-declarations.js deleted file mode 100644 index 55f82e24..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-case-declarations.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @fileoverview Rule to flag use of an lexical declarations inside a case clause - * @author Erik Arvidsson - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow lexical declarations in case clauses", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-case-declarations" - }, - - hasSuggestions: true, - - schema: [], - - messages: { - addBrackets: "Add {} brackets around the case block.", - unexpected: "Unexpected lexical declaration in case block." - } - }, - - create(context) { - - /** - * Checks whether or not a node is a lexical declaration. - * @param {ASTNode} node A direct child statement of a switch case. - * @returns {boolean} Whether or not the node is a lexical declaration. - */ - function isLexicalDeclaration(node) { - switch (node.type) { - case "FunctionDeclaration": - case "ClassDeclaration": - return true; - case "VariableDeclaration": - return node.kind !== "var"; - default: - return false; - } - } - - return { - SwitchCase(node) { - for (let i = 0; i < node.consequent.length; i++) { - const statement = node.consequent[i]; - - if (isLexicalDeclaration(statement)) { - context.report({ - node: statement, - messageId: "unexpected", - suggest: [ - { - messageId: "addBrackets", - fix: fixer => [ - fixer.insertTextBefore(node.consequent[0], "{ "), - fixer.insertTextAfter(node.consequent.at(-1), " }") - ] - } - ] - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-catch-shadow.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-catch-shadow.js deleted file mode 100644 index f9d85524..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-catch-shadow.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @fileoverview Rule to flag variable leak in CatchClauses in IE 8 and earlier - * @author Ian Christian Myers - * @deprecated in ESLint v5.1.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `catch` clause parameters from shadowing variables in the outer scope", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-catch-shadow" - }, - - replacedBy: ["no-shadow"], - - deprecated: true, - schema: [], - - messages: { - mutable: "Value of '{{name}}' may be overwritten in IE 8 and earlier." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Check if the parameters are been shadowed - * @param {Object} scope current scope - * @param {string} name parameter name - * @returns {boolean} True is its been shadowed - */ - function paramIsShadowing(scope, name) { - return astUtils.getVariableByName(scope, name) !== null; - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - - "CatchClause[param!=null]"(node) { - let scope = sourceCode.getScope(node); - - /* - * When ecmaVersion >= 6, CatchClause creates its own scope - * so start from one upper scope to exclude the current node - */ - if (scope.block === node) { - scope = scope.upper; - } - - if (paramIsShadowing(scope, node.param.name)) { - context.report({ node, messageId: "mutable", data: { name: node.param.name } }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-class-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-class-assign.js deleted file mode 100644 index 49f3b844..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-class-assign.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @fileoverview A rule to disallow modifying variables of class declarations - * @author Toru Nagashima - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow reassigning class members", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-class-assign" - }, - - schema: [], - - messages: { - class: "'{{name}}' is a class." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Finds and reports references that are non initializer and writable. - * @param {Variable} variable A variable to check. - * @returns {void} - */ - function checkVariable(variable) { - astUtils.getModifyingReferences(variable.references).forEach(reference => { - context.report({ node: reference.identifier, messageId: "class", data: { name: reference.identifier.name } }); - - }); - } - - /** - * Finds and reports references that are non initializer and writable. - * @param {ASTNode} node A ClassDeclaration/ClassExpression node to check. - * @returns {void} - */ - function checkForClass(node) { - sourceCode.getDeclaredVariables(node).forEach(checkVariable); - } - - return { - ClassDeclaration: checkForClass, - ClassExpression: checkForClass - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-compare-neg-zero.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-compare-neg-zero.js deleted file mode 100644 index 42e4a374..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-compare-neg-zero.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @fileoverview The rule should warn against code that tries to compare against -0. - * @author Aladdin-ADD - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow comparing against `-0`", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - }, - - fixable: null, - schema: [], - - messages: { - unexpected: "Do not use the '{{operator}}' operator to compare against -0." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Checks a given node is -0 - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is -0. - */ - function isNegZero(node) { - return node.type === "UnaryExpression" && node.operator === "-" && node.argument.type === "Literal" && node.argument.value === 0; - } - const OPERATORS_TO_CHECK = new Set([">", ">=", "<", "<=", "==", "===", "!=", "!=="]); - - return { - BinaryExpression(node) { - if (OPERATORS_TO_CHECK.has(node.operator)) { - if (isNegZero(node.left) || isNegZero(node.right)) { - context.report({ - node, - messageId: "unexpected", - data: { operator: node.operator } - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-cond-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-cond-assign.js deleted file mode 100644 index 6d4135d0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-cond-assign.js +++ /dev/null @@ -1,159 +0,0 @@ -/** - * @fileoverview Rule to flag assignment in a conditional statement's test expression - * @author Stephen Murray - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const TEST_CONDITION_PARENT_TYPES = new Set(["IfStatement", "WhileStatement", "DoWhileStatement", "ForStatement", "ConditionalExpression"]); - -const NODE_DESCRIPTIONS = { - DoWhileStatement: "a 'do...while' statement", - ForStatement: "a 'for' statement", - IfStatement: "an 'if' statement", - WhileStatement: "a 'while' statement" -}; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: ["except-parens"], - - docs: { - description: "Disallow assignment operators in conditional expressions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-cond-assign" - }, - - schema: [ - { - enum: ["except-parens", "always"] - } - ], - - messages: { - unexpected: "Unexpected assignment within {{type}}.", - - // must match JSHint's error message - missing: "Expected a conditional expression and instead saw an assignment." - } - }, - - create(context) { - const [prohibitAssign] = context.options; - const sourceCode = context.sourceCode; - - /** - * Check whether an AST node is the test expression for a conditional statement. - * @param {!Object} node The node to test. - * @returns {boolean} `true` if the node is the text expression for a conditional statement; otherwise, `false`. - */ - function isConditionalTestExpression(node) { - return node.parent && - TEST_CONDITION_PARENT_TYPES.has(node.parent.type) && - node === node.parent.test; - } - - /** - * Given an AST node, perform a bottom-up search for the first ancestor that represents a conditional statement. - * @param {!Object} node The node to use at the start of the search. - * @returns {?Object} The closest ancestor node that represents a conditional statement. - */ - function findConditionalAncestor(node) { - let currentAncestor = node; - - do { - if (isConditionalTestExpression(currentAncestor)) { - return currentAncestor.parent; - } - } while ((currentAncestor = currentAncestor.parent) && !astUtils.isFunction(currentAncestor)); - - return null; - } - - /** - * Check whether the code represented by an AST node is enclosed in two sets of parentheses. - * @param {!Object} node The node to test. - * @returns {boolean} `true` if the code is enclosed in two sets of parentheses; otherwise, `false`. - */ - function isParenthesisedTwice(node) { - const previousToken = sourceCode.getTokenBefore(node, 1), - nextToken = sourceCode.getTokenAfter(node, 1); - - return astUtils.isParenthesised(sourceCode, node) && - previousToken && astUtils.isOpeningParenToken(previousToken) && previousToken.range[1] <= node.range[0] && - astUtils.isClosingParenToken(nextToken) && nextToken.range[0] >= node.range[1]; - } - - /** - * Check a conditional statement's test expression for top-level assignments that are not enclosed in parentheses. - * @param {!Object} node The node for the conditional statement. - * @returns {void} - */ - function testForAssign(node) { - if (node.test && - (node.test.type === "AssignmentExpression") && - (node.type === "ForStatement" - ? !astUtils.isParenthesised(sourceCode, node.test) - : !isParenthesisedTwice(node.test) - ) - ) { - - context.report({ - node: node.test, - messageId: "missing" - }); - } - } - - /** - * Check whether an assignment expression is descended from a conditional statement's test expression. - * @param {!Object} node The node for the assignment expression. - * @returns {void} - */ - function testForConditionalAncestor(node) { - const ancestor = findConditionalAncestor(node); - - if (ancestor) { - context.report({ - node, - messageId: "unexpected", - data: { - type: NODE_DESCRIPTIONS[ancestor.type] || ancestor.type - } - }); - } - } - - if (prohibitAssign === "always") { - return { - AssignmentExpression: testForConditionalAncestor - }; - } - - return { - DoWhileStatement: testForAssign, - ForStatement: testForAssign, - IfStatement: testForAssign, - WhileStatement: testForAssign, - ConditionalExpression: testForAssign - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-confusing-arrow.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-confusing-arrow.js deleted file mode 100644 index 6fef1870..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-confusing-arrow.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * @fileoverview A rule to warn against using arrow functions when they could be - * confused with comparisons - * @author Jxck - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils.js"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a node is a conditional expression. - * @param {ASTNode} node node to test - * @returns {boolean} `true` if the node is a conditional expression. - */ -function isConditional(node) { - return node && node.type === "ConditionalExpression"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - - docs: { - description: "Disallow arrow functions where they could be confused with comparisons", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-confusing-arrow" - }, - - fixable: "code", - - schema: [{ - type: "object", - properties: { - allowParens: { type: "boolean", default: true }, - onlyOneSimpleParam: { type: "boolean", default: false } - }, - additionalProperties: false - }], - - messages: { - confusing: "Arrow function used ambiguously with a conditional expression." - } - }, - - create(context) { - const config = context.options[0] || {}; - const allowParens = config.allowParens || (config.allowParens === void 0); - const onlyOneSimpleParam = config.onlyOneSimpleParam; - const sourceCode = context.sourceCode; - - - /** - * Reports if an arrow function contains an ambiguous conditional. - * @param {ASTNode} node A node to check and report. - * @returns {void} - */ - function checkArrowFunc(node) { - const body = node.body; - - if (isConditional(body) && - !(allowParens && astUtils.isParenthesised(sourceCode, body)) && - !(onlyOneSimpleParam && !(node.params.length === 1 && node.params[0].type === "Identifier"))) { - context.report({ - node, - messageId: "confusing", - fix(fixer) { - - // if `allowParens` is not set to true don't bother wrapping in parens - return allowParens && fixer.replaceText(node.body, `(${sourceCode.getText(node.body)})`); - } - }); - } - } - - return { - ArrowFunctionExpression: checkArrowFunc - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-console.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-console.js deleted file mode 100644 index 62dc1693..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-console.js +++ /dev/null @@ -1,208 +0,0 @@ -/** - * @fileoverview Rule to flag use of console object - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{}], - - docs: { - description: "Disallow the use of `console`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-console" - }, - - schema: [ - { - type: "object", - properties: { - allow: { - type: "array", - items: { - type: "string" - }, - minItems: 1, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - hasSuggestions: true, - - messages: { - unexpected: "Unexpected console statement.", - removeConsole: "Remove the console.{{ propertyName }}()." - } - }, - - create(context) { - const [{ allow: allowed = [] }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Checks whether the given reference is 'console' or not. - * @param {eslint-scope.Reference} reference The reference to check. - * @returns {boolean} `true` if the reference is 'console'. - */ - function isConsole(reference) { - const id = reference.identifier; - - return id && id.name === "console"; - } - - /** - * Checks whether the property name of the given MemberExpression node - * is allowed by options or not. - * @param {ASTNode} node The MemberExpression node to check. - * @returns {boolean} `true` if the property name of the node is allowed. - */ - function isAllowed(node) { - const propertyName = astUtils.getStaticPropertyName(node); - - return propertyName && allowed.includes(propertyName); - } - - /** - * Checks whether the given reference is a member access which is not - * allowed by options or not. - * @param {eslint-scope.Reference} reference The reference to check. - * @returns {boolean} `true` if the reference is a member access which - * is not allowed by options. - */ - function isMemberAccessExceptAllowed(reference) { - const node = reference.identifier; - const parent = node.parent; - - return ( - parent.type === "MemberExpression" && - parent.object === node && - !isAllowed(parent) - ); - } - - /** - * Checks if removing the ExpressionStatement node will cause ASI to - * break. - * eg. - * foo() - * console.log(); - * [1, 2, 3].forEach(a => doSomething(a)) - * - * Removing the console.log(); statement should leave two statements, but - * here the two statements will become one because [ causes continuation after - * foo(). - * @param {ASTNode} node The ExpressionStatement node to check. - * @returns {boolean} `true` if ASI will break after removing the ExpressionStatement - * node. - */ - function maybeAsiHazard(node) { - const SAFE_TOKENS_BEFORE = /^[:;{]$/u; // One of :;{ - const UNSAFE_CHARS_AFTER = /^[-[(/+`]/u; // One of [(/+-` - - const tokenBefore = sourceCode.getTokenBefore(node); - const tokenAfter = sourceCode.getTokenAfter(node); - - return ( - Boolean(tokenAfter) && - UNSAFE_CHARS_AFTER.test(tokenAfter.value) && - tokenAfter.value !== "++" && - tokenAfter.value !== "--" && - Boolean(tokenBefore) && - !SAFE_TOKENS_BEFORE.test(tokenBefore.value) - ); - } - - /** - * Checks if the MemberExpression node's parent.parent.parent is a - * Program, BlockStatement, StaticBlock, or SwitchCase node. This check - * is necessary to avoid providing a suggestion that might cause a syntax error. - * - * eg. if (a) console.log(b), removing console.log() here will lead to a - * syntax error. - * if (a) { console.log(b) }, removing console.log() here is acceptable. - * - * Additionally, it checks if the callee of the CallExpression node is - * the node itself. - * - * eg. foo(console.log), cannot provide a suggestion here. - * @param {ASTNode} node The MemberExpression node to check. - * @returns {boolean} `true` if a suggestion can be provided for a node. - */ - function canProvideSuggestions(node) { - return ( - node.parent.type === "CallExpression" && - node.parent.callee === node && - node.parent.parent.type === "ExpressionStatement" && - astUtils.STATEMENT_LIST_PARENTS.has(node.parent.parent.parent.type) && - !maybeAsiHazard(node.parent.parent) - ); - } - - /** - * Reports the given reference as a violation. - * @param {eslint-scope.Reference} reference The reference to report. - * @returns {void} - */ - function report(reference) { - const node = reference.identifier.parent; - - const propertyName = astUtils.getStaticPropertyName(node); - - context.report({ - node, - loc: node.loc, - messageId: "unexpected", - suggest: canProvideSuggestions(node) - ? [{ - messageId: "removeConsole", - data: { propertyName }, - fix(fixer) { - return fixer.remove(node.parent.parent); - } - }] - : [] - }); - } - - return { - "Program:exit"(node) { - const scope = sourceCode.getScope(node); - const consoleVar = astUtils.getVariableByName(scope, "console"); - const shadowed = consoleVar && consoleVar.defs.length > 0; - - /* - * 'scope.through' includes all references to undefined - * variables. If the variable 'console' is not defined, it uses - * 'scope.through'. - */ - const references = consoleVar - ? consoleVar.references - : scope.through.filter(isConsole); - - if (!shadowed) { - references - .filter(isMemberAccessExceptAllowed) - .forEach(report); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-const-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-const-assign.js deleted file mode 100644 index 0ceaf7ea..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-const-assign.js +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @fileoverview A rule to disallow modifying variables that are declared using `const` - * @author Toru Nagashima - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow reassigning `const` variables", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-const-assign" - }, - - schema: [], - - messages: { - const: "'{{name}}' is constant." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Finds and reports references that are non initializer and writable. - * @param {Variable} variable A variable to check. - * @returns {void} - */ - function checkVariable(variable) { - astUtils.getModifyingReferences(variable.references).forEach(reference => { - context.report({ node: reference.identifier, messageId: "const", data: { name: reference.identifier.name } }); - }); - } - - return { - VariableDeclaration(node) { - if (node.kind === "const") { - sourceCode.getDeclaredVariables(node).forEach(checkVariable); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-binary-expression.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-binary-expression.js deleted file mode 100644 index bc8f0730..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-binary-expression.js +++ /dev/null @@ -1,508 +0,0 @@ -/** - * @fileoverview Rule to flag constant comparisons and logical expressions that always/never short circuit - * @author Jordan Eldredge - */ - -"use strict"; - -const { isNullLiteral, isConstant, isReferenceToGlobalVariable, isLogicalAssignmentOperator, ECMASCRIPT_GLOBALS } = require("./utils/ast-utils"); - -const NUMERIC_OR_STRING_BINARY_OPERATORS = new Set(["+", "-", "*", "/", "%", "|", "^", "&", "**", "<<", ">>", ">>>"]); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a node is `null` or `undefined`. Similar to the one - * found in ast-utils.js, but this one correctly handles the edge case that - * `undefined` has been redefined. - * @param {Scope} scope Scope in which the expression was found. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is a `null` or `undefined`. - * @public - */ -function isNullOrUndefined(scope, node) { - return ( - isNullLiteral(node) || - (node.type === "Identifier" && node.name === "undefined" && isReferenceToGlobalVariable(scope, node)) || - (node.type === "UnaryExpression" && node.operator === "void") - ); -} - -/** - * Test if an AST node has a statically knowable constant nullishness. Meaning, - * it will always resolve to a constant value of either: `null`, `undefined` - * or not `null` _or_ `undefined`. An expression that can vary between those - * three states at runtime would return `false`. - * @param {Scope} scope The scope in which the node was found. - * @param {ASTNode} node The AST node being tested. - * @param {boolean} nonNullish if `true` then nullish values are not considered constant. - * @returns {boolean} Does `node` have constant nullishness? - */ -function hasConstantNullishness(scope, node, nonNullish) { - if (nonNullish && isNullOrUndefined(scope, node)) { - return false; - } - - switch (node.type) { - case "ObjectExpression": // Objects are never nullish - case "ArrayExpression": // Arrays are never nullish - case "ArrowFunctionExpression": // Functions never nullish - case "FunctionExpression": // Functions are never nullish - case "ClassExpression": // Classes are never nullish - case "NewExpression": // Objects are never nullish - case "Literal": // Nullish, or non-nullish, literals never change - case "TemplateLiteral": // A string is never nullish - case "UpdateExpression": // Numbers are never nullish - case "BinaryExpression": // Numbers, strings, or booleans are never nullish - return true; - case "CallExpression": { - if (node.callee.type !== "Identifier") { - return false; - } - const functionName = node.callee.name; - - return (functionName === "Boolean" || functionName === "String" || functionName === "Number") && - isReferenceToGlobalVariable(scope, node.callee); - } - case "LogicalExpression": { - return node.operator === "??" && hasConstantNullishness(scope, node.right, true); - } - case "AssignmentExpression": - if (node.operator === "=") { - return hasConstantNullishness(scope, node.right, nonNullish); - } - - /* - * Handling short-circuiting assignment operators would require - * walking the scope. We won't attempt that (for now...) / - */ - if (isLogicalAssignmentOperator(node.operator)) { - return false; - } - - /* - * The remaining assignment expressions all result in a numeric or - * string (non-nullish) value: - * "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", "|=", "^=", "&=" - */ - - return true; - case "UnaryExpression": - - /* - * "void" Always returns `undefined` - * "typeof" All types are strings, and thus non-nullish - * "!" Boolean is never nullish - * "delete" Returns a boolean, which is never nullish - * Math operators always return numbers or strings, neither of which - * are non-nullish "+", "-", "~" - */ - - return true; - case "SequenceExpression": { - const last = node.expressions.at(-1); - - return hasConstantNullishness(scope, last, nonNullish); - } - case "Identifier": - return node.name === "undefined" && isReferenceToGlobalVariable(scope, node); - case "JSXElement": // ESLint has a policy of not assuming any specific JSX behavior. - case "JSXFragment": - return false; - default: - return false; - } -} - -/** - * Test if an AST node is a boolean value that never changes. Specifically we - * test for: - * 1. Literal booleans (`true` or `false`) - * 2. Unary `!` expressions with a constant value - * 3. Constant booleans created via the `Boolean` global function - * @param {Scope} scope The scope in which the node was found. - * @param {ASTNode} node The node to test - * @returns {boolean} Is `node` guaranteed to be a boolean? - */ -function isStaticBoolean(scope, node) { - switch (node.type) { - case "Literal": - return typeof node.value === "boolean"; - case "CallExpression": - return node.callee.type === "Identifier" && node.callee.name === "Boolean" && - isReferenceToGlobalVariable(scope, node.callee) && - (node.arguments.length === 0 || isConstant(scope, node.arguments[0], true)); - case "UnaryExpression": - return node.operator === "!" && isConstant(scope, node.argument, true); - default: - return false; - } -} - - -/** - * Test if an AST node will always give the same result when compared to a - * boolean value. Note that comparison to boolean values is different than - * truthiness. - * https://262.ecma-international.org/5.1/#sec-11.9.3 - * - * JavaScript `==` operator works by converting the boolean to `1` (true) or - * `+0` (false) and then checks the values `==` equality to that number. - * @param {Scope} scope The scope in which node was found. - * @param {ASTNode} node The node to test. - * @returns {boolean} Will `node` always coerce to the same boolean value? - */ -function hasConstantLooseBooleanComparison(scope, node) { - switch (node.type) { - case "ObjectExpression": - case "ClassExpression": - - /** - * In theory objects like: - * - * `{toString: () => a}` - * `{valueOf: () => a}` - * - * Or a classes like: - * - * `class { static toString() { return a } }` - * `class { static valueOf() { return a } }` - * - * Are not constant verifiably when `inBooleanPosition` is - * false, but it's an edge case we've opted not to handle. - */ - return true; - case "ArrayExpression": { - const nonSpreadElements = node.elements.filter(e => - - // Elements can be `null` in sparse arrays: `[,,]`; - e !== null && e.type !== "SpreadElement"); - - - /* - * Possible future direction if needed: We could check if the - * single value would result in variable boolean comparison. - * For now we will err on the side of caution since `[x]` could - * evaluate to `[0]` or `[1]`. - */ - return node.elements.length === 0 || nonSpreadElements.length > 1; - } - case "ArrowFunctionExpression": - case "FunctionExpression": - return true; - case "UnaryExpression": - if (node.operator === "void" || // Always returns `undefined` - node.operator === "typeof" // All `typeof` strings, when coerced to number, are not 0 or 1. - ) { - return true; - } - if (node.operator === "!") { - return isConstant(scope, node.argument, true); - } - - /* - * We won't try to reason about +, -, ~, or delete - * In theory, for the mathematical operators, we could look at the - * argument and try to determine if it coerces to a constant numeric - * value. - */ - return false; - case "NewExpression": // Objects might have custom `.valueOf` or `.toString`. - return false; - case "CallExpression": { - if (node.callee.type === "Identifier" && - node.callee.name === "Boolean" && - isReferenceToGlobalVariable(scope, node.callee) - ) { - return node.arguments.length === 0 || isConstant(scope, node.arguments[0], true); - } - return false; - } - case "Literal": // True or false, literals never change - return true; - case "Identifier": - return node.name === "undefined" && isReferenceToGlobalVariable(scope, node); - case "TemplateLiteral": - - /* - * In theory we could try to check if the quasi are sufficient to - * prove that the expression will always be true, but it would be - * tricky to get right. For example: `000.${foo}000` - */ - return node.expressions.length === 0; - case "AssignmentExpression": - if (node.operator === "=") { - return hasConstantLooseBooleanComparison(scope, node.right); - } - - /* - * Handling short-circuiting assignment operators would require - * walking the scope. We won't attempt that (for now...) - * - * The remaining assignment expressions all result in a numeric or - * string (non-nullish) values which could be truthy or falsy: - * "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", "|=", "^=", "&=" - */ - return false; - case "SequenceExpression": { - const last = node.expressions.at(-1); - - return hasConstantLooseBooleanComparison(scope, last); - } - case "JSXElement": // ESLint has a policy of not assuming any specific JSX behavior. - case "JSXFragment": - return false; - default: - return false; - } -} - - -/** - * Test if an AST node will always give the same result when _strictly_ compared - * to a boolean value. This can happen if the expression can never be boolean, or - * if it is always the same boolean value. - * @param {Scope} scope The scope in which the node was found. - * @param {ASTNode} node The node to test - * @returns {boolean} Will `node` always give the same result when compared to a - * static boolean value? - */ -function hasConstantStrictBooleanComparison(scope, node) { - switch (node.type) { - case "ObjectExpression": // Objects are not booleans - case "ArrayExpression": // Arrays are not booleans - case "ArrowFunctionExpression": // Functions are not booleans - case "FunctionExpression": - case "ClassExpression": // Classes are not booleans - case "NewExpression": // Objects are not booleans - case "TemplateLiteral": // Strings are not booleans - case "Literal": // True, false, or not boolean, literals never change. - case "UpdateExpression": // Numbers are not booleans - return true; - case "BinaryExpression": - return NUMERIC_OR_STRING_BINARY_OPERATORS.has(node.operator); - case "UnaryExpression": { - if (node.operator === "delete") { - return false; - } - if (node.operator === "!") { - return isConstant(scope, node.argument, true); - } - - /* - * The remaining operators return either strings or numbers, neither - * of which are boolean. - */ - return true; - } - case "SequenceExpression": { - const last = node.expressions.at(-1); - - return hasConstantStrictBooleanComparison(scope, last); - } - case "Identifier": - return node.name === "undefined" && isReferenceToGlobalVariable(scope, node); - case "AssignmentExpression": - if (node.operator === "=") { - return hasConstantStrictBooleanComparison(scope, node.right); - } - - /* - * Handling short-circuiting assignment operators would require - * walking the scope. We won't attempt that (for now...) - */ - if (isLogicalAssignmentOperator(node.operator)) { - return false; - } - - /* - * The remaining assignment expressions all result in either a number - * or a string, neither of which can ever be boolean. - */ - return true; - case "CallExpression": { - if (node.callee.type !== "Identifier") { - return false; - } - const functionName = node.callee.name; - - if ( - (functionName === "String" || functionName === "Number") && - isReferenceToGlobalVariable(scope, node.callee) - ) { - return true; - } - if (functionName === "Boolean" && isReferenceToGlobalVariable(scope, node.callee)) { - return ( - node.arguments.length === 0 || isConstant(scope, node.arguments[0], true)); - } - return false; - } - case "JSXElement": // ESLint has a policy of not assuming any specific JSX behavior. - case "JSXFragment": - return false; - default: - return false; - } -} - -/** - * Test if an AST node will always result in a newly constructed object - * @param {Scope} scope The scope in which the node was found. - * @param {ASTNode} node The node to test - * @returns {boolean} Will `node` always be new? - */ -function isAlwaysNew(scope, node) { - switch (node.type) { - case "ObjectExpression": - case "ArrayExpression": - case "ArrowFunctionExpression": - case "FunctionExpression": - case "ClassExpression": - return true; - case "NewExpression": { - if (node.callee.type !== "Identifier") { - return false; - } - - /* - * All the built-in constructors are always new, but - * user-defined constructors could return a sentinel - * object. - * - * Catching these is especially useful for primitive constructors - * which return boxed values, a surprising gotcha' in JavaScript. - */ - return Object.hasOwn(ECMASCRIPT_GLOBALS, node.callee.name) && - isReferenceToGlobalVariable(scope, node.callee); - } - case "Literal": - - // Regular expressions are objects, and thus always new - return typeof node.regex === "object"; - case "SequenceExpression": { - const last = node.expressions.at(-1); - - return isAlwaysNew(scope, last); - } - case "AssignmentExpression": - if (node.operator === "=") { - return isAlwaysNew(scope, node.right); - } - return false; - case "ConditionalExpression": - return isAlwaysNew(scope, node.consequent) && isAlwaysNew(scope, node.alternate); - case "JSXElement": // ESLint has a policy of not assuming any specific JSX behavior. - case "JSXFragment": - return false; - default: - return false; - } -} - -/** - * Checks if one operand will cause the result to be constant. - * @param {Scope} scope Scope in which the expression was found. - * @param {ASTNode} a One side of the expression - * @param {ASTNode} b The other side of the expression - * @param {string} operator The binary expression operator - * @returns {ASTNode | null} The node which will cause the expression to have a constant result. - */ -function findBinaryExpressionConstantOperand(scope, a, b, operator) { - if (operator === "==" || operator === "!=") { - if ( - (isNullOrUndefined(scope, a) && hasConstantNullishness(scope, b, false)) || - (isStaticBoolean(scope, a) && hasConstantLooseBooleanComparison(scope, b)) - ) { - return b; - } - } else if (operator === "===" || operator === "!==") { - if ( - (isNullOrUndefined(scope, a) && hasConstantNullishness(scope, b, false)) || - (isStaticBoolean(scope, a) && hasConstantStrictBooleanComparison(scope, b)) - ) { - return b; - } - } - return null; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - docs: { - description: "Disallow expressions where the operation doesn't affect the value", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - }, - schema: [], - messages: { - constantBinaryOperand: "Unexpected constant binary expression. Compares constantly with the {{otherSide}}-hand side of the `{{operator}}`.", - constantShortCircuit: "Unexpected constant {{property}} on the left-hand side of a `{{operator}}` expression.", - alwaysNew: "Unexpected comparison to newly constructed object. These two values can never be equal.", - bothAlwaysNew: "Unexpected comparison of two newly constructed objects. These two values can never be equal." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - LogicalExpression(node) { - const { operator, left } = node; - const scope = sourceCode.getScope(node); - - if ((operator === "&&" || operator === "||") && isConstant(scope, left, true)) { - context.report({ node: left, messageId: "constantShortCircuit", data: { property: "truthiness", operator } }); - } else if (operator === "??" && hasConstantNullishness(scope, left, false)) { - context.report({ node: left, messageId: "constantShortCircuit", data: { property: "nullishness", operator } }); - } - }, - BinaryExpression(node) { - const scope = sourceCode.getScope(node); - const { right, left, operator } = node; - const rightConstantOperand = findBinaryExpressionConstantOperand(scope, left, right, operator); - const leftConstantOperand = findBinaryExpressionConstantOperand(scope, right, left, operator); - - if (rightConstantOperand) { - context.report({ node: rightConstantOperand, messageId: "constantBinaryOperand", data: { operator, otherSide: "left" } }); - } else if (leftConstantOperand) { - context.report({ node: leftConstantOperand, messageId: "constantBinaryOperand", data: { operator, otherSide: "right" } }); - } else if (operator === "===" || operator === "!==") { - if (isAlwaysNew(scope, left)) { - context.report({ node: left, messageId: "alwaysNew" }); - } else if (isAlwaysNew(scope, right)) { - context.report({ node: right, messageId: "alwaysNew" }); - } - } else if (operator === "==" || operator === "!=") { - - /* - * If both sides are "new", then both sides are objects and - * therefore they will be compared by reference even with `==` - * equality. - */ - if (isAlwaysNew(scope, left) && isAlwaysNew(scope, right)) { - context.report({ node: left, messageId: "bothAlwaysNew" }); - } - } - - } - - /* - * In theory we could handle short-circuiting assignment operators, - * for some constant values, but that would require walking the - * scope to find the value of the variable being assigned. This is - * dependant on https://github.com/eslint/eslint/issues/13776 - * - * AssignmentExpression() {}, - */ - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-condition.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-condition.js deleted file mode 100644 index 1514b545..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constant-condition.js +++ /dev/null @@ -1,162 +0,0 @@ -/** - * @fileoverview Rule to flag use constant conditions - * @author Christian Schulz - */ - -"use strict"; - -const { isConstant } = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ checkLoops: "allExceptWhileTrue" }], - - docs: { - description: "Disallow constant expressions in conditions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-constant-condition" - }, - - schema: [ - { - type: "object", - properties: { - checkLoops: { - enum: ["all", "allExceptWhileTrue", "none", true, false] - } - }, - additionalProperties: false - } - ], - - messages: { - unexpected: "Unexpected constant condition." - } - }, - - create(context) { - const loopSetStack = []; - const sourceCode = context.sourceCode; - let [{ checkLoops }] = context.options; - - if (checkLoops === true) { - checkLoops = "all"; - } else if (checkLoops === false) { - checkLoops = "none"; - } - - let loopsInCurrentScope = new Set(); - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Tracks when the given node contains a constant condition. - * @param {ASTNode} node The AST node to check. - * @returns {void} - * @private - */ - function trackConstantConditionLoop(node) { - if (node.test && isConstant(sourceCode.getScope(node), node.test, true)) { - loopsInCurrentScope.add(node); - } - } - - /** - * Reports when the set contains the given constant condition node - * @param {ASTNode} node The AST node to check. - * @returns {void} - * @private - */ - function checkConstantConditionLoopInSet(node) { - if (loopsInCurrentScope.has(node)) { - loopsInCurrentScope.delete(node); - context.report({ node: node.test, messageId: "unexpected" }); - } - } - - /** - * Reports when the given node contains a constant condition. - * @param {ASTNode} node The AST node to check. - * @returns {void} - * @private - */ - function reportIfConstant(node) { - if (node.test && isConstant(sourceCode.getScope(node), node.test, true)) { - context.report({ node: node.test, messageId: "unexpected" }); - } - } - - /** - * Stores current set of constant loops in loopSetStack temporarily - * and uses a new set to track constant loops - * @returns {void} - * @private - */ - function enterFunction() { - loopSetStack.push(loopsInCurrentScope); - loopsInCurrentScope = new Set(); - } - - /** - * Reports when the set still contains stored constant conditions - * @returns {void} - * @private - */ - function exitFunction() { - loopsInCurrentScope = loopSetStack.pop(); - } - - /** - * Checks node when checkLoops option is enabled - * @param {ASTNode} node The AST node to check. - * @returns {void} - * @private - */ - function checkLoop(node) { - if (checkLoops === "all" || checkLoops === "allExceptWhileTrue") { - trackConstantConditionLoop(node); - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - ConditionalExpression: reportIfConstant, - IfStatement: reportIfConstant, - WhileStatement(node) { - if (node.test.type === "Literal" && node.test.value === true && checkLoops === "allExceptWhileTrue") { - return; - } - - checkLoop(node); - }, - "WhileStatement:exit": checkConstantConditionLoopInSet, - DoWhileStatement: checkLoop, - "DoWhileStatement:exit": checkConstantConditionLoopInSet, - ForStatement: checkLoop, - "ForStatement > .test": node => checkLoop(node.parent), - "ForStatement:exit": checkConstantConditionLoopInSet, - FunctionDeclaration: enterFunction, - "FunctionDeclaration:exit": exitFunction, - FunctionExpression: enterFunction, - "FunctionExpression:exit": exitFunction, - YieldExpression: () => loopsInCurrentScope.clear() - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constructor-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constructor-return.js deleted file mode 100644 index e9ef7385..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-constructor-return.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @fileoverview Rule to disallow returning value from constructor. - * @author Pig Fang - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow returning value from constructor", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-constructor-return" - }, - - schema: [], - - fixable: null, - - messages: { - unexpected: "Unexpected return statement in constructor." - } - }, - - create(context) { - const stack = []; - - return { - onCodePathStart(_, node) { - stack.push(node); - }, - onCodePathEnd() { - stack.pop(); - }, - ReturnStatement(node) { - const last = stack.at(-1); - - if (!last.parent) { - return; - } - - if ( - last.parent.type === "MethodDefinition" && - last.parent.kind === "constructor" && - node.argument - ) { - context.report({ - node, - messageId: "unexpected" - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-continue.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-continue.js deleted file mode 100644 index f6e484b2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-continue.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @fileoverview Rule to flag use of continue statement - * @author Borislav Zhivkov - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `continue` statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-continue" - }, - - schema: [], - - messages: { - unexpected: "Unexpected use of continue statement." - } - }, - - create(context) { - - return { - ContinueStatement(node) { - context.report({ node, messageId: "unexpected" }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-control-regex.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-control-regex.js deleted file mode 100644 index dc412fca..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-control-regex.js +++ /dev/null @@ -1,138 +0,0 @@ -/** - * @fileoverview Rule to forbid control characters from regular expressions. - * @author Nicholas C. Zakas - */ - -"use strict"; - -const RegExpValidator = require("@eslint-community/regexpp").RegExpValidator; -const collector = new (class { - constructor() { - this._source = ""; - this._controlChars = []; - this._validator = new RegExpValidator(this); - } - - onPatternEnter() { - - /* - * `RegExpValidator` may parse the pattern twice in one `validatePattern`. - * So `this._controlChars` should be cleared here as well. - * - * For example, the `/(?\x1f)/` regex will parse the pattern twice. - * This is based on the content described in Annex B. - * If the regex contains a `GroupName` and the `u` flag is not used, `ParseText` will be called twice. - * See https://tc39.es/ecma262/2023/multipage/additional-ecmascript-features-for-web-browsers.html#sec-parsepattern-annexb - */ - this._controlChars = []; - } - - onCharacter(start, end, cp) { - if (cp >= 0x00 && - cp <= 0x1F && - ( - this._source.codePointAt(start) === cp || - this._source.slice(start, end).startsWith("\\x") || - this._source.slice(start, end).startsWith("\\u") - ) - ) { - this._controlChars.push(`\\x${`0${cp.toString(16)}`.slice(-2)}`); - } - } - - collectControlChars(regexpStr, flags) { - const uFlag = typeof flags === "string" && flags.includes("u"); - const vFlag = typeof flags === "string" && flags.includes("v"); - - this._controlChars = []; - this._source = regexpStr; - - try { - this._validator.validatePattern(regexpStr, void 0, void 0, { unicode: uFlag, unicodeSets: vFlag }); // Call onCharacter hook - } catch { - - // Ignore syntax errors in RegExp. - } - return this._controlChars; - } -})(); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow control characters in regular expressions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-control-regex" - }, - - schema: [], - - messages: { - unexpected: "Unexpected control character(s) in regular expression: {{controlChars}}." - } - }, - - create(context) { - - /** - * Get the regex expression - * @param {ASTNode} node `Literal` node to evaluate - * @returns {{ pattern: string, flags: string | null } | null} Regex if found (the given node is either a regex literal - * or a string literal that is the pattern argument of a RegExp constructor call). Otherwise `null`. If flags cannot be determined, - * the `flags` property will be `null`. - * @private - */ - function getRegExp(node) { - if (node.regex) { - return node.regex; - } - if (typeof node.value === "string" && - (node.parent.type === "NewExpression" || node.parent.type === "CallExpression") && - node.parent.callee.type === "Identifier" && - node.parent.callee.name === "RegExp" && - node.parent.arguments[0] === node - ) { - const pattern = node.value; - const flags = - node.parent.arguments.length > 1 && - node.parent.arguments[1].type === "Literal" && - typeof node.parent.arguments[1].value === "string" - ? node.parent.arguments[1].value - : null; - - return { pattern, flags }; - } - - return null; - } - - return { - Literal(node) { - const regExp = getRegExp(node); - - if (regExp) { - const { pattern, flags } = regExp; - const controlCharacters = collector.collectControlChars(pattern, flags); - - if (controlCharacters.length > 0) { - context.report({ - node, - messageId: "unexpected", - data: { - controlChars: controlCharacters.join(", ") - } - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-debugger.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-debugger.js deleted file mode 100644 index f6984351..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-debugger.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * @fileoverview Rule to flag use of a debugger statement - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow the use of `debugger`", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-debugger" - }, - - fixable: null, - schema: [], - - messages: { - unexpected: "Unexpected 'debugger' statement." - } - }, - - create(context) { - - return { - DebuggerStatement(node) { - context.report({ - node, - messageId: "unexpected" - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-delete-var.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-delete-var.js deleted file mode 100644 index 126603c8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-delete-var.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @fileoverview Rule to flag when deleting variables - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow deleting variables", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-delete-var" - }, - - schema: [], - - messages: { - unexpected: "Variables should not be deleted." - } - }, - - create(context) { - - return { - - UnaryExpression(node) { - if (node.operator === "delete" && node.argument.type === "Identifier") { - context.report({ node, messageId: "unexpected" }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-div-regex.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-div-regex.js deleted file mode 100644 index 208f840b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-div-regex.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * @fileoverview Rule to check for ambiguous div operator in regexes - * @author Matt DuVall - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow equal signs explicitly at the beginning of regular expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-div-regex" - }, - - fixable: "code", - - schema: [], - - messages: { - unexpected: "A regular expression literal can be confused with '/='." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - - Literal(node) { - const token = sourceCode.getFirstToken(node); - - if (token.type === "RegularExpression" && token.value[1] === "=") { - context.report({ - node, - messageId: "unexpected", - fix(fixer) { - return fixer.replaceTextRange([token.range[0] + 1, token.range[0] + 2], "[=]"); - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-args.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-args.js deleted file mode 100644 index c04ede5a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-args.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @fileoverview Rule to flag duplicate arguments - * @author Jamund Ferguson - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow duplicate arguments in `function` definitions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-dupe-args" - }, - - schema: [], - - messages: { - unexpected: "Duplicate param '{{name}}'." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Checks whether or not a given definition is a parameter's. - * @param {eslint-scope.DefEntry} def A definition to check. - * @returns {boolean} `true` if the definition is a parameter's. - */ - function isParameter(def) { - return def.type === "Parameter"; - } - - /** - * Determines if a given node has duplicate parameters. - * @param {ASTNode} node The node to check. - * @returns {void} - * @private - */ - function checkParams(node) { - const variables = sourceCode.getDeclaredVariables(node); - - for (let i = 0; i < variables.length; ++i) { - const variable = variables[i]; - - // Checks and reports duplications. - const defs = variable.defs.filter(isParameter); - - if (defs.length >= 2) { - context.report({ - node, - messageId: "unexpected", - data: { name: variable.name } - }); - } - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - FunctionDeclaration: checkParams, - FunctionExpression: checkParams - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-class-members.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-class-members.js deleted file mode 100644 index c3355321..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-class-members.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * @fileoverview A rule to disallow duplicate name in class members. - * @author Toru Nagashima - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow duplicate class members", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-dupe-class-members" - }, - - schema: [], - - messages: { - unexpected: "Duplicate name '{{name}}'." - } - }, - - create(context) { - let stack = []; - - /** - * Gets state of a given member name. - * @param {string} name A name of a member. - * @param {boolean} isStatic A flag which specifies that is a static member. - * @returns {Object} A state of a given member name. - * - retv.init {boolean} A flag which shows the name is declared as normal member. - * - retv.get {boolean} A flag which shows the name is declared as getter. - * - retv.set {boolean} A flag which shows the name is declared as setter. - */ - function getState(name, isStatic) { - const stateMap = stack.at(-1); - const key = `$${name}`; // to avoid "__proto__". - - if (!stateMap[key]) { - stateMap[key] = { - nonStatic: { init: false, get: false, set: false }, - static: { init: false, get: false, set: false } - }; - } - - return stateMap[key][isStatic ? "static" : "nonStatic"]; - } - - return { - - // Initializes the stack of state of member declarations. - Program() { - stack = []; - }, - - // Initializes state of member declarations for the class. - ClassBody() { - stack.push(Object.create(null)); - }, - - // Disposes the state for the class. - "ClassBody:exit"() { - stack.pop(); - }, - - // Reports the node if its name has been declared already. - "MethodDefinition, PropertyDefinition"(node) { - const name = astUtils.getStaticPropertyName(node); - const kind = node.type === "MethodDefinition" ? node.kind : "field"; - - if (name === null || kind === "constructor") { - return; - } - - const state = getState(name, node.static); - let isDuplicate; - - if (kind === "get") { - isDuplicate = (state.init || state.get); - state.get = true; - } else if (kind === "set") { - isDuplicate = (state.init || state.set); - state.set = true; - } else { - isDuplicate = (state.init || state.get || state.set); - state.init = true; - } - - if (isDuplicate) { - context.report({ node, messageId: "unexpected", data: { name } }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-else-if.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-else-if.js deleted file mode 100644 index 60f436d1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-else-if.js +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @fileoverview Rule to disallow duplicate conditions in if-else-if chains - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines whether the first given array is a subset of the second given array. - * @param {Function} comparator A function to compare two elements, should return `true` if they are equal. - * @param {Array} arrA The array to compare from. - * @param {Array} arrB The array to compare against. - * @returns {boolean} `true` if the array `arrA` is a subset of the array `arrB`. - */ -function isSubsetByComparator(comparator, arrA, arrB) { - return arrA.every(a => arrB.some(b => comparator(a, b))); -} - -/** - * Splits the given node by the given logical operator. - * @param {string} operator Logical operator `||` or `&&`. - * @param {ASTNode} node The node to split. - * @returns {ASTNode[]} Array of conditions that makes the node when joined by the operator. - */ -function splitByLogicalOperator(operator, node) { - if (node.type === "LogicalExpression" && node.operator === operator) { - return [...splitByLogicalOperator(operator, node.left), ...splitByLogicalOperator(operator, node.right)]; - } - return [node]; -} - -const splitByOr = splitByLogicalOperator.bind(null, "||"); -const splitByAnd = splitByLogicalOperator.bind(null, "&&"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow duplicate conditions in if-else-if chains", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-dupe-else-if" - }, - - schema: [], - - messages: { - unexpected: "This branch can never execute. Its condition is a duplicate or covered by previous conditions in the if-else-if chain." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Determines whether the two given nodes are considered to be equal. In particular, given that the nodes - * represent expressions in a boolean context, `||` and `&&` can be considered as commutative operators. - * @param {ASTNode} a First node. - * @param {ASTNode} b Second node. - * @returns {boolean} `true` if the nodes are considered to be equal. - */ - function equal(a, b) { - if (a.type !== b.type) { - return false; - } - - if ( - a.type === "LogicalExpression" && - (a.operator === "||" || a.operator === "&&") && - a.operator === b.operator - ) { - return equal(a.left, b.left) && equal(a.right, b.right) || - equal(a.left, b.right) && equal(a.right, b.left); - } - - return astUtils.equalTokens(a, b, sourceCode); - } - - const isSubset = isSubsetByComparator.bind(null, equal); - - return { - IfStatement(node) { - const test = node.test, - conditionsToCheck = test.type === "LogicalExpression" && test.operator === "&&" - ? [test, ...splitByAnd(test)] - : [test]; - let current = node, - listToCheck = conditionsToCheck.map(c => splitByOr(c).map(splitByAnd)); - - while (current.parent && current.parent.type === "IfStatement" && current.parent.alternate === current) { - current = current.parent; - - const currentOrOperands = splitByOr(current.test).map(splitByAnd); - - listToCheck = listToCheck.map(orOperands => orOperands.filter( - orOperand => !currentOrOperands.some(currentOrOperand => isSubset(currentOrOperand, orOperand)) - )); - - if (listToCheck.some(orOperands => orOperands.length === 0)) { - context.report({ node: test, messageId: "unexpected" }); - break; - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-keys.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-keys.js deleted file mode 100644 index 980b0044..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-dupe-keys.js +++ /dev/null @@ -1,142 +0,0 @@ -/** - * @fileoverview Rule to flag use of duplicate keys in an object. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const GET_KIND = /^(?:init|get)$/u; -const SET_KIND = /^(?:init|set)$/u; - -/** - * The class which stores properties' information of an object. - */ -class ObjectInfo { - - /** - * @param {ObjectInfo|null} upper The information of the outer object. - * @param {ASTNode} node The ObjectExpression node of this information. - */ - constructor(upper, node) { - this.upper = upper; - this.node = node; - this.properties = new Map(); - } - - /** - * Gets the information of the given Property node. - * @param {ASTNode} node The Property node to get. - * @returns {{get: boolean, set: boolean}} The information of the property. - */ - getPropertyInfo(node) { - const name = astUtils.getStaticPropertyName(node); - - if (!this.properties.has(name)) { - this.properties.set(name, { get: false, set: false }); - } - return this.properties.get(name); - } - - /** - * Checks whether the given property has been defined already or not. - * @param {ASTNode} node The Property node to check. - * @returns {boolean} `true` if the property has been defined. - */ - isPropertyDefined(node) { - const entry = this.getPropertyInfo(node); - - return ( - (GET_KIND.test(node.kind) && entry.get) || - (SET_KIND.test(node.kind) && entry.set) - ); - } - - /** - * Defines the given property. - * @param {ASTNode} node The Property node to define. - * @returns {void} - */ - defineProperty(node) { - const entry = this.getPropertyInfo(node); - - if (GET_KIND.test(node.kind)) { - entry.get = true; - } - if (SET_KIND.test(node.kind)) { - entry.set = true; - } - } -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow duplicate keys in object literals", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-dupe-keys" - }, - - schema: [], - - messages: { - unexpected: "Duplicate key '{{name}}'." - } - }, - - create(context) { - let info = null; - - return { - ObjectExpression(node) { - info = new ObjectInfo(info, node); - }, - "ObjectExpression:exit"() { - info = info.upper; - }, - - Property(node) { - const name = astUtils.getStaticPropertyName(node); - - // Skip destructuring. - if (node.parent.type !== "ObjectExpression") { - return; - } - - // Skip if the name is not static. - if (name === null) { - return; - } - - // Reports if the name is defined already. - if (info.isPropertyDefined(node)) { - context.report({ - node: info.node, - loc: node.key.loc, - messageId: "unexpected", - data: { name } - }); - } - - // Update info. - info.defineProperty(node); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-case.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-case.js deleted file mode 100644 index 839f357e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-case.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * @fileoverview Rule to disallow a duplicate case label. - * @author Dieter Oberkofler - * @author Burak Yigit Kaya - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow duplicate case labels", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-duplicate-case" - }, - - schema: [], - - messages: { - unexpected: "Duplicate case label." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Determines whether the two given nodes are considered to be equal. - * @param {ASTNode} a First node. - * @param {ASTNode} b Second node. - * @returns {boolean} `true` if the nodes are considered to be equal. - */ - function equal(a, b) { - if (a.type !== b.type) { - return false; - } - - return astUtils.equalTokens(a, b, sourceCode); - } - return { - SwitchStatement(node) { - const previousTests = []; - - for (const switchCase of node.cases) { - if (switchCase.test) { - const test = switchCase.test; - - if (previousTests.some(previousTest => equal(previousTest, test))) { - context.report({ node: switchCase, messageId: "unexpected" }); - } else { - previousTests.push(test); - } - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-imports.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-imports.js deleted file mode 100644 index 1bc52cf9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-duplicate-imports.js +++ /dev/null @@ -1,293 +0,0 @@ -/** - * @fileoverview Restrict usage of duplicate imports. - * @author Simen Bekkhus - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const NAMED_TYPES = ["ImportSpecifier", "ExportSpecifier"]; -const NAMESPACE_TYPES = [ - "ImportNamespaceSpecifier", - "ExportNamespaceSpecifier" -]; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** - * Check if an import/export type belongs to (ImportSpecifier|ExportSpecifier) or (ImportNamespaceSpecifier|ExportNamespaceSpecifier). - * @param {string} importExportType An import/export type to check. - * @param {string} type Can be "named" or "namespace" - * @returns {boolean} True if import/export type belongs to (ImportSpecifier|ExportSpecifier) or (ImportNamespaceSpecifier|ExportNamespaceSpecifier) and false if it doesn't. - */ -function isImportExportSpecifier(importExportType, type) { - const arrayToCheck = type === "named" ? NAMED_TYPES : NAMESPACE_TYPES; - - return arrayToCheck.includes(importExportType); -} - -/** - * Return the type of (import|export). - * @param {ASTNode} node A node to get. - * @returns {string} The type of the (import|export). - */ -function getImportExportType(node) { - if (node.specifiers && node.specifiers.length > 0) { - const nodeSpecifiers = node.specifiers; - const index = nodeSpecifiers.findIndex( - ({ type }) => - isImportExportSpecifier(type, "named") || - isImportExportSpecifier(type, "namespace") - ); - const i = index > -1 ? index : 0; - - return nodeSpecifiers[i].type; - } - if (node.type === "ExportAllDeclaration") { - if (node.exported) { - return "ExportNamespaceSpecifier"; - } - return "ExportAll"; - } - return "SideEffectImport"; -} - -/** - * Returns a boolean indicates if two (import|export) can be merged - * @param {ASTNode} node1 A node to check. - * @param {ASTNode} node2 A node to check. - * @returns {boolean} True if two (import|export) can be merged, false if they can't. - */ -function isImportExportCanBeMerged(node1, node2) { - const importExportType1 = getImportExportType(node1); - const importExportType2 = getImportExportType(node2); - - if ( - (importExportType1 === "ExportAll" && - importExportType2 !== "ExportAll" && - importExportType2 !== "SideEffectImport") || - (importExportType1 !== "ExportAll" && - importExportType1 !== "SideEffectImport" && - importExportType2 === "ExportAll") - ) { - return false; - } - if ( - (isImportExportSpecifier(importExportType1, "namespace") && - isImportExportSpecifier(importExportType2, "named")) || - (isImportExportSpecifier(importExportType2, "namespace") && - isImportExportSpecifier(importExportType1, "named")) - ) { - return false; - } - return true; -} - -/** - * Returns a boolean if we should report (import|export). - * @param {ASTNode} node A node to be reported or not. - * @param {[ASTNode]} previousNodes An array contains previous nodes of the module imported or exported. - * @returns {boolean} True if the (import|export) should be reported. - */ -function shouldReportImportExport(node, previousNodes) { - let i = 0; - - while (i < previousNodes.length) { - if (isImportExportCanBeMerged(node, previousNodes[i])) { - return true; - } - i++; - } - return false; -} - -/** - * Returns array contains only nodes with declarations types equal to type. - * @param {[{node: ASTNode, declarationType: string}]} nodes An array contains objects, each object contains a node and a declaration type. - * @param {string} type Declaration type. - * @returns {[ASTNode]} An array contains only nodes with declarations types equal to type. - */ -function getNodesByDeclarationType(nodes, type) { - return nodes - .filter(({ declarationType }) => declarationType === type) - .map(({ node }) => node); -} - -/** - * Returns the name of the module imported or re-exported. - * @param {ASTNode} node A node to get. - * @returns {string} The name of the module, or empty string if no name. - */ -function getModule(node) { - if (node && node.source && node.source.value) { - return node.source.value.trim(); - } - return ""; -} - -/** - * Checks if the (import|export) can be merged with at least one import or one export, and reports if so. - * @param {RuleContext} context The ESLint rule context object. - * @param {ASTNode} node A node to get. - * @param {Map} modules A Map object contains as a key a module name and as value an array contains objects, each object contains a node and a declaration type. - * @param {string} declarationType A declaration type can be an import or export. - * @param {boolean} includeExports Whether or not to check for exports in addition to imports. - * @returns {void} No return value. - */ -function checkAndReport( - context, - node, - modules, - declarationType, - includeExports -) { - const module = getModule(node); - - if (modules.has(module)) { - const previousNodes = modules.get(module); - const messagesIds = []; - const importNodes = getNodesByDeclarationType(previousNodes, "import"); - let exportNodes; - - if (includeExports) { - exportNodes = getNodesByDeclarationType(previousNodes, "export"); - } - if (declarationType === "import") { - if (shouldReportImportExport(node, importNodes)) { - messagesIds.push("import"); - } - if (includeExports) { - if (shouldReportImportExport(node, exportNodes)) { - messagesIds.push("importAs"); - } - } - } else if (declarationType === "export") { - if (shouldReportImportExport(node, exportNodes)) { - messagesIds.push("export"); - } - if (shouldReportImportExport(node, importNodes)) { - messagesIds.push("exportAs"); - } - } - messagesIds.forEach(messageId => - context.report({ - node, - messageId, - data: { - module - } - })); - } -} - -/** - * @callback nodeCallback - * @param {ASTNode} node A node to handle. - */ - -/** - * Returns a function handling the (imports|exports) of a given file - * @param {RuleContext} context The ESLint rule context object. - * @param {Map} modules A Map object contains as a key a module name and as value an array contains objects, each object contains a node and a declaration type. - * @param {string} declarationType A declaration type can be an import or export. - * @param {boolean} includeExports Whether or not to check for exports in addition to imports. - * @returns {nodeCallback} A function passed to ESLint to handle the statement. - */ -function handleImportsExports( - context, - modules, - declarationType, - includeExports -) { - return function(node) { - const module = getModule(node); - - if (module) { - checkAndReport( - context, - node, - modules, - declarationType, - includeExports - ); - const currentNode = { node, declarationType }; - let nodes = [currentNode]; - - if (modules.has(module)) { - const previousNodes = modules.get(module); - - nodes = [...previousNodes, currentNode]; - } - modules.set(module, nodes); - } - }; -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - includeExports: false - }], - - docs: { - description: "Disallow duplicate module imports", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-duplicate-imports" - }, - - schema: [ - { - type: "object", - properties: { - includeExports: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - import: "'{{module}}' import is duplicated.", - importAs: "'{{module}}' import is duplicated as export.", - export: "'{{module}}' export is duplicated.", - exportAs: "'{{module}}' export is duplicated as import." - } - }, - - create(context) { - const [{ includeExports }] = context.options; - const modules = new Map(); - const handlers = { - ImportDeclaration: handleImportsExports( - context, - modules, - "import", - includeExports - ) - }; - - if (includeExports) { - handlers.ExportNamedDeclaration = handleImportsExports( - context, - modules, - "export", - includeExports - ); - handlers.ExportAllDeclaration = handleImportsExports( - context, - modules, - "export", - includeExports - ); - } - return handlers; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-else-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-else-return.js deleted file mode 100644 index d456181b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-else-return.js +++ /dev/null @@ -1,404 +0,0 @@ -/** - * @fileoverview Rule to flag `else` after a `return` in `if` - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const FixTracker = require("./utils/fix-tracker"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ allowElseIf: true }], - - docs: { - description: "Disallow `else` blocks after `return` statements in `if` statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-else-return" - }, - - schema: [{ - type: "object", - properties: { - allowElseIf: { - type: "boolean" - } - }, - additionalProperties: false - }], - - fixable: "code", - - messages: { - unexpected: "Unnecessary 'else' after 'return'." - } - }, - - create(context) { - const [{ allowElseIf }] = context.options; - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Checks whether the given names can be safely used to declare block-scoped variables - * in the given scope. Name collisions can produce redeclaration syntax errors, - * or silently change references and modify behavior of the original code. - * - * This is not a generic function. In particular, it is assumed that the scope is a function scope or - * a function's inner scope, and that the names can be valid identifiers in the given scope. - * @param {string[]} names Array of variable names. - * @param {eslint-scope.Scope} scope Function scope or a function's inner scope. - * @returns {boolean} True if all names can be safely declared, false otherwise. - */ - function isSafeToDeclare(names, scope) { - - if (names.length === 0) { - return true; - } - - const functionScope = scope.variableScope; - - /* - * If this is a function scope, scope.variables will contain parameters, implicit variables such as "arguments", - * all function-scoped variables ('var'), and block-scoped variables defined in the scope. - * If this is an inner scope, scope.variables will contain block-scoped variables defined in the scope. - * - * Redeclaring any of these would cause a syntax error, except for the implicit variables. - */ - const declaredVariables = scope.variables.filter(({ defs }) => defs.length > 0); - - if (declaredVariables.some(({ name }) => names.includes(name))) { - return false; - } - - // Redeclaring a catch variable would also cause a syntax error. - if (scope !== functionScope && scope.upper.type === "catch") { - if (scope.upper.variables.some(({ name }) => names.includes(name))) { - return false; - } - } - - /* - * Redeclaring an implicit variable, such as "arguments", would not cause a syntax error. - * However, if the variable was used, declaring a new one with the same name would change references - * and modify behavior. - */ - const usedImplicitVariables = scope.variables.filter(({ defs, references }) => - defs.length === 0 && references.length > 0); - - if (usedImplicitVariables.some(({ name }) => names.includes(name))) { - return false; - } - - /* - * Declaring a variable with a name that was already used to reference a variable from an upper scope - * would change references and modify behavior. - */ - if (scope.through.some(t => names.includes(t.identifier.name))) { - return false; - } - - /* - * If the scope is an inner scope (not the function scope), an uninitialized `var` variable declared inside - * the scope node (directly or in one of its descendants) is neither declared nor 'through' in the scope. - * - * For example, this would be a syntax error "Identifier 'a' has already been declared": - * function foo() { if (bar) { let a; if (baz) { var a; } } } - */ - if (scope !== functionScope) { - const scopeNodeRange = scope.block.range; - const variablesToCheck = functionScope.variables.filter(({ name }) => names.includes(name)); - - if (variablesToCheck.some(v => v.defs.some(({ node: { range } }) => - scopeNodeRange[0] <= range[0] && range[1] <= scopeNodeRange[1]))) { - return false; - } - } - - return true; - } - - - /** - * Checks whether the removal of `else` and its braces is safe from variable name collisions. - * @param {Node} node The 'else' node. - * @param {eslint-scope.Scope} scope The scope in which the node and the whole 'if' statement is. - * @returns {boolean} True if it is safe, false otherwise. - */ - function isSafeFromNameCollisions(node, scope) { - - if (node.type === "FunctionDeclaration") { - - // Conditional function declaration. Scope and hoisting are unpredictable, different engines work differently. - return false; - } - - if (node.type !== "BlockStatement") { - return true; - } - - const elseBlockScope = scope.childScopes.find(({ block }) => block === node); - - if (!elseBlockScope) { - - // ecmaVersion < 6, `else` block statement cannot have its own scope, no possible collisions. - return true; - } - - /* - * elseBlockScope is supposed to merge into its upper scope. elseBlockScope.variables array contains - * only block-scoped variables (such as let and const variables or class and function declarations) - * defined directly in the elseBlockScope. These are exactly the only names that could cause collisions. - */ - const namesToCheck = elseBlockScope.variables.map(({ name }) => name); - - return isSafeToDeclare(namesToCheck, scope); - } - - /** - * Display the context report if rule is violated - * @param {Node} elseNode The 'else' node - * @returns {void} - */ - function displayReport(elseNode) { - const currentScope = sourceCode.getScope(elseNode.parent); - - context.report({ - node: elseNode, - messageId: "unexpected", - fix(fixer) { - - if (!isSafeFromNameCollisions(elseNode, currentScope)) { - return null; - } - - const startToken = sourceCode.getFirstToken(elseNode); - const elseToken = sourceCode.getTokenBefore(startToken); - const source = sourceCode.getText(elseNode); - const lastIfToken = sourceCode.getTokenBefore(elseToken); - let fixedSource, firstTokenOfElseBlock; - - if (startToken.type === "Punctuator" && startToken.value === "{") { - firstTokenOfElseBlock = sourceCode.getTokenAfter(startToken); - } else { - firstTokenOfElseBlock = startToken; - } - - /* - * If the if block does not have curly braces and does not end in a semicolon - * and the else block starts with (, [, /, +, ` or -, then it is not - * safe to remove the else keyword, because ASI will not add a semicolon - * after the if block - */ - const ifBlockMaybeUnsafe = elseNode.parent.consequent.type !== "BlockStatement" && lastIfToken.value !== ";"; - const elseBlockUnsafe = /^[([/+`-]/u.test(firstTokenOfElseBlock.value); - - if (ifBlockMaybeUnsafe && elseBlockUnsafe) { - return null; - } - - const endToken = sourceCode.getLastToken(elseNode); - const lastTokenOfElseBlock = sourceCode.getTokenBefore(endToken); - - if (lastTokenOfElseBlock.value !== ";") { - const nextToken = sourceCode.getTokenAfter(endToken); - - const nextTokenUnsafe = nextToken && /^[([/+`-]/u.test(nextToken.value); - const nextTokenOnSameLine = nextToken && nextToken.loc.start.line === lastTokenOfElseBlock.loc.start.line; - - /* - * If the else block contents does not end in a semicolon, - * and the else block starts with (, [, /, +, ` or -, then it is not - * safe to remove the else block, because ASI will not add a semicolon - * after the remaining else block contents - */ - if (nextTokenUnsafe || (nextTokenOnSameLine && nextToken.value !== "}")) { - return null; - } - } - - if (startToken.type === "Punctuator" && startToken.value === "{") { - fixedSource = source.slice(1, -1); - } else { - fixedSource = source; - } - - /* - * Extend the replacement range to include the entire - * function to avoid conflicting with no-useless-return. - * https://github.com/eslint/eslint/issues/8026 - * - * Also, to avoid name collisions between two else blocks. - */ - return new FixTracker(fixer, sourceCode) - .retainEnclosingFunction(elseNode) - .replaceTextRange([elseToken.range[0], elseNode.range[1]], fixedSource); - } - }); - } - - /** - * Check to see if the node is a ReturnStatement - * @param {Node} node The node being evaluated - * @returns {boolean} True if node is a return - */ - function checkForReturn(node) { - return node.type === "ReturnStatement"; - } - - /** - * Naive return checking, does not iterate through the whole - * BlockStatement because we make the assumption that the ReturnStatement - * will be the last node in the body of the BlockStatement. - * @param {Node} node The consequent/alternate node - * @returns {boolean} True if it has a return - */ - function naiveHasReturn(node) { - if (node.type === "BlockStatement") { - const body = node.body, - lastChildNode = body.at(-1); - - return lastChildNode && checkForReturn(lastChildNode); - } - return checkForReturn(node); - } - - /** - * Check to see if the node is valid for evaluation, - * meaning it has an else. - * @param {Node} node The node being evaluated - * @returns {boolean} True if the node is valid - */ - function hasElse(node) { - return node.alternate && node.consequent; - } - - /** - * If the consequent is an IfStatement, check to see if it has an else - * and both its consequent and alternate path return, meaning this is - * a nested case of rule violation. If-Else not considered currently. - * @param {Node} node The consequent node - * @returns {boolean} True if this is a nested rule violation - */ - function checkForIf(node) { - return node.type === "IfStatement" && hasElse(node) && - naiveHasReturn(node.alternate) && naiveHasReturn(node.consequent); - } - - /** - * Check the consequent/body node to make sure it is not - * a ReturnStatement or an IfStatement that returns on both - * code paths. - * @param {Node} node The consequent or body node - * @returns {boolean} `true` if it is a Return/If node that always returns. - */ - function checkForReturnOrIf(node) { - return checkForReturn(node) || checkForIf(node); - } - - - /** - * Check whether a node returns in every codepath. - * @param {Node} node The node to be checked - * @returns {boolean} `true` if it returns on every codepath. - */ - function alwaysReturns(node) { - if (node.type === "BlockStatement") { - - // If we have a BlockStatement, check each consequent body node. - return node.body.some(checkForReturnOrIf); - } - - /* - * If not a block statement, make sure the consequent isn't a - * ReturnStatement or an IfStatement with returns on both paths. - */ - return checkForReturnOrIf(node); - } - - - /** - * Check the if statement, but don't catch else-if blocks. - * @returns {void} - * @param {Node} node The node for the if statement to check - * @private - */ - function checkIfWithoutElse(node) { - const parent = node.parent; - - /* - * Fixing this would require splitting one statement into two, so no error should - * be reported if this node is in a position where only one statement is allowed. - */ - if (!astUtils.STATEMENT_LIST_PARENTS.has(parent.type)) { - return; - } - - const consequents = []; - let alternate; - - for (let currentNode = node; currentNode.type === "IfStatement"; currentNode = currentNode.alternate) { - if (!currentNode.alternate) { - return; - } - consequents.push(currentNode.consequent); - alternate = currentNode.alternate; - } - - if (consequents.every(alwaysReturns)) { - displayReport(alternate); - } - } - - /** - * Check the if statement - * @returns {void} - * @param {Node} node The node for the if statement to check - * @private - */ - function checkIfWithElse(node) { - const parent = node.parent; - - - /* - * Fixing this would require splitting one statement into two, so no error should - * be reported if this node is in a position where only one statement is allowed. - */ - if (!astUtils.STATEMENT_LIST_PARENTS.has(parent.type)) { - return; - } - - const alternate = node.alternate; - - if (alternate && alwaysReturns(node.consequent)) { - displayReport(alternate); - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - - "IfStatement:exit": allowElseIf ? checkIfWithoutElse : checkIfWithElse - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-character-class.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-character-class.js deleted file mode 100644 index 5c841023..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-character-class.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @fileoverview Rule to flag the use of empty character classes in regular expressions - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { RegExpParser, visitRegExpAST } = require("@eslint-community/regexpp"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const parser = new RegExpParser(); -const QUICK_TEST_REGEX = /\[\]/u; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow empty character classes in regular expressions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-empty-character-class" - }, - - schema: [], - - messages: { - unexpected: "Empty class." - } - }, - - create(context) { - return { - "Literal[regex]"(node) { - const { pattern, flags } = node.regex; - - if (!QUICK_TEST_REGEX.test(pattern)) { - return; - } - - let regExpAST; - - try { - regExpAST = parser.parsePattern(pattern, 0, pattern.length, { - unicode: flags.includes("u"), - unicodeSets: flags.includes("v") - }); - } catch { - - // Ignore regular expressions that regexpp cannot parse - return; - } - - visitRegExpAST(regExpAST, { - onCharacterClassEnter(characterClass) { - if (!characterClass.negate && characterClass.elements.length === 0) { - context.report({ node, messageId: "unexpected" }); - } - } - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-function.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-function.js deleted file mode 100644 index 16e611bb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-function.js +++ /dev/null @@ -1,167 +0,0 @@ -/** - * @fileoverview Rule to disallow empty functions. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const ALLOW_OPTIONS = Object.freeze([ - "functions", - "arrowFunctions", - "generatorFunctions", - "methods", - "generatorMethods", - "getters", - "setters", - "constructors", - "asyncFunctions", - "asyncMethods" -]); - -/** - * Gets the kind of a given function node. - * @param {ASTNode} node A function node to get. This is one of - * an ArrowFunctionExpression, a FunctionDeclaration, or a - * FunctionExpression. - * @returns {string} The kind of the function. This is one of "functions", - * "arrowFunctions", "generatorFunctions", "asyncFunctions", "methods", - * "generatorMethods", "asyncMethods", "getters", "setters", and - * "constructors". - */ -function getKind(node) { - const parent = node.parent; - let kind; - - if (node.type === "ArrowFunctionExpression") { - return "arrowFunctions"; - } - - // Detects main kind. - if (parent.type === "Property") { - if (parent.kind === "get") { - return "getters"; - } - if (parent.kind === "set") { - return "setters"; - } - kind = parent.method ? "methods" : "functions"; - - } else if (parent.type === "MethodDefinition") { - if (parent.kind === "get") { - return "getters"; - } - if (parent.kind === "set") { - return "setters"; - } - if (parent.kind === "constructor") { - return "constructors"; - } - kind = "methods"; - - } else { - kind = "functions"; - } - - // Detects prefix. - let prefix; - - if (node.generator) { - prefix = "generator"; - } else if (node.async) { - prefix = "async"; - } else { - return kind; - } - return prefix + kind[0].toUpperCase() + kind.slice(1); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ allow: [] }], - - docs: { - description: "Disallow empty functions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-empty-function" - }, - - schema: [ - { - type: "object", - properties: { - allow: { - type: "array", - items: { enum: ALLOW_OPTIONS }, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - unexpected: "Unexpected empty {{name}}." - } - }, - - create(context) { - const [{ allow }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Reports a given function node if the node matches the following patterns. - * - * - Not allowed by options. - * - The body is empty. - * - The body doesn't have any comments. - * @param {ASTNode} node A function node to report. This is one of - * an ArrowFunctionExpression, a FunctionDeclaration, or a - * FunctionExpression. - * @returns {void} - */ - function reportIfEmpty(node) { - const kind = getKind(node); - const name = astUtils.getFunctionNameWithKind(node); - const innerComments = sourceCode.getTokens(node.body, { - includeComments: true, - filter: astUtils.isCommentToken - }); - - if (!allow.includes(kind) && - node.body.type === "BlockStatement" && - node.body.body.length === 0 && - innerComments.length === 0 - ) { - context.report({ - node, - loc: node.body.loc, - messageId: "unexpected", - data: { name } - }); - } - } - - return { - ArrowFunctionExpression: reportIfEmpty, - FunctionDeclaration: reportIfEmpty, - FunctionExpression: reportIfEmpty - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-pattern.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-pattern.js deleted file mode 100644 index eb81d8ab..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-pattern.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @fileoverview Rule to disallow an empty pattern - * @author Alberto Rodríguez - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - allowObjectPatternsAsParameters: false - }], - - docs: { - description: "Disallow empty destructuring patterns", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-empty-pattern" - }, - - schema: [ - { - type: "object", - properties: { - allowObjectPatternsAsParameters: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpected: "Unexpected empty {{type}} pattern." - } - }, - - create(context) { - const [{ allowObjectPatternsAsParameters }] = context.options; - - return { - ObjectPattern(node) { - - if (node.properties.length > 0) { - return; - } - - // Allow {} and {} = {} empty object patterns as parameters when allowObjectPatternsAsParameters is true - if ( - allowObjectPatternsAsParameters && - ( - astUtils.isFunction(node.parent) || - ( - node.parent.type === "AssignmentPattern" && - astUtils.isFunction(node.parent.parent) && - node.parent.right.type === "ObjectExpression" && - node.parent.right.properties.length === 0 - ) - ) - ) { - return; - } - - context.report({ node, messageId: "unexpected", data: { type: "object" } }); - }, - ArrayPattern(node) { - if (node.elements.length === 0) { - context.report({ node, messageId: "unexpected", data: { type: "array" } }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-static-block.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-static-block.js deleted file mode 100644 index 558c4fad..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty-static-block.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * @fileoverview Rule to disallow empty static blocks. - * @author Sosuke Suzuki - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow empty static blocks", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-empty-static-block" - }, - - schema: [], - - messages: { - unexpected: "Unexpected empty static block." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - StaticBlock(node) { - if (node.body.length === 0) { - const closingBrace = sourceCode.getLastToken(node); - - if (sourceCode.getCommentsBefore(closingBrace).length === 0) { - context.report({ - node, - messageId: "unexpected" - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty.js deleted file mode 100644 index b5df621c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-empty.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * @fileoverview Rule to flag use of an empty block statement - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - hasSuggestions: true, - type: "suggestion", - - defaultOptions: [{ - allowEmptyCatch: false - }], - - docs: { - description: "Disallow empty block statements", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-empty" - }, - - schema: [ - { - type: "object", - properties: { - allowEmptyCatch: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpected: "Empty {{type}} statement.", - suggestComment: "Add comment inside empty {{type}} statement." - } - }, - - create(context) { - const [{ allowEmptyCatch }] = context.options; - const sourceCode = context.sourceCode; - - return { - BlockStatement(node) { - - // if the body is not empty, we can just return immediately - if (node.body.length !== 0) { - return; - } - - // a function is generally allowed to be empty - if (astUtils.isFunction(node.parent)) { - return; - } - - if (allowEmptyCatch && node.parent.type === "CatchClause") { - return; - } - - // any other block is only allowed to be empty, if it contains a comment - if (sourceCode.getCommentsInside(node).length > 0) { - return; - } - - context.report({ - node, - messageId: "unexpected", - data: { type: "block" }, - suggest: [ - { - messageId: "suggestComment", - data: { type: "block" }, - fix(fixer) { - const range = [node.range[0] + 1, node.range[1] - 1]; - - return fixer.replaceTextRange(range, " /* empty */ "); - } - } - ] - }); - }, - - SwitchStatement(node) { - - if (typeof node.cases === "undefined" || node.cases.length === 0) { - context.report({ node, messageId: "unexpected", data: { type: "switch" } }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eq-null.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eq-null.js deleted file mode 100644 index 9252907b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eq-null.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @fileoverview Rule to flag comparisons to null without a type-checking - * operator. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `null` comparisons without type-checking operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-eq-null" - }, - - schema: [], - - messages: { - unexpected: "Use '===' to compare with null." - } - }, - - create(context) { - - return { - - BinaryExpression(node) { - const badOperator = node.operator === "==" || node.operator === "!="; - - if (node.right.type === "Literal" && node.right.raw === "null" && badOperator || - node.left.type === "Literal" && node.left.raw === "null" && badOperator) { - context.report({ node, messageId: "unexpected" }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eval.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eval.js deleted file mode 100644 index bb35d4e0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-eval.js +++ /dev/null @@ -1,287 +0,0 @@ -/** - * @fileoverview Rule to flag use of eval() statement - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const candidatesOfGlobalObject = Object.freeze([ - "global", - "window", - "globalThis" -]); - -/** - * Checks a given node is a MemberExpression node which has the specified name's - * property. - * @param {ASTNode} node A node to check. - * @param {string} name A name to check. - * @returns {boolean} `true` if the node is a MemberExpression node which has - * the specified name's property - */ -function isMember(node, name) { - return astUtils.isSpecificMemberAccess(node, null, name); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allowIndirect: false - }], - - docs: { - description: "Disallow the use of `eval()`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-eval" - }, - - schema: [ - { - type: "object", - properties: { - allowIndirect: { type: "boolean" } - }, - additionalProperties: false - } - ], - - messages: { - unexpected: "eval can be harmful." - } - }, - - create(context) { - const [{ allowIndirect }] = context.options; - const sourceCode = context.sourceCode; - let funcInfo = null; - - /** - * Pushes a `this` scope (non-arrow function, class static block, or class field initializer) information to the stack. - * Top-level scopes are handled separately. - * - * This is used in order to check whether or not `this` binding is a - * reference to the global object. - * @param {ASTNode} node A node of the scope. - * For functions, this is one of FunctionDeclaration, FunctionExpression. - * For class static blocks, this is StaticBlock. - * For class field initializers, this can be any node that is PropertyDefinition#value. - * @returns {void} - */ - function enterThisScope(node) { - const strict = sourceCode.getScope(node).isStrict; - - funcInfo = { - upper: funcInfo, - node, - strict, - isTopLevelOfScript: false, - defaultThis: false, - initialized: strict - }; - } - - /** - * Pops a variable scope from the stack. - * @returns {void} - */ - function exitThisScope() { - funcInfo = funcInfo.upper; - } - - /** - * Reports a given node. - * - * `node` is `Identifier` or `MemberExpression`. - * The parent of `node` might be `CallExpression`. - * - * The location of the report is always `eval` `Identifier` (or possibly - * `Literal`). The type of the report is `CallExpression` if the parent is - * `CallExpression`. Otherwise, it's the given node type. - * @param {ASTNode} node A node to report. - * @returns {void} - */ - function report(node) { - const parent = node.parent; - const locationNode = node.type === "MemberExpression" - ? node.property - : node; - - const reportNode = parent.type === "CallExpression" && parent.callee === node - ? parent - : node; - - context.report({ - node: reportNode, - loc: locationNode.loc, - messageId: "unexpected" - }); - } - - /** - * Reports accesses of `eval` via the global object. - * @param {eslint-scope.Scope} globalScope The global scope. - * @returns {void} - */ - function reportAccessingEvalViaGlobalObject(globalScope) { - for (let i = 0; i < candidatesOfGlobalObject.length; ++i) { - const name = candidatesOfGlobalObject[i]; - const variable = astUtils.getVariableByName(globalScope, name); - - if (!variable) { - continue; - } - - const references = variable.references; - - for (let j = 0; j < references.length; ++j) { - const identifier = references[j].identifier; - let node = identifier.parent; - - // To detect code like `window.window.eval`. - while (isMember(node, name)) { - node = node.parent; - } - - // Reports. - if (isMember(node, "eval")) { - report(node); - } - } - } - } - - /** - * Reports all accesses of `eval` (excludes direct calls to eval). - * @param {eslint-scope.Scope} globalScope The global scope. - * @returns {void} - */ - function reportAccessingEval(globalScope) { - const variable = astUtils.getVariableByName(globalScope, "eval"); - - if (!variable) { - return; - } - - const references = variable.references; - - for (let i = 0; i < references.length; ++i) { - const reference = references[i]; - const id = reference.identifier; - - if (id.name === "eval" && !astUtils.isCallee(id)) { - - // Is accessing to eval (excludes direct calls to eval) - report(id); - } - } - } - - if (allowIndirect) { - - // Checks only direct calls to eval. It's simple! - return { - "CallExpression:exit"(node) { - const callee = node.callee; - - /* - * Optional call (`eval?.("code")`) is not direct eval. - * The direct eval is only step 6.a.vi of https://tc39.es/ecma262/#sec-function-calls-runtime-semantics-evaluation - * But the optional call is https://tc39.es/ecma262/#sec-optional-chaining-chain-evaluation - */ - if (!node.optional && astUtils.isSpecificId(callee, "eval")) { - report(callee); - } - } - }; - } - - return { - "CallExpression:exit"(node) { - const callee = node.callee; - - if (astUtils.isSpecificId(callee, "eval")) { - report(callee); - } - }, - - Program(node) { - const scope = sourceCode.getScope(node), - features = context.parserOptions.ecmaFeatures || {}, - strict = - scope.isStrict || - node.sourceType === "module" || - (features.globalReturn && scope.childScopes[0].isStrict), - isTopLevelOfScript = node.sourceType !== "module" && !features.globalReturn; - - funcInfo = { - upper: null, - node, - strict, - isTopLevelOfScript, - defaultThis: true, - initialized: true - }; - }, - - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - - exitThisScope(); - reportAccessingEval(globalScope); - reportAccessingEvalViaGlobalObject(globalScope); - }, - - FunctionDeclaration: enterThisScope, - "FunctionDeclaration:exit": exitThisScope, - FunctionExpression: enterThisScope, - "FunctionExpression:exit": exitThisScope, - "PropertyDefinition > *.value": enterThisScope, - "PropertyDefinition > *.value:exit": exitThisScope, - StaticBlock: enterThisScope, - "StaticBlock:exit": exitThisScope, - - ThisExpression(node) { - if (!isMember(node.parent, "eval")) { - return; - } - - /* - * `this.eval` is found. - * Checks whether or not the value of `this` is the global object. - */ - if (!funcInfo.initialized) { - funcInfo.initialized = true; - funcInfo.defaultThis = astUtils.isDefaultThisBinding( - funcInfo.node, - sourceCode - ); - } - - // `this` at the top level of scripts always refers to the global object - if (funcInfo.isTopLevelOfScript || (!funcInfo.strict && funcInfo.defaultThis)) { - - // `this.eval` is possible built-in `eval`. - report(node.parent); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ex-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ex-assign.js deleted file mode 100644 index d0e9feba..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ex-assign.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @fileoverview Rule to flag assignment of the exception parameter - * @author Stephen Murray - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow reassigning exceptions in `catch` clauses", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-ex-assign" - }, - - schema: [], - - messages: { - unexpected: "Do not assign to the exception parameter." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Finds and reports references that are non initializer and writable. - * @param {Variable} variable A variable to check. - * @returns {void} - */ - function checkVariable(variable) { - astUtils.getModifyingReferences(variable.references).forEach(reference => { - context.report({ node: reference.identifier, messageId: "unexpected" }); - }); - } - - return { - CatchClause(node) { - sourceCode.getDeclaredVariables(node).forEach(checkVariable); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extend-native.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extend-native.js deleted file mode 100644 index 7164c091..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extend-native.js +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @fileoverview Rule to flag adding properties to native object's prototypes. - * @author David Nelson - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ exceptions: [] }], - - docs: { - description: "Disallow extending native types", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-extend-native" - }, - - schema: [ - { - type: "object", - properties: { - exceptions: { - type: "array", - items: { - type: "string" - }, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - unexpected: "{{builtin}} prototype is read only, properties should not be added." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const exceptions = new Set(context.options[0].exceptions); - const modifiedBuiltins = new Set( - Object.keys(astUtils.ECMASCRIPT_GLOBALS) - .filter(builtin => builtin[0].toUpperCase() === builtin[0]) - .filter(builtin => !exceptions.has(builtin)) - ); - - /** - * Reports a lint error for the given node. - * @param {ASTNode} node The node to report. - * @param {string} builtin The name of the native builtin being extended. - * @returns {void} - */ - function reportNode(node, builtin) { - context.report({ - node, - messageId: "unexpected", - data: { - builtin - } - }); - } - - /** - * Check to see if the `prototype` property of the given object - * identifier node is being accessed. - * @param {ASTNode} identifierNode The Identifier representing the object - * to check. - * @returns {boolean} True if the identifier is the object of a - * MemberExpression and its `prototype` property is being accessed, - * false otherwise. - */ - function isPrototypePropertyAccessed(identifierNode) { - return Boolean( - identifierNode && - identifierNode.parent && - identifierNode.parent.type === "MemberExpression" && - identifierNode.parent.object === identifierNode && - astUtils.getStaticPropertyName(identifierNode.parent) === "prototype" - ); - } - - /** - * Check if it's an assignment to the property of the given node. - * Example: `*.prop = 0` // the `*` is the given node. - * @param {ASTNode} node The node to check. - * @returns {boolean} True if an assignment to the property of the node. - */ - function isAssigningToPropertyOf(node) { - return ( - node.parent.type === "MemberExpression" && - node.parent.object === node && - node.parent.parent.type === "AssignmentExpression" && - node.parent.parent.left === node.parent - ); - } - - /** - * Checks if the given node is at the first argument of the method call of `Object.defineProperty()` or `Object.defineProperties()`. - * @param {ASTNode} node The node to check. - * @returns {boolean} True if the node is at the first argument of the method call of `Object.defineProperty()` or `Object.defineProperties()`. - */ - function isInDefinePropertyCall(node) { - return ( - node.parent.type === "CallExpression" && - node.parent.arguments[0] === node && - astUtils.isSpecificMemberAccess(node.parent.callee, "Object", /^definePropert(?:y|ies)$/u) - ); - } - - /** - * Check to see if object prototype access is part of a prototype - * extension. There are three ways a prototype can be extended: - * 1. Assignment to prototype property (Object.prototype.foo = 1) - * 2. Object.defineProperty()/Object.defineProperties() on a prototype - * If prototype extension is detected, report the AssignmentExpression - * or CallExpression node. - * @param {ASTNode} identifierNode The Identifier representing the object - * which prototype is being accessed and possibly extended. - * @returns {void} - */ - function checkAndReportPrototypeExtension(identifierNode) { - if (!isPrototypePropertyAccessed(identifierNode)) { - return; // This is not `*.prototype` access. - } - - /* - * `identifierNode.parent` is a MemberExpression `*.prototype`. - * If it's an optional member access, it may be wrapped by a `ChainExpression` node. - */ - const prototypeNode = - identifierNode.parent.parent.type === "ChainExpression" - ? identifierNode.parent.parent - : identifierNode.parent; - - if (isAssigningToPropertyOf(prototypeNode)) { - - // `*.prototype` -> MemberExpression -> AssignmentExpression - reportNode(prototypeNode.parent.parent, identifierNode.name); - } else if (isInDefinePropertyCall(prototypeNode)) { - - // `*.prototype` -> CallExpression - reportNode(prototypeNode.parent, identifierNode.name); - } - } - - return { - - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - - modifiedBuiltins.forEach(builtin => { - const builtinVar = globalScope.set.get(builtin); - - if (builtinVar && builtinVar.references) { - builtinVar.references - .map(ref => ref.identifier) - .forEach(checkAndReportPrototypeExtension); - } - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-bind.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-bind.js deleted file mode 100644 index e1e72b0c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-bind.js +++ /dev/null @@ -1,213 +0,0 @@ -/** - * @fileoverview Rule to flag unnecessary bind calls - * @author Bence Dányi - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const SIDE_EFFECT_FREE_NODE_TYPES = new Set(["Literal", "Identifier", "ThisExpression", "FunctionExpression"]); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary calls to `.bind()`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-extra-bind" - }, - - schema: [], - fixable: "code", - - messages: { - unexpected: "The function binding is unnecessary." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - let scopeInfo = null; - - /** - * Checks if a node is free of side effects. - * - * This check is stricter than it needs to be, in order to keep the implementation simple. - * @param {ASTNode} node A node to check. - * @returns {boolean} True if the node is known to be side-effect free, false otherwise. - */ - function isSideEffectFree(node) { - return SIDE_EFFECT_FREE_NODE_TYPES.has(node.type); - } - - /** - * Reports a given function node. - * @param {ASTNode} node A node to report. This is a FunctionExpression or - * an ArrowFunctionExpression. - * @returns {void} - */ - function report(node) { - const memberNode = node.parent; - const callNode = memberNode.parent.type === "ChainExpression" - ? memberNode.parent.parent - : memberNode.parent; - - context.report({ - node: callNode, - messageId: "unexpected", - loc: memberNode.property.loc, - - fix(fixer) { - if (!isSideEffectFree(callNode.arguments[0])) { - return null; - } - - /* - * The list of the first/last token pair of a removal range. - * This is two parts because closing parentheses may exist between the method name and arguments. - * E.g. `(function(){}.bind ) (obj)` - * ^^^^^ ^^^^^ < removal ranges - * E.g. `(function(){}?.['bind'] ) ?.(obj)` - * ^^^^^^^^^^ ^^^^^^^ < removal ranges - */ - const tokenPairs = [ - [ - - // `.`, `?.`, or `[` token. - sourceCode.getTokenAfter( - memberNode.object, - astUtils.isNotClosingParenToken - ), - - // property name or `]` token. - sourceCode.getLastToken(memberNode) - ], - [ - - // `?.` or `(` token of arguments. - sourceCode.getTokenAfter( - memberNode, - astUtils.isNotClosingParenToken - ), - - // `)` token of arguments. - sourceCode.getLastToken(callNode) - ] - ]; - const firstTokenToRemove = tokenPairs[0][0]; - const lastTokenToRemove = tokenPairs[1][1]; - - if (sourceCode.commentsExistBetween(firstTokenToRemove, lastTokenToRemove)) { - return null; - } - - return tokenPairs.map(([start, end]) => - fixer.removeRange([start.range[0], end.range[1]])); - } - }); - } - - /** - * Checks whether or not a given function node is the callee of `.bind()` - * method. - * - * e.g. `(function() {}.bind(foo))` - * @param {ASTNode} node A node to report. This is a FunctionExpression or - * an ArrowFunctionExpression. - * @returns {boolean} `true` if the node is the callee of `.bind()` method. - */ - function isCalleeOfBindMethod(node) { - if (!astUtils.isSpecificMemberAccess(node.parent, null, "bind")) { - return false; - } - - // The node of `*.bind` member access. - const bindNode = node.parent.parent.type === "ChainExpression" - ? node.parent.parent - : node.parent; - - return ( - bindNode.parent.type === "CallExpression" && - bindNode.parent.callee === bindNode && - bindNode.parent.arguments.length === 1 && - bindNode.parent.arguments[0].type !== "SpreadElement" - ); - } - - /** - * Adds a scope information object to the stack. - * @param {ASTNode} node A node to add. This node is a FunctionExpression - * or a FunctionDeclaration node. - * @returns {void} - */ - function enterFunction(node) { - scopeInfo = { - isBound: isCalleeOfBindMethod(node), - thisFound: false, - upper: scopeInfo - }; - } - - /** - * Removes the scope information object from the top of the stack. - * At the same time, this reports the function node if the function has - * `.bind()` and the `this` keywords found. - * @param {ASTNode} node A node to remove. This node is a - * FunctionExpression or a FunctionDeclaration node. - * @returns {void} - */ - function exitFunction(node) { - if (scopeInfo.isBound && !scopeInfo.thisFound) { - report(node); - } - - scopeInfo = scopeInfo.upper; - } - - /** - * Reports a given arrow function if the function is callee of `.bind()` - * method. - * @param {ASTNode} node A node to report. This node is an - * ArrowFunctionExpression. - * @returns {void} - */ - function exitArrowFunction(node) { - if (isCalleeOfBindMethod(node)) { - report(node); - } - } - - /** - * Set the mark as the `this` keyword was found in this scope. - * @returns {void} - */ - function markAsThisFound() { - if (scopeInfo) { - scopeInfo.thisFound = true; - } - } - - return { - "ArrowFunctionExpression:exit": exitArrowFunction, - FunctionDeclaration: enterFunction, - "FunctionDeclaration:exit": exitFunction, - FunctionExpression: enterFunction, - "FunctionExpression:exit": exitFunction, - ThisExpression: markAsThisFound - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-boolean-cast.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-boolean-cast.js deleted file mode 100644 index fc17e995..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +++ /dev/null @@ -1,369 +0,0 @@ -/** - * @fileoverview Rule to flag unnecessary double negation in Boolean contexts - * @author Brandon Mills - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const eslintUtils = require("@eslint-community/eslint-utils"); - -const precedence = astUtils.getPrecedence; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{}], - - docs: { - description: "Disallow unnecessary boolean casts", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - }, - - schema: [{ - anyOf: [ - { - type: "object", - properties: { - enforceForInnerExpressions: { - type: "boolean" - } - }, - additionalProperties: false - }, - - // deprecated - { - type: "object", - properties: { - enforceForLogicalOperands: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - }], - fixable: "code", - - messages: { - unexpectedCall: "Redundant Boolean call.", - unexpectedNegation: "Redundant double negation." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const [{ enforceForLogicalOperands, enforceForInnerExpressions }] = context.options; - - // Node types which have a test which will coerce values to booleans. - const BOOLEAN_NODE_TYPES = new Set([ - "IfStatement", - "DoWhileStatement", - "WhileStatement", - "ConditionalExpression", - "ForStatement" - ]); - - /** - * Check if a node is a Boolean function or constructor. - * @param {ASTNode} node the node - * @returns {boolean} If the node is Boolean function or constructor - */ - function isBooleanFunctionOrConstructorCall(node) { - - // Boolean() and new Boolean() - return (node.type === "CallExpression" || node.type === "NewExpression") && - node.callee.type === "Identifier" && - node.callee.name === "Boolean"; - } - - /** - * Check if a node is in a context where its value would be coerced to a boolean at runtime. - * @param {ASTNode} node The node - * @returns {boolean} If it is in a boolean context - */ - function isInBooleanContext(node) { - return ( - (isBooleanFunctionOrConstructorCall(node.parent) && - node === node.parent.arguments[0]) || - - (BOOLEAN_NODE_TYPES.has(node.parent.type) && - node === node.parent.test) || - - // ! - (node.parent.type === "UnaryExpression" && - node.parent.operator === "!") - ); - } - - /** - * Checks whether the node is a context that should report an error - * Acts recursively if it is in a logical context - * @param {ASTNode} node the node - * @returns {boolean} If the node is in one of the flagged contexts - */ - function isInFlaggedContext(node) { - if (node.parent.type === "ChainExpression") { - return isInFlaggedContext(node.parent); - } - - /* - * legacy behavior - enforceForLogicalOperands will only recurse on - * logical expressions, not on other contexts. - * enforceForInnerExpressions will recurse on logical expressions - * as well as the other recursive syntaxes. - */ - - if (enforceForLogicalOperands || enforceForInnerExpressions) { - if (node.parent.type === "LogicalExpression") { - if (node.parent.operator === "||" || node.parent.operator === "&&") { - return isInFlaggedContext(node.parent); - } - - // Check the right hand side of a `??` operator. - if (enforceForInnerExpressions && - node.parent.operator === "??" && - node.parent.right === node - ) { - return isInFlaggedContext(node.parent); - } - } - } - - if (enforceForInnerExpressions) { - if ( - node.parent.type === "ConditionalExpression" && - (node.parent.consequent === node || node.parent.alternate === node) - ) { - return isInFlaggedContext(node.parent); - } - - /* - * Check last expression only in a sequence, i.e. if ((1, 2, Boolean(3))) {}, since - * the others don't affect the result of the expression. - */ - if ( - node.parent.type === "SequenceExpression" && - node.parent.expressions.at(-1) === node - ) { - return isInFlaggedContext(node.parent); - } - - } - - return isInBooleanContext(node); - } - - - /** - * Check if a node has comments inside. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if it has comments inside. - */ - function hasCommentsInside(node) { - return Boolean(sourceCode.getCommentsInside(node).length); - } - - /** - * Checks if the given node is wrapped in grouping parentheses. Parentheses for constructs such as if() don't count. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is parenthesized. - * @private - */ - function isParenthesized(node) { - return eslintUtils.isParenthesized(1, node, sourceCode); - } - - /** - * Determines whether the given node needs to be parenthesized when replacing the previous node. - * It assumes that `previousNode` is the node to be reported by this rule, so it has a limited list - * of possible parent node types. By the same assumption, the node's role in a particular parent is already known. - * @param {ASTNode} previousNode Previous node. - * @param {ASTNode} node The node to check. - * @throws {Error} (Unreachable.) - * @returns {boolean} `true` if the node needs to be parenthesized. - */ - function needsParens(previousNode, node) { - if (previousNode.parent.type === "ChainExpression") { - return needsParens(previousNode.parent, node); - } - - if (isParenthesized(previousNode)) { - - // parentheses around the previous node will stay, so there is no need for an additional pair - return false; - } - - // parent of the previous node will become parent of the replacement node - const parent = previousNode.parent; - - switch (parent.type) { - case "CallExpression": - case "NewExpression": - return node.type === "SequenceExpression"; - case "IfStatement": - case "DoWhileStatement": - case "WhileStatement": - case "ForStatement": - case "SequenceExpression": - return false; - case "ConditionalExpression": - if (previousNode === parent.test) { - return precedence(node) <= precedence(parent); - } - if (previousNode === parent.consequent || previousNode === parent.alternate) { - return precedence(node) < precedence({ type: "AssignmentExpression" }); - } - - /* c8 ignore next */ - throw new Error("Ternary child must be test, consequent, or alternate."); - case "UnaryExpression": - return precedence(node) < precedence(parent); - case "LogicalExpression": - if (astUtils.isMixedLogicalAndCoalesceExpressions(node, parent)) { - return true; - } - if (previousNode === parent.left) { - return precedence(node) < precedence(parent); - } - return precedence(node) <= precedence(parent); - - /* c8 ignore next */ - default: - throw new Error(`Unexpected parent type: ${parent.type}`); - } - } - - return { - UnaryExpression(node) { - const parent = node.parent; - - - // Exit early if it's guaranteed not to match - if (node.operator !== "!" || - parent.type !== "UnaryExpression" || - parent.operator !== "!") { - return; - } - - - if (isInFlaggedContext(parent)) { - context.report({ - node: parent, - messageId: "unexpectedNegation", - fix(fixer) { - if (hasCommentsInside(parent)) { - return null; - } - - if (needsParens(parent, node.argument)) { - return fixer.replaceText(parent, `(${sourceCode.getText(node.argument)})`); - } - - let prefix = ""; - const tokenBefore = sourceCode.getTokenBefore(parent); - const firstReplacementToken = sourceCode.getFirstToken(node.argument); - - if ( - tokenBefore && - tokenBefore.range[1] === parent.range[0] && - !astUtils.canTokensBeAdjacent(tokenBefore, firstReplacementToken) - ) { - prefix = " "; - } - - return fixer.replaceText(parent, prefix + sourceCode.getText(node.argument)); - } - }); - } - }, - - CallExpression(node) { - if (node.callee.type !== "Identifier" || node.callee.name !== "Boolean") { - return; - } - - if (isInFlaggedContext(node)) { - context.report({ - node, - messageId: "unexpectedCall", - fix(fixer) { - const parent = node.parent; - - if (node.arguments.length === 0) { - if (parent.type === "UnaryExpression" && parent.operator === "!") { - - /* - * !Boolean() -> true - */ - - if (hasCommentsInside(parent)) { - return null; - } - - const replacement = "true"; - let prefix = ""; - const tokenBefore = sourceCode.getTokenBefore(parent); - - if ( - tokenBefore && - tokenBefore.range[1] === parent.range[0] && - !astUtils.canTokensBeAdjacent(tokenBefore, replacement) - ) { - prefix = " "; - } - - return fixer.replaceText(parent, prefix + replacement); - } - - /* - * Boolean() -> false - */ - - if (hasCommentsInside(node)) { - return null; - } - - return fixer.replaceText(node, "false"); - } - - if (node.arguments.length === 1) { - const argument = node.arguments[0]; - - if (argument.type === "SpreadElement" || hasCommentsInside(node)) { - return null; - } - - /* - * Boolean(expression) -> expression - */ - - if (needsParens(node, argument)) { - return fixer.replaceText(node, `(${sourceCode.getText(argument)})`); - } - - return fixer.replaceText(node, sourceCode.getText(argument)); - } - - // two or more arguments - return null; - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-label.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-label.js deleted file mode 100644 index 45ff441d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-label.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @fileoverview Rule to disallow unnecessary labels - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary labels", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-extra-label" - }, - - schema: [], - fixable: "code", - - messages: { - unexpected: "This label '{{name}}' is unnecessary." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - let scopeInfo = null; - - /** - * Creates a new scope with a breakable statement. - * @param {ASTNode} node A node to create. This is a BreakableStatement. - * @returns {void} - */ - function enterBreakableStatement(node) { - scopeInfo = { - label: node.parent.type === "LabeledStatement" ? node.parent.label : null, - breakable: true, - upper: scopeInfo - }; - } - - /** - * Removes the top scope of the stack. - * @returns {void} - */ - function exitBreakableStatement() { - scopeInfo = scopeInfo.upper; - } - - /** - * Creates a new scope with a labeled statement. - * - * This ignores it if the body is a breakable statement. - * In this case it's handled in the `enterBreakableStatement` function. - * @param {ASTNode} node A node to create. This is a LabeledStatement. - * @returns {void} - */ - function enterLabeledStatement(node) { - if (!astUtils.isBreakableStatement(node.body)) { - scopeInfo = { - label: node.label, - breakable: false, - upper: scopeInfo - }; - } - } - - /** - * Removes the top scope of the stack. - * - * This ignores it if the body is a breakable statement. - * In this case it's handled in the `exitBreakableStatement` function. - * @param {ASTNode} node A node. This is a LabeledStatement. - * @returns {void} - */ - function exitLabeledStatement(node) { - if (!astUtils.isBreakableStatement(node.body)) { - scopeInfo = scopeInfo.upper; - } - } - - /** - * Reports a given control node if it's unnecessary. - * @param {ASTNode} node A node. This is a BreakStatement or a - * ContinueStatement. - * @returns {void} - */ - function reportIfUnnecessary(node) { - if (!node.label) { - return; - } - - const labelNode = node.label; - - for (let info = scopeInfo; info !== null; info = info.upper) { - if (info.breakable || info.label && info.label.name === labelNode.name) { - if (info.breakable && info.label && info.label.name === labelNode.name) { - context.report({ - node: labelNode, - messageId: "unexpected", - data: labelNode, - fix(fixer) { - const breakOrContinueToken = sourceCode.getFirstToken(node); - - if (sourceCode.commentsExistBetween(breakOrContinueToken, labelNode)) { - return null; - } - - return fixer.removeRange([breakOrContinueToken.range[1], labelNode.range[1]]); - } - }); - } - return; - } - } - } - - return { - WhileStatement: enterBreakableStatement, - "WhileStatement:exit": exitBreakableStatement, - DoWhileStatement: enterBreakableStatement, - "DoWhileStatement:exit": exitBreakableStatement, - ForStatement: enterBreakableStatement, - "ForStatement:exit": exitBreakableStatement, - ForInStatement: enterBreakableStatement, - "ForInStatement:exit": exitBreakableStatement, - ForOfStatement: enterBreakableStatement, - "ForOfStatement:exit": exitBreakableStatement, - SwitchStatement: enterBreakableStatement, - "SwitchStatement:exit": exitBreakableStatement, - LabeledStatement: enterLabeledStatement, - "LabeledStatement:exit": exitLabeledStatement, - BreakStatement: reportIfUnnecessary, - ContinueStatement: reportIfUnnecessary - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-parens.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-parens.js deleted file mode 100644 index 75c082ba..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-parens.js +++ /dev/null @@ -1,1322 +0,0 @@ -/** - * @fileoverview Disallow parenthesising higher precedence subexpressions. - * @author Michael Ficarra - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const { isParenthesized: isParenthesizedRaw } = require("@eslint-community/eslint-utils"); -const astUtils = require("./utils/ast-utils.js"); - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow unnecessary parentheses", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-extra-parens" - }, - - fixable: "code", - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["functions"] - } - ], - minItems: 0, - maxItems: 1 - }, - { - type: "array", - items: [ - { - enum: ["all"] - }, - { - type: "object", - properties: { - conditionalAssign: { type: "boolean" }, - ternaryOperandBinaryExpressions: { type: "boolean" }, - nestedBinaryExpressions: { type: "boolean" }, - returnAssign: { type: "boolean" }, - ignoreJSX: { enum: ["none", "all", "single-line", "multi-line"] }, - enforceForArrowConditionals: { type: "boolean" }, - enforceForSequenceExpressions: { type: "boolean" }, - enforceForNewInMemberExpressions: { type: "boolean" }, - enforceForFunctionPrototypeMethods: { type: "boolean" }, - allowParensAfterCommentPattern: { type: "string" } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - - messages: { - unexpected: "Unnecessary parentheses around expression." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - const tokensToIgnore = new WeakSet(); - const precedence = astUtils.getPrecedence; - const ALL_NODES = context.options[0] !== "functions"; - const EXCEPT_COND_ASSIGN = ALL_NODES && context.options[1] && context.options[1].conditionalAssign === false; - const EXCEPT_COND_TERNARY = ALL_NODES && context.options[1] && context.options[1].ternaryOperandBinaryExpressions === false; - const NESTED_BINARY = ALL_NODES && context.options[1] && context.options[1].nestedBinaryExpressions === false; - const EXCEPT_RETURN_ASSIGN = ALL_NODES && context.options[1] && context.options[1].returnAssign === false; - const IGNORE_JSX = ALL_NODES && context.options[1] && context.options[1].ignoreJSX; - const IGNORE_ARROW_CONDITIONALS = ALL_NODES && context.options[1] && - context.options[1].enforceForArrowConditionals === false; - const IGNORE_SEQUENCE_EXPRESSIONS = ALL_NODES && context.options[1] && - context.options[1].enforceForSequenceExpressions === false; - const IGNORE_NEW_IN_MEMBER_EXPR = ALL_NODES && context.options[1] && - context.options[1].enforceForNewInMemberExpressions === false; - const IGNORE_FUNCTION_PROTOTYPE_METHODS = ALL_NODES && context.options[1] && - context.options[1].enforceForFunctionPrototypeMethods === false; - const ALLOW_PARENS_AFTER_COMMENT_PATTERN = ALL_NODES && context.options[1] && context.options[1].allowParensAfterCommentPattern; - - const PRECEDENCE_OF_ASSIGNMENT_EXPR = precedence({ type: "AssignmentExpression" }); - const PRECEDENCE_OF_UPDATE_EXPR = precedence({ type: "UpdateExpression" }); - - let reportsBuffer; - - /** - * Determines whether the given node is a `call` or `apply` method call, invoked directly on a `FunctionExpression` node. - * Example: function(){}.call() - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is an immediate `call` or `apply` method call. - * @private - */ - function isImmediateFunctionPrototypeMethodCall(node) { - const callNode = astUtils.skipChainExpression(node); - - if (callNode.type !== "CallExpression") { - return false; - } - const callee = astUtils.skipChainExpression(callNode.callee); - - return ( - callee.type === "MemberExpression" && - callee.object.type === "FunctionExpression" && - ["call", "apply"].includes(astUtils.getStaticPropertyName(callee)) - ); - } - - /** - * Determines if this rule should be enforced for a node given the current configuration. - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the rule should be enforced for this node. - * @private - */ - function ruleApplies(node) { - if (node.type === "JSXElement" || node.type === "JSXFragment") { - const isSingleLine = node.loc.start.line === node.loc.end.line; - - switch (IGNORE_JSX) { - - // Exclude this JSX element from linting - case "all": - return false; - - // Exclude this JSX element if it is multi-line element - case "multi-line": - return isSingleLine; - - // Exclude this JSX element if it is single-line element - case "single-line": - return !isSingleLine; - - // Nothing special to be done for JSX elements - case "none": - break; - - // no default - } - } - - if (node.type === "SequenceExpression" && IGNORE_SEQUENCE_EXPRESSIONS) { - return false; - } - - if (isImmediateFunctionPrototypeMethodCall(node) && IGNORE_FUNCTION_PROTOTYPE_METHODS) { - return false; - } - - return ALL_NODES || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression"; - } - - /** - * Determines if a node is surrounded by parentheses. - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is parenthesised. - * @private - */ - function isParenthesised(node) { - return isParenthesizedRaw(1, node, sourceCode); - } - - /** - * Determines if a node is surrounded by parentheses twice. - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is doubly parenthesised. - * @private - */ - function isParenthesisedTwice(node) { - return isParenthesizedRaw(2, node, sourceCode); - } - - /** - * Determines if a node is surrounded by (potentially) invalid parentheses. - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is incorrectly parenthesised. - * @private - */ - function hasExcessParens(node) { - return ruleApplies(node) && isParenthesised(node); - } - - /** - * Determines if a node that is expected to be parenthesised is surrounded by - * (potentially) invalid extra parentheses. - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is has an unexpected extra pair of parentheses. - * @private - */ - function hasDoubleExcessParens(node) { - return ruleApplies(node) && isParenthesisedTwice(node); - } - - /** - * Determines if a node that is expected to be parenthesised is surrounded by - * (potentially) invalid extra parentheses with considering precedence level of the node. - * If the preference level of the node is not higher or equal to precedence lower limit, it also checks - * whether the node is surrounded by parentheses twice or not. - * @param {ASTNode} node The node to be checked. - * @param {number} precedenceLowerLimit The lower limit of precedence. - * @returns {boolean} True if the node is has an unexpected extra pair of parentheses. - * @private - */ - function hasExcessParensWithPrecedence(node, precedenceLowerLimit) { - if (ruleApplies(node) && isParenthesised(node)) { - if ( - precedence(node) >= precedenceLowerLimit || - isParenthesisedTwice(node) - ) { - return true; - } - } - return false; - } - - /** - * Determines if a node test expression is allowed to have a parenthesised assignment - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the assignment can be parenthesised. - * @private - */ - function isCondAssignException(node) { - return EXCEPT_COND_ASSIGN && node.test.type === "AssignmentExpression"; - } - - /** - * Determines if a node is in a return statement - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is in a return statement. - * @private - */ - function isInReturnStatement(node) { - for (let currentNode = node; currentNode; currentNode = currentNode.parent) { - if ( - currentNode.type === "ReturnStatement" || - (currentNode.type === "ArrowFunctionExpression" && currentNode.body.type !== "BlockStatement") - ) { - return true; - } - } - - return false; - } - - /** - * Determines if a constructor function is newed-up with parens - * @param {ASTNode} newExpression The NewExpression node to be checked. - * @returns {boolean} True if the constructor is called with parens. - * @private - */ - function isNewExpressionWithParens(newExpression) { - const lastToken = sourceCode.getLastToken(newExpression); - const penultimateToken = sourceCode.getTokenBefore(lastToken); - - return newExpression.arguments.length > 0 || - ( - - // The expression should end with its own parens, e.g., new new foo() is not a new expression with parens - astUtils.isOpeningParenToken(penultimateToken) && - astUtils.isClosingParenToken(lastToken) && - newExpression.callee.range[1] < newExpression.range[1] - ); - } - - /** - * Determines if a node is or contains an assignment expression - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is or contains an assignment expression. - * @private - */ - function containsAssignment(node) { - if (node.type === "AssignmentExpression") { - return true; - } - if (node.type === "ConditionalExpression" && - (node.consequent.type === "AssignmentExpression" || node.alternate.type === "AssignmentExpression")) { - return true; - } - if ((node.left && node.left.type === "AssignmentExpression") || - (node.right && node.right.type === "AssignmentExpression")) { - return true; - } - - return false; - } - - /** - * Determines if a node is contained by or is itself a return statement and is allowed to have a parenthesised assignment - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the assignment can be parenthesised. - * @private - */ - function isReturnAssignException(node) { - if (!EXCEPT_RETURN_ASSIGN || !isInReturnStatement(node)) { - return false; - } - - if (node.type === "ReturnStatement") { - return node.argument && containsAssignment(node.argument); - } - if (node.type === "ArrowFunctionExpression" && node.body.type !== "BlockStatement") { - return containsAssignment(node.body); - } - return containsAssignment(node); - - } - - /** - * Determines if a node following a [no LineTerminator here] restriction is - * surrounded by (potentially) invalid extra parentheses. - * @param {Token} token The token preceding the [no LineTerminator here] restriction. - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is incorrectly parenthesised. - * @private - */ - function hasExcessParensNoLineTerminator(token, node) { - if (token.loc.end.line === node.loc.start.line) { - return hasExcessParens(node); - } - - return hasDoubleExcessParens(node); - } - - /** - * Determines whether a node should be preceded by an additional space when removing parens - * @param {ASTNode} node node to evaluate; must be surrounded by parentheses - * @returns {boolean} `true` if a space should be inserted before the node - * @private - */ - function requiresLeadingSpace(node) { - const leftParenToken = sourceCode.getTokenBefore(node); - const tokenBeforeLeftParen = sourceCode.getTokenBefore(leftParenToken, { includeComments: true }); - const tokenAfterLeftParen = sourceCode.getTokenAfter(leftParenToken, { includeComments: true }); - - return tokenBeforeLeftParen && - tokenBeforeLeftParen.range[1] === leftParenToken.range[0] && - leftParenToken.range[1] === tokenAfterLeftParen.range[0] && - !astUtils.canTokensBeAdjacent(tokenBeforeLeftParen, tokenAfterLeftParen); - } - - /** - * Determines whether a node should be followed by an additional space when removing parens - * @param {ASTNode} node node to evaluate; must be surrounded by parentheses - * @returns {boolean} `true` if a space should be inserted after the node - * @private - */ - function requiresTrailingSpace(node) { - const nextTwoTokens = sourceCode.getTokensAfter(node, { count: 2 }); - const rightParenToken = nextTwoTokens[0]; - const tokenAfterRightParen = nextTwoTokens[1]; - const tokenBeforeRightParen = sourceCode.getLastToken(node); - - return rightParenToken && tokenAfterRightParen && - !sourceCode.isSpaceBetweenTokens(rightParenToken, tokenAfterRightParen) && - !astUtils.canTokensBeAdjacent(tokenBeforeRightParen, tokenAfterRightParen); - } - - /** - * Determines if a given expression node is an IIFE - * @param {ASTNode} node The node to check - * @returns {boolean} `true` if the given node is an IIFE - */ - function isIIFE(node) { - const maybeCallNode = astUtils.skipChainExpression(node); - - return maybeCallNode.type === "CallExpression" && maybeCallNode.callee.type === "FunctionExpression"; - } - - /** - * Determines if the given node can be the assignment target in destructuring or the LHS of an assignment. - * This is to avoid an autofix that could change behavior because parsers mistakenly allow invalid syntax, - * such as `(a = b) = c` and `[(a = b) = c] = []`. Ideally, this function shouldn't be necessary. - * @param {ASTNode} [node] The node to check - * @returns {boolean} `true` if the given node can be a valid assignment target - */ - function canBeAssignmentTarget(node) { - return node && (node.type === "Identifier" || node.type === "MemberExpression"); - } - - /** - * Checks if a node is fixable. - * A node is fixable if removing a single pair of surrounding parentheses does not turn it - * into a directive after fixing other nodes. - * Almost all nodes are fixable, except if all of the following conditions are met: - * The node is a string Literal - * It has a single pair of parentheses - * It is the only child of an ExpressionStatement - * @param {ASTNode} node The node to evaluate. - * @returns {boolean} Whether or not the node is fixable. - * @private - */ - function isFixable(node) { - - // if it's not a string literal it can be autofixed - if (node.type !== "Literal" || typeof node.value !== "string") { - return true; - } - if (isParenthesisedTwice(node)) { - return true; - } - return !astUtils.isTopLevelExpressionStatement(node.parent); - } - - /** - * Report the node - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function report(node) { - const leftParenToken = sourceCode.getTokenBefore(node); - const rightParenToken = sourceCode.getTokenAfter(node); - - if (!isParenthesisedTwice(node)) { - if (tokensToIgnore.has(sourceCode.getFirstToken(node))) { - return; - } - - if (isIIFE(node) && !isParenthesised(node.callee)) { - return; - } - - if (ALLOW_PARENS_AFTER_COMMENT_PATTERN) { - const commentsBeforeLeftParenToken = sourceCode.getCommentsBefore(leftParenToken); - const totalCommentsBeforeLeftParenTokenCount = commentsBeforeLeftParenToken.length; - const ignorePattern = new RegExp(ALLOW_PARENS_AFTER_COMMENT_PATTERN, "u"); - - if ( - totalCommentsBeforeLeftParenTokenCount > 0 && - ignorePattern.test(commentsBeforeLeftParenToken[totalCommentsBeforeLeftParenTokenCount - 1].value) - ) { - return; - } - } - } - - /** - * Finishes reporting - * @returns {void} - * @private - */ - function finishReport() { - context.report({ - node, - loc: leftParenToken.loc, - messageId: "unexpected", - fix: isFixable(node) - ? fixer => { - const parenthesizedSource = sourceCode.text.slice(leftParenToken.range[1], rightParenToken.range[0]); - - return fixer.replaceTextRange([ - leftParenToken.range[0], - rightParenToken.range[1] - ], (requiresLeadingSpace(node) ? " " : "") + parenthesizedSource + (requiresTrailingSpace(node) ? " " : "")); - } - : null - }); - } - - if (reportsBuffer) { - reportsBuffer.reports.push({ node, finishReport }); - return; - } - - finishReport(); - } - - /** - * Evaluate a argument of the node. - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkArgumentWithPrecedence(node) { - if (hasExcessParensWithPrecedence(node.argument, precedence(node))) { - report(node.argument); - } - } - - /** - * Check if a member expression contains a call expression - * @param {ASTNode} node MemberExpression node to evaluate - * @returns {boolean} true if found, false if not - */ - function doesMemberExpressionContainCallExpression(node) { - let currentNode = node.object; - let currentNodeType = node.object.type; - - while (currentNodeType === "MemberExpression") { - currentNode = currentNode.object; - currentNodeType = currentNode.type; - } - - return currentNodeType === "CallExpression"; - } - - /** - * Evaluate a new call - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkCallNew(node) { - const callee = node.callee; - - if (hasExcessParensWithPrecedence(callee, precedence(node))) { - if ( - hasDoubleExcessParens(callee) || - !( - isIIFE(node) || - - // (new A)(); new (new A)(); - ( - callee.type === "NewExpression" && - !isNewExpressionWithParens(callee) && - !( - node.type === "NewExpression" && - !isNewExpressionWithParens(node) - ) - ) || - - // new (a().b)(); new (a.b().c); - ( - node.type === "NewExpression" && - callee.type === "MemberExpression" && - doesMemberExpressionContainCallExpression(callee) - ) || - - // (a?.b)(); (a?.())(); - ( - !node.optional && - callee.type === "ChainExpression" - ) - ) - ) { - report(node.callee); - } - } - node.arguments - .filter(arg => hasExcessParensWithPrecedence(arg, PRECEDENCE_OF_ASSIGNMENT_EXPR)) - .forEach(report); - } - - /** - * Evaluate binary logicals - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkBinaryLogical(node) { - const prec = precedence(node); - const leftPrecedence = precedence(node.left); - const rightPrecedence = precedence(node.right); - const isExponentiation = node.operator === "**"; - const shouldSkipLeft = NESTED_BINARY && (node.left.type === "BinaryExpression" || node.left.type === "LogicalExpression"); - const shouldSkipRight = NESTED_BINARY && (node.right.type === "BinaryExpression" || node.right.type === "LogicalExpression"); - - if (!shouldSkipLeft && hasExcessParens(node.left)) { - if ( - !(["AwaitExpression", "UnaryExpression"].includes(node.left.type) && isExponentiation) && - !astUtils.isMixedLogicalAndCoalesceExpressions(node.left, node) && - (leftPrecedence > prec || (leftPrecedence === prec && !isExponentiation)) || - isParenthesisedTwice(node.left) - ) { - report(node.left); - } - } - - if (!shouldSkipRight && hasExcessParens(node.right)) { - if ( - !astUtils.isMixedLogicalAndCoalesceExpressions(node.right, node) && - (rightPrecedence > prec || (rightPrecedence === prec && isExponentiation)) || - isParenthesisedTwice(node.right) - ) { - report(node.right); - } - } - } - - /** - * Check the parentheses around the super class of the given class definition. - * @param {ASTNode} node The node of class declarations to check. - * @returns {void} - */ - function checkClass(node) { - if (!node.superClass) { - return; - } - - /* - * If `node.superClass` is a LeftHandSideExpression, parentheses are extra. - * Otherwise, parentheses are needed. - */ - const hasExtraParens = precedence(node.superClass) > PRECEDENCE_OF_UPDATE_EXPR - ? hasExcessParens(node.superClass) - : hasDoubleExcessParens(node.superClass); - - if (hasExtraParens) { - report(node.superClass); - } - } - - /** - * Check the parentheses around the argument of the given spread operator. - * @param {ASTNode} node The node of spread elements/properties to check. - * @returns {void} - */ - function checkSpreadOperator(node) { - if (hasExcessParensWithPrecedence(node.argument, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.argument); - } - } - - /** - * Checks the parentheses for an ExpressionStatement or ExportDefaultDeclaration - * @param {ASTNode} node The ExpressionStatement.expression or ExportDefaultDeclaration.declaration node - * @returns {void} - */ - function checkExpressionOrExportStatement(node) { - const firstToken = isParenthesised(node) ? sourceCode.getTokenBefore(node) : sourceCode.getFirstToken(node); - const secondToken = sourceCode.getTokenAfter(firstToken, astUtils.isNotOpeningParenToken); - const thirdToken = secondToken ? sourceCode.getTokenAfter(secondToken) : null; - const tokenAfterClosingParens = secondToken ? sourceCode.getTokenAfter(secondToken, astUtils.isNotClosingParenToken) : null; - - if ( - astUtils.isOpeningParenToken(firstToken) && - ( - astUtils.isOpeningBraceToken(secondToken) || - secondToken.type === "Keyword" && ( - secondToken.value === "function" || - secondToken.value === "class" || - secondToken.value === "let" && - tokenAfterClosingParens && - ( - astUtils.isOpeningBracketToken(tokenAfterClosingParens) || - tokenAfterClosingParens.type === "Identifier" - ) - ) || - secondToken && secondToken.type === "Identifier" && secondToken.value === "async" && thirdToken && thirdToken.type === "Keyword" && thirdToken.value === "function" - ) - ) { - tokensToIgnore.add(secondToken); - } - - const hasExtraParens = node.parent.type === "ExportDefaultDeclaration" - ? hasExcessParensWithPrecedence(node, PRECEDENCE_OF_ASSIGNMENT_EXPR) - : hasExcessParens(node); - - if (hasExtraParens) { - report(node); - } - } - - /** - * Finds the path from the given node to the specified ancestor. - * @param {ASTNode} node First node in the path. - * @param {ASTNode} ancestor Last node in the path. - * @returns {ASTNode[]} Path, including both nodes. - * @throws {Error} If the given node does not have the specified ancestor. - */ - function pathToAncestor(node, ancestor) { - const path = [node]; - let currentNode = node; - - while (currentNode !== ancestor) { - - currentNode = currentNode.parent; - - /* c8 ignore start */ - if (currentNode === null) { - throw new Error("Nodes are not in the ancestor-descendant relationship."); - }/* c8 ignore stop */ - - path.push(currentNode); - } - - return path; - } - - /** - * Finds the path from the given node to the specified descendant. - * @param {ASTNode} node First node in the path. - * @param {ASTNode} descendant Last node in the path. - * @returns {ASTNode[]} Path, including both nodes. - * @throws {Error} If the given node does not have the specified descendant. - */ - function pathToDescendant(node, descendant) { - return pathToAncestor(descendant, node).reverse(); - } - - /** - * Checks whether the syntax of the given ancestor of an 'in' expression inside a for-loop initializer - * is preventing the 'in' keyword from being interpreted as a part of an ill-formed for-in loop. - * @param {ASTNode} node Ancestor of an 'in' expression. - * @param {ASTNode} child Child of the node, ancestor of the same 'in' expression or the 'in' expression itself. - * @returns {boolean} True if the keyword 'in' would be interpreted as the 'in' operator, without any parenthesis. - */ - function isSafelyEnclosingInExpression(node, child) { - switch (node.type) { - case "ArrayExpression": - case "ArrayPattern": - case "BlockStatement": - case "ObjectExpression": - case "ObjectPattern": - case "TemplateLiteral": - return true; - case "ArrowFunctionExpression": - case "FunctionExpression": - return node.params.includes(child); - case "CallExpression": - case "NewExpression": - return node.arguments.includes(child); - case "MemberExpression": - return node.computed && node.property === child; - case "ConditionalExpression": - return node.consequent === child; - default: - return false; - } - } - - /** - * Starts a new reports buffering. Warnings will be stored in a buffer instead of being reported immediately. - * An additional logic that requires multiple nodes (e.g. a whole subtree) may dismiss some of the stored warnings. - * @returns {void} - */ - function startNewReportsBuffering() { - reportsBuffer = { - upper: reportsBuffer, - inExpressionNodes: [], - reports: [] - }; - } - - /** - * Ends the current reports buffering. - * @returns {void} - */ - function endCurrentReportsBuffering() { - const { upper, inExpressionNodes, reports } = reportsBuffer; - - if (upper) { - upper.inExpressionNodes.push(...inExpressionNodes); - upper.reports.push(...reports); - } else { - - // flush remaining reports - reports.forEach(({ finishReport }) => finishReport()); - } - - reportsBuffer = upper; - } - - /** - * Checks whether the given node is in the current reports buffer. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if the node is in the current buffer, false otherwise. - */ - function isInCurrentReportsBuffer(node) { - return reportsBuffer.reports.some(r => r.node === node); - } - - /** - * Removes the given node from the current reports buffer. - * @param {ASTNode} node Node to remove. - * @returns {void} - */ - function removeFromCurrentReportsBuffer(node) { - reportsBuffer.reports = reportsBuffer.reports.filter(r => r.node !== node); - } - - /** - * Checks whether a node is a MemberExpression at NewExpression's callee. - * @param {ASTNode} node node to check. - * @returns {boolean} True if the node is a MemberExpression at NewExpression's callee. false otherwise. - */ - function isMemberExpInNewCallee(node) { - if (node.type === "MemberExpression") { - return node.parent.type === "NewExpression" && node.parent.callee === node - ? true - : node.parent.object === node && isMemberExpInNewCallee(node.parent); - } - return false; - } - - /** - * Checks if the left-hand side of an assignment is an identifier, the operator is one of - * `=`, `&&=`, `||=` or `??=` and the right-hand side is an anonymous class or function. - * - * As per https://tc39.es/ecma262/#sec-assignment-operators-runtime-semantics-evaluation, an - * assignment involving one of the operators `=`, `&&=`, `||=` or `??=` where the right-hand - * side is an anonymous class or function and the left-hand side is an *unparenthesized* - * identifier has different semantics than other assignments. - * Specifically, when an expression like `foo = function () {}` is evaluated, `foo.name` - * will be set to the string "foo", i.e. the identifier name. The same thing does not happen - * when evaluating `(foo) = function () {}`. - * Since the parenthesizing of the identifier in the left-hand side is significant in this - * special case, the parentheses, if present, should not be flagged as unnecessary. - * @param {ASTNode} node an AssignmentExpression node. - * @returns {boolean} `true` if the left-hand side of the assignment is an identifier, the - * operator is one of `=`, `&&=`, `||=` or `??=` and the right-hand side is an anonymous - * class or function; otherwise, `false`. - */ - function isAnonymousFunctionAssignmentException({ left, operator, right }) { - if (left.type === "Identifier" && ["=", "&&=", "||=", "??="].includes(operator)) { - const rhsType = right.type; - - if (rhsType === "ArrowFunctionExpression") { - return true; - } - if ((rhsType === "FunctionExpression" || rhsType === "ClassExpression") && !right.id) { - return true; - } - } - return false; - } - - return { - ArrayExpression(node) { - node.elements - .filter(e => e && hasExcessParensWithPrecedence(e, PRECEDENCE_OF_ASSIGNMENT_EXPR)) - .forEach(report); - }, - - ArrayPattern(node) { - node.elements - .filter(e => canBeAssignmentTarget(e) && hasExcessParens(e)) - .forEach(report); - }, - - ArrowFunctionExpression(node) { - if (isReturnAssignException(node)) { - return; - } - - if (node.body.type === "ConditionalExpression" && - IGNORE_ARROW_CONDITIONALS - ) { - return; - } - - if (node.body.type !== "BlockStatement") { - const firstBodyToken = sourceCode.getFirstToken(node.body, astUtils.isNotOpeningParenToken); - const tokenBeforeFirst = sourceCode.getTokenBefore(firstBodyToken); - - if (astUtils.isOpeningParenToken(tokenBeforeFirst) && astUtils.isOpeningBraceToken(firstBodyToken)) { - tokensToIgnore.add(firstBodyToken); - } - if (hasExcessParensWithPrecedence(node.body, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.body); - } - } - }, - - AssignmentExpression(node) { - if (canBeAssignmentTarget(node.left) && hasExcessParens(node.left) && - (!isAnonymousFunctionAssignmentException(node) || isParenthesisedTwice(node.left))) { - report(node.left); - } - - if (!isReturnAssignException(node) && hasExcessParensWithPrecedence(node.right, precedence(node))) { - report(node.right); - } - }, - - BinaryExpression(node) { - if (reportsBuffer && node.operator === "in") { - reportsBuffer.inExpressionNodes.push(node); - } - - checkBinaryLogical(node); - }, - - CallExpression: checkCallNew, - - ConditionalExpression(node) { - if (isReturnAssignException(node)) { - return; - } - - const availableTypes = new Set(["BinaryExpression", "LogicalExpression"]); - - if ( - !(EXCEPT_COND_TERNARY && availableTypes.has(node.test.type)) && - !isCondAssignException(node) && - hasExcessParensWithPrecedence(node.test, precedence({ type: "LogicalExpression", operator: "||" })) - ) { - report(node.test); - } - - if ( - !(EXCEPT_COND_TERNARY && availableTypes.has(node.consequent.type)) && - hasExcessParensWithPrecedence(node.consequent, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.consequent); - } - - if ( - !(EXCEPT_COND_TERNARY && availableTypes.has(node.alternate.type)) && - hasExcessParensWithPrecedence(node.alternate, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.alternate); - } - }, - - DoWhileStatement(node) { - if (hasExcessParens(node.test) && !isCondAssignException(node)) { - report(node.test); - } - }, - - ExportDefaultDeclaration: node => checkExpressionOrExportStatement(node.declaration), - ExpressionStatement: node => checkExpressionOrExportStatement(node.expression), - - ForInStatement(node) { - if (node.left.type !== "VariableDeclaration") { - const firstLeftToken = sourceCode.getFirstToken(node.left, astUtils.isNotOpeningParenToken); - - if ( - firstLeftToken.value === "let" && - astUtils.isOpeningBracketToken( - sourceCode.getTokenAfter(firstLeftToken, astUtils.isNotClosingParenToken) - ) - ) { - - // ForInStatement#left expression cannot start with `let[`. - tokensToIgnore.add(firstLeftToken); - } - } - - if (hasExcessParens(node.left)) { - report(node.left); - } - - if (hasExcessParens(node.right)) { - report(node.right); - } - }, - - ForOfStatement(node) { - if (node.left.type !== "VariableDeclaration") { - const firstLeftToken = sourceCode.getFirstToken(node.left, astUtils.isNotOpeningParenToken); - - if (firstLeftToken.value === "let") { - - // ForOfStatement#left expression cannot start with `let`. - tokensToIgnore.add(firstLeftToken); - } - } - - if (hasExcessParens(node.left)) { - report(node.left); - } - - if (hasExcessParensWithPrecedence(node.right, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.right); - } - }, - - ForStatement(node) { - if (node.test && hasExcessParens(node.test) && !isCondAssignException(node)) { - report(node.test); - } - - if (node.update && hasExcessParens(node.update)) { - report(node.update); - } - - if (node.init) { - - if (node.init.type !== "VariableDeclaration") { - const firstToken = sourceCode.getFirstToken(node.init, astUtils.isNotOpeningParenToken); - - if ( - firstToken.value === "let" && - astUtils.isOpeningBracketToken( - sourceCode.getTokenAfter(firstToken, astUtils.isNotClosingParenToken) - ) - ) { - - // ForStatement#init expression cannot start with `let[`. - tokensToIgnore.add(firstToken); - } - } - - startNewReportsBuffering(); - - if (hasExcessParens(node.init)) { - report(node.init); - } - } - }, - - "ForStatement > *.init:exit"(node) { - - /* - * Removing parentheses around `in` expressions might change semantics and cause errors. - * - * For example, this valid for loop: - * for (let a = (b in c); ;); - * after removing parentheses would be treated as an invalid for-in loop: - * for (let a = b in c; ;); - */ - - if (reportsBuffer.reports.length) { - reportsBuffer.inExpressionNodes.forEach(inExpressionNode => { - const path = pathToDescendant(node, inExpressionNode); - let nodeToExclude; - - for (let i = 0; i < path.length; i++) { - const pathNode = path[i]; - - if (i < path.length - 1) { - const nextPathNode = path[i + 1]; - - if (isSafelyEnclosingInExpression(pathNode, nextPathNode)) { - - // The 'in' expression in safely enclosed by the syntax of its ancestor nodes (e.g. by '{}' or '[]'). - return; - } - } - - if (isParenthesised(pathNode)) { - if (isInCurrentReportsBuffer(pathNode)) { - - // This node was supposed to be reported, but parentheses might be necessary. - - if (isParenthesisedTwice(pathNode)) { - - /* - * This node is parenthesised twice, it certainly has at least one pair of `extra` parentheses. - * If the --fix option is on, the current fixing iteration will remove only one pair of parentheses. - * The remaining pair is safely enclosing the 'in' expression. - */ - return; - } - - // Exclude the outermost node only. - if (!nodeToExclude) { - nodeToExclude = pathNode; - } - - // Don't break the loop here, there might be some safe nodes or parentheses that will stay inside. - - } else { - - // This node will stay parenthesised, the 'in' expression in safely enclosed by '()'. - return; - } - } - } - - // Exclude the node from the list (i.e. treat parentheses as necessary) - removeFromCurrentReportsBuffer(nodeToExclude); - }); - } - - endCurrentReportsBuffering(); - }, - - IfStatement(node) { - if (hasExcessParens(node.test) && !isCondAssignException(node)) { - report(node.test); - } - }, - - ImportExpression(node) { - const { source } = node; - - if (source.type === "SequenceExpression") { - if (hasDoubleExcessParens(source)) { - report(source); - } - } else if (hasExcessParens(source)) { - report(source); - } - }, - - LogicalExpression: checkBinaryLogical, - - MemberExpression(node) { - const shouldAllowWrapOnce = isMemberExpInNewCallee(node) && - doesMemberExpressionContainCallExpression(node); - const nodeObjHasExcessParens = shouldAllowWrapOnce - ? hasDoubleExcessParens(node.object) - : hasExcessParens(node.object) && - !( - isImmediateFunctionPrototypeMethodCall(node.parent) && - node.parent.callee === node && - IGNORE_FUNCTION_PROTOTYPE_METHODS - ); - - if ( - nodeObjHasExcessParens && - precedence(node.object) >= precedence(node) && - ( - node.computed || - !( - astUtils.isDecimalInteger(node.object) || - - // RegExp literal is allowed to have parens (#1589) - (node.object.type === "Literal" && node.object.regex) - ) - ) - ) { - report(node.object); - } - - if (nodeObjHasExcessParens && - node.object.type === "CallExpression" - ) { - report(node.object); - } - - if (nodeObjHasExcessParens && - !IGNORE_NEW_IN_MEMBER_EXPR && - node.object.type === "NewExpression" && - isNewExpressionWithParens(node.object)) { - report(node.object); - } - - if (nodeObjHasExcessParens && - node.optional && - node.object.type === "ChainExpression" - ) { - report(node.object); - } - - if (node.computed && hasExcessParens(node.property)) { - report(node.property); - } - }, - - "MethodDefinition[computed=true]"(node) { - if (hasExcessParensWithPrecedence(node.key, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.key); - } - }, - - NewExpression: checkCallNew, - - ObjectExpression(node) { - node.properties - .filter(property => property.value && hasExcessParensWithPrecedence(property.value, PRECEDENCE_OF_ASSIGNMENT_EXPR)) - .forEach(property => report(property.value)); - }, - - ObjectPattern(node) { - node.properties - .filter(property => { - const value = property.value; - - return canBeAssignmentTarget(value) && hasExcessParens(value); - }).forEach(property => report(property.value)); - }, - - Property(node) { - if (node.computed) { - const { key } = node; - - if (key && hasExcessParensWithPrecedence(key, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(key); - } - } - }, - - PropertyDefinition(node) { - if (node.computed && hasExcessParensWithPrecedence(node.key, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.key); - } - - if (node.value && hasExcessParensWithPrecedence(node.value, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(node.value); - } - }, - - RestElement(node) { - const argument = node.argument; - - if (canBeAssignmentTarget(argument) && hasExcessParens(argument)) { - report(argument); - } - }, - - ReturnStatement(node) { - const returnToken = sourceCode.getFirstToken(node); - - if (isReturnAssignException(node)) { - return; - } - - if (node.argument && - hasExcessParensNoLineTerminator(returnToken, node.argument) && - - // RegExp literal is allowed to have parens (#1589) - !(node.argument.type === "Literal" && node.argument.regex)) { - report(node.argument); - } - }, - - SequenceExpression(node) { - const precedenceOfNode = precedence(node); - - node.expressions - .filter(e => hasExcessParensWithPrecedence(e, precedenceOfNode)) - .forEach(report); - }, - - SwitchCase(node) { - if (node.test && hasExcessParens(node.test)) { - report(node.test); - } - }, - - SwitchStatement(node) { - if (hasExcessParens(node.discriminant)) { - report(node.discriminant); - } - }, - - ThrowStatement(node) { - const throwToken = sourceCode.getFirstToken(node); - - if (hasExcessParensNoLineTerminator(throwToken, node.argument)) { - report(node.argument); - } - }, - - UnaryExpression: checkArgumentWithPrecedence, - UpdateExpression(node) { - if (node.prefix) { - checkArgumentWithPrecedence(node); - } else { - const { argument } = node; - const operatorToken = sourceCode.getLastToken(node); - - if (argument.loc.end.line === operatorToken.loc.start.line) { - checkArgumentWithPrecedence(node); - } else { - if (hasDoubleExcessParens(argument)) { - report(argument); - } - } - } - }, - AwaitExpression: checkArgumentWithPrecedence, - - VariableDeclarator(node) { - if ( - node.init && hasExcessParensWithPrecedence(node.init, PRECEDENCE_OF_ASSIGNMENT_EXPR) && - - // RegExp literal is allowed to have parens (#1589) - !(node.init.type === "Literal" && node.init.regex) - ) { - report(node.init); - } - }, - - WhileStatement(node) { - if (hasExcessParens(node.test) && !isCondAssignException(node)) { - report(node.test); - } - }, - - WithStatement(node) { - if (hasExcessParens(node.object)) { - report(node.object); - } - }, - - YieldExpression(node) { - if (node.argument) { - const yieldToken = sourceCode.getFirstToken(node); - - if ((precedence(node.argument) >= precedence(node) && - hasExcessParensNoLineTerminator(yieldToken, node.argument)) || - hasDoubleExcessParens(node.argument)) { - report(node.argument); - } - } - }, - - ClassDeclaration: checkClass, - ClassExpression: checkClass, - - SpreadElement: checkSpreadOperator, - SpreadProperty: checkSpreadOperator, - ExperimentalSpreadProperty: checkSpreadOperator, - - TemplateLiteral(node) { - node.expressions - .filter(e => e && hasExcessParens(e)) - .forEach(report); - }, - - AssignmentPattern(node) { - const { left, right } = node; - - if (canBeAssignmentTarget(left) && hasExcessParens(left)) { - report(left); - } - - if (right && hasExcessParensWithPrecedence(right, PRECEDENCE_OF_ASSIGNMENT_EXPR)) { - report(right); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-semi.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-semi.js deleted file mode 100644 index 1daf2242..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-extra-semi.js +++ /dev/null @@ -1,147 +0,0 @@ -/** - * @fileoverview Rule to flag use of unnecessary semicolons - * @author Nicholas C. Zakas - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const FixTracker = require("./utils/fix-tracker"); -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - - docs: { - description: "Disallow unnecessary semicolons", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-extra-semi" - }, - - fixable: "code", - schema: [], - - messages: { - unexpected: "Unnecessary semicolon." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Checks if a node or token is fixable. - * A node is fixable if it can be removed without turning a subsequent statement into a directive after fixing other nodes. - * @param {Token} nodeOrToken The node or token to check. - * @returns {boolean} Whether or not the node is fixable. - */ - function isFixable(nodeOrToken) { - const nextToken = sourceCode.getTokenAfter(nodeOrToken); - - if (!nextToken || nextToken.type !== "String") { - return true; - } - const stringNode = sourceCode.getNodeByRangeIndex(nextToken.range[0]); - - return !astUtils.isTopLevelExpressionStatement(stringNode.parent); - } - - /** - * Reports an unnecessary semicolon error. - * @param {Node|Token} nodeOrToken A node or a token to be reported. - * @returns {void} - */ - function report(nodeOrToken) { - context.report({ - node: nodeOrToken, - messageId: "unexpected", - fix: isFixable(nodeOrToken) - ? fixer => - - /* - * Expand the replacement range to include the surrounding - * tokens to avoid conflicting with semi. - * https://github.com/eslint/eslint/issues/7928 - */ - new FixTracker(fixer, context.sourceCode) - .retainSurroundingTokens(nodeOrToken) - .remove(nodeOrToken) - : null - }); - } - - /** - * Checks for a part of a class body. - * This checks tokens from a specified token to a next MethodDefinition or the end of class body. - * @param {Token} firstToken The first token to check. - * @returns {void} - */ - function checkForPartOfClassBody(firstToken) { - for (let token = firstToken; - token.type === "Punctuator" && !astUtils.isClosingBraceToken(token); - token = sourceCode.getTokenAfter(token) - ) { - if (astUtils.isSemicolonToken(token)) { - report(token); - } - } - } - - return { - - /** - * Reports this empty statement, except if the parent node is a loop. - * @param {Node} node A EmptyStatement node to be reported. - * @returns {void} - */ - EmptyStatement(node) { - const parent = node.parent, - allowedParentTypes = [ - "ForStatement", - "ForInStatement", - "ForOfStatement", - "WhileStatement", - "DoWhileStatement", - "IfStatement", - "LabeledStatement", - "WithStatement" - ]; - - if (!allowedParentTypes.includes(parent.type)) { - report(node); - } - }, - - /** - * Checks tokens from the head of this class body to the first MethodDefinition or the end of this class body. - * @param {Node} node A ClassBody node to check. - * @returns {void} - */ - ClassBody(node) { - checkForPartOfClassBody(sourceCode.getFirstToken(node, 1)); // 0 is `{`. - }, - - /** - * Checks tokens from this MethodDefinition to the next MethodDefinition or the end of this class body. - * @param {Node} node A MethodDefinition node of the start point. - * @returns {void} - */ - "MethodDefinition, PropertyDefinition, StaticBlock"(node) { - checkForPartOfClassBody(sourceCode.getTokenAfter(node)); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-fallthrough.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-fallthrough.js deleted file mode 100644 index 1057aae9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-fallthrough.js +++ /dev/null @@ -1,218 +0,0 @@ -/** - * @fileoverview Rule to flag fall-through cases in switch statements. - * @author Matt DuVall - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { directivesPattern } = require("../shared/directives"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const DEFAULT_FALLTHROUGH_COMMENT = /falls?\s?through/iu; - -/** - * Checks all segments in a set and returns true if any are reachable. - * @param {Set} segments The segments to check. - * @returns {boolean} True if any segment is reachable; false otherwise. - */ -function isAnySegmentReachable(segments) { - - for (const segment of segments) { - if (segment.reachable) { - return true; - } - } - - return false; -} - -/** - * Checks whether or not a given comment string is really a fallthrough comment and not an ESLint directive. - * @param {string} comment The comment string to check. - * @param {RegExp} fallthroughCommentPattern The regular expression used for checking for fallthrough comments. - * @returns {boolean} `true` if the comment string is truly a fallthrough comment. - */ -function isFallThroughComment(comment, fallthroughCommentPattern) { - return fallthroughCommentPattern.test(comment) && !directivesPattern.test(comment.trim()); -} - -/** - * Checks whether or not a given case has a fallthrough comment. - * @param {ASTNode} caseWhichFallsThrough SwitchCase node which falls through. - * @param {ASTNode} subsequentCase The case after caseWhichFallsThrough. - * @param {RuleContext} context A rule context which stores comments. - * @param {RegExp} fallthroughCommentPattern A pattern to match comment to. - * @returns {null | object} the comment if the case has a valid fallthrough comment, otherwise null - */ -function getFallthroughComment(caseWhichFallsThrough, subsequentCase, context, fallthroughCommentPattern) { - const sourceCode = context.sourceCode; - - if (caseWhichFallsThrough.consequent.length === 1 && caseWhichFallsThrough.consequent[0].type === "BlockStatement") { - const trailingCloseBrace = sourceCode.getLastToken(caseWhichFallsThrough.consequent[0]); - const commentInBlock = sourceCode.getCommentsBefore(trailingCloseBrace).pop(); - - if (commentInBlock && isFallThroughComment(commentInBlock.value, fallthroughCommentPattern)) { - return commentInBlock; - } - } - - const comment = sourceCode.getCommentsBefore(subsequentCase).pop(); - - if (comment && isFallThroughComment(comment.value, fallthroughCommentPattern)) { - return comment; - } - - return null; -} - -/** - * Checks whether a node and a token are separated by blank lines - * @param {ASTNode} node The node to check - * @param {Token} token The token to compare against - * @returns {boolean} `true` if there are blank lines between node and token - */ -function hasBlankLinesBetween(node, token) { - return token.loc.start.line > node.loc.end.line + 1; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - allowEmptyCase: false, - reportUnusedFallthroughComment: false - }], - - docs: { - description: "Disallow fallthrough of `case` statements", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-fallthrough" - }, - - schema: [ - { - type: "object", - properties: { - commentPattern: { - type: "string" - }, - allowEmptyCase: { - type: "boolean" - }, - reportUnusedFallthroughComment: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - messages: { - unusedFallthroughComment: "Found a comment that would permit fallthrough, but case cannot fall through.", - case: "Expected a 'break' statement before 'case'.", - default: "Expected a 'break' statement before 'default'." - } - }, - - create(context) { - const codePathSegments = []; - let currentCodePathSegments = new Set(); - const sourceCode = context.sourceCode; - const [{ allowEmptyCase, commentPattern, reportUnusedFallthroughComment }] = context.options; - const fallthroughCommentPattern = commentPattern - ? new RegExp(commentPattern, "u") - : DEFAULT_FALLTHROUGH_COMMENT; - - /* - * We need to use leading comments of the next SwitchCase node because - * trailing comments is wrong if semicolons are omitted. - */ - let previousCase = null; - - return { - - onCodePathStart() { - codePathSegments.push(currentCodePathSegments); - currentCodePathSegments = new Set(); - }, - - onCodePathEnd() { - currentCodePathSegments = codePathSegments.pop(); - }, - - onUnreachableCodePathSegmentStart(segment) { - currentCodePathSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - currentCodePathSegments.delete(segment); - }, - - onCodePathSegmentStart(segment) { - currentCodePathSegments.add(segment); - }, - - onCodePathSegmentEnd(segment) { - currentCodePathSegments.delete(segment); - }, - - - SwitchCase(node) { - - /* - * Checks whether or not there is a fallthrough comment. - * And reports the previous fallthrough node if that does not exist. - */ - - if (previousCase && previousCase.node.parent === node.parent) { - const previousCaseFallthroughComment = getFallthroughComment(previousCase.node, node, context, fallthroughCommentPattern); - - if (previousCase.isFallthrough && !(previousCaseFallthroughComment)) { - context.report({ - messageId: node.test ? "case" : "default", - node - }); - } else if (reportUnusedFallthroughComment && !previousCase.isSwitchExitReachable && previousCaseFallthroughComment) { - context.report({ - messageId: "unusedFallthroughComment", - node: previousCaseFallthroughComment - }); - } - - } - previousCase = null; - }, - - "SwitchCase:exit"(node) { - const nextToken = sourceCode.getTokenAfter(node); - - /* - * `reachable` meant fall through because statements preceded by - * `break`, `return`, or `throw` are unreachable. - * And allows empty cases and the last case. - */ - const isSwitchExitReachable = isAnySegmentReachable(currentCodePathSegments); - const isFallthrough = isSwitchExitReachable && (node.consequent.length > 0 || (!allowEmptyCase && hasBlankLinesBetween(node, nextToken))) && - node.parent.cases.at(-1) !== node; - - previousCase = { - node, - isSwitchExitReachable, - isFallthrough - }; - - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-floating-decimal.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-floating-decimal.js deleted file mode 100644 index 80e4994c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-floating-decimal.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @fileoverview Rule to flag use of a leading/trailing decimal point in a numeric literal - * @author James Allardice - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - - docs: { - description: "Disallow leading or trailing decimal points in numeric literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-floating-decimal" - }, - - schema: [], - fixable: "code", - messages: { - leading: "A leading decimal point can be confused with a dot.", - trailing: "A trailing decimal point can be confused with a dot." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - Literal(node) { - - if (typeof node.value === "number") { - if (node.raw.startsWith(".")) { - context.report({ - node, - messageId: "leading", - fix(fixer) { - const tokenBefore = sourceCode.getTokenBefore(node); - const needsSpaceBefore = tokenBefore && - tokenBefore.range[1] === node.range[0] && - !astUtils.canTokensBeAdjacent(tokenBefore, `0${node.raw}`); - - return fixer.insertTextBefore(node, needsSpaceBefore ? " 0" : "0"); - } - }); - } - if (node.raw.indexOf(".") === node.raw.length - 1) { - context.report({ - node, - messageId: "trailing", - fix: fixer => fixer.insertTextAfter(node, "0") - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-func-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-func-assign.js deleted file mode 100644 index 8084af6e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-func-assign.js +++ /dev/null @@ -1,78 +0,0 @@ -/** - * @fileoverview Rule to flag use of function declaration identifiers as variables. - * @author Ian Christian Myers - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow reassigning `function` declarations", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-func-assign" - }, - - schema: [], - - messages: { - isAFunction: "'{{name}}' is a function." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Reports a reference if is non initializer and writable. - * @param {References} references Collection of reference to check. - * @returns {void} - */ - function checkReference(references) { - astUtils.getModifyingReferences(references).forEach(reference => { - context.report({ - node: reference.identifier, - messageId: "isAFunction", - data: { - name: reference.identifier.name - } - }); - }); - } - - /** - * Finds and reports references that are non initializer and writable. - * @param {Variable} variable A variable to check. - * @returns {void} - */ - function checkVariable(variable) { - if (variable.defs[0].type === "FunctionName") { - checkReference(variable.references); - } - } - - /** - * Checks parameters of a given function node. - * @param {ASTNode} node A function node to check. - * @returns {void} - */ - function checkForFunction(node) { - sourceCode.getDeclaredVariables(node).forEach(checkVariable); - } - - return { - FunctionDeclaration: checkForFunction, - FunctionExpression: checkForFunction - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-global-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-global-assign.js deleted file mode 100644 index 0a6f65eb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-global-assign.js +++ /dev/null @@ -1,96 +0,0 @@ -/** - * @fileoverview Rule to disallow assignments to native objects or read-only global variables - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ exceptions: [] }], - - docs: { - description: "Disallow assignments to native objects or read-only global variables", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-global-assign" - }, - - schema: [ - { - type: "object", - properties: { - exceptions: { - type: "array", - items: { type: "string" }, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - globalShouldNotBeModified: "Read-only global '{{name}}' should not be modified." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const [{ exceptions }] = context.options; - - /** - * Reports write references. - * @param {Reference} reference A reference to check. - * @param {int} index The index of the reference in the references. - * @param {Reference[]} references The array that the reference belongs to. - * @returns {void} - */ - function checkReference(reference, index, references) { - const identifier = reference.identifier; - - if (reference.init === false && - reference.isWrite() && - - /* - * Destructuring assignments can have multiple default value, - * so possibly there are multiple writeable references for the same identifier. - */ - (index === 0 || references[index - 1].identifier !== identifier) - ) { - context.report({ - node: identifier, - messageId: "globalShouldNotBeModified", - data: { - name: identifier.name - } - }); - } - } - - /** - * Reports write references if a given variable is read-only builtin. - * @param {Variable} variable A variable to check. - * @returns {void} - */ - function checkVariable(variable) { - if (variable.writeable === false && !exceptions.includes(variable.name)) { - variable.references.forEach(checkReference); - } - } - - return { - Program(node) { - const globalScope = sourceCode.getScope(node); - - globalScope.variables.forEach(checkVariable); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-coercion.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-coercion.js deleted file mode 100644 index e82638fd..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-coercion.js +++ /dev/null @@ -1,411 +0,0 @@ -/** - * @fileoverview A rule to disallow the type conversions with shorter notations. - * @author Toru Nagashima - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const INDEX_OF_PATTERN = /^(?:i|lastI)ndexOf$/u; -const ALLOWABLE_OPERATORS = ["~", "!!", "+", "- -", "-", "*"]; - -/** - * Checks whether or not a node is a double logical negating. - * @param {ASTNode} node An UnaryExpression node to check. - * @returns {boolean} Whether or not the node is a double logical negating. - */ -function isDoubleLogicalNegating(node) { - return ( - node.operator === "!" && - node.argument.type === "UnaryExpression" && - node.argument.operator === "!" - ); -} - -/** - * Checks whether or not a node is a binary negating of `.indexOf()` method calling. - * @param {ASTNode} node An UnaryExpression node to check. - * @returns {boolean} Whether or not the node is a binary negating of `.indexOf()` method calling. - */ -function isBinaryNegatingOfIndexOf(node) { - if (node.operator !== "~") { - return false; - } - const callNode = astUtils.skipChainExpression(node.argument); - - return ( - callNode.type === "CallExpression" && - astUtils.isSpecificMemberAccess(callNode.callee, null, INDEX_OF_PATTERN) - ); -} - -/** - * Checks whether or not a node is a multiplying by one. - * @param {BinaryExpression} node A BinaryExpression node to check. - * @returns {boolean} Whether or not the node is a multiplying by one. - */ -function isMultiplyByOne(node) { - return node.operator === "*" && ( - node.left.type === "Literal" && node.left.value === 1 || - node.right.type === "Literal" && node.right.value === 1 - ); -} - -/** - * Checks whether the given node logically represents multiplication by a fraction of `1`. - * For example, `a * 1` in `a * 1 / b` is technically multiplication by `1`, but the - * whole expression can be logically interpreted as `a * (1 / b)` rather than `(a * 1) / b`. - * @param {BinaryExpression} node A BinaryExpression node to check. - * @param {SourceCode} sourceCode The source code object. - * @returns {boolean} Whether or not the node is a multiplying by a fraction of `1`. - */ -function isMultiplyByFractionOfOne(node, sourceCode) { - return node.type === "BinaryExpression" && - node.operator === "*" && - (node.right.type === "Literal" && node.right.value === 1) && - node.parent.type === "BinaryExpression" && - node.parent.operator === "/" && - node.parent.left === node && - !astUtils.isParenthesised(sourceCode, node); -} - -/** - * Checks whether the result of a node is numeric or not - * @param {ASTNode} node The node to test - * @returns {boolean} true if the node is a number literal or a `Number()`, `parseInt` or `parseFloat` call - */ -function isNumeric(node) { - return ( - node.type === "Literal" && typeof node.value === "number" || - node.type === "CallExpression" && ( - node.callee.name === "Number" || - node.callee.name === "parseInt" || - node.callee.name === "parseFloat" - ) - ); -} - -/** - * Returns the first non-numeric operand in a BinaryExpression. Designed to be - * used from bottom to up since it walks up the BinaryExpression trees using - * node.parent to find the result. - * @param {BinaryExpression} node The BinaryExpression node to be walked up on - * @returns {ASTNode|null} The first non-numeric item in the BinaryExpression tree or null - */ -function getNonNumericOperand(node) { - const left = node.left, - right = node.right; - - if (right.type !== "BinaryExpression" && !isNumeric(right)) { - return right; - } - - if (left.type !== "BinaryExpression" && !isNumeric(left)) { - return left; - } - - return null; -} - -/** - * Checks whether an expression evaluates to a string. - * @param {ASTNode} node node that represents the expression to check. - * @returns {boolean} Whether or not the expression evaluates to a string. - */ -function isStringType(node) { - return astUtils.isStringLiteral(node) || - ( - node.type === "CallExpression" && - node.callee.type === "Identifier" && - node.callee.name === "String" - ); -} - -/** - * Checks whether a node is an empty string literal or not. - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether or not the passed in node is an - * empty string literal or not. - */ -function isEmptyString(node) { - return astUtils.isStringLiteral(node) && (node.value === "" || (node.type === "TemplateLiteral" && node.quasis.length === 1 && node.quasis[0].value.cooked === "")); -} - -/** - * Checks whether or not a node is a concatenating with an empty string. - * @param {ASTNode} node A BinaryExpression node to check. - * @returns {boolean} Whether or not the node is a concatenating with an empty string. - */ -function isConcatWithEmptyString(node) { - return node.operator === "+" && ( - (isEmptyString(node.left) && !isStringType(node.right)) || - (isEmptyString(node.right) && !isStringType(node.left)) - ); -} - -/** - * Checks whether or not a node is appended with an empty string. - * @param {ASTNode} node An AssignmentExpression node to check. - * @returns {boolean} Whether or not the node is appended with an empty string. - */ -function isAppendEmptyString(node) { - return node.operator === "+=" && isEmptyString(node.right); -} - -/** - * Returns the operand that is not an empty string from a flagged BinaryExpression. - * @param {ASTNode} node The flagged BinaryExpression node to check. - * @returns {ASTNode} The operand that is not an empty string from a flagged BinaryExpression. - */ -function getNonEmptyOperand(node) { - return isEmptyString(node.left) ? node.right : node.left; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - hasSuggestions: true, - type: "suggestion", - - docs: { - description: "Disallow shorthand type conversions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-implicit-coercion" - }, - - fixable: "code", - - schema: [{ - type: "object", - properties: { - boolean: { - type: "boolean" - }, - number: { - type: "boolean" - }, - string: { - type: "boolean" - }, - disallowTemplateShorthand: { - type: "boolean" - }, - allow: { - type: "array", - items: { - enum: ALLOWABLE_OPERATORS - }, - uniqueItems: true - } - }, - additionalProperties: false - }], - - defaultOptions: [{ - allow: [], - boolean: true, - disallowTemplateShorthand: false, - number: true, - string: true - }], - - messages: { - implicitCoercion: "Unexpected implicit coercion encountered. Use `{{recommendation}}` instead.", - useRecommendation: "Use `{{recommendation}}` instead." - } - }, - - create(context) { - const [options] = context.options; - const sourceCode = context.sourceCode; - - /** - * Reports an error and autofixes the node - * @param {ASTNode} node An ast node to report the error on. - * @param {string} recommendation The recommended code for the issue - * @param {bool} shouldSuggest Whether this report should offer a suggestion - * @param {bool} shouldFix Whether this report should fix the node - * @returns {void} - */ - function report(node, recommendation, shouldSuggest, shouldFix) { - - /** - * Fix function - * @param {RuleFixer} fixer The fixer to fix. - * @returns {Fix} The fix object. - */ - function fix(fixer) { - const tokenBefore = sourceCode.getTokenBefore(node); - - if ( - tokenBefore?.range[1] === node.range[0] && - !astUtils.canTokensBeAdjacent(tokenBefore, recommendation) - ) { - return fixer.replaceText(node, ` ${recommendation}`); - } - - return fixer.replaceText(node, recommendation); - } - - context.report({ - node, - messageId: "implicitCoercion", - data: { recommendation }, - fix(fixer) { - if (!shouldFix) { - return null; - } - - return fix(fixer); - }, - suggest: [ - { - messageId: "useRecommendation", - data: { recommendation }, - fix(fixer) { - if (shouldFix || !shouldSuggest) { - return null; - } - - return fix(fixer); - } - } - ] - }); - } - - return { - UnaryExpression(node) { - let operatorAllowed; - - // !!foo - operatorAllowed = options.allow.includes("!!"); - if (!operatorAllowed && options.boolean && isDoubleLogicalNegating(node)) { - const recommendation = `Boolean(${sourceCode.getText(node.argument.argument)})`; - const variable = astUtils.getVariableByName(sourceCode.getScope(node), "Boolean"); - const booleanExists = variable?.identifiers.length === 0; - - report(node, recommendation, true, booleanExists); - } - - // ~foo.indexOf(bar) - operatorAllowed = options.allow.includes("~"); - if (!operatorAllowed && options.boolean && isBinaryNegatingOfIndexOf(node)) { - - // `foo?.indexOf(bar) !== -1` will be true (== found) if the `foo` is nullish. So use `>= 0` in that case. - const comparison = node.argument.type === "ChainExpression" ? ">= 0" : "!== -1"; - const recommendation = `${sourceCode.getText(node.argument)} ${comparison}`; - - report(node, recommendation, false, false); - } - - // +foo - operatorAllowed = options.allow.includes("+"); - if (!operatorAllowed && options.number && node.operator === "+" && !isNumeric(node.argument)) { - const recommendation = `Number(${sourceCode.getText(node.argument)})`; - - report(node, recommendation, true, false); - } - - // -(-foo) - operatorAllowed = options.allow.includes("- -"); - if (!operatorAllowed && options.number && node.operator === "-" && node.argument.type === "UnaryExpression" && node.argument.operator === "-" && !isNumeric(node.argument.argument)) { - const recommendation = `Number(${sourceCode.getText(node.argument.argument)})`; - - report(node, recommendation, true, false); - } - }, - - // Use `:exit` to prevent double reporting - "BinaryExpression:exit"(node) { - let operatorAllowed; - - // 1 * foo - operatorAllowed = options.allow.includes("*"); - const nonNumericOperand = !operatorAllowed && options.number && isMultiplyByOne(node) && !isMultiplyByFractionOfOne(node, sourceCode) && - getNonNumericOperand(node); - - if (nonNumericOperand) { - const recommendation = `Number(${sourceCode.getText(nonNumericOperand)})`; - - report(node, recommendation, true, false); - } - - // foo - 0 - operatorAllowed = options.allow.includes("-"); - if (!operatorAllowed && options.number && node.operator === "-" && node.right.type === "Literal" && node.right.value === 0 && !isNumeric(node.left)) { - const recommendation = `Number(${sourceCode.getText(node.left)})`; - - report(node, recommendation, true, false); - } - - // "" + foo - operatorAllowed = options.allow.includes("+"); - if (!operatorAllowed && options.string && isConcatWithEmptyString(node)) { - const recommendation = `String(${sourceCode.getText(getNonEmptyOperand(node))})`; - - report(node, recommendation, true, false); - } - }, - - AssignmentExpression(node) { - - // foo += "" - const operatorAllowed = options.allow.includes("+"); - - if (!operatorAllowed && options.string && isAppendEmptyString(node)) { - const code = sourceCode.getText(getNonEmptyOperand(node)); - const recommendation = `${code} = String(${code})`; - - report(node, recommendation, true, false); - } - }, - - TemplateLiteral(node) { - if (!options.disallowTemplateShorthand) { - return; - } - - // tag`${foo}` - if (node.parent.type === "TaggedTemplateExpression") { - return; - } - - // `` or `${foo}${bar}` - if (node.expressions.length !== 1) { - return; - } - - - // `prefix${foo}` - if (node.quasis[0].value.cooked !== "") { - return; - } - - // `${foo}postfix` - if (node.quasis[1].value.cooked !== "") { - return; - } - - // if the expression is already a string, then this isn't a coercion - if (isStringType(node.expressions[0])) { - return; - } - - const code = sourceCode.getText(node.expressions[0]); - const recommendation = `String(${code})`; - - report(node, recommendation, true, false); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-globals.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-globals.js deleted file mode 100644 index 0ed96e8a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implicit-globals.js +++ /dev/null @@ -1,148 +0,0 @@ -/** - * @fileoverview Rule to check for implicit global variables, functions and classes. - * @author Joshua Peek - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - lexicalBindings: false - }], - - docs: { - description: "Disallow declarations in the global scope", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-implicit-globals" - }, - - schema: [{ - type: "object", - properties: { - lexicalBindings: { - type: "boolean" - } - }, - additionalProperties: false - }], - - messages: { - globalNonLexicalBinding: "Unexpected {{kind}} declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable.", - globalLexicalBinding: "Unexpected {{kind}} declaration in the global scope, wrap in a block or in an IIFE.", - globalVariableLeak: "Global variable leak, declare the variable if it is intended to be local.", - assignmentToReadonlyGlobal: "Unexpected assignment to read-only global variable.", - redeclarationOfReadonlyGlobal: "Unexpected redeclaration of read-only global variable." - } - }, - - create(context) { - const [{ lexicalBindings: checkLexicalBindings }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Reports the node. - * @param {ASTNode} node Node to report. - * @param {string} messageId Id of the message to report. - * @param {string|undefined} kind Declaration kind, can be 'var', 'const', 'let', function or class. - * @returns {void} - */ - function report(node, messageId, kind) { - context.report({ - node, - messageId, - data: { - kind - } - }); - } - - return { - Program(node) { - const scope = sourceCode.getScope(node); - - scope.variables.forEach(variable => { - - // Only ESLint global variables have the `writable` key. - const isReadonlyEslintGlobalVariable = variable.writeable === false; - const isWritableEslintGlobalVariable = variable.writeable === true; - - if (isWritableEslintGlobalVariable) { - - // Everything is allowed with writable ESLint global variables. - return; - } - - // Variables exported by "exported" block comments - if (variable.eslintExported) { - return; - } - - variable.defs.forEach(def => { - const defNode = def.node; - - if (def.type === "FunctionName" || (def.type === "Variable" && def.parent.kind === "var")) { - if (isReadonlyEslintGlobalVariable) { - report(defNode, "redeclarationOfReadonlyGlobal"); - } else { - report( - defNode, - "globalNonLexicalBinding", - def.type === "FunctionName" ? "function" : `'${def.parent.kind}'` - ); - } - } - - if (checkLexicalBindings) { - if (def.type === "ClassName" || - (def.type === "Variable" && (def.parent.kind === "let" || def.parent.kind === "const"))) { - if (isReadonlyEslintGlobalVariable) { - report(defNode, "redeclarationOfReadonlyGlobal"); - } else { - report( - defNode, - "globalLexicalBinding", - def.type === "ClassName" ? "class" : `'${def.parent.kind}'` - ); - } - } - } - }); - }); - - // Undeclared assigned variables. - scope.implicit.variables.forEach(variable => { - const scopeVariable = scope.set.get(variable.name); - let messageId; - - if (scopeVariable) { - - // ESLint global variable - if (scopeVariable.writeable) { - return; - } - messageId = "assignmentToReadonlyGlobal"; - - } else { - - // Reference to an unknown variable, possible global leak. - messageId = "globalVariableLeak"; - } - - // def.node is an AssignmentExpression, ForInStatement or ForOfStatement. - variable.defs.forEach(def => { - report(def.node, messageId); - }); - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implied-eval.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implied-eval.js deleted file mode 100644 index 9a84f8cb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-implied-eval.js +++ /dev/null @@ -1,132 +0,0 @@ -/** - * @fileoverview Rule to flag use of implied eval via setTimeout and setInterval - * @author James Allardice - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { getStaticValue } = require("@eslint-community/eslint-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow the use of `eval()`-like methods", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-implied-eval" - }, - - schema: [], - - messages: { - impliedEval: "Implied eval. Consider passing a function instead of a string." - } - }, - - create(context) { - const GLOBAL_CANDIDATES = Object.freeze(["global", "window", "globalThis"]); - const EVAL_LIKE_FUNC_PATTERN = /^(?:set(?:Interval|Timeout)|execScript)$/u; - const sourceCode = context.sourceCode; - - /** - * Checks whether a node is evaluated as a string or not. - * @param {ASTNode} node A node to check. - * @returns {boolean} True if the node is evaluated as a string. - */ - function isEvaluatedString(node) { - if ( - (node.type === "Literal" && typeof node.value === "string") || - node.type === "TemplateLiteral" - ) { - return true; - } - if (node.type === "BinaryExpression" && node.operator === "+") { - return isEvaluatedString(node.left) || isEvaluatedString(node.right); - } - return false; - } - - /** - * Reports if the `CallExpression` node has evaluated argument. - * @param {ASTNode} node A CallExpression to check. - * @returns {void} - */ - function reportImpliedEvalCallExpression(node) { - const [firstArgument] = node.arguments; - - if (firstArgument) { - - const staticValue = getStaticValue(firstArgument, sourceCode.getScope(node)); - const isStaticString = staticValue && typeof staticValue.value === "string"; - const isString = isStaticString || isEvaluatedString(firstArgument); - - if (isString) { - context.report({ - node, - messageId: "impliedEval" - }); - } - } - - } - - /** - * Reports calls of `implied eval` via the global references. - * @param {Variable} globalVar A global variable to check. - * @returns {void} - */ - function reportImpliedEvalViaGlobal(globalVar) { - const { references, name } = globalVar; - - references.forEach(ref => { - const identifier = ref.identifier; - let node = identifier.parent; - - while (astUtils.isSpecificMemberAccess(node, null, name)) { - node = node.parent; - } - - if (astUtils.isSpecificMemberAccess(node, null, EVAL_LIKE_FUNC_PATTERN)) { - const calleeNode = node.parent.type === "ChainExpression" ? node.parent : node; - const parent = calleeNode.parent; - - if (parent.type === "CallExpression" && parent.callee === calleeNode) { - reportImpliedEvalCallExpression(parent); - } - } - }); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - CallExpression(node) { - if (astUtils.isSpecificId(node.callee, EVAL_LIKE_FUNC_PATTERN)) { - reportImpliedEvalCallExpression(node); - } - }, - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - - GLOBAL_CANDIDATES - .map(candidate => astUtils.getVariableByName(globalScope, candidate)) - .filter(globalVar => !!globalVar && globalVar.defs.length === 0) - .forEach(reportImpliedEvalViaGlobal); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-import-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-import-assign.js deleted file mode 100644 index c6998866..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-import-assign.js +++ /dev/null @@ -1,241 +0,0 @@ -/** - * @fileoverview Rule to flag updates of imported bindings. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const { findVariable } = require("@eslint-community/eslint-utils"); -const astUtils = require("./utils/ast-utils"); - -const WellKnownMutationFunctions = { - Object: /^(?:assign|definePropert(?:y|ies)|freeze|setPrototypeOf)$/u, - Reflect: /^(?:(?:define|delete)Property|set(?:PrototypeOf)?)$/u -}; - -/** - * Check if a given node is LHS of an assignment node. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is LHS. - */ -function isAssignmentLeft(node) { - const { parent } = node; - - return ( - ( - parent.type === "AssignmentExpression" && - parent.left === node - ) || - - // Destructuring assignments - parent.type === "ArrayPattern" || - ( - parent.type === "Property" && - parent.value === node && - parent.parent.type === "ObjectPattern" - ) || - parent.type === "RestElement" || - ( - parent.type === "AssignmentPattern" && - parent.left === node - ) - ); -} - -/** - * Check if a given node is the operand of mutation unary operator. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is the operand of mutation unary operator. - */ -function isOperandOfMutationUnaryOperator(node) { - const argumentNode = node.parent.type === "ChainExpression" - ? node.parent - : node; - const { parent } = argumentNode; - - return ( - ( - parent.type === "UpdateExpression" && - parent.argument === argumentNode - ) || - ( - parent.type === "UnaryExpression" && - parent.operator === "delete" && - parent.argument === argumentNode - ) - ); -} - -/** - * Check if a given node is the iteration variable of `for-in`/`for-of` syntax. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is the iteration variable. - */ -function isIterationVariable(node) { - const { parent } = node; - - return ( - ( - parent.type === "ForInStatement" && - parent.left === node - ) || - ( - parent.type === "ForOfStatement" && - parent.left === node - ) - ); -} - -/** - * Check if a given node is at the first argument of a well-known mutation function. - * - `Object.assign` - * - `Object.defineProperty` - * - `Object.defineProperties` - * - `Object.freeze` - * - `Object.setPrototypeOf` - * - `Reflect.defineProperty` - * - `Reflect.deleteProperty` - * - `Reflect.set` - * - `Reflect.setPrototypeOf` - * @param {ASTNode} node The node to check. - * @param {Scope} scope A `escope.Scope` object to find variable (whichever). - * @returns {boolean} `true` if the node is at the first argument of a well-known mutation function. - */ -function isArgumentOfWellKnownMutationFunction(node, scope) { - const { parent } = node; - - if (parent.type !== "CallExpression" || parent.arguments[0] !== node) { - return false; - } - const callee = astUtils.skipChainExpression(parent.callee); - - if ( - !astUtils.isSpecificMemberAccess(callee, "Object", WellKnownMutationFunctions.Object) && - !astUtils.isSpecificMemberAccess(callee, "Reflect", WellKnownMutationFunctions.Reflect) - ) { - return false; - } - const variable = findVariable(scope, callee.object); - - return variable !== null && variable.scope.type === "global"; -} - -/** - * Check if the identifier node is placed at to update members. - * @param {ASTNode} id The Identifier node to check. - * @param {Scope} scope A `escope.Scope` object to find variable (whichever). - * @returns {boolean} `true` if the member of `id` was updated. - */ -function isMemberWrite(id, scope) { - const { parent } = id; - - return ( - ( - parent.type === "MemberExpression" && - parent.object === id && - ( - isAssignmentLeft(parent) || - isOperandOfMutationUnaryOperator(parent) || - isIterationVariable(parent) - ) - ) || - isArgumentOfWellKnownMutationFunction(id, scope) - ); -} - -/** - * Get the mutation node. - * @param {ASTNode} id The Identifier node to get. - * @returns {ASTNode} The mutation node. - */ -function getWriteNode(id) { - let node = id.parent; - - while ( - node && - node.type !== "AssignmentExpression" && - node.type !== "UpdateExpression" && - node.type !== "UnaryExpression" && - node.type !== "CallExpression" && - node.type !== "ForInStatement" && - node.type !== "ForOfStatement" - ) { - node = node.parent; - } - - return node || id; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow assigning to imported bindings", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-import-assign" - }, - - schema: [], - - messages: { - readonly: "'{{name}}' is read-only.", - readonlyMember: "The members of '{{name}}' are read-only." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - ImportDeclaration(node) { - const scope = sourceCode.getScope(node); - - for (const variable of sourceCode.getDeclaredVariables(node)) { - const shouldCheckMembers = variable.defs.some( - d => d.node.type === "ImportNamespaceSpecifier" - ); - let prevIdNode = null; - - for (const reference of variable.references) { - const idNode = reference.identifier; - - /* - * AssignmentPattern (e.g. `[a = 0] = b`) makes two write - * references for the same identifier. This should skip - * the one of the two in order to prevent redundant reports. - */ - if (idNode === prevIdNode) { - continue; - } - prevIdNode = idNode; - - if (reference.isWrite()) { - context.report({ - node: getWriteNode(idNode), - messageId: "readonly", - data: { name: idNode.name } - }); - } else if (shouldCheckMembers && isMemberWrite(idNode, scope)) { - context.report({ - node: getWriteNode(idNode), - messageId: "readonlyMember", - data: { name: idNode.name } - }); - } - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inline-comments.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inline-comments.js deleted file mode 100644 index 439418c7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inline-comments.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * @fileoverview Enforces or disallows inline comments. - * @author Greg Cochard - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{}], - - docs: { - description: "Disallow inline comments after code", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-inline-comments" - }, - - schema: [ - { - type: "object", - properties: { - ignorePattern: { - type: "string" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedInlineComment: "Unexpected comment inline with code." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const [{ ignorePattern }] = context.options; - const customIgnoreRegExp = ignorePattern && new RegExp(ignorePattern, "u"); - - /** - * Will check that comments are not on lines starting with or ending with code - * @param {ASTNode} node The comment node to check - * @private - * @returns {void} - */ - function testCodeAroundComment(node) { - - const startLine = String(sourceCode.lines[node.loc.start.line - 1]), - endLine = String(sourceCode.lines[node.loc.end.line - 1]), - preamble = startLine.slice(0, node.loc.start.column).trim(), - postamble = endLine.slice(node.loc.end.column).trim(), - isPreambleEmpty = !preamble, - isPostambleEmpty = !postamble; - - // Nothing on both sides - if (isPreambleEmpty && isPostambleEmpty) { - return; - } - - // Matches the ignore pattern - if (customIgnoreRegExp && customIgnoreRegExp.test(node.value)) { - return; - } - - // JSX Exception - if ( - (isPreambleEmpty || preamble === "{") && - (isPostambleEmpty || postamble === "}") - ) { - const enclosingNode = sourceCode.getNodeByRangeIndex(node.range[0]); - - if (enclosingNode && enclosingNode.type === "JSXEmptyExpression") { - return; - } - } - - // Don't report ESLint directive comments - if (astUtils.isDirectiveComment(node)) { - return; - } - - context.report({ - node, - messageId: "unexpectedInlineComment" - }); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program() { - sourceCode.getAllComments() - .filter(token => token.type !== "Shebang") - .forEach(testCodeAroundComment); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inner-declarations.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inner-declarations.js deleted file mode 100644 index c90b9fa6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-inner-declarations.js +++ /dev/null @@ -1,133 +0,0 @@ -/** - * @fileoverview Rule to enforce declarations in program or function body root. - * @author Brandon Mills - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const validParent = new Set(["Program", "StaticBlock", "ExportNamedDeclaration", "ExportDefaultDeclaration"]); -const validBlockStatementParent = new Set(["FunctionDeclaration", "FunctionExpression", "ArrowFunctionExpression"]); - -/** - * Finds the nearest enclosing context where this rule allows declarations and returns its description. - * @param {ASTNode} node Node to search from. - * @returns {string} Description. One of "program", "function body", "class static block body". - */ -function getAllowedBodyDescription(node) { - let { parent } = node; - - while (parent) { - - if (parent.type === "StaticBlock") { - return "class static block body"; - } - - if (astUtils.isFunction(parent)) { - return "function body"; - } - - ({ parent } = parent); - } - - return "program"; -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: ["functions", { blockScopedFunctions: "allow" }], - - docs: { - description: "Disallow variable or `function` declarations in nested blocks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-inner-declarations" - }, - - schema: [ - { - enum: ["functions", "both"] - }, - { - type: "object", - properties: { - blockScopedFunctions: { - enum: ["allow", "disallow"] - } - }, - additionalProperties: false - } - ], - - messages: { - moveDeclToRoot: "Move {{type}} declaration to {{body}} root." - } - }, - - create(context) { - const both = context.options[0] === "both"; - const { blockScopedFunctions } = context.options[1]; - - const sourceCode = context.sourceCode; - const ecmaVersion = context.languageOptions.ecmaVersion; - - /** - * Ensure that a given node is at a program or function body's root. - * @param {ASTNode} node Declaration node to check. - * @returns {void} - */ - function check(node) { - const parent = node.parent; - - if ( - parent.type === "BlockStatement" && validBlockStatementParent.has(parent.parent.type) - ) { - return; - } - - if (validParent.has(parent.type)) { - return; - } - - context.report({ - node, - messageId: "moveDeclToRoot", - data: { - type: (node.type === "FunctionDeclaration" ? "function" : "variable"), - body: getAllowedBodyDescription(node) - } - }); - } - - return { - - FunctionDeclaration(node) { - const isInStrictCode = sourceCode.getScope(node).upper.isStrict; - - if (blockScopedFunctions === "allow" && ecmaVersion >= 2015 && isInStrictCode) { - return; - } - - check(node); - }, - VariableDeclaration(node) { - if (both && node.kind === "var") { - check(node); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-regexp.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-regexp.js deleted file mode 100644 index 635bd666..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-regexp.js +++ /dev/null @@ -1,211 +0,0 @@ -/** - * @fileoverview Validate strings passed to the RegExp constructor - * @author Michael Ficarra - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const RegExpValidator = require("@eslint-community/regexpp").RegExpValidator; -const validator = new RegExpValidator(); -const validFlags = "dgimsuvy"; -const undefined1 = void 0; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{}], - - docs: { - description: "Disallow invalid regular expression strings in `RegExp` constructors", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-invalid-regexp" - }, - - schema: [{ - type: "object", - properties: { - allowConstructorFlags: { - type: "array", - items: { - type: "string" - } - } - }, - additionalProperties: false - }], - - messages: { - regexMessage: "{{message}}." - } - }, - - create(context) { - const [{ allowConstructorFlags }] = context.options; - let allowedFlags = []; - - if (allowConstructorFlags) { - const temp = allowConstructorFlags.join("").replace(new RegExp(`[${validFlags}]`, "gu"), ""); - - if (temp) { - allowedFlags = [...new Set(temp)]; - } - } - - /** - * Reports error with the provided message. - * @param {ASTNode} node The node holding the invalid RegExp - * @param {string} message The message to report. - * @returns {void} - */ - function report(node, message) { - context.report({ - node, - messageId: "regexMessage", - data: { message } - }); - } - - /** - * Check if node is a string - * @param {ASTNode} node node to evaluate - * @returns {boolean} True if its a string - * @private - */ - function isString(node) { - return node && node.type === "Literal" && typeof node.value === "string"; - } - - /** - * Gets flags of a regular expression created by the given `RegExp()` or `new RegExp()` call - * Examples: - * new RegExp(".") // => "" - * new RegExp(".", "gu") // => "gu" - * new RegExp(".", flags) // => null - * @param {ASTNode} node `CallExpression` or `NewExpression` node - * @returns {string|null} flags if they can be determined, `null` otherwise - * @private - */ - function getFlags(node) { - if (node.arguments.length < 2) { - return ""; - } - - if (isString(node.arguments[1])) { - return node.arguments[1].value; - } - - return null; - } - - /** - * Check syntax error in a given pattern. - * @param {string} pattern The RegExp pattern to validate. - * @param {Object} flags The RegExp flags to validate. - * @param {boolean} [flags.unicode] The Unicode flag. - * @param {boolean} [flags.unicodeSets] The UnicodeSets flag. - * @returns {string|null} The syntax error. - */ - function validateRegExpPattern(pattern, flags) { - try { - validator.validatePattern(pattern, undefined1, undefined1, flags); - return null; - } catch (err) { - return err.message; - } - } - - /** - * Check syntax error in a given flags. - * @param {string|null} flags The RegExp flags to validate. - * @param {string|null} flagsToCheck The RegExp invalid flags. - * @param {string} allFlags all valid and allowed flags. - * @returns {string|null} The syntax error. - */ - function validateRegExpFlags(flags, flagsToCheck, allFlags) { - const duplicateFlags = []; - - if (typeof flagsToCheck === "string") { - for (const flag of flagsToCheck) { - if (allFlags.includes(flag)) { - duplicateFlags.push(flag); - } - } - } - - /* - * `regexpp` checks the combination of `u` and `v` flags when parsing `Pattern` according to `ecma262`, - * but this rule may check only the flag when the pattern is unidentifiable, so check it here. - * https://tc39.es/ecma262/multipage/text-processing.html#sec-parsepattern - */ - if (flags && flags.includes("u") && flags.includes("v")) { - return "Regex 'u' and 'v' flags cannot be used together"; - } - - if (duplicateFlags.length > 0) { - return `Duplicate flags ('${duplicateFlags.join("")}') supplied to RegExp constructor`; - } - - if (!flagsToCheck) { - return null; - } - - return `Invalid flags supplied to RegExp constructor '${flagsToCheck}'`; - } - - return { - "CallExpression, NewExpression"(node) { - if (node.callee.type !== "Identifier" || node.callee.name !== "RegExp") { - return; - } - - const flags = getFlags(node); - let flagsToCheck = flags; - const allFlags = allowedFlags.length > 0 ? validFlags.split("").concat(allowedFlags) : validFlags.split(""); - - if (flags) { - allFlags.forEach(flag => { - flagsToCheck = flagsToCheck.replace(flag, ""); - }); - } - - let message = validateRegExpFlags(flags, flagsToCheck, allFlags); - - if (message) { - report(node, message); - return; - } - - if (!isString(node.arguments[0])) { - return; - } - - const pattern = node.arguments[0].value; - - message = ( - - // If flags are unknown, report the regex only if its pattern is invalid both with and without the "u" flag - flags === null - ? ( - validateRegExpPattern(pattern, { unicode: true, unicodeSets: false }) && - validateRegExpPattern(pattern, { unicode: false, unicodeSets: true }) && - validateRegExpPattern(pattern, { unicode: false, unicodeSets: false }) - ) - : validateRegExpPattern(pattern, { unicode: flags.includes("u"), unicodeSets: flags.includes("v") }) - ); - - if (message) { - report(node, message); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-this.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-this.js deleted file mode 100644 index 0a7b9e40..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-invalid-this.js +++ /dev/null @@ -1,150 +0,0 @@ -/** - * @fileoverview A rule to disallow `this` keywords in contexts where the value of `this` is `undefined`. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines if the given code path is a code path with lexical `this` binding. - * That is, if `this` within the code path refers to `this` of surrounding code path. - * @param {CodePath} codePath Code path. - * @param {ASTNode} node Node that started the code path. - * @returns {boolean} `true` if it is a code path with lexical `this` binding. - */ -function isCodePathWithLexicalThis(codePath, node) { - return codePath.origin === "function" && node.type === "ArrowFunctionExpression"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ capIsConstructor: true }], - - docs: { - description: "Disallow use of `this` in contexts where the value of `this` is `undefined`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-invalid-this" - }, - - schema: [ - { - type: "object", - properties: { - capIsConstructor: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedThis: "Unexpected 'this'." - } - }, - - create(context) { - const [{ capIsConstructor }] = context.options; - const stack = [], - sourceCode = context.sourceCode; - - /** - * Gets the current checking context. - * - * The return value has a flag that whether or not `this` keyword is valid. - * The flag is initialized when got at the first time. - * @returns {{valid: boolean}} - * an object which has a flag that whether or not `this` keyword is valid. - */ - stack.getCurrent = function() { - const current = this.at(-1); - - if (!current.init) { - current.init = true; - current.valid = !astUtils.isDefaultThisBinding( - current.node, - sourceCode, - { capIsConstructor } - ); - } - return current; - }; - - return { - - onCodePathStart(codePath, node) { - if (isCodePathWithLexicalThis(codePath, node)) { - return; - } - - if (codePath.origin === "program") { - const scope = sourceCode.getScope(node); - const features = context.languageOptions.parserOptions.ecmaFeatures || {}; - - // `this` at the top level of scripts always refers to the global object - stack.push({ - init: true, - node, - valid: !( - node.sourceType === "module" || - (features.globalReturn && scope.childScopes[0].isStrict) - ) - }); - - return; - } - - /* - * `init: false` means that `valid` isn't determined yet. - * Most functions don't use `this`, and the calculation for `valid` - * is relatively costly, so we'll calculate it lazily when the first - * `this` within the function is traversed. A special case are non-strict - * functions, because `this` refers to the global object and therefore is - * always valid, so we can set `init: true` right away. - */ - stack.push({ - init: !sourceCode.getScope(node).isStrict, - node, - valid: true - }); - }, - - onCodePathEnd(codePath, node) { - if (isCodePathWithLexicalThis(codePath, node)) { - return; - } - - stack.pop(); - }, - - // Reports if `this` of the current context is invalid. - ThisExpression(node) { - const current = stack.getCurrent(); - - if (current && !current.valid) { - context.report({ - node, - messageId: "unexpectedThis" - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-irregular-whitespace.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-irregular-whitespace.js deleted file mode 100644 index 3069db18..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-irregular-whitespace.js +++ /dev/null @@ -1,278 +0,0 @@ -/** - * @fileoverview Rule to disallow whitespace that is not a tab or space, whitespace inside strings and comments are allowed - * @author Jonathan Kingston - * @author Christophe Porteneuve - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Constants -//------------------------------------------------------------------------------ - -const ALL_IRREGULARS = /[\f\v\u0085\ufeff\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u202f\u205f\u3000\u2028\u2029]/u; -const IRREGULAR_WHITESPACE = /[\f\v\u0085\ufeff\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u202f\u205f\u3000]+/mgu; -const IRREGULAR_LINE_TERMINATORS = /[\u2028\u2029]/mgu; -const LINE_BREAK = astUtils.createGlobalLinebreakMatcher(); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - skipComments: false, - skipJSXText: false, - skipRegExps: false, - skipStrings: true, - skipTemplates: false - }], - - docs: { - description: "Disallow irregular whitespace", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - }, - - schema: [ - { - type: "object", - properties: { - skipComments: { - type: "boolean" - }, - skipStrings: { - type: "boolean" - }, - skipTemplates: { - type: "boolean" - }, - skipRegExps: { - type: "boolean" - }, - skipJSXText: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - noIrregularWhitespace: "Irregular whitespace not allowed." - } - }, - - create(context) { - const [{ - skipComments, - skipStrings, - skipRegExps, - skipTemplates, - skipJSXText - }] = context.options; - - const sourceCode = context.sourceCode; - const commentNodes = sourceCode.getAllComments(); - - // Module store of errors that we have found - let errors = []; - - /** - * Removes errors that occur inside the given node - * @param {ASTNode} node to check for matching errors. - * @returns {void} - * @private - */ - function removeWhitespaceError(node) { - const locStart = node.loc.start; - const locEnd = node.loc.end; - - errors = errors.filter(({ loc: { start: errorLocStart } }) => ( - errorLocStart.line < locStart.line || - errorLocStart.line === locStart.line && errorLocStart.column < locStart.column || - errorLocStart.line === locEnd.line && errorLocStart.column >= locEnd.column || - errorLocStart.line > locEnd.line - )); - } - - /** - * Checks literal nodes for errors that we are choosing to ignore and calls the relevant methods to remove the errors - * @param {ASTNode} node to check for matching errors. - * @returns {void} - * @private - */ - function removeInvalidNodeErrorsInLiteral(node) { - const shouldCheckStrings = skipStrings && (typeof node.value === "string"); - const shouldCheckRegExps = skipRegExps && Boolean(node.regex); - - if (shouldCheckStrings || shouldCheckRegExps) { - - // If we have irregular characters remove them from the errors list - if (ALL_IRREGULARS.test(node.raw)) { - removeWhitespaceError(node); - } - } - } - - /** - * Checks template string literal nodes for errors that we are choosing to ignore and calls the relevant methods to remove the errors - * @param {ASTNode} node to check for matching errors. - * @returns {void} - * @private - */ - function removeInvalidNodeErrorsInTemplateLiteral(node) { - if (typeof node.value.raw === "string") { - if (ALL_IRREGULARS.test(node.value.raw)) { - removeWhitespaceError(node); - } - } - } - - /** - * Checks comment nodes for errors that we are choosing to ignore and calls the relevant methods to remove the errors - * @param {ASTNode} node to check for matching errors. - * @returns {void} - * @private - */ - function removeInvalidNodeErrorsInComment(node) { - if (ALL_IRREGULARS.test(node.value)) { - removeWhitespaceError(node); - } - } - - /** - * Checks JSX nodes for errors that we are choosing to ignore and calls the relevant methods to remove the errors - * @param {ASTNode} node to check for matching errors. - * @returns {void} - * @private - */ - function removeInvalidNodeErrorsInJSXText(node) { - if (ALL_IRREGULARS.test(node.raw)) { - removeWhitespaceError(node); - } - } - - /** - * Checks the program source for irregular whitespace - * @param {ASTNode} node The program node - * @returns {void} - * @private - */ - function checkForIrregularWhitespace(node) { - const sourceLines = sourceCode.lines; - - sourceLines.forEach((sourceLine, lineIndex) => { - const lineNumber = lineIndex + 1; - let match; - - while ((match = IRREGULAR_WHITESPACE.exec(sourceLine)) !== null) { - errors.push({ - node, - messageId: "noIrregularWhitespace", - loc: { - start: { - line: lineNumber, - column: match.index - }, - end: { - line: lineNumber, - column: match.index + match[0].length - } - } - }); - } - }); - } - - /** - * Checks the program source for irregular line terminators - * @param {ASTNode} node The program node - * @returns {void} - * @private - */ - function checkForIrregularLineTerminators(node) { - const source = sourceCode.getText(), - sourceLines = sourceCode.lines, - linebreaks = source.match(LINE_BREAK); - let lastLineIndex = -1, - match; - - while ((match = IRREGULAR_LINE_TERMINATORS.exec(source)) !== null) { - const lineIndex = linebreaks.indexOf(match[0], lastLineIndex + 1) || 0; - - errors.push({ - node, - messageId: "noIrregularWhitespace", - loc: { - start: { - line: lineIndex + 1, - column: sourceLines[lineIndex].length - }, - end: { - line: lineIndex + 2, - column: 0 - } - } - }); - - lastLineIndex = lineIndex; - } - } - - /** - * A no-op function to act as placeholder for comment accumulation when the `skipComments` option is `false`. - * @returns {void} - * @private - */ - function noop() { } - - const nodes = {}; - - if (ALL_IRREGULARS.test(sourceCode.getText())) { - nodes.Program = function(node) { - - /* - * As we can easily fire warnings for all white space issues with - * all the source its simpler to fire them here. - * This means we can check all the application code without having - * to worry about issues caused in the parser tokens. - * When writing this code also evaluating per node was missing out - * connecting tokens in some cases. - * We can later filter the errors when they are found to be not an - * issue in nodes we don't care about. - */ - checkForIrregularWhitespace(node); - checkForIrregularLineTerminators(node); - }; - - nodes.Literal = removeInvalidNodeErrorsInLiteral; - nodes.TemplateElement = skipTemplates ? removeInvalidNodeErrorsInTemplateLiteral : noop; - nodes.JSXText = skipJSXText ? removeInvalidNodeErrorsInJSXText : noop; - nodes["Program:exit"] = function() { - if (skipComments) { - - // First strip errors occurring in comment nodes. - commentNodes.forEach(removeInvalidNodeErrorsInComment); - } - - // If we have any errors remaining report on them - errors.forEach(error => context.report(error)); - }; - } else { - nodes.Program = noop; - } - - return nodes; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-iterator.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-iterator.js deleted file mode 100644 index dcd9683b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-iterator.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @fileoverview Rule to flag usage of __iterator__ property - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { getStaticPropertyName } = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow the use of the `__iterator__` property", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-iterator" - }, - - schema: [], - - messages: { - noIterator: "Reserved name '__iterator__'." - } - }, - - create(context) { - - return { - - MemberExpression(node) { - - if (getStaticPropertyName(node) === "__iterator__") { - context.report({ - node, - messageId: "noIterator" - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-label-var.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-label-var.js deleted file mode 100644 index bf33cd15..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-label-var.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @fileoverview Rule to flag labels that are the same as an identifier - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow labels that share a name with a variable", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-label-var" - }, - - schema: [], - - messages: { - identifierClashWithLabel: "Found identifier with same name as label." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Check if the identifier is present inside current scope - * @param {Object} scope current scope - * @param {string} name To evaluate - * @returns {boolean} True if its present - * @private - */ - function findIdentifier(scope, name) { - return astUtils.getVariableByName(scope, name) !== null; - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - - LabeledStatement(node) { - - // Fetch the innermost scope. - const scope = sourceCode.getScope(node); - - /* - * Recursively find the identifier walking up the scope, starting - * with the innermost scope. - */ - if (findIdentifier(scope, node.label.name)) { - context.report({ - node, - messageId: "identifierClashWithLabel" - }); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-labels.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-labels.js deleted file mode 100644 index 3860bf8a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-labels.js +++ /dev/null @@ -1,150 +0,0 @@ -/** - * @fileoverview Disallow Labeled Statements - * @author Nicholas C. Zakas - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allowLoop: false, - allowSwitch: false - }], - - docs: { - description: "Disallow labeled statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-labels" - }, - - schema: [ - { - type: "object", - properties: { - allowLoop: { - type: "boolean" - }, - allowSwitch: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedLabel: "Unexpected labeled statement.", - unexpectedLabelInBreak: "Unexpected label in break statement.", - unexpectedLabelInContinue: "Unexpected label in continue statement." - } - }, - - create(context) { - const [{ allowLoop, allowSwitch }] = context.options; - let scopeInfo = null; - - /** - * Gets the kind of a given node. - * @param {ASTNode} node A node to get. - * @returns {string} The kind of the node. - */ - function getBodyKind(node) { - if (astUtils.isLoop(node)) { - return "loop"; - } - if (node.type === "SwitchStatement") { - return "switch"; - } - return "other"; - } - - /** - * Checks whether the label of a given kind is allowed or not. - * @param {string} kind A kind to check. - * @returns {boolean} `true` if the kind is allowed. - */ - function isAllowed(kind) { - switch (kind) { - case "loop": return allowLoop; - case "switch": return allowSwitch; - default: return false; - } - } - - /** - * Checks whether a given name is a label of a loop or not. - * @param {string} label A name of a label to check. - * @returns {boolean} `true` if the name is a label of a loop. - */ - function getKind(label) { - let info = scopeInfo; - - while (info) { - if (info.label === label) { - return info.kind; - } - info = info.upper; - } - - /* c8 ignore next */ - return "other"; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - LabeledStatement(node) { - scopeInfo = { - label: node.label.name, - kind: getBodyKind(node.body), - upper: scopeInfo - }; - }, - - "LabeledStatement:exit"(node) { - if (!isAllowed(scopeInfo.kind)) { - context.report({ - node, - messageId: "unexpectedLabel" - }); - } - - scopeInfo = scopeInfo.upper; - }, - - BreakStatement(node) { - if (node.label && !isAllowed(getKind(node.label.name))) { - context.report({ - node, - messageId: "unexpectedLabelInBreak" - }); - } - }, - - ContinueStatement(node) { - if (node.label && !isAllowed(getKind(node.label.name))) { - context.report({ - node, - messageId: "unexpectedLabelInContinue" - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lone-blocks.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lone-blocks.js deleted file mode 100644 index 2e270892..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lone-blocks.js +++ /dev/null @@ -1,136 +0,0 @@ -/** - * @fileoverview Rule to flag blocks with no reason to exist - * @author Brandon Mills - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary nested blocks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-lone-blocks" - }, - - schema: [], - - messages: { - redundantBlock: "Block is redundant.", - redundantNestedBlock: "Nested block is redundant." - } - }, - - create(context) { - - // A stack of lone blocks to be checked for block-level bindings - const loneBlocks = []; - let ruleDef; - const sourceCode = context.sourceCode; - - /** - * Reports a node as invalid. - * @param {ASTNode} node The node to be reported. - * @returns {void} - */ - function report(node) { - const messageId = node.parent.type === "BlockStatement" || node.parent.type === "StaticBlock" - ? "redundantNestedBlock" - : "redundantBlock"; - - context.report({ - node, - messageId - }); - } - - /** - * Checks for any occurrence of a BlockStatement in a place where lists of statements can appear - * @param {ASTNode} node The node to check - * @returns {boolean} True if the node is a lone block. - */ - function isLoneBlock(node) { - return node.parent.type === "BlockStatement" || - node.parent.type === "StaticBlock" || - node.parent.type === "Program" || - - // Don't report blocks in switch cases if the block is the only statement of the case. - node.parent.type === "SwitchCase" && !(node.parent.consequent[0] === node && node.parent.consequent.length === 1); - } - - /** - * Checks the enclosing block of the current node for block-level bindings, - * and "marks it" as valid if any. - * @param {ASTNode} node The current node to check. - * @returns {void} - */ - function markLoneBlock(node) { - if (loneBlocks.length === 0) { - return; - } - - const block = node.parent; - - if (loneBlocks.at(-1) === block) { - loneBlocks.pop(); - } - } - - // Default rule definition: report all lone blocks - ruleDef = { - BlockStatement(node) { - if (isLoneBlock(node)) { - report(node); - } - } - }; - - // ES6: report blocks without block-level bindings, or that's only child of another block - if (context.languageOptions.ecmaVersion >= 2015) { - ruleDef = { - BlockStatement(node) { - if (isLoneBlock(node)) { - loneBlocks.push(node); - } - }, - "BlockStatement:exit"(node) { - if (loneBlocks.length > 0 && loneBlocks.at(-1) === node) { - loneBlocks.pop(); - report(node); - } else if ( - ( - node.parent.type === "BlockStatement" || - node.parent.type === "StaticBlock" - ) && - node.parent.body.length === 1 - ) { - report(node); - } - } - }; - - ruleDef.VariableDeclaration = function(node) { - if (node.kind !== "var") { - markLoneBlock(node); - } - }; - - ruleDef.FunctionDeclaration = function(node) { - if (sourceCode.getScope(node).isStrict) { - markLoneBlock(node); - } - }; - - ruleDef.ClassDeclaration = markLoneBlock; - } - - return ruleDef; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lonely-if.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lonely-if.js deleted file mode 100644 index bec9f020..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-lonely-if.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * @fileoverview Rule to disallow if as the only statement in an else block - * @author Brandon Mills - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `if` statements as the only statement in `else` blocks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-lonely-if" - }, - - schema: [], - fixable: "code", - - messages: { - unexpectedLonelyIf: "Unexpected if as the only statement in an else block." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - IfStatement(node) { - const parent = node.parent, - grandparent = parent.parent; - - if (parent && parent.type === "BlockStatement" && - parent.body.length === 1 && !astUtils.areBracesNecessary(parent, sourceCode) && - grandparent && grandparent.type === "IfStatement" && - parent === grandparent.alternate) { - context.report({ - node, - messageId: "unexpectedLonelyIf", - fix(fixer) { - const openingElseCurly = sourceCode.getFirstToken(parent); - const closingElseCurly = sourceCode.getLastToken(parent); - const elseKeyword = sourceCode.getTokenBefore(openingElseCurly); - const tokenAfterElseBlock = sourceCode.getTokenAfter(closingElseCurly); - const lastIfToken = sourceCode.getLastToken(node.consequent); - const sourceText = sourceCode.getText(); - - if (sourceText.slice(openingElseCurly.range[1], - node.range[0]).trim() || sourceText.slice(node.range[1], closingElseCurly.range[0]).trim()) { - - // Don't fix if there are any non-whitespace characters interfering (e.g. comments) - return null; - } - - if ( - node.consequent.type !== "BlockStatement" && lastIfToken.value !== ";" && tokenAfterElseBlock && - ( - node.consequent.loc.end.line === tokenAfterElseBlock.loc.start.line || - /^[([/+`-]/u.test(tokenAfterElseBlock.value) || - lastIfToken.value === "++" || - lastIfToken.value === "--" - ) - ) { - - /* - * If the `if` statement has no block, and is not followed by a semicolon, make sure that fixing - * the issue would not change semantics due to ASI. If this would happen, don't do a fix. - */ - return null; - } - - return fixer.replaceTextRange( - [openingElseCurly.range[0], closingElseCurly.range[1]], - (elseKeyword.range[1] === openingElseCurly.range[0] ? " " : "") + sourceCode.getText(node) - ); - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loop-func.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loop-func.js deleted file mode 100644 index ba372dbb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loop-func.js +++ /dev/null @@ -1,238 +0,0 @@ -/** - * @fileoverview Rule to flag creation of function inside a loop - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - - -/** - * Identifies is a node is a FunctionExpression which is part of an IIFE - * @param {ASTNode} node Node to test - * @returns {boolean} True if it's an IIFE - */ -function isIIFE(node) { - return (node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression") && node.parent && node.parent.type === "CallExpression" && node.parent.callee === node; -} - - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow function declarations that contain unsafe references inside loop statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-loop-func" - }, - - schema: [], - - messages: { - unsafeRefs: "Function declared in a loop contains unsafe references to variable(s) {{ varNames }}." - } - }, - - create(context) { - - const SKIPPED_IIFE_NODES = new Set(); - const sourceCode = context.sourceCode; - - /** - * Gets the containing loop node of a specified node. - * - * We don't need to check nested functions, so this ignores those, with the exception of IIFE. - * `Scope.through` contains references of nested functions. - * @param {ASTNode} node An AST node to get. - * @returns {ASTNode|null} The containing loop node of the specified node, or - * `null`. - */ - function getContainingLoopNode(node) { - for (let currentNode = node; currentNode.parent; currentNode = currentNode.parent) { - const parent = currentNode.parent; - - switch (parent.type) { - case "WhileStatement": - case "DoWhileStatement": - return parent; - - case "ForStatement": - - // `init` is outside of the loop. - if (parent.init !== currentNode) { - return parent; - } - break; - - case "ForInStatement": - case "ForOfStatement": - - // `right` is outside of the loop. - if (parent.right !== currentNode) { - return parent; - } - break; - - case "ArrowFunctionExpression": - case "FunctionExpression": - case "FunctionDeclaration": - - // We need to check nested functions only in case of IIFE. - if (SKIPPED_IIFE_NODES.has(parent)) { - break; - } - - return null; - default: - break; - } - } - - return null; - } - - /** - * Gets the containing loop node of a given node. - * If the loop was nested, this returns the most outer loop. - * @param {ASTNode} node A node to get. This is a loop node. - * @param {ASTNode|null} excludedNode A node that the result node should not - * include. - * @returns {ASTNode} The most outer loop node. - */ - function getTopLoopNode(node, excludedNode) { - const border = excludedNode ? excludedNode.range[1] : 0; - let retv = node; - let containingLoopNode = node; - - while (containingLoopNode && containingLoopNode.range[0] >= border) { - retv = containingLoopNode; - containingLoopNode = getContainingLoopNode(containingLoopNode); - } - - return retv; - } - - /** - * Checks whether a given reference which refers to an upper scope's variable is - * safe or not. - * @param {ASTNode} loopNode A containing loop node. - * @param {eslint-scope.Reference} reference A reference to check. - * @returns {boolean} `true` if the reference is safe or not. - */ - function isSafe(loopNode, reference) { - const variable = reference.resolved; - const definition = variable && variable.defs[0]; - const declaration = definition && definition.parent; - const kind = (declaration && declaration.type === "VariableDeclaration") - ? declaration.kind - : ""; - - // Variables which are declared by `const` is safe. - if (kind === "const") { - return true; - } - - /* - * Variables which are declared by `let` in the loop is safe. - * It's a different instance from the next loop step's. - */ - if (kind === "let" && - declaration.range[0] > loopNode.range[0] && - declaration.range[1] < loopNode.range[1] - ) { - return true; - } - - /* - * WriteReferences which exist after this border are unsafe because those - * can modify the variable. - */ - const border = getTopLoopNode( - loopNode, - (kind === "let") ? declaration : null - ).range[0]; - - /** - * Checks whether a given reference is safe or not. - * The reference is every reference of the upper scope's variable we are - * looking now. - * - * It's safe if the reference matches one of the following condition. - * - is readonly. - * - doesn't exist inside a local function and after the border. - * @param {eslint-scope.Reference} upperRef A reference to check. - * @returns {boolean} `true` if the reference is safe. - */ - function isSafeReference(upperRef) { - const id = upperRef.identifier; - - return ( - !upperRef.isWrite() || - variable.scope.variableScope === upperRef.from.variableScope && - id.range[0] < border - ); - } - - return Boolean(variable) && variable.references.every(isSafeReference); - } - - /** - * Reports functions which match the following condition: - * - * - has a loop node in ancestors. - * - has any references which refers to an unsafe variable. - * @param {ASTNode} node The AST node to check. - * @returns {void} - */ - function checkForLoops(node) { - const loopNode = getContainingLoopNode(node); - - if (!loopNode) { - return; - } - - const references = sourceCode.getScope(node).through; - - // Check if the function is not asynchronous or a generator function - if (!(node.async || node.generator)) { - if (isIIFE(node)) { - - const isFunctionExpression = node.type === "FunctionExpression"; - - // Check if the function is referenced elsewhere in the code - const isFunctionReferenced = isFunctionExpression && node.id ? references.some(r => r.identifier.name === node.id.name) : false; - - if (!isFunctionReferenced) { - SKIPPED_IIFE_NODES.add(node); - return; - } - } - } - - const unsafeRefs = references.filter(r => r.resolved && !isSafe(loopNode, r)).map(r => r.identifier.name); - - if (unsafeRefs.length > 0) { - context.report({ - node, - messageId: "unsafeRefs", - data: { varNames: `'${unsafeRefs.join("', '")}'` } - }); - } - } - - return { - ArrowFunctionExpression: checkForLoops, - FunctionExpression: checkForLoops, - FunctionDeclaration: checkForLoops - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loss-of-precision.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loss-of-precision.js deleted file mode 100644 index c50d8a89..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-loss-of-precision.js +++ /dev/null @@ -1,214 +0,0 @@ -/** - * @fileoverview Rule to flag numbers that will lose significant figure precision at runtime - * @author Jacob Moore - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow literal numbers that lose precision", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-loss-of-precision" - }, - schema: [], - messages: { - noLossOfPrecision: "This number literal will lose precision at runtime." - } - }, - - create(context) { - - /** - * Returns whether the node is number literal - * @param {Node} node the node literal being evaluated - * @returns {boolean} true if the node is a number literal - */ - function isNumber(node) { - return typeof node.value === "number"; - } - - /** - * Gets the source code of the given number literal. Removes `_` numeric separators from the result. - * @param {Node} node the number `Literal` node - * @returns {string} raw source code of the literal, without numeric separators - */ - function getRaw(node) { - return node.raw.replace(/_/gu, ""); - } - - /** - * Checks whether the number is base ten - * @param {ASTNode} node the node being evaluated - * @returns {boolean} true if the node is in base ten - */ - function isBaseTen(node) { - const prefixes = ["0x", "0X", "0b", "0B", "0o", "0O"]; - - return prefixes.every(prefix => !node.raw.startsWith(prefix)) && - !/^0[0-7]+$/u.test(node.raw); - } - - /** - * Checks that the user-intended non-base ten number equals the actual number after is has been converted to the Number type - * @param {Node} node the node being evaluated - * @returns {boolean} true if they do not match - */ - function notBaseTenLosesPrecision(node) { - const rawString = getRaw(node).toUpperCase(); - let base; - - if (rawString.startsWith("0B")) { - base = 2; - } else if (rawString.startsWith("0X")) { - base = 16; - } else { - base = 8; - } - - return !rawString.endsWith(node.value.toString(base).toUpperCase()); - } - - /** - * Adds a decimal point to the numeric string at index 1 - * @param {string} stringNumber the numeric string without any decimal point - * @returns {string} the numeric string with a decimal point in the proper place - */ - function addDecimalPointToNumber(stringNumber) { - return `${stringNumber[0]}.${stringNumber.slice(1)}`; - } - - /** - * Returns the number stripped of leading zeros - * @param {string} numberAsString the string representation of the number - * @returns {string} the stripped string - */ - function removeLeadingZeros(numberAsString) { - for (let i = 0; i < numberAsString.length; i++) { - if (numberAsString[i] !== "0") { - return numberAsString.slice(i); - } - } - return numberAsString; - } - - /** - * Returns the number stripped of trailing zeros - * @param {string} numberAsString the string representation of the number - * @returns {string} the stripped string - */ - function removeTrailingZeros(numberAsString) { - for (let i = numberAsString.length - 1; i >= 0; i--) { - if (numberAsString[i] !== "0") { - return numberAsString.slice(0, i + 1); - } - } - return numberAsString; - } - - /** - * Converts an integer to an object containing the integer's coefficient and order of magnitude - * @param {string} stringInteger the string representation of the integer being converted - * @returns {Object} the object containing the integer's coefficient and order of magnitude - */ - function normalizeInteger(stringInteger) { - const significantDigits = removeTrailingZeros(removeLeadingZeros(stringInteger)); - - return { - magnitude: stringInteger.startsWith("0") ? stringInteger.length - 2 : stringInteger.length - 1, - coefficient: addDecimalPointToNumber(significantDigits) - }; - } - - /** - * - * Converts a float to an object containing the floats's coefficient and order of magnitude - * @param {string} stringFloat the string representation of the float being converted - * @returns {Object} the object containing the integer's coefficient and order of magnitude - */ - function normalizeFloat(stringFloat) { - const trimmedFloat = removeLeadingZeros(stringFloat); - - if (trimmedFloat.startsWith(".")) { - const decimalDigits = trimmedFloat.slice(1); - const significantDigits = removeLeadingZeros(decimalDigits); - - return { - magnitude: significantDigits.length - decimalDigits.length - 1, - coefficient: addDecimalPointToNumber(significantDigits) - }; - - } - return { - magnitude: trimmedFloat.indexOf(".") - 1, - coefficient: addDecimalPointToNumber(trimmedFloat.replace(".", "")) - - }; - } - - /** - * Converts a base ten number to proper scientific notation - * @param {string} stringNumber the string representation of the base ten number to be converted - * @returns {string} the number converted to scientific notation - */ - function convertNumberToScientificNotation(stringNumber) { - const splitNumber = stringNumber.replace("E", "e").split("e"); - const originalCoefficient = splitNumber[0]; - const normalizedNumber = stringNumber.includes(".") ? normalizeFloat(originalCoefficient) - : normalizeInteger(originalCoefficient); - const normalizedCoefficient = normalizedNumber.coefficient; - const magnitude = splitNumber.length > 1 ? (parseInt(splitNumber[1], 10) + normalizedNumber.magnitude) - : normalizedNumber.magnitude; - - return `${normalizedCoefficient}e${magnitude}`; - } - - /** - * Checks that the user-intended base ten number equals the actual number after is has been converted to the Number type - * @param {Node} node the node being evaluated - * @returns {boolean} true if they do not match - */ - function baseTenLosesPrecision(node) { - const normalizedRawNumber = convertNumberToScientificNotation(getRaw(node)); - const requestedPrecision = normalizedRawNumber.split("e")[0].replace(".", "").length; - - if (requestedPrecision > 100) { - return true; - } - const storedNumber = node.value.toPrecision(requestedPrecision); - const normalizedStoredNumber = convertNumberToScientificNotation(storedNumber); - - return normalizedRawNumber !== normalizedStoredNumber; - } - - - /** - * Checks that the user-intended number equals the actual number after is has been converted to the Number type - * @param {Node} node the node being evaluated - * @returns {boolean} true if they do not match - */ - function losesPrecision(node) { - return isBaseTen(node) ? baseTenLosesPrecision(node) : notBaseTenLosesPrecision(node); - } - - - return { - Literal(node) { - if (node.value && isNumber(node) && losesPrecision(node)) { - context.report({ - messageId: "noLossOfPrecision", - node - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-magic-numbers.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-magic-numbers.js deleted file mode 100644 index f48a62d8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-magic-numbers.js +++ /dev/null @@ -1,243 +0,0 @@ -/** - * @fileoverview Rule to flag statements that use magic numbers (adapted from https://github.com/danielstjules/buddy.js) - * @author Vincent Lemeunier - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -// Maximum array length by the ECMAScript Specification. -const MAX_ARRAY_LENGTH = 2 ** 32 - 1; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** - * Convert the value to bigint if it's a string. Otherwise return the value as-is. - * @param {bigint|number|string} x The value to normalize. - * @returns {bigint|number} The normalized value. - */ -function normalizeIgnoreValue(x) { - if (typeof x === "string") { - return BigInt(x.slice(0, -1)); - } - return x; -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow magic numbers", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-magic-numbers" - }, - - schema: [{ - type: "object", - properties: { - detectObjects: { - type: "boolean", - default: false - }, - enforceConst: { - type: "boolean", - default: false - }, - ignore: { - type: "array", - items: { - anyOf: [ - { type: "number" }, - { type: "string", pattern: "^[+-]?(?:0|[1-9][0-9]*)n$" } - ] - }, - uniqueItems: true - }, - ignoreArrayIndexes: { - type: "boolean", - default: false - }, - ignoreDefaultValues: { - type: "boolean", - default: false - }, - ignoreClassFieldInitialValues: { - type: "boolean", - default: false - } - }, - additionalProperties: false - }], - - messages: { - useConst: "Number constants declarations must use 'const'.", - noMagic: "No magic number: {{raw}}." - } - }, - - create(context) { - const config = context.options[0] || {}, - detectObjects = !!config.detectObjects, - enforceConst = !!config.enforceConst, - ignore = new Set((config.ignore || []).map(normalizeIgnoreValue)), - ignoreArrayIndexes = !!config.ignoreArrayIndexes, - ignoreDefaultValues = !!config.ignoreDefaultValues, - ignoreClassFieldInitialValues = !!config.ignoreClassFieldInitialValues; - - const okTypes = detectObjects ? [] : ["ObjectExpression", "Property", "AssignmentExpression"]; - - /** - * Returns whether the rule is configured to ignore the given value - * @param {bigint|number} value The value to check - * @returns {boolean} true if the value is ignored - */ - function isIgnoredValue(value) { - return ignore.has(value); - } - - /** - * Returns whether the number is a default value assignment. - * @param {ASTNode} fullNumberNode `Literal` or `UnaryExpression` full number node - * @returns {boolean} true if the number is a default value - */ - function isDefaultValue(fullNumberNode) { - const parent = fullNumberNode.parent; - - return parent.type === "AssignmentPattern" && parent.right === fullNumberNode; - } - - /** - * Returns whether the number is the initial value of a class field. - * @param {ASTNode} fullNumberNode `Literal` or `UnaryExpression` full number node - * @returns {boolean} true if the number is the initial value of a class field. - */ - function isClassFieldInitialValue(fullNumberNode) { - const parent = fullNumberNode.parent; - - return parent.type === "PropertyDefinition" && parent.value === fullNumberNode; - } - - /** - * Returns whether the given node is used as a radix within parseInt() or Number.parseInt() - * @param {ASTNode} fullNumberNode `Literal` or `UnaryExpression` full number node - * @returns {boolean} true if the node is radix - */ - function isParseIntRadix(fullNumberNode) { - const parent = fullNumberNode.parent; - - return parent.type === "CallExpression" && fullNumberNode === parent.arguments[1] && - ( - astUtils.isSpecificId(parent.callee, "parseInt") || - astUtils.isSpecificMemberAccess(parent.callee, "Number", "parseInt") - ); - } - - /** - * Returns whether the given node is a direct child of a JSX node. - * In particular, it aims to detect numbers used as prop values in JSX tags. - * Example: - * @param {ASTNode} fullNumberNode `Literal` or `UnaryExpression` full number node - * @returns {boolean} true if the node is a JSX number - */ - function isJSXNumber(fullNumberNode) { - return fullNumberNode.parent.type.indexOf("JSX") === 0; - } - - /** - * Returns whether the given node is used as an array index. - * Value must coerce to a valid array index name: "0", "1", "2" ... "4294967294". - * - * All other values, like "-1", "2.5", or "4294967295", are just "normal" object properties, - * which can be created and accessed on an array in addition to the array index properties, - * but they don't affect array's length and are not considered by methods such as .map(), .forEach() etc. - * - * The maximum array length by the specification is 2 ** 32 - 1 = 4294967295, - * thus the maximum valid index is 2 ** 32 - 2 = 4294967294. - * - * All notations are allowed, as long as the value coerces to one of "0", "1", "2" ... "4294967294". - * - * Valid examples: - * a[0], a[1], a[1.2e1], a[0xAB], a[0n], a[1n] - * a[-0] (same as a[0] because -0 coerces to "0") - * a[-0n] (-0n evaluates to 0n) - * - * Invalid examples: - * a[-1], a[-0xAB], a[-1n], a[2.5], a[1.23e1], a[12e-1] - * a[4294967295] (above the max index, it's an access to a regular property a["4294967295"]) - * a[999999999999999999999] (even if it wasn't above the max index, it would be a["1e+21"]) - * a[1e310] (same as a["Infinity"]) - * @param {ASTNode} fullNumberNode `Literal` or `UnaryExpression` full number node - * @param {bigint|number} value Value expressed by the fullNumberNode - * @returns {boolean} true if the node is a valid array index - */ - function isArrayIndex(fullNumberNode, value) { - const parent = fullNumberNode.parent; - - return parent.type === "MemberExpression" && parent.property === fullNumberNode && - (Number.isInteger(value) || typeof value === "bigint") && - value >= 0 && value < MAX_ARRAY_LENGTH; - } - - return { - Literal(node) { - if (!astUtils.isNumericLiteral(node)) { - return; - } - - let fullNumberNode; - let value; - let raw; - - // Treat unary minus as a part of the number - if (node.parent.type === "UnaryExpression" && node.parent.operator === "-") { - fullNumberNode = node.parent; - value = -node.value; - raw = `-${node.raw}`; - } else { - fullNumberNode = node; - value = node.value; - raw = node.raw; - } - - const parent = fullNumberNode.parent; - - // Always allow radix arguments and JSX props - if ( - isIgnoredValue(value) || - (ignoreDefaultValues && isDefaultValue(fullNumberNode)) || - (ignoreClassFieldInitialValues && isClassFieldInitialValue(fullNumberNode)) || - isParseIntRadix(fullNumberNode) || - isJSXNumber(fullNumberNode) || - (ignoreArrayIndexes && isArrayIndex(fullNumberNode, value)) - ) { - return; - } - - if (parent.type === "VariableDeclarator") { - if (enforceConst && parent.parent.kind !== "const") { - context.report({ - node: fullNumberNode, - messageId: "useConst" - }); - } - } else if ( - !okTypes.includes(parent.type) || - (parent.type === "AssignmentExpression" && parent.left.type === "Identifier") - ) { - context.report({ - node: fullNumberNode, - messageId: "noMagic", - data: { - raw - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-misleading-character-class.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-misleading-character-class.js deleted file mode 100644 index d10e0812..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-misleading-character-class.js +++ /dev/null @@ -1,537 +0,0 @@ -/** - * @author Toru Nagashima - */ -"use strict"; - -const { - CALL, - CONSTRUCT, - ReferenceTracker, - getStaticValue, - getStringIfConstant -} = require("@eslint-community/eslint-utils"); -const { RegExpParser, visitRegExpAST } = require("@eslint-community/regexpp"); -const { isCombiningCharacter, isEmojiModifier, isRegionalIndicatorSymbol, isSurrogatePair } = require("./utils/unicode"); -const astUtils = require("./utils/ast-utils.js"); -const { isValidWithUnicodeFlag } = require("./utils/regular-expressions"); -const { parseStringLiteral, parseTemplateToken } = require("./utils/char-source"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * @typedef {import('@eslint-community/regexpp').AST.Character} Character - * @typedef {import('@eslint-community/regexpp').AST.CharacterClassElement} CharacterClassElement - */ - -/** - * Iterate character sequences of a given nodes. - * - * CharacterClassRange syntax can steal a part of character sequence, - * so this function reverts CharacterClassRange syntax and restore the sequence. - * @param {CharacterClassElement[]} nodes The node list to iterate character sequences. - * @returns {IterableIterator} The list of character sequences. - */ -function *iterateCharacterSequence(nodes) { - - /** @type {Character[]} */ - let seq = []; - - for (const node of nodes) { - switch (node.type) { - case "Character": - seq.push(node); - break; - - case "CharacterClassRange": - seq.push(node.min); - yield seq; - seq = [node.max]; - break; - - case "CharacterSet": - case "CharacterClass": // [[]] nesting character class - case "ClassStringDisjunction": // \q{...} - case "ExpressionCharacterClass": // [A--B] - if (seq.length > 0) { - yield seq; - seq = []; - } - break; - - // no default - } - } - - if (seq.length > 0) { - yield seq; - } -} - -/** - * Checks whether the given character node is a Unicode code point escape or not. - * @param {Character} char the character node to check. - * @returns {boolean} `true` if the character node is a Unicode code point escape. - */ -function isUnicodeCodePointEscape(char) { - return /^\\u\{[\da-f]+\}$/iu.test(char.raw); -} - -/** - * Each function returns matched characters if it detects that kind of problem. - * @type {Record IterableIterator>} - */ -const findCharacterSequences = { - *surrogatePairWithoutUFlag(chars) { - for (const [index, char] of chars.entries()) { - const previous = chars[index - 1]; - - if ( - previous && char && - isSurrogatePair(previous.value, char.value) && - !isUnicodeCodePointEscape(previous) && - !isUnicodeCodePointEscape(char) - ) { - yield [previous, char]; - } - } - }, - - *surrogatePair(chars) { - for (const [index, char] of chars.entries()) { - const previous = chars[index - 1]; - - if ( - previous && char && - isSurrogatePair(previous.value, char.value) && - ( - isUnicodeCodePointEscape(previous) || - isUnicodeCodePointEscape(char) - ) - ) { - yield [previous, char]; - } - } - }, - - *combiningClass(chars, unfilteredChars) { - - /* - * When `allowEscape` is `true`, a combined character should only be allowed if the combining mark appears as an escape sequence. - * This means that the base character should be considered even if it's escaped. - */ - for (const [index, char] of chars.entries()) { - const previous = unfilteredChars[index - 1]; - - if ( - previous && char && - isCombiningCharacter(char.value) && - !isCombiningCharacter(previous.value) - ) { - yield [previous, char]; - } - } - }, - - *emojiModifier(chars) { - for (const [index, char] of chars.entries()) { - const previous = chars[index - 1]; - - if ( - previous && char && - isEmojiModifier(char.value) && - !isEmojiModifier(previous.value) - ) { - yield [previous, char]; - } - } - }, - - *regionalIndicatorSymbol(chars) { - for (const [index, char] of chars.entries()) { - const previous = chars[index - 1]; - - if ( - previous && char && - isRegionalIndicatorSymbol(char.value) && - isRegionalIndicatorSymbol(previous.value) - ) { - yield [previous, char]; - } - } - }, - - *zwj(chars) { - let sequence = null; - - for (const [index, char] of chars.entries()) { - const previous = chars[index - 1]; - const next = chars[index + 1]; - - if ( - previous && char && next && - char.value === 0x200d && - previous.value !== 0x200d && - next.value !== 0x200d - ) { - if (sequence) { - if (sequence.at(-1) === previous) { - sequence.push(char, next); // append to the sequence - } else { - yield sequence; - sequence = chars.slice(index - 1, index + 2); - } - } else { - sequence = chars.slice(index - 1, index + 2); - } - } - } - - if (sequence) { - yield sequence; - } - } -}; - -const kinds = Object.keys(findCharacterSequences); - -/** - * Gets the value of the given node if it's a static value other than a regular expression object, - * or the node's `regex` property. - * The purpose of this method is to provide a replacement for `getStaticValue` in environments where certain regular expressions cannot be evaluated. - * A known example is Node.js 18 which does not support the `v` flag. - * Calling `getStaticValue` on a regular expression node with the `v` flag on Node.js 18 always returns `null`. - * A limitation of this method is that it can only detect a regular expression if the specified node is itself a regular expression literal node. - * @param {ASTNode | undefined} node The node to be inspected. - * @param {Scope} initialScope Scope to start finding variables. This function tries to resolve identifier references which are in the given scope. - * @returns {{ value: any } | { regex: { pattern: string, flags: string } } | null} The static value of the node, or `null`. - */ -function getStaticValueOrRegex(node, initialScope) { - if (!node) { - return null; - } - if (node.type === "Literal" && node.regex) { - return { regex: node.regex }; - } - - const staticValue = getStaticValue(node, initialScope); - - if (staticValue?.value instanceof RegExp) { - return null; - } - return staticValue; -} - -/** - * Checks whether a specified regexpp character is represented as an acceptable escape sequence. - * This function requires the source text of the character to be known. - * @param {Character} char Character to check. - * @param {string} charSource Source text of the character to check. - * @returns {boolean} Whether the specified regexpp character is represented as an acceptable escape sequence. - */ -function checkForAcceptableEscape(char, charSource) { - if (!charSource.startsWith("\\")) { - return false; - } - const match = /(?<=^\\+).$/su.exec(charSource); - - return match?.[0] !== String.fromCodePoint(char.value); -} - -/** - * Checks whether a specified regexpp character is represented as an acceptable escape sequence. - * This function works with characters that are produced by a string or template literal. - * It requires the source text and the CodeUnit list of the literal to be known. - * @param {Character} char Character to check. - * @param {string} nodeSource Source text of the string or template literal that produces the character. - * @param {CodeUnit[]} codeUnits List of CodeUnit objects of the literal that produces the character. - * @returns {boolean} Whether the specified regexpp character is represented as an acceptable escape sequence. - */ -function checkForAcceptableEscapeInString(char, nodeSource, codeUnits) { - const firstIndex = char.start; - const lastIndex = char.end - 1; - const start = codeUnits[firstIndex].start; - const end = codeUnits[lastIndex].end; - const charSource = nodeSource.slice(start, end); - - return checkForAcceptableEscape(char, charSource); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow characters which are made with multiple code points in character class syntax", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-misleading-character-class" - }, - - hasSuggestions: true, - - schema: [ - { - type: "object", - properties: { - allowEscape: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - messages: { - surrogatePairWithoutUFlag: "Unexpected surrogate pair in character class. Use 'u' flag.", - surrogatePair: "Unexpected surrogate pair in character class.", - combiningClass: "Unexpected combined character in character class.", - emojiModifier: "Unexpected modified Emoji in character class.", - regionalIndicatorSymbol: "Unexpected national flag in character class.", - zwj: "Unexpected joined character sequence in character class.", - suggestUnicodeFlag: "Add unicode 'u' flag to regex." - } - }, - create(context) { - const allowEscape = context.options[0]?.allowEscape; - const sourceCode = context.sourceCode; - const parser = new RegExpParser(); - const checkedPatternNodes = new Set(); - - /** - * Verify a given regular expression. - * @param {Node} node The node to report. - * @param {string} pattern The regular expression pattern to verify. - * @param {string} flags The flags of the regular expression. - * @param {Function} unicodeFixer Fixer for missing "u" flag. - * @returns {void} - */ - function verify(node, pattern, flags, unicodeFixer) { - let patternNode; - - try { - patternNode = parser.parsePattern( - pattern, - 0, - pattern.length, - { - unicode: flags.includes("u"), - unicodeSets: flags.includes("v") - } - ); - } catch { - - // Ignore regular expressions with syntax errors - return; - } - - let codeUnits = null; - - /** - * Checks whether a specified regexpp character is represented as an acceptable escape sequence. - * For the purposes of this rule, an escape sequence is considered acceptable if it consists of one or more backslashes followed by the character being escaped. - * @param {Character} char Character to check. - * @returns {boolean} Whether the specified regexpp character is represented as an acceptable escape sequence. - */ - function isAcceptableEscapeSequence(char) { - if (node.type === "Literal" && node.regex) { - return checkForAcceptableEscape(char, char.raw); - } - if (node.type === "Literal" && typeof node.value === "string") { - const nodeSource = node.raw; - - codeUnits ??= parseStringLiteral(nodeSource); - - return checkForAcceptableEscapeInString(char, nodeSource, codeUnits); - } - if (astUtils.isStaticTemplateLiteral(node)) { - const nodeSource = sourceCode.getText(node); - - codeUnits ??= parseTemplateToken(nodeSource); - - return checkForAcceptableEscapeInString(char, nodeSource, codeUnits); - } - return false; - } - - const foundKindMatches = new Map(); - - visitRegExpAST(patternNode, { - onCharacterClassEnter(ccNode) { - for (const unfilteredChars of iterateCharacterSequence(ccNode.elements)) { - let chars; - - if (allowEscape) { - - // Replace escape sequences with null to avoid having them flagged. - chars = unfilteredChars.map(char => (isAcceptableEscapeSequence(char) ? null : char)); - } else { - chars = unfilteredChars; - } - for (const kind of kinds) { - const matches = findCharacterSequences[kind](chars, unfilteredChars); - - if (foundKindMatches.has(kind)) { - foundKindMatches.get(kind).push(...matches); - } else { - foundKindMatches.set(kind, [...matches]); - } - } - } - } - }); - - /** - * Finds the report loc(s) for a range of matches. - * Only literals and expression-less templates generate granular errors. - * @param {Character[][]} matches Lists of individual characters being reported on. - * @returns {Location[]} locs for context.report. - * @see https://github.com/eslint/eslint/pull/17515 - */ - function getNodeReportLocations(matches) { - if (!astUtils.isStaticTemplateLiteral(node) && node.type !== "Literal") { - return matches.length ? [node.loc] : []; - } - return matches.map(chars => { - const firstIndex = chars[0].start; - const lastIndex = chars.at(-1).end - 1; - let start; - let end; - - if (node.type === "TemplateLiteral") { - const source = sourceCode.getText(node); - const offset = node.range[0]; - - codeUnits ??= parseTemplateToken(source); - start = offset + codeUnits[firstIndex].start; - end = offset + codeUnits[lastIndex].end; - } else if (typeof node.value === "string") { // String Literal - const source = node.raw; - const offset = node.range[0]; - - codeUnits ??= parseStringLiteral(source); - start = offset + codeUnits[firstIndex].start; - end = offset + codeUnits[lastIndex].end; - } else { // RegExp Literal - const offset = node.range[0] + 1; // Add 1 to skip the leading slash. - - start = offset + firstIndex; - end = offset + lastIndex + 1; - } - - return { - start: sourceCode.getLocFromIndex(start), - end: sourceCode.getLocFromIndex(end) - }; - }); - } - - for (const [kind, matches] of foundKindMatches) { - let suggest; - - if (kind === "surrogatePairWithoutUFlag") { - suggest = [{ - messageId: "suggestUnicodeFlag", - fix: unicodeFixer - }]; - } - - const locs = getNodeReportLocations(matches); - - for (const loc of locs) { - context.report({ - node, - loc, - messageId: kind, - suggest - }); - } - } - } - - return { - "Literal[regex]"(node) { - if (checkedPatternNodes.has(node)) { - return; - } - verify(node, node.regex.pattern, node.regex.flags, fixer => { - if (!isValidWithUnicodeFlag(context.languageOptions.ecmaVersion, node.regex.pattern)) { - return null; - } - - return fixer.insertTextAfter(node, "u"); - }); - }, - "Program"(node) { - const scope = sourceCode.getScope(node); - const tracker = new ReferenceTracker(scope); - - /* - * Iterate calls of RegExp. - * E.g., `new RegExp()`, `RegExp()`, `new window.RegExp()`, - * `const {RegExp: a} = window; new a()`, etc... - */ - for (const { node: refNode } of tracker.iterateGlobalReferences({ - RegExp: { [CALL]: true, [CONSTRUCT]: true } - })) { - let pattern, flags; - const [patternNode, flagsNode] = refNode.arguments; - const evaluatedPattern = getStaticValueOrRegex(patternNode, scope); - - if (!evaluatedPattern) { - continue; - } - if (flagsNode) { - if (evaluatedPattern.regex) { - pattern = evaluatedPattern.regex.pattern; - checkedPatternNodes.add(patternNode); - } else { - pattern = String(evaluatedPattern.value); - } - flags = getStringIfConstant(flagsNode, scope); - } else { - if (evaluatedPattern.regex) { - continue; - } - pattern = String(evaluatedPattern.value); - flags = ""; - } - - if (typeof flags === "string") { - verify(patternNode, pattern, flags, fixer => { - - if (!isValidWithUnicodeFlag(context.languageOptions.ecmaVersion, pattern)) { - return null; - } - - if (refNode.arguments.length === 1) { - const penultimateToken = sourceCode.getLastToken(refNode, { skip: 1 }); // skip closing parenthesis - - return fixer.insertTextAfter( - penultimateToken, - astUtils.isCommaToken(penultimateToken) - ? ' "u",' - : ', "u"' - ); - } - - if ((flagsNode.type === "Literal" && typeof flagsNode.value === "string") || flagsNode.type === "TemplateLiteral") { - const range = [flagsNode.range[0], flagsNode.range[1] - 1]; - - return fixer.insertTextAfterRange(range, "u"); - } - - return null; - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-operators.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-operators.js deleted file mode 100644 index 6b6f7364..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-operators.js +++ /dev/null @@ -1,229 +0,0 @@ -/** - * @fileoverview Rule to disallow mixed binary operators. - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils.js"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const ARITHMETIC_OPERATORS = ["+", "-", "*", "/", "%", "**"]; -const BITWISE_OPERATORS = ["&", "|", "^", "~", "<<", ">>", ">>>"]; -const COMPARISON_OPERATORS = ["==", "!=", "===", "!==", ">", ">=", "<", "<="]; -const LOGICAL_OPERATORS = ["&&", "||"]; -const RELATIONAL_OPERATORS = ["in", "instanceof"]; -const TERNARY_OPERATOR = ["?:"]; -const COALESCE_OPERATOR = ["??"]; -const ALL_OPERATORS = [].concat( - ARITHMETIC_OPERATORS, - BITWISE_OPERATORS, - COMPARISON_OPERATORS, - LOGICAL_OPERATORS, - RELATIONAL_OPERATORS, - TERNARY_OPERATOR, - COALESCE_OPERATOR -); -const DEFAULT_GROUPS = [ - ARITHMETIC_OPERATORS, - BITWISE_OPERATORS, - COMPARISON_OPERATORS, - LOGICAL_OPERATORS, - RELATIONAL_OPERATORS -]; -const TARGET_NODE_TYPE = /^(?:Binary|Logical|Conditional)Expression$/u; - -/** - * Normalizes options. - * @param {Object|undefined} options A options object to normalize. - * @returns {Object} Normalized option object. - */ -function normalizeOptions(options = {}) { - const hasGroups = options.groups && options.groups.length > 0; - const groups = hasGroups ? options.groups : DEFAULT_GROUPS; - const allowSamePrecedence = options.allowSamePrecedence !== false; - - return { - groups, - allowSamePrecedence - }; -} - -/** - * Checks whether any group which includes both given operator exists or not. - * @param {Array} groups A list of groups to check. - * @param {string} left An operator. - * @param {string} right Another operator. - * @returns {boolean} `true` if such group existed. - */ -function includesBothInAGroup(groups, left, right) { - return groups.some(group => group.includes(left) && group.includes(right)); -} - -/** - * Checks whether the given node is a conditional expression and returns the test node else the left node. - * @param {ASTNode} node A node which can be a BinaryExpression or a LogicalExpression node. - * This parent node can be BinaryExpression, LogicalExpression - * , or a ConditionalExpression node - * @returns {ASTNode} node the appropriate node(left or test). - */ -function getChildNode(node) { - return node.type === "ConditionalExpression" ? node.test : node.left; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - - docs: { - description: "Disallow mixed binary operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-mixed-operators" - }, - - schema: [ - { - type: "object", - properties: { - groups: { - type: "array", - items: { - type: "array", - items: { enum: ALL_OPERATORS }, - minItems: 2, - uniqueItems: true - }, - uniqueItems: true - }, - allowSamePrecedence: { - type: "boolean", - default: true - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedMixedOperator: "Unexpected mix of '{{leftOperator}}' and '{{rightOperator}}'. Use parentheses to clarify the intended order of operations." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const options = normalizeOptions(context.options[0]); - - /** - * Checks whether a given node should be ignored by options or not. - * @param {ASTNode} node A node to check. This is a BinaryExpression - * node or a LogicalExpression node. This parent node is one of - * them, too. - * @returns {boolean} `true` if the node should be ignored. - */ - function shouldIgnore(node) { - const a = node; - const b = node.parent; - - return ( - !includesBothInAGroup(options.groups, a.operator, b.type === "ConditionalExpression" ? "?:" : b.operator) || - ( - options.allowSamePrecedence && - astUtils.getPrecedence(a) === astUtils.getPrecedence(b) - ) - ); - } - - /** - * Checks whether the operator of a given node is mixed with parent - * node's operator or not. - * @param {ASTNode} node A node to check. This is a BinaryExpression - * node or a LogicalExpression node. This parent node is one of - * them, too. - * @returns {boolean} `true` if the node was mixed. - */ - function isMixedWithParent(node) { - - return ( - node.operator !== node.parent.operator && - !astUtils.isParenthesised(sourceCode, node) - ); - } - - /** - * Gets the operator token of a given node. - * @param {ASTNode} node A node to check. This is a BinaryExpression - * node or a LogicalExpression node. - * @returns {Token} The operator token of the node. - */ - function getOperatorToken(node) { - return sourceCode.getTokenAfter(getChildNode(node), astUtils.isNotClosingParenToken); - } - - /** - * Reports both the operator of a given node and the operator of the - * parent node. - * @param {ASTNode} node A node to check. This is a BinaryExpression - * node or a LogicalExpression node. This parent node is one of - * them, too. - * @returns {void} - */ - function reportBothOperators(node) { - const parent = node.parent; - const left = (getChildNode(parent) === node) ? node : parent; - const right = (getChildNode(parent) !== node) ? node : parent; - const data = { - leftOperator: left.operator || "?:", - rightOperator: right.operator || "?:" - }; - - context.report({ - node: left, - loc: getOperatorToken(left).loc, - messageId: "unexpectedMixedOperator", - data - }); - context.report({ - node: right, - loc: getOperatorToken(right).loc, - messageId: "unexpectedMixedOperator", - data - }); - } - - /** - * Checks between the operator of this node and the operator of the - * parent node. - * @param {ASTNode} node A node to check. - * @returns {void} - */ - function check(node) { - if ( - TARGET_NODE_TYPE.test(node.parent.type) && - isMixedWithParent(node) && - !shouldIgnore(node) - ) { - reportBothOperators(node); - } - } - - return { - BinaryExpression: check, - LogicalExpression: check - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-requires.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-requires.js deleted file mode 100644 index 9e7b8039..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-requires.js +++ /dev/null @@ -1,238 +0,0 @@ -/** - * @fileoverview Rule to enforce grouped require statements for Node.JS - * @author Raphael Pigulla - * @deprecated in ESLint v7.0.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Disallow `require` calls to be mixed with regular variable declarations", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-mixed-requires" - }, - - schema: [ - { - oneOf: [ - { - type: "boolean" - }, - { - type: "object", - properties: { - grouping: { - type: "boolean" - }, - allowCall: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - noMixRequire: "Do not mix 'require' and other declarations.", - noMixCoreModuleFileComputed: "Do not mix core, module, file and computed requires." - } - }, - - create(context) { - - const options = context.options[0]; - let grouping = false, - allowCall = false; - - if (typeof options === "object") { - grouping = options.grouping; - allowCall = options.allowCall; - } else { - grouping = !!options; - } - - /** - * Returns the list of built-in modules. - * @returns {string[]} An array of built-in Node.js modules. - */ - function getBuiltinModules() { - - /* - * This list is generated using: - * `require("repl")._builtinLibs.concat('repl').sort()` - * This particular list is as per nodejs v0.12.2 and iojs v0.7.1 - */ - return [ - "assert", "buffer", "child_process", "cluster", "crypto", - "dgram", "dns", "domain", "events", "fs", "http", "https", - "net", "os", "path", "punycode", "querystring", "readline", - "repl", "smalloc", "stream", "string_decoder", "tls", "tty", - "url", "util", "v8", "vm", "zlib" - ]; - } - - const BUILTIN_MODULES = getBuiltinModules(); - - const DECL_REQUIRE = "require", - DECL_UNINITIALIZED = "uninitialized", - DECL_OTHER = "other"; - - const REQ_CORE = "core", - REQ_FILE = "file", - REQ_MODULE = "module", - REQ_COMPUTED = "computed"; - - /** - * Determines the type of a declaration statement. - * @param {ASTNode} initExpression The init node of the VariableDeclarator. - * @returns {string} The type of declaration represented by the expression. - */ - function getDeclarationType(initExpression) { - if (!initExpression) { - - // "var x;" - return DECL_UNINITIALIZED; - } - - if (initExpression.type === "CallExpression" && - initExpression.callee.type === "Identifier" && - initExpression.callee.name === "require" - ) { - - // "var x = require('util');" - return DECL_REQUIRE; - } - if (allowCall && - initExpression.type === "CallExpression" && - initExpression.callee.type === "CallExpression" - ) { - - // "var x = require('diagnose')('sub-module');" - return getDeclarationType(initExpression.callee); - } - if (initExpression.type === "MemberExpression") { - - // "var x = require('glob').Glob;" - return getDeclarationType(initExpression.object); - } - - // "var x = 42;" - return DECL_OTHER; - } - - /** - * Determines the type of module that is loaded via require. - * @param {ASTNode} initExpression The init node of the VariableDeclarator. - * @returns {string} The module type. - */ - function inferModuleType(initExpression) { - if (initExpression.type === "MemberExpression") { - - // "var x = require('glob').Glob;" - return inferModuleType(initExpression.object); - } - if (initExpression.arguments.length === 0) { - - // "var x = require();" - return REQ_COMPUTED; - } - - const arg = initExpression.arguments[0]; - - if (arg.type !== "Literal" || typeof arg.value !== "string") { - - // "var x = require(42);" - return REQ_COMPUTED; - } - - if (BUILTIN_MODULES.includes(arg.value)) { - - // "var fs = require('fs');" - return REQ_CORE; - } - if (/^\.{0,2}\//u.test(arg.value)) { - - // "var utils = require('./utils');" - return REQ_FILE; - } - - // "var async = require('async');" - return REQ_MODULE; - - } - - /** - * Check if the list of variable declarations is mixed, i.e. whether it - * contains both require and other declarations. - * @param {ASTNode} declarations The list of VariableDeclarators. - * @returns {boolean} True if the declarations are mixed, false if not. - */ - function isMixed(declarations) { - const contains = {}; - - declarations.forEach(declaration => { - const type = getDeclarationType(declaration.init); - - contains[type] = true; - }); - - return !!( - contains[DECL_REQUIRE] && - (contains[DECL_UNINITIALIZED] || contains[DECL_OTHER]) - ); - } - - /** - * Check if all require declarations in the given list are of the same - * type. - * @param {ASTNode} declarations The list of VariableDeclarators. - * @returns {boolean} True if the declarations are grouped, false if not. - */ - function isGrouped(declarations) { - const found = {}; - - declarations.forEach(declaration => { - if (getDeclarationType(declaration.init) === DECL_REQUIRE) { - found[inferModuleType(declaration.init)] = true; - } - }); - - return Object.keys(found).length <= 1; - } - - - return { - - VariableDeclaration(node) { - - if (isMixed(node.declarations)) { - context.report({ - node, - messageId: "noMixRequire" - }); - } else if (grouping && !isGrouped(node.declarations)) { - context.report({ - node, - messageId: "noMixCoreModuleFileComputed" - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js deleted file mode 100644 index 18e6114a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +++ /dev/null @@ -1,116 +0,0 @@ -/** - * @fileoverview Disallow mixed spaces and tabs for indentation - * @author Jary Niebur - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow mixed spaces and tabs for indentation", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-mixed-spaces-and-tabs" - }, - - schema: [ - { - enum: ["smart-tabs", true, false] - } - ], - - messages: { - mixedSpacesAndTabs: "Mixed spaces and tabs." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - let smartTabs; - - switch (context.options[0]) { - case true: // Support old syntax, maybe add deprecation warning here - case "smart-tabs": - smartTabs = true; - break; - default: - smartTabs = false; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - "Program:exit"(node) { - const lines = sourceCode.lines, - comments = sourceCode.getAllComments(), - ignoredCommentLines = new Set(); - - // Add all lines except the first ones. - comments.forEach(comment => { - for (let i = comment.loc.start.line + 1; i <= comment.loc.end.line; i++) { - ignoredCommentLines.add(i); - } - }); - - /* - * At least one space followed by a tab - * or the reverse before non-tab/-space - * characters begin. - */ - let regex = /^(?=( +|\t+))\1(?:\t| )/u; - - if (smartTabs) { - - /* - * At least one space followed by a tab - * before non-tab/-space characters begin. - */ - regex = /^(?=(\t*))\1(?=( +))\2\t/u; - } - - lines.forEach((line, i) => { - const match = regex.exec(line); - - if (match) { - const lineNumber = i + 1; - const loc = { - start: { - line: lineNumber, - column: match[0].length - 2 - }, - end: { - line: lineNumber, - column: match[0].length - } - }; - - if (!ignoredCommentLines.has(lineNumber)) { - const containingNode = sourceCode.getNodeByRangeIndex(sourceCode.getIndexFromLoc(loc.start)); - - if (!(containingNode && ["Literal", "TemplateElement"].includes(containingNode.type))) { - context.report({ - node, - loc, - messageId: "mixedSpacesAndTabs" - }); - } - } - } - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-assign.js deleted file mode 100644 index 6e455926..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-assign.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @fileoverview Rule to check use of chained assignment expressions - * @author Stewart Rand - */ - -"use strict"; - - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - ignoreNonDeclaration: false - }], - - docs: { - description: "Disallow use of chained assignment expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-multi-assign" - }, - - schema: [{ - type: "object", - properties: { - ignoreNonDeclaration: { - type: "boolean" - } - }, - additionalProperties: false - }], - - messages: { - unexpectedChain: "Unexpected chained assignment." - } - }, - - create(context) { - const [{ ignoreNonDeclaration }] = context.options; - const selectors = [ - "VariableDeclarator > AssignmentExpression.init", - "PropertyDefinition > AssignmentExpression.value" - ]; - - if (!ignoreNonDeclaration) { - selectors.push("AssignmentExpression > AssignmentExpression.right"); - } - - return { - [selectors](node) { - context.report({ - node, - messageId: "unexpectedChain" - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-spaces.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-spaces.js deleted file mode 100644 index bc90ee5b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-spaces.js +++ /dev/null @@ -1,141 +0,0 @@ -/** - * @fileoverview Disallow use of multiple spaces. - * @author Nicholas C. Zakas - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow multiple spaces", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-multi-spaces" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - exceptions: { - type: "object", - patternProperties: { - "^([A-Z][a-z]*)+$": { - type: "boolean" - } - }, - additionalProperties: false - }, - ignoreEOLComments: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - messages: { - multipleSpaces: "Multiple spaces found before '{{displayValue}}'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const options = context.options[0] || {}; - const ignoreEOLComments = options.ignoreEOLComments; - const exceptions = Object.assign({ Property: true }, options.exceptions); - const hasExceptions = Object.keys(exceptions).some(key => exceptions[key]); - - /** - * Formats value of given comment token for error message by truncating its length. - * @param {Token} token comment token - * @returns {string} formatted value - * @private - */ - function formatReportedCommentValue(token) { - const valueLines = token.value.split("\n"); - const value = valueLines[0]; - const formattedValue = `${value.slice(0, 12)}...`; - - return valueLines.length === 1 && value.length <= 12 ? value : formattedValue; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program() { - sourceCode.tokensAndComments.forEach((leftToken, leftIndex, tokensAndComments) => { - if (leftIndex === tokensAndComments.length - 1) { - return; - } - const rightToken = tokensAndComments[leftIndex + 1]; - - // Ignore tokens that don't have 2 spaces between them or are on different lines - if ( - !sourceCode.text.slice(leftToken.range[1], rightToken.range[0]).includes(" ") || - leftToken.loc.end.line < rightToken.loc.start.line - ) { - return; - } - - // Ignore comments that are the last token on their line if `ignoreEOLComments` is active. - if ( - ignoreEOLComments && - astUtils.isCommentToken(rightToken) && - ( - leftIndex === tokensAndComments.length - 2 || - rightToken.loc.end.line < tokensAndComments[leftIndex + 2].loc.start.line - ) - ) { - return; - } - - // Ignore tokens that are in a node in the "exceptions" object - if (hasExceptions) { - const parentNode = sourceCode.getNodeByRangeIndex(rightToken.range[0] - 1); - - if (parentNode && exceptions[parentNode.type]) { - return; - } - } - - let displayValue; - - if (rightToken.type === "Block") { - displayValue = `/*${formatReportedCommentValue(rightToken)}*/`; - } else if (rightToken.type === "Line") { - displayValue = `//${formatReportedCommentValue(rightToken)}`; - } else { - displayValue = rightToken.value; - } - - context.report({ - node: rightToken, - loc: { start: leftToken.loc.end, end: rightToken.loc.start }, - messageId: "multipleSpaces", - data: { displayValue }, - fix: fixer => fixer.replaceTextRange([leftToken.range[1], rightToken.range[0]], " ") - }); - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-str.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-str.js deleted file mode 100644 index 8011729e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multi-str.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - * @fileoverview Rule to flag when using multiline strings - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow multiline strings", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-multi-str" - }, - - schema: [], - - messages: { - multilineString: "Multiline support is limited to browsers supporting ES5 only." - } - }, - - create(context) { - - /** - * Determines if a given node is part of JSX syntax. - * @param {ASTNode} node The node to check. - * @returns {boolean} True if the node is a JSX node, false if not. - * @private - */ - function isJSXElement(node) { - return node.type.indexOf("JSX") === 0; - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - - Literal(node) { - if (astUtils.LINEBREAK_MATCHER.test(node.raw) && !isJSXElement(node.parent)) { - context.report({ - node, - messageId: "multilineString" - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multiple-empty-lines.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multiple-empty-lines.js deleted file mode 100644 index b597138e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @fileoverview Disallows multiple blank lines. - * implementation adapted from the no-trailing-spaces rule. - * @author Greg Cochard - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow multiple empty lines", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-multiple-empty-lines" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - max: { - type: "integer", - minimum: 0 - }, - maxEOF: { - type: "integer", - minimum: 0 - }, - maxBOF: { - type: "integer", - minimum: 0 - } - }, - required: ["max"], - additionalProperties: false - } - ], - - messages: { - blankBeginningOfFile: "Too many blank lines at the beginning of file. Max of {{max}} allowed.", - blankEndOfFile: "Too many blank lines at the end of file. Max of {{max}} allowed.", - consecutiveBlank: "More than {{max}} blank {{pluralizedLines}} not allowed." - } - }, - - create(context) { - - // Use options.max or 2 as default - let max = 2, - maxEOF = max, - maxBOF = max; - - if (context.options.length) { - max = context.options[0].max; - maxEOF = typeof context.options[0].maxEOF !== "undefined" ? context.options[0].maxEOF : max; - maxBOF = typeof context.options[0].maxBOF !== "undefined" ? context.options[0].maxBOF : max; - } - - const sourceCode = context.sourceCode; - - // Swallow the final newline, as some editors add it automatically and we don't want it to cause an issue - const allLines = sourceCode.lines.at(-1) === "" ? sourceCode.lines.slice(0, -1) : sourceCode.lines; - const templateLiteralLines = new Set(); - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - TemplateLiteral(node) { - node.quasis.forEach(literalPart => { - - // Empty lines have a semantic meaning if they're inside template literals. Don't count these as empty lines. - for (let ignoredLine = literalPart.loc.start.line; ignoredLine < literalPart.loc.end.line; ignoredLine++) { - templateLiteralLines.add(ignoredLine); - } - }); - }, - "Program:exit"(node) { - return allLines - - // Given a list of lines, first get a list of line numbers that are non-empty. - .reduce((nonEmptyLineNumbers, line, index) => { - if (line.trim() || templateLiteralLines.has(index + 1)) { - nonEmptyLineNumbers.push(index + 1); - } - return nonEmptyLineNumbers; - }, []) - - // Add a value at the end to allow trailing empty lines to be checked. - .concat(allLines.length + 1) - - // Given two line numbers of non-empty lines, report the lines between if the difference is too large. - .reduce((lastLineNumber, lineNumber) => { - let messageId, maxAllowed; - - if (lastLineNumber === 0) { - messageId = "blankBeginningOfFile"; - maxAllowed = maxBOF; - } else if (lineNumber === allLines.length + 1) { - messageId = "blankEndOfFile"; - maxAllowed = maxEOF; - } else { - messageId = "consecutiveBlank"; - maxAllowed = max; - } - - if (lineNumber - lastLineNumber - 1 > maxAllowed) { - context.report({ - node, - loc: { - start: { line: lastLineNumber + maxAllowed + 1, column: 0 }, - end: { line: lineNumber, column: 0 } - }, - messageId, - data: { - max: maxAllowed, - pluralizedLines: maxAllowed === 1 ? "line" : "lines" - }, - fix(fixer) { - const rangeStart = sourceCode.getIndexFromLoc({ line: lastLineNumber + 1, column: 0 }); - - /* - * The end of the removal range is usually the start index of the next line. - * However, at the end of the file there is no next line, so the end of the - * range is just the length of the text. - */ - const lineNumberAfterRemovedLines = lineNumber - maxAllowed; - const rangeEnd = lineNumberAfterRemovedLines <= allLines.length - ? sourceCode.getIndexFromLoc({ line: lineNumberAfterRemovedLines, column: 0 }) - : sourceCode.text.length; - - return fixer.removeRange([rangeStart, rangeEnd]); - } - }); - } - - return lineNumber; - }, 0); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-native-reassign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-native-reassign.js deleted file mode 100644 index e3fed445..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-native-reassign.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * @fileoverview Rule to disallow assignments to native objects or read-only global variables - * @author Ilya Volodin - * @deprecated in ESLint v3.3.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow assignments to native objects or read-only global variables", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-native-reassign" - }, - - deprecated: true, - - replacedBy: ["no-global-assign"], - - schema: [ - { - type: "object", - properties: { - exceptions: { - type: "array", - items: { type: "string" }, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - nativeReassign: "Read-only global '{{name}}' should not be modified." - } - }, - - create(context) { - const config = context.options[0]; - const exceptions = (config && config.exceptions) || []; - const sourceCode = context.sourceCode; - - /** - * Reports write references. - * @param {Reference} reference A reference to check. - * @param {int} index The index of the reference in the references. - * @param {Reference[]} references The array that the reference belongs to. - * @returns {void} - */ - function checkReference(reference, index, references) { - const identifier = reference.identifier; - - if (reference.init === false && - reference.isWrite() && - - /* - * Destructuring assignments can have multiple default value, - * so possibly there are multiple writeable references for the same identifier. - */ - (index === 0 || references[index - 1].identifier !== identifier) - ) { - context.report({ - node: identifier, - messageId: "nativeReassign", - data: identifier - }); - } - } - - /** - * Reports write references if a given variable is read-only builtin. - * @param {Variable} variable A variable to check. - * @returns {void} - */ - function checkVariable(variable) { - if (variable.writeable === false && !exceptions.includes(variable.name)) { - variable.references.forEach(checkReference); - } - } - - return { - Program(node) { - const globalScope = sourceCode.getScope(node); - - globalScope.variables.forEach(checkVariable); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-condition.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-condition.js deleted file mode 100644 index 3cb75904..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-condition.js +++ /dev/null @@ -1,95 +0,0 @@ -/** - * @fileoverview Rule to disallow a negated condition - * @author Alberto Rodríguez - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow negated conditions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-negated-condition" - }, - - schema: [], - - messages: { - unexpectedNegated: "Unexpected negated condition." - } - }, - - create(context) { - - /** - * Determines if a given node is an if-else without a condition on the else - * @param {ASTNode} node The node to check. - * @returns {boolean} True if the node has an else without an if. - * @private - */ - function hasElseWithoutCondition(node) { - return node.alternate && node.alternate.type !== "IfStatement"; - } - - /** - * Determines if a given node is a negated unary expression - * @param {Object} test The test object to check. - * @returns {boolean} True if the node is a negated unary expression. - * @private - */ - function isNegatedUnaryExpression(test) { - return test.type === "UnaryExpression" && test.operator === "!"; - } - - /** - * Determines if a given node is a negated binary expression - * @param {Test} test The test to check. - * @returns {boolean} True if the node is a negated binary expression. - * @private - */ - function isNegatedBinaryExpression(test) { - return test.type === "BinaryExpression" && - (test.operator === "!=" || test.operator === "!=="); - } - - /** - * Determines if a given node has a negated if expression - * @param {ASTNode} node The node to check. - * @returns {boolean} True if the node has a negated if expression. - * @private - */ - function isNegatedIf(node) { - return isNegatedUnaryExpression(node.test) || isNegatedBinaryExpression(node.test); - } - - return { - IfStatement(node) { - if (!hasElseWithoutCondition(node)) { - return; - } - - if (isNegatedIf(node)) { - context.report({ - node, - messageId: "unexpectedNegated" - }); - } - }, - ConditionalExpression(node) { - if (isNegatedIf(node)) { - context.report({ - node, - messageId: "unexpectedNegated" - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-in-lhs.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-in-lhs.js deleted file mode 100644 index 7a50be7f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-negated-in-lhs.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * @fileoverview A rule to disallow negated left operands of the `in` operator - * @author Michael Ficarra - * @deprecated in ESLint v3.3.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow negating the left operand in `in` expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-negated-in-lhs" - }, - - replacedBy: ["no-unsafe-negation"], - - deprecated: true, - schema: [], - - messages: { - negatedLHS: "The 'in' expression's left operand is negated." - } - }, - - create(context) { - - return { - - BinaryExpression(node) { - if (node.operator === "in" && node.left.type === "UnaryExpression" && node.left.operator === "!") { - context.report({ node, messageId: "negatedLHS" }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nested-ternary.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nested-ternary.js deleted file mode 100644 index faf80416..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nested-ternary.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @fileoverview Rule to flag nested ternary expressions - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow nested ternary expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-nested-ternary" - }, - - schema: [], - - messages: { - noNestedTernary: "Do not nest ternary expressions." - } - }, - - create(context) { - - return { - ConditionalExpression(node) { - if (node.alternate.type === "ConditionalExpression" || - node.consequent.type === "ConditionalExpression") { - context.report({ - node, - messageId: "noNestedTernary" - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-func.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-func.js deleted file mode 100644 index d58b2d71..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-func.js +++ /dev/null @@ -1,87 +0,0 @@ -/** - * @fileoverview Rule to flag when using new Function - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const callMethods = new Set(["apply", "bind", "call"]); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `new` operators with the `Function` object", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-new-func" - }, - - schema: [], - - messages: { - noFunctionConstructor: "The Function constructor is eval." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - const variable = globalScope.set.get("Function"); - - if (variable && variable.defs.length === 0) { - variable.references.forEach(ref => { - const idNode = ref.identifier; - const { parent } = idNode; - let evalNode; - - if (parent) { - if (idNode === parent.callee && ( - parent.type === "NewExpression" || - parent.type === "CallExpression" - )) { - evalNode = parent; - } else if ( - parent.type === "MemberExpression" && - idNode === parent.object && - callMethods.has(astUtils.getStaticPropertyName(parent)) - ) { - const maybeCallee = parent.parent.type === "ChainExpression" ? parent.parent : parent; - - if (maybeCallee.parent.type === "CallExpression" && maybeCallee.parent.callee === maybeCallee) { - evalNode = maybeCallee.parent; - } - } - } - - if (evalNode) { - context.report({ - node: evalNode, - messageId: "noFunctionConstructor" - }); - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js deleted file mode 100644 index 699390dd..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @fileoverview Rule to disallow use of the new operator with global non-constructor functions - * @author Sosuke Suzuki - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const nonConstructorGlobalFunctionNames = ["Symbol", "BigInt"]; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow `new` operators with global non-constructor functions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor" - }, - - schema: [], - - messages: { - noNewNonconstructor: "`{{name}}` cannot be called as a constructor." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - return { - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - - for (const nonConstructorName of nonConstructorGlobalFunctionNames) { - const variable = globalScope.set.get(nonConstructorName); - - if (variable && variable.defs.length === 0) { - variable.references.forEach(ref => { - const idNode = ref.identifier; - const parent = idNode.parent; - - if (parent && parent.type === "NewExpression" && parent.callee === idNode) { - context.report({ - node: idNode, - messageId: "noNewNonconstructor", - data: { name: nonConstructorName } - }); - } - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-object.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-object.js deleted file mode 100644 index 06275f47..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-object.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @fileoverview A rule to disallow calls to the Object constructor - * @author Matt DuVall - * @deprecated in ESLint v8.50.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `Object` constructors", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-new-object" - }, - - deprecated: true, - - replacedBy: [ - "no-object-constructor" - ], - - schema: [], - - messages: { - preferLiteral: "The object literal notation {} is preferable." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - return { - NewExpression(node) { - const variable = astUtils.getVariableByName( - sourceCode.getScope(node), - node.callee.name - ); - - if (variable && variable.identifiers.length > 0) { - return; - } - - if (node.callee.name === "Object") { - context.report({ - node, - messageId: "preferLiteral" - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-require.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-require.js deleted file mode 100644 index 6abfc17c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-require.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @fileoverview Rule to disallow use of new operator with the `require` function - * @author Wil Moore III - * @deprecated in ESLint v7.0.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Disallow `new` operators with calls to `require`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-new-require" - }, - - schema: [], - - messages: { - noNewRequire: "Unexpected use of new with require." - } - }, - - create(context) { - - return { - - NewExpression(node) { - if (node.callee.type === "Identifier" && node.callee.name === "require") { - context.report({ - node, - messageId: "noNewRequire" - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-symbol.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-symbol.js deleted file mode 100644 index 85f9e62a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-symbol.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @fileoverview Rule to disallow use of the new operator with the `Symbol` object - * @author Alberto Rodríguez - * @deprecated in ESLint v9.0.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow `new` operators with the `Symbol` object", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-new-symbol" - }, - - deprecated: true, - - replacedBy: [ - "no-new-native-nonconstructor" - ], - - schema: [], - - messages: { - noNewSymbol: "`Symbol` cannot be called as a constructor." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - return { - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - const variable = globalScope.set.get("Symbol"); - - if (variable && variable.defs.length === 0) { - variable.references.forEach(ref => { - const idNode = ref.identifier; - const parent = idNode.parent; - - if (parent && parent.type === "NewExpression" && parent.callee === idNode) { - context.report({ - node: idNode, - messageId: "noNewSymbol" - }); - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-wrappers.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-wrappers.js deleted file mode 100644 index 5050a98a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new-wrappers.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @fileoverview Rule to flag when using constructor for wrapper objects - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { getVariableByName } = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-new-wrappers" - }, - - schema: [], - - messages: { - noConstructor: "Do not use {{fn}} as a constructor." - } - }, - - create(context) { - const { sourceCode } = context; - - return { - - NewExpression(node) { - const wrapperObjects = ["String", "Number", "Boolean"]; - const { name } = node.callee; - - if (wrapperObjects.includes(name)) { - const variable = getVariableByName(sourceCode.getScope(node), name); - - if (variable && variable.identifiers.length === 0) { - context.report({ - node, - messageId: "noConstructor", - data: { fn: name } - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new.js deleted file mode 100644 index 9e20bad7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-new.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * @fileoverview Rule to flag statements with function invocation preceded by - * "new" and not part of assignment - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `new` operators outside of assignments or comparisons", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-new" - }, - - schema: [], - - messages: { - noNewStatement: "Do not use 'new' for side effects." - } - }, - - create(context) { - - return { - "ExpressionStatement > NewExpression"(node) { - context.report({ - node: node.parent, - messageId: "noNewStatement" - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js deleted file mode 100644 index 5939390f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +++ /dev/null @@ -1,148 +0,0 @@ -/** - * @fileoverview Rule to disallow `\8` and `\9` escape sequences in string literals. - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const QUICK_TEST_REGEX = /\\[89]/u; - -/** - * Returns unicode escape sequence that represents the given character. - * @param {string} character A single code unit. - * @returns {string} "\uXXXX" sequence. - */ -function getUnicodeEscape(character) { - return `\\u${character.charCodeAt(0).toString(16).padStart(4, "0")}`; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `\\8` and `\\9` escape sequences in string literals", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - }, - - hasSuggestions: true, - - schema: [], - - messages: { - decimalEscape: "Don't use '{{decimalEscape}}' escape sequence.", - - // suggestions - refactor: "Replace '{{original}}' with '{{replacement}}'. This maintains the current functionality.", - escapeBackslash: "Replace '{{original}}' with '{{replacement}}' to include the actual backslash character." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Creates a new Suggestion object. - * @param {string} messageId "refactor" or "escapeBackslash". - * @param {int[]} range The range to replace. - * @param {string} replacement New text for the range. - * @returns {Object} Suggestion - */ - function createSuggestion(messageId, range, replacement) { - return { - messageId, - data: { - original: sourceCode.getText().slice(...range), - replacement - }, - fix(fixer) { - return fixer.replaceTextRange(range, replacement); - } - }; - } - - return { - Literal(node) { - if (typeof node.value !== "string") { - return; - } - - if (!QUICK_TEST_REGEX.test(node.raw)) { - return; - } - - const regex = /(?:[^\\]|(?\\.))*?(?\\[89])/suy; - let match; - - while ((match = regex.exec(node.raw))) { - const { previousEscape, decimalEscape } = match.groups; - const decimalEscapeRangeEnd = node.range[0] + match.index + match[0].length; - const decimalEscapeRangeStart = decimalEscapeRangeEnd - decimalEscape.length; - const decimalEscapeRange = [decimalEscapeRangeStart, decimalEscapeRangeEnd]; - const suggest = []; - - // When `regex` is matched, `previousEscape` can only capture characters adjacent to `decimalEscape` - if (previousEscape === "\\0") { - - /* - * Now we have a NULL escape "\0" immediately followed by a decimal escape, e.g.: "\0\8". - * Fixing this to "\08" would turn "\0" into a legacy octal escape. To avoid producing - * an octal escape while fixing a decimal escape, we provide different suggestions. - */ - suggest.push( - createSuggestion( // "\0\8" -> "\u00008" - "refactor", - [decimalEscapeRangeStart - previousEscape.length, decimalEscapeRangeEnd], - `${getUnicodeEscape("\0")}${decimalEscape[1]}` - ), - createSuggestion( // "\8" -> "\u0038" - "refactor", - decimalEscapeRange, - getUnicodeEscape(decimalEscape[1]) - ) - ); - } else { - suggest.push( - createSuggestion( // "\8" -> "8" - "refactor", - decimalEscapeRange, - decimalEscape[1] - ) - ); - } - - suggest.push( - createSuggestion( // "\8" -> "\\8" - "escapeBackslash", - decimalEscapeRange, - `\\${decimalEscape}` - ) - ); - - context.report({ - node, - loc: { - start: sourceCode.getLocFromIndex(decimalEscapeRangeStart), - end: sourceCode.getLocFromIndex(decimalEscapeRangeEnd) - }, - messageId: "decimalEscape", - data: { - decimalEscape - }, - suggest - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-obj-calls.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-obj-calls.js deleted file mode 100644 index ee767ea2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-obj-calls.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @fileoverview Rule to flag use of an object property of the global object (Math and JSON) as a function - * @author James Allardice - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { CALL, CONSTRUCT, ReferenceTracker } = require("@eslint-community/eslint-utils"); -const getPropertyName = require("./utils/ast-utils").getStaticPropertyName; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const nonCallableGlobals = ["Atomics", "JSON", "Math", "Reflect", "Intl"]; - -/** - * Returns the name of the node to report - * @param {ASTNode} node A node to report - * @returns {string} name to report - */ -function getReportNodeName(node) { - if (node.type === "ChainExpression") { - return getReportNodeName(node.expression); - } - if (node.type === "MemberExpression") { - return getPropertyName(node); - } - return node.name; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow calling global object properties as functions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-obj-calls" - }, - - schema: [], - - messages: { - unexpectedCall: "'{{name}}' is not a function.", - unexpectedRefCall: "'{{name}}' is reference to '{{ref}}', which is not a function." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - return { - Program(node) { - const scope = sourceCode.getScope(node); - const tracker = new ReferenceTracker(scope); - const traceMap = {}; - - for (const g of nonCallableGlobals) { - traceMap[g] = { - [CALL]: true, - [CONSTRUCT]: true - }; - } - - for (const { node: refNode, path } of tracker.iterateGlobalReferences(traceMap)) { - const name = getReportNodeName(refNode.callee); - const ref = path[0]; - const messageId = name === ref ? "unexpectedCall" : "unexpectedRefCall"; - - context.report({ node: refNode, messageId, data: { name, ref } }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-object-constructor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-object-constructor.js deleted file mode 100644 index 8875ec21..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-object-constructor.js +++ /dev/null @@ -1,117 +0,0 @@ -/** - * @fileoverview Rule to disallow calls to the `Object` constructor without an argument - * @author Francesco Trotta - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { - getVariableByName, - isArrowToken, - isStartOfExpressionStatement, - needsPrecedingSemicolon -} = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow calls to the `Object` constructor without an argument", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-object-constructor" - }, - - hasSuggestions: true, - - schema: [], - - messages: { - preferLiteral: "The object literal notation {} is preferable.", - useLiteral: "Replace with '{{replacement}}'.", - useLiteralAfterSemicolon: "Replace with '{{replacement}}', add preceding semicolon." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Determines whether or not an object literal that replaces a specified node needs to be enclosed in parentheses. - * @param {ASTNode} node The node to be replaced. - * @returns {boolean} Whether or not parentheses around the object literal are required. - */ - function needsParentheses(node) { - if (isStartOfExpressionStatement(node)) { - return true; - } - - const prevToken = sourceCode.getTokenBefore(node); - - if (prevToken && isArrowToken(prevToken)) { - return true; - } - - return false; - } - - /** - * Reports on nodes where the `Object` constructor is called without arguments. - * @param {ASTNode} node The node to evaluate. - * @returns {void} - */ - function check(node) { - if (node.callee.type !== "Identifier" || node.callee.name !== "Object" || node.arguments.length) { - return; - } - - const variable = getVariableByName(sourceCode.getScope(node), "Object"); - - if (variable && variable.identifiers.length === 0) { - let replacement; - let fixText; - let messageId = "useLiteral"; - - if (needsParentheses(node)) { - replacement = "({})"; - if (needsPrecedingSemicolon(sourceCode, node)) { - fixText = ";({})"; - messageId = "useLiteralAfterSemicolon"; - } else { - fixText = "({})"; - } - } else { - replacement = fixText = "{}"; - } - - context.report({ - node, - messageId: "preferLiteral", - suggest: [ - { - messageId, - data: { replacement }, - fix: fixer => fixer.replaceText(node, fixText) - } - ] - }); - } - } - - return { - CallExpression: check, - NewExpression: check - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal-escape.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal-escape.js deleted file mode 100644 index 6924d541..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal-escape.js +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @fileoverview Rule to flag octal escape sequences in string literals. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow octal escape sequences in string literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-octal-escape" - }, - - schema: [], - - messages: { - octalEscapeSequence: "Don't use octal: '\\{{sequence}}'. Use '\\u....' instead." - } - }, - - create(context) { - - return { - - Literal(node) { - if (typeof node.value !== "string") { - return; - } - - // \0 represents a valid NULL character if it isn't followed by a digit. - const match = node.raw.match( - /^(?:[^\\]|\\.)*?\\([0-3][0-7]{1,2}|[4-7][0-7]|0(?=[89])|[1-7])/su - ); - - if (match) { - context.report({ - node, - messageId: "octalEscapeSequence", - data: { sequence: match[1] } - }); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal.js deleted file mode 100644 index dc027696..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-octal.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @fileoverview Rule to flag when initializing octal literal - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow octal literals", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-octal" - }, - - schema: [], - - messages: { - noOctal: "Octal literals should not be used." - } - }, - - create(context) { - - return { - - Literal(node) { - if (typeof node.value === "number" && /^0[0-9]/u.test(node.raw)) { - context.report({ - node, - messageId: "noOctal" - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-param-reassign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-param-reassign.js deleted file mode 100644 index 4f6c6f51..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-param-reassign.js +++ /dev/null @@ -1,230 +0,0 @@ -/** - * @fileoverview Disallow reassigning function parameters. - * @author Nat Burns - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const stopNodePattern = /(?:Statement|Declaration|Function(?:Expression)?|Program)$/u; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow reassigning function parameters", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-param-reassign" - }, - - schema: [ - { - oneOf: [ - { - type: "object", - properties: { - props: { - enum: [false] - } - }, - additionalProperties: false - }, - { - type: "object", - properties: { - props: { - enum: [true] - }, - ignorePropertyModificationsFor: { - type: "array", - items: { - type: "string" - }, - uniqueItems: true - }, - ignorePropertyModificationsForRegex: { - type: "array", - items: { - type: "string" - }, - uniqueItems: true - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - assignmentToFunctionParam: "Assignment to function parameter '{{name}}'.", - assignmentToFunctionParamProp: "Assignment to property of function parameter '{{name}}'." - } - }, - - create(context) { - const props = context.options[0] && context.options[0].props; - const ignoredPropertyAssignmentsFor = context.options[0] && context.options[0].ignorePropertyModificationsFor || []; - const ignoredPropertyAssignmentsForRegex = context.options[0] && context.options[0].ignorePropertyModificationsForRegex || []; - const sourceCode = context.sourceCode; - - /** - * Checks whether or not the reference modifies properties of its variable. - * @param {Reference} reference A reference to check. - * @returns {boolean} Whether or not the reference modifies properties of its variable. - */ - function isModifyingProp(reference) { - let node = reference.identifier; - let parent = node.parent; - - while (parent && (!stopNodePattern.test(parent.type) || - parent.type === "ForInStatement" || parent.type === "ForOfStatement")) { - switch (parent.type) { - - // e.g. foo.a = 0; - case "AssignmentExpression": - return parent.left === node; - - // e.g. ++foo.a; - case "UpdateExpression": - return true; - - // e.g. delete foo.a; - case "UnaryExpression": - if (parent.operator === "delete") { - return true; - } - break; - - // e.g. for (foo.a in b) {} - case "ForInStatement": - case "ForOfStatement": - if (parent.left === node) { - return true; - } - - // this is a stop node for parent.right and parent.body - return false; - - // EXCLUDES: e.g. cache.get(foo.a).b = 0; - case "CallExpression": - if (parent.callee !== node) { - return false; - } - break; - - // EXCLUDES: e.g. cache[foo.a] = 0; - case "MemberExpression": - if (parent.property === node) { - return false; - } - break; - - // EXCLUDES: e.g. ({ [foo]: a }) = bar; - case "Property": - if (parent.key === node) { - return false; - } - - break; - - // EXCLUDES: e.g. (foo ? a : b).c = bar; - case "ConditionalExpression": - if (parent.test === node) { - return false; - } - - break; - - // no default - } - - node = parent; - parent = node.parent; - } - - return false; - } - - /** - * Tests that an identifier name matches any of the ignored property assignments. - * First we test strings in ignoredPropertyAssignmentsFor. - * Then we instantiate and test RegExp objects from ignoredPropertyAssignmentsForRegex strings. - * @param {string} identifierName A string that describes the name of an identifier to - * ignore property assignments for. - * @returns {boolean} Whether the string matches an ignored property assignment regular expression or not. - */ - function isIgnoredPropertyAssignment(identifierName) { - return ignoredPropertyAssignmentsFor.includes(identifierName) || - ignoredPropertyAssignmentsForRegex.some(ignored => new RegExp(ignored, "u").test(identifierName)); - } - - /** - * Reports a reference if is non initializer and writable. - * @param {Reference} reference A reference to check. - * @param {int} index The index of the reference in the references. - * @param {Reference[]} references The array that the reference belongs to. - * @returns {void} - */ - function checkReference(reference, index, references) { - const identifier = reference.identifier; - - if (identifier && - !reference.init && - - /* - * Destructuring assignments can have multiple default value, - * so possibly there are multiple writeable references for the same identifier. - */ - (index === 0 || references[index - 1].identifier !== identifier) - ) { - if (reference.isWrite()) { - context.report({ - node: identifier, - messageId: "assignmentToFunctionParam", - data: { name: identifier.name } - }); - } else if (props && isModifyingProp(reference) && !isIgnoredPropertyAssignment(identifier.name)) { - context.report({ - node: identifier, - messageId: "assignmentToFunctionParamProp", - data: { name: identifier.name } - }); - } - } - } - - /** - * Finds and reports references that are non initializer and writable. - * @param {Variable} variable A variable to check. - * @returns {void} - */ - function checkVariable(variable) { - if (variable.defs[0].type === "Parameter") { - variable.references.forEach(checkReference); - } - } - - /** - * Checks parameters of a given function node. - * @param {ASTNode} node A function node to check. - * @returns {void} - */ - function checkForFunction(node) { - sourceCode.getDeclaredVariables(node).forEach(checkVariable); - } - - return { - - // `:exit` is needed for the `node.parent` property of identifier nodes. - "FunctionDeclaration:exit": checkForFunction, - "FunctionExpression:exit": checkForFunction, - "ArrowFunctionExpression:exit": checkForFunction - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-path-concat.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-path-concat.js deleted file mode 100644 index 2e4a3a21..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-path-concat.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @fileoverview Disallow string concatenation when using __dirname and __filename - * @author Nicholas C. Zakas - * @deprecated in ESLint v7.0.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Disallow string concatenation with `__dirname` and `__filename`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-path-concat" - }, - - schema: [], - - messages: { - usePathFunctions: "Use path.join() or path.resolve() instead of + to create paths." - } - }, - - create(context) { - - const MATCHER = /^__(?:dir|file)name$/u; - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - BinaryExpression(node) { - - const left = node.left, - right = node.right; - - if (node.operator === "+" && - ((left.type === "Identifier" && MATCHER.test(left.name)) || - (right.type === "Identifier" && MATCHER.test(right.name))) - ) { - - context.report({ - node, - messageId: "usePathFunctions" - }); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-plusplus.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-plusplus.js deleted file mode 100644 index 7c91ebe8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-plusplus.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * @fileoverview Rule to flag use of unary increment and decrement operators. - * @author Ian Christian Myers - * @author Brody McKee (github.com/mrmckeb) - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines whether the given node is the update node of a `ForStatement`. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is `ForStatement` update. - */ -function isForStatementUpdate(node) { - const parent = node.parent; - - return parent.type === "ForStatement" && parent.update === node; -} - -/** - * Determines whether the given node is considered to be a for loop "afterthought" by the logic of this rule. - * In particular, it returns `true` if the given node is either: - * - The update node of a `ForStatement`: for (;; i++) {} - * - An operand of a sequence expression that is the update node: for (;; foo(), i++) {} - * - An operand of a sequence expression that is child of another sequence expression, etc., - * up to the sequence expression that is the update node: for (;; foo(), (bar(), (baz(), i++))) {} - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is a for loop afterthought. - */ -function isForLoopAfterthought(node) { - const parent = node.parent; - - if (parent.type === "SequenceExpression") { - return isForLoopAfterthought(parent); - } - - return isForStatementUpdate(node); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allowForLoopAfterthoughts: false - }], - - docs: { - description: "Disallow the unary operators `++` and `--`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-plusplus" - }, - - schema: [ - { - type: "object", - properties: { - allowForLoopAfterthoughts: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedUnaryOp: "Unary operator '{{operator}}' used." - } - }, - - create(context) { - const [{ allowForLoopAfterthoughts }] = context.options; - - return { - - UpdateExpression(node) { - if (allowForLoopAfterthoughts && isForLoopAfterthought(node)) { - return; - } - - context.report({ - node, - messageId: "unexpectedUnaryOp", - data: { - operator: node.operator - } - }); - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-env.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-env.js deleted file mode 100644 index 8dac648f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-env.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @fileoverview Disallow the use of process.env() - * @author Vignesh Anand - * @deprecated in ESLint v7.0.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Disallow the use of `process.env`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-process-env" - }, - - schema: [], - - messages: { - unexpectedProcessEnv: "Unexpected use of process.env." - } - }, - - create(context) { - - return { - - MemberExpression(node) { - const objectName = node.object.name, - propertyName = node.property.name; - - if (objectName === "process" && !node.computed && propertyName && propertyName === "env") { - context.report({ node, messageId: "unexpectedProcessEnv" }); - } - - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-exit.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-exit.js deleted file mode 100644 index fa398a72..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-process-exit.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * @fileoverview Disallow the use of process.exit() - * @author Nicholas C. Zakas - * @deprecated in ESLint v7.0.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Disallow the use of `process.exit()`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-process-exit" - }, - - schema: [], - - messages: { - noProcessExit: "Don't use process.exit(); throw an error instead." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - "CallExpression > MemberExpression.callee[object.name = 'process'][property.name = 'exit']"(node) { - context.report({ node: node.parent, messageId: "noProcessExit" }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-promise-executor-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-promise-executor-return.js deleted file mode 100644 index a056f6d6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-promise-executor-return.js +++ /dev/null @@ -1,263 +0,0 @@ -/** - * @fileoverview Rule to disallow returning values from Promise executor functions - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { findVariable } = require("@eslint-community/eslint-utils"); -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const functionTypesToCheck = new Set(["ArrowFunctionExpression", "FunctionExpression"]); - -/** - * Determines whether the given identifier node is a reference to a global variable. - * @param {ASTNode} node `Identifier` node to check. - * @param {Scope} scope Scope to which the node belongs. - * @returns {boolean} True if the identifier is a reference to a global variable. - */ -function isGlobalReference(node, scope) { - const variable = findVariable(scope, node); - - return variable !== null && variable.scope.type === "global" && variable.defs.length === 0; -} - -/** - * Finds function's outer scope. - * @param {Scope} scope Function's own scope. - * @returns {Scope} Function's outer scope. - */ -function getOuterScope(scope) { - const upper = scope.upper; - - if (upper.type === "function-expression-name") { - return upper.upper; - } - return upper; -} - -/** - * Determines whether the given function node is used as a Promise executor. - * @param {ASTNode} node The node to check. - * @param {Scope} scope Function's own scope. - * @returns {boolean} `true` if the node is a Promise executor. - */ -function isPromiseExecutor(node, scope) { - const parent = node.parent; - - return parent.type === "NewExpression" && - parent.arguments[0] === node && - parent.callee.type === "Identifier" && - parent.callee.name === "Promise" && - isGlobalReference(parent.callee, getOuterScope(scope)); -} - -/** - * Checks if the given node is a void expression. - * @param {ASTNode} node The node to check. - * @returns {boolean} - `true` if the node is a void expression - */ -function expressionIsVoid(node) { - return node.type === "UnaryExpression" && node.operator === "void"; -} - -/** - * Fixes the linting error by prepending "void " to the given node - * @param {Object} sourceCode context given by context.sourceCode - * @param {ASTNode} node The node to fix. - * @param {Object} fixer The fixer object provided by ESLint. - * @returns {Array} - An array of fix objects to apply to the node. - */ -function voidPrependFixer(sourceCode, node, fixer) { - - const requiresParens = - - // prepending `void ` will fail if the node has a lower precedence than void - astUtils.getPrecedence(node) < astUtils.getPrecedence({ type: "UnaryExpression", operator: "void" }) && - - // check if there are parentheses around the node to avoid redundant parentheses - !astUtils.isParenthesised(sourceCode, node); - - // avoid parentheses issues - const returnOrArrowToken = sourceCode.getTokenBefore( - node, - node.parent.type === "ArrowFunctionExpression" - ? astUtils.isArrowToken - - // isReturnToken - : token => token.type === "Keyword" && token.value === "return" - ); - - const firstToken = sourceCode.getTokenAfter(returnOrArrowToken); - - const prependSpace = - - // is return token, as => allows void to be adjacent - returnOrArrowToken.value === "return" && - - // If two tokens (return and "(") are adjacent - returnOrArrowToken.range[1] === firstToken.range[0]; - - return [ - fixer.insertTextBefore(firstToken, `${prependSpace ? " " : ""}void ${requiresParens ? "(" : ""}`), - fixer.insertTextAfter(node, requiresParens ? ")" : "") - ]; -} - -/** - * Fixes the linting error by `wrapping {}` around the given node's body. - * @param {Object} sourceCode context given by context.sourceCode - * @param {ASTNode} node The node to fix. - * @param {Object} fixer The fixer object provided by ESLint. - * @returns {Array} - An array of fix objects to apply to the node. - */ -function curlyWrapFixer(sourceCode, node, fixer) { - - // https://github.com/eslint/eslint/pull/17282#issuecomment-1592795923 - const arrowToken = sourceCode.getTokenBefore(node.body, astUtils.isArrowToken); - const firstToken = sourceCode.getTokenAfter(arrowToken); - const lastToken = sourceCode.getLastToken(node); - - return [ - fixer.insertTextBefore(firstToken, "{"), - fixer.insertTextAfter(lastToken, "}") - ]; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - allowVoid: false - }], - - docs: { - description: "Disallow returning values from Promise executor functions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-promise-executor-return" - }, - - hasSuggestions: true, - - schema: [{ - type: "object", - properties: { - allowVoid: { - type: "boolean" - } - }, - additionalProperties: false - }], - - messages: { - returnsValue: "Return values from promise executor functions cannot be read.", - - // arrow and function suggestions - prependVoid: "Prepend `void` to the expression.", - - // only arrow suggestions - wrapBraces: "Wrap the expression in `{}`." - } - }, - - create(context) { - let funcInfo = null; - const sourceCode = context.sourceCode; - const [{ allowVoid }] = context.options; - - return { - - onCodePathStart(_, node) { - funcInfo = { - upper: funcInfo, - shouldCheck: - functionTypesToCheck.has(node.type) && - isPromiseExecutor(node, sourceCode.getScope(node)) - }; - - if (// Is a Promise executor - funcInfo.shouldCheck && - node.type === "ArrowFunctionExpression" && - node.expression && - - // Except void - !(allowVoid && expressionIsVoid(node.body)) - ) { - const suggest = []; - - // prevent useless refactors - if (allowVoid) { - suggest.push({ - messageId: "prependVoid", - fix(fixer) { - return voidPrependFixer(sourceCode, node.body, fixer); - } - }); - } - - // Do not suggest wrapping an unnamed FunctionExpression in braces as that would be invalid syntax. - if (!(node.body.type === "FunctionExpression" && !node.body.id)) { - suggest.push({ - messageId: "wrapBraces", - fix(fixer) { - return curlyWrapFixer(sourceCode, node, fixer); - } - }); - } - - context.report({ - node: node.body, - messageId: "returnsValue", - suggest - }); - } - }, - - onCodePathEnd() { - funcInfo = funcInfo.upper; - }, - - ReturnStatement(node) { - if (!(funcInfo.shouldCheck && node.argument)) { - return; - } - - // node is `return ` - if (!allowVoid) { - context.report({ node, messageId: "returnsValue" }); - return; - } - - if (expressionIsVoid(node.argument)) { - return; - } - - // allowVoid && !expressionIsVoid - context.report({ - node, - messageId: "returnsValue", - suggest: [{ - messageId: "prependVoid", - fix(fixer) { - return voidPrependFixer(sourceCode, node.argument, fixer); - } - }] - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-proto.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-proto.js deleted file mode 100644 index 28320d5d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-proto.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @fileoverview Rule to flag usage of __proto__ property - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { getStaticPropertyName } = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow the use of the `__proto__` property", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-proto" - }, - - schema: [], - - messages: { - unexpectedProto: "The '__proto__' property is deprecated." - } - }, - - create(context) { - - return { - - MemberExpression(node) { - if (getStaticPropertyName(node) === "__proto__") { - context.report({ node, messageId: "unexpectedProto" }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-prototype-builtins.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-prototype-builtins.js deleted file mode 100644 index b61e5852..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-prototype-builtins.js +++ /dev/null @@ -1,159 +0,0 @@ -/** - * @fileoverview Rule to disallow use of Object.prototype builtins on objects - * @author Andrew Levine - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Returns true if the node or any of the objects - * to the left of it in the member/call chain is optional. - * - * e.g. `a?.b`, `a?.b.c`, `a?.()`, `a()?.()` - * @param {ASTNode} node The expression to check - * @returns {boolean} `true` if there is a short-circuiting optional `?.` - * in the same option chain to the left of this call or member expression, - * or the node itself is an optional call or member `?.`. - */ -function isAfterOptional(node) { - let leftNode; - - if (node.type === "MemberExpression") { - leftNode = node.object; - } else if (node.type === "CallExpression") { - leftNode = node.callee; - } else { - return false; - } - if (node.optional) { - return true; - } - return isAfterOptional(leftNode); -} - - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow calling some `Object.prototype` methods directly on objects", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-prototype-builtins" - }, - - hasSuggestions: true, - - schema: [], - - messages: { - prototypeBuildIn: "Do not access Object.prototype method '{{prop}}' from target object.", - callObjectPrototype: "Call Object.prototype.{{prop}} explicitly." - } - }, - - create(context) { - const DISALLOWED_PROPS = new Set([ - "hasOwnProperty", - "isPrototypeOf", - "propertyIsEnumerable" - ]); - - /** - * Reports if a disallowed property is used in a CallExpression - * @param {ASTNode} node The CallExpression node. - * @returns {void} - */ - function disallowBuiltIns(node) { - - const callee = astUtils.skipChainExpression(node.callee); - - if (callee.type !== "MemberExpression") { - return; - } - - const propName = astUtils.getStaticPropertyName(callee); - - if (propName !== null && DISALLOWED_PROPS.has(propName)) { - context.report({ - messageId: "prototypeBuildIn", - loc: callee.property.loc, - data: { prop: propName }, - node, - suggest: [ - { - messageId: "callObjectPrototype", - data: { prop: propName }, - fix(fixer) { - const sourceCode = context.sourceCode; - - /* - * A call after an optional chain (e.g. a?.b.hasOwnProperty(c)) - * must be fixed manually because the call can be short-circuited - */ - if (isAfterOptional(node)) { - return null; - } - - /* - * A call on a ChainExpression (e.g. (a?.hasOwnProperty)(c)) will trigger - * no-unsafe-optional-chaining which should be fixed before this suggestion - */ - if (node.callee.type === "ChainExpression") { - return null; - } - - const objectVariable = astUtils.getVariableByName(sourceCode.getScope(node), "Object"); - - /* - * We can't use Object if the global Object was shadowed, - * or Object does not exist in the global scope for some reason - */ - if (!objectVariable || objectVariable.scope.type !== "global" || objectVariable.defs.length > 0) { - return null; - } - - let objectText = sourceCode.getText(callee.object); - - if (astUtils.getPrecedence(callee.object) <= astUtils.getPrecedence({ type: "SequenceExpression" })) { - objectText = `(${objectText})`; - } - - const openParenToken = sourceCode.getTokenAfter( - node.callee, - astUtils.isOpeningParenToken - ); - const isEmptyParameters = node.arguments.length === 0; - const delim = isEmptyParameters ? "" : ", "; - const fixes = [ - fixer.replaceText(callee, `Object.prototype.${propName}.call`), - fixer.insertTextAfter(openParenToken, objectText + delim) - ]; - - return fixes; - } - } - ] - }); - } - } - - return { - CallExpression: disallowBuiltIns - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-redeclare.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-redeclare.js deleted file mode 100644 index 94a3c212..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-redeclare.js +++ /dev/null @@ -1,171 +0,0 @@ -/** - * @fileoverview Rule to flag when the same variable is declared more then once. - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ builtinGlobals: true }], - - docs: { - description: "Disallow variable redeclaration", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-redeclare" - }, - - messages: { - redeclared: "'{{id}}' is already defined.", - redeclaredAsBuiltin: "'{{id}}' is already defined as a built-in global variable.", - redeclaredBySyntax: "'{{id}}' is already defined by a variable declaration." - }, - - schema: [ - { - type: "object", - properties: { - builtinGlobals: { type: "boolean" } - }, - additionalProperties: false - } - ] - }, - - create(context) { - const [{ builtinGlobals }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Iterate declarations of a given variable. - * @param {escope.variable} variable The variable object to iterate declarations. - * @returns {IterableIterator<{type:string,node:ASTNode,loc:SourceLocation}>} The declarations. - */ - function *iterateDeclarations(variable) { - if (builtinGlobals && ( - variable.eslintImplicitGlobalSetting === "readonly" || - variable.eslintImplicitGlobalSetting === "writable" - )) { - yield { type: "builtin" }; - } - - for (const id of variable.identifiers) { - yield { type: "syntax", node: id, loc: id.loc }; - } - - if (variable.eslintExplicitGlobalComments) { - for (const comment of variable.eslintExplicitGlobalComments) { - yield { - type: "comment", - node: comment, - loc: astUtils.getNameLocationInGlobalDirectiveComment( - sourceCode, - comment, - variable.name - ) - }; - } - } - } - - /** - * Find variables in a given scope and flag redeclared ones. - * @param {Scope} scope An eslint-scope scope object. - * @returns {void} - * @private - */ - function findVariablesInScope(scope) { - for (const variable of scope.variables) { - const [ - declaration, - ...extraDeclarations - ] = iterateDeclarations(variable); - - if (extraDeclarations.length === 0) { - continue; - } - - /* - * If the type of a declaration is different from the type of - * the first declaration, it shows the location of the first - * declaration. - */ - const detailMessageId = declaration.type === "builtin" - ? "redeclaredAsBuiltin" - : "redeclaredBySyntax"; - const data = { id: variable.name }; - - // Report extra declarations. - for (const { type, node, loc } of extraDeclarations) { - const messageId = type === declaration.type - ? "redeclared" - : detailMessageId; - - context.report({ node, loc, messageId, data }); - } - } - } - - /** - * Find variables in the current scope. - * @param {ASTNode} node The node of the current scope. - * @returns {void} - * @private - */ - function checkForBlock(node) { - const scope = sourceCode.getScope(node); - - /* - * In ES5, some node type such as `BlockStatement` doesn't have that scope. - * `scope.block` is a different node in such a case. - */ - if (scope.block === node) { - findVariablesInScope(scope); - } - } - - return { - Program(node) { - const scope = sourceCode.getScope(node); - - findVariablesInScope(scope); - - // Node.js or ES modules has a special scope. - if ( - scope.type === "global" && - scope.childScopes[0] && - - // The special scope's block is the Program node. - scope.block === scope.childScopes[0].block - ) { - findVariablesInScope(scope.childScopes[0]); - } - }, - - FunctionDeclaration: checkForBlock, - FunctionExpression: checkForBlock, - ArrowFunctionExpression: checkForBlock, - - StaticBlock: checkForBlock, - - BlockStatement: checkForBlock, - ForStatement: checkForBlock, - ForInStatement: checkForBlock, - ForOfStatement: checkForBlock, - SwitchStatement: checkForBlock - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-regex-spaces.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-regex-spaces.js deleted file mode 100644 index cb250107..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-regex-spaces.js +++ /dev/null @@ -1,197 +0,0 @@ -/** - * @fileoverview Rule to count multiple spaces in regular expressions - * @author Matt DuVall - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const regexpp = require("@eslint-community/regexpp"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const regExpParser = new regexpp.RegExpParser(); -const DOUBLE_SPACE = / {2}/u; - -/** - * Check if node is a string - * @param {ASTNode} node node to evaluate - * @returns {boolean} True if its a string - * @private - */ -function isString(node) { - return node && node.type === "Literal" && typeof node.value === "string"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow multiple spaces in regular expressions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-regex-spaces" - }, - - schema: [], - fixable: "code", - - messages: { - multipleSpaces: "Spaces are hard to count. Use {{{length}}}." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Validate regular expression - * @param {ASTNode} nodeToReport Node to report. - * @param {string} pattern Regular expression pattern to validate. - * @param {string} rawPattern Raw representation of the pattern in the source code. - * @param {number} rawPatternStartRange Start range of the pattern in the source code. - * @param {string} flags Regular expression flags. - * @returns {void} - * @private - */ - function checkRegex(nodeToReport, pattern, rawPattern, rawPatternStartRange, flags) { - - // Skip if there are no consecutive spaces in the source code, to avoid reporting e.g., RegExp(' \ '). - if (!DOUBLE_SPACE.test(rawPattern)) { - return; - } - - const characterClassNodes = []; - let regExpAST; - - try { - regExpAST = regExpParser.parsePattern(pattern, 0, pattern.length, { unicode: flags.includes("u"), unicodeSets: flags.includes("v") }); - } catch { - - // Ignore regular expressions with syntax errors - return; - } - - regexpp.visitRegExpAST(regExpAST, { - onCharacterClassEnter(ccNode) { - characterClassNodes.push(ccNode); - } - }); - - const spacesPattern = /( {2,})(?: [+*{?]|[^+*{?]|$)/gu; - let match; - - while ((match = spacesPattern.exec(pattern))) { - const { 1: { length }, index } = match; - - // Report only consecutive spaces that are not in character classes. - if ( - characterClassNodes.every(({ start, end }) => index < start || end <= index) - ) { - context.report({ - node: nodeToReport, - messageId: "multipleSpaces", - data: { length }, - fix(fixer) { - if (pattern !== rawPattern) { - return null; - } - return fixer.replaceTextRange( - [rawPatternStartRange + index, rawPatternStartRange + index + length], - ` {${length}}` - ); - } - }); - - // Report only the first occurrence of consecutive spaces - return; - } - } - } - - /** - * Validate regular expression literals - * @param {ASTNode} node node to validate - * @returns {void} - * @private - */ - function checkLiteral(node) { - if (node.regex) { - const pattern = node.regex.pattern; - const rawPattern = node.raw.slice(1, node.raw.lastIndexOf("/")); - const rawPatternStartRange = node.range[0] + 1; - const flags = node.regex.flags; - - checkRegex( - node, - pattern, - rawPattern, - rawPatternStartRange, - flags - ); - } - } - - /** - * Validate strings passed to the RegExp constructor - * @param {ASTNode} node node to validate - * @returns {void} - * @private - */ - function checkFunction(node) { - const scope = sourceCode.getScope(node); - const regExpVar = astUtils.getVariableByName(scope, "RegExp"); - const shadowed = regExpVar && regExpVar.defs.length > 0; - const patternNode = node.arguments[0]; - - if (node.callee.type === "Identifier" && node.callee.name === "RegExp" && isString(patternNode) && !shadowed) { - const pattern = patternNode.value; - const rawPattern = patternNode.raw.slice(1, -1); - const rawPatternStartRange = patternNode.range[0] + 1; - let flags; - - if (node.arguments.length < 2) { - - // It has no flags. - flags = ""; - } else { - const flagsNode = node.arguments[1]; - - if (isString(flagsNode)) { - flags = flagsNode.value; - } else { - - // The flags cannot be determined. - return; - } - } - - checkRegex( - node, - pattern, - rawPattern, - rawPatternStartRange, - flags - ); - } - } - - return { - Literal: checkLiteral, - CallExpression: checkFunction, - NewExpression: checkFunction - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-exports.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-exports.js deleted file mode 100644 index 8da2f2df..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-exports.js +++ /dev/null @@ -1,204 +0,0 @@ -/** - * @fileoverview Rule to disallow specified names in exports - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow specified names in exports", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-restricted-exports" - }, - - schema: [{ - anyOf: [ - { - type: "object", - properties: { - restrictedNamedExports: { - type: "array", - items: { - type: "string" - }, - uniqueItems: true - }, - restrictedNamedExportsPattern: { type: "string" } - }, - additionalProperties: false - }, - { - type: "object", - properties: { - restrictedNamedExports: { - type: "array", - items: { - type: "string", - pattern: "^(?!default$)" - }, - uniqueItems: true - }, - restrictedNamedExportsPattern: { type: "string" }, - restrictDefaultExports: { - type: "object", - properties: { - - // Allow/Disallow `export default foo; export default 42; export default function foo() {}` format - direct: { - type: "boolean" - }, - - // Allow/Disallow `export { foo as default };` declarations - named: { - type: "boolean" - }, - - // Allow/Disallow `export { default } from "mod"; export { default as default } from "mod";` declarations - defaultFrom: { - type: "boolean" - }, - - // Allow/Disallow `export { foo as default } from "mod";` declarations - namedFrom: { - type: "boolean" - }, - - // Allow/Disallow `export * as default from "mod"`; declarations - namespaceFrom: { - type: "boolean" - } - }, - additionalProperties: false - } - }, - additionalProperties: false - } - ] - }], - - messages: { - restrictedNamed: "'{{name}}' is restricted from being used as an exported name.", - restrictedDefault: "Exporting 'default' is restricted." - } - }, - - create(context) { - - const restrictedNames = new Set(context.options[0] && context.options[0].restrictedNamedExports); - const restrictedNamePattern = context.options[0] && context.options[0].restrictedNamedExportsPattern; - const restrictDefaultExports = context.options[0] && context.options[0].restrictDefaultExports; - const sourceCode = context.sourceCode; - - /** - * Checks and reports given exported name. - * @param {ASTNode} node exported `Identifier` or string `Literal` node to check. - * @returns {void} - */ - function checkExportedName(node) { - const name = astUtils.getModuleExportName(node); - - let matchesRestrictedNamePattern = false; - - if (restrictedNamePattern && name !== "default") { - const patternRegex = new RegExp(restrictedNamePattern, "u"); - - matchesRestrictedNamePattern = patternRegex.test(name); - } - - if (matchesRestrictedNamePattern || restrictedNames.has(name)) { - context.report({ - node, - messageId: "restrictedNamed", - data: { name } - }); - return; - } - - if (name === "default") { - if (node.parent.type === "ExportAllDeclaration") { - if (restrictDefaultExports && restrictDefaultExports.namespaceFrom) { - context.report({ - node, - messageId: "restrictedDefault" - }); - } - - } else { // ExportSpecifier - const isSourceSpecified = !!node.parent.parent.source; - const specifierLocalName = astUtils.getModuleExportName(node.parent.local); - - if (!isSourceSpecified && restrictDefaultExports && restrictDefaultExports.named) { - context.report({ - node, - messageId: "restrictedDefault" - }); - return; - } - - if (isSourceSpecified && restrictDefaultExports) { - if ( - (specifierLocalName === "default" && restrictDefaultExports.defaultFrom) || - (specifierLocalName !== "default" && restrictDefaultExports.namedFrom) - ) { - context.report({ - node, - messageId: "restrictedDefault" - }); - } - } - } - } - } - - return { - ExportAllDeclaration(node) { - if (node.exported) { - checkExportedName(node.exported); - } - }, - - ExportDefaultDeclaration(node) { - if (restrictDefaultExports && restrictDefaultExports.direct) { - context.report({ - node, - messageId: "restrictedDefault" - }); - } - }, - - ExportNamedDeclaration(node) { - const declaration = node.declaration; - - if (declaration) { - if (declaration.type === "FunctionDeclaration" || declaration.type === "ClassDeclaration") { - checkExportedName(declaration.id); - } else if (declaration.type === "VariableDeclaration") { - sourceCode.getDeclaredVariables(declaration) - .map(v => v.defs.find(d => d.parent === declaration)) - .map(d => d.name) // Identifier nodes - .forEach(checkExportedName); - } - } else { - node.specifiers - .map(s => s.exported) - .forEach(checkExportedName); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-globals.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-globals.js deleted file mode 100644 index 060d50a0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-globals.js +++ /dev/null @@ -1,124 +0,0 @@ -/** - * @fileoverview Restrict usage of specified globals. - * @author Benoît Zugmeyer - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow specified global variables", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-restricted-globals" - }, - - schema: { - type: "array", - items: { - oneOf: [ - { - type: "string" - }, - { - type: "object", - properties: { - name: { type: "string" }, - message: { type: "string" } - }, - required: ["name"], - additionalProperties: false - } - ] - }, - uniqueItems: true, - minItems: 0 - }, - - messages: { - defaultMessage: "Unexpected use of '{{name}}'.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - customMessage: "Unexpected use of '{{name}}'. {{customMessage}}" - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - // If no globals are restricted, we don't need to do anything - if (context.options.length === 0) { - return {}; - } - - const restrictedGlobalMessages = context.options.reduce((memo, option) => { - if (typeof option === "string") { - memo[option] = null; - } else { - memo[option.name] = option.message; - } - - return memo; - }, {}); - - /** - * Report a variable to be used as a restricted global. - * @param {Reference} reference the variable reference - * @returns {void} - * @private - */ - function reportReference(reference) { - const name = reference.identifier.name, - customMessage = restrictedGlobalMessages[name], - messageId = customMessage - ? "customMessage" - : "defaultMessage"; - - context.report({ - node: reference.identifier, - messageId, - data: { - name, - customMessage - } - }); - } - - /** - * Check if the given name is a restricted global name. - * @param {string} name name of a variable - * @returns {boolean} whether the variable is a restricted global or not - * @private - */ - function isRestricted(name) { - return Object.hasOwn(restrictedGlobalMessages, name); - } - - return { - Program(node) { - const scope = sourceCode.getScope(node); - - // Report variables declared elsewhere (ex: variables defined as "global" by eslint) - scope.variables.forEach(variable => { - if (!variable.defs.length && isRestricted(variable.name)) { - variable.references.forEach(reportReference); - } - }); - - // Report variables not declared at all - scope.through.forEach(reference => { - if (isRestricted(reference.identifier.name)) { - reportReference(reference); - } - }); - - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-imports.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-imports.js deleted file mode 100644 index 5fd4744c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-imports.js +++ /dev/null @@ -1,563 +0,0 @@ -/** - * @fileoverview Restrict usage of specified node imports. - * @author Guy Ellis - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const ignore = require("ignore"); - -const arrayOfStringsOrObjects = { - type: "array", - items: { - anyOf: [ - { type: "string" }, - { - type: "object", - properties: { - name: { type: "string" }, - message: { - type: "string", - minLength: 1 - }, - importNames: { - type: "array", - items: { - type: "string" - } - }, - allowImportNames: { - type: "array", - items: { - type: "string" - } - } - }, - additionalProperties: false, - required: ["name"], - not: { required: ["importNames", "allowImportNames"] } - } - ] - }, - uniqueItems: true -}; - -const arrayOfStringsOrObjectPatterns = { - anyOf: [ - { - type: "array", - items: { - type: "string" - }, - uniqueItems: true - }, - { - type: "array", - items: { - type: "object", - properties: { - importNames: { - type: "array", - items: { - type: "string" - }, - minItems: 1, - uniqueItems: true - }, - allowImportNames: { - type: "array", - items: { - type: "string" - }, - minItems: 1, - uniqueItems: true - }, - group: { - type: "array", - items: { - type: "string" - }, - minItems: 1, - uniqueItems: true - }, - regex: { - type: "string" - }, - importNamePattern: { - type: "string" - }, - allowImportNamePattern: { - type: "string" - }, - message: { - type: "string", - minLength: 1 - }, - caseSensitive: { - type: "boolean" - } - }, - additionalProperties: false, - not: { - anyOf: [ - { required: ["importNames", "allowImportNames"] }, - { required: ["importNamePattern", "allowImportNamePattern"] }, - { required: ["importNames", "allowImportNamePattern"] }, - { required: ["importNamePattern", "allowImportNames"] }, - { required: ["allowImportNames", "allowImportNamePattern"] } - ] - }, - oneOf: [ - { required: ["group"] }, - { required: ["regex"] } - ] - }, - uniqueItems: true - } - ] -}; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow specified modules when loaded by `import`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-restricted-imports" - }, - - messages: { - path: "'{{importSource}}' import is restricted from being used.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - pathWithCustomMessage: "'{{importSource}}' import is restricted from being used. {{customMessage}}", - - patterns: "'{{importSource}}' import is restricted from being used by a pattern.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - patternWithCustomMessage: "'{{importSource}}' import is restricted from being used by a pattern. {{customMessage}}", - - patternAndImportName: "'{{importName}}' import from '{{importSource}}' is restricted from being used by a pattern.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - patternAndImportNameWithCustomMessage: "'{{importName}}' import from '{{importSource}}' is restricted from being used by a pattern. {{customMessage}}", - - patternAndEverything: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted from being used by a pattern.", - - patternAndEverythingWithRegexImportName: "* import is invalid because import name matching '{{importNames}}' pattern from '{{importSource}}' is restricted from being used.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - patternAndEverythingWithCustomMessage: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted from being used by a pattern. {{customMessage}}", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - patternAndEverythingWithRegexImportNameAndCustomMessage: "* import is invalid because import name matching '{{importNames}}' pattern from '{{importSource}}' is restricted from being used. {{customMessage}}", - - everything: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - everythingWithCustomMessage: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted. {{customMessage}}", - - importName: "'{{importName}}' import from '{{importSource}}' is restricted.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - importNameWithCustomMessage: "'{{importName}}' import from '{{importSource}}' is restricted. {{customMessage}}", - - allowedImportName: "'{{importName}}' import from '{{importSource}}' is restricted because only '{{allowedImportNames}}' import(s) is/are allowed.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - allowedImportNameWithCustomMessage: "'{{importName}}' import from '{{importSource}}' is restricted because only '{{allowedImportNames}}' import(s) is/are allowed. {{customMessage}}", - - everythingWithAllowImportNames: "* import is invalid because only '{{allowedImportNames}}' from '{{importSource}}' is/are allowed.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - everythingWithAllowImportNamesAndCustomMessage: "* import is invalid because only '{{allowedImportNames}}' from '{{importSource}}' is/are allowed. {{customMessage}}", - - allowedImportNamePattern: "'{{importName}}' import from '{{importSource}}' is restricted because only imports that match the pattern '{{allowedImportNamePattern}}' are allowed from '{{importSource}}'.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - allowedImportNamePatternWithCustomMessage: "'{{importName}}' import from '{{importSource}}' is restricted because only imports that match the pattern '{{allowedImportNamePattern}}' are allowed from '{{importSource}}'. {{customMessage}}", - - everythingWithAllowedImportNamePattern: "* import is invalid because only imports that match the pattern '{{allowedImportNamePattern}}' from '{{importSource}}' are allowed.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - everythingWithAllowedImportNamePatternWithCustomMessage: "* import is invalid because only imports that match the pattern '{{allowedImportNamePattern}}' from '{{importSource}}' are allowed. {{customMessage}}" - }, - - schema: { - anyOf: [ - arrayOfStringsOrObjects, - { - type: "array", - items: [{ - type: "object", - properties: { - paths: arrayOfStringsOrObjects, - patterns: arrayOfStringsOrObjectPatterns - }, - additionalProperties: false - }], - additionalItems: false - } - ] - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const options = Array.isArray(context.options) ? context.options : []; - const isPathAndPatternsObject = - typeof options[0] === "object" && - (Object.hasOwn(options[0], "paths") || Object.hasOwn(options[0], "patterns")); - - const restrictedPaths = (isPathAndPatternsObject ? options[0].paths : context.options) || []; - const groupedRestrictedPaths = restrictedPaths.reduce((memo, importSource) => { - const path = typeof importSource === "string" - ? importSource - : importSource.name; - - if (!memo[path]) { - memo[path] = []; - } - - if (typeof importSource === "string") { - memo[path].push({}); - } else { - memo[path].push({ - message: importSource.message, - importNames: importSource.importNames, - allowImportNames: importSource.allowImportNames - }); - } - return memo; - }, Object.create(null)); - - // Handle patterns too, either as strings or groups - let restrictedPatterns = (isPathAndPatternsObject ? options[0].patterns : []) || []; - - // standardize to array of objects if we have an array of strings - if (restrictedPatterns.length > 0 && typeof restrictedPatterns[0] === "string") { - restrictedPatterns = [{ group: restrictedPatterns }]; - } - - // relative paths are supported for this rule - const restrictedPatternGroups = restrictedPatterns.map( - ({ group, regex, message, caseSensitive, importNames, importNamePattern, allowImportNames, allowImportNamePattern }) => ( - { - ...(group ? { matcher: ignore({ allowRelativePaths: true, ignorecase: !caseSensitive }).add(group) } : {}), - ...(typeof regex === "string" ? { regexMatcher: new RegExp(regex, caseSensitive ? "u" : "iu") } : {}), - customMessage: message, - importNames, - importNamePattern, - allowImportNames, - allowImportNamePattern - } - ) - ); - - // if no imports are restricted we don't need to check - if (Object.keys(restrictedPaths).length === 0 && restrictedPatternGroups.length === 0) { - return {}; - } - - /** - * Report a restricted path. - * @param {string} importSource path of the import - * @param {Map} importNames Map of import names that are being imported - * @param {node} node representing the restricted path reference - * @returns {void} - * @private - */ - function checkRestrictedPathAndReport(importSource, importNames, node) { - if (!Object.hasOwn(groupedRestrictedPaths, importSource)) { - return; - } - - groupedRestrictedPaths[importSource].forEach(restrictedPathEntry => { - const customMessage = restrictedPathEntry.message; - const restrictedImportNames = restrictedPathEntry.importNames; - const allowedImportNames = restrictedPathEntry.allowImportNames; - - if (!restrictedImportNames && !allowedImportNames) { - context.report({ - node, - messageId: customMessage ? "pathWithCustomMessage" : "path", - data: { - importSource, - customMessage - } - }); - - return; - } - - importNames.forEach((specifiers, importName) => { - if (importName === "*") { - const [specifier] = specifiers; - - if (restrictedImportNames) { - context.report({ - node, - messageId: customMessage ? "everythingWithCustomMessage" : "everything", - loc: specifier.loc, - data: { - importSource, - importNames: restrictedImportNames, - customMessage - } - }); - } else if (allowedImportNames) { - context.report({ - node, - messageId: customMessage ? "everythingWithAllowImportNamesAndCustomMessage" : "everythingWithAllowImportNames", - loc: specifier.loc, - data: { - importSource, - allowedImportNames, - customMessage - } - }); - } - - return; - } - - if (restrictedImportNames && restrictedImportNames.includes(importName)) { - specifiers.forEach(specifier => { - context.report({ - node, - messageId: customMessage ? "importNameWithCustomMessage" : "importName", - loc: specifier.loc, - data: { - importSource, - customMessage, - importName - } - }); - }); - } - - if (allowedImportNames && !allowedImportNames.includes(importName)) { - specifiers.forEach(specifier => { - context.report({ - node, - loc: specifier.loc, - messageId: customMessage ? "allowedImportNameWithCustomMessage" : "allowedImportName", - data: { - importSource, - customMessage, - importName, - allowedImportNames - } - }); - }); - } - }); - }); - } - - /** - * Report a restricted path specifically for patterns. - * @param {node} node representing the restricted path reference - * @param {Object} group contains an Ignore instance for paths, the customMessage to show on failure, - * and any restricted import names that have been specified in the config - * @param {Map} importNames Map of import names that are being imported - * @returns {void} - * @private - */ - function reportPathForPatterns(node, group, importNames) { - const importSource = node.source.value.trim(); - - const customMessage = group.customMessage; - const restrictedImportNames = group.importNames; - const restrictedImportNamePattern = group.importNamePattern ? new RegExp(group.importNamePattern, "u") : null; - const allowedImportNames = group.allowImportNames; - const allowedImportNamePattern = group.allowImportNamePattern ? new RegExp(group.allowImportNamePattern, "u") : null; - - /** - * If we are not restricting to any specific import names and just the pattern itself, - * report the error and move on - */ - if (!restrictedImportNames && !allowedImportNames && !restrictedImportNamePattern && !allowedImportNamePattern) { - context.report({ - node, - messageId: customMessage ? "patternWithCustomMessage" : "patterns", - data: { - importSource, - customMessage - } - }); - return; - } - - importNames.forEach((specifiers, importName) => { - if (importName === "*") { - const [specifier] = specifiers; - - if (restrictedImportNames) { - context.report({ - node, - messageId: customMessage ? "patternAndEverythingWithCustomMessage" : "patternAndEverything", - loc: specifier.loc, - data: { - importSource, - importNames: restrictedImportNames, - customMessage - } - }); - } else if (allowedImportNames) { - context.report({ - node, - messageId: customMessage ? "everythingWithAllowImportNamesAndCustomMessage" : "everythingWithAllowImportNames", - loc: specifier.loc, - data: { - importSource, - allowedImportNames, - customMessage - } - }); - } else if (allowedImportNamePattern) { - context.report({ - node, - messageId: customMessage ? "everythingWithAllowedImportNamePatternWithCustomMessage" : "everythingWithAllowedImportNamePattern", - loc: specifier.loc, - data: { - importSource, - allowedImportNamePattern, - customMessage - } - }); - } else { - context.report({ - node, - messageId: customMessage ? "patternAndEverythingWithRegexImportNameAndCustomMessage" : "patternAndEverythingWithRegexImportName", - loc: specifier.loc, - data: { - importSource, - importNames: restrictedImportNamePattern, - customMessage - } - }); - } - - return; - } - - if ( - (restrictedImportNames && restrictedImportNames.includes(importName)) || - (restrictedImportNamePattern && restrictedImportNamePattern.test(importName)) - ) { - specifiers.forEach(specifier => { - context.report({ - node, - messageId: customMessage ? "patternAndImportNameWithCustomMessage" : "patternAndImportName", - loc: specifier.loc, - data: { - importSource, - customMessage, - importName - } - }); - }); - } - - if (allowedImportNames && !allowedImportNames.includes(importName)) { - specifiers.forEach(specifier => { - context.report({ - node, - messageId: customMessage ? "allowedImportNameWithCustomMessage" : "allowedImportName", - loc: specifier.loc, - data: { - importSource, - customMessage, - importName, - allowedImportNames - } - }); - }); - } else if (allowedImportNamePattern && !allowedImportNamePattern.test(importName)) { - specifiers.forEach(specifier => { - context.report({ - node, - messageId: customMessage ? "allowedImportNamePatternWithCustomMessage" : "allowedImportNamePattern", - loc: specifier.loc, - data: { - importSource, - customMessage, - importName, - allowedImportNamePattern - } - }); - }); - } - }); - } - - /** - * Check if the given importSource is restricted by a pattern. - * @param {string} importSource path of the import - * @param {Object} group contains a Ignore instance for paths, and the customMessage to show if it fails - * @returns {boolean} whether the variable is a restricted pattern or not - * @private - */ - function isRestrictedPattern(importSource, group) { - return group.regexMatcher ? group.regexMatcher.test(importSource) : group.matcher.ignores(importSource); - } - - /** - * Checks a node to see if any problems should be reported. - * @param {ASTNode} node The node to check. - * @returns {void} - * @private - */ - function checkNode(node) { - const importSource = node.source.value.trim(); - const importNames = new Map(); - - if (node.type === "ExportAllDeclaration") { - const starToken = sourceCode.getFirstToken(node, 1); - - importNames.set("*", [{ loc: starToken.loc }]); - } else if (node.specifiers) { - for (const specifier of node.specifiers) { - let name; - const specifierData = { loc: specifier.loc }; - - if (specifier.type === "ImportDefaultSpecifier") { - name = "default"; - } else if (specifier.type === "ImportNamespaceSpecifier") { - name = "*"; - } else if (specifier.imported) { - name = astUtils.getModuleExportName(specifier.imported); - } else if (specifier.local) { - name = astUtils.getModuleExportName(specifier.local); - } - - if (typeof name === "string") { - if (importNames.has(name)) { - importNames.get(name).push(specifierData); - } else { - importNames.set(name, [specifierData]); - } - } - } - } - - checkRestrictedPathAndReport(importSource, importNames, node); - restrictedPatternGroups.forEach(group => { - if (isRestrictedPattern(importSource, group)) { - reportPathForPatterns(node, group, importNames); - } - }); - } - - return { - ImportDeclaration: checkNode, - ExportNamedDeclaration(node) { - if (node.source) { - checkNode(node); - } - }, - ExportAllDeclaration: checkNode - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-modules.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-modules.js deleted file mode 100644 index d36f2d28..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-modules.js +++ /dev/null @@ -1,213 +0,0 @@ -/** - * @fileoverview Restrict usage of specified node modules. - * @author Christian Schulz - * @deprecated in ESLint v7.0.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const ignore = require("ignore"); - -const arrayOfStrings = { - type: "array", - items: { type: "string" }, - uniqueItems: true -}; - -const arrayOfStringsOrObjects = { - type: "array", - items: { - anyOf: [ - { type: "string" }, - { - type: "object", - properties: { - name: { type: "string" }, - message: { - type: "string", - minLength: 1 - } - }, - additionalProperties: false, - required: ["name"] - } - ] - }, - uniqueItems: true -}; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Disallow specified modules when loaded by `require`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-restricted-modules" - }, - - schema: { - anyOf: [ - arrayOfStringsOrObjects, - { - type: "array", - items: { - type: "object", - properties: { - paths: arrayOfStringsOrObjects, - patterns: arrayOfStrings - }, - additionalProperties: false - }, - additionalItems: false - } - ] - }, - - messages: { - defaultMessage: "'{{name}}' module is restricted from being used.", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - customMessage: "'{{name}}' module is restricted from being used. {{customMessage}}", - patternMessage: "'{{name}}' module is restricted from being used by a pattern." - } - }, - - create(context) { - const options = Array.isArray(context.options) ? context.options : []; - const isPathAndPatternsObject = - typeof options[0] === "object" && - (Object.hasOwn(options[0], "paths") || Object.hasOwn(options[0], "patterns")); - - const restrictedPaths = (isPathAndPatternsObject ? options[0].paths : context.options) || []; - const restrictedPatterns = (isPathAndPatternsObject ? options[0].patterns : []) || []; - - const restrictedPathMessages = restrictedPaths.reduce((memo, importName) => { - if (typeof importName === "string") { - memo[importName] = null; - } else { - memo[importName.name] = importName.message; - } - return memo; - }, {}); - - // if no imports are restricted we don't need to check - if (Object.keys(restrictedPaths).length === 0 && restrictedPatterns.length === 0) { - return {}; - } - - // relative paths are supported for this rule - const ig = ignore({ allowRelativePaths: true }).add(restrictedPatterns); - - - /** - * Function to check if a node is a string literal. - * @param {ASTNode} node The node to check. - * @returns {boolean} If the node is a string literal. - */ - function isStringLiteral(node) { - return node && node.type === "Literal" && typeof node.value === "string"; - } - - /** - * Function to check if a node is a require call. - * @param {ASTNode} node The node to check. - * @returns {boolean} If the node is a require call. - */ - function isRequireCall(node) { - return node.callee.type === "Identifier" && node.callee.name === "require"; - } - - /** - * Extract string from Literal or TemplateLiteral node - * @param {ASTNode} node The node to extract from - * @returns {string|null} Extracted string or null if node doesn't represent a string - */ - function getFirstArgumentString(node) { - if (isStringLiteral(node)) { - return node.value.trim(); - } - - if (astUtils.isStaticTemplateLiteral(node)) { - return node.quasis[0].value.cooked.trim(); - } - - return null; - } - - /** - * Report a restricted path. - * @param {node} node representing the restricted path reference - * @param {string} name restricted path - * @returns {void} - * @private - */ - function reportPath(node, name) { - const customMessage = restrictedPathMessages[name]; - const messageId = customMessage - ? "customMessage" - : "defaultMessage"; - - context.report({ - node, - messageId, - data: { - name, - customMessage - } - }); - } - - /** - * Check if the given name is a restricted path name - * @param {string} name name of a variable - * @returns {boolean} whether the variable is a restricted path or not - * @private - */ - function isRestrictedPath(name) { - return Object.hasOwn(restrictedPathMessages, name); - } - - return { - CallExpression(node) { - if (isRequireCall(node)) { - - // node has arguments - if (node.arguments.length) { - const name = getFirstArgumentString(node.arguments[0]); - - // if first argument is a string literal or a static string template literal - if (name) { - - // check if argument value is in restricted modules array - if (isRestrictedPath(name)) { - reportPath(node, name); - } - - if (restrictedPatterns.length > 0 && ig.ignores(name)) { - context.report({ - node, - messageId: "patternMessage", - data: { name } - }); - } - } - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-properties.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-properties.js deleted file mode 100644 index acd178ae..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-properties.js +++ /dev/null @@ -1,168 +0,0 @@ -/** - * @fileoverview Rule to disallow certain object properties - * @author Will Klein & Eli White - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow certain properties on certain objects", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-restricted-properties" - }, - - schema: { - type: "array", - items: { - anyOf: [ // `object` and `property` are both optional, but at least one of them must be provided. - { - type: "object", - properties: { - object: { - type: "string" - }, - property: { - type: "string" - }, - message: { - type: "string" - } - }, - additionalProperties: false, - required: ["object"] - }, - { - type: "object", - properties: { - object: { - type: "string" - }, - property: { - type: "string" - }, - message: { - type: "string" - } - }, - additionalProperties: false, - required: ["property"] - } - ] - }, - uniqueItems: true - }, - - messages: { - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - restrictedObjectProperty: "'{{objectName}}.{{propertyName}}' is restricted from being used.{{message}}", - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - restrictedProperty: "'{{propertyName}}' is restricted from being used.{{message}}" - } - }, - - create(context) { - const restrictedCalls = context.options; - - if (restrictedCalls.length === 0) { - return {}; - } - - const restrictedProperties = new Map(); - const globallyRestrictedObjects = new Map(); - const globallyRestrictedProperties = new Map(); - - restrictedCalls.forEach(option => { - const objectName = option.object; - const propertyName = option.property; - - if (typeof objectName === "undefined") { - globallyRestrictedProperties.set(propertyName, { message: option.message }); - } else if (typeof propertyName === "undefined") { - globallyRestrictedObjects.set(objectName, { message: option.message }); - } else { - if (!restrictedProperties.has(objectName)) { - restrictedProperties.set(objectName, new Map()); - } - - restrictedProperties.get(objectName).set(propertyName, { - message: option.message - }); - } - }); - - /** - * Checks to see whether a property access is restricted, and reports it if so. - * @param {ASTNode} node The node to report - * @param {string} objectName The name of the object - * @param {string} propertyName The name of the property - * @returns {undefined} - */ - function checkPropertyAccess(node, objectName, propertyName) { - if (propertyName === null) { - return; - } - const matchedObject = restrictedProperties.get(objectName); - const matchedObjectProperty = matchedObject ? matchedObject.get(propertyName) : globallyRestrictedObjects.get(objectName); - const globalMatchedProperty = globallyRestrictedProperties.get(propertyName); - - if (matchedObjectProperty) { - const message = matchedObjectProperty.message ? ` ${matchedObjectProperty.message}` : ""; - - context.report({ - node, - messageId: "restrictedObjectProperty", - data: { - objectName, - propertyName, - message - } - }); - } else if (globalMatchedProperty) { - const message = globalMatchedProperty.message ? ` ${globalMatchedProperty.message}` : ""; - - context.report({ - node, - messageId: "restrictedProperty", - data: { - propertyName, - message - } - }); - } - } - - return { - MemberExpression(node) { - checkPropertyAccess(node, node.object && node.object.name, astUtils.getStaticPropertyName(node)); - }, - ObjectPattern(node) { - let objectName = null; - - if (node.parent.type === "VariableDeclarator") { - if (node.parent.init && node.parent.init.type === "Identifier") { - objectName = node.parent.init.name; - } - } else if (node.parent.type === "AssignmentExpression" || node.parent.type === "AssignmentPattern") { - if (node.parent.right.type === "Identifier") { - objectName = node.parent.right.name; - } - } - - node.properties.forEach(property => { - checkPropertyAccess(node, objectName, astUtils.getStaticPropertyName(property)); - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-syntax.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-syntax.js deleted file mode 100644 index 930882c3..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-restricted-syntax.js +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @fileoverview Rule to flag use of certain node types - * @author Burak Yigit Kaya - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow specified syntax", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-restricted-syntax" - }, - - schema: { - type: "array", - items: { - oneOf: [ - { - type: "string" - }, - { - type: "object", - properties: { - selector: { type: "string" }, - message: { type: "string" } - }, - required: ["selector"], - additionalProperties: false - } - ] - }, - uniqueItems: true, - minItems: 0 - }, - - messages: { - // eslint-disable-next-line eslint-plugin/report-message-format -- Custom message might not end in a period - restrictedSyntax: "{{message}}" - } - }, - - create(context) { - return context.options.reduce((result, selectorOrObject) => { - const isStringFormat = (typeof selectorOrObject === "string"); - const hasCustomMessage = !isStringFormat && Boolean(selectorOrObject.message); - - const selector = isStringFormat ? selectorOrObject : selectorOrObject.selector; - const message = hasCustomMessage ? selectorOrObject.message : `Using '${selector}' is not allowed.`; - - return Object.assign(result, { - [selector](node) { - context.report({ - node, - messageId: "restrictedSyntax", - data: { message } - }); - } - }); - }, {}); - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-assign.js deleted file mode 100644 index 7c1f00ec..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-assign.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @fileoverview Rule to flag when return statement contains assignment - * @author Ilya Volodin - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const SENTINEL_TYPE = /^(?:[a-zA-Z]+?Statement|ArrowFunctionExpression|FunctionExpression|ClassExpression)$/u; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["except-parens"], - - docs: { - description: "Disallow assignment operators in `return` statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-return-assign" - }, - - schema: [ - { - enum: ["except-parens", "always"] - } - ], - - messages: { - returnAssignment: "Return statement should not contain assignment.", - arrowAssignment: "Arrow function should not return assignment." - } - }, - - create(context) { - const always = context.options[0] !== "except-parens"; - const sourceCode = context.sourceCode; - - return { - AssignmentExpression(node) { - if (!always && astUtils.isParenthesised(sourceCode, node)) { - return; - } - - let currentChild = node; - let parent = currentChild.parent; - - // Find ReturnStatement or ArrowFunctionExpression in ancestors. - while (parent && !SENTINEL_TYPE.test(parent.type)) { - currentChild = parent; - parent = parent.parent; - } - - // Reports. - if (parent && parent.type === "ReturnStatement") { - context.report({ - node: parent, - messageId: "returnAssignment" - }); - } else if (parent && parent.type === "ArrowFunctionExpression" && parent.body === currentChild) { - context.report({ - node: parent, - messageId: "arrowAssignment" - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-await.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-await.js deleted file mode 100644 index 0c297411..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-return-await.js +++ /dev/null @@ -1,135 +0,0 @@ -/** - * @fileoverview Disallows unnecessary `return await` - * @author Jordan Harband - * @deprecated in ESLint v8.46.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - hasSuggestions: true, - type: "suggestion", - - docs: { - description: "Disallow unnecessary `return await`", - - recommended: false, - - url: "https://eslint.org/docs/latest/rules/no-return-await" - }, - - fixable: null, - - deprecated: true, - - replacedBy: [], - - schema: [ - ], - - messages: { - removeAwait: "Remove redundant `await`.", - redundantUseOfAwait: "Redundant use of `await` on a return value." - } - }, - - create(context) { - - /** - * Reports a found unnecessary `await` expression. - * @param {ASTNode} node The node representing the `await` expression to report - * @returns {void} - */ - function reportUnnecessaryAwait(node) { - context.report({ - node: context.sourceCode.getFirstToken(node), - loc: node.loc, - messageId: "redundantUseOfAwait", - suggest: [ - { - messageId: "removeAwait", - fix(fixer) { - const sourceCode = context.sourceCode; - const [awaitToken, tokenAfterAwait] = sourceCode.getFirstTokens(node, 2); - - const areAwaitAndAwaitedExpressionOnTheSameLine = awaitToken.loc.start.line === tokenAfterAwait.loc.start.line; - - if (!areAwaitAndAwaitedExpressionOnTheSameLine) { - return null; - } - - const [startOfAwait, endOfAwait] = awaitToken.range; - - const characterAfterAwait = sourceCode.text[endOfAwait]; - const trimLength = characterAfterAwait === " " ? 1 : 0; - - const range = [startOfAwait, endOfAwait + trimLength]; - - return fixer.removeRange(range); - } - } - ] - - }); - } - - /** - * Determines whether a thrown error from this node will be caught/handled within this function rather than immediately halting - * this function. For example, a statement in a `try` block will always have an error handler. A statement in - * a `catch` block will only have an error handler if there is also a `finally` block. - * @param {ASTNode} node A node representing a location where an could be thrown - * @returns {boolean} `true` if a thrown error will be caught/handled in this function - */ - function hasErrorHandler(node) { - let ancestor = node; - - while (!astUtils.isFunction(ancestor) && ancestor.type !== "Program") { - if (ancestor.parent.type === "TryStatement" && (ancestor === ancestor.parent.block || ancestor === ancestor.parent.handler && ancestor.parent.finalizer)) { - return true; - } - ancestor = ancestor.parent; - } - return false; - } - - /** - * Checks if a node is placed in tail call position. Once `return` arguments (or arrow function expressions) can be a complex expression, - * an `await` expression could or could not be unnecessary by the definition of this rule. So we're looking for `await` expressions that are in tail position. - * @param {ASTNode} node A node representing the `await` expression to check - * @returns {boolean} The checking result - */ - function isInTailCallPosition(node) { - if (node.parent.type === "ArrowFunctionExpression") { - return true; - } - if (node.parent.type === "ReturnStatement") { - return !hasErrorHandler(node.parent); - } - if (node.parent.type === "ConditionalExpression" && (node === node.parent.consequent || node === node.parent.alternate)) { - return isInTailCallPosition(node.parent); - } - if (node.parent.type === "LogicalExpression" && node === node.parent.right) { - return isInTailCallPosition(node.parent); - } - if (node.parent.type === "SequenceExpression" && node === node.parent.expressions.at(-1)) { - return isInTailCallPosition(node.parent); - } - return false; - } - - return { - AwaitExpression(node) { - if (isInTailCallPosition(node) && !hasErrorHandler(node)) { - reportUnnecessaryAwait(node); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-script-url.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-script-url.js deleted file mode 100644 index 607c768a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-script-url.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @fileoverview Rule to disallow `javascript:` URLs - * @author Ilya Volodin - */ -/* eslint no-script-url: 0 -- Code is checking to report such URLs */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `javascript:` URLs", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-script-url" - }, - - schema: [], - - messages: { - unexpectedScriptURL: "Script URL is a form of eval." - } - }, - - create(context) { - - /** - * Check whether a node's static value starts with `javascript:` or not. - * And report an error for unexpected script URL. - * @param {ASTNode} node node to check - * @returns {void} - */ - function check(node) { - const value = astUtils.getStaticStringValue(node); - - if (typeof value === "string" && value.toLowerCase().indexOf("javascript:") === 0) { - context.report({ node, messageId: "unexpectedScriptURL" }); - } - } - return { - Literal(node) { - if (node.value && typeof node.value === "string") { - check(node); - } - }, - TemplateLiteral(node) { - if (!(node.parent && node.parent.type === "TaggedTemplateExpression")) { - check(node); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-assign.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-assign.js deleted file mode 100644 index 91b928ea..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-assign.js +++ /dev/null @@ -1,184 +0,0 @@ -/** - * @fileoverview Rule to disallow assignments where both sides are exactly the same - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const SPACES = /\s+/gu; - -/** - * Traverses 2 Pattern nodes in parallel, then reports self-assignments. - * @param {ASTNode|null} left A left node to traverse. This is a Pattern or - * a Property. - * @param {ASTNode|null} right A right node to traverse. This is a Pattern or - * a Property. - * @param {boolean} props The flag to check member expressions as well. - * @param {Function} report A callback function to report. - * @returns {void} - */ -function eachSelfAssignment(left, right, props, report) { - if (!left || !right) { - - // do nothing - } else if ( - left.type === "Identifier" && - right.type === "Identifier" && - left.name === right.name - ) { - report(right); - } else if ( - left.type === "ArrayPattern" && - right.type === "ArrayExpression" - ) { - const end = Math.min(left.elements.length, right.elements.length); - - for (let i = 0; i < end; ++i) { - const leftElement = left.elements[i]; - const rightElement = right.elements[i]; - - // Avoid cases such as [...a] = [...a, 1] - if ( - leftElement && - leftElement.type === "RestElement" && - i < right.elements.length - 1 - ) { - break; - } - - eachSelfAssignment(leftElement, rightElement, props, report); - - // After a spread element, those indices are unknown. - if (rightElement && rightElement.type === "SpreadElement") { - break; - } - } - } else if ( - left.type === "RestElement" && - right.type === "SpreadElement" - ) { - eachSelfAssignment(left.argument, right.argument, props, report); - } else if ( - left.type === "ObjectPattern" && - right.type === "ObjectExpression" && - right.properties.length >= 1 - ) { - - /* - * Gets the index of the last spread property. - * It's possible to overwrite properties followed by it. - */ - let startJ = 0; - - for (let i = right.properties.length - 1; i >= 0; --i) { - const propType = right.properties[i].type; - - if (propType === "SpreadElement" || propType === "ExperimentalSpreadProperty") { - startJ = i + 1; - break; - } - } - - for (let i = 0; i < left.properties.length; ++i) { - for (let j = startJ; j < right.properties.length; ++j) { - eachSelfAssignment( - left.properties[i], - right.properties[j], - props, - report - ); - } - } - } else if ( - left.type === "Property" && - right.type === "Property" && - right.kind === "init" && - !right.method - ) { - const leftName = astUtils.getStaticPropertyName(left); - - if (leftName !== null && leftName === astUtils.getStaticPropertyName(right)) { - eachSelfAssignment(left.value, right.value, props, report); - } - } else if ( - props && - astUtils.skipChainExpression(left).type === "MemberExpression" && - astUtils.skipChainExpression(right).type === "MemberExpression" && - astUtils.isSameReference(left, right) - ) { - report(right); - } -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ props: true }], - - docs: { - description: "Disallow assignments where both sides are exactly the same", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-self-assign" - }, - - schema: [ - { - type: "object", - properties: { - props: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - selfAssignment: "'{{name}}' is assigned to itself." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const [{ props }] = context.options; - - /** - * Reports a given node as self assignments. - * @param {ASTNode} node A node to report. This is an Identifier node. - * @returns {void} - */ - function report(node) { - context.report({ - node, - messageId: "selfAssignment", - data: { - name: sourceCode.getText(node).replace(SPACES, "") - } - }); - } - - return { - AssignmentExpression(node) { - if (["=", "&&=", "||=", "??="].includes(node.operator)) { - eachSelfAssignment(node.left, node.right, props, report); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-compare.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-compare.js deleted file mode 100644 index 3b076eba..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-self-compare.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @fileoverview Rule to flag comparison where left part is the same as the right - * part. - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow comparisons where both sides are exactly the same", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-self-compare" - }, - - schema: [], - - messages: { - comparingToSelf: "Comparing to itself is potentially pointless." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Determines whether two nodes are composed of the same tokens. - * @param {ASTNode} nodeA The first node - * @param {ASTNode} nodeB The second node - * @returns {boolean} true if the nodes have identical token representations - */ - function hasSameTokens(nodeA, nodeB) { - const tokensA = sourceCode.getTokens(nodeA); - const tokensB = sourceCode.getTokens(nodeB); - - return tokensA.length === tokensB.length && - tokensA.every((token, index) => token.type === tokensB[index].type && token.value === tokensB[index].value); - } - - return { - - BinaryExpression(node) { - const operators = new Set(["===", "==", "!==", "!=", ">", "<", ">=", "<="]); - - if (operators.has(node.operator) && hasSameTokens(node.left, node.right)) { - context.report({ node, messageId: "comparingToSelf" }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sequences.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sequences.js deleted file mode 100644 index 5843b7a0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sequences.js +++ /dev/null @@ -1,139 +0,0 @@ -/** - * @fileoverview Rule to flag use of comma operator - * @author Brandon Mills - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow comma operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-sequences" - }, - - schema: [{ - type: "object", - properties: { - allowInParentheses: { - type: "boolean" - } - }, - additionalProperties: false - }], - - defaultOptions: [{ - allowInParentheses: true - }], - - messages: { - unexpectedCommaExpression: "Unexpected use of comma operator." - } - }, - - create(context) { - const [{ allowInParentheses }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Parts of the grammar that are required to have parens. - */ - const parenthesized = { - DoWhileStatement: "test", - IfStatement: "test", - SwitchStatement: "discriminant", - WhileStatement: "test", - WithStatement: "object", - ArrowFunctionExpression: "body" - - /* - * Omitting CallExpression - commas are parsed as argument separators - * Omitting NewExpression - commas are parsed as argument separators - * Omitting ForInStatement - parts aren't individually parenthesised - * Omitting ForStatement - parts aren't individually parenthesised - */ - }; - - /** - * Determines whether a node is required by the grammar to be wrapped in - * parens, e.g. the test of an if statement. - * @param {ASTNode} node The AST node - * @returns {boolean} True if parens around node belong to parent node. - */ - function requiresExtraParens(node) { - return node.parent && parenthesized[node.parent.type] && - node === node.parent[parenthesized[node.parent.type]]; - } - - /** - * Check if a node is wrapped in parens. - * @param {ASTNode} node The AST node - * @returns {boolean} True if the node has a paren on each side. - */ - function isParenthesised(node) { - return astUtils.isParenthesised(sourceCode, node); - } - - /** - * Check if a node is wrapped in two levels of parens. - * @param {ASTNode} node The AST node - * @returns {boolean} True if two parens surround the node on each side. - */ - function isParenthesisedTwice(node) { - const previousToken = sourceCode.getTokenBefore(node, 1), - nextToken = sourceCode.getTokenAfter(node, 1); - - return isParenthesised(node) && previousToken && nextToken && - astUtils.isOpeningParenToken(previousToken) && previousToken.range[1] <= node.range[0] && - astUtils.isClosingParenToken(nextToken) && nextToken.range[0] >= node.range[1]; - } - - return { - SequenceExpression(node) { - - // Always allow sequences in for statement update - if (node.parent.type === "ForStatement" && - (node === node.parent.init || node === node.parent.update)) { - return; - } - - // Wrapping a sequence in extra parens indicates intent - if (allowInParentheses) { - if (requiresExtraParens(node)) { - if (isParenthesisedTwice(node)) { - return; - } - } else { - if (isParenthesised(node)) { - return; - } - } - } - - const firstCommaToken = sourceCode.getTokenAfter(node.expressions[0], astUtils.isCommaToken); - - context.report({ node, loc: firstCommaToken.loc, messageId: "unexpectedCommaExpression" }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-setter-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-setter-return.js deleted file mode 100644 index a5abaaa7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-setter-return.js +++ /dev/null @@ -1,226 +0,0 @@ -/** - * @fileoverview Rule to disallow returning values from setters - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { findVariable } = require("@eslint-community/eslint-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines whether the given identifier node is a reference to a global variable. - * @param {ASTNode} node `Identifier` node to check. - * @param {Scope} scope Scope to which the node belongs. - * @returns {boolean} True if the identifier is a reference to a global variable. - */ -function isGlobalReference(node, scope) { - const variable = findVariable(scope, node); - - return variable !== null && variable.scope.type === "global" && variable.defs.length === 0; -} - -/** - * Determines whether the given node is an argument of the specified global method call, at the given `index` position. - * E.g., for given `index === 1`, this function checks for `objectName.methodName(foo, node)`, where objectName is a global variable. - * @param {ASTNode} node The node to check. - * @param {Scope} scope Scope to which the node belongs. - * @param {string} objectName Name of the global object. - * @param {string} methodName Name of the method. - * @param {number} index The given position. - * @returns {boolean} `true` if the node is argument at the given position. - */ -function isArgumentOfGlobalMethodCall(node, scope, objectName, methodName, index) { - const callNode = node.parent; - - return callNode.type === "CallExpression" && - callNode.arguments[index] === node && - astUtils.isSpecificMemberAccess(callNode.callee, objectName, methodName) && - isGlobalReference(astUtils.skipChainExpression(callNode.callee).object, scope); -} - -/** - * Determines whether the given node is used as a property descriptor. - * @param {ASTNode} node The node to check. - * @param {Scope} scope Scope to which the node belongs. - * @returns {boolean} `true` if the node is a property descriptor. - */ -function isPropertyDescriptor(node, scope) { - if ( - isArgumentOfGlobalMethodCall(node, scope, "Object", "defineProperty", 2) || - isArgumentOfGlobalMethodCall(node, scope, "Reflect", "defineProperty", 2) - ) { - return true; - } - - const parent = node.parent; - - if ( - parent.type === "Property" && - parent.value === node - ) { - const grandparent = parent.parent; - - if ( - grandparent.type === "ObjectExpression" && - ( - isArgumentOfGlobalMethodCall(grandparent, scope, "Object", "create", 1) || - isArgumentOfGlobalMethodCall(grandparent, scope, "Object", "defineProperties", 1) - ) - ) { - return true; - } - } - - return false; -} - -/** - * Determines whether the given function node is used as a setter function. - * @param {ASTNode} node The node to check. - * @param {Scope} scope Scope to which the node belongs. - * @returns {boolean} `true` if the node is a setter. - */ -function isSetter(node, scope) { - const parent = node.parent; - - if ( - (parent.type === "Property" || parent.type === "MethodDefinition") && - parent.kind === "set" && - parent.value === node - ) { - - // Setter in an object literal or in a class - return true; - } - - if ( - parent.type === "Property" && - parent.value === node && - astUtils.getStaticPropertyName(parent) === "set" && - parent.parent.type === "ObjectExpression" && - isPropertyDescriptor(parent.parent, scope) - ) { - - // Setter in a property descriptor - return true; - } - - return false; -} - -/** - * Finds function's outer scope. - * @param {Scope} scope Function's own scope. - * @returns {Scope} Function's outer scope. - */ -function getOuterScope(scope) { - const upper = scope.upper; - - if (upper.type === "function-expression-name") { - return upper.upper; - } - - return upper; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow returning values from setters", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-setter-return" - }, - - schema: [], - - messages: { - returnsValue: "Setter cannot return a value." - } - }, - - create(context) { - let funcInfo = null; - const sourceCode = context.sourceCode; - - /** - * Creates and pushes to the stack a function info object for the given function node. - * @param {ASTNode} node The function node. - * @returns {void} - */ - function enterFunction(node) { - const outerScope = getOuterScope(sourceCode.getScope(node)); - - funcInfo = { - upper: funcInfo, - isSetter: isSetter(node, outerScope) - }; - } - - /** - * Pops the current function info object from the stack. - * @returns {void} - */ - function exitFunction() { - funcInfo = funcInfo.upper; - } - - /** - * Reports the given node. - * @param {ASTNode} node Node to report. - * @returns {void} - */ - function report(node) { - context.report({ node, messageId: "returnsValue" }); - } - - return { - - /* - * Function declarations cannot be setters, but we still have to track them in the `funcInfo` stack to avoid - * false positives, because a ReturnStatement node can belong to a function declaration inside a setter. - * - * Note: A previously declared function can be referenced and actually used as a setter in a property descriptor, - * but that's out of scope for this rule. - */ - FunctionDeclaration: enterFunction, - FunctionExpression: enterFunction, - ArrowFunctionExpression(node) { - enterFunction(node); - - if (funcInfo.isSetter && node.expression) { - - // { set: foo => bar } property descriptor. Report implicit return 'bar' as the equivalent for a return statement. - report(node.body); - } - }, - - "FunctionDeclaration:exit": exitFunction, - "FunctionExpression:exit": exitFunction, - "ArrowFunctionExpression:exit": exitFunction, - - ReturnStatement(node) { - - // Global returns (e.g., at the top level of a Node module) don't have `funcInfo`. - if (funcInfo && funcInfo.isSetter && node.argument) { - report(node); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow-restricted-names.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow-restricted-names.js deleted file mode 100644 index 29560fff..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - * @fileoverview Disallow shadowing of NaN, undefined, and Infinity (ES5 section 15.1.1) - * @author Michael Ficarra - */ -"use strict"; - -/** - * Determines if a variable safely shadows undefined. - * This is the case when a variable named `undefined` is never assigned to a value (i.e. it always shares the same value - * as the global). - * @param {eslintScope.Variable} variable The variable to check - * @returns {boolean} true if this variable safely shadows `undefined` - */ -function safelyShadowsUndefined(variable) { - return variable.name === "undefined" && - variable.references.every(ref => !ref.isWrite()) && - variable.defs.every(def => def.node.type === "VariableDeclarator" && def.node.init === null); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow identifiers from shadowing restricted names", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - }, - - schema: [], - - messages: { - shadowingRestrictedName: "Shadowing of global property '{{name}}'." - } - }, - - create(context) { - - - const RESTRICTED = new Set(["undefined", "NaN", "Infinity", "arguments", "eval"]); - const sourceCode = context.sourceCode; - - return { - "VariableDeclaration, :function, CatchClause"(node) { - for (const variable of sourceCode.getDeclaredVariables(node)) { - if (variable.defs.length > 0 && RESTRICTED.has(variable.name) && !safelyShadowsUndefined(variable)) { - context.report({ - node: variable.defs[0].name, - messageId: "shadowingRestrictedName", - data: { - name: variable.name - } - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow.js deleted file mode 100644 index 67e9695c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-shadow.js +++ /dev/null @@ -1,342 +0,0 @@ -/** - * @fileoverview Rule to flag on declaring variables already declared in the outer scope - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const FUNC_EXPR_NODE_TYPES = new Set(["ArrowFunctionExpression", "FunctionExpression"]); -const CALL_EXPR_NODE_TYPE = new Set(["CallExpression"]); -const FOR_IN_OF_TYPE = /^For(?:In|Of)Statement$/u; -const SENTINEL_TYPE = /^(?:(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|CatchClause|ImportDeclaration|ExportNamedDeclaration)$/u; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allow: [], - builtinGlobals: false, - hoist: "functions", - ignoreOnInitialization: false - }], - - docs: { - description: "Disallow variable declarations from shadowing variables declared in the outer scope", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-shadow" - }, - - schema: [ - { - type: "object", - properties: { - builtinGlobals: { type: "boolean" }, - hoist: { enum: ["all", "functions", "never"] }, - allow: { - type: "array", - items: { - type: "string" - } - }, - ignoreOnInitialization: { type: "boolean" } - }, - additionalProperties: false - } - ], - - messages: { - noShadow: "'{{name}}' is already declared in the upper scope on line {{shadowedLine}} column {{shadowedColumn}}.", - noShadowGlobal: "'{{name}}' is already a global variable." - } - }, - - create(context) { - const [{ - builtinGlobals, - hoist, - allow, - ignoreOnInitialization - }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Checks whether or not a given location is inside of the range of a given node. - * @param {ASTNode} node An node to check. - * @param {number} location A location to check. - * @returns {boolean} `true` if the location is inside of the range of the node. - */ - function isInRange(node, location) { - return node && node.range[0] <= location && location <= node.range[1]; - } - - /** - * Searches from the current node through its ancestry to find a matching node. - * @param {ASTNode} node a node to get. - * @param {(node: ASTNode) => boolean} match a callback that checks whether or not the node verifies its condition or not. - * @returns {ASTNode|null} the matching node. - */ - function findSelfOrAncestor(node, match) { - let currentNode = node; - - while (currentNode && !match(currentNode)) { - currentNode = currentNode.parent; - } - return currentNode; - } - - /** - * Finds function's outer scope. - * @param {Scope} scope Function's own scope. - * @returns {Scope} Function's outer scope. - */ - function getOuterScope(scope) { - const upper = scope.upper; - - if (upper.type === "function-expression-name") { - return upper.upper; - } - return upper; - } - - /** - * Checks if a variable and a shadowedVariable have the same init pattern ancestor. - * @param {Object} variable a variable to check. - * @param {Object} shadowedVariable a shadowedVariable to check. - * @returns {boolean} Whether or not the variable and the shadowedVariable have the same init pattern ancestor. - */ - function isInitPatternNode(variable, shadowedVariable) { - const outerDef = shadowedVariable.defs[0]; - - if (!outerDef) { - return false; - } - - const { variableScope } = variable.scope; - - - if (!(FUNC_EXPR_NODE_TYPES.has(variableScope.block.type) && getOuterScope(variableScope) === shadowedVariable.scope)) { - return false; - } - - const fun = variableScope.block; - const { parent } = fun; - - const callExpression = findSelfOrAncestor( - parent, - node => CALL_EXPR_NODE_TYPE.has(node.type) - ); - - if (!callExpression) { - return false; - } - - let node = outerDef.name; - const location = callExpression.range[1]; - - while (node) { - if (node.type === "VariableDeclarator") { - if (isInRange(node.init, location)) { - return true; - } - if (FOR_IN_OF_TYPE.test(node.parent.parent.type) && - isInRange(node.parent.parent.right, location) - ) { - return true; - } - break; - } else if (node.type === "AssignmentPattern") { - if (isInRange(node.right, location)) { - return true; - } - } else if (SENTINEL_TYPE.test(node.type)) { - break; - } - - node = node.parent; - } - - return false; - } - - /** - * Check if variable name is allowed. - * @param {ASTNode} variable The variable to check. - * @returns {boolean} Whether or not the variable name is allowed. - */ - function isAllowed(variable) { - return allow.includes(variable.name); - } - - /** - * Checks if a variable of the class name in the class scope of ClassDeclaration. - * - * ClassDeclaration creates two variables of its name into its outer scope and its class scope. - * So we should ignore the variable in the class scope. - * @param {Object} variable The variable to check. - * @returns {boolean} Whether or not the variable of the class name in the class scope of ClassDeclaration. - */ - function isDuplicatedClassNameVariable(variable) { - const block = variable.scope.block; - - return block.type === "ClassDeclaration" && block.id === variable.identifiers[0]; - } - - /** - * Checks if a variable is inside the initializer of scopeVar. - * - * To avoid reporting at declarations such as `var a = function a() {};`. - * But it should report `var a = function(a) {};` or `var a = function() { function a() {} };`. - * @param {Object} variable The variable to check. - * @param {Object} scopeVar The scope variable to look for. - * @returns {boolean} Whether or not the variable is inside initializer of scopeVar. - */ - function isOnInitializer(variable, scopeVar) { - const outerScope = scopeVar.scope; - const outerDef = scopeVar.defs[0]; - const outer = outerDef && outerDef.parent && outerDef.parent.range; - const innerScope = variable.scope; - const innerDef = variable.defs[0]; - const inner = innerDef && innerDef.name.range; - - return ( - outer && - inner && - outer[0] < inner[0] && - inner[1] < outer[1] && - ((innerDef.type === "FunctionName" && innerDef.node.type === "FunctionExpression") || innerDef.node.type === "ClassExpression") && - outerScope === innerScope.upper - ); - } - - /** - * Get a range of a variable's identifier node. - * @param {Object} variable The variable to get. - * @returns {Array|undefined} The range of the variable's identifier node. - */ - function getNameRange(variable) { - const def = variable.defs[0]; - - return def && def.name.range; - } - - /** - * Get declared line and column of a variable. - * @param {eslint-scope.Variable} variable The variable to get. - * @returns {Object} The declared line and column of the variable. - */ - function getDeclaredLocation(variable) { - const identifier = variable.identifiers[0]; - let obj; - - if (identifier) { - obj = { - global: false, - line: identifier.loc.start.line, - column: identifier.loc.start.column + 1 - }; - } else { - obj = { - global: true - }; - } - return obj; - } - - /** - * Checks if a variable is in TDZ of scopeVar. - * @param {Object} variable The variable to check. - * @param {Object} scopeVar The variable of TDZ. - * @returns {boolean} Whether or not the variable is in TDZ of scopeVar. - */ - function isInTdz(variable, scopeVar) { - const outerDef = scopeVar.defs[0]; - const inner = getNameRange(variable); - const outer = getNameRange(scopeVar); - - return ( - inner && - outer && - inner[1] < outer[0] && - - // Excepts FunctionDeclaration if is {"hoist":"function"}. - (hoist !== "functions" || !outerDef || outerDef.node.type !== "FunctionDeclaration") - ); - } - - /** - * Checks the current context for shadowed variables. - * @param {Scope} scope Fixme - * @returns {void} - */ - function checkForShadows(scope) { - const variables = scope.variables; - - for (let i = 0; i < variables.length; ++i) { - const variable = variables[i]; - - // Skips "arguments" or variables of a class name in the class scope of ClassDeclaration. - if (variable.identifiers.length === 0 || - isDuplicatedClassNameVariable(variable) || - isAllowed(variable) - ) { - continue; - } - - // Gets shadowed variable. - const shadowed = astUtils.getVariableByName(scope.upper, variable.name); - - if (shadowed && - (shadowed.identifiers.length > 0 || (builtinGlobals && "writeable" in shadowed)) && - !isOnInitializer(variable, shadowed) && - !(ignoreOnInitialization && isInitPatternNode(variable, shadowed)) && - !(hoist !== "all" && isInTdz(variable, shadowed)) - ) { - const location = getDeclaredLocation(shadowed); - const messageId = location.global ? "noShadowGlobal" : "noShadow"; - const data = { name: variable.name }; - - if (!location.global) { - data.shadowedLine = location.line; - data.shadowedColumn = location.column; - } - context.report({ - node: variable.identifiers[0], - messageId, - data - }); - } - } - } - - return { - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - const stack = globalScope.childScopes.slice(); - - while (stack.length) { - const scope = stack.pop(); - - stack.push(...scope.childScopes); - checkForShadows(scope); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-spaced-func.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-spaced-func.js deleted file mode 100644 index d79c1844..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-spaced-func.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @fileoverview Rule to check that spaced function application - * @author Matt DuVall - * @deprecated in ESLint v3.3.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "layout", - - docs: { - description: "Disallow spacing between function identifiers and their applications (deprecated)", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-spaced-func" - }, - - deprecated: true, - - replacedBy: ["func-call-spacing"], - - fixable: "whitespace", - schema: [], - - messages: { - noSpacedFunction: "Unexpected space between function name and paren." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Check if open space is present in a function name - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function detectOpenSpaces(node) { - const lastCalleeToken = sourceCode.getLastToken(node.callee); - let prevToken = lastCalleeToken, - parenToken = sourceCode.getTokenAfter(lastCalleeToken); - - // advances to an open parenthesis. - while ( - parenToken && - parenToken.range[1] < node.range[1] && - parenToken.value !== "(" - ) { - prevToken = parenToken; - parenToken = sourceCode.getTokenAfter(parenToken); - } - - // look for a space between the callee and the open paren - if (parenToken && - parenToken.range[1] < node.range[1] && - sourceCode.isSpaceBetweenTokens(prevToken, parenToken) - ) { - context.report({ - node, - loc: lastCalleeToken.loc.start, - messageId: "noSpacedFunction", - fix(fixer) { - return fixer.removeRange([prevToken.range[1], parenToken.range[0]]); - } - }); - } - } - - return { - CallExpression: detectOpenSpaces, - NewExpression: detectOpenSpaces - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sparse-arrays.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sparse-arrays.js deleted file mode 100644 index 6d24842f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sparse-arrays.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @fileoverview Disallow sparse arrays - * @author Nicholas C. Zakas - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow sparse arrays", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-sparse-arrays" - }, - - schema: [], - - messages: { - unexpectedSparseArray: "Unexpected comma in middle of array." - } - }, - - create(context) { - - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - ArrayExpression(node) { - if (!node.elements.includes(null)) { - return; - } - - const { sourceCode } = context; - let commaToken; - - for (const [index, element] of node.elements.entries()) { - if (index === node.elements.length - 1 && element) { - return; - } - - commaToken = sourceCode.getTokenAfter( - element ?? commaToken ?? sourceCode.getFirstToken(node), - astUtils.isCommaToken - ); - - if (element) { - continue; - } - - context.report({ - node, - loc: commaToken.loc, - messageId: "unexpectedSparseArray" - }); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sync.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sync.js deleted file mode 100644 index 8f79a36b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-sync.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @fileoverview Rule to check for properties whose identifier ends with the string Sync - * @author Matt DuVall - * @deprecated in ESLint v7.0.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - - replacedBy: [], - - type: "suggestion", - - docs: { - description: "Disallow synchronous methods", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-sync" - }, - - schema: [ - { - type: "object", - properties: { - allowAtRootLevel: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - messages: { - noSync: "Unexpected sync method: '{{propertyName}}'." - } - }, - - create(context) { - const selector = context.options[0] && context.options[0].allowAtRootLevel - ? ":function MemberExpression[property.name=/.*Sync$/]" - : "MemberExpression[property.name=/.*Sync$/]"; - - return { - [selector](node) { - context.report({ - node, - messageId: "noSync", - data: { - propertyName: node.property.name - } - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-tabs.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-tabs.js deleted file mode 100644 index 8581e19a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-tabs.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @fileoverview Rule to check for tabs inside a file - * @author Gyandeep Singh - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const tabRegex = /\t+/gu; -const anyNonWhitespaceRegex = /\S/u; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow all tabs", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-tabs" - }, - schema: [{ - type: "object", - properties: { - allowIndentationTabs: { - type: "boolean", - default: false - } - }, - additionalProperties: false - }], - - messages: { - unexpectedTab: "Unexpected tab character." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const allowIndentationTabs = context.options && context.options[0] && context.options[0].allowIndentationTabs; - - return { - Program(node) { - sourceCode.getLines().forEach((line, index) => { - let match; - - while ((match = tabRegex.exec(line)) !== null) { - if (allowIndentationTabs && !anyNonWhitespaceRegex.test(line.slice(0, match.index))) { - continue; - } - - context.report({ - node, - loc: { - start: { - line: index + 1, - column: match.index - }, - end: { - line: index + 1, - column: match.index + match[0].length - } - }, - messageId: "unexpectedTab" - }); - } - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-template-curly-in-string.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-template-curly-in-string.js deleted file mode 100644 index 92b4c1c8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-template-curly-in-string.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @fileoverview Warn when using template string syntax in regular strings - * @author Jeroen Engels - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow template literal placeholder syntax in regular strings", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - }, - - schema: [], - - messages: { - unexpectedTemplateExpression: "Unexpected template string expression." - } - }, - - create(context) { - const regex = /\$\{[^}]+\}/u; - - return { - Literal(node) { - if (typeof node.value === "string" && regex.test(node.value)) { - context.report({ - node, - messageId: "unexpectedTemplateExpression" - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ternary.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ternary.js deleted file mode 100644 index 4d43c7e0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-ternary.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @fileoverview Rule to flag use of ternary operators. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow ternary operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-ternary" - }, - - schema: [], - - messages: { - noTernaryOperator: "Ternary operator used." - } - }, - - create(context) { - - return { - - ConditionalExpression(node) { - context.report({ node, messageId: "noTernaryOperator" }); - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-this-before-super.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-this-before-super.js deleted file mode 100644 index 01e355ac..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-this-before-super.js +++ /dev/null @@ -1,363 +0,0 @@ -/** - * @fileoverview A rule to disallow using `this`/`super` before `super()`. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given node is a constructor. - * @param {ASTNode} node A node to check. This node type is one of - * `Program`, `FunctionDeclaration`, `FunctionExpression`, and - * `ArrowFunctionExpression`. - * @returns {boolean} `true` if the node is a constructor. - */ -function isConstructorFunction(node) { - return ( - node.type === "FunctionExpression" && - node.parent.type === "MethodDefinition" && - node.parent.kind === "constructor" - ); -} - -/* - * Information for each code path segment. - * - superCalled: The flag which shows `super()` called in all code paths. - * - invalidNodes: The array of invalid ThisExpression and Super nodes. - */ -/** - * - */ -class SegmentInfo { - - /** - * Indicates whether `super()` is called in all code paths. - * @type {boolean} - */ - superCalled = false; - - /** - * The array of invalid ThisExpression and Super nodes. - * @type {ASTNode[]} - */ - invalidNodes = []; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow `this`/`super` before calling `super()` in constructors", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-this-before-super" - }, - - schema: [], - - messages: { - noBeforeSuper: "'{{kind}}' is not allowed before 'super()'." - } - }, - - create(context) { - - /* - * Information for each constructor. - * - upper: Information of the upper constructor. - * - hasExtends: A flag which shows whether the owner class has a valid - * `extends` part. - * - scope: The scope of the owner class. - * - codePath: The code path of this constructor. - */ - let funcInfo = null; - - /** @type {Record} */ - let segInfoMap = Object.create(null); - - /** - * Gets whether or not `super()` is called in a given code path segment. - * @param {CodePathSegment} segment A code path segment to get. - * @returns {boolean} `true` if `super()` is called. - */ - function isCalled(segment) { - return !segment.reachable || segInfoMap[segment.id]?.superCalled; - } - - /** - * Checks whether or not this is in a constructor. - * @returns {boolean} `true` if this is in a constructor. - */ - function isInConstructorOfDerivedClass() { - return Boolean(funcInfo && funcInfo.isConstructor && funcInfo.hasExtends); - } - - /** - * Determines if every segment in a set has been called. - * @param {Set} segments The segments to search. - * @returns {boolean} True if every segment has been called; false otherwise. - */ - function isEverySegmentCalled(segments) { - for (const segment of segments) { - if (!isCalled(segment)) { - return false; - } - } - - return true; - } - - /** - * Checks whether or not this is before `super()` is called. - * @returns {boolean} `true` if this is before `super()` is called. - */ - function isBeforeCallOfSuper() { - return ( - isInConstructorOfDerivedClass() && - !isEverySegmentCalled(funcInfo.currentSegments) - ); - } - - /** - * Sets a given node as invalid. - * @param {ASTNode} node A node to set as invalid. This is one of - * a ThisExpression and a Super. - * @returns {void} - */ - function setInvalid(node) { - const segments = funcInfo.currentSegments; - - for (const segment of segments) { - if (segment.reachable) { - segInfoMap[segment.id].invalidNodes.push(node); - } - } - } - - /** - * Sets the current segment as `super` was called. - * @returns {void} - */ - function setSuperCalled() { - const segments = funcInfo.currentSegments; - - for (const segment of segments) { - if (segment.reachable) { - segInfoMap[segment.id].superCalled = true; - } - } - } - - return { - - /** - * Adds information of a constructor into the stack. - * @param {CodePath} codePath A code path which was started. - * @param {ASTNode} node The current node. - * @returns {void} - */ - onCodePathStart(codePath, node) { - if (isConstructorFunction(node)) { - - // Class > ClassBody > MethodDefinition > FunctionExpression - const classNode = node.parent.parent.parent; - - funcInfo = { - upper: funcInfo, - isConstructor: true, - hasExtends: Boolean( - classNode.superClass && - !astUtils.isNullOrUndefined(classNode.superClass) - ), - codePath, - currentSegments: new Set() - }; - } else { - funcInfo = { - upper: funcInfo, - isConstructor: false, - hasExtends: false, - codePath, - currentSegments: new Set() - }; - } - }, - - /** - * Removes the top of stack item. - * - * And this traverses all segments of this code path then reports every - * invalid node. - * @param {CodePath} codePath A code path which was ended. - * @returns {void} - */ - onCodePathEnd(codePath) { - const isDerivedClass = funcInfo.hasExtends; - - funcInfo = funcInfo.upper; - if (!isDerivedClass) { - return; - } - - /** - * A collection of nodes to avoid duplicate reports. - * @type {Set} - */ - const reported = new Set(); - - codePath.traverseSegments((segment, controller) => { - const info = segInfoMap[segment.id]; - const invalidNodes = info.invalidNodes - .filter( - - /* - * Avoid duplicate reports. - * When there is a `finally`, invalidNodes may contain already reported node. - */ - node => !reported.has(node) - ); - - for (const invalidNode of invalidNodes) { - reported.add(invalidNode); - - context.report({ - messageId: "noBeforeSuper", - node: invalidNode, - data: { - kind: invalidNode.type === "Super" ? "super" : "this" - } - }); - } - - if (info.superCalled) { - controller.skip(); - } - }); - }, - - /** - * Initialize information of a given code path segment. - * @param {CodePathSegment} segment A code path segment to initialize. - * @returns {void} - */ - onCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - - if (!isInConstructorOfDerivedClass()) { - return; - } - - // Initialize info. - segInfoMap[segment.id] = { - superCalled: ( - segment.prevSegments.length > 0 && - segment.prevSegments.every(isCalled) - ), - invalidNodes: [] - }; - }, - - onUnreachableCodePathSegmentStart(segment) { - funcInfo.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - onCodePathSegmentEnd(segment) { - funcInfo.currentSegments.delete(segment); - }, - - /** - * Update information of the code path segment when a code path was - * looped. - * @param {CodePathSegment} fromSegment The code path segment of the - * end of a loop. - * @param {CodePathSegment} toSegment A code path segment of the head - * of a loop. - * @returns {void} - */ - onCodePathSegmentLoop(fromSegment, toSegment) { - if (!isInConstructorOfDerivedClass()) { - return; - } - - // Update information inside of the loop. - funcInfo.codePath.traverseSegments( - { first: toSegment, last: fromSegment }, - (segment, controller) => { - const info = segInfoMap[segment.id] ?? new SegmentInfo(); - - if (info.superCalled) { - controller.skip(); - } else if ( - segment.prevSegments.length > 0 && - segment.prevSegments.every(isCalled) - ) { - info.superCalled = true; - } - - segInfoMap[segment.id] = info; - } - ); - }, - - /** - * Reports if this is before `super()`. - * @param {ASTNode} node A target node. - * @returns {void} - */ - ThisExpression(node) { - if (isBeforeCallOfSuper()) { - setInvalid(node); - } - }, - - /** - * Reports if this is before `super()`. - * @param {ASTNode} node A target node. - * @returns {void} - */ - Super(node) { - if (!astUtils.isCallee(node) && isBeforeCallOfSuper()) { - setInvalid(node); - } - }, - - /** - * Marks `super()` called. - * @param {ASTNode} node A target node. - * @returns {void} - */ - "CallExpression:exit"(node) { - if (node.callee.type === "Super" && isBeforeCallOfSuper()) { - setSuperCalled(); - } - }, - - /** - * Resets state. - * @returns {void} - */ - "Program:exit"() { - segInfoMap = Object.create(null); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-throw-literal.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-throw-literal.js deleted file mode 100644 index 07a0df62..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-throw-literal.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @fileoverview Rule to restrict what can be thrown as an exception. - * @author Dieter Oberkofler - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow throwing literals as exceptions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-throw-literal" - }, - - schema: [], - - messages: { - object: "Expected an error object to be thrown.", - undef: "Do not throw undefined." - } - }, - - create(context) { - - return { - - ThrowStatement(node) { - if (!astUtils.couldBeError(node.argument)) { - context.report({ node, messageId: "object" }); - } else if (node.argument.type === "Identifier") { - if (node.argument.name === "undefined") { - context.report({ node, messageId: "undef" }); - } - } - - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-trailing-spaces.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-trailing-spaces.js deleted file mode 100644 index c188b1fa..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-trailing-spaces.js +++ /dev/null @@ -1,192 +0,0 @@ -/** - * @fileoverview Disallow trailing spaces at the end of lines. - * @author Nodeca Team - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow trailing whitespace at the end of lines", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-trailing-spaces" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - skipBlankLines: { - type: "boolean", - default: false - }, - ignoreComments: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - messages: { - trailingSpace: "Trailing spaces not allowed." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - const BLANK_CLASS = "[ \t\u00a0\u2000-\u200b\u3000]", - SKIP_BLANK = `^${BLANK_CLASS}*$`, - NONBLANK = `${BLANK_CLASS}+$`; - - const options = context.options[0] || {}, - skipBlankLines = options.skipBlankLines || false, - ignoreComments = options.ignoreComments || false; - - /** - * Report the error message - * @param {ASTNode} node node to report - * @param {int[]} location range information - * @param {int[]} fixRange Range based on the whole program - * @returns {void} - */ - function report(node, location, fixRange) { - - /* - * Passing node is a bit dirty, because message data will contain big - * text in `source`. But... who cares :) ? - * One more kludge will not make worse the bloody wizardry of this - * plugin. - */ - context.report({ - node, - loc: location, - messageId: "trailingSpace", - fix(fixer) { - return fixer.removeRange(fixRange); - } - }); - } - - /** - * Given a list of comment nodes, return the line numbers for those comments. - * @param {Array} comments An array of comment nodes. - * @returns {number[]} An array of line numbers containing comments. - */ - function getCommentLineNumbers(comments) { - const lines = new Set(); - - comments.forEach(comment => { - const endLine = comment.type === "Block" - ? comment.loc.end.line - 1 - : comment.loc.end.line; - - for (let i = comment.loc.start.line; i <= endLine; i++) { - lines.add(i); - } - }); - - return lines; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - Program: function checkTrailingSpaces(node) { - - /* - * Let's hack. Since Espree does not return whitespace nodes, - * fetch the source code and do matching via regexps. - */ - - const re = new RegExp(NONBLANK, "u"), - skipMatch = new RegExp(SKIP_BLANK, "u"), - lines = sourceCode.lines, - linebreaks = sourceCode.getText().match(astUtils.createGlobalLinebreakMatcher()), - comments = sourceCode.getAllComments(), - commentLineNumbers = getCommentLineNumbers(comments); - - let totalLength = 0; - - for (let i = 0, ii = lines.length; i < ii; i++) { - const lineNumber = i + 1; - - /* - * Always add linebreak length to line length to accommodate for line break (\n or \r\n) - * Because during the fix time they also reserve one spot in the array. - * Usually linebreak length is 2 for \r\n (CRLF) and 1 for \n (LF) - */ - const linebreakLength = linebreaks && linebreaks[i] ? linebreaks[i].length : 1; - const lineLength = lines[i].length + linebreakLength; - - const matches = re.exec(lines[i]); - - if (matches) { - const location = { - start: { - line: lineNumber, - column: matches.index - }, - end: { - line: lineNumber, - column: lineLength - linebreakLength - } - }; - - const rangeStart = totalLength + location.start.column; - const rangeEnd = totalLength + location.end.column; - const containingNode = sourceCode.getNodeByRangeIndex(rangeStart); - - if (containingNode && containingNode.type === "TemplateElement" && - rangeStart > containingNode.parent.range[0] && - rangeEnd < containingNode.parent.range[1]) { - totalLength += lineLength; - continue; - } - - /* - * If the line has only whitespace, and skipBlankLines - * is true, don't report it - */ - if (skipBlankLines && skipMatch.test(lines[i])) { - totalLength += lineLength; - continue; - } - - const fixRange = [rangeStart, rangeEnd]; - - if (!ignoreComments || !commentLineNumbers.has(lineNumber)) { - report(node, location, fixRange); - } - } - - totalLength += lineLength; - } - } - - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef-init.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef-init.js deleted file mode 100644 index be19d6f9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef-init.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @fileoverview Rule to flag when initializing to undefined - * @author Ilya Volodin - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow initializing variables to `undefined`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-undef-init" - }, - - schema: [], - fixable: "code", - - messages: { - unnecessaryUndefinedInit: "It's not necessary to initialize '{{name}}' to undefined." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - return { - - VariableDeclarator(node) { - const name = sourceCode.getText(node.id), - init = node.init && node.init.name, - scope = sourceCode.getScope(node), - undefinedVar = astUtils.getVariableByName(scope, "undefined"), - shadowed = undefinedVar && undefinedVar.defs.length > 0, - lastToken = sourceCode.getLastToken(node); - - if (init === "undefined" && node.parent.kind !== "const" && !shadowed) { - context.report({ - node, - messageId: "unnecessaryUndefinedInit", - data: { name }, - fix(fixer) { - if (node.parent.kind === "var") { - return null; - } - - if (node.id.type === "ArrayPattern" || node.id.type === "ObjectPattern") { - - // Don't fix destructuring assignment to `undefined`. - return null; - } - - if (sourceCode.commentsExistBetween(node.id, lastToken)) { - return null; - } - - return fixer.removeRange([node.id.range[1], node.range[1]]); - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef.js deleted file mode 100644 index b11a3d43..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undef.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @fileoverview Rule to flag references to undeclared variables. - * @author Mark Macdonald - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks if the given node is the argument of a typeof operator. - * @param {ASTNode} node The AST node being checked. - * @returns {boolean} Whether or not the node is the argument of a typeof operator. - */ -function hasTypeOfOperator(node) { - const parent = node.parent; - - return parent.type === "UnaryExpression" && parent.operator === "typeof"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - typeof: false - }], - - docs: { - description: "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-undef" - }, - - schema: [ - { - type: "object", - properties: { - typeof: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - messages: { - undef: "'{{name}}' is not defined." - } - }, - - create(context) { - const [{ typeof: considerTypeOf }] = context.options; - const sourceCode = context.sourceCode; - - return { - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - - globalScope.through.forEach(ref => { - const identifier = ref.identifier; - - if (!considerTypeOf && hasTypeOfOperator(identifier)) { - return; - } - - context.report({ - node: identifier, - messageId: "undef", - data: identifier - }); - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undefined.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undefined.js deleted file mode 100644 index 8f47ca1b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-undefined.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @fileoverview Rule to flag references to the undefined variable. - * @author Michael Ficarra - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow the use of `undefined` as an identifier", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-undefined" - }, - - schema: [], - - messages: { - unexpectedUndefined: "Unexpected use of undefined." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Report an invalid "undefined" identifier node. - * @param {ASTNode} node The node to report. - * @returns {void} - */ - function report(node) { - context.report({ - node, - messageId: "unexpectedUndefined" - }); - } - - /** - * Checks the given scope for references to `undefined` and reports - * all references found. - * @param {eslint-scope.Scope} scope The scope to check. - * @returns {void} - */ - function checkScope(scope) { - const undefinedVar = scope.set.get("undefined"); - - if (!undefinedVar) { - return; - } - - const references = undefinedVar.references; - - const defs = undefinedVar.defs; - - // Report non-initializing references (those are covered in defs below) - references - .filter(ref => !ref.init) - .forEach(ref => report(ref.identifier)); - - defs.forEach(def => report(def.name)); - } - - return { - "Program:exit"(node) { - const globalScope = sourceCode.getScope(node); - - const stack = [globalScope]; - - while (stack.length) { - const scope = stack.pop(); - - stack.push(...scope.childScopes); - checkScope(scope); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-underscore-dangle.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-underscore-dangle.js deleted file mode 100644 index 7247f0ec..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-underscore-dangle.js +++ /dev/null @@ -1,339 +0,0 @@ -/** - * @fileoverview Rule to flag dangling underscores in variable declarations. - * @author Matt DuVall - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allow: [], - allowAfterSuper: false, - allowAfterThis: false, - allowAfterThisConstructor: false, - allowFunctionParams: true, - allowInArrayDestructuring: true, - allowInObjectDestructuring: true, - enforceInClassFields: false, - enforceInMethodNames: false - }], - - docs: { - description: "Disallow dangling underscores in identifiers", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-underscore-dangle" - }, - - schema: [ - { - type: "object", - properties: { - allow: { - type: "array", - items: { - type: "string" - } - }, - allowAfterThis: { - type: "boolean" - }, - allowAfterSuper: { - type: "boolean" - }, - allowAfterThisConstructor: { - type: "boolean" - }, - enforceInMethodNames: { - type: "boolean" - }, - allowFunctionParams: { - type: "boolean" - }, - enforceInClassFields: { - type: "boolean" - }, - allowInArrayDestructuring: { - type: "boolean" - }, - allowInObjectDestructuring: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedUnderscore: "Unexpected dangling '_' in '{{identifier}}'." - } - }, - - create(context) { - const [{ - allow, - allowAfterSuper, - allowAfterThis, - allowAfterThisConstructor, - allowFunctionParams, - allowInArrayDestructuring, - allowInObjectDestructuring, - enforceInClassFields, - enforceInMethodNames - }] = context.options; - const sourceCode = context.sourceCode; - - //------------------------------------------------------------------------- - // Helpers - //------------------------------------------------------------------------- - - /** - * Check if identifier is present inside the allowed option - * @param {string} identifier name of the node - * @returns {boolean} true if its is present - * @private - */ - function isAllowed(identifier) { - return allow.includes(identifier); - } - - /** - * Check if identifier has a dangling underscore - * @param {string} identifier name of the node - * @returns {boolean} true if its is present - * @private - */ - function hasDanglingUnderscore(identifier) { - const len = identifier.length; - - return identifier !== "_" && (identifier[0] === "_" || identifier[len - 1] === "_"); - } - - /** - * Check if identifier is a special case member expression - * @param {string} identifier name of the node - * @returns {boolean} true if its is a special case - * @private - */ - function isSpecialCaseIdentifierForMemberExpression(identifier) { - return identifier === "__proto__"; - } - - /** - * Check if identifier is a special case variable expression - * @param {string} identifier name of the node - * @returns {boolean} true if its is a special case - * @private - */ - function isSpecialCaseIdentifierInVariableExpression(identifier) { - - // Checks for the underscore library usage here - return identifier === "_"; - } - - /** - * Check if a node is a member reference of this.constructor - * @param {ASTNode} node node to evaluate - * @returns {boolean} true if it is a reference on this.constructor - * @private - */ - function isThisConstructorReference(node) { - return node.object.type === "MemberExpression" && - node.object.property.name === "constructor" && - node.object.object.type === "ThisExpression"; - } - - /** - * Check if function parameter has a dangling underscore. - * @param {ASTNode} node function node to evaluate - * @returns {void} - * @private - */ - function checkForDanglingUnderscoreInFunctionParameters(node) { - if (!allowFunctionParams) { - node.params.forEach(param => { - const { type } = param; - let nodeToCheck; - - if (type === "RestElement") { - nodeToCheck = param.argument; - } else if (type === "AssignmentPattern") { - nodeToCheck = param.left; - } else { - nodeToCheck = param; - } - - if (nodeToCheck.type === "Identifier") { - const identifier = nodeToCheck.name; - - if (hasDanglingUnderscore(identifier) && !isAllowed(identifier)) { - context.report({ - node: param, - messageId: "unexpectedUnderscore", - data: { - identifier - } - }); - } - } - }); - } - } - - /** - * Check if function has a dangling underscore - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkForDanglingUnderscoreInFunction(node) { - if (node.type === "FunctionDeclaration" && node.id) { - const identifier = node.id.name; - - if (typeof identifier !== "undefined" && hasDanglingUnderscore(identifier) && !isAllowed(identifier)) { - context.report({ - node, - messageId: "unexpectedUnderscore", - data: { - identifier - } - }); - } - } - checkForDanglingUnderscoreInFunctionParameters(node); - } - - - /** - * Check if variable expression has a dangling underscore - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkForDanglingUnderscoreInVariableExpression(node) { - sourceCode.getDeclaredVariables(node).forEach(variable => { - const definition = variable.defs.find(def => def.node === node); - const identifierNode = definition.name; - const identifier = identifierNode.name; - let parent = identifierNode.parent; - - while (!["VariableDeclarator", "ArrayPattern", "ObjectPattern"].includes(parent.type)) { - parent = parent.parent; - } - - if ( - hasDanglingUnderscore(identifier) && - !isSpecialCaseIdentifierInVariableExpression(identifier) && - !isAllowed(identifier) && - !(allowInArrayDestructuring && parent.type === "ArrayPattern") && - !(allowInObjectDestructuring && parent.type === "ObjectPattern") - ) { - context.report({ - node, - messageId: "unexpectedUnderscore", - data: { - identifier - } - }); - } - }); - } - - /** - * Check if member expression has a dangling underscore - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkForDanglingUnderscoreInMemberExpression(node) { - const identifier = node.property.name, - isMemberOfThis = node.object.type === "ThisExpression", - isMemberOfSuper = node.object.type === "Super", - isMemberOfThisConstructor = isThisConstructorReference(node); - - if (typeof identifier !== "undefined" && hasDanglingUnderscore(identifier) && - !(isMemberOfThis && allowAfterThis) && - !(isMemberOfSuper && allowAfterSuper) && - !(isMemberOfThisConstructor && allowAfterThisConstructor) && - !isSpecialCaseIdentifierForMemberExpression(identifier) && !isAllowed(identifier)) { - context.report({ - node, - messageId: "unexpectedUnderscore", - data: { - identifier - } - }); - } - } - - /** - * Check if method declaration or method property has a dangling underscore - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkForDanglingUnderscoreInMethod(node) { - const identifier = node.key.name; - const isMethod = node.type === "MethodDefinition" || node.type === "Property" && node.method; - - if (typeof identifier !== "undefined" && enforceInMethodNames && isMethod && hasDanglingUnderscore(identifier) && !isAllowed(identifier)) { - context.report({ - node, - messageId: "unexpectedUnderscore", - data: { - identifier: node.key.type === "PrivateIdentifier" - ? `#${identifier}` - : identifier - } - }); - } - } - - /** - * Check if a class field has a dangling underscore - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkForDanglingUnderscoreInClassField(node) { - const identifier = node.key.name; - - if (typeof identifier !== "undefined" && hasDanglingUnderscore(identifier) && - enforceInClassFields && - !isAllowed(identifier)) { - context.report({ - node, - messageId: "unexpectedUnderscore", - data: { - identifier: node.key.type === "PrivateIdentifier" - ? `#${identifier}` - : identifier - } - }); - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - FunctionDeclaration: checkForDanglingUnderscoreInFunction, - VariableDeclarator: checkForDanglingUnderscoreInVariableExpression, - MemberExpression: checkForDanglingUnderscoreInMemberExpression, - MethodDefinition: checkForDanglingUnderscoreInMethod, - PropertyDefinition: checkForDanglingUnderscoreInClassField, - Property: checkForDanglingUnderscoreInMethod, - FunctionExpression: checkForDanglingUnderscoreInFunction, - ArrowFunctionExpression: checkForDanglingUnderscoreInFunction - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unexpected-multiline.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unexpected-multiline.js deleted file mode 100644 index 810c08b0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unexpected-multiline.js +++ /dev/null @@ -1,120 +0,0 @@ -/** - * @fileoverview Rule to spot scenarios where a newline looks like it is ending a statement, but is not. - * @author Glen Mailer - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow confusing multiline expressions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - }, - - schema: [], - messages: { - function: "Unexpected newline between function and ( of function call.", - property: "Unexpected newline between object and [ of property access.", - taggedTemplate: "Unexpected newline between template tag and template literal.", - division: "Unexpected newline between numerator and division operator." - } - }, - - create(context) { - - const REGEX_FLAG_MATCHER = /^[gimsuy]+$/u; - - const sourceCode = context.sourceCode; - - /** - * Check to see if there is a newline between the node and the following open bracket - * line's expression - * @param {ASTNode} node The node to check. - * @param {string} messageId The error messageId to use. - * @returns {void} - * @private - */ - function checkForBreakAfter(node, messageId) { - const openParen = sourceCode.getTokenAfter(node, astUtils.isNotClosingParenToken); - const nodeExpressionEnd = sourceCode.getTokenBefore(openParen); - - if (openParen.loc.start.line !== nodeExpressionEnd.loc.end.line) { - context.report({ - node, - loc: openParen.loc, - messageId - }); - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - - MemberExpression(node) { - if (!node.computed || node.optional) { - return; - } - checkForBreakAfter(node.object, "property"); - }, - - TaggedTemplateExpression(node) { - const { quasi } = node; - - // handles common tags, parenthesized tags, and typescript's generic type arguments - const tokenBefore = sourceCode.getTokenBefore(quasi); - - if (tokenBefore.loc.end.line !== quasi.loc.start.line) { - context.report({ - node, - loc: { - start: quasi.loc.start, - end: { - line: quasi.loc.start.line, - column: quasi.loc.start.column + 1 - } - }, - messageId: "taggedTemplate" - }); - } - }, - - CallExpression(node) { - if (node.arguments.length === 0 || node.optional) { - return; - } - checkForBreakAfter(node.callee, "function"); - }, - - "BinaryExpression[operator='/'] > BinaryExpression[operator='/'].left"(node) { - const secondSlash = sourceCode.getTokenAfter(node, token => token.value === "/"); - const tokenAfterOperator = sourceCode.getTokenAfter(secondSlash); - - if ( - tokenAfterOperator.type === "Identifier" && - REGEX_FLAG_MATCHER.test(tokenAfterOperator.value) && - secondSlash.range[1] === tokenAfterOperator.range[0] - ) { - checkForBreakAfter(node.left, "division"); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js deleted file mode 100644 index 768a1557..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +++ /dev/null @@ -1,360 +0,0 @@ -/** - * @fileoverview Rule to disallow use of unmodified expressions in loop conditions - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const Traverser = require("../shared/traverser"), - astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const SENTINEL_PATTERN = /(?:(?:Call|Class|Function|Member|New|Yield)Expression|Statement|Declaration)$/u; -const LOOP_PATTERN = /^(?:DoWhile|For|While)Statement$/u; // for-in/of statements don't have `test` property. -const GROUP_PATTERN = /^(?:BinaryExpression|ConditionalExpression)$/u; -const SKIP_PATTERN = /^(?:ArrowFunction|Class|Function)Expression$/u; -const DYNAMIC_PATTERN = /^(?:Call|Member|New|TaggedTemplate|Yield)Expression$/u; - -/** - * @typedef {Object} LoopConditionInfo - * @property {eslint-scope.Reference} reference - The reference. - * @property {ASTNode} group - BinaryExpression or ConditionalExpression nodes - * that the reference is belonging to. - * @property {Function} isInLoop - The predicate which checks a given reference - * is in this loop. - * @property {boolean} modified - The flag that the reference is modified in - * this loop. - */ - -/** - * Checks whether or not a given reference is a write reference. - * @param {eslint-scope.Reference} reference A reference to check. - * @returns {boolean} `true` if the reference is a write reference. - */ -function isWriteReference(reference) { - if (reference.init) { - const def = reference.resolved && reference.resolved.defs[0]; - - if (!def || def.type !== "Variable" || def.parent.kind !== "var") { - return false; - } - } - return reference.isWrite(); -} - -/** - * Checks whether or not a given loop condition info does not have the modified - * flag. - * @param {LoopConditionInfo} condition A loop condition info to check. - * @returns {boolean} `true` if the loop condition info is "unmodified". - */ -function isUnmodified(condition) { - return !condition.modified; -} - -/** - * Checks whether or not a given loop condition info does not have the modified - * flag and does not have the group this condition belongs to. - * @param {LoopConditionInfo} condition A loop condition info to check. - * @returns {boolean} `true` if the loop condition info is "unmodified". - */ -function isUnmodifiedAndNotBelongToGroup(condition) { - return !(condition.modified || condition.group); -} - -/** - * Checks whether or not a given reference is inside of a given node. - * @param {ASTNode} node A node to check. - * @param {eslint-scope.Reference} reference A reference to check. - * @returns {boolean} `true` if the reference is inside of the node. - */ -function isInRange(node, reference) { - const or = node.range; - const ir = reference.identifier.range; - - return or[0] <= ir[0] && ir[1] <= or[1]; -} - -/** - * Checks whether or not a given reference is inside of a loop node's condition. - * @param {ASTNode} node A node to check. - * @param {eslint-scope.Reference} reference A reference to check. - * @returns {boolean} `true` if the reference is inside of the loop node's - * condition. - */ -const isInLoop = { - WhileStatement: isInRange, - DoWhileStatement: isInRange, - ForStatement(node, reference) { - return ( - isInRange(node, reference) && - !(node.init && isInRange(node.init, reference)) - ); - } -}; - -/** - * Gets the function which encloses a given reference. - * This supports only FunctionDeclaration. - * @param {eslint-scope.Reference} reference A reference to get. - * @returns {ASTNode|null} The function node or null. - */ -function getEncloseFunctionDeclaration(reference) { - let node = reference.identifier; - - while (node) { - if (node.type === "FunctionDeclaration") { - return node.id ? node : null; - } - - node = node.parent; - } - - return null; -} - -/** - * Updates the "modified" flags of given loop conditions with given modifiers. - * @param {LoopConditionInfo[]} conditions The loop conditions to be updated. - * @param {eslint-scope.Reference[]} modifiers The references to update. - * @returns {void} - */ -function updateModifiedFlag(conditions, modifiers) { - - for (let i = 0; i < conditions.length; ++i) { - const condition = conditions[i]; - - for (let j = 0; !condition.modified && j < modifiers.length; ++j) { - const modifier = modifiers[j]; - let funcNode, funcVar; - - /* - * Besides checking for the condition being in the loop, we want to - * check the function that this modifier is belonging to is called - * in the loop. - * FIXME: This should probably be extracted to a function. - */ - const inLoop = condition.isInLoop(modifier) || Boolean( - (funcNode = getEncloseFunctionDeclaration(modifier)) && - (funcVar = astUtils.getVariableByName(modifier.from.upper, funcNode.id.name)) && - funcVar.references.some(condition.isInLoop) - ); - - condition.modified = inLoop; - } - } -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow unmodified loop conditions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - }, - - schema: [], - - messages: { - loopConditionNotModified: "'{{name}}' is not modified in this loop." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - let groupMap = null; - - /** - * Reports a given condition info. - * @param {LoopConditionInfo} condition A loop condition info to report. - * @returns {void} - */ - function report(condition) { - const node = condition.reference.identifier; - - context.report({ - node, - messageId: "loopConditionNotModified", - data: node - }); - } - - /** - * Registers given conditions to the group the condition belongs to. - * @param {LoopConditionInfo[]} conditions A loop condition info to - * register. - * @returns {void} - */ - function registerConditionsToGroup(conditions) { - for (let i = 0; i < conditions.length; ++i) { - const condition = conditions[i]; - - if (condition.group) { - let group = groupMap.get(condition.group); - - if (!group) { - group = []; - groupMap.set(condition.group, group); - } - group.push(condition); - } - } - } - - /** - * Reports references which are inside of unmodified groups. - * @param {LoopConditionInfo[]} conditions A loop condition info to report. - * @returns {void} - */ - function checkConditionsInGroup(conditions) { - if (conditions.every(isUnmodified)) { - conditions.forEach(report); - } - } - - /** - * Checks whether or not a given group node has any dynamic elements. - * @param {ASTNode} root A node to check. - * This node is one of BinaryExpression or ConditionalExpression. - * @returns {boolean} `true` if the node is dynamic. - */ - function hasDynamicExpressions(root) { - let retv = false; - - Traverser.traverse(root, { - visitorKeys: sourceCode.visitorKeys, - enter(node) { - if (DYNAMIC_PATTERN.test(node.type)) { - retv = true; - this.break(); - } else if (SKIP_PATTERN.test(node.type)) { - this.skip(); - } - } - }); - - return retv; - } - - /** - * Creates the loop condition information from a given reference. - * @param {eslint-scope.Reference} reference A reference to create. - * @returns {LoopConditionInfo|null} Created loop condition info, or null. - */ - function toLoopCondition(reference) { - if (reference.init) { - return null; - } - - let group = null; - let child = reference.identifier; - let node = child.parent; - - while (node) { - if (SENTINEL_PATTERN.test(node.type)) { - if (LOOP_PATTERN.test(node.type) && node.test === child) { - - // This reference is inside of a loop condition. - return { - reference, - group, - isInLoop: isInLoop[node.type].bind(null, node), - modified: false - }; - } - - // This reference is outside of a loop condition. - break; - } - - /* - * If it's inside of a group, OK if either operand is modified. - * So stores the group this reference belongs to. - */ - if (GROUP_PATTERN.test(node.type)) { - - // If this expression is dynamic, no need to check. - if (hasDynamicExpressions(node)) { - break; - } else { - group = node; - } - } - - child = node; - node = node.parent; - } - - return null; - } - - /** - * Finds unmodified references which are inside of a loop condition. - * Then reports the references which are outside of groups. - * @param {eslint-scope.Variable} variable A variable to report. - * @returns {void} - */ - function checkReferences(variable) { - - // Gets references that exist in loop conditions. - const conditions = variable - .references - .map(toLoopCondition) - .filter(Boolean); - - if (conditions.length === 0) { - return; - } - - // Registers the conditions to belonging groups. - registerConditionsToGroup(conditions); - - // Check the conditions are modified. - const modifiers = variable.references.filter(isWriteReference); - - if (modifiers.length > 0) { - updateModifiedFlag(conditions, modifiers); - } - - /* - * Reports the conditions which are not belonging to groups. - * Others will be reported after all variables are done. - */ - conditions - .filter(isUnmodifiedAndNotBelongToGroup) - .forEach(report); - } - - return { - "Program:exit"(node) { - const queue = [sourceCode.getScope(node)]; - - groupMap = new Map(); - - let scope; - - while ((scope = queue.pop())) { - queue.push(...scope.childScopes); - scope.variables.forEach(checkReferences); - } - - groupMap.forEach(checkConditionsInGroup); - groupMap = null; - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unneeded-ternary.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unneeded-ternary.js deleted file mode 100644 index 3d3dad0f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unneeded-ternary.js +++ /dev/null @@ -1,166 +0,0 @@ -/** - * @fileoverview Rule to flag no-unneeded-ternary - * @author Gyandeep Singh - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -// Operators that always result in a boolean value -const BOOLEAN_OPERATORS = new Set(["==", "===", "!=", "!==", ">", ">=", "<", "<=", "in", "instanceof"]); -const OPERATOR_INVERSES = { - "==": "!=", - "!=": "==", - "===": "!==", - "!==": "===" - - // Operators like < and >= are not true inverses, since both will return false with NaN. -}; -const OR_PRECEDENCE = astUtils.getPrecedence({ type: "LogicalExpression", operator: "||" }); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ defaultAssignment: true }], - - docs: { - description: "Disallow ternary operators when simpler alternatives exist", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - }, - - schema: [ - { - type: "object", - properties: { - defaultAssignment: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - fixable: "code", - - messages: { - unnecessaryConditionalExpression: "Unnecessary use of boolean literals in conditional expression.", - unnecessaryConditionalAssignment: "Unnecessary use of conditional expression for default assignment." - } - }, - - create(context) { - const [{ defaultAssignment }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Test if the node is a boolean literal - * @param {ASTNode} node The node to report. - * @returns {boolean} True if the its a boolean literal - * @private - */ - function isBooleanLiteral(node) { - return node.type === "Literal" && typeof node.value === "boolean"; - } - - /** - * Creates an expression that represents the boolean inverse of the expression represented by the original node - * @param {ASTNode} node A node representing an expression - * @returns {string} A string representing an inverted expression - */ - function invertExpression(node) { - if (node.type === "BinaryExpression" && Object.hasOwn(OPERATOR_INVERSES, node.operator)) { - const operatorToken = sourceCode.getFirstTokenBetween( - node.left, - node.right, - token => token.value === node.operator - ); - const text = sourceCode.getText(); - - return text.slice(node.range[0], - operatorToken.range[0]) + OPERATOR_INVERSES[node.operator] + text.slice(operatorToken.range[1], node.range[1]); - } - - if (astUtils.getPrecedence(node) < astUtils.getPrecedence({ type: "UnaryExpression" })) { - return `!(${astUtils.getParenthesisedText(sourceCode, node)})`; - } - return `!${astUtils.getParenthesisedText(sourceCode, node)}`; - } - - /** - * Tests if a given node always evaluates to a boolean value - * @param {ASTNode} node An expression node - * @returns {boolean} True if it is determined that the node will always evaluate to a boolean value - */ - function isBooleanExpression(node) { - return node.type === "BinaryExpression" && BOOLEAN_OPERATORS.has(node.operator) || - node.type === "UnaryExpression" && node.operator === "!"; - } - - /** - * Test if the node matches the pattern id ? id : expression - * @param {ASTNode} node The ConditionalExpression to check. - * @returns {boolean} True if the pattern is matched, and false otherwise - * @private - */ - function matchesDefaultAssignment(node) { - return node.test.type === "Identifier" && - node.consequent.type === "Identifier" && - node.test.name === node.consequent.name; - } - - return { - - ConditionalExpression(node) { - if (isBooleanLiteral(node.alternate) && isBooleanLiteral(node.consequent)) { - context.report({ - node, - messageId: "unnecessaryConditionalExpression", - fix(fixer) { - if (node.consequent.value === node.alternate.value) { - - // Replace `foo ? true : true` with just `true`, but don't replace `foo() ? true : true` - return node.test.type === "Identifier" ? fixer.replaceText(node, node.consequent.value.toString()) : null; - } - if (node.alternate.value) { - - // Replace `foo() ? false : true` with `!(foo())` - return fixer.replaceText(node, invertExpression(node.test)); - } - - // Replace `foo ? true : false` with `foo` if `foo` is guaranteed to be a boolean, or `!!foo` otherwise. - - return fixer.replaceText(node, isBooleanExpression(node.test) ? astUtils.getParenthesisedText(sourceCode, node.test) : `!${invertExpression(node.test)}`); - } - }); - } else if (!defaultAssignment && matchesDefaultAssignment(node)) { - context.report({ - node, - messageId: "unnecessaryConditionalAssignment", - fix(fixer) { - const shouldParenthesizeAlternate = - ( - astUtils.getPrecedence(node.alternate) < OR_PRECEDENCE || - astUtils.isCoalesceExpression(node.alternate) - ) && - !astUtils.isParenthesised(sourceCode, node.alternate); - const alternateText = shouldParenthesizeAlternate - ? `(${sourceCode.getText(node.alternate)})` - : astUtils.getParenthesisedText(sourceCode, node.alternate); - const testText = astUtils.getParenthesisedText(sourceCode, node.test); - - return fixer.replaceText(node, `${testText} || ${alternateText}`); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable-loop.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable-loop.js deleted file mode 100644 index f5507ecc..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable-loop.js +++ /dev/null @@ -1,187 +0,0 @@ -/** - * @fileoverview Rule to disallow loops with a body that allows only one iteration - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const allLoopTypes = ["WhileStatement", "DoWhileStatement", "ForStatement", "ForInStatement", "ForOfStatement"]; - -/** - * Checks all segments in a set and returns true if any are reachable. - * @param {Set} segments The segments to check. - * @returns {boolean} True if any segment is reachable; false otherwise. - */ -function isAnySegmentReachable(segments) { - - for (const segment of segments) { - if (segment.reachable) { - return true; - } - } - - return false; -} - -/** - * Determines whether the given node is the first node in the code path to which a loop statement - * 'loops' for the next iteration. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is a looping target. - */ -function isLoopingTarget(node) { - const parent = node.parent; - - if (parent) { - switch (parent.type) { - case "WhileStatement": - return node === parent.test; - case "DoWhileStatement": - return node === parent.body; - case "ForStatement": - return node === (parent.update || parent.test || parent.body); - case "ForInStatement": - case "ForOfStatement": - return node === parent.left; - - // no default - } - } - - return false; -} - -/** - * Creates an array with elements from the first given array that are not included in the second given array. - * @param {Array} arrA The array to compare from. - * @param {Array} arrB The array to compare against. - * @returns {Array} a new array that represents `arrA \ arrB`. - */ -function getDifference(arrA, arrB) { - return arrA.filter(a => !arrB.includes(a)); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ ignore: [] }], - - docs: { - description: "Disallow loops with a body that allows only one iteration", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-unreachable-loop" - }, - - schema: [{ - type: "object", - properties: { - ignore: { - type: "array", - items: { - enum: allLoopTypes - }, - uniqueItems: true - } - }, - additionalProperties: false - }], - - messages: { - invalid: "Invalid loop. Its body allows only one iteration." - } - }, - - create(context) { - const [{ ignore: ignoredLoopTypes }] = context.options; - const loopTypesToCheck = getDifference(allLoopTypes, ignoredLoopTypes), - loopSelector = loopTypesToCheck.join(","), - loopsByTargetSegments = new Map(), - loopsToReport = new Set(); - - const codePathSegments = []; - let currentCodePathSegments = new Set(); - - return { - - onCodePathStart() { - codePathSegments.push(currentCodePathSegments); - currentCodePathSegments = new Set(); - }, - - onCodePathEnd() { - currentCodePathSegments = codePathSegments.pop(); - }, - - onUnreachableCodePathSegmentStart(segment) { - currentCodePathSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - currentCodePathSegments.delete(segment); - }, - - onCodePathSegmentEnd(segment) { - currentCodePathSegments.delete(segment); - }, - - onCodePathSegmentStart(segment, node) { - - currentCodePathSegments.add(segment); - - if (isLoopingTarget(node)) { - const loop = node.parent; - - loopsByTargetSegments.set(segment, loop); - } - }, - - onCodePathSegmentLoop(_, toSegment, node) { - const loop = loopsByTargetSegments.get(toSegment); - - /** - * The second iteration is reachable, meaning that the loop is valid by the logic of this rule, - * only if there is at least one loop event with the appropriate target (which has been already - * determined in the `loopsByTargetSegments` map), raised from either: - * - * - the end of the loop's body (in which case `node === loop`) - * - a `continue` statement - * - * This condition skips loop events raised from `ForInStatement > .right` and `ForOfStatement > .right` nodes. - */ - if (node === loop || node.type === "ContinueStatement") { - - // Removes loop if it exists in the set. Otherwise, `Set#delete` has no effect and doesn't throw. - loopsToReport.delete(loop); - } - }, - - [loopSelector](node) { - - /** - * Ignore unreachable loop statements to avoid unnecessary complexity in the implementation, or false positives otherwise. - * For unreachable segments, the code path analysis does not raise events required for this implementation. - */ - if (isAnySegmentReachable(currentCodePathSegments)) { - loopsToReport.add(node); - } - }, - - - "Program:exit"() { - loopsToReport.forEach( - node => context.report({ node, messageId: "invalid" }) - ); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable.js deleted file mode 100644 index 0cf750e4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unreachable.js +++ /dev/null @@ -1,293 +0,0 @@ -/** - * @fileoverview Checks for unreachable code due to return, throws, break, and continue. - * @author Joel Feenstra - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * @typedef {Object} ConstructorInfo - * @property {ConstructorInfo | null} upper Info about the constructor that encloses this constructor. - * @property {boolean} hasSuperCall The flag about having `super()` expressions. - */ - -/** - * Checks whether or not a given variable declarator has the initializer. - * @param {ASTNode} node A VariableDeclarator node to check. - * @returns {boolean} `true` if the node has the initializer. - */ -function isInitialized(node) { - return Boolean(node.init); -} - -/** - * Checks all segments in a set and returns true if all are unreachable. - * @param {Set} segments The segments to check. - * @returns {boolean} True if all segments are unreachable; false otherwise. - */ -function areAllSegmentsUnreachable(segments) { - - for (const segment of segments) { - if (segment.reachable) { - return false; - } - } - - return true; -} - -/** - * The class to distinguish consecutive unreachable statements. - */ -class ConsecutiveRange { - constructor(sourceCode) { - this.sourceCode = sourceCode; - this.startNode = null; - this.endNode = null; - } - - /** - * The location object of this range. - * @type {Object} - */ - get location() { - return { - start: this.startNode.loc.start, - end: this.endNode.loc.end - }; - } - - /** - * `true` if this range is empty. - * @type {boolean} - */ - get isEmpty() { - return !(this.startNode && this.endNode); - } - - /** - * Checks whether the given node is inside of this range. - * @param {ASTNode|Token} node The node to check. - * @returns {boolean} `true` if the node is inside of this range. - */ - contains(node) { - return ( - node.range[0] >= this.startNode.range[0] && - node.range[1] <= this.endNode.range[1] - ); - } - - /** - * Checks whether the given node is consecutive to this range. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is consecutive to this range. - */ - isConsecutive(node) { - return this.contains(this.sourceCode.getTokenBefore(node)); - } - - /** - * Merges the given node to this range. - * @param {ASTNode} node The node to merge. - * @returns {void} - */ - merge(node) { - this.endNode = node; - } - - /** - * Resets this range by the given node or null. - * @param {ASTNode|null} node The node to reset, or null. - * @returns {void} - */ - reset(node) { - this.startNode = this.endNode = node; - } -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unreachable" - }, - - schema: [], - - messages: { - unreachableCode: "Unreachable code." - } - }, - - create(context) { - - /** @type {ConstructorInfo | null} */ - let constructorInfo = null; - - /** @type {ConsecutiveRange} */ - const range = new ConsecutiveRange(context.sourceCode); - - /** @type {Array>} */ - const codePathSegments = []; - - /** @type {Set} */ - let currentCodePathSegments = new Set(); - - /** - * Reports a given node if it's unreachable. - * @param {ASTNode} node A statement node to report. - * @returns {void} - */ - function reportIfUnreachable(node) { - let nextNode = null; - - if (node && (node.type === "PropertyDefinition" || areAllSegmentsUnreachable(currentCodePathSegments))) { - - // Store this statement to distinguish consecutive statements. - if (range.isEmpty) { - range.reset(node); - return; - } - - // Skip if this statement is inside of the current range. - if (range.contains(node)) { - return; - } - - // Merge if this statement is consecutive to the current range. - if (range.isConsecutive(node)) { - range.merge(node); - return; - } - - nextNode = node; - } - - /* - * Report the current range since this statement is reachable or is - * not consecutive to the current range. - */ - if (!range.isEmpty) { - context.report({ - messageId: "unreachableCode", - loc: range.location, - node: range.startNode - }); - } - - // Update the current range. - range.reset(nextNode); - } - - return { - - // Manages the current code path. - onCodePathStart() { - codePathSegments.push(currentCodePathSegments); - currentCodePathSegments = new Set(); - }, - - onCodePathEnd() { - currentCodePathSegments = codePathSegments.pop(); - }, - - onUnreachableCodePathSegmentStart(segment) { - currentCodePathSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - currentCodePathSegments.delete(segment); - }, - - onCodePathSegmentEnd(segment) { - currentCodePathSegments.delete(segment); - }, - - onCodePathSegmentStart(segment) { - currentCodePathSegments.add(segment); - }, - - // Registers for all statement nodes (excludes FunctionDeclaration). - BlockStatement: reportIfUnreachable, - BreakStatement: reportIfUnreachable, - ClassDeclaration: reportIfUnreachable, - ContinueStatement: reportIfUnreachable, - DebuggerStatement: reportIfUnreachable, - DoWhileStatement: reportIfUnreachable, - ExpressionStatement: reportIfUnreachable, - ForInStatement: reportIfUnreachable, - ForOfStatement: reportIfUnreachable, - ForStatement: reportIfUnreachable, - IfStatement: reportIfUnreachable, - ImportDeclaration: reportIfUnreachable, - LabeledStatement: reportIfUnreachable, - ReturnStatement: reportIfUnreachable, - SwitchStatement: reportIfUnreachable, - ThrowStatement: reportIfUnreachable, - TryStatement: reportIfUnreachable, - - VariableDeclaration(node) { - if (node.kind !== "var" || node.declarations.some(isInitialized)) { - reportIfUnreachable(node); - } - }, - - WhileStatement: reportIfUnreachable, - WithStatement: reportIfUnreachable, - ExportNamedDeclaration: reportIfUnreachable, - ExportDefaultDeclaration: reportIfUnreachable, - ExportAllDeclaration: reportIfUnreachable, - - "Program:exit"() { - reportIfUnreachable(); - }, - - /* - * Instance fields defined in a subclass are never created if the constructor of the subclass - * doesn't call `super()`, so their definitions are unreachable code. - */ - "MethodDefinition[kind='constructor']"() { - constructorInfo = { - upper: constructorInfo, - hasSuperCall: false - }; - }, - "MethodDefinition[kind='constructor']:exit"(node) { - const { hasSuperCall } = constructorInfo; - - constructorInfo = constructorInfo.upper; - - // skip typescript constructors without the body - if (!node.value.body) { - return; - } - - const classDefinition = node.parent.parent; - - if (classDefinition.superClass && !hasSuperCall) { - for (const element of classDefinition.body.body) { - if (element.type === "PropertyDefinition" && !element.static) { - reportIfUnreachable(element); - } - } - } - }, - "CallExpression > Super.callee"() { - if (constructorInfo) { - constructorInfo.hasSuperCall = true; - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-finally.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-finally.js deleted file mode 100644 index ebd24328..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-finally.js +++ /dev/null @@ -1,111 +0,0 @@ -/** - * @fileoverview Rule to flag unsafe statements in finally block - * @author Onur Temizkan - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const SENTINEL_NODE_TYPE_RETURN_THROW = /^(?:Program|(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression)$/u; -const SENTINEL_NODE_TYPE_BREAK = /^(?:Program|(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|DoWhileStatement|WhileStatement|ForOfStatement|ForInStatement|ForStatement|SwitchStatement)$/u; -const SENTINEL_NODE_TYPE_CONTINUE = /^(?:Program|(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|DoWhileStatement|WhileStatement|ForOfStatement|ForInStatement|ForStatement)$/u; - - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow control flow statements in `finally` blocks", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unsafe-finally" - }, - - schema: [], - - messages: { - unsafeUsage: "Unsafe usage of {{nodeType}}." - } - }, - create(context) { - - /** - * Checks if the node is the finalizer of a TryStatement - * @param {ASTNode} node node to check. - * @returns {boolean} - true if the node is the finalizer of a TryStatement - */ - function isFinallyBlock(node) { - return node.parent.type === "TryStatement" && node.parent.finalizer === node; - } - - /** - * Climbs up the tree if the node is not a sentinel node - * @param {ASTNode} node node to check. - * @param {string} label label of the break or continue statement - * @returns {boolean} - return whether the node is a finally block or a sentinel node - */ - function isInFinallyBlock(node, label) { - let labelInside = false; - let sentinelNodeType; - - if (node.type === "BreakStatement" && !node.label) { - sentinelNodeType = SENTINEL_NODE_TYPE_BREAK; - } else if (node.type === "ContinueStatement") { - sentinelNodeType = SENTINEL_NODE_TYPE_CONTINUE; - } else { - sentinelNodeType = SENTINEL_NODE_TYPE_RETURN_THROW; - } - - for ( - let currentNode = node; - currentNode && !sentinelNodeType.test(currentNode.type); - currentNode = currentNode.parent - ) { - if (currentNode.parent.label && label && (currentNode.parent.label.name === label.name)) { - labelInside = true; - } - if (isFinallyBlock(currentNode)) { - if (label && labelInside) { - return false; - } - return true; - } - } - return false; - } - - /** - * Checks whether the possibly-unsafe statement is inside a finally block. - * @param {ASTNode} node node to check. - * @returns {void} - */ - function check(node) { - if (isInFinallyBlock(node, node.label)) { - context.report({ - messageId: "unsafeUsage", - data: { - nodeType: node.type - }, - node, - line: node.loc.line, - column: node.loc.column - }); - } - } - - return { - ReturnStatement: check, - ThrowStatement: check, - BreakStatement: check, - ContinueStatement: check - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-negation.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-negation.js deleted file mode 100644 index 10f4a530..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-negation.js +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @fileoverview Rule to disallow negating the left operand of relational operators - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether the given operator is `in` or `instanceof` - * @param {string} op The operator type to check. - * @returns {boolean} `true` if the operator is `in` or `instanceof` - */ -function isInOrInstanceOfOperator(op) { - return op === "in" || op === "instanceof"; -} - -/** - * Checks whether the given operator is an ordering relational operator or not. - * @param {string} op The operator type to check. - * @returns {boolean} `true` if the operator is an ordering relational operator. - */ -function isOrderingRelationalOperator(op) { - return op === "<" || op === ">" || op === ">=" || op === "<="; -} - -/** - * Checks whether the given node is a logical negation expression or not. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is a logical negation expression. - */ -function isNegation(node) { - return node.type === "UnaryExpression" && node.operator === "!"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - enforceForOrderingRelations: false - }], - - docs: { - description: "Disallow negating the left operand of relational operators", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unsafe-negation" - }, - - hasSuggestions: true, - - schema: [ - { - type: "object", - properties: { - enforceForOrderingRelations: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - fixable: null, - - messages: { - unexpected: "Unexpected negating the left operand of '{{operator}}' operator.", - suggestNegatedExpression: "Negate '{{operator}}' expression instead of its left operand. This changes the current behavior.", - suggestParenthesisedNegation: "Wrap negation in '()' to make the intention explicit. This preserves the current behavior." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const [{ enforceForOrderingRelations }] = context.options; - - return { - BinaryExpression(node) { - const operator = node.operator; - const orderingRelationRuleApplies = enforceForOrderingRelations && isOrderingRelationalOperator(operator); - - if ( - (isInOrInstanceOfOperator(operator) || orderingRelationRuleApplies) && - isNegation(node.left) && - !astUtils.isParenthesised(sourceCode, node.left) - ) { - context.report({ - node, - loc: node.left.loc, - messageId: "unexpected", - data: { operator }, - suggest: [ - { - messageId: "suggestNegatedExpression", - data: { operator }, - fix(fixer) { - const negationToken = sourceCode.getFirstToken(node.left); - const fixRange = [negationToken.range[1], node.range[1]]; - const text = sourceCode.text.slice(fixRange[0], fixRange[1]); - - return fixer.replaceTextRange(fixRange, `(${text})`); - } - }, - { - messageId: "suggestParenthesisedNegation", - fix(fixer) { - return fixer.replaceText(node.left, `(${sourceCode.getText(node.left)})`); - } - } - ] - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js deleted file mode 100644 index c5d1f999..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +++ /dev/null @@ -1,207 +0,0 @@ -/** - * @fileoverview Rule to disallow unsafe optional chaining - * @author Yeon JuAn - */ - -"use strict"; - -const UNSAFE_ARITHMETIC_OPERATORS = new Set(["+", "-", "/", "*", "%", "**"]); -const UNSAFE_ASSIGNMENT_OPERATORS = new Set(["+=", "-=", "/=", "*=", "%=", "**="]); -const UNSAFE_RELATIONAL_OPERATORS = new Set(["in", "instanceof"]); - -/** - * Checks whether a node is a destructuring pattern or not - * @param {ASTNode} node node to check - * @returns {boolean} `true` if a node is a destructuring pattern, otherwise `false` - */ -function isDestructuringPattern(node) { - return node.type === "ObjectPattern" || node.type === "ArrayPattern"; -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - disallowArithmeticOperators: false - }], - - docs: { - description: "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - }, - schema: [{ - type: "object", - properties: { - disallowArithmeticOperators: { - type: "boolean" - } - }, - additionalProperties: false - }], - fixable: null, - messages: { - unsafeOptionalChain: "Unsafe usage of optional chaining. If it short-circuits with 'undefined' the evaluation will throw TypeError.", - unsafeArithmetic: "Unsafe arithmetic operation on optional chaining. It can result in NaN." - } - }, - - create(context) { - const [{ disallowArithmeticOperators }] = context.options; - - /** - * Reports unsafe usage of optional chaining - * @param {ASTNode} node node to report - * @returns {void} - */ - function reportUnsafeUsage(node) { - context.report({ - messageId: "unsafeOptionalChain", - node - }); - } - - /** - * Reports unsafe arithmetic operation on optional chaining - * @param {ASTNode} node node to report - * @returns {void} - */ - function reportUnsafeArithmetic(node) { - context.report({ - messageId: "unsafeArithmetic", - node - }); - } - - /** - * Checks and reports if a node can short-circuit with `undefined` by optional chaining. - * @param {ASTNode} [node] node to check - * @param {Function} reportFunc report function - * @returns {void} - */ - function checkUndefinedShortCircuit(node, reportFunc) { - if (!node) { - return; - } - switch (node.type) { - case "LogicalExpression": - if (node.operator === "||" || node.operator === "??") { - checkUndefinedShortCircuit(node.right, reportFunc); - } else if (node.operator === "&&") { - checkUndefinedShortCircuit(node.left, reportFunc); - checkUndefinedShortCircuit(node.right, reportFunc); - } - break; - case "SequenceExpression": - checkUndefinedShortCircuit( - node.expressions.at(-1), - reportFunc - ); - break; - case "ConditionalExpression": - checkUndefinedShortCircuit(node.consequent, reportFunc); - checkUndefinedShortCircuit(node.alternate, reportFunc); - break; - case "AwaitExpression": - checkUndefinedShortCircuit(node.argument, reportFunc); - break; - case "ChainExpression": - reportFunc(node); - break; - default: - break; - } - } - - /** - * Checks unsafe usage of optional chaining - * @param {ASTNode} node node to check - * @returns {void} - */ - function checkUnsafeUsage(node) { - checkUndefinedShortCircuit(node, reportUnsafeUsage); - } - - /** - * Checks unsafe arithmetic operations on optional chaining - * @param {ASTNode} node node to check - * @returns {void} - */ - function checkUnsafeArithmetic(node) { - checkUndefinedShortCircuit(node, reportUnsafeArithmetic); - } - - return { - "AssignmentExpression, AssignmentPattern"(node) { - if (isDestructuringPattern(node.left)) { - checkUnsafeUsage(node.right); - } - }, - "ClassDeclaration, ClassExpression"(node) { - checkUnsafeUsage(node.superClass); - }, - CallExpression(node) { - if (!node.optional) { - checkUnsafeUsage(node.callee); - } - }, - NewExpression(node) { - checkUnsafeUsage(node.callee); - }, - VariableDeclarator(node) { - if (isDestructuringPattern(node.id)) { - checkUnsafeUsage(node.init); - } - }, - MemberExpression(node) { - if (!node.optional) { - checkUnsafeUsage(node.object); - } - }, - TaggedTemplateExpression(node) { - checkUnsafeUsage(node.tag); - }, - ForOfStatement(node) { - checkUnsafeUsage(node.right); - }, - SpreadElement(node) { - if (node.parent && node.parent.type !== "ObjectExpression") { - checkUnsafeUsage(node.argument); - } - }, - BinaryExpression(node) { - if (UNSAFE_RELATIONAL_OPERATORS.has(node.operator)) { - checkUnsafeUsage(node.right); - } - if ( - disallowArithmeticOperators && - UNSAFE_ARITHMETIC_OPERATORS.has(node.operator) - ) { - checkUnsafeArithmetic(node.right); - checkUnsafeArithmetic(node.left); - } - }, - WithStatement(node) { - checkUnsafeUsage(node.object); - }, - UnaryExpression(node) { - if ( - disallowArithmeticOperators && - UNSAFE_ARITHMETIC_OPERATORS.has(node.operator) - ) { - checkUnsafeArithmetic(node.argument); - } - }, - AssignmentExpression(node) { - if ( - disallowArithmeticOperators && - UNSAFE_ASSIGNMENT_OPERATORS.has(node.operator) - ) { - checkUnsafeArithmetic(node.right); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-expressions.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-expressions.js deleted file mode 100644 index fd1437c1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-expressions.js +++ /dev/null @@ -1,190 +0,0 @@ -/** - * @fileoverview Flag expressions in statement position that do not side effect - * @author Michael Ficarra - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** - * Returns `true`. - * @returns {boolean} `true`. - */ -function alwaysTrue() { - return true; -} - -/** - * Returns `false`. - * @returns {boolean} `false`. - */ -function alwaysFalse() { - return false; -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unused expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-unused-expressions" - }, - - schema: [ - { - type: "object", - properties: { - allowShortCircuit: { - type: "boolean" - }, - allowTernary: { - type: "boolean" - }, - allowTaggedTemplates: { - type: "boolean" - }, - enforceForJSX: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - defaultOptions: [{ - allowShortCircuit: false, - allowTernary: false, - allowTaggedTemplates: false, - enforceForJSX: false - }], - - messages: { - unusedExpression: "Expected an assignment or function call and instead saw an expression." - } - }, - - create(context) { - const [{ - allowShortCircuit, - allowTernary, - allowTaggedTemplates, - enforceForJSX - }] = context.options; - - /** - * Has AST suggesting a directive. - * @param {ASTNode} node any node - * @returns {boolean} whether the given node structurally represents a directive - */ - function looksLikeDirective(node) { - return node.type === "ExpressionStatement" && - node.expression.type === "Literal" && typeof node.expression.value === "string"; - } - - /** - * Gets the leading sequence of members in a list that pass the predicate. - * @param {Function} predicate ([a] -> Boolean) the function used to make the determination - * @param {a[]} list the input list - * @returns {a[]} the leading sequence of members in the given list that pass the given predicate - */ - function takeWhile(predicate, list) { - for (let i = 0; i < list.length; ++i) { - if (!predicate(list[i])) { - return list.slice(0, i); - } - } - return list.slice(); - } - - /** - * Gets leading directives nodes in a Node body. - * @param {ASTNode} node a Program or BlockStatement node - * @returns {ASTNode[]} the leading sequence of directive nodes in the given node's body - */ - function directives(node) { - return takeWhile(looksLikeDirective, node.body); - } - - /** - * Detect if a Node is a directive. - * @param {ASTNode} node any node - * @returns {boolean} whether the given node is considered a directive in its current position - */ - function isDirective(node) { - - /** - * https://tc39.es/ecma262/#directive-prologue - * - * Only `FunctionBody`, `ScriptBody` and `ModuleBody` can have directive prologue. - * Class static blocks do not have directive prologue. - */ - return astUtils.isTopLevelExpressionStatement(node) && directives(node.parent).includes(node); - } - - /** - * The member functions return `true` if the type has no side-effects. - * Unknown nodes are handled as `false`, then this rule ignores those. - */ - const Checker = Object.assign(Object.create(null), { - isDisallowed(node) { - return (Checker[node.type] || alwaysFalse)(node); - }, - - ArrayExpression: alwaysTrue, - ArrowFunctionExpression: alwaysTrue, - BinaryExpression: alwaysTrue, - ChainExpression(node) { - return Checker.isDisallowed(node.expression); - }, - ClassExpression: alwaysTrue, - ConditionalExpression(node) { - if (allowTernary) { - return Checker.isDisallowed(node.consequent) || Checker.isDisallowed(node.alternate); - } - return true; - }, - FunctionExpression: alwaysTrue, - Identifier: alwaysTrue, - JSXElement() { - return enforceForJSX; - }, - JSXFragment() { - return enforceForJSX; - }, - Literal: alwaysTrue, - LogicalExpression(node) { - if (allowShortCircuit) { - return Checker.isDisallowed(node.right); - } - return true; - }, - MemberExpression: alwaysTrue, - MetaProperty: alwaysTrue, - ObjectExpression: alwaysTrue, - SequenceExpression: alwaysTrue, - TaggedTemplateExpression() { - return !allowTaggedTemplates; - }, - TemplateLiteral: alwaysTrue, - ThisExpression: alwaysTrue, - UnaryExpression(node) { - return node.operator !== "void" && node.operator !== "delete"; - } - }); - - return { - ExpressionStatement(node) { - if (Checker.isDisallowed(node.expression) && !isDirective(node)) { - context.report({ node, messageId: "unusedExpression" }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-labels.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-labels.js deleted file mode 100644 index be06b324..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-labels.js +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @fileoverview Rule to disallow unused labels. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unused labels", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unused-labels" - }, - - schema: [], - - fixable: "code", - - messages: { - unused: "'{{name}}:' is defined but never used." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - let scopeInfo = null; - - /** - * Adds a scope info to the stack. - * @param {ASTNode} node A node to add. This is a LabeledStatement. - * @returns {void} - */ - function enterLabeledScope(node) { - scopeInfo = { - label: node.label.name, - used: false, - upper: scopeInfo - }; - } - - /** - * Checks if a `LabeledStatement` node is fixable. - * For a node to be fixable, there must be no comments between the label and the body. - * Furthermore, is must be possible to remove the label without turning the body statement into a - * directive after other fixes are applied. - * @param {ASTNode} node The node to evaluate. - * @returns {boolean} Whether or not the node is fixable. - */ - function isFixable(node) { - - /* - * Only perform a fix if there are no comments between the label and the body. This will be the case - * when there is exactly one token/comment (the ":") between the label and the body. - */ - if (sourceCode.getTokenAfter(node.label, { includeComments: true }) !== - sourceCode.getTokenBefore(node.body, { includeComments: true })) { - return false; - } - - // Looking for the node's deepest ancestor which is not a `LabeledStatement`. - let ancestor = node.parent; - - while (ancestor.type === "LabeledStatement") { - ancestor = ancestor.parent; - } - - if (ancestor.type === "Program" || - (ancestor.type === "BlockStatement" && astUtils.isFunction(ancestor.parent))) { - const { body } = node; - - if (body.type === "ExpressionStatement" && - ((body.expression.type === "Literal" && typeof body.expression.value === "string") || - astUtils.isStaticTemplateLiteral(body.expression))) { - return false; // potential directive - } - } - return true; - } - - /** - * Removes the top of the stack. - * At the same time, this reports the label if it's never used. - * @param {ASTNode} node A node to report. This is a LabeledStatement. - * @returns {void} - */ - function exitLabeledScope(node) { - if (!scopeInfo.used) { - context.report({ - node: node.label, - messageId: "unused", - data: node.label, - fix: isFixable(node) ? fixer => fixer.removeRange([node.range[0], node.body.range[0]]) : null - }); - } - - scopeInfo = scopeInfo.upper; - } - - /** - * Marks the label of a given node as used. - * @param {ASTNode} node A node to mark. This is a BreakStatement or - * ContinueStatement. - * @returns {void} - */ - function markAsUsed(node) { - if (!node.label) { - return; - } - - const label = node.label.name; - let info = scopeInfo; - - while (info) { - if (info.label === label) { - info.used = true; - break; - } - info = info.upper; - } - } - - return { - LabeledStatement: enterLabeledScope, - "LabeledStatement:exit": exitLabeledScope, - BreakStatement: markAsUsed, - ContinueStatement: markAsUsed - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-private-class-members.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-private-class-members.js deleted file mode 100644 index bc05cd25..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-private-class-members.js +++ /dev/null @@ -1,195 +0,0 @@ -/** - * @fileoverview Rule to flag declared but unused private class members - * @author Tim van der Lippe - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow unused private class members", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - }, - - schema: [], - - messages: { - unusedPrivateClassMember: "'{{classMemberName}}' is defined but never used." - } - }, - - create(context) { - const trackedClasses = []; - - /** - * Check whether the current node is in a write only assignment. - * @param {ASTNode} privateIdentifierNode Node referring to a private identifier - * @returns {boolean} Whether the node is in a write only assignment - * @private - */ - function isWriteOnlyAssignment(privateIdentifierNode) { - const parentStatement = privateIdentifierNode.parent.parent; - const isAssignmentExpression = parentStatement.type === "AssignmentExpression"; - - if (!isAssignmentExpression && - parentStatement.type !== "ForInStatement" && - parentStatement.type !== "ForOfStatement" && - parentStatement.type !== "AssignmentPattern") { - return false; - } - - // It is a write-only usage, since we still allow usages on the right for reads - if (parentStatement.left !== privateIdentifierNode.parent) { - return false; - } - - // For any other operator (such as '+=') we still consider it a read operation - if (isAssignmentExpression && parentStatement.operator !== "=") { - - /* - * However, if the read operation is "discarded" in an empty statement, then - * we consider it write only. - */ - return parentStatement.parent.type === "ExpressionStatement"; - } - - return true; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - // Collect all declared members up front and assume they are all unused - ClassBody(classBodyNode) { - const privateMembers = new Map(); - - trackedClasses.unshift(privateMembers); - for (const bodyMember of classBodyNode.body) { - if (bodyMember.type === "PropertyDefinition" || bodyMember.type === "MethodDefinition") { - if (bodyMember.key.type === "PrivateIdentifier") { - privateMembers.set(bodyMember.key.name, { - declaredNode: bodyMember, - isAccessor: bodyMember.type === "MethodDefinition" && - (bodyMember.kind === "set" || bodyMember.kind === "get") - }); - } - } - } - }, - - /* - * Process all usages of the private identifier and remove a member from - * `declaredAndUnusedPrivateMembers` if we deem it used. - */ - PrivateIdentifier(privateIdentifierNode) { - const classBody = trackedClasses.find(classProperties => classProperties.has(privateIdentifierNode.name)); - - // Can't happen, as it is a parser to have a missing class body, but let's code defensively here. - if (!classBody) { - return; - } - - // In case any other usage was already detected, we can short circuit the logic here. - const memberDefinition = classBody.get(privateIdentifierNode.name); - - if (memberDefinition.isUsed) { - return; - } - - // The definition of the class member itself - if (privateIdentifierNode.parent.type === "PropertyDefinition" || - privateIdentifierNode.parent.type === "MethodDefinition") { - return; - } - - /* - * Any usage of an accessor is considered a read, as the getter/setter can have - * side-effects in its definition. - */ - if (memberDefinition.isAccessor) { - memberDefinition.isUsed = true; - return; - } - - // Any assignments to this member, except for assignments that also read - if (isWriteOnlyAssignment(privateIdentifierNode)) { - return; - } - - const wrappingExpressionType = privateIdentifierNode.parent.parent.type; - const parentOfWrappingExpressionType = privateIdentifierNode.parent.parent.parent.type; - - // A statement which only increments (`this.#x++;`) - if (wrappingExpressionType === "UpdateExpression" && - parentOfWrappingExpressionType === "ExpressionStatement") { - return; - } - - /* - * ({ x: this.#usedInDestructuring } = bar); - * - * But should treat the following as a read: - * ({ [this.#x]: a } = foo); - */ - if (wrappingExpressionType === "Property" && - parentOfWrappingExpressionType === "ObjectPattern" && - privateIdentifierNode.parent.parent.value === privateIdentifierNode.parent) { - return; - } - - // [...this.#unusedInRestPattern] = bar; - if (wrappingExpressionType === "RestElement") { - return; - } - - // [this.#unusedInAssignmentPattern] = bar; - if (wrappingExpressionType === "ArrayPattern") { - return; - } - - /* - * We can't delete the memberDefinition, as we need to keep track of which member we are marking as used. - * In the case of nested classes, we only mark the first member we encounter as used. If you were to delete - * the member, then any subsequent usage could incorrectly mark the member of an encapsulating parent class - * as used, which is incorrect. - */ - memberDefinition.isUsed = true; - }, - - /* - * Post-process the class members and report any remaining members. - * Since private members can only be accessed in the current class context, - * we can safely assume that all usages are within the current class body. - */ - "ClassBody:exit"() { - const unusedPrivateMembers = trackedClasses.shift(); - - for (const [classMemberName, { declaredNode, isUsed }] of unusedPrivateMembers.entries()) { - if (isUsed) { - continue; - } - context.report({ - node: declaredNode, - loc: declaredNode.key.loc, - messageId: "unusedPrivateClassMember", - data: { - classMemberName: `#${classMemberName}` - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-vars.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-vars.js deleted file mode 100644 index 5b7a8d08..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-unused-vars.js +++ /dev/null @@ -1,1492 +0,0 @@ -/** - * @fileoverview Rule to flag declared but unused variables - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Typedefs -//------------------------------------------------------------------------------ - -/** - * A simple name for the types of variables that this rule supports - * @typedef {'array-destructure'|'catch-clause'|'parameter'|'variable'} VariableType - */ - -/** - * Bag of data used for formatting the `unusedVar` lint message. - * @typedef {Object} UnusedVarMessageData - * @property {string} varName The name of the unused var. - * @property {'defined'|'assigned a value'} action Description of the vars state. - * @property {string} additional Any additional info to be appended at the end. - */ - -/** - * Bag of data used for formatting the `usedIgnoredVar` lint message. - * @typedef {Object} UsedIgnoredVarMessageData - * @property {string} varName The name of the unused var. - * @property {string} additional Any additional info to be appended at the end. - */ - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow unused variables", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-unused-vars" - }, - - hasSuggestions: true, - - schema: [ - { - oneOf: [ - { - enum: ["all", "local"] - }, - { - type: "object", - properties: { - vars: { - enum: ["all", "local"] - }, - varsIgnorePattern: { - type: "string" - }, - args: { - enum: ["all", "after-used", "none"] - }, - ignoreRestSiblings: { - type: "boolean" - }, - argsIgnorePattern: { - type: "string" - }, - caughtErrors: { - enum: ["all", "none"] - }, - caughtErrorsIgnorePattern: { - type: "string" - }, - destructuredArrayIgnorePattern: { - type: "string" - }, - ignoreClassWithStaticInitBlock: { - type: "boolean" - }, - reportUsedIgnorePattern: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - unusedVar: "'{{varName}}' is {{action}} but never used{{additional}}.", - usedIgnoredVar: "'{{varName}}' is marked as ignored but is used{{additional}}.", - removeVar: "Remove unused variable '{{varName}}'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - const REST_PROPERTY_TYPE = /^(?:RestElement|(?:Experimental)?RestProperty)$/u; - - const config = { - vars: "all", - args: "after-used", - ignoreRestSiblings: false, - caughtErrors: "all", - ignoreClassWithStaticInitBlock: false, - reportUsedIgnorePattern: false - }; - - const firstOption = context.options[0]; - - if (firstOption) { - if (typeof firstOption === "string") { - config.vars = firstOption; - } else { - config.vars = firstOption.vars || config.vars; - config.args = firstOption.args || config.args; - config.ignoreRestSiblings = firstOption.ignoreRestSiblings || config.ignoreRestSiblings; - config.caughtErrors = firstOption.caughtErrors || config.caughtErrors; - config.ignoreClassWithStaticInitBlock = firstOption.ignoreClassWithStaticInitBlock || config.ignoreClassWithStaticInitBlock; - config.reportUsedIgnorePattern = firstOption.reportUsedIgnorePattern || config.reportUsedIgnorePattern; - - if (firstOption.varsIgnorePattern) { - config.varsIgnorePattern = new RegExp(firstOption.varsIgnorePattern, "u"); - } - - if (firstOption.argsIgnorePattern) { - config.argsIgnorePattern = new RegExp(firstOption.argsIgnorePattern, "u"); - } - - if (firstOption.caughtErrorsIgnorePattern) { - config.caughtErrorsIgnorePattern = new RegExp(firstOption.caughtErrorsIgnorePattern, "u"); - } - - if (firstOption.destructuredArrayIgnorePattern) { - config.destructuredArrayIgnorePattern = new RegExp(firstOption.destructuredArrayIgnorePattern, "u"); - } - } - } - - /** - * Determines what variable type a def is. - * @param {Object} def the declaration to check - * @returns {VariableType} a simple name for the types of variables that this rule supports - */ - function defToVariableType(def) { - - /* - * This `destructuredArrayIgnorePattern` error report works differently from the catch - * clause and parameter error reports. _Both_ the `varsIgnorePattern` and the - * `destructuredArrayIgnorePattern` will be checked for array destructuring. However, - * for the purposes of the report, the currently defined behavior is to only inform the - * user of the `destructuredArrayIgnorePattern` if it's present (regardless of the fact - * that the `varsIgnorePattern` would also apply). If it's not present, the user will be - * informed of the `varsIgnorePattern`, assuming that's present. - */ - if (config.destructuredArrayIgnorePattern && def.name.parent.type === "ArrayPattern") { - return "array-destructure"; - } - - switch (def.type) { - case "CatchClause": - return "catch-clause"; - case "Parameter": - return "parameter"; - - default: - return "variable"; - } - } - - /** - * Gets a given variable's description and configured ignore pattern - * based on the provided variableType - * @param {VariableType} variableType a simple name for the types of variables that this rule supports - * @throws {Error} (Unreachable) - * @returns {[string | undefined, string | undefined]} the given variable's description and - * ignore pattern - */ - function getVariableDescription(variableType) { - let pattern; - let variableDescription; - - switch (variableType) { - case "array-destructure": - pattern = config.destructuredArrayIgnorePattern; - variableDescription = "elements of array destructuring"; - break; - - case "catch-clause": - pattern = config.caughtErrorsIgnorePattern; - variableDescription = "caught errors"; - break; - - case "parameter": - pattern = config.argsIgnorePattern; - variableDescription = "args"; - break; - - case "variable": - pattern = config.varsIgnorePattern; - variableDescription = "vars"; - break; - - default: - throw new Error(`Unexpected variable type: ${variableType}`); - } - - if (pattern) { - pattern = pattern.toString(); - } - - return [variableDescription, pattern]; - } - - /** - * Generates the message data about the variable being defined and unused, - * including the ignore pattern if configured. - * @param {Variable} unusedVar eslint-scope variable object. - * @returns {UnusedVarMessageData} The message data to be used with this unused variable. - */ - function getDefinedMessageData(unusedVar) { - const def = unusedVar.defs && unusedVar.defs[0]; - let additionalMessageData = ""; - - if (def) { - const [variableDescription, pattern] = getVariableDescription(defToVariableType(def)); - - if (pattern && variableDescription) { - additionalMessageData = `. Allowed unused ${variableDescription} must match ${pattern}`; - } - } - - return { - varName: unusedVar.name, - action: "defined", - additional: additionalMessageData - }; - } - - /** - * Generate the warning message about the variable being - * assigned and unused, including the ignore pattern if configured. - * @param {Variable} unusedVar eslint-scope variable object. - * @returns {UnusedVarMessageData} The message data to be used with this unused variable. - */ - function getAssignedMessageData(unusedVar) { - const def = unusedVar.defs && unusedVar.defs[0]; - let additionalMessageData = ""; - - if (def) { - const [variableDescription, pattern] = getVariableDescription(defToVariableType(def)); - - if (pattern && variableDescription) { - additionalMessageData = `. Allowed unused ${variableDescription} must match ${pattern}`; - } - } - - return { - varName: unusedVar.name, - action: "assigned a value", - additional: additionalMessageData - }; - } - - /** - * Generate the warning message about a variable being used even though - * it is marked as being ignored. - * @param {Variable} variable eslint-scope variable object - * @param {VariableType} variableType a simple name for the types of variables that this rule supports - * @returns {UsedIgnoredVarMessageData} The message data to be used with - * this used ignored variable. - */ - function getUsedIgnoredMessageData(variable, variableType) { - const [variableDescription, pattern] = getVariableDescription(variableType); - - let additionalMessageData = ""; - - if (pattern && variableDescription) { - additionalMessageData = `. Used ${variableDescription} must not match ${pattern}`; - } - - return { - varName: variable.name, - additional: additionalMessageData - }; - } - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - const STATEMENT_TYPE = /(?:Statement|Declaration)$/u; - - /** - * Determines if a given variable is being exported from a module. - * @param {Variable} variable eslint-scope variable object. - * @returns {boolean} True if the variable is exported, false if not. - * @private - */ - function isExported(variable) { - - const definition = variable.defs[0]; - - if (definition) { - - let node = definition.node; - - if (node.type === "VariableDeclarator") { - node = node.parent; - } else if (definition.type === "Parameter") { - return false; - } - - return node.parent.type.indexOf("Export") === 0; - } - return false; - - } - - /** - * Checks whether a node is a sibling of the rest property or not. - * @param {ASTNode} node a node to check - * @returns {boolean} True if the node is a sibling of the rest property, otherwise false. - */ - function hasRestSibling(node) { - return node.type === "Property" && - node.parent.type === "ObjectPattern" && - REST_PROPERTY_TYPE.test(node.parent.properties.at(-1).type); - } - - /** - * Determines if a variable has a sibling rest property - * @param {Variable} variable eslint-scope variable object. - * @returns {boolean} True if the variable has a sibling rest property, false if not. - * @private - */ - function hasRestSpreadSibling(variable) { - if (config.ignoreRestSiblings) { - const hasRestSiblingDefinition = variable.defs.some(def => hasRestSibling(def.name.parent)); - const hasRestSiblingReference = variable.references.some(ref => hasRestSibling(ref.identifier.parent)); - - return hasRestSiblingDefinition || hasRestSiblingReference; - } - - return false; - } - - /** - * Determines if a reference is a read operation. - * @param {Reference} ref An eslint-scope Reference - * @returns {boolean} whether the given reference represents a read operation - * @private - */ - function isReadRef(ref) { - return ref.isRead(); - } - - /** - * Determine if an identifier is referencing an enclosing function name. - * @param {Reference} ref The reference to check. - * @param {ASTNode[]} nodes The candidate function nodes. - * @returns {boolean} True if it's a self-reference, false if not. - * @private - */ - function isSelfReference(ref, nodes) { - let scope = ref.from; - - while (scope) { - if (nodes.includes(scope.block)) { - return true; - } - - scope = scope.upper; - } - - return false; - } - - /** - * Gets a list of function definitions for a specified variable. - * @param {Variable} variable eslint-scope variable object. - * @returns {ASTNode[]} Function nodes. - * @private - */ - function getFunctionDefinitions(variable) { - const functionDefinitions = []; - - variable.defs.forEach(def => { - const { type, node } = def; - - // FunctionDeclarations - if (type === "FunctionName") { - functionDefinitions.push(node); - } - - // FunctionExpressions - if (type === "Variable" && node.init && - (node.init.type === "FunctionExpression" || node.init.type === "ArrowFunctionExpression")) { - functionDefinitions.push(node.init); - } - }); - return functionDefinitions; - } - - /** - * Checks the position of given nodes. - * @param {ASTNode} inner A node which is expected as inside. - * @param {ASTNode} outer A node which is expected as outside. - * @returns {boolean} `true` if the `inner` node exists in the `outer` node. - * @private - */ - function isInside(inner, outer) { - return ( - inner.range[0] >= outer.range[0] && - inner.range[1] <= outer.range[1] - ); - } - - /** - * Checks whether a given node is unused expression or not. - * @param {ASTNode} node The node itself - * @returns {boolean} The node is an unused expression. - * @private - */ - function isUnusedExpression(node) { - const parent = node.parent; - - if (parent.type === "ExpressionStatement") { - return true; - } - - if (parent.type === "SequenceExpression") { - const isLastExpression = parent.expressions.at(-1) === node; - - if (!isLastExpression) { - return true; - } - return isUnusedExpression(parent); - } - - return false; - } - - /** - * If a given reference is left-hand side of an assignment, this gets - * the right-hand side node of the assignment. - * - * In the following cases, this returns null. - * - * - The reference is not the LHS of an assignment expression. - * - The reference is inside of a loop. - * - The reference is inside of a function scope which is different from - * the declaration. - * @param {eslint-scope.Reference} ref A reference to check. - * @param {ASTNode} prevRhsNode The previous RHS node. - * @returns {ASTNode|null} The RHS node or null. - * @private - */ - function getRhsNode(ref, prevRhsNode) { - const id = ref.identifier; - const parent = id.parent; - const refScope = ref.from.variableScope; - const varScope = ref.resolved.scope.variableScope; - const canBeUsedLater = refScope !== varScope || astUtils.isInLoop(id); - - /* - * Inherits the previous node if this reference is in the node. - * This is for `a = a + a`-like code. - */ - if (prevRhsNode && isInside(id, prevRhsNode)) { - return prevRhsNode; - } - - if (parent.type === "AssignmentExpression" && - isUnusedExpression(parent) && - id === parent.left && - !canBeUsedLater - ) { - return parent.right; - } - return null; - } - - /** - * Checks whether a given function node is stored to somewhere or not. - * If the function node is stored, the function can be used later. - * @param {ASTNode} funcNode A function node to check. - * @param {ASTNode} rhsNode The RHS node of the previous assignment. - * @returns {boolean} `true` if under the following conditions: - * - the funcNode is assigned to a variable. - * - the funcNode is bound as an argument of a function call. - * - the function is bound to a property and the object satisfies above conditions. - * @private - */ - function isStorableFunction(funcNode, rhsNode) { - let node = funcNode; - let parent = funcNode.parent; - - while (parent && isInside(parent, rhsNode)) { - switch (parent.type) { - case "SequenceExpression": - if (parent.expressions.at(-1) !== node) { - return false; - } - break; - - case "CallExpression": - case "NewExpression": - return parent.callee !== node; - - case "AssignmentExpression": - case "TaggedTemplateExpression": - case "YieldExpression": - return true; - - default: - if (STATEMENT_TYPE.test(parent.type)) { - - /* - * If it encountered statements, this is a complex pattern. - * Since analyzing complex patterns is hard, this returns `true` to avoid false positive. - */ - return true; - } - } - - node = parent; - parent = parent.parent; - } - - return false; - } - - /** - * Checks whether a given Identifier node exists inside of a function node which can be used later. - * - * "can be used later" means: - * - the function is assigned to a variable. - * - the function is bound to a property and the object can be used later. - * - the function is bound as an argument of a function call. - * - * If a reference exists in a function which can be used later, the reference is read when the function is called. - * @param {ASTNode} id An Identifier node to check. - * @param {ASTNode} rhsNode The RHS node of the previous assignment. - * @returns {boolean} `true` if the `id` node exists inside of a function node which can be used later. - * @private - */ - function isInsideOfStorableFunction(id, rhsNode) { - const funcNode = astUtils.getUpperFunction(id); - - return ( - funcNode && - isInside(funcNode, rhsNode) && - isStorableFunction(funcNode, rhsNode) - ); - } - - /** - * Checks whether a given reference is a read to update itself or not. - * @param {eslint-scope.Reference} ref A reference to check. - * @param {ASTNode} rhsNode The RHS node of the previous assignment. - * @returns {boolean} The reference is a read to update itself. - * @private - */ - function isReadForItself(ref, rhsNode) { - const id = ref.identifier; - const parent = id.parent; - - return ref.isRead() && ( - - // self update. e.g. `a += 1`, `a++` - ( - ( - parent.type === "AssignmentExpression" && - parent.left === id && - isUnusedExpression(parent) && - !astUtils.isLogicalAssignmentOperator(parent.operator) - ) || - ( - parent.type === "UpdateExpression" && - isUnusedExpression(parent) - ) - ) || - - // in RHS of an assignment for itself. e.g. `a = a + 1` - ( - rhsNode && - isInside(id, rhsNode) && - !isInsideOfStorableFunction(id, rhsNode) - ) - ); - } - - /** - * Determine if an identifier is used either in for-in or for-of loops. - * @param {Reference} ref The reference to check. - * @returns {boolean} whether reference is used in the for-in loops - * @private - */ - function isForInOfRef(ref) { - let target = ref.identifier.parent; - - - // "for (var ...) { return; }" - if (target.type === "VariableDeclarator") { - target = target.parent.parent; - } - - if (target.type !== "ForInStatement" && target.type !== "ForOfStatement") { - return false; - } - - // "for (...) { return; }" - if (target.body.type === "BlockStatement") { - target = target.body.body[0]; - - // "for (...) return;" - } else { - target = target.body; - } - - // For empty loop body - if (!target) { - return false; - } - - return target.type === "ReturnStatement"; - } - - /** - * Determines if the variable is used. - * @param {Variable} variable The variable to check. - * @returns {boolean} True if the variable is used - * @private - */ - function isUsedVariable(variable) { - if (variable.eslintUsed) { - return true; - } - - const functionNodes = getFunctionDefinitions(variable); - const isFunctionDefinition = functionNodes.length > 0; - - let rhsNode = null; - - return variable.references.some(ref => { - if (isForInOfRef(ref)) { - return true; - } - - const forItself = isReadForItself(ref, rhsNode); - - rhsNode = getRhsNode(ref, rhsNode); - - return ( - isReadRef(ref) && - !forItself && - !(isFunctionDefinition && isSelfReference(ref, functionNodes)) - ); - }); - } - - /** - * Checks whether the given variable is after the last used parameter. - * @param {eslint-scope.Variable} variable The variable to check. - * @returns {boolean} `true` if the variable is defined after the last - * used parameter. - */ - function isAfterLastUsedArg(variable) { - const def = variable.defs[0]; - const params = sourceCode.getDeclaredVariables(def.node); - const posteriorParams = params.slice(params.indexOf(variable) + 1); - - // If any used parameters occur after this parameter, do not report. - return !posteriorParams.some(v => v.references.length > 0 || v.eslintUsed); - } - - /** - * Gets an array of variables without read references. - * @param {Scope} scope an eslint-scope Scope object. - * @param {Variable[]} unusedVars an array that saving result. - * @returns {Variable[]} unused variables of the scope and descendant scopes. - * @private - */ - function collectUnusedVariables(scope, unusedVars) { - const variables = scope.variables; - const childScopes = scope.childScopes; - let i, l; - - if (scope.type !== "global" || config.vars === "all") { - for (i = 0, l = variables.length; i < l; ++i) { - const variable = variables[i]; - - // skip a variable of class itself name in the class scope - if (scope.type === "class" && scope.block.id === variable.identifiers[0]) { - continue; - } - - // skip function expression names - if (scope.functionExpressionScope) { - continue; - } - - // skip variables marked with markVariableAsUsed() - if (!config.reportUsedIgnorePattern && variable.eslintUsed) { - continue; - } - - // skip implicit "arguments" variable - if (scope.type === "function" && variable.name === "arguments" && variable.identifiers.length === 0) { - continue; - } - - // explicit global variables don't have definitions. - const def = variable.defs[0]; - - if (def) { - const type = def.type; - const refUsedInArrayPatterns = variable.references.some(ref => ref.identifier.parent.type === "ArrayPattern"); - - // skip elements of array destructuring patterns - if ( - ( - def.name.parent.type === "ArrayPattern" || - refUsedInArrayPatterns - ) && - config.destructuredArrayIgnorePattern && - config.destructuredArrayIgnorePattern.test(def.name.name) - ) { - if (config.reportUsedIgnorePattern && isUsedVariable(variable)) { - context.report({ - node: def.name, - messageId: "usedIgnoredVar", - data: getUsedIgnoredMessageData(variable, "array-destructure") - }); - } - - continue; - } - - if (type === "ClassName") { - const hasStaticBlock = def.node.body.body.some(node => node.type === "StaticBlock"); - - if (config.ignoreClassWithStaticInitBlock && hasStaticBlock) { - continue; - } - } - - // skip catch variables - if (type === "CatchClause") { - if (config.caughtErrors === "none") { - continue; - } - - // skip ignored parameters - if (config.caughtErrorsIgnorePattern && config.caughtErrorsIgnorePattern.test(def.name.name)) { - if (config.reportUsedIgnorePattern && isUsedVariable(variable)) { - context.report({ - node: def.name, - messageId: "usedIgnoredVar", - data: getUsedIgnoredMessageData(variable, "catch-clause") - }); - } - - continue; - } - } else if (type === "Parameter") { - - // skip any setter argument - if ((def.node.parent.type === "Property" || def.node.parent.type === "MethodDefinition") && def.node.parent.kind === "set") { - continue; - } - - // if "args" option is "none", skip any parameter - if (config.args === "none") { - continue; - } - - // skip ignored parameters - if (config.argsIgnorePattern && config.argsIgnorePattern.test(def.name.name)) { - if (config.reportUsedIgnorePattern && isUsedVariable(variable)) { - context.report({ - node: def.name, - messageId: "usedIgnoredVar", - data: getUsedIgnoredMessageData(variable, "parameter") - }); - } - - continue; - } - - // if "args" option is "after-used", skip used variables - if (config.args === "after-used" && astUtils.isFunction(def.name.parent) && !isAfterLastUsedArg(variable)) { - continue; - } - } else { - - // skip ignored variables - if (config.varsIgnorePattern && config.varsIgnorePattern.test(def.name.name)) { - if (config.reportUsedIgnorePattern && isUsedVariable(variable)) { - context.report({ - node: def.name, - messageId: "usedIgnoredVar", - data: getUsedIgnoredMessageData(variable, "variable") - }); - } - - continue; - } - } - } - - if (!isUsedVariable(variable) && !isExported(variable) && !hasRestSpreadSibling(variable)) { - unusedVars.push(variable); - } - } - } - - for (i = 0, l = childScopes.length; i < l; ++i) { - collectUnusedVariables(childScopes[i], unusedVars); - } - - return unusedVars; - } - - /** - * fixes unused variables - * @param {Object} fixer fixer object - * @param {Object} unusedVar unused variable to fix - * @returns {Object} fixer object - */ - function handleFixes(fixer, unusedVar) { - const id = unusedVar.identifiers[0]; - const parent = id.parent; - const parentType = parent.type; - const tokenBefore = sourceCode.getTokenBefore(id); - const tokenAfter = sourceCode.getTokenAfter(id); - const isFunction = astUtils.isFunction; - const isLoop = astUtils.isLoop; - const allWriteReferences = unusedVar.references.filter(ref => ref.isWrite()); - - /** - * get range from token before of a given node - * @param {ASTNode} node node of identifier - * @param {number} skips number of token to skip - * @returns {number} start range of token before the identifier - */ - function getPreviousTokenStart(node, skips) { - return sourceCode.getTokenBefore(node, skips).range[0]; - } - - /** - * get range to token after of a given node - * @param {ASTNode} node node of identifier - * @param {number} skips number of token to skip - * @returns {number} end range of token after the identifier - */ - function getNextTokenEnd(node, skips) { - return sourceCode.getTokenAfter(node, skips).range[1]; - } - - /** - * get the value of token before of a given node - * @param {ASTNode} node node of identifier - * @returns {string} value of token before the identifier - */ - function getTokenBeforeValue(node) { - return sourceCode.getTokenBefore(node).value; - } - - /** - * get the value of token after of a given node - * @param {ASTNode} node node of identifier - * @returns {string} value of token after the identifier - */ - function getTokenAfterValue(node) { - return sourceCode.getTokenAfter(node).value; - } - - /** - * Check if an array has a single element with null as other element. - * @param {ASTNode} node ArrayPattern node - * @returns {boolean} true if array has single element with other null elements - */ - function hasSingleElement(node) { - return node.elements.filter(e => e !== null).length === 1; - } - - /** - * check whether import specifier has an import of particular type - * @param {ASTNode} node ImportDeclaration node - * @param {string} type type of import to check - * @returns {boolean} true if import specifier has import of specified type - */ - function hasImportOfCertainType(node, type) { - return node.specifiers.some(e => e.type === type); - } - - /** - * Check whether declaration is safe to remove or not - * @param {ASTNode} nextToken next token of unused variable - * @param {ASTNode} prevToken previous token of unused variable - * @returns {boolean} true if declaration is not safe to remove - */ - function isDeclarationNotSafeToRemove(nextToken, prevToken) { - return ( - (nextToken.type === "String") || - ( - prevToken && - !astUtils.isSemicolonToken(prevToken) && - !astUtils.isOpeningBraceToken(prevToken) - ) - ); - } - - /** - * give fixes for unused variables in function parameters - * @param {ASTNode} node node to check - * @returns {Object} fixer object - */ - function fixFunctionParameters(node) { - const parentNode = node.parent; - - if (isFunction(parentNode)) { - - // remove unused function parameter if there is only a single parameter - if (parentNode.params.length === 1) { - return fixer.removeRange(node.range); - } - - // remove first unused function parameter when there are multiple parameters - if (getTokenBeforeValue(node) === "(" && getTokenAfterValue(node) === ",") { - return fixer.removeRange([node.range[0], getNextTokenEnd(node)]); - } - - // remove unused function parameters except first one when there are multiple parameters - return fixer.removeRange([getPreviousTokenStart(node), node.range[1]]); - } - - return null; - } - - /** - * fix unused variable declarations and function parameters - * @param {ASTNode} node parent node to identifier - * @returns {Object} fixer object - */ - function fixVariables(node) { - const parentNode = node.parent; - - // remove unused declared variables such as var a = b; or var a = b, c; - if (parentNode.type === "VariableDeclarator") { - - // skip variable in for (const [ foo ] of bar); - if (isLoop(parentNode.parent.parent)) { - return null; - } - - /* - * remove unused declared variable with single declaration such as 'var a = b;' - * remove complete declaration when there is an unused variable in 'const { a } = foo;', same for arrays. - */ - if (parentNode.parent.declarations.length === 1) { - - // if next token is a string it could become a directive if node is removed -> no suggestion. - const nextToken = sourceCode.getTokenAfter(parentNode.parent); - - // if previous token exists and is not ";" or "{" not sure about ASI rules -> no suggestion. - const prevToken = sourceCode.getTokenBefore(parentNode.parent); - - if (nextToken && isDeclarationNotSafeToRemove(nextToken, prevToken)) { - return null; - } - - return fixer.removeRange(parentNode.parent.range); - } - - /* - * remove unused declared variable with multiple declaration except first one such as 'var a = b, c = d;' - * fix 'let bar = "hello", { a } = foo;' to 'let bar = "hello";' if 'a' is unused, same for arrays. - */ - if (getTokenBeforeValue(parentNode) === ",") { - return fixer.removeRange([getPreviousTokenStart(parentNode), parentNode.range[1]]); - } - - /* - * remove first unused declared variable when there are multiple declarations - * fix 'let { a } = foo, bar = "hello";' to 'let bar = "hello";' if 'a' is unused, same for arrays. - */ - return fixer.removeRange([parentNode.range[0], getNextTokenEnd(parentNode)]); - } - - // fixes [{a: {k}}], [{a: [k]}] - if (getTokenBeforeValue(node) === ":") { - if (parentNode.parent.type === "ObjectPattern") { - // eslint-disable-next-line no-use-before-define -- due to interdependency of functions - return fixObjectWithValueSeparator(node); - } - } - - // fix unused function parameters - return fixFunctionParameters(node); - } - - /** - * fix nested object like { a: { b } } - * @param {ASTNode} node parent node to check - * @returns {Object} fixer object - */ - function fixNestedObjectVariable(node) { - const parentNode = node.parent; - - // fix for { a: { b: { c: { d } } } } - if ( - parentNode.parent.parent.parent.type === "ObjectPattern" && - parentNode.parent.properties.length === 1 - ) { - return fixNestedObjectVariable(parentNode.parent); - } - - // fix for { a: { b } } - if (parentNode.parent.type === "ObjectPattern") { - - // fix for unused variables in dectructured object with single property in variable decalartion and function parameter - if (parentNode.parent.properties.length === 1) { - return fixVariables(parentNode.parent); - } - - // fix for first unused property when there are multiple properties such as '{ a: { b }, c }' - if (getTokenBeforeValue(parentNode) === "{") { - return fixer.removeRange( - [parentNode.range[0], getNextTokenEnd(parentNode)] - ); - } - - // fix for unused property except first one when there are multiple properties such as '{ k, a: { b } }' - return fixer.removeRange([getPreviousTokenStart(parentNode), parentNode.range[1]]); - } - - return null; - } - - /** - * fix unused variables in array and nested array - * @param {ASTNode} node parent node to check - * @returns {Object} fixer object - */ - function fixNestedArrayVariable(node) { - const parentNode = node.parent; - - // fix for nested arrays [[ a ]] - if (parentNode.parent.type === "ArrayPattern" && hasSingleElement(parentNode)) { - return fixNestedArrayVariable(parentNode); - } - - if (hasSingleElement(parentNode)) { - - // fixes { a: [{ b }] } or { a: [[ b ]] } - if (getTokenBeforeValue(parentNode) === ":") { - return fixVariables(parentNode); - } - - // fixes [a, ...[[ b ]]] or [a, ...[{ b }]] - if (parentNode.parent.type === "RestElement") { - // eslint-disable-next-line no-use-before-define -- due to interdependency of functions - return fixRestInPattern(parentNode.parent); - } - - // fix unused variables in destructured array in variable declaration or function parameter - return fixVariables(parentNode); - } - - // remove last unused array element - if ( - getTokenBeforeValue(node) === "," && - getTokenAfterValue(node) === "]" - ) { - return fixer.removeRange([getPreviousTokenStart(node), node.range[1]]); - } - - // remove unused array element - return fixer.removeRange(node.range); - } - - /** - * fix cases like {a: {k}} or {a: [k]} - * @param {ASTNode} node parent node to check - * @returns {Object} fixer object - */ - function fixObjectWithValueSeparator(node) { - const parentNode = node.parent.parent; - - // fix cases like [{a : { b }}] or [{a : [ b ]}] - if ( - parentNode.parent.type === "ArrayPattern" && - parentNode.properties.length === 1 - ) { - return fixNestedArrayVariable(parentNode); - } - - // fix cases like {a: {k}} or {a: [k]} - return fixNestedObjectVariable(node); - } - - /** - * fix ...[[a]] or ...[{a}] like patterns - * @param {ASTNode} node parent node to check - * @returns {Object} fixer object - */ - function fixRestInPattern(node) { - const parentNode = node.parent; - - // fix ...[[a]] or ...[{a}] in function parameters - if (isFunction(parentNode)) { - if (parentNode.params.length === 1) { - return fixer.removeRange(node.range); - } - - return fixer.removeRange([getPreviousTokenStart(node), node.range[1]]); - } - - // fix rest in nested array pattern like [[a, ...[b]]] - if (parentNode.type === "ArrayPattern") { - - // fix [[...[b]]] - if (hasSingleElement(parentNode)) { - if (parentNode.parent.type === "ArrayPattern") { - return fixNestedArrayVariable(parentNode); - } - - // fix 'const [...[b]] = foo; and function foo([...[b]]) {} - return fixVariables(parentNode); - } - - // fix [[a, ...[b]]] - return fixer.removeRange([getPreviousTokenStart(node), node.range[1]]); - } - - return null; - } - - // skip fix when variable has references that would be left behind - if (allWriteReferences.some(ref => ref.identifier.range[0] !== id.range[0])) { - return null; - } - - // remove declared variables such as var a; or var a, b; - if (parentType === "VariableDeclarator") { - if (parent.parent.declarations.length === 1) { - - // prevent fix of variable in forOf and forIn loops. - if (isLoop(parent.parent.parent) && parent.parent.parent.body !== parent.parent) { - return null; - } - - // removes only variable not semicolon in 'if (foo()) var bar;' or in 'loops' or in 'with' statement. - if ( - parent.parent.parent.type === "IfStatement" || - isLoop(parent.parent.parent) || - (parent.parent.parent.type === "WithStatement" && parent.parent.parent.body === parent.parent) - ) { - return fixer.replaceText(parent.parent, ";"); - } - - // if next token is a string it could become a directive if node is removed -> no suggestion. - const nextToken = sourceCode.getTokenAfter(parent.parent); - - // if previous token exists and is not ";" or "{" not sure about ASI rules -> no suggestion. - const prevToken = sourceCode.getTokenBefore(parent.parent); - - if (nextToken && isDeclarationNotSafeToRemove(nextToken, prevToken)) { - return null; - } - - // remove unused declared variable with single declaration like 'var a = b;' - return fixer.removeRange(parent.parent.range); - } - - // remove unused declared variable with multiple declaration except first one like 'var a = b, c = d;' - if (tokenBefore.value === ",") { - return fixer.removeRange([tokenBefore.range[0], parent.range[1]]); - } - - // remove first unused declared variable when there are multiple declarations - return fixer.removeRange([parent.range[0], getNextTokenEnd(parent)]); - } - - // remove variables in object patterns - if (parent.parent.type === "ObjectPattern") { - if (parent.parent.properties.length === 1) { - - // fix [a, ...{b}] - if (parent.parent.parent.type === "RestElement") { - return fixRestInPattern(parent.parent.parent); - } - - // fix [{ a }] - if (parent.parent.parent.type === "ArrayPattern") { - return fixNestedArrayVariable(parent.parent); - } - - /* - * var {a} = foo; - * function a({a}) {} - * fix const { a: { b } } = foo; - */ - return fixVariables(parent.parent); - } - - // fix const { a:b } = foo; - if (tokenBefore.value === ":") { - - // remove first unused variable in const { a:b } = foo; - if (getTokenBeforeValue(parent) === "{" && getTokenAfterValue(parent) === ",") { - return fixer.removeRange([parent.range[0], getNextTokenEnd(parent)]); - } - - // remove unused variables in const { a: b, c: d } = foo; except first one - return fixer.removeRange([getPreviousTokenStart(parent), id.range[1]]); - } - } - - // remove unused variables inside an array - if (parentType === "ArrayPattern") { - if (hasSingleElement(parent)) { - - // fix [a, ...[b]] - if (parent.parent.type === "RestElement") { - return fixRestInPattern(parent.parent); - } - - // fix [ [a] ] - if (parent.parent.type === "ArrayPattern") { - return fixNestedArrayVariable(parent); - } - - /* - * fix var [a] = foo; - * fix function foo([a]) {} - * fix const { a: [b] } = foo; - */ - return fixVariables(parent); - } - - // if "a" is unused in [a, b ,c] fixes to [, b, c] - if (tokenBefore.value === "," && tokenAfter.value === ",") { - return fixer.removeRange(id.range); - } - } - - // remove unused rest elements - if (parentType === "RestElement") { - - // fix [a, ...rest] - if (parent.parent.type === "ArrayPattern") { - if (hasSingleElement(parent.parent)) { - - // fix [[...rest]] when there is only rest element - if ( - parent.parent.parent.type === "ArrayPattern" - ) { - return fixNestedArrayVariable(parent.parent); - } - - // fix 'const [...rest] = foo;' and 'function foo([...rest]) {}' - return fixVariables(parent.parent); - } - - // fix [a, ...rest] - return fixer.removeRange([getPreviousTokenStart(id, 1), id.range[1]]); - } - - // fix { a, ...rest} - if (parent.parent.type === "ObjectPattern") { - - // fix 'const {...rest} = foo;' and 'function foo({...rest}) {}' - if (parent.parent.properties.length === 1) { - return fixVariables(parent.parent); - } - - // fix { a, ...rest} when there are multiple properties - return fixer.removeRange([getPreviousTokenStart(id, 1), id.range[1]]); - } - - // fix function foo(...rest) {} - if (isFunction(parent.parent)) { - - // remove unused rest in function parameter if there is only single parameter - if (parent.parent.params.length === 1) { - return fixer.removeRange(parent.range); - } - - // remove unused rest in function parameter if there multiple parameter - return fixer.removeRange([getPreviousTokenStart(parent), parent.range[1]]); - } - } - - if (parentType === "AssignmentPattern") { - - // fix [a = aDefault] - if (parent.parent.type === "ArrayPattern") { - return fixNestedArrayVariable(parent); - } - - // fix {a = aDefault} - if (parent.parent.parent.type === "ObjectPattern") { - if (parent.parent.parent.properties.length === 1) { - - // fixes [{a = aDefault}] - if (parent.parent.parent.parent.type === "ArrayPattern") { - return fixNestedArrayVariable(parent.parent.parent); - } - - // fix 'const {a = aDefault} = foo;' and 'function foo({a = aDefault}) {}' - return fixVariables(parent.parent.parent); - } - - // fix unused 'a' in {a = aDefault} if it is the first property - if ( - getTokenBeforeValue(parent.parent) === "{" && - getTokenAfterValue(parent.parent) === "," - ) { - return fixer.removeRange([parent.parent.range[0], getNextTokenEnd(parent.parent)]); - } - - // fix unused 'b' in {a, b = aDefault} if it is not the first property - return fixer.removeRange([getPreviousTokenStart(parent.parent), parent.parent.range[1]]); - } - - // fix unused assignment patterns in function parameters - if (isFunction(parent.parent)) { - return fixFunctionParameters(parent); - } - } - - // remove unused functions - if (parentType === "FunctionDeclaration" && parent.id === id) { - return fixer.removeRange(parent.range); - } - - // remove unused default import - if (parentType === "ImportDefaultSpecifier") { - - // remove unused default import when there are not other imports - if ( - !hasImportOfCertainType(parent.parent, "ImportSpecifier") && - !hasImportOfCertainType(parent.parent, "ImportNamespaceSpecifier") - ) { - return fixer.removeRange([parent.range[0], parent.parent.source.range[0]]); - } - - // remove unused default import when there are other imports also - return fixer.removeRange([id.range[0], tokenAfter.range[1]]); - } - - if (parentType === "ImportSpecifier") { - - // remove unused imports when there is a single import - if (parent.parent.specifiers.filter(e => e.type === "ImportSpecifier").length === 1) { - - // remove unused import when there is no default import - if (!hasImportOfCertainType(parent.parent, "ImportDefaultSpecifier")) { - return fixer.removeRange(parent.parent.range); - } - - // fixes "import foo from 'module';" to "import 'module';" - return fixer.removeRange([getPreviousTokenStart(parent, 1), tokenAfter.range[1]]); - } - - if (getTokenBeforeValue(parent) === "{") { - return fixer.removeRange([parent.range[0], getNextTokenEnd(parent)]); - } - - return fixer.removeRange([getPreviousTokenStart(parent), parent.range[1]]); - } - - if (parentType === "ImportNamespaceSpecifier") { - if (hasImportOfCertainType(parent.parent, "ImportDefaultSpecifier")) { - return fixer.removeRange([getPreviousTokenStart(parent), parent.range[1]]); - } - - // fixes "import * as foo from 'module';" to "import 'module';" - return fixer.removeRange([parent.range[0], parent.parent.source.range[0]]); - } - - // skip error in catch(error) variable - if (parentType === "CatchClause") { - return null; - } - - // remove unused declared classes - if (parentType === "ClassDeclaration") { - return fixer.removeRange(parent.range); - } - - // remove unused varible that is in a sequence [a,b] fixes to [a] - if (tokenBefore?.value === ",") { - return fixer.removeRange([tokenBefore.range[0], id.range[1]]); - } - - // remove unused varible that is in a sequence inside function arguments and object pattern - if (tokenAfter.value === ",") { - - // fix function foo(a, b) {} - if (tokenBefore.value === "(") { - return fixer.removeRange([id.range[0], tokenAfter.range[1]]); - } - - // fix const {a, b} = foo; - if (tokenBefore.value === "{") { - return fixer.removeRange([id.range[0], tokenAfter.range[1]]); - } - } - - if (parentType === "ArrowFunctionExpression" && parent.params.length === 1 && tokenAfter?.value !== ")") { - return fixer.replaceText(id, "()"); - } - - return fixer.removeRange(id.range); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - "Program:exit"(programNode) { - const unusedVars = collectUnusedVariables(sourceCode.getScope(programNode), []); - - for (let i = 0, l = unusedVars.length; i < l; ++i) { - const unusedVar = unusedVars[i]; - - // Report the first declaration. - if (unusedVar.defs.length > 0) { - - // report last write reference, https://github.com/eslint/eslint/issues/14324 - const writeReferences = unusedVar.references.filter(ref => ref.isWrite() && ref.from.variableScope === unusedVar.scope.variableScope); - - let referenceToReport; - - if (writeReferences.length > 0) { - referenceToReport = writeReferences.at(-1); - } - - context.report({ - node: referenceToReport ? referenceToReport.identifier : unusedVar.identifiers[0], - messageId: "unusedVar", - data: unusedVar.references.some(ref => ref.isWrite()) - ? getAssignedMessageData(unusedVar) - : getDefinedMessageData(unusedVar), - suggest: [ - { - messageId: "removeVar", - data: { - varName: unusedVar.name - }, - fix(fixer) { - return handleFixes(fixer, unusedVar); - } - } - ] - }); - - // If there are no regular declaration, report the first `/*globals*/` comment directive. - } else if (unusedVar.eslintExplicitGlobalComments) { - const directiveComment = unusedVar.eslintExplicitGlobalComments[0]; - - context.report({ - node: programNode, - loc: astUtils.getNameLocationInGlobalDirectiveComment(sourceCode, directiveComment, unusedVar.name), - messageId: "unusedVar", - data: getDefinedMessageData(unusedVar) - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-use-before-define.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-use-before-define.js deleted file mode 100644 index 59510d8f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-use-before-define.js +++ /dev/null @@ -1,350 +0,0 @@ -/** - * @fileoverview Rule to flag use of variables before they are defined - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const SENTINEL_TYPE = /^(?:(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|CatchClause|ImportDeclaration|ExportNamedDeclaration)$/u; -const FOR_IN_OF_TYPE = /^For(?:In|Of)Statement$/u; - -/** - * Parses a given value as options. - * @param {any} options A value to parse. - * @returns {Object} The parsed options. - */ -function parseOptions(options) { - if (typeof options === "object" && options !== null) { - return options; - } - - const functions = - typeof options === "string" - ? options !== "nofunc" - : true; - - return { functions, classes: true, variables: true, allowNamedExports: false }; -} - -/** - * Checks whether or not a given location is inside of the range of a given node. - * @param {ASTNode} node An node to check. - * @param {number} location A location to check. - * @returns {boolean} `true` if the location is inside of the range of the node. - */ -function isInRange(node, location) { - return node && node.range[0] <= location && location <= node.range[1]; -} - -/** - * Checks whether or not a given location is inside of the range of a class static initializer. - * Static initializers are static blocks and initializers of static fields. - * @param {ASTNode} node `ClassBody` node to check static initializers. - * @param {number} location A location to check. - * @returns {boolean} `true` if the location is inside of a class static initializer. - */ -function isInClassStaticInitializerRange(node, location) { - return node.body.some(classMember => ( - ( - classMember.type === "StaticBlock" && - isInRange(classMember, location) - ) || - ( - classMember.type === "PropertyDefinition" && - classMember.static && - classMember.value && - isInRange(classMember.value, location) - ) - )); -} - -/** - * Checks whether a given scope is the scope of a class static initializer. - * Static initializers are static blocks and initializers of static fields. - * @param {eslint-scope.Scope} scope A scope to check. - * @returns {boolean} `true` if the scope is a class static initializer scope. - */ -function isClassStaticInitializerScope(scope) { - if (scope.type === "class-static-block") { - return true; - } - - if (scope.type === "class-field-initializer") { - - // `scope.block` is PropertyDefinition#value node - const propertyDefinition = scope.block.parent; - - return propertyDefinition.static; - } - - return false; -} - -/** - * Checks whether a given reference is evaluated in an execution context - * that isn't the one where the variable it refers to is defined. - * Execution contexts are: - * - top-level - * - functions - * - class field initializers (implicit functions) - * - class static blocks (implicit functions) - * Static class field initializers and class static blocks are automatically run during the class definition evaluation, - * and therefore we'll consider them as a part of the parent execution context. - * Example: - * - * const x = 1; - * - * x; // returns `false` - * () => x; // returns `true` - * - * class C { - * field = x; // returns `true` - * static field = x; // returns `false` - * - * method() { - * x; // returns `true` - * } - * - * static method() { - * x; // returns `true` - * } - * - * static { - * x; // returns `false` - * } - * } - * @param {eslint-scope.Reference} reference A reference to check. - * @returns {boolean} `true` if the reference is from a separate execution context. - */ -function isFromSeparateExecutionContext(reference) { - const variable = reference.resolved; - let scope = reference.from; - - // Scope#variableScope represents execution context - while (variable.scope.variableScope !== scope.variableScope) { - if (isClassStaticInitializerScope(scope.variableScope)) { - scope = scope.variableScope.upper; - } else { - return true; - } - } - - return false; -} - -/** - * Checks whether or not a given reference is evaluated during the initialization of its variable. - * - * This returns `true` in the following cases: - * - * var a = a - * var [a = a] = list - * var {a = a} = obj - * for (var a in a) {} - * for (var a of a) {} - * var C = class { [C]; }; - * var C = class { static foo = C; }; - * var C = class { static { foo = C; } }; - * class C extends C {} - * class C extends (class { static foo = C; }) {} - * class C { [C]; } - * @param {Reference} reference A reference to check. - * @returns {boolean} `true` if the reference is evaluated during the initialization. - */ -function isEvaluatedDuringInitialization(reference) { - if (isFromSeparateExecutionContext(reference)) { - - /* - * Even if the reference appears in the initializer, it isn't evaluated during the initialization. - * For example, `const x = () => x;` is valid. - */ - return false; - } - - const location = reference.identifier.range[1]; - const definition = reference.resolved.defs[0]; - - if (definition.type === "ClassName") { - - // `ClassDeclaration` or `ClassExpression` - const classDefinition = definition.node; - - return ( - isInRange(classDefinition, location) && - - /* - * Class binding is initialized before running static initializers. - * For example, `class C { static foo = C; static { bar = C; } }` is valid. - */ - !isInClassStaticInitializerRange(classDefinition.body, location) - ); - } - - let node = definition.name.parent; - - while (node) { - if (node.type === "VariableDeclarator") { - if (isInRange(node.init, location)) { - return true; - } - if (FOR_IN_OF_TYPE.test(node.parent.parent.type) && - isInRange(node.parent.parent.right, location) - ) { - return true; - } - break; - } else if (node.type === "AssignmentPattern") { - if (isInRange(node.right, location)) { - return true; - } - } else if (SENTINEL_TYPE.test(node.type)) { - break; - } - - node = node.parent; - } - - return false; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow the use of variables before they are defined", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-use-before-define" - }, - - schema: [ - { - oneOf: [ - { - enum: ["nofunc"] - }, - { - type: "object", - properties: { - functions: { type: "boolean" }, - classes: { type: "boolean" }, - variables: { type: "boolean" }, - allowNamedExports: { type: "boolean" } - }, - additionalProperties: false - } - ] - } - ], - - defaultOptions: [{ - classes: true, - functions: true, - variables: true, - allowNamedExports: false - }], - - messages: { - usedBeforeDefined: "'{{name}}' was used before it was defined." - } - }, - - create(context) { - const options = parseOptions(context.options[0]); - const sourceCode = context.sourceCode; - - /** - * Determines whether a given reference should be checked. - * - * Returns `false` if the reference is: - * - initialization's (e.g., `let a = 1`). - * - referring to an undefined variable (i.e., if it's an unresolved reference). - * - referring to a variable that is defined, but not in the given source code - * (e.g., global environment variable or `arguments` in functions). - * - allowed by options. - * @param {eslint-scope.Reference} reference The reference - * @returns {boolean} `true` if the reference should be checked - */ - function shouldCheck(reference) { - if (reference.init) { - return false; - } - - const { identifier } = reference; - - if ( - options.allowNamedExports && - identifier.parent.type === "ExportSpecifier" && - identifier.parent.local === identifier - ) { - return false; - } - - const variable = reference.resolved; - - if (!variable || variable.defs.length === 0) { - return false; - } - - const definitionType = variable.defs[0].type; - - if (!options.functions && definitionType === "FunctionName") { - return false; - } - - if ( - ( - !options.variables && definitionType === "Variable" || - !options.classes && definitionType === "ClassName" - ) && - - // don't skip checking the reference if it's in the same execution context, because of TDZ - isFromSeparateExecutionContext(reference) - ) { - return false; - } - - return true; - } - - /** - * Finds and validates all references in a given scope and its child scopes. - * @param {eslint-scope.Scope} scope The scope object. - * @returns {void} - */ - function checkReferencesInScope(scope) { - scope.references.filter(shouldCheck).forEach(reference => { - const variable = reference.resolved; - const definitionIdentifier = variable.defs[0].name; - - if ( - reference.identifier.range[1] < definitionIdentifier.range[1] || - isEvaluatedDuringInitialization(reference) - ) { - context.report({ - node: reference.identifier, - messageId: "usedBeforeDefined", - data: reference.identifier - }); - } - }); - - scope.childScopes.forEach(checkReferencesInScope); - } - - return { - Program(node) { - checkReferencesInScope(sourceCode.getScope(node)); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-assignment.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-assignment.js deleted file mode 100644 index 90cc1c51..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-assignment.js +++ /dev/null @@ -1,575 +0,0 @@ -/** - * @fileoverview A rule to disallow unnecessary assignments`. - * @author Yosuke Ota - */ - -"use strict"; - -const { findVariable } = require("@eslint-community/eslint-utils"); - -//------------------------------------------------------------------------------ -// Types -//------------------------------------------------------------------------------ - -/** @typedef {import("estree").Node} ASTNode */ -/** @typedef {import("estree").Pattern} Pattern */ -/** @typedef {import("estree").Identifier} Identifier */ -/** @typedef {import("estree").VariableDeclarator} VariableDeclarator */ -/** @typedef {import("estree").AssignmentExpression} AssignmentExpression */ -/** @typedef {import("estree").UpdateExpression} UpdateExpression */ -/** @typedef {import("estree").Expression} Expression */ -/** @typedef {import("eslint-scope").Scope} Scope */ -/** @typedef {import("eslint-scope").Variable} Variable */ -/** @typedef {import("../linter/code-path-analysis/code-path")} CodePath */ -/** @typedef {import("../linter/code-path-analysis/code-path-segment")} CodePathSegment */ - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Extract identifier from the given pattern node used on the left-hand side of the assignment. - * @param {Pattern} pattern The pattern node to extract identifier - * @returns {Iterable} The extracted identifier - */ -function *extractIdentifiersFromPattern(pattern) { - switch (pattern.type) { - case "Identifier": - yield pattern; - return; - case "ObjectPattern": - for (const property of pattern.properties) { - yield* extractIdentifiersFromPattern(property.type === "Property" ? property.value : property); - } - return; - case "ArrayPattern": - for (const element of pattern.elements) { - if (!element) { - continue; - } - yield* extractIdentifiersFromPattern(element); - } - return; - case "RestElement": - yield* extractIdentifiersFromPattern(pattern.argument); - return; - case "AssignmentPattern": - yield* extractIdentifiersFromPattern(pattern.left); - - // no default - } -} - - -/** - * Checks whether the given identifier node is evaluated after the assignment identifier. - * @param {AssignmentInfo} assignment The assignment info. - * @param {Identifier} identifier The identifier to check. - * @returns {boolean} `true` if the given identifier node is evaluated after the assignment identifier. - */ -function isIdentifierEvaluatedAfterAssignment(assignment, identifier) { - if (identifier.range[0] < assignment.identifier.range[1]) { - return false; - } - if ( - assignment.expression && - assignment.expression.range[0] <= identifier.range[0] && - identifier.range[1] <= assignment.expression.range[1] - ) { - - /* - * The identifier node is in an expression that is evaluated before the assignment. - * e.g. x = id; - * ^^ identifier to check - * ^ assignment identifier - */ - return false; - } - - /* - * e.g. - * x = 42; id; - * ^^ identifier to check - * ^ assignment identifier - * let { x, y = id } = obj; - * ^^ identifier to check - * ^ assignment identifier - */ - return true; -} - -/** - * Checks whether the given identifier node is used between the assigned identifier and the equal sign. - * - * e.g. let { x, y = x } = obj; - * ^ identifier to check - * ^ assigned identifier - * @param {AssignmentInfo} assignment The assignment info. - * @param {Identifier} identifier The identifier to check. - * @returns {boolean} `true` if the given identifier node is used between the assigned identifier and the equal sign. - */ -function isIdentifierUsedBetweenAssignedAndEqualSign(assignment, identifier) { - if (!assignment.expression) { - return false; - } - return ( - assignment.identifier.range[1] <= identifier.range[0] && - identifier.range[1] <= assignment.expression.range[0] - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow variable assignments when the value is not used", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-useless-assignment" - }, - - schema: [], - - messages: { - unnecessaryAssignment: "This assigned value is not used in subsequent statements." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * @typedef {Object} ScopeStack - * @property {CodePath} codePath The code path of this scope stack. - * @property {Scope} scope The scope of this scope stack. - * @property {ScopeStack} upper The upper scope stack. - * @property {Record} segments The map of ScopeStackSegmentInfo. - * @property {Set} currentSegments The current CodePathSegments. - * @property {Map} assignments The map of list of AssignmentInfo for each variable. - */ - /** - * @typedef {Object} ScopeStackSegmentInfo - * @property {CodePathSegment} segment The code path segment. - * @property {Identifier|null} first The first identifier that appears within the segment. - * @property {Identifier|null} last The last identifier that appears within the segment. - * `first` and `last` are used to determine whether an identifier exists within the segment position range. - * Since it is used as a range of segments, we should originally hold all nodes, not just identifiers, - * but since the only nodes to be judged are identifiers, it is sufficient to have a range of identifiers. - */ - /** - * @typedef {Object} AssignmentInfo - * @property {Variable} variable The variable that is assigned. - * @property {Identifier} identifier The identifier that is assigned. - * @property {VariableDeclarator|AssignmentExpression|UpdateExpression} node The node where the variable was updated. - * @property {Expression|null} expression The expression that is evaluated before the assignment. - * @property {CodePathSegment[]} segments The code path segments where the assignment was made. - */ - - /** @type {ScopeStack} */ - let scopeStack = null; - - /** @type {Set} */ - const codePathStartScopes = new Set(); - - /** - * Gets the scope of code path start from given scope - * @param {Scope} scope The initial scope - * @returns {Scope} The scope of code path start - * @throws {Error} Unexpected error - */ - function getCodePathStartScope(scope) { - let target = scope; - - while (target) { - if (codePathStartScopes.has(target)) { - return target; - } - target = target.upper; - } - - // Should be unreachable - return null; - } - - /** - * Verify the given scope stack. - * @param {ScopeStack} target The scope stack to verify. - * @returns {void} - */ - function verify(target) { - - /** - * Checks whether the given identifier is used in the segment. - * @param {CodePathSegment} segment The code path segment. - * @param {Identifier} identifier The identifier to check. - * @returns {boolean} `true` if the identifier is used in the segment. - */ - function isIdentifierUsedInSegment(segment, identifier) { - const segmentInfo = target.segments[segment.id]; - - return ( - segmentInfo.first && - segmentInfo.last && - segmentInfo.first.range[0] <= identifier.range[0] && - identifier.range[1] <= segmentInfo.last.range[1] - ); - } - - /** - * Verifies whether the given assignment info is an used assignment. - * Report if it is an unused assignment. - * @param {AssignmentInfo} targetAssignment The assignment info to verify. - * @param {AssignmentInfo[]} allAssignments The list of all assignment info for variables. - * @returns {void} - */ - function verifyAssignmentIsUsed(targetAssignment, allAssignments) { - - /** - * @typedef {Object} SubsequentSegmentData - * @property {CodePathSegment} segment The code path segment - * @property {AssignmentInfo} [assignment] The first occurrence of the assignment within the segment. - * There is no need to check if the variable is used after this assignment, - * as the value it was assigned will be used. - */ - - /** - * Information used in `getSubsequentSegments()`. - * To avoid unnecessary iterations, cache information that has already been iterated over, - * and if additional iterations are needed, start iterating from the retained position. - */ - const subsequentSegmentData = { - - /** - * Cache of subsequent segment information list that have already been iterated. - * @type {SubsequentSegmentData[]} - */ - results: [], - - /** - * Subsequent segments that have already been iterated on. Used to avoid infinite loops. - * @type {Set} - */ - subsequentSegments: new Set(), - - /** - * Unexplored code path segment. - * If additional iterations are needed, consume this information and iterate. - * @type {CodePathSegment[]} - */ - queueSegments: targetAssignment.segments.flatMap(segment => segment.nextSegments) - }; - - - /** - * Gets the subsequent segments from the segment of - * the assignment currently being validated (targetAssignment). - * @returns {Iterable} the subsequent segments - */ - function *getSubsequentSegments() { - yield* subsequentSegmentData.results; - - while (subsequentSegmentData.queueSegments.length > 0) { - const nextSegment = subsequentSegmentData.queueSegments.shift(); - - if (subsequentSegmentData.subsequentSegments.has(nextSegment)) { - continue; - } - subsequentSegmentData.subsequentSegments.add(nextSegment); - - const assignmentInSegment = allAssignments - .find(otherAssignment => ( - otherAssignment.segments.includes(nextSegment) && - !isIdentifierUsedBetweenAssignedAndEqualSign(otherAssignment, targetAssignment.identifier) - )); - - if (!assignmentInSegment) { - - /* - * Stores the next segment to explore. - * If `assignmentInSegment` exists, - * we are guarding it because we don't need to explore the next segment. - */ - subsequentSegmentData.queueSegments.push(...nextSegment.nextSegments); - } - - /** @type {SubsequentSegmentData} */ - const result = { - segment: nextSegment, - assignment: assignmentInSegment - }; - - subsequentSegmentData.results.push(result); - yield result; - } - } - - - if (targetAssignment.variable.references.some(ref => ref.identifier.type !== "Identifier")) { - - /** - * Skip checking for a variable that has at least one non-identifier reference. - * It's generated by plugins and cannot be handled reliably in the core rule. - */ - return; - } - - const readReferences = targetAssignment.variable.references.filter(reference => reference.isRead()); - - if (!readReferences.length) { - - /* - * It is not just an unnecessary assignment, but an unnecessary (unused) variable - * and thus should not be reported by this rule because it is reported by `no-unused-vars`. - */ - return; - } - - /** - * Other assignment on the current segment and after current assignment. - */ - const otherAssignmentAfterTargetAssignment = allAssignments - .find(assignment => { - if ( - assignment === targetAssignment || - assignment.segments.length && assignment.segments.every(segment => !targetAssignment.segments.includes(segment)) - ) { - return false; - } - if (isIdentifierEvaluatedAfterAssignment(targetAssignment, assignment.identifier)) { - return true; - } - if ( - assignment.expression && - assignment.expression.range[0] <= targetAssignment.identifier.range[0] && - targetAssignment.identifier.range[1] <= assignment.expression.range[1] - ) { - - /* - * The target assignment is in an expression that is evaluated before the assignment. - * e.g. x=(x=1); - * ^^^ targetAssignment - * ^^^^^^^ assignment - */ - return true; - } - - return false; - }); - - for (const reference of readReferences) { - - /* - * If the scope of the reference is outside the current code path scope, - * we cannot track whether this assignment is not used. - * For example, it can also be called asynchronously. - */ - if (target.scope !== getCodePathStartScope(reference.from)) { - return; - } - - // Checks if it is used in the same segment as the target assignment. - if ( - isIdentifierEvaluatedAfterAssignment(targetAssignment, reference.identifier) && - ( - isIdentifierUsedBetweenAssignedAndEqualSign(targetAssignment, reference.identifier) || - targetAssignment.segments.some(segment => isIdentifierUsedInSegment(segment, reference.identifier)) - ) - ) { - - if ( - otherAssignmentAfterTargetAssignment && - isIdentifierEvaluatedAfterAssignment(otherAssignmentAfterTargetAssignment, reference.identifier) - ) { - - // There was another assignment before the reference. Therefore, it has not been used yet. - continue; - } - - // Uses in statements after the written identifier. - return; - } - - if (otherAssignmentAfterTargetAssignment) { - - /* - * The assignment was followed by another assignment in the same segment. - * Therefore, there is no need to check the next segment. - */ - continue; - } - - // Check subsequent segments. - for (const subsequentSegment of getSubsequentSegments()) { - if (isIdentifierUsedInSegment(subsequentSegment.segment, reference.identifier)) { - if ( - subsequentSegment.assignment && - isIdentifierEvaluatedAfterAssignment(subsequentSegment.assignment, reference.identifier) - ) { - - // There was another assignment before the reference. Therefore, it has not been used yet. - continue; - } - - // It is used - return; - } - } - } - context.report({ - node: targetAssignment.identifier, - messageId: "unnecessaryAssignment" - }); - } - - // Verify that each assignment in the code path is used. - for (const assignments of target.assignments.values()) { - assignments.sort((a, b) => a.identifier.range[0] - b.identifier.range[0]); - for (const assignment of assignments) { - verifyAssignmentIsUsed(assignment, assignments); - } - } - } - - return { - onCodePathStart(codePath, node) { - const scope = sourceCode.getScope(node); - - scopeStack = { - upper: scopeStack, - codePath, - scope, - segments: Object.create(null), - currentSegments: new Set(), - assignments: new Map() - }; - codePathStartScopes.add(scopeStack.scope); - }, - onCodePathEnd() { - verify(scopeStack); - - scopeStack = scopeStack.upper; - }, - onCodePathSegmentStart(segment) { - const segmentInfo = { segment, first: null, last: null }; - - scopeStack.segments[segment.id] = segmentInfo; - scopeStack.currentSegments.add(segment); - }, - onCodePathSegmentEnd(segment) { - scopeStack.currentSegments.delete(segment); - }, - Identifier(node) { - for (const segment of scopeStack.currentSegments) { - const segmentInfo = scopeStack.segments[segment.id]; - - if (!segmentInfo.first) { - segmentInfo.first = node; - } - segmentInfo.last = node; - } - }, - ":matches(VariableDeclarator[init!=null], AssignmentExpression, UpdateExpression):exit"(node) { - if (scopeStack.currentSegments.size === 0) { - - // Ignore unreachable segments - return; - } - - const assignments = scopeStack.assignments; - - let pattern; - let expression = null; - - if (node.type === "VariableDeclarator") { - pattern = node.id; - expression = node.init; - } else if (node.type === "AssignmentExpression") { - pattern = node.left; - expression = node.right; - } else { // UpdateExpression - pattern = node.argument; - } - - for (const identifier of extractIdentifiersFromPattern(pattern)) { - const scope = sourceCode.getScope(identifier); - - /** @type {Variable} */ - const variable = findVariable(scope, identifier); - - if (!variable) { - continue; - } - - // We don't know where global variables are used. - if (variable.scope.type === "global" && variable.defs.length === 0) { - continue; - } - - /* - * If the scope of the variable is outside the current code path scope, - * we cannot track whether this assignment is not used. - */ - if (scopeStack.scope !== getCodePathStartScope(variable.scope)) { - continue; - } - - // Variables marked by `markVariableAsUsed()` or - // exported by "exported" block comment. - if (variable.eslintUsed) { - continue; - } - - // Variables exported by ESM export syntax - if (variable.scope.type === "module") { - if ( - variable.defs - .some(def => ( - (def.type === "Variable" && def.parent.parent.type === "ExportNamedDeclaration") || - ( - def.type === "FunctionName" && - ( - def.node.parent.type === "ExportNamedDeclaration" || - def.node.parent.type === "ExportDefaultDeclaration" - ) - ) || - ( - def.type === "ClassName" && - ( - def.node.parent.type === "ExportNamedDeclaration" || - def.node.parent.type === "ExportDefaultDeclaration" - ) - ) - )) - ) { - continue; - } - if (variable.references.some(reference => reference.identifier.parent.type === "ExportSpecifier")) { - - // It have `export { ... }` reference. - continue; - } - } - - let list = assignments.get(variable); - - if (!list) { - list = []; - assignments.set(variable, list); - } - list.push({ - variable, - identifier, - node, - expression, - segments: [...scopeStack.currentSegments] - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-backreference.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-backreference.js deleted file mode 100644 index d41a8988..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-backreference.js +++ /dev/null @@ -1,244 +0,0 @@ -/** - * @fileoverview Rule to disallow useless backreferences in regular expressions - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { CALL, CONSTRUCT, ReferenceTracker, getStringIfConstant } = require("@eslint-community/eslint-utils"); -const { RegExpParser, visitRegExpAST } = require("@eslint-community/regexpp"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const parser = new RegExpParser(); - -/** - * Finds the path from the given `regexpp` AST node to the root node. - * @param {regexpp.Node} node Node. - * @returns {regexpp.Node[]} Array that starts with the given node and ends with the root node. - */ -function getPathToRoot(node) { - const path = []; - let current = node; - - do { - path.push(current); - current = current.parent; - } while (current); - - return path; -} - -/** - * Determines whether the given `regexpp` AST node is a lookaround node. - * @param {regexpp.Node} node Node. - * @returns {boolean} `true` if it is a lookaround node. - */ -function isLookaround(node) { - return node.type === "Assertion" && - (node.kind === "lookahead" || node.kind === "lookbehind"); -} - -/** - * Determines whether the given `regexpp` AST node is a negative lookaround node. - * @param {regexpp.Node} node Node. - * @returns {boolean} `true` if it is a negative lookaround node. - */ -function isNegativeLookaround(node) { - return isLookaround(node) && node.negate; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - docs: { - description: "Disallow useless backreferences in regular expressions", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-useless-backreference" - }, - - schema: [], - - messages: { - nested: "Backreference '{{ bref }}' will be ignored. It references group '{{ group }}'{{ otherGroups }} from within that group.", - forward: "Backreference '{{ bref }}' will be ignored. It references group '{{ group }}'{{ otherGroups }} which appears later in the pattern.", - backward: "Backreference '{{ bref }}' will be ignored. It references group '{{ group }}'{{ otherGroups }} which appears before in the same lookbehind.", - disjunctive: "Backreference '{{ bref }}' will be ignored. It references group '{{ group }}'{{ otherGroups }} which is in another alternative.", - intoNegativeLookaround: "Backreference '{{ bref }}' will be ignored. It references group '{{ group }}'{{ otherGroups }} which is in a negative lookaround." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Checks and reports useless backreferences in the given regular expression. - * @param {ASTNode} node Node that represents regular expression. A regex literal or RegExp constructor call. - * @param {string} pattern Regular expression pattern. - * @param {string} flags Regular expression flags. - * @returns {void} - */ - function checkRegex(node, pattern, flags) { - let regExpAST; - - try { - regExpAST = parser.parsePattern(pattern, 0, pattern.length, { unicode: flags.includes("u"), unicodeSets: flags.includes("v") }); - } catch { - - // Ignore regular expressions with syntax errors - return; - } - - visitRegExpAST(regExpAST, { - onBackreferenceEnter(bref) { - const groups = [bref.resolved].flat(), - brefPath = getPathToRoot(bref); - - const problems = groups.map(group => { - const groupPath = getPathToRoot(group); - - if (brefPath.includes(group)) { - - // group is bref's ancestor => bref is nested ('nested reference') => group hasn't matched yet when bref starts to match. - return { - messageId: "nested", - group - }; - } - - - // Start from the root to find the lowest common ancestor. - let i = brefPath.length - 1, - j = groupPath.length - 1; - - do { - i--; - j--; - } while (brefPath[i] === groupPath[j]); - - const indexOfLowestCommonAncestor = j + 1, - groupCut = groupPath.slice(0, indexOfLowestCommonAncestor), - commonPath = groupPath.slice(indexOfLowestCommonAncestor), - lowestCommonLookaround = commonPath.find(isLookaround), - isMatchingBackward = lowestCommonLookaround && lowestCommonLookaround.kind === "lookbehind"; - - if (groupCut.at(-1).type === "Alternative") { - - // group's and bref's ancestor nodes below the lowest common ancestor are sibling alternatives => they're disjunctive. - return { - messageId: "disjunctive", - group - }; - } - if (!isMatchingBackward && bref.end <= group.start) { - - // bref is left, group is right ('forward reference') => group hasn't matched yet when bref starts to match. - return { - messageId: "forward", - group - }; - } - if (isMatchingBackward && group.end <= bref.start) { - - // the opposite of the previous when the regex is matching backward in a lookbehind context. - return { - messageId: "backward", - group - }; - } - if (groupCut.some(isNegativeLookaround)) { - - // group is in a negative lookaround which isn't bref's ancestor => group has already failed when bref starts to match. - return { - messageId: "intoNegativeLookaround", - group - }; - } - - return null; - }); - - if (problems.length === 0 || problems.some(problem => !problem)) { - - // If there are no problems or no problems with any group then do not report it. - return; - } - - let problemsToReport; - - // Gets problems that appear in the same disjunction. - const problemsInSameDisjunction = problems.filter(problem => problem.messageId !== "disjunctive"); - - if (problemsInSameDisjunction.length) { - - // Only report problems that appear in the same disjunction. - problemsToReport = problemsInSameDisjunction; - } else { - - // If all groups appear in different disjunctions, report it. - problemsToReport = problems; - } - - const [{ messageId, group }, ...other] = problemsToReport; - let otherGroups = ""; - - if (other.length === 1) { - otherGroups = " and another group"; - } else if (other.length > 1) { - otherGroups = ` and other ${other.length} groups`; - } - context.report({ - node, - messageId, - data: { - bref: bref.raw, - group: group.raw, - otherGroups - } - }); - } - }); - } - - return { - "Literal[regex]"(node) { - const { pattern, flags } = node.regex; - - checkRegex(node, pattern, flags); - }, - Program(node) { - const scope = sourceCode.getScope(node), - tracker = new ReferenceTracker(scope), - traceMap = { - RegExp: { - [CALL]: true, - [CONSTRUCT]: true - } - }; - - for (const { node: refNode } of tracker.iterateGlobalReferences(traceMap)) { - const [patternNode, flagsNode] = refNode.arguments, - pattern = getStringIfConstant(patternNode, scope), - flags = getStringIfConstant(flagsNode, scope); - - if (typeof pattern === "string") { - checkRegex(refNode, pattern, flags || ""); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-call.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-call.js deleted file mode 100644 index dea2b47a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-call.js +++ /dev/null @@ -1,90 +0,0 @@ -/** - * @fileoverview A rule to disallow unnecessary `.call()` and `.apply()`. - * @author Toru Nagashima - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a node is a `.call()`/`.apply()`. - * @param {ASTNode} node A CallExpression node to check. - * @returns {boolean} Whether or not the node is a `.call()`/`.apply()`. - */ -function isCallOrNonVariadicApply(node) { - const callee = astUtils.skipChainExpression(node.callee); - - return ( - callee.type === "MemberExpression" && - callee.property.type === "Identifier" && - callee.computed === false && - ( - (callee.property.name === "call" && node.arguments.length >= 1) || - (callee.property.name === "apply" && node.arguments.length === 2 && node.arguments[1].type === "ArrayExpression") - ) - ); -} - - -/** - * Checks whether or not `thisArg` is not changed by `.call()`/`.apply()`. - * @param {ASTNode|null} expectedThis The node that is the owner of the applied function. - * @param {ASTNode} thisArg The node that is given to the first argument of the `.call()`/`.apply()`. - * @param {SourceCode} sourceCode The ESLint source code object. - * @returns {boolean} Whether or not `thisArg` is not changed by `.call()`/`.apply()`. - */ -function isValidThisArg(expectedThis, thisArg, sourceCode) { - if (!expectedThis) { - return astUtils.isNullOrUndefined(thisArg); - } - return astUtils.equalTokens(expectedThis, thisArg, sourceCode); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary calls to `.call()` and `.apply()`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-useless-call" - }, - - schema: [], - - messages: { - unnecessaryCall: "Unnecessary '.{{name}}()'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - CallExpression(node) { - if (!isCallOrNonVariadicApply(node)) { - return; - } - - const callee = astUtils.skipChainExpression(node.callee); - const applied = astUtils.skipChainExpression(callee.object); - const expectedThis = (applied.type === "MemberExpression") ? applied.object : null; - const thisArg = node.arguments[0]; - - if (isValidThisArg(expectedThis, thisArg, sourceCode)) { - context.report({ node, messageId: "unnecessaryCall", data: { name: callee.property.name } }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-catch.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-catch.js deleted file mode 100644 index e02013db..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-catch.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @fileoverview Reports useless `catch` clauses that just rethrow their error. - * @author Teddy Katz - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary `catch` clauses", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-useless-catch" - }, - - schema: [], - - messages: { - unnecessaryCatchClause: "Unnecessary catch clause.", - unnecessaryCatch: "Unnecessary try/catch wrapper." - } - }, - - create(context) { - return { - CatchClause(node) { - if ( - node.param && - node.param.type === "Identifier" && - node.body.body.length && - node.body.body[0].type === "ThrowStatement" && - node.body.body[0].argument.type === "Identifier" && - node.body.body[0].argument.name === node.param.name - ) { - if (node.parent.finalizer) { - context.report({ - node, - messageId: "unnecessaryCatchClause" - }); - } else { - context.report({ - node: node.parent, - messageId: "unnecessaryCatch" - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-computed-key.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-computed-key.js deleted file mode 100644 index 11dbd9d0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-computed-key.js +++ /dev/null @@ -1,174 +0,0 @@ -/** - * @fileoverview Rule to disallow unnecessary computed property keys in object literals - * @author Burak Yigit Kaya - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines whether the computed key syntax is unnecessarily used for the given node. - * In particular, it determines whether removing the square brackets and using the content between them - * directly as the key (e.g. ['foo'] -> 'foo') would produce valid syntax and preserve the same behavior. - * Valid non-computed keys are only: identifiers, number literals and string literals. - * Only literals can preserve the same behavior, with a few exceptions for specific node types: - * Property - * - { ["__proto__"]: foo } defines a property named "__proto__" - * { "__proto__": foo } defines object's prototype - * PropertyDefinition - * - class C { ["constructor"]; } defines an instance field named "constructor" - * class C { "constructor"; } produces a parsing error - * - class C { static ["constructor"]; } defines a static field named "constructor" - * class C { static "constructor"; } produces a parsing error - * - class C { static ["prototype"]; } produces a runtime error (doesn't break the whole script) - * class C { static "prototype"; } produces a parsing error (breaks the whole script) - * MethodDefinition - * - class C { ["constructor"]() {} } defines a prototype method named "constructor" - * class C { "constructor"() {} } defines the constructor - * - class C { static ["prototype"]() {} } produces a runtime error (doesn't break the whole script) - * class C { static "prototype"() {} } produces a parsing error (breaks the whole script) - * @param {ASTNode} node The node to check. It can be `Property`, `PropertyDefinition` or `MethodDefinition`. - * @throws {Error} (Unreachable.) - * @returns {void} `true` if the node has useless computed key. - */ -function hasUselessComputedKey(node) { - if (!node.computed) { - return false; - } - - const { key } = node; - - if (key.type !== "Literal") { - return false; - } - - const { value } = key; - - if (typeof value !== "number" && typeof value !== "string") { - return false; - } - - switch (node.type) { - case "Property": - if (node.parent.type === "ObjectExpression") { - return value !== "__proto__"; - } - return true; - - case "PropertyDefinition": - if (node.static) { - return value !== "constructor" && value !== "prototype"; - } - - return value !== "constructor"; - - case "MethodDefinition": - if (node.static) { - return value !== "prototype"; - } - - return value !== "constructor"; - - /* c8 ignore next */ - default: - throw new Error(`Unexpected node type: ${node.type}`); - } - -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - enforceForClassMembers: true - }], - - docs: { - description: "Disallow unnecessary computed property keys in objects and classes", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-useless-computed-key" - }, - - schema: [{ - type: "object", - properties: { - enforceForClassMembers: { - type: "boolean" - } - }, - additionalProperties: false - }], - fixable: "code", - - messages: { - unnecessarilyComputedProperty: "Unnecessarily computed property [{{property}}] found." - } - }, - create(context) { - const sourceCode = context.sourceCode; - const [{ enforceForClassMembers }] = context.options; - - /** - * Reports a given node if it violated this rule. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function check(node) { - if (hasUselessComputedKey(node)) { - const { key } = node; - - context.report({ - node, - messageId: "unnecessarilyComputedProperty", - data: { property: sourceCode.getText(key) }, - fix(fixer) { - const leftSquareBracket = sourceCode.getTokenBefore(key, astUtils.isOpeningBracketToken); - const rightSquareBracket = sourceCode.getTokenAfter(key, astUtils.isClosingBracketToken); - - // If there are comments between the brackets and the property name, don't do a fix. - if (sourceCode.commentsExistBetween(leftSquareBracket, rightSquareBracket)) { - return null; - } - - const tokenBeforeLeftBracket = sourceCode.getTokenBefore(leftSquareBracket); - - // Insert a space before the key to avoid changing identifiers, e.g. ({ get[2]() {} }) to ({ get2() {} }) - const needsSpaceBeforeKey = tokenBeforeLeftBracket.range[1] === leftSquareBracket.range[0] && - !astUtils.canTokensBeAdjacent(tokenBeforeLeftBracket, sourceCode.getFirstToken(key)); - - const replacementKey = (needsSpaceBeforeKey ? " " : "") + key.raw; - - return fixer.replaceTextRange([leftSquareBracket.range[0], rightSquareBracket.range[1]], replacementKey); - } - }); - } - } - - /** - * A no-op function to act as placeholder for checking a node when the `enforceForClassMembers` option is `false`. - * @returns {void} - * @private - */ - function noop() {} - - return { - Property: check, - MethodDefinition: enforceForClassMembers ? check : noop, - PropertyDefinition: enforceForClassMembers ? check : noop - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-concat.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-concat.js deleted file mode 100644 index c566c62b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-concat.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * @fileoverview disallow unnecessary concatenation of template strings - * @author Henry Zhu - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given node is a concatenation. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is a concatenation. - */ -function isConcatenation(node) { - return node.type === "BinaryExpression" && node.operator === "+"; -} - -/** - * Checks if the given token is a `+` token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a `+` token. - */ -function isConcatOperatorToken(token) { - return token.value === "+" && token.type === "Punctuator"; -} - -/** - * Get's the right most node on the left side of a BinaryExpression with + operator. - * @param {ASTNode} node A BinaryExpression node to check. - * @returns {ASTNode} node - */ -function getLeft(node) { - let left = node.left; - - while (isConcatenation(left)) { - left = left.right; - } - return left; -} - -/** - * Get's the left most node on the right side of a BinaryExpression with + operator. - * @param {ASTNode} node A BinaryExpression node to check. - * @returns {ASTNode} node - */ -function getRight(node) { - let right = node.right; - - while (isConcatenation(right)) { - right = right.left; - } - return right; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary concatenation of literals or template literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-useless-concat" - }, - - schema: [], - - messages: { - unexpectedConcat: "Unexpected string concatenation of literals." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - BinaryExpression(node) { - - // check if not concatenation - if (node.operator !== "+") { - return; - } - - // account for the `foo + "a" + "b"` case - const left = getLeft(node); - const right = getRight(node); - - if (astUtils.isStringLiteral(left) && - astUtils.isStringLiteral(right) && - astUtils.isTokenOnSameLine(left, right) - ) { - const operatorToken = sourceCode.getFirstTokenBetween(left, right, isConcatOperatorToken); - - context.report({ - node, - loc: operatorToken.loc, - messageId: "unexpectedConcat" - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-constructor.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-constructor.js deleted file mode 100644 index 2c063caa..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-constructor.js +++ /dev/null @@ -1,205 +0,0 @@ -/** - * @fileoverview Rule to flag the use of redundant constructors in classes. - * @author Alberto Rodríguez - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether a given array of statements is a single call of `super`. - * @param {ASTNode[]} body An array of statements to check. - * @returns {boolean} `true` if the body is a single call of `super`. - */ -function isSingleSuperCall(body) { - return ( - body.length === 1 && - body[0].type === "ExpressionStatement" && - body[0].expression.type === "CallExpression" && - body[0].expression.callee.type === "Super" - ); -} - -/** - * Checks whether a given node is a pattern which doesn't have any side effects. - * Default parameters and Destructuring parameters can have side effects. - * @param {ASTNode} node A pattern node. - * @returns {boolean} `true` if the node doesn't have any side effects. - */ -function isSimple(node) { - return node.type === "Identifier" || node.type === "RestElement"; -} - -/** - * Checks whether a given array of expressions is `...arguments` or not. - * `super(...arguments)` passes all arguments through. - * @param {ASTNode[]} superArgs An array of expressions to check. - * @returns {boolean} `true` if the superArgs is `...arguments`. - */ -function isSpreadArguments(superArgs) { - return ( - superArgs.length === 1 && - superArgs[0].type === "SpreadElement" && - superArgs[0].argument.type === "Identifier" && - superArgs[0].argument.name === "arguments" - ); -} - -/** - * Checks whether given 2 nodes are identifiers which have the same name or not. - * @param {ASTNode} ctorParam A node to check. - * @param {ASTNode} superArg A node to check. - * @returns {boolean} `true` if the nodes are identifiers which have the same - * name. - */ -function isValidIdentifierPair(ctorParam, superArg) { - return ( - ctorParam.type === "Identifier" && - superArg.type === "Identifier" && - ctorParam.name === superArg.name - ); -} - -/** - * Checks whether given 2 nodes are a rest/spread pair which has the same values. - * @param {ASTNode} ctorParam A node to check. - * @param {ASTNode} superArg A node to check. - * @returns {boolean} `true` if the nodes are a rest/spread pair which has the - * same values. - */ -function isValidRestSpreadPair(ctorParam, superArg) { - return ( - ctorParam.type === "RestElement" && - superArg.type === "SpreadElement" && - isValidIdentifierPair(ctorParam.argument, superArg.argument) - ); -} - -/** - * Checks whether given 2 nodes have the same value or not. - * @param {ASTNode} ctorParam A node to check. - * @param {ASTNode} superArg A node to check. - * @returns {boolean} `true` if the nodes have the same value or not. - */ -function isValidPair(ctorParam, superArg) { - return ( - isValidIdentifierPair(ctorParam, superArg) || - isValidRestSpreadPair(ctorParam, superArg) - ); -} - -/** - * Checks whether the parameters of a constructor and the arguments of `super()` - * have the same values or not. - * @param {ASTNode} ctorParams The parameters of a constructor to check. - * @param {ASTNode} superArgs The arguments of `super()` to check. - * @returns {boolean} `true` if those have the same values. - */ -function isPassingThrough(ctorParams, superArgs) { - if (ctorParams.length !== superArgs.length) { - return false; - } - - for (let i = 0; i < ctorParams.length; ++i) { - if (!isValidPair(ctorParams[i], superArgs[i])) { - return false; - } - } - - return true; -} - -/** - * Checks whether the constructor body is a redundant super call. - * @param {Array} body constructor body content. - * @param {Array} ctorParams The params to check against super call. - * @returns {boolean} true if the constructor body is redundant - */ -function isRedundantSuperCall(body, ctorParams) { - return ( - isSingleSuperCall(body) && - ctorParams.every(isSimple) && - ( - isSpreadArguments(body[0].expression.arguments) || - isPassingThrough(ctorParams, body[0].expression.arguments) - ) - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary constructors", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-useless-constructor" - }, - - hasSuggestions: true, - - schema: [], - - messages: { - noUselessConstructor: "Useless constructor.", - removeConstructor: "Remove the constructor." - } - }, - - create(context) { - - /** - * Checks whether a node is a redundant constructor - * @param {ASTNode} node node to check - * @returns {void} - */ - function checkForConstructor(node) { - if (node.kind !== "constructor") { - return; - } - - /* - * Prevent crashing on parsers which do not require class constructor - * to have a body, e.g. typescript and flow - */ - if (!node.value.body) { - return; - } - - const body = node.value.body.body; - const ctorParams = node.value.params; - const superClass = node.parent.parent.superClass; - - if (superClass ? isRedundantSuperCall(body, ctorParams) : (body.length === 0)) { - context.report({ - node, - messageId: "noUselessConstructor", - suggest: [ - { - messageId: "removeConstructor", - *fix(fixer) { - const nextToken = context.sourceCode.getTokenAfter(node); - const addSemiColon = nextToken.type === "Punctuator" && nextToken.value === "[" && astUtils.needsPrecedingSemicolon(context.sourceCode, node); - - yield fixer.replaceText(node, addSemiColon ? ";" : ""); - } - } - ] - }); - } - } - - return { - MethodDefinition: checkForConstructor - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-escape.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-escape.js deleted file mode 100644 index 0e0f6f09..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-escape.js +++ /dev/null @@ -1,333 +0,0 @@ -/** - * @fileoverview Look for useless escapes in strings and regexes - * @author Onur Temizkan - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); -const { RegExpParser, visitRegExpAST } = require("@eslint-community/regexpp"); - -/** - * @typedef {import('@eslint-community/regexpp').AST.CharacterClass} CharacterClass - * @typedef {import('@eslint-community/regexpp').AST.ExpressionCharacterClass} ExpressionCharacterClass - */ -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** - * Returns the union of two sets. - * @param {Set} setA The first set - * @param {Set} setB The second set - * @returns {Set} The union of the two sets - */ -function union(setA, setB) { - return new Set(function *() { - yield* setA; - yield* setB; - }()); -} - -const VALID_STRING_ESCAPES = union(new Set("\\nrvtbfux"), astUtils.LINEBREAKS); -const REGEX_GENERAL_ESCAPES = new Set("\\bcdDfnpPrsStvwWxu0123456789]"); -const REGEX_NON_CHARCLASS_ESCAPES = union(REGEX_GENERAL_ESCAPES, new Set("^/.$*+?[{}|()Bk")); - -/* - * Set of characters that require escaping in character classes in `unicodeSets` mode. - * ( ) [ ] { } / - \ | are ClassSetSyntaxCharacter - */ -const REGEX_CLASSSET_CHARACTER_ESCAPES = union(REGEX_GENERAL_ESCAPES, new Set("q/[{}|()-")); - -/* - * A single character set of ClassSetReservedDoublePunctuator. - * && !! ## $$ %% ** ++ ,, .. :: ;; << == >> ?? @@ ^^ `` ~~ are ClassSetReservedDoublePunctuator - */ -const REGEX_CLASS_SET_RESERVED_DOUBLE_PUNCTUATOR = new Set("!#$%&*+,.:;<=>?@^`~"); - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow unnecessary escape characters", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-useless-escape" - }, - - hasSuggestions: true, - - messages: { - unnecessaryEscape: "Unnecessary escape character: \\{{character}}.", - removeEscape: "Remove the `\\`. This maintains the current functionality.", - removeEscapeDoNotKeepSemantics: "Remove the `\\` if it was inserted by mistake.", - escapeBackslash: "Replace the `\\` with `\\\\` to include the actual backslash character." - }, - - schema: [] - }, - - create(context) { - const sourceCode = context.sourceCode; - const parser = new RegExpParser(); - - /** - * Reports a node - * @param {ASTNode} node The node to report - * @param {number} startOffset The backslash's offset from the start of the node - * @param {string} character The uselessly escaped character (not including the backslash) - * @param {boolean} [disableEscapeBackslashSuggest] `true` if escapeBackslash suggestion should be turned off. - * @returns {void} - */ - function report(node, startOffset, character, disableEscapeBackslashSuggest) { - const rangeStart = node.range[0] + startOffset; - const range = [rangeStart, rangeStart + 1]; - const start = sourceCode.getLocFromIndex(rangeStart); - - context.report({ - node, - loc: { - start, - end: { line: start.line, column: start.column + 1 } - }, - messageId: "unnecessaryEscape", - data: { character }, - suggest: [ - { - - // Removing unnecessary `\` characters in a directive is not guaranteed to maintain functionality. - messageId: astUtils.isDirective(node.parent) - ? "removeEscapeDoNotKeepSemantics" : "removeEscape", - fix(fixer) { - return fixer.removeRange(range); - } - }, - ...disableEscapeBackslashSuggest - ? [] - : [ - { - messageId: "escapeBackslash", - fix(fixer) { - return fixer.insertTextBeforeRange(range, "\\"); - } - } - ] - ] - }); - } - - /** - * Checks if the escape character in given string slice is unnecessary. - * @private - * @param {ASTNode} node node to validate. - * @param {string} match string slice to validate. - * @returns {void} - */ - function validateString(node, match) { - const isTemplateElement = node.type === "TemplateElement"; - const escapedChar = match[0][1]; - let isUnnecessaryEscape = !VALID_STRING_ESCAPES.has(escapedChar); - let isQuoteEscape; - - if (isTemplateElement) { - isQuoteEscape = escapedChar === "`"; - - if (escapedChar === "$") { - - // Warn if `\$` is not followed by `{` - isUnnecessaryEscape = match.input[match.index + 2] !== "{"; - } else if (escapedChar === "{") { - - /* - * Warn if `\{` is not preceded by `$`. If preceded by `$`, escaping - * is necessary and the rule should not warn. If preceded by `/$`, the rule - * will warn for the `/$` instead, as it is the first unnecessarily escaped character. - */ - isUnnecessaryEscape = match.input[match.index - 1] !== "$"; - } - } else { - isQuoteEscape = escapedChar === node.raw[0]; - } - - if (isUnnecessaryEscape && !isQuoteEscape) { - report(node, match.index, match[0].slice(1)); - } - } - - /** - * Checks if the escape character in given regexp is unnecessary. - * @private - * @param {ASTNode} node node to validate. - * @returns {void} - */ - function validateRegExp(node) { - const { pattern, flags } = node.regex; - let patternNode; - const unicode = flags.includes("u"); - const unicodeSets = flags.includes("v"); - - try { - patternNode = parser.parsePattern(pattern, 0, pattern.length, { unicode, unicodeSets }); - } catch { - - // Ignore regular expressions with syntax errors - return; - } - - /** @type {(CharacterClass | ExpressionCharacterClass)[]} */ - const characterClassStack = []; - - visitRegExpAST(patternNode, { - onCharacterClassEnter: characterClassNode => characterClassStack.unshift(characterClassNode), - onCharacterClassLeave: () => characterClassStack.shift(), - onExpressionCharacterClassEnter: characterClassNode => characterClassStack.unshift(characterClassNode), - onExpressionCharacterClassLeave: () => characterClassStack.shift(), - onCharacterEnter(characterNode) { - if (!characterNode.raw.startsWith("\\")) { - - // It's not an escaped character. - return; - } - - const escapedChar = characterNode.raw.slice(1); - - if (escapedChar !== String.fromCodePoint(characterNode.value)) { - - // It's a valid escape. - return; - } - let allowedEscapes; - - if (characterClassStack.length) { - allowedEscapes = unicodeSets ? REGEX_CLASSSET_CHARACTER_ESCAPES : REGEX_GENERAL_ESCAPES; - } else { - allowedEscapes = REGEX_NON_CHARCLASS_ESCAPES; - } - if (allowedEscapes.has(escapedChar)) { - return; - } - - const reportedIndex = characterNode.start + 1; - let disableEscapeBackslashSuggest = false; - - if (characterClassStack.length) { - const characterClassNode = characterClassStack[0]; - - if (escapedChar === "^") { - - /* - * The '^' character is also a special case; it must always be escaped outside of character classes, but - * it only needs to be escaped in character classes if it's at the beginning of the character class. To - * account for this, consider it to be a valid escape character outside of character classes, and filter - * out '^' characters that appear at the start of a character class. - */ - if (characterClassNode.start + 1 === characterNode.start) { - - return; - } - } - if (!unicodeSets) { - if (escapedChar === "-") { - - /* - * The '-' character is a special case, because it's only valid to escape it if it's in a character - * class, and is not at either edge of the character class. To account for this, don't consider '-' - * characters to be valid in general, and filter out '-' characters that appear in the middle of a - * character class. - */ - if (characterClassNode.start + 1 !== characterNode.start && characterNode.end !== characterClassNode.end - 1) { - - return; - } - } - } else { // unicodeSets mode - if (REGEX_CLASS_SET_RESERVED_DOUBLE_PUNCTUATOR.has(escapedChar)) { - - // Escaping is valid if it is a ClassSetReservedDoublePunctuator. - if (pattern[characterNode.end] === escapedChar) { - return; - } - if (pattern[characterNode.start - 1] === escapedChar) { - if (escapedChar !== "^") { - return; - } - - // If the previous character is a `negate` caret(`^`), escape to caret is unnecessary. - - if (!characterClassNode.negate) { - return; - } - const negateCaretIndex = characterClassNode.start + 1; - - if (negateCaretIndex < characterNode.start - 1) { - return; - } - } - } - - if (characterNode.parent.type === "ClassIntersection" || characterNode.parent.type === "ClassSubtraction") { - disableEscapeBackslashSuggest = true; - } - } - } - - report( - node, - reportedIndex, - escapedChar, - disableEscapeBackslashSuggest - ); - } - }); - } - - /** - * Checks if a node has an escape. - * @param {ASTNode} node node to check. - * @returns {void} - */ - function check(node) { - const isTemplateElement = node.type === "TemplateElement"; - - if ( - isTemplateElement && - node.parent && - node.parent.parent && - node.parent.parent.type === "TaggedTemplateExpression" && - node.parent === node.parent.parent.quasi - ) { - - // Don't report tagged template literals, because the backslash character is accessible to the tag function. - return; - } - - if (typeof node.value === "string" || isTemplateElement) { - - /* - * JSXAttribute doesn't have any escape sequence: https://facebook.github.io/jsx/. - * In addition, backticks are not supported by JSX yet: https://github.com/facebook/jsx/issues/25. - */ - if (node.parent.type === "JSXAttribute" || node.parent.type === "JSXElement" || node.parent.type === "JSXFragment") { - return; - } - - const value = isTemplateElement ? sourceCode.getText(node) : node.raw; - const pattern = /\\[^\d]/gu; - let match; - - while ((match = pattern.exec(value))) { - validateString(node, match); - } - } else if (node.regex) { - validateRegExp(node); - } - - } - - return { - Literal: check, - TemplateElement: check - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-rename.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-rename.js deleted file mode 100644 index 2bde8234..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-rename.js +++ /dev/null @@ -1,175 +0,0 @@ -/** - * @fileoverview Disallow renaming import, export, and destructured assignments to the same name. - * @author Kai Cataldo - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - ignoreDestructuring: false, - ignoreImport: false, - ignoreExport: false - }], - - docs: { - description: "Disallow renaming import, export, and destructured assignments to the same name", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-useless-rename" - }, - - fixable: "code", - - schema: [ - { - type: "object", - properties: { - ignoreDestructuring: { type: "boolean" }, - ignoreImport: { type: "boolean" }, - ignoreExport: { type: "boolean" } - }, - additionalProperties: false - } - ], - - messages: { - unnecessarilyRenamed: "{{type}} {{name}} unnecessarily renamed." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const [{ ignoreDestructuring, ignoreImport, ignoreExport }] = context.options; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Reports error for unnecessarily renamed assignments - * @param {ASTNode} node node to report - * @param {ASTNode} initial node with initial name value - * @param {string} type the type of the offending node - * @returns {void} - */ - function reportError(node, initial, type) { - const name = initial.type === "Identifier" ? initial.name : initial.value; - - return context.report({ - node, - messageId: "unnecessarilyRenamed", - data: { - name, - type - }, - fix(fixer) { - const replacementNode = node.type === "Property" ? node.value : node.local; - - if (sourceCode.getCommentsInside(node).length > sourceCode.getCommentsInside(replacementNode).length) { - return null; - } - - // Don't autofix code such as `({foo: (foo) = a} = obj);`, parens are not allowed in shorthand properties. - if ( - replacementNode.type === "AssignmentPattern" && - astUtils.isParenthesised(sourceCode, replacementNode.left) - ) { - return null; - } - - return fixer.replaceText(node, sourceCode.getText(replacementNode)); - } - }); - } - - /** - * Checks whether a destructured assignment is unnecessarily renamed - * @param {ASTNode} node node to check - * @returns {void} - */ - function checkDestructured(node) { - if (ignoreDestructuring) { - return; - } - - for (const property of node.properties) { - - /** - * Properties using shorthand syntax and rest elements can not be renamed. - * If the property is computed, we have no idea if a rename is useless or not. - */ - if (property.type !== "Property" || property.shorthand || property.computed) { - continue; - } - - const key = (property.key.type === "Identifier" && property.key.name) || (property.key.type === "Literal" && property.key.value); - const renamedKey = property.value.type === "AssignmentPattern" ? property.value.left.name : property.value.name; - - if (key === renamedKey) { - reportError(property, property.key, "Destructuring assignment"); - } - } - } - - /** - * Checks whether an import is unnecessarily renamed - * @param {ASTNode} node node to check - * @returns {void} - */ - function checkImport(node) { - if (ignoreImport) { - return; - } - - if ( - node.imported.range[0] !== node.local.range[0] && - astUtils.getModuleExportName(node.imported) === node.local.name - ) { - reportError(node, node.imported, "Import"); - } - } - - /** - * Checks whether an export is unnecessarily renamed - * @param {ASTNode} node node to check - * @returns {void} - */ - function checkExport(node) { - if (ignoreExport) { - return; - } - - if ( - node.local.range[0] !== node.exported.range[0] && - astUtils.getModuleExportName(node.local) === astUtils.getModuleExportName(node.exported) - ) { - reportError(node, node.local, "Export"); - } - - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - ObjectPattern: checkDestructured, - ImportSpecifier: checkImport, - ExportSpecifier: checkExport - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-return.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-return.js deleted file mode 100644 index 1f85cdb9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-useless-return.js +++ /dev/null @@ -1,369 +0,0 @@ -/** - * @fileoverview Disallow redundant return statements - * @author Teddy Katz - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"), - FixTracker = require("./utils/fix-tracker"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Removes the given element from the array. - * @param {Array} array The source array to remove. - * @param {any} element The target item to remove. - * @returns {void} - */ -function remove(array, element) { - const index = array.indexOf(element); - - if (index !== -1) { - array.splice(index, 1); - } -} - -/** - * Checks whether it can remove the given return statement or not. - * @param {ASTNode} node The return statement node to check. - * @returns {boolean} `true` if the node is removable. - */ -function isRemovable(node) { - return astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type); -} - -/** - * Checks whether the given return statement is in a `finally` block or not. - * @param {ASTNode} node The return statement node to check. - * @returns {boolean} `true` if the node is in a `finally` block. - */ -function isInFinally(node) { - for ( - let currentNode = node; - currentNode && currentNode.parent && !astUtils.isFunction(currentNode); - currentNode = currentNode.parent - ) { - if (currentNode.parent.type === "TryStatement" && currentNode.parent.finalizer === currentNode) { - return true; - } - } - - return false; -} - -/** - * Checks all segments in a set and returns true if any are reachable. - * @param {Set} segments The segments to check. - * @returns {boolean} True if any segment is reachable; false otherwise. - */ -function isAnySegmentReachable(segments) { - - for (const segment of segments) { - if (segment.reachable) { - return true; - } - } - - return false; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow redundant return statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-useless-return" - }, - - fixable: "code", - schema: [], - - messages: { - unnecessaryReturn: "Unnecessary return statement." - } - }, - - create(context) { - const segmentInfoMap = new WeakMap(); - const sourceCode = context.sourceCode; - let scopeInfo = null; - - /** - * Checks whether the given segment is terminated by a return statement or not. - * @param {CodePathSegment} segment The segment to check. - * @returns {boolean} `true` if the segment is terminated by a return statement, or if it's still a part of unreachable. - */ - function isReturned(segment) { - const info = segmentInfoMap.get(segment); - - return !info || info.returned; - } - - /** - * Collects useless return statements from the given previous segments. - * - * A previous segment may be an unreachable segment. - * In that case, the information object of the unreachable segment is not - * initialized because `onCodePathSegmentStart` event is not notified for - * unreachable segments. - * This goes to the previous segments of the unreachable segment recursively - * if the unreachable segment was generated by a return statement. Otherwise, - * this ignores the unreachable segment. - * - * This behavior would simulate code paths for the case that the return - * statement does not exist. - * @param {ASTNode[]} uselessReturns The collected return statements. - * @param {CodePathSegment[]} prevSegments The previous segments to traverse. - * @param {WeakSet} [providedTraversedSegments] A set of segments that have already been traversed in this call - * @returns {ASTNode[]} `uselessReturns`. - */ - function getUselessReturns(uselessReturns, prevSegments, providedTraversedSegments) { - const traversedSegments = providedTraversedSegments || new WeakSet(); - - for (const segment of prevSegments) { - if (!segment.reachable) { - if (!traversedSegments.has(segment)) { - traversedSegments.add(segment); - getUselessReturns( - uselessReturns, - segment.allPrevSegments.filter(isReturned), - traversedSegments - ); - } - continue; - } - - if (segmentInfoMap.has(segment)) { - uselessReturns.push(...segmentInfoMap.get(segment).uselessReturns); - } - } - - return uselessReturns; - } - - /** - * Removes the return statements on the given segment from the useless return - * statement list. - * - * This segment may be an unreachable segment. - * In that case, the information object of the unreachable segment is not - * initialized because `onCodePathSegmentStart` event is not notified for - * unreachable segments. - * This goes to the previous segments of the unreachable segment recursively - * if the unreachable segment was generated by a return statement. Otherwise, - * this ignores the unreachable segment. - * - * This behavior would simulate code paths for the case that the return - * statement does not exist. - * @param {CodePathSegment} segment The segment to get return statements. - * @param {Set} usedUnreachableSegments A set of segments that have already been traversed in this call. - * @returns {void} - */ - function markReturnStatementsOnSegmentAsUsed(segment, usedUnreachableSegments) { - if (!segment.reachable) { - usedUnreachableSegments.add(segment); - segment.allPrevSegments - .filter(isReturned) - .filter(prevSegment => !usedUnreachableSegments.has(prevSegment)) - .forEach(prevSegment => markReturnStatementsOnSegmentAsUsed(prevSegment, usedUnreachableSegments)); - return; - } - - const info = segmentInfoMap.get(segment); - - if (!info) { - return; - } - - info.uselessReturns = info.uselessReturns.filter(node => { - if (scopeInfo.traversedTryBlockStatements && scopeInfo.traversedTryBlockStatements.length > 0) { - const returnInitialRange = node.range[0]; - const returnFinalRange = node.range[1]; - - const areBlocksInRange = scopeInfo.traversedTryBlockStatements.some(tryBlockStatement => { - const blockInitialRange = tryBlockStatement.range[0]; - const blockFinalRange = tryBlockStatement.range[1]; - - return ( - returnInitialRange >= blockInitialRange && - returnFinalRange <= blockFinalRange - ); - }); - - if (areBlocksInRange) { - return true; - } - } - - remove(scopeInfo.uselessReturns, node); - return false; - }); - } - - /** - * Removes the return statements on the current segments from the useless - * return statement list. - * - * This function will be called at every statement except FunctionDeclaration, - * BlockStatement, and BreakStatement. - * - * - FunctionDeclarations are always executed whether it's returned or not. - * - BlockStatements do nothing. - * - BreakStatements go the next merely. - * @returns {void} - */ - function markReturnStatementsOnCurrentSegmentsAsUsed() { - scopeInfo - .currentSegments - .forEach(segment => markReturnStatementsOnSegmentAsUsed(segment, new Set())); - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - - // Makes and pushes a new scope information. - onCodePathStart(codePath) { - scopeInfo = { - upper: scopeInfo, - uselessReturns: [], - traversedTryBlockStatements: [], - codePath, - currentSegments: new Set() - }; - }, - - // Reports useless return statements if exist. - onCodePathEnd() { - for (const node of scopeInfo.uselessReturns) { - context.report({ - node, - loc: node.loc, - messageId: "unnecessaryReturn", - fix(fixer) { - if (isRemovable(node) && !sourceCode.getCommentsInside(node).length) { - - /* - * Extend the replacement range to include the - * entire function to avoid conflicting with - * no-else-return. - * https://github.com/eslint/eslint/issues/8026 - */ - return new FixTracker(fixer, sourceCode) - .retainEnclosingFunction(node) - .remove(node); - } - return null; - } - }); - } - - scopeInfo = scopeInfo.upper; - }, - - /* - * Initializes segments. - * NOTE: This event is notified for only reachable segments. - */ - onCodePathSegmentStart(segment) { - scopeInfo.currentSegments.add(segment); - - const info = { - uselessReturns: getUselessReturns([], segment.allPrevSegments), - returned: false - }; - - // Stores the info. - segmentInfoMap.set(segment, info); - }, - - onUnreachableCodePathSegmentStart(segment) { - scopeInfo.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - scopeInfo.currentSegments.delete(segment); - }, - - onCodePathSegmentEnd(segment) { - scopeInfo.currentSegments.delete(segment); - }, - - // Adds ReturnStatement node to check whether it's useless or not. - ReturnStatement(node) { - if (node.argument) { - markReturnStatementsOnCurrentSegmentsAsUsed(); - } - if ( - node.argument || - astUtils.isInLoop(node) || - isInFinally(node) || - - // Ignore `return` statements in unreachable places (https://github.com/eslint/eslint/issues/11647). - !isAnySegmentReachable(scopeInfo.currentSegments) - ) { - return; - } - - for (const segment of scopeInfo.currentSegments) { - const info = segmentInfoMap.get(segment); - - if (info) { - info.uselessReturns.push(node); - info.returned = true; - } - } - scopeInfo.uselessReturns.push(node); - }, - - "TryStatement > BlockStatement.block:exit"(node) { - scopeInfo.traversedTryBlockStatements.push(node); - }, - - "TryStatement:exit"() { - scopeInfo.traversedTryBlockStatements.pop(); - }, - - /* - * Registers for all statement nodes except FunctionDeclaration, BlockStatement, BreakStatement. - * Removes return statements of the current segments from the useless return statement list. - */ - ClassDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed, - ContinueStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - DebuggerStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - DoWhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - EmptyStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - ExpressionStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - ForInStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - ForOfStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - ForStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - IfStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - ImportDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed, - LabeledStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - SwitchStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - ThrowStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - TryStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - VariableDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed, - WhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - WithStatement: markReturnStatementsOnCurrentSegmentsAsUsed, - ExportNamedDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed, - ExportDefaultDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed, - ExportAllDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-var.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-var.js deleted file mode 100644 index d45a91a1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-var.js +++ /dev/null @@ -1,334 +0,0 @@ -/** - * @fileoverview Rule to check for the usage of var. - * @author Jamund Ferguson - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Check whether a given variable is a global variable or not. - * @param {eslint-scope.Variable} variable The variable to check. - * @returns {boolean} `true` if the variable is a global variable. - */ -function isGlobal(variable) { - return Boolean(variable.scope) && variable.scope.type === "global"; -} - -/** - * Finds the nearest function scope or global scope walking up the scope - * hierarchy. - * @param {eslint-scope.Scope} scope The scope to traverse. - * @returns {eslint-scope.Scope} a function scope or global scope containing the given - * scope. - */ -function getEnclosingFunctionScope(scope) { - let currentScope = scope; - - while (currentScope.type !== "function" && currentScope.type !== "global") { - currentScope = currentScope.upper; - } - return currentScope; -} - -/** - * Checks whether the given variable has any references from a more specific - * function expression (i.e. a closure). - * @param {eslint-scope.Variable} variable A variable to check. - * @returns {boolean} `true` if the variable is used from a closure. - */ -function isReferencedInClosure(variable) { - const enclosingFunctionScope = getEnclosingFunctionScope(variable.scope); - - return variable.references.some(reference => - getEnclosingFunctionScope(reference.from) !== enclosingFunctionScope); -} - -/** - * Checks whether the given node is the assignee of a loop. - * @param {ASTNode} node A VariableDeclaration node to check. - * @returns {boolean} `true` if the declaration is assigned as part of loop - * iteration. - */ -function isLoopAssignee(node) { - return (node.parent.type === "ForOfStatement" || node.parent.type === "ForInStatement") && - node === node.parent.left; -} - -/** - * Checks whether the given variable declaration is immediately initialized. - * @param {ASTNode} node A VariableDeclaration node to check. - * @returns {boolean} `true` if the declaration has an initializer. - */ -function isDeclarationInitialized(node) { - return node.declarations.every(declarator => declarator.init !== null); -} - -const SCOPE_NODE_TYPE = /^(?:Program|BlockStatement|SwitchStatement|ForStatement|ForInStatement|ForOfStatement)$/u; - -/** - * Gets the scope node which directly contains a given node. - * @param {ASTNode} node A node to get. This is a `VariableDeclaration` or - * an `Identifier`. - * @returns {ASTNode} A scope node. This is one of `Program`, `BlockStatement`, - * `SwitchStatement`, `ForStatement`, `ForInStatement`, and - * `ForOfStatement`. - */ -function getScopeNode(node) { - for (let currentNode = node; currentNode; currentNode = currentNode.parent) { - if (SCOPE_NODE_TYPE.test(currentNode.type)) { - return currentNode; - } - } - - /* c8 ignore next */ - return null; -} - -/** - * Checks whether a given variable is redeclared or not. - * @param {eslint-scope.Variable} variable A variable to check. - * @returns {boolean} `true` if the variable is redeclared. - */ -function isRedeclared(variable) { - return variable.defs.length >= 2; -} - -/** - * Checks whether a given variable is used from outside of the specified scope. - * @param {ASTNode} scopeNode A scope node to check. - * @returns {Function} The predicate function which checks whether a given - * variable is used from outside of the specified scope. - */ -function isUsedFromOutsideOf(scopeNode) { - - /** - * Checks whether a given reference is inside of the specified scope or not. - * @param {eslint-scope.Reference} reference A reference to check. - * @returns {boolean} `true` if the reference is inside of the specified - * scope. - */ - function isOutsideOfScope(reference) { - const scope = scopeNode.range; - const id = reference.identifier.range; - - return id[0] < scope[0] || id[1] > scope[1]; - } - - return function(variable) { - return variable.references.some(isOutsideOfScope); - }; -} - -/** - * Creates the predicate function which checks whether a variable has their references in TDZ. - * - * The predicate function would return `true`: - * - * - if a reference is before the declarator. E.g. (var a = b, b = 1;)(var {a = b, b} = {};) - * - if a reference is in the expression of their default value. E.g. (var {a = a} = {};) - * - if a reference is in the expression of their initializer. E.g. (var a = a;) - * @param {ASTNode} node The initializer node of VariableDeclarator. - * @returns {Function} The predicate function. - * @private - */ -function hasReferenceInTDZ(node) { - const initStart = node.range[0]; - const initEnd = node.range[1]; - - return variable => { - const id = variable.defs[0].name; - const idStart = id.range[0]; - const defaultValue = (id.parent.type === "AssignmentPattern" ? id.parent.right : null); - const defaultStart = defaultValue && defaultValue.range[0]; - const defaultEnd = defaultValue && defaultValue.range[1]; - - return variable.references.some(reference => { - const start = reference.identifier.range[0]; - const end = reference.identifier.range[1]; - - return !reference.init && ( - start < idStart || - (defaultValue !== null && start >= defaultStart && end <= defaultEnd) || - (!astUtils.isFunction(node) && start >= initStart && end <= initEnd) - ); - }); - }; -} - -/** - * Checks whether a given variable has name that is allowed for 'var' declarations, - * but disallowed for `let` declarations. - * @param {eslint-scope.Variable} variable The variable to check. - * @returns {boolean} `true` if the variable has a disallowed name. - */ -function hasNameDisallowedForLetDeclarations(variable) { - return variable.name === "let"; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require `let` or `const` instead of `var`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-var" - }, - - schema: [], - fixable: "code", - - messages: { - unexpectedVar: "Unexpected var, use let or const instead." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Checks whether the variables which are defined by the given declarator node have their references in TDZ. - * @param {ASTNode} declarator The VariableDeclarator node to check. - * @returns {boolean} `true` if one of the variables which are defined by the given declarator node have their references in TDZ. - */ - function hasSelfReferenceInTDZ(declarator) { - if (!declarator.init) { - return false; - } - const variables = sourceCode.getDeclaredVariables(declarator); - - return variables.some(hasReferenceInTDZ(declarator.init)); - } - - /** - * Checks whether it can fix a given variable declaration or not. - * It cannot fix if the following cases: - * - * - A variable is a global variable. - * - A variable is declared on a SwitchCase node. - * - A variable is redeclared. - * - A variable is used from outside the scope. - * - A variable is used from a closure within a loop. - * - A variable might be used before it is assigned within a loop. - * - A variable might be used in TDZ. - * - A variable is declared in statement position (e.g. a single-line `IfStatement`) - * - A variable has name that is disallowed for `let` declarations. - * - * ## A variable is declared on a SwitchCase node. - * - * If this rule modifies 'var' declarations on a SwitchCase node, it - * would generate the warnings of 'no-case-declarations' rule. And the - * 'eslint:recommended' preset includes 'no-case-declarations' rule, so - * this rule doesn't modify those declarations. - * - * ## A variable is redeclared. - * - * The language spec disallows redeclarations of `let` declarations. - * Those variables would cause syntax errors. - * - * ## A variable is used from outside the scope. - * - * The language spec disallows accesses from outside of the scope for - * `let` declarations. Those variables would cause reference errors. - * - * ## A variable is used from a closure within a loop. - * - * A `var` declaration within a loop shares the same variable instance - * across all loop iterations, while a `let` declaration creates a new - * instance for each iteration. This means if a variable in a loop is - * referenced by any closure, changing it from `var` to `let` would - * change the behavior in a way that is generally unsafe. - * - * ## A variable might be used before it is assigned within a loop. - * - * Within a loop, a `let` declaration without an initializer will be - * initialized to null, while a `var` declaration will retain its value - * from the previous iteration, so it is only safe to change `var` to - * `let` if we can statically determine that the variable is always - * assigned a value before its first access in the loop body. To keep - * the implementation simple, we only convert `var` to `let` within - * loops when the variable is a loop assignee or the declaration has an - * initializer. - * @param {ASTNode} node A variable declaration node to check. - * @returns {boolean} `true` if it can fix the node. - */ - function canFix(node) { - const variables = sourceCode.getDeclaredVariables(node); - const scopeNode = getScopeNode(node); - - if (node.parent.type === "SwitchCase" || - node.declarations.some(hasSelfReferenceInTDZ) || - variables.some(isGlobal) || - variables.some(isRedeclared) || - variables.some(isUsedFromOutsideOf(scopeNode)) || - variables.some(hasNameDisallowedForLetDeclarations) - ) { - return false; - } - - if (astUtils.isInLoop(node)) { - if (variables.some(isReferencedInClosure)) { - return false; - } - if (!isLoopAssignee(node) && !isDeclarationInitialized(node)) { - return false; - } - } - - if ( - !isLoopAssignee(node) && - !(node.parent.type === "ForStatement" && node.parent.init === node) && - !astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type) - ) { - - // If the declaration is not in a block, e.g. `if (foo) var bar = 1;`, then it can't be fixed. - return false; - } - - return true; - } - - /** - * Reports a given variable declaration node. - * @param {ASTNode} node A variable declaration node to report. - * @returns {void} - */ - function report(node) { - context.report({ - node, - messageId: "unexpectedVar", - - fix(fixer) { - const varToken = sourceCode.getFirstToken(node, { filter: t => t.value === "var" }); - - return canFix(node) - ? fixer.replaceText(varToken, "let") - : null; - } - }); - } - - return { - "VariableDeclaration:exit"(node) { - if (node.kind === "var") { - report(node); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-void.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-void.js deleted file mode 100644 index 1f643f2f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-void.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @fileoverview Rule to disallow use of void operator. - * @author Mike Sidorov - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allowAsStatement: false - }], - - docs: { - description: "Disallow `void` operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-void" - }, - - messages: { - noVoid: "Expected 'undefined' and instead saw 'void'." - }, - - schema: [ - { - type: "object", - properties: { - allowAsStatement: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - }, - - create(context) { - const [{ allowAsStatement }] = context.options; - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - 'UnaryExpression[operator="void"]'(node) { - if ( - allowAsStatement && - node.parent && - node.parent.type === "ExpressionStatement" - ) { - return; - } - context.report({ - node, - messageId: "noVoid" - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-warning-comments.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-warning-comments.js deleted file mode 100644 index 628f5a2a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-warning-comments.js +++ /dev/null @@ -1,203 +0,0 @@ -/** - * @fileoverview Rule that warns about used warning comments - * @author Alexander Schmidt - */ - -"use strict"; - -const escapeRegExp = require("escape-string-regexp"); -const astUtils = require("./utils/ast-utils"); - -const CHAR_LIMIT = 40; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - location: "start", - terms: ["todo", "fixme", "xxx"] - }], - - docs: { - description: "Disallow specified warning terms in comments", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-warning-comments" - }, - - schema: [ - { - type: "object", - properties: { - terms: { - type: "array", - items: { - type: "string" - } - }, - location: { - enum: ["start", "anywhere"] - }, - decoration: { - type: "array", - items: { - type: "string", - pattern: "^\\S$" - }, - minItems: 1, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedComment: "Unexpected '{{matchedTerm}}' comment: '{{comment}}'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const [{ decoration, location, terms: warningTerms }] = context.options; - const escapedDecoration = escapeRegExp(decoration ? decoration.join("") : ""); - const selfConfigRegEx = /\bno-warning-comments\b/u; - - /** - * Convert a warning term into a RegExp which will match a comment containing that whole word in the specified - * location ("start" or "anywhere"). If the term starts or ends with non word characters, then the match will not - * require word boundaries on that side. - * @param {string} term A term to convert to a RegExp - * @returns {RegExp} The term converted to a RegExp - */ - function convertToRegExp(term) { - const escaped = escapeRegExp(term); - - /* - * When matching at the start, ignore leading whitespace, and - * there's no need to worry about word boundaries. - * - * These expressions for the prefix and suffix are designed as follows: - * ^ handles any terms at the beginning of a comment. - * e.g. terms ["TODO"] matches `//TODO something` - * $ handles any terms at the end of a comment - * e.g. terms ["TODO"] matches `// something TODO` - * \b handles terms preceded/followed by word boundary - * e.g. terms: ["!FIX", "FIX!"] matches `// FIX!something` or `// something!FIX` - * terms: ["FIX"] matches `// FIX!` or `// !FIX`, but not `// fixed or affix` - * - * For location start: - * [\s]* handles optional leading spaces - * e.g. terms ["TODO"] matches `// TODO something` - * [\s\*]* (where "\*" is the escaped string of decoration) - * handles optional leading spaces or decoration characters (for "start" location only) - * e.g. terms ["TODO"] matches `/**** TODO something ... ` - */ - const wordBoundary = "\\b"; - - let prefix = ""; - - if (location === "start") { - prefix = `^[\\s${escapedDecoration}]*`; - } else if (/^\w/u.test(term)) { - prefix = wordBoundary; - } - - const suffix = /\w$/u.test(term) ? wordBoundary : ""; - const flags = "iu"; // Case-insensitive with Unicode case folding. - - /* - * For location "start", the typical regex is: - * /^[\s]*ESCAPED_TERM\b/iu. - * Or if decoration characters are specified (e.g. "*"), then any of - * those characters may appear in any order at the start: - * /^[\s\*]*ESCAPED_TERM\b/iu. - * - * For location "anywhere" the typical regex is - * /\bESCAPED_TERM\b/iu - * - * If it starts or ends with non-word character, the prefix and suffix are empty, respectively. - */ - return new RegExp(`${prefix}${escaped}${suffix}`, flags); - } - - const warningRegExps = warningTerms.map(convertToRegExp); - - /** - * Checks the specified comment for matches of the configured warning terms and returns the matches. - * @param {string} comment The comment which is checked. - * @returns {Array} All matched warning terms for this comment. - */ - function commentContainsWarningTerm(comment) { - const matches = []; - - warningRegExps.forEach((regex, index) => { - if (regex.test(comment)) { - matches.push(warningTerms[index]); - } - }); - - return matches; - } - - /** - * Checks the specified node for matching warning comments and reports them. - * @param {ASTNode} node The AST node being checked. - * @returns {void} undefined. - */ - function checkComment(node) { - const comment = node.value; - - if ( - astUtils.isDirectiveComment(node) && - selfConfigRegEx.test(comment) - ) { - return; - } - - const matches = commentContainsWarningTerm(comment); - - matches.forEach(matchedTerm => { - let commentToDisplay = ""; - let truncated = false; - - for (const c of comment.trim().split(/\s+/u)) { - const tmp = commentToDisplay ? `${commentToDisplay} ${c}` : c; - - if (tmp.length <= CHAR_LIMIT) { - commentToDisplay = tmp; - } else { - truncated = true; - break; - } - } - - context.report({ - node, - messageId: "unexpectedComment", - data: { - matchedTerm, - comment: `${commentToDisplay}${ - truncated ? "..." : "" - }` - } - }); - }); - } - - return { - Program() { - const comments = sourceCode.getAllComments(); - - comments - .filter(token => token.type !== "Shebang") - .forEach(checkComment); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-whitespace-before-property.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-whitespace-before-property.js deleted file mode 100644 index 94a166e6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-whitespace-before-property.js +++ /dev/null @@ -1,116 +0,0 @@ -/** - * @fileoverview Rule to disallow whitespace before properties - * @author Kai Cataldo - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Disallow whitespace before properties", - recommended: false, - url: "https://eslint.org/docs/latest/rules/no-whitespace-before-property" - }, - - fixable: "whitespace", - schema: [], - - messages: { - unexpectedWhitespace: "Unexpected whitespace before property {{propName}}." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Reports whitespace before property token - * @param {ASTNode} node the node to report in the event of an error - * @param {Token} leftToken the left token - * @param {Token} rightToken the right token - * @returns {void} - * @private - */ - function reportError(node, leftToken, rightToken) { - context.report({ - node, - messageId: "unexpectedWhitespace", - data: { - propName: sourceCode.getText(node.property) - }, - fix(fixer) { - let replacementText = ""; - - if (!node.computed && !node.optional && astUtils.isDecimalInteger(node.object)) { - - /* - * If the object is a number literal, fixing it to something like 5.toString() would cause a SyntaxError. - * Don't fix this case. - */ - return null; - } - - // Don't fix if comments exist. - if (sourceCode.commentsExistBetween(leftToken, rightToken)) { - return null; - } - - if (node.optional) { - replacementText = "?."; - } else if (!node.computed) { - replacementText = "."; - } - - return fixer.replaceTextRange([leftToken.range[1], rightToken.range[0]], replacementText); - } - }); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - MemberExpression(node) { - let rightToken; - let leftToken; - - if (!astUtils.isTokenOnSameLine(node.object, node.property)) { - return; - } - - if (node.computed) { - rightToken = sourceCode.getTokenBefore(node.property, astUtils.isOpeningBracketToken); - leftToken = sourceCode.getTokenBefore(rightToken, node.optional ? 1 : 0); - } else { - rightToken = sourceCode.getFirstToken(node.property); - leftToken = sourceCode.getTokenBefore(rightToken, 1); - } - - if (sourceCode.isSpaceBetweenTokens(leftToken, rightToken)) { - reportError(node, leftToken, rightToken); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-with.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-with.js deleted file mode 100644 index 0fb2c451..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/no-with.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @fileoverview Rule to flag use of with statement - * @author Nicholas C. Zakas - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `with` statements", - recommended: true, - url: "https://eslint.org/docs/latest/rules/no-with" - }, - - schema: [], - - messages: { - unexpectedWith: "Unexpected use of 'with' statement." - } - }, - - create(context) { - - return { - WithStatement(node) { - context.report({ node, messageId: "unexpectedWith" }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/nonblock-statement-body-position.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/nonblock-statement-body-position.js deleted file mode 100644 index 811b32b0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +++ /dev/null @@ -1,127 +0,0 @@ -/** - * @fileoverview enforce the location of single-line statements - * @author Teddy Katz - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const POSITION_SCHEMA = { enum: ["beside", "below", "any"] }; - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce the location of single-line statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/nonblock-statement-body-position" - }, - - fixable: "whitespace", - - schema: [ - POSITION_SCHEMA, - { - properties: { - overrides: { - properties: { - if: POSITION_SCHEMA, - else: POSITION_SCHEMA, - while: POSITION_SCHEMA, - do: POSITION_SCHEMA, - for: POSITION_SCHEMA - }, - additionalProperties: false - } - }, - additionalProperties: false - } - ], - - messages: { - expectNoLinebreak: "Expected no linebreak before this statement.", - expectLinebreak: "Expected a linebreak before this statement." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - - /** - * Gets the applicable preference for a particular keyword - * @param {string} keywordName The name of a keyword, e.g. 'if' - * @returns {string} The applicable option for the keyword, e.g. 'beside' - */ - function getOption(keywordName) { - return context.options[1] && context.options[1].overrides && context.options[1].overrides[keywordName] || - context.options[0] || - "beside"; - } - - /** - * Validates the location of a single-line statement - * @param {ASTNode} node The single-line statement - * @param {string} keywordName The applicable keyword name for the single-line statement - * @returns {void} - */ - function validateStatement(node, keywordName) { - const option = getOption(keywordName); - - if (node.type === "BlockStatement" || option === "any") { - return; - } - - const tokenBefore = sourceCode.getTokenBefore(node); - - if (tokenBefore.loc.end.line === node.loc.start.line && option === "below") { - context.report({ - node, - messageId: "expectLinebreak", - fix: fixer => fixer.insertTextBefore(node, "\n") - }); - } else if (tokenBefore.loc.end.line !== node.loc.start.line && option === "beside") { - context.report({ - node, - messageId: "expectNoLinebreak", - fix(fixer) { - if (sourceCode.getText().slice(tokenBefore.range[1], node.range[0]).trim()) { - return null; - } - return fixer.replaceTextRange([tokenBefore.range[1], node.range[0]], " "); - } - }); - } - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - IfStatement(node) { - validateStatement(node.consequent, "if"); - - // Check the `else` node, but don't check 'else if' statements. - if (node.alternate && node.alternate.type !== "IfStatement") { - validateStatement(node.alternate, "else"); - } - }, - WhileStatement: node => validateStatement(node.body, "while"), - DoWhileStatement: node => validateStatement(node.body, "do"), - ForStatement: node => validateStatement(node.body, "for"), - ForInStatement: node => validateStatement(node.body, "for"), - ForOfStatement: node => validateStatement(node.body, "for") - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-newline.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-newline.js deleted file mode 100644 index 176694b6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-newline.js +++ /dev/null @@ -1,324 +0,0 @@ -/** - * @fileoverview Rule to require or disallow line breaks inside braces. - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -// Schema objects. -const OPTION_VALUE = { - oneOf: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - multiline: { - type: "boolean" - }, - minProperties: { - type: "integer", - minimum: 0 - }, - consistent: { - type: "boolean" - } - }, - additionalProperties: false, - minProperties: 1 - } - ] -}; - -/** - * Normalizes a given option value. - * @param {string|Object|undefined} value An option value to parse. - * @returns {{multiline: boolean, minProperties: number, consistent: boolean}} Normalized option object. - */ -function normalizeOptionValue(value) { - let multiline = false; - let minProperties = Number.POSITIVE_INFINITY; - let consistent = false; - - if (value) { - if (value === "always") { - minProperties = 0; - } else if (value === "never") { - minProperties = Number.POSITIVE_INFINITY; - } else { - multiline = Boolean(value.multiline); - minProperties = value.minProperties || Number.POSITIVE_INFINITY; - consistent = Boolean(value.consistent); - } - } else { - consistent = true; - } - - return { multiline, minProperties, consistent }; -} - -/** - * Checks if a value is an object. - * @param {any} value The value to check - * @returns {boolean} `true` if the value is an object, otherwise `false` - */ -function isObject(value) { - return typeof value === "object" && value !== null; -} - -/** - * Checks if an option is a node-specific option - * @param {any} option The option to check - * @returns {boolean} `true` if the option is node-specific, otherwise `false` - */ -function isNodeSpecificOption(option) { - return isObject(option) || typeof option === "string"; -} - -/** - * Normalizes a given option value. - * @param {string|Object|undefined} options An option value to parse. - * @returns {{ - * ObjectExpression: {multiline: boolean, minProperties: number, consistent: boolean}, - * ObjectPattern: {multiline: boolean, minProperties: number, consistent: boolean}, - * ImportDeclaration: {multiline: boolean, minProperties: number, consistent: boolean}, - * ExportNamedDeclaration : {multiline: boolean, minProperties: number, consistent: boolean} - * }} Normalized option object. - */ -function normalizeOptions(options) { - if (isObject(options) && Object.values(options).some(isNodeSpecificOption)) { - return { - ObjectExpression: normalizeOptionValue(options.ObjectExpression), - ObjectPattern: normalizeOptionValue(options.ObjectPattern), - ImportDeclaration: normalizeOptionValue(options.ImportDeclaration), - ExportNamedDeclaration: normalizeOptionValue(options.ExportDeclaration) - }; - } - - const value = normalizeOptionValue(options); - - return { ObjectExpression: value, ObjectPattern: value, ImportDeclaration: value, ExportNamedDeclaration: value }; -} - -/** - * Determines if ObjectExpression, ObjectPattern, ImportDeclaration or ExportNamedDeclaration - * node needs to be checked for missing line breaks - * @param {ASTNode} node Node under inspection - * @param {Object} options option specific to node type - * @param {Token} first First object property - * @param {Token} last Last object property - * @returns {boolean} `true` if node needs to be checked for missing line breaks - */ -function areLineBreaksRequired(node, options, first, last) { - let objectProperties; - - if (node.type === "ObjectExpression" || node.type === "ObjectPattern") { - objectProperties = node.properties; - } else { - - // is ImportDeclaration or ExportNamedDeclaration - objectProperties = node.specifiers - .filter(s => s.type === "ImportSpecifier" || s.type === "ExportSpecifier"); - } - - return objectProperties.length >= options.minProperties || - ( - options.multiline && - objectProperties.length > 0 && - first.loc.start.line !== last.loc.end.line - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent line breaks after opening and before closing braces", - recommended: false, - url: "https://eslint.org/docs/latest/rules/object-curly-newline" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - OPTION_VALUE, - { - type: "object", - properties: { - ObjectExpression: OPTION_VALUE, - ObjectPattern: OPTION_VALUE, - ImportDeclaration: OPTION_VALUE, - ExportDeclaration: OPTION_VALUE - }, - additionalProperties: false, - minProperties: 1 - } - ] - } - ], - - messages: { - unexpectedLinebreakBeforeClosingBrace: "Unexpected line break before this closing brace.", - unexpectedLinebreakAfterOpeningBrace: "Unexpected line break after this opening brace.", - expectedLinebreakBeforeClosingBrace: "Expected a line break before this closing brace.", - expectedLinebreakAfterOpeningBrace: "Expected a line break after this opening brace." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const normalizedOptions = normalizeOptions(context.options[0]); - - /** - * Reports a given node if it violated this rule. - * @param {ASTNode} node A node to check. This is an ObjectExpression, ObjectPattern, ImportDeclaration or ExportNamedDeclaration node. - * @returns {void} - */ - function check(node) { - const options = normalizedOptions[node.type]; - - if ( - (node.type === "ImportDeclaration" && - !node.specifiers.some(specifier => specifier.type === "ImportSpecifier")) || - (node.type === "ExportNamedDeclaration" && - !node.specifiers.some(specifier => specifier.type === "ExportSpecifier")) - ) { - return; - } - - const openBrace = sourceCode.getFirstToken(node, token => token.value === "{"); - - let closeBrace; - - if (node.typeAnnotation) { - closeBrace = sourceCode.getTokenBefore(node.typeAnnotation); - } else { - closeBrace = sourceCode.getLastToken(node, token => token.value === "}"); - } - - let first = sourceCode.getTokenAfter(openBrace, { includeComments: true }); - let last = sourceCode.getTokenBefore(closeBrace, { includeComments: true }); - - const needsLineBreaks = areLineBreaksRequired(node, options, first, last); - - const hasCommentsFirstToken = astUtils.isCommentToken(first); - const hasCommentsLastToken = astUtils.isCommentToken(last); - - /* - * Use tokens or comments to check multiline or not. - * But use only tokens to check whether line breaks are needed. - * This allows: - * var obj = { // eslint-disable-line foo - * a: 1 - * } - */ - first = sourceCode.getTokenAfter(openBrace); - last = sourceCode.getTokenBefore(closeBrace); - - if (needsLineBreaks) { - if (astUtils.isTokenOnSameLine(openBrace, first)) { - context.report({ - messageId: "expectedLinebreakAfterOpeningBrace", - node, - loc: openBrace.loc, - fix(fixer) { - if (hasCommentsFirstToken) { - return null; - } - - return fixer.insertTextAfter(openBrace, "\n"); - } - }); - } - if (astUtils.isTokenOnSameLine(last, closeBrace)) { - context.report({ - messageId: "expectedLinebreakBeforeClosingBrace", - node, - loc: closeBrace.loc, - fix(fixer) { - if (hasCommentsLastToken) { - return null; - } - - return fixer.insertTextBefore(closeBrace, "\n"); - } - }); - } - } else { - const consistent = options.consistent; - const hasLineBreakBetweenOpenBraceAndFirst = !astUtils.isTokenOnSameLine(openBrace, first); - const hasLineBreakBetweenCloseBraceAndLast = !astUtils.isTokenOnSameLine(last, closeBrace); - - if ( - (!consistent && hasLineBreakBetweenOpenBraceAndFirst) || - (consistent && hasLineBreakBetweenOpenBraceAndFirst && !hasLineBreakBetweenCloseBraceAndLast) - ) { - context.report({ - messageId: "unexpectedLinebreakAfterOpeningBrace", - node, - loc: openBrace.loc, - fix(fixer) { - if (hasCommentsFirstToken) { - return null; - } - - return fixer.removeRange([ - openBrace.range[1], - first.range[0] - ]); - } - }); - } - if ( - (!consistent && hasLineBreakBetweenCloseBraceAndLast) || - (consistent && !hasLineBreakBetweenOpenBraceAndFirst && hasLineBreakBetweenCloseBraceAndLast) - ) { - context.report({ - messageId: "unexpectedLinebreakBeforeClosingBrace", - node, - loc: closeBrace.loc, - fix(fixer) { - if (hasCommentsLastToken) { - return null; - } - - return fixer.removeRange([ - last.range[1], - closeBrace.range[0] - ]); - } - }); - } - } - } - - return { - ObjectExpression: check, - ObjectPattern: check, - ImportDeclaration: check, - ExportNamedDeclaration: check - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-spacing.js deleted file mode 100644 index 6cb0b0f9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-curly-spacing.js +++ /dev/null @@ -1,311 +0,0 @@ -/** - * @fileoverview Disallows or enforces spaces inside of object literals. - * @author Jamund Ferguson - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing inside braces", - recommended: false, - url: "https://eslint.org/docs/latest/rules/object-curly-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - arraysInObjects: { - type: "boolean" - }, - objectsInObjects: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - requireSpaceBefore: "A space is required before '{{token}}'.", - requireSpaceAfter: "A space is required after '{{token}}'.", - unexpectedSpaceBefore: "There should be no space before '{{token}}'.", - unexpectedSpaceAfter: "There should be no space after '{{token}}'." - } - }, - - create(context) { - const spaced = context.options[0] === "always", - sourceCode = context.sourceCode; - - /** - * Determines whether an option is set, relative to the spacing option. - * If spaced is "always", then check whether option is set to false. - * If spaced is "never", then check whether option is set to true. - * @param {Object} option The option to exclude. - * @returns {boolean} Whether or not the property is excluded. - */ - function isOptionSet(option) { - return context.options[1] ? context.options[1][option] === !spaced : false; - } - - const options = { - spaced, - arraysInObjectsException: isOptionSet("arraysInObjects"), - objectsInObjectsException: isOptionSet("objectsInObjects") - }; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Reports that there shouldn't be a space after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportNoBeginningSpace(node, token) { - const nextToken = context.sourceCode.getTokenAfter(token, { includeComments: true }); - - context.report({ - node, - loc: { start: token.loc.end, end: nextToken.loc.start }, - messageId: "unexpectedSpaceAfter", - data: { - token: token.value - }, - fix(fixer) { - return fixer.removeRange([token.range[1], nextToken.range[0]]); - } - }); - } - - /** - * Reports that there shouldn't be a space before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportNoEndingSpace(node, token) { - const previousToken = context.sourceCode.getTokenBefore(token, { includeComments: true }); - - context.report({ - node, - loc: { start: previousToken.loc.end, end: token.loc.start }, - messageId: "unexpectedSpaceBefore", - data: { - token: token.value - }, - fix(fixer) { - return fixer.removeRange([previousToken.range[1], token.range[0]]); - } - }); - } - - /** - * Reports that there should be a space after the first token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredBeginningSpace(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "requireSpaceAfter", - data: { - token: token.value - }, - fix(fixer) { - return fixer.insertTextAfter(token, " "); - } - }); - } - - /** - * Reports that there should be a space before the last token - * @param {ASTNode} node The node to report in the event of an error. - * @param {Token} token The token to use for the report. - * @returns {void} - */ - function reportRequiredEndingSpace(node, token) { - context.report({ - node, - loc: token.loc, - messageId: "requireSpaceBefore", - data: { - token: token.value - }, - fix(fixer) { - return fixer.insertTextBefore(token, " "); - } - }); - } - - /** - * Determines if spacing in curly braces is valid. - * @param {ASTNode} node The AST node to check. - * @param {Token} first The first token to check (should be the opening brace) - * @param {Token} second The second token to check (should be first after the opening brace) - * @param {Token} penultimate The penultimate token to check (should be last before closing brace) - * @param {Token} last The last token to check (should be closing brace) - * @returns {void} - */ - function validateBraceSpacing(node, first, second, penultimate, last) { - if (astUtils.isTokenOnSameLine(first, second)) { - const firstSpaced = sourceCode.isSpaceBetweenTokens(first, second); - - if (options.spaced && !firstSpaced) { - reportRequiredBeginningSpace(node, first); - } - if (!options.spaced && firstSpaced && second.type !== "Line") { - reportNoBeginningSpace(node, first); - } - } - - if (astUtils.isTokenOnSameLine(penultimate, last)) { - const shouldCheckPenultimate = ( - options.arraysInObjectsException && astUtils.isClosingBracketToken(penultimate) || - options.objectsInObjectsException && astUtils.isClosingBraceToken(penultimate) - ); - const penultimateType = shouldCheckPenultimate && sourceCode.getNodeByRangeIndex(penultimate.range[0]).type; - - const closingCurlyBraceMustBeSpaced = ( - options.arraysInObjectsException && penultimateType === "ArrayExpression" || - options.objectsInObjectsException && (penultimateType === "ObjectExpression" || penultimateType === "ObjectPattern") - ) ? !options.spaced : options.spaced; - - const lastSpaced = sourceCode.isSpaceBetweenTokens(penultimate, last); - - if (closingCurlyBraceMustBeSpaced && !lastSpaced) { - reportRequiredEndingSpace(node, last); - } - if (!closingCurlyBraceMustBeSpaced && lastSpaced) { - reportNoEndingSpace(node, last); - } - } - } - - /** - * Gets '}' token of an object node. - * - * Because the last token of object patterns might be a type annotation, - * this traverses tokens preceded by the last property, then returns the - * first '}' token. - * @param {ASTNode} node The node to get. This node is an - * ObjectExpression or an ObjectPattern. And this node has one or - * more properties. - * @returns {Token} '}' token. - */ - function getClosingBraceOfObject(node) { - const lastProperty = node.properties.at(-1); - - return sourceCode.getTokenAfter(lastProperty, astUtils.isClosingBraceToken); - } - - /** - * Reports a given object node if spacing in curly braces is invalid. - * @param {ASTNode} node An ObjectExpression or ObjectPattern node to check. - * @returns {void} - */ - function checkForObject(node) { - if (node.properties.length === 0) { - return; - } - - const first = sourceCode.getFirstToken(node), - last = getClosingBraceOfObject(node), - second = sourceCode.getTokenAfter(first, { includeComments: true }), - penultimate = sourceCode.getTokenBefore(last, { includeComments: true }); - - validateBraceSpacing(node, first, second, penultimate, last); - } - - /** - * Reports a given import node if spacing in curly braces is invalid. - * @param {ASTNode} node An ImportDeclaration node to check. - * @returns {void} - */ - function checkForImport(node) { - if (node.specifiers.length === 0) { - return; - } - - let firstSpecifier = node.specifiers[0]; - const lastSpecifier = node.specifiers.at(-1); - - if (lastSpecifier.type !== "ImportSpecifier") { - return; - } - if (firstSpecifier.type !== "ImportSpecifier") { - firstSpecifier = node.specifiers[1]; - } - - const first = sourceCode.getTokenBefore(firstSpecifier), - last = sourceCode.getTokenAfter(lastSpecifier, astUtils.isNotCommaToken), - second = sourceCode.getTokenAfter(first, { includeComments: true }), - penultimate = sourceCode.getTokenBefore(last, { includeComments: true }); - - validateBraceSpacing(node, first, second, penultimate, last); - } - - /** - * Reports a given export node if spacing in curly braces is invalid. - * @param {ASTNode} node An ExportNamedDeclaration node to check. - * @returns {void} - */ - function checkForExport(node) { - if (node.specifiers.length === 0) { - return; - } - - const firstSpecifier = node.specifiers[0], - lastSpecifier = node.specifiers.at(-1), - first = sourceCode.getTokenBefore(firstSpecifier), - last = sourceCode.getTokenAfter(lastSpecifier, astUtils.isNotCommaToken), - second = sourceCode.getTokenAfter(first, { includeComments: true }), - penultimate = sourceCode.getTokenBefore(last, { includeComments: true }); - - validateBraceSpacing(node, first, second, penultimate, last); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - // var {x} = y; - ObjectPattern: checkForObject, - - // var y = {x: 'y'} - ObjectExpression: checkForObject, - - // import {y} from 'x'; - ImportDeclaration: checkForImport, - - // export {name} from 'yo'; - ExportNamedDeclaration: checkForExport - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-property-newline.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-property-newline.js deleted file mode 100644 index 8a08676c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-property-newline.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * @fileoverview Rule to enforce placing object properties on separate lines. - * @author Vitor Balocco - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce placing object properties on separate lines", - recommended: false, - url: "https://eslint.org/docs/latest/rules/object-property-newline" - }, - - schema: [ - { - type: "object", - properties: { - allowAllPropertiesOnSameLine: { - type: "boolean", - default: false - }, - allowMultiplePropertiesPerLine: { // Deprecated - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - fixable: "whitespace", - - messages: { - propertiesOnNewlineAll: "Object properties must go on a new line if they aren't all on the same line.", - propertiesOnNewline: "Object properties must go on a new line." - } - }, - - create(context) { - const allowSameLine = context.options[0] && ( - (context.options[0].allowAllPropertiesOnSameLine || context.options[0].allowMultiplePropertiesPerLine /* Deprecated */) - ); - const messageId = allowSameLine - ? "propertiesOnNewlineAll" - : "propertiesOnNewline"; - - const sourceCode = context.sourceCode; - - return { - ObjectExpression(node) { - if (allowSameLine) { - if (node.properties.length > 1) { - const firstTokenOfFirstProperty = sourceCode.getFirstToken(node.properties[0]); - const lastTokenOfLastProperty = sourceCode.getLastToken(node.properties.at(-1)); - - if (firstTokenOfFirstProperty.loc.end.line === lastTokenOfLastProperty.loc.start.line) { - - // All keys and values are on the same line - return; - } - } - } - - for (let i = 1; i < node.properties.length; i++) { - const lastTokenOfPreviousProperty = sourceCode.getLastToken(node.properties[i - 1]); - const firstTokenOfCurrentProperty = sourceCode.getFirstToken(node.properties[i]); - - if (lastTokenOfPreviousProperty.loc.end.line === firstTokenOfCurrentProperty.loc.start.line) { - context.report({ - node, - loc: firstTokenOfCurrentProperty.loc, - messageId, - fix(fixer) { - const comma = sourceCode.getTokenBefore(firstTokenOfCurrentProperty); - const rangeAfterComma = [comma.range[1], firstTokenOfCurrentProperty.range[0]]; - - // Don't perform a fix if there are any comments between the comma and the next property. - if (sourceCode.text.slice(rangeAfterComma[0], rangeAfterComma[1]).trim()) { - return null; - } - - return fixer.replaceTextRange(rangeAfterComma, "\n"); - } - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-shorthand.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-shorthand.js deleted file mode 100644 index f035bbe5..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/object-shorthand.js +++ /dev/null @@ -1,521 +0,0 @@ -/** - * @fileoverview Rule to enforce concise object methods and properties. - * @author Jamund Ferguson - */ - -"use strict"; - -const OPTIONS = { - always: "always", - never: "never", - methods: "methods", - properties: "properties", - consistent: "consistent", - consistentAsNeeded: "consistent-as-needed" -}; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require or disallow method and property shorthand syntax for object literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/object-shorthand" - }, - - fixable: "code", - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["always", "methods", "properties", "never", "consistent", "consistent-as-needed"] - } - ], - minItems: 0, - maxItems: 1 - }, - { - type: "array", - items: [ - { - enum: ["always", "methods", "properties"] - }, - { - type: "object", - properties: { - avoidQuotes: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - }, - { - type: "array", - items: [ - { - enum: ["always", "methods"] - }, - { - type: "object", - properties: { - ignoreConstructors: { - type: "boolean" - }, - methodsIgnorePattern: { - type: "string" - }, - avoidQuotes: { - type: "boolean" - }, - avoidExplicitReturnArrows: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - - messages: { - expectedAllPropertiesShorthanded: "Expected shorthand for all properties.", - expectedLiteralMethodLongform: "Expected longform method syntax for string literal keys.", - expectedPropertyShorthand: "Expected property shorthand.", - expectedPropertyLongform: "Expected longform property syntax.", - expectedMethodShorthand: "Expected method shorthand.", - expectedMethodLongform: "Expected longform method syntax.", - unexpectedMix: "Unexpected mix of shorthand and non-shorthand properties." - } - }, - - create(context) { - const APPLY = context.options[0] || OPTIONS.always; - const APPLY_TO_METHODS = APPLY === OPTIONS.methods || APPLY === OPTIONS.always; - const APPLY_TO_PROPS = APPLY === OPTIONS.properties || APPLY === OPTIONS.always; - const APPLY_NEVER = APPLY === OPTIONS.never; - const APPLY_CONSISTENT = APPLY === OPTIONS.consistent; - const APPLY_CONSISTENT_AS_NEEDED = APPLY === OPTIONS.consistentAsNeeded; - - const PARAMS = context.options[1] || {}; - const IGNORE_CONSTRUCTORS = PARAMS.ignoreConstructors; - const METHODS_IGNORE_PATTERN = PARAMS.methodsIgnorePattern - ? new RegExp(PARAMS.methodsIgnorePattern, "u") - : null; - const AVOID_QUOTES = PARAMS.avoidQuotes; - const AVOID_EXPLICIT_RETURN_ARROWS = !!PARAMS.avoidExplicitReturnArrows; - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - const CTOR_PREFIX_REGEX = /[^_$0-9]/u; - - /** - * Determines if the first character of the name is a capital letter. - * @param {string} name The name of the node to evaluate. - * @returns {boolean} True if the first character of the property name is a capital letter, false if not. - * @private - */ - function isConstructor(name) { - const match = CTOR_PREFIX_REGEX.exec(name); - - // Not a constructor if name has no characters apart from '_', '$' and digits e.g. '_', '$$', '_8' - if (!match) { - return false; - } - - const firstChar = name.charAt(match.index); - - return firstChar === firstChar.toUpperCase(); - } - - /** - * Determines if the property can have a shorthand form. - * @param {ASTNode} property Property AST node - * @returns {boolean} True if the property can have a shorthand form - * @private - */ - function canHaveShorthand(property) { - return (property.kind !== "set" && property.kind !== "get" && property.type !== "SpreadElement" && property.type !== "SpreadProperty" && property.type !== "ExperimentalSpreadProperty"); - } - - /** - * Checks whether a node is a string literal. - * @param {ASTNode} node Any AST node. - * @returns {boolean} `true` if it is a string literal. - */ - function isStringLiteral(node) { - return node.type === "Literal" && typeof node.value === "string"; - } - - /** - * Determines if the property is a shorthand or not. - * @param {ASTNode} property Property AST node - * @returns {boolean} True if the property is considered shorthand, false if not. - * @private - */ - function isShorthand(property) { - - // property.method is true when `{a(){}}`. - return (property.shorthand || property.method); - } - - /** - * Determines if the property's key and method or value are named equally. - * @param {ASTNode} property Property AST node - * @returns {boolean} True if the key and value are named equally, false if not. - * @private - */ - function isRedundant(property) { - const value = property.value; - - if (value.type === "FunctionExpression") { - return !value.id; // Only anonymous should be shorthand method. - } - if (value.type === "Identifier") { - return astUtils.getStaticPropertyName(property) === value.name; - } - - return false; - } - - /** - * Ensures that an object's properties are consistently shorthand, or not shorthand at all. - * @param {ASTNode} node Property AST node - * @param {boolean} checkRedundancy Whether to check longform redundancy - * @returns {void} - */ - function checkConsistency(node, checkRedundancy) { - - // We are excluding getters/setters and spread properties as they are considered neither longform nor shorthand. - const properties = node.properties.filter(canHaveShorthand); - - // Do we still have properties left after filtering the getters and setters? - if (properties.length > 0) { - const shorthandProperties = properties.filter(isShorthand); - - /* - * If we do not have an equal number of longform properties as - * shorthand properties, we are using the annotations inconsistently - */ - if (shorthandProperties.length !== properties.length) { - - // We have at least 1 shorthand property - if (shorthandProperties.length > 0) { - context.report({ node, messageId: "unexpectedMix" }); - } else if (checkRedundancy) { - - /* - * If all properties of the object contain a method or value with a name matching it's key, - * all the keys are redundant. - */ - const canAlwaysUseShorthand = properties.every(isRedundant); - - if (canAlwaysUseShorthand) { - context.report({ node, messageId: "expectedAllPropertiesShorthanded" }); - } - } - } - } - } - - /** - * Fixes a FunctionExpression node by making it into a shorthand property. - * @param {SourceCodeFixer} fixer The fixer object - * @param {ASTNode} node A `Property` node that has a `FunctionExpression` or `ArrowFunctionExpression` as its value - * @returns {Object} A fix for this node - */ - function makeFunctionShorthand(fixer, node) { - const firstKeyToken = node.computed - ? sourceCode.getFirstToken(node, astUtils.isOpeningBracketToken) - : sourceCode.getFirstToken(node.key); - const lastKeyToken = node.computed - ? sourceCode.getFirstTokenBetween(node.key, node.value, astUtils.isClosingBracketToken) - : sourceCode.getLastToken(node.key); - const keyText = sourceCode.text.slice(firstKeyToken.range[0], lastKeyToken.range[1]); - let keyPrefix = ""; - - // key: /* */ () => {} - if (sourceCode.commentsExistBetween(lastKeyToken, node.value)) { - return null; - } - - if (node.value.async) { - keyPrefix += "async "; - } - if (node.value.generator) { - keyPrefix += "*"; - } - - const fixRange = [firstKeyToken.range[0], node.range[1]]; - const methodPrefix = keyPrefix + keyText; - - if (node.value.type === "FunctionExpression") { - const functionToken = sourceCode.getTokens(node.value).find(token => token.type === "Keyword" && token.value === "function"); - const tokenBeforeParams = node.value.generator ? sourceCode.getTokenAfter(functionToken) : functionToken; - - return fixer.replaceTextRange( - fixRange, - methodPrefix + sourceCode.text.slice(tokenBeforeParams.range[1], node.value.range[1]) - ); - } - - const arrowToken = sourceCode.getTokenBefore(node.value.body, astUtils.isArrowToken); - const fnBody = sourceCode.text.slice(arrowToken.range[1], node.value.range[1]); - - // First token should not be `async` - const firstValueToken = sourceCode.getFirstToken(node.value, { - skip: node.value.async ? 1 : 0 - }); - - const sliceStart = firstValueToken.range[0]; - const sliceEnd = sourceCode.getTokenBefore(arrowToken).range[1]; - const shouldAddParens = node.value.params.length === 1 && node.value.params[0].range[0] === sliceStart; - - const oldParamText = sourceCode.text.slice(sliceStart, sliceEnd); - const newParamText = shouldAddParens ? `(${oldParamText})` : oldParamText; - - return fixer.replaceTextRange( - fixRange, - methodPrefix + newParamText + fnBody - ); - } - - /** - * Fixes a FunctionExpression node by making it into a longform property. - * @param {SourceCodeFixer} fixer The fixer object - * @param {ASTNode} node A `Property` node that has a `FunctionExpression` as its value - * @returns {Object} A fix for this node - */ - function makeFunctionLongform(fixer, node) { - const firstKeyToken = node.computed ? sourceCode.getTokens(node).find(token => token.value === "[") : sourceCode.getFirstToken(node.key); - const lastKeyToken = node.computed ? sourceCode.getTokensBetween(node.key, node.value).find(token => token.value === "]") : sourceCode.getLastToken(node.key); - const keyText = sourceCode.text.slice(firstKeyToken.range[0], lastKeyToken.range[1]); - let functionHeader = "function"; - - if (node.value.async) { - functionHeader = `async ${functionHeader}`; - } - if (node.value.generator) { - functionHeader = `${functionHeader}*`; - } - - return fixer.replaceTextRange([node.range[0], lastKeyToken.range[1]], `${keyText}: ${functionHeader}`); - } - - /* - * To determine whether a given arrow function has a lexical identifier (`this`, `arguments`, `super`, or `new.target`), - * create a stack of functions that define these identifiers (i.e. all functions except arrow functions) as the AST is - * traversed. Whenever a new function is encountered, create a new entry on the stack (corresponding to a different lexical - * scope of `this`), and whenever a function is exited, pop that entry off the stack. When an arrow function is entered, - * keep a reference to it on the current stack entry, and remove that reference when the arrow function is exited. - * When a lexical identifier is encountered, mark all the arrow functions on the current stack entry by adding them - * to an `arrowsWithLexicalIdentifiers` set. Any arrow function in that set will not be reported by this rule, - * because converting it into a method would change the value of one of the lexical identifiers. - */ - const lexicalScopeStack = []; - const arrowsWithLexicalIdentifiers = new WeakSet(); - const argumentsIdentifiers = new WeakSet(); - - /** - * Enters a function. This creates a new lexical identifier scope, so a new Set of arrow functions is pushed onto the stack. - * Also, this marks all `arguments` identifiers so that they can be detected later. - * @param {ASTNode} node The node representing the function. - * @returns {void} - */ - function enterFunction(node) { - lexicalScopeStack.unshift(new Set()); - sourceCode.getScope(node).variables.filter(variable => variable.name === "arguments").forEach(variable => { - variable.references.map(ref => ref.identifier).forEach(identifier => argumentsIdentifiers.add(identifier)); - }); - } - - /** - * Exits a function. This pops the current set of arrow functions off the lexical scope stack. - * @returns {void} - */ - function exitFunction() { - lexicalScopeStack.shift(); - } - - /** - * Marks the current function as having a lexical keyword. This implies that all arrow functions - * in the current lexical scope contain a reference to this lexical keyword. - * @returns {void} - */ - function reportLexicalIdentifier() { - lexicalScopeStack[0].forEach(arrowFunction => arrowsWithLexicalIdentifiers.add(arrowFunction)); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program: enterFunction, - FunctionDeclaration: enterFunction, - FunctionExpression: enterFunction, - "Program:exit": exitFunction, - "FunctionDeclaration:exit": exitFunction, - "FunctionExpression:exit": exitFunction, - - ArrowFunctionExpression(node) { - lexicalScopeStack[0].add(node); - }, - "ArrowFunctionExpression:exit"(node) { - lexicalScopeStack[0].delete(node); - }, - - ThisExpression: reportLexicalIdentifier, - Super: reportLexicalIdentifier, - MetaProperty(node) { - if (node.meta.name === "new" && node.property.name === "target") { - reportLexicalIdentifier(); - } - }, - Identifier(node) { - if (argumentsIdentifiers.has(node)) { - reportLexicalIdentifier(); - } - }, - - ObjectExpression(node) { - if (APPLY_CONSISTENT) { - checkConsistency(node, false); - } else if (APPLY_CONSISTENT_AS_NEEDED) { - checkConsistency(node, true); - } - }, - - "Property:exit"(node) { - const isConciseProperty = node.method || node.shorthand; - - // Ignore destructuring assignment - if (node.parent.type === "ObjectPattern") { - return; - } - - // getters and setters are ignored - if (node.kind === "get" || node.kind === "set") { - return; - } - - // only computed methods can fail the following checks - if (node.computed && node.value.type !== "FunctionExpression" && node.value.type !== "ArrowFunctionExpression") { - return; - } - - //-------------------------------------------------------------- - // Checks for property/method shorthand. - if (isConciseProperty) { - if (node.method && (APPLY_NEVER || AVOID_QUOTES && isStringLiteral(node.key))) { - const messageId = APPLY_NEVER ? "expectedMethodLongform" : "expectedLiteralMethodLongform"; - - // { x() {} } should be written as { x: function() {} } - context.report({ - node, - messageId, - fix: fixer => makeFunctionLongform(fixer, node) - }); - } else if (APPLY_NEVER) { - - // { x } should be written as { x: x } - context.report({ - node, - messageId: "expectedPropertyLongform", - fix: fixer => fixer.insertTextAfter(node.key, `: ${node.key.name}`) - }); - } - } else if (APPLY_TO_METHODS && !node.value.id && (node.value.type === "FunctionExpression" || node.value.type === "ArrowFunctionExpression")) { - if (IGNORE_CONSTRUCTORS && node.key.type === "Identifier" && isConstructor(node.key.name)) { - return; - } - - if (METHODS_IGNORE_PATTERN) { - const propertyName = astUtils.getStaticPropertyName(node); - - if (propertyName !== null && METHODS_IGNORE_PATTERN.test(propertyName)) { - return; - } - } - - if (AVOID_QUOTES && isStringLiteral(node.key)) { - return; - } - - // {[x]: function(){}} should be written as {[x]() {}} - if (node.value.type === "FunctionExpression" || - node.value.type === "ArrowFunctionExpression" && - node.value.body.type === "BlockStatement" && - AVOID_EXPLICIT_RETURN_ARROWS && - !arrowsWithLexicalIdentifiers.has(node.value) - ) { - context.report({ - node, - messageId: "expectedMethodShorthand", - fix: fixer => makeFunctionShorthand(fixer, node) - }); - } - } else if (node.value.type === "Identifier" && node.key.name === node.value.name && APPLY_TO_PROPS) { - - // {x: x} should be written as {x} - context.report({ - node, - messageId: "expectedPropertyShorthand", - fix(fixer) { - - // x: /* */ x - // x: (/* */ x) - if (sourceCode.getCommentsInside(node).length > 0) { - return null; - } - - return fixer.replaceText(node, node.value.name); - } - }); - } else if (node.value.type === "Identifier" && node.key.type === "Literal" && node.key.value === node.value.name && APPLY_TO_PROPS) { - if (AVOID_QUOTES) { - return; - } - - // {"x": x} should be written as {x} - context.report({ - node, - messageId: "expectedPropertyShorthand", - fix(fixer) { - - // "x": /* */ x - // "x": (/* */ x) - if (sourceCode.getCommentsInside(node).length > 0) { - return null; - } - - return fixer.replaceText(node, node.value.name); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var-declaration-per-line.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var-declaration-per-line.js deleted file mode 100644 index 340eac16..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +++ /dev/null @@ -1,95 +0,0 @@ -/** - * @fileoverview Rule to check multiple var declarations per line - * @author Alberto Rodríguez - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - - docs: { - description: "Require or disallow newlines around variable declarations", - recommended: false, - url: "https://eslint.org/docs/latest/rules/one-var-declaration-per-line" - }, - - schema: [ - { - enum: ["always", "initializations"] - } - ], - - fixable: "whitespace", - - messages: { - expectVarOnNewline: "Expected variable declaration to be on a new line." - } - }, - - create(context) { - - const always = context.options[0] === "always"; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - - /** - * Determine if provided keyword is a variant of for specifiers - * @private - * @param {string} keyword keyword to test - * @returns {boolean} True if `keyword` is a variant of for specifier - */ - function isForTypeSpecifier(keyword) { - return keyword === "ForStatement" || keyword === "ForInStatement" || keyword === "ForOfStatement"; - } - - /** - * Checks newlines around variable declarations. - * @private - * @param {ASTNode} node `VariableDeclaration` node to test - * @returns {void} - */ - function checkForNewLine(node) { - if (isForTypeSpecifier(node.parent.type)) { - return; - } - - const declarations = node.declarations; - let prev; - - declarations.forEach(current => { - if (prev && prev.loc.end.line === current.loc.start.line) { - if (always || prev.init || current.init) { - context.report({ - node, - messageId: "expectVarOnNewline", - loc: current.loc, - fix: fixer => fixer.insertTextBefore(current, "\n") - }); - } - } - prev = current; - }); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - VariableDeclaration: checkForNewLine - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var.js deleted file mode 100644 index ba461a40..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/one-var.js +++ /dev/null @@ -1,567 +0,0 @@ -/** - * @fileoverview A rule to control the use of single variable declarations. - * @author Ian Christian Myers - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines whether the given node is in a statement list. - * @param {ASTNode} node node to check - * @returns {boolean} `true` if the given node is in a statement list - */ -function isInStatementList(node) { - return astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce variables to be declared either together or separately in functions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/one-var" - }, - - fixable: "code", - - schema: [ - { - oneOf: [ - { - enum: ["always", "never", "consecutive"] - }, - { - type: "object", - properties: { - separateRequires: { - type: "boolean" - }, - var: { - enum: ["always", "never", "consecutive"] - }, - let: { - enum: ["always", "never", "consecutive"] - }, - const: { - enum: ["always", "never", "consecutive"] - } - }, - additionalProperties: false - }, - { - type: "object", - properties: { - initialized: { - enum: ["always", "never", "consecutive"] - }, - uninitialized: { - enum: ["always", "never", "consecutive"] - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - combineUninitialized: "Combine this with the previous '{{type}}' statement with uninitialized variables.", - combineInitialized: "Combine this with the previous '{{type}}' statement with initialized variables.", - splitUninitialized: "Split uninitialized '{{type}}' declarations into multiple statements.", - splitInitialized: "Split initialized '{{type}}' declarations into multiple statements.", - splitRequires: "Split requires to be separated into a single block.", - combine: "Combine this with the previous '{{type}}' statement.", - split: "Split '{{type}}' declarations into multiple statements." - } - }, - - create(context) { - const MODE_ALWAYS = "always"; - const MODE_NEVER = "never"; - const MODE_CONSECUTIVE = "consecutive"; - const mode = context.options[0] || MODE_ALWAYS; - - const options = {}; - - if (typeof mode === "string") { // simple options configuration with just a string - options.var = { uninitialized: mode, initialized: mode }; - options.let = { uninitialized: mode, initialized: mode }; - options.const = { uninitialized: mode, initialized: mode }; - } else if (typeof mode === "object") { // options configuration is an object - options.separateRequires = !!mode.separateRequires; - options.var = { uninitialized: mode.var, initialized: mode.var }; - options.let = { uninitialized: mode.let, initialized: mode.let }; - options.const = { uninitialized: mode.const, initialized: mode.const }; - if (Object.hasOwn(mode, "uninitialized")) { - options.var.uninitialized = mode.uninitialized; - options.let.uninitialized = mode.uninitialized; - options.const.uninitialized = mode.uninitialized; - } - if (Object.hasOwn(mode, "initialized")) { - options.var.initialized = mode.initialized; - options.let.initialized = mode.initialized; - options.const.initialized = mode.initialized; - } - } - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - const functionStack = []; - const blockStack = []; - - /** - * Increments the blockStack counter. - * @returns {void} - * @private - */ - function startBlock() { - blockStack.push({ - let: { initialized: false, uninitialized: false }, - const: { initialized: false, uninitialized: false } - }); - } - - /** - * Increments the functionStack counter. - * @returns {void} - * @private - */ - function startFunction() { - functionStack.push({ initialized: false, uninitialized: false }); - startBlock(); - } - - /** - * Decrements the blockStack counter. - * @returns {void} - * @private - */ - function endBlock() { - blockStack.pop(); - } - - /** - * Decrements the functionStack counter. - * @returns {void} - * @private - */ - function endFunction() { - functionStack.pop(); - endBlock(); - } - - /** - * Check if a variable declaration is a require. - * @param {ASTNode} decl variable declaration Node - * @returns {bool} if decl is a require, return true; else return false. - * @private - */ - function isRequire(decl) { - return decl.init && decl.init.type === "CallExpression" && decl.init.callee.name === "require"; - } - - /** - * Records whether initialized/uninitialized/required variables are defined in current scope. - * @param {string} statementType node.kind, one of: "var", "let", or "const" - * @param {ASTNode[]} declarations List of declarations - * @param {Object} currentScope The scope being investigated - * @returns {void} - * @private - */ - function recordTypes(statementType, declarations, currentScope) { - for (let i = 0; i < declarations.length; i++) { - if (declarations[i].init === null) { - if (options[statementType] && options[statementType].uninitialized === MODE_ALWAYS) { - currentScope.uninitialized = true; - } - } else { - if (options[statementType] && options[statementType].initialized === MODE_ALWAYS) { - if (options.separateRequires && isRequire(declarations[i])) { - currentScope.required = true; - } else { - currentScope.initialized = true; - } - } - } - } - } - - /** - * Determines the current scope (function or block) - * @param {string} statementType node.kind, one of: "var", "let", or "const" - * @returns {Object} The scope associated with statementType - */ - function getCurrentScope(statementType) { - let currentScope; - - if (statementType === "var") { - currentScope = functionStack.at(-1); - } else if (statementType === "let") { - currentScope = blockStack.at(-1).let; - } else if (statementType === "const") { - currentScope = blockStack.at(-1).const; - } - return currentScope; - } - - /** - * Counts the number of initialized and uninitialized declarations in a list of declarations - * @param {ASTNode[]} declarations List of declarations - * @returns {Object} Counts of 'uninitialized' and 'initialized' declarations - * @private - */ - function countDeclarations(declarations) { - const counts = { uninitialized: 0, initialized: 0 }; - - for (let i = 0; i < declarations.length; i++) { - if (declarations[i].init === null) { - counts.uninitialized++; - } else { - counts.initialized++; - } - } - return counts; - } - - /** - * Determines if there is more than one var statement in the current scope. - * @param {string} statementType node.kind, one of: "var", "let", or "const" - * @param {ASTNode[]} declarations List of declarations - * @returns {boolean} Returns true if it is the first var declaration, false if not. - * @private - */ - function hasOnlyOneStatement(statementType, declarations) { - - const declarationCounts = countDeclarations(declarations); - const currentOptions = options[statementType] || {}; - const currentScope = getCurrentScope(statementType); - const hasRequires = declarations.some(isRequire); - - if (currentOptions.uninitialized === MODE_ALWAYS && currentOptions.initialized === MODE_ALWAYS) { - if (currentScope.uninitialized || currentScope.initialized) { - if (!hasRequires) { - return false; - } - } - } - - if (declarationCounts.uninitialized > 0) { - if (currentOptions.uninitialized === MODE_ALWAYS && currentScope.uninitialized) { - return false; - } - } - if (declarationCounts.initialized > 0) { - if (currentOptions.initialized === MODE_ALWAYS && currentScope.initialized) { - if (!hasRequires) { - return false; - } - } - } - if (currentScope.required && hasRequires) { - return false; - } - recordTypes(statementType, declarations, currentScope); - return true; - } - - /** - * Fixer to join VariableDeclaration's into a single declaration - * @param {VariableDeclarator[]} declarations The `VariableDeclaration` to join - * @returns {Function} The fixer function - */ - function joinDeclarations(declarations) { - const declaration = declarations[0]; - const body = Array.isArray(declaration.parent.parent.body) ? declaration.parent.parent.body : []; - const currentIndex = body.findIndex(node => node.range[0] === declaration.parent.range[0]); - const previousNode = body[currentIndex - 1]; - - return fixer => { - const type = sourceCode.getTokenBefore(declaration); - const prevSemi = sourceCode.getTokenBefore(type); - const res = []; - - if (previousNode && previousNode.kind === sourceCode.getText(type)) { - if (prevSemi.value === ";") { - res.push(fixer.replaceText(prevSemi, ",")); - } else { - res.push(fixer.insertTextAfter(prevSemi, ",")); - } - res.push(fixer.replaceText(type, "")); - } - - return res; - }; - } - - /** - * Fixer to split a VariableDeclaration into individual declarations - * @param {VariableDeclaration} declaration The `VariableDeclaration` to split - * @returns {Function|null} The fixer function - */ - function splitDeclarations(declaration) { - const { parent } = declaration; - - // don't autofix code such as: if (foo) var x, y; - if (!isInStatementList(parent.type === "ExportNamedDeclaration" ? parent : declaration)) { - return null; - } - - return fixer => declaration.declarations.map(declarator => { - const tokenAfterDeclarator = sourceCode.getTokenAfter(declarator); - - if (tokenAfterDeclarator === null) { - return null; - } - - const afterComma = sourceCode.getTokenAfter(tokenAfterDeclarator, { includeComments: true }); - - if (tokenAfterDeclarator.value !== ",") { - return null; - } - - const exportPlacement = declaration.parent.type === "ExportNamedDeclaration" ? "export " : ""; - - /* - * `var x,y` - * tokenAfterDeclarator ^^ afterComma - */ - if (afterComma.range[0] === tokenAfterDeclarator.range[1]) { - return fixer.replaceText(tokenAfterDeclarator, `; ${exportPlacement}${declaration.kind} `); - } - - /* - * `var x, - * tokenAfterDeclarator ^ - * y` - * ^ afterComma - */ - if ( - afterComma.loc.start.line > tokenAfterDeclarator.loc.end.line || - afterComma.type === "Line" || - afterComma.type === "Block" - ) { - let lastComment = afterComma; - - while (lastComment.type === "Line" || lastComment.type === "Block") { - lastComment = sourceCode.getTokenAfter(lastComment, { includeComments: true }); - } - - return fixer.replaceTextRange( - [tokenAfterDeclarator.range[0], lastComment.range[0]], - `;${sourceCode.text.slice(tokenAfterDeclarator.range[1], lastComment.range[0])}${exportPlacement}${declaration.kind} ` - ); - } - - return fixer.replaceText(tokenAfterDeclarator, `; ${exportPlacement}${declaration.kind}`); - }).filter(x => x); - } - - /** - * Checks a given VariableDeclaration node for errors. - * @param {ASTNode} node The VariableDeclaration node to check - * @returns {void} - * @private - */ - function checkVariableDeclaration(node) { - const parent = node.parent; - const type = node.kind; - - if (!options[type]) { - return; - } - - const declarations = node.declarations; - const declarationCounts = countDeclarations(declarations); - const mixedRequires = declarations.some(isRequire) && !declarations.every(isRequire); - - if (options[type].initialized === MODE_ALWAYS) { - if (options.separateRequires && mixedRequires) { - context.report({ - node, - messageId: "splitRequires" - }); - } - } - - // consecutive - const nodeIndex = (parent.body && parent.body.length > 0 && parent.body.indexOf(node)) || 0; - - if (nodeIndex > 0) { - const previousNode = parent.body[nodeIndex - 1]; - const isPreviousNodeDeclaration = previousNode.type === "VariableDeclaration"; - const declarationsWithPrevious = declarations.concat(previousNode.declarations || []); - - if ( - isPreviousNodeDeclaration && - previousNode.kind === type && - !(declarationsWithPrevious.some(isRequire) && !declarationsWithPrevious.every(isRequire)) - ) { - const previousDeclCounts = countDeclarations(previousNode.declarations); - - if (options[type].initialized === MODE_CONSECUTIVE && options[type].uninitialized === MODE_CONSECUTIVE) { - context.report({ - node, - messageId: "combine", - data: { - type - }, - fix: joinDeclarations(declarations) - }); - } else if (options[type].initialized === MODE_CONSECUTIVE && declarationCounts.initialized > 0 && previousDeclCounts.initialized > 0) { - context.report({ - node, - messageId: "combineInitialized", - data: { - type - }, - fix: joinDeclarations(declarations) - }); - } else if (options[type].uninitialized === MODE_CONSECUTIVE && - declarationCounts.uninitialized > 0 && - previousDeclCounts.uninitialized > 0) { - context.report({ - node, - messageId: "combineUninitialized", - data: { - type - }, - fix: joinDeclarations(declarations) - }); - } - } - } - - // always - if (!hasOnlyOneStatement(type, declarations)) { - if (options[type].initialized === MODE_ALWAYS && options[type].uninitialized === MODE_ALWAYS) { - context.report({ - node, - messageId: "combine", - data: { - type - }, - fix: joinDeclarations(declarations) - }); - } else { - if (options[type].initialized === MODE_ALWAYS && declarationCounts.initialized > 0) { - context.report({ - node, - messageId: "combineInitialized", - data: { - type - }, - fix: joinDeclarations(declarations) - }); - } - if (options[type].uninitialized === MODE_ALWAYS && declarationCounts.uninitialized > 0) { - if (node.parent.left === node && (node.parent.type === "ForInStatement" || node.parent.type === "ForOfStatement")) { - return; - } - context.report({ - node, - messageId: "combineUninitialized", - data: { - type - }, - fix: joinDeclarations(declarations) - }); - } - } - } - - // never - if (parent.type !== "ForStatement" || parent.init !== node) { - const totalDeclarations = declarationCounts.uninitialized + declarationCounts.initialized; - - if (totalDeclarations > 1) { - if (options[type].initialized === MODE_NEVER && options[type].uninitialized === MODE_NEVER) { - - // both initialized and uninitialized - context.report({ - node, - messageId: "split", - data: { - type - }, - fix: splitDeclarations(node) - }); - } else if (options[type].initialized === MODE_NEVER && declarationCounts.initialized > 0) { - - // initialized - context.report({ - node, - messageId: "splitInitialized", - data: { - type - }, - fix: splitDeclarations(node) - }); - } else if (options[type].uninitialized === MODE_NEVER && declarationCounts.uninitialized > 0) { - - // uninitialized - context.report({ - node, - messageId: "splitUninitialized", - data: { - type - }, - fix: splitDeclarations(node) - }); - } - } - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - Program: startFunction, - FunctionDeclaration: startFunction, - FunctionExpression: startFunction, - ArrowFunctionExpression: startFunction, - StaticBlock: startFunction, // StaticBlock creates a new scope for `var` variables - - BlockStatement: startBlock, - ForStatement: startBlock, - ForInStatement: startBlock, - ForOfStatement: startBlock, - SwitchStatement: startBlock, - VariableDeclaration: checkVariableDeclaration, - "ForStatement:exit": endBlock, - "ForOfStatement:exit": endBlock, - "ForInStatement:exit": endBlock, - "SwitchStatement:exit": endBlock, - "BlockStatement:exit": endBlock, - - "Program:exit": endFunction, - "FunctionDeclaration:exit": endFunction, - "FunctionExpression:exit": endFunction, - "ArrowFunctionExpression:exit": endFunction, - "StaticBlock:exit": endFunction - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-assignment.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-assignment.js deleted file mode 100644 index 412c97f6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-assignment.js +++ /dev/null @@ -1,211 +0,0 @@ -/** - * @fileoverview Rule to replace assignment expressions with operator assignment - * @author Brandon Mills - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether an operator is commutative and has an operator assignment - * shorthand form. - * @param {string} operator Operator to check. - * @returns {boolean} True if the operator is commutative and has a - * shorthand form. - */ -function isCommutativeOperatorWithShorthand(operator) { - return ["*", "&", "^", "|"].includes(operator); -} - -/** - * Checks whether an operator is not commutative and has an operator assignment - * shorthand form. - * @param {string} operator Operator to check. - * @returns {boolean} True if the operator is not commutative and has - * a shorthand form. - */ -function isNonCommutativeOperatorWithShorthand(operator) { - return ["+", "-", "/", "%", "<<", ">>", ">>>", "**"].includes(operator); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** - * Determines if the left side of a node can be safely fixed (i.e. if it activates the same getters/setters and) - * toString calls regardless of whether assignment shorthand is used) - * @param {ASTNode} node The node on the left side of the expression - * @returns {boolean} `true` if the node can be fixed - */ -function canBeFixed(node) { - return ( - node.type === "Identifier" || - ( - node.type === "MemberExpression" && - (node.object.type === "Identifier" || node.object.type === "ThisExpression") && - (!node.computed || node.property.type === "Literal") - ) - ); -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["always"], - - docs: { - description: "Require or disallow assignment operator shorthand where possible", - recommended: false, - url: "https://eslint.org/docs/latest/rules/operator-assignment" - }, - - schema: [ - { - enum: ["always", "never"] - } - ], - - fixable: "code", - messages: { - replaced: "Assignment (=) can be replaced with operator assignment ({{operator}}).", - unexpected: "Unexpected operator assignment ({{operator}}) shorthand." - } - }, - - create(context) { - const never = context.options[0] === "never"; - const sourceCode = context.sourceCode; - - /** - * Returns the operator token of an AssignmentExpression or BinaryExpression - * @param {ASTNode} node An AssignmentExpression or BinaryExpression node - * @returns {Token} The operator token in the node - */ - function getOperatorToken(node) { - return sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator); - } - - /** - * Ensures that an assignment uses the shorthand form where possible. - * @param {ASTNode} node An AssignmentExpression node. - * @returns {void} - */ - function verify(node) { - if (node.operator !== "=" || node.right.type !== "BinaryExpression") { - return; - } - - const left = node.left; - const expr = node.right; - const operator = expr.operator; - - if (isCommutativeOperatorWithShorthand(operator) || isNonCommutativeOperatorWithShorthand(operator)) { - const replacementOperator = `${operator}=`; - - if (astUtils.isSameReference(left, expr.left, true)) { - context.report({ - node, - messageId: "replaced", - data: { operator: replacementOperator }, - fix(fixer) { - if (canBeFixed(left) && canBeFixed(expr.left)) { - const equalsToken = getOperatorToken(node); - const operatorToken = getOperatorToken(expr); - const leftText = sourceCode.getText().slice(node.range[0], equalsToken.range[0]); - const rightText = sourceCode.getText().slice(operatorToken.range[1], node.right.range[1]); - - // Check for comments that would be removed. - if (sourceCode.commentsExistBetween(equalsToken, operatorToken)) { - return null; - } - - return fixer.replaceText(node, `${leftText}${replacementOperator}${rightText}`); - } - return null; - } - }); - } else if (astUtils.isSameReference(left, expr.right, true) && isCommutativeOperatorWithShorthand(operator)) { - - /* - * This case can't be fixed safely. - * If `a` and `b` both have custom valueOf() behavior, then fixing `a = b * a` to `a *= b` would - * change the execution order of the valueOf() functions. - */ - context.report({ - node, - messageId: "replaced", - data: { operator: replacementOperator } - }); - } - } - } - - /** - * Warns if an assignment expression uses operator assignment shorthand. - * @param {ASTNode} node An AssignmentExpression node. - * @returns {void} - */ - function prohibit(node) { - if (node.operator !== "=" && !astUtils.isLogicalAssignmentOperator(node.operator)) { - context.report({ - node, - messageId: "unexpected", - data: { operator: node.operator }, - fix(fixer) { - if (canBeFixed(node.left)) { - const firstToken = sourceCode.getFirstToken(node); - const operatorToken = getOperatorToken(node); - const leftText = sourceCode.getText().slice(node.range[0], operatorToken.range[0]); - const newOperator = node.operator.slice(0, -1); - let rightText; - - // Check for comments that would be duplicated. - if (sourceCode.commentsExistBetween(firstToken, operatorToken)) { - return null; - } - - // If this change would modify precedence (e.g. `foo *= bar + 1` => `foo = foo * (bar + 1)`), parenthesize the right side. - if ( - astUtils.getPrecedence(node.right) <= astUtils.getPrecedence({ type: "BinaryExpression", operator: newOperator }) && - !astUtils.isParenthesised(sourceCode, node.right) - ) { - rightText = `${sourceCode.text.slice(operatorToken.range[1], node.right.range[0])}(${sourceCode.getText(node.right)})`; - } else { - const tokenAfterOperator = sourceCode.getTokenAfter(operatorToken, { includeComments: true }); - let rightTextPrefix = ""; - - if ( - operatorToken.range[1] === tokenAfterOperator.range[0] && - !astUtils.canTokensBeAdjacent({ type: "Punctuator", value: newOperator }, tokenAfterOperator) - ) { - rightTextPrefix = " "; // foo+=+bar -> foo= foo+ +bar - } - - rightText = `${rightTextPrefix}${sourceCode.text.slice(operatorToken.range[1], node.range[1])}`; - } - - return fixer.replaceText(node, `${leftText}= ${leftText}${newOperator}${rightText}`); - } - return null; - } - }); - } - } - - return { - AssignmentExpression: !never ? verify : prohibit - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-linebreak.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-linebreak.js deleted file mode 100644 index 3065e66b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/operator-linebreak.js +++ /dev/null @@ -1,253 +0,0 @@ -/** - * @fileoverview Operator linebreak - enforces operator linebreak style of two types: after and before - * @author Benoît Zugmeyer - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent linebreak style for operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/operator-linebreak" - }, - - schema: [ - { - enum: ["after", "before", "none", null] - }, - { - type: "object", - properties: { - overrides: { - type: "object", - additionalProperties: { - enum: ["after", "before", "none", "ignore"] - } - } - }, - additionalProperties: false - } - ], - - fixable: "code", - - messages: { - operatorAtBeginning: "'{{operator}}' should be placed at the beginning of the line.", - operatorAtEnd: "'{{operator}}' should be placed at the end of the line.", - badLinebreak: "Bad line breaking before and after '{{operator}}'.", - noLinebreak: "There should be no line break before or after '{{operator}}'." - } - }, - - create(context) { - - const usedDefaultGlobal = !context.options[0]; - const globalStyle = context.options[0] || "after"; - const options = context.options[1] || {}; - const styleOverrides = options.overrides ? Object.assign({}, options.overrides) : {}; - - if (usedDefaultGlobal && !styleOverrides["?"]) { - styleOverrides["?"] = "before"; - } - - if (usedDefaultGlobal && !styleOverrides[":"]) { - styleOverrides[":"] = "before"; - } - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Gets a fixer function to fix rule issues - * @param {Token} operatorToken The operator token of an expression - * @param {string} desiredStyle The style for the rule. One of 'before', 'after', 'none' - * @returns {Function} A fixer function - */ - function getFixer(operatorToken, desiredStyle) { - return fixer => { - const tokenBefore = sourceCode.getTokenBefore(operatorToken); - const tokenAfter = sourceCode.getTokenAfter(operatorToken); - const textBefore = sourceCode.text.slice(tokenBefore.range[1], operatorToken.range[0]); - const textAfter = sourceCode.text.slice(operatorToken.range[1], tokenAfter.range[0]); - const hasLinebreakBefore = !astUtils.isTokenOnSameLine(tokenBefore, operatorToken); - const hasLinebreakAfter = !astUtils.isTokenOnSameLine(operatorToken, tokenAfter); - let newTextBefore, newTextAfter; - - if (hasLinebreakBefore !== hasLinebreakAfter && desiredStyle !== "none") { - - // If there is a comment before and after the operator, don't do a fix. - if (sourceCode.getTokenBefore(operatorToken, { includeComments: true }) !== tokenBefore && - sourceCode.getTokenAfter(operatorToken, { includeComments: true }) !== tokenAfter) { - - return null; - } - - /* - * If there is only one linebreak and it's on the wrong side of the operator, swap the text before and after the operator. - * foo && - * bar - * would get fixed to - * foo - * && bar - */ - newTextBefore = textAfter; - newTextAfter = textBefore; - } else { - const LINEBREAK_REGEX = astUtils.createGlobalLinebreakMatcher(); - - // Otherwise, if no linebreak is desired and no comments interfere, replace the linebreaks with empty strings. - newTextBefore = desiredStyle === "before" || textBefore.trim() ? textBefore : textBefore.replace(LINEBREAK_REGEX, ""); - newTextAfter = desiredStyle === "after" || textAfter.trim() ? textAfter : textAfter.replace(LINEBREAK_REGEX, ""); - - // If there was no change (due to interfering comments), don't output a fix. - if (newTextBefore === textBefore && newTextAfter === textAfter) { - return null; - } - } - - if (newTextAfter === "" && tokenAfter.type === "Punctuator" && "+-".includes(operatorToken.value) && tokenAfter.value === operatorToken.value) { - - // To avoid accidentally creating a ++ or -- operator, insert a space if the operator is a +/- and the following token is a unary +/-. - newTextAfter += " "; - } - - return fixer.replaceTextRange([tokenBefore.range[1], tokenAfter.range[0]], newTextBefore + operatorToken.value + newTextAfter); - }; - } - - /** - * Checks the operator placement - * @param {ASTNode} node The node to check - * @param {ASTNode} rightSide The node that comes after the operator in `node` - * @param {string} operator The operator - * @private - * @returns {void} - */ - function validateNode(node, rightSide, operator) { - - /* - * Find the operator token by searching from the right side, because between the left side and the operator - * there could be additional tokens from type annotations. Search specifically for the token which - * value equals the operator, in order to skip possible opening parentheses before the right side node. - */ - const operatorToken = sourceCode.getTokenBefore(rightSide, token => token.value === operator); - const leftToken = sourceCode.getTokenBefore(operatorToken); - const rightToken = sourceCode.getTokenAfter(operatorToken); - const operatorStyleOverride = styleOverrides[operator]; - const style = operatorStyleOverride || globalStyle; - const fix = getFixer(operatorToken, style); - - // if single line - if (astUtils.isTokenOnSameLine(leftToken, operatorToken) && - astUtils.isTokenOnSameLine(operatorToken, rightToken)) { - - // do nothing. - - } else if (operatorStyleOverride !== "ignore" && !astUtils.isTokenOnSameLine(leftToken, operatorToken) && - !astUtils.isTokenOnSameLine(operatorToken, rightToken)) { - - // lone operator - context.report({ - node, - loc: operatorToken.loc, - messageId: "badLinebreak", - data: { - operator - }, - fix - }); - - } else if (style === "before" && astUtils.isTokenOnSameLine(leftToken, operatorToken)) { - - context.report({ - node, - loc: operatorToken.loc, - messageId: "operatorAtBeginning", - data: { - operator - }, - fix - }); - - } else if (style === "after" && astUtils.isTokenOnSameLine(operatorToken, rightToken)) { - - context.report({ - node, - loc: operatorToken.loc, - messageId: "operatorAtEnd", - data: { - operator - }, - fix - }); - - } else if (style === "none") { - - context.report({ - node, - loc: operatorToken.loc, - messageId: "noLinebreak", - data: { - operator - }, - fix - }); - - } - } - - /** - * Validates a binary expression using `validateNode` - * @param {BinaryExpression|LogicalExpression|AssignmentExpression} node node to be validated - * @returns {void} - */ - function validateBinaryExpression(node) { - validateNode(node, node.right, node.operator); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - BinaryExpression: validateBinaryExpression, - LogicalExpression: validateBinaryExpression, - AssignmentExpression: validateBinaryExpression, - VariableDeclarator(node) { - if (node.init) { - validateNode(node, node.init, "="); - } - }, - PropertyDefinition(node) { - if (node.value) { - validateNode(node, node.value, "="); - } - }, - ConditionalExpression(node) { - validateNode(node, node.consequent, "?"); - validateNode(node, node.alternate, ":"); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padded-blocks.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padded-blocks.js deleted file mode 100644 index d0c04543..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padded-blocks.js +++ /dev/null @@ -1,310 +0,0 @@ -/** - * @fileoverview A rule to ensure blank lines within blocks. - * @author Mathias Schreck - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow padding within blocks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/padded-blocks" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - blocks: { - enum: ["always", "never"] - }, - switches: { - enum: ["always", "never"] - }, - classes: { - enum: ["always", "never"] - } - }, - additionalProperties: false, - minProperties: 1 - } - ] - }, - { - type: "object", - properties: { - allowSingleLineBlocks: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - alwaysPadBlock: "Block must be padded by blank lines.", - neverPadBlock: "Block must not be padded by blank lines." - } - }, - - create(context) { - const options = {}; - const typeOptions = context.options[0] || "always"; - const exceptOptions = context.options[1] || {}; - - if (typeof typeOptions === "string") { - const shouldHavePadding = typeOptions === "always"; - - options.blocks = shouldHavePadding; - options.switches = shouldHavePadding; - options.classes = shouldHavePadding; - } else { - if (Object.hasOwn(typeOptions, "blocks")) { - options.blocks = typeOptions.blocks === "always"; - } - if (Object.hasOwn(typeOptions, "switches")) { - options.switches = typeOptions.switches === "always"; - } - if (Object.hasOwn(typeOptions, "classes")) { - options.classes = typeOptions.classes === "always"; - } - } - - if (Object.hasOwn(exceptOptions, "allowSingleLineBlocks")) { - options.allowSingleLineBlocks = exceptOptions.allowSingleLineBlocks === true; - } - - const sourceCode = context.sourceCode; - - /** - * Gets the open brace token from a given node. - * @param {ASTNode} node A BlockStatement or SwitchStatement node from which to get the open brace. - * @returns {Token} The token of the open brace. - */ - function getOpenBrace(node) { - if (node.type === "SwitchStatement") { - return sourceCode.getTokenBefore(node.cases[0]); - } - - if (node.type === "StaticBlock") { - return sourceCode.getFirstToken(node, { skip: 1 }); // skip the `static` token - } - - // `BlockStatement` or `ClassBody` - return sourceCode.getFirstToken(node); - } - - /** - * Checks if the given parameter is a comment node - * @param {ASTNode|Token} node An AST node or token - * @returns {boolean} True if node is a comment - */ - function isComment(node) { - return node.type === "Line" || node.type === "Block"; - } - - /** - * Checks if there is padding between two tokens - * @param {Token} first The first token - * @param {Token} second The second token - * @returns {boolean} True if there is at least a line between the tokens - */ - function isPaddingBetweenTokens(first, second) { - return second.loc.start.line - first.loc.end.line >= 2; - } - - - /** - * Checks if the given token has a blank line after it. - * @param {Token} token The token to check. - * @returns {boolean} Whether or not the token is followed by a blank line. - */ - function getFirstBlockToken(token) { - let prev, - first = token; - - do { - prev = first; - first = sourceCode.getTokenAfter(first, { includeComments: true }); - } while (isComment(first) && first.loc.start.line === prev.loc.end.line); - - return first; - } - - /** - * Checks if the given token is preceded by a blank line. - * @param {Token} token The token to check - * @returns {boolean} Whether or not the token is preceded by a blank line - */ - function getLastBlockToken(token) { - let last = token, - next; - - do { - next = last; - last = sourceCode.getTokenBefore(last, { includeComments: true }); - } while (isComment(last) && last.loc.end.line === next.loc.start.line); - - return last; - } - - /** - * Checks if a node should be padded, according to the rule config. - * @param {ASTNode} node The AST node to check. - * @throws {Error} (Unreachable) - * @returns {boolean} True if the node should be padded, false otherwise. - */ - function requirePaddingFor(node) { - switch (node.type) { - case "BlockStatement": - case "StaticBlock": - return options.blocks; - case "SwitchStatement": - return options.switches; - case "ClassBody": - return options.classes; - - /* c8 ignore next */ - default: - throw new Error("unreachable"); - } - } - - /** - * Checks the given BlockStatement node to be padded if the block is not empty. - * @param {ASTNode} node The AST node of a BlockStatement. - * @returns {void} undefined. - */ - function checkPadding(node) { - const openBrace = getOpenBrace(node), - firstBlockToken = getFirstBlockToken(openBrace), - tokenBeforeFirst = sourceCode.getTokenBefore(firstBlockToken, { includeComments: true }), - closeBrace = sourceCode.getLastToken(node), - lastBlockToken = getLastBlockToken(closeBrace), - tokenAfterLast = sourceCode.getTokenAfter(lastBlockToken, { includeComments: true }), - blockHasTopPadding = isPaddingBetweenTokens(tokenBeforeFirst, firstBlockToken), - blockHasBottomPadding = isPaddingBetweenTokens(lastBlockToken, tokenAfterLast); - - if (options.allowSingleLineBlocks && astUtils.isTokenOnSameLine(tokenBeforeFirst, tokenAfterLast)) { - return; - } - - if (requirePaddingFor(node)) { - - if (!blockHasTopPadding) { - context.report({ - node, - loc: { - start: tokenBeforeFirst.loc.start, - end: firstBlockToken.loc.start - }, - fix(fixer) { - return fixer.insertTextAfter(tokenBeforeFirst, "\n"); - }, - messageId: "alwaysPadBlock" - }); - } - if (!blockHasBottomPadding) { - context.report({ - node, - loc: { - end: tokenAfterLast.loc.start, - start: lastBlockToken.loc.end - }, - fix(fixer) { - return fixer.insertTextBefore(tokenAfterLast, "\n"); - }, - messageId: "alwaysPadBlock" - }); - } - } else { - if (blockHasTopPadding) { - - context.report({ - node, - loc: { - start: tokenBeforeFirst.loc.start, - end: firstBlockToken.loc.start - }, - fix(fixer) { - return fixer.replaceTextRange([tokenBeforeFirst.range[1], firstBlockToken.range[0] - firstBlockToken.loc.start.column], "\n"); - }, - messageId: "neverPadBlock" - }); - } - - if (blockHasBottomPadding) { - - context.report({ - node, - loc: { - end: tokenAfterLast.loc.start, - start: lastBlockToken.loc.end - }, - messageId: "neverPadBlock", - fix(fixer) { - return fixer.replaceTextRange([lastBlockToken.range[1], tokenAfterLast.range[0] - tokenAfterLast.loc.start.column], "\n"); - } - }); - } - } - } - - const rule = {}; - - if (Object.hasOwn(options, "switches")) { - rule.SwitchStatement = function(node) { - if (node.cases.length === 0) { - return; - } - checkPadding(node); - }; - } - - if (Object.hasOwn(options, "blocks")) { - rule.BlockStatement = function(node) { - if (node.body.length === 0) { - return; - } - checkPadding(node); - }; - rule.StaticBlock = rule.BlockStatement; - } - - if (Object.hasOwn(options, "classes")) { - rule.ClassBody = function(node) { - if (node.body.length === 0) { - return; - } - checkPadding(node); - }; - } - - return rule; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padding-line-between-statements.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padding-line-between-statements.js deleted file mode 100644 index 084651b6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/padding-line-between-statements.js +++ /dev/null @@ -1,590 +0,0 @@ -/** - * @fileoverview Rule to require or disallow newlines between statements - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const LT = `[${Array.from(astUtils.LINEBREAKS).join("")}]`; -const PADDING_LINE_SEQUENCE = new RegExp( - String.raw`^(\s*?${LT})\s*${LT}(\s*;?)$`, - "u" -); -const CJS_EXPORT = /^(?:module\s*\.\s*)?exports(?:\s*\.|\s*\[|$)/u; -const CJS_IMPORT = /^require\(/u; - -/** - * Creates tester which check if a node starts with specific keyword. - * @param {string} keyword The keyword to test. - * @returns {Object} the created tester. - * @private - */ -function newKeywordTester(keyword) { - return { - test: (node, sourceCode) => - sourceCode.getFirstToken(node).value === keyword - }; -} - -/** - * Creates tester which check if a node starts with specific keyword and spans a single line. - * @param {string} keyword The keyword to test. - * @returns {Object} the created tester. - * @private - */ -function newSinglelineKeywordTester(keyword) { - return { - test: (node, sourceCode) => - node.loc.start.line === node.loc.end.line && - sourceCode.getFirstToken(node).value === keyword - }; -} - -/** - * Creates tester which check if a node starts with specific keyword and spans multiple lines. - * @param {string} keyword The keyword to test. - * @returns {Object} the created tester. - * @private - */ -function newMultilineKeywordTester(keyword) { - return { - test: (node, sourceCode) => - node.loc.start.line !== node.loc.end.line && - sourceCode.getFirstToken(node).value === keyword - }; -} - -/** - * Creates tester which check if a node is specific type. - * @param {string} type The node type to test. - * @returns {Object} the created tester. - * @private - */ -function newNodeTypeTester(type) { - return { - test: node => - node.type === type - }; -} - -/** - * Checks the given node is an expression statement of IIFE. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is an expression statement of IIFE. - * @private - */ -function isIIFEStatement(node) { - if (node.type === "ExpressionStatement") { - let call = astUtils.skipChainExpression(node.expression); - - if (call.type === "UnaryExpression") { - call = astUtils.skipChainExpression(call.argument); - } - return call.type === "CallExpression" && astUtils.isFunction(call.callee); - } - return false; -} - -/** - * Checks whether the given node is a block-like statement. - * This checks the last token of the node is the closing brace of a block. - * @param {SourceCode} sourceCode The source code to get tokens. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is a block-like statement. - * @private - */ -function isBlockLikeStatement(sourceCode, node) { - - // do-while with a block is a block-like statement. - if (node.type === "DoWhileStatement" && node.body.type === "BlockStatement") { - return true; - } - - /* - * IIFE is a block-like statement specially from - * JSCS#disallowPaddingNewLinesAfterBlocks. - */ - if (isIIFEStatement(node)) { - return true; - } - - // Checks the last token is a closing brace of blocks. - const lastToken = sourceCode.getLastToken(node, astUtils.isNotSemicolonToken); - const belongingNode = lastToken && astUtils.isClosingBraceToken(lastToken) - ? sourceCode.getNodeByRangeIndex(lastToken.range[0]) - : null; - - return Boolean(belongingNode) && ( - belongingNode.type === "BlockStatement" || - belongingNode.type === "SwitchStatement" - ); -} - -/** - * Gets the actual last token. - * - * If a semicolon is semicolon-less style's semicolon, this ignores it. - * For example: - * - * foo() - * ;[1, 2, 3].forEach(bar) - * @param {SourceCode} sourceCode The source code to get tokens. - * @param {ASTNode} node The node to get. - * @returns {Token} The actual last token. - * @private - */ -function getActualLastToken(sourceCode, node) { - const semiToken = sourceCode.getLastToken(node); - const prevToken = sourceCode.getTokenBefore(semiToken); - const nextToken = sourceCode.getTokenAfter(semiToken); - const isSemicolonLessStyle = Boolean( - prevToken && - nextToken && - prevToken.range[0] >= node.range[0] && - astUtils.isSemicolonToken(semiToken) && - semiToken.loc.start.line !== prevToken.loc.end.line && - semiToken.loc.end.line === nextToken.loc.start.line - ); - - return isSemicolonLessStyle ? prevToken : semiToken; -} - -/** - * This returns the concatenation of the first 2 captured strings. - * @param {string} _ Unused. Whole matched string. - * @param {string} trailingSpaces The trailing spaces of the first line. - * @param {string} indentSpaces The indentation spaces of the last line. - * @returns {string} The concatenation of trailingSpaces and indentSpaces. - * @private - */ -function replacerToRemovePaddingLines(_, trailingSpaces, indentSpaces) { - return trailingSpaces + indentSpaces; -} - -/** - * Check and report statements for `any` configuration. - * It does nothing. - * @returns {void} - * @private - */ -function verifyForAny() { -} - -/** - * Check and report statements for `never` configuration. - * This autofix removes blank lines between the given 2 statements. - * However, if comments exist between 2 blank lines, it does not remove those - * blank lines automatically. - * @param {RuleContext} context The rule context to report. - * @param {ASTNode} _ Unused. The previous node to check. - * @param {ASTNode} nextNode The next node to check. - * @param {Array} paddingLines The array of token pairs that blank - * lines exist between the pair. - * @returns {void} - * @private - */ -function verifyForNever(context, _, nextNode, paddingLines) { - if (paddingLines.length === 0) { - return; - } - - context.report({ - node: nextNode, - messageId: "unexpectedBlankLine", - fix(fixer) { - if (paddingLines.length >= 2) { - return null; - } - - const prevToken = paddingLines[0][0]; - const nextToken = paddingLines[0][1]; - const start = prevToken.range[1]; - const end = nextToken.range[0]; - const text = context.sourceCode.text - .slice(start, end) - .replace(PADDING_LINE_SEQUENCE, replacerToRemovePaddingLines); - - return fixer.replaceTextRange([start, end], text); - } - }); -} - -/** - * Check and report statements for `always` configuration. - * This autofix inserts a blank line between the given 2 statements. - * If the `prevNode` has trailing comments, it inserts a blank line after the - * trailing comments. - * @param {RuleContext} context The rule context to report. - * @param {ASTNode} prevNode The previous node to check. - * @param {ASTNode} nextNode The next node to check. - * @param {Array} paddingLines The array of token pairs that blank - * lines exist between the pair. - * @returns {void} - * @private - */ -function verifyForAlways(context, prevNode, nextNode, paddingLines) { - if (paddingLines.length > 0) { - return; - } - - context.report({ - node: nextNode, - messageId: "expectedBlankLine", - fix(fixer) { - const sourceCode = context.sourceCode; - let prevToken = getActualLastToken(sourceCode, prevNode); - const nextToken = sourceCode.getFirstTokenBetween( - prevToken, - nextNode, - { - includeComments: true, - - /** - * Skip the trailing comments of the previous node. - * This inserts a blank line after the last trailing comment. - * - * For example: - * - * foo(); // trailing comment. - * // comment. - * bar(); - * - * Get fixed to: - * - * foo(); // trailing comment. - * - * // comment. - * bar(); - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is not a trailing comment. - * @private - */ - filter(token) { - if (astUtils.isTokenOnSameLine(prevToken, token)) { - prevToken = token; - return false; - } - return true; - } - } - ) || nextNode; - const insertText = astUtils.isTokenOnSameLine(prevToken, nextToken) - ? "\n\n" - : "\n"; - - return fixer.insertTextAfter(prevToken, insertText); - } - }); -} - -/** - * Types of blank lines. - * `any`, `never`, and `always` are defined. - * Those have `verify` method to check and report statements. - * @private - */ -const PaddingTypes = { - any: { verify: verifyForAny }, - never: { verify: verifyForNever }, - always: { verify: verifyForAlways } -}; - -/** - * Types of statements. - * Those have `test` method to check it matches to the given statement. - * @private - */ -const StatementTypes = { - "*": { test: () => true }, - "block-like": { - test: (node, sourceCode) => isBlockLikeStatement(sourceCode, node) - }, - "cjs-export": { - test: (node, sourceCode) => - node.type === "ExpressionStatement" && - node.expression.type === "AssignmentExpression" && - CJS_EXPORT.test(sourceCode.getText(node.expression.left)) - }, - "cjs-import": { - test: (node, sourceCode) => - node.type === "VariableDeclaration" && - node.declarations.length > 0 && - Boolean(node.declarations[0].init) && - CJS_IMPORT.test(sourceCode.getText(node.declarations[0].init)) - }, - directive: { - test: astUtils.isDirective - }, - expression: { - test: node => node.type === "ExpressionStatement" && !astUtils.isDirective(node) - }, - iife: { - test: isIIFEStatement - }, - "multiline-block-like": { - test: (node, sourceCode) => - node.loc.start.line !== node.loc.end.line && - isBlockLikeStatement(sourceCode, node) - }, - "multiline-expression": { - test: node => - node.loc.start.line !== node.loc.end.line && - node.type === "ExpressionStatement" && - !astUtils.isDirective(node) - }, - - "multiline-const": newMultilineKeywordTester("const"), - "multiline-let": newMultilineKeywordTester("let"), - "multiline-var": newMultilineKeywordTester("var"), - "singleline-const": newSinglelineKeywordTester("const"), - "singleline-let": newSinglelineKeywordTester("let"), - "singleline-var": newSinglelineKeywordTester("var"), - - block: newNodeTypeTester("BlockStatement"), - empty: newNodeTypeTester("EmptyStatement"), - function: newNodeTypeTester("FunctionDeclaration"), - - break: newKeywordTester("break"), - case: newKeywordTester("case"), - class: newKeywordTester("class"), - const: newKeywordTester("const"), - continue: newKeywordTester("continue"), - debugger: newKeywordTester("debugger"), - default: newKeywordTester("default"), - do: newKeywordTester("do"), - export: newKeywordTester("export"), - for: newKeywordTester("for"), - if: newKeywordTester("if"), - import: newKeywordTester("import"), - let: newKeywordTester("let"), - return: newKeywordTester("return"), - switch: newKeywordTester("switch"), - throw: newKeywordTester("throw"), - try: newKeywordTester("try"), - var: newKeywordTester("var"), - while: newKeywordTester("while"), - with: newKeywordTester("with") -}; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow padding lines between statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/padding-line-between-statements" - }, - - fixable: "whitespace", - - schema: { - definitions: { - paddingType: { - enum: Object.keys(PaddingTypes) - }, - statementType: { - anyOf: [ - { enum: Object.keys(StatementTypes) }, - { - type: "array", - items: { enum: Object.keys(StatementTypes) }, - minItems: 1, - uniqueItems: true - } - ] - } - }, - type: "array", - items: { - type: "object", - properties: { - blankLine: { $ref: "#/definitions/paddingType" }, - prev: { $ref: "#/definitions/statementType" }, - next: { $ref: "#/definitions/statementType" } - }, - additionalProperties: false, - required: ["blankLine", "prev", "next"] - } - }, - - messages: { - unexpectedBlankLine: "Unexpected blank line before this statement.", - expectedBlankLine: "Expected blank line before this statement." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const configureList = context.options || []; - let scopeInfo = null; - - /** - * Processes to enter to new scope. - * This manages the current previous statement. - * @returns {void} - * @private - */ - function enterScope() { - scopeInfo = { - upper: scopeInfo, - prevNode: null - }; - } - - /** - * Processes to exit from the current scope. - * @returns {void} - * @private - */ - function exitScope() { - scopeInfo = scopeInfo.upper; - } - - /** - * Checks whether the given node matches the given type. - * @param {ASTNode} node The statement node to check. - * @param {string|string[]} type The statement type to check. - * @returns {boolean} `true` if the statement node matched the type. - * @private - */ - function match(node, type) { - let innerStatementNode = node; - - while (innerStatementNode.type === "LabeledStatement") { - innerStatementNode = innerStatementNode.body; - } - if (Array.isArray(type)) { - return type.some(match.bind(null, innerStatementNode)); - } - return StatementTypes[type].test(innerStatementNode, sourceCode); - } - - /** - * Finds the last matched configure from configureList. - * @param {ASTNode} prevNode The previous statement to match. - * @param {ASTNode} nextNode The current statement to match. - * @returns {Object} The tester of the last matched configure. - * @private - */ - function getPaddingType(prevNode, nextNode) { - for (let i = configureList.length - 1; i >= 0; --i) { - const configure = configureList[i]; - const matched = - match(prevNode, configure.prev) && - match(nextNode, configure.next); - - if (matched) { - return PaddingTypes[configure.blankLine]; - } - } - return PaddingTypes.any; - } - - /** - * Gets padding line sequences between the given 2 statements. - * Comments are separators of the padding line sequences. - * @param {ASTNode} prevNode The previous statement to count. - * @param {ASTNode} nextNode The current statement to count. - * @returns {Array} The array of token pairs. - * @private - */ - function getPaddingLineSequences(prevNode, nextNode) { - const pairs = []; - let prevToken = getActualLastToken(sourceCode, prevNode); - - if (nextNode.loc.start.line - prevToken.loc.end.line >= 2) { - do { - const token = sourceCode.getTokenAfter( - prevToken, - { includeComments: true } - ); - - if (token.loc.start.line - prevToken.loc.end.line >= 2) { - pairs.push([prevToken, token]); - } - prevToken = token; - - } while (prevToken.range[0] < nextNode.range[0]); - } - - return pairs; - } - - /** - * Verify padding lines between the given node and the previous node. - * @param {ASTNode} node The node to verify. - * @returns {void} - * @private - */ - function verify(node) { - const parentType = node.parent.type; - const validParent = - astUtils.STATEMENT_LIST_PARENTS.has(parentType) || - parentType === "SwitchStatement"; - - if (!validParent) { - return; - } - - // Save this node as the current previous statement. - const prevNode = scopeInfo.prevNode; - - // Verify. - if (prevNode) { - const type = getPaddingType(prevNode, node); - const paddingLines = getPaddingLineSequences(prevNode, node); - - type.verify(context, prevNode, node, paddingLines); - } - - scopeInfo.prevNode = node; - } - - /** - * Verify padding lines between the given node and the previous node. - * Then process to enter to new scope. - * @param {ASTNode} node The node to verify. - * @returns {void} - * @private - */ - function verifyThenEnterScope(node) { - verify(node); - enterScope(); - } - - return { - Program: enterScope, - BlockStatement: enterScope, - SwitchStatement: enterScope, - StaticBlock: enterScope, - "Program:exit": exitScope, - "BlockStatement:exit": exitScope, - "SwitchStatement:exit": exitScope, - "StaticBlock:exit": exitScope, - - ":statement": verify, - - SwitchCase: verifyThenEnterScope, - "SwitchCase:exit": exitScope - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-arrow-callback.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-arrow-callback.js deleted file mode 100644 index ef2ea7bb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-arrow-callback.js +++ /dev/null @@ -1,378 +0,0 @@ -/** - * @fileoverview A rule to suggest using arrow functions as callbacks. - * @author Toru Nagashima - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether or not a given variable is a function name. - * @param {eslint-scope.Variable} variable A variable to check. - * @returns {boolean} `true` if the variable is a function name. - */ -function isFunctionName(variable) { - return variable && variable.defs[0].type === "FunctionName"; -} - -/** - * Checks whether or not a given MetaProperty node equals to a given value. - * @param {ASTNode} node A MetaProperty node to check. - * @param {string} metaName The name of `MetaProperty.meta`. - * @param {string} propertyName The name of `MetaProperty.property`. - * @returns {boolean} `true` if the node is the specific value. - */ -function checkMetaProperty(node, metaName, propertyName) { - return node.meta.name === metaName && node.property.name === propertyName; -} - -/** - * Gets the variable object of `arguments` which is defined implicitly. - * @param {eslint-scope.Scope} scope A scope to get. - * @returns {eslint-scope.Variable} The found variable object. - */ -function getVariableOfArguments(scope) { - const variables = scope.variables; - - for (let i = 0; i < variables.length; ++i) { - const variable = variables[i]; - - if (variable.name === "arguments") { - - /* - * If there was a parameter which is named "arguments", the - * implicit "arguments" is not defined. - * So does fast return with null. - */ - return (variable.identifiers.length === 0) ? variable : null; - } - } - - /* c8 ignore next */ - return null; -} - -/** - * Checks whether or not a given node is a callback. - * @param {ASTNode} node A node to check. - * @throws {Error} (Unreachable.) - * @returns {Object} - * {boolean} retv.isCallback - `true` if the node is a callback. - * {boolean} retv.isLexicalThis - `true` if the node is with `.bind(this)`. - */ -function getCallbackInfo(node) { - const retv = { isCallback: false, isLexicalThis: false }; - let currentNode = node; - let parent = node.parent; - let bound = false; - - while (currentNode) { - switch (parent.type) { - - // Checks parents recursively. - - case "LogicalExpression": - case "ChainExpression": - case "ConditionalExpression": - break; - - // Checks whether the parent node is `.bind(this)` call. - case "MemberExpression": - if ( - parent.object === currentNode && - !parent.property.computed && - parent.property.type === "Identifier" && - parent.property.name === "bind" - ) { - const maybeCallee = parent.parent.type === "ChainExpression" - ? parent.parent - : parent; - - if (astUtils.isCallee(maybeCallee)) { - if (!bound) { - bound = true; // Use only the first `.bind()` to make `isLexicalThis` value. - retv.isLexicalThis = ( - maybeCallee.parent.arguments.length === 1 && - maybeCallee.parent.arguments[0].type === "ThisExpression" - ); - } - parent = maybeCallee.parent; - } else { - return retv; - } - } else { - return retv; - } - break; - - // Checks whether the node is a callback. - case "CallExpression": - case "NewExpression": - if (parent.callee !== currentNode) { - retv.isCallback = true; - } - return retv; - - default: - return retv; - } - - currentNode = parent; - parent = parent.parent; - } - - /* c8 ignore next */ - throw new Error("unreachable"); -} - -/** - * Checks whether a simple list of parameters contains any duplicates. This does not handle complex - * parameter lists (e.g. with destructuring), since complex parameter lists are a SyntaxError with duplicate - * parameter names anyway. Instead, it always returns `false` for complex parameter lists. - * @param {ASTNode[]} paramsList The list of parameters for a function - * @returns {boolean} `true` if the list of parameters contains any duplicates - */ -function hasDuplicateParams(paramsList) { - return paramsList.every(param => param.type === "Identifier") && paramsList.length !== new Set(paramsList.map(param => param.name)).size; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ allowNamedFunctions: false, allowUnboundThis: true }], - - docs: { - description: "Require using arrow functions for callbacks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - }, - - schema: [ - { - type: "object", - properties: { - allowNamedFunctions: { - type: "boolean" - }, - allowUnboundThis: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - fixable: "code", - - messages: { - preferArrowCallback: "Unexpected function expression." - } - }, - - create(context) { - const [{ allowNamedFunctions, allowUnboundThis }] = context.options; - const sourceCode = context.sourceCode; - - /* - * {Array<{this: boolean, super: boolean, meta: boolean}>} - * - this - A flag which shows there are one or more ThisExpression. - * - super - A flag which shows there are one or more Super. - * - meta - A flag which shows there are one or more MethProperty. - */ - let stack = []; - - /** - * Pushes new function scope with all `false` flags. - * @returns {void} - */ - function enterScope() { - stack.push({ this: false, super: false, meta: false }); - } - - /** - * Pops a function scope from the stack. - * @returns {{this: boolean, super: boolean, meta: boolean}} The information of the last scope. - */ - function exitScope() { - return stack.pop(); - } - - return { - - // Reset internal state. - Program() { - stack = []; - }, - - // If there are below, it cannot replace with arrow functions merely. - ThisExpression() { - const info = stack.at(-1); - - if (info) { - info.this = true; - } - }, - - Super() { - const info = stack.at(-1); - - if (info) { - info.super = true; - } - }, - - MetaProperty(node) { - const info = stack.at(-1); - - if (info && checkMetaProperty(node, "new", "target")) { - info.meta = true; - } - }, - - // To skip nested scopes. - FunctionDeclaration: enterScope, - "FunctionDeclaration:exit": exitScope, - - // Main. - FunctionExpression: enterScope, - "FunctionExpression:exit"(node) { - const scopeInfo = exitScope(); - - // Skip named function expressions - if (allowNamedFunctions && node.id && node.id.name) { - return; - } - - // Skip generators. - if (node.generator) { - return; - } - - // Skip recursive functions. - const nameVar = sourceCode.getDeclaredVariables(node)[0]; - - if (isFunctionName(nameVar) && nameVar.references.length > 0) { - return; - } - - // Skip if it's using arguments. - const variable = getVariableOfArguments(sourceCode.getScope(node)); - - if (variable && variable.references.length > 0) { - return; - } - - // Reports if it's a callback which can replace with arrows. - const callbackInfo = getCallbackInfo(node); - - if (callbackInfo.isCallback && - (!allowUnboundThis || !scopeInfo.this || callbackInfo.isLexicalThis) && - !scopeInfo.super && - !scopeInfo.meta - ) { - context.report({ - node, - messageId: "preferArrowCallback", - *fix(fixer) { - if ((!callbackInfo.isLexicalThis && scopeInfo.this) || hasDuplicateParams(node.params)) { - - /* - * If the callback function does not have .bind(this) and contains a reference to `this`, there - * is no way to determine what `this` should be, so don't perform any fixes. - * If the callback function has duplicates in its list of parameters (possible in sloppy mode), - * don't replace it with an arrow function, because this is a SyntaxError with arrow functions. - */ - return; - } - - // Remove `.bind(this)` if exists. - if (callbackInfo.isLexicalThis) { - const memberNode = node.parent; - - /* - * If `.bind(this)` exists but the parent is not `.bind(this)`, don't remove it automatically. - * E.g. `(foo || function(){}).bind(this)` - */ - if (memberNode.type !== "MemberExpression") { - return; - } - - const callNode = memberNode.parent; - const firstTokenToRemove = sourceCode.getTokenAfter(memberNode.object, astUtils.isNotClosingParenToken); - const lastTokenToRemove = sourceCode.getLastToken(callNode); - - /* - * If the member expression is parenthesized, don't remove the right paren. - * E.g. `(function(){}.bind)(this)` - * ^^^^^^^^^^^^ - */ - if (astUtils.isParenthesised(sourceCode, memberNode)) { - return; - } - - // If comments exist in the `.bind(this)`, don't remove those. - if (sourceCode.commentsExistBetween(firstTokenToRemove, lastTokenToRemove)) { - return; - } - - yield fixer.removeRange([firstTokenToRemove.range[0], lastTokenToRemove.range[1]]); - } - - // Convert the function expression to an arrow function. - const functionToken = sourceCode.getFirstToken(node, node.async ? 1 : 0); - const leftParenToken = sourceCode.getTokenAfter(functionToken, astUtils.isOpeningParenToken); - const tokenBeforeBody = sourceCode.getTokenBefore(node.body); - - if (sourceCode.commentsExistBetween(functionToken, leftParenToken)) { - - // Remove only extra tokens to keep comments. - yield fixer.remove(functionToken); - if (node.id) { - yield fixer.remove(node.id); - } - } else { - - // Remove extra tokens and spaces. - yield fixer.removeRange([functionToken.range[0], leftParenToken.range[0]]); - } - yield fixer.insertTextAfter(tokenBeforeBody, " =>"); - - // Get the node that will become the new arrow function. - let replacedNode = callbackInfo.isLexicalThis ? node.parent.parent : node; - - if (replacedNode.type === "ChainExpression") { - replacedNode = replacedNode.parent; - } - - /* - * If the replaced node is part of a BinaryExpression, LogicalExpression, or MemberExpression, then - * the arrow function needs to be parenthesized, because `foo || () => {}` is invalid syntax even - * though `foo || function() {}` is valid. - */ - if ( - replacedNode.parent.type !== "CallExpression" && - replacedNode.parent.type !== "ConditionalExpression" && - !astUtils.isParenthesised(sourceCode, replacedNode) && - !astUtils.isParenthesised(sourceCode, node) - ) { - yield fixer.insertTextBefore(replacedNode, "("); - yield fixer.insertTextAfter(replacedNode, ")"); - } - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-const.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-const.js deleted file mode 100644 index b495fcc8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-const.js +++ /dev/null @@ -1,505 +0,0 @@ -/** - * @fileoverview A rule to suggest using of const declaration for variables that are never reassigned after declared. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const FixTracker = require("./utils/fix-tracker"); -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const PATTERN_TYPE = /^(?:.+?Pattern|RestElement|SpreadProperty|ExperimentalRestProperty|Property)$/u; -const DECLARATION_HOST_TYPE = /^(?:Program|BlockStatement|StaticBlock|SwitchCase)$/u; -const DESTRUCTURING_HOST_TYPE = /^(?:VariableDeclarator|AssignmentExpression)$/u; - -/** - * Checks whether a given node is located at `ForStatement.init` or not. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is located at `ForStatement.init`. - */ -function isInitOfForStatement(node) { - return node.parent.type === "ForStatement" && node.parent.init === node; -} - -/** - * Checks whether a given Identifier node becomes a VariableDeclaration or not. - * @param {ASTNode} identifier An Identifier node to check. - * @returns {boolean} `true` if the node can become a VariableDeclaration. - */ -function canBecomeVariableDeclaration(identifier) { - let node = identifier.parent; - - while (PATTERN_TYPE.test(node.type)) { - node = node.parent; - } - - return ( - node.type === "VariableDeclarator" || - ( - node.type === "AssignmentExpression" && - node.parent.type === "ExpressionStatement" && - DECLARATION_HOST_TYPE.test(node.parent.parent.type) - ) - ); -} - -/** - * Checks if an property or element is from outer scope or function parameters - * in destructing pattern. - * @param {string} name A variable name to be checked. - * @param {eslint-scope.Scope} initScope A scope to start find. - * @returns {boolean} Indicates if the variable is from outer scope or function parameters. - */ -function isOuterVariableInDestructing(name, initScope) { - - if (initScope.through.some(ref => ref.resolved && ref.resolved.name === name)) { - return true; - } - - const variable = astUtils.getVariableByName(initScope, name); - - if (variable !== null) { - return variable.defs.some(def => def.type === "Parameter"); - } - - return false; -} - -/** - * Gets the VariableDeclarator/AssignmentExpression node that a given reference - * belongs to. - * This is used to detect a mix of reassigned and never reassigned in a - * destructuring. - * @param {eslint-scope.Reference} reference A reference to get. - * @returns {ASTNode|null} A VariableDeclarator/AssignmentExpression node or - * null. - */ -function getDestructuringHost(reference) { - if (!reference.isWrite()) { - return null; - } - let node = reference.identifier.parent; - - while (PATTERN_TYPE.test(node.type)) { - node = node.parent; - } - - if (!DESTRUCTURING_HOST_TYPE.test(node.type)) { - return null; - } - return node; -} - -/** - * Determines if a destructuring assignment node contains - * any MemberExpression nodes. This is used to determine if a - * variable that is only written once using destructuring can be - * safely converted into a const declaration. - * @param {ASTNode} node The ObjectPattern or ArrayPattern node to check. - * @returns {boolean} True if the destructuring pattern contains - * a MemberExpression, false if not. - */ -function hasMemberExpressionAssignment(node) { - switch (node.type) { - case "ObjectPattern": - return node.properties.some(prop => { - if (prop) { - - /* - * Spread elements have an argument property while - * others have a value property. Because different - * parsers use different node types for spread elements, - * we just check if there is an argument property. - */ - return hasMemberExpressionAssignment(prop.argument || prop.value); - } - - return false; - }); - - case "ArrayPattern": - return node.elements.some(element => { - if (element) { - return hasMemberExpressionAssignment(element); - } - - return false; - }); - - case "AssignmentPattern": - return hasMemberExpressionAssignment(node.left); - - case "MemberExpression": - return true; - - // no default - } - - return false; -} - -/** - * Gets an identifier node of a given variable. - * - * If the initialization exists or one or more reading references exist before - * the first assignment, the identifier node is the node of the declaration. - * Otherwise, the identifier node is the node of the first assignment. - * - * If the variable should not change to const, this function returns null. - * - If the variable is reassigned. - * - If the variable is never initialized nor assigned. - * - If the variable is initialized in a different scope from the declaration. - * - If the unique assignment of the variable cannot change to a declaration. - * e.g. `if (a) b = 1` / `return (b = 1)` - * - If the variable is declared in the global scope and `eslintUsed` is `true`. - * `/*exported foo` directive comment makes such variables. This rule does not - * warn such variables because this rule cannot distinguish whether the - * exported variables are reassigned or not. - * @param {eslint-scope.Variable} variable A variable to get. - * @param {boolean} ignoreReadBeforeAssign - * The value of `ignoreReadBeforeAssign` option. - * @returns {ASTNode|null} - * An Identifier node if the variable should change to const. - * Otherwise, null. - */ -function getIdentifierIfShouldBeConst(variable, ignoreReadBeforeAssign) { - if (variable.eslintUsed && variable.scope.type === "global") { - return null; - } - - // Finds the unique WriteReference. - let writer = null; - let isReadBeforeInit = false; - const references = variable.references; - - for (let i = 0; i < references.length; ++i) { - const reference = references[i]; - - if (reference.isWrite()) { - const isReassigned = ( - writer !== null && - writer.identifier !== reference.identifier - ); - - if (isReassigned) { - return null; - } - - const destructuringHost = getDestructuringHost(reference); - - if (destructuringHost !== null && destructuringHost.left !== void 0) { - const leftNode = destructuringHost.left; - let hasOuterVariables = false, - hasNonIdentifiers = false; - - if (leftNode.type === "ObjectPattern") { - const properties = leftNode.properties; - - hasOuterVariables = properties - .filter(prop => prop.value) - .map(prop => prop.value.name) - .some(name => isOuterVariableInDestructing(name, variable.scope)); - - hasNonIdentifiers = hasMemberExpressionAssignment(leftNode); - - } else if (leftNode.type === "ArrayPattern") { - const elements = leftNode.elements; - - hasOuterVariables = elements - .map(element => element && element.name) - .some(name => isOuterVariableInDestructing(name, variable.scope)); - - hasNonIdentifiers = hasMemberExpressionAssignment(leftNode); - } - - if (hasOuterVariables || hasNonIdentifiers) { - return null; - } - - } - - writer = reference; - - } else if (reference.isRead() && writer === null) { - if (ignoreReadBeforeAssign) { - return null; - } - isReadBeforeInit = true; - } - } - - /* - * If the assignment is from a different scope, ignore it. - * If the assignment cannot change to a declaration, ignore it. - */ - const shouldBeConst = ( - writer !== null && - writer.from === variable.scope && - canBecomeVariableDeclaration(writer.identifier) - ); - - if (!shouldBeConst) { - return null; - } - - if (isReadBeforeInit) { - return variable.defs[0].name; - } - - return writer.identifier; -} - -/** - * Groups by the VariableDeclarator/AssignmentExpression node that each - * reference of given variables belongs to. - * This is used to detect a mix of reassigned and never reassigned in a - * destructuring. - * @param {eslint-scope.Variable[]} variables Variables to group by destructuring. - * @param {boolean} ignoreReadBeforeAssign - * The value of `ignoreReadBeforeAssign` option. - * @returns {Map} Grouped identifier nodes. - */ -function groupByDestructuring(variables, ignoreReadBeforeAssign) { - const identifierMap = new Map(); - - for (let i = 0; i < variables.length; ++i) { - const variable = variables[i]; - const references = variable.references; - const identifier = getIdentifierIfShouldBeConst(variable, ignoreReadBeforeAssign); - let prevId = null; - - for (let j = 0; j < references.length; ++j) { - const reference = references[j]; - const id = reference.identifier; - - /* - * Avoid counting a reference twice or more for default values of - * destructuring. - */ - if (id === prevId) { - continue; - } - prevId = id; - - // Add the identifier node into the destructuring group. - const group = getDestructuringHost(reference); - - if (group) { - if (identifierMap.has(group)) { - identifierMap.get(group).push(identifier); - } else { - identifierMap.set(group, [identifier]); - } - } - } - } - - return identifierMap; -} - -/** - * Finds the nearest parent of node with a given type. - * @param {ASTNode} node The node to search from. - * @param {string} type The type field of the parent node. - * @param {Function} shouldStop A predicate that returns true if the traversal should stop, and false otherwise. - * @returns {ASTNode} The closest ancestor with the specified type; null if no such ancestor exists. - */ -function findUp(node, type, shouldStop) { - if (!node || shouldStop(node)) { - return null; - } - if (node.type === type) { - return node; - } - return findUp(node.parent, type, shouldStop); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - destructuring: "any", - ignoreReadBeforeAssign: false - }], - - docs: { - description: "Require `const` declarations for variables that are never reassigned after declared", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-const" - }, - - fixable: "code", - - schema: [ - { - type: "object", - properties: { - destructuring: { enum: ["any", "all"] }, - ignoreReadBeforeAssign: { type: "boolean" } - }, - additionalProperties: false - } - ], - messages: { - useConst: "'{{name}}' is never reassigned. Use 'const' instead." - } - }, - - create(context) { - const [{ destructuring, ignoreReadBeforeAssign }] = context.options; - const shouldMatchAnyDestructuredVariable = destructuring !== "all"; - const sourceCode = context.sourceCode; - const variables = []; - let reportCount = 0; - let checkedId = null; - let checkedName = ""; - - - /** - * Reports given identifier nodes if all of the nodes should be declared - * as const. - * - * The argument 'nodes' is an array of Identifier nodes. - * This node is the result of 'getIdentifierIfShouldBeConst()', so it's - * nullable. In simple declaration or assignment cases, the length of - * the array is 1. In destructuring cases, the length of the array can - * be 2 or more. - * @param {(eslint-scope.Reference|null)[]} nodes - * References which are grouped by destructuring to report. - * @returns {void} - */ - function checkGroup(nodes) { - const nodesToReport = nodes.filter(Boolean); - - if (nodes.length && (shouldMatchAnyDestructuredVariable || nodesToReport.length === nodes.length)) { - const varDeclParent = findUp(nodes[0], "VariableDeclaration", parentNode => parentNode.type.endsWith("Statement")); - const isVarDecParentNull = varDeclParent === null; - - if (!isVarDecParentNull && varDeclParent.declarations.length > 0) { - const firstDeclaration = varDeclParent.declarations[0]; - - if (firstDeclaration.init) { - const firstDecParent = firstDeclaration.init.parent; - - /* - * First we check the declaration type and then depending on - * if the type is a "VariableDeclarator" or its an "ObjectPattern" - * we compare the name and id from the first identifier, if the names are different - * we assign the new name, id and reset the count of reportCount and nodeCount in - * order to check each block for the number of reported errors and base our fix - * based on comparing nodes.length and nodesToReport.length. - */ - - if (firstDecParent.type === "VariableDeclarator") { - - if (firstDecParent.id.name !== checkedName) { - checkedName = firstDecParent.id.name; - reportCount = 0; - } - - if (firstDecParent.id.type === "ObjectPattern") { - if (firstDecParent.init.name !== checkedName) { - checkedName = firstDecParent.init.name; - reportCount = 0; - } - } - - if (firstDecParent.id !== checkedId) { - checkedId = firstDecParent.id; - reportCount = 0; - } - } - } - } - - let shouldFix = varDeclParent && - - // Don't do a fix unless all variables in the declarations are initialized (or it's in a for-in or for-of loop) - (varDeclParent.parent.type === "ForInStatement" || varDeclParent.parent.type === "ForOfStatement" || - varDeclParent.declarations.every(declaration => declaration.init)) && - - /* - * If options.destructuring is "all", then this warning will not occur unless - * every assignment in the destructuring should be const. In that case, it's safe - * to apply the fix. - */ - nodesToReport.length === nodes.length; - - if (!isVarDecParentNull && varDeclParent.declarations && varDeclParent.declarations.length !== 1) { - - if (varDeclParent && varDeclParent.declarations && varDeclParent.declarations.length >= 1) { - - /* - * Add nodesToReport.length to a count, then comparing the count to the length - * of the declarations in the current block. - */ - - reportCount += nodesToReport.length; - - let totalDeclarationsCount = 0; - - varDeclParent.declarations.forEach(declaration => { - if (declaration.id.type === "ObjectPattern") { - totalDeclarationsCount += declaration.id.properties.length; - } else if (declaration.id.type === "ArrayPattern") { - totalDeclarationsCount += declaration.id.elements.length; - } else { - totalDeclarationsCount += 1; - } - }); - - shouldFix = shouldFix && (reportCount === totalDeclarationsCount); - } - } - - nodesToReport.forEach(node => { - context.report({ - node, - messageId: "useConst", - data: node, - fix: shouldFix - ? fixer => { - const letKeywordToken = sourceCode.getFirstToken(varDeclParent, t => t.value === varDeclParent.kind); - - /** - * Extend the replacement range to the whole declaration, - * in order to prevent other fixes in the same pass - * https://github.com/eslint/eslint/issues/13899 - */ - return new FixTracker(fixer, sourceCode) - .retainRange(varDeclParent.range) - .replaceTextRange(letKeywordToken.range, "const"); - } - : null - }); - }); - } - } - - return { - "Program:exit"() { - groupByDestructuring(variables, ignoreReadBeforeAssign).forEach(checkGroup); - }, - - VariableDeclaration(node) { - if (node.kind === "let" && !isInitOfForStatement(node)) { - variables.push(...sourceCode.getDeclaredVariables(node)); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-destructuring.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-destructuring.js deleted file mode 100644 index c6075c55..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-destructuring.js +++ /dev/null @@ -1,301 +0,0 @@ -/** - * @fileoverview Prefer destructuring from arrays and objects - * @author Alex LaFroscia - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const PRECEDENCE_OF_ASSIGNMENT_EXPR = astUtils.getPrecedence({ type: "AssignmentExpression" }); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require destructuring from arrays and/or objects", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-destructuring" - }, - - fixable: "code", - - schema: [ - { - - /* - * old support {array: Boolean, object: Boolean} - * new support {VariableDeclarator: {}, AssignmentExpression: {}} - */ - oneOf: [ - { - type: "object", - properties: { - VariableDeclarator: { - type: "object", - properties: { - array: { - type: "boolean" - }, - object: { - type: "boolean" - } - }, - additionalProperties: false - }, - AssignmentExpression: { - type: "object", - properties: { - array: { - type: "boolean" - }, - object: { - type: "boolean" - } - }, - additionalProperties: false - } - }, - additionalProperties: false - }, - { - type: "object", - properties: { - array: { - type: "boolean" - }, - object: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - }, - { - type: "object", - properties: { - enforceForRenamedProperties: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - preferDestructuring: "Use {{type}} destructuring." - } - }, - create(context) { - - const enabledTypes = context.options[0]; - const enforceForRenamedProperties = context.options[1] && context.options[1].enforceForRenamedProperties; - let normalizedOptions = { - VariableDeclarator: { array: true, object: true }, - AssignmentExpression: { array: true, object: true } - }; - - if (enabledTypes) { - normalizedOptions = typeof enabledTypes.array !== "undefined" || typeof enabledTypes.object !== "undefined" - ? { VariableDeclarator: enabledTypes, AssignmentExpression: enabledTypes } - : enabledTypes; - } - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Checks if destructuring type should be checked. - * @param {string} nodeType "AssignmentExpression" or "VariableDeclarator" - * @param {string} destructuringType "array" or "object" - * @returns {boolean} `true` if the destructuring type should be checked for the given node - */ - function shouldCheck(nodeType, destructuringType) { - return normalizedOptions && - normalizedOptions[nodeType] && - normalizedOptions[nodeType][destructuringType]; - } - - /** - * Determines if the given node is accessing an array index - * - * This is used to differentiate array index access from object property - * access. - * @param {ASTNode} node the node to evaluate - * @returns {boolean} whether or not the node is an integer - */ - function isArrayIndexAccess(node) { - return Number.isInteger(node.property.value); - } - - /** - * Report that the given node should use destructuring - * @param {ASTNode} reportNode the node to report - * @param {string} type the type of destructuring that should have been done - * @param {Function|null} fix the fix function or null to pass to context.report - * @returns {void} - */ - function report(reportNode, type, fix) { - context.report({ - node: reportNode, - messageId: "preferDestructuring", - data: { type }, - fix - }); - } - - /** - * Determines if a node should be fixed into object destructuring - * - * The fixer only fixes the simplest case of object destructuring, - * like: `let x = a.x`; - * - * Assignment expression is not fixed. - * Array destructuring is not fixed. - * Renamed property is not fixed. - * @param {ASTNode} node the node to evaluate - * @returns {boolean} whether or not the node should be fixed - */ - function shouldFix(node) { - return node.type === "VariableDeclarator" && - node.id.type === "Identifier" && - node.init.type === "MemberExpression" && - !node.init.computed && - node.init.property.type === "Identifier" && - node.id.name === node.init.property.name; - } - - /** - * Fix a node into object destructuring. - * This function only handles the simplest case of object destructuring, - * see {@link shouldFix}. - * @param {SourceCodeFixer} fixer the fixer object - * @param {ASTNode} node the node to be fixed. - * @returns {Object} a fix for the node - */ - function fixIntoObjectDestructuring(fixer, node) { - const rightNode = node.init; - const sourceCode = context.sourceCode; - - // Don't fix if that would remove any comments. Only comments inside `rightNode.object` can be preserved. - if (sourceCode.getCommentsInside(node).length > sourceCode.getCommentsInside(rightNode.object).length) { - return null; - } - - let objectText = sourceCode.getText(rightNode.object); - - if (astUtils.getPrecedence(rightNode.object) < PRECEDENCE_OF_ASSIGNMENT_EXPR) { - objectText = `(${objectText})`; - } - - return fixer.replaceText( - node, - `{${rightNode.property.name}} = ${objectText}` - ); - } - - /** - * Check that the `prefer-destructuring` rules are followed based on the - * given left- and right-hand side of the assignment. - * - * Pulled out into a separate method so that VariableDeclarators and - * AssignmentExpressions can share the same verification logic. - * @param {ASTNode} leftNode the left-hand side of the assignment - * @param {ASTNode} rightNode the right-hand side of the assignment - * @param {ASTNode} reportNode the node to report the error on - * @returns {void} - */ - function performCheck(leftNode, rightNode, reportNode) { - if ( - rightNode.type !== "MemberExpression" || - rightNode.object.type === "Super" || - rightNode.property.type === "PrivateIdentifier" - ) { - return; - } - - if (isArrayIndexAccess(rightNode)) { - if (shouldCheck(reportNode.type, "array")) { - report(reportNode, "array", null); - } - return; - } - - const fix = shouldFix(reportNode) - ? fixer => fixIntoObjectDestructuring(fixer, reportNode) - : null; - - if (shouldCheck(reportNode.type, "object") && enforceForRenamedProperties) { - report(reportNode, "object", fix); - return; - } - - if (shouldCheck(reportNode.type, "object")) { - const property = rightNode.property; - - if ( - (property.type === "Literal" && leftNode.name === property.value) || - (property.type === "Identifier" && leftNode.name === property.name && !rightNode.computed) - ) { - report(reportNode, "object", fix); - } - } - } - - /** - * Check if a given variable declarator is coming from an property access - * that should be using destructuring instead - * @param {ASTNode} node the variable declarator to check - * @returns {void} - */ - function checkVariableDeclarator(node) { - - // Skip if variable is declared without assignment - if (!node.init) { - return; - } - - // We only care about member expressions past this point - if (node.init.type !== "MemberExpression") { - return; - } - - performCheck(node.id, node.init, node); - } - - /** - * Run the `prefer-destructuring` check on an AssignmentExpression - * @param {ASTNode} node the AssignmentExpression node - * @returns {void} - */ - function checkAssignmentExpression(node) { - if (node.operator === "=") { - performCheck(node.left, node.right, node); - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - VariableDeclarator: checkVariableDeclarator, - AssignmentExpression: checkAssignmentExpression - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js deleted file mode 100644 index 6d807f9c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +++ /dev/null @@ -1,191 +0,0 @@ -/** - * @fileoverview Rule to disallow Math.pow in favor of the ** operator - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { CALL, ReferenceTracker } = require("@eslint-community/eslint-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const PRECEDENCE_OF_EXPONENTIATION_EXPR = astUtils.getPrecedence({ type: "BinaryExpression", operator: "**" }); - -/** - * Determines whether the given node needs parens if used as the base in an exponentiation binary expression. - * @param {ASTNode} base The node to check. - * @returns {boolean} `true` if the node needs to be parenthesised. - */ -function doesBaseNeedParens(base) { - return ( - - // '**' is right-associative, parens are needed when Math.pow(a ** b, c) is converted to (a ** b) ** c - astUtils.getPrecedence(base) <= PRECEDENCE_OF_EXPONENTIATION_EXPR || - - // An unary operator cannot be used immediately before an exponentiation expression - base.type === "AwaitExpression" || - base.type === "UnaryExpression" - ); -} - -/** - * Determines whether the given node needs parens if used as the exponent in an exponentiation binary expression. - * @param {ASTNode} exponent The node to check. - * @returns {boolean} `true` if the node needs to be parenthesised. - */ -function doesExponentNeedParens(exponent) { - - // '**' is right-associative, there is no need for parens when Math.pow(a, b ** c) is converted to a ** b ** c - return astUtils.getPrecedence(exponent) < PRECEDENCE_OF_EXPONENTIATION_EXPR; -} - -/** - * Determines whether an exponentiation binary expression at the place of the given node would need parens. - * @param {ASTNode} node A node that would be replaced by an exponentiation binary expression. - * @param {SourceCode} sourceCode A SourceCode object. - * @returns {boolean} `true` if the expression needs to be parenthesised. - */ -function doesExponentiationExpressionNeedParens(node, sourceCode) { - const parent = node.parent.type === "ChainExpression" ? node.parent.parent : node.parent; - - const parentPrecedence = astUtils.getPrecedence(parent); - const needsParens = ( - parent.type === "ClassDeclaration" || - ( - parent.type.endsWith("Expression") && - (parentPrecedence === -1 || parentPrecedence >= PRECEDENCE_OF_EXPONENTIATION_EXPR) && - !(parent.type === "BinaryExpression" && parent.operator === "**" && parent.right === node) && - !((parent.type === "CallExpression" || parent.type === "NewExpression") && parent.arguments.includes(node)) && - !(parent.type === "MemberExpression" && parent.computed && parent.property === node) && - !(parent.type === "ArrayExpression") - ) - ); - - return needsParens && !astUtils.isParenthesised(sourceCode, node); -} - -/** - * Optionally parenthesizes given text. - * @param {string} text The text to parenthesize. - * @param {boolean} shouldParenthesize If `true`, the text will be parenthesised. - * @returns {string} parenthesised or unchanged text. - */ -function parenthesizeIfShould(text, shouldParenthesize) { - return shouldParenthesize ? `(${text})` : text; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow the use of `Math.pow` in favor of the `**` operator", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - }, - - schema: [], - fixable: "code", - - messages: { - useExponentiation: "Use the '**' operator instead of 'Math.pow'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Reports the given node. - * @param {ASTNode} node 'Math.pow()' node to report. - * @returns {void} - */ - function report(node) { - context.report({ - node, - messageId: "useExponentiation", - fix(fixer) { - if ( - node.arguments.length !== 2 || - node.arguments.some(arg => arg.type === "SpreadElement") || - sourceCode.getCommentsInside(node).length > 0 - ) { - return null; - } - - const base = node.arguments[0], - exponent = node.arguments[1], - baseText = sourceCode.getText(base), - exponentText = sourceCode.getText(exponent), - shouldParenthesizeBase = doesBaseNeedParens(base), - shouldParenthesizeExponent = doesExponentNeedParens(exponent), - shouldParenthesizeAll = doesExponentiationExpressionNeedParens(node, sourceCode); - - let prefix = "", - suffix = ""; - - if (!shouldParenthesizeAll) { - if (!shouldParenthesizeBase) { - const firstReplacementToken = sourceCode.getFirstToken(base), - tokenBefore = sourceCode.getTokenBefore(node); - - if ( - tokenBefore && - tokenBefore.range[1] === node.range[0] && - !astUtils.canTokensBeAdjacent(tokenBefore, firstReplacementToken) - ) { - prefix = " "; // a+Math.pow(++b, c) -> a+ ++b**c - } - } - if (!shouldParenthesizeExponent) { - const lastReplacementToken = sourceCode.getLastToken(exponent), - tokenAfter = sourceCode.getTokenAfter(node); - - if ( - tokenAfter && - node.range[1] === tokenAfter.range[0] && - !astUtils.canTokensBeAdjacent(lastReplacementToken, tokenAfter) - ) { - suffix = " "; // Math.pow(a, b)in c -> a**b in c - } - } - } - - const baseReplacement = parenthesizeIfShould(baseText, shouldParenthesizeBase), - exponentReplacement = parenthesizeIfShould(exponentText, shouldParenthesizeExponent), - replacement = parenthesizeIfShould(`${baseReplacement}**${exponentReplacement}`, shouldParenthesizeAll); - - return fixer.replaceText(node, `${prefix}${replacement}${suffix}`); - } - }); - } - - return { - Program(node) { - const scope = sourceCode.getScope(node); - const tracker = new ReferenceTracker(scope); - const trackMap = { - Math: { - pow: { [CALL]: true } - } - }; - - for (const { node: refNode } of tracker.iterateGlobalReferences(trackMap)) { - report(refNode); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-named-capture-group.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-named-capture-group.js deleted file mode 100644 index a82ee1f7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-named-capture-group.js +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @fileoverview Rule to enforce requiring named capture groups in regular expression. - * @author Pig Fang - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { - CALL, - CONSTRUCT, - ReferenceTracker, - getStringIfConstant -} = require("@eslint-community/eslint-utils"); -const regexpp = require("@eslint-community/regexpp"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const parser = new regexpp.RegExpParser(); - -/** - * Creates fixer suggestions for the regex, if statically determinable. - * @param {number} groupStart Starting index of the regex group. - * @param {string} pattern The regular expression pattern to be checked. - * @param {string} rawText Source text of the regexNode. - * @param {ASTNode} regexNode AST node which contains the regular expression. - * @returns {Array} Fixer suggestions for the regex, if statically determinable. - */ -function suggestIfPossible(groupStart, pattern, rawText, regexNode) { - switch (regexNode.type) { - case "Literal": - if (typeof regexNode.value === "string" && rawText.includes("\\")) { - return null; - } - break; - case "TemplateLiteral": - if (regexNode.expressions.length || rawText.slice(1, -1) !== pattern) { - return null; - } - break; - default: - return null; - } - - const start = regexNode.range[0] + groupStart + 2; - - return [ - { - fix(fixer) { - const existingTemps = pattern.match(/temp\d+/gu) || []; - const highestTempCount = existingTemps.reduce( - (previous, next) => - Math.max(previous, Number(next.slice("temp".length))), - 0 - ); - - return fixer.insertTextBeforeRange( - [start, start], - `?` - ); - }, - messageId: "addGroupName" - }, - { - fix(fixer) { - return fixer.insertTextBeforeRange( - [start, start], - "?:" - ); - }, - messageId: "addNonCapture" - } - ]; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce using named capture group in regular expression", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - }, - - hasSuggestions: true, - - schema: [], - - messages: { - addGroupName: "Add name to capture group.", - addNonCapture: "Convert group to non-capturing.", - required: "Capture group '{{group}}' should be converted to a named or non-capturing group." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - /** - * Function to check regular expression. - * @param {string} pattern The regular expression pattern to be checked. - * @param {ASTNode} node AST node which contains the regular expression or a call/new expression. - * @param {ASTNode} regexNode AST node which contains the regular expression. - * @param {string|null} flags The regular expression flags to be checked. - * @returns {void} - */ - function checkRegex(pattern, node, regexNode, flags) { - let ast; - - try { - ast = parser.parsePattern(pattern, 0, pattern.length, { - unicode: Boolean(flags && flags.includes("u")), - unicodeSets: Boolean(flags && flags.includes("v")) - }); - } catch { - - // ignore regex syntax errors - return; - } - - regexpp.visitRegExpAST(ast, { - onCapturingGroupEnter(group) { - if (!group.name) { - const rawText = sourceCode.getText(regexNode); - const suggest = suggestIfPossible(group.start, pattern, rawText, regexNode); - - context.report({ - node, - messageId: "required", - data: { - group: group.raw - }, - suggest - }); - } - } - }); - } - - return { - Literal(node) { - if (node.regex) { - checkRegex(node.regex.pattern, node, node, node.regex.flags); - } - }, - Program(node) { - const scope = sourceCode.getScope(node); - const tracker = new ReferenceTracker(scope); - const traceMap = { - RegExp: { - [CALL]: true, - [CONSTRUCT]: true - } - }; - - for (const { node: refNode } of tracker.iterateGlobalReferences(traceMap)) { - const regex = getStringIfConstant(refNode.arguments[0]); - const flags = getStringIfConstant(refNode.arguments[1]); - - if (regex) { - checkRegex(regex, refNode, refNode.arguments[0], flags); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-numeric-literals.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-numeric-literals.js deleted file mode 100644 index 118d6dce..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-numeric-literals.js +++ /dev/null @@ -1,148 +0,0 @@ -/** - * @fileoverview Rule to disallow `parseInt()` in favor of binary, octal, and hexadecimal literals - * @author Annie Zhang, Henry Zhu - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const radixMap = new Map([ - [2, { system: "binary", literalPrefix: "0b" }], - [8, { system: "octal", literalPrefix: "0o" }], - [16, { system: "hexadecimal", literalPrefix: "0x" }] -]); - -/** - * Checks to see if a CallExpression's callee node is `parseInt` or - * `Number.parseInt`. - * @param {ASTNode} calleeNode The callee node to evaluate. - * @returns {boolean} True if the callee is `parseInt` or `Number.parseInt`, - * false otherwise. - */ -function isParseInt(calleeNode) { - return ( - astUtils.isSpecificId(calleeNode, "parseInt") || - astUtils.isSpecificMemberAccess(calleeNode, "Number", "parseInt") - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - }, - - schema: [], - - messages: { - useLiteral: "Use {{system}} literals instead of {{functionName}}()." - }, - - fixable: "code" - }, - - create(context) { - const sourceCode = context.sourceCode; - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - - "CallExpression[arguments.length=2]"(node) { - const [strNode, radixNode] = node.arguments, - str = astUtils.getStaticStringValue(strNode), - radix = radixNode.value; - - if ( - str !== null && - astUtils.isStringLiteral(strNode) && - radixNode.type === "Literal" && - typeof radix === "number" && - radixMap.has(radix) && - isParseInt(node.callee) - ) { - - const { system, literalPrefix } = radixMap.get(radix); - - context.report({ - node, - messageId: "useLiteral", - data: { - system, - functionName: sourceCode.getText(node.callee) - }, - fix(fixer) { - if (sourceCode.getCommentsInside(node).length) { - return null; - } - - const replacement = `${literalPrefix}${str}`; - - if (+replacement !== parseInt(str, radix)) { - - /* - * If the newly-produced literal would be invalid, (e.g. 0b1234), - * or it would yield an incorrect parseInt result for some other reason, don't make a fix. - * - * If `str` had numeric separators, `+replacement` will evaluate to `NaN` because unary `+` - * per the specification doesn't support numeric separators. Thus, the above condition will be `true` - * (`NaN !== anything` is always `true`) regardless of the `parseInt(str, radix)` value. - * Consequently, no autofixes will be made. This is correct behavior because `parseInt` also - * doesn't support numeric separators, but it does parse part of the string before the first `_`, - * so the autofix would be invalid: - * - * parseInt("1_1", 2) // === 1 - * 0b1_1 // === 3 - */ - return null; - } - - const tokenBefore = sourceCode.getTokenBefore(node), - tokenAfter = sourceCode.getTokenAfter(node); - let prefix = "", - suffix = ""; - - if ( - tokenBefore && - tokenBefore.range[1] === node.range[0] && - !astUtils.canTokensBeAdjacent(tokenBefore, replacement) - ) { - prefix = " "; - } - - if ( - tokenAfter && - node.range[1] === tokenAfter.range[0] && - !astUtils.canTokensBeAdjacent(replacement, tokenAfter) - ) { - suffix = " "; - } - - return fixer.replaceText(node, `${prefix}${replacement}${suffix}`); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-has-own.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-has-own.js deleted file mode 100644 index 97ea64fa..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-has-own.js +++ /dev/null @@ -1,114 +0,0 @@ -/** - * @fileoverview Prefers Object.hasOwn() instead of Object.prototype.hasOwnProperty.call() - * @author Nitin Kumar - * @author Gautam Arora - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks if the given node is considered to be an access to a property of `Object.prototype`. - * @param {ASTNode} node `MemberExpression` node to evaluate. - * @returns {boolean} `true` if `node.object` is `Object`, `Object.prototype`, or `{}` (empty 'ObjectExpression' node). - */ -function hasLeftHandObject(node) { - - /* - * ({}).hasOwnProperty.call(obj, prop) - `true` - * ({ foo }.hasOwnProperty.call(obj, prop)) - `false`, object literal should be empty - */ - if (node.object.type === "ObjectExpression" && node.object.properties.length === 0) { - return true; - } - - const objectNodeToCheck = node.object.type === "MemberExpression" && astUtils.getStaticPropertyName(node.object) === "prototype" ? node.object.object : node.object; - - if (objectNodeToCheck.type === "Identifier" && objectNodeToCheck.name === "Object") { - return true; - } - - return false; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - docs: { - description: - "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-object-has-own" - }, - schema: [], - messages: { - useHasOwn: "Use 'Object.hasOwn()' instead of 'Object.prototype.hasOwnProperty.call()'." - }, - fixable: "code" - }, - create(context) { - - const sourceCode = context.sourceCode; - - return { - CallExpression(node) { - if (!(node.callee.type === "MemberExpression" && node.callee.object.type === "MemberExpression")) { - return; - } - - const calleePropertyName = astUtils.getStaticPropertyName(node.callee); - const objectPropertyName = astUtils.getStaticPropertyName(node.callee.object); - const isObject = hasLeftHandObject(node.callee.object); - - // check `Object` scope - const scope = sourceCode.getScope(node); - const variable = astUtils.getVariableByName(scope, "Object"); - - if ( - calleePropertyName === "call" && - objectPropertyName === "hasOwnProperty" && - isObject && - variable && variable.scope.type === "global" - ) { - context.report({ - node, - messageId: "useHasOwn", - fix(fixer) { - - if (sourceCode.getCommentsInside(node.callee).length > 0) { - return null; - } - - const tokenJustBeforeNode = sourceCode.getTokenBefore(node.callee, { includeComments: true }); - - // for https://github.com/eslint/eslint/pull/15346#issuecomment-991417335 - if ( - tokenJustBeforeNode && - tokenJustBeforeNode.range[1] === node.callee.range[0] && - !astUtils.canTokensBeAdjacent(tokenJustBeforeNode, "Object.hasOwn") - ) { - return fixer.replaceText(node.callee, " Object.hasOwn"); - } - - return fixer.replaceText(node.callee, "Object.hasOwn"); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-spread.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-spread.js deleted file mode 100644 index a6eb4bd4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-object-spread.js +++ /dev/null @@ -1,298 +0,0 @@ -/** - * @fileoverview Rule to disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead - * @author Sharmila Jesupaul - */ - -"use strict"; - -const { CALL, ReferenceTracker } = require("@eslint-community/eslint-utils"); -const { - isCommaToken, - isOpeningParenToken, - isClosingParenToken, - isParenthesised -} = require("./utils/ast-utils"); - -const ANY_SPACE = /\s/u; - -/** - * Helper that checks if the Object.assign call has array spread - * @param {ASTNode} node The node that the rule warns on - * @returns {boolean} - Returns true if the Object.assign call has array spread - */ -function hasArraySpread(node) { - return node.arguments.some(arg => arg.type === "SpreadElement"); -} - -/** - * Determines whether the given node is an accessor property (getter/setter). - * @param {ASTNode} node Node to check. - * @returns {boolean} `true` if the node is a getter or a setter. - */ -function isAccessorProperty(node) { - return node.type === "Property" && - (node.kind === "get" || node.kind === "set"); -} - -/** - * Determines whether the given object expression node has accessor properties (getters/setters). - * @param {ASTNode} node `ObjectExpression` node to check. - * @returns {boolean} `true` if the node has at least one getter/setter. - */ -function hasAccessors(node) { - return node.properties.some(isAccessorProperty); -} - -/** - * Determines whether the given call expression node has object expression arguments with accessor properties (getters/setters). - * @param {ASTNode} node `CallExpression` node to check. - * @returns {boolean} `true` if the node has at least one argument that is an object expression with at least one getter/setter. - */ -function hasArgumentsWithAccessors(node) { - return node.arguments - .filter(arg => arg.type === "ObjectExpression") - .some(hasAccessors); -} - -/** - * Helper that checks if the node needs parentheses to be valid JS. - * The default is to wrap the node in parentheses to avoid parsing errors. - * @param {ASTNode} node The node that the rule warns on - * @param {Object} sourceCode in context sourcecode object - * @returns {boolean} - Returns true if the node needs parentheses - */ -function needsParens(node, sourceCode) { - const parent = node.parent; - - switch (parent.type) { - case "VariableDeclarator": - case "ArrayExpression": - case "ReturnStatement": - case "CallExpression": - case "Property": - return false; - case "AssignmentExpression": - return parent.left === node && !isParenthesised(sourceCode, node); - default: - return !isParenthesised(sourceCode, node); - } -} - -/** - * Determines if an argument needs parentheses. The default is to not add parens. - * @param {ASTNode} node The node to be checked. - * @param {Object} sourceCode in context sourcecode object - * @returns {boolean} True if the node needs parentheses - */ -function argNeedsParens(node, sourceCode) { - switch (node.type) { - case "AssignmentExpression": - case "ArrowFunctionExpression": - case "ConditionalExpression": - return !isParenthesised(sourceCode, node); - default: - return false; - } -} - -/** - * Get the parenthesis tokens of a given ObjectExpression node. - * This includes the braces of the object literal and enclosing parentheses. - * @param {ASTNode} node The node to get. - * @param {Token} leftArgumentListParen The opening paren token of the argument list. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {Token[]} The parenthesis tokens of the node. This is sorted by the location. - */ -function getParenTokens(node, leftArgumentListParen, sourceCode) { - const parens = [sourceCode.getFirstToken(node), sourceCode.getLastToken(node)]; - let leftNext = sourceCode.getTokenBefore(node); - let rightNext = sourceCode.getTokenAfter(node); - - // Note: don't include the parens of the argument list. - while ( - leftNext && - rightNext && - leftNext.range[0] > leftArgumentListParen.range[0] && - isOpeningParenToken(leftNext) && - isClosingParenToken(rightNext) - ) { - parens.push(leftNext, rightNext); - leftNext = sourceCode.getTokenBefore(leftNext); - rightNext = sourceCode.getTokenAfter(rightNext); - } - - return parens.sort((a, b) => a.range[0] - b.range[0]); -} - -/** - * Get the range of a given token and around whitespaces. - * @param {Token} token The token to get range. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {number} The end of the range of the token and around whitespaces. - */ -function getStartWithSpaces(token, sourceCode) { - const text = sourceCode.text; - let start = token.range[0]; - - // If the previous token is a line comment then skip this step to avoid commenting this token out. - { - const prevToken = sourceCode.getTokenBefore(token, { includeComments: true }); - - if (prevToken && prevToken.type === "Line") { - return start; - } - } - - // Detect spaces before the token. - while (ANY_SPACE.test(text[start - 1] || "")) { - start -= 1; - } - - return start; -} - -/** - * Get the range of a given token and around whitespaces. - * @param {Token} token The token to get range. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {number} The start of the range of the token and around whitespaces. - */ -function getEndWithSpaces(token, sourceCode) { - const text = sourceCode.text; - let end = token.range[1]; - - // Detect spaces after the token. - while (ANY_SPACE.test(text[end] || "")) { - end += 1; - } - - return end; -} - -/** - * Autofixes the Object.assign call to use an object spread instead. - * @param {ASTNode|null} node The node that the rule warns on, i.e. the Object.assign call - * @param {string} sourceCode sourceCode of the Object.assign call - * @returns {Function} autofixer - replaces the Object.assign with a spread object. - */ -function defineFixer(node, sourceCode) { - return function *(fixer) { - const leftParen = sourceCode.getTokenAfter(node.callee, isOpeningParenToken); - const rightParen = sourceCode.getLastToken(node); - - // Remove everything before the opening paren: callee `Object.assign`, type arguments, and whitespace between the callee and the paren. - yield fixer.removeRange([node.range[0], leftParen.range[0]]); - - // Replace the parens of argument list to braces. - if (needsParens(node, sourceCode)) { - yield fixer.replaceText(leftParen, "({"); - yield fixer.replaceText(rightParen, "})"); - } else { - yield fixer.replaceText(leftParen, "{"); - yield fixer.replaceText(rightParen, "}"); - } - - // Process arguments. - for (const argNode of node.arguments) { - const innerParens = getParenTokens(argNode, leftParen, sourceCode); - const left = innerParens.shift(); - const right = innerParens.pop(); - - if (argNode.type === "ObjectExpression") { - const maybeTrailingComma = sourceCode.getLastToken(argNode, 1); - const maybeArgumentComma = sourceCode.getTokenAfter(right); - - /* - * Make bare this object literal. - * And remove spaces inside of the braces for better formatting. - */ - for (const innerParen of innerParens) { - yield fixer.remove(innerParen); - } - const leftRange = [left.range[0], getEndWithSpaces(left, sourceCode)]; - const rightRange = [ - Math.max(getStartWithSpaces(right, sourceCode), leftRange[1]), // Ensure ranges don't overlap - right.range[1] - ]; - - yield fixer.removeRange(leftRange); - yield fixer.removeRange(rightRange); - - // Remove the comma of this argument if it's duplication. - if ( - (argNode.properties.length === 0 || isCommaToken(maybeTrailingComma)) && - isCommaToken(maybeArgumentComma) - ) { - yield fixer.remove(maybeArgumentComma); - } - } else { - - // Make spread. - if (argNeedsParens(argNode, sourceCode)) { - yield fixer.insertTextBefore(left, "...("); - yield fixer.insertTextAfter(right, ")"); - } else { - yield fixer.insertTextBefore(left, "..."); - } - } - } - }; -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: - "Disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-object-spread" - }, - - schema: [], - fixable: "code", - - messages: { - useSpreadMessage: "Use an object spread instead of `Object.assign` eg: `{ ...foo }`.", - useLiteralMessage: "Use an object literal instead of `Object.assign`. eg: `{ foo: bar }`." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - Program(node) { - const scope = sourceCode.getScope(node); - const tracker = new ReferenceTracker(scope); - const trackMap = { - Object: { - assign: { [CALL]: true } - } - }; - - // Iterate all calls of `Object.assign` (only of the global variable `Object`). - for (const { node: refNode } of tracker.iterateGlobalReferences(trackMap)) { - if ( - refNode.arguments.length >= 1 && - refNode.arguments[0].type === "ObjectExpression" && - !hasArraySpread(refNode) && - !( - refNode.arguments.length > 1 && - hasArgumentsWithAccessors(refNode) - ) - ) { - const messageId = refNode.arguments.length === 1 - ? "useLiteralMessage" - : "useSpreadMessage"; - const fix = defineFixer(refNode, sourceCode); - - context.report({ node: refNode, messageId, fix }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js deleted file mode 100644 index 276b4222..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +++ /dev/null @@ -1,136 +0,0 @@ -/** - * @fileoverview restrict values that can be used as Promise rejection reasons - * @author Teddy Katz - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allowEmptyReject: false - }], - - docs: { - description: "Require using Error objects as Promise rejection reasons", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors" - }, - - fixable: null, - - schema: [ - { - type: "object", - properties: { - allowEmptyReject: { type: "boolean" } - }, - additionalProperties: false - } - ], - - messages: { - rejectAnError: "Expected the Promise rejection reason to be an Error." - } - }, - - create(context) { - - const [{ allowEmptyReject }] = context.options; - const sourceCode = context.sourceCode; - - //---------------------------------------------------------------------- - // Helpers - //---------------------------------------------------------------------- - - /** - * Checks the argument of a reject() or Promise.reject() CallExpression, and reports it if it can't be an Error - * @param {ASTNode} callExpression A CallExpression node which is used to reject a Promise - * @returns {void} - */ - function checkRejectCall(callExpression) { - if (!callExpression.arguments.length && allowEmptyReject) { - return; - } - if ( - !callExpression.arguments.length || - !astUtils.couldBeError(callExpression.arguments[0]) || - callExpression.arguments[0].type === "Identifier" && callExpression.arguments[0].name === "undefined" - ) { - context.report({ - node: callExpression, - messageId: "rejectAnError" - }); - } - } - - /** - * Determines whether a function call is a Promise.reject() call - * @param {ASTNode} node A CallExpression node - * @returns {boolean} `true` if the call is a Promise.reject() call - */ - function isPromiseRejectCall(node) { - return astUtils.isSpecificMemberAccess(node.callee, "Promise", "reject"); - } - - //---------------------------------------------------------------------- - // Public - //---------------------------------------------------------------------- - - return { - - // Check `Promise.reject(value)` calls. - CallExpression(node) { - if (isPromiseRejectCall(node)) { - checkRejectCall(node); - } - }, - - /* - * Check for `new Promise((resolve, reject) => {})`, and check for reject() calls. - * This function is run on "NewExpression:exit" instead of "NewExpression" to ensure that - * the nodes in the expression already have the `parent` property. - */ - "NewExpression:exit"(node) { - if ( - node.callee.type === "Identifier" && node.callee.name === "Promise" && - node.arguments.length && astUtils.isFunction(node.arguments[0]) && - node.arguments[0].params.length > 1 && node.arguments[0].params[1].type === "Identifier" - ) { - sourceCode.getDeclaredVariables(node.arguments[0]) - - /* - * Find the first variable that matches the second parameter's name. - * If the first parameter has the same name as the second parameter, then the variable will actually - * be "declared" when the first parameter is evaluated, but then it will be immediately overwritten - * by the second parameter. It's not possible for an expression with the variable to be evaluated before - * the variable is overwritten, because functions with duplicate parameters cannot have destructuring or - * default assignments in their parameter lists. Therefore, it's not necessary to explicitly account for - * this case. - */ - .find(variable => variable.name === node.arguments[0].params[1].name) - - // Get the references to that variable. - .references - - // Only check the references that read the parameter's value. - .filter(ref => ref.isRead()) - - // Only check the references that are used as the callee in a function call, e.g. `reject(foo)`. - .filter(ref => ref.identifier.parent.type === "CallExpression" && ref.identifier === ref.identifier.parent.callee) - - // Check the argument of the function call to determine whether it's an Error. - .forEach(ref => checkRejectCall(ref.identifier.parent)); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-reflect.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-reflect.js deleted file mode 100644 index 7da45237..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-reflect.js +++ /dev/null @@ -1,127 +0,0 @@ -/** - * @fileoverview Rule to suggest using "Reflect" api over Function/Object methods - * @author Keith Cirkel - * @deprecated in ESLint v3.9.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require `Reflect` methods where applicable", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-reflect" - }, - - deprecated: true, - - replacedBy: [], - - schema: [ - { - type: "object", - properties: { - exceptions: { - type: "array", - items: { - enum: [ - "apply", - "call", - "delete", - "defineProperty", - "getOwnPropertyDescriptor", - "getPrototypeOf", - "setPrototypeOf", - "isExtensible", - "getOwnPropertyNames", - "preventExtensions" - ] - }, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - preferReflect: "Avoid using {{existing}}, instead use {{substitute}}." - } - }, - - create(context) { - const existingNames = { - apply: "Function.prototype.apply", - call: "Function.prototype.call", - defineProperty: "Object.defineProperty", - getOwnPropertyDescriptor: "Object.getOwnPropertyDescriptor", - getPrototypeOf: "Object.getPrototypeOf", - setPrototypeOf: "Object.setPrototypeOf", - isExtensible: "Object.isExtensible", - getOwnPropertyNames: "Object.getOwnPropertyNames", - preventExtensions: "Object.preventExtensions" - }; - - const reflectSubstitutes = { - apply: "Reflect.apply", - call: "Reflect.apply", - defineProperty: "Reflect.defineProperty", - getOwnPropertyDescriptor: "Reflect.getOwnPropertyDescriptor", - getPrototypeOf: "Reflect.getPrototypeOf", - setPrototypeOf: "Reflect.setPrototypeOf", - isExtensible: "Reflect.isExtensible", - getOwnPropertyNames: "Reflect.getOwnPropertyNames", - preventExtensions: "Reflect.preventExtensions" - }; - - const exceptions = (context.options[0] || {}).exceptions || []; - - /** - * Reports the Reflect violation based on the `existing` and `substitute` - * @param {Object} node The node that violates the rule. - * @param {string} existing The existing method name that has been used. - * @param {string} substitute The Reflect substitute that should be used. - * @returns {void} - */ - function report(node, existing, substitute) { - context.report({ - node, - messageId: "preferReflect", - data: { - existing, - substitute - } - }); - } - - return { - CallExpression(node) { - const methodName = (node.callee.property || {}).name; - const isReflectCall = (node.callee.object || {}).name === "Reflect"; - const hasReflectSubstitute = Object.hasOwn(reflectSubstitutes, methodName); - const userConfiguredException = exceptions.includes(methodName); - - if (hasReflectSubstitute && !isReflectCall && !userConfiguredException) { - report(node, existingNames[methodName], reflectSubstitutes[methodName]); - } - }, - UnaryExpression(node) { - const isDeleteOperator = node.operator === "delete"; - const targetsIdentifier = node.argument.type === "Identifier"; - const userConfiguredException = exceptions.includes("delete"); - - if (isDeleteOperator && !targetsIdentifier && !userConfiguredException) { - report(node, "the delete keyword", "Reflect.deleteProperty"); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-regex-literals.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-regex-literals.js deleted file mode 100644 index f760102f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/prefer-regex-literals.js +++ /dev/null @@ -1,510 +0,0 @@ -/** - * @fileoverview Rule to disallow use of the `RegExp` constructor in favor of regular expression literals - * @author Milos Djermanovic - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const { CALL, CONSTRUCT, ReferenceTracker, findVariable } = require("@eslint-community/eslint-utils"); -const { RegExpValidator, visitRegExpAST, RegExpParser } = require("@eslint-community/regexpp"); -const { canTokensBeAdjacent } = require("./utils/ast-utils"); -const { REGEXPP_LATEST_ECMA_VERSION } = require("./utils/regular-expressions"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines whether the given node is a string literal. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if the node is a string literal. - */ -function isStringLiteral(node) { - return node.type === "Literal" && typeof node.value === "string"; -} - -/** - * Determines whether the given node is a regex literal. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if the node is a regex literal. - */ -function isRegexLiteral(node) { - return node.type === "Literal" && Object.hasOwn(node, "regex"); -} - -const validPrecedingTokens = new Set([ - "(", - ";", - "[", - ",", - "=", - "+", - "*", - "-", - "?", - "~", - "%", - "**", - "!", - "typeof", - "instanceof", - "&&", - "||", - "??", - "return", - "...", - "delete", - "void", - "in", - "<", - ">", - "<=", - ">=", - "==", - "===", - "!=", - "!==", - "<<", - ">>", - ">>>", - "&", - "|", - "^", - ":", - "{", - "=>", - "*=", - "<<=", - ">>=", - ">>>=", - "^=", - "|=", - "&=", - "??=", - "||=", - "&&=", - "**=", - "+=", - "-=", - "/=", - "%=", - "/", - "do", - "break", - "continue", - "debugger", - "case", - "throw" -]); - - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - disallowRedundantWrapping: false - }], - - docs: { - description: "Disallow use of the `RegExp` constructor in favor of regular expression literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/prefer-regex-literals" - }, - - hasSuggestions: true, - - schema: [ - { - type: "object", - properties: { - disallowRedundantWrapping: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedRegExp: "Use a regular expression literal instead of the 'RegExp' constructor.", - replaceWithLiteral: "Replace with an equivalent regular expression literal.", - replaceWithLiteralAndFlags: "Replace with an equivalent regular expression literal with flags '{{ flags }}'.", - replaceWithIntendedLiteralAndFlags: "Replace with a regular expression literal with flags '{{ flags }}'.", - unexpectedRedundantRegExp: "Regular expression literal is unnecessarily wrapped within a 'RegExp' constructor.", - unexpectedRedundantRegExpWithFlags: "Use regular expression literal with flags instead of the 'RegExp' constructor." - } - }, - - create(context) { - const [{ disallowRedundantWrapping }] = context.options; - const sourceCode = context.sourceCode; - - /** - * Determines whether the given identifier node is a reference to a global variable. - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} True if the identifier is a reference to a global variable. - */ - function isGlobalReference(node) { - const scope = sourceCode.getScope(node); - const variable = findVariable(scope, node); - - return variable !== null && variable.scope.type === "global" && variable.defs.length === 0; - } - - /** - * Determines whether the given node is a String.raw`` tagged template expression - * with a static template literal. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if the node is String.raw`` with a static template. - */ - function isStringRawTaggedStaticTemplateLiteral(node) { - return node.type === "TaggedTemplateExpression" && - astUtils.isSpecificMemberAccess(node.tag, "String", "raw") && - isGlobalReference(astUtils.skipChainExpression(node.tag).object) && - astUtils.isStaticTemplateLiteral(node.quasi); - } - - /** - * Gets the value of a string - * @param {ASTNode} node The node to get the string of. - * @returns {string|null} The value of the node. - */ - function getStringValue(node) { - if (isStringLiteral(node)) { - return node.value; - } - - if (astUtils.isStaticTemplateLiteral(node)) { - return node.quasis[0].value.cooked; - } - - if (isStringRawTaggedStaticTemplateLiteral(node)) { - return node.quasi.quasis[0].value.raw; - } - - return null; - } - - /** - * Determines whether the given node is considered to be a static string by the logic of this rule. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if the node is a static string. - */ - function isStaticString(node) { - return isStringLiteral(node) || - astUtils.isStaticTemplateLiteral(node) || - isStringRawTaggedStaticTemplateLiteral(node); - } - - /** - * Determines whether the relevant arguments of the given are all static string literals. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if all arguments are static strings. - */ - function hasOnlyStaticStringArguments(node) { - const args = node.arguments; - - if ((args.length === 1 || args.length === 2) && args.every(isStaticString)) { - return true; - } - - return false; - } - - /** - * Determines whether the arguments of the given node indicate that a regex literal is unnecessarily wrapped. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if the node already contains a regex literal argument. - */ - function isUnnecessarilyWrappedRegexLiteral(node) { - const args = node.arguments; - - if (args.length === 1 && isRegexLiteral(args[0])) { - return true; - } - - if (args.length === 2 && isRegexLiteral(args[0]) && isStaticString(args[1])) { - return true; - } - - return false; - } - - /** - * Returns a ecmaVersion compatible for regexpp. - * @param {number} ecmaVersion The ecmaVersion to convert. - * @returns {import("@eslint-community/regexpp/ecma-versions").EcmaVersion} The resulting ecmaVersion compatible for regexpp. - */ - function getRegexppEcmaVersion(ecmaVersion) { - if (ecmaVersion <= 5) { - return 5; - } - return Math.min(ecmaVersion, REGEXPP_LATEST_ECMA_VERSION); - } - - const regexppEcmaVersion = getRegexppEcmaVersion(context.languageOptions.ecmaVersion); - - /** - * Makes a character escaped or else returns null. - * @param {string} character The character to escape. - * @returns {string} The resulting escaped character. - */ - function resolveEscapes(character) { - switch (character) { - case "\n": - case "\\\n": - return "\\n"; - - case "\r": - case "\\\r": - return "\\r"; - - case "\t": - case "\\\t": - return "\\t"; - - case "\v": - case "\\\v": - return "\\v"; - - case "\f": - case "\\\f": - return "\\f"; - - case "/": - return "\\/"; - - default: - return null; - } - } - - /** - * Checks whether the given regex and flags are valid for the ecma version or not. - * @param {string} pattern The regex pattern to check. - * @param {string | undefined} flags The regex flags to check. - * @returns {boolean} True if the given regex pattern and flags are valid for the ecma version. - */ - function isValidRegexForEcmaVersion(pattern, flags) { - const validator = new RegExpValidator({ ecmaVersion: regexppEcmaVersion }); - - try { - validator.validatePattern(pattern, 0, pattern.length, { - unicode: flags ? flags.includes("u") : false, - unicodeSets: flags ? flags.includes("v") : false - }); - if (flags) { - validator.validateFlags(flags); - } - return true; - } catch { - return false; - } - } - - /** - * Checks whether two given regex flags contain the same flags or not. - * @param {string} flagsA The regex flags. - * @param {string} flagsB The regex flags. - * @returns {boolean} True if two regex flags contain same flags. - */ - function areFlagsEqual(flagsA, flagsB) { - return [...flagsA].sort().join("") === [...flagsB].sort().join(""); - } - - - /** - * Merges two regex flags. - * @param {string} flagsA The regex flags. - * @param {string} flagsB The regex flags. - * @returns {string} The merged regex flags. - */ - function mergeRegexFlags(flagsA, flagsB) { - const flagsSet = new Set([ - ...flagsA, - ...flagsB - ]); - - return [...flagsSet].join(""); - } - - /** - * Checks whether a give node can be fixed to the given regex pattern and flags. - * @param {ASTNode} node The node to check. - * @param {string} pattern The regex pattern to check. - * @param {string} flags The regex flags - * @returns {boolean} True if a node can be fixed to the given regex pattern and flags. - */ - function canFixTo(node, pattern, flags) { - const tokenBefore = sourceCode.getTokenBefore(node); - - return sourceCode.getCommentsInside(node).length === 0 && - (!tokenBefore || validPrecedingTokens.has(tokenBefore.value)) && - isValidRegexForEcmaVersion(pattern, flags); - } - - /** - * Returns a safe output code considering the before and after tokens. - * @param {ASTNode} node The regex node. - * @param {string} newRegExpValue The new regex expression value. - * @returns {string} The output code. - */ - function getSafeOutput(node, newRegExpValue) { - const tokenBefore = sourceCode.getTokenBefore(node); - const tokenAfter = sourceCode.getTokenAfter(node); - - return (tokenBefore && !canTokensBeAdjacent(tokenBefore, newRegExpValue) && tokenBefore.range[1] === node.range[0] ? " " : "") + - newRegExpValue + - (tokenAfter && !canTokensBeAdjacent(newRegExpValue, tokenAfter) && node.range[1] === tokenAfter.range[0] ? " " : ""); - - } - - return { - Program(node) { - const scope = sourceCode.getScope(node); - const tracker = new ReferenceTracker(scope); - const traceMap = { - RegExp: { - [CALL]: true, - [CONSTRUCT]: true - } - }; - - for (const { node: refNode } of tracker.iterateGlobalReferences(traceMap)) { - if (disallowRedundantWrapping && isUnnecessarilyWrappedRegexLiteral(refNode)) { - const regexNode = refNode.arguments[0]; - - if (refNode.arguments.length === 2) { - const suggests = []; - - const argFlags = getStringValue(refNode.arguments[1]) || ""; - - if (canFixTo(refNode, regexNode.regex.pattern, argFlags)) { - suggests.push({ - messageId: "replaceWithLiteralAndFlags", - pattern: regexNode.regex.pattern, - flags: argFlags - }); - } - - const literalFlags = regexNode.regex.flags || ""; - const mergedFlags = mergeRegexFlags(literalFlags, argFlags); - - if ( - !areFlagsEqual(mergedFlags, argFlags) && - canFixTo(refNode, regexNode.regex.pattern, mergedFlags) - ) { - suggests.push({ - messageId: "replaceWithIntendedLiteralAndFlags", - pattern: regexNode.regex.pattern, - flags: mergedFlags - }); - } - - context.report({ - node: refNode, - messageId: "unexpectedRedundantRegExpWithFlags", - suggest: suggests.map(({ flags, pattern, messageId }) => ({ - messageId, - data: { - flags - }, - fix(fixer) { - return fixer.replaceText(refNode, getSafeOutput(refNode, `/${pattern}/${flags}`)); - } - })) - }); - } else { - const outputs = []; - - if (canFixTo(refNode, regexNode.regex.pattern, regexNode.regex.flags)) { - outputs.push(sourceCode.getText(regexNode)); - } - - - context.report({ - node: refNode, - messageId: "unexpectedRedundantRegExp", - suggest: outputs.map(output => ({ - messageId: "replaceWithLiteral", - fix(fixer) { - return fixer.replaceText( - refNode, - getSafeOutput(refNode, output) - ); - } - })) - }); - } - } else if (hasOnlyStaticStringArguments(refNode)) { - let regexContent = getStringValue(refNode.arguments[0]); - let noFix = false; - let flags; - - if (refNode.arguments[1]) { - flags = getStringValue(refNode.arguments[1]); - } - - if (!canFixTo(refNode, regexContent, flags)) { - noFix = true; - } - - if (!/^[-a-zA-Z0-9\\[\](){} \t\r\n\v\f!@#$%^&*+^_=/~`.> accumulator + sourceText.slice(token.range[1], allTokens[index + 1].range[0]), ""); - } - - /** - * Returns a template literal form of the given node. - * @param {ASTNode} currentNode A node that should be converted to a template literal - * @param {string} textBeforeNode Text that should appear before the node - * @param {string} textAfterNode Text that should appear after the node - * @returns {string} A string form of this node, represented as a template literal - */ - function getTemplateLiteral(currentNode, textBeforeNode, textAfterNode) { - if (currentNode.type === "Literal" && typeof currentNode.value === "string") { - - /* - * If the current node is a string literal, escape any instances of ${ or ` to prevent them from being interpreted - * as a template placeholder. However, if the code already contains a backslash before the ${ or ` - * for some reason, don't add another backslash, because that would change the meaning of the code (it would cause - * an actual backslash character to appear before the dollar sign). - */ - return `\`${currentNode.raw.slice(1, -1).replace(/\\*(\$\{|`)/gu, matched => { - if (matched.lastIndexOf("\\") % 2) { - return `\\${matched}`; - } - return matched; - - // Unescape any quotes that appear in the original Literal that no longer need to be escaped. - }).replace(new RegExp(`\\\\${currentNode.raw[0]}`, "gu"), currentNode.raw[0])}\``; - } - - if (currentNode.type === "TemplateLiteral") { - return sourceCode.getText(currentNode); - } - - if (isConcatenation(currentNode) && hasStringLiteral(currentNode)) { - const plusSign = sourceCode.getFirstTokenBetween(currentNode.left, currentNode.right, token => token.value === "+"); - const textBeforePlus = getTextBetween(currentNode.left, plusSign); - const textAfterPlus = getTextBetween(plusSign, currentNode.right); - const leftEndsWithCurly = endsWithTemplateCurly(currentNode.left); - const rightStartsWithCurly = startsWithTemplateCurly(currentNode.right); - - if (leftEndsWithCurly) { - - // If the left side of the expression ends with a template curly, add the extra text to the end of the curly bracket. - // `foo${bar}` /* comment */ + 'baz' --> `foo${bar /* comment */ }${baz}` - return getTemplateLiteral(currentNode.left, textBeforeNode, textBeforePlus + textAfterPlus).slice(0, -1) + - getTemplateLiteral(currentNode.right, null, textAfterNode).slice(1); - } - if (rightStartsWithCurly) { - - // Otherwise, if the right side of the expression starts with a template curly, add the text there. - // 'foo' /* comment */ + `${bar}baz` --> `foo${ /* comment */ bar}baz` - return getTemplateLiteral(currentNode.left, textBeforeNode, null).slice(0, -1) + - getTemplateLiteral(currentNode.right, textBeforePlus + textAfterPlus, textAfterNode).slice(1); - } - - /* - * Otherwise, these nodes should not be combined into a template curly, since there is nowhere to put - * the text between them. - */ - return `${getTemplateLiteral(currentNode.left, textBeforeNode, null)}${textBeforePlus}+${textAfterPlus}${getTemplateLiteral(currentNode.right, textAfterNode, null)}`; - } - - return `\`\${${textBeforeNode || ""}${sourceCode.getText(currentNode)}${textAfterNode || ""}}\``; - } - - /** - * Returns a fixer object that converts a non-string binary expression to a template literal - * @param {SourceCodeFixer} fixer The fixer object - * @param {ASTNode} node A node that should be converted to a template literal - * @returns {Object} A fix for this binary expression - */ - function fixNonStringBinaryExpression(fixer, node) { - const topBinaryExpr = getTopConcatBinaryExpression(node.parent); - - if (hasOctalOrNonOctalDecimalEscapeSequence(topBinaryExpr)) { - return null; - } - - return fixer.replaceText(topBinaryExpr, getTemplateLiteral(topBinaryExpr, null, null)); - } - - /** - * Reports if a given node is string concatenation with non string literals. - * @param {ASTNode} node A node to check. - * @returns {void} - */ - function checkForStringConcat(node) { - if (!astUtils.isStringLiteral(node) || !isConcatenation(node.parent)) { - return; - } - - const topBinaryExpr = getTopConcatBinaryExpression(node.parent); - - // Checks whether or not this node had been checked already. - if (done[topBinaryExpr.range[0]]) { - return; - } - done[topBinaryExpr.range[0]] = true; - - if (hasNonStringLiteral(topBinaryExpr)) { - context.report({ - node: topBinaryExpr, - messageId: "unexpectedStringConcatenation", - fix: fixer => fixNonStringBinaryExpression(fixer, node) - }); - } - } - - return { - Program() { - done = Object.create(null); - }, - - Literal: checkForStringConcat, - TemplateLiteral: checkForStringConcat - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quote-props.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quote-props.js deleted file mode 100644 index fe26eed7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quote-props.js +++ /dev/null @@ -1,310 +0,0 @@ -/** - * @fileoverview Rule to flag non-quoted property names in object literals. - * @author Mathias Bynens - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const espree = require("espree"); -const astUtils = require("./utils/ast-utils"); -const keywords = require("./utils/keywords"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - - docs: { - description: "Require quotes around object literal property names", - recommended: false, - url: "https://eslint.org/docs/latest/rules/quote-props" - }, - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["always", "as-needed", "consistent", "consistent-as-needed"] - } - ], - minItems: 0, - maxItems: 1 - }, - { - type: "array", - items: [ - { - enum: ["always", "as-needed", "consistent", "consistent-as-needed"] - }, - { - type: "object", - properties: { - keywords: { - type: "boolean" - }, - unnecessary: { - type: "boolean" - }, - numbers: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - - fixable: "code", - messages: { - requireQuotesDueToReservedWord: "Properties should be quoted as '{{property}}' is a reserved word.", - inconsistentlyQuotedProperty: "Inconsistently quoted property '{{key}}' found.", - unnecessarilyQuotedProperty: "Unnecessarily quoted property '{{property}}' found.", - unquotedReservedProperty: "Unquoted reserved word '{{property}}' used as key.", - unquotedNumericProperty: "Unquoted number literal '{{property}}' used as key.", - unquotedPropertyFound: "Unquoted property '{{property}}' found.", - redundantQuoting: "Properties shouldn't be quoted as all quotes are redundant." - } - }, - - create(context) { - - const MODE = context.options[0], - KEYWORDS = context.options[1] && context.options[1].keywords, - CHECK_UNNECESSARY = !context.options[1] || context.options[1].unnecessary !== false, - NUMBERS = context.options[1] && context.options[1].numbers, - - sourceCode = context.sourceCode; - - - /** - * Checks whether a certain string constitutes an ES3 token - * @param {string} tokenStr The string to be checked. - * @returns {boolean} `true` if it is an ES3 token. - */ - function isKeyword(tokenStr) { - return keywords.includes(tokenStr); - } - - /** - * Checks if an espree-tokenized key has redundant quotes (i.e. whether quotes are unnecessary) - * @param {string} rawKey The raw key value from the source - * @param {espreeTokens} tokens The espree-tokenized node key - * @param {boolean} [skipNumberLiterals=false] Indicates whether number literals should be checked - * @returns {boolean} Whether or not a key has redundant quotes. - * @private - */ - function areQuotesRedundant(rawKey, tokens, skipNumberLiterals) { - return tokens.length === 1 && tokens[0].start === 0 && tokens[0].end === rawKey.length && - (["Identifier", "Keyword", "Null", "Boolean"].includes(tokens[0].type) || - (tokens[0].type === "Numeric" && !skipNumberLiterals && String(+tokens[0].value) === tokens[0].value)); - } - - /** - * Returns a string representation of a property node with quotes removed - * @param {ASTNode} key Key AST Node, which may or may not be quoted - * @returns {string} A replacement string for this property - */ - function getUnquotedKey(key) { - return key.type === "Identifier" ? key.name : key.value; - } - - /** - * Returns a string representation of a property node with quotes added - * @param {ASTNode} key Key AST Node, which may or may not be quoted - * @returns {string} A replacement string for this property - */ - function getQuotedKey(key) { - if (key.type === "Literal" && typeof key.value === "string") { - - // If the key is already a string literal, don't replace the quotes with double quotes. - return sourceCode.getText(key); - } - - // Otherwise, the key is either an identifier or a number literal. - return `"${key.type === "Identifier" ? key.name : key.value}"`; - } - - /** - * Ensures that a property's key is quoted only when necessary - * @param {ASTNode} node Property AST node - * @returns {void} - */ - function checkUnnecessaryQuotes(node) { - const key = node.key; - - if (node.method || node.computed || node.shorthand) { - return; - } - - if (key.type === "Literal" && typeof key.value === "string") { - let tokens; - - try { - tokens = espree.tokenize(key.value); - } catch { - return; - } - - if (tokens.length !== 1) { - return; - } - - const isKeywordToken = isKeyword(tokens[0].value); - - if (isKeywordToken && KEYWORDS) { - return; - } - - if (CHECK_UNNECESSARY && areQuotesRedundant(key.value, tokens, NUMBERS)) { - context.report({ - node, - messageId: "unnecessarilyQuotedProperty", - data: { property: key.value }, - fix: fixer => fixer.replaceText(key, getUnquotedKey(key)) - }); - } - } else if (KEYWORDS && key.type === "Identifier" && isKeyword(key.name)) { - context.report({ - node, - messageId: "unquotedReservedProperty", - data: { property: key.name }, - fix: fixer => fixer.replaceText(key, getQuotedKey(key)) - }); - } else if (NUMBERS && key.type === "Literal" && astUtils.isNumericLiteral(key)) { - context.report({ - node, - messageId: "unquotedNumericProperty", - data: { property: key.value }, - fix: fixer => fixer.replaceText(key, getQuotedKey(key)) - }); - } - } - - /** - * Ensures that a property's key is quoted - * @param {ASTNode} node Property AST node - * @returns {void} - */ - function checkOmittedQuotes(node) { - const key = node.key; - - if (!node.method && !node.computed && !node.shorthand && !(key.type === "Literal" && typeof key.value === "string")) { - context.report({ - node, - messageId: "unquotedPropertyFound", - data: { property: key.name || key.value }, - fix: fixer => fixer.replaceText(key, getQuotedKey(key)) - }); - } - } - - /** - * Ensures that an object's keys are consistently quoted, optionally checks for redundancy of quotes - * @param {ASTNode} node Property AST node - * @param {boolean} checkQuotesRedundancy Whether to check quotes' redundancy - * @returns {void} - */ - function checkConsistency(node, checkQuotesRedundancy) { - const quotedProps = [], - unquotedProps = []; - let keywordKeyName = null, - necessaryQuotes = false; - - node.properties.forEach(property => { - const key = property.key; - - if (!key || property.method || property.computed || property.shorthand) { - return; - } - - if (key.type === "Literal" && typeof key.value === "string") { - - quotedProps.push(property); - - if (checkQuotesRedundancy) { - let tokens; - - try { - tokens = espree.tokenize(key.value); - } catch { - necessaryQuotes = true; - return; - } - - necessaryQuotes = necessaryQuotes || !areQuotesRedundant(key.value, tokens) || KEYWORDS && isKeyword(tokens[0].value); - } - } else if (KEYWORDS && checkQuotesRedundancy && key.type === "Identifier" && isKeyword(key.name)) { - unquotedProps.push(property); - necessaryQuotes = true; - keywordKeyName = key.name; - } else { - unquotedProps.push(property); - } - }); - - if (checkQuotesRedundancy && quotedProps.length && !necessaryQuotes) { - quotedProps.forEach(property => { - context.report({ - node: property, - messageId: "redundantQuoting", - fix: fixer => fixer.replaceText(property.key, getUnquotedKey(property.key)) - }); - }); - } else if (unquotedProps.length && keywordKeyName) { - unquotedProps.forEach(property => { - context.report({ - node: property, - messageId: "requireQuotesDueToReservedWord", - data: { property: keywordKeyName }, - fix: fixer => fixer.replaceText(property.key, getQuotedKey(property.key)) - }); - }); - } else if (quotedProps.length && unquotedProps.length) { - unquotedProps.forEach(property => { - context.report({ - node: property, - messageId: "inconsistentlyQuotedProperty", - data: { key: property.key.name || property.key.value }, - fix: fixer => fixer.replaceText(property.key, getQuotedKey(property.key)) - }); - }); - } - } - - return { - Property(node) { - if (MODE === "always" || !MODE) { - checkOmittedQuotes(node); - } - if (MODE === "as-needed") { - checkUnnecessaryQuotes(node); - } - }, - ObjectExpression(node) { - if (MODE === "consistent") { - checkConsistency(node, false); - } - if (MODE === "consistent-as-needed") { - checkConsistency(node, true); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quotes.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quotes.js deleted file mode 100644 index 17d97dd6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/quotes.js +++ /dev/null @@ -1,350 +0,0 @@ -/** - * @fileoverview A rule to choose between single and double quote marks - * @author Matt DuVall , Brandon Payton - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Constants -//------------------------------------------------------------------------------ - -const QUOTE_SETTINGS = { - double: { - quote: "\"", - alternateQuote: "'", - description: "doublequote" - }, - single: { - quote: "'", - alternateQuote: "\"", - description: "singlequote" - }, - backtick: { - quote: "`", - alternateQuote: "\"", - description: "backtick" - } -}; - -// An unescaped newline is a newline preceded by an even number of backslashes. -const UNESCAPED_LINEBREAK_PATTERN = new RegExp(String.raw`(^|[^\\])(\\\\)*[${Array.from(astUtils.LINEBREAKS).join("")}]`, "u"); - -/** - * Switches quoting of javascript string between ' " and ` - * escaping and unescaping as necessary. - * Only escaping of the minimal set of characters is changed. - * Note: escaping of newlines when switching from backtick to other quotes is not handled. - * @param {string} str A string to convert. - * @returns {string} The string with changed quotes. - * @private - */ -QUOTE_SETTINGS.double.convert = -QUOTE_SETTINGS.single.convert = -QUOTE_SETTINGS.backtick.convert = function(str) { - const newQuote = this.quote; - const oldQuote = str[0]; - - if (newQuote === oldQuote) { - return str; - } - return newQuote + str.slice(1, -1).replace(/\\(\$\{|\r\n?|\n|.)|["'`]|\$\{|(\r\n?|\n)/gu, (match, escaped, newline) => { - if (escaped === oldQuote || oldQuote === "`" && escaped === "${") { - return escaped; // unescape - } - if (match === newQuote || newQuote === "`" && match === "${") { - return `\\${match}`; // escape - } - if (newline && oldQuote === "`") { - return "\\n"; // escape newlines - } - return match; - }) + newQuote; -}; - -const AVOID_ESCAPE = "avoid-escape"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce the consistent use of either backticks, double, or single quotes", - recommended: false, - url: "https://eslint.org/docs/latest/rules/quotes" - }, - - fixable: "code", - - schema: [ - { - enum: ["single", "double", "backtick"] - }, - { - anyOf: [ - { - enum: ["avoid-escape"] - }, - { - type: "object", - properties: { - avoidEscape: { - type: "boolean" - }, - allowTemplateLiterals: { - type: "boolean" - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - wrongQuotes: "Strings must use {{description}}." - } - }, - - create(context) { - - const quoteOption = context.options[0], - settings = QUOTE_SETTINGS[quoteOption || "double"], - options = context.options[1], - allowTemplateLiterals = options && options.allowTemplateLiterals === true, - sourceCode = context.sourceCode; - let avoidEscape = options && options.avoidEscape === true; - - // deprecated - if (options === AVOID_ESCAPE) { - avoidEscape = true; - } - - /** - * Determines if a given node is part of JSX syntax. - * - * This function returns `true` in the following cases: - * - * - `
` ... If the literal is an attribute value, the parent of the literal is `JSXAttribute`. - * - `
foo
` ... If the literal is a text content, the parent of the literal is `JSXElement`. - * - `<>foo` ... If the literal is a text content, the parent of the literal is `JSXFragment`. - * - * In particular, this function returns `false` in the following cases: - * - * - `
` - * - `
{"foo"}
` - * - * In both cases, inside of the braces is handled as normal JavaScript. - * The braces are `JSXExpressionContainer` nodes. - * @param {ASTNode} node The Literal node to check. - * @returns {boolean} True if the node is a part of JSX, false if not. - * @private - */ - function isJSXLiteral(node) { - return node.parent.type === "JSXAttribute" || node.parent.type === "JSXElement" || node.parent.type === "JSXFragment"; - } - - /** - * Checks whether or not a given node is a directive. - * The directive is a `ExpressionStatement` which has only a string literal not surrounded by - * parentheses. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is a directive. - * @private - */ - function isDirective(node) { - return ( - node.type === "ExpressionStatement" && - node.expression.type === "Literal" && - typeof node.expression.value === "string" && - !astUtils.isParenthesised(sourceCode, node.expression) - ); - } - - /** - * Checks whether a specified node is either part of, or immediately follows a (possibly empty) directive prologue. - * @see {@link http://www.ecma-international.org/ecma-262/6.0/#sec-directive-prologues-and-the-use-strict-directive} - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether a specified node is either part of, or immediately follows a (possibly empty) directive prologue. - * @private - */ - function isExpressionInOrJustAfterDirectivePrologue(node) { - if (!astUtils.isTopLevelExpressionStatement(node.parent)) { - return false; - } - const block = node.parent.parent; - - // Check the node is at a prologue. - for (let i = 0; i < block.body.length; ++i) { - const statement = block.body[i]; - - if (statement === node.parent) { - return true; - } - if (!isDirective(statement)) { - break; - } - } - - return false; - } - - /** - * Checks whether or not a given node is allowed as non backtick. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is allowed as non backtick. - * @private - */ - function isAllowedAsNonBacktick(node) { - const parent = node.parent; - - switch (parent.type) { - - // Directive Prologues. - case "ExpressionStatement": - return !astUtils.isParenthesised(sourceCode, node) && isExpressionInOrJustAfterDirectivePrologue(node); - - // LiteralPropertyName. - case "Property": - case "PropertyDefinition": - case "MethodDefinition": - return parent.key === node && !parent.computed; - - // ModuleSpecifier. - case "ImportDeclaration": - case "ExportNamedDeclaration": - return parent.source === node; - - // ModuleExportName or ModuleSpecifier. - case "ExportAllDeclaration": - return parent.exported === node || parent.source === node; - - // ModuleExportName. - case "ImportSpecifier": - return parent.imported === node; - - // ModuleExportName. - case "ExportSpecifier": - return parent.local === node || parent.exported === node; - - // Others don't allow. - default: - return false; - } - } - - /** - * Checks whether or not a given TemplateLiteral node is actually using any of the special features provided by template literal strings. - * @param {ASTNode} node A TemplateLiteral node to check. - * @returns {boolean} Whether or not the TemplateLiteral node is using any of the special features provided by template literal strings. - * @private - */ - function isUsingFeatureOfTemplateLiteral(node) { - const hasTag = node.parent.type === "TaggedTemplateExpression" && node === node.parent.quasi; - - if (hasTag) { - return true; - } - - const hasStringInterpolation = node.expressions.length > 0; - - if (hasStringInterpolation) { - return true; - } - - const isMultilineString = node.quasis.length >= 1 && UNESCAPED_LINEBREAK_PATTERN.test(node.quasis[0].value.raw); - - if (isMultilineString) { - return true; - } - - return false; - } - - return { - - Literal(node) { - const val = node.value, - rawVal = node.raw; - - if (settings && typeof val === "string") { - let isValid = (quoteOption === "backtick" && isAllowedAsNonBacktick(node)) || - isJSXLiteral(node) || - astUtils.isSurroundedBy(rawVal, settings.quote); - - if (!isValid && avoidEscape) { - isValid = astUtils.isSurroundedBy(rawVal, settings.alternateQuote) && rawVal.includes(settings.quote); - } - - if (!isValid) { - context.report({ - node, - messageId: "wrongQuotes", - data: { - description: settings.description - }, - fix(fixer) { - if (quoteOption === "backtick" && astUtils.hasOctalOrNonOctalDecimalEscapeSequence(rawVal)) { - - /* - * An octal or non-octal decimal escape sequence in a template literal would - * produce syntax error, even in non-strict mode. - */ - return null; - } - - return fixer.replaceText(node, settings.convert(node.raw)); - } - }); - } - } - }, - - TemplateLiteral(node) { - - // Don't throw an error if backticks are expected or a template literal feature is in use. - if ( - allowTemplateLiterals || - quoteOption === "backtick" || - isUsingFeatureOfTemplateLiteral(node) - ) { - return; - } - - context.report({ - node, - messageId: "wrongQuotes", - data: { - description: settings.description - }, - fix(fixer) { - if (astUtils.isTopLevelExpressionStatement(node.parent) && !astUtils.isParenthesised(sourceCode, node)) { - - /* - * TemplateLiterals aren't actually directives, but fixing them might turn - * them into directives and change the behavior of the code. - */ - return null; - } - return fixer.replaceText(node, settings.convert(sourceCode.getText(node))); - } - }); - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/radix.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/radix.js deleted file mode 100644 index 6d37d18d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/radix.js +++ /dev/null @@ -1,200 +0,0 @@ -/** - * @fileoverview Rule to flag use of parseInt without a radix argument - * @author James Allardice - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const MODE_ALWAYS = "always", - MODE_AS_NEEDED = "as-needed"; - -const validRadixValues = new Set(Array.from({ length: 37 - 2 }, (_, index) => index + 2)); - -/** - * Checks whether a given variable is shadowed or not. - * @param {eslint-scope.Variable} variable A variable to check. - * @returns {boolean} `true` if the variable is shadowed. - */ -function isShadowed(variable) { - return variable.defs.length >= 1; -} - -/** - * Checks whether a given node is a MemberExpression of `parseInt` method or not. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is a MemberExpression of `parseInt` - * method. - */ -function isParseIntMethod(node) { - return ( - node.type === "MemberExpression" && - !node.computed && - node.property.type === "Identifier" && - node.property.name === "parseInt" - ); -} - -/** - * Checks whether a given node is a valid value of radix or not. - * - * The following values are invalid. - * - * - A literal except integers between 2 and 36. - * - undefined. - * @param {ASTNode} radix A node of radix to check. - * @returns {boolean} `true` if the node is valid. - */ -function isValidRadix(radix) { - return !( - (radix.type === "Literal" && !validRadixValues.has(radix.value)) || - (radix.type === "Identifier" && radix.name === "undefined") - ); -} - -/** - * Checks whether a given node is a default value of radix or not. - * @param {ASTNode} radix A node of radix to check. - * @returns {boolean} `true` if the node is the literal node of `10`. - */ -function isDefaultRadix(radix) { - return radix.type === "Literal" && radix.value === 10; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [MODE_ALWAYS], - - docs: { - description: "Enforce the consistent use of the radix argument when using `parseInt()`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/radix" - }, - - hasSuggestions: true, - - schema: [ - { - enum: ["always", "as-needed"] - } - ], - - messages: { - missingParameters: "Missing parameters.", - redundantRadix: "Redundant radix parameter.", - missingRadix: "Missing radix parameter.", - invalidRadix: "Invalid radix parameter, must be an integer between 2 and 36.", - addRadixParameter10: "Add radix parameter `10` for parsing decimal numbers." - } - }, - - create(context) { - const [mode] = context.options; - const sourceCode = context.sourceCode; - - /** - * Checks the arguments of a given CallExpression node and reports it if it - * offends this rule. - * @param {ASTNode} node A CallExpression node to check. - * @returns {void} - */ - function checkArguments(node) { - const args = node.arguments; - - switch (args.length) { - case 0: - context.report({ - node, - messageId: "missingParameters" - }); - break; - - case 1: - if (mode === MODE_ALWAYS) { - context.report({ - node, - messageId: "missingRadix", - suggest: [ - { - messageId: "addRadixParameter10", - fix(fixer) { - const tokens = sourceCode.getTokens(node); - const lastToken = tokens.at(-1); // Parenthesis. - const secondToLastToken = tokens.at(-2); // May or may not be a comma. - const hasTrailingComma = secondToLastToken.type === "Punctuator" && secondToLastToken.value === ","; - - return fixer.insertTextBefore(lastToken, hasTrailingComma ? " 10," : ", 10"); - } - } - ] - }); - } - break; - - default: - if (mode === MODE_AS_NEEDED && isDefaultRadix(args[1])) { - context.report({ - node, - messageId: "redundantRadix" - }); - } else if (!isValidRadix(args[1])) { - context.report({ - node, - messageId: "invalidRadix" - }); - } - break; - } - } - - return { - "Program:exit"(node) { - const scope = sourceCode.getScope(node); - let variable; - - // Check `parseInt()` - variable = astUtils.getVariableByName(scope, "parseInt"); - if (variable && !isShadowed(variable)) { - variable.references.forEach(reference => { - const idNode = reference.identifier; - - if (astUtils.isCallee(idNode)) { - checkArguments(idNode.parent); - } - }); - } - - // Check `Number.parseInt()` - variable = astUtils.getVariableByName(scope, "Number"); - if (variable && !isShadowed(variable)) { - variable.references.forEach(reference => { - const parentNode = reference.identifier.parent; - const maybeCallee = parentNode.parent.type === "ChainExpression" - ? parentNode.parent - : parentNode; - - if (isParseIntMethod(parentNode) && astUtils.isCallee(maybeCallee)) { - checkArguments(maybeCallee.parent); - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-atomic-updates.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-atomic-updates.js deleted file mode 100644 index 5de58f7e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-atomic-updates.js +++ /dev/null @@ -1,334 +0,0 @@ -/** - * @fileoverview disallow assignments that can lead to race conditions due to usage of `await` or `yield` - * @author Teddy Katz - * @author Toru Nagashima - */ -"use strict"; - -/** - * Make the map from identifiers to each reference. - * @param {escope.Scope} scope The scope to get references. - * @param {Map} [outReferenceMap] The map from identifier nodes to each reference object. - * @returns {Map} `referenceMap`. - */ -function createReferenceMap(scope, outReferenceMap = new Map()) { - for (const reference of scope.references) { - if (reference.resolved === null) { - continue; - } - - outReferenceMap.set(reference.identifier, reference); - } - for (const childScope of scope.childScopes) { - if (childScope.type !== "function") { - createReferenceMap(childScope, outReferenceMap); - } - } - - return outReferenceMap; -} - -/** - * Get `reference.writeExpr` of a given reference. - * If it's the read reference of MemberExpression in LHS, returns RHS in order to address `a.b = await a` - * @param {escope.Reference} reference The reference to get. - * @returns {Expression|null} The `reference.writeExpr`. - */ -function getWriteExpr(reference) { - if (reference.writeExpr) { - return reference.writeExpr; - } - let node = reference.identifier; - - while (node) { - const t = node.parent.type; - - if (t === "AssignmentExpression" && node.parent.left === node) { - return node.parent.right; - } - if (t === "MemberExpression" && node.parent.object === node) { - node = node.parent; - continue; - } - - break; - } - - return null; -} - -/** - * Checks if an expression is a variable that can only be observed within the given function. - * @param {Variable|null} variable The variable to check - * @param {boolean} isMemberAccess If `true` then this is a member access. - * @returns {boolean} `true` if the variable is local to the given function, and is never referenced in a closure. - */ -function isLocalVariableWithoutEscape(variable, isMemberAccess) { - if (!variable) { - return false; // A global variable which was not defined. - } - - // If the reference is a property access and the variable is a parameter, it handles the variable is not local. - if (isMemberAccess && variable.defs.some(d => d.type === "Parameter")) { - return false; - } - - const functionScope = variable.scope.variableScope; - - return variable.references.every(reference => - reference.from.variableScope === functionScope); -} - -/** - * Represents segment information. - */ -class SegmentInfo { - constructor() { - this.info = new WeakMap(); - } - - /** - * Initialize the segment information. - * @param {PathSegment} segment The segment to initialize. - * @returns {void} - */ - initialize(segment) { - const outdatedReadVariables = new Set(); - const freshReadVariables = new Set(); - - for (const prevSegment of segment.prevSegments) { - const info = this.info.get(prevSegment); - - if (info) { - info.outdatedReadVariables.forEach(Set.prototype.add, outdatedReadVariables); - info.freshReadVariables.forEach(Set.prototype.add, freshReadVariables); - } - } - - this.info.set(segment, { outdatedReadVariables, freshReadVariables }); - } - - /** - * Mark a given variable as read on given segments. - * @param {PathSegment[]} segments The segments that it read the variable on. - * @param {Variable} variable The variable to be read. - * @returns {void} - */ - markAsRead(segments, variable) { - for (const segment of segments) { - const info = this.info.get(segment); - - if (info) { - info.freshReadVariables.add(variable); - - // If a variable is freshly read again, then it's no more out-dated. - info.outdatedReadVariables.delete(variable); - } - } - } - - /** - * Move `freshReadVariables` to `outdatedReadVariables`. - * @param {PathSegment[]} segments The segments to process. - * @returns {void} - */ - makeOutdated(segments) { - for (const segment of segments) { - const info = this.info.get(segment); - - if (info) { - info.freshReadVariables.forEach(Set.prototype.add, info.outdatedReadVariables); - info.freshReadVariables.clear(); - } - } - } - - /** - * Check if a given variable is outdated on the current segments. - * @param {PathSegment[]} segments The current segments. - * @param {Variable} variable The variable to check. - * @returns {boolean} `true` if the variable is outdated on the segments. - */ - isOutdated(segments, variable) { - for (const segment of segments) { - const info = this.info.get(segment); - - if (info && info.outdatedReadVariables.has(variable)) { - return true; - } - } - return false; - } -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - allowProperties: false - }], - - docs: { - description: "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - recommended: false, - url: "https://eslint.org/docs/latest/rules/require-atomic-updates" - }, - - fixable: null, - - schema: [{ - type: "object", - properties: { - allowProperties: { - type: "boolean" - } - }, - additionalProperties: false - }], - - messages: { - nonAtomicUpdate: "Possible race condition: `{{value}}` might be reassigned based on an outdated value of `{{value}}`.", - nonAtomicObjectUpdate: "Possible race condition: `{{value}}` might be assigned based on an outdated state of `{{object}}`." - } - }, - - create(context) { - const [{ allowProperties }] = context.options; - - const sourceCode = context.sourceCode; - const assignmentReferences = new Map(); - const segmentInfo = new SegmentInfo(); - let stack = null; - - return { - onCodePathStart(codePath, node) { - const scope = sourceCode.getScope(node); - const shouldVerify = - scope.type === "function" && - (scope.block.async || scope.block.generator); - - stack = { - upper: stack, - codePath, - referenceMap: shouldVerify ? createReferenceMap(scope) : null, - currentSegments: new Set() - }; - }, - onCodePathEnd() { - stack = stack.upper; - }, - - // Initialize the segment information. - onCodePathSegmentStart(segment) { - segmentInfo.initialize(segment); - stack.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentStart(segment) { - stack.currentSegments.add(segment); - }, - - onUnreachableCodePathSegmentEnd(segment) { - stack.currentSegments.delete(segment); - }, - - onCodePathSegmentEnd(segment) { - stack.currentSegments.delete(segment); - }, - - - // Handle references to prepare verification. - Identifier(node) { - const { referenceMap } = stack; - const reference = referenceMap && referenceMap.get(node); - - // Ignore if this is not a valid variable reference. - if (!reference) { - return; - } - const variable = reference.resolved; - const writeExpr = getWriteExpr(reference); - const isMemberAccess = reference.identifier.parent.type === "MemberExpression"; - - // Add a fresh read variable. - if (reference.isRead() && !(writeExpr && writeExpr.parent.operator === "=")) { - segmentInfo.markAsRead(stack.currentSegments, variable); - } - - /* - * Register the variable to verify after ESLint traversed the `writeExpr` node - * if this reference is an assignment to a variable which is referred from other closure. - */ - if (writeExpr && - writeExpr.parent.right === writeExpr && // ← exclude variable declarations. - !isLocalVariableWithoutEscape(variable, isMemberAccess) - ) { - let refs = assignmentReferences.get(writeExpr); - - if (!refs) { - refs = []; - assignmentReferences.set(writeExpr, refs); - } - - refs.push(reference); - } - }, - - /* - * Verify assignments. - * If the reference exists in `outdatedReadVariables` list, report it. - */ - ":expression:exit"(node) { - - // referenceMap exists if this is in a resumable function scope. - if (!stack.referenceMap) { - return; - } - - // Mark the read variables on this code path as outdated. - if (node.type === "AwaitExpression" || node.type === "YieldExpression") { - segmentInfo.makeOutdated(stack.currentSegments); - } - - // Verify. - const references = assignmentReferences.get(node); - - if (references) { - assignmentReferences.delete(node); - - for (const reference of references) { - const variable = reference.resolved; - - if (segmentInfo.isOutdated(stack.currentSegments, variable)) { - if (node.parent.left === reference.identifier) { - context.report({ - node: node.parent, - messageId: "nonAtomicUpdate", - data: { - value: variable.name - } - }); - } else if (!allowProperties) { - context.report({ - node: node.parent, - messageId: "nonAtomicObjectUpdate", - data: { - value: sourceCode.getText(node.parent.left), - object: variable.name - } - }); - } - - } - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-await.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-await.js deleted file mode 100644 index 2a5159d7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-await.js +++ /dev/null @@ -1,147 +0,0 @@ -/** - * @fileoverview Rule to disallow async functions which have no `await` expression. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Capitalize the 1st letter of the given text. - * @param {string} text The text to capitalize. - * @returns {string} The text that the 1st letter was capitalized. - */ -function capitalizeFirstLetter(text) { - return text[0].toUpperCase() + text.slice(1); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Disallow async functions which have no `await` expression", - recommended: false, - url: "https://eslint.org/docs/latest/rules/require-await" - }, - - schema: [], - - messages: { - missingAwait: "{{name}} has no 'await' expression.", - removeAsync: "Remove 'async'." - }, - - hasSuggestions: true - }, - - create(context) { - const sourceCode = context.sourceCode; - let scopeInfo = null; - - /** - * Push the scope info object to the stack. - * @returns {void} - */ - function enterFunction() { - scopeInfo = { - upper: scopeInfo, - hasAwait: false - }; - } - - /** - * Pop the top scope info object from the stack. - * Also, it reports the function if needed. - * @param {ASTNode} node The node to report. - * @returns {void} - */ - function exitFunction(node) { - if (!node.generator && node.async && !scopeInfo.hasAwait && !astUtils.isEmptyFunction(node)) { - - /* - * If the function belongs to a method definition or - * property, then the function's range may not include the - * `async` keyword and we should look at the parent instead. - */ - const nodeWithAsyncKeyword = - (node.parent.type === "MethodDefinition" && node.parent.value === node) || - (node.parent.type === "Property" && node.parent.method && node.parent.value === node) - ? node.parent - : node; - - const asyncToken = sourceCode.getFirstToken(nodeWithAsyncKeyword, token => token.value === "async"); - const asyncRange = [asyncToken.range[0], sourceCode.getTokenAfter(asyncToken, { includeComments: true }).range[0]]; - - /* - * Removing the `async` keyword can cause parsing errors if the current - * statement is relying on automatic semicolon insertion. If ASI is currently - * being used, then we should replace the `async` keyword with a semicolon. - */ - const nextToken = sourceCode.getTokenAfter(asyncToken); - const addSemiColon = - nextToken.type === "Punctuator" && - (nextToken.value === "[" || nextToken.value === "(") && - (nodeWithAsyncKeyword.type === "MethodDefinition" || astUtils.isStartOfExpressionStatement(nodeWithAsyncKeyword)) && - astUtils.needsPrecedingSemicolon(sourceCode, nodeWithAsyncKeyword); - - context.report({ - node, - loc: astUtils.getFunctionHeadLoc(node, sourceCode), - messageId: "missingAwait", - data: { - name: capitalizeFirstLetter( - astUtils.getFunctionNameWithKind(node) - ) - }, - suggest: [{ - messageId: "removeAsync", - fix: fixer => fixer.replaceTextRange(asyncRange, addSemiColon ? ";" : "") - }] - }); - } - - scopeInfo = scopeInfo.upper; - } - - return { - FunctionDeclaration: enterFunction, - FunctionExpression: enterFunction, - ArrowFunctionExpression: enterFunction, - "FunctionDeclaration:exit": exitFunction, - "FunctionExpression:exit": exitFunction, - "ArrowFunctionExpression:exit": exitFunction, - - AwaitExpression() { - if (!scopeInfo) { - return; - } - - scopeInfo.hasAwait = true; - }, - ForOfStatement(node) { - if (!scopeInfo) { - return; - } - - if (node.await) { - scopeInfo.hasAwait = true; - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-unicode-regexp.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-unicode-regexp.js deleted file mode 100644 index 04edc90a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-unicode-regexp.js +++ /dev/null @@ -1,210 +0,0 @@ -/** - * @fileoverview Rule to enforce the use of `u` or `v` flag on regular expressions. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { - CALL, - CONSTRUCT, - ReferenceTracker, - getStringIfConstant -} = require("@eslint-community/eslint-utils"); -const astUtils = require("./utils/ast-utils.js"); -const { isValidWithUnicodeFlag } = require("./utils/regular-expressions"); - -/** - * Checks whether the flag configuration should be treated as a missing flag. - * @param {"u"|"v"|undefined} requireFlag A particular flag to require - * @param {string} flags The regex flags - * @returns {boolean} Whether the flag configuration results in a missing flag. - */ -function checkFlags(requireFlag, flags) { - let missingFlag; - - if (requireFlag === "v") { - missingFlag = !flags.includes("v"); - } else if (requireFlag === "u") { - missingFlag = !flags.includes("u"); - } else { - missingFlag = !flags.includes("u") && !flags.includes("v"); - } - - return missingFlag; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Enforce the use of `u` or `v` flag on regular expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/require-unicode-regexp" - }, - - hasSuggestions: true, - - messages: { - addUFlag: "Add the 'u' flag.", - addVFlag: "Add the 'v' flag.", - requireUFlag: "Use the 'u' flag.", - requireVFlag: "Use the 'v' flag." - }, - - schema: [ - { - type: "object", - properties: { - requireFlag: { - enum: ["u", "v"] - } - }, - additionalProperties: false - } - ] - }, - - create(context) { - - const sourceCode = context.sourceCode; - - const { - requireFlag - } = context.options[0] ?? {}; - - return { - "Literal[regex]"(node) { - const flags = node.regex.flags || ""; - - const missingFlag = checkFlags(requireFlag, flags); - - if (missingFlag) { - context.report({ - messageId: requireFlag === "v" ? "requireVFlag" : "requireUFlag", - node, - suggest: isValidWithUnicodeFlag(context.languageOptions.ecmaVersion, node.regex.pattern, requireFlag) - ? [ - { - fix(fixer) { - const replaceFlag = requireFlag ?? "u"; - const regex = sourceCode.getText(node); - const slashPos = regex.lastIndexOf("/"); - - if (requireFlag) { - const flag = requireFlag === "u" ? "v" : "u"; - - if (regex.includes(flag, slashPos)) { - return fixer.replaceText( - node, - regex.slice(0, slashPos) + - regex.slice(slashPos).replace(flag, requireFlag) - ); - } - } - - return fixer.insertTextAfter(node, replaceFlag); - }, - messageId: requireFlag === "v" ? "addVFlag" : "addUFlag" - } - ] - : null - }); - } - }, - - Program(node) { - const scope = sourceCode.getScope(node); - const tracker = new ReferenceTracker(scope); - const trackMap = { - RegExp: { [CALL]: true, [CONSTRUCT]: true } - }; - - for (const { node: refNode } of tracker.iterateGlobalReferences(trackMap)) { - const [patternNode, flagsNode] = refNode.arguments; - - if (patternNode && patternNode.type === "SpreadElement") { - continue; - } - const pattern = getStringIfConstant(patternNode, scope); - const flags = getStringIfConstant(flagsNode, scope); - - let missingFlag = !flagsNode; - - if (typeof flags === "string") { - missingFlag = checkFlags(requireFlag, flags); - } - - if (missingFlag) { - context.report({ - messageId: requireFlag === "v" ? "requireVFlag" : "requireUFlag", - node: refNode, - suggest: typeof pattern === "string" && isValidWithUnicodeFlag(context.languageOptions.ecmaVersion, pattern, requireFlag) - ? [ - { - fix(fixer) { - const replaceFlag = requireFlag ?? "u"; - - if (flagsNode) { - if ((flagsNode.type === "Literal" && typeof flagsNode.value === "string") || flagsNode.type === "TemplateLiteral") { - const flagsNodeText = sourceCode.getText(flagsNode); - const flag = requireFlag === "u" ? "v" : "u"; - - if (flags.includes(flag)) { - - // Avoid replacing "u" in escapes like `\uXXXX` - if (flagsNode.type === "Literal" && flagsNode.raw.includes("\\")) { - return null; - } - - // Avoid replacing "u" in expressions like "`${regularFlags}g`" - if (flagsNode.type === "TemplateLiteral" && ( - flagsNode.expressions.length || - flagsNode.quasis.some(({ value: { raw } }) => raw.includes("\\")) - )) { - return null; - } - - return fixer.replaceText(flagsNode, flagsNodeText.replace(flag, replaceFlag)); - } - - return fixer.replaceText(flagsNode, [ - flagsNodeText.slice(0, flagsNodeText.length - 1), - flagsNodeText.slice(flagsNodeText.length - 1) - ].join(replaceFlag)); - } - - // We intentionally don't suggest concatenating + "u" to non-literals - return null; - } - - const penultimateToken = sourceCode.getLastToken(refNode, { skip: 1 }); // skip closing parenthesis - - return fixer.insertTextAfter( - penultimateToken, - astUtils.isCommaToken(penultimateToken) - ? ` "${replaceFlag}",` - : `, "${replaceFlag}"` - ); - }, - messageId: requireFlag === "v" ? "addVFlag" : "addUFlag" - } - ] - : null - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-yield.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-yield.js deleted file mode 100644 index f801af0a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/require-yield.js +++ /dev/null @@ -1,77 +0,0 @@ -/** - * @fileoverview Rule to flag the generator functions that does not have yield. - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require generator functions to contain `yield`", - recommended: true, - url: "https://eslint.org/docs/latest/rules/require-yield" - }, - - schema: [], - - messages: { - missingYield: "This generator function does not have 'yield'." - } - }, - - create(context) { - const stack = []; - - /** - * If the node is a generator function, start counting `yield` keywords. - * @param {Node} node A function node to check. - * @returns {void} - */ - function beginChecking(node) { - if (node.generator) { - stack.push(0); - } - } - - /** - * If the node is a generator function, end counting `yield` keywords, then - * reports result. - * @param {Node} node A function node to check. - * @returns {void} - */ - function endChecking(node) { - if (!node.generator) { - return; - } - - const countYield = stack.pop(); - - if (countYield === 0 && node.body.body.length > 0) { - context.report({ node, messageId: "missingYield" }); - } - } - - return { - FunctionDeclaration: beginChecking, - "FunctionDeclaration:exit": endChecking, - FunctionExpression: beginChecking, - "FunctionExpression:exit": endChecking, - - // Increases the count of `yield` keyword. - YieldExpression() { - - if (stack.length > 0) { - stack[stack.length - 1] += 1; - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/rest-spread-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/rest-spread-spacing.js deleted file mode 100644 index 287e56f0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/rest-spread-spacing.js +++ /dev/null @@ -1,123 +0,0 @@ -/** - * @fileoverview Enforce spacing between rest and spread operators and their expressions. - * @author Kai Cataldo - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce spacing between rest and spread operators and their expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/rest-spread-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never"] - } - ], - - messages: { - unexpectedWhitespace: "Unexpected whitespace after {{type}} operator.", - expectedWhitespace: "Expected whitespace after {{type}} operator." - } - }, - - create(context) { - const sourceCode = context.sourceCode, - alwaysSpace = context.options[0] === "always"; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Checks whitespace between rest/spread operators and their expressions - * @param {ASTNode} node The node to check - * @returns {void} - */ - function checkWhiteSpace(node) { - const operator = sourceCode.getFirstToken(node), - nextToken = sourceCode.getTokenAfter(operator), - hasWhitespace = sourceCode.isSpaceBetweenTokens(operator, nextToken); - let type; - - switch (node.type) { - case "SpreadElement": - type = "spread"; - if (node.parent.type === "ObjectExpression") { - type += " property"; - } - break; - case "RestElement": - type = "rest"; - if (node.parent.type === "ObjectPattern") { - type += " property"; - } - break; - case "ExperimentalSpreadProperty": - type = "spread property"; - break; - case "ExperimentalRestProperty": - type = "rest property"; - break; - default: - return; - } - - if (alwaysSpace && !hasWhitespace) { - context.report({ - node, - loc: operator.loc, - messageId: "expectedWhitespace", - data: { - type - }, - fix(fixer) { - return fixer.replaceTextRange([operator.range[1], nextToken.range[0]], " "); - } - }); - } else if (!alwaysSpace && hasWhitespace) { - context.report({ - node, - loc: { - start: operator.loc.end, - end: nextToken.loc.start - }, - messageId: "unexpectedWhitespace", - data: { - type - }, - fix(fixer) { - return fixer.removeRange([operator.range[1], nextToken.range[0]]); - } - }); - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - SpreadElement: checkWhiteSpace, - RestElement: checkWhiteSpace, - ExperimentalSpreadProperty: checkWhiteSpace, - ExperimentalRestProperty: checkWhiteSpace - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-spacing.js deleted file mode 100644 index 35a49d2c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-spacing.js +++ /dev/null @@ -1,248 +0,0 @@ -/** - * @fileoverview Validates spacing before and after semicolon - * @author Mathias Schreck - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing before and after semicolons", - recommended: false, - url: "https://eslint.org/docs/latest/rules/semi-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - before: { - type: "boolean", - default: false - }, - after: { - type: "boolean", - default: true - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedWhitespaceBefore: "Unexpected whitespace before semicolon.", - unexpectedWhitespaceAfter: "Unexpected whitespace after semicolon.", - missingWhitespaceBefore: "Missing whitespace before semicolon.", - missingWhitespaceAfter: "Missing whitespace after semicolon." - } - }, - - create(context) { - - const config = context.options[0], - sourceCode = context.sourceCode; - let requireSpaceBefore = false, - requireSpaceAfter = true; - - if (typeof config === "object") { - requireSpaceBefore = config.before; - requireSpaceAfter = config.after; - } - - /** - * Checks if a given token has leading whitespace. - * @param {Object} token The token to check. - * @returns {boolean} True if the given token has leading space, false if not. - */ - function hasLeadingSpace(token) { - const tokenBefore = sourceCode.getTokenBefore(token); - - return tokenBefore && astUtils.isTokenOnSameLine(tokenBefore, token) && sourceCode.isSpaceBetweenTokens(tokenBefore, token); - } - - /** - * Checks if a given token has trailing whitespace. - * @param {Object} token The token to check. - * @returns {boolean} True if the given token has trailing space, false if not. - */ - function hasTrailingSpace(token) { - const tokenAfter = sourceCode.getTokenAfter(token); - - return tokenAfter && astUtils.isTokenOnSameLine(token, tokenAfter) && sourceCode.isSpaceBetweenTokens(token, tokenAfter); - } - - /** - * Checks if the given token is the last token in its line. - * @param {Token} token The token to check. - * @returns {boolean} Whether or not the token is the last in its line. - */ - function isLastTokenInCurrentLine(token) { - const tokenAfter = sourceCode.getTokenAfter(token); - - return !(tokenAfter && astUtils.isTokenOnSameLine(token, tokenAfter)); - } - - /** - * Checks if the given token is the first token in its line - * @param {Token} token The token to check. - * @returns {boolean} Whether or not the token is the first in its line. - */ - function isFirstTokenInCurrentLine(token) { - const tokenBefore = sourceCode.getTokenBefore(token); - - return !(tokenBefore && astUtils.isTokenOnSameLine(token, tokenBefore)); - } - - /** - * Checks if the next token of a given token is a closing parenthesis. - * @param {Token} token The token to check. - * @returns {boolean} Whether or not the next token of a given token is a closing parenthesis. - */ - function isBeforeClosingParen(token) { - const nextToken = sourceCode.getTokenAfter(token); - - return (nextToken && astUtils.isClosingBraceToken(nextToken) || astUtils.isClosingParenToken(nextToken)); - } - - /** - * Report location example : - * - * for unexpected space `before` - * - * var a = 'b' ; - * ^^^ - * - * for unexpected space `after` - * - * var a = 'b'; c = 10; - * ^^ - * - * Reports if the given token has invalid spacing. - * @param {Token} token The semicolon token to check. - * @param {ASTNode} node The corresponding node of the token. - * @returns {void} - */ - function checkSemicolonSpacing(token, node) { - if (astUtils.isSemicolonToken(token)) { - if (hasLeadingSpace(token)) { - if (!requireSpaceBefore) { - const tokenBefore = sourceCode.getTokenBefore(token); - const loc = { - start: tokenBefore.loc.end, - end: token.loc.start - }; - - context.report({ - node, - loc, - messageId: "unexpectedWhitespaceBefore", - fix(fixer) { - - return fixer.removeRange([tokenBefore.range[1], token.range[0]]); - } - }); - } - } else { - if (requireSpaceBefore) { - const loc = token.loc; - - context.report({ - node, - loc, - messageId: "missingWhitespaceBefore", - fix(fixer) { - return fixer.insertTextBefore(token, " "); - } - }); - } - } - - if (!isFirstTokenInCurrentLine(token) && !isLastTokenInCurrentLine(token) && !isBeforeClosingParen(token)) { - if (hasTrailingSpace(token)) { - if (!requireSpaceAfter) { - const tokenAfter = sourceCode.getTokenAfter(token); - const loc = { - start: token.loc.end, - end: tokenAfter.loc.start - }; - - context.report({ - node, - loc, - messageId: "unexpectedWhitespaceAfter", - fix(fixer) { - - return fixer.removeRange([token.range[1], tokenAfter.range[0]]); - } - }); - } - } else { - if (requireSpaceAfter) { - const loc = token.loc; - - context.report({ - node, - loc, - messageId: "missingWhitespaceAfter", - fix(fixer) { - return fixer.insertTextAfter(token, " "); - } - }); - } - } - } - } - } - - /** - * Checks the spacing of the semicolon with the assumption that the last token is the semicolon. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkNode(node) { - const token = sourceCode.getLastToken(node); - - checkSemicolonSpacing(token, node); - } - - return { - VariableDeclaration: checkNode, - ExpressionStatement: checkNode, - BreakStatement: checkNode, - ContinueStatement: checkNode, - DebuggerStatement: checkNode, - DoWhileStatement: checkNode, - ReturnStatement: checkNode, - ThrowStatement: checkNode, - ImportDeclaration: checkNode, - ExportNamedDeclaration: checkNode, - ExportAllDeclaration: checkNode, - ExportDefaultDeclaration: checkNode, - ForStatement(node) { - if (node.init) { - checkSemicolonSpacing(sourceCode.getTokenAfter(node.init), node); - } - - if (node.test) { - checkSemicolonSpacing(sourceCode.getTokenAfter(node.test), node); - } - }, - PropertyDefinition: checkNode - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-style.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-style.js deleted file mode 100644 index 11caaf0b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi-style.js +++ /dev/null @@ -1,158 +0,0 @@ -/** - * @fileoverview Rule to enforce location of semicolons. - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -const SELECTOR = [ - "BreakStatement", "ContinueStatement", "DebuggerStatement", - "DoWhileStatement", "ExportAllDeclaration", - "ExportDefaultDeclaration", "ExportNamedDeclaration", - "ExpressionStatement", "ImportDeclaration", "ReturnStatement", - "ThrowStatement", "VariableDeclaration", "PropertyDefinition" -].join(","); - -/** - * Get the child node list of a given node. - * This returns `BlockStatement#body`, `StaticBlock#body`, `Program#body`, - * `ClassBody#body`, or `SwitchCase#consequent`. - * This is used to check whether a node is the first/last child. - * @param {Node} node A node to get child node list. - * @returns {Node[]|null} The child node list. - */ -function getChildren(node) { - const t = node.type; - - if ( - t === "BlockStatement" || - t === "StaticBlock" || - t === "Program" || - t === "ClassBody" - ) { - return node.body; - } - if (t === "SwitchCase") { - return node.consequent; - } - return null; -} - -/** - * Check whether a given node is the last statement in the parent block. - * @param {Node} node A node to check. - * @returns {boolean} `true` if the node is the last statement in the parent block. - */ -function isLastChild(node) { - const t = node.parent.type; - - if (t === "IfStatement" && node.parent.consequent === node && node.parent.alternate) { // before `else` keyword. - return true; - } - if (t === "DoWhileStatement") { // before `while` keyword. - return true; - } - const nodeList = getChildren(node.parent); - - return nodeList !== null && nodeList.at(-1) === node; // before `}` or etc. -} - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce location of semicolons", - recommended: false, - url: "https://eslint.org/docs/latest/rules/semi-style" - }, - - schema: [{ enum: ["last", "first"] }], - fixable: "whitespace", - - messages: { - expectedSemiColon: "Expected this semicolon to be at {{pos}}." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const option = context.options[0] || "last"; - - /** - * Check the given semicolon token. - * @param {Token} semiToken The semicolon token to check. - * @param {"first"|"last"} expected The expected location to check. - * @returns {void} - */ - function check(semiToken, expected) { - const prevToken = sourceCode.getTokenBefore(semiToken); - const nextToken = sourceCode.getTokenAfter(semiToken); - const prevIsSameLine = !prevToken || astUtils.isTokenOnSameLine(prevToken, semiToken); - const nextIsSameLine = !nextToken || astUtils.isTokenOnSameLine(semiToken, nextToken); - - if ((expected === "last" && !prevIsSameLine) || (expected === "first" && !nextIsSameLine)) { - context.report({ - loc: semiToken.loc, - messageId: "expectedSemiColon", - data: { - pos: (expected === "last") - ? "the end of the previous line" - : "the beginning of the next line" - }, - fix(fixer) { - if (prevToken && nextToken && sourceCode.commentsExistBetween(prevToken, nextToken)) { - return null; - } - - const start = prevToken ? prevToken.range[1] : semiToken.range[0]; - const end = nextToken ? nextToken.range[0] : semiToken.range[1]; - const text = (expected === "last") ? ";\n" : "\n;"; - - return fixer.replaceTextRange([start, end], text); - } - }); - } - } - - return { - [SELECTOR](node) { - if (option === "first" && isLastChild(node)) { - return; - } - - const lastToken = sourceCode.getLastToken(node); - - if (astUtils.isSemicolonToken(lastToken)) { - check(lastToken, option); - } - }, - - ForStatement(node) { - const firstSemi = node.init && sourceCode.getTokenAfter(node.init, astUtils.isSemicolonToken); - const secondSemi = node.test && sourceCode.getTokenAfter(node.test, astUtils.isSemicolonToken); - - if (firstSemi) { - check(firstSemi, "last"); - } - if (secondSemi) { - check(secondSemi, "last"); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi.js deleted file mode 100644 index 01586b84..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/semi.js +++ /dev/null @@ -1,438 +0,0 @@ -/** - * @fileoverview Rule to flag missing semicolons. - * @author Nicholas C. Zakas - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const FixTracker = require("./utils/fix-tracker"); -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow semicolons instead of ASI", - recommended: false, - url: "https://eslint.org/docs/latest/rules/semi" - }, - - fixable: "code", - - schema: { - anyOf: [ - { - type: "array", - items: [ - { - enum: ["never"] - }, - { - type: "object", - properties: { - beforeStatementContinuationChars: { - enum: ["always", "any", "never"] - } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - }, - { - type: "array", - items: [ - { - enum: ["always"] - }, - { - type: "object", - properties: { - omitLastInOneLineBlock: { type: "boolean" }, - omitLastInOneLineClassBody: { type: "boolean" } - }, - additionalProperties: false - } - ], - minItems: 0, - maxItems: 2 - } - ] - }, - - messages: { - missingSemi: "Missing semicolon.", - extraSemi: "Extra semicolon." - } - }, - - create(context) { - - const OPT_OUT_PATTERN = /^[-[(/+`]/u; // One of [(/+-` - const unsafeClassFieldNames = new Set(["get", "set", "static"]); - const unsafeClassFieldFollowers = new Set(["*", "in", "instanceof"]); - const options = context.options[1]; - const never = context.options[0] === "never"; - const exceptOneLine = Boolean(options && options.omitLastInOneLineBlock); - const exceptOneLineClassBody = Boolean(options && options.omitLastInOneLineClassBody); - const beforeStatementContinuationChars = options && options.beforeStatementContinuationChars || "any"; - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Reports a semicolon error with appropriate location and message. - * @param {ASTNode} node The node with an extra or missing semicolon. - * @param {boolean} missing True if the semicolon is missing. - * @returns {void} - */ - function report(node, missing) { - const lastToken = sourceCode.getLastToken(node); - let messageId, - fix, - loc; - - if (!missing) { - messageId = "missingSemi"; - loc = { - start: lastToken.loc.end, - end: astUtils.getNextLocation(sourceCode, lastToken.loc.end) - }; - fix = function(fixer) { - return fixer.insertTextAfter(lastToken, ";"); - }; - } else { - messageId = "extraSemi"; - loc = lastToken.loc; - fix = function(fixer) { - - /* - * Expand the replacement range to include the surrounding - * tokens to avoid conflicting with no-extra-semi. - * https://github.com/eslint/eslint/issues/7928 - */ - return new FixTracker(fixer, sourceCode) - .retainSurroundingTokens(lastToken) - .remove(lastToken); - }; - } - - context.report({ - node, - loc, - messageId, - fix - }); - - } - - /** - * Check whether a given semicolon token is redundant. - * @param {Token} semiToken A semicolon token to check. - * @returns {boolean} `true` if the next token is `;` or `}`. - */ - function isRedundantSemi(semiToken) { - const nextToken = sourceCode.getTokenAfter(semiToken); - - return ( - !nextToken || - astUtils.isClosingBraceToken(nextToken) || - astUtils.isSemicolonToken(nextToken) - ); - } - - /** - * Check whether a given token is the closing brace of an arrow function. - * @param {Token} lastToken A token to check. - * @returns {boolean} `true` if the token is the closing brace of an arrow function. - */ - function isEndOfArrowBlock(lastToken) { - if (!astUtils.isClosingBraceToken(lastToken)) { - return false; - } - const node = sourceCode.getNodeByRangeIndex(lastToken.range[0]); - - return ( - node.type === "BlockStatement" && - node.parent.type === "ArrowFunctionExpression" - ); - } - - /** - * Checks if a given PropertyDefinition node followed by a semicolon - * can safely remove that semicolon. It is not to safe to remove if - * the class field name is "get", "set", or "static", or if - * followed by a generator method. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node cannot have the semicolon - * removed. - */ - function maybeClassFieldAsiHazard(node) { - - if (node.type !== "PropertyDefinition") { - return false; - } - - /* - * Computed property names and non-identifiers are always safe - * as they can be distinguished from keywords easily. - */ - const needsNameCheck = !node.computed && node.key.type === "Identifier"; - - /* - * Certain names are problematic unless they also have a - * a way to distinguish between keywords and property - * names. - */ - if (needsNameCheck && unsafeClassFieldNames.has(node.key.name)) { - - /* - * Special case: If the field name is `static`, - * it is only valid if the field is marked as static, - * so "static static" is okay but "static" is not. - */ - const isStaticStatic = node.static && node.key.name === "static"; - - /* - * For other unsafe names, we only care if there is no - * initializer. No initializer = hazard. - */ - if (!isStaticStatic && !node.value) { - return true; - } - } - - const followingToken = sourceCode.getTokenAfter(node); - - return unsafeClassFieldFollowers.has(followingToken.value); - } - - /** - * Check whether a given node is on the same line with the next token. - * @param {Node} node A statement node to check. - * @returns {boolean} `true` if the node is on the same line with the next token. - */ - function isOnSameLineWithNextToken(node) { - const prevToken = sourceCode.getLastToken(node, 1); - const nextToken = sourceCode.getTokenAfter(node); - - return !!nextToken && astUtils.isTokenOnSameLine(prevToken, nextToken); - } - - /** - * Check whether a given node can connect the next line if the next line is unreliable. - * @param {Node} node A statement node to check. - * @returns {boolean} `true` if the node can connect the next line. - */ - function maybeAsiHazardAfter(node) { - const t = node.type; - - if (t === "DoWhileStatement" || - t === "BreakStatement" || - t === "ContinueStatement" || - t === "DebuggerStatement" || - t === "ImportDeclaration" || - t === "ExportAllDeclaration" - ) { - return false; - } - if (t === "ReturnStatement") { - return Boolean(node.argument); - } - if (t === "ExportNamedDeclaration") { - return Boolean(node.declaration); - } - if (isEndOfArrowBlock(sourceCode.getLastToken(node, 1))) { - return false; - } - - return true; - } - - /** - * Check whether a given token can connect the previous statement. - * @param {Token} token A token to check. - * @returns {boolean} `true` if the token is one of `[`, `(`, `/`, `+`, `-`, ```, `++`, and `--`. - */ - function maybeAsiHazardBefore(token) { - return ( - Boolean(token) && - OPT_OUT_PATTERN.test(token.value) && - token.value !== "++" && - token.value !== "--" - ); - } - - /** - * Check if the semicolon of a given node is unnecessary, only true if: - * - next token is a valid statement divider (`;` or `}`). - * - next token is on a new line and the node is not connectable to the new line. - * @param {Node} node A statement node to check. - * @returns {boolean} whether the semicolon is unnecessary. - */ - function canRemoveSemicolon(node) { - if (isRedundantSemi(sourceCode.getLastToken(node))) { - return true; // `;;` or `;}` - } - if (maybeClassFieldAsiHazard(node)) { - return false; - } - if (isOnSameLineWithNextToken(node)) { - return false; // One liner. - } - - // continuation characters should not apply to class fields - if ( - node.type !== "PropertyDefinition" && - beforeStatementContinuationChars === "never" && - !maybeAsiHazardAfter(node) - ) { - return true; // ASI works. This statement doesn't connect to the next. - } - if (!maybeAsiHazardBefore(sourceCode.getTokenAfter(node))) { - return true; // ASI works. The next token doesn't connect to this statement. - } - - return false; - } - - /** - * Checks a node to see if it's the last item in a one-liner block. - * Block is any `BlockStatement` or `StaticBlock` node. Block is a one-liner if its - * braces (and consequently everything between them) are on the same line. - * @param {ASTNode} node The node to check. - * @returns {boolean} whether the node is the last item in a one-liner block. - */ - function isLastInOneLinerBlock(node) { - const parent = node.parent; - const nextToken = sourceCode.getTokenAfter(node); - - if (!nextToken || nextToken.value !== "}") { - return false; - } - - if (parent.type === "BlockStatement") { - return parent.loc.start.line === parent.loc.end.line; - } - - if (parent.type === "StaticBlock") { - const openingBrace = sourceCode.getFirstToken(parent, { skip: 1 }); // skip the `static` token - - return openingBrace.loc.start.line === parent.loc.end.line; - } - - return false; - } - - /** - * Checks a node to see if it's the last item in a one-liner `ClassBody` node. - * ClassBody is a one-liner if its braces (and consequently everything between them) are on the same line. - * @param {ASTNode} node The node to check. - * @returns {boolean} whether the node is the last item in a one-liner ClassBody. - */ - function isLastInOneLinerClassBody(node) { - const parent = node.parent; - const nextToken = sourceCode.getTokenAfter(node); - - if (!nextToken || nextToken.value !== "}") { - return false; - } - - if (parent.type === "ClassBody") { - return parent.loc.start.line === parent.loc.end.line; - } - - return false; - } - - /** - * Checks a node to see if it's followed by a semicolon. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkForSemicolon(node) { - const isSemi = astUtils.isSemicolonToken(sourceCode.getLastToken(node)); - - if (never) { - if (isSemi && canRemoveSemicolon(node)) { - report(node, true); - } else if ( - !isSemi && beforeStatementContinuationChars === "always" && - node.type !== "PropertyDefinition" && - maybeAsiHazardBefore(sourceCode.getTokenAfter(node)) - ) { - report(node); - } - } else { - const oneLinerBlock = (exceptOneLine && isLastInOneLinerBlock(node)); - const oneLinerClassBody = (exceptOneLineClassBody && isLastInOneLinerClassBody(node)); - const oneLinerBlockOrClassBody = oneLinerBlock || oneLinerClassBody; - - if (isSemi && oneLinerBlockOrClassBody) { - report(node, true); - } else if (!isSemi && !oneLinerBlockOrClassBody) { - report(node); - } - } - } - - /** - * Checks to see if there's a semicolon after a variable declaration. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkForSemicolonForVariableDeclaration(node) { - const parent = node.parent; - - if ((parent.type !== "ForStatement" || parent.init !== node) && - (!/^For(?:In|Of)Statement/u.test(parent.type) || parent.left !== node) - ) { - checkForSemicolon(node); - } - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - VariableDeclaration: checkForSemicolonForVariableDeclaration, - ExpressionStatement: checkForSemicolon, - ReturnStatement: checkForSemicolon, - ThrowStatement: checkForSemicolon, - DoWhileStatement: checkForSemicolon, - DebuggerStatement: checkForSemicolon, - BreakStatement: checkForSemicolon, - ContinueStatement: checkForSemicolon, - ImportDeclaration: checkForSemicolon, - ExportAllDeclaration: checkForSemicolon, - ExportNamedDeclaration(node) { - if (!node.declaration) { - checkForSemicolon(node); - } - }, - ExportDefaultDeclaration(node) { - if (!/(?:Class|Function)Declaration/u.test(node.declaration.type)) { - checkForSemicolon(node); - } - }, - PropertyDefinition: checkForSemicolon - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-imports.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-imports.js deleted file mode 100644 index 9a1113ab..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-imports.js +++ /dev/null @@ -1,245 +0,0 @@ -/** - * @fileoverview Rule to require sorting of import declarations - * @author Christian Schuller - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - allowSeparatedGroups: false, - ignoreCase: false, - ignoreDeclarationSort: false, - ignoreMemberSort: false, - memberSyntaxSortOrder: ["none", "all", "multiple", "single"] - }], - - docs: { - description: "Enforce sorted import declarations within modules", - recommended: false, - url: "https://eslint.org/docs/latest/rules/sort-imports" - }, - - schema: [ - { - type: "object", - properties: { - ignoreCase: { - type: "boolean" - }, - memberSyntaxSortOrder: { - type: "array", - items: { - enum: ["none", "all", "multiple", "single"] - }, - uniqueItems: true, - minItems: 4, - maxItems: 4 - }, - ignoreDeclarationSort: { - type: "boolean" - }, - ignoreMemberSort: { - type: "boolean" - }, - allowSeparatedGroups: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - fixable: "code", - - messages: { - sortImportsAlphabetically: "Imports should be sorted alphabetically.", - sortMembersAlphabetically: "Member '{{memberName}}' of the import declaration should be sorted alphabetically.", - unexpectedSyntaxOrder: "Expected '{{syntaxA}}' syntax before '{{syntaxB}}' syntax." - } - }, - - create(context) { - const [{ - ignoreCase, - ignoreDeclarationSort, - ignoreMemberSort, - memberSyntaxSortOrder, - allowSeparatedGroups - }] = context.options; - const sourceCode = context.sourceCode; - let previousDeclaration = null; - - /** - * Gets the used member syntax style. - * - * import "my-module.js" --> none - * import * as myModule from "my-module.js" --> all - * import {myMember} from "my-module.js" --> single - * import {foo, bar} from "my-module.js" --> multiple - * @param {ASTNode} node the ImportDeclaration node. - * @returns {string} used member parameter style, ["all", "multiple", "single"] - */ - function usedMemberSyntax(node) { - if (node.specifiers.length === 0) { - return "none"; - } - if (node.specifiers[0].type === "ImportNamespaceSpecifier") { - return "all"; - } - if (node.specifiers.length === 1) { - return "single"; - } - return "multiple"; - - } - - /** - * Gets the group by member parameter index for given declaration. - * @param {ASTNode} node the ImportDeclaration node. - * @returns {number} the declaration group by member index. - */ - function getMemberParameterGroupIndex(node) { - return memberSyntaxSortOrder.indexOf(usedMemberSyntax(node)); - } - - /** - * Gets the local name of the first imported module. - * @param {ASTNode} node the ImportDeclaration node. - * @returns {?string} the local name of the first imported module. - */ - function getFirstLocalMemberName(node) { - if (node.specifiers[0]) { - return node.specifiers[0].local.name; - } - return null; - - } - - /** - * Calculates number of lines between two nodes. It is assumed that the given `left` node appears before - * the given `right` node in the source code. Lines are counted from the end of the `left` node till the - * start of the `right` node. If the given nodes are on the same line, it returns `0`, same as if they were - * on two consecutive lines. - * @param {ASTNode} left node that appears before the given `right` node. - * @param {ASTNode} right node that appears after the given `left` node. - * @returns {number} number of lines between nodes. - */ - function getNumberOfLinesBetween(left, right) { - return Math.max(right.loc.start.line - left.loc.end.line - 1, 0); - } - - return { - ImportDeclaration(node) { - if (!ignoreDeclarationSort) { - if ( - previousDeclaration && - allowSeparatedGroups && - getNumberOfLinesBetween(previousDeclaration, node) > 0 - ) { - - // reset declaration sort - previousDeclaration = null; - } - - if (previousDeclaration) { - const currentMemberSyntaxGroupIndex = getMemberParameterGroupIndex(node), - previousMemberSyntaxGroupIndex = getMemberParameterGroupIndex(previousDeclaration); - let currentLocalMemberName = getFirstLocalMemberName(node), - previousLocalMemberName = getFirstLocalMemberName(previousDeclaration); - - if (ignoreCase) { - previousLocalMemberName = previousLocalMemberName && previousLocalMemberName.toLowerCase(); - currentLocalMemberName = currentLocalMemberName && currentLocalMemberName.toLowerCase(); - } - - /* - * When the current declaration uses a different member syntax, - * then check if the ordering is correct. - * Otherwise, make a default string compare (like rule sort-vars to be consistent) of the first used local member name. - */ - if (currentMemberSyntaxGroupIndex !== previousMemberSyntaxGroupIndex) { - if (currentMemberSyntaxGroupIndex < previousMemberSyntaxGroupIndex) { - context.report({ - node, - messageId: "unexpectedSyntaxOrder", - data: { - syntaxA: memberSyntaxSortOrder[currentMemberSyntaxGroupIndex], - syntaxB: memberSyntaxSortOrder[previousMemberSyntaxGroupIndex] - } - }); - } - } else { - if (previousLocalMemberName && - currentLocalMemberName && - currentLocalMemberName < previousLocalMemberName - ) { - context.report({ - node, - messageId: "sortImportsAlphabetically" - }); - } - } - } - - previousDeclaration = node; - } - - if (!ignoreMemberSort) { - const importSpecifiers = node.specifiers.filter(specifier => specifier.type === "ImportSpecifier"); - const getSortableName = ignoreCase ? specifier => specifier.local.name.toLowerCase() : specifier => specifier.local.name; - const firstUnsortedIndex = importSpecifiers.map(getSortableName).findIndex((name, index, array) => array[index - 1] > name); - - if (firstUnsortedIndex !== -1) { - context.report({ - node: importSpecifiers[firstUnsortedIndex], - messageId: "sortMembersAlphabetically", - data: { memberName: importSpecifiers[firstUnsortedIndex].local.name }, - fix(fixer) { - if (importSpecifiers.some(specifier => - sourceCode.getCommentsBefore(specifier).length || sourceCode.getCommentsAfter(specifier).length)) { - - // If there are comments in the ImportSpecifier list, don't rearrange the specifiers. - return null; - } - - return fixer.replaceTextRange( - [importSpecifiers[0].range[0], importSpecifiers.at(-1).range[1]], - importSpecifiers - - // Clone the importSpecifiers array to avoid mutating it - .slice() - - // Sort the array into the desired order - .sort((specifierA, specifierB) => { - const aName = getSortableName(specifierA); - const bName = getSortableName(specifierB); - - return aName > bName ? 1 : -1; - }) - - // Build a string out of the sorted list of import specifiers and the text between the originals - .reduce((sourceText, specifier, index) => { - const textAfterSpecifier = index === importSpecifiers.length - 1 - ? "" - : sourceCode.getText().slice(importSpecifiers[index].range[1], importSpecifiers[index + 1].range[0]); - - return sourceText + sourceCode.getText(specifier) + textAfterSpecifier; - }, "") - ); - } - }); - } - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-keys.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-keys.js deleted file mode 100644 index c8429ade..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-keys.js +++ /dev/null @@ -1,236 +0,0 @@ -/** - * @fileoverview Rule to require object keys to be sorted - * @author Toru Nagashima - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"), - naturalCompare = require("natural-compare"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Gets the property name of the given `Property` node. - * - * - If the property's key is an `Identifier` node, this returns the key's name - * whether it's a computed property or not. - * - If the property has a static name, this returns the static name. - * - Otherwise, this returns null. - * @param {ASTNode} node The `Property` node to get. - * @returns {string|null} The property name or null. - * @private - */ -function getPropertyName(node) { - const staticName = astUtils.getStaticPropertyName(node); - - if (staticName !== null) { - return staticName; - } - - return node.key.name || null; -} - -/** - * Functions which check that the given 2 names are in specific order. - * - * Postfix `I` is meant insensitive. - * Postfix `N` is meant natural. - * @private - */ -const isValidOrders = { - asc(a, b) { - return a <= b; - }, - ascI(a, b) { - return a.toLowerCase() <= b.toLowerCase(); - }, - ascN(a, b) { - return naturalCompare(a, b) <= 0; - }, - ascIN(a, b) { - return naturalCompare(a.toLowerCase(), b.toLowerCase()) <= 0; - }, - desc(a, b) { - return isValidOrders.asc(b, a); - }, - descI(a, b) { - return isValidOrders.ascI(b, a); - }, - descN(a, b) { - return isValidOrders.ascN(b, a); - }, - descIN(a, b) { - return isValidOrders.ascIN(b, a); - } -}; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["asc", { - allowLineSeparatedGroups: false, - caseSensitive: true, - ignoreComputedKeys: false, - minKeys: 2, - natural: false - }], - - docs: { - description: "Require object keys to be sorted", - recommended: false, - url: "https://eslint.org/docs/latest/rules/sort-keys" - }, - - schema: [ - { - enum: ["asc", "desc"] - }, - { - type: "object", - properties: { - caseSensitive: { - type: "boolean" - }, - natural: { - type: "boolean" - }, - minKeys: { - type: "integer", - minimum: 2 - }, - allowLineSeparatedGroups: { - type: "boolean" - }, - ignoreComputedKeys: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - messages: { - sortKeys: "Expected object keys to be in {{natural}}{{insensitive}}{{order}}ending order. '{{thisName}}' should be before '{{prevName}}'." - } - }, - - create(context) { - const [order, { caseSensitive, natural, minKeys, allowLineSeparatedGroups, ignoreComputedKeys }] = context.options; - const insensitive = !caseSensitive; - const isValidOrder = isValidOrders[ - order + (insensitive ? "I" : "") + (natural ? "N" : "") - ]; - - // The stack to save the previous property's name for each object literals. - let stack = null; - const sourceCode = context.sourceCode; - - return { - ObjectExpression(node) { - stack = { - upper: stack, - prevNode: null, - prevBlankLine: false, - prevName: null, - numKeys: node.properties.length - }; - }, - - "ObjectExpression:exit"() { - stack = stack.upper; - }, - - SpreadElement(node) { - if (node.parent.type === "ObjectExpression") { - stack.prevName = null; - } - }, - - Property(node) { - if (node.parent.type === "ObjectPattern") { - return; - } - - if (ignoreComputedKeys && node.computed) { - stack.prevName = null; // reset sort - return; - } - - const prevName = stack.prevName; - const numKeys = stack.numKeys; - const thisName = getPropertyName(node); - - // Get tokens between current node and previous node - const tokens = stack.prevNode && sourceCode - .getTokensBetween(stack.prevNode, node, { includeComments: true }); - - let isBlankLineBetweenNodes = stack.prevBlankLine; - - if (tokens) { - - // check blank line between tokens - tokens.forEach((token, index) => { - const previousToken = tokens[index - 1]; - - if (previousToken && (token.loc.start.line - previousToken.loc.end.line > 1)) { - isBlankLineBetweenNodes = true; - } - }); - - // check blank line between the current node and the last token - if (!isBlankLineBetweenNodes && (node.loc.start.line - tokens.at(-1).loc.end.line > 1)) { - isBlankLineBetweenNodes = true; - } - - // check blank line between the first token and the previous node - if (!isBlankLineBetweenNodes && (tokens[0].loc.start.line - stack.prevNode.loc.end.line > 1)) { - isBlankLineBetweenNodes = true; - } - } - - stack.prevNode = node; - - if (thisName !== null) { - stack.prevName = thisName; - } - - if (allowLineSeparatedGroups && isBlankLineBetweenNodes) { - stack.prevBlankLine = thisName === null; - return; - } - - if (prevName === null || thisName === null || numKeys < minKeys) { - return; - } - - if (!isValidOrder(prevName, thisName)) { - context.report({ - node, - loc: node.key.loc, - messageId: "sortKeys", - data: { - thisName, - prevName, - order, - insensitive: insensitive ? "insensitive " : "", - natural: natural ? "natural " : "" - } - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-vars.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-vars.js deleted file mode 100644 index 985f47f5..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/sort-vars.js +++ /dev/null @@ -1,105 +0,0 @@ -/** - * @fileoverview Rule to require sorting of variables within a single Variable Declaration block - * @author Ilya Volodin - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: [{ - ignoreCase: false - }], - - docs: { - description: "Require variables within the same declaration block to be sorted", - recommended: false, - url: "https://eslint.org/docs/latest/rules/sort-vars" - }, - - schema: [ - { - type: "object", - properties: { - ignoreCase: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - fixable: "code", - - messages: { - sortVars: "Variables within the same declaration block should be sorted alphabetically." - } - }, - - create(context) { - const [{ ignoreCase }] = context.options; - const sourceCode = context.sourceCode; - - return { - VariableDeclaration(node) { - const idDeclarations = node.declarations.filter(decl => decl.id.type === "Identifier"); - const getSortableName = ignoreCase ? decl => decl.id.name.toLowerCase() : decl => decl.id.name; - const unfixable = idDeclarations.some(decl => decl.init !== null && decl.init.type !== "Literal"); - let fixed = false; - - idDeclarations.slice(1).reduce((memo, decl) => { - const lastVariableName = getSortableName(memo), - currentVariableName = getSortableName(decl); - - if (currentVariableName < lastVariableName) { - context.report({ - node: decl, - messageId: "sortVars", - fix(fixer) { - if (unfixable || fixed) { - return null; - } - return fixer.replaceTextRange( - [idDeclarations[0].range[0], idDeclarations.at(-1).range[1]], - idDeclarations - - // Clone the idDeclarations array to avoid mutating it - .slice() - - // Sort the array into the desired order - .sort((declA, declB) => { - const aName = getSortableName(declA); - const bName = getSortableName(declB); - - return aName > bName ? 1 : -1; - }) - - // Build a string out of the sorted list of identifier declarations and the text between the originals - .reduce((sourceText, identifier, index) => { - const textAfterIdentifier = index === idDeclarations.length - 1 - ? "" - : sourceCode.getText().slice(idDeclarations[index].range[1], idDeclarations[index + 1].range[0]); - - return sourceText + sourceCode.getText(identifier) + textAfterIdentifier; - }, "") - - ); - } - }); - fixed = true; - return memo; - } - return decl; - - }, idDeclarations[0]); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-blocks.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-blocks.js deleted file mode 100644 index a4a5449e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-blocks.js +++ /dev/null @@ -1,204 +0,0 @@ -/** - * @fileoverview A rule to ensure whitespace before blocks. - * @author Mathias Schreck - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Checks whether the given node represents the body of a function. - * @param {ASTNode} node the node to check. - * @returns {boolean} `true` if the node is function body. - */ -function isFunctionBody(node) { - const parent = node.parent; - - return ( - node.type === "BlockStatement" && - astUtils.isFunction(parent) && - parent.body === node - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing before blocks", - recommended: false, - url: "https://eslint.org/docs/latest/rules/space-before-blocks" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - keywords: { - enum: ["always", "never", "off"] - }, - functions: { - enum: ["always", "never", "off"] - }, - classes: { - enum: ["always", "never", "off"] - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - unexpectedSpace: "Unexpected space before opening brace.", - missingSpace: "Missing space before opening brace." - } - }, - - create(context) { - const config = context.options[0], - sourceCode = context.sourceCode; - let alwaysFunctions = true, - alwaysKeywords = true, - alwaysClasses = true, - neverFunctions = false, - neverKeywords = false, - neverClasses = false; - - if (typeof config === "object") { - alwaysFunctions = config.functions === "always"; - alwaysKeywords = config.keywords === "always"; - alwaysClasses = config.classes === "always"; - neverFunctions = config.functions === "never"; - neverKeywords = config.keywords === "never"; - neverClasses = config.classes === "never"; - } else if (config === "never") { - alwaysFunctions = false; - alwaysKeywords = false; - alwaysClasses = false; - neverFunctions = true; - neverKeywords = true; - neverClasses = true; - } - - /** - * Checks whether the spacing before the given block is already controlled by another rule: - * - `arrow-spacing` checks spaces after `=>`. - * - `keyword-spacing` checks spaces after keywords in certain contexts. - * - `switch-colon-spacing` checks spaces after `:` of switch cases. - * @param {Token} precedingToken first token before the block. - * @param {ASTNode|Token} node `BlockStatement` node or `{` token of a `SwitchStatement` node. - * @returns {boolean} `true` if requiring or disallowing spaces before the given block could produce conflicts with other rules. - */ - function isConflicted(precedingToken, node) { - return ( - astUtils.isArrowToken(precedingToken) || - ( - astUtils.isKeywordToken(precedingToken) && - !isFunctionBody(node) - ) || - ( - astUtils.isColonToken(precedingToken) && - node.parent && - node.parent.type === "SwitchCase" && - precedingToken === astUtils.getSwitchCaseColonToken(node.parent, sourceCode) - ) - ); - } - - /** - * Checks the given BlockStatement node has a preceding space if it doesn’t start on a new line. - * @param {ASTNode|Token} node The AST node of a BlockStatement. - * @returns {void} undefined. - */ - function checkPrecedingSpace(node) { - const precedingToken = sourceCode.getTokenBefore(node); - - if (precedingToken && !isConflicted(precedingToken, node) && astUtils.isTokenOnSameLine(precedingToken, node)) { - const hasSpace = sourceCode.isSpaceBetweenTokens(precedingToken, node); - let requireSpace; - let requireNoSpace; - - if (isFunctionBody(node)) { - requireSpace = alwaysFunctions; - requireNoSpace = neverFunctions; - } else if (node.type === "ClassBody") { - requireSpace = alwaysClasses; - requireNoSpace = neverClasses; - } else { - requireSpace = alwaysKeywords; - requireNoSpace = neverKeywords; - } - - if (requireSpace && !hasSpace) { - context.report({ - node, - messageId: "missingSpace", - fix(fixer) { - return fixer.insertTextBefore(node, " "); - } - }); - } else if (requireNoSpace && hasSpace) { - context.report({ - node, - messageId: "unexpectedSpace", - fix(fixer) { - return fixer.removeRange([precedingToken.range[1], node.range[0]]); - } - }); - } - } - } - - /** - * Checks if the CaseBlock of an given SwitchStatement node has a preceding space. - * @param {ASTNode} node The node of a SwitchStatement. - * @returns {void} undefined. - */ - function checkSpaceBeforeCaseBlock(node) { - const cases = node.cases; - let openingBrace; - - if (cases.length > 0) { - openingBrace = sourceCode.getTokenBefore(cases[0]); - } else { - openingBrace = sourceCode.getLastToken(node, 1); - } - - checkPrecedingSpace(openingBrace); - } - - return { - BlockStatement: checkPrecedingSpace, - ClassBody: checkPrecedingSpace, - SwitchStatement: checkSpaceBeforeCaseBlock - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-function-paren.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-function-paren.js deleted file mode 100644 index 575a1597..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-before-function-paren.js +++ /dev/null @@ -1,167 +0,0 @@ -/** - * @fileoverview Rule to validate spacing before function paren. - * @author Mathias Schreck - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing before `function` definition opening parenthesis", - recommended: false, - url: "https://eslint.org/docs/latest/rules/space-before-function-paren" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - anonymous: { - enum: ["always", "never", "ignore"] - }, - named: { - enum: ["always", "never", "ignore"] - }, - asyncArrow: { - enum: ["always", "never", "ignore"] - } - }, - additionalProperties: false - } - ] - } - ], - - messages: { - unexpectedSpace: "Unexpected space before function parentheses.", - missingSpace: "Missing space before function parentheses." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const baseConfig = typeof context.options[0] === "string" ? context.options[0] : "always"; - const overrideConfig = typeof context.options[0] === "object" ? context.options[0] : {}; - - /** - * Determines whether a function has a name. - * @param {ASTNode} node The function node. - * @returns {boolean} Whether the function has a name. - */ - function isNamedFunction(node) { - if (node.id) { - return true; - } - - const parent = node.parent; - - return parent.type === "MethodDefinition" || - (parent.type === "Property" && - ( - parent.kind === "get" || - parent.kind === "set" || - parent.method - ) - ); - } - - /** - * Gets the config for a given function - * @param {ASTNode} node The function node - * @returns {string} "always", "never", or "ignore" - */ - function getConfigForFunction(node) { - if (node.type === "ArrowFunctionExpression") { - - // Always ignore non-async functions and arrow functions without parens, e.g. async foo => bar - if (node.async && astUtils.isOpeningParenToken(sourceCode.getFirstToken(node, { skip: 1 }))) { - return overrideConfig.asyncArrow || baseConfig; - } - } else if (isNamedFunction(node)) { - return overrideConfig.named || baseConfig; - - // `generator-star-spacing` should warn anonymous generators. E.g. `function* () {}` - } else if (!node.generator) { - return overrideConfig.anonymous || baseConfig; - } - - return "ignore"; - } - - /** - * Checks the parens of a function node - * @param {ASTNode} node A function node - * @returns {void} - */ - function checkFunction(node) { - const functionConfig = getConfigForFunction(node); - - if (functionConfig === "ignore") { - return; - } - - const rightToken = sourceCode.getFirstToken(node, astUtils.isOpeningParenToken); - const leftToken = sourceCode.getTokenBefore(rightToken); - const hasSpacing = sourceCode.isSpaceBetweenTokens(leftToken, rightToken); - - if (hasSpacing && functionConfig === "never") { - context.report({ - node, - loc: { - start: leftToken.loc.end, - end: rightToken.loc.start - }, - messageId: "unexpectedSpace", - fix(fixer) { - const comments = sourceCode.getCommentsBefore(rightToken); - - // Don't fix anything if there's a single line comment between the left and the right token - if (comments.some(comment => comment.type === "Line")) { - return null; - } - return fixer.replaceTextRange( - [leftToken.range[1], rightToken.range[0]], - comments.reduce((text, comment) => text + sourceCode.getText(comment), "") - ); - } - }); - } else if (!hasSpacing && functionConfig === "always") { - context.report({ - node, - loc: rightToken.loc, - messageId: "missingSpace", - fix: fixer => fixer.insertTextAfter(leftToken, " ") - }); - } - } - - return { - ArrowFunctionExpression: checkFunction, - FunctionDeclaration: checkFunction, - FunctionExpression: checkFunction - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-in-parens.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-in-parens.js deleted file mode 100644 index d15a6431..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-in-parens.js +++ /dev/null @@ -1,285 +0,0 @@ -/** - * @fileoverview Disallows or enforces spaces inside of parentheses. - * @author Jonathan Rajavuori - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing inside parentheses", - recommended: false, - url: "https://eslint.org/docs/latest/rules/space-in-parens" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - exceptions: { - type: "array", - items: { - enum: ["{}", "[]", "()", "empty"] - }, - uniqueItems: true - } - }, - additionalProperties: false - } - ], - - messages: { - missingOpeningSpace: "There must be a space after this paren.", - missingClosingSpace: "There must be a space before this paren.", - rejectedOpeningSpace: "There should be no space after this paren.", - rejectedClosingSpace: "There should be no space before this paren." - } - }, - - create(context) { - const ALWAYS = context.options[0] === "always", - exceptionsArrayOptions = (context.options[1] && context.options[1].exceptions) || [], - options = {}; - - let exceptions; - - if (exceptionsArrayOptions.length) { - options.braceException = exceptionsArrayOptions.includes("{}"); - options.bracketException = exceptionsArrayOptions.includes("[]"); - options.parenException = exceptionsArrayOptions.includes("()"); - options.empty = exceptionsArrayOptions.includes("empty"); - } - - /** - * Produces an object with the opener and closer exception values - * @returns {Object} `openers` and `closers` exception values - * @private - */ - function getExceptions() { - const openers = [], - closers = []; - - if (options.braceException) { - openers.push("{"); - closers.push("}"); - } - - if (options.bracketException) { - openers.push("["); - closers.push("]"); - } - - if (options.parenException) { - openers.push("("); - closers.push(")"); - } - - if (options.empty) { - openers.push(")"); - closers.push("("); - } - - return { - openers, - closers - }; - } - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - const sourceCode = context.sourceCode; - - /** - * Determines if a token is one of the exceptions for the opener paren - * @param {Object} token The token to check - * @returns {boolean} True if the token is one of the exceptions for the opener paren - */ - function isOpenerException(token) { - return exceptions.openers.includes(token.value); - } - - /** - * Determines if a token is one of the exceptions for the closer paren - * @param {Object} token The token to check - * @returns {boolean} True if the token is one of the exceptions for the closer paren - */ - function isCloserException(token) { - return exceptions.closers.includes(token.value); - } - - /** - * Determines if an opening paren is immediately followed by a required space - * @param {Object} openingParenToken The paren token - * @param {Object} tokenAfterOpeningParen The token after it - * @returns {boolean} True if the opening paren is missing a required space - */ - function openerMissingSpace(openingParenToken, tokenAfterOpeningParen) { - if (sourceCode.isSpaceBetweenTokens(openingParenToken, tokenAfterOpeningParen)) { - return false; - } - - if (!options.empty && astUtils.isClosingParenToken(tokenAfterOpeningParen)) { - return false; - } - - if (ALWAYS) { - return !isOpenerException(tokenAfterOpeningParen); - } - return isOpenerException(tokenAfterOpeningParen); - } - - /** - * Determines if an opening paren is immediately followed by a disallowed space - * @param {Object} openingParenToken The paren token - * @param {Object} tokenAfterOpeningParen The token after it - * @returns {boolean} True if the opening paren has a disallowed space - */ - function openerRejectsSpace(openingParenToken, tokenAfterOpeningParen) { - if (!astUtils.isTokenOnSameLine(openingParenToken, tokenAfterOpeningParen)) { - return false; - } - - if (tokenAfterOpeningParen.type === "Line") { - return false; - } - - if (!sourceCode.isSpaceBetweenTokens(openingParenToken, tokenAfterOpeningParen)) { - return false; - } - - if (ALWAYS) { - return isOpenerException(tokenAfterOpeningParen); - } - return !isOpenerException(tokenAfterOpeningParen); - } - - /** - * Determines if a closing paren is immediately preceded by a required space - * @param {Object} tokenBeforeClosingParen The token before the paren - * @param {Object} closingParenToken The paren token - * @returns {boolean} True if the closing paren is missing a required space - */ - function closerMissingSpace(tokenBeforeClosingParen, closingParenToken) { - if (sourceCode.isSpaceBetweenTokens(tokenBeforeClosingParen, closingParenToken)) { - return false; - } - - if (!options.empty && astUtils.isOpeningParenToken(tokenBeforeClosingParen)) { - return false; - } - - if (ALWAYS) { - return !isCloserException(tokenBeforeClosingParen); - } - return isCloserException(tokenBeforeClosingParen); - } - - /** - * Determines if a closer paren is immediately preceded by a disallowed space - * @param {Object} tokenBeforeClosingParen The token before the paren - * @param {Object} closingParenToken The paren token - * @returns {boolean} True if the closing paren has a disallowed space - */ - function closerRejectsSpace(tokenBeforeClosingParen, closingParenToken) { - if (!astUtils.isTokenOnSameLine(tokenBeforeClosingParen, closingParenToken)) { - return false; - } - - if (!sourceCode.isSpaceBetweenTokens(tokenBeforeClosingParen, closingParenToken)) { - return false; - } - - if (ALWAYS) { - return isCloserException(tokenBeforeClosingParen); - } - return !isCloserException(tokenBeforeClosingParen); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - Program: function checkParenSpaces(node) { - exceptions = getExceptions(); - const tokens = sourceCode.tokensAndComments; - - tokens.forEach((token, i) => { - const prevToken = tokens[i - 1]; - const nextToken = tokens[i + 1]; - - // if token is not an opening or closing paren token, do nothing - if (!astUtils.isOpeningParenToken(token) && !astUtils.isClosingParenToken(token)) { - return; - } - - // if token is an opening paren and is not followed by a required space - if (token.value === "(" && openerMissingSpace(token, nextToken)) { - context.report({ - node, - loc: token.loc, - messageId: "missingOpeningSpace", - fix(fixer) { - return fixer.insertTextAfter(token, " "); - } - }); - } - - // if token is an opening paren and is followed by a disallowed space - if (token.value === "(" && openerRejectsSpace(token, nextToken)) { - context.report({ - node, - loc: { start: token.loc.end, end: nextToken.loc.start }, - messageId: "rejectedOpeningSpace", - fix(fixer) { - return fixer.removeRange([token.range[1], nextToken.range[0]]); - } - }); - } - - // if token is a closing paren and is not preceded by a required space - if (token.value === ")" && closerMissingSpace(prevToken, token)) { - context.report({ - node, - loc: token.loc, - messageId: "missingClosingSpace", - fix(fixer) { - return fixer.insertTextBefore(token, " "); - } - }); - } - - // if token is a closing paren and is preceded by a disallowed space - if (token.value === ")" && closerRejectsSpace(prevToken, token)) { - context.report({ - node, - loc: { start: prevToken.loc.end, end: token.loc.start }, - messageId: "rejectedClosingSpace", - fix(fixer) { - return fixer.removeRange([prevToken.range[1], token.range[0]]); - } - }); - } - }); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-infix-ops.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-infix-ops.js deleted file mode 100644 index 40071019..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-infix-ops.js +++ /dev/null @@ -1,198 +0,0 @@ -/** - * @fileoverview Require spaces around infix operators - * @author Michael Ficarra - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const { isEqToken } = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require spacing around infix operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/space-infix-ops" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - int32Hint: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - messages: { - missingSpace: "Operator '{{operator}}' must be spaced." - } - }, - - create(context) { - const int32Hint = context.options[0] ? context.options[0].int32Hint === true : false; - const sourceCode = context.sourceCode; - - /** - * Returns the first token which violates the rule - * @param {ASTNode} left The left node of the main node - * @param {ASTNode} right The right node of the main node - * @param {string} op The operator of the main node - * @returns {Object} The violator token or null - * @private - */ - function getFirstNonSpacedToken(left, right, op) { - const operator = sourceCode.getFirstTokenBetween(left, right, token => token.value === op); - const prev = sourceCode.getTokenBefore(operator); - const next = sourceCode.getTokenAfter(operator); - - if (!sourceCode.isSpaceBetweenTokens(prev, operator) || !sourceCode.isSpaceBetweenTokens(operator, next)) { - return operator; - } - - return null; - } - - /** - * Reports an AST node as a rule violation - * @param {ASTNode} mainNode The node to report - * @param {Object} culpritToken The token which has a problem - * @returns {void} - * @private - */ - function report(mainNode, culpritToken) { - context.report({ - node: mainNode, - loc: culpritToken.loc, - messageId: "missingSpace", - data: { - operator: culpritToken.value - }, - fix(fixer) { - const previousToken = sourceCode.getTokenBefore(culpritToken); - const afterToken = sourceCode.getTokenAfter(culpritToken); - let fixString = ""; - - if (culpritToken.range[0] - previousToken.range[1] === 0) { - fixString = " "; - } - - fixString += culpritToken.value; - - if (afterToken.range[0] - culpritToken.range[1] === 0) { - fixString += " "; - } - - return fixer.replaceText(culpritToken, fixString); - } - }); - } - - /** - * Check if the node is binary then report - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkBinary(node) { - const leftNode = (node.left.typeAnnotation) ? node.left.typeAnnotation : node.left; - const rightNode = node.right; - - // search for = in AssignmentPattern nodes - const operator = node.operator || "="; - - const nonSpacedNode = getFirstNonSpacedToken(leftNode, rightNode, operator); - - if (nonSpacedNode) { - if (!(int32Hint && sourceCode.getText(node).endsWith("|0"))) { - report(node, nonSpacedNode); - } - } - } - - /** - * Check if the node is conditional - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkConditional(node) { - const nonSpacedConsequentNode = getFirstNonSpacedToken(node.test, node.consequent, "?"); - const nonSpacedAlternateNode = getFirstNonSpacedToken(node.consequent, node.alternate, ":"); - - if (nonSpacedConsequentNode) { - report(node, nonSpacedConsequentNode); - } - - if (nonSpacedAlternateNode) { - report(node, nonSpacedAlternateNode); - } - } - - /** - * Check if the node is a variable - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkVar(node) { - const leftNode = (node.id.typeAnnotation) ? node.id.typeAnnotation : node.id; - const rightNode = node.init; - - if (rightNode) { - const nonSpacedNode = getFirstNonSpacedToken(leftNode, rightNode, "="); - - if (nonSpacedNode) { - report(node, nonSpacedNode); - } - } - } - - return { - AssignmentExpression: checkBinary, - AssignmentPattern: checkBinary, - BinaryExpression: checkBinary, - LogicalExpression: checkBinary, - ConditionalExpression: checkConditional, - VariableDeclarator: checkVar, - - PropertyDefinition(node) { - if (!node.value) { - return; - } - - /* - * Because of computed properties and type annotations, some - * tokens may exist between `node.key` and `=`. - * Therefore, find the `=` from the right. - */ - const operatorToken = sourceCode.getTokenBefore(node.value, isEqToken); - const leftToken = sourceCode.getTokenBefore(operatorToken); - const rightToken = sourceCode.getTokenAfter(operatorToken); - - if ( - !sourceCode.isSpaceBetweenTokens(leftToken, operatorToken) || - !sourceCode.isSpaceBetweenTokens(operatorToken, rightToken) - ) { - report(node, operatorToken); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-unary-ops.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-unary-ops.js deleted file mode 100644 index ab6c3cb6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/space-unary-ops.js +++ /dev/null @@ -1,324 +0,0 @@ -/** - * @fileoverview This rule should require or disallow spaces before or after unary operations. - * @author Marcin Kumorek - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce consistent spacing before or after unary operators", - recommended: false, - url: "https://eslint.org/docs/latest/rules/space-unary-ops" - }, - - fixable: "whitespace", - - schema: [ - { - type: "object", - properties: { - words: { - type: "boolean", - default: true - }, - nonwords: { - type: "boolean", - default: false - }, - overrides: { - type: "object", - additionalProperties: { - type: "boolean" - } - } - }, - additionalProperties: false - } - ], - messages: { - unexpectedBefore: "Unexpected space before unary operator '{{operator}}'.", - unexpectedAfter: "Unexpected space after unary operator '{{operator}}'.", - unexpectedAfterWord: "Unexpected space after unary word operator '{{word}}'.", - wordOperator: "Unary word operator '{{word}}' must be followed by whitespace.", - operator: "Unary operator '{{operator}}' must be followed by whitespace.", - beforeUnaryExpressions: "Space is required before unary expressions '{{token}}'." - } - }, - - create(context) { - const options = context.options[0] || { words: true, nonwords: false }; - - const sourceCode = context.sourceCode; - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Check if the node is the first "!" in a "!!" convert to Boolean expression - * @param {ASTnode} node AST node - * @returns {boolean} Whether or not the node is first "!" in "!!" - */ - function isFirstBangInBangBangExpression(node) { - return node && node.type === "UnaryExpression" && node.argument.operator === "!" && - node.argument && node.argument.type === "UnaryExpression" && node.argument.operator === "!"; - } - - /** - * Checks if an override exists for a given operator. - * @param {string} operator Operator - * @returns {boolean} Whether or not an override has been provided for the operator - */ - function overrideExistsForOperator(operator) { - return options.overrides && Object.hasOwn(options.overrides, operator); - } - - /** - * Gets the value that the override was set to for this operator - * @param {string} operator Operator - * @returns {boolean} Whether or not an override enforces a space with this operator - */ - function overrideEnforcesSpaces(operator) { - return options.overrides[operator]; - } - - /** - * Verify Unary Word Operator has spaces after the word operator - * @param {ASTnode} node AST node - * @param {Object} firstToken first token from the AST node - * @param {Object} secondToken second token from the AST node - * @param {string} word The word to be used for reporting - * @returns {void} - */ - function verifyWordHasSpaces(node, firstToken, secondToken, word) { - if (secondToken.range[0] === firstToken.range[1]) { - context.report({ - node, - messageId: "wordOperator", - data: { - word - }, - fix(fixer) { - return fixer.insertTextAfter(firstToken, " "); - } - }); - } - } - - /** - * Verify Unary Word Operator doesn't have spaces after the word operator - * @param {ASTnode} node AST node - * @param {Object} firstToken first token from the AST node - * @param {Object} secondToken second token from the AST node - * @param {string} word The word to be used for reporting - * @returns {void} - */ - function verifyWordDoesntHaveSpaces(node, firstToken, secondToken, word) { - if (astUtils.canTokensBeAdjacent(firstToken, secondToken)) { - if (secondToken.range[0] > firstToken.range[1]) { - context.report({ - node, - messageId: "unexpectedAfterWord", - data: { - word - }, - fix(fixer) { - return fixer.removeRange([firstToken.range[1], secondToken.range[0]]); - } - }); - } - } - } - - /** - * Check Unary Word Operators for spaces after the word operator - * @param {ASTnode} node AST node - * @param {Object} firstToken first token from the AST node - * @param {Object} secondToken second token from the AST node - * @param {string} word The word to be used for reporting - * @returns {void} - */ - function checkUnaryWordOperatorForSpaces(node, firstToken, secondToken, word) { - if (overrideExistsForOperator(word)) { - if (overrideEnforcesSpaces(word)) { - verifyWordHasSpaces(node, firstToken, secondToken, word); - } else { - verifyWordDoesntHaveSpaces(node, firstToken, secondToken, word); - } - } else if (options.words) { - verifyWordHasSpaces(node, firstToken, secondToken, word); - } else { - verifyWordDoesntHaveSpaces(node, firstToken, secondToken, word); - } - } - - /** - * Verifies YieldExpressions satisfy spacing requirements - * @param {ASTnode} node AST node - * @returns {void} - */ - function checkForSpacesAfterYield(node) { - const tokens = sourceCode.getFirstTokens(node, 3), - word = "yield"; - - if (!node.argument || node.delegate) { - return; - } - - checkUnaryWordOperatorForSpaces(node, tokens[0], tokens[1], word); - } - - /** - * Verifies AwaitExpressions satisfy spacing requirements - * @param {ASTNode} node AwaitExpression AST node - * @returns {void} - */ - function checkForSpacesAfterAwait(node) { - const tokens = sourceCode.getFirstTokens(node, 3); - - checkUnaryWordOperatorForSpaces(node, tokens[0], tokens[1], "await"); - } - - /** - * Verifies UnaryExpression, UpdateExpression and NewExpression have spaces before or after the operator - * @param {ASTnode} node AST node - * @param {Object} firstToken First token in the expression - * @param {Object} secondToken Second token in the expression - * @returns {void} - */ - function verifyNonWordsHaveSpaces(node, firstToken, secondToken) { - if (node.prefix) { - if (isFirstBangInBangBangExpression(node)) { - return; - } - if (firstToken.range[1] === secondToken.range[0]) { - context.report({ - node, - messageId: "operator", - data: { - operator: firstToken.value - }, - fix(fixer) { - return fixer.insertTextAfter(firstToken, " "); - } - }); - } - } else { - if (firstToken.range[1] === secondToken.range[0]) { - context.report({ - node, - messageId: "beforeUnaryExpressions", - data: { - token: secondToken.value - }, - fix(fixer) { - return fixer.insertTextBefore(secondToken, " "); - } - }); - } - } - } - - /** - * Verifies UnaryExpression, UpdateExpression and NewExpression don't have spaces before or after the operator - * @param {ASTnode} node AST node - * @param {Object} firstToken First token in the expression - * @param {Object} secondToken Second token in the expression - * @returns {void} - */ - function verifyNonWordsDontHaveSpaces(node, firstToken, secondToken) { - if (node.prefix) { - if (secondToken.range[0] > firstToken.range[1]) { - context.report({ - node, - messageId: "unexpectedAfter", - data: { - operator: firstToken.value - }, - fix(fixer) { - if (astUtils.canTokensBeAdjacent(firstToken, secondToken)) { - return fixer.removeRange([firstToken.range[1], secondToken.range[0]]); - } - return null; - } - }); - } - } else { - if (secondToken.range[0] > firstToken.range[1]) { - context.report({ - node, - messageId: "unexpectedBefore", - data: { - operator: secondToken.value - }, - fix(fixer) { - return fixer.removeRange([firstToken.range[1], secondToken.range[0]]); - } - }); - } - } - } - - /** - * Verifies UnaryExpression, UpdateExpression and NewExpression satisfy spacing requirements - * @param {ASTnode} node AST node - * @returns {void} - */ - function checkForSpaces(node) { - const tokens = node.type === "UpdateExpression" && !node.prefix - ? sourceCode.getLastTokens(node, 2) - : sourceCode.getFirstTokens(node, 2); - const firstToken = tokens[0]; - const secondToken = tokens[1]; - - if ((node.type === "NewExpression" || node.prefix) && firstToken.type === "Keyword") { - checkUnaryWordOperatorForSpaces(node, firstToken, secondToken, firstToken.value); - return; - } - - const operator = node.prefix ? tokens[0].value : tokens[1].value; - - if (overrideExistsForOperator(operator)) { - if (overrideEnforcesSpaces(operator)) { - verifyNonWordsHaveSpaces(node, firstToken, secondToken); - } else { - verifyNonWordsDontHaveSpaces(node, firstToken, secondToken); - } - } else if (options.nonwords) { - verifyNonWordsHaveSpaces(node, firstToken, secondToken); - } else { - verifyNonWordsDontHaveSpaces(node, firstToken, secondToken); - } - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - UnaryExpression: checkForSpaces, - UpdateExpression: checkForSpaces, - NewExpression: checkForSpaces, - YieldExpression: checkForSpacesAfterYield, - AwaitExpression: checkForSpacesAfterAwait - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/spaced-comment.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/spaced-comment.js deleted file mode 100644 index 90ac7032..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/spaced-comment.js +++ /dev/null @@ -1,385 +0,0 @@ -/** - * @fileoverview Source code for spaced-comments rule - * @author Gyandeep Singh - * @deprecated in ESLint v8.53.0 - */ -"use strict"; - -const escapeRegExp = require("escape-string-regexp"); -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Escapes the control characters of a given string. - * @param {string} s A string to escape. - * @returns {string} An escaped string. - */ -function escape(s) { - return `(?:${escapeRegExp(s)})`; -} - -/** - * Escapes the control characters of a given string. - * And adds a repeat flag. - * @param {string} s A string to escape. - * @returns {string} An escaped string. - */ -function escapeAndRepeat(s) { - return `${escape(s)}+`; -} - -/** - * Parses `markers` option. - * If markers don't include `"*"`, this adds `"*"` to allow JSDoc comments. - * @param {string[]} [markers] A marker list. - * @returns {string[]} A marker list. - */ -function parseMarkersOption(markers) { - - // `*` is a marker for JSDoc comments. - if (!markers.includes("*")) { - return markers.concat("*"); - } - - return markers; -} - -/** - * Creates string pattern for exceptions. - * Generated pattern: - * - * 1. A space or an exception pattern sequence. - * @param {string[]} exceptions An exception pattern list. - * @returns {string} A regular expression string for exceptions. - */ -function createExceptionsPattern(exceptions) { - let pattern = ""; - - /* - * A space or an exception pattern sequence. - * [] ==> "\s" - * ["-"] ==> "(?:\s|\-+$)" - * ["-", "="] ==> "(?:\s|(?:\-+|=+)$)" - * ["-", "=", "--=="] ==> "(?:\s|(?:\-+|=+|(?:\-\-==)+)$)" ==> https://jex.im/regulex/#!embed=false&flags=&re=(%3F%3A%5Cs%7C(%3F%3A%5C-%2B%7C%3D%2B%7C(%3F%3A%5C-%5C-%3D%3D)%2B)%24) - */ - if (exceptions.length === 0) { - - // a space. - pattern += "\\s"; - } else { - - // a space or... - pattern += "(?:\\s|"; - - if (exceptions.length === 1) { - - // a sequence of the exception pattern. - pattern += escapeAndRepeat(exceptions[0]); - } else { - - // a sequence of one of the exception patterns. - pattern += "(?:"; - pattern += exceptions.map(escapeAndRepeat).join("|"); - pattern += ")"; - } - pattern += `(?:$|[${Array.from(astUtils.LINEBREAKS).join("")}]))`; - } - - return pattern; -} - -/** - * Creates RegExp object for `always` mode. - * Generated pattern for beginning of comment: - * - * 1. First, a marker or nothing. - * 2. Next, a space or an exception pattern sequence. - * @param {string[]} markers A marker list. - * @param {string[]} exceptions An exception pattern list. - * @returns {RegExp} A RegExp object for the beginning of a comment in `always` mode. - */ -function createAlwaysStylePattern(markers, exceptions) { - let pattern = "^"; - - /* - * A marker or nothing. - * ["*"] ==> "\*?" - * ["*", "!"] ==> "(?:\*|!)?" - * ["*", "/", "!<"] ==> "(?:\*|\/|(?:!<))?" ==> https://jex.im/regulex/#!embed=false&flags=&re=(%3F%3A%5C*%7C%5C%2F%7C(%3F%3A!%3C))%3F - */ - if (markers.length === 1) { - - // the marker. - pattern += escape(markers[0]); - } else { - - // one of markers. - pattern += "(?:"; - pattern += markers.map(escape).join("|"); - pattern += ")"; - } - - pattern += "?"; // or nothing. - pattern += createExceptionsPattern(exceptions); - - return new RegExp(pattern, "u"); -} - -/** - * Creates RegExp object for `never` mode. - * Generated pattern for beginning of comment: - * - * 1. First, a marker or nothing (captured). - * 2. Next, a space or a tab. - * @param {string[]} markers A marker list. - * @returns {RegExp} A RegExp object for `never` mode. - */ -function createNeverStylePattern(markers) { - const pattern = `^(${markers.map(escape).join("|")})?[ \t]+`; - - return new RegExp(pattern, "u"); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "suggestion", - - docs: { - description: "Enforce consistent spacing after the `//` or `/*` in a comment", - recommended: false, - url: "https://eslint.org/docs/latest/rules/spaced-comment" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - exceptions: { - type: "array", - items: { - type: "string" - } - }, - markers: { - type: "array", - items: { - type: "string" - } - }, - line: { - type: "object", - properties: { - exceptions: { - type: "array", - items: { - type: "string" - } - }, - markers: { - type: "array", - items: { - type: "string" - } - } - }, - additionalProperties: false - }, - block: { - type: "object", - properties: { - exceptions: { - type: "array", - items: { - type: "string" - } - }, - markers: { - type: "array", - items: { - type: "string" - } - }, - balanced: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - }, - additionalProperties: false - } - ], - - messages: { - unexpectedSpaceAfterMarker: "Unexpected space or tab after marker ({{refChar}}) in comment.", - expectedExceptionAfter: "Expected exception block, space or tab after '{{refChar}}' in comment.", - unexpectedSpaceBefore: "Unexpected space or tab before '*/' in comment.", - unexpectedSpaceAfter: "Unexpected space or tab after '{{refChar}}' in comment.", - expectedSpaceBefore: "Expected space or tab before '*/' in comment.", - expectedSpaceAfter: "Expected space or tab after '{{refChar}}' in comment." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - // Unless the first option is never, require a space - const requireSpace = context.options[0] !== "never"; - - /* - * Parse the second options. - * If markers don't include `"*"`, it's added automatically for JSDoc - * comments. - */ - const config = context.options[1] || {}; - const balanced = config.block && config.block.balanced; - - const styleRules = ["block", "line"].reduce((rule, type) => { - const markers = parseMarkersOption(config[type] && config[type].markers || config.markers || []); - const exceptions = config[type] && config[type].exceptions || config.exceptions || []; - const endNeverPattern = "[ \t]+$"; - - // Create RegExp object for valid patterns. - rule[type] = { - beginRegex: requireSpace ? createAlwaysStylePattern(markers, exceptions) : createNeverStylePattern(markers), - endRegex: balanced && requireSpace ? new RegExp(`${createExceptionsPattern(exceptions)}$`, "u") : new RegExp(endNeverPattern, "u"), - hasExceptions: exceptions.length > 0, - captureMarker: new RegExp(`^(${markers.map(escape).join("|")})`, "u"), - markers: new Set(markers) - }; - - return rule; - }, {}); - - /** - * Reports a beginning spacing error with an appropriate message. - * @param {ASTNode} node A comment node to check. - * @param {string} messageId An error message to report. - * @param {Array} match An array of match results for markers. - * @param {string} refChar Character used for reference in the error message. - * @returns {void} - */ - function reportBegin(node, messageId, match, refChar) { - const type = node.type.toLowerCase(), - commentIdentifier = type === "block" ? "/*" : "//"; - - context.report({ - node, - fix(fixer) { - const start = node.range[0]; - let end = start + 2; - - if (requireSpace) { - if (match) { - end += match[0].length; - } - return fixer.insertTextAfterRange([start, end], " "); - } - end += match[0].length; - return fixer.replaceTextRange([start, end], commentIdentifier + (match[1] ? match[1] : "")); - - }, - messageId, - data: { refChar } - }); - } - - /** - * Reports an ending spacing error with an appropriate message. - * @param {ASTNode} node A comment node to check. - * @param {string} messageId An error message to report. - * @param {string} match An array of the matched whitespace characters. - * @returns {void} - */ - function reportEnd(node, messageId, match) { - context.report({ - node, - fix(fixer) { - if (requireSpace) { - return fixer.insertTextAfterRange([node.range[0], node.range[1] - 2], " "); - } - const end = node.range[1] - 2, - start = end - match[0].length; - - return fixer.replaceTextRange([start, end], ""); - - }, - messageId - }); - } - - /** - * Reports a given comment if it's invalid. - * @param {ASTNode} node a comment node to check. - * @returns {void} - */ - function checkCommentForSpace(node) { - const type = node.type.toLowerCase(), - rule = styleRules[type], - commentIdentifier = type === "block" ? "/*" : "//"; - - // Ignores empty comments and comments that consist only of a marker. - if (node.value.length === 0 || rule.markers.has(node.value)) { - return; - } - - const beginMatch = rule.beginRegex.exec(node.value); - const endMatch = rule.endRegex.exec(node.value); - - // Checks. - if (requireSpace) { - if (!beginMatch) { - const hasMarker = rule.captureMarker.exec(node.value); - const marker = hasMarker ? commentIdentifier + hasMarker[0] : commentIdentifier; - - if (rule.hasExceptions) { - reportBegin(node, "expectedExceptionAfter", hasMarker, marker); - } else { - reportBegin(node, "expectedSpaceAfter", hasMarker, marker); - } - } - - if (balanced && type === "block" && !endMatch) { - reportEnd(node, "expectedSpaceBefore"); - } - } else { - if (beginMatch) { - if (!beginMatch[1]) { - reportBegin(node, "unexpectedSpaceAfter", beginMatch, commentIdentifier); - } else { - reportBegin(node, "unexpectedSpaceAfterMarker", beginMatch, beginMatch[1]); - } - } - - if (balanced && type === "block" && endMatch) { - reportEnd(node, "unexpectedSpaceBefore", endMatch); - } - } - } - - return { - Program() { - const comments = sourceCode.getAllComments(); - - comments.filter(token => token.type !== "Shebang").forEach(checkCommentForSpace); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/strict.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/strict.js deleted file mode 100644 index 198bf852..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/strict.js +++ /dev/null @@ -1,278 +0,0 @@ -/** - * @fileoverview Rule to control usage of strict mode directives. - * @author Brandon Mills - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Gets all of the Use Strict Directives in the Directive Prologue of a group of - * statements. - * @param {ASTNode[]} statements Statements in the program or function body. - * @returns {ASTNode[]} All of the Use Strict Directives. - */ -function getUseStrictDirectives(statements) { - const directives = []; - - for (let i = 0; i < statements.length; i++) { - const statement = statements[i]; - - if ( - statement.type === "ExpressionStatement" && - statement.expression.type === "Literal" && - statement.expression.value === "use strict" - ) { - directives[i] = statement; - } else { - break; - } - } - - return directives; -} - -/** - * Checks whether a given parameter is a simple parameter. - * @param {ASTNode} node A pattern node to check. - * @returns {boolean} `true` if the node is an Identifier node. - */ -function isSimpleParameter(node) { - return node.type === "Identifier"; -} - -/** - * Checks whether a given parameter list is a simple parameter list. - * @param {ASTNode[]} params A parameter list to check. - * @returns {boolean} `true` if the every parameter is an Identifier node. - */ -function isSimpleParameterList(params) { - return params.every(isSimpleParameter); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["safe"], - - docs: { - description: "Require or disallow strict mode directives", - recommended: false, - url: "https://eslint.org/docs/latest/rules/strict" - }, - - schema: [ - { - enum: ["never", "global", "function", "safe"] - } - ], - - fixable: "code", - messages: { - function: "Use the function form of 'use strict'.", - global: "Use the global form of 'use strict'.", - multiple: "Multiple 'use strict' directives.", - never: "Strict mode is not permitted.", - unnecessary: "Unnecessary 'use strict' directive.", - module: "'use strict' is unnecessary inside of modules.", - implied: "'use strict' is unnecessary when implied strict mode is enabled.", - unnecessaryInClasses: "'use strict' is unnecessary inside of classes.", - nonSimpleParameterList: "'use strict' directive inside a function with non-simple parameter list throws a syntax error since ES2016.", - wrap: "Wrap {{name}} in a function with 'use strict' directive." - } - }, - - create(context) { - const ecmaFeatures = context.parserOptions.ecmaFeatures || {}, - scopes = [], - classScopes = []; - let [mode] = context.options; - - if (ecmaFeatures.impliedStrict) { - mode = "implied"; - } else if (mode === "safe") { - mode = ecmaFeatures.globalReturn || context.languageOptions.sourceType === "commonjs" ? "global" : "function"; - } - - /** - * Determines whether a reported error should be fixed, depending on the error type. - * @param {string} errorType The type of error - * @returns {boolean} `true` if the reported error should be fixed - */ - function shouldFix(errorType) { - return errorType === "multiple" || errorType === "unnecessary" || errorType === "module" || errorType === "implied" || errorType === "unnecessaryInClasses"; - } - - /** - * Gets a fixer function to remove a given 'use strict' directive. - * @param {ASTNode} node The directive that should be removed - * @returns {Function} A fixer function - */ - function getFixFunction(node) { - return fixer => fixer.remove(node); - } - - /** - * Report a slice of an array of nodes with a given message. - * @param {ASTNode[]} nodes Nodes. - * @param {string} start Index to start from. - * @param {string} end Index to end before. - * @param {string} messageId Message to display. - * @param {boolean} fix `true` if the directive should be fixed (i.e. removed) - * @returns {void} - */ - function reportSlice(nodes, start, end, messageId, fix) { - nodes.slice(start, end).forEach(node => { - context.report({ node, messageId, fix: fix ? getFixFunction(node) : null }); - }); - } - - /** - * Report all nodes in an array with a given message. - * @param {ASTNode[]} nodes Nodes. - * @param {string} messageId Message id to display. - * @param {boolean} fix `true` if the directive should be fixed (i.e. removed) - * @returns {void} - */ - function reportAll(nodes, messageId, fix) { - reportSlice(nodes, 0, nodes.length, messageId, fix); - } - - /** - * Report all nodes in an array, except the first, with a given message. - * @param {ASTNode[]} nodes Nodes. - * @param {string} messageId Message id to display. - * @param {boolean} fix `true` if the directive should be fixed (i.e. removed) - * @returns {void} - */ - function reportAllExceptFirst(nodes, messageId, fix) { - reportSlice(nodes, 1, nodes.length, messageId, fix); - } - - /** - * Entering a function in 'function' mode pushes a new nested scope onto the - * stack. The new scope is true if the nested function is strict mode code. - * @param {ASTNode} node The function declaration or expression. - * @param {ASTNode[]} useStrictDirectives The Use Strict Directives of the node. - * @returns {void} - */ - function enterFunctionInFunctionMode(node, useStrictDirectives) { - const isInClass = classScopes.length > 0, - isParentGlobal = scopes.length === 0 && classScopes.length === 0, - isParentStrict = scopes.length > 0 && scopes.at(-1), - isStrict = useStrictDirectives.length > 0; - - if (isStrict) { - if (!isSimpleParameterList(node.params)) { - context.report({ node: useStrictDirectives[0], messageId: "nonSimpleParameterList" }); - } else if (isParentStrict) { - context.report({ node: useStrictDirectives[0], messageId: "unnecessary", fix: getFixFunction(useStrictDirectives[0]) }); - } else if (isInClass) { - context.report({ node: useStrictDirectives[0], messageId: "unnecessaryInClasses", fix: getFixFunction(useStrictDirectives[0]) }); - } - - reportAllExceptFirst(useStrictDirectives, "multiple", true); - } else if (isParentGlobal) { - if (isSimpleParameterList(node.params)) { - context.report({ node, messageId: "function" }); - } else { - context.report({ - node, - messageId: "wrap", - data: { name: astUtils.getFunctionNameWithKind(node) } - }); - } - } - - scopes.push(isParentStrict || isStrict); - } - - /** - * Exiting a function in 'function' mode pops its scope off the stack. - * @returns {void} - */ - function exitFunctionInFunctionMode() { - scopes.pop(); - } - - /** - * Enter a function and either: - * - Push a new nested scope onto the stack (in 'function' mode). - * - Report all the Use Strict Directives (in the other modes). - * @param {ASTNode} node The function declaration or expression. - * @returns {void} - */ - function enterFunction(node) { - const isBlock = node.body.type === "BlockStatement", - useStrictDirectives = isBlock - ? getUseStrictDirectives(node.body.body) : []; - - if (mode === "function") { - enterFunctionInFunctionMode(node, useStrictDirectives); - } else if (useStrictDirectives.length > 0) { - if (isSimpleParameterList(node.params)) { - reportAll(useStrictDirectives, mode, shouldFix(mode)); - } else { - context.report({ node: useStrictDirectives[0], messageId: "nonSimpleParameterList" }); - reportAllExceptFirst(useStrictDirectives, "multiple", true); - } - } - } - - const rule = { - Program(node) { - const useStrictDirectives = getUseStrictDirectives(node.body); - - if (node.sourceType === "module") { - mode = "module"; - } - - if (mode === "global") { - if (node.body.length > 0 && useStrictDirectives.length === 0) { - context.report({ node, messageId: "global" }); - } - reportAllExceptFirst(useStrictDirectives, "multiple", true); - } else { - reportAll(useStrictDirectives, mode, shouldFix(mode)); - } - }, - FunctionDeclaration: enterFunction, - FunctionExpression: enterFunction, - ArrowFunctionExpression: enterFunction - }; - - if (mode === "function") { - Object.assign(rule, { - - // Inside of class bodies are always strict mode. - ClassBody() { - classScopes.push(true); - }, - "ClassBody:exit"() { - classScopes.pop(); - }, - - "FunctionDeclaration:exit": exitFunctionInFunctionMode, - "FunctionExpression:exit": exitFunctionInFunctionMode, - "ArrowFunctionExpression:exit": exitFunctionInFunctionMode - }); - } - - return rule; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/switch-colon-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/switch-colon-spacing.js deleted file mode 100644 index 3ea63ca0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/switch-colon-spacing.js +++ /dev/null @@ -1,132 +0,0 @@ -/** - * @fileoverview Rule to enforce spacing around colons of switch statements. - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Enforce spacing around colons of switch statements", - recommended: false, - url: "https://eslint.org/docs/latest/rules/switch-colon-spacing" - }, - - schema: [ - { - type: "object", - properties: { - before: { type: "boolean", default: false }, - after: { type: "boolean", default: true } - }, - additionalProperties: false - } - ], - fixable: "whitespace", - messages: { - expectedBefore: "Expected space(s) before this colon.", - expectedAfter: "Expected space(s) after this colon.", - unexpectedBefore: "Unexpected space(s) before this colon.", - unexpectedAfter: "Unexpected space(s) after this colon." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const options = context.options[0] || {}; - const beforeSpacing = options.before === true; // false by default - const afterSpacing = options.after !== false; // true by default - - /** - * Check whether the spacing between the given 2 tokens is valid or not. - * @param {Token} left The left token to check. - * @param {Token} right The right token to check. - * @param {boolean} expected The expected spacing to check. `true` if there should be a space. - * @returns {boolean} `true` if the spacing between the tokens is valid. - */ - function isValidSpacing(left, right, expected) { - return ( - astUtils.isClosingBraceToken(right) || - !astUtils.isTokenOnSameLine(left, right) || - sourceCode.isSpaceBetweenTokens(left, right) === expected - ); - } - - /** - * Check whether comments exist between the given 2 tokens. - * @param {Token} left The left token to check. - * @param {Token} right The right token to check. - * @returns {boolean} `true` if comments exist between the given 2 tokens. - */ - function commentsExistBetween(left, right) { - return sourceCode.getFirstTokenBetween( - left, - right, - { - includeComments: true, - filter: astUtils.isCommentToken - } - ) !== null; - } - - /** - * Fix the spacing between the given 2 tokens. - * @param {RuleFixer} fixer The fixer to fix. - * @param {Token} left The left token of fix range. - * @param {Token} right The right token of fix range. - * @param {boolean} spacing The spacing style. `true` if there should be a space. - * @returns {Fix|null} The fix object. - */ - function fix(fixer, left, right, spacing) { - if (commentsExistBetween(left, right)) { - return null; - } - if (spacing) { - return fixer.insertTextAfter(left, " "); - } - return fixer.removeRange([left.range[1], right.range[0]]); - } - - return { - SwitchCase(node) { - const colonToken = astUtils.getSwitchCaseColonToken(node, sourceCode); - const beforeToken = sourceCode.getTokenBefore(colonToken); - const afterToken = sourceCode.getTokenAfter(colonToken); - - if (!isValidSpacing(beforeToken, colonToken, beforeSpacing)) { - context.report({ - node, - loc: colonToken.loc, - messageId: beforeSpacing ? "expectedBefore" : "unexpectedBefore", - fix: fixer => fix(fixer, beforeToken, colonToken, beforeSpacing) - }); - } - if (!isValidSpacing(colonToken, afterToken, afterSpacing)) { - context.report({ - node, - loc: colonToken.loc, - messageId: afterSpacing ? "expectedAfter" : "unexpectedAfter", - fix: fixer => fix(fixer, colonToken, afterToken, afterSpacing) - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/symbol-description.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/symbol-description.js deleted file mode 100644 index 4528f09c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/symbol-description.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @fileoverview Rule to enforce description with the `Symbol` object - * @author Jarek Rencz - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require symbol descriptions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/symbol-description" - }, - fixable: null, - schema: [], - messages: { - expected: "Expected Symbol to have a description." - } - }, - - create(context) { - - const sourceCode = context.sourceCode; - - /** - * Reports if node does not conform the rule in case rule is set to - * report missing description - * @param {ASTNode} node A CallExpression node to check. - * @returns {void} - */ - function checkArgument(node) { - if (node.arguments.length === 0) { - context.report({ - node, - messageId: "expected" - }); - } - } - - return { - "Program:exit"(node) { - const scope = sourceCode.getScope(node); - const variable = astUtils.getVariableByName(scope, "Symbol"); - - if (variable && variable.defs.length === 0) { - variable.references.forEach(reference => { - const idNode = reference.identifier; - - if (astUtils.isCallee(idNode)) { - checkArgument(idNode.parent); - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-curly-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-curly-spacing.js deleted file mode 100644 index 1f8cc34c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-curly-spacing.js +++ /dev/null @@ -1,144 +0,0 @@ -/** - * @fileoverview Rule to enforce spacing around embedded expressions of template strings - * @author Toru Nagashima - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow spacing around embedded expressions of template strings", - recommended: false, - url: "https://eslint.org/docs/latest/rules/template-curly-spacing" - }, - - fixable: "whitespace", - - schema: [ - { enum: ["always", "never"] } - ], - messages: { - expectedBefore: "Expected space(s) before '}'.", - expectedAfter: "Expected space(s) after '${'.", - unexpectedBefore: "Unexpected space(s) before '}'.", - unexpectedAfter: "Unexpected space(s) after '${'." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - const always = context.options[0] === "always"; - - /** - * Checks spacing before `}` of a given token. - * @param {Token} token A token to check. This is a Template token. - * @returns {void} - */ - function checkSpacingBefore(token) { - if (!token.value.startsWith("}")) { - return; // starts with a backtick, this is the first template element in the template literal - } - - const prevToken = sourceCode.getTokenBefore(token, { includeComments: true }), - hasSpace = sourceCode.isSpaceBetween(prevToken, token); - - if (!astUtils.isTokenOnSameLine(prevToken, token)) { - return; - } - - if (always && !hasSpace) { - context.report({ - loc: { - start: token.loc.start, - end: { - line: token.loc.start.line, - column: token.loc.start.column + 1 - } - }, - messageId: "expectedBefore", - fix: fixer => fixer.insertTextBefore(token, " ") - }); - } - - if (!always && hasSpace) { - context.report({ - loc: { - start: prevToken.loc.end, - end: token.loc.start - }, - messageId: "unexpectedBefore", - fix: fixer => fixer.removeRange([prevToken.range[1], token.range[0]]) - }); - } - } - - /** - * Checks spacing after `${` of a given token. - * @param {Token} token A token to check. This is a Template token. - * @returns {void} - */ - function checkSpacingAfter(token) { - if (!token.value.endsWith("${")) { - return; // ends with a backtick, this is the last template element in the template literal - } - - const nextToken = sourceCode.getTokenAfter(token, { includeComments: true }), - hasSpace = sourceCode.isSpaceBetween(token, nextToken); - - if (!astUtils.isTokenOnSameLine(token, nextToken)) { - return; - } - - if (always && !hasSpace) { - context.report({ - loc: { - start: { - line: token.loc.end.line, - column: token.loc.end.column - 2 - }, - end: token.loc.end - }, - messageId: "expectedAfter", - fix: fixer => fixer.insertTextAfter(token, " ") - }); - } - - if (!always && hasSpace) { - context.report({ - loc: { - start: token.loc.end, - end: nextToken.loc.start - }, - messageId: "unexpectedAfter", - fix: fixer => fixer.removeRange([token.range[1], nextToken.range[0]]) - }); - } - } - - return { - TemplateElement(node) { - const token = sourceCode.getFirstToken(node); - - checkSpacingBefore(token); - checkSpacingAfter(token); - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-tag-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-tag-spacing.js deleted file mode 100644 index 52e0bcf2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/template-tag-spacing.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * @fileoverview Rule to check spacing between template tags and their literals - * @author Jonathan Wilsson - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow spacing between template tags and their literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/template-tag-spacing" - }, - - fixable: "whitespace", - - schema: [ - { enum: ["always", "never"] } - ], - messages: { - unexpected: "Unexpected space between template tag and template literal.", - missing: "Missing space between template tag and template literal." - } - }, - - create(context) { - const never = context.options[0] !== "always"; - const sourceCode = context.sourceCode; - - /** - * Check if a space is present between a template tag and its literal - * @param {ASTNode} node node to evaluate - * @returns {void} - * @private - */ - function checkSpacing(node) { - const tagToken = sourceCode.getTokenBefore(node.quasi); - const literalToken = sourceCode.getFirstToken(node.quasi); - const hasWhitespace = sourceCode.isSpaceBetweenTokens(tagToken, literalToken); - - if (never && hasWhitespace) { - context.report({ - node, - loc: { - start: tagToken.loc.end, - end: literalToken.loc.start - }, - messageId: "unexpected", - fix(fixer) { - const comments = sourceCode.getCommentsBefore(node.quasi); - - // Don't fix anything if there's a single line comment after the template tag - if (comments.some(comment => comment.type === "Line")) { - return null; - } - - return fixer.replaceTextRange( - [tagToken.range[1], literalToken.range[0]], - comments.reduce((text, comment) => text + sourceCode.getText(comment), "") - ); - } - }); - } else if (!never && !hasWhitespace) { - context.report({ - node, - loc: { - start: node.loc.start, - end: literalToken.loc.start - }, - messageId: "missing", - fix(fixer) { - return fixer.insertTextAfter(tagToken, " "); - } - }); - } - } - - return { - TaggedTemplateExpression: checkSpacing - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/unicode-bom.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/unicode-bom.js deleted file mode 100644 index 15c7ad77..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/unicode-bom.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @fileoverview Require or disallow Unicode BOM - * @author Andrew Johnston - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "layout", - - defaultOptions: ["never"], - - docs: { - description: "Require or disallow Unicode byte order mark (BOM)", - recommended: false, - url: "https://eslint.org/docs/latest/rules/unicode-bom" - }, - - fixable: "whitespace", - - schema: [ - { - enum: ["always", "never"] - } - ], - messages: { - expected: "Expected Unicode BOM (Byte Order Mark).", - unexpected: "Unexpected Unicode BOM (Byte Order Mark)." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - Program: function checkUnicodeBOM(node) { - - const sourceCode = context.sourceCode, - location = { column: 0, line: 1 }; - const [requireBOM] = context.options; - - if (!sourceCode.hasBOM && (requireBOM === "always")) { - context.report({ - node, - loc: location, - messageId: "expected", - fix(fixer) { - return fixer.insertTextBeforeRange([0, 1], "\uFEFF"); - } - }); - } else if (sourceCode.hasBOM && (requireBOM === "never")) { - context.report({ - node, - loc: location, - messageId: "unexpected", - fix(fixer) { - return fixer.removeRange([-1, 0]); - } - }); - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/use-isnan.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/use-isnan.js deleted file mode 100644 index 046b9122..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/use-isnan.js +++ /dev/null @@ -1,237 +0,0 @@ -/** - * @fileoverview Rule to flag comparisons to the value NaN - * @author James Allardice - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Determines if the given node is a NaN `Identifier` node. - * @param {ASTNode|null} node The node to check. - * @returns {boolean} `true` if the node is 'NaN' identifier. - */ -function isNaNIdentifier(node) { - if (!node) { - return false; - } - - const nodeToCheck = node.type === "SequenceExpression" - ? node.expressions.at(-1) - : node; - - return ( - astUtils.isSpecificId(nodeToCheck, "NaN") || - astUtils.isSpecificMemberAccess(nodeToCheck, "Number", "NaN") - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - hasSuggestions: true, - type: "problem", - - docs: { - description: "Require calls to `isNaN()` when checking for `NaN`", - recommended: true, - url: "https://eslint.org/docs/latest/rules/use-isnan" - }, - - schema: [ - { - type: "object", - properties: { - enforceForSwitchCase: { - type: "boolean" - }, - enforceForIndexOf: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - defaultOptions: [{ - enforceForIndexOf: false, - enforceForSwitchCase: true - }], - - messages: { - comparisonWithNaN: "Use the isNaN function to compare with NaN.", - switchNaN: "'switch(NaN)' can never match a case clause. Use Number.isNaN instead of the switch.", - caseNaN: "'case NaN' can never match. Use Number.isNaN before the switch.", - indexOfNaN: "Array prototype method '{{ methodName }}' cannot find NaN.", - replaceWithIsNaN: "Replace with Number.isNaN.", - replaceWithCastingAndIsNaN: "Replace with Number.isNaN and cast to a Number.", - replaceWithFindIndex: "Replace with Array.prototype.{{ methodName }}." - } - }, - - create(context) { - - const [{ enforceForIndexOf, enforceForSwitchCase }] = context.options; - const sourceCode = context.sourceCode; - - const fixableOperators = new Set(["==", "===", "!=", "!=="]); - const castableOperators = new Set(["==", "!="]); - - /** - * Get a fixer for a binary expression that compares to NaN. - * @param {ASTNode} node The node to fix. - * @param {function(string): string} wrapValue A function that wraps the compared value with a fix. - * @returns {function(Fixer): Fix} The fixer function. - */ - function getBinaryExpressionFixer(node, wrapValue) { - return fixer => { - const comparedValue = isNaNIdentifier(node.left) ? node.right : node.left; - const shouldWrap = comparedValue.type === "SequenceExpression"; - const shouldNegate = node.operator[0] === "!"; - - const negation = shouldNegate ? "!" : ""; - let comparedValueText = sourceCode.getText(comparedValue); - - if (shouldWrap) { - comparedValueText = `(${comparedValueText})`; - } - - const fixedValue = wrapValue(comparedValueText); - - return fixer.replaceText(node, `${negation}${fixedValue}`); - }; - } - - /** - * Checks the given `BinaryExpression` node for `foo === NaN` and other comparisons. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkBinaryExpression(node) { - if ( - /^(?:[<>]|[!=]=)=?$/u.test(node.operator) && - (isNaNIdentifier(node.left) || isNaNIdentifier(node.right)) - ) { - const suggestedFixes = []; - const NaNNode = isNaNIdentifier(node.left) ? node.left : node.right; - - const isSequenceExpression = NaNNode.type === "SequenceExpression"; - const isSuggestable = fixableOperators.has(node.operator) && !isSequenceExpression; - const isCastable = castableOperators.has(node.operator); - - if (isSuggestable) { - suggestedFixes.push({ - messageId: "replaceWithIsNaN", - fix: getBinaryExpressionFixer(node, value => `Number.isNaN(${value})`) - }); - - if (isCastable) { - suggestedFixes.push({ - messageId: "replaceWithCastingAndIsNaN", - fix: getBinaryExpressionFixer(node, value => `Number.isNaN(Number(${value}))`) - }); - } - } - - context.report({ - node, - messageId: "comparisonWithNaN", - suggest: suggestedFixes - }); - } - } - - /** - * Checks the discriminant and all case clauses of the given `SwitchStatement` node for `switch(NaN)` and `case NaN:` - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkSwitchStatement(node) { - if (isNaNIdentifier(node.discriminant)) { - context.report({ node, messageId: "switchNaN" }); - } - - for (const switchCase of node.cases) { - if (isNaNIdentifier(switchCase.test)) { - context.report({ node: switchCase, messageId: "caseNaN" }); - } - } - } - - /** - * Checks the given `CallExpression` node for `.indexOf(NaN)` and `.lastIndexOf(NaN)`. - * @param {ASTNode} node The node to check. - * @returns {void} - */ - function checkCallExpression(node) { - const callee = astUtils.skipChainExpression(node.callee); - - if (callee.type === "MemberExpression") { - const methodName = astUtils.getStaticPropertyName(callee); - - if ( - (methodName === "indexOf" || methodName === "lastIndexOf") && - node.arguments.length <= 2 && - isNaNIdentifier(node.arguments[0]) - ) { - - /* - * To retain side effects, it's essential to address `NaN` beforehand, which - * is not possible with fixes like `arr.findIndex(Number.isNaN)`. - */ - const isSuggestable = node.arguments[0].type !== "SequenceExpression" && !node.arguments[1]; - const suggestedFixes = []; - - if (isSuggestable) { - const shouldWrap = callee.computed; - const findIndexMethod = methodName === "indexOf" ? "findIndex" : "findLastIndex"; - const propertyName = shouldWrap ? `"${findIndexMethod}"` : findIndexMethod; - - suggestedFixes.push({ - messageId: "replaceWithFindIndex", - data: { methodName: findIndexMethod }, - fix: fixer => [ - fixer.replaceText(callee.property, propertyName), - fixer.replaceText(node.arguments[0], "Number.isNaN") - ] - }); - } - - context.report({ - node, - messageId: "indexOfNaN", - data: { methodName }, - suggest: suggestedFixes - }); - } - } - } - - const listeners = { - BinaryExpression: checkBinaryExpression - }; - - if (enforceForSwitchCase) { - listeners.SwitchStatement = checkSwitchStatement; - } - - if (enforceForIndexOf) { - listeners.CallExpression = checkCallExpression; - } - - return listeners; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/ast-utils.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/ast-utils.js deleted file mode 100644 index 7a93da14..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/ast-utils.js +++ /dev/null @@ -1,2476 +0,0 @@ -/** - * @fileoverview Common utils for AST. - * @author Gyandeep Singh - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const { KEYS: eslintVisitorKeys } = require("eslint-visitor-keys"); -const esutils = require("esutils"); -const espree = require("espree"); -const escapeRegExp = require("escape-string-regexp"); -const { - breakableTypePattern, - createGlobalLinebreakMatcher, - lineBreakPattern, - shebangPattern -} = require("../../shared/ast-utils"); -const globals = require("../../../conf/globals"); -const { LATEST_ECMA_VERSION } = require("../../../conf/ecma-version"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const anyFunctionPattern = /^(?:Function(?:Declaration|Expression)|ArrowFunctionExpression)$/u; -const anyLoopPattern = /^(?:DoWhile|For|ForIn|ForOf|While)Statement$/u; -const arrayMethodWithThisArgPattern = /^(?:every|filter|find(?:Last)?(?:Index)?|flatMap|forEach|map|some)$/u; -const arrayOrTypedArrayPattern = /Array$/u; -const bindOrCallOrApplyPattern = /^(?:bind|call|apply)$/u; -const thisTagPattern = /^[\s*]*@this/mu; - - -const COMMENTS_IGNORE_PATTERN = /^\s*(?:eslint|jshint\s+|jslint\s+|istanbul\s+|globals?\s+|exported\s+|jscs)/u; -const ESLINT_DIRECTIVE_PATTERN = /^(?:eslint[- ]|(?:globals?|exported) )/u; -const LINEBREAKS = new Set(["\r\n", "\r", "\n", "\u2028", "\u2029"]); - -// A set of node types that can contain a list of statements -const STATEMENT_LIST_PARENTS = new Set(["Program", "BlockStatement", "StaticBlock", "SwitchCase"]); - -const DECIMAL_INTEGER_PATTERN = /^(?:0|0[0-7]*[89]\d*|[1-9](?:_?\d)*)$/u; - -// Tests the presence of at least one LegacyOctalEscapeSequence or NonOctalDecimalEscapeSequence in a raw string -const OCTAL_OR_NON_OCTAL_DECIMAL_ESCAPE_PATTERN = /^(?:[^\\]|\\.)*\\(?:[1-9]|0[0-9])/su; - -const LOGICAL_ASSIGNMENT_OPERATORS = new Set(["&&=", "||=", "??="]); - -/** - * All builtin global variables defined in the latest ECMAScript specification. - * @type {Record} Key is the name of the variable. Value is `true` if the variable is considered writable, `false` otherwise. - */ -const ECMASCRIPT_GLOBALS = globals[`es${LATEST_ECMA_VERSION}`]; - -/** - * Checks reference if is non initializer and writable. - * @param {Reference} reference A reference to check. - * @param {int} index The index of the reference in the references. - * @param {Reference[]} references The array that the reference belongs to. - * @returns {boolean} Success/Failure - * @private - */ -function isModifyingReference(reference, index, references) { - const identifier = reference.identifier; - - /* - * Destructuring assignments can have multiple default value, so - * possibly there are multiple writeable references for the same - * identifier. - */ - const modifyingDifferentIdentifier = index === 0 || - references[index - 1].identifier !== identifier; - - return (identifier && - reference.init === false && - reference.isWrite() && - modifyingDifferentIdentifier - ); -} - -/** - * Checks whether the given string starts with uppercase or not. - * @param {string} s The string to check. - * @returns {boolean} `true` if the string starts with uppercase. - */ -function startsWithUpperCase(s) { - return s[0] !== s[0].toLocaleLowerCase(); -} - -/** - * Checks whether or not a node is a constructor. - * @param {ASTNode} node A function node to check. - * @returns {boolean} Whether or not a node is a constructor. - */ -function isES5Constructor(node) { - return (node.id && startsWithUpperCase(node.id.name)); -} - -/** - * Finds a function node from ancestors of a node. - * @param {ASTNode} node A start node to find. - * @returns {Node|null} A found function node. - */ -function getUpperFunction(node) { - for (let currentNode = node; currentNode; currentNode = currentNode.parent) { - if (anyFunctionPattern.test(currentNode.type)) { - return currentNode; - } - } - return null; -} - -/** - * Checks whether a given node is a function node or not. - * The following types are function nodes: - * - * - ArrowFunctionExpression - * - FunctionDeclaration - * - FunctionExpression - * @param {ASTNode|null} node A node to check. - * @returns {boolean} `true` if the node is a function node. - */ -function isFunction(node) { - return Boolean(node && anyFunctionPattern.test(node.type)); -} - -/** - * Checks whether a given node is a loop node or not. - * The following types are loop nodes: - * - * - DoWhileStatement - * - ForInStatement - * - ForOfStatement - * - ForStatement - * - WhileStatement - * @param {ASTNode|null} node A node to check. - * @returns {boolean} `true` if the node is a loop node. - */ -function isLoop(node) { - return Boolean(node && anyLoopPattern.test(node.type)); -} - -/** - * Checks whether the given node is in a loop or not. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is in a loop. - */ -function isInLoop(node) { - for (let currentNode = node; currentNode && !isFunction(currentNode); currentNode = currentNode.parent) { - if (isLoop(currentNode)) { - return true; - } - } - - return false; -} - -/** - * Determines whether the given node is a `null` literal. - * @param {ASTNode} node The node to check - * @returns {boolean} `true` if the node is a `null` literal - */ -function isNullLiteral(node) { - - /* - * Checking `node.value === null` does not guarantee that a literal is a null literal. - * When parsing values that cannot be represented in the current environment (e.g. unicode - * regexes in Node 4), `node.value` is set to `null` because it wouldn't be possible to - * set `node.value` to a unicode regex. To make sure a literal is actually `null`, check - * `node.regex` instead. Also see: https://github.com/eslint/eslint/issues/8020 - */ - return node.type === "Literal" && node.value === null && !node.regex && !node.bigint; -} - -/** - * Checks whether or not a node is `null` or `undefined`. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is a `null` or `undefined`. - * @public - */ -function isNullOrUndefined(node) { - return ( - isNullLiteral(node) || - (node.type === "Identifier" && node.name === "undefined") || - (node.type === "UnaryExpression" && node.operator === "void") - ); -} - -/** - * Checks whether or not a node is callee. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is callee. - */ -function isCallee(node) { - return node.parent.type === "CallExpression" && node.parent.callee === node; -} - -/** - * Returns the result of the string conversion applied to the evaluated value of the given expression node, - * if it can be determined statically. - * - * This function returns a `string` value for all `Literal` nodes and simple `TemplateLiteral` nodes only. - * In all other cases, this function returns `null`. - * @param {ASTNode} node Expression node. - * @returns {string|null} String value if it can be determined. Otherwise, `null`. - */ -function getStaticStringValue(node) { - switch (node.type) { - case "Literal": - if (node.value === null) { - if (isNullLiteral(node)) { - return String(node.value); // "null" - } - if (node.regex) { - return `/${node.regex.pattern}/${node.regex.flags}`; - } - if (node.bigint) { - return node.bigint; - } - - // Otherwise, this is an unknown literal. The function will return null. - - } else { - return String(node.value); - } - break; - case "TemplateLiteral": - if (node.expressions.length === 0 && node.quasis.length === 1) { - return node.quasis[0].value.cooked; - } - break; - - // no default - } - - return null; -} - -/** - * Gets the property name of a given node. - * The node can be a MemberExpression, a Property, or a MethodDefinition. - * - * If the name is dynamic, this returns `null`. - * - * For examples: - * - * a.b // => "b" - * a["b"] // => "b" - * a['b'] // => "b" - * a[`b`] // => "b" - * a[100] // => "100" - * a[b] // => null - * a["a" + "b"] // => null - * a[tag`b`] // => null - * a[`${b}`] // => null - * - * let a = {b: 1} // => "b" - * let a = {["b"]: 1} // => "b" - * let a = {['b']: 1} // => "b" - * let a = {[`b`]: 1} // => "b" - * let a = {[100]: 1} // => "100" - * let a = {[b]: 1} // => null - * let a = {["a" + "b"]: 1} // => null - * let a = {[tag`b`]: 1} // => null - * let a = {[`${b}`]: 1} // => null - * @param {ASTNode} node The node to get. - * @returns {string|null} The property name if static. Otherwise, null. - */ -function getStaticPropertyName(node) { - let prop; - - switch (node && node.type) { - case "ChainExpression": - return getStaticPropertyName(node.expression); - - case "Property": - case "PropertyDefinition": - case "MethodDefinition": - prop = node.key; - break; - - case "MemberExpression": - prop = node.property; - break; - - // no default - } - - if (prop) { - if (prop.type === "Identifier" && !node.computed) { - return prop.name; - } - - return getStaticStringValue(prop); - } - - return null; -} - -/** - * Retrieve `ChainExpression#expression` value if the given node a `ChainExpression` node. Otherwise, pass through it. - * @param {ASTNode} node The node to address. - * @returns {ASTNode} The `ChainExpression#expression` value if the node is a `ChainExpression` node. Otherwise, the node. - */ -function skipChainExpression(node) { - return node && node.type === "ChainExpression" ? node.expression : node; -} - -/** - * Check if the `actual` is an expected value. - * @param {string} actual The string value to check. - * @param {string | RegExp} expected The expected string value or pattern. - * @returns {boolean} `true` if the `actual` is an expected value. - */ -function checkText(actual, expected) { - return typeof expected === "string" - ? actual === expected - : expected.test(actual); -} - -/** - * Check if a given node is an Identifier node with a given name. - * @param {ASTNode} node The node to check. - * @param {string | RegExp} name The expected name or the expected pattern of the object name. - * @returns {boolean} `true` if the node is an Identifier node with the name. - */ -function isSpecificId(node, name) { - return node.type === "Identifier" && checkText(node.name, name); -} - -/** - * Check if a given node is member access with a given object name and property name pair. - * This is regardless of optional or not. - * @param {ASTNode} node The node to check. - * @param {string | RegExp | null} objectName The expected name or the expected pattern of the object name. If this is nullish, this method doesn't check object. - * @param {string | RegExp | null} propertyName The expected name or the expected pattern of the property name. If this is nullish, this method doesn't check property. - * @returns {boolean} `true` if the node is member access with the object name and property name pair. - * The node is a `MemberExpression` or `ChainExpression`. - */ -function isSpecificMemberAccess(node, objectName, propertyName) { - const checkNode = skipChainExpression(node); - - if (checkNode.type !== "MemberExpression") { - return false; - } - - if (objectName && !isSpecificId(checkNode.object, objectName)) { - return false; - } - - if (propertyName) { - const actualPropertyName = getStaticPropertyName(checkNode); - - if (typeof actualPropertyName !== "string" || !checkText(actualPropertyName, propertyName)) { - return false; - } - } - - return true; -} - -/** - * Check if two literal nodes are the same value. - * @param {ASTNode} left The Literal node to compare. - * @param {ASTNode} right The other Literal node to compare. - * @returns {boolean} `true` if the two literal nodes are the same value. - */ -function equalLiteralValue(left, right) { - - // RegExp literal. - if (left.regex || right.regex) { - return Boolean( - left.regex && - right.regex && - left.regex.pattern === right.regex.pattern && - left.regex.flags === right.regex.flags - ); - } - - // BigInt literal. - if (left.bigint || right.bigint) { - return left.bigint === right.bigint; - } - - return left.value === right.value; -} - -/** - * Check if two expressions reference the same value. For example: - * a = a - * a.b = a.b - * a[0] = a[0] - * a['b'] = a['b'] - * @param {ASTNode} left The left side of the comparison. - * @param {ASTNode} right The right side of the comparison. - * @param {boolean} [disableStaticComputedKey] Don't address `a.b` and `a["b"]` are the same if `true`. For backward compatibility. - * @returns {boolean} `true` if both sides match and reference the same value. - */ -function isSameReference(left, right, disableStaticComputedKey = false) { - if (left.type !== right.type) { - - // Handle `a.b` and `a?.b` are samely. - if (left.type === "ChainExpression") { - return isSameReference(left.expression, right, disableStaticComputedKey); - } - if (right.type === "ChainExpression") { - return isSameReference(left, right.expression, disableStaticComputedKey); - } - - return false; - } - - switch (left.type) { - case "Super": - case "ThisExpression": - return true; - - case "Identifier": - case "PrivateIdentifier": - return left.name === right.name; - case "Literal": - return equalLiteralValue(left, right); - - case "ChainExpression": - return isSameReference(left.expression, right.expression, disableStaticComputedKey); - - case "MemberExpression": { - if (!disableStaticComputedKey) { - const nameA = getStaticPropertyName(left); - - // x.y = x["y"] - if (nameA !== null) { - return ( - isSameReference(left.object, right.object, disableStaticComputedKey) && - nameA === getStaticPropertyName(right) - ); - } - } - - /* - * x[0] = x[0] - * x[y] = x[y] - * x.y = x.y - */ - return ( - left.computed === right.computed && - isSameReference(left.object, right.object, disableStaticComputedKey) && - isSameReference(left.property, right.property, disableStaticComputedKey) - ); - } - - default: - return false; - } -} - -/** - * Checks whether or not a node is `Reflect.apply`. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is a `Reflect.apply`. - */ -function isReflectApply(node) { - return isSpecificMemberAccess(node, "Reflect", "apply"); -} - -/** - * Checks whether or not a node is `Array.from`. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is a `Array.from`. - */ -function isArrayFromMethod(node) { - return isSpecificMemberAccess(node, arrayOrTypedArrayPattern, "from"); -} - -/** - * Checks whether or not a node is a method which expects a function as a first argument, and `thisArg` as a second argument. - * @param {ASTNode} node A node to check. - * @returns {boolean} Whether or not the node is a method which expects a function as a first argument, and `thisArg` as a second argument. - */ -function isMethodWhichHasThisArg(node) { - return isSpecificMemberAccess(node, null, arrayMethodWithThisArgPattern); -} - -/** - * Creates the negate function of the given function. - * @param {Function} f The function to negate. - * @returns {Function} Negated function. - */ -function negate(f) { - return token => !f(token); -} - -/** - * Checks whether or not a node has a `@this` tag in its comments. - * @param {ASTNode} node A node to check. - * @param {SourceCode} sourceCode A SourceCode instance to get comments. - * @returns {boolean} Whether or not the node has a `@this` tag in its comments. - */ -function hasJSDocThisTag(node, sourceCode) { - const jsdocComment = sourceCode.getJSDocComment(node); - - if (jsdocComment && thisTagPattern.test(jsdocComment.value)) { - return true; - } - - // Checks `@this` in its leading comments for callbacks, - // because callbacks don't have its JSDoc comment. - // e.g. - // sinon.test(/* @this sinon.Sandbox */function() { this.spy(); }); - return sourceCode.getCommentsBefore(node).some(comment => thisTagPattern.test(comment.value)); -} - -/** - * Determines if a node is surrounded by parentheses. - * @param {SourceCode} sourceCode The ESLint source code object - * @param {ASTNode} node The node to be checked. - * @returns {boolean} True if the node is parenthesised. - * @private - */ -function isParenthesised(sourceCode, node) { - const previousToken = sourceCode.getTokenBefore(node), - nextToken = sourceCode.getTokenAfter(node); - - return Boolean(previousToken && nextToken) && - previousToken.value === "(" && previousToken.range[1] <= node.range[0] && - nextToken.value === ")" && nextToken.range[0] >= node.range[1]; -} - -/** - * Checks if the given token is a `=` token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a `=` token. - */ -function isEqToken(token) { - return token.value === "=" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is an arrow token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is an arrow token. - */ -function isArrowToken(token) { - return token.value === "=>" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a comma token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a comma token. - */ -function isCommaToken(token) { - return token.value === "," && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a dot token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a dot token. - */ -function isDotToken(token) { - return token.value === "." && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a `?.` token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a `?.` token. - */ -function isQuestionDotToken(token) { - return token.value === "?." && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a semicolon token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a semicolon token. - */ -function isSemicolonToken(token) { - return token.value === ";" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a colon token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a colon token. - */ -function isColonToken(token) { - return token.value === ":" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is an opening parenthesis token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is an opening parenthesis token. - */ -function isOpeningParenToken(token) { - return token.value === "(" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a closing parenthesis token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a closing parenthesis token. - */ -function isClosingParenToken(token) { - return token.value === ")" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is an opening square bracket token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is an opening square bracket token. - */ -function isOpeningBracketToken(token) { - return token.value === "[" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a closing square bracket token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a closing square bracket token. - */ -function isClosingBracketToken(token) { - return token.value === "]" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is an opening brace token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is an opening brace token. - */ -function isOpeningBraceToken(token) { - return token.value === "{" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a closing brace token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a closing brace token. - */ -function isClosingBraceToken(token) { - return token.value === "}" && token.type === "Punctuator"; -} - -/** - * Checks if the given token is a comment token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a comment token. - */ -function isCommentToken(token) { - return token.type === "Line" || token.type === "Block" || token.type === "Shebang"; -} - -/** - * Checks if the given token is a keyword token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is a keyword token. - */ -function isKeywordToken(token) { - return token.type === "Keyword"; -} - -/** - * Gets the `(` token of the given function node. - * @param {ASTNode} node The function node to get. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {Token} `(` token. - */ -function getOpeningParenOfParams(node, sourceCode) { - - // If the node is an arrow function and doesn't have parens, this returns the identifier of the first param. - if (node.type === "ArrowFunctionExpression" && node.params.length === 1) { - const argToken = sourceCode.getFirstToken(node.params[0]); - const maybeParenToken = sourceCode.getTokenBefore(argToken); - - return isOpeningParenToken(maybeParenToken) ? maybeParenToken : argToken; - } - - // Otherwise, returns paren. - return node.id - ? sourceCode.getTokenAfter(node.id, isOpeningParenToken) - : sourceCode.getFirstToken(node, isOpeningParenToken); -} - -/** - * Checks whether or not the tokens of two given nodes are same. - * @param {ASTNode} left A node 1 to compare. - * @param {ASTNode} right A node 2 to compare. - * @param {SourceCode} sourceCode The ESLint source code object. - * @returns {boolean} the source code for the given node. - */ -function equalTokens(left, right, sourceCode) { - const tokensL = sourceCode.getTokens(left); - const tokensR = sourceCode.getTokens(right); - - if (tokensL.length !== tokensR.length) { - return false; - } - for (let i = 0; i < tokensL.length; ++i) { - if (tokensL[i].type !== tokensR[i].type || - tokensL[i].value !== tokensR[i].value - ) { - return false; - } - } - - return true; -} - -/** - * Check if the given node is a true logical expression or not. - * - * The three binary expressions logical-or (`||`), logical-and (`&&`), and - * coalesce (`??`) are known as `ShortCircuitExpression`. - * But ESTree represents those by `LogicalExpression` node. - * - * This function rejects coalesce expressions of `LogicalExpression` node. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is `&&` or `||`. - * @see https://tc39.es/ecma262/#prod-ShortCircuitExpression - */ -function isLogicalExpression(node) { - return ( - node.type === "LogicalExpression" && - (node.operator === "&&" || node.operator === "||") - ); -} - -/** - * Check if the given node is a nullish coalescing expression or not. - * - * The three binary expressions logical-or (`||`), logical-and (`&&`), and - * coalesce (`??`) are known as `ShortCircuitExpression`. - * But ESTree represents those by `LogicalExpression` node. - * - * This function finds only coalesce expressions of `LogicalExpression` node. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is `??`. - */ -function isCoalesceExpression(node) { - return node.type === "LogicalExpression" && node.operator === "??"; -} - -/** - * Check if given two nodes are the pair of a logical expression and a coalesce expression. - * @param {ASTNode} left A node to check. - * @param {ASTNode} right Another node to check. - * @returns {boolean} `true` if the two nodes are the pair of a logical expression and a coalesce expression. - */ -function isMixedLogicalAndCoalesceExpressions(left, right) { - return ( - (isLogicalExpression(left) && isCoalesceExpression(right)) || - (isCoalesceExpression(left) && isLogicalExpression(right)) - ); -} - -/** - * Checks if the given operator is a logical assignment operator. - * @param {string} operator The operator to check. - * @returns {boolean} `true` if the operator is a logical assignment operator. - */ -function isLogicalAssignmentOperator(operator) { - return LOGICAL_ASSIGNMENT_OPERATORS.has(operator); -} - -/** - * Get the colon token of the given SwitchCase node. - * @param {ASTNode} node The SwitchCase node to get. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {Token} The colon token of the node. - */ -function getSwitchCaseColonToken(node, sourceCode) { - if (node.test) { - return sourceCode.getTokenAfter(node.test, isColonToken); - } - return sourceCode.getFirstToken(node, 1); -} - -/** - * Gets ESM module export name represented by the given node. - * @param {ASTNode} node `Identifier` or string `Literal` node in a position - * that represents a module export name: - * - `ImportSpecifier#imported` - * - `ExportSpecifier#local` (if it is a re-export from another module) - * - `ExportSpecifier#exported` - * - `ExportAllDeclaration#exported` - * @returns {string} The module export name. - */ -function getModuleExportName(node) { - if (node.type === "Identifier") { - return node.name; - } - - // string literal - return node.value; -} - -/** - * Returns literal's value converted to the Boolean type - * @param {ASTNode} node any `Literal` node - * @returns {boolean | null} `true` when node is truthy, `false` when node is falsy, - * `null` when it cannot be determined. - */ -function getBooleanValue(node) { - if (node.value === null) { - - /* - * it might be a null literal or bigint/regex literal in unsupported environments . - * https://github.com/estree/estree/blob/14df8a024956ea289bd55b9c2226a1d5b8a473ee/es5.md#regexpliteral - * https://github.com/estree/estree/blob/14df8a024956ea289bd55b9c2226a1d5b8a473ee/es2020.md#bigintliteral - */ - - if (node.raw === "null") { - return false; - } - - // regex is always truthy - if (typeof node.regex === "object") { - return true; - } - - return null; - } - - return !!node.value; -} - -/** - * Checks if a branch node of LogicalExpression short circuits the whole condition - * @param {ASTNode} node The branch of main condition which needs to be checked - * @param {string} operator The operator of the main LogicalExpression. - * @returns {boolean} true when condition short circuits whole condition - */ -function isLogicalIdentity(node, operator) { - switch (node.type) { - case "Literal": - return (operator === "||" && getBooleanValue(node) === true) || - (operator === "&&" && getBooleanValue(node) === false); - - case "UnaryExpression": - return (operator === "&&" && node.operator === "void"); - - case "LogicalExpression": - - /* - * handles `a && false || b` - * `false` is an identity element of `&&` but not `||` - */ - return operator === node.operator && - ( - isLogicalIdentity(node.left, operator) || - isLogicalIdentity(node.right, operator) - ); - - case "AssignmentExpression": - return ["||=", "&&="].includes(node.operator) && - operator === node.operator.slice(0, -1) && - isLogicalIdentity(node.right, operator); - - // no default - } - return false; -} - -/** - * Checks if an identifier is a reference to a global variable. - * @param {Scope} scope The scope in which the identifier is referenced. - * @param {ASTNode} node An identifier node to check. - * @returns {boolean} `true` if the identifier is a reference to a global variable. - */ -function isReferenceToGlobalVariable(scope, node) { - const reference = scope.references.find(ref => ref.identifier === node); - - return Boolean( - reference && - reference.resolved && - reference.resolved.scope.type === "global" && - reference.resolved.defs.length === 0 - ); -} - - -/** - * Checks if a node has a constant truthiness value. - * @param {Scope} scope Scope in which the node appears. - * @param {ASTNode} node The AST node to check. - * @param {boolean} inBooleanPosition `true` if checking the test of a - * condition. `false` in all other cases. When `false`, checks if -- for - * both string and number -- if coerced to that type, the value will - * be constant. - * @returns {boolean} true when node's truthiness is constant - * @private - */ -function isConstant(scope, node, inBooleanPosition) { - - // node.elements can return null values in the case of sparse arrays ex. [,] - if (!node) { - return true; - } - switch (node.type) { - case "Literal": - case "ArrowFunctionExpression": - case "FunctionExpression": - return true; - case "ClassExpression": - case "ObjectExpression": - - /** - * In theory objects like: - * - * `{toString: () => a}` - * `{valueOf: () => a}` - * - * Or a classes like: - * - * `class { static toString() { return a } }` - * `class { static valueOf() { return a } }` - * - * Are not constant verifiably when `inBooleanPosition` is - * false, but it's an edge case we've opted not to handle. - */ - return true; - case "TemplateLiteral": - return (inBooleanPosition && node.quasis.some(quasi => quasi.value.cooked.length)) || - node.expressions.every(exp => isConstant(scope, exp, false)); - - case "ArrayExpression": { - if (!inBooleanPosition) { - return node.elements.every(element => isConstant(scope, element, false)); - } - return true; - } - - case "UnaryExpression": - if ( - node.operator === "void" || - node.operator === "typeof" && inBooleanPosition - ) { - return true; - } - - if (node.operator === "!") { - return isConstant(scope, node.argument, true); - } - - return isConstant(scope, node.argument, false); - - case "BinaryExpression": - return isConstant(scope, node.left, false) && - isConstant(scope, node.right, false) && - node.operator !== "in"; - - case "LogicalExpression": { - const isLeftConstant = isConstant(scope, node.left, inBooleanPosition); - const isRightConstant = isConstant(scope, node.right, inBooleanPosition); - const isLeftShortCircuit = (isLeftConstant && isLogicalIdentity(node.left, node.operator)); - const isRightShortCircuit = (inBooleanPosition && isRightConstant && isLogicalIdentity(node.right, node.operator)); - - return (isLeftConstant && isRightConstant) || - isLeftShortCircuit || - isRightShortCircuit; - } - case "NewExpression": - return inBooleanPosition; - case "AssignmentExpression": - if (node.operator === "=") { - return isConstant(scope, node.right, inBooleanPosition); - } - - if (["||=", "&&="].includes(node.operator) && inBooleanPosition) { - return isLogicalIdentity(node.right, node.operator.slice(0, -1)); - } - - return false; - - case "SequenceExpression": - return isConstant(scope, node.expressions.at(-1), inBooleanPosition); - case "SpreadElement": - return isConstant(scope, node.argument, inBooleanPosition); - case "CallExpression": - if (node.callee.type === "Identifier" && node.callee.name === "Boolean") { - if (node.arguments.length === 0 || isConstant(scope, node.arguments[0], true)) { - return isReferenceToGlobalVariable(scope, node.callee); - } - } - return false; - case "Identifier": - return node.name === "undefined" && isReferenceToGlobalVariable(scope, node); - - // no default - } - return false; -} - -/** - * Checks whether a node is an ExpressionStatement at the top level of a file or function body. - * A top-level ExpressionStatement node is a directive if it contains a single unparenthesized - * string literal and if it occurs either as the first sibling or immediately after another - * directive. - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether or not the node is an ExpressionStatement at the top level of a - * file or function body. - */ -function isTopLevelExpressionStatement(node) { - if (node.type !== "ExpressionStatement") { - return false; - } - const parent = node.parent; - - return parent.type === "Program" || (parent.type === "BlockStatement" && isFunction(parent.parent)); - -} - -/** - * Check whether the given node is a part of a directive prologue or not. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is a part of directive prologue. - */ -function isDirective(node) { - return node.type === "ExpressionStatement" && typeof node.directive === "string"; -} - -/** - * Tests if a node appears at the beginning of an ancestor ExpressionStatement node. - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether the node appears at the beginning of an ancestor ExpressionStatement node. - */ -function isStartOfExpressionStatement(node) { - const start = node.range[0]; - let ancestor = node; - - while ((ancestor = ancestor.parent) && ancestor.range[0] === start) { - if (ancestor.type === "ExpressionStatement") { - return true; - } - } - return false; -} - -/** - * Determines whether an opening parenthesis `(`, bracket `[` or backtick ``` ` ``` needs to be preceded by a semicolon. - * This opening parenthesis or bracket should be at the start of an `ExpressionStatement`, a `MethodDefinition` or at - * the start of the body of an `ArrowFunctionExpression`. - * @type {(sourceCode: SourceCode, node: ASTNode) => boolean} - * @param {SourceCode} sourceCode The source code object. - * @param {ASTNode} node A node at the position where an opening parenthesis or bracket will be inserted. - * @returns {boolean} Whether a semicolon is required before the opening parenthesis or bracket. - */ -let needsPrecedingSemicolon; - -{ - const BREAK_OR_CONTINUE = new Set(["BreakStatement", "ContinueStatement"]); - - // Declaration types that cannot be continued by a punctuator when ending with a string Literal that is a direct child. - const DECLARATIONS = new Set(["ExportAllDeclaration", "ExportNamedDeclaration", "ImportDeclaration"]); - - const IDENTIFIER_OR_KEYWORD = new Set(["Identifier", "Keyword"]); - - // Keywords that can immediately precede an ExpressionStatement node, mapped to the their node types. - const NODE_TYPES_BY_KEYWORD = { - __proto__: null, - break: "BreakStatement", - continue: "ContinueStatement", - debugger: "DebuggerStatement", - do: "DoWhileStatement", - else: "IfStatement", - return: "ReturnStatement", - yield: "YieldExpression" - }; - - /* - * Before an opening parenthesis, postfix `++` and `--` always trigger ASI; - * the tokens `:`, `;`, `{` and `=>` don't expect a semicolon, as that would count as an empty statement. - */ - const PUNCTUATORS = new Set([":", ";", "{", "=>", "++", "--"]); - - /* - * Statements that can contain an `ExpressionStatement` after a closing parenthesis. - * DoWhileStatement is an exception in that it always triggers ASI after the closing parenthesis. - */ - const STATEMENTS = new Set([ - "DoWhileStatement", - "ForInStatement", - "ForOfStatement", - "ForStatement", - "IfStatement", - "WhileStatement", - "WithStatement" - ]); - - needsPrecedingSemicolon = - function(sourceCode, node) { - const prevToken = sourceCode.getTokenBefore(node); - - if (!prevToken || prevToken.type === "Punctuator" && PUNCTUATORS.has(prevToken.value)) { - return false; - } - - const prevNode = sourceCode.getNodeByRangeIndex(prevToken.range[0]); - - if (isClosingParenToken(prevToken)) { - return !STATEMENTS.has(prevNode.type); - } - - if (isClosingBraceToken(prevToken)) { - return ( - prevNode.type === "BlockStatement" && prevNode.parent.type === "FunctionExpression" && prevNode.parent.parent.type !== "MethodDefinition" || - prevNode.type === "ClassBody" && prevNode.parent.type === "ClassExpression" || - prevNode.type === "ObjectExpression" - ); - } - - if (IDENTIFIER_OR_KEYWORD.has(prevToken.type)) { - if (BREAK_OR_CONTINUE.has(prevNode.parent.type)) { - return false; - } - - const keyword = prevToken.value; - const nodeType = NODE_TYPES_BY_KEYWORD[keyword]; - - return prevNode.type !== nodeType; - } - - if (prevToken.type === "String") { - return !DECLARATIONS.has(prevNode.parent.type); - } - - return true; - }; -} - -/** - * Checks if a node is used as an import attribute key, either in a static or dynamic import. - * @param {ASTNode} node The node to check. - * @returns {boolean} Whether the node is used as an import attribute key. - */ -function isImportAttributeKey(node) { - const { parent } = node; - - // static import/re-export - if (parent.type === "ImportAttribute" && parent.key === node) { - return true; - } - - // dynamic import - if ( - parent.type === "Property" && - !parent.computed && - (parent.key === node || parent.value === node && parent.shorthand && !parent.method) && - parent.parent.type === "ObjectExpression" - ) { - const objectExpression = parent.parent; - const objectExpressionParent = objectExpression.parent; - - if ( - objectExpressionParent.type === "ImportExpression" && - objectExpressionParent.options === objectExpression - ) { - return true; - } - - // nested key - if ( - objectExpressionParent.type === "Property" && - objectExpressionParent.value === objectExpression - ) { - return isImportAttributeKey(objectExpressionParent.key); - } - } - - return false; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = { - COMMENTS_IGNORE_PATTERN, - LINEBREAKS, - LINEBREAK_MATCHER: lineBreakPattern, - SHEBANG_MATCHER: shebangPattern, - STATEMENT_LIST_PARENTS, - ECMASCRIPT_GLOBALS, - - /** - * Determines whether two adjacent tokens are on the same line. - * @param {Object} left The left token object. - * @param {Object} right The right token object. - * @returns {boolean} Whether or not the tokens are on the same line. - * @public - */ - isTokenOnSameLine(left, right) { - return left.loc.end.line === right.loc.start.line; - }, - - isNullOrUndefined, - isCallee, - isES5Constructor, - getUpperFunction, - isFunction, - isLoop, - isInLoop, - isArrayFromMethod, - isParenthesised, - createGlobalLinebreakMatcher, - equalTokens, - - isArrowToken, - isClosingBraceToken, - isClosingBracketToken, - isClosingParenToken, - isColonToken, - isCommaToken, - isCommentToken, - isDotToken, - isQuestionDotToken, - isKeywordToken, - isNotClosingBraceToken: negate(isClosingBraceToken), - isNotClosingBracketToken: negate(isClosingBracketToken), - isNotClosingParenToken: negate(isClosingParenToken), - isNotColonToken: negate(isColonToken), - isNotCommaToken: negate(isCommaToken), - isNotDotToken: negate(isDotToken), - isNotQuestionDotToken: negate(isQuestionDotToken), - isNotOpeningBraceToken: negate(isOpeningBraceToken), - isNotOpeningBracketToken: negate(isOpeningBracketToken), - isNotOpeningParenToken: negate(isOpeningParenToken), - isNotSemicolonToken: negate(isSemicolonToken), - isOpeningBraceToken, - isOpeningBracketToken, - isOpeningParenToken, - isSemicolonToken, - isEqToken, - - /** - * Checks whether or not a given node is a string literal. - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is a string literal. - */ - isStringLiteral(node) { - return ( - (node.type === "Literal" && typeof node.value === "string") || - node.type === "TemplateLiteral" - ); - }, - - /** - * Checks whether a given node is a breakable statement or not. - * The node is breakable if the node is one of the following type: - * - * - DoWhileStatement - * - ForInStatement - * - ForOfStatement - * - ForStatement - * - SwitchStatement - * - WhileStatement - * @param {ASTNode} node A node to check. - * @returns {boolean} `true` if the node is breakable. - */ - isBreakableStatement(node) { - return breakableTypePattern.test(node.type); - }, - - /** - * Gets references which are non initializer and writable. - * @param {Reference[]} references An array of references. - * @returns {Reference[]} An array of only references which are non initializer and writable. - * @public - */ - getModifyingReferences(references) { - return references.filter(isModifyingReference); - }, - - /** - * Validate that a string passed in is surrounded by the specified character - * @param {string} val The text to check. - * @param {string} character The character to see if it's surrounded by. - * @returns {boolean} True if the text is surrounded by the character, false if not. - * @private - */ - isSurroundedBy(val, character) { - return val[0] === character && val.at(-1) === character; - }, - - /** - * Returns whether the provided node is an ESLint directive comment or not - * @param {Line|Block} node The comment token to be checked - * @returns {boolean} `true` if the node is an ESLint directive comment - */ - isDirectiveComment(node) { - const comment = node.value.trim(); - - return ( - node.type === "Line" && comment.startsWith("eslint-") || - node.type === "Block" && ESLINT_DIRECTIVE_PATTERN.test(comment) - ); - }, - - /** - * Gets the trailing statement of a given node. - * - * if (code) - * consequent; - * - * When taking this `IfStatement`, returns `consequent;` statement. - * @param {ASTNode} A node to get. - * @returns {ASTNode|null} The trailing statement's node. - */ - getTrailingStatement: esutils.ast.trailingStatement, - - /** - * Finds the variable by a given name in a given scope and its upper scopes. - * @param {eslint-scope.Scope} initScope A scope to start find. - * @param {string} name A variable name to find. - * @returns {eslint-scope.Variable|null} A found variable or `null`. - */ - getVariableByName(initScope, name) { - let scope = initScope; - - while (scope) { - const variable = scope.set.get(name); - - if (variable) { - return variable; - } - - scope = scope.upper; - } - - return null; - }, - - /** - * Checks whether or not a given function node is the default `this` binding. - * - * First, this checks the node: - * - * - The given node is not in `PropertyDefinition#value` position. - * - The given node is not `StaticBlock`. - * - The function name does not start with uppercase. It's a convention to capitalize the names - * of constructor functions. This check is not performed if `capIsConstructor` is set to `false`. - * - The function does not have a JSDoc comment that has a @this tag. - * - * Next, this checks the location of the node. - * If the location is below, this judges `this` is valid. - * - * - The location is not on an object literal. - * - The location is not assigned to a variable which starts with an uppercase letter. Applies to anonymous - * functions only, as the name of the variable is considered to be the name of the function in this case. - * This check is not performed if `capIsConstructor` is set to `false`. - * - The location is not on an ES2015 class. - * - Its `bind`/`call`/`apply` method is not called directly. - * - The function is not a callback of array methods (such as `.forEach()`) if `thisArg` is given. - * @param {ASTNode} node A function node to check. It also can be an implicit function, like `StaticBlock` - * or any expression that is `PropertyDefinition#value` node. - * @param {SourceCode} sourceCode A SourceCode instance to get comments. - * @param {boolean} [capIsConstructor = true] `false` disables the assumption that functions which name starts - * with an uppercase or are assigned to a variable which name starts with an uppercase are constructors. - * @returns {boolean} The function node is the default `this` binding. - */ - isDefaultThisBinding(node, sourceCode, { capIsConstructor = true } = {}) { - - /* - * Class field initializers are implicit functions, but ESTree doesn't have the AST node of field initializers. - * Therefore, A expression node at `PropertyDefinition#value` is a function. - * In this case, `this` is always not default binding. - */ - if (node.parent.type === "PropertyDefinition" && node.parent.value === node) { - return false; - } - - // Class static blocks are implicit functions. In this case, `this` is always not default binding. - if (node.type === "StaticBlock") { - return false; - } - - if ( - (capIsConstructor && isES5Constructor(node)) || - hasJSDocThisTag(node, sourceCode) - ) { - return false; - } - const isAnonymous = node.id === null; - let currentNode = node; - - while (currentNode) { - const parent = currentNode.parent; - - switch (parent.type) { - - /* - * Looks up the destination. - * e.g., obj.foo = nativeFoo || function foo() { ... }; - */ - case "LogicalExpression": - case "ConditionalExpression": - case "ChainExpression": - currentNode = parent; - break; - - /* - * If the upper function is IIFE, checks the destination of the return value. - * e.g. - * obj.foo = (function() { - * // setup... - * return function foo() { ... }; - * })(); - * obj.foo = (() => - * function foo() { ... } - * )(); - */ - case "ReturnStatement": { - const func = getUpperFunction(parent); - - if (func === null || !isCallee(func)) { - return true; - } - currentNode = func.parent; - break; - } - case "ArrowFunctionExpression": - if (currentNode !== parent.body || !isCallee(parent)) { - return true; - } - currentNode = parent.parent; - break; - - /* - * e.g. - * var obj = { foo() { ... } }; - * var obj = { foo: function() { ... } }; - * class A { constructor() { ... } } - * class A { foo() { ... } } - * class A { get foo() { ... } } - * class A { set foo() { ... } } - * class A { static foo() { ... } } - * class A { foo = function() { ... } } - */ - case "Property": - case "PropertyDefinition": - case "MethodDefinition": - return parent.value !== currentNode; - - /* - * e.g. - * obj.foo = function foo() { ... }; - * Foo = function() { ... }; - * [obj.foo = function foo() { ... }] = a; - * [Foo = function() { ... }] = a; - */ - case "AssignmentExpression": - case "AssignmentPattern": - if (parent.left.type === "MemberExpression") { - return false; - } - if ( - capIsConstructor && - isAnonymous && - parent.left.type === "Identifier" && - startsWithUpperCase(parent.left.name) - ) { - return false; - } - return true; - - /* - * e.g. - * var Foo = function() { ... }; - */ - case "VariableDeclarator": - return !( - capIsConstructor && - isAnonymous && - parent.init === currentNode && - parent.id.type === "Identifier" && - startsWithUpperCase(parent.id.name) - ); - - /* - * e.g. - * var foo = function foo() { ... }.bind(obj); - * (function foo() { ... }).call(obj); - * (function foo() { ... }).apply(obj, []); - */ - case "MemberExpression": - if ( - parent.object === currentNode && - isSpecificMemberAccess(parent, null, bindOrCallOrApplyPattern) - ) { - const maybeCalleeNode = parent.parent.type === "ChainExpression" - ? parent.parent - : parent; - - return !( - isCallee(maybeCalleeNode) && - maybeCalleeNode.parent.arguments.length >= 1 && - !isNullOrUndefined(maybeCalleeNode.parent.arguments[0]) - ); - } - return true; - - /* - * e.g. - * Reflect.apply(function() {}, obj, []); - * Array.from([], function() {}, obj); - * list.forEach(function() {}, obj); - */ - case "CallExpression": - if (isReflectApply(parent.callee)) { - return ( - parent.arguments.length !== 3 || - parent.arguments[0] !== currentNode || - isNullOrUndefined(parent.arguments[1]) - ); - } - if (isArrayFromMethod(parent.callee)) { - return ( - parent.arguments.length !== 3 || - parent.arguments[1] !== currentNode || - isNullOrUndefined(parent.arguments[2]) - ); - } - if (isMethodWhichHasThisArg(parent.callee)) { - return ( - parent.arguments.length !== 2 || - parent.arguments[0] !== currentNode || - isNullOrUndefined(parent.arguments[1]) - ); - } - return true; - - // Otherwise `this` is default. - default: - return true; - } - } - - /* c8 ignore next */ - return true; - }, - - /** - * Get the precedence level based on the node type - * @param {ASTNode} node node to evaluate - * @returns {int} precedence level - * @private - */ - getPrecedence(node) { - switch (node.type) { - case "SequenceExpression": - return 0; - - case "AssignmentExpression": - case "ArrowFunctionExpression": - case "YieldExpression": - return 1; - - case "ConditionalExpression": - return 3; - - case "LogicalExpression": - switch (node.operator) { - case "||": - case "??": - return 4; - case "&&": - return 5; - - // no default - } - - /* falls through */ - - case "BinaryExpression": - - switch (node.operator) { - case "|": - return 6; - case "^": - return 7; - case "&": - return 8; - case "==": - case "!=": - case "===": - case "!==": - return 9; - case "<": - case "<=": - case ">": - case ">=": - case "in": - case "instanceof": - return 10; - case "<<": - case ">>": - case ">>>": - return 11; - case "+": - case "-": - return 12; - case "*": - case "/": - case "%": - return 13; - case "**": - return 15; - - // no default - } - - /* falls through */ - - case "UnaryExpression": - case "AwaitExpression": - return 16; - - case "UpdateExpression": - return 17; - - case "CallExpression": - case "ChainExpression": - case "ImportExpression": - return 18; - - case "NewExpression": - return 19; - - default: - if (node.type in eslintVisitorKeys) { - return 20; - } - - /* - * if the node is not a standard node that we know about, then assume it has the lowest precedence - * this will mean that rules will wrap unknown nodes in parentheses where applicable instead of - * unwrapping them and potentially changing the meaning of the code or introducing a syntax error. - */ - return -1; - } - }, - - /** - * Checks whether the given node is an empty block node or not. - * @param {ASTNode|null} node The node to check. - * @returns {boolean} `true` if the node is an empty block. - */ - isEmptyBlock(node) { - return Boolean(node && node.type === "BlockStatement" && node.body.length === 0); - }, - - /** - * Checks whether the given node is an empty function node or not. - * @param {ASTNode|null} node The node to check. - * @returns {boolean} `true` if the node is an empty function. - */ - isEmptyFunction(node) { - return isFunction(node) && module.exports.isEmptyBlock(node.body); - }, - - /** - * Get directives from directive prologue of a Program or Function node. - * @param {ASTNode} node The node to check. - * @returns {ASTNode[]} The directives found in the directive prologue. - */ - getDirectivePrologue(node) { - const directives = []; - - // Directive prologues only occur at the top of files or functions. - if ( - node.type === "Program" || - node.type === "FunctionDeclaration" || - node.type === "FunctionExpression" || - - /* - * Do not check arrow functions with implicit return. - * `() => "use strict";` returns the string `"use strict"`. - */ - (node.type === "ArrowFunctionExpression" && node.body.type === "BlockStatement") - ) { - const statements = node.type === "Program" ? node.body : node.body.body; - - for (const statement of statements) { - if ( - statement.type === "ExpressionStatement" && - statement.expression.type === "Literal" - ) { - directives.push(statement); - } else { - break; - } - } - } - - return directives; - }, - - /** - * Determines whether this node is a decimal integer literal. If a node is a decimal integer literal, a dot added - * after the node will be parsed as a decimal point, rather than a property-access dot. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if this node is a decimal integer. - * @example - * - * 0 // true - * 5 // true - * 50 // true - * 5_000 // true - * 1_234_56 // true - * 08 // true - * 0192 // true - * 5. // false - * .5 // false - * 5.0 // false - * 5.00_00 // false - * 05 // false - * 0x5 // false - * 0b101 // false - * 0b11_01 // false - * 0o5 // false - * 5e0 // false - * 5e1_000 // false - * 5n // false - * 1_000n // false - * "5" // false - * - */ - isDecimalInteger(node) { - return node.type === "Literal" && typeof node.value === "number" && - DECIMAL_INTEGER_PATTERN.test(node.raw); - }, - - /** - * Determines whether this token is a decimal integer numeric token. - * This is similar to isDecimalInteger(), but for tokens. - * @param {Token} token The token to check. - * @returns {boolean} `true` if this token is a decimal integer. - */ - isDecimalIntegerNumericToken(token) { - return token.type === "Numeric" && DECIMAL_INTEGER_PATTERN.test(token.value); - }, - - /** - * Gets the name and kind of the given function node. - * - * - `function foo() {}` .................... `function 'foo'` - * - `(function foo() {})` .................. `function 'foo'` - * - `(function() {})` ...................... `function` - * - `function* foo() {}` ................... `generator function 'foo'` - * - `(function* foo() {})` ................. `generator function 'foo'` - * - `(function*() {})` ..................... `generator function` - * - `() => {}` ............................. `arrow function` - * - `async () => {}` ....................... `async arrow function` - * - `({ foo: function foo() {} })` ......... `method 'foo'` - * - `({ foo: function() {} })` ............. `method 'foo'` - * - `({ ['foo']: function() {} })` ......... `method 'foo'` - * - `({ [foo]: function() {} })` ........... `method` - * - `({ foo() {} })` ....................... `method 'foo'` - * - `({ foo: function* foo() {} })` ........ `generator method 'foo'` - * - `({ foo: function*() {} })` ............ `generator method 'foo'` - * - `({ ['foo']: function*() {} })` ........ `generator method 'foo'` - * - `({ [foo]: function*() {} })` .......... `generator method` - * - `({ *foo() {} })` ...................... `generator method 'foo'` - * - `({ foo: async function foo() {} })` ... `async method 'foo'` - * - `({ foo: async function() {} })` ....... `async method 'foo'` - * - `({ ['foo']: async function() {} })` ... `async method 'foo'` - * - `({ [foo]: async function() {} })` ..... `async method` - * - `({ async foo() {} })` ................. `async method 'foo'` - * - `({ get foo() {} })` ................... `getter 'foo'` - * - `({ set foo(a) {} })` .................. `setter 'foo'` - * - `class A { constructor() {} }` ......... `constructor` - * - `class A { foo() {} }` ................. `method 'foo'` - * - `class A { *foo() {} }` ................ `generator method 'foo'` - * - `class A { async foo() {} }` ........... `async method 'foo'` - * - `class A { ['foo']() {} }` ............. `method 'foo'` - * - `class A { *['foo']() {} }` ............ `generator method 'foo'` - * - `class A { async ['foo']() {} }` ....... `async method 'foo'` - * - `class A { [foo]() {} }` ............... `method` - * - `class A { *[foo]() {} }` .............. `generator method` - * - `class A { async [foo]() {} }` ......... `async method` - * - `class A { get foo() {} }` ............. `getter 'foo'` - * - `class A { set foo(a) {} }` ............ `setter 'foo'` - * - `class A { static foo() {} }` .......... `static method 'foo'` - * - `class A { static *foo() {} }` ......... `static generator method 'foo'` - * - `class A { static async foo() {} }` .... `static async method 'foo'` - * - `class A { static get foo() {} }` ...... `static getter 'foo'` - * - `class A { static set foo(a) {} }` ..... `static setter 'foo'` - * - `class A { foo = () => {}; }` .......... `method 'foo'` - * - `class A { foo = function() {}; }` ..... `method 'foo'` - * - `class A { foo = function bar() {}; }` . `method 'foo'` - * - `class A { static foo = () => {}; }` ... `static method 'foo'` - * - `class A { '#foo' = () => {}; }` ....... `method '#foo'` - * - `class A { #foo = () => {}; }` ......... `private method #foo` - * - `class A { static #foo = () => {}; }` .. `static private method #foo` - * - `class A { '#foo'() {} }` .............. `method '#foo'` - * - `class A { #foo() {} }` ................ `private method #foo` - * - `class A { static #foo() {} }` ......... `static private method #foo` - * @param {ASTNode} node The function node to get. - * @returns {string} The name and kind of the function node. - */ - getFunctionNameWithKind(node) { - const parent = node.parent; - const tokens = []; - - if (parent.type === "MethodDefinition" || parent.type === "PropertyDefinition") { - - // The proposal uses `static` word consistently before visibility words: https://github.com/tc39/proposal-static-class-features - if (parent.static) { - tokens.push("static"); - } - if (!parent.computed && parent.key.type === "PrivateIdentifier") { - tokens.push("private"); - } - } - if (node.async) { - tokens.push("async"); - } - if (node.generator) { - tokens.push("generator"); - } - - if (parent.type === "Property" || parent.type === "MethodDefinition") { - if (parent.kind === "constructor") { - return "constructor"; - } - if (parent.kind === "get") { - tokens.push("getter"); - } else if (parent.kind === "set") { - tokens.push("setter"); - } else { - tokens.push("method"); - } - } else if (parent.type === "PropertyDefinition") { - tokens.push("method"); - } else { - if (node.type === "ArrowFunctionExpression") { - tokens.push("arrow"); - } - tokens.push("function"); - } - - if (parent.type === "Property" || parent.type === "MethodDefinition" || parent.type === "PropertyDefinition") { - if (!parent.computed && parent.key.type === "PrivateIdentifier") { - tokens.push(`#${parent.key.name}`); - } else { - const name = getStaticPropertyName(parent); - - if (name !== null) { - tokens.push(`'${name}'`); - } else if (node.id) { - tokens.push(`'${node.id.name}'`); - } - } - } else if (node.id) { - tokens.push(`'${node.id.name}'`); - } - - return tokens.join(" "); - }, - - /** - * Gets the location of the given function node for reporting. - * - * - `function foo() {}` - * ^^^^^^^^^^^^ - * - `(function foo() {})` - * ^^^^^^^^^^^^ - * - `(function() {})` - * ^^^^^^^^ - * - `function* foo() {}` - * ^^^^^^^^^^^^^ - * - `(function* foo() {})` - * ^^^^^^^^^^^^^ - * - `(function*() {})` - * ^^^^^^^^^ - * - `() => {}` - * ^^ - * - `async () => {}` - * ^^ - * - `({ foo: function foo() {} })` - * ^^^^^^^^^^^^^^^^^ - * - `({ foo: function() {} })` - * ^^^^^^^^^^^^^ - * - `({ ['foo']: function() {} })` - * ^^^^^^^^^^^^^^^^^ - * - `({ [foo]: function() {} })` - * ^^^^^^^^^^^^^^^ - * - `({ foo() {} })` - * ^^^ - * - `({ foo: function* foo() {} })` - * ^^^^^^^^^^^^^^^^^^ - * - `({ foo: function*() {} })` - * ^^^^^^^^^^^^^^ - * - `({ ['foo']: function*() {} })` - * ^^^^^^^^^^^^^^^^^^ - * - `({ [foo]: function*() {} })` - * ^^^^^^^^^^^^^^^^ - * - `({ *foo() {} })` - * ^^^^ - * - `({ foo: async function foo() {} })` - * ^^^^^^^^^^^^^^^^^^^^^^^ - * - `({ foo: async function() {} })` - * ^^^^^^^^^^^^^^^^^^^ - * - `({ ['foo']: async function() {} })` - * ^^^^^^^^^^^^^^^^^^^^^^^ - * - `({ [foo]: async function() {} })` - * ^^^^^^^^^^^^^^^^^^^^^ - * - `({ async foo() {} })` - * ^^^^^^^^^ - * - `({ get foo() {} })` - * ^^^^^^^ - * - `({ set foo(a) {} })` - * ^^^^^^^ - * - `class A { constructor() {} }` - * ^^^^^^^^^^^ - * - `class A { foo() {} }` - * ^^^ - * - `class A { *foo() {} }` - * ^^^^ - * - `class A { async foo() {} }` - * ^^^^^^^^^ - * - `class A { ['foo']() {} }` - * ^^^^^^^ - * - `class A { *['foo']() {} }` - * ^^^^^^^^ - * - `class A { async ['foo']() {} }` - * ^^^^^^^^^^^^^ - * - `class A { [foo]() {} }` - * ^^^^^ - * - `class A { *[foo]() {} }` - * ^^^^^^ - * - `class A { async [foo]() {} }` - * ^^^^^^^^^^^ - * - `class A { get foo() {} }` - * ^^^^^^^ - * - `class A { set foo(a) {} }` - * ^^^^^^^ - * - `class A { static foo() {} }` - * ^^^^^^^^^^ - * - `class A { static *foo() {} }` - * ^^^^^^^^^^^ - * - `class A { static async foo() {} }` - * ^^^^^^^^^^^^^^^^ - * - `class A { static get foo() {} }` - * ^^^^^^^^^^^^^^ - * - `class A { static set foo(a) {} }` - * ^^^^^^^^^^^^^^ - * - `class A { foo = function() {} }` - * ^^^^^^^^^^^^^^ - * - `class A { static foo = function() {} }` - * ^^^^^^^^^^^^^^^^^^^^^ - * - `class A { foo = (a, b) => {} }` - * ^^^^^^ - * @param {ASTNode} node The function node to get. - * @param {SourceCode} sourceCode The source code object to get tokens. - * @returns {string} The location of the function node for reporting. - */ - getFunctionHeadLoc(node, sourceCode) { - const parent = node.parent; - let start; - let end; - - if (parent.type === "Property" || parent.type === "MethodDefinition" || parent.type === "PropertyDefinition") { - start = parent.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } else if (node.type === "ArrowFunctionExpression") { - const arrowToken = sourceCode.getTokenBefore(node.body, isArrowToken); - - start = arrowToken.loc.start; - end = arrowToken.loc.end; - } else { - start = node.loc.start; - end = getOpeningParenOfParams(node, sourceCode).loc.start; - } - - return { - start: Object.assign({}, start), - end: Object.assign({}, end) - }; - }, - - /** - * Gets next location when the result is not out of bound, otherwise returns null. - * - * Assumptions: - * - * - The given location represents a valid location in the given source code. - * - Columns are 0-based. - * - Lines are 1-based. - * - Column immediately after the last character in a line (not incl. linebreaks) is considered to be a valid location. - * - If the source code ends with a linebreak, `sourceCode.lines` array will have an extra element (empty string) at the end. - * The start (column 0) of that extra line is considered to be a valid location. - * - * Examples of successive locations (line, column): - * - * code: foo - * locations: (1, 0) -> (1, 1) -> (1, 2) -> (1, 3) -> null - * - * code: foo - * locations: (1, 0) -> (1, 1) -> (1, 2) -> (1, 3) -> (2, 0) -> null - * - * code: foo - * locations: (1, 0) -> (1, 1) -> (1, 2) -> (1, 3) -> (2, 0) -> null - * - * code: ab - * locations: (1, 0) -> (1, 1) -> (2, 0) -> (2, 1) -> null - * - * code: ab - * locations: (1, 0) -> (1, 1) -> (2, 0) -> (2, 1) -> (3, 0) -> null - * - * code: ab - * locations: (1, 0) -> (1, 1) -> (2, 0) -> (2, 1) -> (3, 0) -> null - * - * code: a - * locations: (1, 0) -> (1, 1) -> (2, 0) -> (3, 0) -> null - * - * code: - * locations: (1, 0) -> (2, 0) -> null - * - * code: - * locations: (1, 0) -> null - * @param {SourceCode} sourceCode The sourceCode - * @param {{line: number, column: number}} location The location - * @returns {{line: number, column: number} | null} Next location - */ - getNextLocation(sourceCode, { line, column }) { - if (column < sourceCode.lines[line - 1].length) { - return { - line, - column: column + 1 - }; - } - - if (line < sourceCode.lines.length) { - return { - line: line + 1, - column: 0 - }; - } - - return null; - }, - - /** - * Gets the parenthesized text of a node. This is similar to sourceCode.getText(node), but it also includes any parentheses - * surrounding the node. - * @param {SourceCode} sourceCode The source code object - * @param {ASTNode} node An expression node - * @returns {string} The text representing the node, with all surrounding parentheses included - */ - getParenthesisedText(sourceCode, node) { - let leftToken = sourceCode.getFirstToken(node); - let rightToken = sourceCode.getLastToken(node); - - while ( - sourceCode.getTokenBefore(leftToken) && - sourceCode.getTokenBefore(leftToken).type === "Punctuator" && - sourceCode.getTokenBefore(leftToken).value === "(" && - sourceCode.getTokenAfter(rightToken) && - sourceCode.getTokenAfter(rightToken).type === "Punctuator" && - sourceCode.getTokenAfter(rightToken).value === ")" - ) { - leftToken = sourceCode.getTokenBefore(leftToken); - rightToken = sourceCode.getTokenAfter(rightToken); - } - - return sourceCode.getText().slice(leftToken.range[0], rightToken.range[1]); - }, - - /** - * Determine if a node has a possibility to be an Error object - * @param {ASTNode} node ASTNode to check - * @returns {boolean} True if there is a chance it contains an Error obj - */ - couldBeError(node) { - switch (node.type) { - case "Identifier": - case "CallExpression": - case "NewExpression": - case "MemberExpression": - case "TaggedTemplateExpression": - case "YieldExpression": - case "AwaitExpression": - case "ChainExpression": - return true; // possibly an error object. - - case "AssignmentExpression": - if (["=", "&&="].includes(node.operator)) { - return module.exports.couldBeError(node.right); - } - - if (["||=", "??="].includes(node.operator)) { - return module.exports.couldBeError(node.left) || module.exports.couldBeError(node.right); - } - - /** - * All other assignment operators are mathematical assignment operators (arithmetic or bitwise). - * An assignment expression with a mathematical operator can either evaluate to a primitive value, - * or throw, depending on the operands. Thus, it cannot evaluate to an `Error` object. - */ - return false; - - case "SequenceExpression": { - const exprs = node.expressions; - - return exprs.length !== 0 && module.exports.couldBeError(exprs.at(-1)); - } - - case "LogicalExpression": - - /* - * If the && operator short-circuits, the left side was falsy and therefore not an error, and if it - * doesn't short-circuit, it takes the value from the right side, so the right side must always be - * a plausible error. A future improvement could verify that the left side could be truthy by - * excluding falsy literals. - */ - if (node.operator === "&&") { - return module.exports.couldBeError(node.right); - } - - return module.exports.couldBeError(node.left) || module.exports.couldBeError(node.right); - - case "ConditionalExpression": - return module.exports.couldBeError(node.consequent) || module.exports.couldBeError(node.alternate); - - default: - return false; - } - }, - - /** - * Check if a given node is a numeric literal or not. - * @param {ASTNode} node The node to check. - * @returns {boolean} `true` if the node is a number or bigint literal. - */ - isNumericLiteral(node) { - return ( - node.type === "Literal" && - (typeof node.value === "number" || Boolean(node.bigint)) - ); - }, - - /** - * Determines whether two tokens can safely be placed next to each other without merging into a single token - * @param {Token|string} leftValue The left token. If this is a string, it will be tokenized and the last token will be used. - * @param {Token|string} rightValue The right token. If this is a string, it will be tokenized and the first token will be used. - * @returns {boolean} If the tokens cannot be safely placed next to each other, returns `false`. If the tokens can be placed - * next to each other, behavior is undefined (although it should return `true` in most cases). - */ - canTokensBeAdjacent(leftValue, rightValue) { - const espreeOptions = { - ecmaVersion: espree.latestEcmaVersion, - comment: true, - range: true - }; - - let leftToken; - - if (typeof leftValue === "string") { - let tokens; - - try { - tokens = espree.tokenize(leftValue, espreeOptions); - } catch { - return false; - } - - const comments = tokens.comments; - - leftToken = tokens.at(-1); - if (comments.length) { - const lastComment = comments.at(-1); - - if (!leftToken || lastComment.range[0] > leftToken.range[0]) { - leftToken = lastComment; - } - } - } else { - leftToken = leftValue; - } - - /* - * If a hashbang comment was passed as a token object from SourceCode, - * its type will be "Shebang" because of the way ESLint itself handles hashbangs. - * If a hashbang comment was passed in a string and then tokenized in this function, - * its type will be "Hashbang" because of the way Espree tokenizes hashbangs. - */ - if (leftToken.type === "Shebang" || leftToken.type === "Hashbang") { - return false; - } - - let rightToken; - - if (typeof rightValue === "string") { - let tokens; - - try { - tokens = espree.tokenize(rightValue, espreeOptions); - } catch { - return false; - } - - const comments = tokens.comments; - - rightToken = tokens[0]; - if (comments.length) { - const firstComment = comments[0]; - - if (!rightToken || firstComment.range[0] < rightToken.range[0]) { - rightToken = firstComment; - } - } - } else { - rightToken = rightValue; - } - - if (leftToken.type === "Punctuator" || rightToken.type === "Punctuator") { - if (leftToken.type === "Punctuator" && rightToken.type === "Punctuator") { - const PLUS_TOKENS = new Set(["+", "++"]); - const MINUS_TOKENS = new Set(["-", "--"]); - - return !( - PLUS_TOKENS.has(leftToken.value) && PLUS_TOKENS.has(rightToken.value) || - MINUS_TOKENS.has(leftToken.value) && MINUS_TOKENS.has(rightToken.value) - ); - } - if (leftToken.type === "Punctuator" && leftToken.value === "/") { - return !["Block", "Line", "RegularExpression"].includes(rightToken.type); - } - return true; - } - - if ( - leftToken.type === "String" || rightToken.type === "String" || - leftToken.type === "Template" || rightToken.type === "Template" - ) { - return true; - } - - if (leftToken.type !== "Numeric" && rightToken.type === "Numeric" && rightToken.value.startsWith(".")) { - return true; - } - - if (leftToken.type === "Block" || rightToken.type === "Block" || rightToken.type === "Line") { - return true; - } - - if (rightToken.type === "PrivateIdentifier") { - return true; - } - - return false; - }, - - /** - * Get the `loc` object of a given name in a `/*globals` directive comment. - * @param {SourceCode} sourceCode The source code to convert index to loc. - * @param {Comment} comment The `/*globals` directive comment which include the name. - * @param {string} name The name to find. - * @returns {SourceLocation} The `loc` object. - */ - getNameLocationInGlobalDirectiveComment(sourceCode, comment, name) { - const namePattern = new RegExp(`[\\s,]${escapeRegExp(name)}(?:$|[\\s,:])`, "gu"); - - // To ignore the first text "global". - namePattern.lastIndex = comment.value.indexOf("global") + 6; - - // Search a given variable name. - const match = namePattern.exec(comment.value); - - // Convert the index to loc. - const start = sourceCode.getLocFromIndex( - comment.range[0] + - "/*".length + - (match ? match.index + 1 : 0) - ); - const end = { - line: start.line, - column: start.column + (match ? name.length : 1) - }; - - return { start, end }; - }, - - /** - * Determines whether the given raw string contains an octal escape sequence - * or a non-octal decimal escape sequence ("\8", "\9"). - * - * "\1", "\2" ... "\7", "\8", "\9" - * "\00", "\01" ... "\07", "\08", "\09" - * - * "\0", when not followed by a digit, is not an octal escape sequence. - * @param {string} rawString A string in its raw representation. - * @returns {boolean} `true` if the string contains at least one octal escape sequence - * or at least one non-octal decimal escape sequence. - */ - hasOctalOrNonOctalDecimalEscapeSequence(rawString) { - return OCTAL_OR_NON_OCTAL_DECIMAL_ESCAPE_PATTERN.test(rawString); - }, - - /** - * Determines whether the given node is a template literal without expressions. - * @param {ASTNode} node Node to check. - * @returns {boolean} True if the node is a template literal without expressions. - */ - isStaticTemplateLiteral(node) { - return node.type === "TemplateLiteral" && node.expressions.length === 0; - }, - - /** - * Determines whether the existing curly braces around the single statement are necessary to preserve the semantics of the code. - * The braces, which make the given block body, are necessary in either of the following situations: - * - * 1. The statement is a lexical declaration. - * 2. Without the braces, an `if` within the statement would become associated with an `else` after the closing brace: - * - * if (a) { - * if (b) - * foo(); - * } - * else - * bar(); - * - * if (a) - * while (b) - * while (c) { - * while (d) - * if (e) - * while(f) - * foo(); - * } - * else - * bar(); - * @param {ASTNode} node `BlockStatement` body with exactly one statement directly inside. The statement can have its own nested statements. - * @param {SourceCode} sourceCode The source code - * @returns {boolean} `true` if the braces are necessary - removing them (replacing the given `BlockStatement` body with its single statement content) - * would change the semantics of the code or produce a syntax error. - */ - areBracesNecessary(node, sourceCode) { - - /** - * Determines if the given node is a lexical declaration (let, const, function, or class) - * @param {ASTNode} nodeToCheck The node to check - * @returns {boolean} True if the node is a lexical declaration - * @private - */ - function isLexicalDeclaration(nodeToCheck) { - if (nodeToCheck.type === "VariableDeclaration") { - return nodeToCheck.kind === "const" || nodeToCheck.kind === "let"; - } - - return nodeToCheck.type === "FunctionDeclaration" || nodeToCheck.type === "ClassDeclaration"; - } - - - /** - * Checks if the given token is an `else` token or not. - * @param {Token} token The token to check. - * @returns {boolean} `true` if the token is an `else` token. - */ - function isElseKeywordToken(token) { - return token.value === "else" && token.type === "Keyword"; - } - - /** - * Determines whether the given node has an `else` keyword token as the first token after. - * @param {ASTNode} nodeToCheck The node to check. - * @returns {boolean} `true` if the node is followed by an `else` keyword token. - */ - function isFollowedByElseKeyword(nodeToCheck) { - const nextToken = sourceCode.getTokenAfter(nodeToCheck); - - return Boolean(nextToken) && isElseKeywordToken(nextToken); - } - - /** - * Determines whether the code represented by the given node contains an `if` statement - * that would become associated with an `else` keyword directly appended to that code. - * - * Examples where it returns `true`: - * - * if (a) - * foo(); - * - * if (a) { - * foo(); - * } - * - * if (a) - * foo(); - * else if (b) - * bar(); - * - * while (a) - * if (b) - * if(c) - * foo(); - * else - * bar(); - * - * Examples where it returns `false`: - * - * if (a) - * foo(); - * else - * bar(); - * - * while (a) { - * if (b) - * if(c) - * foo(); - * else - * bar(); - * } - * - * while (a) - * if (b) { - * if(c) - * foo(); - * } - * else - * bar(); - * @param {ASTNode} nodeToCheck Node representing the code to check. - * @returns {boolean} `true` if an `if` statement within the code would become associated with an `else` appended to that code. - */ - function hasUnsafeIf(nodeToCheck) { - switch (nodeToCheck.type) { - case "IfStatement": - if (!nodeToCheck.alternate) { - return true; - } - return hasUnsafeIf(nodeToCheck.alternate); - case "ForStatement": - case "ForInStatement": - case "ForOfStatement": - case "LabeledStatement": - case "WithStatement": - case "WhileStatement": - return hasUnsafeIf(nodeToCheck.body); - default: - return false; - } - } - - const statement = node.body[0]; - - return isLexicalDeclaration(statement) || - hasUnsafeIf(statement) && isFollowedByElseKeyword(node); - }, - - isReferenceToGlobalVariable, - isLogicalExpression, - isCoalesceExpression, - isMixedLogicalAndCoalesceExpressions, - isNullLiteral, - getStaticStringValue, - getStaticPropertyName, - skipChainExpression, - isSpecificId, - isSpecificMemberAccess, - equalLiteralValue, - isSameReference, - isLogicalAssignmentOperator, - getSwitchCaseColonToken, - getModuleExportName, - isConstant, - isTopLevelExpressionStatement, - isDirective, - isStartOfExpressionStatement, - needsPrecedingSemicolon, - isImportAttributeKey -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/char-source.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/char-source.js deleted file mode 100644 index 70738625..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/char-source.js +++ /dev/null @@ -1,240 +0,0 @@ -/** - * @fileoverview Utility functions to locate the source text of each code unit in the value of a string literal or template token. - * @author Francesco Trotta - */ - -"use strict"; - -/** - * Represents a code unit produced by the evaluation of a JavaScript common token like a string - * literal or template token. - */ -class CodeUnit { - constructor(start, source) { - this.start = start; - this.source = source; - } - - get end() { - return this.start + this.length; - } - - get length() { - return this.source.length; - } -} - -/** - * An object used to keep track of the position in a source text where the next characters will be read. - */ -class TextReader { - constructor(source) { - this.source = source; - this.pos = 0; - } - - /** - * Advances the reading position of the specified number of characters. - * @param {number} length Number of characters to advance. - * @returns {void} - */ - advance(length) { - this.pos += length; - } - - /** - * Reads characters from the source. - * @param {number} [offset=0] The offset where reading starts, relative to the current position. - * @param {number} [length=1] Number of characters to read. - * @returns {string} A substring of source characters. - */ - read(offset = 0, length = 1) { - const start = offset + this.pos; - - return this.source.slice(start, start + length); - } -} - -const SIMPLE_ESCAPE_SEQUENCES = -{ __proto__: null, b: "\b", f: "\f", n: "\n", r: "\r", t: "\t", v: "\v" }; - -/** - * Reads a hex escape sequence. - * @param {TextReader} reader The reader should be positioned on the first hexadecimal digit. - * @param {number} length The number of hexadecimal digits. - * @returns {string} A code unit. - */ -function readHexSequence(reader, length) { - const str = reader.read(0, length); - const charCode = parseInt(str, 16); - - reader.advance(length); - return String.fromCharCode(charCode); -} - -/** - * Reads a Unicode escape sequence. - * @param {TextReader} reader The reader should be positioned after the "u". - * @returns {string} A code unit. - */ -function readUnicodeSequence(reader) { - const regExp = /\{(?[\dA-Fa-f]+)\}/uy; - - regExp.lastIndex = reader.pos; - const match = regExp.exec(reader.source); - - if (match) { - const codePoint = parseInt(match.groups.hexDigits, 16); - - reader.pos = regExp.lastIndex; - return String.fromCodePoint(codePoint); - } - return readHexSequence(reader, 4); -} - -/** - * Reads an octal escape sequence. - * @param {TextReader} reader The reader should be positioned after the first octal digit. - * @param {number} maxLength The maximum number of octal digits. - * @returns {string} A code unit. - */ -function readOctalSequence(reader, maxLength) { - const [octalStr] = reader.read(-1, maxLength).match(/^[0-7]+/u); - - reader.advance(octalStr.length - 1); - const octal = parseInt(octalStr, 8); - - return String.fromCharCode(octal); -} - -/** - * Reads an escape sequence or line continuation. - * @param {TextReader} reader The reader should be positioned on the backslash. - * @returns {string} A string of zero, one or two code units. - */ -function readEscapeSequenceOrLineContinuation(reader) { - const char = reader.read(1); - - reader.advance(2); - const unitChar = SIMPLE_ESCAPE_SEQUENCES[char]; - - if (unitChar) { - return unitChar; - } - switch (char) { - case "x": - return readHexSequence(reader, 2); - case "u": - return readUnicodeSequence(reader); - case "\r": - if (reader.read() === "\n") { - reader.advance(1); - } - - // fallthrough - case "\n": - case "\u2028": - case "\u2029": - return ""; - case "0": - case "1": - case "2": - case "3": - return readOctalSequence(reader, 3); - case "4": - case "5": - case "6": - case "7": - return readOctalSequence(reader, 2); - default: - return char; - } -} - -/** - * Reads an escape sequence or line continuation and generates the respective `CodeUnit` elements. - * @param {TextReader} reader The reader should be positioned on the backslash. - * @returns {Generator} Zero, one or two `CodeUnit` elements. - */ -function *mapEscapeSequenceOrLineContinuation(reader) { - const start = reader.pos; - const str = readEscapeSequenceOrLineContinuation(reader); - const end = reader.pos; - const source = reader.source.slice(start, end); - - switch (str.length) { - case 0: - break; - case 1: - yield new CodeUnit(start, source); - break; - default: - yield new CodeUnit(start, source); - yield new CodeUnit(start, source); - break; - } -} - -/** - * Parses a string literal. - * @param {string} source The string literal to parse, including the delimiting quotes. - * @returns {CodeUnit[]} A list of code units produced by the string literal. - */ -function parseStringLiteral(source) { - const reader = new TextReader(source); - const quote = reader.read(); - - reader.advance(1); - const codeUnits = []; - - for (;;) { - const char = reader.read(); - - if (char === quote) { - break; - } - if (char === "\\") { - codeUnits.push(...mapEscapeSequenceOrLineContinuation(reader)); - } else { - codeUnits.push(new CodeUnit(reader.pos, char)); - reader.advance(1); - } - } - return codeUnits; -} - -/** - * Parses a template token. - * @param {string} source The template token to parse, including the delimiting sequences `` ` ``, `${` and `}`. - * @returns {CodeUnit[]} A list of code units produced by the template token. - */ -function parseTemplateToken(source) { - const reader = new TextReader(source); - - reader.advance(1); - const codeUnits = []; - - for (;;) { - const char = reader.read(); - - if (char === "`" || char === "$" && reader.read(1) === "{") { - break; - } - if (char === "\\") { - codeUnits.push(...mapEscapeSequenceOrLineContinuation(reader)); - } else { - let unitSource; - - if (char === "\r" && reader.read(1) === "\n") { - unitSource = "\r\n"; - } else { - unitSource = char; - } - codeUnits.push(new CodeUnit(reader.pos, unitSource)); - reader.advance(unitSource.length); - } - } - return codeUnits; -} - -module.exports = { parseStringLiteral, parseTemplateToken }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/fix-tracker.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/fix-tracker.js deleted file mode 100644 index 589870b3..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/fix-tracker.js +++ /dev/null @@ -1,114 +0,0 @@ -/** - * @fileoverview Helper class to aid in constructing fix commands. - * @author Alan Pierce - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./ast-utils"); - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * A helper class to combine fix options into a fix command. Currently, it - * exposes some "retain" methods that extend the range of the text being - * replaced so that other fixes won't touch that region in the same pass. - */ -class FixTracker { - - /** - * Create a new FixTracker. - * @param {ruleFixer} fixer A ruleFixer instance. - * @param {SourceCode} sourceCode A SourceCode object for the current code. - */ - constructor(fixer, sourceCode) { - this.fixer = fixer; - this.sourceCode = sourceCode; - this.retainedRange = null; - } - - /** - * Mark the given range as "retained", meaning that other fixes may not - * may not modify this region in the same pass. - * @param {int[]} range The range to retain. - * @returns {FixTracker} The same RuleFixer, for chained calls. - */ - retainRange(range) { - this.retainedRange = range; - return this; - } - - /** - * Given a node, find the function containing it (or the entire program) and - * mark it as retained, meaning that other fixes may not modify it in this - * pass. This is useful for avoiding conflicts in fixes that modify control - * flow. - * @param {ASTNode} node The node to use as a starting point. - * @returns {FixTracker} The same RuleFixer, for chained calls. - */ - retainEnclosingFunction(node) { - const functionNode = astUtils.getUpperFunction(node); - - return this.retainRange(functionNode ? functionNode.range : this.sourceCode.ast.range); - } - - /** - * Given a node or token, find the token before and afterward, and mark that - * range as retained, meaning that other fixes may not modify it in this - * pass. This is useful for avoiding conflicts in fixes that make a small - * change to the code where the AST should not be changed. - * @param {ASTNode|Token} nodeOrToken The node or token to use as a starting - * point. The token to the left and right are use in the range. - * @returns {FixTracker} The same RuleFixer, for chained calls. - */ - retainSurroundingTokens(nodeOrToken) { - const tokenBefore = this.sourceCode.getTokenBefore(nodeOrToken) || nodeOrToken; - const tokenAfter = this.sourceCode.getTokenAfter(nodeOrToken) || nodeOrToken; - - return this.retainRange([tokenBefore.range[0], tokenAfter.range[1]]); - } - - /** - * Create a fix command that replaces the given range with the given text, - * accounting for any retained ranges. - * @param {int[]} range The range to remove in the fix. - * @param {string} text The text to insert in place of the range. - * @returns {Object} The fix command. - */ - replaceTextRange(range, text) { - let actualRange; - - if (this.retainedRange) { - actualRange = [ - Math.min(this.retainedRange[0], range[0]), - Math.max(this.retainedRange[1], range[1]) - ]; - } else { - actualRange = range; - } - - return this.fixer.replaceTextRange( - actualRange, - this.sourceCode.text.slice(actualRange[0], range[0]) + - text + - this.sourceCode.text.slice(range[1], actualRange[1]) - ); - } - - /** - * Create a fix command that removes the given node or token, accounting for - * any retained ranges. - * @param {ASTNode|Token} nodeOrToken The node or token to remove. - * @returns {Object} The fix command. - */ - remove(nodeOrToken) { - return this.replaceTextRange(nodeOrToken.range, ""); - } -} - -module.exports = FixTracker; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/keywords.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/keywords.js deleted file mode 100644 index 3fbb7777..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/keywords.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @fileoverview A shared list of ES3 keywords. - * @author Josh Perez - */ -"use strict"; - -module.exports = [ - "abstract", - "boolean", - "break", - "byte", - "case", - "catch", - "char", - "class", - "const", - "continue", - "debugger", - "default", - "delete", - "do", - "double", - "else", - "enum", - "export", - "extends", - "false", - "final", - "finally", - "float", - "for", - "function", - "goto", - "if", - "implements", - "import", - "in", - "instanceof", - "int", - "interface", - "long", - "native", - "new", - "null", - "package", - "private", - "protected", - "public", - "return", - "short", - "static", - "super", - "switch", - "synchronized", - "this", - "throw", - "throws", - "transient", - "true", - "try", - "typeof", - "var", - "void", - "volatile", - "while", - "with" -]; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js deleted file mode 100644 index 3fa5d83b..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * @fileoverview `Map` to load rules lazily. - * @author Toru Nagashima - */ -"use strict"; - -const debug = require("debug")("eslint:rules"); - -/** @typedef {import("../../shared/types").Rule} Rule */ - -/** - * The `Map` object that loads each rule when it's accessed. - * @example - * const rules = new LazyLoadingRuleMap([ - * ["eqeqeq", () => require("eqeqeq")], - * ["semi", () => require("semi")], - * ["no-unused-vars", () => require("no-unused-vars")] - * ]); - * - * rules.get("semi"); // call `() => require("semi")` here. - * - * @extends {Map Rule>} - */ -class LazyLoadingRuleMap extends Map { - - /** - * Initialize this map. - * @param {Array<[string, function(): Rule]>} loaders The rule loaders. - */ - constructor(loaders) { - let remaining = loaders.length; - - super( - debug.enabled - ? loaders.map(([ruleId, load]) => { - let cache = null; - - return [ - ruleId, - () => { - if (!cache) { - debug("Loading rule %o (remaining=%d)", ruleId, --remaining); - cache = load(); - } - return cache; - } - ]; - }) - : loaders - ); - - // `super(...iterable)` uses `this.set()`, so disable it here. - Object.defineProperty(LazyLoadingRuleMap.prototype, "set", { - configurable: true, - value: void 0 - }); - } - - /** - * Get a rule. - * Each rule will be loaded on the first access. - * @param {string} ruleId The rule ID to get. - * @returns {Rule|undefined} The rule. - */ - get(ruleId) { - const load = super.get(ruleId); - - return load && load(); - } - - /** - * Iterate rules. - * @returns {IterableIterator} Rules. - */ - *values() { - for (const load of super.values()) { - yield load(); - } - } - - /** - * Iterate rules. - * @returns {IterableIterator<[string, Rule]>} Rules. - */ - *entries() { - for (const [ruleId, load] of super.entries()) { - yield [ruleId, load()]; - } - } - - /** - * Call a function with each rule. - * @param {Function} callbackFn The callback function. - * @param {any} [thisArg] The object to pass to `this` of the callback function. - * @returns {void} - */ - forEach(callbackFn, thisArg) { - for (const [ruleId, load] of super.entries()) { - callbackFn.call(thisArg, load(), ruleId, this); - } - } -} - -// Forbid mutation. -Object.defineProperties(LazyLoadingRuleMap.prototype, { - clear: { configurable: true, value: void 0 }, - delete: { configurable: true, value: void 0 }, - [Symbol.iterator]: { - configurable: true, - writable: true, - value: LazyLoadingRuleMap.prototype.entries - } -}); - -module.exports = { LazyLoadingRuleMap }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/regular-expressions.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/regular-expressions.js deleted file mode 100644 index 82fdd9b8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/regular-expressions.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @fileoverview Common utils for regular expressions. - * @author Josh Goldberg - * @author Toru Nagashima - */ - -"use strict"; - -const { RegExpValidator } = require("@eslint-community/regexpp"); - -const REGEXPP_LATEST_ECMA_VERSION = 2025; - -/** - * Checks if the given regular expression pattern would be valid with the `u` flag. - * @param {number} ecmaVersion ECMAScript version to parse in. - * @param {string} pattern The regular expression pattern to verify. - * @param {"u"|"v"} flag The type of Unicode flag - * @returns {boolean} `true` if the pattern would be valid with the `u` flag. - * `false` if the pattern would be invalid with the `u` flag or the configured - * ecmaVersion doesn't support the `u` flag. - */ -function isValidWithUnicodeFlag(ecmaVersion, pattern, flag = "u") { - if (flag === "u" && ecmaVersion <= 5) { // ecmaVersion <= 5 doesn't support the 'u' flag - return false; - } - if (flag === "v" && ecmaVersion <= 2023) { - return false; - } - - const validator = new RegExpValidator({ - ecmaVersion: Math.min(ecmaVersion, REGEXPP_LATEST_ECMA_VERSION) - }); - - try { - validator.validatePattern(pattern, void 0, void 0, flag === "u" ? { - unicode: /* uFlag = */ true - } : { - unicodeSets: true - }); - } catch { - return false; - } - - return true; -} - -module.exports = { - isValidWithUnicodeFlag, - REGEXPP_LATEST_ECMA_VERSION -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/index.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/index.js deleted file mode 100644 index d35d812e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/index.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @author Toru Nagashima - */ -"use strict"; - -const isCombiningCharacter = require("./is-combining-character"); -const isEmojiModifier = require("./is-emoji-modifier"); -const isRegionalIndicatorSymbol = require("./is-regional-indicator-symbol"); -const isSurrogatePair = require("./is-surrogate-pair"); - -module.exports = { - isCombiningCharacter, - isEmojiModifier, - isRegionalIndicatorSymbol, - isSurrogatePair -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js deleted file mode 100644 index 0498b99a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @author Toru Nagashima - */ -"use strict"; - -/** - * Check whether a given character is a combining mark or not. - * @param {number} codePoint The character code to check. - * @returns {boolean} `true` if the character belongs to the category, any of `Mc`, `Me`, and `Mn`. - */ -module.exports = function isCombiningCharacter(codePoint) { - return /^[\p{Mc}\p{Me}\p{Mn}]$/u.test(String.fromCodePoint(codePoint)); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js deleted file mode 100644 index 1bd5f557..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @author Toru Nagashima - */ -"use strict"; - -/** - * Check whether a given character is an emoji modifier. - * @param {number} code The character code to check. - * @returns {boolean} `true` if the character is an emoji modifier. - */ -module.exports = function isEmojiModifier(code) { - return code >= 0x1F3FB && code <= 0x1F3FF; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js deleted file mode 100644 index c48ed46e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @author Toru Nagashima - */ -"use strict"; - -/** - * Check whether a given character is a regional indicator symbol. - * @param {number} code The character code to check. - * @returns {boolean} `true` if the character is a regional indicator symbol. - */ -module.exports = function isRegionalIndicatorSymbol(code) { - return code >= 0x1F1E6 && code <= 0x1F1FF; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js deleted file mode 100644 index b8e5c1ca..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @author Toru Nagashima - */ -"use strict"; - -/** - * Check whether given two characters are a surrogate pair. - * @param {number} lead The code of the lead character. - * @param {number} tail The code of the tail character. - * @returns {boolean} `true` if the character pair is a surrogate pair. - */ -module.exports = function isSurrogatePair(lead, tail) { - return lead >= 0xD800 && lead < 0xDC00 && tail >= 0xDC00 && tail < 0xE000; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/valid-typeof.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/valid-typeof.js deleted file mode 100644 index eff4d942..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/valid-typeof.js +++ /dev/null @@ -1,129 +0,0 @@ -/** - * @fileoverview Ensures that the results of typeof are compared against a valid string - * @author Ian Christian Myers - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "problem", - - defaultOptions: [{ - requireStringLiterals: false - }], - - docs: { - description: "Enforce comparing `typeof` expressions against valid strings", - recommended: true, - url: "https://eslint.org/docs/latest/rules/valid-typeof" - }, - - hasSuggestions: true, - - schema: [ - { - type: "object", - properties: { - requireStringLiterals: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - messages: { - invalidValue: "Invalid typeof comparison value.", - notString: "Typeof comparisons should be to string literals.", - suggestString: 'Use `"{{type}}"` instead of `{{type}}`.' - } - }, - - create(context) { - const VALID_TYPES = new Set(["symbol", "undefined", "object", "boolean", "number", "string", "function", "bigint"]), - OPERATORS = new Set(["==", "===", "!=", "!=="]); - const sourceCode = context.sourceCode; - const [{ requireStringLiterals }] = context.options; - - let globalScope; - - /** - * Checks whether the given node represents a reference to a global variable that is not declared in the source code. - * These identifiers will be allowed, as it is assumed that user has no control over the names of external global variables. - * @param {ASTNode} node `Identifier` node to check. - * @returns {boolean} `true` if the node is a reference to a global variable. - */ - function isReferenceToGlobalVariable(node) { - const variable = globalScope.set.get(node.name); - - return variable && variable.defs.length === 0 && - variable.references.some(ref => ref.identifier === node); - } - - /** - * Determines whether a node is a typeof expression. - * @param {ASTNode} node The node - * @returns {boolean} `true` if the node is a typeof expression - */ - function isTypeofExpression(node) { - return node.type === "UnaryExpression" && node.operator === "typeof"; - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - - Program(node) { - globalScope = sourceCode.getScope(node); - }, - - UnaryExpression(node) { - if (isTypeofExpression(node)) { - const { parent } = node; - - if (parent.type === "BinaryExpression" && OPERATORS.has(parent.operator)) { - const sibling = parent.left === node ? parent.right : parent.left; - - if (sibling.type === "Literal" || astUtils.isStaticTemplateLiteral(sibling)) { - const value = sibling.type === "Literal" ? sibling.value : sibling.quasis[0].value.cooked; - - if (!VALID_TYPES.has(value)) { - context.report({ node: sibling, messageId: "invalidValue" }); - } - } else if (sibling.type === "Identifier" && sibling.name === "undefined" && isReferenceToGlobalVariable(sibling)) { - context.report({ - node: sibling, - messageId: requireStringLiterals ? "notString" : "invalidValue", - suggest: [ - { - messageId: "suggestString", - data: { type: "undefined" }, - fix(fixer) { - return fixer.replaceText(sibling, '"undefined"'); - } - } - ] - }); - } else if (requireStringLiterals && !isTypeofExpression(sibling)) { - context.report({ node: sibling, messageId: "notString" }); - } - } - } - } - - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/vars-on-top.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/vars-on-top.js deleted file mode 100644 index 81f5d62d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/vars-on-top.js +++ /dev/null @@ -1,157 +0,0 @@ -/** - * @fileoverview Rule to enforce var declarations are only at the top of a function. - * @author Danny Fritz - * @author Gyandeep Singh - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - docs: { - description: "Require `var` declarations be placed at the top of their containing scope", - recommended: false, - url: "https://eslint.org/docs/latest/rules/vars-on-top" - }, - - schema: [], - messages: { - top: "All 'var' declarations must be at the top of the function scope." - } - }, - - create(context) { - - //-------------------------------------------------------------------------- - // Helpers - //-------------------------------------------------------------------------- - - /** - * Has AST suggesting a directive. - * @param {ASTNode} node any node - * @returns {boolean} whether the given node structurally represents a directive - */ - function looksLikeDirective(node) { - return node.type === "ExpressionStatement" && - node.expression.type === "Literal" && typeof node.expression.value === "string"; - } - - /** - * Check to see if its a ES6 import declaration - * @param {ASTNode} node any node - * @returns {boolean} whether the given node represents a import declaration - */ - function looksLikeImport(node) { - return node.type === "ImportDeclaration" || node.type === "ImportSpecifier" || - node.type === "ImportDefaultSpecifier" || node.type === "ImportNamespaceSpecifier"; - } - - /** - * Checks whether a given node is a variable declaration or not. - * @param {ASTNode} node any node - * @returns {boolean} `true` if the node is a variable declaration. - */ - function isVariableDeclaration(node) { - return ( - node.type === "VariableDeclaration" || - ( - node.type === "ExportNamedDeclaration" && - node.declaration && - node.declaration.type === "VariableDeclaration" - ) - ); - } - - /** - * Checks whether this variable is on top of the block body - * @param {ASTNode} node The node to check - * @param {ASTNode[]} statements collection of ASTNodes for the parent node block - * @returns {boolean} True if var is on top otherwise false - */ - function isVarOnTop(node, statements) { - const l = statements.length; - let i = 0; - - // Skip over directives and imports. Static blocks don't have either. - if (node.parent.type !== "StaticBlock") { - for (; i < l; ++i) { - if (!looksLikeDirective(statements[i]) && !looksLikeImport(statements[i])) { - break; - } - } - } - - for (; i < l; ++i) { - if (!isVariableDeclaration(statements[i])) { - return false; - } - if (statements[i] === node) { - return true; - } - } - - return false; - } - - /** - * Checks whether variable is on top at the global level - * @param {ASTNode} node The node to check - * @param {ASTNode} parent Parent of the node - * @returns {void} - */ - function globalVarCheck(node, parent) { - if (!isVarOnTop(node, parent.body)) { - context.report({ node, messageId: "top" }); - } - } - - /** - * Checks whether variable is on top at functional block scope level - * @param {ASTNode} node The node to check - * @returns {void} - */ - function blockScopeVarCheck(node) { - const { parent } = node; - - if ( - parent.type === "BlockStatement" && - /Function/u.test(parent.parent.type) && - isVarOnTop(node, parent.body) - ) { - return; - } - - if ( - parent.type === "StaticBlock" && - isVarOnTop(node, parent.body) - ) { - return; - } - - context.report({ node, messageId: "top" }); - } - - //-------------------------------------------------------------------------- - // Public API - //-------------------------------------------------------------------------- - - return { - "VariableDeclaration[kind='var']"(node) { - if (node.parent.type === "ExportNamedDeclaration") { - globalVarCheck(node.parent, node.parent.parent); - } else if (node.parent.type === "Program") { - globalVarCheck(node, node.parent); - } else { - blockScopeVarCheck(node); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-iife.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-iife.js deleted file mode 100644 index 51807106..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-iife.js +++ /dev/null @@ -1,207 +0,0 @@ -/** - * @fileoverview Rule to flag when IIFE is not wrapped in parens - * @author Ilya Volodin - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const astUtils = require("./utils/ast-utils"); -const eslintUtils = require("@eslint-community/eslint-utils"); - -//---------------------------------------------------------------------- -// Helpers -//---------------------------------------------------------------------- - -/** - * Check if the given node is callee of a `NewExpression` node - * @param {ASTNode} node node to check - * @returns {boolean} True if the node is callee of a `NewExpression` node - * @private - */ -function isCalleeOfNewExpression(node) { - const maybeCallee = node.parent.type === "ChainExpression" - ? node.parent - : node; - - return ( - maybeCallee.parent.type === "NewExpression" && - maybeCallee.parent.callee === maybeCallee - ); -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require parentheses around immediate `function` invocations", - recommended: false, - url: "https://eslint.org/docs/latest/rules/wrap-iife" - }, - - schema: [ - { - enum: ["outside", "inside", "any"] - }, - { - type: "object", - properties: { - functionPrototypeMethods: { - type: "boolean", - default: false - } - }, - additionalProperties: false - } - ], - - fixable: "code", - messages: { - wrapInvocation: "Wrap an immediate function invocation in parentheses.", - wrapExpression: "Wrap only the function expression in parens.", - moveInvocation: "Move the invocation into the parens that contain the function." - } - }, - - create(context) { - - const style = context.options[0] || "outside"; - const includeFunctionPrototypeMethods = context.options[1] && context.options[1].functionPrototypeMethods; - - const sourceCode = context.sourceCode; - - /** - * Check if the node is wrapped in any (). All parens count: grouping parens and parens for constructs such as if() - * @param {ASTNode} node node to evaluate - * @returns {boolean} True if it is wrapped in any parens - * @private - */ - function isWrappedInAnyParens(node) { - return astUtils.isParenthesised(sourceCode, node); - } - - /** - * Check if the node is wrapped in grouping (). Parens for constructs such as if() don't count - * @param {ASTNode} node node to evaluate - * @returns {boolean} True if it is wrapped in grouping parens - * @private - */ - function isWrappedInGroupingParens(node) { - return eslintUtils.isParenthesized(1, node, sourceCode); - } - - /** - * Get the function node from an IIFE - * @param {ASTNode} node node to evaluate - * @returns {ASTNode} node that is the function expression of the given IIFE, or null if none exist - */ - function getFunctionNodeFromIIFE(node) { - const callee = astUtils.skipChainExpression(node.callee); - - if (callee.type === "FunctionExpression") { - return callee; - } - - if (includeFunctionPrototypeMethods && - callee.type === "MemberExpression" && - callee.object.type === "FunctionExpression" && - (astUtils.getStaticPropertyName(callee) === "call" || astUtils.getStaticPropertyName(callee) === "apply") - ) { - return callee.object; - } - - return null; - } - - - return { - CallExpression(node) { - const innerNode = getFunctionNodeFromIIFE(node); - - if (!innerNode) { - return; - } - - const isCallExpressionWrapped = isWrappedInAnyParens(node), - isFunctionExpressionWrapped = isWrappedInAnyParens(innerNode); - - if (!isCallExpressionWrapped && !isFunctionExpressionWrapped) { - context.report({ - node, - messageId: "wrapInvocation", - fix(fixer) { - const nodeToSurround = style === "inside" ? innerNode : node; - - return fixer.replaceText(nodeToSurround, `(${sourceCode.getText(nodeToSurround)})`); - } - }); - } else if (style === "inside" && !isFunctionExpressionWrapped) { - context.report({ - node, - messageId: "wrapExpression", - fix(fixer) { - - // The outer call expression will always be wrapped at this point. - - if (isWrappedInGroupingParens(node) && !isCalleeOfNewExpression(node)) { - - /* - * Parenthesize the function expression and remove unnecessary grouping parens around the call expression. - * Replace the range between the end of the function expression and the end of the call expression. - * for example, in `(function(foo) {}(bar))`, the range `(bar))` should get replaced with `)(bar)`. - */ - - const parenAfter = sourceCode.getTokenAfter(node); - - return fixer.replaceTextRange( - [innerNode.range[1], parenAfter.range[1]], - `)${sourceCode.getText().slice(innerNode.range[1], parenAfter.range[0])}` - ); - } - - /* - * Call expression is wrapped in mandatory parens such as if(), or in necessary grouping parens. - * These parens cannot be removed, so just parenthesize the function expression. - */ - - return fixer.replaceText(innerNode, `(${sourceCode.getText(innerNode)})`); - } - }); - } else if (style === "outside" && !isCallExpressionWrapped) { - context.report({ - node, - messageId: "moveInvocation", - fix(fixer) { - - /* - * The inner function expression will always be wrapped at this point. - * It's only necessary to replace the range between the end of the function expression - * and the call expression. For example, in `(function(foo) {})(bar)`, the range `)(bar)` - * should get replaced with `(bar))`. - */ - const parenAfter = sourceCode.getTokenAfter(innerNode); - - return fixer.replaceTextRange( - [parenAfter.range[0], node.range[1]], - `${sourceCode.getText().slice(parenAfter.range[1], node.range[1])})` - ); - } - }); - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-regex.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-regex.js deleted file mode 100644 index 9e2808d6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/wrap-regex.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @fileoverview Rule to flag when regex literals are not wrapped in parens - * @author Matt DuVall - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require parenthesis around regex literals", - recommended: false, - url: "https://eslint.org/docs/latest/rules/wrap-regex" - }, - - schema: [], - fixable: "code", - - messages: { - requireParens: "Wrap the regexp literal in parens to disambiguate the slash." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - return { - - Literal(node) { - const token = sourceCode.getFirstToken(node), - nodeType = token.type; - - if (nodeType === "RegularExpression") { - const beforeToken = sourceCode.getTokenBefore(node); - const afterToken = sourceCode.getTokenAfter(node); - const { parent } = node; - - if (parent.type === "MemberExpression" && parent.object === node && - !(beforeToken && beforeToken.value === "(" && afterToken && afterToken.value === ")")) { - context.report({ - node, - messageId: "requireParens", - fix: fixer => fixer.replaceText(node, `(${sourceCode.getText(node)})`) - }); - } - } - } - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yield-star-spacing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yield-star-spacing.js deleted file mode 100644 index 5cf3804a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yield-star-spacing.js +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @fileoverview Rule to check the spacing around the * in yield* expressions. - * @author Bryan Smith - * @deprecated in ESLint v8.53.0 - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - deprecated: true, - replacedBy: [], - type: "layout", - - docs: { - description: "Require or disallow spacing around the `*` in `yield*` expressions", - recommended: false, - url: "https://eslint.org/docs/latest/rules/yield-star-spacing" - }, - - fixable: "whitespace", - - schema: [ - { - oneOf: [ - { - enum: ["before", "after", "both", "neither"] - }, - { - type: "object", - properties: { - before: { type: "boolean" }, - after: { type: "boolean" } - }, - additionalProperties: false - } - ] - } - ], - messages: { - missingBefore: "Missing space before *.", - missingAfter: "Missing space after *.", - unexpectedBefore: "Unexpected space before *.", - unexpectedAfter: "Unexpected space after *." - } - }, - - create(context) { - const sourceCode = context.sourceCode; - - const mode = (function(option) { - if (!option || typeof option === "string") { - return { - before: { before: true, after: false }, - after: { before: false, after: true }, - both: { before: true, after: true }, - neither: { before: false, after: false } - }[option || "after"]; - } - return option; - }(context.options[0])); - - /** - * Checks the spacing between two tokens before or after the star token. - * @param {string} side Either "before" or "after". - * @param {Token} leftToken `function` keyword token if side is "before", or - * star token if side is "after". - * @param {Token} rightToken Star token if side is "before", or identifier - * token if side is "after". - * @returns {void} - */ - function checkSpacing(side, leftToken, rightToken) { - if (sourceCode.isSpaceBetweenTokens(leftToken, rightToken) !== mode[side]) { - const after = leftToken.value === "*"; - const spaceRequired = mode[side]; - const node = after ? leftToken : rightToken; - let messageId; - - if (spaceRequired) { - messageId = side === "before" ? "missingBefore" : "missingAfter"; - } else { - messageId = side === "before" ? "unexpectedBefore" : "unexpectedAfter"; - } - - context.report({ - node, - messageId, - fix(fixer) { - if (spaceRequired) { - if (after) { - return fixer.insertTextAfter(node, " "); - } - return fixer.insertTextBefore(node, " "); - } - return fixer.removeRange([leftToken.range[1], rightToken.range[0]]); - } - }); - } - } - - /** - * Enforces the spacing around the star if node is a yield* expression. - * @param {ASTNode} node A yield expression node. - * @returns {void} - */ - function checkExpression(node) { - if (!node.delegate) { - return; - } - - const tokens = sourceCode.getFirstTokens(node, 3); - const yieldToken = tokens[0]; - const starToken = tokens[1]; - const nextToken = tokens[2]; - - checkSpacing("before", yieldToken, starToken); - checkSpacing("after", starToken, nextToken); - } - - return { - YieldExpression: checkExpression - }; - - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yoda.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yoda.js deleted file mode 100644 index af73e8e0..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/rules/yoda.js +++ /dev/null @@ -1,350 +0,0 @@ -/** - * @fileoverview Rule to require or disallow yoda comparisons - * @author Nicholas C. Zakas - */ -"use strict"; - -//-------------------------------------------------------------------------- -// Requirements -//-------------------------------------------------------------------------- - -const astUtils = require("./utils/ast-utils"); - -//-------------------------------------------------------------------------- -// Helpers -//-------------------------------------------------------------------------- - -/** - * Determines whether an operator is a comparison operator. - * @param {string} operator The operator to check. - * @returns {boolean} Whether or not it is a comparison operator. - */ -function isComparisonOperator(operator) { - return /^(==|===|!=|!==|<|>|<=|>=)$/u.test(operator); -} - -/** - * Determines whether an operator is an equality operator. - * @param {string} operator The operator to check. - * @returns {boolean} Whether or not it is an equality operator. - */ -function isEqualityOperator(operator) { - return /^(==|===)$/u.test(operator); -} - -/** - * Determines whether an operator is one used in a range test. - * Allowed operators are `<` and `<=`. - * @param {string} operator The operator to check. - * @returns {boolean} Whether the operator is used in range tests. - */ -function isRangeTestOperator(operator) { - return ["<", "<="].includes(operator); -} - -/** - * Determines whether a non-Literal node is a negative number that should be - * treated as if it were a single Literal node. - * @param {ASTNode} node Node to test. - * @returns {boolean} True if the node is a negative number that looks like a - * real literal and should be treated as such. - */ -function isNegativeNumericLiteral(node) { - return ( - node.type === "UnaryExpression" && - node.operator === "-" && - node.prefix && - astUtils.isNumericLiteral(node.argument) - ); -} - -/** - * Determines whether a non-Literal node should be treated as a single Literal node. - * @param {ASTNode} node Node to test - * @returns {boolean} True if the node should be treated as a single Literal node. - */ -function looksLikeLiteral(node) { - return isNegativeNumericLiteral(node) || astUtils.isStaticTemplateLiteral(node); -} - -/** - * Attempts to derive a Literal node from nodes that are treated like literals. - * @param {ASTNode} node Node to normalize. - * @returns {ASTNode} One of the following options. - * 1. The original node if the node is already a Literal - * 2. A normalized Literal node with the negative number as the value if the - * node represents a negative number literal. - * 3. A normalized Literal node with the string as the value if the node is - * a Template Literal without expression. - * 4. Otherwise `null`. - */ -function getNormalizedLiteral(node) { - if (node.type === "Literal") { - return node; - } - - if (isNegativeNumericLiteral(node)) { - return { - type: "Literal", - value: -node.argument.value, - raw: `-${node.argument.value}` - }; - } - - if (astUtils.isStaticTemplateLiteral(node)) { - return { - type: "Literal", - value: node.quasis[0].value.cooked, - raw: node.quasis[0].value.raw - }; - } - - return null; -} - -//------------------------------------------------------------------------------ -// Rule Definition -//------------------------------------------------------------------------------ - -/** @type {import('../shared/types').Rule} */ -module.exports = { - meta: { - type: "suggestion", - - defaultOptions: ["never", { - exceptRange: false, - onlyEquality: false - }], - - docs: { - description: 'Require or disallow "Yoda" conditions', - recommended: false, - url: "https://eslint.org/docs/latest/rules/yoda" - }, - - schema: [ - { - enum: ["always", "never"] - }, - { - type: "object", - properties: { - exceptRange: { - type: "boolean" - }, - onlyEquality: { - type: "boolean" - } - }, - additionalProperties: false - } - ], - - fixable: "code", - messages: { - expected: - "Expected literal to be on the {{expectedSide}} side of {{operator}}." - } - }, - - create(context) { - const [when, { exceptRange, onlyEquality }] = context.options; - const always = when === "always"; - const sourceCode = context.sourceCode; - - /** - * Determines whether node represents a range test. - * A range test is a "between" test like `(0 <= x && x < 1)` or an "outside" - * test like `(x < 0 || 1 <= x)`. It must be wrapped in parentheses, and - * both operators must be `<` or `<=`. Finally, the literal on the left side - * must be less than or equal to the literal on the right side so that the - * test makes any sense. - * @param {ASTNode} node LogicalExpression node to test. - * @returns {boolean} Whether node is a range test. - */ - function isRangeTest(node) { - const left = node.left, - right = node.right; - - /** - * Determines whether node is of the form `0 <= x && x < 1`. - * @returns {boolean} Whether node is a "between" range test. - */ - function isBetweenTest() { - if (node.operator === "&&" && astUtils.isSameReference(left.right, right.left)) { - const leftLiteral = getNormalizedLiteral(left.left); - const rightLiteral = getNormalizedLiteral(right.right); - - if (leftLiteral === null && rightLiteral === null) { - return false; - } - - if (rightLiteral === null || leftLiteral === null) { - return true; - } - - if (leftLiteral.value <= rightLiteral.value) { - return true; - } - } - return false; - } - - /** - * Determines whether node is of the form `x < 0 || 1 <= x`. - * @returns {boolean} Whether node is an "outside" range test. - */ - function isOutsideTest() { - if (node.operator === "||" && astUtils.isSameReference(left.left, right.right)) { - const leftLiteral = getNormalizedLiteral(left.right); - const rightLiteral = getNormalizedLiteral(right.left); - - if (leftLiteral === null && rightLiteral === null) { - return false; - } - - if (rightLiteral === null || leftLiteral === null) { - return true; - } - - if (leftLiteral.value <= rightLiteral.value) { - return true; - } - } - - return false; - } - - /** - * Determines whether node is wrapped in parentheses. - * @returns {boolean} Whether node is preceded immediately by an open - * paren token and followed immediately by a close - * paren token. - */ - function isParenWrapped() { - return astUtils.isParenthesised(sourceCode, node); - } - - return ( - node.type === "LogicalExpression" && - left.type === "BinaryExpression" && - right.type === "BinaryExpression" && - isRangeTestOperator(left.operator) && - isRangeTestOperator(right.operator) && - (isBetweenTest() || isOutsideTest()) && - isParenWrapped() - ); - } - - const OPERATOR_FLIP_MAP = { - "===": "===", - "!==": "!==", - "==": "==", - "!=": "!=", - "<": ">", - ">": "<", - "<=": ">=", - ">=": "<=" - }; - - /** - * Returns a string representation of a BinaryExpression node with its sides/operator flipped around. - * @param {ASTNode} node The BinaryExpression node - * @returns {string} A string representation of the node with the sides and operator flipped - */ - function getFlippedString(node) { - const operatorToken = sourceCode.getFirstTokenBetween( - node.left, - node.right, - token => token.value === node.operator - ); - const lastLeftToken = sourceCode.getTokenBefore(operatorToken); - const firstRightToken = sourceCode.getTokenAfter(operatorToken); - - const source = sourceCode.getText(); - - const leftText = source.slice( - node.range[0], - lastLeftToken.range[1] - ); - const textBeforeOperator = source.slice( - lastLeftToken.range[1], - operatorToken.range[0] - ); - const textAfterOperator = source.slice( - operatorToken.range[1], - firstRightToken.range[0] - ); - const rightText = source.slice( - firstRightToken.range[0], - node.range[1] - ); - - const tokenBefore = sourceCode.getTokenBefore(node); - const tokenAfter = sourceCode.getTokenAfter(node); - let prefix = ""; - let suffix = ""; - - if ( - tokenBefore && - tokenBefore.range[1] === node.range[0] && - !astUtils.canTokensBeAdjacent(tokenBefore, firstRightToken) - ) { - prefix = " "; - } - - if ( - tokenAfter && - node.range[1] === tokenAfter.range[0] && - !astUtils.canTokensBeAdjacent(lastLeftToken, tokenAfter) - ) { - suffix = " "; - } - - return ( - prefix + - rightText + - textBeforeOperator + - OPERATOR_FLIP_MAP[operatorToken.value] + - textAfterOperator + - leftText + - suffix - ); - } - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - return { - BinaryExpression(node) { - const expectedLiteral = always ? node.left : node.right; - const expectedNonLiteral = always ? node.right : node.left; - - // If `expectedLiteral` is not a literal, and `expectedNonLiteral` is a literal, raise an error. - if ( - (expectedNonLiteral.type === "Literal" || - looksLikeLiteral(expectedNonLiteral)) && - !( - expectedLiteral.type === "Literal" || - looksLikeLiteral(expectedLiteral) - ) && - !(!isEqualityOperator(node.operator) && onlyEquality) && - isComparisonOperator(node.operator) && - !(exceptRange && isRangeTest(node.parent)) - ) { - context.report({ - node, - messageId: "expected", - data: { - operator: node.operator, - expectedSide: always ? "left" : "right" - }, - fix: fixer => - fixer.replaceText(node, getFlippedString(node)) - }); - } - } - }; - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/parser-service.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/parser-service.js deleted file mode 100644 index c138b831..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/parser-service.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - * @fileoverview ESLint Parser - * @author Nicholas C. Zakas - */ -/* eslint class-methods-use-this: off -- Anticipate future constructor arguments. */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Types -//----------------------------------------------------------------------------- - -/** @typedef {import("../linter/vfile.js").VFile} VFile */ -/** @typedef {import("@eslint/core").Language} Language */ -/** @typedef {import("@eslint/core").LanguageOptions} LanguageOptions */ - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -/** - * The parser for ESLint. - */ -class ParserService { - - /** - * Parses the given file synchronously. - * @param {VFile} file The file to parse. - * @param {{language:Language,languageOptions:LanguageOptions}} config The configuration to use. - * @returns {Object} An object with the parsed source code or errors. - * @throws {Error} If the parser returns a promise. - */ - parseSync(file, config) { - - const { language, languageOptions } = config; - const result = language.parse(file, { languageOptions }); - - if (typeof result.then === "function") { - throw new Error("Unsupported: Language parser returned a promise."); - } - - if (result.ok) { - return { - ok: true, - sourceCode: language.createSourceCode(file, result, { languageOptions }) - }; - } - - // if we made it to here there was an error - return { - ok: false, - errors: result.errors.map(error => ({ - ruleId: null, - nodeType: null, - fatal: true, - severity: 2, - message: `Parsing error: ${error.message}`, - line: error.line, - column: error.column - })) - }; - } -} - -module.exports = { ParserService }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/processor-service.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/processor-service.js deleted file mode 100644 index 403b97c1..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/services/processor-service.js +++ /dev/null @@ -1,109 +0,0 @@ -/** - * @fileoverview ESLint Processor Service - * @author Nicholas C. Zakas - */ -/* eslint class-methods-use-this: off -- Anticipate future constructor arguments. */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const path = require("node:path"); -const { VFile } = require("../linter/vfile.js"); - -//----------------------------------------------------------------------------- -// Types -//----------------------------------------------------------------------------- - -/** @typedef {import("../shared/types.js").LintMessage} LintMessage */ -/** @typedef {import("../linter/vfile.js").VFile} VFile */ -/** @typedef {import("@eslint/core").Language} Language */ -/** @typedef {import("@eslint/core").LanguageOptions} LanguageOptions */ -/** @typedef {import("eslint").Linter.Processor} Processor */ - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -/** - * The service that applies processors to files. - */ -class ProcessorService { - - /** - * Preprocesses the given file synchronously. - * @param {VFile} file The file to preprocess. - * @param {{processor:Processor}} config The configuration to use. - * @returns {{ok:boolean, files?: Array, errors?: Array}} An array of preprocessed files or errors. - * @throws {Error} If the preprocessor returns a promise. - */ - preprocessSync(file, config) { - - const { processor } = config; - let blocks; - - try { - blocks = processor.preprocess(file.rawBody, file.path); - } catch (ex) { - - // If the message includes a leading line number, strip it: - const message = `Preprocessing error: ${ex.message.replace(/^line \d+:/iu, "").trim()}`; - - return { - ok: false, - errors: [ - { - ruleId: null, - fatal: true, - severity: 2, - message, - line: ex.lineNumber, - column: ex.column, - nodeType: null - } - ] - }; - } - - if (typeof blocks.then === "function") { - throw new Error("Unsupported: Preprocessor returned a promise."); - } - - return { - ok: true, - files: blocks.map((block, i) => { - - // Legacy behavior: return the block as a string - if (typeof block === "string") { - return block; - } - - const filePath = path.join(file.path, `${i}_${block.filename}`); - - return new VFile(filePath, block.text, { - physicalPath: file.physicalPath - }); - }) - }; - - } - - /** - * Postprocesses the given messages synchronously. - * @param {VFile} file The file to postprocess. - * @param {LintMessage[][]} messages The messages to postprocess. - * @param {{processor:Processor}} config The configuration to use. - * @returns {LintMessage[]} The postprocessed messages. - */ - postprocessSync(file, messages, config) { - - const { processor } = config; - - return processor.postprocess(messages, file.path); - } - -} - -module.exports = { ProcessorService }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ajv.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ajv.js deleted file mode 100644 index f4f6a621..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ajv.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @fileoverview The instance of Ajv validator. - * @author Evgeny Poberezkin - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const Ajv = require("ajv"), - metaSchema = require("ajv/lib/refs/json-schema-draft-04.json"); - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = (additionalOptions = {}) => { - const ajv = new Ajv({ - meta: false, - useDefaults: true, - validateSchema: false, - missingRefs: "ignore", - verbose: true, - schemaId: "auto", - ...additionalOptions - }); - - ajv.addMetaSchema(metaSchema); - // eslint-disable-next-line no-underscore-dangle -- Ajv's API - ajv._opts.defaultMeta = metaSchema.id; - - return ajv; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/assert.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/assert.js deleted file mode 100644 index 00bbe07d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/assert.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @fileoverview Assertion utilities equivalent to the Node.js node:asserts module. - * @author Josh Goldberg - */ - -"use strict"; - -/** - * Throws an error if the input is not truthy. - * @param {unknown} value The input that is checked for being truthy. - * @param {string} message Message to throw if the input is not truthy. - * @returns {void} - * @throws {Error} When the condition is not truthy. - */ -function ok(value, message = "Assertion failed.") { - if (!value) { - throw new Error(message); - } -} - - -module.exports = ok; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ast-utils.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ast-utils.js deleted file mode 100644 index 4ebd49c3..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/ast-utils.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @fileoverview Common utils for AST. - * - * This file contains only shared items for core and rules. - * If you make a utility for rules, please see `../rules/utils/ast-utils.js`. - * - * @author Toru Nagashima - */ -"use strict"; - -const breakableTypePattern = /^(?:(?:Do)?While|For(?:In|Of)?|Switch)Statement$/u; -const lineBreakPattern = /\r\n|[\r\n\u2028\u2029]/u; -const shebangPattern = /^#!([^\r\n]+)/u; - -/** - * Creates a version of the `lineBreakPattern` regex with the global flag. - * Global regexes are mutable, so this needs to be a function instead of a constant. - * @returns {RegExp} A global regular expression that matches line terminators - */ -function createGlobalLinebreakMatcher() { - return new RegExp(lineBreakPattern.source, "gu"); -} - -module.exports = { - breakableTypePattern, - lineBreakPattern, - createGlobalLinebreakMatcher, - shebangPattern -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/deep-merge-arrays.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/deep-merge-arrays.js deleted file mode 100644 index d34149dd..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/deep-merge-arrays.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @fileoverview Applies default rule options - * @author JoshuaKGoldberg - */ - -"use strict"; - -/** - * Check if the variable contains an object strictly rejecting arrays - * @param {unknown} value an object - * @returns {boolean} Whether value is an object - */ -function isObjectNotArray(value) { - return typeof value === "object" && value !== null && !Array.isArray(value); -} - -/** - * Deeply merges second on top of first, creating a new {} object if needed. - * @param {T} first Base, default value. - * @param {U} second User-specified value. - * @returns {T | U | (T & U)} Merged equivalent of second on top of first. - */ -function deepMergeObjects(first, second) { - if (second === void 0) { - return first; - } - - if (!isObjectNotArray(first) || !isObjectNotArray(second)) { - return second; - } - - const result = { ...first, ...second }; - - for (const key of Object.keys(second)) { - if (Object.prototype.propertyIsEnumerable.call(first, key)) { - result[key] = deepMergeObjects(first[key], second[key]); - } - } - - return result; -} - -/** - * Deeply merges second on top of first, creating a new [] array if needed. - * @param {T[]} first Base, default values. - * @param {U[]} second User-specified values. - * @returns {(T | U | (T & U))[]} Merged equivalent of second on top of first. - */ -function deepMergeArrays(first, second) { - if (!first || !second) { - return second || first || []; - } - - return [ - ...first.map((value, i) => deepMergeObjects(value, i < second.length ? second[i] : void 0)), - ...second.slice(first.length) - ]; -} - -module.exports = { deepMergeArrays }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/directives.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/directives.js deleted file mode 100644 index ff67b00a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/directives.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * @fileoverview Common utils for directives. - * - * This file contains only shared items for directives. - * If you make a utility for rules, please see `../rules/utils/ast-utils.js`. - * - * @author gfyoung - */ -"use strict"; - -const directivesPattern = /^(eslint(?:-env|-enable|-disable(?:(?:-next)?-line)?)?|exported|globals?)(?:\s|$)/u; - -module.exports = { - directivesPattern -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/flags.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/flags.js deleted file mode 100644 index 70ef2c90..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/flags.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @fileoverview Shared flags for ESLint. - */ - -"use strict"; - -/** - * The set of flags that change ESLint behavior with a description. - * @type {Map} - */ -const activeFlags = new Map([ - ["test_only", "Used only for testing."], - ["unstable_config_lookup_from_file", "Look up `eslint.config.js` from the file being linted."], - ["unstable_ts_config", "Enable TypeScript configuration files."] -]); - -/** - * The set of flags that used to be active but no longer have an effect. - * @type {Map} - */ -const inactiveFlags = new Map([ - ["test_only_old", "Used only for testing."] -]); - -module.exports = { - activeFlags, - inactiveFlags -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/logging.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/logging.js deleted file mode 100644 index 9310e586..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/logging.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @fileoverview Handle logging for ESLint - * @author Gyandeep Singh - */ - -"use strict"; - -/* eslint no-console: "off" -- Logging util */ - -/* c8 ignore next */ -module.exports = { - - /** - * Cover for console.info - * @param {...any} args The elements to log. - * @returns {void} - */ - info(...args) { - console.log(...args); - }, - - /** - * Cover for console.warn - * @param {...any} args The elements to log. - * @returns {void} - */ - warn(...args) { - console.warn(...args); - }, - - /** - * Cover for console.error - * @param {...any} args The elements to log. - * @returns {void} - */ - error(...args) { - console.error(...args); - } -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/runtime-info.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/runtime-info.js deleted file mode 100644 index 29de6fc8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/runtime-info.js +++ /dev/null @@ -1,168 +0,0 @@ -/** - * @fileoverview Utility to get information about the execution environment. - * @author Kai Cataldo - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const path = require("node:path"); -const spawn = require("cross-spawn"); -const os = require("node:os"); -const log = require("../shared/logging"); -const packageJson = require("../../package.json"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Generates and returns execution environment information. - * @returns {string} A string that contains execution environment information. - */ -function environment() { - const cache = new Map(); - - /** - * Checks if a path is a child of a directory. - * @param {string} parentPath The parent path to check. - * @param {string} childPath The path to check. - * @returns {boolean} Whether or not the given path is a child of a directory. - */ - function isChildOfDirectory(parentPath, childPath) { - return !path.relative(parentPath, childPath).startsWith(".."); - } - - /** - * Synchronously executes a shell command and formats the result. - * @param {string} cmd The command to execute. - * @param {Array} args The arguments to be executed with the command. - * @throws {Error} As may be collected by `cross-spawn.sync`. - * @returns {string} The version returned by the command. - */ - function execCommand(cmd, args) { - const key = [cmd, ...args].join(" "); - - if (cache.has(key)) { - return cache.get(key); - } - - const process = spawn.sync(cmd, args, { encoding: "utf8" }); - - if (process.error) { - throw process.error; - } - - const result = process.stdout.trim(); - - cache.set(key, result); - return result; - } - - /** - * Normalizes a version number. - * @param {string} versionStr The string to normalize. - * @returns {string} The normalized version number. - */ - function normalizeVersionStr(versionStr) { - return versionStr.startsWith("v") ? versionStr : `v${versionStr}`; - } - - /** - * Gets bin version. - * @param {string} bin The bin to check. - * @throws {Error} As may be collected by `cross-spawn.sync`. - * @returns {string} The normalized version returned by the command. - */ - function getBinVersion(bin) { - const binArgs = ["--version"]; - - try { - return normalizeVersionStr(execCommand(bin, binArgs)); - } catch (e) { - log.error(`Error finding ${bin} version running the command \`${bin} ${binArgs.join(" ")}\``); - throw e; - } - } - - /** - * Gets installed npm package version. - * @param {string} pkg The package to check. - * @param {boolean} global Whether to check globally or not. - * @throws {Error} As may be collected by `cross-spawn.sync`. - * @returns {string} The normalized version returned by the command. - */ - function getNpmPackageVersion(pkg, { global = false } = {}) { - const npmBinArgs = ["bin", "-g"]; - const npmLsArgs = ["ls", "--depth=0", "--json", pkg]; - - if (global) { - npmLsArgs.push("-g"); - } - - try { - const parsedStdout = JSON.parse(execCommand("npm", npmLsArgs)); - - /* - * Checking globally returns an empty JSON object, while local checks - * include the name and version of the local project. - */ - if (Object.keys(parsedStdout).length === 0 || !(parsedStdout.dependencies && parsedStdout.dependencies.eslint)) { - return "Not found"; - } - - const [, processBinPath] = process.argv; - let npmBinPath; - - try { - npmBinPath = execCommand("npm", npmBinArgs); - } catch (e) { - log.error(`Error finding npm binary path when running command \`npm ${npmBinArgs.join(" ")}\``); - throw e; - } - - const isGlobal = isChildOfDirectory(npmBinPath, processBinPath); - let pkgVersion = parsedStdout.dependencies.eslint.version; - - if ((global && isGlobal) || (!global && !isGlobal)) { - pkgVersion += " (Currently used)"; - } - - return normalizeVersionStr(pkgVersion); - } catch (e) { - log.error(`Error finding ${pkg} version running the command \`npm ${npmLsArgs.join(" ")}\``); - throw e; - } - } - - return [ - "Environment Info:", - "", - `Node version: ${getBinVersion("node")}`, - `npm version: ${getBinVersion("npm")}`, - `Local ESLint version: ${getNpmPackageVersion("eslint", { global: false })}`, - `Global ESLint version: ${getNpmPackageVersion("eslint", { global: true })}`, - `Operating System: ${os.platform()} ${os.release()}` - ].join("\n"); -} - -/** - * Returns version of currently executing ESLint. - * @returns {string} The version from the currently executing ESLint's package.json. - */ -function version() { - return `v${packageJson.version}`; -} - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -module.exports = { - __esModule: true, // Indicate intent for imports, remove ambiguity for Knip (see: https://github.com/eslint/eslint/pull/18005#discussion_r1484422616) - environment, - version -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/serialization.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/serialization.js deleted file mode 100644 index 69f5710f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/serialization.js +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @fileoverview Serialization utils. - * @author Bryan Mishkin - */ - -"use strict"; - -/** - * Check if a value is a primitive or plain object created by the Object constructor. - * @param {any} val the value to check - * @returns {boolean} true if so - * @private - */ -function isSerializablePrimitiveOrPlainObject(val) { - return ( - val === null || - typeof val === "string" || - typeof val === "boolean" || - typeof val === "number" || - (typeof val === "object" && val.constructor === Object) || - Array.isArray(val) - ); -} - -/** - * Check if a value is serializable. - * Functions or objects like RegExp cannot be serialized by JSON.stringify(). - * Inspired by: https://stackoverflow.com/questions/30579940/reliable-way-to-check-if-objects-is-serializable-in-javascript - * @param {any} val the value - * @returns {boolean} true if the value is serializable - */ -function isSerializable(val) { - if (!isSerializablePrimitiveOrPlainObject(val)) { - return false; - } - if (typeof val === "object") { - for (const property in val) { - if (Object.hasOwn(val, property)) { - if (!isSerializablePrimitiveOrPlainObject(val[property])) { - return false; - } - if (typeof val[property] === "object") { - if (!isSerializable(val[property])) { - return false; - } - } - } - } - } - return true; -} - -module.exports = { - isSerializable -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/severity.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/severity.js deleted file mode 100644 index 6b21469a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/severity.js +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @fileoverview Helpers for severity values (e.g. normalizing different types). - * @author Bryan Mishkin - */ - -"use strict"; - -/** - * Convert severity value of different types to a string. - * @param {string|number} severity severity value - * @throws error if severity is invalid - * @returns {string} severity string - */ -function normalizeSeverityToString(severity) { - if ([2, "2", "error"].includes(severity)) { - return "error"; - } - if ([1, "1", "warn"].includes(severity)) { - return "warn"; - } - if ([0, "0", "off"].includes(severity)) { - return "off"; - } - throw new Error(`Invalid severity value: ${severity}`); -} - -/** - * Convert severity value of different types to a number. - * @param {string|number} severity severity value - * @throws error if severity is invalid - * @returns {number} severity number - */ -function normalizeSeverityToNumber(severity) { - if ([2, "2", "error"].includes(severity)) { - return 2; - } - if ([1, "1", "warn"].includes(severity)) { - return 1; - } - if ([0, "0", "off"].includes(severity)) { - return 0; - } - throw new Error(`Invalid severity value: ${severity}`); -} - -module.exports = { - normalizeSeverityToString, - normalizeSeverityToNumber -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/stats.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/stats.js deleted file mode 100644 index c5d4d188..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/stats.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @fileoverview Provides helper functions to start/stop the time measurements - * that are provided by the ESLint 'stats' option. - * @author Mara Kiefer - */ -"use strict"; - -/** - * Start time measurement - * @returns {[number, number]} t variable for tracking time - */ -function startTime() { - return process.hrtime(); -} - -/** - * End time measurement - * @param {[number, number]} t Variable for tracking time - * @returns {number} The measured time in milliseconds - */ -function endTime(t) { - const time = process.hrtime(t); - - return time[0] * 1e3 + time[1] / 1e6; -} - -module.exports = { - startTime, - endTime -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/string-utils.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/string-utils.js deleted file mode 100644 index 31d0df98..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/string-utils.js +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @fileoverview Utilities to operate on strings. - * @author Stephen Wade - */ - -"use strict"; - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -// eslint-disable-next-line no-control-regex -- intentionally including control characters -const ASCII_REGEX = /^[\u0000-\u007f]*$/u; - -/** @type {Intl.Segmenter | undefined} */ -let segmenter; - -//------------------------------------------------------------------------------ -// Public Interface -//------------------------------------------------------------------------------ - -/** - * Converts the first letter of a string to uppercase. - * @param {string} string The string to operate on - * @returns {string} The converted string - */ -function upperCaseFirst(string) { - if (string.length <= 1) { - return string.toUpperCase(); - } - return string[0].toUpperCase() + string.slice(1); -} - -/** - * Counts graphemes in a given string. - * @param {string} value A string to count graphemes. - * @returns {number} The number of graphemes in `value`. - */ -function getGraphemeCount(value) { - if (ASCII_REGEX.test(value)) { - return value.length; - } - - segmenter ??= new Intl.Segmenter("en-US"); // en-US locale should be supported everywhere - let graphemeCount = 0; - - // eslint-disable-next-line no-unused-vars -- for-of needs a variable - for (const unused of segmenter.segment(value)) { - graphemeCount++; - } - - return graphemeCount; -} - -module.exports = { - upperCaseFirst, - getGraphemeCount -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/text-table.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/text-table.js deleted file mode 100644 index ddd137d6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/text-table.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @fileoverview Optimized version of the `text-table` npm module to improve performance by replacing inefficient regex-based - * whitespace trimming with a modern built-in method. - * - * This modification addresses a performance issue reported in https://github.com/eslint/eslint/issues/18709 - * - * The `text-table` module is published under the MIT License. For the original source, refer to: - * https://www.npmjs.com/package/text-table. - */ - -/* - * - * This software is released under the MIT license: - * - * 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. - */ - -"use strict"; - -module.exports = function(rows_, opts) { - const hsep = " "; - const align = opts.align; - const stringLength = opts.stringLength; - - const sizes = rows_.reduce((acc, row) => { - row.forEach((c, ix) => { - const n = stringLength(c); - - if (!acc[ix] || n > acc[ix]) { - acc[ix] = n; - } - }); - return acc; - }, []); - - return rows_ - .map(row => - row - .map((c, ix) => { - const n = sizes[ix] - stringLength(c) || 0; - const s = Array(Math.max(n + 1, 1)).join(" "); - - if (align[ix] === "r") { - return s + c; - } - - return c + s; - }) - .join(hsep) - .trimEnd()) - .join("\n"); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/traverser.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/traverser.js deleted file mode 100644 index 38b4e215..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/traverser.js +++ /dev/null @@ -1,195 +0,0 @@ -/** - * @fileoverview Traverser to traverse AST trees. - * @author Nicholas C. Zakas - * @author Toru Nagashima - */ -"use strict"; - -//------------------------------------------------------------------------------ -// Requirements -//------------------------------------------------------------------------------ - -const vk = require("eslint-visitor-keys"); -const debug = require("debug")("eslint:traverser"); - -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -/** - * Do nothing. - * @returns {void} - */ -function noop() { - - // do nothing. -} - -/** - * Check whether the given value is an ASTNode or not. - * @param {any} x The value to check. - * @returns {boolean} `true` if the value is an ASTNode. - */ -function isNode(x) { - return x !== null && typeof x === "object" && typeof x.type === "string"; -} - -/** - * Get the visitor keys of a given node. - * @param {Object} visitorKeys The map of visitor keys. - * @param {ASTNode} node The node to get their visitor keys. - * @returns {string[]} The visitor keys of the node. - */ -function getVisitorKeys(visitorKeys, node) { - let keys = visitorKeys[node.type]; - - if (!keys) { - keys = vk.getKeys(node); - debug("Unknown node type \"%s\": Estimated visitor keys %j", node.type, keys); - } - - return keys; -} - -/** - * The traverser class to traverse AST trees. - */ -class Traverser { - constructor() { - this._current = null; - this._parents = []; - this._skipped = false; - this._broken = false; - this._visitorKeys = null; - this._enter = null; - this._leave = null; - } - - /** - * Gives current node. - * @returns {ASTNode} The current node. - */ - current() { - return this._current; - } - - /** - * Gives a copy of the ancestor nodes. - * @returns {ASTNode[]} The ancestor nodes. - */ - parents() { - return this._parents.slice(0); - } - - /** - * Break the current traversal. - * @returns {void} - */ - break() { - this._broken = true; - } - - /** - * Skip child nodes for the current traversal. - * @returns {void} - */ - skip() { - this._skipped = true; - } - - /** - * Traverse the given AST tree. - * @param {ASTNode} node The root node to traverse. - * @param {Object} options The option object. - * @param {Object} [options.visitorKeys=DEFAULT_VISITOR_KEYS] The keys of each node types to traverse child nodes. Default is `./default-visitor-keys.json`. - * @param {Function} [options.enter=noop] The callback function which is called on entering each node. - * @param {Function} [options.leave=noop] The callback function which is called on leaving each node. - * @returns {void} - */ - traverse(node, options) { - this._current = null; - this._parents = []; - this._skipped = false; - this._broken = false; - this._visitorKeys = options.visitorKeys || vk.KEYS; - this._enter = options.enter || noop; - this._leave = options.leave || noop; - this._traverse(node, null); - } - - /** - * Traverse the given AST tree recursively. - * @param {ASTNode} node The current node. - * @param {ASTNode|null} parent The parent node. - * @returns {void} - * @private - */ - _traverse(node, parent) { - if (!isNode(node)) { - return; - } - - this._current = node; - this._skipped = false; - this._enter(node, parent); - - if (!this._skipped && !this._broken) { - const keys = getVisitorKeys(this._visitorKeys, node); - - if (keys.length >= 1) { - this._parents.push(node); - for (let i = 0; i < keys.length && !this._broken; ++i) { - const child = node[keys[i]]; - - if (Array.isArray(child)) { - for (let j = 0; j < child.length && !this._broken; ++j) { - this._traverse(child[j], node); - } - } else { - this._traverse(child, node); - } - } - this._parents.pop(); - } - } - - if (!this._broken) { - this._leave(node, parent); - } - - this._current = parent; - } - - /** - * Calculates the keys to use for traversal. - * @param {ASTNode} node The node to read keys from. - * @returns {string[]} An array of keys to visit on the node. - * @private - */ - static getKeys(node) { - return vk.getKeys(node); - } - - /** - * Traverse the given AST tree. - * @param {ASTNode} node The root node to traverse. - * @param {Object} options The option object. - * @param {Object} [options.visitorKeys=DEFAULT_VISITOR_KEYS] The keys of each node types to traverse child nodes. Default is `./default-visitor-keys.json`. - * @param {Function} [options.enter=noop] The callback function which is called on entering each node. - * @param {Function} [options.leave=noop] The callback function which is called on leaving each node. - * @returns {void} - */ - static traverse(node, options) { - new Traverser().traverse(node, options); - } - - /** - * The default visitor keys. - * @type {Object} - */ - static get DEFAULT_VISITOR_KEYS() { - return vk.KEYS; - } -} - -module.exports = Traverser; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/types.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/types.js deleted file mode 100644 index f12c369c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/shared/types.js +++ /dev/null @@ -1,251 +0,0 @@ -/** - * @fileoverview Define common types for input completion. - * @author Toru Nagashima - */ -"use strict"; - -/** @type {any} */ -module.exports = {}; - -/** @typedef {boolean | "off" | "readable" | "readonly" | "writable" | "writeable"} GlobalConf */ -/** @typedef {0 | 1 | 2 | "off" | "warn" | "error"} SeverityConf */ -/** @typedef {SeverityConf | [SeverityConf, ...any[]]} RuleConf */ - -/** - * @typedef {Object} EcmaFeatures - * @property {boolean} [globalReturn] Enabling `return` statements at the top-level. - * @property {boolean} [jsx] Enabling JSX syntax. - * @property {boolean} [impliedStrict] Enabling strict mode always. - */ - -/** - * @typedef {Object} ParserOptions - * @property {EcmaFeatures} [ecmaFeatures] The optional features. - * @property {3|5|6|7|8|9|10|11|12|13|14|15|16|2015|2016|2017|2018|2019|2020|2021|2022|2023|2024|2025} [ecmaVersion] The ECMAScript version (or revision number). - * @property {"script"|"module"} [sourceType] The source code type. - * @property {boolean} [allowReserved] Allowing the use of reserved words as identifiers in ES3. - */ - -/** - * @typedef {Object} LanguageOptions - * @property {number|"latest"} [ecmaVersion] The ECMAScript version (or revision number). - * @property {Record} [globals] The global variable settings. - * @property {"script"|"module"|"commonjs"} [sourceType] The source code type. - * @property {string|Object} [parser] The parser to use. - * @property {Object} [parserOptions] The parser options to use. - */ - -/** - * @typedef {Object} ConfigData - * @property {Record} [env] The environment settings. - * @property {string | string[]} [extends] The path to other config files or the package name of shareable configs. - * @property {Record} [globals] The global variable settings. - * @property {string | string[]} [ignorePatterns] The glob patterns that ignore to lint. - * @property {boolean} [noInlineConfig] The flag that disables directive comments. - * @property {OverrideConfigData[]} [overrides] The override settings per kind of files. - * @property {string} [parser] The path to a parser or the package name of a parser. - * @property {ParserOptions} [parserOptions] The parser options. - * @property {string[]} [plugins] The plugin specifiers. - * @property {string} [processor] The processor specifier. - * @property {boolean} [reportUnusedDisableDirectives] The flag to report unused `eslint-disable` comments. - * @property {boolean} [root] The root flag. - * @property {Record} [rules] The rule settings. - * @property {Object} [settings] The shared settings. - */ - -/** - * @typedef {Object} OverrideConfigData - * @property {Record} [env] The environment settings. - * @property {string | string[]} [excludedFiles] The glob patterns for excluded files. - * @property {string | string[]} [extends] The path to other config files or the package name of shareable configs. - * @property {string | string[]} files The glob patterns for target files. - * @property {Record} [globals] The global variable settings. - * @property {boolean} [noInlineConfig] The flag that disables directive comments. - * @property {OverrideConfigData[]} [overrides] The override settings per kind of files. - * @property {string} [parser] The path to a parser or the package name of a parser. - * @property {ParserOptions} [parserOptions] The parser options. - * @property {string[]} [plugins] The plugin specifiers. - * @property {string} [processor] The processor specifier. - * @property {boolean} [reportUnusedDisableDirectives] The flag to report unused `eslint-disable` comments. - * @property {Record} [rules] The rule settings. - * @property {Object} [settings] The shared settings. - */ - -/** - * @typedef {Object} ParseResult - * @property {Object} ast The AST. - * @property {ScopeManager} [scopeManager] The scope manager of the AST. - * @property {Record} [services] The services that the parser provides. - * @property {Record} [visitorKeys] The visitor keys of the AST. - */ - -/** - * @typedef {Object} Parser - * @property {(text:string, options:ParserOptions) => Object} parse The definition of global variables. - * @property {(text:string, options:ParserOptions) => ParseResult} [parseForESLint] The parser options that will be enabled under this environment. - */ - -/** - * @typedef {Object} Environment - * @property {Record} [globals] The definition of global variables. - * @property {ParserOptions} [parserOptions] The parser options that will be enabled under this environment. - */ - -/** - * @typedef {Object} LintMessage - * @property {number|undefined} column The 1-based column number. - * @property {number} [endColumn] The 1-based column number of the end location. - * @property {number} [endLine] The 1-based line number of the end location. - * @property {boolean} [fatal] If `true` then this is a fatal error. - * @property {{range:[number,number], text:string}} [fix] Information for autofix. - * @property {number|undefined} line The 1-based line number. - * @property {string} message The error message. - * @property {string} [messageId] The ID of the message in the rule's meta. - * @property {(string|null)} nodeType Type of node - * @property {string|null} ruleId The ID of the rule which makes this message. - * @property {0|1|2} severity The severity of this message. - * @property {Array<{desc?: string, messageId?: string, fix: {range: [number, number], text: string}}>} [suggestions] Information for suggestions. - */ - -/** - * @typedef {Object} SuppressedLintMessage - * @property {number|undefined} column The 1-based column number. - * @property {number} [endColumn] The 1-based column number of the end location. - * @property {number} [endLine] The 1-based line number of the end location. - * @property {boolean} [fatal] If `true` then this is a fatal error. - * @property {{range:[number,number], text:string}} [fix] Information for autofix. - * @property {number|undefined} line The 1-based line number. - * @property {string} message The error message. - * @property {string} [messageId] The ID of the message in the rule's meta. - * @property {(string|null)} nodeType Type of node - * @property {string|null} ruleId The ID of the rule which makes this message. - * @property {0|1|2} severity The severity of this message. - * @property {Array<{kind: string, justification: string}>} suppressions The suppression info. - * @property {Array<{desc?: string, messageId?: string, fix: {range: [number, number], text: string}}>} [suggestions] Information for suggestions. - */ - -/** - * @typedef {Object} SuggestionResult - * @property {string} desc A short description. - * @property {string} [messageId] Id referencing a message for the description. - * @property {{ text: string, range: number[] }} fix fix result info - */ - -/** - * @typedef {Object} Processor - * @property {(text:string, filename:string) => Array} [preprocess] The function to extract code blocks. - * @property {(messagesList:LintMessage[][], filename:string) => LintMessage[]} [postprocess] The function to merge messages. - * @property {boolean} [supportsAutofix] If `true` then it means the processor supports autofix. - */ - -/** - * @typedef {Object} RuleMetaDocs - * @property {string} description The description of the rule. - * @property {boolean} recommended If `true` then the rule is included in `eslint:recommended` preset. - * @property {string} url The URL of the rule documentation. - */ - -/** - * @typedef {Object} RuleMeta - * @property {boolean} [deprecated] If `true` then the rule has been deprecated. - * @property {Array} [defaultOptions] Default options for the rule. - * @property {RuleMetaDocs} docs The document information of the rule. - * @property {"code"|"whitespace"} [fixable] The autofix type. - * @property {boolean} [hasSuggestions] If `true` then the rule provides suggestions. - * @property {Record} [messages] The messages the rule reports. - * @property {string[]} [replacedBy] The IDs of the alternative rules. - * @property {Array|Object} schema The option schema of the rule. - * @property {"problem"|"suggestion"|"layout"} type The rule type. - */ - -/** - * @typedef {Object} Rule - * @property {Function} create The factory of the rule. - * @property {RuleMeta} meta The meta data of the rule. - */ - -/** - * @typedef {Object} Plugin - * @property {Record} [configs] The definition of plugin configs. - * @property {Record} [environments] The definition of plugin environments. - * @property {Record} [processors] The definition of plugin processors. - * @property {Record} [rules] The definition of plugin rules. - */ - -/** - * Information of deprecated rules. - * @typedef {Object} DeprecatedRuleInfo - * @property {string} ruleId The rule ID. - * @property {string[]} replacedBy The rule IDs that replace this deprecated rule. - */ - -/** - * A linting result. - * @typedef {Object} LintResult - * @property {string} filePath The path to the file that was linted. - * @property {LintMessage[]} messages All of the messages for the result. - * @property {SuppressedLintMessage[]} suppressedMessages All of the suppressed messages for the result. - * @property {number} errorCount Number of errors for the result. - * @property {number} fatalErrorCount Number of fatal errors for the result. - * @property {number} warningCount Number of warnings for the result. - * @property {number} fixableErrorCount Number of fixable errors for the result. - * @property {number} fixableWarningCount Number of fixable warnings for the result. - * @property {Stats} [stats] The performance statistics collected with the `stats` flag. - * @property {string} [source] The source code of the file that was linted. - * @property {string} [output] The source code of the file that was linted, with as many fixes applied as possible. - * @property {DeprecatedRuleInfo[]} usedDeprecatedRules The list of used deprecated rules. - */ - -/** - * Performance statistics - * @typedef {Object} Stats - * @property {number} fixPasses The number of times ESLint has applied at least one fix after linting. - * @property {Times} times The times spent on (parsing, fixing, linting) a file. - */ - -/** - * Performance Times for each ESLint pass - * @typedef {Object} Times - * @property {TimePass[]} passes Time passes - */ - -/** - * @typedef {Object} TimePass - * @property {ParseTime} parse The parse object containing all parse time information. - * @property {Record} [rules] The rules object containing all lint time information for each rule. - * @property {FixTime} fix The parse object containing all fix time information. - * @property {number} total The total time that is spent on (parsing, fixing, linting) a file. - */ -/** - * @typedef {Object} ParseTime - * @property {number} total The total time that is spent when parsing a file. - */ -/** - * @typedef {Object} RuleTime - * @property {number} total The total time that is spent on a rule. - */ -/** - * @typedef {Object} FixTime - * @property {number} total The total time that is spent on applying fixes to the code. - */ - -/** - * Information provided when the maximum warning threshold is exceeded. - * @typedef {Object} MaxWarningsExceeded - * @property {number} maxWarnings Number of warnings to trigger nonzero exit code. - * @property {number} foundWarnings Number of warnings found while linting. - */ - -/** - * Metadata about results for formatters. - * @typedef {Object} ResultsMeta - * @property {MaxWarningsExceeded} [maxWarningsExceeded] Present if the maxWarnings threshold was exceeded. - */ - -/** - * A formatter function. - * @callback FormatterFunction - * @param {LintResult[]} results The list of linting results. - * @param {{cwd: string, maxWarningsExceeded?: MaxWarningsExceeded, rulesMeta: Record}} context A context object. - * @returns {string | Promise} Formatted text. - */ diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/index.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/index.d.ts deleted file mode 100644 index 1576548f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/index.d.ts +++ /dev/null @@ -1,1683 +0,0 @@ -/** - * @fileoverview This file contains the core types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import * as ESTree from "estree"; -import { Language } from "@eslint/core"; -import { JSONSchema4 } from "json-schema"; -import { LegacyESLint } from "./use-at-your-own-risk.js"; - -export namespace AST { - type TokenType = - | "Boolean" - | "Null" - | "Identifier" - | "Keyword" - | "Punctuator" - | "JSXIdentifier" - | "JSXText" - | "Numeric" - | "String" - | "RegularExpression"; - - interface Token { - type: TokenType; - value: string; - range: Range; - loc: SourceLocation; - } - - interface SourceLocation { - start: ESTree.Position; - end: ESTree.Position; - } - - type Range = [number, number]; - - interface Program extends ESTree.Program { - comments: ESTree.Comment[]; - tokens: Token[]; - loc: SourceLocation; - range: Range; - } -} - -export namespace Scope { - interface ScopeManager { - scopes: Scope[]; - globalScope: Scope | null; - - acquire(node: ESTree.Node, inner?: boolean): Scope | null; - - getDeclaredVariables(node: ESTree.Node): Variable[]; - } - - interface Scope { - type: - | "block" - | "catch" - | "class" - | "for" - | "function" - | "function-expression-name" - | "global" - | "module" - | "switch" - | "with" - | "TDZ"; - isStrict: boolean; - upper: Scope | null; - childScopes: Scope[]; - variableScope: Scope; - block: ESTree.Node; - variables: Variable[]; - set: Map; - references: Reference[]; - through: Reference[]; - functionExpressionScope: boolean; - } - - interface Variable { - name: string; - scope: Scope; - identifiers: ESTree.Identifier[]; - references: Reference[]; - defs: Definition[]; - } - - interface Reference { - identifier: ESTree.Identifier; - from: Scope; - resolved: Variable | null; - writeExpr: ESTree.Node | null; - init: boolean; - - isWrite(): boolean; - - isRead(): boolean; - - isWriteOnly(): boolean; - - isReadOnly(): boolean; - - isReadWrite(): boolean; - } - - type DefinitionType = - | { type: "CatchClause"; node: ESTree.CatchClause; parent: null } - | { type: "ClassName"; node: ESTree.ClassDeclaration | ESTree.ClassExpression; parent: null } - | { type: "FunctionName"; node: ESTree.FunctionDeclaration | ESTree.FunctionExpression; parent: null } - | { type: "ImplicitGlobalVariable"; node: ESTree.Program; parent: null } - | { - type: "ImportBinding"; - node: ESTree.ImportSpecifier | ESTree.ImportDefaultSpecifier | ESTree.ImportNamespaceSpecifier; - parent: ESTree.ImportDeclaration; - } - | { - type: "Parameter"; - node: ESTree.FunctionDeclaration | ESTree.FunctionExpression | ESTree.ArrowFunctionExpression; - parent: null; - } - | { type: "TDZ"; node: any; parent: null } - | { type: "Variable"; node: ESTree.VariableDeclarator; parent: ESTree.VariableDeclaration }; - - type Definition = DefinitionType & { name: ESTree.Identifier }; -} - -// #region SourceCode - -export class SourceCode { - text: string; - ast: AST.Program; - lines: string[]; - hasBOM: boolean; - parserServices: SourceCode.ParserServices; - scopeManager: Scope.ScopeManager; - visitorKeys: SourceCode.VisitorKeys; - - constructor(text: string, ast: AST.Program); - constructor(config: SourceCode.Config); - - static splitLines(text: string): string[]; - - getText(node?: ESTree.Node, beforeCount?: number, afterCount?: number): string; - - getLines(): string[]; - - getAllComments(): ESTree.Comment[]; - - getAncestors(node: ESTree.Node): ESTree.Node[]; - - getDeclaredVariables(node: ESTree.Node): Scope.Variable[]; - - getJSDocComment(node: ESTree.Node): ESTree.Comment | null; - - getNodeByRangeIndex(index: number): ESTree.Node | null; - - isSpaceBetweenTokens(first: AST.Token, second: AST.Token): boolean; - - getLocFromIndex(index: number): ESTree.Position; - - getIndexFromLoc(location: ESTree.Position): number; - - // Inherited methods from TokenStore - // --------------------------------- - - getTokenByRangeStart(offset: number, options?: { includeComments: false }): AST.Token | null; - getTokenByRangeStart(offset: number, options: { includeComments: boolean }): AST.Token | ESTree.Comment | null; - - getFirstToken: SourceCode.UnaryNodeCursorWithSkipOptions; - - getFirstTokens: SourceCode.UnaryNodeCursorWithCountOptions; - - getLastToken: SourceCode.UnaryNodeCursorWithSkipOptions; - - getLastTokens: SourceCode.UnaryNodeCursorWithCountOptions; - - getTokenBefore: SourceCode.UnaryCursorWithSkipOptions; - - getTokensBefore: SourceCode.UnaryCursorWithCountOptions; - - getTokenAfter: SourceCode.UnaryCursorWithSkipOptions; - - getTokensAfter: SourceCode.UnaryCursorWithCountOptions; - - getFirstTokenBetween: SourceCode.BinaryCursorWithSkipOptions; - - getFirstTokensBetween: SourceCode.BinaryCursorWithCountOptions; - - getLastTokenBetween: SourceCode.BinaryCursorWithSkipOptions; - - getLastTokensBetween: SourceCode.BinaryCursorWithCountOptions; - - getTokensBetween: SourceCode.BinaryCursorWithCountOptions; - - getTokens: - & ((node: ESTree.Node, beforeCount?: number, afterCount?: number) => AST.Token[]) - & SourceCode.UnaryNodeCursorWithCountOptions; - - commentsExistBetween( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - ): boolean; - - getCommentsBefore(nodeOrToken: ESTree.Node | AST.Token): ESTree.Comment[]; - - getCommentsAfter(nodeOrToken: ESTree.Node | AST.Token): ESTree.Comment[]; - - getCommentsInside(node: ESTree.Node): ESTree.Comment[]; - - getScope(node: ESTree.Node): Scope.Scope; - - isSpaceBetween( - first: ESTree.Node | AST.Token, - second: ESTree.Node | AST.Token, - ): boolean; - - markVariableAsUsed(name: string, refNode?: ESTree.Node): boolean; -} - -export namespace SourceCode { - interface Config { - text: string; - ast: AST.Program; - parserServices?: ParserServices | undefined; - scopeManager?: Scope.ScopeManager | undefined; - visitorKeys?: VisitorKeys | undefined; - } - - type ParserServices = any; - - interface VisitorKeys { - [nodeType: string]: string[]; - } - - interface UnaryNodeCursorWithSkipOptions { - ( - node: ESTree.Node, - options: - | ((token: AST.Token) => token is T) - | { - filter: (token: AST.Token) => token is T; - includeComments?: false | undefined; - skip?: number | undefined; - }, - ): T | null; - ( - node: ESTree.Node, - options: { - filter: (tokenOrComment: AST.Token | ESTree.Comment) => tokenOrComment is T; - includeComments: boolean; - skip?: number | undefined; - }, - ): T | null; - ( - node: ESTree.Node, - options?: - | { - filter?: ((token: AST.Token) => boolean) | undefined; - includeComments?: false | undefined; - skip?: number | undefined; - } - | ((token: AST.Token) => boolean) - | number, - ): AST.Token | null; - ( - node: ESTree.Node, - options: { - filter?: ((token: AST.Token | ESTree.Comment) => boolean) | undefined; - includeComments: boolean; - skip?: number | undefined; - }, - ): AST.Token | ESTree.Comment | null; - } - - interface UnaryNodeCursorWithCountOptions { - ( - node: ESTree.Node, - options: - | ((token: AST.Token) => token is T) - | { - filter: (token: AST.Token) => token is T; - includeComments?: false | undefined; - count?: number | undefined; - }, - ): T[]; - ( - node: ESTree.Node, - options: { - filter: (tokenOrComment: AST.Token | ESTree.Comment) => tokenOrComment is T; - includeComments: boolean; - count?: number | undefined; - }, - ): T[]; - ( - node: ESTree.Node, - options?: - | { - filter?: ((token: AST.Token) => boolean) | undefined; - includeComments?: false | undefined; - count?: number | undefined; - } - | ((token: AST.Token) => boolean) - | number, - ): AST.Token[]; - ( - node: ESTree.Node, - options: { - filter?: ((token: AST.Token | ESTree.Comment) => boolean) | undefined; - includeComments: boolean; - count?: number | undefined; - }, - ): Array; - } - - interface UnaryCursorWithSkipOptions { - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options: - | ((token: AST.Token) => token is T) - | { - filter: (token: AST.Token) => token is T; - includeComments?: false | undefined; - skip?: number | undefined; - }, - ): T | null; - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter: (tokenOrComment: AST.Token | ESTree.Comment) => tokenOrComment is T; - includeComments: boolean; - skip?: number | undefined; - }, - ): T | null; - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options?: - | { - filter?: ((token: AST.Token) => boolean) | undefined; - includeComments?: false | undefined; - skip?: number | undefined; - } - | ((token: AST.Token) => boolean) - | number, - ): AST.Token | null; - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter?: ((token: AST.Token | ESTree.Comment) => boolean) | undefined; - includeComments: boolean; - skip?: number | undefined; - }, - ): AST.Token | ESTree.Comment | null; - } - - interface UnaryCursorWithCountOptions { - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options: - | ((token: AST.Token) => token is T) - | { - filter: (token: AST.Token) => token is T; - includeComments?: false | undefined; - count?: number | undefined; - }, - ): T[]; - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter: (tokenOrComment: AST.Token | ESTree.Comment) => tokenOrComment is T; - includeComments: boolean; - count?: number | undefined; - }, - ): T[]; - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options?: - | { - filter?: ((token: AST.Token) => boolean) | undefined; - includeComments?: false | undefined; - count?: number | undefined; - } - | ((token: AST.Token) => boolean) - | number, - ): AST.Token[]; - ( - node: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter?: ((token: AST.Token | ESTree.Comment) => boolean) | undefined; - includeComments: boolean; - count?: number | undefined; - }, - ): Array; - } - - interface BinaryCursorWithSkipOptions { - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options: - | ((token: AST.Token) => token is T) - | { - filter: (token: AST.Token) => token is T; - includeComments?: false | undefined; - skip?: number | undefined; - }, - ): T | null; - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter: (tokenOrComment: AST.Token | ESTree.Comment) => tokenOrComment is T; - includeComments: boolean; - skip?: number | undefined; - }, - ): T | null; - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options?: - | { - filter?: ((token: AST.Token) => boolean) | undefined; - includeComments?: false | undefined; - skip?: number | undefined; - } - | ((token: AST.Token) => boolean) - | number, - ): AST.Token | null; - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter?: ((token: AST.Token | ESTree.Comment) => boolean) | undefined; - includeComments: boolean; - skip?: number | undefined; - }, - ): AST.Token | ESTree.Comment | null; - } - - interface BinaryCursorWithCountOptions { - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options: - | ((token: AST.Token) => token is T) - | { - filter: (token: AST.Token) => token is T; - includeComments?: false | undefined; - count?: number | undefined; - }, - ): T[]; - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter: (tokenOrComment: AST.Token | ESTree.Comment) => tokenOrComment is T; - includeComments: boolean; - count?: number | undefined; - }, - ): T[]; - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options?: - | { - filter?: ((token: AST.Token) => boolean) | undefined; - includeComments?: false | undefined; - count?: number | undefined; - } - | ((token: AST.Token) => boolean) - | number, - ): AST.Token[]; - ( - left: ESTree.Node | AST.Token | ESTree.Comment, - right: ESTree.Node | AST.Token | ESTree.Comment, - options: { - filter?: ((token: AST.Token | ESTree.Comment) => boolean) | undefined; - includeComments: boolean; - count?: number | undefined; - }, - ): Array; - } -} - -// #endregion - -export namespace Rule { - interface RuleModule { - create(context: RuleContext): RuleListener; - meta?: RuleMetaData | undefined; - } - - type NodeTypes = ESTree.Node["type"]; - interface NodeListener { - ArrayExpression?: ((node: ESTree.ArrayExpression & NodeParentExtension) => void) | undefined; - "ArrayExpression:exit"?: ((node: ESTree.ArrayExpression & NodeParentExtension) => void) | undefined; - ArrayPattern?: ((node: ESTree.ArrayPattern & NodeParentExtension) => void) | undefined; - "ArrayPattern:exit"?: ((node: ESTree.ArrayPattern & NodeParentExtension) => void) | undefined; - ArrowFunctionExpression?: ((node: ESTree.ArrowFunctionExpression & NodeParentExtension) => void) | undefined; - "ArrowFunctionExpression:exit"?: - | ((node: ESTree.ArrowFunctionExpression & NodeParentExtension) => void) - | undefined; - AssignmentExpression?: ((node: ESTree.AssignmentExpression & NodeParentExtension) => void) | undefined; - "AssignmentExpression:exit"?: ((node: ESTree.AssignmentExpression & NodeParentExtension) => void) | undefined; - AssignmentPattern?: ((node: ESTree.AssignmentPattern & NodeParentExtension) => void) | undefined; - "AssignmentPattern:exit"?: ((node: ESTree.AssignmentPattern & NodeParentExtension) => void) | undefined; - AwaitExpression?: ((node: ESTree.AwaitExpression & NodeParentExtension) => void) | undefined; - "AwaitExpression:exit"?: ((node: ESTree.AwaitExpression & NodeParentExtension) => void) | undefined; - BinaryExpression?: ((node: ESTree.BinaryExpression & NodeParentExtension) => void) | undefined; - "BinaryExpression:exit"?: ((node: ESTree.BinaryExpression & NodeParentExtension) => void) | undefined; - BlockStatement?: ((node: ESTree.BlockStatement & NodeParentExtension) => void) | undefined; - "BlockStatement:exit"?: ((node: ESTree.BlockStatement & NodeParentExtension) => void) | undefined; - BreakStatement?: ((node: ESTree.BreakStatement & NodeParentExtension) => void) | undefined; - "BreakStatement:exit"?: ((node: ESTree.BreakStatement & NodeParentExtension) => void) | undefined; - CallExpression?: ((node: ESTree.CallExpression & NodeParentExtension) => void) | undefined; - "CallExpression:exit"?: ((node: ESTree.CallExpression & NodeParentExtension) => void) | undefined; - CatchClause?: ((node: ESTree.CatchClause & NodeParentExtension) => void) | undefined; - "CatchClause:exit"?: ((node: ESTree.CatchClause & NodeParentExtension) => void) | undefined; - ChainExpression?: ((node: ESTree.ChainExpression & NodeParentExtension) => void) | undefined; - "ChainExpression:exit"?: ((node: ESTree.ChainExpression & NodeParentExtension) => void) | undefined; - ClassBody?: ((node: ESTree.ClassBody & NodeParentExtension) => void) | undefined; - "ClassBody:exit"?: ((node: ESTree.ClassBody & NodeParentExtension) => void) | undefined; - ClassDeclaration?: ((node: ESTree.ClassDeclaration & NodeParentExtension) => void) | undefined; - "ClassDeclaration:exit"?: ((node: ESTree.ClassDeclaration & NodeParentExtension) => void) | undefined; - ClassExpression?: ((node: ESTree.ClassExpression & NodeParentExtension) => void) | undefined; - "ClassExpression:exit"?: ((node: ESTree.ClassExpression & NodeParentExtension) => void) | undefined; - ConditionalExpression?: ((node: ESTree.ConditionalExpression & NodeParentExtension) => void) | undefined; - "ConditionalExpression:exit"?: ((node: ESTree.ConditionalExpression & NodeParentExtension) => void) | undefined; - ContinueStatement?: ((node: ESTree.ContinueStatement & NodeParentExtension) => void) | undefined; - "ContinueStatement:exit"?: ((node: ESTree.ContinueStatement & NodeParentExtension) => void) | undefined; - DebuggerStatement?: ((node: ESTree.DebuggerStatement & NodeParentExtension) => void) | undefined; - "DebuggerStatement:exit"?: ((node: ESTree.DebuggerStatement & NodeParentExtension) => void) | undefined; - DoWhileStatement?: ((node: ESTree.DoWhileStatement & NodeParentExtension) => void) | undefined; - "DoWhileStatement:exit"?: ((node: ESTree.DoWhileStatement & NodeParentExtension) => void) | undefined; - EmptyStatement?: ((node: ESTree.EmptyStatement & NodeParentExtension) => void) | undefined; - "EmptyStatement:exit"?: ((node: ESTree.EmptyStatement & NodeParentExtension) => void) | undefined; - ExportAllDeclaration?: ((node: ESTree.ExportAllDeclaration & NodeParentExtension) => void) | undefined; - "ExportAllDeclaration:exit"?: ((node: ESTree.ExportAllDeclaration & NodeParentExtension) => void) | undefined; - ExportDefaultDeclaration?: ((node: ESTree.ExportDefaultDeclaration & NodeParentExtension) => void) | undefined; - "ExportDefaultDeclaration:exit"?: - | ((node: ESTree.ExportDefaultDeclaration & NodeParentExtension) => void) - | undefined; - ExportNamedDeclaration?: ((node: ESTree.ExportNamedDeclaration & NodeParentExtension) => void) | undefined; - "ExportNamedDeclaration:exit"?: - | ((node: ESTree.ExportNamedDeclaration & NodeParentExtension) => void) - | undefined; - ExportSpecifier?: ((node: ESTree.ExportSpecifier & NodeParentExtension) => void) | undefined; - "ExportSpecifier:exit"?: ((node: ESTree.ExportSpecifier & NodeParentExtension) => void) | undefined; - ExpressionStatement?: ((node: ESTree.ExpressionStatement & NodeParentExtension) => void) | undefined; - "ExpressionStatement:exit"?: ((node: ESTree.ExpressionStatement & NodeParentExtension) => void) | undefined; - ForInStatement?: ((node: ESTree.ForInStatement & NodeParentExtension) => void) | undefined; - "ForInStatement:exit"?: ((node: ESTree.ForInStatement & NodeParentExtension) => void) | undefined; - ForOfStatement?: ((node: ESTree.ForOfStatement & NodeParentExtension) => void) | undefined; - "ForOfStatement:exit"?: ((node: ESTree.ForOfStatement & NodeParentExtension) => void) | undefined; - ForStatement?: ((node: ESTree.ForStatement & NodeParentExtension) => void) | undefined; - "ForStatement:exit"?: ((node: ESTree.ForStatement & NodeParentExtension) => void) | undefined; - FunctionDeclaration?: ((node: ESTree.FunctionDeclaration & NodeParentExtension) => void) | undefined; - "FunctionDeclaration:exit"?: ((node: ESTree.FunctionDeclaration & NodeParentExtension) => void) | undefined; - FunctionExpression?: ((node: ESTree.FunctionExpression & NodeParentExtension) => void) | undefined; - "FunctionExpression:exit"?: ((node: ESTree.FunctionExpression & NodeParentExtension) => void) | undefined; - Identifier?: ((node: ESTree.Identifier & NodeParentExtension) => void) | undefined; - "Identifier:exit"?: ((node: ESTree.Identifier & NodeParentExtension) => void) | undefined; - IfStatement?: ((node: ESTree.IfStatement & NodeParentExtension) => void) | undefined; - "IfStatement:exit"?: ((node: ESTree.IfStatement & NodeParentExtension) => void) | undefined; - ImportDeclaration?: ((node: ESTree.ImportDeclaration & NodeParentExtension) => void) | undefined; - "ImportDeclaration:exit"?: ((node: ESTree.ImportDeclaration & NodeParentExtension) => void) | undefined; - ImportDefaultSpecifier?: ((node: ESTree.ImportDefaultSpecifier & NodeParentExtension) => void) | undefined; - "ImportDefaultSpecifier:exit"?: - | ((node: ESTree.ImportDefaultSpecifier & NodeParentExtension) => void) - | undefined; - ImportExpression?: ((node: ESTree.ImportExpression & NodeParentExtension) => void) | undefined; - "ImportExpression:exit"?: ((node: ESTree.ImportExpression & NodeParentExtension) => void) | undefined; - ImportNamespaceSpecifier?: ((node: ESTree.ImportNamespaceSpecifier & NodeParentExtension) => void) | undefined; - "ImportNamespaceSpecifier:exit"?: - | ((node: ESTree.ImportNamespaceSpecifier & NodeParentExtension) => void) - | undefined; - ImportSpecifier?: ((node: ESTree.ImportSpecifier & NodeParentExtension) => void) | undefined; - "ImportSpecifier:exit"?: ((node: ESTree.ImportSpecifier & NodeParentExtension) => void) | undefined; - LabeledStatement?: ((node: ESTree.LabeledStatement & NodeParentExtension) => void) | undefined; - "LabeledStatement:exit"?: ((node: ESTree.LabeledStatement & NodeParentExtension) => void) | undefined; - Literal?: ((node: ESTree.Literal & NodeParentExtension) => void) | undefined; - "Literal:exit"?: ((node: ESTree.Literal & NodeParentExtension) => void) | undefined; - LogicalExpression?: ((node: ESTree.LogicalExpression & NodeParentExtension) => void) | undefined; - "LogicalExpression:exit"?: ((node: ESTree.LogicalExpression & NodeParentExtension) => void) | undefined; - MemberExpression?: ((node: ESTree.MemberExpression & NodeParentExtension) => void) | undefined; - "MemberExpression:exit"?: ((node: ESTree.MemberExpression & NodeParentExtension) => void) | undefined; - MetaProperty?: ((node: ESTree.MetaProperty & NodeParentExtension) => void) | undefined; - "MetaProperty:exit"?: ((node: ESTree.MetaProperty & NodeParentExtension) => void) | undefined; - MethodDefinition?: ((node: ESTree.MethodDefinition & NodeParentExtension) => void) | undefined; - "MethodDefinition:exit"?: ((node: ESTree.MethodDefinition & NodeParentExtension) => void) | undefined; - NewExpression?: ((node: ESTree.NewExpression & NodeParentExtension) => void) | undefined; - "NewExpression:exit"?: ((node: ESTree.NewExpression & NodeParentExtension) => void) | undefined; - ObjectExpression?: ((node: ESTree.ObjectExpression & NodeParentExtension) => void) | undefined; - "ObjectExpression:exit"?: ((node: ESTree.ObjectExpression & NodeParentExtension) => void) | undefined; - ObjectPattern?: ((node: ESTree.ObjectPattern & NodeParentExtension) => void) | undefined; - "ObjectPattern:exit"?: ((node: ESTree.ObjectPattern & NodeParentExtension) => void) | undefined; - PrivateIdentifier?: ((node: ESTree.PrivateIdentifier & NodeParentExtension) => void) | undefined; - "PrivateIdentifier:exit"?: ((node: ESTree.PrivateIdentifier & NodeParentExtension) => void) | undefined; - Program?: ((node: ESTree.Program) => void) | undefined; - "Program:exit"?: ((node: ESTree.Program) => void) | undefined; - Property?: ((node: ESTree.Property & NodeParentExtension) => void) | undefined; - "Property:exit"?: ((node: ESTree.Property & NodeParentExtension) => void) | undefined; - PropertyDefinition?: ((node: ESTree.PropertyDefinition & NodeParentExtension) => void) | undefined; - "PropertyDefinition:exit"?: ((node: ESTree.PropertyDefinition & NodeParentExtension) => void) | undefined; - RestElement?: ((node: ESTree.RestElement & NodeParentExtension) => void) | undefined; - "RestElement:exit"?: ((node: ESTree.RestElement & NodeParentExtension) => void) | undefined; - ReturnStatement?: ((node: ESTree.ReturnStatement & NodeParentExtension) => void) | undefined; - "ReturnStatement:exit"?: ((node: ESTree.ReturnStatement & NodeParentExtension) => void) | undefined; - SequenceExpression?: ((node: ESTree.SequenceExpression & NodeParentExtension) => void) | undefined; - "SequenceExpression:exit"?: ((node: ESTree.SequenceExpression & NodeParentExtension) => void) | undefined; - SpreadElement?: ((node: ESTree.SpreadElement & NodeParentExtension) => void) | undefined; - "SpreadElement:exit"?: ((node: ESTree.SpreadElement & NodeParentExtension) => void) | undefined; - StaticBlock?: ((node: ESTree.StaticBlock & NodeParentExtension) => void) | undefined; - "StaticBlock:exit"?: ((node: ESTree.StaticBlock & NodeParentExtension) => void) | undefined; - Super?: ((node: ESTree.Super & NodeParentExtension) => void) | undefined; - "Super:exit"?: ((node: ESTree.Super & NodeParentExtension) => void) | undefined; - SwitchCase?: ((node: ESTree.SwitchCase & NodeParentExtension) => void) | undefined; - "SwitchCase:exit"?: ((node: ESTree.SwitchCase & NodeParentExtension) => void) | undefined; - SwitchStatement?: ((node: ESTree.SwitchStatement & NodeParentExtension) => void) | undefined; - "SwitchStatement:exit"?: ((node: ESTree.SwitchStatement & NodeParentExtension) => void) | undefined; - TaggedTemplateExpression?: ((node: ESTree.TaggedTemplateExpression & NodeParentExtension) => void) | undefined; - "TaggedTemplateExpression:exit"?: - | ((node: ESTree.TaggedTemplateExpression & NodeParentExtension) => void) - | undefined; - TemplateElement?: ((node: ESTree.TemplateElement & NodeParentExtension) => void) | undefined; - "TemplateElement:exit"?: ((node: ESTree.TemplateElement & NodeParentExtension) => void) | undefined; - TemplateLiteral?: ((node: ESTree.TemplateLiteral & NodeParentExtension) => void) | undefined; - "TemplateLiteral:exit"?: ((node: ESTree.TemplateLiteral & NodeParentExtension) => void) | undefined; - ThisExpression?: ((node: ESTree.ThisExpression & NodeParentExtension) => void) | undefined; - "ThisExpression:exit"?: ((node: ESTree.ThisExpression & NodeParentExtension) => void) | undefined; - ThrowStatement?: ((node: ESTree.ThrowStatement & NodeParentExtension) => void) | undefined; - "ThrowStatement:exit"?: ((node: ESTree.ThrowStatement & NodeParentExtension) => void) | undefined; - TryStatement?: ((node: ESTree.TryStatement & NodeParentExtension) => void) | undefined; - "TryStatement:exit"?: ((node: ESTree.TryStatement & NodeParentExtension) => void) | undefined; - UnaryExpression?: ((node: ESTree.UnaryExpression & NodeParentExtension) => void) | undefined; - "UnaryExpression:exit"?: ((node: ESTree.UnaryExpression & NodeParentExtension) => void) | undefined; - UpdateExpression?: ((node: ESTree.UpdateExpression & NodeParentExtension) => void) | undefined; - "UpdateExpression:exit"?: ((node: ESTree.UpdateExpression & NodeParentExtension) => void) | undefined; - VariableDeclaration?: ((node: ESTree.VariableDeclaration & NodeParentExtension) => void) | undefined; - "VariableDeclaration:exit"?: ((node: ESTree.VariableDeclaration & NodeParentExtension) => void) | undefined; - VariableDeclarator?: ((node: ESTree.VariableDeclarator & NodeParentExtension) => void) | undefined; - "VariableDeclarator:exit"?: ((node: ESTree.VariableDeclarator & NodeParentExtension) => void) | undefined; - WhileStatement?: ((node: ESTree.WhileStatement & NodeParentExtension) => void) | undefined; - "WhileStatement:exit"?: ((node: ESTree.WhileStatement & NodeParentExtension) => void) | undefined; - WithStatement?: ((node: ESTree.WithStatement & NodeParentExtension) => void) | undefined; - "WithStatement:exit"?: ((node: ESTree.WithStatement & NodeParentExtension) => void) | undefined; - YieldExpression?: ((node: ESTree.YieldExpression & NodeParentExtension) => void) | undefined; - "YieldExpression:exit"?: ((node: ESTree.YieldExpression & NodeParentExtension) => void) | undefined; - } - - interface NodeParentExtension { - parent: Node; - } - type Node = ESTree.Node & NodeParentExtension; - - interface RuleListener extends NodeListener { - onCodePathStart?(codePath: CodePath, node: Node): void; - - onCodePathEnd?(codePath: CodePath, node: Node): void; - - onCodePathSegmentStart?(segment: CodePathSegment, node: Node): void; - - onCodePathSegmentEnd?(segment: CodePathSegment, node: Node): void; - - onCodePathSegmentLoop?(fromSegment: CodePathSegment, toSegment: CodePathSegment, node: Node): void; - - [key: string]: - | ((codePath: CodePath, node: Node) => void) - | ((segment: CodePathSegment, node: Node) => void) - | ((fromSegment: CodePathSegment, toSegment: CodePathSegment, node: Node) => void) - | ((node: Node) => void) - | NodeListener[keyof NodeListener] - | undefined; - } - - type CodePathOrigin = "program" | "function" | "class-field-initializer" | "class-static-block"; - - interface CodePath { - id: string; - origin: CodePathOrigin; - initialSegment: CodePathSegment; - finalSegments: CodePathSegment[]; - returnedSegments: CodePathSegment[]; - thrownSegments: CodePathSegment[]; - upper: CodePath | null; - childCodePaths: CodePath[]; - } - - interface CodePathSegment { - id: string; - nextSegments: CodePathSegment[]; - prevSegments: CodePathSegment[]; - reachable: boolean; - } - - interface RuleMetaData { - /** Properties often used for documentation generation and tooling. */ - docs?: { - /** Provides a short description of the rule. Commonly used when generating lists of rules. */ - description?: string | undefined; - /** Historically used by some plugins that divide rules into categories in their documentation. */ - category?: string | undefined; - /** Historically used by some plugins to indicate a rule belongs in their `recommended` configuration. */ - recommended?: boolean | undefined; - /** Specifies the URL at which the full documentation can be accessed. Code editors often use this to provide a helpful link on highlighted rule violations. */ - url?: string | undefined; - } | undefined; - /** Violation and suggestion messages. */ - messages?: { [messageId: string]: string } | undefined; - /** - * Specifies if the `--fix` option on the command line automatically fixes problems reported by the rule. - * Mandatory for fixable rules. - */ - fixable?: "code" | "whitespace" | undefined; - /** - * Specifies the [options](https://eslint.org/docs/latest/extend/custom-rules#options-schemas) - * so ESLint can prevent invalid [rule configurations](https://eslint.org/docs/latest/use/configure/rules#configuring-rules). - * Mandatory for rules with options. - */ - schema?: JSONSchema4 | JSONSchema4[] | false | undefined; - - /** Any default options to be recursively merged on top of any user-provided options. */ - defaultOptions?: unknown[]; - - /** Indicates whether the rule has been deprecated. Omit if not deprecated. */ - deprecated?: boolean | undefined; - /** The name of the rule(s) this rule was replaced by, if it was deprecated. */ - replacedBy?: readonly string[]; - - /** - * Indicates the type of rule: - * - `"problem"` means the rule is identifying code that either will cause an error or may cause a confusing behavior. Developers should consider this a high priority to resolve. - * - `"suggestion"` means the rule is identifying something that could be done in a better way but no errors will occur if the code isn’t changed. - * - `"layout"` means the rule cares primarily about whitespace, semicolons, commas, and parentheses, - * all the parts of the program that determine how the code looks rather than how it executes. - * These rules work on parts of the code that aren’t specified in the AST. - */ - type?: "problem" | "suggestion" | "layout" | undefined; - /** - * Specifies whether the rule can return suggestions (defaults to `false` if omitted). - * Mandatory for rules that provide suggestions. - */ - hasSuggestions?: boolean | undefined; - } - - interface RuleContext { - id: string; - options: any[]; - settings: { [name: string]: any }; - parserPath: string | undefined; - languageOptions: Linter.LanguageOptions; - parserOptions: Linter.ParserOptions; - cwd: string; - filename: string; - physicalFilename: string; - sourceCode: SourceCode; - - getAncestors(): ESTree.Node[]; - - getDeclaredVariables(node: ESTree.Node): Scope.Variable[]; - - /** @deprecated Use property `filename` directly instead */ - getFilename(): string; - - /** @deprecated Use property `physicalFilename` directly instead */ - getPhysicalFilename(): string; - - /** @deprecated Use property `cwd` directly instead */ - getCwd(): string; - - getScope(): Scope.Scope; - - /** @deprecated Use property `sourceCode` directly instead */ - getSourceCode(): SourceCode; - - markVariableAsUsed(name: string): boolean; - - report(descriptor: ReportDescriptor): void; - } - - type ReportFixer = (fixer: RuleFixer) => null | Fix | IterableIterator | Fix[]; - - interface ReportDescriptorOptionsBase { - data?: { [key: string]: string }; - - fix?: null | ReportFixer; - } - - interface SuggestionReportOptions { - data?: { [key: string]: string }; - - fix: ReportFixer; - } - - type SuggestionDescriptorMessage = { desc: string } | { messageId: string }; - type SuggestionReportDescriptor = SuggestionDescriptorMessage & SuggestionReportOptions; - - interface ReportDescriptorOptions extends ReportDescriptorOptionsBase { - suggest?: SuggestionReportDescriptor[] | null | undefined; - } - - type ReportDescriptor = ReportDescriptorMessage & ReportDescriptorLocation & ReportDescriptorOptions; - type ReportDescriptorMessage = { message: string } | { messageId: string }; - type ReportDescriptorLocation = - | { node: ESTree.Node } - | { loc: AST.SourceLocation | { line: number; column: number } }; - - interface RuleFixer { - insertTextAfter(nodeOrToken: ESTree.Node | AST.Token, text: string): Fix; - - insertTextAfterRange(range: AST.Range, text: string): Fix; - - insertTextBefore(nodeOrToken: ESTree.Node | AST.Token, text: string): Fix; - - insertTextBeforeRange(range: AST.Range, text: string): Fix; - - remove(nodeOrToken: ESTree.Node | AST.Token): Fix; - - removeRange(range: AST.Range): Fix; - - replaceText(nodeOrToken: ESTree.Node | AST.Token, text: string): Fix; - - replaceTextRange(range: AST.Range, text: string): Fix; - } - - interface Fix { - range: AST.Range; - text: string; - } -} - -// #region Linter - -export class Linter { - static readonly version: string; - - version: string; - - constructor(options?: { cwd?: string | undefined; configType?: "flat" | "eslintrc" }); - - verify( - code: SourceCode | string, - config: Linter.LegacyConfig | Linter.Config | Linter.Config[], - filename?: string, - ): Linter.LintMessage[]; - verify( - code: SourceCode | string, - config: Linter.LegacyConfig | Linter.Config | Linter.Config[], - options: Linter.LintOptions, - ): Linter.LintMessage[]; - - verifyAndFix( - code: string, - config: Linter.LegacyConfig | Linter.Config | Linter.Config[], - filename?: string, - ): Linter.FixReport; - verifyAndFix( - code: string, - config: Linter.LegacyConfig | Linter.Config | Linter.Config[], - options: Linter.FixOptions, - ): Linter.FixReport; - - getSourceCode(): SourceCode; - - defineRule(name: string, rule: Rule.RuleModule): void; - - defineRules(rules: { [name: string]: Rule.RuleModule }): void; - - getRules(): Map; - - defineParser(name: string, parser: Linter.Parser): void; - - getTimes(): Linter.Stats["times"]; - - getFixPassCount(): Linter.Stats["fixPasses"]; -} - -export namespace Linter { - /** - * The numeric severity level for a rule. - * - * - `0` means off. - * - `1` means warn. - * - `2` means error. - * - * @see [Rule Severities](https://eslint.org/docs/latest/use/configure/rules#rule-severities) - */ - type Severity = 0 | 1 | 2; - - /** - * The human readable severity level for a rule. - * - * @see [Rule Severities](https://eslint.org/docs/latest/use/configure/rules#rule-severities) - */ - type StringSeverity = "off" | "warn" | "error"; - - /** - * The numeric or human readable severity level for a rule. - * - * @see [Rule Severities](https://eslint.org/docs/latest/use/configure/rules#rule-severities) - */ - type RuleSeverity = Severity | StringSeverity; - - /** - * An array containing the rule severity level, followed by the rule options. - * - * @see [Rules](https://eslint.org/docs/latest/use/configure/rules) - */ - type RuleSeverityAndOptions = [RuleSeverity, ...Partial]; - - /** - * The severity level for the rule or an array containing the rule severity level, followed by the rule options. - * - * @see [Rules](https://eslint.org/docs/latest/use/configure/rules) - */ - type RuleEntry = RuleSeverity | RuleSeverityAndOptions; - - /** - * The rules config object is a key/value map of rule names and their severity and options. - */ - interface RulesRecord { - [rule: string]: RuleEntry; - } - - /** - * A configuration object that may have a `rules` block. - */ - interface HasRules { - rules?: Partial | undefined; - } - - /** - * The ECMAScript version of the code being linted. - */ - type EcmaVersion = - | 3 - | 5 - | 6 - | 7 - | 8 - | 9 - | 10 - | 11 - | 12 - | 13 - | 14 - | 15 - | 16 - | 2015 - | 2016 - | 2017 - | 2018 - | 2019 - | 2020 - | 2021 - | 2022 - | 2023 - | 2024 - | 2025 - | "latest"; - - /** - * The type of JavaScript source code. - */ - type SourceType = "script" | "module" | "commonjs"; - - /** - * ESLint legacy configuration. - * - * @see [ESLint Legacy Configuration](https://eslint.org/docs/latest/use/configure/) - */ - interface BaseConfig - extends HasRules { - $schema?: string | undefined; - - /** - * An environment provides predefined global variables. - * - * @see [Environments](https://eslint.org/docs/latest/use/configure/language-options-deprecated#specifying-environments) - */ - env?: { [name: string]: boolean } | undefined; - - /** - * Extending configuration files. - * - * @see [Extends](https://eslint.org/docs/latest/use/configure/configuration-files-deprecated#extending-configuration-files) - */ - extends?: string | string[] | undefined; - - /** - * Specifying globals. - * - * @see [Globals](https://eslint.org/docs/latest/use/configure/language-options-deprecated#specifying-globals) - */ - globals?: Linter.Globals | undefined; - - /** - * Disable processing of inline comments. - * - * @see [Disabling Inline Comments](https://eslint.org/docs/latest/use/configure/rules-deprecated#disabling-inline-comments) - */ - noInlineConfig?: boolean | undefined; - - /** - * Overrides can be used to use a differing configuration for matching sub-directories and files. - * - * @see [How do overrides work](https://eslint.org/docs/latest/use/configure/configuration-files-deprecated#how-do-overrides-work) - */ - overrides?: Array> | undefined; - - /** - * Parser. - * - * @see [Working with Custom Parsers](https://eslint.org/docs/latest/extend/custom-parsers) - * @see [Specifying Parser](https://eslint.org/docs/latest/use/configure/parser-deprecated) - */ - parser?: string | undefined; - - /** - * Parser options. - * - * @see [Working with Custom Parsers](https://eslint.org/docs/latest/extend/custom-parsers) - * @see [Specifying Parser Options](https://eslint.org/docs/latest/use/configure/language-options-deprecated#specifying-parser-options) - */ - parserOptions?: ParserOptions | undefined; - - /** - * Which third-party plugins define additional rules, environments, configs, etc. for ESLint to use. - * - * @see [Configuring Plugins](https://eslint.org/docs/latest/use/configure/plugins-deprecated#configure-plugins) - */ - plugins?: string[] | undefined; - - /** - * Specifying processor. - * - * @see [processor](https://eslint.org/docs/latest/use/configure/plugins-deprecated#specify-a-processor) - */ - processor?: string | undefined; - - /** - * Report unused eslint-disable comments as warning. - * - * @see [Report unused eslint-disable comments](https://eslint.org/docs/latest/use/configure/rules-deprecated#report-unused-eslint-disable-comments) - */ - reportUnusedDisableDirectives?: boolean | undefined; - - /** - * Settings. - * - * @see [Settings](https://eslint.org/docs/latest/use/configure/configuration-files-deprecated#adding-shared-settings) - */ - settings?: { [name: string]: any } | undefined; - } - - /** - * The overwrites that apply more differing configuration to specific files or directories. - */ - interface ConfigOverride extends BaseConfig { - /** - * The glob patterns for excluded files. - */ - excludedFiles?: string | string[] | undefined; - - /** - * The glob patterns for target files. - */ - files: string | string[]; - } - - /** - * ESLint legacy configuration. - * - * @see [ESLint Legacy Configuration](https://eslint.org/docs/latest/use/configure/) - */ - // https://github.com/eslint/eslint/blob/v8.57.0/conf/config-schema.js - interface LegacyConfig - extends BaseConfig { - /** - * Tell ESLint to ignore specific files and directories. - * - * @see [Ignore Patterns](https://eslint.org/docs/latest/use/configure/ignore-deprecated#ignorepatterns-in-config-files) - */ - ignorePatterns?: string | string[] | undefined; - - /** - * @see [Using Configuration Files](https://eslint.org/docs/latest/use/configure/configuration-files-deprecated#using-configuration-files) - */ - root?: boolean | undefined; - } - - /** - * Parser options. - * - * @see [Specifying Parser Options](https://eslint.org/docs/latest/use/configure/language-options-deprecated#specifying-parser-options) - */ - interface ParserOptions { - /** - * Accepts any valid ECMAScript version number or `'latest'`: - * - * - A version: es3, es5, es6, es7, es8, es9, es10, es11, es12, es13, es14, ..., or - * - A year: es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, ..., or - * - `'latest'` - * - * When it's a version or a year, the value must be a number - so do not include the `es` prefix. - * - * Specifies the version of ECMAScript syntax you want to use. This is used by the parser to determine how to perform scope analysis, and it affects the default - * - * @default 5 - */ - ecmaVersion?: EcmaVersion | undefined; - - /** - * The type of JavaScript source code. Possible values are "script" for - * traditional script files, "module" for ECMAScript modules (ESM), and - * "commonjs" for CommonJS files. - * - * @default 'script' - * - * @see https://eslint.org/docs/latest/use/configure/language-options-deprecated#specifying-parser-options - */ - sourceType?: SourceType | undefined; - - /** - * An object indicating which additional language features you'd like to use. - * - * @see https://eslint.org/docs/latest/use/configure/language-options-deprecated#specifying-parser-options - */ - ecmaFeatures?: { - globalReturn?: boolean | undefined; - impliedStrict?: boolean | undefined; - jsx?: boolean | undefined; - experimentalObjectRestSpread?: boolean | undefined; - [key: string]: any; - } | undefined; - [key: string]: any; - } - - interface LintOptions { - filename?: string | undefined; - preprocess?: ((code: string) => string[]) | undefined; - postprocess?: ((problemLists: LintMessage[][]) => LintMessage[]) | undefined; - filterCodeBlock?: boolean | undefined; - disableFixes?: boolean | undefined; - allowInlineConfig?: boolean | undefined; - reportUnusedDisableDirectives?: boolean | undefined; - } - - interface LintSuggestion { - desc: string; - fix: Rule.Fix; - messageId?: string | undefined; - } - - interface LintMessage { - column: number; - line: number; - endColumn?: number | undefined; - endLine?: number | undefined; - ruleId: string | null; - message: string; - messageId?: string | undefined; - /** - * @deprecated `nodeType` is deprecated and will be removed in the next major version. - */ - nodeType?: string | undefined; - fatal?: true | undefined; - severity: Exclude; - fix?: Rule.Fix | undefined; - suggestions?: LintSuggestion[] | undefined; - } - - interface LintSuppression { - kind: string; - justification: string; - } - - interface SuppressedLintMessage extends LintMessage { - suppressions: LintSuppression[]; - } - - interface FixOptions extends LintOptions { - fix?: boolean | undefined; - } - - interface FixReport { - fixed: boolean; - output: string; - messages: LintMessage[]; - } - - // Temporarily loosen type for just flat config files (see #68232) - type NonESTreeParser = - & Omit - & ({ - parse(text: string, options?: any): unknown; - } | { - parseForESLint(text: string, options?: any): Omit & { - ast: unknown; - scopeManager?: unknown; - }; - }); - - type ESTreeParser = - & ESLint.ObjectMetaProperties - & ( - | { parse(text: string, options?: any): AST.Program } - | { parseForESLint(text: string, options?: any): ESLintParseResult } - ); - - type Parser = NonESTreeParser | ESTreeParser; - - interface ESLintParseResult { - ast: AST.Program; - parserServices?: SourceCode.ParserServices | undefined; - scopeManager?: Scope.ScopeManager | undefined; - visitorKeys?: SourceCode.VisitorKeys | undefined; - } - - interface ProcessorFile { - text: string; - filename: string; - } - - // https://eslint.org/docs/latest/extend/plugins#processors-in-plugins - interface Processor extends ESLint.ObjectMetaProperties { - supportsAutofix?: boolean | undefined; - preprocess?(text: string, filename: string): T[]; - postprocess?(messages: LintMessage[][], filename: string): LintMessage[]; - } - - interface Config { - /** - * An string to identify the configuration object. Used in error messages and - * inspection tools. - */ - name?: string; - - /** - * An array of glob patterns indicating the files that the configuration - * object should apply to. If not specified, the configuration object applies - * to all files - */ - files?: Array; - - /** - * An array of glob patterns indicating the files that the configuration - * object should not apply to. If not specified, the configuration object - * applies to all files matched by files - */ - ignores?: string[]; - - /** - * The name of the language used for linting. This is used to determine the - * parser and other language-specific settings. - * @since 9.7.0 - */ - language?: string; - - /** - * An object containing settings related to how JavaScript is configured for - * linting. - */ - languageOptions?: LanguageOptions; - - /** - * An object containing settings related to the linting process - */ - linterOptions?: LinterOptions; - - /** - * Either an object containing preprocess() and postprocess() methods or a - * string indicating the name of a processor inside of a plugin - * (i.e., "pluginName/processorName"). - */ - processor?: string | Processor; - - /** - * An object containing a name-value mapping of plugin names to plugin objects. - * When files is specified, these plugins are only available to the matching files. - */ - plugins?: Record; - - /** - * An object containing the configured rules. When files or ignores are specified, - * these rule configurations are only available to the matching files. - */ - rules?: Partial; - - /** - * An object containing name-value pairs of information that should be - * available to all rules. - */ - settings?: Record; - } - - /** @deprecated Use `Config` instead of `FlatConfig` */ - type FlatConfig = Config; - - type GlobalConf = boolean | "off" | "readable" | "readonly" | "writable" | "writeable"; - - interface Globals { - [name: string]: GlobalConf; - } - - interface LanguageOptions { - /** - * The version of ECMAScript to support. May be any year (i.e., 2022) or - * version (i.e., 5). Set to "latest" for the most recent supported version. - * @default "latest" - */ - ecmaVersion?: EcmaVersion | undefined; - - /** - * The type of JavaScript source code. Possible values are "script" for - * traditional script files, "module" for ECMAScript modules (ESM), and - * "commonjs" for CommonJS files. (default: "module" for .js and .mjs - * files; "commonjs" for .cjs files) - */ - sourceType?: SourceType | undefined; - - /** - * An object specifying additional objects that should be added to the - * global scope during linting. - */ - globals?: Globals | undefined; - - /** - * An object containing a parse() or parseForESLint() method. - * If not configured, the default ESLint parser (Espree) will be used. - */ - parser?: Parser | undefined; - - /** - * An object specifying additional options that are passed directly to the - * parser() method on the parser. The available options are parser-dependent - */ - parserOptions?: Linter.ParserOptions | undefined; - } - - interface LinterOptions { - /** - * A boolean value indicating if inline configuration is allowed. - */ - noInlineConfig?: boolean; - - /** - * A severity value indicating if and how unused disable directives should be - * tracked and reported. - */ - reportUnusedDisableDirectives?: Severity | StringSeverity | boolean; - } - - interface Stats { - /** - * The number of times ESLint has applied at least one fix after linting. - */ - fixPasses: number; - - /** - * The times spent on (parsing, fixing, linting) a file, where the linting refers to the timing information for each rule. - */ - times: { passes: TimePass[] }; - } - - interface TimePass { - parse: { total: number }; - rules?: Record; - fix: { total: number }; - total: number; - } -} - -// #endregion - -// #region ESLint - -export class ESLint { - static configType: "flat"; - - static readonly version: string; - - /** - * The default configuration that ESLint uses internally. This is provided for tooling that wants to calculate configurations using the same defaults as ESLint. - * Keep in mind that the default configuration may change from version to version, so you shouldn't rely on any particular keys or values to be present. - */ - static readonly defaultConfig: Linter.Config[]; - - static outputFixes(results: ESLint.LintResult[]): Promise; - - static getErrorResults(results: ESLint.LintResult[]): ESLint.LintResult[]; - - constructor(options?: ESLint.Options); - - lintFiles(patterns: string | string[]): Promise; - - lintText( - code: string, - options?: { filePath?: string | undefined; warnIgnored?: boolean | undefined }, - ): Promise; - - getRulesMetaForResults(results: ESLint.LintResult[]): ESLint.LintResultData["rulesMeta"]; - - hasFlag(flag: string): boolean; - - calculateConfigForFile(filePath: string): Promise; - - findConfigFile(): Promise; - - isPathIgnored(filePath: string): Promise; - - loadFormatter(nameOrPath?: string): Promise; -} - -export namespace ESLint { - type ConfigData = Omit< - Linter.LegacyConfig, - "$schema" - >; - - interface Environment { - globals?: Linter.Globals | undefined; - parserOptions?: Linter.ParserOptions | undefined; - } - - interface ObjectMetaProperties { - /** @deprecated Use `meta.name` instead. */ - name?: string | undefined; - - /** @deprecated Use `meta.version` instead. */ - version?: string | undefined; - - meta?: { - name?: string | undefined; - version?: string | undefined; - }; - } - - interface Plugin extends ObjectMetaProperties { - configs?: Record | undefined; - environments?: Record | undefined; - languages?: Record | undefined; - processors?: Record | undefined; - rules?: Record | undefined; - } - - type FixType = "directive" | "problem" | "suggestion" | "layout"; - - type CacheStrategy = "content" | "metadata"; - - interface Options { - // File enumeration - cwd?: string | undefined; - errorOnUnmatchedPattern?: boolean | undefined; - globInputPaths?: boolean | undefined; - ignore?: boolean | undefined; - ignorePatterns?: string[] | null | undefined; - passOnNoPatterns?: boolean | undefined; - warnIgnored?: boolean | undefined; - - // Linting - allowInlineConfig?: boolean | undefined; - baseConfig?: Linter.Config | Linter.Config[] | null | undefined; - overrideConfig?: Linter.Config | Linter.Config[] | null | undefined; - overrideConfigFile?: string | boolean | undefined; - plugins?: Record | null | undefined; - ruleFilter?: ((arg: { ruleId: string; severity: Exclude }) => boolean) | undefined; - stats?: boolean | undefined; - - // Autofix - fix?: boolean | ((message: Linter.LintMessage) => boolean) | undefined; - fixTypes?: FixType[] | undefined; - - // Cache-related - cache?: boolean | undefined; - cacheLocation?: string | undefined; - cacheStrategy?: CacheStrategy | undefined; - - // Other Options - flags?: string[] | undefined; - } - - interface LegacyOptions { - // File enumeration - cwd?: string | undefined; - errorOnUnmatchedPattern?: boolean | undefined; - extensions?: string[] | undefined; - globInputPaths?: boolean | undefined; - ignore?: boolean | undefined; - ignorePath?: string | undefined; - - // Linting - allowInlineConfig?: boolean | undefined; - baseConfig?: Linter.LegacyConfig | undefined; - overrideConfig?: Linter.LegacyConfig | undefined; - overrideConfigFile?: string | undefined; - plugins?: Record | undefined; - reportUnusedDisableDirectives?: Linter.StringSeverity | undefined; - resolvePluginsRelativeTo?: string | undefined; - rulePaths?: string[] | undefined; - useEslintrc?: boolean | undefined; - - // Autofix - fix?: boolean | ((message: Linter.LintMessage) => boolean) | undefined; - fixTypes?: FixType[] | undefined; - - // Cache-related - cache?: boolean | undefined; - cacheLocation?: string | undefined; - cacheStrategy?: CacheStrategy | undefined; - - // Other Options - flags?: string[] | undefined; - } - - interface LintResult { - filePath: string; - messages: Linter.LintMessage[]; - suppressedMessages: Linter.SuppressedLintMessage[]; - errorCount: number; - fatalErrorCount: number; - warningCount: number; - fixableErrorCount: number; - fixableWarningCount: number; - output?: string | undefined; - source?: string | undefined; - stats?: Linter.Stats | undefined; - usedDeprecatedRules: DeprecatedRuleUse[]; - } - - interface MaxWarningsExceeded { - - /** - * Number of warnings to trigger nonzero exit code. - */ - maxWarnings: number; - - /** - * Number of warnings found while linting. - */ - foundWarnings: number; - } - - interface LintResultData { - cwd: string; - maxWarningsExceeded?: MaxWarningsExceeded | undefined; - rulesMeta: { - [ruleId: string]: Rule.RuleMetaData; - }; - } - - interface DeprecatedRuleUse { - ruleId: string; - replacedBy: string[]; - } - - interface ResultsMeta { - maxWarningsExceeded?: MaxWarningsExceeded | undefined; - } - - /** The type of an object resolved by {@link ESLint.loadFormatter}. */ - interface LoadedFormatter { - - /** - * Used to call the underlying formatter. - * @param results An array of lint results to format. - * @param resultsMeta An object with an optional `maxWarningsExceeded` property that will be - * passed to the underlying formatter function along with other properties set by ESLint. - * This argument can be omitted if `maxWarningsExceeded` is not needed. - * @return The formatter output. - */ - format(results: LintResult[], resultsMeta?: ResultsMeta): string | Promise; - } - - // The documented type name is `LoadedFormatter`, but `Formatter` has been historically more used. - type Formatter = LoadedFormatter; - - /** - * The expected signature of a custom formatter. - * @param results An array of lint results to format. - * @param context Additional information for the formatter. - * @return The formatter output. - */ - type FormatterFunction = - (results: LintResult[], context: LintResultData) => string | Promise; - - // Docs reference the types by those name - type EditInfo = Rule.Fix; -} - -// #endregion - -export function loadESLint(options: { useFlatConfig: true }): Promise; -export function loadESLint(options: { useFlatConfig: false }): Promise; -export function loadESLint( - options?: { useFlatConfig?: boolean | undefined }, -): Promise; - -// #region RuleTester - -export class RuleTester { - static describe: ((...args: any) => any) | null; - static it: ((...args: any) => any) | null; - static itOnly: ((...args: any) => any) | null; - - constructor(config?: Linter.Config); - - run( - name: string, - rule: Rule.RuleModule, - tests: { - valid: Array; - invalid: RuleTester.InvalidTestCase[]; - }, - ): void; - - static only( - item: string | RuleTester.ValidTestCase | RuleTester.InvalidTestCase, - ): RuleTester.ValidTestCase | RuleTester.InvalidTestCase; -} - -export namespace RuleTester { - interface ValidTestCase { - name?: string; - code: string; - options?: any; - filename?: string | undefined; - only?: boolean; - languageOptions?: Linter.LanguageOptions | undefined; - settings?: { [name: string]: any } | undefined; - } - - interface SuggestionOutput { - messageId?: string; - desc?: string; - data?: Record | undefined; - output: string; - } - - interface InvalidTestCase extends ValidTestCase { - errors: number | Array; - output?: string | null | undefined; - } - - interface TestCaseError { - message?: string | RegExp; - messageId?: string; - /** - * @deprecated `type` is deprecated and will be removed in the next major version. - */ - type?: string | undefined; - data?: any; - line?: number | undefined; - column?: number | undefined; - endLine?: number | undefined; - endColumn?: number | undefined; - suggestions?: SuggestionOutput[] | undefined; - } -} - -// #endregion diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/best-practices.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/best-practices.d.ts deleted file mode 100644 index eefce77d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/best-practices.d.ts +++ /dev/null @@ -1,1129 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface BestPractices extends Linter.RulesRecord { - /** - * Rule to enforce getter and setter pairs in objects. - * - * @since 0.22.0 - * @see https://eslint.org/docs/rules/accessor-pairs - */ - "accessor-pairs": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - setWithoutGet: boolean; - /** - * @default false - */ - getWithoutSet: boolean; - /** - * @default true - */ - enforceForClassMembers: boolean; - }>, - ] - >; - - /** - * Rule to enforce `return` statements in callbacks of array methods. - * - * @since 2.0.0-alpha-1 - * @see https://eslint.org/docs/rules/array-callback-return - */ - "array-callback-return": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowImplicit: boolean; - /** - * @default false - */ - checkForEach: boolean; - /** - * @default false - */ - allowVoid: boolean; - }>, - ] - >; - - /** - * Rule to enforce the use of variables within the scope they are defined. - * - * @since 0.1.0 - * @see https://eslint.org/docs/rules/block-scoped-var - */ - "block-scoped-var": Linter.RuleEntry<[]>; - - /** - * Rule to enforce that class methods utilize `this`. - * - * @since 3.4.0 - * @see https://eslint.org/docs/rules/class-methods-use-this - */ - "class-methods-use-this": Linter.RuleEntry< - [ - Partial<{ - exceptMethods: string[]; - }>, - ] - >; - - /** - * Rule to enforce a maximum cyclomatic complexity allowed in a program. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/complexity - */ - complexity: Linter.RuleEntry< - [ - | Partial<{ - /** - * @default 20 - */ - max: number; - /** - * @deprecated - * @default 20 - */ - maximum: number; - /** - * @default "classic" - * @since 9.12.0 - */ - variant: "classic" | "modified"; - }> - | number, - ] - >; - - /** - * Rule to require `return` statements to either always or never specify values. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/consistent-return - */ - "consistent-return": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - treatUndefinedAsUnspecified: boolean; - }>, - ] - >; - - /** - * Rule to enforce consistent brace style for all control statements. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/curly - */ - curly: Linter.RuleEntry<["all" | "multi" | "multi-line" | "multi-or-nest" | "consistent"]>; - - /** - * Rule to require `default` cases in `switch` statements. - * - * @since 0.6.0 - * @see https://eslint.org/docs/rules/default-case - */ - "default-case": Linter.RuleEntry< - [ - Partial<{ - /** - * @default '^no default$' - */ - commentPattern: string; - }>, - ] - >; - - /** - * Rule to enforce default clauses in switch statements to be last - * - * @since 7.0.0 - * @see https://eslint.org/docs/latest/rules/default-case-last - */ - "default-case-last": Linter.RuleEntry<[]>; - - /** - * Enforce default parameters to be last - * - * @since 6.4.0 - * @see https://eslint.org/docs/latest/rules/default-param-last - */ - "default-param-last": Linter.RuleEntry<[]>; - - /** - * Rule to enforce consistent newlines before and after dots. - * - * @since 0.21.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/dot-location) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/dot-location - */ - "dot-location": Linter.RuleEntry<["object" | "property"]>; - - /** - * Rule to enforce dot notation whenever possible. - * - * @since 0.0.7 - * @see https://eslint.org/docs/rules/dot-notation - */ - "dot-notation": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - allowKeywords: boolean; - allowPattern: string; - }>, - ] - >; - - /** - * Rule to require the use of `===` and `!==`. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/eqeqeq - */ - eqeqeq: - | Linter.RuleEntry< - [ - "always", - Partial<{ - /** - * @default 'always' - */ - null: "always" | "never" | "ignore"; - }>, - ] - > - | Linter.RuleEntry<["smart" | "allow-null"]>; - - /** - * Require grouped accessor pairs in object literals and classes. - * - * @since 6.7.0 - * @see https://eslint.org/docs/latest/rules/grouped-accessor-pairs - */ - "grouped-accessor-pairs": Linter.RuleEntry<["anyOrder" | "getBeforeSet" | "setBeforeGet"]>; - - /** - * Rule to require `for-in` loops to include an `if` statement. - * - * @since 0.0.6 - * @see https://eslint.org/docs/rules/guard-for-in - */ - "guard-for-in": Linter.RuleEntry<[]>; - - /** - * Rule to enforce a maximum number of classes per file. - * - * @since 5.0.0-alpha.3 - * @see https://eslint.org/docs/rules/max-classes-per-file - */ - "max-classes-per-file": Linter.RuleEntry<[number]>; - - /** - * Rule to disallow the use of `alert`, `confirm`, and `prompt`. - * - * @since 0.0.5 - * @see https://eslint.org/docs/rules/no-alert - */ - "no-alert": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of `arguments.caller` or `arguments.callee`. - * - * @since 0.0.6 - * @see https://eslint.org/docs/rules/no-caller - */ - "no-caller": Linter.RuleEntry<[]>; - - /** - * Rule to disallow lexical declarations in case clauses. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 1.9.0 - * @see https://eslint.org/docs/rules/no-case-declarations - */ - "no-case-declarations": Linter.RuleEntry<[]>; - - /** - * Rule to disallow division operators explicitly at the beginning of regular expressions. - * - * @since 0.1.0 - * @see https://eslint.org/docs/rules/no-div-regex - */ - "no-div-regex": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `else` blocks after `return` statements in `if` statements. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-else-return - */ - "no-else-return": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - allowElseIf: boolean; - }>, - ] - >; - - /** - * Rule to disallow empty functions. - * - * @since 2.0.0 - * @see https://eslint.org/docs/rules/no-empty-function - */ - "no-empty-function": Linter.RuleEntry< - [ - Partial<{ - /** - * @default [] - */ - allow: Array< - | "functions" - | "arrowFunctions" - | "generatorFunctions" - | "methods" - | "generatorMethods" - | "getters" - | "setters" - | "constructors" - | "asyncFunctions" - | "asyncMethods" - >; - }>, - ] - >; - - /** - * Rule to disallow empty destructuring patterns. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 1.7.0 - * @see https://eslint.org/docs/rules/no-empty-pattern - */ - "no-empty-pattern": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `null` comparisons without type-checking operators. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-eq-null - */ - "no-eq-null": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of `eval()`. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/no-eval - */ - "no-eval": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowIndirect: boolean; - }>, - ] - >; - - /** - * Rule to disallow extending native types. - * - * @since 0.1.4 - * @see https://eslint.org/docs/rules/no-extend-native - */ - "no-extend-native": Linter.RuleEntry< - [ - Partial<{ - exceptions: string[]; - }>, - ] - >; - - /** - * Rule to disallow unnecessary calls to `.bind()`. - * - * @since 0.8.0 - * @see https://eslint.org/docs/rules/no-extra-bind - */ - "no-extra-bind": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unnecessary labels. - * - * @since 2.0.0-rc.0 - * @see https://eslint.org/docs/rules/no-extra-label - */ - "no-extra-label": Linter.RuleEntry<[]>; - - /** - * Rule to disallow fallthrough of `case` statements. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.7 - * @see https://eslint.org/docs/rules/no-fallthrough - */ - "no-fallthrough": Linter.RuleEntry< - [ - Partial<{ - /** - * @default 'falls?\s?through' - */ - commentPattern: string; - /** - * @default false - */ - allowEmptyCase: boolean; - /** - * @default false - */ - reportUnusedFallthroughComment: boolean; - }>, - ] - >; - - /** - * Rule to disallow leading or trailing decimal points in numeric literals. - * - * @since 0.0.6 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-floating-decimal) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-floating-decimal - */ - "no-floating-decimal": Linter.RuleEntry<[]>; - - /** - * Rule to disallow assignments to native objects or read-only global variables. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 3.3.0 - * @see https://eslint.org/docs/rules/no-global-assign - */ - "no-global-assign": Linter.RuleEntry< - [ - Partial<{ - exceptions: string[]; - }>, - ] - >; - - /** - * Rule to disallow shorthand type conversions. - * - * @since 1.0.0-rc-2 - * @see https://eslint.org/docs/rules/no-implicit-coercion - */ - "no-implicit-coercion": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - boolean: boolean; - /** - * @default true - */ - number: boolean; - /** - * @default true - */ - string: boolean; - /** - * @default false - */ - disallowTemplateShorthand: boolean; - /** - * @default [] - */ - allow: Array<"~" | "!!" | "+" | "- -" | "-" | "*">; - }>, - ] - >; - - /** - * Rule to disallow variable and `function` declarations in the global scope. - * - * @since 2.0.0-alpha-1 - * @see https://eslint.org/docs/rules/no-implicit-globals - */ - "no-implicit-globals": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of `eval()`-like methods. - * - * @since 0.0.7 - * @see https://eslint.org/docs/rules/no-implied-eval - */ - "no-implied-eval": Linter.RuleEntry<[]>; - - /** - * Disallow assigning to imported bindings. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 6.4.0 - * @see https://eslint.org/docs/latest/rules/no-import-assign - */ - "no-import-assign": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `this` keywords outside of classes or class-like objects. - * - * @since 1.0.0-rc-2 - * @see https://eslint.org/docs/rules/no-invalid-this - */ - "no-invalid-this": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - capIsConstructor: boolean; - }>, - ] - >; - - /** - * Rule to disallow the use of the `__iterator__` property. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-iterator - */ - "no-iterator": Linter.RuleEntry<[]>; - - /** - * Rule to disallow labeled statements. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-labels - */ - "no-labels": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowLoop: boolean; - /** - * @default false - */ - allowSwitch: boolean; - }>, - ] - >; - - /** - * Rule to disallow unnecessary nested blocks. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-lone-blocks - */ - "no-lone-blocks": Linter.RuleEntry<[]>; - - /** - * Rule to disallow function declarations that contain unsafe references inside loop statements. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-loop-func - */ - "no-loop-func": Linter.RuleEntry<[]>; - - /** - * Rule to disallow magic numbers. - * - * @since 1.7.0 - * @see https://eslint.org/docs/rules/no-magic-numbers - */ - "no-magic-numbers": Linter.RuleEntry< - [ - Partial<{ - /** - * @default [] - */ - ignore: number[]; - /** - * @default false - */ - ignoreArrayIndexes: boolean; - /** - * @default false - */ - enforceConst: boolean; - /** - * @default false - */ - detectObjects: boolean; - }>, - ] - >; - - /** - * Rule to disallow multiple spaces. - * - * @since 0.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-multi-spaces) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-multi-spaces - */ - "no-multi-spaces": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - ignoreEOLComments: boolean; - /** - * @default { Property: true } - */ - exceptions: Record; - }>, - ] - >; - - /** - * Rule to disallow multiline strings. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-multi-str - */ - "no-multi-str": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `new` operators outside of assignments or comparisons. - * - * @since 0.0.7 - * @see https://eslint.org/docs/rules/no-new - */ - "no-new": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `new` operators with the `Function` object. - * - * @since 0.0.7 - * @see https://eslint.org/docs/rules/no-new-func - */ - "no-new-func": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `new` operators with the `String`, `Number`, and `Boolean` objects. - * - * @since 0.0.6 - * @see https://eslint.org/docs/rules/no-new-wrappers - */ - "no-new-wrappers": Linter.RuleEntry<[]>; - - /** - * Disallow `\\8` and `\\9` escape sequences in string literals. - * - * @since 7.14.0 - * @see https://eslint.org/docs/rules/no-nonoctal-decimal-escape - */ - "no-nonoctal-decimal-escape": Linter.RuleEntry<[]>; - - /** - * Rule to disallow octal literals. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.6 - * @see https://eslint.org/docs/rules/no-octal - */ - "no-octal": Linter.RuleEntry<[]>; - - /** - * Rule to disallow octal escape sequences in string literals. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-octal-escape - */ - "no-octal-escape": Linter.RuleEntry<[]>; - - /** - * Rule to disallow reassigning `function` parameters. - * - * @since 0.18.0 - * @see https://eslint.org/docs/rules/no-param-reassign - */ - "no-param-reassign": Linter.RuleEntry< - [ - | { - props?: false; - } - | ({ - props: true; - } & Partial<{ - /** - * @default [] - */ - ignorePropertyModificationsFor: string[]; - /** - * @since 6.6.0 - * @default [] - */ - ignorePropertyModificationsForRegex: string[]; - }>), - ] - >; - - /** - * Rule to disallow the use of the `__proto__` property. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-proto - */ - "no-proto": Linter.RuleEntry<[]>; - - /** - * Rule to disallow variable redeclaration. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-redeclare - */ - "no-redeclare": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - builtinGlobals: boolean; - }>, - ] - >; - - /** - * Rule to disallow certain properties on certain objects. - * - * @since 3.5.0 - * @see https://eslint.org/docs/rules/no-restricted-properties - */ - "no-restricted-properties": Linter.RuleEntry< - [ - ...Array< - | { - object: string; - property?: string | undefined; - message?: string | undefined; - } - | { - property: string; - message?: string | undefined; - } - >, - ] - >; - - /** - * Rule to disallow assignment operators in `return` statements. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-return-assign - */ - "no-return-assign": Linter.RuleEntry<["except-parens" | "always"]>; - - /** - * Rule to disallow unnecessary `return await`. - * - * @since 3.10.0 - * @see https://eslint.org/docs/rules/no-return-await - */ - "no-return-await": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `javascript:` urls. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-script-url - */ - "no-script-url": Linter.RuleEntry<[]>; - - /** - * Rule to disallow assignments where both sides are exactly the same. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 2.0.0-rc.0 - * @see https://eslint.org/docs/rules/no-self-assign - */ - "no-self-assign": Linter.RuleEntry<[]>; - - /** - * Rule to disallow comparisons where both sides are exactly the same. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-self-compare - */ - "no-self-compare": Linter.RuleEntry<[]>; - - /** - * Rule to disallow comma operators. - * - * @since 0.5.1 - * @see https://eslint.org/docs/rules/no-sequences - */ - "no-sequences": Linter.RuleEntry< - [ - Partial<{ - /** - * @since 7.23.0 - * @default true - */ - allowInParentheses: boolean; - }>, - ] - >; - - /** - * Rule to disallow throwing literals as exceptions. - * - * @since 0.15.0 - * @see https://eslint.org/docs/rules/no-throw-literal - */ - "no-throw-literal": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unmodified loop conditions. - * - * @since 2.0.0-alpha-2 - * @see https://eslint.org/docs/rules/no-unmodified-loop-condition - */ - "no-unmodified-loop-condition": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unused expressions. - * - * @since 0.1.0 - * @see https://eslint.org/docs/rules/no-unused-expressions - */ - "no-unused-expressions": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowShortCircuit: boolean; - /** - * @default false - */ - allowTernary: boolean; - /** - * @default false - */ - allowTaggedTemplates: boolean; - /** - * @since 7.20.0 - * @default false - */ - enforceForJSX: boolean; - }>, - ] - >; - - /** - * Rule to disallow unused labels. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 2.0.0-rc.0 - * @see https://eslint.org/docs/rules/no-unused-labels - */ - "no-unused-labels": Linter.RuleEntry<[]>; - - /** - * Disallow variable assignments when the value is not used - * - * - * @since 9.0.0-alpha.1 - * @see https://eslint.org/docs/latest/rules/no-useless-assignment - */ - "no-useless-assignment": Linter.RuleEntry<[]>; - - /** - * Disallow useless backreferences in regular expressions - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 7.0.0-alpha.0 - * @see https://eslint.org/docs/latest/rules/no-useless-backreference - */ - "no-useless-backreference": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unnecessary calls to `.call()` and `.apply()`. - * - * @since 1.0.0-rc-1 - * @see https://eslint.org/docs/rules/no-useless-call - */ - "no-useless-call": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unnecessary `catch` clauses. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 5.11.0 - * @see https://eslint.org/docs/rules/no-useless-catch - */ - "no-useless-catch": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unnecessary concatenation of literals or template literals. - * - * @since 1.3.0 - * @see https://eslint.org/docs/rules/no-useless-concat - */ - "no-useless-concat": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unnecessary escape characters. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 2.5.0 - * @see https://eslint.org/docs/rules/no-useless-escape - */ - "no-useless-escape": Linter.RuleEntry<[]>; - - /** - * Rule to disallow redundant return statements. - * - * @since 3.9.0 - * @see https://eslint.org/docs/rules/no-useless-return - */ - "no-useless-return": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `void` operators. - * - * @since 0.8.0 - * @see https://eslint.org/docs/rules/no-void - */ - "no-void": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowAsStatement: boolean; - }>, - ] - >; - - /** - * Rule to disallow specified warning terms in comments. - * - * @since 0.4.4 - * @see https://eslint.org/docs/rules/no-warning-comments - */ - "no-warning-comments": Linter.RuleEntry< - [ - { - /** - * @default ["todo", "fixme", "xxx"] - */ - terms: string[]; - /** - * @default 'start' - */ - location: "start" | "anywhere"; - }, - ] - >; - - /** - * Rule to disallow `with` statements. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/no-with - */ - "no-with": Linter.RuleEntry<[]>; - - /** - * Rule to enforce using named capture group in regular expression. - * - * @since 5.15.0 - * @see https://eslint.org/docs/rules/prefer-named-capture-group - */ - "prefer-named-capture-group": Linter.RuleEntry<[]>; - - /** - * Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`. - * - * @since 8.5.0 - * @see https://eslint.org/docs/rules/prefer-object-has-own - */ - "prefer-object-has-own": Linter.RuleEntry<[]>; - - /** - * Rule to require using Error objects as Promise rejection reasons. - * - * @since 3.14.0 - * @see https://eslint.org/docs/rules/prefer-promise-reject-errors - */ - "prefer-promise-reject-errors": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowEmptyReject: boolean; - }>, - ] - >; - - /** - * Disallow use of the `RegExp` constructor in favor of regular expression literals. - * - * @since 6.4.0 - * @see https://eslint.org/docs/latest/rules/prefer-regex-literals - */ - "prefer-regex-literals": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - disallowRedundantWrapping: boolean; - }>, - ] - >; - - /** - * Rule to enforce the consistent use of the radix argument when using `parseInt()`. - * - * @since 0.0.7 - * @see https://eslint.org/docs/rules/radix - */ - radix: Linter.RuleEntry<["always" | "as-needed"]>; - - /** - * Rule to disallow async functions which have no `await` expression. - * - * @since 3.11.0 - * @see https://eslint.org/docs/rules/require-await - */ - "require-await": Linter.RuleEntry<[]>; - - /** - * Enforce the use of `u` or `v` flag on RegExp - * - * @since 5.3.0 - * @see https://eslint.org/docs/rules/require-unicode-regexp - */ - "require-unicode-regexp": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - requireFlag: "u" | "v"; - }>, - ] - >; - - /** - * Rule to require `var` declarations be placed at the top of their containing scope. - * - * @since 0.8.0 - * @see https://eslint.org/docs/rules/vars-on-top - */ - "vars-on-top": Linter.RuleEntry<[]>; - - /** - * Rule to require parentheses around immediate `function` invocations. - * - * @since 0.0.9 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/wrap-iife) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/wrap-iife - */ - "wrap-iife": Linter.RuleEntry< - [ - "outside" | "inside" | "any", - Partial<{ - /** - * @default false - */ - functionPrototypeMethods: boolean; - }>, - ] - >; - - /** - * Rule to require or disallow “Yoda” conditions. - * - * @since 0.7.1 - * @see https://eslint.org/docs/rules/yoda - */ - yoda: - | Linter.RuleEntry< - [ - "never", - Partial<{ - exceptRange: boolean; - onlyEquality: boolean; - }>, - ] - > - | Linter.RuleEntry<["always"]>; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/deprecated.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/deprecated.d.ts deleted file mode 100644 index 337a63b4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/deprecated.d.ts +++ /dev/null @@ -1,235 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface Deprecated extends Linter.RulesRecord { - /** - * Rule to enforce consistent indentation. - * - * @since 4.0.0-alpha.0 - * @deprecated since 4.0.0, use [`indent`](https://eslint.org/docs/rules/indent) instead. - * @see https://eslint.org/docs/rules/indent-legacy - */ - "indent-legacy": Linter.RuleEntry< - [ - number | "tab", - Partial<{ - /** - * @default 0 - */ - SwitchCase: number; - /** - * @default 1 - */ - VariableDeclarator: - | Partial<{ - /** - * @default 1 - */ - var: number | "first"; - /** - * @default 1 - */ - let: number | "first"; - /** - * @default 1 - */ - const: number | "first"; - }> - | number - | "first"; - /** - * @default 1 - */ - outerIIFEBody: number; - /** - * @default 1 - */ - MemberExpression: number | "off"; - /** - * @default { parameters: 1, body: 1 } - */ - FunctionDeclaration: Partial<{ - /** - * @default 1 - */ - parameters: number | "first" | "off"; - /** - * @default 1 - */ - body: number; - }>; - /** - * @default { parameters: 1, body: 1 } - */ - FunctionExpression: Partial<{ - /** - * @default 1 - */ - parameters: number | "first" | "off"; - /** - * @default 1 - */ - body: number; - }>; - /** - * @default { arguments: 1 } - */ - CallExpression: Partial<{ - /** - * @default 1 - */ - arguments: number | "first" | "off"; - }>; - /** - * @default 1 - */ - ArrayExpression: number | "first" | "off"; - /** - * @default 1 - */ - ObjectExpression: number | "first" | "off"; - /** - * @default 1 - */ - ImportDeclaration: number | "first" | "off"; - /** - * @default false - */ - flatTernaryExpressions: boolean; - ignoredNodes: string[]; - /** - * @default false - */ - ignoreComments: boolean; - }>, - ] - >; - - /** - * Rule to require or disallow newlines around directives. - * - * @since 3.5.0 - * @deprecated since 4.0.0, use [`padding-line-between-statements`](https://eslint.org/docs/rules/padding-line-between-statements) instead. - * @see https://eslint.org/docs/rules/lines-around-directive - */ - "lines-around-directive": Linter.RuleEntry<["always" | "never"]>; - - /** - * Rule to require or disallow an empty line after variable declarations. - * - * @since 0.18.0 - * @deprecated since 4.0.0, use [`padding-line-between-statements`](https://eslint.org/docs/rules/padding-line-between-statements) instead. - * @see https://eslint.org/docs/rules/newline-after-var - */ - "newline-after-var": Linter.RuleEntry<["always" | "never"]>; - - /** - * Rule to require an empty line before `return` statements. - * - * @since 2.3.0 - * @deprecated since 4.0.0, use [`padding-line-between-statements`](https://eslint.org/docs/rules/padding-line-between-statements) instead. - * @see https://eslint.org/docs/rules/newline-before-return - */ - "newline-before-return": Linter.RuleEntry<[]>; - - /** - * Rule to disallow shadowing of variables inside of `catch`. - * - * @since 0.0.9 - * @deprecated since 5.1.0, use [`no-shadow`](https://eslint.org/docs/rules/no-shadow) instead. - * @see https://eslint.org/docs/rules/no-catch-shadow - */ - "no-catch-shadow": Linter.RuleEntry<[]>; - - /** - * Rule to disallow reassignment of native objects. - * - * @since 0.0.9 - * @deprecated since 3.3.0, use [`no-global-assign`](https://eslint.org/docs/rules/no-global-assign) instead. - * @see https://eslint.org/docs/rules/no-native-reassign - */ - "no-native-reassign": Linter.RuleEntry< - [ - Partial<{ - exceptions: string[]; - }>, - ] - >; - - /** - * Rule to disallow negating the left operand in `in` expressions. - * - * @since 0.1.2 - * @deprecated since 3.3.0, use [`no-unsafe-negation`](https://eslint.org/docs/rules/no-unsafe-negation) instead. - * @see https://eslint.org/docs/rules/no-negated-in-lhs - */ - "no-negated-in-lhs": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `Object` constructors. - * - * @since 0.0.9 - * @deprecated since 8.50.0, use [`no-object-constructor`](https://eslint.org/docs/rules/no-object-constructor) instead. - * @see https://eslint.org/docs/rules/no-object-constructor - */ - "no-new-object": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `new` operators with the `Symbol` object. - * - * @since 2.0.0-beta.1 - * @deprecated since 8.27.0, use [`no-new-native-nonconstructor`](https://eslint.org/docs/rules/no-new-native-nonconstructor) instead. - * @see https://eslint.org/docs/rules/no-new-symbol - */ - "no-new-symbol": Linter.RuleEntry<[]>; - - /** - * Rule to disallow spacing between function identifiers and their applications. - * - * @since 0.1.2 - * @deprecated since 3.3.0, use [`func-call-spacing`](https://eslint.org/docs/rules/func-call-spacing) instead. - * @see https://eslint.org/docs/rules/no-spaced-func - */ - "no-spaced-func": Linter.RuleEntry<[]>; - - /** - * Rule to suggest using `Reflect` methods where applicable. - * - * @since 1.0.0-rc-2 - * @deprecated since 3.9.0 - * @see https://eslint.org/docs/rules/prefer-reflect - */ - "prefer-reflect": Linter.RuleEntry< - [ - Partial<{ - exceptions: string[]; - }>, - ] - >; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/ecmascript-6.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/ecmascript-6.d.ts deleted file mode 100644 index 972a221e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/ecmascript-6.d.ts +++ /dev/null @@ -1,647 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface NoRestrictedImportPathCommonOptions { - name: string; - message?: string; -} - -export type EitherImportNamesOrAllowImportName = - | { importNames?: string[]; allowImportNames?: never } - | { allowImportNames?: string[]; importNames?: never } - -export type ValidNoRestrictedImportPathOptions = NoRestrictedImportPathCommonOptions & EitherImportNamesOrAllowImportName; - -export interface NoRestrictedImportPatternCommonOptions { - message?: string; - caseSensitive?: boolean; -} - -// Base type for group or regex constraint, ensuring mutual exclusivity -export type EitherGroupOrRegEx = - | { group: string[]; regex?: never } - | { regex: string; group?: never }; - -// Base type for import name specifiers, ensuring mutual exclusivity -export type EitherNameSpecifiers = - | { importNames: string[]; allowImportNames?: never; importNamePattern?: never; allowImportNamePattern?: never } - | { importNamePattern: string; allowImportNames?: never; importNames?: never; allowImportNamePattern?: never } - | { allowImportNames: string[]; importNames?: never; importNamePattern?: never; allowImportNamePattern?: never } - | { allowImportNamePattern: string; importNames?: never; allowImportNames?: never; importNamePattern?: never } - -// Adds oneOf and not constraints, ensuring group or regex are present and mutually exclusive sets for importNames, allowImportNames, etc., as per the schema. -export type ValidNoRestrictedImportPatternOptions = NoRestrictedImportPatternCommonOptions & EitherGroupOrRegEx & EitherNameSpecifiers; - -export interface ECMAScript6 extends Linter.RulesRecord { - /** - * Rule to require braces around arrow function bodies. - * - * @since 1.8.0 - * @see https://eslint.org/docs/rules/arrow-body-style - */ - "arrow-body-style": - | Linter.RuleEntry< - [ - "as-needed", - Partial<{ - /** - * @default false - */ - requireReturnForObjectLiteral: boolean; - }>, - ] - > - | Linter.RuleEntry<["always" | "never"]>; - - /** - * Rule to require parentheses around arrow function arguments. - * - * @since 1.0.0-rc-1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/arrow-parens) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/arrow-parens - */ - "arrow-parens": - | Linter.RuleEntry<["always"]> - | Linter.RuleEntry< - [ - "as-needed", - Partial<{ - /** - * @default false - */ - requireForBlockBody: boolean; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing before and after the arrow in arrow functions. - * - * @since 1.0.0-rc-1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/arrow-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/arrow-spacing - */ - "arrow-spacing": Linter.RuleEntry<[]>; - - /** - * Rule to require `super()` calls in constructors. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.24.0 - * @see https://eslint.org/docs/rules/constructor-super - */ - "constructor-super": Linter.RuleEntry<[]>; - - /** - * Rule to enforce consistent spacing around `*` operators in generator functions. - * - * @since 0.17.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/generator-star-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/generator-star-spacing - */ - "generator-star-spacing": Linter.RuleEntry< - [ - | Partial<{ - before: boolean; - after: boolean; - named: - | Partial<{ - before: boolean; - after: boolean; - }> - | "before" - | "after" - | "both" - | "neither"; - anonymous: - | Partial<{ - before: boolean; - after: boolean; - }> - | "before" - | "after" - | "both" - | "neither"; - method: - | Partial<{ - before: boolean; - after: boolean; - }> - | "before" - | "after" - | "both" - | "neither"; - }> - | "before" - | "after" - | "both" - | "neither", - ] - >; - - /** - * Require or disallow logical assignment operator shorthand. - * - * @since 8.24.0 - * @see https://eslint.org/docs/rules/logical-assignment-operators - */ - "logical-assignment-operators": - | Linter.RuleEntry< - [ - "always", - Partial<{ - /** - * @default false - */ - enforceForIfStatements: boolean; - }>, - ] - > - | Linter.RuleEntry<["never"]>; - - /** - * Rule to disallow reassigning class members. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 1.0.0-rc-1 - * @see https://eslint.org/docs/rules/no-class-assign - */ - "no-class-assign": Linter.RuleEntry<[]>; - - /** - * Rule to disallow arrow functions where they could be confused with comparisons. - * - * @since 2.0.0-alpha-2 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-confusing-arrow) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-confusing-arrow - */ - "no-confusing-arrow": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - allowParens: boolean; - }>, - ] - >; - - /** - * Rule to disallow reassigning `const` variables. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 1.0.0-rc-1 - * @see https://eslint.org/docs/rules/no-const-assign - */ - "no-const-assign": Linter.RuleEntry<[]>; - - /** - * Rule to disallow duplicate class members. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 1.2.0 - * @see https://eslint.org/docs/rules/no-dupe-class-members - */ - "no-dupe-class-members": Linter.RuleEntry<[]>; - - /** - * Rule to disallow duplicate module imports. - * - * @since 2.5.0 - * @see https://eslint.org/docs/rules/no-duplicate-imports - */ - "no-duplicate-imports": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - includeExports: boolean; - }>, - ] - >; - - /** - * Rule to disallow `new` operator with global non-constructor functions - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 8.27.0 - * @see https://eslint.org/docs/rules/no-new-native-nonconstructor - */ - "no-new-native-nonconstructor": Linter.RuleEntry<[]>; - - /** - * Rule to disallow specified names in exports. - * - * @since 7.0.0-alpha.0 - * @see https://eslint.org/docs/rules/no-restricted-exports - */ - "no-restricted-exports": Linter.RuleEntry< - [ - Partial<{ - /** - * @default [] - */ - restrictedNamedExports: string[]; - /** - * @since 9.3.0 - */ - restrictedNamedExportsPattern: string; - /** - * @since 8.33.0 - */ - restrictDefaultExports: Partial<{ - /** - * @default false - */ - direct: boolean; - /** - * @default false - */ - named: boolean; - /** - * @default false - */ - defaultFrom: boolean; - /** - * @default false - */ - namedFrom: boolean; - /** - * @default false - */ - namespaceFrom: boolean; - }>; - }>, - ] - >; - - /** - * Rule to disallow specified modules when loaded by `import`. - * - * @since 2.0.0-alpha-1 - * @see https://eslint.org/docs/rules/no-restricted-imports - */ - "no-restricted-imports": Linter.RuleEntry< - [ - ...Array< - | string - | ValidNoRestrictedImportPathOptions - | Partial<{ - paths: Array; - patterns: Array; - }> - > - ] - >; - - /** - * Rule to disallow `this`/`super` before calling `super()` in constructors. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.24.0 - * @see https://eslint.org/docs/rules/no-this-before-super - */ - "no-this-before-super": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unnecessary computed property keys in object literals. - * - * @since 2.9.0 - * @see https://eslint.org/docs/rules/no-useless-computed-key - */ - "no-useless-computed-key": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - enforceForClassMembers: boolean; - }>, - ] - >; - - /** - * Rule to disallow unnecessary constructors. - * - * @since 2.0.0-beta.1 - * @see https://eslint.org/docs/rules/no-useless-constructor - */ - "no-useless-constructor": Linter.RuleEntry<[]>; - - /** - * Rule to disallow renaming import, export, and destructured assignments to the same name. - * - * @since 2.11.0 - * @see https://eslint.org/docs/rules/no-useless-rename - */ - "no-useless-rename": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - ignoreImport: boolean; - /** - * @default false - */ - ignoreExport: boolean; - /** - * @default false - */ - ignoreDestructuring: boolean; - }>, - ] - >; - - /** - * Rule to require `let` or `const` instead of `var`. - * - * @since 0.12.0 - * @see https://eslint.org/docs/rules/no-var - */ - "no-var": Linter.RuleEntry<[]>; - - /** - * Rule to require or disallow method and property shorthand syntax for object literals. - * - * @since 0.20.0 - * @see https://eslint.org/docs/rules/object-shorthand - */ - "object-shorthand": - | Linter.RuleEntry< - [ - "always" | "methods", - Partial<{ - /** - * @default false - */ - avoidQuotes: boolean; - /** - * @default false - */ - ignoreConstructors: boolean; - /** - * @since 8.22.0 - */ - methodsIgnorePattern: string; - /** - * @default false - */ - avoidExplicitReturnArrows: boolean; - }>, - ] - > - | Linter.RuleEntry< - [ - "properties", - Partial<{ - /** - * @default false - */ - avoidQuotes: boolean; - }>, - ] - > - | Linter.RuleEntry<["never" | "consistent" | "consistent-as-needed"]>; - - /** - * Rule to require using arrow functions for callbacks. - * - * @since 1.2.0 - * @see https://eslint.org/docs/rules/prefer-arrow-callback - */ - "prefer-arrow-callback": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowNamedFunctions: boolean; - /** - * @default true - */ - allowUnboundThis: boolean; - }>, - ] - >; - - /** - * Rule to require `const` declarations for variables that are never reassigned after declared. - * - * @since 0.23.0 - * @see https://eslint.org/docs/rules/prefer-const - */ - "prefer-const": Linter.RuleEntry< - [ - Partial<{ - /** - * @default 'any' - */ - destructuring: "any" | "all"; - /** - * @default false - */ - ignoreReadBeforeAssign: boolean; - }>, - ] - >; - - /** - * Rule to require destructuring from arrays and/or objects. - * - * @since 3.13.0 - * @see https://eslint.org/docs/rules/prefer-destructuring - */ - "prefer-destructuring": Linter.RuleEntry< - [ - Partial< - | { - VariableDeclarator: Partial<{ - array: boolean; - object: boolean; - }>; - AssignmentExpression: Partial<{ - array: boolean; - object: boolean; - }>; - } - | { - array: boolean; - object: boolean; - } - >, - Partial<{ - enforceForRenamedProperties: boolean; - }>, - ] - >; - - /** - * Disallow the use of `Math.pow` in favor of the `**` operator. - * - * @since 6.7.0 - * @see https://eslint.org/docs/latest/rules/prefer-exponentiation-operator - */ - "prefer-exponentiation-operator": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals. - * - * @since 3.5.0 - * @see https://eslint.org/docs/rules/prefer-numeric-literals - */ - "prefer-numeric-literals": Linter.RuleEntry<[]>; - - /** - * Rule to require rest parameters instead of `arguments`. - * - * @since 2.0.0-alpha-1 - * @see https://eslint.org/docs/rules/prefer-rest-params - */ - "prefer-rest-params": Linter.RuleEntry<[]>; - - /** - * Rule to require spread operators instead of `.apply()`. - * - * @since 1.0.0-rc-1 - * @see https://eslint.org/docs/rules/prefer-spread - */ - "prefer-spread": Linter.RuleEntry<[]>; - - /** - * Rule to require template literals instead of string concatenation. - * - * @since 1.2.0 - * @see https://eslint.org/docs/rules/prefer-template - */ - "prefer-template": Linter.RuleEntry<[]>; - - /** - * Rule to require generator functions to contain `yield`. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 1.0.0-rc-1 - * @see https://eslint.org/docs/rules/require-yield - */ - "require-yield": Linter.RuleEntry<[]>; - - /** - * Rule to enforce spacing between rest and spread operators and their expressions. - * - * @since 2.12.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/rest-spread-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/rest-spread-spacing - */ - "rest-spread-spacing": Linter.RuleEntry<["never" | "always"]>; - - /** - * Rule to enforce sorted import declarations within modules. - * - * @since 2.0.0-beta.1 - * @see https://eslint.org/docs/rules/sort-imports - */ - "sort-imports": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - ignoreCase: boolean; - /** - * @default false - */ - ignoreDeclarationSort: boolean; - /** - * @default false - */ - ignoreMemberSort: boolean; - /** - * @default ['none', 'all', 'multiple', 'single'] - */ - memberSyntaxSortOrder: Array<"none" | "all" | "multiple" | "single">; - /** - * @default false - */ - allowSeparatedGroups: boolean; - }>, - ] - >; - - /** - * Rule to require symbol descriptions. - * - * @since 3.4.0 - * @see https://eslint.org/docs/rules/symbol-description - */ - "symbol-description": Linter.RuleEntry<[]>; - - /** - * Rule to require or disallow spacing around embedded expressions of template strings. - * - * @since 2.0.0-rc.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/template-curly-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/template-curly-spacing - */ - "template-curly-spacing": Linter.RuleEntry<["never" | "always"]>; - - /** - * Rule to require or disallow spacing around the `*` in `yield*` expressions. - * - * @since 2.0.0-alpha-1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/yield-star-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/yield-star-spacing - */ - "yield-star-spacing": Linter.RuleEntry< - [ - | Partial<{ - before: boolean; - after: boolean; - }> - | "before" - | "after" - | "both" - | "neither", - ] - >; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/index.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/index.d.ts deleted file mode 100644 index f29844f4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/index.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - - -import { Linter } from "../index"; - -import { BestPractices } from "./best-practices"; -import { Deprecated } from "./deprecated"; -import { ECMAScript6 } from "./ecmascript-6"; -import { NodeJSAndCommonJS } from "./node-commonjs"; -import { PossibleErrors } from "./possible-errors"; -import { StrictMode } from "./strict-mode"; -import { StylisticIssues } from "./stylistic-issues"; -import { Variables } from "./variables"; - -export interface ESLintRules - extends - Linter.RulesRecord, - PossibleErrors, - BestPractices, - StrictMode, - Variables, - NodeJSAndCommonJS, - StylisticIssues, - ECMAScript6, - Deprecated { } diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/node-commonjs.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/node-commonjs.d.ts deleted file mode 100644 index 7418b5fc..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/node-commonjs.d.ts +++ /dev/null @@ -1,160 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface NodeJSAndCommonJS extends Linter.RulesRecord { - /** - * Rule to require `return` statements after callbacks. - * - * @since 1.0.0-rc-1 - * @see https://eslint.org/docs/rules/callback-return - */ - "callback-return": Linter.RuleEntry<[string[]]>; - - /** - * Rule to require `require()` calls to be placed at top-level module scope. - * - * @since 1.4.0 - * @see https://eslint.org/docs/rules/global-require - */ - "global-require": Linter.RuleEntry<[]>; - - /** - * Rule to require error handling in callbacks. - * - * @since 0.4.5 - * @see https://eslint.org/docs/rules/handle-callback-err - */ - "handle-callback-err": Linter.RuleEntry<[string]>; - - /** - * Rule to disallow use of the `Buffer()` constructor. - * - * @since 4.0.0-alpha.0 - * @see https://eslint.org/docs/rules/no-buffer-constructor - */ - "no-buffer-constructor": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `require` calls to be mixed with regular variable declarations. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-mixed-requires - */ - "no-mixed-requires": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - grouping: boolean; - /** - * @default false - */ - allowCall: boolean; - }>, - ] - >; - - /** - * Rule to disallow `new` operators with calls to `require`. - * - * @since 0.6.0 - * @see https://eslint.org/docs/rules/no-new-require - */ - "no-new-require": Linter.RuleEntry<[]>; - - /** - * Rule to disallow string concatenation when using `__dirname` and `__filename`. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-path-concat - */ - "no-path-concat": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of `process.env`. - * - * @since 0.9.0 - * @see https://eslint.org/docs/rules/no-process-env - */ - "no-process-env": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of `process.exit()`. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-process-exit - */ - "no-process-exit": Linter.RuleEntry<[]>; - - /** - * Rule to disallow specified modules when loaded by `require`. - * - * @since 0.6.0 - * @see https://eslint.org/docs/rules/no-restricted-modules - */ - "no-restricted-modules": Linter.RuleEntry< - [ - ...Array< - | string - | { - name: string; - message?: string | undefined; - } - | Partial<{ - paths: Array< - | string - | { - name: string; - message?: string | undefined; - } - >; - patterns: string[]; - }> - >, - ] - >; - - /** - * Rule to disallow synchronous methods. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-sync - */ - "no-sync": Linter.RuleEntry< - [ - { - /** - * @default false - */ - allowAtRootLevel: boolean; - }, - ] - >; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/possible-errors.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/possible-errors.d.ts deleted file mode 100644 index fac05e2d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/possible-errors.d.ts +++ /dev/null @@ -1,653 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface PossibleErrors extends Linter.RulesRecord { - /** - * Rule to enforce `for` loop update clause moving the counter in the right direction. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 4.0.0-beta.0 - * @see https://eslint.org/docs/rules/for-direction - */ - "for-direction": Linter.RuleEntry<[]>; - - /** - * Rule to enforce `return` statements in getters. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 4.2.0 - * @see https://eslint.org/docs/rules/getter-return - */ - "getter-return": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowImplicit: boolean; - }>, - ] - >; - - /** - * Rule to disallow using an async function as a `Promise` executor. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 5.3.0 - * @see https://eslint.org/docs/rules/no-async-promise-executor - */ - "no-async-promise-executor": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `await` inside of loops. - * - * @since 3.12.0 - * @see https://eslint.org/docs/rules/no-await-in-loop - */ - "no-await-in-loop": Linter.RuleEntry<[]>; - - /** - * Rule to disallow comparing against `-0`. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 3.17.0 - * @see https://eslint.org/docs/rules/no-compare-neg-zero - */ - "no-compare-neg-zero": Linter.RuleEntry<[]>; - - /** - * Rule to disallow assignment operators in conditional statements. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-cond-assign - */ - "no-cond-assign": Linter.RuleEntry<["except-parens" | "always"]>; - - /** - * Rule to disallow the use of `console`. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/no-console - */ - "no-console": Linter.RuleEntry< - [ - Partial<{ - allow: Array; - }>, - ] - >; - - /** - * Rule to disallow constant expressions in conditions. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.4.1 - * @see https://eslint.org/docs/rules/no-constant-condition - */ - "no-constant-condition": Linter.RuleEntry< - [ - { - /** - * @default true - */ - checkLoops: boolean; - }, - ] - >; - - /** - * Rule to disallow control characters in regular expressions. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.1.0 - * @see https://eslint.org/docs/rules/no-control-regex - */ - "no-control-regex": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of `debugger`. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/no-debugger - */ - "no-debugger": Linter.RuleEntry<[]>; - - /** - * Rule to disallow duplicate arguments in `function` definitions. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.16.0 - * @see https://eslint.org/docs/rules/no-dupe-args - */ - "no-dupe-args": Linter.RuleEntry<[]>; - - /** - * Disallow duplicate conditions in if-else-if chains. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 6.7.0 - * @see https://eslint.org/docs/rules/no-dupe-else-if - */ - "no-dupe-else-if": Linter.RuleEntry<[]>; - - /** - * Rule to disallow duplicate keys in object literals. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-dupe-keys - */ - "no-dupe-keys": Linter.RuleEntry<[]>; - - /** - * Rule to disallow a duplicate case label. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.17.0 - * @see https://eslint.org/docs/rules/no-duplicate-case - */ - "no-duplicate-case": Linter.RuleEntry<[]>; - - /** - * Rule to disallow empty block statements. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/no-empty - */ - "no-empty": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowEmptyCatch: boolean; - }>, - ] - >; - - /** - * Rule to disallow empty character classes in regular expressions. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.22.0 - * @see https://eslint.org/docs/rules/no-empty-character-class - */ - "no-empty-character-class": Linter.RuleEntry<[]>; - - /** - * Rule to disallow reassigning exceptions in `catch` clauses. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-ex-assign - */ - "no-ex-assign": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unnecessary boolean casts. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-extra-boolean-cast - */ - "no-extra-boolean-cast": Linter.RuleEntry< - [ - | Partial<{ - /** - * @since 9.3.0 - * @default false - */ - enforceForInnerExpressions: boolean; - /** - * @deprecated - */ - enforceForLogicalOperands: never; - }> - | Partial<{ - /** - * @deprecated - * @since 7.0.0-alpha.2 - * @default false - */ - enforceForLogicalOperands: boolean; - enforceForInnerExpressions: never; - }>, - ] - >; - - /** - * Rule to disallow unnecessary parentheses. - * - * @since 0.1.4 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-extra-parens) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-extra-parens - */ - "no-extra-parens": - | Linter.RuleEntry< - [ - "all", - Partial<{ - /** - * @default true, - */ - conditionalAssign: boolean; - /** - * @default true - */ - returnAssign: boolean; - /** - * @default true - */ - nestedBinaryExpressions: boolean; - /** - * @default 'none' - */ - ignoreJSX: "none" | "all" | "multi-line" | "single-line"; - /** - * @default true - */ - enforceForArrowConditionals: boolean; - }>, - ] - > - | Linter.RuleEntry<["functions"]>; - - /** - * Rule to disallow unnecessary semicolons. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-extra-semi) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-extra-semi - */ - "no-extra-semi": Linter.RuleEntry<[]>; - - /** - * Rule to disallow reassigning `function` declarations. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-func-assign - */ - "no-func-assign": Linter.RuleEntry<[]>; - - /** - * Rule to disallow variable or `function` declarations in nested blocks. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.6.0 - * @see https://eslint.org/docs/rules/no-inner-declarations - */ - "no-inner-declarations": Linter.RuleEntry<["functions" | "both"]>; - - /** - * Rule to disallow invalid regular expression strings in `RegExp` constructors. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.1.4 - * @see https://eslint.org/docs/rules/no-invalid-regexp - */ - "no-invalid-regexp": Linter.RuleEntry< - [ - Partial<{ - allowConstructorFlags: string[]; - }>, - ] - >; - - /** - * Rule to disallow irregular whitespace. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.9.0 - * @see https://eslint.org/docs/rules/no-irregular-whitespace - */ - "no-irregular-whitespace": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - skipStrings: boolean; - /** - * @default false - */ - skipComments: boolean; - /** - * @default false - */ - skipRegExps: boolean; - /** - * @default false - */ - skipTemplates: boolean; - }>, - ] - >; - - /** - * Disallow literal numbers that lose precision. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 7.1.0 - * @see https://eslint.org/docs/latest/rules/no-loss-of-precision - */ - "no-loss-of-precision": Linter.RuleEntry<[]>; - - /** - * Rule to disallow characters which are made with multiple code points in character class syntax. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 5.3.0 - * @see https://eslint.org/docs/rules/no-misleading-character-class - */ - "no-misleading-character-class": Linter.RuleEntry< - [ - Partial<{ - /** - * @since 9.3.0 - * @default false - */ - allowEscape: boolean; - }>, - ] - >; - - /** - * Rule to disallow calling global object properties as functions. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-obj-calls - */ - "no-obj-calls": Linter.RuleEntry<[]>; - - /** - * Rule to disallow returning values from Promise executor functions. - * - * @since 7.3.0 - * @see https://eslint.org/docs/rules/no-promise-executor-return - */ - "no-promise-executor-return": Linter.RuleEntry<[ - { - /** - * @default false - */ - allowVoid?: boolean; - }, - ]>; - - /** - * Rule to disallow use of `Object.prototypes` builtins directly. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 2.11.0 - * @see https://eslint.org/docs/rules/no-prototype-builtins - */ - "no-prototype-builtins": Linter.RuleEntry<[]>; - - /** - * Rule to disallow multiple spaces in regular expressions. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-regex-spaces - */ - "no-regex-spaces": Linter.RuleEntry<[]>; - - /** - * Rule to disallow sparse arrays. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-sparse-arrays - */ - "no-sparse-arrays": Linter.RuleEntry<[]>; - - /** - * Rule to disallow template literal placeholder syntax in regular strings. - * - * @since 3.3.0 - * @see https://eslint.org/docs/rules/no-template-curly-in-string - */ - "no-template-curly-in-string": Linter.RuleEntry<[]>; - - /** - * Rule to disallow confusing multiline expressions. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.24.0 - * @see https://eslint.org/docs/rules/no-unexpected-multiline - */ - "no-unexpected-multiline": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unreachable code after `return`, `throw`, `continue`, and `break` statements. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.6 - * @see https://eslint.org/docs/rules/no-unreachable - */ - "no-unreachable": Linter.RuleEntry<[]>; - - /** - * Disallow loops with a body that allows only one iteration. - * - * @since 7.3.0 - * @see https://eslint.org/docs/latest/rules/no-unreachable-loop - */ - "no-unreachable-loop": Linter.RuleEntry< - [ - Partial<{ - /** - * @default [] - */ - ignore: "WhileStatement" | "DoWhileStatement" | "ForStatement" | "ForInStatement" | "ForOfStatement"; - }>, - ] - >; - - /** - * Rule to disallow control flow statements in `finally` blocks. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 2.9.0 - * @see https://eslint.org/docs/rules/no-unsafe-finally - */ - "no-unsafe-finally": Linter.RuleEntry<[]>; - - /** - * Rule to disallow negating the left operand of relational operators. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 3.3.0 - * @see https://eslint.org/docs/rules/no-unsafe-negation - */ - "no-unsafe-negation": Linter.RuleEntry< - [ - Partial<{ - /** - * @since 6.6.0 - * @default false - */ - enforceForOrderingRelations: boolean; - }>, - ] - >; - - /** - * Disallow use of optional chaining in contexts where the `undefined` value is not allowed. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 7.15.0 - * @see https://eslint.org/docs/rules/no-unsafe-optional-chaining - */ - "no-unsafe-optional-chaining": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - disallowArithmeticOperators: boolean; - }>, - ] - >; - - /** - * Rule to disallow assignments that can lead to race conditions due to usage of `await` or `yield`. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 5.3.0 - * @see https://eslint.org/docs/rules/require-atomic-updates - */ - "require-atomic-updates": Linter.RuleEntry< - [ - Partial<{ - /** - * @since 8.3.0 - * @default false - */ - allowProperties: boolean; - }>, - ] - >; - - /** - * Rule to require calls to `isNaN()` when checking for `NaN`. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.6 - * @see https://eslint.org/docs/rules/use-isnan - */ - "use-isnan": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - enforceForSwitchCase: boolean; - /** - * @default true - */ - enforceForIndexOf: boolean; - }>, - ] - >; - - /** - * Rule to enforce comparing `typeof` expressions against valid strings. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.5.0 - * @see https://eslint.org/docs/rules/valid-typeof - */ - "valid-typeof": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - requireStringLiterals: boolean; - }>, - ] - >; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/strict-mode.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/strict-mode.d.ts deleted file mode 100644 index 23bd9a9a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/strict-mode.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface StrictMode extends Linter.RulesRecord { - /** - * Rule to require or disallow strict mode directives. - * - * @since 0.1.0 - * @see https://eslint.org/docs/rules/strict - */ - strict: Linter.RuleEntry<["safe" | "global" | "function" | "never"]>; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/stylistic-issues.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/stylistic-issues.d.ts deleted file mode 100644 index da0f0822..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/stylistic-issues.d.ts +++ /dev/null @@ -1,2037 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface StylisticIssues extends Linter.RulesRecord { - /** - * Rule to enforce linebreaks after opening and before closing array brackets. - * - * @since 4.0.0-alpha.1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/array-bracket-newline) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/array-bracket-newline - */ - "array-bracket-newline": Linter.RuleEntry< - [ - | "always" - | "never" - | "consistent" - | Partial<{ - /** - * @default true - */ - multiline: boolean; - /** - * @default null - */ - minItems: number | null; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing inside array brackets. - * - * @since 0.24.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/array-bracket-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/array-bracket-spacing - */ - "array-bracket-spacing": - | Linter.RuleEntry< - [ - "never", - Partial<{ - /** - * @default false - */ - singleValue: boolean; - /** - * @default false - */ - objectsInArrays: boolean; - /** - * @default false - */ - arraysInArrays: boolean; - }>, - ] - > - | Linter.RuleEntry< - [ - "always", - Partial<{ - /** - * @default true - */ - singleValue: boolean; - /** - * @default true - */ - objectsInArrays: boolean; - /** - * @default true - */ - arraysInArrays: boolean; - }>, - ] - >; - - /** - * Rule to enforce line breaks after each array element. - * - * @since 4.0.0-rc.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/array-element-newline) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/array-element-newline - */ - "array-element-newline": Linter.RuleEntry< - [ - | "always" - | "never" - | "consistent" - | Partial<{ - /** - * @default true - */ - multiline: boolean; - /** - * @default null - */ - minItems: number | null; - }>, - ] - >; - - /** - * Rule to disallow or enforce spaces inside of blocks after opening block and before closing block. - * - * @since 1.2.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/block-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/block-spacing - */ - "block-spacing": Linter.RuleEntry<["always" | "never"]>; - - /** - * Rule to enforce consistent brace style for blocks. - * - * @since 0.0.7 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/brace-style) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/brace-style - */ - "brace-style": Linter.RuleEntry< - [ - "1tbs" | "stroustrup" | "allman", - Partial<{ - /** - * @default false - */ - allowSingleLine: boolean; - }>, - ] - >; - - /** - * Rule to enforce camelcase naming convention. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/camelcase - */ - camelcase: Linter.RuleEntry< - [ - Partial<{ - /** - * @default 'always' - */ - properties: "always" | "never"; - /** - * @default false - */ - ignoreDestructuring: boolean; - /** - * @since 6.7.0 - * @default false - */ - ignoreImports: boolean; - /** - * @since 7.4.0 - * @default false - */ - ignoreGlobals: boolean; - /** - * @remarks - * Also accept for regular expression patterns - */ - allow: string[]; - }>, - ] - >; - - /** - * Rule to enforce or disallow capitalization of the first letter of a comment. - * - * @since 3.11.0 - * @see https://eslint.org/docs/rules/capitalized-comments - */ - "capitalized-comments": Linter.RuleEntry< - [ - "always" | "never", - Partial<{ - ignorePattern: string; - /** - * @default false - */ - ignoreInlineComments: boolean; - /** - * @default false - */ - ignoreConsecutiveComments: boolean; - }>, - ] - >; - - /** - * Rule to require or disallow trailing commas. - * - * @since 0.16.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/comma-dangle) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/comma-dangle - */ - "comma-dangle": Linter.RuleEntry< - [ - | "never" - | "always" - | "always-multiline" - | "only-multiline" - | Partial<{ - /** - * @default 'never' - */ - arrays: "never" | "always" | "always-multiline" | "only-multiline"; - /** - * @default 'never' - */ - objects: "never" | "always" | "always-multiline" | "only-multiline"; - /** - * @default 'never' - */ - imports: "never" | "always" | "always-multiline" | "only-multiline"; - /** - * @default 'never' - */ - exports: "never" | "always" | "always-multiline" | "only-multiline"; - /** - * @default 'never' - */ - functions: "never" | "always" | "always-multiline" | "only-multiline"; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing before and after commas. - * - * @since 0.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/comma-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/comma-spacing - */ - "comma-spacing": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - before: boolean; - /** - * @default true - */ - after: boolean; - }>, - ] - >; - - /** - * Rule to enforce consistent comma style. - * - * @since 0.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/comma-style) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/comma-style - */ - "comma-style": Linter.RuleEntry< - [ - "last" | "first", - Partial<{ - exceptions: Record; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing inside computed property brackets. - * - * @since 0.23.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/computed-property-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/computed-property-spacing - */ - "computed-property-spacing": Linter.RuleEntry<["never" | "always"]>; - - /** - * Rule to enforce consistent naming when capturing the current execution context. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/consistent-this - */ - "consistent-this": Linter.RuleEntry<[...string[]]>; - - /** - * Rule to require or disallow newline at the end of files. - * - * @since 0.7.1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/eol-last) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/eol-last - */ - "eol-last": Linter.RuleEntry< - [ - "always" | "never", // | 'unix' | 'windows' - ] - >; - - /** - * Rule to require or disallow spacing between function identifiers and their invocations. - * - * @since 3.3.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/function-call-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/func-call-spacing - */ - "func-call-spacing": Linter.RuleEntry<["never" | "always"]>; - - /** - * Rule to require function names to match the name of the variable or property to which they are assigned. - * - * @since 3.8.0 - * @see https://eslint.org/docs/rules/func-name-matching - */ - "func-name-matching": - | Linter.RuleEntry< - [ - "always" | "never", - Partial<{ - /** - * @default false - */ - considerPropertyDescriptor: boolean; - /** - * @default false - */ - includeCommonJSModuleExports: boolean; - }>, - ] - > - | Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - considerPropertyDescriptor: boolean; - /** - * @default false - */ - includeCommonJSModuleExports: boolean; - }>, - ] - >; - - /** - * Rule to require or disallow named `function` expressions. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/func-names - */ - "func-names": Linter.RuleEntry< - [ - "always" | "as-needed" | "never", - Partial<{ - generators: "always" | "as-needed" | "never"; - }>, - ] - >; - - /** - * Rule to enforce the consistent use of either `function` declarations or expressions. - * - * @since 0.2.0 - * @see https://eslint.org/docs/rules/func-style - */ - "func-style": Linter.RuleEntry< - [ - "expression" | "declaration", - Partial<{ - /** - * @default false - */ - allowArrowFunctions: boolean; - overrides: { - namedExports: "declaration" | "expression" | "ignore"; - } - }>, - ] - >; - - /** - * Rule to enforce consistent line breaks inside function parentheses. - * - * @since 4.6.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/function-paren-newline) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/function-paren-newline - */ - "function-paren-newline": Linter.RuleEntry< - [ - | "always" - | "never" - | "multiline" - | "multiline-arguments" - | "consistent" - | Partial<{ - minItems: number; - }>, - ] - >; - - /** - * Rule to disallow specified identifiers. - * - * @since 2.0.0-beta.2 - * @see https://eslint.org/docs/rules/id-blacklist - */ - "id-blacklist": Linter.RuleEntry<[...string[]]>; - - /** - * Rule to enforce minimum and maximum identifier lengths. - * - * @since 1.0.0 - * @see https://eslint.org/docs/rules/id-length - */ - "id-length": Linter.RuleEntry< - [ - Partial<{ - /** - * @default 2 - */ - min: number; - /** - * @default Infinity - */ - max: number; - /** - * @default 'always' - */ - properties: "always" | "never"; - exceptions: string[]; - }>, - ] - >; - - /** - * Rule to require identifiers to match a specified regular expression. - * - * @since 1.0.0 - * @see https://eslint.org/docs/rules/id-match - */ - "id-match": Linter.RuleEntry< - [ - string, - Partial<{ - /** - * @default false - */ - properties: boolean; - /** - * @default false - */ - onlyDeclarations: boolean; - /** - * @default false - */ - ignoreDestructuring: boolean; - }>, - ] - >; - - /** - * Rule to enforce the location of arrow function bodies. - * - * @since 4.12.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/implicit-arrow-linebreak) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/implicit-arrow-linebreak - */ - "implicit-arrow-linebreak": Linter.RuleEntry<["beside" | "below"]>; - - /** - * Rule to enforce consistent indentation. - * - * @since 0.14.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/indent) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/indent - */ - indent: Linter.RuleEntry< - [ - number | "tab", - Partial<{ - /** - * @default 0 - */ - SwitchCase: number; - /** - * @default 1 - */ - VariableDeclarator: - | Partial<{ - /** - * @default 1 - */ - var: number | "first"; - /** - * @default 1 - */ - let: number | "first"; - /** - * @default 1 - */ - const: number | "first"; - }> - | number - | "first"; - /** - * @default 1 - */ - outerIIFEBody: number; - /** - * @default 1 - */ - MemberExpression: number | "off"; - /** - * @default { parameters: 1, body: 1 } - */ - FunctionDeclaration: Partial<{ - /** - * @default 1 - */ - parameters: number | "first" | "off"; - /** - * @default 1 - */ - body: number; - }>; - /** - * @default { parameters: 1, body: 1 } - */ - FunctionExpression: Partial<{ - /** - * @default 1 - */ - parameters: number | "first" | "off"; - /** - * @default 1 - */ - body: number; - }>; - /** - * @default { arguments: 1 } - */ - CallExpression: Partial<{ - /** - * @default 1 - */ - arguments: number | "first" | "off"; - }>; - /** - * @default 1 - */ - ArrayExpression: number | "first" | "off"; - /** - * @default 1 - */ - ObjectExpression: number | "first" | "off"; - /** - * @default 1 - */ - ImportDeclaration: number | "first" | "off"; - /** - * @default false - */ - flatTernaryExpressions: boolean; - ignoredNodes: string[]; - /** - * @default false - */ - ignoreComments: boolean; - }>, - ] - >; - - /** - * Rule to enforce the consistent use of either double or single quotes in JSX attributes. - * - * @since 1.4.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/jsx-quotes) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/jsx-quotes - */ - "jsx-quotes": Linter.RuleEntry<["prefer-double" | "prefer-single"]>; - - /** - * Rule to enforce consistent spacing between keys and values in object literal properties. - * - * @since 0.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/key-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/key-spacing - */ - "key-spacing": Linter.RuleEntry< - [ - | Partial< - | { - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - align: - | Partial<{ - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'colon' - */ - on: "value" | "colon"; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - }> - | "value" - | "colon"; - } - | { - singleLine?: - | Partial<{ - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - }> - | undefined; - multiLine?: - | Partial<{ - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - align: - | Partial<{ - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'colon' - */ - on: "value" | "colon"; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - }> - | "value" - | "colon"; - }> - | undefined; - } - > - | { - align: Partial<{ - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'colon' - */ - on: "value" | "colon"; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - }>; - singleLine?: - | Partial<{ - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - }> - | undefined; - multiLine?: - | Partial<{ - /** - * @default false - */ - beforeColon: boolean; - /** - * @default true - */ - afterColon: boolean; - /** - * @default 'strict' - */ - mode: "strict" | "minimum"; - }> - | undefined; - }, - ] - >; - - /** - * Rule to enforce consistent spacing before and after keywords. - * - * @since 2.0.0-beta.1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/keyword-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/keyword-spacing - */ - "keyword-spacing": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - before: boolean; - /** - * @default true - */ - after: boolean; - overrides: Record< - string, - Partial<{ - before: boolean; - after: boolean; - }> - >; - }>, - ] - >; - - /** - * Rule to enforce position of line comments. - * - * @since 3.5.0 - * @deprecated since 9.3.0, please use the [corresponding rule](https://eslint.style/rules/js/line-comment-position) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/line-comment-position - */ - "line-comment-position": Linter.RuleEntry< - [ - Partial<{ - /** - * @default 'above' - */ - position: "above" | "beside"; - ignorePattern: string; - /** - * @default true - */ - applyDefaultIgnorePatterns: boolean; - }>, - ] - >; - - /** - * Rule to enforce consistent linebreak style. - * - * @since 0.21.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/linebreak-style) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/linebreak-style - */ - "linebreak-style": Linter.RuleEntry<["unix" | "windows"]>; - - /** - * Rule to require empty lines around comments. - * - * @since 0.22.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/lines-around-comment) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/lines-around-comment - */ - "lines-around-comment": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - beforeBlockComment: boolean; - /** - * @default false - */ - afterBlockComment: boolean; - /** - * @default false - */ - beforeLineComment: boolean; - /** - * @default false - */ - afterLineComment: boolean; - /** - * @default false - */ - allowBlockStart: boolean; - /** - * @default false - */ - allowBlockEnd: boolean; - /** - * @default false - */ - allowObjectStart: boolean; - /** - * @default false - */ - allowObjectEnd: boolean; - /** - * @default false - */ - allowArrayStart: boolean; - /** - * @default false - */ - allowArrayEnd: boolean; - /** - * @default false - */ - allowClassStart: boolean; - /** - * @default false - */ - allowClassEnd: boolean; - ignorePattern: string; - /** - * @default true - */ - applyDefaultIgnorePatterns: boolean; - }>, - ] - >; - - /** - * Rule to require or disallow an empty line between class members. - * - * @since 4.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/lines-between-class-members) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/lines-between-class-members - */ - "lines-between-class-members": Linter.RuleEntry< - [ - "always" | "never" | { - enforce: Array< - { - blankLine: "always" | "never"; - prev: "method" | "field" | "*"; - next: "method" | "field" | "*"; - } - > - }, - Partial<{ - /** - * @default false - */ - exceptAfterSingleLine: boolean; - }>, - ] - >; - - /** - * Rule to enforce a maximum depth that blocks can be nested. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/max-depth - */ - "max-depth": Linter.RuleEntry< - [ - Partial<{ - /** - * @default 4 - */ - max: number; - }>, - ] - >; - - /** - * Rule to enforce a maximum line length. - * - * @since 0.0.9 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/max-len) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/max-len - */ - "max-len": Linter.RuleEntry< - [ - Partial<{ - /** - * @default 80 - */ - code: number; - /** - * @default 4 - */ - tabWidth: number; - comments: number; - ignorePattern: string; - /** - * @default false - */ - ignoreComments: boolean; - /** - * @default false - */ - ignoreTrailingComments: boolean; - /** - * @default false - */ - ignoreUrls: boolean; - /** - * @default false - */ - ignoreStrings: boolean; - /** - * @default false - */ - ignoreTemplateLiterals: boolean; - /** - * @default false - */ - ignoreRegExpLiterals: boolean; - }>, - ] - >; - - /** - * Rule to enforce a maximum number of lines per file. - * - * @since 2.12.0 - * @see https://eslint.org/docs/rules/max-lines - */ - "max-lines": Linter.RuleEntry< - [ - | Partial<{ - /** - * @default 300 - */ - max: number; - /** - * @default false - */ - skipBlankLines: boolean; - /** - * @default false - */ - skipComments: boolean; - }> - | number, - ] - >; - - /** - * Rule to enforce a maximum number of line of code in a function. - * - * @since 5.0.0 - * @see https://eslint.org/docs/rules/max-lines-per-function - */ - "max-lines-per-function": Linter.RuleEntry< - [ - Partial<{ - /** - * @default 50 - */ - max: number; - /** - * @default false - */ - skipBlankLines: boolean; - /** - * @default false - */ - skipComments: boolean; - /** - * @default false - */ - IIFEs: boolean; - }>, - ] - >; - - /** - * Rule to enforce a maximum depth that callbacks can be nested. - * - * @since 0.2.0 - * @see https://eslint.org/docs/rules/max-nested-callbacks - */ - "max-nested-callbacks": Linter.RuleEntry< - [ - | Partial<{ - /** - * @default 10 - */ - max: number; - }> - | number, - ] - >; - - /** - * Rule to enforce a maximum number of parameters in function definitions. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/max-params - */ - "max-params": Linter.RuleEntry< - [ - | Partial<{ - /** - * @default 3 - */ - max: number; - }> - | number, - ] - >; - - /** - * Rule to enforce a maximum number of statements allowed in function blocks. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/max-statements - */ - "max-statements": Linter.RuleEntry< - [ - | Partial<{ - /** - * @default 10 - */ - max: number; - /** - * @default false - */ - ignoreTopLevelFunctions: boolean; - }> - | number, - ] - >; - - /** - * Rule to enforce a maximum number of statements allowed per line. - * - * @since 2.5.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/max-statements-per-line) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/max-statements-per-line - */ - "max-statements-per-line": Linter.RuleEntry< - [ - | Partial<{ - /** - * @default 1 - */ - max: number; - }> - | number, - ] - >; - - /** - * Rule to enforce a particular style for multiline comments. - * - * @since 4.10.0 - * @deprecated since 9.3.0, please use the [corresponding rule](https://eslint.style/rules/js/multiline-comment-style) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/multiline-comment-style - */ - "multiline-comment-style": Linter.RuleEntry<["starred-block" | "bare-block" | "separate-lines"]>; - - /** - * Rule to enforce newlines between operands of ternary expressions. - * - * @since 3.1.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/multiline-ternary) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/multiline-ternary - */ - "multiline-ternary": Linter.RuleEntry<["always" | "always-multiline" | "never"]>; - - /** - * Rule to require constructor names to begin with a capital letter. - * - * @since 0.0.3-0 - * @see https://eslint.org/docs/rules/new-cap - */ - "new-cap": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - newIsCap: boolean; - /** - * @default true - */ - capIsNew: boolean; - newIsCapExceptions: string[]; - newIsCapExceptionPattern: string; - capIsNewExceptions: string[]; - capIsNewExceptionPattern: string; - /** - * @default true - */ - properties: boolean; - }>, - ] - >; - - /** - * Rule to enforce or disallow parentheses when invoking a constructor with no arguments. - * - * @since 0.0.6 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/new-parens) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/new-parens - */ - "new-parens": Linter.RuleEntry<["always" | "never"]>; - - /** - * Rule to require a newline after each call in a method chain. - * - * @since 2.0.0-rc.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/newline-per-chained-call) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/newline-per-chained-call - */ - "newline-per-chained-call": Linter.RuleEntry< - [ - { - /** - * @default 2 - */ - ignoreChainWithDepth: number; - }, - ] - >; - - /** - * Rule to disallow `Array` constructors. - * - * @since 0.4.0 - * @see https://eslint.org/docs/rules/no-array-constructor - */ - "no-array-constructor": Linter.RuleEntry<[]>; - - /** - * Rule to disallow bitwise operators. - * - * @since 0.0.2 - * @see https://eslint.org/docs/rules/no-bitwise - */ - "no-bitwise": Linter.RuleEntry< - [ - Partial<{ - allow: string[]; - /** - * @default false - */ - int32Hint: boolean; - }>, - ] - >; - - /** - * Rule to disallow `continue` statements. - * - * @since 0.19.0 - * @see https://eslint.org/docs/rules/no-continue - */ - "no-continue": Linter.RuleEntry<[]>; - - /** - * Rule to disallow inline comments after code. - * - * @since 0.10.0 - * @see https://eslint.org/docs/rules/no-inline-comments - */ - "no-inline-comments": Linter.RuleEntry<[]>; - - /** - * Rule to disallow `if` statements as the only statement in `else` blocks. - * - * @since 0.6.0 - * @see https://eslint.org/docs/rules/no-lonely-if - */ - "no-lonely-if": Linter.RuleEntry<[]>; - - /** - * Rule to disallow mixed binary operators. - * - * @since 2.12.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-mixed-operators) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-mixed-operators - */ - "no-mixed-operators": Linter.RuleEntry< - [ - Partial<{ - /** - * @default - * [ - * ["+", "-", "*", "/", "%", "**"], - * ["&", "|", "^", "~", "<<", ">>", ">>>"], - * ["==", "!=", "===", "!==", ">", ">=", "<", "<="], - * ["&&", "||"], - * ["in", "instanceof"] - * ] - */ - groups: string[][]; - /** - * @default true - */ - allowSamePrecedence: boolean; - }>, - ] - >; - - /** - * Rule to disallow mixed spaces and tabs for indentation. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.7.1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-mixed-spaces-and-tabs) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-mixed-spaces-and-tabs - */ - "no-mixed-spaces-and-tabs": Linter.RuleEntry<["smart-tabs"]>; - - /** - * Rule to disallow use of chained assignment expressions. - * - * @since 3.14.0 - * @see https://eslint.org/docs/rules/no-multi-assign - */ - "no-multi-assign": Linter.RuleEntry<[]>; - - /** - * Rule to disallow multiple empty lines. - * - * @since 0.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-multiple-empty-lines) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-multiple-empty-lines - */ - "no-multiple-empty-lines": Linter.RuleEntry< - [ - | Partial<{ - /** - * @default 2 - */ - max: number; - maxEOF: number; - maxBOF: number; - }> - | number, - ] - >; - - /** - * Rule to disallow negated conditions. - * - * @since 1.6.0 - * @see https://eslint.org/docs/rules/no-negated-condition - */ - "no-negated-condition": Linter.RuleEntry<[]>; - - /** - * Rule to disallow nested ternary expressions. - * - * @since 0.2.0 - * @see https://eslint.org/docs/rules/no-nested-ternary - */ - "no-nested-ternary": Linter.RuleEntry<[]>; - - /** - * Rule to disallow calls to the `Object` constructor without an argument - * - * @since 8.50.0 - * @see https://eslint.org/docs/rules/no-object-constructor - */ - "no-object-constructor": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the unary operators `++` and `--`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-plusplus - */ - "no-plusplus": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowForLoopAfterthoughts: boolean; - }>, - ] - >; - - /** - * Rule to disallow specified syntax. - * - * @since 1.4.0 - * @see https://eslint.org/docs/rules/no-restricted-syntax - */ - "no-restricted-syntax": Linter.RuleEntry< - [ - ...Array< - | string - | { - selector: string; - message?: string | undefined; - } - >, - ] - >; - - /** - * Rule to disallow all tabs. - * - * @since 3.2.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-tabs) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-tabs - */ - "no-tabs": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowIndentationTabs: boolean; - }>, - ] - >; - - /** - * Rule to disallow ternary operators. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-ternary - */ - "no-ternary": Linter.RuleEntry<[]>; - - /** - * Rule to disallow trailing whitespace at the end of lines. - * - * @since 0.7.1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-trailing-spaces) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-trailing-spaces - */ - "no-trailing-spaces": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - skipBlankLines: boolean; - /** - * @default false - */ - ignoreComments: boolean; - }>, - ] - >; - - /** - * Rule to disallow dangling underscores in identifiers. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-underscore-dangle - */ - "no-underscore-dangle": Linter.RuleEntry< - [ - Partial<{ - allow: string[]; - /** - * @default false - */ - allowAfterThis: boolean; - /** - * @default false - */ - allowAfterSuper: boolean; - /** - * @since 6.7.0 - * @default false - */ - allowAfterThisConstructor: boolean; - /** - * @default false - */ - enforceInMethodNames: boolean; - /** - * @since 8.15.0 - * @default false - */ - enforceInClassFields: boolean; - /** - * @since 8.31.0 - * @default true - */ - allowInArrayDestructuring: boolean; - /** - * @since 8.31.0 - * @default true - */ - allowInObjectDestructuring: boolean; - /** - * @since 7.7.0 - * @default true - */ - allowFunctionParams: boolean; - }>, - ] - >; - - /** - * Rule to disallow ternary operators when simpler alternatives exist. - * - * @since 0.21.0 - * @see https://eslint.org/docs/rules/no-unneeded-ternary - */ - "no-unneeded-ternary": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - defaultAssignment: boolean; - }>, - ] - >; - - /** - * Rule to disallow whitespace before properties. - * - * @since 2.0.0-beta.1 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/no-whitespace-before-property) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/no-whitespace-before-property - */ - "no-whitespace-before-property": Linter.RuleEntry<[]>; - - /** - * Rule to enforce the location of single-line statements. - * - * @since 3.17.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/nonblock-statement-body-position) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/nonblock-statement-body-position - */ - "nonblock-statement-body-position": Linter.RuleEntry< - [ - "beside" | "below" | "any", - Partial<{ - overrides: Record; - }>, - ] - >; - - /** - * Rule to enforce consistent line breaks inside braces. - * - * @since 2.12.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/object-curly-newline) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/object-curly-newline - */ - "object-curly-newline": Linter.RuleEntry< - [ - | "always" - | "never" - | Partial<{ - /** - * @default false - */ - multiline: boolean; - minProperties: number; - /** - * @default true - */ - consistent: boolean; - }> - | Partial< - Record< - "ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportDeclaration", - | "always" - | "never" - | Partial<{ - /** - * @default false - */ - multiline: boolean; - minProperties: number; - /** - * @default true - */ - consistent: boolean; - }> - > - >, - ] - >; - - /** - * Rule to enforce consistent spacing inside braces. - * - * @since 0.22.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/object-curly-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/object-curly-spacing - */ - "object-curly-spacing": - | Linter.RuleEntry< - [ - "never", - { - /** - * @default false - */ - arraysInObjects: boolean; - /** - * @default false - */ - objectsInObjects: boolean; - }, - ] - > - | Linter.RuleEntry< - [ - "always", - { - /** - * @default true - */ - arraysInObjects: boolean; - /** - * @default true - */ - objectsInObjects: boolean; - }, - ] - >; - - /** - * Rule to enforce placing object properties on separate lines. - * - * @since 2.10.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/object-property-newline) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/object-property-newline - */ - "object-property-newline": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - allowAllPropertiesOnSameLine: boolean; - }>, - ] - >; - - /** - * Rule to enforce variables to be declared either together or separately in functions. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/one-var - */ - "one-var": Linter.RuleEntry< - [ - | "always" - | "never" - | "consecutive" - | Partial< - { - /** - * @default false - */ - separateRequires: boolean; - } & Record<"var" | "let" | "const", "always" | "never" | "consecutive"> - > - | Partial>, - ] - >; - - /** - * Rule to require or disallow newlines around variable declarations. - * - * @since 2.0.0-beta.3 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/one-var-declaration-per-line) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/one-var-declaration-per-line - */ - "one-var-declaration-per-line": Linter.RuleEntry<["initializations" | "always"]>; - - /** - * Rule to require or disallow assignment operator shorthand where possible. - * - * @since 0.10.0 - * @see https://eslint.org/docs/rules/operator-assignment - */ - "operator-assignment": Linter.RuleEntry<["always" | "never"]>; - - /** - * Rule to enforce consistent linebreak style for operators. - * - * @since 0.19.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/operator-linebreak) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/operator-linebreak - */ - "operator-linebreak": Linter.RuleEntry< - [ - "after" | "before" | "none", - Partial<{ - overrides: Record; - }>, - ] - >; - - /** - * Rule to require or disallow padding within blocks. - * - * @since 0.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/padded-blocks) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/padded-blocks - */ - "padded-blocks": Linter.RuleEntry< - [ - "always" | "never" | Partial>, - { - /** - * @default false - */ - allowSingleLineBlocks: boolean; - }, - ] - >; - - /** - * Rule to require or disallow padding lines between statements. - * - * @since 4.0.0-beta.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/padding-line-between-statements) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/padding-line-between-statements - */ - "padding-line-between-statements": Linter.RuleEntry< - [ - ...Array< - { - blankLine: "any" | "never" | "always"; - } & Record<"prev" | "next", string | string[]> - >, - ] - >; - - /** - * Rule to disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead. - * - * @since 5.0.0-alpha.3 - * @see https://eslint.org/docs/rules/prefer-object-spread - */ - "prefer-object-spread": Linter.RuleEntry<[]>; - - /** - * Rule to require quotes around object literal property names. - * - * @since 0.0.6 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/quote-props) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/quote-props - */ - "quote-props": - | Linter.RuleEntry<["always" | "consistent"]> - | Linter.RuleEntry< - [ - "as-needed", - Partial<{ - /** - * @default false - */ - keywords: boolean; - /** - * @default true - */ - unnecessary: boolean; - /** - * @default false - */ - numbers: boolean; - }>, - ] - > - | Linter.RuleEntry< - [ - "consistent-as-needed", - Partial<{ - /** - * @default false - */ - keywords: boolean; - }>, - ] - >; - - /** - * Rule to enforce the consistent use of either backticks, double, or single quotes. - * - * @since 0.0.7 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/quotes) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/quotes - */ - quotes: Linter.RuleEntry< - [ - "double" | "single" | "backtick", - Partial<{ - /** - * @default false - */ - avoidEscape: boolean; - /** - * @default false - */ - allowTemplateLiterals: boolean; - }>, - ] - >; - - /** - * Rule to require or disallow semicolons instead of ASI. - * - * @since 0.0.6 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/semi) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/semi - */ - semi: - | Linter.RuleEntry< - [ - "always", - Partial<{ - /** - * @default false - */ - omitLastInOneLineBlock: boolean; - }>, - ] - > - | Linter.RuleEntry< - [ - "never", - Partial<{ - /** - * @default 'any' - */ - beforeStatementContinuationChars: "any" | "always" | "never"; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing before and after semicolons. - * - * @since 0.16.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/semi-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/semi-spacing - */ - "semi-spacing": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - before: boolean; - /** - * @default true - */ - after: boolean; - }>, - ] - >; - - /** - * Rule to enforce location of semicolons. - * - * @since 4.0.0-beta.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/semi-style) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/semi-style - */ - "semi-style": Linter.RuleEntry<["last" | "first"]>; - - /** - * Rule to require object keys to be sorted. - * - * @since 3.3.0 - * @see https://eslint.org/docs/rules/sort-keys - */ - "sort-keys": Linter.RuleEntry< - [ - "asc" | "desc", - Partial<{ - /** - * @default true - */ - caseSensitive: boolean; - /** - * @default 2 - */ - minKeys: number; - /** - * @default false - */ - natural: boolean; - /** - * @default false - */ - allowLineSeparatedGroups: boolean; - /** - * @default false - */ - ignoreComputedKeys: boolean; - }>, - ] - >; - - /** - * Rule to require variables within the same declaration block to be sorted. - * - * @since 0.2.0 - * @see https://eslint.org/docs/rules/sort-vars - */ - "sort-vars": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - ignoreCase: boolean; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing before blocks. - * - * @since 0.9.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/space-before-blocks) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/space-before-blocks - */ - "space-before-blocks": Linter.RuleEntry< - ["always" | "never" | Partial>] - >; - - /** - * Rule to enforce consistent spacing before `function` definition opening parenthesis. - * - * @since 0.18.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/space-before-function-paren) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/space-before-function-paren - */ - "space-before-function-paren": Linter.RuleEntry< - ["always" | "never" | Partial>] - >; - - /** - * Rule to enforce consistent spacing inside parentheses. - * - * @since 0.8.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/space-in-parens) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/space-in-parens - */ - "space-in-parens": Linter.RuleEntry< - [ - "never" | "always", - Partial<{ - exceptions: string[]; - }>, - ] - >; - - /** - * Rule to require spacing around infix operators. - * - * @since 0.2.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/space-infix-ops) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/space-infix-ops - */ - "space-infix-ops": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - int32Hint: boolean; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing before or after unary operators. - * - * @since 0.10.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/space-unary-ops) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/space-unary-ops - */ - "space-unary-ops": Linter.RuleEntry< - [ - Partial<{ - /** - * @default true - */ - words: boolean; - /** - * @default false - */ - nonwords: boolean; - overrides: Record; - }>, - ] - >; - - /** - * Rule to enforce consistent spacing after the `//` or `/*` in a comment. - * - * @since 0.23.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/spaced-comment) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/spaced-comment - */ - "spaced-comment": Linter.RuleEntry< - [ - "always" | "never", - { - exceptions: string[]; - markers: string[]; - line: { - exceptions: string[]; - markers: string[]; - }; - block: { - exceptions: string[]; - markers: string[]; - /** - * @default false - */ - balanced: boolean; - }; - }, - ] - >; - - /** - * Rule to enforce spacing around colons of switch statements. - * - * @since 4.0.0-beta.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/switch-colon-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/switch-colon-spacing - */ - "switch-colon-spacing": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - before: boolean; - /** - * @default true - */ - after: boolean; - }>, - ] - >; - - /** - * Rule to require or disallow spacing between template tags and their literals. - * - * @since 3.15.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/template-tag-spacing) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/template-tag-spacing - */ - "template-tag-spacing": Linter.RuleEntry<["never" | "always"]>; - - /** - * Rule to require or disallow Unicode byte order mark (BOM). - * - * @since 2.11.0 - * @see https://eslint.org/docs/rules/unicode-bom - */ - "unicode-bom": Linter.RuleEntry<["never" | "always"]>; - - /** - * Rule to require parenthesis around regex literals. - * - * @since 0.1.0 - * @deprecated since 8.53.0, please use the [corresponding rule](https://eslint.style/rules/js/wrap-regex) in `@stylistic/eslint-plugin-js`. - * @see https://eslint.org/docs/rules/wrap-regex - */ - "wrap-regex": Linter.RuleEntry<[]>; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/variables.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/variables.d.ts deleted file mode 100644 index 0c1328a7..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/rules/variables.d.ts +++ /dev/null @@ -1,234 +0,0 @@ -/** - * @fileoverview This file contains the rule types for ESLint. It was initially extracted - * from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - -import { Linter } from "../index"; - -export interface Variables extends Linter.RulesRecord { - /** - * Rule to require or disallow initialization in variable declarations. - * - * @since 1.0.0-rc-1 - * @see https://eslint.org/docs/rules/init-declarations - */ - "init-declarations": - | Linter.RuleEntry<["always"]> - | Linter.RuleEntry< - [ - "never", - Partial<{ - ignoreForLoopInit: boolean; - }>, - ] - >; - - /** - * Rule to disallow deleting variables. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-delete-var - */ - "no-delete-var": Linter.RuleEntry<[]>; - - /** - * Rule to disallow labels that share a name with a variable. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-label-var - */ - "no-label-var": Linter.RuleEntry<[]>; - - /** - * Rule to disallow specified global variables. - * - * @since 2.3.0 - * @see https://eslint.org/docs/rules/no-restricted-globals - */ - "no-restricted-globals": Linter.RuleEntry< - [ - ...Array< - | string - | { - name: string; - message?: string | undefined; - } - >, - ] - >; - - /** - * Rule to disallow variable declarations from shadowing variables declared in the outer scope. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-shadow - */ - "no-shadow": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - builtinGlobals: boolean; - /** - * @default 'functions' - */ - hoist: "functions" | "all" | "never"; - allow: string[]; - /** - * @since 8.10.0 - * @default false - */ - ignoreOnInitialization: boolean; - }>, - ] - >; - - /** - * Rule to disallow identifiers from shadowing restricted names. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.1.4 - * @see https://eslint.org/docs/rules/no-shadow-restricted-names - */ - "no-shadow-restricted-names": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of undeclared variables unless mentioned in `global` comments. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-undef - */ - "no-undef": Linter.RuleEntry< - [ - Partial<{ - /** - * @default false - */ - typeof: boolean; - }>, - ] - >; - - /** - * Rule to disallow initializing variables to `undefined`. - * - * @since 0.0.6 - * @see https://eslint.org/docs/rules/no-undef-init - */ - "no-undef-init": Linter.RuleEntry<[]>; - - /** - * Rule to disallow the use of `undefined` as an identifier. - * - * @since 0.7.1 - * @see https://eslint.org/docs/rules/no-undefined - */ - "no-undefined": Linter.RuleEntry<[]>; - - /** - * Rule to disallow unused variables. - * - * @remarks - * Recommended by ESLint, the rule was enabled in `eslint:recommended`. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-unused-vars - */ - "no-unused-vars": Linter.RuleEntry< - [ - | "all" - | "local" - | Partial<{ - /** - * @default 'all' - */ - vars: "all" | "local"; - varsIgnorePattern: string; - /** - * @default 'after-used' - */ - args: "after-used" | "all" | "none"; - /** - * @default false - */ - ignoreRestSiblings: boolean; - argsIgnorePattern: string; - /** - * @default 'all' - */ - caughtErrors: "none" | "all"; - caughtErrorsIgnorePattern: string; - destructuredArrayIgnorePattern: string; - /** - * @default false - */ - ignoreClassWithStaticInitBlock: boolean; - /** - * @default false - */ - reportUsedIgnorePattern: boolean; - }>, - ] - >; - - /** - * Rule to disallow the use of variables before they are defined. - * - * @since 0.0.9 - * @see https://eslint.org/docs/rules/no-use-before-define - */ - "no-use-before-define": Linter.RuleEntry< - [ - | Partial<{ - /** - * @default true - */ - functions: boolean; - /** - * @default true - */ - classes: boolean; - /** - * @default true - */ - variables: boolean; - /** - * @default false - */ - allowNamedExports: boolean; - }> - | "nofunc", - ] - >; -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/universal.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/universal.d.ts deleted file mode 100644 index df4fdecd..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/universal.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @fileoverview typings for "eslint/universal" module - * @author 唯然 - */ - -export { Linter } from "./index"; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts deleted file mode 100644 index 2600b72d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -/** - * @fileoverview This file contains the types for the use-at-your-own-risk - * entrypoint. It was initially extracted from the `@types/eslint` package. - */ - -/* - * MIT License - * Copyright (c) Microsoft Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE - */ - - -import { ESLint, Rule } from "./index.js"; - -/** @deprecated */ -export const builtinRules: Map; - -/** @deprecated */ -export class FileEnumerator { - constructor( - params?: { - cwd?: string; - configArrayFactory?: any; - extensions?: any; - globInputPaths?: boolean; - errorOnUnmatchedPattern?: boolean; - ignore?: boolean; - }, - ); - isTargetPath(filePath: string, providedConfig?: any): boolean; - iterateFiles( - patternOrPatterns: string | string[], - ): IterableIterator<{ config: any; filePath: string; ignored: boolean }>; -} - -export { /** @deprecated */ ESLint as FlatESLint }; - -/** @deprecated */ -export class LegacyESLint { - static configType: "eslintrc"; - - static readonly version: string; - - static outputFixes(results: ESLint.LintResult[]): Promise; - - static getErrorResults(results: ESLint.LintResult[]): ESLint.LintResult[]; - - constructor(options?: ESLint.LegacyOptions); - - lintFiles(patterns: string | string[]): Promise; - - lintText( - code: string, - options?: { filePath?: string | undefined; warnIgnored?: boolean | undefined }, - ): Promise; - - getRulesMetaForResults(results: ESLint.LintResult[]): ESLint.LintResultData["rulesMeta"]; - - hasFlag(flag: string): false; - - calculateConfigForFile(filePath: string): Promise; - - isPathIgnored(filePath: string): Promise; - - loadFormatter(nameOrPath?: string): Promise; -} - -/** @deprecated */ -export function shouldUseFlatConfig(): Promise; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/universal.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/universal.js deleted file mode 100644 index 51bac584..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/universal.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @fileoverview exports for browsers - * @author 唯然 - */ - -"use strict"; - -const { Linter } = require("./linter/linter"); - -module.exports = { Linter }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/unsupported-api.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/unsupported-api.js deleted file mode 100644 index 1feb18f4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/lib/unsupported-api.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @fileoverview APIs that are not officially supported by ESLint. - * These APIs may change or be removed at any time. Use at your - * own risk. - * @author Nicholas C. Zakas - */ - -"use strict"; - -//----------------------------------------------------------------------------- -// Requirements -//----------------------------------------------------------------------------- - -const { FileEnumerator } = require("./cli-engine/file-enumerator"); -const { ESLint: FlatESLint, shouldUseFlatConfig } = require("./eslint/eslint"); -const { LegacyESLint } = require("./eslint/legacy-eslint"); -const builtinRules = require("./rules"); - -//----------------------------------------------------------------------------- -// Exports -//----------------------------------------------------------------------------- - -module.exports = { - builtinRules, - FlatESLint, - shouldUseFlatConfig, - FileEnumerator, - LegacyESLint -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-files-ignored.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-files-ignored.js deleted file mode 100644 index 70877a4d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-files-ignored.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { pattern } = it; - - return ` -You are linting "${pattern}", but all of the files matching the glob pattern "${pattern}" are ignored. - -If you don't want to lint these files, remove the pattern "${pattern}" from the list of arguments passed to ESLint. - -If you do want to lint these files, try the following solutions: - -* Check your .eslintignore file, or the eslintIgnore property in package.json, to ensure that the files are not configured to be ignored. -* Explicitly list the files from this glob that you'd like to lint on the command-line, rather than providing a glob as an argument. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-matched-files-ignored.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-matched-files-ignored.js deleted file mode 100644 index b568bec8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/all-matched-files-ignored.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { pattern } = it; - - return ` -You are linting "${pattern}", but all of the files matching the glob pattern "${pattern}" are ignored. - -If you don't want to lint these files, remove the pattern "${pattern}" from the list of arguments passed to ESLint. - -If you do want to lint these files, explicitly list one or more of the files from this glob that you'd like to lint to see more details about why they are ignored. - - * If the file is ignored because of a matching ignore pattern, check global ignores in your config file. - https://eslint.org/docs/latest/use/configure/ignore - - * If the file is ignored because no matching configuration was supplied, check file patterns in your config file. - https://eslint.org/docs/latest/use/configure/configuration-files#specifying-files-with-arbitrary-extensions - - * If the file is ignored because it is located outside of the base path, change the location of your config file to be in a parent directory. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/config-file-missing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/config-file-missing.js deleted file mode 100644 index a416a87d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/config-file-missing.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -module.exports = function() { - return ` -ESLint couldn't find an eslint.config.(js|mjs|cjs) file. - -From ESLint v9.0.0, the default configuration file is now eslint.config.js. -If you are using a .eslintrc.* file, please follow the migration guide -to update your configuration file to the new format: - -https://eslint.org/docs/latest/use/configure/migration-guide - -If you still have problems after following the migration guide, please stop by -https://eslint.org/chat/help to chat with the team. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-incompat.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-incompat.js deleted file mode 100644 index b89c39bd..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-incompat.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict"; - -/* eslint consistent-return: 0 -- no default case */ - -const messages = { - - env: ` -A config object is using the "env" key, which is not supported in flat config system. - -Flat config uses "languageOptions.globals" to define global variables for your files. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#configuring-language-options - -If you're not using "env" directly (it may be coming from a plugin), please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`, - - extends: ` -A config object is using the "extends" key, which is not supported in flat config system. - -Instead of "extends", you can include config objects that you'd like to extend from directly in the flat config array. - -If you're using "extends" in your config file, please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#predefined-and-shareable-configs - -If you're not using "extends" directly (it may be coming from a plugin), please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`, - - globals: ` -A config object is using the "globals" key, which is not supported in flat config system. - -Flat config uses "languageOptions.globals" to define global variables for your files. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#configuring-language-options - -If you're not using "globals" directly (it may be coming from a plugin), please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`, - - ignorePatterns: ` -A config object is using the "ignorePatterns" key, which is not supported in flat config system. - -Flat config uses "ignores" to specify files to ignore. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#ignoring-files - -If you're not using "ignorePatterns" directly (it may be coming from a plugin), please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`, - - noInlineConfig: ` -A config object is using the "noInlineConfig" key, which is not supported in flat config system. - -Flat config uses "linterOptions.noInlineConfig" to specify files to ignore. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#linter-options -`, - - overrides: ` -A config object is using the "overrides" key, which is not supported in flat config system. - -Flat config is an array that acts like the eslintrc "overrides" array. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#glob-based-configs - -If you're not using "overrides" directly (it may be coming from a plugin), please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`, - - parser: ` -A config object is using the "parser" key, which is not supported in flat config system. - -Flat config uses "languageOptions.parser" to override the default parser. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#custom-parsers - -If you're not using "parser" directly (it may be coming from a plugin), please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`, - - parserOptions: ` -A config object is using the "parserOptions" key, which is not supported in flat config system. - -Flat config uses "languageOptions.parserOptions" to specify parser options. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#configuring-language-options - -If you're not using "parserOptions" directly (it may be coming from a plugin), please see the following: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`, - - reportUnusedDisableDirectives: ` -A config object is using the "reportUnusedDisableDirectives" key, which is not supported in flat config system. - -Flat config uses "linterOptions.reportUnusedDisableDirectives" to specify files to ignore. - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#linter-options -`, - - root: ` -A config object is using the "root" key, which is not supported in flat config system. - -Flat configs always act as if they are the root config file, so this key can be safely removed. -` -}; - -module.exports = function({ key }) { - - return messages[key].trim(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-plugins.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-plugins.js deleted file mode 100644 index bb708c95..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/eslintrc-plugins.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; - -module.exports = function({ plugins }) { - - const isArrayOfStrings = typeof plugins[0] === "string"; - - return ` -A config object has a "plugins" key defined as an array${isArrayOfStrings ? " of strings" : ""}. - -Flat config requires "plugins" to be an object in this form: - - { - plugins: { - ${isArrayOfStrings && plugins[0] ? plugins[0] : "namespace"}: pluginObject - } - } - -Please see the following page for information on how to convert your config object into the correct format: -https://eslint.org/docs/latest/use/configure/migration-guide#importing-plugins-and-custom-parsers - -If you're using a shareable config that you cannot rewrite in flat config format, then use the compatibility utility: -https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config -`; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/extend-config-missing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/extend-config-missing.js deleted file mode 100644 index 5b3498fc..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/extend-config-missing.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { configName, importerName } = it; - - return ` -ESLint couldn't find the config "${configName}" to extend from. Please check that the name of the config is correct. - -The config "${configName}" was referenced from the config file in "${importerName}". - -If you still have problems, please stop by https://eslint.org/chat/help to chat with the team. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/failed-to-read-json.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/failed-to-read-json.js deleted file mode 100644 index e7c6cb58..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/failed-to-read-json.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { path, message } = it; - - return ` -Failed to read JSON file at ${path}: - -${message} -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/file-not-found.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/file-not-found.js deleted file mode 100644 index 1a62fcf9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/file-not-found.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { pattern, globDisabled } = it; - - return ` -No files matching the pattern "${pattern}"${globDisabled ? " (with disabling globs)" : ""} were found. -Please check for typing mistakes in the pattern. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-options.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-options.js deleted file mode 100644 index 9a8acc93..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-options.js +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; - -const { stringifyValueForError } = require("./shared"); - -module.exports = function({ ruleId, value }) { - return ` -Configuration for rule "${ruleId}" is invalid. Each rule must have a severity ("off", 0, "warn", 1, "error", or 2) and may be followed by additional options for the rule. - -You passed '${stringifyValueForError(value, 4)}', which doesn't contain a valid severity. - -If you're attempting to configure rule options, perhaps you meant: - - "${ruleId}": ["error", ${stringifyValueForError(value, 8)}] - -See https://eslint.org/docs/latest/use/configure/rules#using-configuration-files for configuring rules. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-severity.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-severity.js deleted file mode 100644 index 3f13183c..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/invalid-rule-severity.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; - -const { stringifyValueForError } = require("./shared"); - -module.exports = function({ ruleId, value }) { - return ` -Configuration for rule "${ruleId}" is invalid. Expected severity of "off", 0, "warn", 1, "error", or 2. - -You passed '${stringifyValueForError(value, 4)}'. - -See https://eslint.org/docs/latest/use/configure/rules#using-configuration-files for configuring rules. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/no-config-found.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/no-config-found.js deleted file mode 100644 index 64b93edb..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/no-config-found.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { directoryPath } = it; - - return ` -ESLint couldn't find a configuration file. To set up a configuration file for this project, please run: - - npm init @eslint/config@latest - -ESLint looked for configuration files in ${directoryPath} and its ancestors. If it found none, it then looked in your home directory. - -If you think you already have a configuration file or if you need more help, please stop by the ESLint Discord server: https://eslint.org/chat -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-conflict.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-conflict.js deleted file mode 100644 index 4113a538..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-conflict.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { pluginId, plugins } = it; - - let result = `ESLint couldn't determine the plugin "${pluginId}" uniquely. -`; - - for (const { filePath, importerName } of plugins) { - result += ` -- ${filePath} (loaded in "${importerName}")`; - } - - result += ` - -Please remove the "plugins" setting from either config or remove either plugin installation. - -If you still can't figure out the problem, please see https://eslint.org/docs/latest/use/troubleshooting. -`; - - return result; -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-invalid.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-invalid.js deleted file mode 100644 index 4c60e41d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-invalid.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { configName, importerName } = it; - - return ` -"${configName}" is invalid syntax for a config specifier. - -* If your intention is to extend from a configuration exported from the plugin, add the configuration name after a slash: e.g. "${configName}/myConfig". -* If this is the name of a shareable config instead of a plugin, remove the "plugin:" prefix: i.e. "${configName.slice("plugin:".length)}". - -"${configName}" was referenced from the config file in "${importerName}". - -If you still can't figure out the problem, please see https://eslint.org/docs/latest/use/troubleshooting. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-missing.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-missing.js deleted file mode 100644 index 366ec450..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/plugin-missing.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { pluginName, resolvePluginsRelativeTo, importerName } = it; - - return ` -ESLint couldn't find the plugin "${pluginName}". - -(The package "${pluginName}" was not found when loaded as a Node module from the directory "${resolvePluginsRelativeTo}".) - -It's likely that the plugin isn't installed correctly. Try reinstalling by running the following: - - npm install ${pluginName}@latest --save-dev - -The plugin "${pluginName}" was referenced from the config file in "${importerName}". - -If you still can't figure out the problem, please see https://eslint.org/docs/latest/use/troubleshooting. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/print-config-with-directory-path.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/print-config-with-directory-path.js deleted file mode 100644 index 4559c8d6..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/print-config-with-directory-path.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; - -module.exports = function() { - return ` -The '--print-config' CLI option requires a path to a source code file rather than a directory. -See also: https://eslint.org/docs/latest/use/command-line-interface#--print-config -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/shared.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/shared.js deleted file mode 100644 index 8c6e9b92..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/shared.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @fileoverview Shared utilities for error messages. - * @author Josh Goldberg - */ - -"use strict"; - -/** - * Converts a value to a string that may be printed in errors. - * @param {any} value The invalid value. - * @param {number} indentation How many spaces to indent - * @returns {string} The value, stringified. - */ -function stringifyValueForError(value, indentation) { - return value ? JSON.stringify(value, null, 4).replace(/\n/gu, `\n${" ".repeat(indentation)}`) : `${value}`; -} - -module.exports = { stringifyValueForError }; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/whitespace-found.js b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/whitespace-found.js deleted file mode 100644 index 8a801bce..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/messages/whitespace-found.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -module.exports = function(it) { - const { pluginName } = it; - - return ` -ESLint couldn't find the plugin "${pluginName}". because there is whitespace in the name. Please check your configuration and remove all whitespace from the plugin name. - -If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team. -`.trimStart(); -}; diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules/.bin/jiti b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules/.bin/jiti deleted file mode 100755 index 623ea54e..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/node_modules/.bin/jiti +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.6/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../../../../jiti@1.21.6/node_modules/jiti/bin/jiti.js" "$@" -else - exec node "$basedir/../../../../../jiti@1.21.6/node_modules/jiti/bin/jiti.js" "$@" -fi diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/package.json b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/package.json deleted file mode 100644 index c4d3058a..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/eslint/package.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "name": "eslint", - "version": "9.17.0", - "author": "Nicholas C. Zakas ", - "description": "An AST-based pattern checker for JavaScript.", - "type": "commonjs", - "bin": { - "eslint": "./bin/eslint.js" - }, - "main": "./lib/api.js", - "types": "./lib/types/index.d.ts", - "exports": { - ".": { - "types": "./lib/types/index.d.ts", - "default": "./lib/api.js" - }, - "./package.json": "./package.json", - "./use-at-your-own-risk": { - "types": "./lib/types/use-at-your-own-risk.d.ts", - "default": "./lib/unsupported-api.js" - }, - "./rules": { - "types": "./lib/types/rules/index.d.ts" - }, - "./universal": { - "types": "./lib/types/universal.d.ts", - "default": "./lib/universal.js" - } - }, - "typesVersions": { - "*": { - "use-at-your-own-risk": [ - "./lib/types/use-at-your-own-risk.d.ts" - ], - "rules": [ - "./lib/types/rules/index.d.ts" - ], - "universal": [ - "./lib/types/universal.d.ts" - ] - } - }, - "scripts": { - "build:docs:update-links": "node tools/fetch-docs-links.js", - "build:site": "node Makefile.js gensite", - "build:webpack": "node Makefile.js webpack", - "build:readme": "node tools/update-readme.js", - "build:rules-index": "node Makefile.js generateRuleIndexPage", - "lint": "trunk check --no-fix --ignore=docs/**/*.js -a --filter=eslint && trunk check --no-fix --ignore=docs/**/*.js", - "lint:docs:js": "trunk check --no-fix --ignore=** --ignore=!docs/**/*.js -a --filter=eslint && trunk check --no-fix --ignore=** --ignore=!docs/**/*.js", - "lint:docs:rule-examples": "node Makefile.js checkRuleExamples", - "lint:unused": "knip", - "lint:fix": "trunk check -y --ignore=docs/**/*.js -a --filter=eslint && trunk check -y --ignore=docs/**/*.js", - "lint:fix:docs:js": "trunk check -y --ignore=** --ignore=!docs/**/*.js -a --flter=eslint && trunk check -y --ignore=** --ignore=!docs/**/*.js", - "lint:types": "attw --pack", - "release:generate:alpha": "node Makefile.js generatePrerelease -- alpha", - "release:generate:beta": "node Makefile.js generatePrerelease -- beta", - "release:generate:latest": "node Makefile.js generateRelease -- latest", - "release:generate:maintenance": "node Makefile.js generateRelease -- maintenance", - "release:generate:rc": "node Makefile.js generatePrerelease -- rc", - "release:publish": "node Makefile.js publishRelease", - "test": "node Makefile.js test", - "test:browser": "node Makefile.js wdio", - "test:cli": "mocha", - "test:fuzz": "node Makefile.js fuzz", - "test:performance": "node Makefile.js perf", - "test:emfile": "node tools/check-emfile-handling.js", - "test:types": "tsc -p tests/lib/types/tsconfig.json" - }, - "gitHooks": { - "pre-commit": "lint-staged" - }, - "lint-staged": { - "*.js": "trunk check --fix --filter=eslint", - "*.md": "trunk check --fix --filter=markdownlint", - "lib/rules/*.js": [ - "node tools/update-eslint-all.js", - "git add packages/js/src/configs/eslint-all.js" - ], - "docs/src/rules/*.md": [ - "node tools/check-rule-examples.js", - "node tools/fetch-docs-links.js", - "git add docs/src/_data/further_reading_links.json" - ], - "docs/**/*.svg": "trunk check --fix --filter=svgo" - }, - "files": [ - "LICENSE", - "README.md", - "bin", - "conf", - "lib", - "messages" - ], - "repository": "eslint/eslint", - "funding": "https://eslint.org/donate", - "homepage": "https://eslint.org", - "bugs": "https://github.com/eslint/eslint/issues/", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.9.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.17.0", - "@eslint/plugin-kit": "^0.2.3", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "devDependencies": { - "@arethetypeswrong/cli": "^0.17.0", - "@babel/core": "^7.4.3", - "@babel/preset-env": "^7.4.3", - "@eslint/json": "^0.8.0", - "@trunkio/launcher": "^1.3.0", - "@types/node": "^20.11.5", - "@typescript-eslint/parser": "^8.4.0", - "@wdio/browser-runner": "^9.2.4", - "@wdio/cli": "^9.2.4", - "@wdio/concise-reporter": "^9.2.2", - "@wdio/mocha-framework": "^9.2.2", - "babel-loader": "^8.0.5", - "c8": "^7.12.0", - "chai": "^4.0.1", - "cheerio": "^0.22.0", - "common-tags": "^1.8.0", - "core-js": "^3.1.3", - "ejs": "^3.0.2", - "eslint": "file:.", - "eslint-config-eslint": "file:packages/eslint-config-eslint", - "eslint-plugin-eslint-plugin": "^6.0.0", - "eslint-plugin-expect-type": "^0.6.0", - "eslint-plugin-yml": "^1.14.0", - "eslint-release": "^3.3.0", - "eslint-rule-composer": "^0.3.0", - "eslump": "^3.0.0", - "esprima": "^4.0.1", - "fast-glob": "^3.2.11", - "fs-teardown": "^0.1.3", - "glob": "^10.0.0", - "globals": "^15.0.0", - "got": "^11.8.3", - "gray-matter": "^4.0.3", - "jiti": "^2.1.0", - "knip": "^5.32.0", - "lint-staged": "^11.0.0", - "load-perf": "^0.2.0", - "markdown-it": "^12.2.0", - "markdown-it-container": "^3.0.0", - "marked": "^4.0.8", - "metascraper": "^5.25.7", - "metascraper-description": "^5.25.7", - "metascraper-image": "^5.29.3", - "metascraper-logo": "^5.25.7", - "metascraper-logo-favicon": "^5.25.7", - "metascraper-title": "^5.25.7", - "mocha": "^10.7.3", - "node-polyfill-webpack-plugin": "^1.0.3", - "npm-license": "^0.3.3", - "pirates": "^4.0.5", - "progress": "^2.0.3", - "proxyquire": "^2.0.1", - "recast": "^0.23.0", - "regenerator-runtime": "^0.14.0", - "rollup-plugin-node-polyfills": "^0.2.1", - "semver": "^7.5.3", - "shelljs": "^0.8.5", - "sinon": "^11.0.0", - "typescript": "^5.3.3", - "vite-plugin-commonjs": "^0.10.0", - "webpack": "^5.23.0", - "webpack-cli": "^4.5.0", - "yorkie": "^2.0.0" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - }, - "keywords": [ - "ast", - "lint", - "javascript", - "ecmascript", - "espree" - ], - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } -} diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/espree b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/espree deleted file mode 120000 index f2f420a9..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/espree +++ /dev/null @@ -1 +0,0 @@ -../../espree@10.3.0/node_modules/espree \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esquery b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esquery deleted file mode 120000 index 60e23172..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esquery +++ /dev/null @@ -1 +0,0 @@ -../../esquery@1.6.0/node_modules/esquery \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esutils b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esutils deleted file mode 120000 index 7d64b08f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/esutils +++ /dev/null @@ -1 +0,0 @@ -../../esutils@2.0.3/node_modules/esutils \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/fast-deep-equal b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/fast-deep-equal deleted file mode 120000 index c61b4c88..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/fast-deep-equal +++ /dev/null @@ -1 +0,0 @@ -../../fast-deep-equal@3.1.3/node_modules/fast-deep-equal \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/file-entry-cache b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/file-entry-cache deleted file mode 120000 index dec939db..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/file-entry-cache +++ /dev/null @@ -1 +0,0 @@ -../../file-entry-cache@8.0.0/node_modules/file-entry-cache \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/find-up b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/find-up deleted file mode 120000 index f3682b84..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/find-up +++ /dev/null @@ -1 +0,0 @@ -../../find-up@5.0.0/node_modules/find-up \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/glob-parent b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/glob-parent deleted file mode 120000 index 1acec251..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/glob-parent +++ /dev/null @@ -1 +0,0 @@ -../../glob-parent@6.0.2/node_modules/glob-parent \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ignore b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ignore deleted file mode 120000 index 39193988..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/ignore +++ /dev/null @@ -1 +0,0 @@ -../../ignore@5.3.2/node_modules/ignore \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/imurmurhash b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/imurmurhash deleted file mode 120000 index ca8c8e46..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/imurmurhash +++ /dev/null @@ -1 +0,0 @@ -../../imurmurhash@0.1.4/node_modules/imurmurhash \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/is-glob b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/is-glob deleted file mode 120000 index 1c00d5e4..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/is-glob +++ /dev/null @@ -1 +0,0 @@ -../../is-glob@4.0.3/node_modules/is-glob \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/jiti b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/jiti deleted file mode 120000 index cadb1d2d..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/jiti +++ /dev/null @@ -1 +0,0 @@ -../../jiti@1.21.6/node_modules/jiti \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/json-stable-stringify-without-jsonify b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/json-stable-stringify-without-jsonify deleted file mode 120000 index 9afd3cad..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/json-stable-stringify-without-jsonify +++ /dev/null @@ -1 +0,0 @@ -../../json-stable-stringify-without-jsonify@1.0.1/node_modules/json-stable-stringify-without-jsonify \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/lodash.merge b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/lodash.merge deleted file mode 120000 index 7759ff8f..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/lodash.merge +++ /dev/null @@ -1 +0,0 @@ -../../lodash.merge@4.6.2/node_modules/lodash.merge \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/minimatch b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/minimatch deleted file mode 120000 index e5a6a9a8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/minimatch +++ /dev/null @@ -1 +0,0 @@ -../../minimatch@3.1.2/node_modules/minimatch \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/natural-compare b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/natural-compare deleted file mode 120000 index 1d16aca8..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/natural-compare +++ /dev/null @@ -1 +0,0 @@ -../../natural-compare@1.4.0/node_modules/natural-compare \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/optionator b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/optionator deleted file mode 120000 index 5781afc2..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.6/node_modules/optionator +++ /dev/null @@ -1 +0,0 @@ -../../optionator@0.9.4/node_modules/optionator \ No newline at end of file diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/eslint b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/eslint deleted file mode 100755 index fea17efe..00000000 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/eslint +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") - -case `uname` in - *CYGWIN*) basedir=`cygpath -w "$basedir"`;; -esac - -if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" -else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" -fi -if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../../bin/eslint.js" "$@" -else - exec node "$basedir/../../bin/eslint.js" "$@" -fi diff --git a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/jiti b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/jiti index 259d9fb7..35b52d3f 100755 --- a/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/jiti +++ b/node_modules/.pnpm/eslint@9.17.0_jiti@1.21.7/node_modules/eslint/node_modules/.bin/jiti @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/jiti@1.21.7/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jiti@1.21.7/node_modules/jiti/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/jiti@1.21.7/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../jiti@1.21.7/node_modules/jiti/bin/jiti.js" "$@" diff --git a/node_modules/.pnpm/espree@10.3.0/node_modules/espree/node_modules/.bin/acorn b/node_modules/.pnpm/espree@10.3.0/node_modules/espree/node_modules/.bin/acorn index 2563af31..fc384379 100755 --- a/node_modules/.pnpm/espree@10.3.0/node_modules/espree/node_modules/.bin/acorn +++ b/node_modules/.pnpm/espree@10.3.0/node_modules/espree/node_modules/.bin/acorn @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules" else - export NODE_PATH="/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/snigdhaos-web-dev/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/bin/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules/acorn/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/acorn@8.14.0/node_modules:/home/whoami/Desktop/Snigdha-OS.github.io/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../../acorn@8.14.0/node_modules/acorn/bin/acorn" "$@" diff --git a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/globals.json b/node_modules/.pnpm/globals@15.13.0/node_modules/globals/globals.json deleted file mode 100644 index 07f5dbf7..00000000 --- a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/globals.json +++ /dev/null @@ -1,2980 +0,0 @@ -{ - "amd": { - "define": false, - "require": false - }, - "applescript": { - "$": false, - "Application": false, - "Automation": false, - "console": false, - "delay": false, - "Library": false, - "ObjC": false, - "ObjectSpecifier": false, - "Path": false, - "Progress": false, - "Ref": false - }, - "atomtest": { - "advanceClock": false, - "atom": false, - "fakeClearInterval": false, - "fakeClearTimeout": false, - "fakeSetInterval": false, - "fakeSetTimeout": false, - "resetTimeouts": false, - "waitsForPromise": false - }, - "browser": { - "AbortController": false, - "AbortSignal": false, - "AbsoluteOrientationSensor": false, - "AbstractRange": false, - "Accelerometer": false, - "addEventListener": false, - "ai": false, - "AI": false, - "AITextSession": false, - "alert": false, - "AnalyserNode": false, - "Animation": false, - "AnimationEffect": false, - "AnimationEvent": false, - "AnimationPlaybackEvent": false, - "AnimationTimeline": false, - "atob": false, - "Attr": false, - "Audio": false, - "AudioBuffer": false, - "AudioBufferSourceNode": false, - "AudioContext": false, - "AudioData": false, - "AudioDecoder": false, - "AudioDestinationNode": false, - "AudioEncoder": false, - "AudioListener": false, - "AudioNode": false, - "AudioParam": false, - "AudioParamMap": false, - "AudioProcessingEvent": false, - "AudioScheduledSourceNode": false, - "AudioSinkInfo": false, - "AudioWorklet": false, - "AudioWorkletGlobalScope": false, - "AudioWorkletNode": false, - "AudioWorkletProcessor": false, - "AuthenticatorAssertionResponse": false, - "AuthenticatorAttestationResponse": false, - "AuthenticatorResponse": false, - "BackgroundFetchManager": false, - "BackgroundFetchRecord": false, - "BackgroundFetchRegistration": false, - "BarcodeDetector": false, - "BarProp": false, - "BaseAudioContext": false, - "BatteryManager": false, - "BeforeUnloadEvent": false, - "BiquadFilterNode": false, - "Blob": false, - "BlobEvent": false, - "Bluetooth": false, - "BluetoothCharacteristicProperties": false, - "BluetoothDevice": false, - "BluetoothRemoteGATTCharacteristic": false, - "BluetoothRemoteGATTDescriptor": false, - "BluetoothRemoteGATTServer": false, - "BluetoothRemoteGATTService": false, - "BluetoothUUID": false, - "blur": false, - "BroadcastChannel": false, - "BrowserCaptureMediaStreamTrack": false, - "btoa": false, - "ByteLengthQueuingStrategy": false, - "Cache": false, - "caches": false, - "CacheStorage": false, - "cancelAnimationFrame": false, - "cancelIdleCallback": false, - "CanvasCaptureMediaStream": false, - "CanvasCaptureMediaStreamTrack": false, - "CanvasGradient": false, - "CanvasPattern": false, - "CanvasRenderingContext2D": false, - "CaptureController": false, - "CaretPosition": false, - "CDATASection": false, - "ChannelMergerNode": false, - "ChannelSplitterNode": false, - "ChapterInformation": false, - "CharacterBoundsUpdateEvent": false, - "CharacterData": false, - "clearInterval": false, - "clearTimeout": false, - "clientInformation": false, - "Clipboard": false, - "ClipboardEvent": false, - "ClipboardItem": false, - "close": false, - "closed": false, - "CloseEvent": false, - "CloseWatcher": false, - "Comment": false, - "CompositionEvent": false, - "CompressionStream": false, - "confirm": false, - "console": false, - "ConstantSourceNode": false, - "ContentVisibilityAutoStateChangeEvent": false, - "ConvolverNode": false, - "CookieChangeEvent": false, - "CookieDeprecationLabel": false, - "cookieStore": false, - "CookieStore": false, - "CookieStoreManager": false, - "CountQueuingStrategy": false, - "createImageBitmap": false, - "Credential": false, - "credentialless": false, - "CredentialsContainer": false, - "CropTarget": false, - "crossOriginIsolated": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CSS": false, - "CSSAnimation": false, - "CSSConditionRule": false, - "CSSContainerRule": false, - "CSSCounterStyleRule": false, - "CSSFontFaceRule": false, - "CSSFontFeatureValuesRule": false, - "CSSFontPaletteValuesRule": false, - "CSSGroupingRule": false, - "CSSImageValue": false, - "CSSImportRule": false, - "CSSKeyframeRule": false, - "CSSKeyframesRule": false, - "CSSKeywordValue": false, - "CSSLayerBlockRule": false, - "CSSLayerStatementRule": false, - "CSSMarginRule": false, - "CSSMathClamp": false, - "CSSMathInvert": false, - "CSSMathMax": false, - "CSSMathMin": false, - "CSSMathNegate": false, - "CSSMathProduct": false, - "CSSMathSum": false, - "CSSMathValue": false, - "CSSMatrixComponent": false, - "CSSMediaRule": false, - "CSSNamespaceRule": false, - "CSSNestedDeclarations": false, - "CSSNumericArray": false, - "CSSNumericValue": false, - "CSSPageDescriptors": false, - "CSSPageRule": false, - "CSSPerspective": false, - "CSSPositionTryDescriptors": false, - "CSSPositionTryRule": false, - "CSSPositionValue": false, - "CSSPropertyRule": false, - "CSSRotate": false, - "CSSRule": false, - "CSSRuleList": false, - "CSSScale": false, - "CSSScopeRule": false, - "CSSSkew": false, - "CSSSkewX": false, - "CSSSkewY": false, - "CSSStartingStyleRule": false, - "CSSStyleDeclaration": false, - "CSSStyleRule": false, - "CSSStyleSheet": false, - "CSSStyleValue": false, - "CSSSupportsRule": false, - "CSSTransformComponent": false, - "CSSTransformValue": false, - "CSSTransition": false, - "CSSTranslate": false, - "CSSUnitValue": false, - "CSSUnparsedValue": false, - "CSSVariableReferenceValue": false, - "CSSViewTransitionRule": false, - "currentFrame": false, - "currentTime": false, - "CustomElementRegistry": false, - "customElements": false, - "CustomEvent": false, - "CustomStateSet": false, - "DataTransfer": false, - "DataTransferItem": false, - "DataTransferItemList": false, - "DecompressionStream": false, - "DelayNode": false, - "DelegatedInkTrailPresenter": false, - "DeviceMotionEvent": false, - "DeviceMotionEventAcceleration": false, - "DeviceMotionEventRotationRate": false, - "DeviceOrientationEvent": false, - "devicePixelRatio": false, - "dispatchEvent": false, - "document": false, - "Document": false, - "DocumentFragment": false, - "documentPictureInPicture": false, - "DocumentPictureInPicture": false, - "DocumentPictureInPictureEvent": false, - "DocumentTimeline": false, - "DocumentType": false, - "DOMError": false, - "DOMException": false, - "DOMImplementation": false, - "DOMMatrix": false, - "DOMMatrixReadOnly": false, - "DOMParser": false, - "DOMPoint": false, - "DOMPointReadOnly": false, - "DOMQuad": false, - "DOMRect": false, - "DOMRectList": false, - "DOMRectReadOnly": false, - "DOMStringList": false, - "DOMStringMap": false, - "DOMTokenList": false, - "DragEvent": false, - "DynamicsCompressorNode": false, - "EditContext": false, - "Element": false, - "ElementInternals": false, - "EncodedAudioChunk": false, - "EncodedVideoChunk": false, - "ErrorEvent": false, - "event": false, - "Event": false, - "EventCounts": false, - "EventSource": false, - "EventTarget": false, - "external": false, - "External": false, - "EyeDropper": false, - "FeaturePolicy": false, - "FederatedCredential": false, - "fence": false, - "Fence": false, - "FencedFrameConfig": false, - "fetch": false, - "fetchLater": false, - "FetchLaterResult": false, - "File": false, - "FileList": false, - "FileReader": false, - "FileSystem": false, - "FileSystemDirectoryEntry": false, - "FileSystemDirectoryHandle": false, - "FileSystemDirectoryReader": false, - "FileSystemEntry": false, - "FileSystemFileEntry": false, - "FileSystemFileHandle": false, - "FileSystemHandle": false, - "FileSystemWritableFileStream": false, - "find": false, - "Float16Array": false, - "focus": false, - "FocusEvent": false, - "FontData": false, - "FontFace": false, - "FontFaceSet": false, - "FontFaceSetLoadEvent": false, - "FormData": false, - "FormDataEvent": false, - "FragmentDirective": false, - "frameElement": false, - "frames": false, - "GainNode": false, - "Gamepad": false, - "GamepadAxisMoveEvent": false, - "GamepadButton": false, - "GamepadButtonEvent": false, - "GamepadEvent": false, - "GamepadHapticActuator": false, - "GamepadPose": false, - "Geolocation": false, - "GeolocationCoordinates": false, - "GeolocationPosition": false, - "GeolocationPositionError": false, - "getComputedStyle": false, - "getScreenDetails": false, - "getSelection": false, - "GPU": false, - "GPUAdapter": false, - "GPUAdapterInfo": false, - "GPUBindGroup": false, - "GPUBindGroupLayout": false, - "GPUBuffer": false, - "GPUBufferUsage": false, - "GPUCanvasContext": false, - "GPUColorWrite": false, - "GPUCommandBuffer": false, - "GPUCommandEncoder": false, - "GPUCompilationInfo": false, - "GPUCompilationMessage": false, - "GPUComputePassEncoder": false, - "GPUComputePipeline": false, - "GPUDevice": false, - "GPUDeviceLostInfo": false, - "GPUError": false, - "GPUExternalTexture": false, - "GPUInternalError": false, - "GPUMapMode": false, - "GPUOutOfMemoryError": false, - "GPUPipelineError": false, - "GPUPipelineLayout": false, - "GPUQuerySet": false, - "GPUQueue": false, - "GPURenderBundle": false, - "GPURenderBundleEncoder": false, - "GPURenderPassEncoder": false, - "GPURenderPipeline": false, - "GPUSampler": false, - "GPUShaderModule": false, - "GPUShaderStage": false, - "GPUSupportedFeatures": false, - "GPUSupportedLimits": false, - "GPUTexture": false, - "GPUTextureUsage": false, - "GPUTextureView": false, - "GPUUncapturedErrorEvent": false, - "GPUValidationError": false, - "GravitySensor": false, - "Gyroscope": false, - "HashChangeEvent": false, - "Headers": false, - "HID": false, - "HIDConnectionEvent": false, - "HIDDevice": false, - "HIDInputReportEvent": false, - "Highlight": false, - "HighlightRegistry": false, - "history": false, - "History": false, - "HTMLAllCollection": false, - "HTMLAnchorElement": false, - "HTMLAreaElement": false, - "HTMLAudioElement": false, - "HTMLBaseElement": false, - "HTMLBodyElement": false, - "HTMLBRElement": false, - "HTMLButtonElement": false, - "HTMLCanvasElement": false, - "HTMLCollection": false, - "HTMLDataElement": false, - "HTMLDataListElement": false, - "HTMLDetailsElement": false, - "HTMLDialogElement": false, - "HTMLDirectoryElement": false, - "HTMLDivElement": false, - "HTMLDListElement": false, - "HTMLDocument": false, - "HTMLElement": false, - "HTMLEmbedElement": false, - "HTMLFencedFrameElement": false, - "HTMLFieldSetElement": false, - "HTMLFontElement": false, - "HTMLFormControlsCollection": false, - "HTMLFormElement": false, - "HTMLFrameElement": false, - "HTMLFrameSetElement": false, - "HTMLHeadElement": false, - "HTMLHeadingElement": false, - "HTMLHRElement": false, - "HTMLHtmlElement": false, - "HTMLIFrameElement": false, - "HTMLImageElement": false, - "HTMLInputElement": false, - "HTMLLabelElement": false, - "HTMLLegendElement": false, - "HTMLLIElement": false, - "HTMLLinkElement": false, - "HTMLMapElement": false, - "HTMLMarqueeElement": false, - "HTMLMediaElement": false, - "HTMLMenuElement": false, - "HTMLMetaElement": false, - "HTMLMeterElement": false, - "HTMLModElement": false, - "HTMLObjectElement": false, - "HTMLOListElement": false, - "HTMLOptGroupElement": false, - "HTMLOptionElement": false, - "HTMLOptionsCollection": false, - "HTMLOutputElement": false, - "HTMLParagraphElement": false, - "HTMLParamElement": false, - "HTMLPictureElement": false, - "HTMLPreElement": false, - "HTMLProgressElement": false, - "HTMLQuoteElement": false, - "HTMLScriptElement": false, - "HTMLSelectElement": false, - "HTMLSlotElement": false, - "HTMLSourceElement": false, - "HTMLSpanElement": false, - "HTMLStyleElement": false, - "HTMLTableCaptionElement": false, - "HTMLTableCellElement": false, - "HTMLTableColElement": false, - "HTMLTableElement": false, - "HTMLTableRowElement": false, - "HTMLTableSectionElement": false, - "HTMLTemplateElement": false, - "HTMLTextAreaElement": false, - "HTMLTimeElement": false, - "HTMLTitleElement": false, - "HTMLTrackElement": false, - "HTMLUListElement": false, - "HTMLUnknownElement": false, - "HTMLVideoElement": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "IdentityCredential": false, - "IdentityCredentialError": false, - "IdentityProvider": false, - "IdleDeadline": false, - "IdleDetector": false, - "IIRFilterNode": false, - "Image": false, - "ImageBitmap": false, - "ImageBitmapRenderingContext": false, - "ImageCapture": false, - "ImageData": false, - "ImageDecoder": false, - "ImageTrack": false, - "ImageTrackList": false, - "indexedDB": false, - "Ink": false, - "innerHeight": false, - "innerWidth": false, - "InputDeviceCapabilities": false, - "InputDeviceInfo": false, - "InputEvent": false, - "IntersectionObserver": false, - "IntersectionObserverEntry": false, - "isSecureContext": false, - "Keyboard": false, - "KeyboardEvent": false, - "KeyboardLayoutMap": false, - "KeyframeEffect": false, - "LargestContentfulPaint": false, - "LaunchParams": false, - "launchQueue": false, - "LaunchQueue": false, - "LayoutShift": false, - "LayoutShiftAttribution": false, - "length": false, - "LinearAccelerationSensor": false, - "localStorage": false, - "location": true, - "Location": false, - "locationbar": false, - "Lock": false, - "LockManager": false, - "matchMedia": false, - "MathMLElement": false, - "MediaCapabilities": false, - "MediaCapabilitiesInfo": false, - "MediaDeviceInfo": false, - "MediaDevices": false, - "MediaElementAudioSourceNode": false, - "MediaEncryptedEvent": false, - "MediaError": false, - "MediaKeyError": false, - "MediaKeyMessageEvent": false, - "MediaKeys": false, - "MediaKeySession": false, - "MediaKeyStatusMap": false, - "MediaKeySystemAccess": false, - "MediaList": false, - "MediaMetadata": false, - "MediaQueryList": false, - "MediaQueryListEvent": false, - "MediaRecorder": false, - "MediaRecorderErrorEvent": false, - "MediaSession": false, - "MediaSource": false, - "MediaSourceHandle": false, - "MediaStream": false, - "MediaStreamAudioDestinationNode": false, - "MediaStreamAudioSourceNode": false, - "MediaStreamEvent": false, - "MediaStreamTrack": false, - "MediaStreamTrackAudioSourceNode": false, - "MediaStreamTrackAudioStats": false, - "MediaStreamTrackEvent": false, - "MediaStreamTrackGenerator": false, - "MediaStreamTrackProcessor": false, - "MediaStreamTrackVideoStats": false, - "menubar": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "MIDIAccess": false, - "MIDIConnectionEvent": false, - "MIDIInput": false, - "MIDIInputMap": false, - "MIDIMessageEvent": false, - "MIDIOutput": false, - "MIDIOutputMap": false, - "MIDIPort": false, - "MimeType": false, - "MimeTypeArray": false, - "model": false, - "ModelGenericSession": false, - "ModelManager": false, - "MouseEvent": false, - "moveBy": false, - "moveTo": false, - "MutationEvent": false, - "MutationObserver": false, - "MutationRecord": false, - "name": false, - "NamedNodeMap": false, - "NavigateEvent": false, - "navigation": false, - "Navigation": false, - "NavigationActivation": false, - "NavigationCurrentEntryChangeEvent": false, - "NavigationDestination": false, - "NavigationHistoryEntry": false, - "NavigationPreloadManager": false, - "NavigationTransition": false, - "navigator": false, - "Navigator": false, - "NavigatorLogin": false, - "NavigatorManagedData": false, - "NavigatorUAData": false, - "NetworkInformation": false, - "Node": false, - "NodeFilter": false, - "NodeIterator": false, - "NodeList": false, - "Notification": false, - "NotifyPaintEvent": false, - "NotRestoredReasonDetails": false, - "NotRestoredReasons": false, - "OfflineAudioCompletionEvent": false, - "OfflineAudioContext": false, - "offscreenBuffering": false, - "OffscreenCanvas": false, - "OffscreenCanvasRenderingContext2D": false, - "onabort": true, - "onafterprint": true, - "onanimationcancel": true, - "onanimationend": true, - "onanimationiteration": true, - "onanimationstart": true, - "onappinstalled": true, - "onauxclick": true, - "onbeforeinput": true, - "onbeforeinstallprompt": true, - "onbeforematch": true, - "onbeforeprint": true, - "onbeforetoggle": true, - "onbeforeunload": true, - "onbeforexrselect": true, - "onblur": true, - "oncancel": true, - "oncanplay": true, - "oncanplaythrough": true, - "onchange": true, - "onclick": true, - "onclose": true, - "oncontentvisibilityautostatechange": true, - "oncontextlost": true, - "oncontextmenu": true, - "oncontextrestored": true, - "oncopy": true, - "oncuechange": true, - "oncut": true, - "ondblclick": true, - "ondevicemotion": true, - "ondeviceorientation": true, - "ondeviceorientationabsolute": true, - "ondrag": true, - "ondragend": true, - "ondragenter": true, - "ondragleave": true, - "ondragover": true, - "ondragstart": true, - "ondrop": true, - "ondurationchange": true, - "onemptied": true, - "onended": true, - "onerror": true, - "onfocus": true, - "onformdata": true, - "ongamepadconnected": true, - "ongamepaddisconnected": true, - "ongotpointercapture": true, - "onhashchange": true, - "oninput": true, - "oninvalid": true, - "onkeydown": true, - "onkeypress": true, - "onkeyup": true, - "onlanguagechange": true, - "onload": true, - "onloadeddata": true, - "onloadedmetadata": true, - "onloadstart": true, - "onlostpointercapture": true, - "onmessage": true, - "onmessageerror": true, - "onmousedown": true, - "onmouseenter": true, - "onmouseleave": true, - "onmousemove": true, - "onmouseout": true, - "onmouseover": true, - "onmouseup": true, - "onmousewheel": true, - "onoffline": true, - "ononline": true, - "onpagehide": true, - "onpagereveal": true, - "onpageshow": true, - "onpageswap": true, - "onpaste": true, - "onpause": true, - "onplay": true, - "onplaying": true, - "onpointercancel": true, - "onpointerdown": true, - "onpointerenter": true, - "onpointerleave": true, - "onpointermove": true, - "onpointerout": true, - "onpointerover": true, - "onpointerrawupdate": true, - "onpointerup": true, - "onpopstate": true, - "onprogress": true, - "onratechange": true, - "onrejectionhandled": true, - "onreset": true, - "onresize": true, - "onscroll": true, - "onscrollend": true, - "onscrollsnapchange": true, - "onscrollsnapchanging": true, - "onsearch": true, - "onsecuritypolicyviolation": true, - "onseeked": true, - "onseeking": true, - "onselect": true, - "onselectionchange": true, - "onselectstart": true, - "onslotchange": true, - "onstalled": true, - "onstorage": true, - "onsubmit": true, - "onsuspend": true, - "ontimeupdate": true, - "ontoggle": true, - "ontransitioncancel": true, - "ontransitionend": true, - "ontransitionrun": true, - "ontransitionstart": true, - "onunhandledrejection": true, - "onunload": true, - "onvolumechange": true, - "onwaiting": true, - "onwheel": true, - "open": false, - "opener": false, - "Option": false, - "OrientationSensor": false, - "origin": false, - "originAgentCluster": false, - "OscillatorNode": false, - "OTPCredential": false, - "outerHeight": false, - "outerWidth": false, - "OverconstrainedError": false, - "PageRevealEvent": false, - "PageSwapEvent": false, - "PageTransitionEvent": false, - "pageXOffset": false, - "pageYOffset": false, - "PannerNode": false, - "parent": false, - "PasswordCredential": false, - "Path2D": false, - "PaymentAddress": false, - "PaymentManager": false, - "PaymentMethodChangeEvent": false, - "PaymentRequest": false, - "PaymentRequestUpdateEvent": false, - "PaymentResponse": false, - "performance": false, - "Performance": false, - "PerformanceElementTiming": false, - "PerformanceEntry": false, - "PerformanceEventTiming": false, - "PerformanceLongAnimationFrameTiming": false, - "PerformanceLongTaskTiming": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceNavigationTiming": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformancePaintTiming": false, - "PerformanceResourceTiming": false, - "PerformanceScriptTiming": false, - "PerformanceServerTiming": false, - "PerformanceTiming": false, - "PeriodicSyncManager": false, - "PeriodicWave": false, - "Permissions": false, - "PermissionStatus": false, - "PERSISTENT": false, - "personalbar": false, - "PictureInPictureEvent": false, - "PictureInPictureWindow": false, - "Plugin": false, - "PluginArray": false, - "PointerEvent": false, - "PopStateEvent": false, - "postMessage": false, - "Presentation": false, - "PresentationAvailability": false, - "PresentationConnection": false, - "PresentationConnectionAvailableEvent": false, - "PresentationConnectionCloseEvent": false, - "PresentationConnectionList": false, - "PresentationReceiver": false, - "PresentationRequest": false, - "PressureObserver": false, - "PressureRecord": false, - "print": false, - "ProcessingInstruction": false, - "Profiler": false, - "ProgressEvent": false, - "PromiseRejectionEvent": false, - "prompt": false, - "ProtectedAudience": false, - "PublicKeyCredential": false, - "PushManager": false, - "PushSubscription": false, - "PushSubscriptionOptions": false, - "queryLocalFonts": false, - "queueMicrotask": false, - "RadioNodeList": false, - "Range": false, - "ReadableByteStreamController": false, - "ReadableStream": false, - "ReadableStreamBYOBReader": false, - "ReadableStreamBYOBRequest": false, - "ReadableStreamDefaultController": false, - "ReadableStreamDefaultReader": false, - "registerProcessor": false, - "RelativeOrientationSensor": false, - "RemotePlayback": false, - "removeEventListener": false, - "reportError": false, - "ReportingObserver": false, - "Request": false, - "requestAnimationFrame": false, - "requestIdleCallback": false, - "resizeBy": false, - "ResizeObserver": false, - "ResizeObserverEntry": false, - "ResizeObserverSize": false, - "resizeTo": false, - "Response": false, - "RTCCertificate": false, - "RTCDataChannel": false, - "RTCDataChannelEvent": false, - "RTCDtlsTransport": false, - "RTCDTMFSender": false, - "RTCDTMFToneChangeEvent": false, - "RTCEncodedAudioFrame": false, - "RTCEncodedVideoFrame": false, - "RTCError": false, - "RTCErrorEvent": false, - "RTCIceCandidate": false, - "RTCIceTransport": false, - "RTCPeerConnection": false, - "RTCPeerConnectionIceErrorEvent": false, - "RTCPeerConnectionIceEvent": false, - "RTCRtpReceiver": false, - "RTCRtpScriptTransform": false, - "RTCRtpSender": false, - "RTCRtpTransceiver": false, - "RTCSctpTransport": false, - "RTCSessionDescription": false, - "RTCStatsReport": false, - "RTCTrackEvent": false, - "sampleRate": false, - "scheduler": false, - "Scheduler": false, - "Scheduling": false, - "screen": false, - "Screen": false, - "ScreenDetailed": false, - "ScreenDetails": false, - "screenLeft": false, - "ScreenOrientation": false, - "screenTop": false, - "screenX": false, - "screenY": false, - "ScriptProcessorNode": false, - "scroll": false, - "scrollbars": false, - "scrollBy": false, - "ScrollTimeline": false, - "scrollTo": false, - "scrollX": false, - "scrollY": false, - "SecurityPolicyViolationEvent": false, - "Selection": false, - "self": false, - "Sensor": false, - "SensorErrorEvent": false, - "Serial": false, - "SerialPort": false, - "ServiceWorker": false, - "ServiceWorkerContainer": false, - "ServiceWorkerRegistration": false, - "sessionStorage": false, - "setInterval": false, - "setTimeout": false, - "ShadowRoot": false, - "sharedStorage": false, - "SharedStorage": false, - "SharedStorageWorklet": false, - "SharedWorker": false, - "showDirectoryPicker": false, - "showOpenFilePicker": false, - "showSaveFilePicker": false, - "SnapEvent": false, - "SourceBuffer": false, - "SourceBufferList": false, - "speechSynthesis": false, - "SpeechSynthesis": false, - "SpeechSynthesisErrorEvent": false, - "SpeechSynthesisEvent": false, - "SpeechSynthesisUtterance": false, - "SpeechSynthesisVoice": false, - "StaticRange": false, - "status": false, - "statusbar": false, - "StereoPannerNode": false, - "stop": false, - "Storage": false, - "StorageBucket": false, - "StorageBucketManager": false, - "StorageEvent": false, - "StorageManager": false, - "structuredClone": false, - "styleMedia": false, - "StylePropertyMap": false, - "StylePropertyMapReadOnly": false, - "StyleSheet": false, - "StyleSheetList": false, - "SubmitEvent": false, - "SubtleCrypto": false, - "SVGAElement": false, - "SVGAngle": false, - "SVGAnimatedAngle": false, - "SVGAnimatedBoolean": false, - "SVGAnimatedEnumeration": false, - "SVGAnimatedInteger": false, - "SVGAnimatedLength": false, - "SVGAnimatedLengthList": false, - "SVGAnimatedNumber": false, - "SVGAnimatedNumberList": false, - "SVGAnimatedPreserveAspectRatio": false, - "SVGAnimatedRect": false, - "SVGAnimatedString": false, - "SVGAnimatedTransformList": false, - "SVGAnimateElement": false, - "SVGAnimateMotionElement": false, - "SVGAnimateTransformElement": false, - "SVGAnimationElement": false, - "SVGCircleElement": false, - "SVGClipPathElement": false, - "SVGComponentTransferFunctionElement": false, - "SVGDefsElement": false, - "SVGDescElement": false, - "SVGElement": false, - "SVGEllipseElement": false, - "SVGFEBlendElement": false, - "SVGFEColorMatrixElement": false, - "SVGFEComponentTransferElement": false, - "SVGFECompositeElement": false, - "SVGFEConvolveMatrixElement": false, - "SVGFEDiffuseLightingElement": false, - "SVGFEDisplacementMapElement": false, - "SVGFEDistantLightElement": false, - "SVGFEDropShadowElement": false, - "SVGFEFloodElement": false, - "SVGFEFuncAElement": false, - "SVGFEFuncBElement": false, - "SVGFEFuncGElement": false, - "SVGFEFuncRElement": false, - "SVGFEGaussianBlurElement": false, - "SVGFEImageElement": false, - "SVGFEMergeElement": false, - "SVGFEMergeNodeElement": false, - "SVGFEMorphologyElement": false, - "SVGFEOffsetElement": false, - "SVGFEPointLightElement": false, - "SVGFESpecularLightingElement": false, - "SVGFESpotLightElement": false, - "SVGFETileElement": false, - "SVGFETurbulenceElement": false, - "SVGFilterElement": false, - "SVGForeignObjectElement": false, - "SVGGElement": false, - "SVGGeometryElement": false, - "SVGGradientElement": false, - "SVGGraphicsElement": false, - "SVGImageElement": false, - "SVGLength": false, - "SVGLengthList": false, - "SVGLinearGradientElement": false, - "SVGLineElement": false, - "SVGMarkerElement": false, - "SVGMaskElement": false, - "SVGMatrix": false, - "SVGMetadataElement": false, - "SVGMPathElement": false, - "SVGNumber": false, - "SVGNumberList": false, - "SVGPathElement": false, - "SVGPatternElement": false, - "SVGPoint": false, - "SVGPointList": false, - "SVGPolygonElement": false, - "SVGPolylineElement": false, - "SVGPreserveAspectRatio": false, - "SVGRadialGradientElement": false, - "SVGRect": false, - "SVGRectElement": false, - "SVGScriptElement": false, - "SVGSetElement": false, - "SVGStopElement": false, - "SVGStringList": false, - "SVGStyleElement": false, - "SVGSVGElement": false, - "SVGSwitchElement": false, - "SVGSymbolElement": false, - "SVGTextContentElement": false, - "SVGTextElement": false, - "SVGTextPathElement": false, - "SVGTextPositioningElement": false, - "SVGTitleElement": false, - "SVGTransform": false, - "SVGTransformList": false, - "SVGTSpanElement": false, - "SVGUnitTypes": false, - "SVGUseElement": false, - "SVGViewElement": false, - "SyncManager": false, - "TaskAttributionTiming": false, - "TaskController": false, - "TaskPriorityChangeEvent": false, - "TaskSignal": false, - "TEMPORARY": false, - "Text": false, - "TextDecoder": false, - "TextDecoderStream": false, - "TextEncoder": false, - "TextEncoderStream": false, - "TextEvent": false, - "TextFormat": false, - "TextFormatUpdateEvent": false, - "TextMetrics": false, - "TextTrack": false, - "TextTrackCue": false, - "TextTrackCueList": false, - "TextTrackList": false, - "TextUpdateEvent": false, - "TimeEvent": false, - "TimeRanges": false, - "ToggleEvent": false, - "toolbar": false, - "top": false, - "Touch": false, - "TouchEvent": false, - "TouchList": false, - "TrackEvent": false, - "TransformStream": false, - "TransformStreamDefaultController": false, - "TransitionEvent": false, - "TreeWalker": false, - "TrustedHTML": false, - "TrustedScript": false, - "TrustedScriptURL": false, - "TrustedTypePolicy": false, - "TrustedTypePolicyFactory": false, - "trustedTypes": false, - "UIEvent": false, - "URL": false, - "URLPattern": false, - "URLSearchParams": false, - "USB": false, - "USBAlternateInterface": false, - "USBConfiguration": false, - "USBConnectionEvent": false, - "USBDevice": false, - "USBEndpoint": false, - "USBInterface": false, - "USBInTransferResult": false, - "USBIsochronousInTransferPacket": false, - "USBIsochronousInTransferResult": false, - "USBIsochronousOutTransferPacket": false, - "USBIsochronousOutTransferResult": false, - "USBOutTransferResult": false, - "UserActivation": false, - "ValidityState": false, - "VideoColorSpace": false, - "VideoDecoder": false, - "VideoEncoder": false, - "VideoFrame": false, - "VideoPlaybackQuality": false, - "ViewTimeline": false, - "ViewTransition": false, - "ViewTransitionTypeSet": false, - "VirtualKeyboard": false, - "VirtualKeyboardGeometryChangeEvent": false, - "VisibilityStateEntry": false, - "visualViewport": false, - "VisualViewport": false, - "VTTCue": false, - "VTTRegion": false, - "WakeLock": false, - "WakeLockSentinel": false, - "WaveShaperNode": false, - "WebAssembly": false, - "WebGL2RenderingContext": false, - "WebGLActiveInfo": false, - "WebGLBuffer": false, - "WebGLContextEvent": false, - "WebGLFramebuffer": false, - "WebGLObject": false, - "WebGLProgram": false, - "WebGLQuery": false, - "WebGLRenderbuffer": false, - "WebGLRenderingContext": false, - "WebGLSampler": false, - "WebGLShader": false, - "WebGLShaderPrecisionFormat": false, - "WebGLSync": false, - "WebGLTexture": false, - "WebGLTransformFeedback": false, - "WebGLUniformLocation": false, - "WebGLVertexArrayObject": false, - "WebSocket": false, - "WebSocketError": false, - "WebSocketStream": false, - "WebTransport": false, - "WebTransportBidirectionalStream": false, - "WebTransportDatagramDuplexStream": false, - "WebTransportError": false, - "WebTransportReceiveStream": false, - "WebTransportSendStream": false, - "WGSLLanguageFeatures": false, - "WheelEvent": false, - "window": false, - "Window": false, - "WindowControlsOverlay": false, - "WindowControlsOverlayGeometryChangeEvent": false, - "Worker": false, - "Worklet": false, - "WorkletGlobalScope": false, - "WritableStream": false, - "WritableStreamDefaultController": false, - "WritableStreamDefaultWriter": false, - "XMLDocument": false, - "XMLHttpRequest": false, - "XMLHttpRequestEventTarget": false, - "XMLHttpRequestUpload": false, - "XMLSerializer": false, - "XPathEvaluator": false, - "XPathExpression": false, - "XPathResult": false, - "XRAnchor": false, - "XRAnchorSet": false, - "XRBoundedReferenceSpace": false, - "XRCamera": false, - "XRCPUDepthInformation": false, - "XRDepthInformation": false, - "XRDOMOverlayState": false, - "XRFrame": false, - "XRHand": false, - "XRHitTestResult": false, - "XRHitTestSource": false, - "XRInputSource": false, - "XRInputSourceArray": false, - "XRInputSourceEvent": false, - "XRInputSourcesChangeEvent": false, - "XRJointPose": false, - "XRJointSpace": false, - "XRLayer": false, - "XRLightEstimate": false, - "XRLightProbe": false, - "XRPose": false, - "XRRay": false, - "XRReferenceSpace": false, - "XRReferenceSpaceEvent": false, - "XRRenderState": false, - "XRRigidTransform": false, - "XRSession": false, - "XRSessionEvent": false, - "XRSpace": false, - "XRSystem": false, - "XRTransientInputHitTestResult": false, - "XRTransientInputHitTestSource": false, - "XRView": false, - "XRViewerPose": false, - "XRViewport": false, - "XRWebGLBinding": false, - "XRWebGLDepthInformation": false, - "XRWebGLLayer": false, - "XSLTProcessor": false - }, - "builtin": { - "AggregateError": false, - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "FinalizationRegistry": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "Iterator": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakRef": false, - "WeakSet": false - }, - "chai": { - "assert": true, - "expect": true, - "should": true - }, - "commonjs": { - "exports": true, - "global": false, - "module": false, - "require": false - }, - "couch": { - "emit": false, - "exports": false, - "getRow": false, - "log": false, - "module": false, - "provides": false, - "require": false, - "respond": false, - "send": false, - "start": false, - "sum": false - }, - "devtools": { - "$": false, - "$_": false, - "$$": false, - "$0": false, - "$1": false, - "$2": false, - "$3": false, - "$4": false, - "$x": false, - "chrome": false, - "clear": false, - "copy": false, - "debug": false, - "dir": false, - "dirxml": false, - "getEventListeners": false, - "inspect": false, - "keys": false, - "monitor": false, - "monitorEvents": false, - "profile": false, - "profileEnd": false, - "queryObjects": false, - "table": false, - "undebug": false, - "unmonitor": false, - "unmonitorEvents": false, - "values": false - }, - "embertest": { - "andThen": false, - "click": false, - "currentPath": false, - "currentRouteName": false, - "currentURL": false, - "fillIn": false, - "find": false, - "findAll": false, - "findWithAssert": false, - "keyEvent": false, - "pauseTest": false, - "resumeTest": false, - "triggerEvent": false, - "visit": false, - "wait": false - }, - "es2015": { - "Array": false, - "ArrayBuffer": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakSet": false - }, - "es2016": { - "Array": false, - "ArrayBuffer": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakSet": false - }, - "es2017": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakSet": false - }, - "es2018": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakSet": false - }, - "es2019": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakSet": false - }, - "es2020": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakSet": false - }, - "es2021": { - "AggregateError": false, - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "FinalizationRegistry": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakRef": false, - "WeakSet": false - }, - "es2022": { - "AggregateError": false, - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "FinalizationRegistry": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakRef": false, - "WeakSet": false - }, - "es2023": { - "AggregateError": false, - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "FinalizationRegistry": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakRef": false, - "WeakSet": false - }, - "es2024": { - "AggregateError": false, - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "FinalizationRegistry": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakRef": false, - "WeakSet": false - }, - "es2025": { - "AggregateError": false, - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "FinalizationRegistry": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "Intl": false, - "isFinite": false, - "isNaN": false, - "Iterator": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "WeakMap": false, - "WeakRef": false, - "WeakSet": false - }, - "es3": { - "Array": false, - "Boolean": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Function": false, - "Infinity": false, - "isFinite": false, - "isNaN": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "RangeError": false, - "ReferenceError": false, - "RegExp": false, - "String": false, - "SyntaxError": false, - "TypeError": false, - "undefined": false, - "unescape": false, - "URIError": false - }, - "es5": { - "Array": false, - "Boolean": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Function": false, - "Infinity": false, - "isFinite": false, - "isNaN": false, - "JSON": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "RangeError": false, - "ReferenceError": false, - "RegExp": false, - "String": false, - "SyntaxError": false, - "TypeError": false, - "undefined": false, - "unescape": false, - "URIError": false - }, - "greasemonkey": { - "cloneInto": false, - "createObjectIn": false, - "exportFunction": false, - "GM": false, - "GM_addElement": false, - "GM_addStyle": false, - "GM_addValueChangeListener": false, - "GM_deleteValue": false, - "GM_download": false, - "GM_getResourceText": false, - "GM_getResourceURL": false, - "GM_getTab": false, - "GM_getTabs": false, - "GM_getValue": false, - "GM_info": false, - "GM_listValues": false, - "GM_log": false, - "GM_notification": false, - "GM_openInTab": false, - "GM_registerMenuCommand": false, - "GM_removeValueChangeListener": false, - "GM_saveTab": false, - "GM_setClipboard": false, - "GM_setValue": false, - "GM_unregisterMenuCommand": false, - "GM_xmlhttpRequest": false, - "unsafeWindow": false - }, - "jasmine": { - "afterAll": false, - "afterEach": false, - "beforeAll": false, - "beforeEach": false, - "describe": false, - "expect": false, - "expectAsync": false, - "fail": false, - "fdescribe": false, - "fit": false, - "it": false, - "jasmine": false, - "pending": false, - "runs": false, - "spyOn": false, - "spyOnAllFunctions": false, - "spyOnProperty": false, - "waits": false, - "waitsFor": false, - "xdescribe": false, - "xit": false - }, - "jest": { - "afterAll": false, - "afterEach": false, - "beforeAll": false, - "beforeEach": false, - "describe": false, - "expect": false, - "fit": false, - "it": false, - "jest": false, - "test": false, - "xdescribe": false, - "xit": false, - "xtest": false - }, - "jquery": { - "$": false, - "jQuery": false - }, - "meteor": { - "$": false, - "Accounts": false, - "AccountsClient": false, - "AccountsCommon": false, - "AccountsServer": false, - "App": false, - "Assets": false, - "Blaze": false, - "check": false, - "Cordova": false, - "DDP": false, - "DDPRateLimiter": false, - "DDPServer": false, - "Deps": false, - "EJSON": false, - "Email": false, - "HTTP": false, - "Log": false, - "Match": false, - "Meteor": false, - "Mongo": false, - "MongoInternals": false, - "Npm": false, - "Package": false, - "Plugin": false, - "process": false, - "Random": false, - "ReactiveDict": false, - "ReactiveVar": false, - "Router": false, - "ServiceConfiguration": false, - "Session": false, - "share": false, - "Spacebars": false, - "Template": false, - "Tinytest": false, - "Tracker": false, - "UI": false, - "Utils": false, - "WebApp": false, - "WebAppInternals": false - }, - "mocha": { - "after": false, - "afterEach": false, - "before": false, - "beforeEach": false, - "context": false, - "describe": false, - "it": false, - "mocha": false, - "run": false, - "setup": false, - "specify": false, - "suite": false, - "suiteSetup": false, - "suiteTeardown": false, - "teardown": false, - "test": false, - "xcontext": false, - "xdescribe": false, - "xit": false, - "xspecify": false - }, - "mongo": { - "_isWindows": false, - "_rand": false, - "BulkWriteResult": false, - "cat": false, - "cd": false, - "connect": false, - "db": false, - "getHostName": false, - "getMemInfo": false, - "hostname": false, - "ISODate": false, - "listFiles": false, - "load": false, - "ls": false, - "md5sumFile": false, - "mkdir": false, - "Mongo": false, - "NumberInt": false, - "NumberLong": false, - "ObjectId": false, - "PlanCache": false, - "print": false, - "printjson": false, - "pwd": false, - "quit": false, - "removeFile": false, - "rs": false, - "sh": false, - "UUID": false, - "version": false, - "WriteResult": false - }, - "nashorn": { - "__DIR__": false, - "__FILE__": false, - "__LINE__": false, - "com": false, - "edu": false, - "exit": false, - "java": false, - "Java": false, - "javafx": false, - "JavaImporter": false, - "javax": false, - "JSAdapter": false, - "load": false, - "loadWithNewGlobal": false, - "org": false, - "Packages": false, - "print": false, - "quit": false - }, - "node": { - "__dirname": false, - "__filename": false, - "AbortController": false, - "AbortSignal": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "Buffer": false, - "ByteLengthQueuingStrategy": false, - "clearImmediate": false, - "clearInterval": false, - "clearTimeout": false, - "CloseEvent": false, - "CompressionStream": false, - "console": false, - "CountQueuingStrategy": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CustomEvent": false, - "DecompressionStream": false, - "DOMException": false, - "Event": false, - "EventTarget": false, - "exports": true, - "fetch": false, - "File": false, - "FormData": false, - "global": false, - "Headers": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "module": false, - "navigator": false, - "Navigator": false, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformanceResourceTiming": false, - "process": false, - "queueMicrotask": false, - "ReadableByteStreamController": false, - "ReadableStream": false, - "ReadableStreamBYOBReader": false, - "ReadableStreamBYOBRequest": false, - "ReadableStreamDefaultController": false, - "ReadableStreamDefaultReader": false, - "Request": false, - "require": false, - "Response": false, - "setImmediate": false, - "setInterval": false, - "setTimeout": false, - "structuredClone": false, - "SubtleCrypto": false, - "TextDecoder": false, - "TextDecoderStream": false, - "TextEncoder": false, - "TextEncoderStream": false, - "TransformStream": false, - "TransformStreamDefaultController": false, - "URL": false, - "URLSearchParams": false, - "WebAssembly": false, - "WebSocket": false, - "WritableStream": false, - "WritableStreamDefaultController": false, - "WritableStreamDefaultWriter": false - }, - "nodeBuiltin": { - "AbortController": false, - "AbortSignal": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "Buffer": false, - "ByteLengthQueuingStrategy": false, - "clearImmediate": false, - "clearInterval": false, - "clearTimeout": false, - "CloseEvent": false, - "CompressionStream": false, - "console": false, - "CountQueuingStrategy": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CustomEvent": false, - "DecompressionStream": false, - "DOMException": false, - "Event": false, - "EventTarget": false, - "fetch": false, - "File": false, - "FormData": false, - "global": false, - "Headers": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "navigator": false, - "Navigator": false, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformanceResourceTiming": false, - "process": false, - "queueMicrotask": false, - "ReadableByteStreamController": false, - "ReadableStream": false, - "ReadableStreamBYOBReader": false, - "ReadableStreamBYOBRequest": false, - "ReadableStreamDefaultController": false, - "ReadableStreamDefaultReader": false, - "Request": false, - "Response": false, - "setImmediate": false, - "setInterval": false, - "setTimeout": false, - "structuredClone": false, - "SubtleCrypto": false, - "TextDecoder": false, - "TextDecoderStream": false, - "TextEncoder": false, - "TextEncoderStream": false, - "TransformStream": false, - "TransformStreamDefaultController": false, - "URL": false, - "URLSearchParams": false, - "WebAssembly": false, - "WebSocket": false, - "WritableStream": false, - "WritableStreamDefaultController": false, - "WritableStreamDefaultWriter": false - }, - "phantomjs": { - "console": true, - "exports": true, - "phantom": true, - "require": true, - "WebPage": true - }, - "prototypejs": { - "$": false, - "$$": false, - "$A": false, - "$break": false, - "$continue": false, - "$F": false, - "$H": false, - "$R": false, - "$w": false, - "Abstract": false, - "Ajax": false, - "Autocompleter": false, - "Builder": false, - "Class": false, - "Control": false, - "Draggable": false, - "Draggables": false, - "Droppables": false, - "Effect": false, - "Element": false, - "Enumerable": false, - "Event": false, - "Field": false, - "Form": false, - "Hash": false, - "Insertion": false, - "ObjectRange": false, - "PeriodicalExecuter": false, - "Position": false, - "Prototype": false, - "Scriptaculous": false, - "Selector": false, - "Sortable": false, - "SortableObserver": false, - "Sound": false, - "Template": false, - "Toggle": false, - "Try": false - }, - "protractor": { - "$": false, - "$$": false, - "browser": false, - "by": false, - "By": false, - "DartObject": false, - "element": false, - "protractor": false - }, - "qunit": { - "asyncTest": false, - "deepEqual": false, - "equal": false, - "expect": false, - "module": false, - "notDeepEqual": false, - "notEqual": false, - "notOk": false, - "notPropEqual": false, - "notStrictEqual": false, - "ok": false, - "propEqual": false, - "QUnit": false, - "raises": false, - "start": false, - "stop": false, - "strictEqual": false, - "test": false, - "throws": false - }, - "rhino": { - "defineClass": false, - "deserialize": false, - "gc": false, - "help": false, - "importClass": false, - "importPackage": false, - "java": false, - "load": false, - "loadClass": false, - "Packages": false, - "print": false, - "quit": false, - "readFile": false, - "readUrl": false, - "runCommand": false, - "seal": false, - "serialize": false, - "spawn": false, - "sync": false, - "toint32": false, - "version": false - }, - "serviceworker": { - "addEventListener": false, - "applicationCache": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "ByteLengthQueuingStrategy": false, - "Cache": false, - "caches": false, - "CacheStorage": false, - "clearInterval": false, - "clearTimeout": false, - "Client": false, - "clients": false, - "Clients": false, - "close": true, - "CompressionStream": false, - "console": false, - "CountQueuingStrategy": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CustomEvent": false, - "DecompressionStream": false, - "ErrorEvent": false, - "Event": false, - "ExtendableEvent": false, - "ExtendableMessageEvent": false, - "fetch": false, - "FetchEvent": false, - "File": false, - "FileReaderSync": false, - "FormData": false, - "Headers": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "ImageData": false, - "importScripts": false, - "indexedDB": false, - "location": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "name": false, - "navigator": false, - "Notification": false, - "onclose": true, - "onconnect": true, - "onerror": true, - "onfetch": true, - "oninstall": true, - "onlanguagechange": true, - "onmessage": true, - "onmessageerror": true, - "onnotificationclick": true, - "onnotificationclose": true, - "onoffline": true, - "ononline": true, - "onpush": true, - "onpushsubscriptionchange": true, - "onrejectionhandled": true, - "onsync": true, - "onunhandledrejection": true, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformanceResourceTiming": false, - "PerformanceTiming": false, - "postMessage": true, - "queueMicrotask": false, - "ReadableByteStreamController": false, - "ReadableStream": false, - "ReadableStreamBYOBReader": false, - "ReadableStreamBYOBRequest": false, - "ReadableStreamDefaultController": false, - "ReadableStreamDefaultReader": false, - "registration": false, - "removeEventListener": false, - "Request": false, - "Response": false, - "self": false, - "ServiceWorker": false, - "ServiceWorkerContainer": false, - "ServiceWorkerGlobalScope": false, - "ServiceWorkerMessageEvent": false, - "ServiceWorkerRegistration": false, - "setInterval": false, - "setTimeout": false, - "skipWaiting": false, - "SubtleCrypto": false, - "TextDecoder": false, - "TextDecoderStream": false, - "TextEncoder": false, - "TextEncoderStream": false, - "TransformStream": false, - "TransformStreamDefaultController": false, - "URL": false, - "URLSearchParams": false, - "WebAssembly": false, - "WebSocket": false, - "WindowClient": false, - "Worker": false, - "WorkerGlobalScope": false, - "WritableStream": false, - "WritableStreamDefaultController": false, - "WritableStreamDefaultWriter": false, - "XMLHttpRequest": false - }, - "shared-node-browser": { - "AbortController": false, - "AbortSignal": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "ByteLengthQueuingStrategy": false, - "clearInterval": false, - "clearTimeout": false, - "CloseEvent": false, - "CompressionStream": false, - "console": false, - "CountQueuingStrategy": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CustomEvent": false, - "DecompressionStream": false, - "DOMException": false, - "Event": false, - "EventTarget": false, - "fetch": false, - "File": false, - "FormData": false, - "Headers": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "navigator": false, - "Navigator": false, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformanceResourceTiming": false, - "queueMicrotask": false, - "ReadableByteStreamController": false, - "ReadableStream": false, - "ReadableStreamBYOBReader": false, - "ReadableStreamBYOBRequest": false, - "ReadableStreamDefaultController": false, - "ReadableStreamDefaultReader": false, - "Request": false, - "Response": false, - "setInterval": false, - "setTimeout": false, - "structuredClone": false, - "SubtleCrypto": false, - "TextDecoder": false, - "TextDecoderStream": false, - "TextEncoder": false, - "TextEncoderStream": false, - "TransformStream": false, - "TransformStreamDefaultController": false, - "URL": false, - "URLSearchParams": false, - "WebAssembly": false, - "WebSocket": false, - "WritableStream": false, - "WritableStreamDefaultController": false, - "WritableStreamDefaultWriter": false - }, - "shelljs": { - "cat": false, - "cd": false, - "chmod": false, - "config": false, - "cp": false, - "dirs": false, - "echo": false, - "env": false, - "error": false, - "exec": false, - "exit": false, - "find": false, - "grep": false, - "head": false, - "ln": false, - "ls": false, - "mkdir": false, - "mv": false, - "popd": false, - "pushd": false, - "pwd": false, - "rm": false, - "sed": false, - "set": false, - "ShellString": false, - "sort": false, - "tail": false, - "tempdir": false, - "test": false, - "touch": false, - "uniq": false, - "which": false - }, - "webextensions": { - "browser": false, - "chrome": false, - "opr": false - }, - "worker": { - "AbortController": false, - "AbortSignal": false, - "addEventListener": false, - "ai": false, - "atob": false, - "AudioData": false, - "AudioDecoder": false, - "AudioEncoder": false, - "BackgroundFetchManager": false, - "BackgroundFetchRecord": false, - "BackgroundFetchRegistration": false, - "BarcodeDetector": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "ByteLengthQueuingStrategy": false, - "Cache": false, - "caches": false, - "CacheStorage": false, - "cancelAnimationFrame": false, - "CanvasGradient": false, - "CanvasPattern": false, - "clearInterval": false, - "clearTimeout": false, - "close": false, - "CloseEvent": false, - "CompressionStream": false, - "console": false, - "CountQueuingStrategy": false, - "createImageBitmap": false, - "CropTarget": false, - "crossOriginIsolated": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CSSSkewX": false, - "CSSSkewY": false, - "CustomEvent": false, - "DecompressionStream": false, - "DedicatedWorkerGlobalScope": false, - "dispatchEvent": false, - "DOMException": false, - "DOMMatrix": false, - "DOMMatrixReadOnly": false, - "DOMPoint": false, - "DOMPointReadOnly": false, - "DOMQuad": false, - "DOMRect": false, - "DOMRectReadOnly": false, - "DOMStringList": false, - "EncodedAudioChunk": false, - "EncodedVideoChunk": false, - "ErrorEvent": false, - "Event": false, - "EventSource": false, - "EventTarget": false, - "fetch": false, - "File": false, - "FileList": false, - "FileReader": false, - "FileReaderSync": false, - "FileSystemDirectoryHandle": false, - "FileSystemFileHandle": false, - "FileSystemHandle": false, - "FileSystemSyncAccessHandle": false, - "FileSystemWritableFileStream": false, - "FontFace": false, - "fonts": false, - "FormData": false, - "GPU": false, - "GPUAdapter": false, - "GPUAdapterInfo": false, - "GPUBindGroup": false, - "GPUBindGroupLayout": false, - "GPUBuffer": false, - "GPUBufferUsage": false, - "GPUCanvasContext": false, - "GPUColorWrite": false, - "GPUCommandBuffer": false, - "GPUCommandEncoder": false, - "GPUCompilationInfo": false, - "GPUCompilationMessage": false, - "GPUComputePassEncoder": false, - "GPUComputePipeline": false, - "GPUDevice": false, - "GPUDeviceLostInfo": false, - "GPUError": false, - "GPUExternalTexture": false, - "GPUInternalError": false, - "GPUMapMode": false, - "GPUOutOfMemoryError": false, - "GPUPipelineError": false, - "GPUPipelineLayout": false, - "GPUQuerySet": false, - "GPUQueue": false, - "GPURenderBundle": false, - "GPURenderBundleEncoder": false, - "GPURenderPassEncoder": false, - "GPURenderPipeline": false, - "GPUSampler": false, - "GPUShaderModule": false, - "GPUShaderStage": false, - "GPUSupportedFeatures": false, - "GPUSupportedLimits": false, - "GPUTexture": false, - "GPUTextureUsage": false, - "GPUTextureView": false, - "GPUUncapturedErrorEvent": false, - "GPUValidationError": false, - "Headers": false, - "HID": false, - "HIDConnectionEvent": false, - "HIDDevice": false, - "HIDInputReportEvent": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "IdleDetector": false, - "ImageBitmap": false, - "ImageBitmapRenderingContext": false, - "ImageData": false, - "ImageDecoder": false, - "ImageTrack": false, - "ImageTrackList": false, - "importScripts": false, - "indexedDB": false, - "isSecureContext": false, - "location": false, - "Lock": false, - "LockManager": false, - "MediaCapabilities": false, - "MediaSource": false, - "MediaSourceHandle": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "name": false, - "NavigationPreloadManager": false, - "navigator": false, - "NavigatorUAData": false, - "NetworkInformation": false, - "Notification": false, - "OffscreenCanvas": false, - "OffscreenCanvasRenderingContext2D": false, - "onerror": true, - "onlanguagechange": true, - "onmessage": true, - "onmessageerror": true, - "onrejectionhandled": true, - "onunhandledrejection": true, - "origin": false, - "Path2D": false, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformanceResourceTiming": false, - "PerformanceServerTiming": false, - "PeriodicSyncManager": false, - "Permissions": false, - "PermissionStatus": false, - "PERSISTENT": false, - "postMessage": false, - "PressureObserver": false, - "PressureRecord": false, - "ProgressEvent": false, - "PromiseRejectionEvent": false, - "PushManager": false, - "PushSubscription": false, - "PushSubscriptionOptions": false, - "queueMicrotask": false, - "ReadableByteStreamController": false, - "ReadableStream": false, - "ReadableStreamBYOBReader": false, - "ReadableStreamBYOBRequest": false, - "ReadableStreamDefaultController": false, - "ReadableStreamDefaultReader": false, - "removeEventListener": false, - "reportError": false, - "ReportingObserver": false, - "Request": false, - "requestAnimationFrame": false, - "Response": false, - "RTCDataChannel": false, - "RTCEncodedAudioFrame": false, - "RTCEncodedVideoFrame": false, - "scheduler": false, - "Scheduler": false, - "SecurityPolicyViolationEvent": false, - "self": false, - "Serial": false, - "SerialPort": false, - "ServiceWorkerRegistration": false, - "setInterval": false, - "setTimeout": false, - "SourceBuffer": false, - "SourceBufferList": false, - "StorageBucket": false, - "StorageBucketManager": false, - "StorageManager": false, - "structuredClone": false, - "SubtleCrypto": false, - "SyncManager": false, - "TaskController": false, - "TaskPriorityChangeEvent": false, - "TaskSignal": false, - "TEMPORARY": false, - "TextDecoder": false, - "TextDecoderStream": false, - "TextEncoder": false, - "TextEncoderStream": false, - "TextMetrics": false, - "TransformStream": false, - "TransformStreamDefaultController": false, - "TrustedHTML": false, - "TrustedScript": false, - "TrustedScriptURL": false, - "TrustedTypePolicy": false, - "TrustedTypePolicyFactory": false, - "trustedTypes": false, - "URL": false, - "URLPattern": false, - "URLSearchParams": false, - "USB": false, - "USBAlternateInterface": false, - "USBConfiguration": false, - "USBConnectionEvent": false, - "USBDevice": false, - "USBEndpoint": false, - "USBInterface": false, - "USBInTransferResult": false, - "USBIsochronousInTransferPacket": false, - "USBIsochronousInTransferResult": false, - "USBIsochronousOutTransferPacket": false, - "USBIsochronousOutTransferResult": false, - "USBOutTransferResult": false, - "UserActivation": false, - "VideoColorSpace": false, - "VideoDecoder": false, - "VideoEncoder": false, - "VideoFrame": false, - "WebAssembly": false, - "WebGL2RenderingContext": false, - "WebGLActiveInfo": false, - "WebGLBuffer": false, - "WebGLContextEvent": false, - "WebGLFramebuffer": false, - "WebGLObject": false, - "WebGLProgram": false, - "WebGLQuery": false, - "WebGLRenderbuffer": false, - "WebGLRenderingContext": false, - "WebGLSampler": false, - "WebGLShader": false, - "WebGLShaderPrecisionFormat": false, - "WebGLSync": false, - "WebGLTexture": false, - "WebGLTransformFeedback": false, - "WebGLUniformLocation": false, - "WebGLVertexArrayObject": false, - "webkitRequestFileSystem": false, - "webkitRequestFileSystemSync": false, - "webkitResolveLocalFileSystemSyncURL": false, - "webkitResolveLocalFileSystemURL": false, - "WebSocket": false, - "WebSocketError": false, - "WebSocketStream": false, - "WebTransport": false, - "WebTransportBidirectionalStream": false, - "WebTransportDatagramDuplexStream": false, - "WebTransportError": false, - "WGSLLanguageFeatures": false, - "Worker": false, - "WorkerGlobalScope": false, - "WorkerLocation": false, - "WorkerNavigator": false, - "WritableStream": false, - "WritableStreamDefaultController": false, - "WritableStreamDefaultWriter": false, - "XMLHttpRequest": false, - "XMLHttpRequestEventTarget": false, - "XMLHttpRequestUpload": false - }, - "wsh": { - "ActiveXObject": false, - "CollectGarbage": false, - "Debug": false, - "Enumerator": false, - "GetObject": false, - "RuntimeObject": false, - "ScriptEngine": false, - "ScriptEngineBuildVersion": false, - "ScriptEngineMajorVersion": false, - "ScriptEngineMinorVersion": false, - "VBArray": false, - "WScript": false, - "WSH": false - }, - "yui": { - "YAHOO": false, - "YAHOO_config": false, - "YUI": false, - "YUI_config": false - } -} diff --git a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.d.ts b/node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.d.ts deleted file mode 100644 index d545e879..00000000 --- a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.d.ts +++ /dev/null @@ -1,3077 +0,0 @@ -// This file is autogenerated by scripts/generate-types.mjs -// Do NOT modify this file manually - -type GlobalsAmd = { - readonly 'define': false; - readonly 'require': false; -} - -type GlobalsApplescript = { - readonly '$': false; - readonly 'Application': false; - readonly 'Automation': false; - readonly 'console': false; - readonly 'delay': false; - readonly 'Library': false; - readonly 'ObjC': false; - readonly 'ObjectSpecifier': false; - readonly 'Path': false; - readonly 'Progress': false; - readonly 'Ref': false; -} - -type GlobalsAtomtest = { - readonly 'advanceClock': false; - readonly 'atom': false; - readonly 'fakeClearInterval': false; - readonly 'fakeClearTimeout': false; - readonly 'fakeSetInterval': false; - readonly 'fakeSetTimeout': false; - readonly 'resetTimeouts': false; - readonly 'waitsForPromise': false; -} - -type GlobalsBrowser = { - readonly 'AbortController': false; - readonly 'AbortSignal': false; - readonly 'AbsoluteOrientationSensor': false; - readonly 'AbstractRange': false; - readonly 'Accelerometer': false; - readonly 'addEventListener': false; - readonly 'ai': false; - readonly 'AI': false; - readonly 'AITextSession': false; - readonly 'alert': false; - readonly 'AnalyserNode': false; - readonly 'Animation': false; - readonly 'AnimationEffect': false; - readonly 'AnimationEvent': false; - readonly 'AnimationPlaybackEvent': false; - readonly 'AnimationTimeline': false; - readonly 'atob': false; - readonly 'Attr': false; - readonly 'Audio': false; - readonly 'AudioBuffer': false; - readonly 'AudioBufferSourceNode': false; - readonly 'AudioContext': false; - readonly 'AudioData': false; - readonly 'AudioDecoder': false; - readonly 'AudioDestinationNode': false; - readonly 'AudioEncoder': false; - readonly 'AudioListener': false; - readonly 'AudioNode': false; - readonly 'AudioParam': false; - readonly 'AudioParamMap': false; - readonly 'AudioProcessingEvent': false; - readonly 'AudioScheduledSourceNode': false; - readonly 'AudioSinkInfo': false; - readonly 'AudioWorklet': false; - readonly 'AudioWorkletGlobalScope': false; - readonly 'AudioWorkletNode': false; - readonly 'AudioWorkletProcessor': false; - readonly 'AuthenticatorAssertionResponse': false; - readonly 'AuthenticatorAttestationResponse': false; - readonly 'AuthenticatorResponse': false; - readonly 'BackgroundFetchManager': false; - readonly 'BackgroundFetchRecord': false; - readonly 'BackgroundFetchRegistration': false; - readonly 'BarcodeDetector': false; - readonly 'BarProp': false; - readonly 'BaseAudioContext': false; - readonly 'BatteryManager': false; - readonly 'BeforeUnloadEvent': false; - readonly 'BiquadFilterNode': false; - readonly 'Blob': false; - readonly 'BlobEvent': false; - readonly 'Bluetooth': false; - readonly 'BluetoothCharacteristicProperties': false; - readonly 'BluetoothDevice': false; - readonly 'BluetoothRemoteGATTCharacteristic': false; - readonly 'BluetoothRemoteGATTDescriptor': false; - readonly 'BluetoothRemoteGATTServer': false; - readonly 'BluetoothRemoteGATTService': false; - readonly 'BluetoothUUID': false; - readonly 'blur': false; - readonly 'BroadcastChannel': false; - readonly 'BrowserCaptureMediaStreamTrack': false; - readonly 'btoa': false; - readonly 'ByteLengthQueuingStrategy': false; - readonly 'Cache': false; - readonly 'caches': false; - readonly 'CacheStorage': false; - readonly 'cancelAnimationFrame': false; - readonly 'cancelIdleCallback': false; - readonly 'CanvasCaptureMediaStream': false; - readonly 'CanvasCaptureMediaStreamTrack': false; - readonly 'CanvasGradient': false; - readonly 'CanvasPattern': false; - readonly 'CanvasRenderingContext2D': false; - readonly 'CaptureController': false; - readonly 'CaretPosition': false; - readonly 'CDATASection': false; - readonly 'ChannelMergerNode': false; - readonly 'ChannelSplitterNode': false; - readonly 'ChapterInformation': false; - readonly 'CharacterBoundsUpdateEvent': false; - readonly 'CharacterData': false; - readonly 'clearInterval': false; - readonly 'clearTimeout': false; - readonly 'clientInformation': false; - readonly 'Clipboard': false; - readonly 'ClipboardEvent': false; - readonly 'ClipboardItem': false; - readonly 'close': false; - readonly 'closed': false; - readonly 'CloseEvent': false; - readonly 'CloseWatcher': false; - readonly 'Comment': false; - readonly 'CompositionEvent': false; - readonly 'CompressionStream': false; - readonly 'confirm': false; - readonly 'console': false; - readonly 'ConstantSourceNode': false; - readonly 'ContentVisibilityAutoStateChangeEvent': false; - readonly 'ConvolverNode': false; - readonly 'CookieChangeEvent': false; - readonly 'CookieDeprecationLabel': false; - readonly 'cookieStore': false; - readonly 'CookieStore': false; - readonly 'CookieStoreManager': false; - readonly 'CountQueuingStrategy': false; - readonly 'createImageBitmap': false; - readonly 'Credential': false; - readonly 'credentialless': false; - readonly 'CredentialsContainer': false; - readonly 'CropTarget': false; - readonly 'crossOriginIsolated': false; - readonly 'crypto': false; - readonly 'Crypto': false; - readonly 'CryptoKey': false; - readonly 'CSS': false; - readonly 'CSSAnimation': false; - readonly 'CSSConditionRule': false; - readonly 'CSSContainerRule': false; - readonly 'CSSCounterStyleRule': false; - readonly 'CSSFontFaceRule': false; - readonly 'CSSFontFeatureValuesRule': false; - readonly 'CSSFontPaletteValuesRule': false; - readonly 'CSSGroupingRule': false; - readonly 'CSSImageValue': false; - readonly 'CSSImportRule': false; - readonly 'CSSKeyframeRule': false; - readonly 'CSSKeyframesRule': false; - readonly 'CSSKeywordValue': false; - readonly 'CSSLayerBlockRule': false; - readonly 'CSSLayerStatementRule': false; - readonly 'CSSMarginRule': false; - readonly 'CSSMathClamp': false; - readonly 'CSSMathInvert': false; - readonly 'CSSMathMax': false; - readonly 'CSSMathMin': false; - readonly 'CSSMathNegate': false; - readonly 'CSSMathProduct': false; - readonly 'CSSMathSum': false; - readonly 'CSSMathValue': false; - readonly 'CSSMatrixComponent': false; - readonly 'CSSMediaRule': false; - readonly 'CSSNamespaceRule': false; - readonly 'CSSNestedDeclarations': false; - readonly 'CSSNumericArray': false; - readonly 'CSSNumericValue': false; - readonly 'CSSPageDescriptors': false; - readonly 'CSSPageRule': false; - readonly 'CSSPerspective': false; - readonly 'CSSPositionTryDescriptors': false; - readonly 'CSSPositionTryRule': false; - readonly 'CSSPositionValue': false; - readonly 'CSSPropertyRule': false; - readonly 'CSSRotate': false; - readonly 'CSSRule': false; - readonly 'CSSRuleList': false; - readonly 'CSSScale': false; - readonly 'CSSScopeRule': false; - readonly 'CSSSkew': false; - readonly 'CSSSkewX': false; - readonly 'CSSSkewY': false; - readonly 'CSSStartingStyleRule': false; - readonly 'CSSStyleDeclaration': false; - readonly 'CSSStyleRule': false; - readonly 'CSSStyleSheet': false; - readonly 'CSSStyleValue': false; - readonly 'CSSSupportsRule': false; - readonly 'CSSTransformComponent': false; - readonly 'CSSTransformValue': false; - readonly 'CSSTransition': false; - readonly 'CSSTranslate': false; - readonly 'CSSUnitValue': false; - readonly 'CSSUnparsedValue': false; - readonly 'CSSVariableReferenceValue': false; - readonly 'CSSViewTransitionRule': false; - readonly 'currentFrame': false; - readonly 'currentTime': false; - readonly 'CustomElementRegistry': false; - readonly 'customElements': false; - readonly 'CustomEvent': false; - readonly 'CustomStateSet': false; - readonly 'DataTransfer': false; - readonly 'DataTransferItem': false; - readonly 'DataTransferItemList': false; - readonly 'DecompressionStream': false; - readonly 'DelayNode': false; - readonly 'DelegatedInkTrailPresenter': false; - readonly 'DeviceMotionEvent': false; - readonly 'DeviceMotionEventAcceleration': false; - readonly 'DeviceMotionEventRotationRate': false; - readonly 'DeviceOrientationEvent': false; - readonly 'devicePixelRatio': false; - readonly 'dispatchEvent': false; - readonly 'document': false; - readonly 'Document': false; - readonly 'DocumentFragment': false; - readonly 'documentPictureInPicture': false; - readonly 'DocumentPictureInPicture': false; - readonly 'DocumentPictureInPictureEvent': false; - readonly 'DocumentTimeline': false; - readonly 'DocumentType': false; - readonly 'DOMError': false; - readonly 'DOMException': false; - readonly 'DOMImplementation': false; - readonly 'DOMMatrix': false; - readonly 'DOMMatrixReadOnly': false; - readonly 'DOMParser': false; - readonly 'DOMPoint': false; - readonly 'DOMPointReadOnly': false; - readonly 'DOMQuad': false; - readonly 'DOMRect': false; - readonly 'DOMRectList': false; - readonly 'DOMRectReadOnly': false; - readonly 'DOMStringList': false; - readonly 'DOMStringMap': false; - readonly 'DOMTokenList': false; - readonly 'DragEvent': false; - readonly 'DynamicsCompressorNode': false; - readonly 'EditContext': false; - readonly 'Element': false; - readonly 'ElementInternals': false; - readonly 'EncodedAudioChunk': false; - readonly 'EncodedVideoChunk': false; - readonly 'ErrorEvent': false; - readonly 'event': false; - readonly 'Event': false; - readonly 'EventCounts': false; - readonly 'EventSource': false; - readonly 'EventTarget': false; - readonly 'external': false; - readonly 'External': false; - readonly 'EyeDropper': false; - readonly 'FeaturePolicy': false; - readonly 'FederatedCredential': false; - readonly 'fence': false; - readonly 'Fence': false; - readonly 'FencedFrameConfig': false; - readonly 'fetch': false; - readonly 'fetchLater': false; - readonly 'FetchLaterResult': false; - readonly 'File': false; - readonly 'FileList': false; - readonly 'FileReader': false; - readonly 'FileSystem': false; - readonly 'FileSystemDirectoryEntry': false; - readonly 'FileSystemDirectoryHandle': false; - readonly 'FileSystemDirectoryReader': false; - readonly 'FileSystemEntry': false; - readonly 'FileSystemFileEntry': false; - readonly 'FileSystemFileHandle': false; - readonly 'FileSystemHandle': false; - readonly 'FileSystemWritableFileStream': false; - readonly 'find': false; - readonly 'Float16Array': false; - readonly 'focus': false; - readonly 'FocusEvent': false; - readonly 'FontData': false; - readonly 'FontFace': false; - readonly 'FontFaceSet': false; - readonly 'FontFaceSetLoadEvent': false; - readonly 'FormData': false; - readonly 'FormDataEvent': false; - readonly 'FragmentDirective': false; - readonly 'frameElement': false; - readonly 'frames': false; - readonly 'GainNode': false; - readonly 'Gamepad': false; - readonly 'GamepadAxisMoveEvent': false; - readonly 'GamepadButton': false; - readonly 'GamepadButtonEvent': false; - readonly 'GamepadEvent': false; - readonly 'GamepadHapticActuator': false; - readonly 'GamepadPose': false; - readonly 'Geolocation': false; - readonly 'GeolocationCoordinates': false; - readonly 'GeolocationPosition': false; - readonly 'GeolocationPositionError': false; - readonly 'getComputedStyle': false; - readonly 'getScreenDetails': false; - readonly 'getSelection': false; - readonly 'GPU': false; - readonly 'GPUAdapter': false; - readonly 'GPUAdapterInfo': false; - readonly 'GPUBindGroup': false; - readonly 'GPUBindGroupLayout': false; - readonly 'GPUBuffer': false; - readonly 'GPUBufferUsage': false; - readonly 'GPUCanvasContext': false; - readonly 'GPUColorWrite': false; - readonly 'GPUCommandBuffer': false; - readonly 'GPUCommandEncoder': false; - readonly 'GPUCompilationInfo': false; - readonly 'GPUCompilationMessage': false; - readonly 'GPUComputePassEncoder': false; - readonly 'GPUComputePipeline': false; - readonly 'GPUDevice': false; - readonly 'GPUDeviceLostInfo': false; - readonly 'GPUError': false; - readonly 'GPUExternalTexture': false; - readonly 'GPUInternalError': false; - readonly 'GPUMapMode': false; - readonly 'GPUOutOfMemoryError': false; - readonly 'GPUPipelineError': false; - readonly 'GPUPipelineLayout': false; - readonly 'GPUQuerySet': false; - readonly 'GPUQueue': false; - readonly 'GPURenderBundle': false; - readonly 'GPURenderBundleEncoder': false; - readonly 'GPURenderPassEncoder': false; - readonly 'GPURenderPipeline': false; - readonly 'GPUSampler': false; - readonly 'GPUShaderModule': false; - readonly 'GPUShaderStage': false; - readonly 'GPUSupportedFeatures': false; - readonly 'GPUSupportedLimits': false; - readonly 'GPUTexture': false; - readonly 'GPUTextureUsage': false; - readonly 'GPUTextureView': false; - readonly 'GPUUncapturedErrorEvent': false; - readonly 'GPUValidationError': false; - readonly 'GravitySensor': false; - readonly 'Gyroscope': false; - readonly 'HashChangeEvent': false; - readonly 'Headers': false; - readonly 'HID': false; - readonly 'HIDConnectionEvent': false; - readonly 'HIDDevice': false; - readonly 'HIDInputReportEvent': false; - readonly 'Highlight': false; - readonly 'HighlightRegistry': false; - readonly 'history': false; - readonly 'History': false; - readonly 'HTMLAllCollection': false; - readonly 'HTMLAnchorElement': false; - readonly 'HTMLAreaElement': false; - readonly 'HTMLAudioElement': false; - readonly 'HTMLBaseElement': false; - readonly 'HTMLBodyElement': false; - readonly 'HTMLBRElement': false; - readonly 'HTMLButtonElement': false; - readonly 'HTMLCanvasElement': false; - readonly 'HTMLCollection': false; - readonly 'HTMLDataElement': false; - readonly 'HTMLDataListElement': false; - readonly 'HTMLDetailsElement': false; - readonly 'HTMLDialogElement': false; - readonly 'HTMLDirectoryElement': false; - readonly 'HTMLDivElement': false; - readonly 'HTMLDListElement': false; - readonly 'HTMLDocument': false; - readonly 'HTMLElement': false; - readonly 'HTMLEmbedElement': false; - readonly 'HTMLFencedFrameElement': false; - readonly 'HTMLFieldSetElement': false; - readonly 'HTMLFontElement': false; - readonly 'HTMLFormControlsCollection': false; - readonly 'HTMLFormElement': false; - readonly 'HTMLFrameElement': false; - readonly 'HTMLFrameSetElement': false; - readonly 'HTMLHeadElement': false; - readonly 'HTMLHeadingElement': false; - readonly 'HTMLHRElement': false; - readonly 'HTMLHtmlElement': false; - readonly 'HTMLIFrameElement': false; - readonly 'HTMLImageElement': false; - readonly 'HTMLInputElement': false; - readonly 'HTMLLabelElement': false; - readonly 'HTMLLegendElement': false; - readonly 'HTMLLIElement': false; - readonly 'HTMLLinkElement': false; - readonly 'HTMLMapElement': false; - readonly 'HTMLMarqueeElement': false; - readonly 'HTMLMediaElement': false; - readonly 'HTMLMenuElement': false; - readonly 'HTMLMetaElement': false; - readonly 'HTMLMeterElement': false; - readonly 'HTMLModElement': false; - readonly 'HTMLObjectElement': false; - readonly 'HTMLOListElement': false; - readonly 'HTMLOptGroupElement': false; - readonly 'HTMLOptionElement': false; - readonly 'HTMLOptionsCollection': false; - readonly 'HTMLOutputElement': false; - readonly 'HTMLParagraphElement': false; - readonly 'HTMLParamElement': false; - readonly 'HTMLPictureElement': false; - readonly 'HTMLPreElement': false; - readonly 'HTMLProgressElement': false; - readonly 'HTMLQuoteElement': false; - readonly 'HTMLScriptElement': false; - readonly 'HTMLSelectElement': false; - readonly 'HTMLSlotElement': false; - readonly 'HTMLSourceElement': false; - readonly 'HTMLSpanElement': false; - readonly 'HTMLStyleElement': false; - readonly 'HTMLTableCaptionElement': false; - readonly 'HTMLTableCellElement': false; - readonly 'HTMLTableColElement': false; - readonly 'HTMLTableElement': false; - readonly 'HTMLTableRowElement': false; - readonly 'HTMLTableSectionElement': false; - readonly 'HTMLTemplateElement': false; - readonly 'HTMLTextAreaElement': false; - readonly 'HTMLTimeElement': false; - readonly 'HTMLTitleElement': false; - readonly 'HTMLTrackElement': false; - readonly 'HTMLUListElement': false; - readonly 'HTMLUnknownElement': false; - readonly 'HTMLVideoElement': false; - readonly 'IDBCursor': false; - readonly 'IDBCursorWithValue': false; - readonly 'IDBDatabase': false; - readonly 'IDBFactory': false; - readonly 'IDBIndex': false; - readonly 'IDBKeyRange': false; - readonly 'IDBObjectStore': false; - readonly 'IDBOpenDBRequest': false; - readonly 'IDBRequest': false; - readonly 'IDBTransaction': false; - readonly 'IDBVersionChangeEvent': false; - readonly 'IdentityCredential': false; - readonly 'IdentityCredentialError': false; - readonly 'IdentityProvider': false; - readonly 'IdleDeadline': false; - readonly 'IdleDetector': false; - readonly 'IIRFilterNode': false; - readonly 'Image': false; - readonly 'ImageBitmap': false; - readonly 'ImageBitmapRenderingContext': false; - readonly 'ImageCapture': false; - readonly 'ImageData': false; - readonly 'ImageDecoder': false; - readonly 'ImageTrack': false; - readonly 'ImageTrackList': false; - readonly 'indexedDB': false; - readonly 'Ink': false; - readonly 'innerHeight': false; - readonly 'innerWidth': false; - readonly 'InputDeviceCapabilities': false; - readonly 'InputDeviceInfo': false; - readonly 'InputEvent': false; - readonly 'IntersectionObserver': false; - readonly 'IntersectionObserverEntry': false; - readonly 'isSecureContext': false; - readonly 'Keyboard': false; - readonly 'KeyboardEvent': false; - readonly 'KeyboardLayoutMap': false; - readonly 'KeyframeEffect': false; - readonly 'LargestContentfulPaint': false; - readonly 'LaunchParams': false; - readonly 'launchQueue': false; - readonly 'LaunchQueue': false; - readonly 'LayoutShift': false; - readonly 'LayoutShiftAttribution': false; - readonly 'length': false; - readonly 'LinearAccelerationSensor': false; - readonly 'localStorage': false; - readonly 'location': true; - readonly 'Location': false; - readonly 'locationbar': false; - readonly 'Lock': false; - readonly 'LockManager': false; - readonly 'matchMedia': false; - readonly 'MathMLElement': false; - readonly 'MediaCapabilities': false; - readonly 'MediaCapabilitiesInfo': false; - readonly 'MediaDeviceInfo': false; - readonly 'MediaDevices': false; - readonly 'MediaElementAudioSourceNode': false; - readonly 'MediaEncryptedEvent': false; - readonly 'MediaError': false; - readonly 'MediaKeyError': false; - readonly 'MediaKeyMessageEvent': false; - readonly 'MediaKeys': false; - readonly 'MediaKeySession': false; - readonly 'MediaKeyStatusMap': false; - readonly 'MediaKeySystemAccess': false; - readonly 'MediaList': false; - readonly 'MediaMetadata': false; - readonly 'MediaQueryList': false; - readonly 'MediaQueryListEvent': false; - readonly 'MediaRecorder': false; - readonly 'MediaRecorderErrorEvent': false; - readonly 'MediaSession': false; - readonly 'MediaSource': false; - readonly 'MediaSourceHandle': false; - readonly 'MediaStream': false; - readonly 'MediaStreamAudioDestinationNode': false; - readonly 'MediaStreamAudioSourceNode': false; - readonly 'MediaStreamEvent': false; - readonly 'MediaStreamTrack': false; - readonly 'MediaStreamTrackAudioSourceNode': false; - readonly 'MediaStreamTrackAudioStats': false; - readonly 'MediaStreamTrackEvent': false; - readonly 'MediaStreamTrackGenerator': false; - readonly 'MediaStreamTrackProcessor': false; - readonly 'MediaStreamTrackVideoStats': false; - readonly 'menubar': false; - readonly 'MessageChannel': false; - readonly 'MessageEvent': false; - readonly 'MessagePort': false; - readonly 'MIDIAccess': false; - readonly 'MIDIConnectionEvent': false; - readonly 'MIDIInput': false; - readonly 'MIDIInputMap': false; - readonly 'MIDIMessageEvent': false; - readonly 'MIDIOutput': false; - readonly 'MIDIOutputMap': false; - readonly 'MIDIPort': false; - readonly 'MimeType': false; - readonly 'MimeTypeArray': false; - readonly 'model': false; - readonly 'ModelGenericSession': false; - readonly 'ModelManager': false; - readonly 'MouseEvent': false; - readonly 'moveBy': false; - readonly 'moveTo': false; - readonly 'MutationEvent': false; - readonly 'MutationObserver': false; - readonly 'MutationRecord': false; - readonly 'name': false; - readonly 'NamedNodeMap': false; - readonly 'NavigateEvent': false; - readonly 'navigation': false; - readonly 'Navigation': false; - readonly 'NavigationActivation': false; - readonly 'NavigationCurrentEntryChangeEvent': false; - readonly 'NavigationDestination': false; - readonly 'NavigationHistoryEntry': false; - readonly 'NavigationPreloadManager': false; - readonly 'NavigationTransition': false; - readonly 'navigator': false; - readonly 'Navigator': false; - readonly 'NavigatorLogin': false; - readonly 'NavigatorManagedData': false; - readonly 'NavigatorUAData': false; - readonly 'NetworkInformation': false; - readonly 'Node': false; - readonly 'NodeFilter': false; - readonly 'NodeIterator': false; - readonly 'NodeList': false; - readonly 'Notification': false; - readonly 'NotifyPaintEvent': false; - readonly 'NotRestoredReasonDetails': false; - readonly 'NotRestoredReasons': false; - readonly 'OfflineAudioCompletionEvent': false; - readonly 'OfflineAudioContext': false; - readonly 'offscreenBuffering': false; - readonly 'OffscreenCanvas': false; - readonly 'OffscreenCanvasRenderingContext2D': false; - readonly 'onabort': true; - readonly 'onafterprint': true; - readonly 'onanimationcancel': true; - readonly 'onanimationend': true; - readonly 'onanimationiteration': true; - readonly 'onanimationstart': true; - readonly 'onappinstalled': true; - readonly 'onauxclick': true; - readonly 'onbeforeinput': true; - readonly 'onbeforeinstallprompt': true; - readonly 'onbeforematch': true; - readonly 'onbeforeprint': true; - readonly 'onbeforetoggle': true; - readonly 'onbeforeunload': true; - readonly 'onbeforexrselect': true; - readonly 'onblur': true; - readonly 'oncancel': true; - readonly 'oncanplay': true; - readonly 'oncanplaythrough': true; - readonly 'onchange': true; - readonly 'onclick': true; - readonly 'onclose': true; - readonly 'oncontentvisibilityautostatechange': true; - readonly 'oncontextlost': true; - readonly 'oncontextmenu': true; - readonly 'oncontextrestored': true; - readonly 'oncopy': true; - readonly 'oncuechange': true; - readonly 'oncut': true; - readonly 'ondblclick': true; - readonly 'ondevicemotion': true; - readonly 'ondeviceorientation': true; - readonly 'ondeviceorientationabsolute': true; - readonly 'ondrag': true; - readonly 'ondragend': true; - readonly 'ondragenter': true; - readonly 'ondragleave': true; - readonly 'ondragover': true; - readonly 'ondragstart': true; - readonly 'ondrop': true; - readonly 'ondurationchange': true; - readonly 'onemptied': true; - readonly 'onended': true; - readonly 'onerror': true; - readonly 'onfocus': true; - readonly 'onformdata': true; - readonly 'ongamepadconnected': true; - readonly 'ongamepaddisconnected': true; - readonly 'ongotpointercapture': true; - readonly 'onhashchange': true; - readonly 'oninput': true; - readonly 'oninvalid': true; - readonly 'onkeydown': true; - readonly 'onkeypress': true; - readonly 'onkeyup': true; - readonly 'onlanguagechange': true; - readonly 'onload': true; - readonly 'onloadeddata': true; - readonly 'onloadedmetadata': true; - readonly 'onloadstart': true; - readonly 'onlostpointercapture': true; - readonly 'onmessage': true; - readonly 'onmessageerror': true; - readonly 'onmousedown': true; - readonly 'onmouseenter': true; - readonly 'onmouseleave': true; - readonly 'onmousemove': true; - readonly 'onmouseout': true; - readonly 'onmouseover': true; - readonly 'onmouseup': true; - readonly 'onmousewheel': true; - readonly 'onoffline': true; - readonly 'ononline': true; - readonly 'onpagehide': true; - readonly 'onpagereveal': true; - readonly 'onpageshow': true; - readonly 'onpageswap': true; - readonly 'onpaste': true; - readonly 'onpause': true; - readonly 'onplay': true; - readonly 'onplaying': true; - readonly 'onpointercancel': true; - readonly 'onpointerdown': true; - readonly 'onpointerenter': true; - readonly 'onpointerleave': true; - readonly 'onpointermove': true; - readonly 'onpointerout': true; - readonly 'onpointerover': true; - readonly 'onpointerrawupdate': true; - readonly 'onpointerup': true; - readonly 'onpopstate': true; - readonly 'onprogress': true; - readonly 'onratechange': true; - readonly 'onrejectionhandled': true; - readonly 'onreset': true; - readonly 'onresize': true; - readonly 'onscroll': true; - readonly 'onscrollend': true; - readonly 'onscrollsnapchange': true; - readonly 'onscrollsnapchanging': true; - readonly 'onsearch': true; - readonly 'onsecuritypolicyviolation': true; - readonly 'onseeked': true; - readonly 'onseeking': true; - readonly 'onselect': true; - readonly 'onselectionchange': true; - readonly 'onselectstart': true; - readonly 'onslotchange': true; - readonly 'onstalled': true; - readonly 'onstorage': true; - readonly 'onsubmit': true; - readonly 'onsuspend': true; - readonly 'ontimeupdate': true; - readonly 'ontoggle': true; - readonly 'ontransitioncancel': true; - readonly 'ontransitionend': true; - readonly 'ontransitionrun': true; - readonly 'ontransitionstart': true; - readonly 'onunhandledrejection': true; - readonly 'onunload': true; - readonly 'onvolumechange': true; - readonly 'onwaiting': true; - readonly 'onwheel': true; - readonly 'open': false; - readonly 'opener': false; - readonly 'Option': false; - readonly 'OrientationSensor': false; - readonly 'origin': false; - readonly 'originAgentCluster': false; - readonly 'OscillatorNode': false; - readonly 'OTPCredential': false; - readonly 'outerHeight': false; - readonly 'outerWidth': false; - readonly 'OverconstrainedError': false; - readonly 'PageRevealEvent': false; - readonly 'PageSwapEvent': false; - readonly 'PageTransitionEvent': false; - readonly 'pageXOffset': false; - readonly 'pageYOffset': false; - readonly 'PannerNode': false; - readonly 'parent': false; - readonly 'PasswordCredential': false; - readonly 'Path2D': false; - readonly 'PaymentAddress': false; - readonly 'PaymentManager': false; - readonly 'PaymentMethodChangeEvent': false; - readonly 'PaymentRequest': false; - readonly 'PaymentRequestUpdateEvent': false; - readonly 'PaymentResponse': false; - readonly 'performance': false; - readonly 'Performance': false; - readonly 'PerformanceElementTiming': false; - readonly 'PerformanceEntry': false; - readonly 'PerformanceEventTiming': false; - readonly 'PerformanceLongAnimationFrameTiming': false; - readonly 'PerformanceLongTaskTiming': false; - readonly 'PerformanceMark': false; - readonly 'PerformanceMeasure': false; - readonly 'PerformanceNavigation': false; - readonly 'PerformanceNavigationTiming': false; - readonly 'PerformanceObserver': false; - readonly 'PerformanceObserverEntryList': false; - readonly 'PerformancePaintTiming': false; - readonly 'PerformanceResourceTiming': false; - readonly 'PerformanceScriptTiming': false; - readonly 'PerformanceServerTiming': false; - readonly 'PerformanceTiming': false; - readonly 'PeriodicSyncManager': false; - readonly 'PeriodicWave': false; - readonly 'Permissions': false; - readonly 'PermissionStatus': false; - readonly 'PERSISTENT': false; - readonly 'personalbar': false; - readonly 'PictureInPictureEvent': false; - readonly 'PictureInPictureWindow': false; - readonly 'Plugin': false; - readonly 'PluginArray': false; - readonly 'PointerEvent': false; - readonly 'PopStateEvent': false; - readonly 'postMessage': false; - readonly 'Presentation': false; - readonly 'PresentationAvailability': false; - readonly 'PresentationConnection': false; - readonly 'PresentationConnectionAvailableEvent': false; - readonly 'PresentationConnectionCloseEvent': false; - readonly 'PresentationConnectionList': false; - readonly 'PresentationReceiver': false; - readonly 'PresentationRequest': false; - readonly 'PressureObserver': false; - readonly 'PressureRecord': false; - readonly 'print': false; - readonly 'ProcessingInstruction': false; - readonly 'Profiler': false; - readonly 'ProgressEvent': false; - readonly 'PromiseRejectionEvent': false; - readonly 'prompt': false; - readonly 'ProtectedAudience': false; - readonly 'PublicKeyCredential': false; - readonly 'PushManager': false; - readonly 'PushSubscription': false; - readonly 'PushSubscriptionOptions': false; - readonly 'queryLocalFonts': false; - readonly 'queueMicrotask': false; - readonly 'RadioNodeList': false; - readonly 'Range': false; - readonly 'ReadableByteStreamController': false; - readonly 'ReadableStream': false; - readonly 'ReadableStreamBYOBReader': false; - readonly 'ReadableStreamBYOBRequest': false; - readonly 'ReadableStreamDefaultController': false; - readonly 'ReadableStreamDefaultReader': false; - readonly 'registerProcessor': false; - readonly 'RelativeOrientationSensor': false; - readonly 'RemotePlayback': false; - readonly 'removeEventListener': false; - readonly 'reportError': false; - readonly 'ReportingObserver': false; - readonly 'Request': false; - readonly 'requestAnimationFrame': false; - readonly 'requestIdleCallback': false; - readonly 'resizeBy': false; - readonly 'ResizeObserver': false; - readonly 'ResizeObserverEntry': false; - readonly 'ResizeObserverSize': false; - readonly 'resizeTo': false; - readonly 'Response': false; - readonly 'RTCCertificate': false; - readonly 'RTCDataChannel': false; - readonly 'RTCDataChannelEvent': false; - readonly 'RTCDtlsTransport': false; - readonly 'RTCDTMFSender': false; - readonly 'RTCDTMFToneChangeEvent': false; - readonly 'RTCEncodedAudioFrame': false; - readonly 'RTCEncodedVideoFrame': false; - readonly 'RTCError': false; - readonly 'RTCErrorEvent': false; - readonly 'RTCIceCandidate': false; - readonly 'RTCIceTransport': false; - readonly 'RTCPeerConnection': false; - readonly 'RTCPeerConnectionIceErrorEvent': false; - readonly 'RTCPeerConnectionIceEvent': false; - readonly 'RTCRtpReceiver': false; - readonly 'RTCRtpScriptTransform': false; - readonly 'RTCRtpSender': false; - readonly 'RTCRtpTransceiver': false; - readonly 'RTCSctpTransport': false; - readonly 'RTCSessionDescription': false; - readonly 'RTCStatsReport': false; - readonly 'RTCTrackEvent': false; - readonly 'sampleRate': false; - readonly 'scheduler': false; - readonly 'Scheduler': false; - readonly 'Scheduling': false; - readonly 'screen': false; - readonly 'Screen': false; - readonly 'ScreenDetailed': false; - readonly 'ScreenDetails': false; - readonly 'screenLeft': false; - readonly 'ScreenOrientation': false; - readonly 'screenTop': false; - readonly 'screenX': false; - readonly 'screenY': false; - readonly 'ScriptProcessorNode': false; - readonly 'scroll': false; - readonly 'scrollbars': false; - readonly 'scrollBy': false; - readonly 'ScrollTimeline': false; - readonly 'scrollTo': false; - readonly 'scrollX': false; - readonly 'scrollY': false; - readonly 'SecurityPolicyViolationEvent': false; - readonly 'Selection': false; - readonly 'self': false; - readonly 'Sensor': false; - readonly 'SensorErrorEvent': false; - readonly 'Serial': false; - readonly 'SerialPort': false; - readonly 'ServiceWorker': false; - readonly 'ServiceWorkerContainer': false; - readonly 'ServiceWorkerRegistration': false; - readonly 'sessionStorage': false; - readonly 'setInterval': false; - readonly 'setTimeout': false; - readonly 'ShadowRoot': false; - readonly 'sharedStorage': false; - readonly 'SharedStorage': false; - readonly 'SharedStorageWorklet': false; - readonly 'SharedWorker': false; - readonly 'showDirectoryPicker': false; - readonly 'showOpenFilePicker': false; - readonly 'showSaveFilePicker': false; - readonly 'SnapEvent': false; - readonly 'SourceBuffer': false; - readonly 'SourceBufferList': false; - readonly 'speechSynthesis': false; - readonly 'SpeechSynthesis': false; - readonly 'SpeechSynthesisErrorEvent': false; - readonly 'SpeechSynthesisEvent': false; - readonly 'SpeechSynthesisUtterance': false; - readonly 'SpeechSynthesisVoice': false; - readonly 'StaticRange': false; - readonly 'status': false; - readonly 'statusbar': false; - readonly 'StereoPannerNode': false; - readonly 'stop': false; - readonly 'Storage': false; - readonly 'StorageBucket': false; - readonly 'StorageBucketManager': false; - readonly 'StorageEvent': false; - readonly 'StorageManager': false; - readonly 'structuredClone': false; - readonly 'styleMedia': false; - readonly 'StylePropertyMap': false; - readonly 'StylePropertyMapReadOnly': false; - readonly 'StyleSheet': false; - readonly 'StyleSheetList': false; - readonly 'SubmitEvent': false; - readonly 'SubtleCrypto': false; - readonly 'SVGAElement': false; - readonly 'SVGAngle': false; - readonly 'SVGAnimatedAngle': false; - readonly 'SVGAnimatedBoolean': false; - readonly 'SVGAnimatedEnumeration': false; - readonly 'SVGAnimatedInteger': false; - readonly 'SVGAnimatedLength': false; - readonly 'SVGAnimatedLengthList': false; - readonly 'SVGAnimatedNumber': false; - readonly 'SVGAnimatedNumberList': false; - readonly 'SVGAnimatedPreserveAspectRatio': false; - readonly 'SVGAnimatedRect': false; - readonly 'SVGAnimatedString': false; - readonly 'SVGAnimatedTransformList': false; - readonly 'SVGAnimateElement': false; - readonly 'SVGAnimateMotionElement': false; - readonly 'SVGAnimateTransformElement': false; - readonly 'SVGAnimationElement': false; - readonly 'SVGCircleElement': false; - readonly 'SVGClipPathElement': false; - readonly 'SVGComponentTransferFunctionElement': false; - readonly 'SVGDefsElement': false; - readonly 'SVGDescElement': false; - readonly 'SVGElement': false; - readonly 'SVGEllipseElement': false; - readonly 'SVGFEBlendElement': false; - readonly 'SVGFEColorMatrixElement': false; - readonly 'SVGFEComponentTransferElement': false; - readonly 'SVGFECompositeElement': false; - readonly 'SVGFEConvolveMatrixElement': false; - readonly 'SVGFEDiffuseLightingElement': false; - readonly 'SVGFEDisplacementMapElement': false; - readonly 'SVGFEDistantLightElement': false; - readonly 'SVGFEDropShadowElement': false; - readonly 'SVGFEFloodElement': false; - readonly 'SVGFEFuncAElement': false; - readonly 'SVGFEFuncBElement': false; - readonly 'SVGFEFuncGElement': false; - readonly 'SVGFEFuncRElement': false; - readonly 'SVGFEGaussianBlurElement': false; - readonly 'SVGFEImageElement': false; - readonly 'SVGFEMergeElement': false; - readonly 'SVGFEMergeNodeElement': false; - readonly 'SVGFEMorphologyElement': false; - readonly 'SVGFEOffsetElement': false; - readonly 'SVGFEPointLightElement': false; - readonly 'SVGFESpecularLightingElement': false; - readonly 'SVGFESpotLightElement': false; - readonly 'SVGFETileElement': false; - readonly 'SVGFETurbulenceElement': false; - readonly 'SVGFilterElement': false; - readonly 'SVGForeignObjectElement': false; - readonly 'SVGGElement': false; - readonly 'SVGGeometryElement': false; - readonly 'SVGGradientElement': false; - readonly 'SVGGraphicsElement': false; - readonly 'SVGImageElement': false; - readonly 'SVGLength': false; - readonly 'SVGLengthList': false; - readonly 'SVGLinearGradientElement': false; - readonly 'SVGLineElement': false; - readonly 'SVGMarkerElement': false; - readonly 'SVGMaskElement': false; - readonly 'SVGMatrix': false; - readonly 'SVGMetadataElement': false; - readonly 'SVGMPathElement': false; - readonly 'SVGNumber': false; - readonly 'SVGNumberList': false; - readonly 'SVGPathElement': false; - readonly 'SVGPatternElement': false; - readonly 'SVGPoint': false; - readonly 'SVGPointList': false; - readonly 'SVGPolygonElement': false; - readonly 'SVGPolylineElement': false; - readonly 'SVGPreserveAspectRatio': false; - readonly 'SVGRadialGradientElement': false; - readonly 'SVGRect': false; - readonly 'SVGRectElement': false; - readonly 'SVGScriptElement': false; - readonly 'SVGSetElement': false; - readonly 'SVGStopElement': false; - readonly 'SVGStringList': false; - readonly 'SVGStyleElement': false; - readonly 'SVGSVGElement': false; - readonly 'SVGSwitchElement': false; - readonly 'SVGSymbolElement': false; - readonly 'SVGTextContentElement': false; - readonly 'SVGTextElement': false; - readonly 'SVGTextPathElement': false; - readonly 'SVGTextPositioningElement': false; - readonly 'SVGTitleElement': false; - readonly 'SVGTransform': false; - readonly 'SVGTransformList': false; - readonly 'SVGTSpanElement': false; - readonly 'SVGUnitTypes': false; - readonly 'SVGUseElement': false; - readonly 'SVGViewElement': false; - readonly 'SyncManager': false; - readonly 'TaskAttributionTiming': false; - readonly 'TaskController': false; - readonly 'TaskPriorityChangeEvent': false; - readonly 'TaskSignal': false; - readonly 'TEMPORARY': false; - readonly 'Text': false; - readonly 'TextDecoder': false; - readonly 'TextDecoderStream': false; - readonly 'TextEncoder': false; - readonly 'TextEncoderStream': false; - readonly 'TextEvent': false; - readonly 'TextFormat': false; - readonly 'TextFormatUpdateEvent': false; - readonly 'TextMetrics': false; - readonly 'TextTrack': false; - readonly 'TextTrackCue': false; - readonly 'TextTrackCueList': false; - readonly 'TextTrackList': false; - readonly 'TextUpdateEvent': false; - readonly 'TimeEvent': false; - readonly 'TimeRanges': false; - readonly 'ToggleEvent': false; - readonly 'toolbar': false; - readonly 'top': false; - readonly 'Touch': false; - readonly 'TouchEvent': false; - readonly 'TouchList': false; - readonly 'TrackEvent': false; - readonly 'TransformStream': false; - readonly 'TransformStreamDefaultController': false; - readonly 'TransitionEvent': false; - readonly 'TreeWalker': false; - readonly 'TrustedHTML': false; - readonly 'TrustedScript': false; - readonly 'TrustedScriptURL': false; - readonly 'TrustedTypePolicy': false; - readonly 'TrustedTypePolicyFactory': false; - readonly 'trustedTypes': false; - readonly 'UIEvent': false; - readonly 'URL': false; - readonly 'URLPattern': false; - readonly 'URLSearchParams': false; - readonly 'USB': false; - readonly 'USBAlternateInterface': false; - readonly 'USBConfiguration': false; - readonly 'USBConnectionEvent': false; - readonly 'USBDevice': false; - readonly 'USBEndpoint': false; - readonly 'USBInterface': false; - readonly 'USBInTransferResult': false; - readonly 'USBIsochronousInTransferPacket': false; - readonly 'USBIsochronousInTransferResult': false; - readonly 'USBIsochronousOutTransferPacket': false; - readonly 'USBIsochronousOutTransferResult': false; - readonly 'USBOutTransferResult': false; - readonly 'UserActivation': false; - readonly 'ValidityState': false; - readonly 'VideoColorSpace': false; - readonly 'VideoDecoder': false; - readonly 'VideoEncoder': false; - readonly 'VideoFrame': false; - readonly 'VideoPlaybackQuality': false; - readonly 'ViewTimeline': false; - readonly 'ViewTransition': false; - readonly 'ViewTransitionTypeSet': false; - readonly 'VirtualKeyboard': false; - readonly 'VirtualKeyboardGeometryChangeEvent': false; - readonly 'VisibilityStateEntry': false; - readonly 'visualViewport': false; - readonly 'VisualViewport': false; - readonly 'VTTCue': false; - readonly 'VTTRegion': false; - readonly 'WakeLock': false; - readonly 'WakeLockSentinel': false; - readonly 'WaveShaperNode': false; - readonly 'WebAssembly': false; - readonly 'WebGL2RenderingContext': false; - readonly 'WebGLActiveInfo': false; - readonly 'WebGLBuffer': false; - readonly 'WebGLContextEvent': false; - readonly 'WebGLFramebuffer': false; - readonly 'WebGLObject': false; - readonly 'WebGLProgram': false; - readonly 'WebGLQuery': false; - readonly 'WebGLRenderbuffer': false; - readonly 'WebGLRenderingContext': false; - readonly 'WebGLSampler': false; - readonly 'WebGLShader': false; - readonly 'WebGLShaderPrecisionFormat': false; - readonly 'WebGLSync': false; - readonly 'WebGLTexture': false; - readonly 'WebGLTransformFeedback': false; - readonly 'WebGLUniformLocation': false; - readonly 'WebGLVertexArrayObject': false; - readonly 'WebSocket': false; - readonly 'WebSocketError': false; - readonly 'WebSocketStream': false; - readonly 'WebTransport': false; - readonly 'WebTransportBidirectionalStream': false; - readonly 'WebTransportDatagramDuplexStream': false; - readonly 'WebTransportError': false; - readonly 'WebTransportReceiveStream': false; - readonly 'WebTransportSendStream': false; - readonly 'WGSLLanguageFeatures': false; - readonly 'WheelEvent': false; - readonly 'window': false; - readonly 'Window': false; - readonly 'WindowControlsOverlay': false; - readonly 'WindowControlsOverlayGeometryChangeEvent': false; - readonly 'Worker': false; - readonly 'Worklet': false; - readonly 'WorkletGlobalScope': false; - readonly 'WritableStream': false; - readonly 'WritableStreamDefaultController': false; - readonly 'WritableStreamDefaultWriter': false; - readonly 'XMLDocument': false; - readonly 'XMLHttpRequest': false; - readonly 'XMLHttpRequestEventTarget': false; - readonly 'XMLHttpRequestUpload': false; - readonly 'XMLSerializer': false; - readonly 'XPathEvaluator': false; - readonly 'XPathExpression': false; - readonly 'XPathResult': false; - readonly 'XRAnchor': false; - readonly 'XRAnchorSet': false; - readonly 'XRBoundedReferenceSpace': false; - readonly 'XRCamera': false; - readonly 'XRCPUDepthInformation': false; - readonly 'XRDepthInformation': false; - readonly 'XRDOMOverlayState': false; - readonly 'XRFrame': false; - readonly 'XRHand': false; - readonly 'XRHitTestResult': false; - readonly 'XRHitTestSource': false; - readonly 'XRInputSource': false; - readonly 'XRInputSourceArray': false; - readonly 'XRInputSourceEvent': false; - readonly 'XRInputSourcesChangeEvent': false; - readonly 'XRJointPose': false; - readonly 'XRJointSpace': false; - readonly 'XRLayer': false; - readonly 'XRLightEstimate': false; - readonly 'XRLightProbe': false; - readonly 'XRPose': false; - readonly 'XRRay': false; - readonly 'XRReferenceSpace': false; - readonly 'XRReferenceSpaceEvent': false; - readonly 'XRRenderState': false; - readonly 'XRRigidTransform': false; - readonly 'XRSession': false; - readonly 'XRSessionEvent': false; - readonly 'XRSpace': false; - readonly 'XRSystem': false; - readonly 'XRTransientInputHitTestResult': false; - readonly 'XRTransientInputHitTestSource': false; - readonly 'XRView': false; - readonly 'XRViewerPose': false; - readonly 'XRViewport': false; - readonly 'XRWebGLBinding': false; - readonly 'XRWebGLDepthInformation': false; - readonly 'XRWebGLLayer': false; - readonly 'XSLTProcessor': false; -} - -type GlobalsBuiltin = { - readonly 'AggregateError': false; - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'BigInt': false; - readonly 'BigInt64Array': false; - readonly 'BigUint64Array': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'FinalizationRegistry': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'globalThis': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'Iterator': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakRef': false; - readonly 'WeakSet': false; -} - -type GlobalsChai = { - readonly 'assert': true; - readonly 'expect': true; - readonly 'should': true; -} - -type GlobalsCommonjs = { - readonly 'exports': true; - readonly 'global': false; - readonly 'module': false; - readonly 'require': false; -} - -type GlobalsCouch = { - readonly 'emit': false; - readonly 'exports': false; - readonly 'getRow': false; - readonly 'log': false; - readonly 'module': false; - readonly 'provides': false; - readonly 'require': false; - readonly 'respond': false; - readonly 'send': false; - readonly 'start': false; - readonly 'sum': false; -} - -type GlobalsDevtools = { - readonly '$': false; - readonly '$_': false; - readonly '$$': false; - readonly '$0': false; - readonly '$1': false; - readonly '$2': false; - readonly '$3': false; - readonly '$4': false; - readonly '$x': false; - readonly 'chrome': false; - readonly 'clear': false; - readonly 'copy': false; - readonly 'debug': false; - readonly 'dir': false; - readonly 'dirxml': false; - readonly 'getEventListeners': false; - readonly 'inspect': false; - readonly 'keys': false; - readonly 'monitor': false; - readonly 'monitorEvents': false; - readonly 'profile': false; - readonly 'profileEnd': false; - readonly 'queryObjects': false; - readonly 'table': false; - readonly 'undebug': false; - readonly 'unmonitor': false; - readonly 'unmonitorEvents': false; - readonly 'values': false; -} - -type GlobalsEmbertest = { - readonly 'andThen': false; - readonly 'click': false; - readonly 'currentPath': false; - readonly 'currentRouteName': false; - readonly 'currentURL': false; - readonly 'fillIn': false; - readonly 'find': false; - readonly 'findAll': false; - readonly 'findWithAssert': false; - readonly 'keyEvent': false; - readonly 'pauseTest': false; - readonly 'resumeTest': false; - readonly 'triggerEvent': false; - readonly 'visit': false; - readonly 'wait': false; -} - -type GlobalsEs2015 = { - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2016 = { - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2017 = { - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2018 = { - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2019 = { - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2020 = { - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'BigInt': false; - readonly 'BigInt64Array': false; - readonly 'BigUint64Array': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'globalThis': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2021 = { - readonly 'AggregateError': false; - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'BigInt': false; - readonly 'BigInt64Array': false; - readonly 'BigUint64Array': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'FinalizationRegistry': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'globalThis': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakRef': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2022 = { - readonly 'AggregateError': false; - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'BigInt': false; - readonly 'BigInt64Array': false; - readonly 'BigUint64Array': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'FinalizationRegistry': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'globalThis': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakRef': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2023 = { - readonly 'AggregateError': false; - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'BigInt': false; - readonly 'BigInt64Array': false; - readonly 'BigUint64Array': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'FinalizationRegistry': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'globalThis': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakRef': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2024 = { - readonly 'AggregateError': false; - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'BigInt': false; - readonly 'BigInt64Array': false; - readonly 'BigUint64Array': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'FinalizationRegistry': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'globalThis': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakRef': false; - readonly 'WeakSet': false; -} - -type GlobalsEs2025 = { - readonly 'AggregateError': false; - readonly 'Array': false; - readonly 'ArrayBuffer': false; - readonly 'Atomics': false; - readonly 'BigInt': false; - readonly 'BigInt64Array': false; - readonly 'BigUint64Array': false; - readonly 'Boolean': false; - readonly 'DataView': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'FinalizationRegistry': false; - readonly 'Float32Array': false; - readonly 'Float64Array': false; - readonly 'Function': false; - readonly 'globalThis': false; - readonly 'Infinity': false; - readonly 'Int16Array': false; - readonly 'Int32Array': false; - readonly 'Int8Array': false; - readonly 'Intl': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'Iterator': false; - readonly 'JSON': false; - readonly 'Map': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'Promise': false; - readonly 'Proxy': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'Reflect': false; - readonly 'RegExp': false; - readonly 'Set': false; - readonly 'SharedArrayBuffer': false; - readonly 'String': false; - readonly 'Symbol': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'Uint16Array': false; - readonly 'Uint32Array': false; - readonly 'Uint8Array': false; - readonly 'Uint8ClampedArray': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; - readonly 'WeakMap': false; - readonly 'WeakRef': false; - readonly 'WeakSet': false; -} - -type GlobalsEs3 = { - readonly 'Array': false; - readonly 'Boolean': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Function': false; - readonly 'Infinity': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'RegExp': false; - readonly 'String': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; -} - -type GlobalsEs5 = { - readonly 'Array': false; - readonly 'Boolean': false; - readonly 'Date': false; - readonly 'decodeURI': false; - readonly 'decodeURIComponent': false; - readonly 'encodeURI': false; - readonly 'encodeURIComponent': false; - readonly 'Error': false; - readonly 'escape': false; - readonly 'eval': false; - readonly 'EvalError': false; - readonly 'Function': false; - readonly 'Infinity': false; - readonly 'isFinite': false; - readonly 'isNaN': false; - readonly 'JSON': false; - readonly 'Math': false; - readonly 'NaN': false; - readonly 'Number': false; - readonly 'Object': false; - readonly 'parseFloat': false; - readonly 'parseInt': false; - readonly 'RangeError': false; - readonly 'ReferenceError': false; - readonly 'RegExp': false; - readonly 'String': false; - readonly 'SyntaxError': false; - readonly 'TypeError': false; - readonly 'undefined': false; - readonly 'unescape': false; - readonly 'URIError': false; -} - -type GlobalsGreasemonkey = { - readonly 'cloneInto': false; - readonly 'createObjectIn': false; - readonly 'exportFunction': false; - readonly 'GM': false; - readonly 'GM_addElement': false; - readonly 'GM_addStyle': false; - readonly 'GM_addValueChangeListener': false; - readonly 'GM_deleteValue': false; - readonly 'GM_download': false; - readonly 'GM_getResourceText': false; - readonly 'GM_getResourceURL': false; - readonly 'GM_getTab': false; - readonly 'GM_getTabs': false; - readonly 'GM_getValue': false; - readonly 'GM_info': false; - readonly 'GM_listValues': false; - readonly 'GM_log': false; - readonly 'GM_notification': false; - readonly 'GM_openInTab': false; - readonly 'GM_registerMenuCommand': false; - readonly 'GM_removeValueChangeListener': false; - readonly 'GM_saveTab': false; - readonly 'GM_setClipboard': false; - readonly 'GM_setValue': false; - readonly 'GM_unregisterMenuCommand': false; - readonly 'GM_xmlhttpRequest': false; - readonly 'unsafeWindow': false; -} - -type GlobalsJasmine = { - readonly 'afterAll': false; - readonly 'afterEach': false; - readonly 'beforeAll': false; - readonly 'beforeEach': false; - readonly 'describe': false; - readonly 'expect': false; - readonly 'expectAsync': false; - readonly 'fail': false; - readonly 'fdescribe': false; - readonly 'fit': false; - readonly 'it': false; - readonly 'jasmine': false; - readonly 'pending': false; - readonly 'runs': false; - readonly 'spyOn': false; - readonly 'spyOnAllFunctions': false; - readonly 'spyOnProperty': false; - readonly 'waits': false; - readonly 'waitsFor': false; - readonly 'xdescribe': false; - readonly 'xit': false; -} - -type GlobalsJest = { - readonly 'afterAll': false; - readonly 'afterEach': false; - readonly 'beforeAll': false; - readonly 'beforeEach': false; - readonly 'describe': false; - readonly 'expect': false; - readonly 'fit': false; - readonly 'it': false; - readonly 'jest': false; - readonly 'test': false; - readonly 'xdescribe': false; - readonly 'xit': false; - readonly 'xtest': false; -} - -type GlobalsJquery = { - readonly '$': false; - readonly 'jQuery': false; -} - -type GlobalsMeteor = { - readonly '$': false; - readonly 'Accounts': false; - readonly 'AccountsClient': false; - readonly 'AccountsCommon': false; - readonly 'AccountsServer': false; - readonly 'App': false; - readonly 'Assets': false; - readonly 'Blaze': false; - readonly 'check': false; - readonly 'Cordova': false; - readonly 'DDP': false; - readonly 'DDPRateLimiter': false; - readonly 'DDPServer': false; - readonly 'Deps': false; - readonly 'EJSON': false; - readonly 'Email': false; - readonly 'HTTP': false; - readonly 'Log': false; - readonly 'Match': false; - readonly 'Meteor': false; - readonly 'Mongo': false; - readonly 'MongoInternals': false; - readonly 'Npm': false; - readonly 'Package': false; - readonly 'Plugin': false; - readonly 'process': false; - readonly 'Random': false; - readonly 'ReactiveDict': false; - readonly 'ReactiveVar': false; - readonly 'Router': false; - readonly 'ServiceConfiguration': false; - readonly 'Session': false; - readonly 'share': false; - readonly 'Spacebars': false; - readonly 'Template': false; - readonly 'Tinytest': false; - readonly 'Tracker': false; - readonly 'UI': false; - readonly 'Utils': false; - readonly 'WebApp': false; - readonly 'WebAppInternals': false; -} - -type GlobalsMocha = { - readonly 'after': false; - readonly 'afterEach': false; - readonly 'before': false; - readonly 'beforeEach': false; - readonly 'context': false; - readonly 'describe': false; - readonly 'it': false; - readonly 'mocha': false; - readonly 'run': false; - readonly 'setup': false; - readonly 'specify': false; - readonly 'suite': false; - readonly 'suiteSetup': false; - readonly 'suiteTeardown': false; - readonly 'teardown': false; - readonly 'test': false; - readonly 'xcontext': false; - readonly 'xdescribe': false; - readonly 'xit': false; - readonly 'xspecify': false; -} - -type GlobalsMongo = { - readonly '_isWindows': false; - readonly '_rand': false; - readonly 'BulkWriteResult': false; - readonly 'cat': false; - readonly 'cd': false; - readonly 'connect': false; - readonly 'db': false; - readonly 'getHostName': false; - readonly 'getMemInfo': false; - readonly 'hostname': false; - readonly 'ISODate': false; - readonly 'listFiles': false; - readonly 'load': false; - readonly 'ls': false; - readonly 'md5sumFile': false; - readonly 'mkdir': false; - readonly 'Mongo': false; - readonly 'NumberInt': false; - readonly 'NumberLong': false; - readonly 'ObjectId': false; - readonly 'PlanCache': false; - readonly 'print': false; - readonly 'printjson': false; - readonly 'pwd': false; - readonly 'quit': false; - readonly 'removeFile': false; - readonly 'rs': false; - readonly 'sh': false; - readonly 'UUID': false; - readonly 'version': false; - readonly 'WriteResult': false; -} - -type GlobalsNashorn = { - readonly '__DIR__': false; - readonly '__FILE__': false; - readonly '__LINE__': false; - readonly 'com': false; - readonly 'edu': false; - readonly 'exit': false; - readonly 'java': false; - readonly 'Java': false; - readonly 'javafx': false; - readonly 'JavaImporter': false; - readonly 'javax': false; - readonly 'JSAdapter': false; - readonly 'load': false; - readonly 'loadWithNewGlobal': false; - readonly 'org': false; - readonly 'Packages': false; - readonly 'print': false; - readonly 'quit': false; -} - -type GlobalsNode = { - readonly '__dirname': false; - readonly '__filename': false; - readonly 'AbortController': false; - readonly 'AbortSignal': false; - readonly 'atob': false; - readonly 'Blob': false; - readonly 'BroadcastChannel': false; - readonly 'btoa': false; - readonly 'Buffer': false; - readonly 'ByteLengthQueuingStrategy': false; - readonly 'clearImmediate': false; - readonly 'clearInterval': false; - readonly 'clearTimeout': false; - readonly 'CloseEvent': false; - readonly 'CompressionStream': false; - readonly 'console': false; - readonly 'CountQueuingStrategy': false; - readonly 'crypto': false; - readonly 'Crypto': false; - readonly 'CryptoKey': false; - readonly 'CustomEvent': false; - readonly 'DecompressionStream': false; - readonly 'DOMException': false; - readonly 'Event': false; - readonly 'EventTarget': false; - readonly 'exports': true; - readonly 'fetch': false; - readonly 'File': false; - readonly 'FormData': false; - readonly 'global': false; - readonly 'Headers': false; - readonly 'MessageChannel': false; - readonly 'MessageEvent': false; - readonly 'MessagePort': false; - readonly 'module': false; - readonly 'navigator': false; - readonly 'Navigator': false; - readonly 'performance': false; - readonly 'Performance': false; - readonly 'PerformanceEntry': false; - readonly 'PerformanceMark': false; - readonly 'PerformanceMeasure': false; - readonly 'PerformanceObserver': false; - readonly 'PerformanceObserverEntryList': false; - readonly 'PerformanceResourceTiming': false; - readonly 'process': false; - readonly 'queueMicrotask': false; - readonly 'ReadableByteStreamController': false; - readonly 'ReadableStream': false; - readonly 'ReadableStreamBYOBReader': false; - readonly 'ReadableStreamBYOBRequest': false; - readonly 'ReadableStreamDefaultController': false; - readonly 'ReadableStreamDefaultReader': false; - readonly 'Request': false; - readonly 'require': false; - readonly 'Response': false; - readonly 'setImmediate': false; - readonly 'setInterval': false; - readonly 'setTimeout': false; - readonly 'structuredClone': false; - readonly 'SubtleCrypto': false; - readonly 'TextDecoder': false; - readonly 'TextDecoderStream': false; - readonly 'TextEncoder': false; - readonly 'TextEncoderStream': false; - readonly 'TransformStream': false; - readonly 'TransformStreamDefaultController': false; - readonly 'URL': false; - readonly 'URLSearchParams': false; - readonly 'WebAssembly': false; - readonly 'WebSocket': false; - readonly 'WritableStream': false; - readonly 'WritableStreamDefaultController': false; - readonly 'WritableStreamDefaultWriter': false; -} - -type GlobalsNodeBuiltin = { - readonly 'AbortController': false; - readonly 'AbortSignal': false; - readonly 'atob': false; - readonly 'Blob': false; - readonly 'BroadcastChannel': false; - readonly 'btoa': false; - readonly 'Buffer': false; - readonly 'ByteLengthQueuingStrategy': false; - readonly 'clearImmediate': false; - readonly 'clearInterval': false; - readonly 'clearTimeout': false; - readonly 'CloseEvent': false; - readonly 'CompressionStream': false; - readonly 'console': false; - readonly 'CountQueuingStrategy': false; - readonly 'crypto': false; - readonly 'Crypto': false; - readonly 'CryptoKey': false; - readonly 'CustomEvent': false; - readonly 'DecompressionStream': false; - readonly 'DOMException': false; - readonly 'Event': false; - readonly 'EventTarget': false; - readonly 'fetch': false; - readonly 'File': false; - readonly 'FormData': false; - readonly 'global': false; - readonly 'Headers': false; - readonly 'MessageChannel': false; - readonly 'MessageEvent': false; - readonly 'MessagePort': false; - readonly 'navigator': false; - readonly 'Navigator': false; - readonly 'performance': false; - readonly 'Performance': false; - readonly 'PerformanceEntry': false; - readonly 'PerformanceMark': false; - readonly 'PerformanceMeasure': false; - readonly 'PerformanceObserver': false; - readonly 'PerformanceObserverEntryList': false; - readonly 'PerformanceResourceTiming': false; - readonly 'process': false; - readonly 'queueMicrotask': false; - readonly 'ReadableByteStreamController': false; - readonly 'ReadableStream': false; - readonly 'ReadableStreamBYOBReader': false; - readonly 'ReadableStreamBYOBRequest': false; - readonly 'ReadableStreamDefaultController': false; - readonly 'ReadableStreamDefaultReader': false; - readonly 'Request': false; - readonly 'Response': false; - readonly 'setImmediate': false; - readonly 'setInterval': false; - readonly 'setTimeout': false; - readonly 'structuredClone': false; - readonly 'SubtleCrypto': false; - readonly 'TextDecoder': false; - readonly 'TextDecoderStream': false; - readonly 'TextEncoder': false; - readonly 'TextEncoderStream': false; - readonly 'TransformStream': false; - readonly 'TransformStreamDefaultController': false; - readonly 'URL': false; - readonly 'URLSearchParams': false; - readonly 'WebAssembly': false; - readonly 'WebSocket': false; - readonly 'WritableStream': false; - readonly 'WritableStreamDefaultController': false; - readonly 'WritableStreamDefaultWriter': false; -} - -type GlobalsPhantomjs = { - readonly 'console': true; - readonly 'exports': true; - readonly 'phantom': true; - readonly 'require': true; - readonly 'WebPage': true; -} - -type GlobalsPrototypejs = { - readonly '$': false; - readonly '$$': false; - readonly '$A': false; - readonly '$break': false; - readonly '$continue': false; - readonly '$F': false; - readonly '$H': false; - readonly '$R': false; - readonly '$w': false; - readonly 'Abstract': false; - readonly 'Ajax': false; - readonly 'Autocompleter': false; - readonly 'Builder': false; - readonly 'Class': false; - readonly 'Control': false; - readonly 'Draggable': false; - readonly 'Draggables': false; - readonly 'Droppables': false; - readonly 'Effect': false; - readonly 'Element': false; - readonly 'Enumerable': false; - readonly 'Event': false; - readonly 'Field': false; - readonly 'Form': false; - readonly 'Hash': false; - readonly 'Insertion': false; - readonly 'ObjectRange': false; - readonly 'PeriodicalExecuter': false; - readonly 'Position': false; - readonly 'Prototype': false; - readonly 'Scriptaculous': false; - readonly 'Selector': false; - readonly 'Sortable': false; - readonly 'SortableObserver': false; - readonly 'Sound': false; - readonly 'Template': false; - readonly 'Toggle': false; - readonly 'Try': false; -} - -type GlobalsProtractor = { - readonly '$': false; - readonly '$$': false; - readonly 'browser': false; - readonly 'by': false; - readonly 'By': false; - readonly 'DartObject': false; - readonly 'element': false; - readonly 'protractor': false; -} - -type GlobalsQunit = { - readonly 'asyncTest': false; - readonly 'deepEqual': false; - readonly 'equal': false; - readonly 'expect': false; - readonly 'module': false; - readonly 'notDeepEqual': false; - readonly 'notEqual': false; - readonly 'notOk': false; - readonly 'notPropEqual': false; - readonly 'notStrictEqual': false; - readonly 'ok': false; - readonly 'propEqual': false; - readonly 'QUnit': false; - readonly 'raises': false; - readonly 'start': false; - readonly 'stop': false; - readonly 'strictEqual': false; - readonly 'test': false; - readonly 'throws': false; -} - -type GlobalsRhino = { - readonly 'defineClass': false; - readonly 'deserialize': false; - readonly 'gc': false; - readonly 'help': false; - readonly 'importClass': false; - readonly 'importPackage': false; - readonly 'java': false; - readonly 'load': false; - readonly 'loadClass': false; - readonly 'Packages': false; - readonly 'print': false; - readonly 'quit': false; - readonly 'readFile': false; - readonly 'readUrl': false; - readonly 'runCommand': false; - readonly 'seal': false; - readonly 'serialize': false; - readonly 'spawn': false; - readonly 'sync': false; - readonly 'toint32': false; - readonly 'version': false; -} - -type GlobalsServiceworker = { - readonly 'addEventListener': false; - readonly 'applicationCache': false; - readonly 'atob': false; - readonly 'Blob': false; - readonly 'BroadcastChannel': false; - readonly 'btoa': false; - readonly 'ByteLengthQueuingStrategy': false; - readonly 'Cache': false; - readonly 'caches': false; - readonly 'CacheStorage': false; - readonly 'clearInterval': false; - readonly 'clearTimeout': false; - readonly 'Client': false; - readonly 'clients': false; - readonly 'Clients': false; - readonly 'close': true; - readonly 'CompressionStream': false; - readonly 'console': false; - readonly 'CountQueuingStrategy': false; - readonly 'crypto': false; - readonly 'Crypto': false; - readonly 'CryptoKey': false; - readonly 'CustomEvent': false; - readonly 'DecompressionStream': false; - readonly 'ErrorEvent': false; - readonly 'Event': false; - readonly 'ExtendableEvent': false; - readonly 'ExtendableMessageEvent': false; - readonly 'fetch': false; - readonly 'FetchEvent': false; - readonly 'File': false; - readonly 'FileReaderSync': false; - readonly 'FormData': false; - readonly 'Headers': false; - readonly 'IDBCursor': false; - readonly 'IDBCursorWithValue': false; - readonly 'IDBDatabase': false; - readonly 'IDBFactory': false; - readonly 'IDBIndex': false; - readonly 'IDBKeyRange': false; - readonly 'IDBObjectStore': false; - readonly 'IDBOpenDBRequest': false; - readonly 'IDBRequest': false; - readonly 'IDBTransaction': false; - readonly 'IDBVersionChangeEvent': false; - readonly 'ImageData': false; - readonly 'importScripts': false; - readonly 'indexedDB': false; - readonly 'location': false; - readonly 'MessageChannel': false; - readonly 'MessageEvent': false; - readonly 'MessagePort': false; - readonly 'name': false; - readonly 'navigator': false; - readonly 'Notification': false; - readonly 'onclose': true; - readonly 'onconnect': true; - readonly 'onerror': true; - readonly 'onfetch': true; - readonly 'oninstall': true; - readonly 'onlanguagechange': true; - readonly 'onmessage': true; - readonly 'onmessageerror': true; - readonly 'onnotificationclick': true; - readonly 'onnotificationclose': true; - readonly 'onoffline': true; - readonly 'ononline': true; - readonly 'onpush': true; - readonly 'onpushsubscriptionchange': true; - readonly 'onrejectionhandled': true; - readonly 'onsync': true; - readonly 'onunhandledrejection': true; - readonly 'performance': false; - readonly 'Performance': false; - readonly 'PerformanceEntry': false; - readonly 'PerformanceMark': false; - readonly 'PerformanceMeasure': false; - readonly 'PerformanceNavigation': false; - readonly 'PerformanceObserver': false; - readonly 'PerformanceObserverEntryList': false; - readonly 'PerformanceResourceTiming': false; - readonly 'PerformanceTiming': false; - readonly 'postMessage': true; - readonly 'queueMicrotask': false; - readonly 'ReadableByteStreamController': false; - readonly 'ReadableStream': false; - readonly 'ReadableStreamBYOBReader': false; - readonly 'ReadableStreamBYOBRequest': false; - readonly 'ReadableStreamDefaultController': false; - readonly 'ReadableStreamDefaultReader': false; - readonly 'registration': false; - readonly 'removeEventListener': false; - readonly 'Request': false; - readonly 'Response': false; - readonly 'self': false; - readonly 'ServiceWorker': false; - readonly 'ServiceWorkerContainer': false; - readonly 'ServiceWorkerGlobalScope': false; - readonly 'ServiceWorkerMessageEvent': false; - readonly 'ServiceWorkerRegistration': false; - readonly 'setInterval': false; - readonly 'setTimeout': false; - readonly 'skipWaiting': false; - readonly 'SubtleCrypto': false; - readonly 'TextDecoder': false; - readonly 'TextDecoderStream': false; - readonly 'TextEncoder': false; - readonly 'TextEncoderStream': false; - readonly 'TransformStream': false; - readonly 'TransformStreamDefaultController': false; - readonly 'URL': false; - readonly 'URLSearchParams': false; - readonly 'WebAssembly': false; - readonly 'WebSocket': false; - readonly 'WindowClient': false; - readonly 'Worker': false; - readonly 'WorkerGlobalScope': false; - readonly 'WritableStream': false; - readonly 'WritableStreamDefaultController': false; - readonly 'WritableStreamDefaultWriter': false; - readonly 'XMLHttpRequest': false; -} - -type GlobalsSharednodebrowser = { - readonly 'AbortController': false; - readonly 'AbortSignal': false; - readonly 'atob': false; - readonly 'Blob': false; - readonly 'BroadcastChannel': false; - readonly 'btoa': false; - readonly 'ByteLengthQueuingStrategy': false; - readonly 'clearInterval': false; - readonly 'clearTimeout': false; - readonly 'CloseEvent': false; - readonly 'CompressionStream': false; - readonly 'console': false; - readonly 'CountQueuingStrategy': false; - readonly 'crypto': false; - readonly 'Crypto': false; - readonly 'CryptoKey': false; - readonly 'CustomEvent': false; - readonly 'DecompressionStream': false; - readonly 'DOMException': false; - readonly 'Event': false; - readonly 'EventTarget': false; - readonly 'fetch': false; - readonly 'File': false; - readonly 'FormData': false; - readonly 'Headers': false; - readonly 'MessageChannel': false; - readonly 'MessageEvent': false; - readonly 'MessagePort': false; - readonly 'navigator': false; - readonly 'Navigator': false; - readonly 'performance': false; - readonly 'Performance': false; - readonly 'PerformanceEntry': false; - readonly 'PerformanceMark': false; - readonly 'PerformanceMeasure': false; - readonly 'PerformanceObserver': false; - readonly 'PerformanceObserverEntryList': false; - readonly 'PerformanceResourceTiming': false; - readonly 'queueMicrotask': false; - readonly 'ReadableByteStreamController': false; - readonly 'ReadableStream': false; - readonly 'ReadableStreamBYOBReader': false; - readonly 'ReadableStreamBYOBRequest': false; - readonly 'ReadableStreamDefaultController': false; - readonly 'ReadableStreamDefaultReader': false; - readonly 'Request': false; - readonly 'Response': false; - readonly 'setInterval': false; - readonly 'setTimeout': false; - readonly 'structuredClone': false; - readonly 'SubtleCrypto': false; - readonly 'TextDecoder': false; - readonly 'TextDecoderStream': false; - readonly 'TextEncoder': false; - readonly 'TextEncoderStream': false; - readonly 'TransformStream': false; - readonly 'TransformStreamDefaultController': false; - readonly 'URL': false; - readonly 'URLSearchParams': false; - readonly 'WebAssembly': false; - readonly 'WebSocket': false; - readonly 'WritableStream': false; - readonly 'WritableStreamDefaultController': false; - readonly 'WritableStreamDefaultWriter': false; -} - -type GlobalsShelljs = { - readonly 'cat': false; - readonly 'cd': false; - readonly 'chmod': false; - readonly 'config': false; - readonly 'cp': false; - readonly 'dirs': false; - readonly 'echo': false; - readonly 'env': false; - readonly 'error': false; - readonly 'exec': false; - readonly 'exit': false; - readonly 'find': false; - readonly 'grep': false; - readonly 'head': false; - readonly 'ln': false; - readonly 'ls': false; - readonly 'mkdir': false; - readonly 'mv': false; - readonly 'popd': false; - readonly 'pushd': false; - readonly 'pwd': false; - readonly 'rm': false; - readonly 'sed': false; - readonly 'set': false; - readonly 'ShellString': false; - readonly 'sort': false; - readonly 'tail': false; - readonly 'tempdir': false; - readonly 'test': false; - readonly 'touch': false; - readonly 'uniq': false; - readonly 'which': false; -} - -type GlobalsWebextensions = { - readonly 'browser': false; - readonly 'chrome': false; - readonly 'opr': false; -} - -type GlobalsWorker = { - readonly 'AbortController': false; - readonly 'AbortSignal': false; - readonly 'addEventListener': false; - readonly 'ai': false; - readonly 'atob': false; - readonly 'AudioData': false; - readonly 'AudioDecoder': false; - readonly 'AudioEncoder': false; - readonly 'BackgroundFetchManager': false; - readonly 'BackgroundFetchRecord': false; - readonly 'BackgroundFetchRegistration': false; - readonly 'BarcodeDetector': false; - readonly 'Blob': false; - readonly 'BroadcastChannel': false; - readonly 'btoa': false; - readonly 'ByteLengthQueuingStrategy': false; - readonly 'Cache': false; - readonly 'caches': false; - readonly 'CacheStorage': false; - readonly 'cancelAnimationFrame': false; - readonly 'CanvasGradient': false; - readonly 'CanvasPattern': false; - readonly 'clearInterval': false; - readonly 'clearTimeout': false; - readonly 'close': false; - readonly 'CloseEvent': false; - readonly 'CompressionStream': false; - readonly 'console': false; - readonly 'CountQueuingStrategy': false; - readonly 'createImageBitmap': false; - readonly 'CropTarget': false; - readonly 'crossOriginIsolated': false; - readonly 'crypto': false; - readonly 'Crypto': false; - readonly 'CryptoKey': false; - readonly 'CSSSkewX': false; - readonly 'CSSSkewY': false; - readonly 'CustomEvent': false; - readonly 'DecompressionStream': false; - readonly 'DedicatedWorkerGlobalScope': false; - readonly 'dispatchEvent': false; - readonly 'DOMException': false; - readonly 'DOMMatrix': false; - readonly 'DOMMatrixReadOnly': false; - readonly 'DOMPoint': false; - readonly 'DOMPointReadOnly': false; - readonly 'DOMQuad': false; - readonly 'DOMRect': false; - readonly 'DOMRectReadOnly': false; - readonly 'DOMStringList': false; - readonly 'EncodedAudioChunk': false; - readonly 'EncodedVideoChunk': false; - readonly 'ErrorEvent': false; - readonly 'Event': false; - readonly 'EventSource': false; - readonly 'EventTarget': false; - readonly 'fetch': false; - readonly 'File': false; - readonly 'FileList': false; - readonly 'FileReader': false; - readonly 'FileReaderSync': false; - readonly 'FileSystemDirectoryHandle': false; - readonly 'FileSystemFileHandle': false; - readonly 'FileSystemHandle': false; - readonly 'FileSystemSyncAccessHandle': false; - readonly 'FileSystemWritableFileStream': false; - readonly 'FontFace': false; - readonly 'fonts': false; - readonly 'FormData': false; - readonly 'GPU': false; - readonly 'GPUAdapter': false; - readonly 'GPUAdapterInfo': false; - readonly 'GPUBindGroup': false; - readonly 'GPUBindGroupLayout': false; - readonly 'GPUBuffer': false; - readonly 'GPUBufferUsage': false; - readonly 'GPUCanvasContext': false; - readonly 'GPUColorWrite': false; - readonly 'GPUCommandBuffer': false; - readonly 'GPUCommandEncoder': false; - readonly 'GPUCompilationInfo': false; - readonly 'GPUCompilationMessage': false; - readonly 'GPUComputePassEncoder': false; - readonly 'GPUComputePipeline': false; - readonly 'GPUDevice': false; - readonly 'GPUDeviceLostInfo': false; - readonly 'GPUError': false; - readonly 'GPUExternalTexture': false; - readonly 'GPUInternalError': false; - readonly 'GPUMapMode': false; - readonly 'GPUOutOfMemoryError': false; - readonly 'GPUPipelineError': false; - readonly 'GPUPipelineLayout': false; - readonly 'GPUQuerySet': false; - readonly 'GPUQueue': false; - readonly 'GPURenderBundle': false; - readonly 'GPURenderBundleEncoder': false; - readonly 'GPURenderPassEncoder': false; - readonly 'GPURenderPipeline': false; - readonly 'GPUSampler': false; - readonly 'GPUShaderModule': false; - readonly 'GPUShaderStage': false; - readonly 'GPUSupportedFeatures': false; - readonly 'GPUSupportedLimits': false; - readonly 'GPUTexture': false; - readonly 'GPUTextureUsage': false; - readonly 'GPUTextureView': false; - readonly 'GPUUncapturedErrorEvent': false; - readonly 'GPUValidationError': false; - readonly 'Headers': false; - readonly 'HID': false; - readonly 'HIDConnectionEvent': false; - readonly 'HIDDevice': false; - readonly 'HIDInputReportEvent': false; - readonly 'IDBCursor': false; - readonly 'IDBCursorWithValue': false; - readonly 'IDBDatabase': false; - readonly 'IDBFactory': false; - readonly 'IDBIndex': false; - readonly 'IDBKeyRange': false; - readonly 'IDBObjectStore': false; - readonly 'IDBOpenDBRequest': false; - readonly 'IDBRequest': false; - readonly 'IDBTransaction': false; - readonly 'IDBVersionChangeEvent': false; - readonly 'IdleDetector': false; - readonly 'ImageBitmap': false; - readonly 'ImageBitmapRenderingContext': false; - readonly 'ImageData': false; - readonly 'ImageDecoder': false; - readonly 'ImageTrack': false; - readonly 'ImageTrackList': false; - readonly 'importScripts': false; - readonly 'indexedDB': false; - readonly 'isSecureContext': false; - readonly 'location': false; - readonly 'Lock': false; - readonly 'LockManager': false; - readonly 'MediaCapabilities': false; - readonly 'MediaSource': false; - readonly 'MediaSourceHandle': false; - readonly 'MessageChannel': false; - readonly 'MessageEvent': false; - readonly 'MessagePort': false; - readonly 'name': false; - readonly 'NavigationPreloadManager': false; - readonly 'navigator': false; - readonly 'NavigatorUAData': false; - readonly 'NetworkInformation': false; - readonly 'Notification': false; - readonly 'OffscreenCanvas': false; - readonly 'OffscreenCanvasRenderingContext2D': false; - readonly 'onerror': true; - readonly 'onlanguagechange': true; - readonly 'onmessage': true; - readonly 'onmessageerror': true; - readonly 'onrejectionhandled': true; - readonly 'onunhandledrejection': true; - readonly 'origin': false; - readonly 'Path2D': false; - readonly 'performance': false; - readonly 'Performance': false; - readonly 'PerformanceEntry': false; - readonly 'PerformanceMark': false; - readonly 'PerformanceMeasure': false; - readonly 'PerformanceObserver': false; - readonly 'PerformanceObserverEntryList': false; - readonly 'PerformanceResourceTiming': false; - readonly 'PerformanceServerTiming': false; - readonly 'PeriodicSyncManager': false; - readonly 'Permissions': false; - readonly 'PermissionStatus': false; - readonly 'PERSISTENT': false; - readonly 'postMessage': false; - readonly 'PressureObserver': false; - readonly 'PressureRecord': false; - readonly 'ProgressEvent': false; - readonly 'PromiseRejectionEvent': false; - readonly 'PushManager': false; - readonly 'PushSubscription': false; - readonly 'PushSubscriptionOptions': false; - readonly 'queueMicrotask': false; - readonly 'ReadableByteStreamController': false; - readonly 'ReadableStream': false; - readonly 'ReadableStreamBYOBReader': false; - readonly 'ReadableStreamBYOBRequest': false; - readonly 'ReadableStreamDefaultController': false; - readonly 'ReadableStreamDefaultReader': false; - readonly 'removeEventListener': false; - readonly 'reportError': false; - readonly 'ReportingObserver': false; - readonly 'Request': false; - readonly 'requestAnimationFrame': false; - readonly 'Response': false; - readonly 'RTCDataChannel': false; - readonly 'RTCEncodedAudioFrame': false; - readonly 'RTCEncodedVideoFrame': false; - readonly 'scheduler': false; - readonly 'Scheduler': false; - readonly 'SecurityPolicyViolationEvent': false; - readonly 'self': false; - readonly 'Serial': false; - readonly 'SerialPort': false; - readonly 'ServiceWorkerRegistration': false; - readonly 'setInterval': false; - readonly 'setTimeout': false; - readonly 'SourceBuffer': false; - readonly 'SourceBufferList': false; - readonly 'StorageBucket': false; - readonly 'StorageBucketManager': false; - readonly 'StorageManager': false; - readonly 'structuredClone': false; - readonly 'SubtleCrypto': false; - readonly 'SyncManager': false; - readonly 'TaskController': false; - readonly 'TaskPriorityChangeEvent': false; - readonly 'TaskSignal': false; - readonly 'TEMPORARY': false; - readonly 'TextDecoder': false; - readonly 'TextDecoderStream': false; - readonly 'TextEncoder': false; - readonly 'TextEncoderStream': false; - readonly 'TextMetrics': false; - readonly 'TransformStream': false; - readonly 'TransformStreamDefaultController': false; - readonly 'TrustedHTML': false; - readonly 'TrustedScript': false; - readonly 'TrustedScriptURL': false; - readonly 'TrustedTypePolicy': false; - readonly 'TrustedTypePolicyFactory': false; - readonly 'trustedTypes': false; - readonly 'URL': false; - readonly 'URLPattern': false; - readonly 'URLSearchParams': false; - readonly 'USB': false; - readonly 'USBAlternateInterface': false; - readonly 'USBConfiguration': false; - readonly 'USBConnectionEvent': false; - readonly 'USBDevice': false; - readonly 'USBEndpoint': false; - readonly 'USBInterface': false; - readonly 'USBInTransferResult': false; - readonly 'USBIsochronousInTransferPacket': false; - readonly 'USBIsochronousInTransferResult': false; - readonly 'USBIsochronousOutTransferPacket': false; - readonly 'USBIsochronousOutTransferResult': false; - readonly 'USBOutTransferResult': false; - readonly 'UserActivation': false; - readonly 'VideoColorSpace': false; - readonly 'VideoDecoder': false; - readonly 'VideoEncoder': false; - readonly 'VideoFrame': false; - readonly 'WebAssembly': false; - readonly 'WebGL2RenderingContext': false; - readonly 'WebGLActiveInfo': false; - readonly 'WebGLBuffer': false; - readonly 'WebGLContextEvent': false; - readonly 'WebGLFramebuffer': false; - readonly 'WebGLObject': false; - readonly 'WebGLProgram': false; - readonly 'WebGLQuery': false; - readonly 'WebGLRenderbuffer': false; - readonly 'WebGLRenderingContext': false; - readonly 'WebGLSampler': false; - readonly 'WebGLShader': false; - readonly 'WebGLShaderPrecisionFormat': false; - readonly 'WebGLSync': false; - readonly 'WebGLTexture': false; - readonly 'WebGLTransformFeedback': false; - readonly 'WebGLUniformLocation': false; - readonly 'WebGLVertexArrayObject': false; - readonly 'webkitRequestFileSystem': false; - readonly 'webkitRequestFileSystemSync': false; - readonly 'webkitResolveLocalFileSystemSyncURL': false; - readonly 'webkitResolveLocalFileSystemURL': false; - readonly 'WebSocket': false; - readonly 'WebSocketError': false; - readonly 'WebSocketStream': false; - readonly 'WebTransport': false; - readonly 'WebTransportBidirectionalStream': false; - readonly 'WebTransportDatagramDuplexStream': false; - readonly 'WebTransportError': false; - readonly 'WGSLLanguageFeatures': false; - readonly 'Worker': false; - readonly 'WorkerGlobalScope': false; - readonly 'WorkerLocation': false; - readonly 'WorkerNavigator': false; - readonly 'WritableStream': false; - readonly 'WritableStreamDefaultController': false; - readonly 'WritableStreamDefaultWriter': false; - readonly 'XMLHttpRequest': false; - readonly 'XMLHttpRequestEventTarget': false; - readonly 'XMLHttpRequestUpload': false; -} - -type GlobalsWsh = { - readonly 'ActiveXObject': false; - readonly 'CollectGarbage': false; - readonly 'Debug': false; - readonly 'Enumerator': false; - readonly 'GetObject': false; - readonly 'RuntimeObject': false; - readonly 'ScriptEngine': false; - readonly 'ScriptEngineBuildVersion': false; - readonly 'ScriptEngineMajorVersion': false; - readonly 'ScriptEngineMinorVersion': false; - readonly 'VBArray': false; - readonly 'WScript': false; - readonly 'WSH': false; -} - -type GlobalsYui = { - readonly 'YAHOO': false; - readonly 'YAHOO_config': false; - readonly 'YUI': false; - readonly 'YUI_config': false; -} - -type Globals = { - readonly 'amd': GlobalsAmd; - readonly 'applescript': GlobalsApplescript; - readonly 'atomtest': GlobalsAtomtest; - readonly 'browser': GlobalsBrowser; - readonly 'builtin': GlobalsBuiltin; - readonly 'chai': GlobalsChai; - readonly 'commonjs': GlobalsCommonjs; - readonly 'couch': GlobalsCouch; - readonly 'devtools': GlobalsDevtools; - readonly 'embertest': GlobalsEmbertest; - readonly 'es2015': GlobalsEs2015; - readonly 'es2016': GlobalsEs2016; - readonly 'es2017': GlobalsEs2017; - readonly 'es2018': GlobalsEs2018; - readonly 'es2019': GlobalsEs2019; - readonly 'es2020': GlobalsEs2020; - readonly 'es2021': GlobalsEs2021; - readonly 'es2022': GlobalsEs2022; - readonly 'es2023': GlobalsEs2023; - readonly 'es2024': GlobalsEs2024; - readonly 'es2025': GlobalsEs2025; - readonly 'es3': GlobalsEs3; - readonly 'es5': GlobalsEs5; - readonly 'greasemonkey': GlobalsGreasemonkey; - readonly 'jasmine': GlobalsJasmine; - readonly 'jest': GlobalsJest; - readonly 'jquery': GlobalsJquery; - readonly 'meteor': GlobalsMeteor; - readonly 'mocha': GlobalsMocha; - readonly 'mongo': GlobalsMongo; - readonly 'nashorn': GlobalsNashorn; - readonly 'node': GlobalsNode; - readonly 'nodeBuiltin': GlobalsNodeBuiltin; - readonly 'phantomjs': GlobalsPhantomjs; - readonly 'prototypejs': GlobalsPrototypejs; - readonly 'protractor': GlobalsProtractor; - readonly 'qunit': GlobalsQunit; - readonly 'rhino': GlobalsRhino; - readonly 'serviceworker': GlobalsServiceworker; - readonly 'shared-node-browser': GlobalsSharednodebrowser; - readonly 'shelljs': GlobalsShelljs; - readonly 'webextensions': GlobalsWebextensions; - readonly 'worker': GlobalsWorker; - readonly 'wsh': GlobalsWsh; - readonly 'yui': GlobalsYui; -} - -declare const globals: Globals; - -export = globals; \ No newline at end of file diff --git a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.js b/node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.js deleted file mode 100644 index a951582e..00000000 --- a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/index.js +++ /dev/null @@ -1,2 +0,0 @@ -'use strict'; -module.exports = require('./globals.json'); diff --git a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/license b/node_modules/.pnpm/globals@15.13.0/node_modules/globals/license deleted file mode 100644 index fa7ceba3..00000000 --- a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/package.json b/node_modules/.pnpm/globals@15.13.0/node_modules/globals/package.json deleted file mode 100644 index f5e9714e..00000000 --- a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/package.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "name": "globals", - "version": "15.13.0", - "description": "Global identifiers from different JavaScript environments", - "license": "MIT", - "repository": "sindresorhus/globals", - "funding": "https://github.com/sponsors/sindresorhus", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "https://sindresorhus.com" - }, - "sideEffects": false, - "engines": { - "node": ">=18" - }, - "scripts": { - "test": "npm run build && xo && ava && tsd", - "prepare": "npm run build", - "update": "node scripts/update.mjs", - "update:browser": "node scripts/update.mjs --environment=browser", - "update:builtin": "node scripts/update.mjs --environment=builtin", - "update:nodeBuiltin": "node scripts/update.mjs --environment=nodeBuiltin", - "update:worker": "node scripts/update.mjs --environment=worker", - "update:shelljs": "node scripts/update.mjs --environment=shelljs", - "update:jest": "node scripts/update.mjs --environment=jest", - "build": "run-s build:data build:types", - "build:data": "node scripts/generate-data.mjs", - "build:types": "node scripts/generate-types.mjs" - }, - "files": [ - "index.js", - "index.d.ts", - "globals.json" - ], - "keywords": [ - "globals", - "global", - "identifiers", - "variables", - "vars", - "jshint", - "eslint", - "environments" - ], - "devDependencies": { - "ava": "^6.1.3", - "cheerio": "^1.0.0-rc.12", - "eslint-plugin-jest": "^28.8.3", - "execa": "^9.4.0", - "get-port": "^7.1.0", - "npm-run-all2": "^6.2.3", - "outdent": "^0.8.0", - "puppeteer": "^23.4.1", - "shelljs": "^0.8.5", - "tsd": "^0.31.2", - "type-fest": "^4.26.1", - "xo": "^0.59.3" - }, - "xo": { - "rules": { - "unicorn/prefer-module": "off" - }, - "overrides": [ - { - "files": [ - "data/*.mjs" - ], - "rules": { - "import/no-anonymous-default-export": "off", - "camelcase": "off", - "unicorn/filename-case": [ - "error", - { - "cases": { - "camelCase": true, - "kebabCase": true - } - } - ] - } - }, - { - "files": [ - "scripts/*.mjs" - ], - "rules": { - "n/no-unsupported-features/node-builtins": "off" - } - } - ] - }, - "tsd": { - "compilerOptions": { - "resolveJsonModule": true - } - } -} diff --git a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/readme.md b/node_modules/.pnpm/globals@15.13.0/node_modules/globals/readme.md deleted file mode 100644 index 3407019d..00000000 --- a/node_modules/.pnpm/globals@15.13.0/node_modules/globals/readme.md +++ /dev/null @@ -1,42 +0,0 @@ -# globals - -> Global identifiers from different JavaScript environments - -It's just a [JSON file](globals.json), so you can use it in any environment. - -This package is used by ESLint 8 and earlier. For ESLint 9 and later, you should depend on this package directly in [your ESLint config](https://eslint.org/docs/latest/use/configure/language-options#predefined-global-variables). - -## Install - -```sh -npm install globals -``` - -## Usage - -```js -import globals from 'globals'; - -console.log(globals.browser); -/* -{ - addEventListener: false, - applicationCache: false, - ArrayBuffer: false, - atob: false, - … -} -*/ -``` - -Each global is given a value of `true` or `false`. A value of `true` indicates that the variable may be overwritten. A value of `false` indicates that the variable should be considered read-only. This information is used by static analysis tools to flag incorrect behavior. We assume all variables should be `false` unless we hear otherwise. - -For Node.js this package provides two sets of globals: - -- `globals.nodeBuiltin`: Globals available to all code running in Node.js. - These will usually be available as properties on the `globalThis` object and include `process`, `Buffer`, but not CommonJS arguments like `require`. - See: https://nodejs.org/api/globals.html -- `globals.node`: A combination of the globals from `nodeBuiltin` plus all CommonJS arguments ("CommonJS module scope"). - See: https://nodejs.org/api/modules.html#modules_the_module_scope - -When analyzing code that is known to run outside of a CommonJS wrapper, for example, JavaScript modules, `nodeBuiltin` can find accidental CommonJS references. diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/hasown b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/hasown deleted file mode 120000 index 22d6ceed..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/hasown +++ /dev/null @@ -1 +0,0 @@ -../../hasown@2.0.2/node_modules/hasown \ No newline at end of file diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.eslintrc b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.eslintrc deleted file mode 100644 index f2e07268..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.eslintrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "@ljharb", - "root": true, - "rules": { - "func-style": 1, - }, - "overrides": [ - { - "files": "test/**", - "rules": { - "global-require": 0, - "max-depth": 0, - "max-lines-per-function": 0, - "no-negated-condition": 0, - }, - }, - ], -} diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.nycrc b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.nycrc deleted file mode 100644 index bdd626ce..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/.nycrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "all": true, - "check-coverage": false, - "reporter": ["text-summary", "text", "html", "json"], - "exclude": [ - "coverage", - "test" - ] -} diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/CHANGELOG.md b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/CHANGELOG.md deleted file mode 100644 index 8b7edb8f..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/CHANGELOG.md +++ /dev/null @@ -1,212 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [v2.16.0](https://github.com/inspect-js/is-core-module/compare/v2.15.1...v2.16.0) - 2024-12-13 - -### Commits - -- [New] add `node:sqlite` [`1ee94d2`](https://github.com/inspect-js/is-core-module/commit/1ee94d20857e22cdb24e9b4bb1a2097f2e03e26f) -- [Dev Deps] update `auto-changelog`, `tape` [`aa84aa3`](https://github.com/inspect-js/is-core-module/commit/aa84aa34face677f14e08ec1c737f0c4bba27260) - -## [v2.15.1](https://github.com/inspect-js/is-core-module/compare/v2.15.0...v2.15.1) - 2024-08-21 - -### Commits - -- [Tests] add `process.getBuiltinModule` tests [`28c7791`](https://github.com/inspect-js/is-core-module/commit/28c7791c196d58c64cfdf638b7e68ed1b62a4da0) -- [Fix] `test/mock_loader` is no longer exposed as of v22.7 [`68b08b0`](https://github.com/inspect-js/is-core-module/commit/68b08b0d7963447dbffa5142e8810dca550383af) -- [Tests] replace `aud` with `npm audit` [`32f8060`](https://github.com/inspect-js/is-core-module/commit/32f806026dac14f9016be4401a643851240c76b9) -- [Dev Deps] update `mock-property` [`f7d3c8f`](https://github.com/inspect-js/is-core-module/commit/f7d3c8f01e922be49621683eb41477c4f50522e1) -- [Dev Deps] add missing peer dep [`eaee885`](https://github.com/inspect-js/is-core-module/commit/eaee885b67238819e9c8ed5bd2098766e1d05331) - -## [v2.15.0](https://github.com/inspect-js/is-core-module/compare/v2.14.0...v2.15.0) - 2024-07-17 - -### Commits - -- [New] add `node:sea` [`2819fb3`](https://github.com/inspect-js/is-core-module/commit/2819fb3eae312fa64643bc5430ebd06ec0f3fb88) - -## [v2.14.0](https://github.com/inspect-js/is-core-module/compare/v2.13.1...v2.14.0) - 2024-06-20 - -### Commits - -- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `mock-property`, `npmignore`, `tape` [`0e43200`](https://github.com/inspect-js/is-core-module/commit/0e432006d97237cc082d41e6a593e87c81068364) -- [meta] add missing `engines.node` [`4ea3af8`](https://github.com/inspect-js/is-core-module/commit/4ea3af88891a1d4f96026f0ec0ef08c67cd1bd24) -- [New] add `test/mock_loader` [`e9fbd29`](https://github.com/inspect-js/is-core-module/commit/e9fbd2951383be070aeffb9ebbf3715237282610) -- [Deps] update `hasown` [`57f1940`](https://github.com/inspect-js/is-core-module/commit/57f1940947b3e368abdf529232d2f17d88909358) - -## [v2.13.1](https://github.com/inspect-js/is-core-module/compare/v2.13.0...v2.13.1) - 2023-10-20 - -### Commits - -- [Refactor] use `hasown` instead of `has` [`0e52096`](https://github.com/inspect-js/is-core-module/commit/0e520968b0a725276b67420ab4b877486b243ae0) -- [Dev Deps] update `mock-property`, `tape` [`8736b35`](https://github.com/inspect-js/is-core-module/commit/8736b35464d0f297b55da2c6b30deee04b8303c5) - -## [v2.13.0](https://github.com/inspect-js/is-core-module/compare/v2.12.1...v2.13.0) - 2023-08-05 - -### Commits - -- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `semver`, `tape` [`c75b263`](https://github.com/inspect-js/is-core-module/commit/c75b263d047cb53430c3970107e5eb64d6cd6c0c) -- [New] `node:test/reporters` and `wasi`/`node:wasi` are in v18.17 [`d76cbf8`](https://github.com/inspect-js/is-core-module/commit/d76cbf8e9b208acfd98913fed5a5f45cb15fe5dc) - -## [v2.12.1](https://github.com/inspect-js/is-core-module/compare/v2.12.0...v2.12.1) - 2023-05-16 - -### Commits - -- [Fix] `test/reporters` now requires the `node:` prefix as of v20.2 [`12183d0`](https://github.com/inspect-js/is-core-module/commit/12183d0d8e4edf56b6ce18a1b3be54bfce10175b) - -## [v2.12.0](https://github.com/inspect-js/is-core-module/compare/v2.11.0...v2.12.0) - 2023-04-10 - -### Commits - -- [actions] update rebase action to use reusable workflow [`c0a7251`](https://github.com/inspect-js/is-core-module/commit/c0a7251f734f3c621932c5fcdfd1bf966b42ca32) -- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `tape` [`9ae8b7f`](https://github.com/inspect-js/is-core-module/commit/9ae8b7fac03c369861d0991b4a2ce8d4848e6a7d) -- [New] `test/reporters` added in v19.9, `wasi` added in v20 [`9d5341a`](https://github.com/inspect-js/is-core-module/commit/9d5341ab32053f25b7fa7db3c0e18461db24a79c) -- [Dev Deps] add missing `in-publish` dep [`5980245`](https://github.com/inspect-js/is-core-module/commit/59802456e9ac919fa748f53be9d8fbf304a197df) - -## [v2.11.0](https://github.com/inspect-js/is-core-module/compare/v2.10.0...v2.11.0) - 2022-10-18 - -### Commits - -- [meta] use `npmignore` to autogenerate an npmignore file [`3360011`](https://github.com/inspect-js/is-core-module/commit/33600118857b46177178072fba2affcdeb009d12) -- [Dev Deps] update `aud`, `tape` [`651c6b0`](https://github.com/inspect-js/is-core-module/commit/651c6b0cc2799d4130866cf43ad333dcade3d26c) -- [New] `inspector/promises` and `node:inspector/promises` is now available in node 19 [`22d332f`](https://github.com/inspect-js/is-core-module/commit/22d332fe22ac050305444e0781ff85af819abcb0) - -## [v2.10.0](https://github.com/inspect-js/is-core-module/compare/v2.9.0...v2.10.0) - 2022-08-03 - -### Commits - -- [New] `node:test` is now available in node ^16.17 [`e8fd36e`](https://github.com/inspect-js/is-core-module/commit/e8fd36e9b86c917775a07cc473b62a3294f459f2) -- [Tests] improve skip message [`c014a4c`](https://github.com/inspect-js/is-core-module/commit/c014a4c0cd6eb15fff573ae4709191775e70cab4) - -## [v2.9.0](https://github.com/inspect-js/is-core-module/compare/v2.8.1...v2.9.0) - 2022-04-19 - -### Commits - -- [New] add `node:test`, in node 18+ [`f853eca`](https://github.com/inspect-js/is-core-module/commit/f853eca801d0a7d4e1dbb670f1b6d9837d9533c5) -- [Tests] use `mock-property` [`03b3644`](https://github.com/inspect-js/is-core-module/commit/03b3644dff4417f4ba5a7d0aa0138f5f6b3e5c46) -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`7c0e2d0`](https://github.com/inspect-js/is-core-module/commit/7c0e2d06ed2a89acf53abe2ab34d703ed5b03455) -- [meta] simplify "exports" [`d6ed201`](https://github.com/inspect-js/is-core-module/commit/d6ed201eba7fbba0e59814a9050fc49a6e9878c8) - -## [v2.8.1](https://github.com/inspect-js/is-core-module/compare/v2.8.0...v2.8.1) - 2022-01-05 - -### Commits - -- [actions] reuse common workflows [`cd2cf9b`](https://github.com/inspect-js/is-core-module/commit/cd2cf9b3b66c8d328f65610efe41e9325db7716d) -- [Fix] update node 0.4 results [`062195d`](https://github.com/inspect-js/is-core-module/commit/062195d89f0876a88b95d378b43f7fcc1205bc5b) -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`0790b62`](https://github.com/inspect-js/is-core-module/commit/0790b6222848c6167132f9f73acc3520fa8d1298) -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`7d139a6`](https://github.com/inspect-js/is-core-module/commit/7d139a6d767709eabf0a0251e074ec1fb230c06e) -- [Tests] run `nyc` in `tests-only`, not `test` [`780e8a0`](https://github.com/inspect-js/is-core-module/commit/780e8a049951c71cf78b1707f0871c48a28bde14) - -## [v2.8.0](https://github.com/inspect-js/is-core-module/compare/v2.7.0...v2.8.0) - 2021-10-14 - -### Commits - -- [actions] update codecov uploader [`0cfe94e`](https://github.com/inspect-js/is-core-module/commit/0cfe94e106a7d005ea03e008c0a21dec13a77904) -- [New] add `readline/promises` to node v17+ [`4f78c30`](https://github.com/inspect-js/is-core-module/commit/4f78c3008b1b58b4db6dc91d99610b1bc859da7e) -- [Tests] node ^14.18 supports `node:` prefixes for CJS [`43e2f17`](https://github.com/inspect-js/is-core-module/commit/43e2f177452cea2f0eaf34f61b5407217bbdb6f4) - -## [v2.7.0](https://github.com/inspect-js/is-core-module/compare/v2.6.0...v2.7.0) - 2021-09-27 - -### Commits - -- [New] node `v14.18` added `node:`-prefixed core modules to `require` [`6d943ab`](https://github.com/inspect-js/is-core-module/commit/6d943abe81382b9bbe344384d80fbfebe1cc0526) -- [Tests] add coverage for Object.prototype pollution [`c6baf5f`](https://github.com/inspect-js/is-core-module/commit/c6baf5f942311a1945c1af41167bb80b84df2af7) -- [Dev Deps] update `@ljharb/eslint-config` [`6717f00`](https://github.com/inspect-js/is-core-module/commit/6717f000d063ea57beb772bded36c2f056ac404c) -- [eslint] fix linter warning [`594c10b`](https://github.com/inspect-js/is-core-module/commit/594c10bb7d39d7eb00925c90924199ff596184b2) -- [meta] add `sideEffects` flag [`c32cfa5`](https://github.com/inspect-js/is-core-module/commit/c32cfa5195632944c4dd4284a142b8476e75be13) - -## [v2.6.0](https://github.com/inspect-js/is-core-module/compare/v2.5.0...v2.6.0) - 2021-08-17 - -### Commits - -- [Dev Deps] update `eslint`, `tape` [`6cc928f`](https://github.com/inspect-js/is-core-module/commit/6cc928f8a4bba66aeeccc4f6beeac736d4bd3081) -- [New] add `stream/consumers` to node `>= 16.7` [`a1a423e`](https://github.com/inspect-js/is-core-module/commit/a1a423e467e4cc27df180234fad5bab45943e67d) -- [Refactor] Remove duplicated `&&` operand [`86faea7`](https://github.com/inspect-js/is-core-module/commit/86faea738213a2433c62d1098488dc9314dca832) -- [Tests] include prereleases [`a4da7a6`](https://github.com/inspect-js/is-core-module/commit/a4da7a6abf7568e2aa4fd98e69452179f1850963) - -## [v2.5.0](https://github.com/inspect-js/is-core-module/compare/v2.4.0...v2.5.0) - 2021-07-12 - -### Commits - -- [Dev Deps] update `auto-changelog`, `eslint` [`6334cc9`](https://github.com/inspect-js/is-core-module/commit/6334cc94f3af7469685bd8f236740991baaf2705) -- [New] add `stream/web` to node v16.5+ [`17ac59b`](https://github.com/inspect-js/is-core-module/commit/17ac59b662d63e220a2e5728625f005c24f177b2) - -## [v2.4.0](https://github.com/inspect-js/is-core-module/compare/v2.3.0...v2.4.0) - 2021-05-09 - -### Commits - -- [readme] add actions and codecov badges [`82b7faa`](https://github.com/inspect-js/is-core-module/commit/82b7faa12b56dbe47fbea67e1a5b9e447027ba40) -- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`8096868`](https://github.com/inspect-js/is-core-module/commit/8096868c024a161ccd4d44110b136763e92eace8) -- [Dev Deps] update `eslint` [`6726824`](https://github.com/inspect-js/is-core-module/commit/67268249b88230018c510f6532a8046d7326346f) -- [New] add `diagnostics_channel` to node `^14.17` [`86c6563`](https://github.com/inspect-js/is-core-module/commit/86c65634201b8ff9b3e48a9a782594579c7f5c3c) -- [meta] fix prepublish script [`697a01e`](https://github.com/inspect-js/is-core-module/commit/697a01e3c9c0be074066520954f30fb28532ec57) - -## [v2.3.0](https://github.com/inspect-js/is-core-module/compare/v2.2.0...v2.3.0) - 2021-04-24 - -### Commits - -- [meta] do not publish github action workflow files [`060d4bb`](https://github.com/inspect-js/is-core-module/commit/060d4bb971a29451c19ff336eb56bee27f9fa95a) -- [New] add support for `node:` prefix, in node 16+ [`7341223`](https://github.com/inspect-js/is-core-module/commit/73412230a769f6e81c05eea50b6520cebf54ed2f) -- [actions] use `node/install` instead of `node/run`; use `codecov` action [`016269a`](https://github.com/inspect-js/is-core-module/commit/016269abae9f6657a5254adfbb813f09a05067f9) -- [patch] remove unneeded `.0` in version ranges [`cb466a6`](https://github.com/inspect-js/is-core-module/commit/cb466a6d89e52b8389e5c12715efcd550c41cea3) -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`c9f9c39`](https://github.com/inspect-js/is-core-module/commit/c9f9c396ace60ef81906f98059c064e6452473ed) -- [actions] update workflows [`3ee4a89`](https://github.com/inspect-js/is-core-module/commit/3ee4a89fd5a02fccd43882d905448ea6a98e9a3c) -- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`dee4fed`](https://github.com/inspect-js/is-core-module/commit/dee4fed79690c1d43a22f7fa9426abebdc6d727f) -- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`7d046ba`](https://github.com/inspect-js/is-core-module/commit/7d046ba07ae8c9292e43652694ca808d7b309de8) -- [meta] use `prepublishOnly` script for npm 7+ [`149e677`](https://github.com/inspect-js/is-core-module/commit/149e6771a5ede6d097e71785b467a9c4b4977cc7) -- [readme] remove travis badge [`903b51d`](https://github.com/inspect-js/is-core-module/commit/903b51d6b69b98abeabfbc3695c345b02646f19c) - -## [v2.2.0](https://github.com/inspect-js/is-core-module/compare/v2.1.0...v2.2.0) - 2020-11-26 - -### Commits - -- [Tests] migrate tests to Github Actions [`c919f57`](https://github.com/inspect-js/is-core-module/commit/c919f573c0a92d10a0acad0b650b5aecb033d426) -- [patch] `core.json`: %s/ /\t/g [`db3f685`](https://github.com/inspect-js/is-core-module/commit/db3f68581f53e73cc09cd675955eb1bdd6a5a39b) -- [Tests] run `nyc` on all tests [`b2f925f`](https://github.com/inspect-js/is-core-module/commit/b2f925f8866f210ef441f39fcc8cc42692ab89b1) -- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`; add `safe-publish-latest` [`89f02a2`](https://github.com/inspect-js/is-core-module/commit/89f02a2b4162246dea303a6ee31bb9a550b05c72) -- [New] add `path/posix`, `path/win32`, `util/types` [`77f94f1`](https://github.com/inspect-js/is-core-module/commit/77f94f1e90ffd7c0be2a3f1aa8574ebf7fd981b3) - -## [v2.1.0](https://github.com/inspect-js/is-core-module/compare/v2.0.0...v2.1.0) - 2020-11-04 - -### Commits - -- [Dev Deps] update `eslint` [`5e0034e`](https://github.com/inspect-js/is-core-module/commit/5e0034eae57c09c8f1bd769f502486a00f56c6e4) -- [New] Add `diagnostics_channel` [`c2d83d0`](https://github.com/inspect-js/is-core-module/commit/c2d83d0a0225a1a658945d9bab7036ea347d29ec) - -## [v2.0.0](https://github.com/inspect-js/is-core-module/compare/v1.0.2...v2.0.0) - 2020-09-29 - -### Commits - -- v2 implementation [`865aeb5`](https://github.com/inspect-js/is-core-module/commit/865aeb5ca0e90248a3dfff5d7622e4751fdeb9cd) -- Only apps should have lockfiles [`5a5e660`](https://github.com/inspect-js/is-core-module/commit/5a5e660d568e37eb44e17fb1ebb12a105205fc2b) -- Initial commit for v2 [`5a51524`](https://github.com/inspect-js/is-core-module/commit/5a51524e06f92adece5fbb138c69b7b9748a2348) -- Tests [`116eae4`](https://github.com/inspect-js/is-core-module/commit/116eae4fccd01bc72c1fd3cc4b7561c387afc496) -- [meta] add `auto-changelog` [`c24388b`](https://github.com/inspect-js/is-core-module/commit/c24388bee828d223040519d1f5b226ca35beee63) -- [actions] add "Automatic Rebase" and "require allow edits" actions [`34292db`](https://github.com/inspect-js/is-core-module/commit/34292dbcbadae0868aff03c22dbd8b7b8a11558a) -- [Tests] add `npm run lint` [`4f9eeee`](https://github.com/inspect-js/is-core-module/commit/4f9eeee7ddff10698bbf528620f4dc8d4fa3e697) -- [readme] fix travis badges, https all URLs [`e516a73`](https://github.com/inspect-js/is-core-module/commit/e516a73b0dccce20938c432b1ba512eae8eff9e9) -- [meta] create FUNDING.yml [`1aabebc`](https://github.com/inspect-js/is-core-module/commit/1aabebca98d01f8a04e46bc2e2520fa93cf21ac6) -- [Fix] `domain`: domain landed sometime > v0.7.7 and <= v0.7.12 [`2df7d37`](https://github.com/inspect-js/is-core-module/commit/2df7d37595d41b15eeada732b706b926c2771655) -- [Fix] `sys`: worked in 0.6, not 0.7, and 0.8+ [`a75c134`](https://github.com/inspect-js/is-core-module/commit/a75c134229e1e9441801f6b73f6a52489346eb65) - -## [v1.0.2](https://github.com/inspect-js/is-core-module/compare/v1.0.1...v1.0.2) - 2014-09-28 - -### Commits - -- simpler [`66fe90f`](https://github.com/inspect-js/is-core-module/commit/66fe90f9771581b9adc0c3900baa52c21b5baea2) - -## [v1.0.1](https://github.com/inspect-js/is-core-module/compare/v1.0.0...v1.0.1) - 2014-09-28 - -### Commits - -- remove stupid [`f21f906`](https://github.com/inspect-js/is-core-module/commit/f21f906f882c2bd656a5fc5ed6fbe48ddaffb2ac) -- update readme [`1eff0ec`](https://github.com/inspect-js/is-core-module/commit/1eff0ec69798d1ec65771552d1562911e90a8027) - -## v1.0.0 - 2014-09-28 - -### Commits - -- init [`48e5e76`](https://github.com/inspect-js/is-core-module/commit/48e5e76cac378fddb8c1f7d4055b8dfc943d6b96) diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/LICENSE b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/LICENSE deleted file mode 100644 index 2e502872..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Dave Justice - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/README.md b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/README.md deleted file mode 100644 index 062d9068..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# is-core-module [![Version Badge][2]][1] - -[![github actions][actions-image]][actions-url] -[![coverage][codecov-image]][codecov-url] -[![dependency status][5]][6] -[![dev dependency status][7]][8] -[![License][license-image]][license-url] -[![Downloads][downloads-image]][downloads-url] - -[![npm badge][11]][1] - -Is this specifier a node.js core module? Optionally provide a node version to check; defaults to the current node version. - -## Example - -```js -var isCore = require('is-core-module'); -var assert = require('assert'); -assert(isCore('fs')); -assert(!isCore('butts')); -``` - -## Tests -Clone the repo, `npm install`, and run `npm test` - -[1]: https://npmjs.org/package/is-core-module -[2]: https://versionbadg.es/inspect-js/is-core-module.svg -[5]: https://david-dm.org/inspect-js/is-core-module.svg -[6]: https://david-dm.org/inspect-js/is-core-module -[7]: https://david-dm.org/inspect-js/is-core-module/dev-status.svg -[8]: https://david-dm.org/inspect-js/is-core-module#info=devDependencies -[11]: https://nodei.co/npm/is-core-module.png?downloads=true&stars=true -[license-image]: https://img.shields.io/npm/l/is-core-module.svg -[license-url]: LICENSE -[downloads-image]: https://img.shields.io/npm/dm/is-core-module.svg -[downloads-url]: https://npm-stat.com/charts.html?package=is-core-module -[codecov-image]: https://codecov.io/gh/inspect-js/is-core-module/branch/main/graphs/badge.svg -[codecov-url]: https://app.codecov.io/gh/inspect-js/is-core-module/ -[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-core-module -[actions-url]: https://github.com/inspect-js/is-core-module/actions diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/core.json b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/core.json deleted file mode 100644 index 928d3459..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/core.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "assert": true, - "node:assert": [">= 14.18 && < 15", ">= 16"], - "assert/strict": ">= 15", - "node:assert/strict": ">= 16", - "async_hooks": ">= 8", - "node:async_hooks": [">= 14.18 && < 15", ">= 16"], - "buffer_ieee754": ">= 0.5 && < 0.9.7", - "buffer": true, - "node:buffer": [">= 14.18 && < 15", ">= 16"], - "child_process": true, - "node:child_process": [">= 14.18 && < 15", ">= 16"], - "cluster": ">= 0.5", - "node:cluster": [">= 14.18 && < 15", ">= 16"], - "console": true, - "node:console": [">= 14.18 && < 15", ">= 16"], - "constants": true, - "node:constants": [">= 14.18 && < 15", ">= 16"], - "crypto": true, - "node:crypto": [">= 14.18 && < 15", ">= 16"], - "_debug_agent": ">= 1 && < 8", - "_debugger": "< 8", - "dgram": true, - "node:dgram": [">= 14.18 && < 15", ">= 16"], - "diagnostics_channel": [">= 14.17 && < 15", ">= 15.1"], - "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"], - "dns": true, - "node:dns": [">= 14.18 && < 15", ">= 16"], - "dns/promises": ">= 15", - "node:dns/promises": ">= 16", - "domain": ">= 0.7.12", - "node:domain": [">= 14.18 && < 15", ">= 16"], - "events": true, - "node:events": [">= 14.18 && < 15", ">= 16"], - "freelist": "< 6", - "fs": true, - "node:fs": [">= 14.18 && < 15", ">= 16"], - "fs/promises": [">= 10 && < 10.1", ">= 14"], - "node:fs/promises": [">= 14.18 && < 15", ">= 16"], - "_http_agent": ">= 0.11.1", - "node:_http_agent": [">= 14.18 && < 15", ">= 16"], - "_http_client": ">= 0.11.1", - "node:_http_client": [">= 14.18 && < 15", ">= 16"], - "_http_common": ">= 0.11.1", - "node:_http_common": [">= 14.18 && < 15", ">= 16"], - "_http_incoming": ">= 0.11.1", - "node:_http_incoming": [">= 14.18 && < 15", ">= 16"], - "_http_outgoing": ">= 0.11.1", - "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"], - "_http_server": ">= 0.11.1", - "node:_http_server": [">= 14.18 && < 15", ">= 16"], - "http": true, - "node:http": [">= 14.18 && < 15", ">= 16"], - "http2": ">= 8.8", - "node:http2": [">= 14.18 && < 15", ">= 16"], - "https": true, - "node:https": [">= 14.18 && < 15", ">= 16"], - "inspector": ">= 8", - "node:inspector": [">= 14.18 && < 15", ">= 16"], - "inspector/promises": [">= 19"], - "node:inspector/promises": [">= 19"], - "_linklist": "< 8", - "module": true, - "node:module": [">= 14.18 && < 15", ">= 16"], - "net": true, - "node:net": [">= 14.18 && < 15", ">= 16"], - "node-inspect/lib/_inspect": ">= 7.6 && < 12", - "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12", - "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12", - "os": true, - "node:os": [">= 14.18 && < 15", ">= 16"], - "path": true, - "node:path": [">= 14.18 && < 15", ">= 16"], - "path/posix": ">= 15.3", - "node:path/posix": ">= 16", - "path/win32": ">= 15.3", - "node:path/win32": ">= 16", - "perf_hooks": ">= 8.5", - "node:perf_hooks": [">= 14.18 && < 15", ">= 16"], - "process": ">= 1", - "node:process": [">= 14.18 && < 15", ">= 16"], - "punycode": ">= 0.5", - "node:punycode": [">= 14.18 && < 15", ">= 16"], - "querystring": true, - "node:querystring": [">= 14.18 && < 15", ">= 16"], - "readline": true, - "node:readline": [">= 14.18 && < 15", ">= 16"], - "readline/promises": ">= 17", - "node:readline/promises": ">= 17", - "repl": true, - "node:repl": [">= 14.18 && < 15", ">= 16"], - "node:sea": [">= 20.12 && < 21", ">= 21.7"], - "smalloc": ">= 0.11.5 && < 3", - "node:sqlite": ">= 23.4", - "_stream_duplex": ">= 0.9.4", - "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"], - "_stream_transform": ">= 0.9.4", - "node:_stream_transform": [">= 14.18 && < 15", ">= 16"], - "_stream_wrap": ">= 1.4.1", - "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"], - "_stream_passthrough": ">= 0.9.4", - "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"], - "_stream_readable": ">= 0.9.4", - "node:_stream_readable": [">= 14.18 && < 15", ">= 16"], - "_stream_writable": ">= 0.9.4", - "node:_stream_writable": [">= 14.18 && < 15", ">= 16"], - "stream": true, - "node:stream": [">= 14.18 && < 15", ">= 16"], - "stream/consumers": ">= 16.7", - "node:stream/consumers": ">= 16.7", - "stream/promises": ">= 15", - "node:stream/promises": ">= 16", - "stream/web": ">= 16.5", - "node:stream/web": ">= 16.5", - "string_decoder": true, - "node:string_decoder": [">= 14.18 && < 15", ">= 16"], - "sys": [">= 0.4 && < 0.7", ">= 0.8"], - "node:sys": [">= 14.18 && < 15", ">= 16"], - "test/reporters": ">= 19.9 && < 20.2", - "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"], - "test/mock_loader": ">= 22.3 && < 22.7", - "node:test/mock_loader": ">= 22.3 && < 22.7", - "node:test": [">= 16.17 && < 17", ">= 18"], - "timers": true, - "node:timers": [">= 14.18 && < 15", ">= 16"], - "timers/promises": ">= 15", - "node:timers/promises": ">= 16", - "_tls_common": ">= 0.11.13", - "node:_tls_common": [">= 14.18 && < 15", ">= 16"], - "_tls_legacy": ">= 0.11.3 && < 10", - "_tls_wrap": ">= 0.11.3", - "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"], - "tls": true, - "node:tls": [">= 14.18 && < 15", ">= 16"], - "trace_events": ">= 10", - "node:trace_events": [">= 14.18 && < 15", ">= 16"], - "tty": true, - "node:tty": [">= 14.18 && < 15", ">= 16"], - "url": true, - "node:url": [">= 14.18 && < 15", ">= 16"], - "util": true, - "node:util": [">= 14.18 && < 15", ">= 16"], - "util/types": ">= 15.3", - "node:util/types": ">= 16", - "v8/tools/arguments": ">= 10 && < 12", - "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"], - "v8": ">= 1", - "node:v8": [">= 14.18 && < 15", ">= 16"], - "vm": true, - "node:vm": [">= 14.18 && < 15", ">= 16"], - "wasi": [">= 13.4 && < 13.5", ">= 18.17 && < 19", ">= 20"], - "node:wasi": [">= 18.17 && < 19", ">= 20"], - "worker_threads": ">= 11.7", - "node:worker_threads": [">= 14.18 && < 15", ">= 16"], - "zlib": ">= 0.5", - "node:zlib": [">= 14.18 && < 15", ">= 16"] -} diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/index.js b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/index.js deleted file mode 100644 index 423e20c0..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/index.js +++ /dev/null @@ -1,69 +0,0 @@ -'use strict'; - -var hasOwn = require('hasown'); - -function specifierIncluded(current, specifier) { - var nodeParts = current.split('.'); - var parts = specifier.split(' '); - var op = parts.length > 1 ? parts[0] : '='; - var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.'); - - for (var i = 0; i < 3; ++i) { - var cur = parseInt(nodeParts[i] || 0, 10); - var ver = parseInt(versionParts[i] || 0, 10); - if (cur === ver) { - continue; // eslint-disable-line no-restricted-syntax, no-continue - } - if (op === '<') { - return cur < ver; - } - if (op === '>=') { - return cur >= ver; - } - return false; - } - return op === '>='; -} - -function matchesRange(current, range) { - var specifiers = range.split(/ ?&& ?/); - if (specifiers.length === 0) { - return false; - } - for (var i = 0; i < specifiers.length; ++i) { - if (!specifierIncluded(current, specifiers[i])) { - return false; - } - } - return true; -} - -function versionIncluded(nodeVersion, specifierValue) { - if (typeof specifierValue === 'boolean') { - return specifierValue; - } - - var current = typeof nodeVersion === 'undefined' - ? process.versions && process.versions.node - : nodeVersion; - - if (typeof current !== 'string') { - throw new TypeError(typeof nodeVersion === 'undefined' ? 'Unable to determine current node version' : 'If provided, a valid node version is required'); - } - - if (specifierValue && typeof specifierValue === 'object') { - for (var i = 0; i < specifierValue.length; ++i) { - if (matchesRange(current, specifierValue[i])) { - return true; - } - } - return false; - } - return matchesRange(current, specifierValue); -} - -var data = require('./core.json'); - -module.exports = function isCore(x, nodeVersion) { - return hasOwn(data, x) && versionIncluded(nodeVersion, data[x]); -}; diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/package.json b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/package.json deleted file mode 100644 index 3bff97c3..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "is-core-module", - "version": "2.16.0", - "description": "Is this specifier a node.js core module?", - "main": "index.js", - "sideEffects": false, - "exports": { - ".": "./index.js", - "./package.json": "./package.json" - }, - "scripts": { - "prepack": "npmignore --auto --commentLines=autogenerated", - "prepublish": "not-in-publish || npm run prepublishOnly", - "prepublishOnly": "safe-publish-latest", - "lint": "eslint .", - "pretest": "npm run lint", - "tests-only": "nyc tape 'test/**/*.js'", - "test": "npm run tests-only", - "posttest": "npx npm@'>=10.2' audit --production", - "version": "auto-changelog && git add CHANGELOG.md", - "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/inspect-js/is-core-module.git" - }, - "keywords": [ - "core", - "modules", - "module", - "npm", - "node", - "dependencies" - ], - "author": "Jordan Harband ", - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/inspect-js/is-core-module/issues" - }, - "homepage": "https://github.com/inspect-js/is-core-module", - "dependencies": { - "hasown": "^2.0.2" - }, - "devDependencies": { - "@ljharb/eslint-config": "^21.1.1", - "auto-changelog": "^2.5.0", - "encoding": "^0.1.13", - "eslint": "=8.8.0", - "in-publish": "^2.0.1", - "mock-property": "^1.1.0", - "npmignore": "^0.3.1", - "nyc": "^10.3.2", - "safe-publish-latest": "^2.0.0", - "semver": "^6.3.1", - "tape": "^5.9.0" - }, - "auto-changelog": { - "output": "CHANGELOG.md", - "template": "keepachangelog", - "unreleased": false, - "commitLimit": false, - "backfillLimit": false, - "hideCredit": true - }, - "publishConfig": { - "ignore": [ - ".github" - ] - }, - "engines": { - "node": ">= 0.4" - } -} diff --git a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/test/index.js b/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/test/index.js deleted file mode 100644 index 7a81e1c7..00000000 --- a/node_modules/.pnpm/is-core-module@2.16.0/node_modules/is-core-module/test/index.js +++ /dev/null @@ -1,157 +0,0 @@ -'use strict'; - -var test = require('tape'); -var keys = require('object-keys'); -var semver = require('semver'); -var mockProperty = require('mock-property'); - -var isCore = require('../'); -var data = require('../core.json'); - -var supportsNodePrefix = semver.satisfies(process.versions.node, '^14.18 || >= 16', { includePrerelease: true }); - -test('core modules', function (t) { - t.test('isCore()', function (st) { - st.ok(isCore('fs')); - st.ok(isCore('net')); - st.ok(isCore('http')); - - st.ok(!isCore('seq')); - st.ok(!isCore('../')); - - st.ok(!isCore('toString')); - - st.end(); - }); - - t.test('core list', function (st) { - var cores = keys(data); - st.plan(cores.length); - - for (var i = 0; i < cores.length; ++i) { - var mod = cores[i]; - var requireFunc = function () { require(mod); }; // eslint-disable-line no-loop-func - if (isCore(mod)) { - st.doesNotThrow(requireFunc, mod + ' supported; requiring does not throw'); - } else { - st['throws'](requireFunc, mod + ' not supported; requiring throws'); - } - } - - st.end(); - }); - - t.test('core via repl module', { skip: !data.repl }, function (st) { - var libs = require('repl')._builtinLibs; // eslint-disable-line no-underscore-dangle - if (!libs) { - st.skip('repl._builtinLibs does not exist'); - } else { - for (var i = 0; i < libs.length; ++i) { - var mod = libs[i]; - st.ok(data[mod], mod + ' is a core module'); - st.doesNotThrow( - function () { require(mod); }, // eslint-disable-line no-loop-func - 'requiring ' + mod + ' does not throw' - ); - if (mod.slice(0, 5) !== 'node:') { - if (supportsNodePrefix) { - st.doesNotThrow( - function () { require('node:' + mod); }, // eslint-disable-line no-loop-func - 'requiring node:' + mod + ' does not throw' - ); - } else { - st['throws']( - function () { require('node:' + mod); }, // eslint-disable-line no-loop-func - 'requiring node:' + mod + ' throws' - ); - } - } - } - } - st.end(); - }); - - t.test('core via builtinModules list', { skip: !data.module }, function (st) { - var Module = require('module'); - var libs = Module.builtinModules; - if (!libs) { - st.skip('module.builtinModules does not exist'); - } else { - var excludeList = [ - '_debug_agent', - 'v8/tools/tickprocessor-driver', - 'v8/tools/SourceMap', - 'v8/tools/tickprocessor', - 'v8/tools/profile' - ]; - - // see https://github.com/nodejs/node/issues/42785 - if (semver.satisfies(process.version, '>= 18')) { - libs = libs.concat('node:test'); - } - if (semver.satisfies(process.version, '^20.12 || >= 21.7')) { - libs = libs.concat('node:sea'); - } - if (semver.satisfies(process.version, '>= 23.4')) { - libs = libs.concat('node:sqlite'); - } - - for (var i = 0; i < libs.length; ++i) { - var mod = libs[i]; - if (excludeList.indexOf(mod) === -1) { - st.ok(data[mod], mod + ' is a core module'); - - if (Module.isBuiltin) { - st.ok(Module.isBuiltin(mod), 'module.isBuiltin(' + mod + ') is true'); - } - - st.doesNotThrow( - function () { require(mod); }, // eslint-disable-line no-loop-func - 'requiring ' + mod + ' does not throw' - ); - - if (process.getBuiltinModule) { - st.equal( - process.getBuiltinModule(mod), - require(mod), - 'process.getBuiltinModule(' + mod + ') === require(' + mod + ')' - ); - } - - if (mod.slice(0, 5) !== 'node:') { - if (supportsNodePrefix) { - st.doesNotThrow( - function () { require('node:' + mod); }, // eslint-disable-line no-loop-func - 'requiring node:' + mod + ' does not throw' - ); - } else { - st['throws']( - function () { require('node:' + mod); }, // eslint-disable-line no-loop-func - 'requiring node:' + mod + ' throws' - ); - } - } - } - } - } - - st.end(); - }); - - t.test('Object.prototype pollution', function (st) { - var nonKey = 'not a core module'; - st.teardown(mockProperty(Object.prototype, 'fs', { value: false })); - st.teardown(mockProperty(Object.prototype, 'path', { value: '>= 999999999' })); - st.teardown(mockProperty(Object.prototype, 'http', { value: data.http })); - st.teardown(mockProperty(Object.prototype, nonKey, { value: true })); - - st.equal(isCore('fs'), true, 'fs is a core module even if Object.prototype lies'); - st.equal(isCore('path'), true, 'path is a core module even if Object.prototype lies'); - st.equal(isCore('http'), true, 'path is a core module even if Object.prototype matches data'); - st.equal(isCore(nonKey), false, '"' + nonKey + '" is not a core module even if Object.prototype lies'); - - st.end(); - }); - - t.end(); -}); diff --git a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/LICENSE b/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/LICENSE deleted file mode 100644 index e739abce..00000000 --- a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) Pooya Parsa - -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/.pnpm/jiti@1.21.6/node_modules/jiti/README.md b/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/README.md deleted file mode 100644 index 2da8e4e3..00000000 --- a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/README.md +++ /dev/null @@ -1,164 +0,0 @@ -# jiti - -[![npm version][npm-version-src]][npm-version-href] -[![npm downloads][npm-downloads-src]][npm-downloads-href] -[![bundle][bundle-src]][bundle-href] -[![License][license-src]][license-href] - -Runtime Typescript and ESM support for Node.js. - -> [!IMPORTANT] -> This is the support branch for jiti v1. Check out [jiti/main](https://github.com/unjs/jiti/tree/main) for the latest version and [unjs/jiti#174](https://github.com/unjs/jiti/issues/174) for the roadmap. - -## Features - -- Seamless typescript and ESM syntax support -- Seamless interoperability between ESM and CommonJS -- Synchronous API to replace `require` -- Super slim and zero dependency -- Smart syntax detection to avoid extra transforms -- CommonJS cache integration -- Filesystem transpile hard cache -- V8 compile cache -- Custom resolve alias - -## Usage - -### Programmatic - -```js -const jiti = require("jiti")(__filename); - -jiti("./path/to/file.ts"); -``` - -You can also pass options as second argument: - -```js -const jiti = require("jiti")(__filename, { debug: true }); -``` - -### CLI - -```bash -jiti index.ts -# or npx jiti index.ts -``` - -### Register require hook - -```bash -node -r jiti/register index.ts -``` - -Alternatively, you can register `jiti` as a require hook programmatically: - -```js -const jiti = require("jiti")(); -const unregister = jiti.register(); -``` - -## Options - -### `debug` - -- Type: Boolean -- Default: `false` -- Environment Variable: `JITI_DEBUG` - -Enable debug to see which files are transpiled - -### `cache` - -- Type: Boolean | String -- Default: `true` -- Environment Variable: `JITI_CACHE` - -Use transpile cache - -If set to `true` will use `node_modules/.cache/jiti` (if exists) or `{TMP_DIR}/node-jiti` - -### `esmResolve` - -- Type: Boolean | String -- Default: `false` -- Environment Variable: `JITI_ESM_RESOLVE` - -Using esm resolution algorithm to support `import` condition. - -### `transform` - -- Type: Function -- Default: Babel (lazy loaded) - -Transform function. See [src/babel](./src/babel.ts) for more details - -### `sourceMaps` - -- Type: Boolean -- Default `false` -- Environment Variable: `JITI_SOURCE_MAPS` - -Add inline source map to transformed source for better debugging. - -### `interopDefault` - -- Type: Boolean -- Default: `false` - -Return the `.default` export of a module at the top-level. - -### `alias` - -- Type: Object -- Default: - -- Environment Variable: `JITI_ALIAS` - -Custom alias map used to resolve ids. - -### `nativeModules` - -- Type: Array -- Default: ['typescript`] -- Environment Variable: `JITI_NATIVE_MODULES` - -List of modules (within `node_modules`) to always use native require for them. - -### `transformModules` - -- Type: Array -- Default: [] -- Environment Variable: `JITI_TRANSFORM_MODULES` - -List of modules (within `node_modules`) to transform them regardless of syntax. - -### `experimentalBun` - -- Type: Boolean -- Default: Enabled if `process.versions.bun` exists (Bun runtime) -- Environment Variable: `JITI_EXPERIMENTAL_BUN` - -Enable experimental native Bun support for transformations. - -## Development - -- Clone this repository -- Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable` -- Install dependencies using `pnpm install` -- Run `pnpm dev` -- Run `pnpm jiti ./test/path/to/file.ts` - -## License - -MIT. Made with 💖 - - - -[npm-version-src]: https://img.shields.io/npm/v/jiti?style=flat&colorA=18181B&colorB=F0DB4F -[npm-version-href]: https://npmjs.com/package/jiti -[npm-downloads-src]: https://img.shields.io/npm/dm/jiti?style=flat&colorA=18181B&colorB=F0DB4F -[npm-downloads-href]: https://npmjs.com/package/jiti -[bundle-src]: https://img.shields.io/bundlephobia/minzip/jiti?style=flat&colorA=18181B&colorB=F0DB4F -[bundle-href]: https://bundlephobia.com/result?p=h3 -[license-src]: https://img.shields.io/github/license/unjs/jiti.svg?style=flat&colorA=18181B&colorB=F0DB4F -[license-href]: https://github.com/unjs/jiti/blob/main/LICENSE diff --git a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/bin/jiti.js b/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/bin/jiti.js deleted file mode 100755 index 2867c646..00000000 --- a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/bin/jiti.js +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env node - -const { resolve } = require("node:path"); - -const script = process.argv.splice(2, 1)[0]; - -if (!script) { - - console.error("Usage: jiti [...arguments]"); - process.exit(1); -} - -const pwd = process.cwd(); -const jiti = require("..")(pwd); -const resolved = (process.argv[1] = jiti.resolve(resolve(pwd, script))); -jiti(resolved); diff --git a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.d.ts b/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.d.ts deleted file mode 100644 index ea178d40..00000000 --- a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { TransformOptions, TRANSFORM_RESULT } from "./types"; -export default function transform(opts: TransformOptions): TRANSFORM_RESULT; diff --git a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.js b/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.js deleted file mode 100644 index 57b1ae6e..00000000 --- a/node_modules/.pnpm/jiti@1.21.6/node_modules/jiti/dist/babel.js +++ /dev/null @@ -1,202 +0,0 @@ -(()=>{var __webpack_modules__={"./node_modules/.pnpm/@ampproject+remapping@2.3.0/node_modules/@ampproject/remapping/dist/remapping.umd.js":function(module,__unused_webpack_exports,__webpack_require__){module.exports=function(traceMapping,genMapping){"use strict";const SOURCELESS_MAPPING=SegmentObject("",-1,-1,"",null,!1),EMPTY_SOURCES=[];function SegmentObject(source,line,column,name,content,ignore){return{source,line,column,name,content,ignore}}function Source(map,sources,source,content,ignore){return{map,sources,source,content,ignore}}function MapSource(map,sources){return Source(map,sources,"",null,!1)}function OriginalSource(source,content,ignore){return Source(null,EMPTY_SOURCES,source,content,ignore)}function traceMappings(tree){const gen=new genMapping.GenMapping({file:tree.map.file}),{sources:rootSources,map}=tree,rootNames=map.names,rootMappings=traceMapping.decodedMappings(map);for(let i=0;inew traceMapping.TraceMap(m,""))),map=maps.pop();for(let i=0;i1)throw new Error(`Transformation map ${i} must have exactly one source file.\nDid you specify these with the most recent transformation maps first?`);let tree=build(map,loader,"",0);for(let i=maps.length-1;i>=0;i--)tree=MapSource(maps[i],[tree]);return tree}function build(map,loader,importer,importerDepth){const{resolvedSources,sourcesContent,ignoreList}=map,depth=importerDepth+1;return MapSource(map,resolvedSources.map(((sourceFile,i)=>{const ctx={importer,depth,source:sourceFile||"",content:void 0,ignore:void 0},sourceMap=loader(ctx.source,ctx),{source,content,ignore}=ctx;return sourceMap?build(new traceMapping.TraceMap(sourceMap,source),loader,source,depth):OriginalSource(source,void 0!==content?content:sourcesContent?sourcesContent[i]:null,void 0!==ignore?ignore:!!ignoreList&&ignoreList.includes(i))})))}class SourceMap{constructor(map,options){const out=options.decodedMappings?genMapping.toDecodedMap(map):genMapping.toEncodedMap(map);this.version=out.version,this.file=out.file,this.mappings=out.mappings,this.names=out.names,this.ignoreList=out.ignoreList,this.sourceRoot=out.sourceRoot,this.sources=out.sources,options.excludeContent||(this.sourcesContent=out.sourcesContent)}toString(){return JSON.stringify(this)}}function remapping(input,loader,options){const opts="object"==typeof options?options:{excludeContent:!!options,decodedMappings:!1},tree=buildSourceMapTree(input,loader);return new SourceMap(traceMappings(tree),opts)}return remapping}(__webpack_require__("./node_modules/.pnpm/@jridgewell+trace-mapping@0.3.25/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js"),__webpack_require__("./node_modules/.pnpm/@jridgewell+gen-mapping@0.3.5/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js"))},"./node_modules/.pnpm/@babel+core@7.24.7/node_modules/@babel/core/lib/config/files lazy recursive":module=>{function webpackEmptyAsyncContext(req){return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}))}webpackEmptyAsyncContext.keys=()=>[],webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext,webpackEmptyAsyncContext.id="./node_modules/.pnpm/@babel+core@7.24.7/node_modules/@babel/core/lib/config/files lazy recursive",module.exports=webpackEmptyAsyncContext},"./node_modules/.pnpm/@babel+core@7.24.7/node_modules/@babel/core/lib/config/files sync recursive":module=>{function webpackEmptyContext(req){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id="./node_modules/.pnpm/@babel+core@7.24.7/node_modules/@babel/core/lib/config/files sync recursive",module.exports=webpackEmptyContext},"./node_modules/.pnpm/@babel+plugin-syntax-class-properties@7.12.13_@babel+core@7.24.7/node_modules/@babel/plugin-syntax-class-properties/lib/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default=(0,__webpack_require__("./node_modules/.pnpm/@babel+helper-plugin-utils@7.24.7/node_modules/@babel/helper-plugin-utils/lib/index.js").declare)((api=>(api.assertVersion(7),{name:"syntax-class-properties",manipulateOptions(opts,parserOpts){parserOpts.plugins.push("classProperties","classPrivateProperties","classPrivateMethods")}})));exports.default=_default},"./node_modules/.pnpm/@babel+plugin-syntax-export-namespace-from@7.8.3_@babel+core@7.24.7/node_modules/@babel/plugin-syntax-export-namespace-from/lib/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";exports.A=void 0;var _default=(0,__webpack_require__("./node_modules/.pnpm/@babel+helper-plugin-utils@7.24.7/node_modules/@babel/helper-plugin-utils/lib/index.js").declare)((api=>(api.assertVersion(7),{name:"syntax-export-namespace-from",manipulateOptions(opts,parserOpts){parserOpts.plugins.push("exportNamespaceFrom")}})));exports.A=_default},"./node_modules/.pnpm/@babel+plugin-syntax-nullish-coalescing-operator@7.8.3_@babel+core@7.24.7/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/lib/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";exports.A=void 0;var _default=(0,__webpack_require__("./node_modules/.pnpm/@babel+helper-plugin-utils@7.24.7/node_modules/@babel/helper-plugin-utils/lib/index.js").declare)((api=>(api.assertVersion(7),{name:"syntax-nullish-coalescing-operator",manipulateOptions(opts,parserOpts){parserOpts.plugins.push("nullishCoalescingOperator")}})));exports.A=_default},"./node_modules/.pnpm/@babel+plugin-syntax-optional-chaining@7.8.3_@babel+core@7.24.7/node_modules/@babel/plugin-syntax-optional-chaining/lib/index.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";exports.A=void 0;var _default=(0,__webpack_require__("./node_modules/.pnpm/@babel+helper-plugin-utils@7.24.7/node_modules/@babel/helper-plugin-utils/lib/index.js").declare)((api=>(api.assertVersion(7),{name:"syntax-optional-chaining",manipulateOptions(opts,parserOpts){parserOpts.plugins.push("optionalChaining")}})));exports.A=_default},"./node_modules/.pnpm/@jridgewell+gen-mapping@0.3.5/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js":function(__unused_webpack_module,exports,__webpack_require__){!function(exports,setArray,sourcemapCodec,traceMapping){"use strict";const COLUMN=0,SOURCES_INDEX=1,SOURCE_LINE=2,SOURCE_COLUMN=3,NAMES_INDEX=4,NO_NAME=-1;class GenMapping{constructor({file,sourceRoot}={}){this._names=new setArray.SetArray,this._sources=new setArray.SetArray,this._sourcesContent=[],this._mappings=[],this.file=file,this.sourceRoot=sourceRoot,this._ignoreList=new setArray.SetArray}}function cast(map){return map}function addSegment(map,genLine,genColumn,source,sourceLine,sourceColumn,name,content){return addSegmentInternal(!1,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content)}function addMapping(map,mapping){return addMappingInternal(!1,map,mapping)}const maybeAddSegment=(map,genLine,genColumn,source,sourceLine,sourceColumn,name,content)=>addSegmentInternal(!0,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content),maybeAddMapping=(map,mapping)=>addMappingInternal(!0,map,mapping);function setSourceContent(map,source,content){const{_sources:sources,_sourcesContent:sourcesContent}=cast(map);sourcesContent[setArray.put(sources,source)]=content}function setIgnore(map,source,ignore=!0){const{_sources:sources,_sourcesContent:sourcesContent,_ignoreList:ignoreList}=cast(map),index=setArray.put(sources,source);index===sourcesContent.length&&(sourcesContent[index]=null),ignore?setArray.put(ignoreList,index):setArray.remove(ignoreList,index)}function toDecodedMap(map){const{_mappings:mappings,_sources:sources,_sourcesContent:sourcesContent,_names:names,_ignoreList:ignoreList}=cast(map);return removeEmptyFinalLines(mappings),{version:3,file:map.file||void 0,names:names.array,sourceRoot:map.sourceRoot||void 0,sources:sources.array,sourcesContent,mappings,ignoreList:ignoreList.array}}function toEncodedMap(map){const decoded=toDecodedMap(map);return Object.assign(Object.assign({},decoded),{mappings:sourcemapCodec.encode(decoded.mappings)})}function fromMap(input){const map=new traceMapping.TraceMap(input),gen=new GenMapping({file:map.file,sourceRoot:map.sourceRoot});return putAll(cast(gen)._names,map.names),putAll(cast(gen)._sources,map.sources),cast(gen)._sourcesContent=map.sourcesContent||map.sources.map((()=>null)),cast(gen)._mappings=traceMapping.decodedMappings(map),map.ignoreList&&putAll(cast(gen)._ignoreList,map.ignoreList),gen}function allMappings(map){const out=[],{_mappings:mappings,_sources:sources,_names:names}=cast(map);for(let i=0;i=0&&!(genColumn>=line[i][COLUMN]);index=i--);return index}function insert(array,index,value){for(let i=array.length;i>index;i--)array[i]=array[i-1];array[index]=value}function removeEmptyFinalLines(mappings){const{length}=mappings;let len=length;for(let i=len-1;i>=0&&!(mappings[i].length>0);len=i,i--);leninputType&&(inputType=baseType)}normalizePath(url,inputType);const queryHash=url.query+url.hash;switch(inputType){case 2:case 3:return queryHash;case 4:{const path=url.path.slice(1);return path?isRelative(base||input)&&!isRelative(path)?"./"+path+queryHash:path+queryHash:queryHash||"."}case 5:return url.path+queryHash;default:return url.scheme+"//"+url.user+url.host+url.port+url.path+queryHash}}return resolve}()},"./node_modules/.pnpm/@jridgewell+set-array@1.2.1/node_modules/@jridgewell/set-array/dist/set-array.umd.js":function(__unused_webpack_module,exports){!function(exports){"use strict";class SetArray{constructor(){this._indexes={__proto__:null},this.array=[]}}function cast(set){return set}function get(setarr,key){return cast(setarr)._indexes[key]}function put(setarr,key){const index=get(setarr,key);if(void 0!==index)return index;const{array,_indexes:indexes}=cast(setarr),length=array.push(key);return indexes[key]=length-1}function pop(setarr){const{array,_indexes:indexes}=cast(setarr);0!==array.length&&(indexes[array.pop()]=void 0)}function remove(setarr,key){const index=get(setarr,key);if(void 0===index)return;const{array,_indexes:indexes}=cast(setarr);for(let i=index+1;iBuffer.from(buf.buffer,buf.byteOffset,buf.byteLength).toString()}:{decode(buf){let out="";for(let i=0;i>>=1,shouldNegate&&(value=-2147483648|-value),state[j]+=value,pos}function hasMoreVlq(mappings,i,length){return!(i>=length)&&mappings.charCodeAt(i)!==comma}function sort(line){line.sort(sortComparator)}function sortComparator(a,b){return a[0]-b[0]}function encode(decoded){const state=new Int32Array(5),bufLength=16384,subLength=bufLength-36,buf=new Uint8Array(bufLength),sub=buf.subarray(0,subLength);let pos=0,out="";for(let i=0;i0&&(pos===bufLength&&(out+=td.decode(buf),pos=0),buf[pos++]=semicolon),0!==line.length){state[0]=0;for(let j=0;jsubLength&&(out+=td.decode(sub),buf.copyWithin(0,subLength,pos),pos-=subLength),j>0&&(buf[pos++]=comma),pos=encodeInteger(buf,pos,state,segment,0),1!==segment.length&&(pos=encodeInteger(buf,pos,state,segment,1),pos=encodeInteger(buf,pos,state,segment,2),pos=encodeInteger(buf,pos,state,segment,3),4!==segment.length&&(pos=encodeInteger(buf,pos,state,segment,4)))}}}return out+td.decode(buf.subarray(0,pos))}function encodeInteger(buf,pos,state,segment,j){const next=segment[j];let num=next-state[j];state[j]=next,num=num<0?-num<<1|1:num<<1;do{let clamped=31#num>>>=5,num>0&&(clamped|=32),buf[pos++]=intToChar[clamped]}while(num>0);return pos}exports.decode=decode,exports.encode=encode,Object.defineProperty(exports,"__esModule",{value:!0})}(exports)},"./node_modules/.pnpm/@jridgewell+trace-mapping@0.3.25/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js":function(__unused_webpack_module,exports,__webpack_require__){!function(exports,sourcemapCodec,resolveUri){"use strict";function resolve(input,base){return base&&!base.endsWith("/")&&(base+="/"),resolveUri(input,base)}function stripFilename(path){if(!path)return"";const index=path.lastIndexOf("/");return path.slice(0,index+1)}const COLUMN=0,SOURCES_INDEX=1,SOURCE_LINE=2,SOURCE_COLUMN=3,NAMES_INDEX=4,REV_GENERATED_LINE=1,REV_GENERATED_COLUMN=2;function maybeSort(mappings,owned){const unsortedIndex=nextUnsortedSegmentLine(mappings,0);if(unsortedIndex===mappings.length)return mappings;owned||(mappings=mappings.slice());for(let i=unsortedIndex;i>1),cmp=haystack[mid][COLUMN]-needle;if(0===cmp)return found=!0,mid;cmp<0?low=mid+1:high=mid-1}return found=!1,low-1}function upperBound(haystack,needle,index){for(let i=index+1;i=0&&haystack[i][COLUMN]===needle;index=i--);return index}function memoizedState(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function memoizedBinarySearch(haystack,needle,state,key){const{lastKey,lastNeedle,lastIndex}=state;let low=0,high=haystack.length-1;if(key===lastKey){if(needle===lastNeedle)return found=-1!==lastIndex&&haystack[lastIndex][COLUMN]===needle,lastIndex;needle>=lastNeedle?low=-1===lastIndex?0:lastIndex:high=lastIndex}return state.lastKey=key,state.lastNeedle=needle,state.lastIndex=binarySearch(haystack,needle,low,high)}function buildBySources(decoded,memos){const sources=memos.map(buildNullArray);for(let i=0;iindex;i--)array[i]=array[i-1];array[index]=value}function buildNullArray(){return{__proto__:null}}const AnyMap=function(map,mapUrl){const parsed=parse(map);if(!("sections"in parsed))return new TraceMap(parsed,mapUrl);const mappings=[],sources=[],sourcesContent=[],names=[],ignoreList=[];return recurse(parsed,mapUrl,mappings,sources,sourcesContent,names,ignoreList,0,0,1/0,1/0),presortedDecodedMap({version:3,file:parsed.file,names,sources,sourcesContent,mappings,ignoreList})};function parse(map){return"string"==typeof map?JSON.parse(map):map}function recurse(input,mapUrl,mappings,sources,sourcesContent,names,ignoreList,lineOffset,columnOffset,stopLine,stopColumn){const{sections}=input;for(let i=0;istopLine)return;const out=getLine(mappings,lineI),cOffset=0===i?columnOffset:0,line=decoded[i];for(let j=0;j=stopColumn)return;if(1===seg.length){out.push([column]);continue}const sourcesIndex=sourcesOffset+seg[SOURCES_INDEX],sourceLine=seg[SOURCE_LINE],sourceColumn=seg[SOURCE_COLUMN];out.push(4===seg.length?[column,sourcesIndex,sourceLine,sourceColumn]:[column,sourcesIndex,sourceLine,sourceColumn,namesOffset+seg[NAMES_INDEX]])}}}function append(arr,other){for(let i=0;iresolve(s||"",from)));const{mappings}=parsed;"string"==typeof mappings?(this._encoded=mappings,this._decoded=void 0):(this._encoded=void 0,this._decoded=maybeSort(mappings,isString)),this._decodedMemo=memoizedState(),this._bySources=void 0,this._bySourceMemos=void 0}}function cast(map){return map}function encodedMappings(map){var _a,_b;return null!==(_a=(_b=cast(map))._encoded)&&void 0!==_a?_a:_b._encoded=sourcemapCodec.encode(cast(map)._decoded)}function decodedMappings(map){var _a;return(_a=cast(map))._decoded||(_a._decoded=sourcemapCodec.decode(cast(map)._encoded))}function traceSegment(map,line,column){const decoded=decodedMappings(map);if(line>=decoded.length)return null;const segments=decoded[line],index=traceSegmentInternal(segments,cast(map)._decodedMemo,line,column,GREATEST_LOWER_BOUND);return-1===index?null:segments[index]}function originalPositionFor(map,needle){let{line,column,bias}=needle;if(line--,line<0)throw new Error(LINE_GTR_ZERO);if(column<0)throw new Error(COL_GTR_EQ_ZERO);const decoded=decodedMappings(map);if(line>=decoded.length)return OMapping(null,null,null,null);const segments=decoded[line],index=traceSegmentInternal(segments,cast(map)._decodedMemo,line,column,bias||GREATEST_LOWER_BOUND);if(-1===index)return OMapping(null,null,null,null);const segment=segments[index];if(1===segment.length)return OMapping(null,null,null,null);const{names,resolvedSources}=map;return OMapping(resolvedSources[segment[SOURCES_INDEX]],segment[SOURCE_LINE]+1,segment[SOURCE_COLUMN],5===segment.length?names[segment[NAMES_INDEX]]:null)}function generatedPositionFor(map,needle){const{source,line,column,bias}=needle;return generatedPosition(map,source,line,column,bias||GREATEST_LOWER_BOUND,!1)}function allGeneratedPositionsFor(map,needle){const{source,line,column,bias}=needle;return generatedPosition(map,source,line,column,bias||LEAST_UPPER_BOUND,!0)}function eachMapping(map,cb){const decoded=decodedMappings(map),{names,resolvedSources}=map;for(let i=0;i{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(api){var transformImport=(0,_utils.createDynamicImportTransform)(api);return{manipulateOptions:function(opts,parserOpts){parserOpts.plugins.push("dynamicImport")},visitor:{Import:function(path){transformImport(this,path)}}}};var _utils=__webpack_require__("./node_modules/.pnpm/babel-plugin-dynamic-import-node@2.3.3/node_modules/babel-plugin-dynamic-import-node/lib/utils.js");module.exports=exports.default},"./node_modules/.pnpm/babel-plugin-dynamic-import-node@2.3.3/node_modules/babel-plugin-dynamic-import-node/lib/utils.js":(__unused_webpack_module,exports)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _slicedToArray=function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return function(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function getImportSource(t,callNode){var importArguments=callNode.arguments,importPath=_slicedToArray(importArguments,1)[0];return t.isStringLiteral(importPath)||t.isTemplateLiteral(importPath)?(t.removeComments(importPath),importPath):t.templateLiteral([t.templateElement({raw:"",cooked:""}),t.templateElement({raw:"",cooked:""},!0)],importArguments)}exports.getImportSource=getImportSource,exports.createDynamicImportTransform=function(_ref){var template=_ref.template,t=_ref.types,builders={static:{interop:template("Promise.resolve().then(() => INTEROP(require(SOURCE)))"),noInterop:template("Promise.resolve().then(() => require(SOURCE))")},dynamic:{interop:template("Promise.resolve(SOURCE).then(s => INTEROP(require(s)))"),noInterop:template("Promise.resolve(SOURCE).then(s => require(s))")}},visited="function"==typeof WeakSet&&new WeakSet;return function(context,path){if(visited){if(visited.has(path))return;visited.add(path)}var node,SOURCE=getImportSource(t,path.parent),builder=(node=SOURCE,t.isStringLiteral(node)||t.isTemplateLiteral(node)&&0===node.expressions.length?builders.static:builders.dynamic),newImport=context.opts.noInterop?builder.noInterop({SOURCE}):builder.interop({SOURCE,INTEROP:context.addHelper("interopRequireWildcard")});path.parentPath.replaceWith(newImport)}}},"./node_modules/.pnpm/babel-plugin-parameter-decorator@1.0.16/node_modules/babel-plugin-parameter-decorator/lib/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var _path=__webpack_require__("path");function isInType(path){switch(path.parent.type){case"TSTypeReference":case"TSQualifiedName":case"TSExpressionWithTypeArguments":case"TSTypeQuery":return!0;default:return!1}}module.exports=function(_ref){var types=_ref.types,decoratorExpressionForConstructor=function(decorator,param){return function(className){var resultantDecorator=types.callExpression(decorator.expression,[types.Identifier(className),types.Identifier("undefined"),types.NumericLiteral(param.key)]),resultantDecoratorWithFallback=types.logicalExpression("||",resultantDecorator,types.Identifier(className)),assignment=types.assignmentExpression("=",types.Identifier(className),resultantDecoratorWithFallback);return types.expressionStatement(assignment)}},decoratorExpressionForMethod=function(decorator,param){return function(className,functionName){var resultantDecorator=types.callExpression(decorator.expression,[types.Identifier("".concat(className,".prototype")),types.StringLiteral(functionName),types.NumericLiteral(param.key)]);return types.expressionStatement(resultantDecorator)}};return{visitor:{Program:function(path,state){var extension=(0,_path.extname)(state.file.opts.filename);".ts"!==extension&&".tsx"!==extension||function(){var decorators=Object.create(null);path.node.body.filter((function(it){var type=it.type,declaration=it.declaration;switch(type){case"ClassDeclaration":return!0;case"ExportNamedDeclaration":case"ExportDefaultDeclaration":return declaration&&"ClassDeclaration"===declaration.type;default:return!1}})).map((function(it){return"ClassDeclaration"===it.type?it:it.declaration})).forEach((function(clazz){clazz.body.body.forEach((function(body){(body.params||[]).forEach((function(param){(param.decorators||[]).forEach((function(decorator){decorator.expression.callee?decorators[decorator.expression.callee.name]=decorator:decorators[decorator.expression.name]=decorator}))}))}))}));var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=path.get("body")[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var stmt=_step.value;if("ImportDeclaration"===stmt.node.type){if(0===stmt.node.specifiers.length)continue;var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_loop=function(){var specifier=_step2.value,binding=stmt.scope.getBinding(specifier.local.name);binding.referencePaths.length?binding.referencePaths.reduce((function(prev,next){return prev||isInType(next)}),!1)&&Object.keys(decorators).forEach((function(k){var decorator=decorators[k];(decorator.expression.arguments||[]).forEach((function(arg){arg.name===specifier.local.name&&binding.referencePaths.push({parent:decorator.expression})}))})):decorators[specifier.local.name]&&binding.referencePaths.push({parent:decorators[specifier.local.name]})},_iterator2=stmt.node.specifiers[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0)_loop()}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{_iteratorNormalCompletion2||null==_iterator2.return||_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}}}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{_iteratorNormalCompletion||null==_iterator.return||_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}()},Function:function(path){var functionName="";path.node.id?functionName=path.node.id.name:path.node.key&&(functionName=path.node.key.name),(path.get("params")||[]).slice().forEach((function(param){var decorators=param.node.decorators||[],transformable=decorators.length;if(decorators.slice().forEach((function(decorator){if("ClassMethod"===path.type){var classIdentifier,parentNode=path.parentPath.parentPath,classDeclaration=path.findParent((function(p){return"ClassDeclaration"===p.type}));if(classDeclaration?classIdentifier=classDeclaration.node.id.name:(parentNode.insertAfter(null),classIdentifier=function(path){var assignment=path.findParent((function(p){return"AssignmentExpression"===p.node.type}));return"SequenceExpression"===assignment.node.right.type?assignment.node.right.expressions[1].name:"ClassExpression"===assignment.node.right.type?assignment.node.left.name:null}(path)),"constructor"===functionName){var expression=decoratorExpressionForConstructor(decorator,param)(classIdentifier);parentNode.insertAfter(expression)}else{var _expression=decoratorExpressionForMethod(decorator,param)(classIdentifier,functionName);parentNode.insertAfter(_expression)}}else{var className=path.findParent((function(p){return"VariableDeclarator"===p.node.type})).node.id.name;if(functionName===className){var _expression2=decoratorExpressionForConstructor(decorator,param)(className);if("body"===path.parentKey)path.insertAfter(_expression2);else path.findParent((function(p){return"body"===p.parentKey})).insertAfter(_expression2)}else{var classParent=path.findParent((function(p){return"CallExpression"===p.node.type})),_expression3=decoratorExpressionForMethod(decorator,param)(className,functionName);classParent.insertAfter(_expression3)}}})),transformable){var replacement=function(path){switch(path.node.type){case"ObjectPattern":return types.ObjectPattern(path.node.properties);case"AssignmentPattern":return types.AssignmentPattern(path.node.left,path.node.right);case"TSParameterProperty":return types.Identifier(path.node.parameter.name);default:return types.Identifier(path.node.name)}}(param);param.replaceWith(replacement)}}))}}}}},"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.24.7_@babel+traverse@7.24.7/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/metadataVisitor.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.metadataVisitor=function(classPath,path){const field=path.node,classNode=classPath.node;switch(field.type){case"ClassMethod":const decorators="constructor"===field.kind?classNode.decorators:field.decorators;if(!decorators||0===decorators.length)return;decorators.push(createMetadataDesignDecorator("design:type",_core.types.identifier("Function"))),decorators.push(createMetadataDesignDecorator("design:paramtypes",_core.types.arrayExpression(field.params.map((param=>(0,_serializeType.serializeType)(classPath,param))))));break;case"ClassProperty":if(!field.decorators||0===field.decorators.length)return;if(!field.typeAnnotation||"TSTypeAnnotation"!==field.typeAnnotation.type)return;field.decorators.push(createMetadataDesignDecorator("design:type",(0,_serializeType.serializeType)(classPath,field)))}};var _core=__webpack_require__("./node_modules/.pnpm/@babel+core@7.24.7/node_modules/@babel/core/lib/index.js"),_serializeType=__webpack_require__("./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.24.7_@babel+traverse@7.24.7/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/serializeType.js");function createMetadataDesignDecorator(design,typeArg){return _core.types.decorator(_core.types.callExpression(_core.types.memberExpression(_core.types.identifier("Reflect"),_core.types.identifier("metadata")),[_core.types.stringLiteral(design),typeArg]))}},"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.24.7_@babel+traverse@7.24.7/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/serializeType.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.serializeType=function(classPath,param){const node=getTypedNode(param);if(null==node)return createVoidZero();if(!node.typeAnnotation||"TSTypeAnnotation"!==node.typeAnnotation.type)return createVoidZero();const annotation=node.typeAnnotation.typeAnnotation;return serializeTypeNode(classPath.node.id?classPath.node.id.name:"",annotation)},exports.isClassType=isClassType;var _core=__webpack_require__("./node_modules/.pnpm/@babel+core@7.24.7/node_modules/@babel/core/lib/index.js");function createVoidZero(){return _core.types.unaryExpression("void",_core.types.numericLiteral(0))}function getTypedNode(param){return null==param?null:"ClassProperty"===param.type||"Identifier"===param.type||"ObjectPattern"===param.type?param:"AssignmentPattern"===param.type&&"Identifier"===param.left.type?param.left:"TSParameterProperty"===param.type?getTypedNode(param.parameter):null}function serializeTypeReferenceNode(className,node){const reference=serializeReference(node.typeName);return isClassType(className,reference)?_core.types.identifier("Object"):_core.types.conditionalExpression(_core.types.binaryExpression("===",_core.types.unaryExpression("typeof",reference),_core.types.stringLiteral("undefined")),_core.types.identifier("Object"),_core.types.cloneDeep(reference))}function isClassType(className,node){switch(node.type){case"Identifier":return node.name===className;case"MemberExpression":return isClassType(className,node.object);default:throw new Error(`The property expression at ${node.start} is not valid as a Type to be used in Reflect.metadata`)}}function serializeReference(typeName){return"Identifier"===typeName.type?_core.types.identifier(typeName.name):_core.types.memberExpression(serializeReference(typeName.left),typeName.right)}function serializeTypeNode(className,node){if(void 0===node)return _core.types.identifier("Object");switch(node.type){case"TSVoidKeyword":case"TSUndefinedKeyword":case"TSNullKeyword":case"TSNeverKeyword":return createVoidZero();case"TSParenthesizedType":return serializeTypeNode(className,node.typeAnnotation);case"TSFunctionType":case"TSConstructorType":return _core.types.identifier("Function");case"TSArrayType":case"TSTupleType":return _core.types.identifier("Array");case"TSTypePredicate":case"TSBooleanKeyword":return _core.types.identifier("Boolean");case"TSStringKeyword":return _core.types.identifier("String");case"TSObjectKeyword":return _core.types.identifier("Object");case"TSLiteralType":switch(node.literal.type){case"StringLiteral":return _core.types.identifier("String");case"NumericLiteral":return _core.types.identifier("Number");case"BooleanLiteral":return _core.types.identifier("Boolean");default:throw new Error("Bad type for decorator"+node.literal)}case"TSNumberKeyword":case"TSBigIntKeyword":return _core.types.identifier("Number");case"TSSymbolKeyword":return _core.types.identifier("Symbol");case"TSTypeReference":return serializeTypeReferenceNode(className,node);case"TSIntersectionType":case"TSUnionType":return serializeTypeList(className,node.types);case"TSConditionalType":return serializeTypeList(className,[node.trueType,node.falseType]);case"TSTypeQuery":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTypeLiteral":case"TSAnyKeyword":case"TSUnknownKeyword":case"TSThisType":break;default:throw new Error("Bad type for decorator")}return _core.types.identifier("Object")}function serializeTypeList(className,types){let serializedUnion;for(let typeNode of types){for(;"TSParenthesizedType"===typeNode.type;)typeNode=typeNode.typeAnnotation;if("TSNeverKeyword"===typeNode.type)continue;if("TSNullKeyword"===typeNode.type||"TSUndefinedKeyword"===typeNode.type)continue;const serializedIndividual=serializeTypeNode(className,typeNode);if(_core.types.isIdentifier(serializedIndividual)&&"Object"===serializedIndividual.name)return serializedIndividual;if(serializedUnion){if(!_core.types.isIdentifier(serializedUnion)||!_core.types.isIdentifier(serializedIndividual)||serializedUnion.name!==serializedIndividual.name)return _core.types.identifier("Object")}else serializedUnion=serializedIndividual}return serializedUnion||createVoidZero()}},"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.24.7_@babel+traverse@7.24.7/node_modules/babel-plugin-transform-typescript-metadata/lib/parameter/parameterVisitor.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parameterVisitor=function(classPath,path){if("ClassMethod"!==path.type)return;if("ClassMethod"!==path.node.type)return;if("Identifier"!==path.node.key.type)return;const methodPath=path;(methodPath.get("params")||[]).slice().forEach((function(param){let resultantDecorator;null!=("Identifier"===param.node.type||"ObjectPattern"===param.node.type?param.node:"TSParameterProperty"===param.node.type&&"Identifier"===param.node.parameter.type?param.node.parameter:null)&&((param.node.decorators||[]).slice().forEach((function(decorator){"constructor"===methodPath.node.kind?(resultantDecorator=createParamDecorator(param.key,decorator.expression,!0),classPath.node.decorators||(classPath.node.decorators=[]),classPath.node.decorators.push(resultantDecorator)):(resultantDecorator=createParamDecorator(param.key,decorator.expression,!1),methodPath.node.decorators||(methodPath.node.decorators=[]),methodPath.node.decorators.push(resultantDecorator))})),resultantDecorator&&(param.node.decorators=null))}))};var _core=__webpack_require__("./node_modules/.pnpm/@babel+core@7.24.7/node_modules/@babel/core/lib/index.js");function createParamDecorator(paramIndex,decoratorExpression,isConstructor=!1){return _core.types.decorator(_core.types.functionExpression(null,[_core.types.identifier("target"),_core.types.identifier("key")],_core.types.blockStatement([_core.types.returnStatement(_core.types.callExpression(decoratorExpression,[_core.types.identifier("target"),_core.types.identifier(isConstructor?"undefined":"key"),_core.types.numericLiteral(paramIndex)]))])))}},"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.24.7_@babel+traverse@7.24.7/node_modules/babel-plugin-transform-typescript-metadata/lib/plugin.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _helperPluginUtils=__webpack_require__("./node_modules/.pnpm/@babel+helper-plugin-utils@7.24.7/node_modules/@babel/helper-plugin-utils/lib/index.js"),_parameterVisitor=__webpack_require__("./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.24.7_@babel+traverse@7.24.7/node_modules/babel-plugin-transform-typescript-metadata/lib/parameter/parameterVisitor.js"),_metadataVisitor=__webpack_require__("./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.24.7_@babel+traverse@7.24.7/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/metadataVisitor.js"),_default=(0,_helperPluginUtils.declare)((api=>(api.assertVersion(7),{visitor:{Program(programPath){programPath.traverse({ClassDeclaration(path){for(const field of path.get("body").get("body"))"ClassMethod"!==field.type&&"ClassProperty"!==field.type||((0,_parameterVisitor.parameterVisitor)(path,field),(0,_metadataVisitor.metadataVisitor)(path,field));path.parentPath.scope.crawl()}})}}})));exports.default=_default},"./node_modules/.pnpm/convert-source-map@2.0.0/node_modules/convert-source-map/index.js":(__unused_webpack_module,exports)=>{"use strict";var decodeBase64;function Converter(sm,opts){(opts=opts||{}).hasComment&&(sm=function(sm){return sm.split(",").pop()}(sm)),"base64"===opts.encoding?sm=decodeBase64(sm):"uri"===opts.encoding&&(sm=decodeURIComponent(sm)),(opts.isJSON||opts.encoding)&&(sm=JSON.parse(sm)),this.sourcemap=sm}function makeConverter(sm){return new Converter(sm,{isJSON:!0})}Object.defineProperty(exports,"commentRegex",{get:function(){return/^\s*?\/[\/\*][@#]\s+?sourceMappingURL=data:(((?:application|text)\/json)(?:;charset=([^;,]+?)?)?)?(?:;(base64))?,(.*?)$/gm}}),Object.defineProperty(exports,"mapFileCommentRegex",{get:function(){return/(?:\/\/[@#][ \t]+?sourceMappingURL=([^\s'"`]+?)[ \t]*?$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*?(?:\*\/){1}[ \t]*?$)/gm}}),decodeBase64="undefined"!=typeof Buffer?"function"==typeof Buffer.from?function(base64){return Buffer.from(base64,"base64").toString()}:function(base64){if("number"==typeof value)throw new TypeError("The value to decode must not be of type number.");return new Buffer(base64,"base64").toString()}:function(base64){return decodeURIComponent(escape(atob(base64)))},Converter.prototype.toJSON=function(space){return JSON.stringify(this.sourcemap,null,space)},"undefined"!=typeof Buffer?"function"==typeof Buffer.from?Converter.prototype.toBase64=function(){var json=this.toJSON();return Buffer.from(json,"utf8").toString("base64")}:Converter.prototype.toBase64=function(){var json=this.toJSON();if("number"==typeof json)throw new TypeError("The json to encode must not be of type number.");return new Buffer(json,"utf8").toString("base64")}:Converter.prototype.toBase64=function(){var json=this.toJSON();return btoa(unescape(encodeURIComponent(json)))},Converter.prototype.toURI=function(){var json=this.toJSON();return encodeURIComponent(json)},Converter.prototype.toComment=function(options){var encoding,content,data;return null!=options&&"uri"===options.encoding?(encoding="",content=this.toURI()):(encoding=";base64",content=this.toBase64()),data="sourceMappingURL=data:application/json;charset=utf-8"+encoding+","+content,null!=options&&options.multiline?"/*# "+data+" */":"//# "+data},Converter.prototype.toObject=function(){return JSON.parse(this.toJSON())},Converter.prototype.addProperty=function(key,value){if(this.sourcemap.hasOwnProperty(key))throw new Error('property "'+key+'" already exists on the sourcemap, use set property instead');return this.setProperty(key,value)},Converter.prototype.setProperty=function(key,value){return this.sourcemap[key]=value,this},Converter.prototype.getProperty=function(key){return this.sourcemap[key]},exports.fromObject=function(obj){return new Converter(obj)},exports.fromJSON=function(json){return new Converter(json,{isJSON:!0})},exports.fromURI=function(uri){return new Converter(uri,{encoding:"uri"})},exports.fromBase64=function(base64){return new Converter(base64,{encoding:"base64"})},exports.fromComment=function(comment){var m;return new Converter(comment=comment.replace(/^\/\*/g,"//").replace(/\*\/$/g,""),{encoding:(m=exports.commentRegex.exec(comment))&&m[4]||"uri",hasComment:!0})},exports.fromMapFileComment=function(comment,read){if("string"==typeof read)throw new Error("String directory paths are no longer supported with `fromMapFileComment`\nPlease review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading");var sm=function(sm,read){var r=exports.mapFileCommentRegex.exec(sm),filename=r[1]||r[2];try{return null!=(sm=read(filename))&&"function"==typeof sm.catch?sm.catch(throwError):sm}catch(e){throwError(e)}function throwError(e){throw new Error("An error occurred while trying to read the map file at "+filename+"\n"+e.stack)}}(comment,read);return null!=sm&&"function"==typeof sm.then?sm.then(makeConverter):makeConverter(sm)},exports.fromSource=function(content){var m=content.match(exports.commentRegex);return m?exports.fromComment(m.pop()):null},exports.fromMapFileSource=function(content,read){if("string"==typeof read)throw new Error("String directory paths are no longer supported with `fromMapFileSource`\nPlease review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading");var m=content.match(exports.mapFileCommentRegex);return m?exports.fromMapFileComment(m.pop(),read):null},exports.removeComments=function(src){return src.replace(exports.commentRegex,"")},exports.removeMapFileComments=function(src){return src.replace(exports.mapFileCommentRegex,"")},exports.generateMapFileComment=function(file,options){var data="sourceMappingURL="+file;return options&&options.multiline?"/*# "+data+" */":"//# "+data}},"./node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/browser.js":(module,exports,__webpack_require__)=>{exports.formatArgs=function(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,(match=>{"%%"!==match&&(index++,"%c"===match&&(lastC=index))})),args.splice(lastC,0,c)},exports.save=function(namespaces){try{namespaces?exports.storage.setItem("debug",namespaces):exports.storage.removeItem("debug")}catch(error){}},exports.load=function(){let r;try{r=exports.storage.getItem("debug")}catch(error){}!r&&"undefined"!=typeof process&&"env"in process&&(r=process.env.DEBUG);return r},exports.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},exports.storage=function(){try{return localStorage}catch(error){}}(),exports.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],exports.log=console.debug||console.log||(()=>{}),module.exports=__webpack_require__("./node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/common.js")(exports);const{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}},"./node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/common.js":(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=function(env){function createDebug(namespace){let prevTime,namespacesCache,enabledCache,enableOverride=null;function debug(...args){if(!debug.enabled)return;const self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),"string"!=typeof args[0]&&args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,((match,format)=>{if("%%"===match)return"%";index++;const formatter=createDebug.formatters[format];if("function"==typeof formatter){const val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match})),createDebug.formatArgs.call(self,args);(self.log||createDebug.log).apply(self,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==enableOverride?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set:v=>{enableOverride=v}}),"function"==typeof createDebug.init&&createDebug.init(debug),debug}function extend(namespace,delimiter){const newDebug=createDebug(this.namespace+(void 0===delimiter?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}return createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=function(val){if(val instanceof Error)return val.stack||val.message;return val},createDebug.disable=function(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map((namespace=>"-"+namespace))].join(",");return createDebug.enable(""),namespaces},createDebug.enable=function(namespaces){let i;createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];const split=("string"==typeof namespaces?namespaces:"").split(/[\s,]+/),len=split.length;for(i=0;i{createDebug[key]=env[key]})),createDebug.names=[],createDebug.skips=[],createDebug.formatters={},createDebug.selectColor=function(namespace){let hash=0;for(let i=0;i{"undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?module.exports=__webpack_require__("./node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/browser.js"):module.exports=__webpack_require__("./node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/node.js")},"./node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/node.js":(module,exports,__webpack_require__)=>{const tty=__webpack_require__("tty"),util=__webpack_require__("util");exports.init=function(debug){debug.inspectOpts={};const keys=Object.keys(exports.inspectOpts);for(let i=0;i{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),exports.colors=[6,2,3,4,5,1];try{const supportsColor=__webpack_require__("./node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js");supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(error){}exports.inspectOpts=Object.keys(process.env).filter((key=>/^debug_/i.test(key))).reduce(((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,((_,k)=>k.toUpperCase()));let val=process.env[key];return val=!!/^(yes|on|true|enabled)$/i.test(val)||!/^(no|off|false|disabled)$/i.test(val)&&("null"===val?null:Number(val)),obj[prop]=val,obj}),{}),module.exports=__webpack_require__("./node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/common.js")(exports);const{formatters}=module.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split("\n").map((str=>str.trim())).join(" ")},formatters.O=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts)}},"./node_modules/.pnpm/gensync@1.0.0-beta.2/node_modules/gensync/index.js":module=>{"use strict";const GENSYNC_START=Symbol.for("gensync:v1:start"),GENSYNC_SUSPEND=Symbol.for("gensync:v1:suspend"),GENSYNC_EXPECTED_START="GENSYNC_EXPECTED_START",GENSYNC_EXPECTED_SUSPEND="GENSYNC_EXPECTED_SUSPEND",GENSYNC_OPTIONS_ERROR="GENSYNC_OPTIONS_ERROR";function assertTypeof(type,name,value,allowUndefined){if(typeof value===type||allowUndefined&&void 0===value)return;let msg;throw msg=allowUndefined?`Expected opts.${name} to be either a ${type}, or undefined.`:`Expected opts.${name} to be a ${type}.`,makeError(msg,GENSYNC_OPTIONS_ERROR)}function makeError(msg,code){return Object.assign(new Error(msg),{code})}function buildOperation({name,arity,sync,async}){return setFunctionMetadata(name,arity,(function*(...args){const resume=yield GENSYNC_START;if(!resume){return sync.call(this,args)}let result;try{async.call(this,args,(value=>{result||(result={value},resume())}),(err=>{result||(result={err},resume())}))}catch(err){result={err},resume()}if(yield GENSYNC_SUSPEND,result.hasOwnProperty("err"))throw result.err;return result.value}))}function evaluateSync(gen){let value;for(;!({value}=gen.next()).done;)assertStart(value,gen);return value}function evaluateAsync(gen,resolve,reject){!function step(){try{let value;for(;!({value}=gen.next()).done;){assertStart(value,gen);let sync=!0,didSyncResume=!1;const out=gen.next((()=>{sync?didSyncResume=!0:step()}));if(sync=!1,assertSuspend(out,gen),!didSyncResume)return}return resolve(value)}catch(err){return reject(err)}}()}function assertStart(value,gen){value!==GENSYNC_START&&throwError(gen,makeError(`Got unexpected yielded value in gensync generator: ${JSON.stringify(value)}. Did you perhaps mean to use 'yield*' instead of 'yield'?`,GENSYNC_EXPECTED_START))}function assertSuspend({value,done},gen){(done||value!==GENSYNC_SUSPEND)&&throwError(gen,makeError(done?"Unexpected generator completion. If you get this, it is probably a gensync bug.":`Expected GENSYNC_SUSPEND, got ${JSON.stringify(value)}. If you get this, it is probably a gensync bug.`,GENSYNC_EXPECTED_SUSPEND))}function throwError(gen,err){throw gen.throw&&gen.throw(err),err}function setFunctionMetadata(name,arity,fn){if("string"==typeof name){const nameDesc=Object.getOwnPropertyDescriptor(fn,"name");nameDesc&&!nameDesc.configurable||Object.defineProperty(fn,"name",Object.assign(nameDesc||{},{configurable:!0,value:name}))}if("number"==typeof arity){const lengthDesc=Object.getOwnPropertyDescriptor(fn,"length");lengthDesc&&!lengthDesc.configurable||Object.defineProperty(fn,"length",Object.assign(lengthDesc||{},{configurable:!0,value:arity}))}return fn}module.exports=Object.assign((function(optsOrFn){let genFn=optsOrFn;return genFn="function"!=typeof optsOrFn?function({name,arity,sync,async,errback}){if(assertTypeof("string","name",name,!0),assertTypeof("number","arity",arity,!0),assertTypeof("function","sync",sync),assertTypeof("function","async",async,!0),assertTypeof("function","errback",errback,!0),async&&errback)throw makeError("Expected one of either opts.async or opts.errback, but got _both_.",GENSYNC_OPTIONS_ERROR);if("string"!=typeof name){let fnName;errback&&errback.name&&"errback"!==errback.name&&(fnName=errback.name),async&&async.name&&"async"!==async.name&&(fnName=async.name.replace(/Async$/,"")),sync&&sync.name&&"sync"!==sync.name&&(fnName=sync.name.replace(/Sync$/,"")),"string"==typeof fnName&&(name=fnName)}"number"!=typeof arity&&(arity=sync.length);return buildOperation({name,arity,sync:function(args){return sync.apply(this,args)},async:function(args,resolve,reject){async?async.apply(this,args).then(resolve,reject):errback?errback.call(this,...args,((err,value)=>{null==err?resolve(value):reject(err)})):resolve(sync.apply(this,args))}})}(optsOrFn):function(genFn){return setFunctionMetadata(genFn.name,genFn.length,(function(...args){return genFn.apply(this,args)}))}(optsOrFn),Object.assign(genFn,function(genFn){const fns={sync:function(...args){return evaluateSync(genFn.apply(this,args))},async:function(...args){return new Promise(((resolve,reject)=>{evaluateAsync(genFn.apply(this,args),resolve,reject)}))},errback:function(...args){const cb=args.pop();if("function"!=typeof cb)throw makeError("Asynchronous function called without callback","GENSYNC_ERRBACK_NO_CALLBACK");let gen;try{gen=genFn.apply(this,args)}catch(err){return void cb(err)}evaluateAsync(gen,(val=>cb(void 0,val)),(err=>cb(err)))}};return fns}(genFn))}),{all:buildOperation({name:"all",arity:1,sync:function(args){return Array.from(args[0]).map((item=>evaluateSync(item)))},async:function(args,resolve,reject){const items=Array.from(args[0]);if(0===items.length)return void Promise.resolve().then((()=>resolve([])));let count=0;const results=items.map((()=>{}));items.forEach(((item,i)=>{evaluateAsync(item,(val=>{results[i]=val,count+=1,count===results.length&&resolve(results)}),reject)}))}}),race:buildOperation({name:"race",arity:1,sync:function(args){const items=Array.from(args[0]);if(0===items.length)throw makeError("Must race at least 1 item","GENSYNC_RACE_NONEMPTY");return evaluateSync(items[0])},async:function(args,resolve,reject){const items=Array.from(args[0]);if(0===items.length)throw makeError("Must race at least 1 item","GENSYNC_RACE_NONEMPTY");for(const item of items)evaluateAsync(item,resolve,reject)}})})},"./node_modules/.pnpm/globals@11.12.0/node_modules/globals/index.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";module.exports=__webpack_require__("./node_modules/.pnpm/globals@11.12.0/node_modules/globals/globals.json")},"./node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js":module=>{"use strict";module.exports=(flag,argv=process.argv)=>{const prefix=flag.startsWith("-")?"":1===flag.length?"-":"--",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf("--");return-1!==position&&(-1===terminatorPosition||position{"use strict";const object={},hasOwnProperty=object.hasOwnProperty,forOwn=(object,callback)=>{for(const key in object)hasOwnProperty.call(object,key)&&callback(key,object[key])},toString=object.toString,isArray=Array.isArray,isBuffer=Buffer.isBuffer,singleEscapes={'"':'\\"',"'":"\\'","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},regexSingleEscape=/["'\\\b\f\n\r\t]/,regexDigit=/[0-9]/,regexWhitelist=/[ !#-&\(-\[\]-_a-~]/,jsesc=(argument,options)=>{const increaseIndentation=()=>{oldIndent=indent,++options.indentLevel,indent=options.indent.repeat(options.indentLevel)},defaults={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\t",indentLevel:0,__inline1__:!1,__inline2__:!1},json=options&&options.json;var destination,source;json&&(defaults.quotes="double",defaults.wrap=!0),destination=defaults,"single"!=(options=(source=options)?(forOwn(source,((key,value)=>{destination[key]=value})),destination):destination).quotes&&"double"!=options.quotes&&"backtick"!=options.quotes&&(options.quotes="single");const quote="double"==options.quotes?'"':"backtick"==options.quotes?"`":"'",compact=options.compact,lowercaseHex=options.lowercaseHex;let indent=options.indent.repeat(options.indentLevel),oldIndent="";const inline1=options.__inline1__,inline2=options.__inline2__,newLine=compact?"":"\n";let result,isEmpty=!0;const useBinNumbers="binary"==options.numbers,useOctNumbers="octal"==options.numbers,useDecNumbers="decimal"==options.numbers,useHexNumbers="hexadecimal"==options.numbers;if(json&&argument&&(value=>"function"==typeof value)(argument.toJSON)&&(argument=argument.toJSON()),!(value=>"string"==typeof value||"[object String]"==toString.call(value))(argument)){if((value=>"[object Map]"==toString.call(value))(argument))return 0==argument.size?"new Map()":(compact||(options.__inline1__=!0,options.__inline2__=!1),"new Map("+jsesc(Array.from(argument),options)+")");if((value=>"[object Set]"==toString.call(value))(argument))return 0==argument.size?"new Set()":"new Set("+jsesc(Array.from(argument),options)+")";if(isBuffer(argument))return 0==argument.length?"Buffer.from([])":"Buffer.from("+jsesc(Array.from(argument),options)+")";if(isArray(argument))return result=[],options.wrap=!0,inline1&&(options.__inline1__=!1,options.__inline2__=!0),inline2||increaseIndentation(),((array,callback)=>{const length=array.length;let index=-1;for(;++index{isEmpty=!1,inline2&&(options.__inline2__=!1),result.push((compact||inline2?"":indent)+jsesc(value,options))})),isEmpty?"[]":inline2?"["+result.join(", ")+"]":"["+newLine+result.join(","+newLine)+newLine+(compact?"":oldIndent)+"]";if(!(value=>"number"==typeof value||"[object Number]"==toString.call(value))(argument))return(value=>"[object Object]"==toString.call(value))(argument)?(result=[],options.wrap=!0,increaseIndentation(),forOwn(argument,((key,value)=>{isEmpty=!1,result.push((compact?"":indent)+jsesc(key,options)+":"+(compact?"":" ")+jsesc(value,options))})),isEmpty?"{}":"{"+newLine+result.join(","+newLine)+newLine+(compact?"":oldIndent)+"}"):json?JSON.stringify(argument)||"null":String(argument);if(json)return JSON.stringify(argument);if(useDecNumbers)return String(argument);if(useHexNumbers){let hexadecimal=argument.toString(16);return lowercaseHex||(hexadecimal=hexadecimal.toUpperCase()),"0x"+hexadecimal}if(useBinNumbers)return"0b"+argument.toString(2);if(useOctNumbers)return"0o"+argument.toString(8)}const string=argument;let index=-1;const length=string.length;for(result="";++index=55296&&first<=56319&&length>index+1){const second=string.charCodeAt(index+1);if(second>=56320&&second<=57343){let hexadecimal=(1024*(first-55296)+second-56320+65536).toString(16);lowercaseHex||(hexadecimal=hexadecimal.toUpperCase()),result+="\\u{"+hexadecimal+"}",++index;continue}}}if(!options.escapeEverything){if(regexWhitelist.test(character)){result+=character;continue}if('"'==character){result+=quote==character?'\\"':character;continue}if("`"==character){result+=quote==character?"\\`":character;continue}if("'"==character){result+=quote==character?"\\'":character;continue}}if("\0"==character&&!json&&!regexDigit.test(string.charAt(index+1))){result+="\\0";continue}if(regexSingleEscape.test(character)){result+=singleEscapes[character];continue}const charCode=character.charCodeAt(0);if(options.minimal&&8232!=charCode&&8233!=charCode){result+=character;continue}let hexadecimal=charCode.toString(16);lowercaseHex||(hexadecimal=hexadecimal.toUpperCase());const longhand=hexadecimal.length>2||json,escaped="\\"+(longhand?"u":"x")+("0000"+hexadecimal).slice(longhand?-4:-2);result+=escaped}return options.wrap&&(result=quote+result+quote),"`"==quote&&(result=result.replace(/\$\{/g,"\\${")),options.isScriptContext?result.replace(/<\/(script|style)/gi,"<\\/$1").replace(/", - cdataStart: "", - textStart: "", - textEnd: "", - indent: 4, - regEntities: /[&'"<>]/g, - regValEntities: /[&"<>]/g, - encodeEntity, - pretty: false, - useShortTags: true, - eol: "lf", - finalNewline: false - }; - var entities = { - "&": "&", - "'": "'", - '"': """, - ">": ">", - "<": "<" - }; - var stringifySvg = (data, userOptions = {}) => { - const config = { ...defaults, ...userOptions }; - const indent = config.indent; - let newIndent = " "; - if (typeof indent === "number" && Number.isNaN(indent) === false) { - newIndent = indent < 0 ? " " : " ".repeat(indent); - } else if (typeof indent === "string") { - newIndent = indent; - } - const state = { - indent: newIndent, - textContext: null, - indentLevel: 0 - }; - const eol = config.eol === "crlf" ? "\r\n" : "\n"; - if (config.pretty) { - config.doctypeEnd += eol; - config.procInstEnd += eol; - config.commentEnd += eol; - config.cdataEnd += eol; - config.tagShortEnd += eol; - config.tagOpenEnd += eol; - config.tagCloseEnd += eol; - config.textEnd += eol; - } - let svg = stringifyNode(data, config, state); - if (config.finalNewline && svg.length > 0 && !svg.endsWith("\n")) { - svg += eol; - } - return svg; - }; - exports2.stringifySvg = stringifySvg; - var stringifyNode = (data, config, state) => { - let svg = ""; - state.indentLevel += 1; - for (const item of data.children) { - if (item.type === "element") { - svg += stringifyElement(item, config, state); - } - if (item.type === "text") { - svg += stringifyText(item, config, state); - } - if (item.type === "doctype") { - svg += stringifyDoctype(item, config); - } - if (item.type === "instruction") { - svg += stringifyInstruction(item, config); - } - if (item.type === "comment") { - svg += stringifyComment(item, config); - } - if (item.type === "cdata") { - svg += stringifyCdata(item, config, state); - } - } - state.indentLevel -= 1; - return svg; - }; - var createIndent = (config, state) => { - let indent = ""; - if (config.pretty && state.textContext == null) { - indent = state.indent.repeat(state.indentLevel - 1); - } - return indent; - }; - var stringifyDoctype = (node, config) => { - return config.doctypeStart + node.data.doctype + config.doctypeEnd; - }; - var stringifyInstruction = (node, config) => { - return config.procInstStart + node.name + " " + node.value + config.procInstEnd; - }; - var stringifyComment = (node, config) => { - return config.commentStart + node.value + config.commentEnd; - }; - var stringifyCdata = (node, config, state) => { - return createIndent(config, state) + config.cdataStart + node.value + config.cdataEnd; - }; - var stringifyElement = (node, config, state) => { - if (node.children.length === 0) { - if (config.useShortTags) { - return createIndent(config, state) + config.tagShortStart + node.name + stringifyAttributes(node, config) + config.tagShortEnd; - } else { - return createIndent(config, state) + config.tagShortStart + node.name + stringifyAttributes(node, config) + config.tagOpenEnd + config.tagCloseStart + node.name + config.tagCloseEnd; - } - } else { - let tagOpenStart = config.tagOpenStart; - let tagOpenEnd = config.tagOpenEnd; - let tagCloseStart = config.tagCloseStart; - let tagCloseEnd = config.tagCloseEnd; - let openIndent = createIndent(config, state); - let closeIndent = createIndent(config, state); - if (state.textContext) { - tagOpenStart = defaults.tagOpenStart; - tagOpenEnd = defaults.tagOpenEnd; - tagCloseStart = defaults.tagCloseStart; - tagCloseEnd = defaults.tagCloseEnd; - openIndent = ""; - } else if (textElems.has(node.name)) { - tagOpenEnd = defaults.tagOpenEnd; - tagCloseStart = defaults.tagCloseStart; - closeIndent = ""; - state.textContext = node; - } - const children = stringifyNode(node, config, state); - if (state.textContext === node) { - state.textContext = null; - } - return openIndent + tagOpenStart + node.name + stringifyAttributes(node, config) + tagOpenEnd + children + closeIndent + tagCloseStart + node.name + tagCloseEnd; - } - }; - var stringifyAttributes = (node, config) => { - let attrs = ""; - for (const [name, value] of Object.entries(node.attributes)) { - if (value !== void 0) { - const encodedValue = value.toString().replace(config.regValEntities, config.encodeEntity); - attrs += " " + name + config.attrStart + encodedValue + config.attrEnd; - } else { - attrs += " " + name; - } - } - return attrs; - }; - var stringifyText = (node, config, state) => { - return createIndent(config, state) + config.textStart + node.value.replace(config.regEntities, config.encodeEntity) + (state.textContext ? "" : config.textEnd); - }; - } -}); - -// node_modules/domelementtype/lib/index.js -var require_lib2 = __commonJS({ - "node_modules/domelementtype/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Doctype = exports2.CDATA = exports2.Tag = exports2.Style = exports2.Script = exports2.Comment = exports2.Directive = exports2.Text = exports2.Root = exports2.isTag = exports2.ElementType = void 0; - var ElementType; - (function(ElementType2) { - ElementType2["Root"] = "root"; - ElementType2["Text"] = "text"; - ElementType2["Directive"] = "directive"; - ElementType2["Comment"] = "comment"; - ElementType2["Script"] = "script"; - ElementType2["Style"] = "style"; - ElementType2["Tag"] = "tag"; - ElementType2["CDATA"] = "cdata"; - ElementType2["Doctype"] = "doctype"; - })(ElementType = exports2.ElementType || (exports2.ElementType = {})); - function isTag(elem) { - return elem.type === ElementType.Tag || elem.type === ElementType.Script || elem.type === ElementType.Style; - } - exports2.isTag = isTag; - exports2.Root = ElementType.Root; - exports2.Text = ElementType.Text; - exports2.Directive = ElementType.Directive; - exports2.Comment = ElementType.Comment; - exports2.Script = ElementType.Script; - exports2.Style = ElementType.Style; - exports2.Tag = ElementType.Tag; - exports2.CDATA = ElementType.CDATA; - exports2.Doctype = ElementType.Doctype; - } -}); - -// node_modules/domhandler/lib/node.js -var require_node3 = __commonJS({ - "node_modules/domhandler/lib/node.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; - }; - return extendStatics(d, b); - }; - return function(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - }(); - var __assign = exports2 && exports2.__assign || function() { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.cloneNode = exports2.hasChildren = exports2.isDocument = exports2.isDirective = exports2.isComment = exports2.isText = exports2.isCDATA = exports2.isTag = exports2.Element = exports2.Document = exports2.CDATA = exports2.NodeWithChildren = exports2.ProcessingInstruction = exports2.Comment = exports2.Text = exports2.DataNode = exports2.Node = void 0; - var domelementtype_1 = require_lib2(); - var Node = ( - /** @class */ - function() { - function Node2() { - this.parent = null; - this.prev = null; - this.next = null; - this.startIndex = null; - this.endIndex = null; - } - Object.defineProperty(Node2.prototype, "parentNode", { - // Read-write aliases for properties - /** - * Same as {@link parent}. - * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. - */ - get: function() { - return this.parent; - }, - set: function(parent) { - this.parent = parent; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Node2.prototype, "previousSibling", { - /** - * Same as {@link prev}. - * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. - */ - get: function() { - return this.prev; - }, - set: function(prev) { - this.prev = prev; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Node2.prototype, "nextSibling", { - /** - * Same as {@link next}. - * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. - */ - get: function() { - return this.next; - }, - set: function(next) { - this.next = next; - }, - enumerable: false, - configurable: true - }); - Node2.prototype.cloneNode = function(recursive) { - if (recursive === void 0) { - recursive = false; - } - return cloneNode(this, recursive); - }; - return Node2; - }() - ); - exports2.Node = Node; - var DataNode = ( - /** @class */ - function(_super) { - __extends(DataNode2, _super); - function DataNode2(data) { - var _this = _super.call(this) || this; - _this.data = data; - return _this; - } - Object.defineProperty(DataNode2.prototype, "nodeValue", { - /** - * Same as {@link data}. - * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. - */ - get: function() { - return this.data; - }, - set: function(data) { - this.data = data; - }, - enumerable: false, - configurable: true - }); - return DataNode2; - }(Node) - ); - exports2.DataNode = DataNode; - var Text = ( - /** @class */ - function(_super) { - __extends(Text2, _super); - function Text2() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.type = domelementtype_1.ElementType.Text; - return _this; - } - Object.defineProperty(Text2.prototype, "nodeType", { - get: function() { - return 3; - }, - enumerable: false, - configurable: true - }); - return Text2; - }(DataNode) - ); - exports2.Text = Text; - var Comment = ( - /** @class */ - function(_super) { - __extends(Comment2, _super); - function Comment2() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.type = domelementtype_1.ElementType.Comment; - return _this; - } - Object.defineProperty(Comment2.prototype, "nodeType", { - get: function() { - return 8; - }, - enumerable: false, - configurable: true - }); - return Comment2; - }(DataNode) - ); - exports2.Comment = Comment; - var ProcessingInstruction = ( - /** @class */ - function(_super) { - __extends(ProcessingInstruction2, _super); - function ProcessingInstruction2(name, data) { - var _this = _super.call(this, data) || this; - _this.name = name; - _this.type = domelementtype_1.ElementType.Directive; - return _this; - } - Object.defineProperty(ProcessingInstruction2.prototype, "nodeType", { - get: function() { - return 1; - }, - enumerable: false, - configurable: true - }); - return ProcessingInstruction2; - }(DataNode) - ); - exports2.ProcessingInstruction = ProcessingInstruction; - var NodeWithChildren = ( - /** @class */ - function(_super) { - __extends(NodeWithChildren2, _super); - function NodeWithChildren2(children) { - var _this = _super.call(this) || this; - _this.children = children; - return _this; - } - Object.defineProperty(NodeWithChildren2.prototype, "firstChild", { - // Aliases - /** First child of the node. */ - get: function() { - var _a; - return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(NodeWithChildren2.prototype, "lastChild", { - /** Last child of the node. */ - get: function() { - return this.children.length > 0 ? this.children[this.children.length - 1] : null; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(NodeWithChildren2.prototype, "childNodes", { - /** - * Same as {@link children}. - * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. - */ - get: function() { - return this.children; - }, - set: function(children) { - this.children = children; - }, - enumerable: false, - configurable: true - }); - return NodeWithChildren2; - }(Node) - ); - exports2.NodeWithChildren = NodeWithChildren; - var CDATA = ( - /** @class */ - function(_super) { - __extends(CDATA2, _super); - function CDATA2() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.type = domelementtype_1.ElementType.CDATA; - return _this; - } - Object.defineProperty(CDATA2.prototype, "nodeType", { - get: function() { - return 4; - }, - enumerable: false, - configurable: true - }); - return CDATA2; - }(NodeWithChildren) - ); - exports2.CDATA = CDATA; - var Document = ( - /** @class */ - function(_super) { - __extends(Document2, _super); - function Document2() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.type = domelementtype_1.ElementType.Root; - return _this; - } - Object.defineProperty(Document2.prototype, "nodeType", { - get: function() { - return 9; - }, - enumerable: false, - configurable: true - }); - return Document2; - }(NodeWithChildren) - ); - exports2.Document = Document; - var Element = ( - /** @class */ - function(_super) { - __extends(Element2, _super); - function Element2(name, attribs, children, type) { - if (children === void 0) { - children = []; - } - if (type === void 0) { - type = name === "script" ? domelementtype_1.ElementType.Script : name === "style" ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag; - } - var _this = _super.call(this, children) || this; - _this.name = name; - _this.attribs = attribs; - _this.type = type; - return _this; - } - Object.defineProperty(Element2.prototype, "nodeType", { - get: function() { - return 1; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Element2.prototype, "tagName", { - // DOM Level 1 aliases - /** - * Same as {@link name}. - * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. - */ - get: function() { - return this.name; - }, - set: function(name) { - this.name = name; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Element2.prototype, "attributes", { - get: function() { - var _this = this; - return Object.keys(this.attribs).map(function(name) { - var _a, _b; - return { - name, - value: _this.attribs[name], - namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name], - prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name] - }; - }); - }, - enumerable: false, - configurable: true - }); - return Element2; - }(NodeWithChildren) - ); - exports2.Element = Element; - function isTag(node) { - return (0, domelementtype_1.isTag)(node); - } - exports2.isTag = isTag; - function isCDATA(node) { - return node.type === domelementtype_1.ElementType.CDATA; - } - exports2.isCDATA = isCDATA; - function isText(node) { - return node.type === domelementtype_1.ElementType.Text; - } - exports2.isText = isText; - function isComment(node) { - return node.type === domelementtype_1.ElementType.Comment; - } - exports2.isComment = isComment; - function isDirective(node) { - return node.type === domelementtype_1.ElementType.Directive; - } - exports2.isDirective = isDirective; - function isDocument(node) { - return node.type === domelementtype_1.ElementType.Root; - } - exports2.isDocument = isDocument; - function hasChildren(node) { - return Object.prototype.hasOwnProperty.call(node, "children"); - } - exports2.hasChildren = hasChildren; - function cloneNode(node, recursive) { - if (recursive === void 0) { - recursive = false; - } - var result; - if (isText(node)) { - result = new Text(node.data); - } else if (isComment(node)) { - result = new Comment(node.data); - } else if (isTag(node)) { - var children = recursive ? cloneChildren(node.children) : []; - var clone_1 = new Element(node.name, __assign({}, node.attribs), children); - children.forEach(function(child) { - return child.parent = clone_1; - }); - if (node.namespace != null) { - clone_1.namespace = node.namespace; - } - if (node["x-attribsNamespace"]) { - clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]); - } - if (node["x-attribsPrefix"]) { - clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]); - } - result = clone_1; - } else if (isCDATA(node)) { - var children = recursive ? cloneChildren(node.children) : []; - var clone_2 = new CDATA(children); - children.forEach(function(child) { - return child.parent = clone_2; - }); - result = clone_2; - } else if (isDocument(node)) { - var children = recursive ? cloneChildren(node.children) : []; - var clone_3 = new Document(children); - children.forEach(function(child) { - return child.parent = clone_3; - }); - if (node["x-mode"]) { - clone_3["x-mode"] = node["x-mode"]; - } - result = clone_3; - } else if (isDirective(node)) { - var instruction = new ProcessingInstruction(node.name, node.data); - if (node["x-name"] != null) { - instruction["x-name"] = node["x-name"]; - instruction["x-publicId"] = node["x-publicId"]; - instruction["x-systemId"] = node["x-systemId"]; - } - result = instruction; - } else { - throw new Error("Not implemented yet: ".concat(node.type)); - } - result.startIndex = node.startIndex; - result.endIndex = node.endIndex; - if (node.sourceCodeLocation != null) { - result.sourceCodeLocation = node.sourceCodeLocation; - } - return result; - } - exports2.cloneNode = cloneNode; - function cloneChildren(childs) { - var children = childs.map(function(child) { - return cloneNode(child, true); - }); - for (var i = 1; i < children.length; i++) { - children[i].prev = children[i - 1]; - children[i - 1].next = children[i]; - } - return children; - } - } -}); - -// node_modules/domhandler/lib/index.js -var require_lib3 = __commonJS({ - "node_modules/domhandler/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.DomHandler = void 0; - var domelementtype_1 = require_lib2(); - var node_js_1 = require_node3(); - __exportStar(require_node3(), exports2); - var defaultOpts = { - withStartIndices: false, - withEndIndices: false, - xmlMode: false - }; - var DomHandler = ( - /** @class */ - function() { - function DomHandler2(callback, options, elementCB) { - this.dom = []; - this.root = new node_js_1.Document(this.dom); - this.done = false; - this.tagStack = [this.root]; - this.lastNode = null; - this.parser = null; - if (typeof options === "function") { - elementCB = options; - options = defaultOpts; - } - if (typeof callback === "object") { - options = callback; - callback = void 0; - } - this.callback = callback !== null && callback !== void 0 ? callback : null; - this.options = options !== null && options !== void 0 ? options : defaultOpts; - this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null; - } - DomHandler2.prototype.onparserinit = function(parser) { - this.parser = parser; - }; - DomHandler2.prototype.onreset = function() { - this.dom = []; - this.root = new node_js_1.Document(this.dom); - this.done = false; - this.tagStack = [this.root]; - this.lastNode = null; - this.parser = null; - }; - DomHandler2.prototype.onend = function() { - if (this.done) - return; - this.done = true; - this.parser = null; - this.handleCallback(null); - }; - DomHandler2.prototype.onerror = function(error) { - this.handleCallback(error); - }; - DomHandler2.prototype.onclosetag = function() { - this.lastNode = null; - var elem = this.tagStack.pop(); - if (this.options.withEndIndices) { - elem.endIndex = this.parser.endIndex; - } - if (this.elementCB) - this.elementCB(elem); - }; - DomHandler2.prototype.onopentag = function(name, attribs) { - var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : void 0; - var element = new node_js_1.Element(name, attribs, void 0, type); - this.addNode(element); - this.tagStack.push(element); - }; - DomHandler2.prototype.ontext = function(data) { - var lastNode = this.lastNode; - if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) { - lastNode.data += data; - if (this.options.withEndIndices) { - lastNode.endIndex = this.parser.endIndex; - } - } else { - var node = new node_js_1.Text(data); - this.addNode(node); - this.lastNode = node; - } - }; - DomHandler2.prototype.oncomment = function(data) { - if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) { - this.lastNode.data += data; - return; - } - var node = new node_js_1.Comment(data); - this.addNode(node); - this.lastNode = node; - }; - DomHandler2.prototype.oncommentend = function() { - this.lastNode = null; - }; - DomHandler2.prototype.oncdatastart = function() { - var text = new node_js_1.Text(""); - var node = new node_js_1.CDATA([text]); - this.addNode(node); - text.parent = node; - this.lastNode = text; - }; - DomHandler2.prototype.oncdataend = function() { - this.lastNode = null; - }; - DomHandler2.prototype.onprocessinginstruction = function(name, data) { - var node = new node_js_1.ProcessingInstruction(name, data); - this.addNode(node); - }; - DomHandler2.prototype.handleCallback = function(error) { - if (typeof this.callback === "function") { - this.callback(error, this.dom); - } else if (error) { - throw error; - } - }; - DomHandler2.prototype.addNode = function(node) { - var parent = this.tagStack[this.tagStack.length - 1]; - var previousSibling = parent.children[parent.children.length - 1]; - if (this.options.withStartIndices) { - node.startIndex = this.parser.startIndex; - } - if (this.options.withEndIndices) { - node.endIndex = this.parser.endIndex; - } - parent.children.push(node); - if (previousSibling) { - node.prev = previousSibling; - previousSibling.next = node; - } - node.parent = parent; - this.lastNode = null; - }; - return DomHandler2; - }() - ); - exports2.DomHandler = DomHandler; - exports2.default = DomHandler; - } -}); - -// node_modules/entities/lib/generated/decode-data-html.js -var require_decode_data_html = __commonJS({ - "node_modules/entities/lib/generated/decode-data-html.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.default = new Uint16Array( - // prettier-ignore - '\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(function(c) { - return c.charCodeAt(0); - }) - ); - } -}); - -// node_modules/entities/lib/generated/decode-data-xml.js -var require_decode_data_xml = __commonJS({ - "node_modules/entities/lib/generated/decode-data-xml.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.default = new Uint16Array( - // prettier-ignore - "\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(function(c) { - return c.charCodeAt(0); - }) - ); - } -}); - -// node_modules/entities/lib/decode_codepoint.js -var require_decode_codepoint = __commonJS({ - "node_modules/entities/lib/decode_codepoint.js"(exports2) { - "use strict"; - var _a; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.replaceCodePoint = exports2.fromCodePoint = void 0; - var decodeMap = /* @__PURE__ */ new Map([ - [0, 65533], - // C1 Unicode control character reference replacements - [128, 8364], - [130, 8218], - [131, 402], - [132, 8222], - [133, 8230], - [134, 8224], - [135, 8225], - [136, 710], - [137, 8240], - [138, 352], - [139, 8249], - [140, 338], - [142, 381], - [145, 8216], - [146, 8217], - [147, 8220], - [148, 8221], - [149, 8226], - [150, 8211], - [151, 8212], - [152, 732], - [153, 8482], - [154, 353], - [155, 8250], - [156, 339], - [158, 382], - [159, 376] - ]); - exports2.fromCodePoint = // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins - (_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function(codePoint) { - var output = ""; - if (codePoint > 65535) { - codePoint -= 65536; - output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296); - codePoint = 56320 | codePoint & 1023; - } - output += String.fromCharCode(codePoint); - return output; - }; - function replaceCodePoint(codePoint) { - var _a2; - if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) { - return 65533; - } - return (_a2 = decodeMap.get(codePoint)) !== null && _a2 !== void 0 ? _a2 : codePoint; - } - exports2.replaceCodePoint = replaceCodePoint; - function decodeCodePoint(codePoint) { - return (0, exports2.fromCodePoint)(replaceCodePoint(codePoint)); - } - exports2.default = decodeCodePoint; - } -}); - -// node_modules/entities/lib/decode.js -var require_decode = __commonJS({ - "node_modules/entities/lib/decode.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.decodeXML = exports2.decodeHTMLStrict = exports2.decodeHTMLAttribute = exports2.decodeHTML = exports2.determineBranch = exports2.EntityDecoder = exports2.DecodingMode = exports2.BinTrieFlags = exports2.fromCodePoint = exports2.replaceCodePoint = exports2.decodeCodePoint = exports2.xmlDecodeTree = exports2.htmlDecodeTree = void 0; - var decode_data_html_js_1 = __importDefault(require_decode_data_html()); - exports2.htmlDecodeTree = decode_data_html_js_1.default; - var decode_data_xml_js_1 = __importDefault(require_decode_data_xml()); - exports2.xmlDecodeTree = decode_data_xml_js_1.default; - var decode_codepoint_js_1 = __importStar(require_decode_codepoint()); - exports2.decodeCodePoint = decode_codepoint_js_1.default; - var decode_codepoint_js_2 = require_decode_codepoint(); - Object.defineProperty(exports2, "replaceCodePoint", { enumerable: true, get: function() { - return decode_codepoint_js_2.replaceCodePoint; - } }); - Object.defineProperty(exports2, "fromCodePoint", { enumerable: true, get: function() { - return decode_codepoint_js_2.fromCodePoint; - } }); - var CharCodes; - (function(CharCodes2) { - CharCodes2[CharCodes2["NUM"] = 35] = "NUM"; - CharCodes2[CharCodes2["SEMI"] = 59] = "SEMI"; - CharCodes2[CharCodes2["EQUALS"] = 61] = "EQUALS"; - CharCodes2[CharCodes2["ZERO"] = 48] = "ZERO"; - CharCodes2[CharCodes2["NINE"] = 57] = "NINE"; - CharCodes2[CharCodes2["LOWER_A"] = 97] = "LOWER_A"; - CharCodes2[CharCodes2["LOWER_F"] = 102] = "LOWER_F"; - CharCodes2[CharCodes2["LOWER_X"] = 120] = "LOWER_X"; - CharCodes2[CharCodes2["LOWER_Z"] = 122] = "LOWER_Z"; - CharCodes2[CharCodes2["UPPER_A"] = 65] = "UPPER_A"; - CharCodes2[CharCodes2["UPPER_F"] = 70] = "UPPER_F"; - CharCodes2[CharCodes2["UPPER_Z"] = 90] = "UPPER_Z"; - })(CharCodes || (CharCodes = {})); - var TO_LOWER_BIT = 32; - var BinTrieFlags; - (function(BinTrieFlags2) { - BinTrieFlags2[BinTrieFlags2["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH"; - BinTrieFlags2[BinTrieFlags2["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH"; - BinTrieFlags2[BinTrieFlags2["JUMP_TABLE"] = 127] = "JUMP_TABLE"; - })(BinTrieFlags = exports2.BinTrieFlags || (exports2.BinTrieFlags = {})); - function isNumber(code) { - return code >= CharCodes.ZERO && code <= CharCodes.NINE; - } - function isHexadecimalCharacter(code) { - return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F; - } - function isAsciiAlphaNumeric(code) { - return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z || isNumber(code); - } - function isEntityInAttributeInvalidEnd(code) { - return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code); - } - var EntityDecoderState; - (function(EntityDecoderState2) { - EntityDecoderState2[EntityDecoderState2["EntityStart"] = 0] = "EntityStart"; - EntityDecoderState2[EntityDecoderState2["NumericStart"] = 1] = "NumericStart"; - EntityDecoderState2[EntityDecoderState2["NumericDecimal"] = 2] = "NumericDecimal"; - EntityDecoderState2[EntityDecoderState2["NumericHex"] = 3] = "NumericHex"; - EntityDecoderState2[EntityDecoderState2["NamedEntity"] = 4] = "NamedEntity"; - })(EntityDecoderState || (EntityDecoderState = {})); - var DecodingMode; - (function(DecodingMode2) { - DecodingMode2[DecodingMode2["Legacy"] = 0] = "Legacy"; - DecodingMode2[DecodingMode2["Strict"] = 1] = "Strict"; - DecodingMode2[DecodingMode2["Attribute"] = 2] = "Attribute"; - })(DecodingMode = exports2.DecodingMode || (exports2.DecodingMode = {})); - var EntityDecoder = ( - /** @class */ - function() { - function EntityDecoder2(decodeTree, emitCodePoint, errors) { - this.decodeTree = decodeTree; - this.emitCodePoint = emitCodePoint; - this.errors = errors; - this.state = EntityDecoderState.EntityStart; - this.consumed = 1; - this.result = 0; - this.treeIndex = 0; - this.excess = 1; - this.decodeMode = DecodingMode.Strict; - } - EntityDecoder2.prototype.startEntity = function(decodeMode) { - this.decodeMode = decodeMode; - this.state = EntityDecoderState.EntityStart; - this.result = 0; - this.treeIndex = 0; - this.excess = 1; - this.consumed = 1; - }; - EntityDecoder2.prototype.write = function(str, offset) { - switch (this.state) { - case EntityDecoderState.EntityStart: { - if (str.charCodeAt(offset) === CharCodes.NUM) { - this.state = EntityDecoderState.NumericStart; - this.consumed += 1; - return this.stateNumericStart(str, offset + 1); - } - this.state = EntityDecoderState.NamedEntity; - return this.stateNamedEntity(str, offset); - } - case EntityDecoderState.NumericStart: { - return this.stateNumericStart(str, offset); - } - case EntityDecoderState.NumericDecimal: { - return this.stateNumericDecimal(str, offset); - } - case EntityDecoderState.NumericHex: { - return this.stateNumericHex(str, offset); - } - case EntityDecoderState.NamedEntity: { - return this.stateNamedEntity(str, offset); - } - } - }; - EntityDecoder2.prototype.stateNumericStart = function(str, offset) { - if (offset >= str.length) { - return -1; - } - if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) { - this.state = EntityDecoderState.NumericHex; - this.consumed += 1; - return this.stateNumericHex(str, offset + 1); - } - this.state = EntityDecoderState.NumericDecimal; - return this.stateNumericDecimal(str, offset); - }; - EntityDecoder2.prototype.addToNumericResult = function(str, start, end, base) { - if (start !== end) { - var digitCount = end - start; - this.result = this.result * Math.pow(base, digitCount) + parseInt(str.substr(start, digitCount), base); - this.consumed += digitCount; - } - }; - EntityDecoder2.prototype.stateNumericHex = function(str, offset) { - var startIdx = offset; - while (offset < str.length) { - var char = str.charCodeAt(offset); - if (isNumber(char) || isHexadecimalCharacter(char)) { - offset += 1; - } else { - this.addToNumericResult(str, startIdx, offset, 16); - return this.emitNumericEntity(char, 3); - } - } - this.addToNumericResult(str, startIdx, offset, 16); - return -1; - }; - EntityDecoder2.prototype.stateNumericDecimal = function(str, offset) { - var startIdx = offset; - while (offset < str.length) { - var char = str.charCodeAt(offset); - if (isNumber(char)) { - offset += 1; - } else { - this.addToNumericResult(str, startIdx, offset, 10); - return this.emitNumericEntity(char, 2); - } - } - this.addToNumericResult(str, startIdx, offset, 10); - return -1; - }; - EntityDecoder2.prototype.emitNumericEntity = function(lastCp, expectedLength) { - var _a; - if (this.consumed <= expectedLength) { - (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); - return 0; - } - if (lastCp === CharCodes.SEMI) { - this.consumed += 1; - } else if (this.decodeMode === DecodingMode.Strict) { - return 0; - } - this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed); - if (this.errors) { - if (lastCp !== CharCodes.SEMI) { - this.errors.missingSemicolonAfterCharacterReference(); - } - this.errors.validateNumericCharacterReference(this.result); - } - return this.consumed; - }; - EntityDecoder2.prototype.stateNamedEntity = function(str, offset) { - var decodeTree = this.decodeTree; - var current = decodeTree[this.treeIndex]; - var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; - for (; offset < str.length; offset++, this.excess++) { - var char = str.charCodeAt(offset); - this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char); - if (this.treeIndex < 0) { - return this.result === 0 || // If we are parsing an attribute - this.decodeMode === DecodingMode.Attribute && // We shouldn't have consumed any characters after the entity, - (valueLength === 0 || // And there should be no invalid characters. - isEntityInAttributeInvalidEnd(char)) ? 0 : this.emitNotTerminatedNamedEntity(); - } - current = decodeTree[this.treeIndex]; - valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; - if (valueLength !== 0) { - if (char === CharCodes.SEMI) { - return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); - } - if (this.decodeMode !== DecodingMode.Strict) { - this.result = this.treeIndex; - this.consumed += this.excess; - this.excess = 0; - } - } - } - return -1; - }; - EntityDecoder2.prototype.emitNotTerminatedNamedEntity = function() { - var _a; - var _b = this, result = _b.result, decodeTree = _b.decodeTree; - var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14; - this.emitNamedEntityData(result, valueLength, this.consumed); - (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference(); - return this.consumed; - }; - EntityDecoder2.prototype.emitNamedEntityData = function(result, valueLength, consumed) { - var decodeTree = this.decodeTree; - this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH : decodeTree[result + 1], consumed); - if (valueLength === 3) { - this.emitCodePoint(decodeTree[result + 2], consumed); - } - return consumed; - }; - EntityDecoder2.prototype.end = function() { - var _a; - switch (this.state) { - case EntityDecoderState.NamedEntity: { - return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0; - } - // Otherwise, emit a numeric entity if we have one. - case EntityDecoderState.NumericDecimal: { - return this.emitNumericEntity(0, 2); - } - case EntityDecoderState.NumericHex: { - return this.emitNumericEntity(0, 3); - } - case EntityDecoderState.NumericStart: { - (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); - return 0; - } - case EntityDecoderState.EntityStart: { - return 0; - } - } - }; - return EntityDecoder2; - }() - ); - exports2.EntityDecoder = EntityDecoder; - function getDecoder(decodeTree) { - var ret = ""; - var decoder = new EntityDecoder(decodeTree, function(str) { - return ret += (0, decode_codepoint_js_1.fromCodePoint)(str); - }); - return function decodeWithTrie(str, decodeMode) { - var lastIndex = 0; - var offset = 0; - while ((offset = str.indexOf("&", offset)) >= 0) { - ret += str.slice(lastIndex, offset); - decoder.startEntity(decodeMode); - var len = decoder.write( - str, - // Skip the "&" - offset + 1 - ); - if (len < 0) { - lastIndex = offset + decoder.end(); - break; - } - lastIndex = offset + len; - offset = len === 0 ? lastIndex + 1 : lastIndex; - } - var result = ret + str.slice(lastIndex); - ret = ""; - return result; - }; - } - function determineBranch(decodeTree, current, nodeIdx, char) { - var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7; - var jumpOffset = current & BinTrieFlags.JUMP_TABLE; - if (branchCount === 0) { - return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1; - } - if (jumpOffset) { - var value = char - jumpOffset; - return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIdx + value] - 1; - } - var lo = nodeIdx; - var hi = lo + branchCount - 1; - while (lo <= hi) { - var mid = lo + hi >>> 1; - var midVal = decodeTree[mid]; - if (midVal < char) { - lo = mid + 1; - } else if (midVal > char) { - hi = mid - 1; - } else { - return decodeTree[mid + branchCount]; - } - } - return -1; - } - exports2.determineBranch = determineBranch; - var htmlDecoder = getDecoder(decode_data_html_js_1.default); - var xmlDecoder = getDecoder(decode_data_xml_js_1.default); - function decodeHTML(str, mode) { - if (mode === void 0) { - mode = DecodingMode.Legacy; - } - return htmlDecoder(str, mode); - } - exports2.decodeHTML = decodeHTML; - function decodeHTMLAttribute(str) { - return htmlDecoder(str, DecodingMode.Attribute); - } - exports2.decodeHTMLAttribute = decodeHTMLAttribute; - function decodeHTMLStrict(str) { - return htmlDecoder(str, DecodingMode.Strict); - } - exports2.decodeHTMLStrict = decodeHTMLStrict; - function decodeXML(str) { - return xmlDecoder(str, DecodingMode.Strict); - } - exports2.decodeXML = decodeXML; - } -}); - -// node_modules/entities/lib/generated/encode-html.js -var require_encode_html = __commonJS({ - "node_modules/entities/lib/generated/encode-html.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - function restoreDiff(arr) { - for (var i = 1; i < arr.length; i++) { - arr[i][0] += arr[i - 1][0] + 1; - } - return arr; - } - exports2.default = new Map(/* @__PURE__ */ restoreDiff([[9, " "], [0, " "], [22, "!"], [0, """], [0, "#"], [0, "$"], [0, "%"], [0, "&"], [0, "'"], [0, "("], [0, ")"], [0, "*"], [0, "+"], [0, ","], [1, "."], [0, "/"], [10, ":"], [0, ";"], [0, { v: "<", n: 8402, o: "<⃒" }], [0, { v: "=", n: 8421, o: "=⃥" }], [0, { v: ">", n: 8402, o: ">⃒" }], [0, "?"], [0, "@"], [26, "["], [0, "\"], [0, "]"], [0, "^"], [0, "_"], [0, "`"], [5, { n: 106, o: "fj" }], [20, "{"], [0, "|"], [0, "}"], [34, " "], [0, "¡"], [0, "¢"], [0, "£"], [0, "¤"], [0, "¥"], [0, "¦"], [0, "§"], [0, "¨"], [0, "©"], [0, "ª"], [0, "«"], [0, "¬"], [0, "­"], [0, "®"], [0, "¯"], [0, "°"], [0, "±"], [0, "²"], [0, "³"], [0, "´"], [0, "µ"], [0, "¶"], [0, "·"], [0, "¸"], [0, "¹"], [0, "º"], [0, "»"], [0, "¼"], [0, "½"], [0, "¾"], [0, "¿"], [0, "À"], [0, "Á"], [0, "Â"], [0, "Ã"], [0, "Ä"], [0, "Å"], [0, "Æ"], [0, "Ç"], [0, "È"], [0, "É"], [0, "Ê"], [0, "Ë"], [0, "Ì"], [0, "Í"], [0, "Î"], [0, "Ï"], [0, "Ð"], [0, "Ñ"], [0, "Ò"], [0, "Ó"], [0, "Ô"], [0, "Õ"], [0, "Ö"], [0, "×"], [0, "Ø"], [0, "Ù"], [0, "Ú"], [0, "Û"], [0, "Ü"], [0, "Ý"], [0, "Þ"], [0, "ß"], [0, "à"], [0, "á"], [0, "â"], [0, "ã"], [0, "ä"], [0, "å"], [0, "æ"], [0, "ç"], [0, "è"], [0, "é"], [0, "ê"], [0, "ë"], [0, "ì"], [0, "í"], [0, "î"], [0, "ï"], [0, "ð"], [0, "ñ"], [0, "ò"], [0, "ó"], [0, "ô"], [0, "õ"], [0, "ö"], [0, "÷"], [0, "ø"], [0, "ù"], [0, "ú"], [0, "û"], [0, "ü"], [0, "ý"], [0, "þ"], [0, "ÿ"], [0, "Ā"], [0, "ā"], [0, "Ă"], [0, "ă"], [0, "Ą"], [0, "ą"], [0, "Ć"], [0, "ć"], [0, "Ĉ"], [0, "ĉ"], [0, "Ċ"], [0, "ċ"], [0, "Č"], [0, "č"], [0, "Ď"], [0, "ď"], [0, "Đ"], [0, "đ"], [0, "Ē"], [0, "ē"], [2, "Ė"], [0, "ė"], [0, "Ę"], [0, "ę"], [0, "Ě"], [0, "ě"], [0, "Ĝ"], [0, "ĝ"], [0, "Ğ"], [0, "ğ"], [0, "Ġ"], [0, "ġ"], [0, "Ģ"], [1, "Ĥ"], [0, "ĥ"], [0, "Ħ"], [0, "ħ"], [0, "Ĩ"], [0, "ĩ"], [0, "Ī"], [0, "ī"], [2, "Į"], [0, "į"], [0, "İ"], [0, "ı"], [0, "IJ"], [0, "ij"], [0, "Ĵ"], [0, "ĵ"], [0, "Ķ"], [0, "ķ"], [0, "ĸ"], [0, "Ĺ"], [0, "ĺ"], [0, "Ļ"], [0, "ļ"], [0, "Ľ"], [0, "ľ"], [0, "Ŀ"], [0, "ŀ"], [0, "Ł"], [0, "ł"], [0, "Ń"], [0, "ń"], [0, "Ņ"], [0, "ņ"], [0, "Ň"], [0, "ň"], [0, "ʼn"], [0, "Ŋ"], [0, "ŋ"], [0, "Ō"], [0, "ō"], [2, "Ő"], [0, "ő"], [0, "Œ"], [0, "œ"], [0, "Ŕ"], [0, "ŕ"], [0, "Ŗ"], [0, "ŗ"], [0, "Ř"], [0, "ř"], [0, "Ś"], [0, "ś"], [0, "Ŝ"], [0, "ŝ"], [0, "Ş"], [0, "ş"], [0, "Š"], [0, "š"], [0, "Ţ"], [0, "ţ"], [0, "Ť"], [0, "ť"], [0, "Ŧ"], [0, "ŧ"], [0, "Ũ"], [0, "ũ"], [0, "Ū"], [0, "ū"], [0, "Ŭ"], [0, "ŭ"], [0, "Ů"], [0, "ů"], [0, "Ű"], [0, "ű"], [0, "Ų"], [0, "ų"], [0, "Ŵ"], [0, "ŵ"], [0, "Ŷ"], [0, "ŷ"], [0, "Ÿ"], [0, "Ź"], [0, "ź"], [0, "Ż"], [0, "ż"], [0, "Ž"], [0, "ž"], [19, "ƒ"], [34, "Ƶ"], [63, "ǵ"], [65, "ȷ"], [142, "ˆ"], [0, "ˇ"], [16, "˘"], [0, "˙"], [0, "˚"], [0, "˛"], [0, "˜"], [0, "˝"], [51, "̑"], [127, "Α"], [0, "Β"], [0, "Γ"], [0, "Δ"], [0, "Ε"], [0, "Ζ"], [0, "Η"], [0, "Θ"], [0, "Ι"], [0, "Κ"], [0, "Λ"], [0, "Μ"], [0, "Ν"], [0, "Ξ"], [0, "Ο"], [0, "Π"], [0, "Ρ"], [1, "Σ"], [0, "Τ"], [0, "Υ"], [0, "Φ"], [0, "Χ"], [0, "Ψ"], [0, "Ω"], [7, "α"], [0, "β"], [0, "γ"], [0, "δ"], [0, "ε"], [0, "ζ"], [0, "η"], [0, "θ"], [0, "ι"], [0, "κ"], [0, "λ"], [0, "μ"], [0, "ν"], [0, "ξ"], [0, "ο"], [0, "π"], [0, "ρ"], [0, "ς"], [0, "σ"], [0, "τ"], [0, "υ"], [0, "φ"], [0, "χ"], [0, "ψ"], [0, "ω"], [7, "ϑ"], [0, "ϒ"], [2, "ϕ"], [0, "ϖ"], [5, "Ϝ"], [0, "ϝ"], [18, "ϰ"], [0, "ϱ"], [3, "ϵ"], [0, "϶"], [10, "Ё"], [0, "Ђ"], [0, "Ѓ"], [0, "Є"], [0, "Ѕ"], [0, "І"], [0, "Ї"], [0, "Ј"], [0, "Љ"], [0, "Њ"], [0, "Ћ"], [0, "Ќ"], [1, "Ў"], [0, "Џ"], [0, "А"], [0, "Б"], [0, "В"], [0, "Г"], [0, "Д"], [0, "Е"], [0, "Ж"], [0, "З"], [0, "И"], [0, "Й"], [0, "К"], [0, "Л"], [0, "М"], [0, "Н"], [0, "О"], [0, "П"], [0, "Р"], [0, "С"], [0, "Т"], [0, "У"], [0, "Ф"], [0, "Х"], [0, "Ц"], [0, "Ч"], [0, "Ш"], [0, "Щ"], [0, "Ъ"], [0, "Ы"], [0, "Ь"], [0, "Э"], [0, "Ю"], [0, "Я"], [0, "а"], [0, "б"], [0, "в"], [0, "г"], [0, "д"], [0, "е"], [0, "ж"], [0, "з"], [0, "и"], [0, "й"], [0, "к"], [0, "л"], [0, "м"], [0, "н"], [0, "о"], [0, "п"], [0, "р"], [0, "с"], [0, "т"], [0, "у"], [0, "ф"], [0, "х"], [0, "ц"], [0, "ч"], [0, "ш"], [0, "щ"], [0, "ъ"], [0, "ы"], [0, "ь"], [0, "э"], [0, "ю"], [0, "я"], [1, "ё"], [0, "ђ"], [0, "ѓ"], [0, "є"], [0, "ѕ"], [0, "і"], [0, "ї"], [0, "ј"], [0, "љ"], [0, "њ"], [0, "ћ"], [0, "ќ"], [1, "ў"], [0, "џ"], [7074, " "], [0, " "], [0, " "], [0, " "], [1, " "], [0, " "], [0, " "], [0, " "], [0, "​"], [0, "‌"], [0, "‍"], [0, "‎"], [0, "‏"], [0, "‐"], [2, "–"], [0, "—"], [0, "―"], [0, "‖"], [1, "‘"], [0, "’"], [0, "‚"], [1, "“"], [0, "”"], [0, "„"], [1, "†"], [0, "‡"], [0, "•"], [2, "‥"], [0, "…"], [9, "‰"], [0, "‱"], [0, "′"], [0, "″"], [0, "‴"], [0, "‵"], [3, "‹"], [0, "›"], [3, "‾"], [2, "⁁"], [1, "⁃"], [0, "⁄"], [10, "⁏"], [7, "⁗"], [7, { v: " ", n: 8202, o: "  " }], [0, "⁠"], [0, "⁡"], [0, "⁢"], [0, "⁣"], [72, "€"], [46, "⃛"], [0, "⃜"], [37, "ℂ"], [2, "℅"], [4, "ℊ"], [0, "ℋ"], [0, "ℌ"], [0, "ℍ"], [0, "ℎ"], [0, "ℏ"], [0, "ℐ"], [0, "ℑ"], [0, "ℒ"], [0, "ℓ"], [1, "ℕ"], [0, "№"], [0, "℗"], [0, "℘"], [0, "ℙ"], [0, "ℚ"], [0, "ℛ"], [0, "ℜ"], [0, "ℝ"], [0, "℞"], [3, "™"], [1, "ℤ"], [2, "℧"], [0, "ℨ"], [0, "℩"], [2, "ℬ"], [0, "ℭ"], [1, "ℯ"], [0, "ℰ"], [0, "ℱ"], [1, "ℳ"], [0, "ℴ"], [0, "ℵ"], [0, "ℶ"], [0, "ℷ"], [0, "ℸ"], [12, "ⅅ"], [0, "ⅆ"], [0, "ⅇ"], [0, "ⅈ"], [10, "⅓"], [0, "⅔"], [0, "⅕"], [0, "⅖"], [0, "⅗"], [0, "⅘"], [0, "⅙"], [0, "⅚"], [0, "⅛"], [0, "⅜"], [0, "⅝"], [0, "⅞"], [49, "←"], [0, "↑"], [0, "→"], [0, "↓"], [0, "↔"], [0, "↕"], [0, "↖"], [0, "↗"], [0, "↘"], [0, "↙"], [0, "↚"], [0, "↛"], [1, { v: "↝", n: 824, o: "↝̸" }], [0, "↞"], [0, "↟"], [0, "↠"], [0, "↡"], [0, "↢"], [0, "↣"], [0, "↤"], [0, "↥"], [0, "↦"], [0, "↧"], [1, "↩"], [0, "↪"], [0, "↫"], [0, "↬"], [0, "↭"], [0, "↮"], [1, "↰"], [0, "↱"], [0, "↲"], [0, "↳"], [1, "↵"], [0, "↶"], [0, "↷"], [2, "↺"], [0, "↻"], [0, "↼"], [0, "↽"], [0, "↾"], [0, "↿"], [0, "⇀"], [0, "⇁"], [0, "⇂"], [0, "⇃"], [0, "⇄"], [0, "⇅"], [0, "⇆"], [0, "⇇"], [0, "⇈"], [0, "⇉"], [0, "⇊"], [0, "⇋"], [0, "⇌"], [0, "⇍"], [0, "⇎"], [0, "⇏"], [0, "⇐"], [0, "⇑"], [0, "⇒"], [0, "⇓"], [0, "⇔"], [0, "⇕"], [0, "⇖"], [0, "⇗"], [0, "⇘"], [0, "⇙"], [0, "⇚"], [0, "⇛"], [1, "⇝"], [6, "⇤"], [0, "⇥"], [15, "⇵"], [7, "⇽"], [0, "⇾"], [0, "⇿"], [0, "∀"], [0, "∁"], [0, { v: "∂", n: 824, o: "∂̸" }], [0, "∃"], [0, "∄"], [0, "∅"], [1, "∇"], [0, "∈"], [0, "∉"], [1, "∋"], [0, "∌"], [2, "∏"], [0, "∐"], [0, "∑"], [0, "−"], [0, "∓"], [0, "∔"], [1, "∖"], [0, "∗"], [0, "∘"], [1, "√"], [2, "∝"], [0, "∞"], [0, "∟"], [0, { v: "∠", n: 8402, o: "∠⃒" }], [0, "∡"], [0, "∢"], [0, "∣"], [0, "∤"], [0, "∥"], [0, "∦"], [0, "∧"], [0, "∨"], [0, { v: "∩", n: 65024, o: "∩︀" }], [0, { v: "∪", n: 65024, o: "∪︀" }], [0, "∫"], [0, "∬"], [0, "∭"], [0, "∮"], [0, "∯"], [0, "∰"], [0, "∱"], [0, "∲"], [0, "∳"], [0, "∴"], [0, "∵"], [0, "∶"], [0, "∷"], [0, "∸"], [1, "∺"], [0, "∻"], [0, { v: "∼", n: 8402, o: "∼⃒" }], [0, { v: "∽", n: 817, o: "∽̱" }], [0, { v: "∾", n: 819, o: "∾̳" }], [0, "∿"], [0, "≀"], [0, "≁"], [0, { v: "≂", n: 824, o: "≂̸" }], [0, "≃"], [0, "≄"], [0, "≅"], [0, "≆"], [0, "≇"], [0, "≈"], [0, "≉"], [0, "≊"], [0, { v: "≋", n: 824, o: "≋̸" }], [0, "≌"], [0, { v: "≍", n: 8402, o: "≍⃒" }], [0, { v: "≎", n: 824, o: "≎̸" }], [0, { v: "≏", n: 824, o: "≏̸" }], [0, { v: "≐", n: 824, o: "≐̸" }], [0, "≑"], [0, "≒"], [0, "≓"], [0, "≔"], [0, "≕"], [0, "≖"], [0, "≗"], [1, "≙"], [0, "≚"], [1, "≜"], [2, "≟"], [0, "≠"], [0, { v: "≡", n: 8421, o: "≡⃥" }], [0, "≢"], [1, { v: "≤", n: 8402, o: "≤⃒" }], [0, { v: "≥", n: 8402, o: "≥⃒" }], [0, { v: "≦", n: 824, o: "≦̸" }], [0, { v: "≧", n: 824, o: "≧̸" }], [0, { v: "≨", n: 65024, o: "≨︀" }], [0, { v: "≩", n: 65024, o: "≩︀" }], [0, { v: "≪", n: new Map(/* @__PURE__ */ restoreDiff([[824, "≪̸"], [7577, "≪⃒"]])) }], [0, { v: "≫", n: new Map(/* @__PURE__ */ restoreDiff([[824, "≫̸"], [7577, "≫⃒"]])) }], [0, "≬"], [0, "≭"], [0, "≮"], [0, "≯"], [0, "≰"], [0, "≱"], [0, "≲"], [0, "≳"], [0, "≴"], [0, "≵"], [0, "≶"], [0, "≷"], [0, "≸"], [0, "≹"], [0, "≺"], [0, "≻"], [0, "≼"], [0, "≽"], [0, "≾"], [0, { v: "≿", n: 824, o: "≿̸" }], [0, "⊀"], [0, "⊁"], [0, { v: "⊂", n: 8402, o: "⊂⃒" }], [0, { v: "⊃", n: 8402, o: "⊃⃒" }], [0, "⊄"], [0, "⊅"], [0, "⊆"], [0, "⊇"], [0, "⊈"], [0, "⊉"], [0, { v: "⊊", n: 65024, o: "⊊︀" }], [0, { v: "⊋", n: 65024, o: "⊋︀" }], [1, "⊍"], [0, "⊎"], [0, { v: "⊏", n: 824, o: "⊏̸" }], [0, { v: "⊐", n: 824, o: "⊐̸" }], [0, "⊑"], [0, "⊒"], [0, { v: "⊓", n: 65024, o: "⊓︀" }], [0, { v: "⊔", n: 65024, o: "⊔︀" }], [0, "⊕"], [0, "⊖"], [0, "⊗"], [0, "⊘"], [0, "⊙"], [0, "⊚"], [0, "⊛"], [1, "⊝"], [0, "⊞"], [0, "⊟"], [0, "⊠"], [0, "⊡"], [0, "⊢"], [0, "⊣"], [0, "⊤"], [0, "⊥"], [1, "⊧"], [0, "⊨"], [0, "⊩"], [0, "⊪"], [0, "⊫"], [0, "⊬"], [0, "⊭"], [0, "⊮"], [0, "⊯"], [0, "⊰"], [1, "⊲"], [0, "⊳"], [0, { v: "⊴", n: 8402, o: "⊴⃒" }], [0, { v: "⊵", n: 8402, o: "⊵⃒" }], [0, "⊶"], [0, "⊷"], [0, "⊸"], [0, "⊹"], [0, "⊺"], [0, "⊻"], [1, "⊽"], [0, "⊾"], [0, "⊿"], [0, "⋀"], [0, "⋁"], [0, "⋂"], [0, "⋃"], [0, "⋄"], [0, "⋅"], [0, "⋆"], [0, "⋇"], [0, "⋈"], [0, "⋉"], [0, "⋊"], [0, "⋋"], [0, "⋌"], [0, "⋍"], [0, "⋎"], [0, "⋏"], [0, "⋐"], [0, "⋑"], [0, "⋒"], [0, "⋓"], [0, "⋔"], [0, "⋕"], [0, "⋖"], [0, "⋗"], [0, { v: "⋘", n: 824, o: "⋘̸" }], [0, { v: "⋙", n: 824, o: "⋙̸" }], [0, { v: "⋚", n: 65024, o: "⋚︀" }], [0, { v: "⋛", n: 65024, o: "⋛︀" }], [2, "⋞"], [0, "⋟"], [0, "⋠"], [0, "⋡"], [0, "⋢"], [0, "⋣"], [2, "⋦"], [0, "⋧"], [0, "⋨"], [0, "⋩"], [0, "⋪"], [0, "⋫"], [0, "⋬"], [0, "⋭"], [0, "⋮"], [0, "⋯"], [0, "⋰"], [0, "⋱"], [0, "⋲"], [0, "⋳"], [0, "⋴"], [0, { v: "⋵", n: 824, o: "⋵̸" }], [0, "⋶"], [0, "⋷"], [1, { v: "⋹", n: 824, o: "⋹̸" }], [0, "⋺"], [0, "⋻"], [0, "⋼"], [0, "⋽"], [0, "⋾"], [6, "⌅"], [0, "⌆"], [1, "⌈"], [0, "⌉"], [0, "⌊"], [0, "⌋"], [0, "⌌"], [0, "⌍"], [0, "⌎"], [0, "⌏"], [0, "⌐"], [1, "⌒"], [0, "⌓"], [1, "⌕"], [0, "⌖"], [5, "⌜"], [0, "⌝"], [0, "⌞"], [0, "⌟"], [2, "⌢"], [0, "⌣"], [9, "⌭"], [0, "⌮"], [7, "⌶"], [6, "⌽"], [1, "⌿"], [60, "⍼"], [51, "⎰"], [0, "⎱"], [2, "⎴"], [0, "⎵"], [0, "⎶"], [37, "⏜"], [0, "⏝"], [0, "⏞"], [0, "⏟"], [2, "⏢"], [4, "⏧"], [59, "␣"], [164, "Ⓢ"], [55, "─"], [1, "│"], [9, "┌"], [3, "┐"], [3, "└"], [3, "┘"], [3, "├"], [7, "┤"], [7, "┬"], [7, "┴"], [7, "┼"], [19, "═"], [0, "║"], [0, "╒"], [0, "╓"], [0, "╔"], [0, "╕"], [0, "╖"], [0, "╗"], [0, "╘"], [0, "╙"], [0, "╚"], [0, "╛"], [0, "╜"], [0, "╝"], [0, "╞"], [0, "╟"], [0, "╠"], [0, "╡"], [0, "╢"], [0, "╣"], [0, "╤"], [0, "╥"], [0, "╦"], [0, "╧"], [0, "╨"], [0, "╩"], [0, "╪"], [0, "╫"], [0, "╬"], [19, "▀"], [3, "▄"], [3, "█"], [8, "░"], [0, "▒"], [0, "▓"], [13, "□"], [8, "▪"], [0, "▫"], [1, "▭"], [0, "▮"], [2, "▱"], [1, "△"], [0, "▴"], [0, "▵"], [2, "▸"], [0, "▹"], [3, "▽"], [0, "▾"], [0, "▿"], [2, "◂"], [0, "◃"], [6, "◊"], [0, "○"], [32, "◬"], [2, "◯"], [8, "◸"], [0, "◹"], [0, "◺"], [0, "◻"], [0, "◼"], [8, "★"], [0, "☆"], [7, "☎"], [49, "♀"], [1, "♂"], [29, "♠"], [2, "♣"], [1, "♥"], [0, "♦"], [3, "♪"], [2, "♭"], [0, "♮"], [0, "♯"], [163, "✓"], [3, "✗"], [8, "✠"], [21, "✶"], [33, "❘"], [25, "❲"], [0, "❳"], [84, "⟈"], [0, "⟉"], [28, "⟦"], [0, "⟧"], [0, "⟨"], [0, "⟩"], [0, "⟪"], [0, "⟫"], [0, "⟬"], [0, "⟭"], [7, "⟵"], [0, "⟶"], [0, "⟷"], [0, "⟸"], [0, "⟹"], [0, "⟺"], [1, "⟼"], [2, "⟿"], [258, "⤂"], [0, "⤃"], [0, "⤄"], [0, "⤅"], [6, "⤌"], [0, "⤍"], [0, "⤎"], [0, "⤏"], [0, "⤐"], [0, "⤑"], [0, "⤒"], [0, "⤓"], [2, "⤖"], [2, "⤙"], [0, "⤚"], [0, "⤛"], [0, "⤜"], [0, "⤝"], [0, "⤞"], [0, "⤟"], [0, "⤠"], [2, "⤣"], [0, "⤤"], [0, "⤥"], [0, "⤦"], [0, "⤧"], [0, "⤨"], [0, "⤩"], [0, "⤪"], [8, { v: "⤳", n: 824, o: "⤳̸" }], [1, "⤵"], [0, "⤶"], [0, "⤷"], [0, "⤸"], [0, "⤹"], [2, "⤼"], [0, "⤽"], [7, "⥅"], [2, "⥈"], [0, "⥉"], [0, "⥊"], [0, "⥋"], [2, "⥎"], [0, "⥏"], [0, "⥐"], [0, "⥑"], [0, "⥒"], [0, "⥓"], [0, "⥔"], [0, "⥕"], [0, "⥖"], [0, "⥗"], [0, "⥘"], [0, "⥙"], [0, "⥚"], [0, "⥛"], [0, "⥜"], [0, "⥝"], [0, "⥞"], [0, "⥟"], [0, "⥠"], [0, "⥡"], [0, "⥢"], [0, "⥣"], [0, "⥤"], [0, "⥥"], [0, "⥦"], [0, "⥧"], [0, "⥨"], [0, "⥩"], [0, "⥪"], [0, "⥫"], [0, "⥬"], [0, "⥭"], [0, "⥮"], [0, "⥯"], [0, "⥰"], [0, "⥱"], [0, "⥲"], [0, "⥳"], [0, "⥴"], [0, "⥵"], [0, "⥶"], [1, "⥸"], [0, "⥹"], [1, "⥻"], [0, "⥼"], [0, "⥽"], [0, "⥾"], [0, "⥿"], [5, "⦅"], [0, "⦆"], [4, "⦋"], [0, "⦌"], [0, "⦍"], [0, "⦎"], [0, "⦏"], [0, "⦐"], [0, "⦑"], [0, "⦒"], [0, "⦓"], [0, "⦔"], [0, "⦕"], [0, "⦖"], [3, "⦚"], [1, "⦜"], [0, "⦝"], [6, "⦤"], [0, "⦥"], [0, "⦦"], [0, "⦧"], [0, "⦨"], [0, "⦩"], [0, "⦪"], [0, "⦫"], [0, "⦬"], [0, "⦭"], [0, "⦮"], [0, "⦯"], [0, "⦰"], [0, "⦱"], [0, "⦲"], [0, "⦳"], [0, "⦴"], [0, "⦵"], [0, "⦶"], [0, "⦷"], [1, "⦹"], [1, "⦻"], [0, "⦼"], [1, "⦾"], [0, "⦿"], [0, "⧀"], [0, "⧁"], [0, "⧂"], [0, "⧃"], [0, "⧄"], [0, "⧅"], [3, "⧉"], [3, "⧍"], [0, "⧎"], [0, { v: "⧏", n: 824, o: "⧏̸" }], [0, { v: "⧐", n: 824, o: "⧐̸" }], [11, "⧜"], [0, "⧝"], [0, "⧞"], [4, "⧣"], [0, "⧤"], [0, "⧥"], [5, "⧫"], [8, "⧴"], [1, "⧶"], [9, "⨀"], [0, "⨁"], [0, "⨂"], [1, "⨄"], [1, "⨆"], [5, "⨌"], [0, "⨍"], [2, "⨐"], [0, "⨑"], [0, "⨒"], [0, "⨓"], [0, "⨔"], [0, "⨕"], [0, "⨖"], [0, "⨗"], [10, "⨢"], [0, "⨣"], [0, "⨤"], [0, "⨥"], [0, "⨦"], [0, "⨧"], [1, "⨩"], [0, "⨪"], [2, "⨭"], [0, "⨮"], [0, "⨯"], [0, "⨰"], [0, "⨱"], [1, "⨳"], [0, "⨴"], [0, "⨵"], [0, "⨶"], [0, "⨷"], [0, "⨸"], [0, "⨹"], [0, "⨺"], [0, "⨻"], [0, "⨼"], [2, "⨿"], [0, "⩀"], [1, "⩂"], [0, "⩃"], [0, "⩄"], [0, "⩅"], [0, "⩆"], [0, "⩇"], [0, "⩈"], [0, "⩉"], [0, "⩊"], [0, "⩋"], [0, "⩌"], [0, "⩍"], [2, "⩐"], [2, "⩓"], [0, "⩔"], [0, "⩕"], [0, "⩖"], [0, "⩗"], [0, "⩘"], [1, "⩚"], [0, "⩛"], [0, "⩜"], [0, "⩝"], [1, "⩟"], [6, "⩦"], [3, "⩪"], [2, { v: "⩭", n: 824, o: "⩭̸" }], [0, "⩮"], [0, "⩯"], [0, { v: "⩰", n: 824, o: "⩰̸" }], [0, "⩱"], [0, "⩲"], [0, "⩳"], [0, "⩴"], [0, "⩵"], [1, "⩷"], [0, "⩸"], [0, "⩹"], [0, "⩺"], [0, "⩻"], [0, "⩼"], [0, { v: "⩽", n: 824, o: "⩽̸" }], [0, { v: "⩾", n: 824, o: "⩾̸" }], [0, "⩿"], [0, "⪀"], [0, "⪁"], [0, "⪂"], [0, "⪃"], [0, "⪄"], [0, "⪅"], [0, "⪆"], [0, "⪇"], [0, "⪈"], [0, "⪉"], [0, "⪊"], [0, "⪋"], [0, "⪌"], [0, "⪍"], [0, "⪎"], [0, "⪏"], [0, "⪐"], [0, "⪑"], [0, "⪒"], [0, "⪓"], [0, "⪔"], [0, "⪕"], [0, "⪖"], [0, "⪗"], [0, "⪘"], [0, "⪙"], [0, "⪚"], [2, "⪝"], [0, "⪞"], [0, "⪟"], [0, "⪠"], [0, { v: "⪡", n: 824, o: "⪡̸" }], [0, { v: "⪢", n: 824, o: "⪢̸" }], [1, "⪤"], [0, "⪥"], [0, "⪦"], [0, "⪧"], [0, "⪨"], [0, "⪩"], [0, "⪪"], [0, "⪫"], [0, { v: "⪬", n: 65024, o: "⪬︀" }], [0, { v: "⪭", n: 65024, o: "⪭︀" }], [0, "⪮"], [0, { v: "⪯", n: 824, o: "⪯̸" }], [0, { v: "⪰", n: 824, o: "⪰̸" }], [2, "⪳"], [0, "⪴"], [0, "⪵"], [0, "⪶"], [0, "⪷"], [0, "⪸"], [0, "⪹"], [0, "⪺"], [0, "⪻"], [0, "⪼"], [0, "⪽"], [0, "⪾"], [0, "⪿"], [0, "⫀"], [0, "⫁"], [0, "⫂"], [0, "⫃"], [0, "⫄"], [0, { v: "⫅", n: 824, o: "⫅̸" }], [0, { v: "⫆", n: 824, o: "⫆̸" }], [0, "⫇"], [0, "⫈"], [2, { v: "⫋", n: 65024, o: "⫋︀" }], [0, { v: "⫌", n: 65024, o: "⫌︀" }], [2, "⫏"], [0, "⫐"], [0, "⫑"], [0, "⫒"], [0, "⫓"], [0, "⫔"], [0, "⫕"], [0, "⫖"], [0, "⫗"], [0, "⫘"], [0, "⫙"], [0, "⫚"], [0, "⫛"], [8, "⫤"], [1, "⫦"], [0, "⫧"], [0, "⫨"], [0, "⫩"], [1, "⫫"], [0, "⫬"], [0, "⫭"], [0, "⫮"], [0, "⫯"], [0, "⫰"], [0, "⫱"], [0, "⫲"], [0, "⫳"], [9, { v: "⫽", n: 8421, o: "⫽⃥" }], [44343, { n: new Map(/* @__PURE__ */ restoreDiff([[56476, "𝒜"], [1, "𝒞"], [0, "𝒟"], [2, "𝒢"], [2, "𝒥"], [0, "𝒦"], [2, "𝒩"], [0, "𝒪"], [0, "𝒫"], [0, "𝒬"], [1, "𝒮"], [0, "𝒯"], [0, "𝒰"], [0, "𝒱"], [0, "𝒲"], [0, "𝒳"], [0, "𝒴"], [0, "𝒵"], [0, "𝒶"], [0, "𝒷"], [0, "𝒸"], [0, "𝒹"], [1, "𝒻"], [1, "𝒽"], [0, "𝒾"], [0, "𝒿"], [0, "𝓀"], [0, "𝓁"], [0, "𝓂"], [0, "𝓃"], [1, "𝓅"], [0, "𝓆"], [0, "𝓇"], [0, "𝓈"], [0, "𝓉"], [0, "𝓊"], [0, "𝓋"], [0, "𝓌"], [0, "𝓍"], [0, "𝓎"], [0, "𝓏"], [52, "𝔄"], [0, "𝔅"], [1, "𝔇"], [0, "𝔈"], [0, "𝔉"], [0, "𝔊"], [2, "𝔍"], [0, "𝔎"], [0, "𝔏"], [0, "𝔐"], [0, "𝔑"], [0, "𝔒"], [0, "𝔓"], [0, "𝔔"], [1, "𝔖"], [0, "𝔗"], [0, "𝔘"], [0, "𝔙"], [0, "𝔚"], [0, "𝔛"], [0, "𝔜"], [1, "𝔞"], [0, "𝔟"], [0, "𝔠"], [0, "𝔡"], [0, "𝔢"], [0, "𝔣"], [0, "𝔤"], [0, "𝔥"], [0, "𝔦"], [0, "𝔧"], [0, "𝔨"], [0, "𝔩"], [0, "𝔪"], [0, "𝔫"], [0, "𝔬"], [0, "𝔭"], [0, "𝔮"], [0, "𝔯"], [0, "𝔰"], [0, "𝔱"], [0, "𝔲"], [0, "𝔳"], [0, "𝔴"], [0, "𝔵"], [0, "𝔶"], [0, "𝔷"], [0, "𝔸"], [0, "𝔹"], [1, "𝔻"], [0, "𝔼"], [0, "𝔽"], [0, "𝔾"], [1, "𝕀"], [0, "𝕁"], [0, "𝕂"], [0, "𝕃"], [0, "𝕄"], [1, "𝕆"], [3, "𝕊"], [0, "𝕋"], [0, "𝕌"], [0, "𝕍"], [0, "𝕎"], [0, "𝕏"], [0, "𝕐"], [1, "𝕒"], [0, "𝕓"], [0, "𝕔"], [0, "𝕕"], [0, "𝕖"], [0, "𝕗"], [0, "𝕘"], [0, "𝕙"], [0, "𝕚"], [0, "𝕛"], [0, "𝕜"], [0, "𝕝"], [0, "𝕞"], [0, "𝕟"], [0, "𝕠"], [0, "𝕡"], [0, "𝕢"], [0, "𝕣"], [0, "𝕤"], [0, "𝕥"], [0, "𝕦"], [0, "𝕧"], [0, "𝕨"], [0, "𝕩"], [0, "𝕪"], [0, "𝕫"]])) }], [8906, "ff"], [0, "fi"], [0, "fl"], [0, "ffi"], [0, "ffl"]])); - } -}); - -// node_modules/entities/lib/escape.js -var require_escape = __commonJS({ - "node_modules/entities/lib/escape.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.escapeText = exports2.escapeAttribute = exports2.escapeUTF8 = exports2.escape = exports2.encodeXML = exports2.getCodePoint = exports2.xmlReplacer = void 0; - exports2.xmlReplacer = /["&'<>$\x80-\uFFFF]/g; - var xmlCodeMap = /* @__PURE__ */ new Map([ - [34, """], - [38, "&"], - [39, "'"], - [60, "<"], - [62, ">"] - ]); - exports2.getCodePoint = // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - String.prototype.codePointAt != null ? function(str, index) { - return str.codePointAt(index); - } : ( - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - function(c, index) { - return (c.charCodeAt(index) & 64512) === 55296 ? (c.charCodeAt(index) - 55296) * 1024 + c.charCodeAt(index + 1) - 56320 + 65536 : c.charCodeAt(index); - } - ); - function encodeXML(str) { - var ret = ""; - var lastIdx = 0; - var match; - while ((match = exports2.xmlReplacer.exec(str)) !== null) { - var i = match.index; - var char = str.charCodeAt(i); - var next = xmlCodeMap.get(char); - if (next !== void 0) { - ret += str.substring(lastIdx, i) + next; - lastIdx = i + 1; - } else { - ret += "".concat(str.substring(lastIdx, i), "&#x").concat((0, exports2.getCodePoint)(str, i).toString(16), ";"); - lastIdx = exports2.xmlReplacer.lastIndex += Number((char & 64512) === 55296); - } - } - return ret + str.substr(lastIdx); - } - exports2.encodeXML = encodeXML; - exports2.escape = encodeXML; - function getEscaper(regex, map) { - return function escape(data) { - var match; - var lastIdx = 0; - var result = ""; - while (match = regex.exec(data)) { - if (lastIdx !== match.index) { - result += data.substring(lastIdx, match.index); - } - result += map.get(match[0].charCodeAt(0)); - lastIdx = match.index + 1; - } - return result + data.substring(lastIdx); - }; - } - exports2.escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap); - exports2.escapeAttribute = getEscaper(/["&\u00A0]/g, /* @__PURE__ */ new Map([ - [34, """], - [38, "&"], - [160, " "] - ])); - exports2.escapeText = getEscaper(/[&<>\u00A0]/g, /* @__PURE__ */ new Map([ - [38, "&"], - [60, "<"], - [62, ">"], - [160, " "] - ])); - } -}); - -// node_modules/entities/lib/encode.js -var require_encode = __commonJS({ - "node_modules/entities/lib/encode.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.encodeNonAsciiHTML = exports2.encodeHTML = void 0; - var encode_html_js_1 = __importDefault(require_encode_html()); - var escape_js_1 = require_escape(); - var htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g; - function encodeHTML(data) { - return encodeHTMLTrieRe(htmlReplacer, data); - } - exports2.encodeHTML = encodeHTML; - function encodeNonAsciiHTML(data) { - return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data); - } - exports2.encodeNonAsciiHTML = encodeNonAsciiHTML; - function encodeHTMLTrieRe(regExp, str) { - var ret = ""; - var lastIdx = 0; - var match; - while ((match = regExp.exec(str)) !== null) { - var i = match.index; - ret += str.substring(lastIdx, i); - var char = str.charCodeAt(i); - var next = encode_html_js_1.default.get(char); - if (typeof next === "object") { - if (i + 1 < str.length) { - var nextChar = str.charCodeAt(i + 1); - var value = typeof next.n === "number" ? next.n === nextChar ? next.o : void 0 : next.n.get(nextChar); - if (value !== void 0) { - ret += value; - lastIdx = regExp.lastIndex += 1; - continue; - } - } - next = next.v; - } - if (next !== void 0) { - ret += next; - lastIdx = i + 1; - } else { - var cp = (0, escape_js_1.getCodePoint)(str, i); - ret += "&#x".concat(cp.toString(16), ";"); - lastIdx = regExp.lastIndex += Number(cp !== char); - } - } - return ret + str.substr(lastIdx); - } - } -}); - -// node_modules/entities/lib/index.js -var require_lib4 = __commonJS({ - "node_modules/entities/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.decodeXMLStrict = exports2.decodeHTML5Strict = exports2.decodeHTML4Strict = exports2.decodeHTML5 = exports2.decodeHTML4 = exports2.decodeHTMLAttribute = exports2.decodeHTMLStrict = exports2.decodeHTML = exports2.decodeXML = exports2.DecodingMode = exports2.EntityDecoder = exports2.encodeHTML5 = exports2.encodeHTML4 = exports2.encodeNonAsciiHTML = exports2.encodeHTML = exports2.escapeText = exports2.escapeAttribute = exports2.escapeUTF8 = exports2.escape = exports2.encodeXML = exports2.encode = exports2.decodeStrict = exports2.decode = exports2.EncodingMode = exports2.EntityLevel = void 0; - var decode_js_1 = require_decode(); - var encode_js_1 = require_encode(); - var escape_js_1 = require_escape(); - var EntityLevel; - (function(EntityLevel2) { - EntityLevel2[EntityLevel2["XML"] = 0] = "XML"; - EntityLevel2[EntityLevel2["HTML"] = 1] = "HTML"; - })(EntityLevel = exports2.EntityLevel || (exports2.EntityLevel = {})); - var EncodingMode; - (function(EncodingMode2) { - EncodingMode2[EncodingMode2["UTF8"] = 0] = "UTF8"; - EncodingMode2[EncodingMode2["ASCII"] = 1] = "ASCII"; - EncodingMode2[EncodingMode2["Extensive"] = 2] = "Extensive"; - EncodingMode2[EncodingMode2["Attribute"] = 3] = "Attribute"; - EncodingMode2[EncodingMode2["Text"] = 4] = "Text"; - })(EncodingMode = exports2.EncodingMode || (exports2.EncodingMode = {})); - function decode(data, options) { - if (options === void 0) { - options = EntityLevel.XML; - } - var level = typeof options === "number" ? options : options.level; - if (level === EntityLevel.HTML) { - var mode = typeof options === "object" ? options.mode : void 0; - return (0, decode_js_1.decodeHTML)(data, mode); - } - return (0, decode_js_1.decodeXML)(data); - } - exports2.decode = decode; - function decodeStrict(data, options) { - var _a; - if (options === void 0) { - options = EntityLevel.XML; - } - var opts = typeof options === "number" ? { level: options } : options; - (_a = opts.mode) !== null && _a !== void 0 ? _a : opts.mode = decode_js_1.DecodingMode.Strict; - return decode(data, opts); - } - exports2.decodeStrict = decodeStrict; - function encode(data, options) { - if (options === void 0) { - options = EntityLevel.XML; - } - var opts = typeof options === "number" ? { level: options } : options; - if (opts.mode === EncodingMode.UTF8) - return (0, escape_js_1.escapeUTF8)(data); - if (opts.mode === EncodingMode.Attribute) - return (0, escape_js_1.escapeAttribute)(data); - if (opts.mode === EncodingMode.Text) - return (0, escape_js_1.escapeText)(data); - if (opts.level === EntityLevel.HTML) { - if (opts.mode === EncodingMode.ASCII) { - return (0, encode_js_1.encodeNonAsciiHTML)(data); - } - return (0, encode_js_1.encodeHTML)(data); - } - return (0, escape_js_1.encodeXML)(data); - } - exports2.encode = encode; - var escape_js_2 = require_escape(); - Object.defineProperty(exports2, "encodeXML", { enumerable: true, get: function() { - return escape_js_2.encodeXML; - } }); - Object.defineProperty(exports2, "escape", { enumerable: true, get: function() { - return escape_js_2.escape; - } }); - Object.defineProperty(exports2, "escapeUTF8", { enumerable: true, get: function() { - return escape_js_2.escapeUTF8; - } }); - Object.defineProperty(exports2, "escapeAttribute", { enumerable: true, get: function() { - return escape_js_2.escapeAttribute; - } }); - Object.defineProperty(exports2, "escapeText", { enumerable: true, get: function() { - return escape_js_2.escapeText; - } }); - var encode_js_2 = require_encode(); - Object.defineProperty(exports2, "encodeHTML", { enumerable: true, get: function() { - return encode_js_2.encodeHTML; - } }); - Object.defineProperty(exports2, "encodeNonAsciiHTML", { enumerable: true, get: function() { - return encode_js_2.encodeNonAsciiHTML; - } }); - Object.defineProperty(exports2, "encodeHTML4", { enumerable: true, get: function() { - return encode_js_2.encodeHTML; - } }); - Object.defineProperty(exports2, "encodeHTML5", { enumerable: true, get: function() { - return encode_js_2.encodeHTML; - } }); - var decode_js_2 = require_decode(); - Object.defineProperty(exports2, "EntityDecoder", { enumerable: true, get: function() { - return decode_js_2.EntityDecoder; - } }); - Object.defineProperty(exports2, "DecodingMode", { enumerable: true, get: function() { - return decode_js_2.DecodingMode; - } }); - Object.defineProperty(exports2, "decodeXML", { enumerable: true, get: function() { - return decode_js_2.decodeXML; - } }); - Object.defineProperty(exports2, "decodeHTML", { enumerable: true, get: function() { - return decode_js_2.decodeHTML; - } }); - Object.defineProperty(exports2, "decodeHTMLStrict", { enumerable: true, get: function() { - return decode_js_2.decodeHTMLStrict; - } }); - Object.defineProperty(exports2, "decodeHTMLAttribute", { enumerable: true, get: function() { - return decode_js_2.decodeHTMLAttribute; - } }); - Object.defineProperty(exports2, "decodeHTML4", { enumerable: true, get: function() { - return decode_js_2.decodeHTML; - } }); - Object.defineProperty(exports2, "decodeHTML5", { enumerable: true, get: function() { - return decode_js_2.decodeHTML; - } }); - Object.defineProperty(exports2, "decodeHTML4Strict", { enumerable: true, get: function() { - return decode_js_2.decodeHTMLStrict; - } }); - Object.defineProperty(exports2, "decodeHTML5Strict", { enumerable: true, get: function() { - return decode_js_2.decodeHTMLStrict; - } }); - Object.defineProperty(exports2, "decodeXMLStrict", { enumerable: true, get: function() { - return decode_js_2.decodeXML; - } }); - } -}); - -// node_modules/dom-serializer/lib/foreignNames.js -var require_foreignNames = __commonJS({ - "node_modules/dom-serializer/lib/foreignNames.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.attributeNames = exports2.elementNames = void 0; - exports2.elementNames = new Map([ - "altGlyph", - "altGlyphDef", - "altGlyphItem", - "animateColor", - "animateMotion", - "animateTransform", - "clipPath", - "feBlend", - "feColorMatrix", - "feComponentTransfer", - "feComposite", - "feConvolveMatrix", - "feDiffuseLighting", - "feDisplacementMap", - "feDistantLight", - "feDropShadow", - "feFlood", - "feFuncA", - "feFuncB", - "feFuncG", - "feFuncR", - "feGaussianBlur", - "feImage", - "feMerge", - "feMergeNode", - "feMorphology", - "feOffset", - "fePointLight", - "feSpecularLighting", - "feSpotLight", - "feTile", - "feTurbulence", - "foreignObject", - "glyphRef", - "linearGradient", - "radialGradient", - "textPath" - ].map(function(val) { - return [val.toLowerCase(), val]; - })); - exports2.attributeNames = new Map([ - "definitionURL", - "attributeName", - "attributeType", - "baseFrequency", - "baseProfile", - "calcMode", - "clipPathUnits", - "diffuseConstant", - "edgeMode", - "filterUnits", - "glyphRef", - "gradientTransform", - "gradientUnits", - "kernelMatrix", - "kernelUnitLength", - "keyPoints", - "keySplines", - "keyTimes", - "lengthAdjust", - "limitingConeAngle", - "markerHeight", - "markerUnits", - "markerWidth", - "maskContentUnits", - "maskUnits", - "numOctaves", - "pathLength", - "patternContentUnits", - "patternTransform", - "patternUnits", - "pointsAtX", - "pointsAtY", - "pointsAtZ", - "preserveAlpha", - "preserveAspectRatio", - "primitiveUnits", - "refX", - "refY", - "repeatCount", - "repeatDur", - "requiredExtensions", - "requiredFeatures", - "specularConstant", - "specularExponent", - "spreadMethod", - "startOffset", - "stdDeviation", - "stitchTiles", - "surfaceScale", - "systemLanguage", - "tableValues", - "targetX", - "targetY", - "textLength", - "viewBox", - "viewTarget", - "xChannelSelector", - "yChannelSelector", - "zoomAndPan" - ].map(function(val) { - return [val.toLowerCase(), val]; - })); - } -}); - -// node_modules/dom-serializer/lib/index.js -var require_lib5 = __commonJS({ - "node_modules/dom-serializer/lib/index.js"(exports2) { - "use strict"; - var __assign = exports2 && exports2.__assign || function() { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.render = void 0; - var ElementType = __importStar(require_lib2()); - var entities_1 = require_lib4(); - var foreignNames_js_1 = require_foreignNames(); - var unencodedElements = /* @__PURE__ */ new Set([ - "style", - "script", - "xmp", - "iframe", - "noembed", - "noframes", - "plaintext", - "noscript" - ]); - function replaceQuotes(value) { - return value.replace(/"/g, """); - } - function formatAttributes(attributes, opts) { - var _a; - if (!attributes) - return; - var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false ? replaceQuotes : opts.xmlMode || opts.encodeEntities !== "utf8" ? entities_1.encodeXML : entities_1.escapeAttribute; - return Object.keys(attributes).map(function(key) { - var _a2, _b; - var value = (_a2 = attributes[key]) !== null && _a2 !== void 0 ? _a2 : ""; - if (opts.xmlMode === "foreign") { - key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key; - } - if (!opts.emptyAttrs && !opts.xmlMode && value === "") { - return key; - } - return "".concat(key, '="').concat(encode(value), '"'); - }).join(" "); - } - var singleTag = /* @__PURE__ */ new Set([ - "area", - "base", - "basefont", - "br", - "col", - "command", - "embed", - "frame", - "hr", - "img", - "input", - "isindex", - "keygen", - "link", - "meta", - "param", - "source", - "track", - "wbr" - ]); - function render(node, options) { - if (options === void 0) { - options = {}; - } - var nodes = "length" in node ? node : [node]; - var output = ""; - for (var i = 0; i < nodes.length; i++) { - output += renderNode(nodes[i], options); - } - return output; - } - exports2.render = render; - exports2.default = render; - function renderNode(node, options) { - switch (node.type) { - case ElementType.Root: - return render(node.children, options); - // @ts-expect-error We don't use `Doctype` yet - case ElementType.Doctype: - case ElementType.Directive: - return renderDirective(node); - case ElementType.Comment: - return renderComment(node); - case ElementType.CDATA: - return renderCdata(node); - case ElementType.Script: - case ElementType.Style: - case ElementType.Tag: - return renderTag(node, options); - case ElementType.Text: - return renderText(node, options); - } - } - var foreignModeIntegrationPoints = /* @__PURE__ */ new Set([ - "mi", - "mo", - "mn", - "ms", - "mtext", - "annotation-xml", - "foreignObject", - "desc", - "title" - ]); - var foreignElements = /* @__PURE__ */ new Set(["svg", "math"]); - function renderTag(elem, opts) { - var _a; - if (opts.xmlMode === "foreign") { - elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name; - if (elem.parent && foreignModeIntegrationPoints.has(elem.parent.name)) { - opts = __assign(__assign({}, opts), { xmlMode: false }); - } - } - if (!opts.xmlMode && foreignElements.has(elem.name)) { - opts = __assign(__assign({}, opts), { xmlMode: "foreign" }); - } - var tag = "<".concat(elem.name); - var attribs = formatAttributes(elem.attribs, opts); - if (attribs) { - tag += " ".concat(attribs); - } - if (elem.children.length === 0 && (opts.xmlMode ? ( - // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags - opts.selfClosingTags !== false - ) : ( - // User explicitly asked for self-closing tags, even in HTML mode - opts.selfClosingTags && singleTag.has(elem.name) - ))) { - if (!opts.xmlMode) - tag += " "; - tag += "/>"; - } else { - tag += ">"; - if (elem.children.length > 0) { - tag += render(elem.children, opts); - } - if (opts.xmlMode || !singleTag.has(elem.name)) { - tag += ""); - } - } - return tag; - } - function renderDirective(elem) { - return "<".concat(elem.data, ">"); - } - function renderText(elem, opts) { - var _a; - var data = elem.data || ""; - if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false && !(!opts.xmlMode && elem.parent && unencodedElements.has(elem.parent.name))) { - data = opts.xmlMode || opts.encodeEntities !== "utf8" ? (0, entities_1.encodeXML)(data) : (0, entities_1.escapeText)(data); - } - return data; - } - function renderCdata(elem) { - return ""); - } - function renderComment(elem) { - return ""); - } - } -}); - -// node_modules/domutils/lib/stringify.js -var require_stringify3 = __commonJS({ - "node_modules/domutils/lib/stringify.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.innerText = exports2.textContent = exports2.getText = exports2.getInnerHTML = exports2.getOuterHTML = void 0; - var domhandler_1 = require_lib3(); - var dom_serializer_1 = __importDefault(require_lib5()); - var domelementtype_1 = require_lib2(); - function getOuterHTML(node, options) { - return (0, dom_serializer_1.default)(node, options); - } - exports2.getOuterHTML = getOuterHTML; - function getInnerHTML(node, options) { - return (0, domhandler_1.hasChildren)(node) ? node.children.map(function(node2) { - return getOuterHTML(node2, options); - }).join("") : ""; - } - exports2.getInnerHTML = getInnerHTML; - function getText(node) { - if (Array.isArray(node)) - return node.map(getText).join(""); - if ((0, domhandler_1.isTag)(node)) - return node.name === "br" ? "\n" : getText(node.children); - if ((0, domhandler_1.isCDATA)(node)) - return getText(node.children); - if ((0, domhandler_1.isText)(node)) - return node.data; - return ""; - } - exports2.getText = getText; - function textContent(node) { - if (Array.isArray(node)) - return node.map(textContent).join(""); - if ((0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node)) { - return textContent(node.children); - } - if ((0, domhandler_1.isText)(node)) - return node.data; - return ""; - } - exports2.textContent = textContent; - function innerText(node) { - if (Array.isArray(node)) - return node.map(innerText).join(""); - if ((0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node))) { - return innerText(node.children); - } - if ((0, domhandler_1.isText)(node)) - return node.data; - return ""; - } - exports2.innerText = innerText; - } -}); - -// node_modules/domutils/lib/traversal.js -var require_traversal = __commonJS({ - "node_modules/domutils/lib/traversal.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.prevElementSibling = exports2.nextElementSibling = exports2.getName = exports2.hasAttrib = exports2.getAttributeValue = exports2.getSiblings = exports2.getParent = exports2.getChildren = void 0; - var domhandler_1 = require_lib3(); - function getChildren(elem) { - return (0, domhandler_1.hasChildren)(elem) ? elem.children : []; - } - exports2.getChildren = getChildren; - function getParent(elem) { - return elem.parent || null; - } - exports2.getParent = getParent; - function getSiblings(elem) { - var _a, _b; - var parent = getParent(elem); - if (parent != null) - return getChildren(parent); - var siblings = [elem]; - var prev = elem.prev, next = elem.next; - while (prev != null) { - siblings.unshift(prev); - _a = prev, prev = _a.prev; - } - while (next != null) { - siblings.push(next); - _b = next, next = _b.next; - } - return siblings; - } - exports2.getSiblings = getSiblings; - function getAttributeValue(elem, name) { - var _a; - return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name]; - } - exports2.getAttributeValue = getAttributeValue; - function hasAttrib(elem, name) { - return elem.attribs != null && Object.prototype.hasOwnProperty.call(elem.attribs, name) && elem.attribs[name] != null; - } - exports2.hasAttrib = hasAttrib; - function getName(elem) { - return elem.name; - } - exports2.getName = getName; - function nextElementSibling(elem) { - var _a; - var next = elem.next; - while (next !== null && !(0, domhandler_1.isTag)(next)) - _a = next, next = _a.next; - return next; - } - exports2.nextElementSibling = nextElementSibling; - function prevElementSibling(elem) { - var _a; - var prev = elem.prev; - while (prev !== null && !(0, domhandler_1.isTag)(prev)) - _a = prev, prev = _a.prev; - return prev; - } - exports2.prevElementSibling = prevElementSibling; - } -}); - -// node_modules/domutils/lib/manipulation.js -var require_manipulation = __commonJS({ - "node_modules/domutils/lib/manipulation.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.prepend = exports2.prependChild = exports2.append = exports2.appendChild = exports2.replaceElement = exports2.removeElement = void 0; - function removeElement(elem) { - if (elem.prev) - elem.prev.next = elem.next; - if (elem.next) - elem.next.prev = elem.prev; - if (elem.parent) { - var childs = elem.parent.children; - var childsIndex = childs.lastIndexOf(elem); - if (childsIndex >= 0) { - childs.splice(childsIndex, 1); - } - } - elem.next = null; - elem.prev = null; - elem.parent = null; - } - exports2.removeElement = removeElement; - function replaceElement(elem, replacement) { - var prev = replacement.prev = elem.prev; - if (prev) { - prev.next = replacement; - } - var next = replacement.next = elem.next; - if (next) { - next.prev = replacement; - } - var parent = replacement.parent = elem.parent; - if (parent) { - var childs = parent.children; - childs[childs.lastIndexOf(elem)] = replacement; - elem.parent = null; - } - } - exports2.replaceElement = replaceElement; - function appendChild(parent, child) { - removeElement(child); - child.next = null; - child.parent = parent; - if (parent.children.push(child) > 1) { - var sibling = parent.children[parent.children.length - 2]; - sibling.next = child; - child.prev = sibling; - } else { - child.prev = null; - } - } - exports2.appendChild = appendChild; - function append(elem, next) { - removeElement(next); - var parent = elem.parent; - var currNext = elem.next; - next.next = currNext; - next.prev = elem; - elem.next = next; - next.parent = parent; - if (currNext) { - currNext.prev = next; - if (parent) { - var childs = parent.children; - childs.splice(childs.lastIndexOf(currNext), 0, next); - } - } else if (parent) { - parent.children.push(next); - } - } - exports2.append = append; - function prependChild(parent, child) { - removeElement(child); - child.parent = parent; - child.prev = null; - if (parent.children.unshift(child) !== 1) { - var sibling = parent.children[1]; - sibling.prev = child; - child.next = sibling; - } else { - child.next = null; - } - } - exports2.prependChild = prependChild; - function prepend(elem, prev) { - removeElement(prev); - var parent = elem.parent; - if (parent) { - var childs = parent.children; - childs.splice(childs.indexOf(elem), 0, prev); - } - if (elem.prev) { - elem.prev.next = prev; - } - prev.parent = parent; - prev.prev = elem.prev; - prev.next = elem; - elem.prev = prev; - } - exports2.prepend = prepend; - } -}); - -// node_modules/domutils/lib/querying.js -var require_querying = __commonJS({ - "node_modules/domutils/lib/querying.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.findAll = exports2.existsOne = exports2.findOne = exports2.findOneChild = exports2.find = exports2.filter = void 0; - var domhandler_1 = require_lib3(); - function filter(test, node, recurse, limit) { - if (recurse === void 0) { - recurse = true; - } - if (limit === void 0) { - limit = Infinity; - } - return find(test, Array.isArray(node) ? node : [node], recurse, limit); - } - exports2.filter = filter; - function find(test, nodes, recurse, limit) { - var result = []; - var nodeStack = [nodes]; - var indexStack = [0]; - for (; ; ) { - if (indexStack[0] >= nodeStack[0].length) { - if (indexStack.length === 1) { - return result; - } - nodeStack.shift(); - indexStack.shift(); - continue; - } - var elem = nodeStack[0][indexStack[0]++]; - if (test(elem)) { - result.push(elem); - if (--limit <= 0) - return result; - } - if (recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) { - indexStack.unshift(0); - nodeStack.unshift(elem.children); - } - } - } - exports2.find = find; - function findOneChild(test, nodes) { - return nodes.find(test); - } - exports2.findOneChild = findOneChild; - function findOne(test, nodes, recurse) { - if (recurse === void 0) { - recurse = true; - } - var elem = null; - for (var i = 0; i < nodes.length && !elem; i++) { - var node = nodes[i]; - if (!(0, domhandler_1.isTag)(node)) { - continue; - } else if (test(node)) { - elem = node; - } else if (recurse && node.children.length > 0) { - elem = findOne(test, node.children, true); - } - } - return elem; - } - exports2.findOne = findOne; - function existsOne(test, nodes) { - return nodes.some(function(checked) { - return (0, domhandler_1.isTag)(checked) && (test(checked) || existsOne(test, checked.children)); - }); - } - exports2.existsOne = existsOne; - function findAll(test, nodes) { - var result = []; - var nodeStack = [nodes]; - var indexStack = [0]; - for (; ; ) { - if (indexStack[0] >= nodeStack[0].length) { - if (nodeStack.length === 1) { - return result; - } - nodeStack.shift(); - indexStack.shift(); - continue; - } - var elem = nodeStack[0][indexStack[0]++]; - if (!(0, domhandler_1.isTag)(elem)) - continue; - if (test(elem)) - result.push(elem); - if (elem.children.length > 0) { - indexStack.unshift(0); - nodeStack.unshift(elem.children); - } - } - } - exports2.findAll = findAll; - } -}); - -// node_modules/domutils/lib/legacy.js -var require_legacy = __commonJS({ - "node_modules/domutils/lib/legacy.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getElementsByTagType = exports2.getElementsByTagName = exports2.getElementById = exports2.getElements = exports2.testElement = void 0; - var domhandler_1 = require_lib3(); - var querying_js_1 = require_querying(); - var Checks = { - tag_name: function(name) { - if (typeof name === "function") { - return function(elem) { - return (0, domhandler_1.isTag)(elem) && name(elem.name); - }; - } else if (name === "*") { - return domhandler_1.isTag; - } - return function(elem) { - return (0, domhandler_1.isTag)(elem) && elem.name === name; - }; - }, - tag_type: function(type) { - if (typeof type === "function") { - return function(elem) { - return type(elem.type); - }; - } - return function(elem) { - return elem.type === type; - }; - }, - tag_contains: function(data) { - if (typeof data === "function") { - return function(elem) { - return (0, domhandler_1.isText)(elem) && data(elem.data); - }; - } - return function(elem) { - return (0, domhandler_1.isText)(elem) && elem.data === data; - }; - } - }; - function getAttribCheck(attrib, value) { - if (typeof value === "function") { - return function(elem) { - return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib]); - }; - } - return function(elem) { - return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value; - }; - } - function combineFuncs(a, b) { - return function(elem) { - return a(elem) || b(elem); - }; - } - function compileTest(options) { - var funcs = Object.keys(options).map(function(key) { - var value = options[key]; - return Object.prototype.hasOwnProperty.call(Checks, key) ? Checks[key](value) : getAttribCheck(key, value); - }); - return funcs.length === 0 ? null : funcs.reduce(combineFuncs); - } - function testElement(options, node) { - var test = compileTest(options); - return test ? test(node) : true; - } - exports2.testElement = testElement; - function getElements(options, nodes, recurse, limit) { - if (limit === void 0) { - limit = Infinity; - } - var test = compileTest(options); - return test ? (0, querying_js_1.filter)(test, nodes, recurse, limit) : []; - } - exports2.getElements = getElements; - function getElementById(id, nodes, recurse) { - if (recurse === void 0) { - recurse = true; - } - if (!Array.isArray(nodes)) - nodes = [nodes]; - return (0, querying_js_1.findOne)(getAttribCheck("id", id), nodes, recurse); - } - exports2.getElementById = getElementById; - function getElementsByTagName(tagName, nodes, recurse, limit) { - if (recurse === void 0) { - recurse = true; - } - if (limit === void 0) { - limit = Infinity; - } - return (0, querying_js_1.filter)(Checks["tag_name"](tagName), nodes, recurse, limit); - } - exports2.getElementsByTagName = getElementsByTagName; - function getElementsByTagType(type, nodes, recurse, limit) { - if (recurse === void 0) { - recurse = true; - } - if (limit === void 0) { - limit = Infinity; - } - return (0, querying_js_1.filter)(Checks["tag_type"](type), nodes, recurse, limit); - } - exports2.getElementsByTagType = getElementsByTagType; - } -}); - -// node_modules/domutils/lib/helpers.js -var require_helpers = __commonJS({ - "node_modules/domutils/lib/helpers.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.uniqueSort = exports2.compareDocumentPosition = exports2.DocumentPosition = exports2.removeSubsets = void 0; - var domhandler_1 = require_lib3(); - function removeSubsets(nodes) { - var idx = nodes.length; - while (--idx >= 0) { - var node = nodes[idx]; - if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) { - nodes.splice(idx, 1); - continue; - } - for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) { - if (nodes.includes(ancestor)) { - nodes.splice(idx, 1); - break; - } - } - } - return nodes; - } - exports2.removeSubsets = removeSubsets; - var DocumentPosition; - (function(DocumentPosition2) { - DocumentPosition2[DocumentPosition2["DISCONNECTED"] = 1] = "DISCONNECTED"; - DocumentPosition2[DocumentPosition2["PRECEDING"] = 2] = "PRECEDING"; - DocumentPosition2[DocumentPosition2["FOLLOWING"] = 4] = "FOLLOWING"; - DocumentPosition2[DocumentPosition2["CONTAINS"] = 8] = "CONTAINS"; - DocumentPosition2[DocumentPosition2["CONTAINED_BY"] = 16] = "CONTAINED_BY"; - })(DocumentPosition = exports2.DocumentPosition || (exports2.DocumentPosition = {})); - function compareDocumentPosition(nodeA, nodeB) { - var aParents = []; - var bParents = []; - if (nodeA === nodeB) { - return 0; - } - var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent; - while (current) { - aParents.unshift(current); - current = current.parent; - } - current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent; - while (current) { - bParents.unshift(current); - current = current.parent; - } - var maxIdx = Math.min(aParents.length, bParents.length); - var idx = 0; - while (idx < maxIdx && aParents[idx] === bParents[idx]) { - idx++; - } - if (idx === 0) { - return DocumentPosition.DISCONNECTED; - } - var sharedParent = aParents[idx - 1]; - var siblings = sharedParent.children; - var aSibling = aParents[idx]; - var bSibling = bParents[idx]; - if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) { - if (sharedParent === nodeB) { - return DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY; - } - return DocumentPosition.FOLLOWING; - } - if (sharedParent === nodeA) { - return DocumentPosition.PRECEDING | DocumentPosition.CONTAINS; - } - return DocumentPosition.PRECEDING; - } - exports2.compareDocumentPosition = compareDocumentPosition; - function uniqueSort(nodes) { - nodes = nodes.filter(function(node, i, arr) { - return !arr.includes(node, i + 1); - }); - nodes.sort(function(a, b) { - var relative = compareDocumentPosition(a, b); - if (relative & DocumentPosition.PRECEDING) { - return -1; - } else if (relative & DocumentPosition.FOLLOWING) { - return 1; - } - return 0; - }); - return nodes; - } - exports2.uniqueSort = uniqueSort; - } -}); - -// node_modules/domutils/lib/feeds.js -var require_feeds = __commonJS({ - "node_modules/domutils/lib/feeds.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getFeed = void 0; - var stringify_js_1 = require_stringify3(); - var legacy_js_1 = require_legacy(); - function getFeed(doc) { - var feedRoot = getOneElement(isValidFeed, doc); - return !feedRoot ? null : feedRoot.name === "feed" ? getAtomFeed(feedRoot) : getRssFeed(feedRoot); - } - exports2.getFeed = getFeed; - function getAtomFeed(feedRoot) { - var _a; - var childs = feedRoot.children; - var feed = { - type: "atom", - items: (0, legacy_js_1.getElementsByTagName)("entry", childs).map(function(item) { - var _a2; - var children = item.children; - var entry = { media: getMediaElements(children) }; - addConditionally(entry, "id", "id", children); - addConditionally(entry, "title", "title", children); - var href2 = (_a2 = getOneElement("link", children)) === null || _a2 === void 0 ? void 0 : _a2.attribs["href"]; - if (href2) { - entry.link = href2; - } - var description = fetch("summary", children) || fetch("content", children); - if (description) { - entry.description = description; - } - var pubDate = fetch("updated", children); - if (pubDate) { - entry.pubDate = new Date(pubDate); - } - return entry; - }) - }; - addConditionally(feed, "id", "id", childs); - addConditionally(feed, "title", "title", childs); - var href = (_a = getOneElement("link", childs)) === null || _a === void 0 ? void 0 : _a.attribs["href"]; - if (href) { - feed.link = href; - } - addConditionally(feed, "description", "subtitle", childs); - var updated = fetch("updated", childs); - if (updated) { - feed.updated = new Date(updated); - } - addConditionally(feed, "author", "email", childs, true); - return feed; - } - function getRssFeed(feedRoot) { - var _a, _b; - var childs = (_b = (_a = getOneElement("channel", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : []; - var feed = { - type: feedRoot.name.substr(0, 3), - id: "", - items: (0, legacy_js_1.getElementsByTagName)("item", feedRoot.children).map(function(item) { - var children = item.children; - var entry = { media: getMediaElements(children) }; - addConditionally(entry, "id", "guid", children); - addConditionally(entry, "title", "title", children); - addConditionally(entry, "link", "link", children); - addConditionally(entry, "description", "description", children); - var pubDate = fetch("pubDate", children) || fetch("dc:date", children); - if (pubDate) - entry.pubDate = new Date(pubDate); - return entry; - }) - }; - addConditionally(feed, "title", "title", childs); - addConditionally(feed, "link", "link", childs); - addConditionally(feed, "description", "description", childs); - var updated = fetch("lastBuildDate", childs); - if (updated) { - feed.updated = new Date(updated); - } - addConditionally(feed, "author", "managingEditor", childs, true); - return feed; - } - var MEDIA_KEYS_STRING = ["url", "type", "lang"]; - var MEDIA_KEYS_INT = [ - "fileSize", - "bitrate", - "framerate", - "samplingrate", - "channels", - "duration", - "height", - "width" - ]; - function getMediaElements(where) { - return (0, legacy_js_1.getElementsByTagName)("media:content", where).map(function(elem) { - var attribs = elem.attribs; - var media = { - medium: attribs["medium"], - isDefault: !!attribs["isDefault"] - }; - for (var _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) { - var attrib = MEDIA_KEYS_STRING_1[_i]; - if (attribs[attrib]) { - media[attrib] = attribs[attrib]; - } - } - for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) { - var attrib = MEDIA_KEYS_INT_1[_a]; - if (attribs[attrib]) { - media[attrib] = parseInt(attribs[attrib], 10); - } - } - if (attribs["expression"]) { - media.expression = attribs["expression"]; - } - return media; - }); - } - function getOneElement(tagName, node) { - return (0, legacy_js_1.getElementsByTagName)(tagName, node, true, 1)[0]; - } - function fetch(tagName, where, recurse) { - if (recurse === void 0) { - recurse = false; - } - return (0, stringify_js_1.textContent)((0, legacy_js_1.getElementsByTagName)(tagName, where, recurse, 1)).trim(); - } - function addConditionally(obj, prop, tagName, where, recurse) { - if (recurse === void 0) { - recurse = false; - } - var val = fetch(tagName, where, recurse); - if (val) - obj[prop] = val; - } - function isValidFeed(value) { - return value === "rss" || value === "feed" || value === "rdf:RDF"; - } - } -}); - -// node_modules/domutils/lib/index.js -var require_lib6 = __commonJS({ - "node_modules/domutils/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.hasChildren = exports2.isDocument = exports2.isComment = exports2.isText = exports2.isCDATA = exports2.isTag = void 0; - __exportStar(require_stringify3(), exports2); - __exportStar(require_traversal(), exports2); - __exportStar(require_manipulation(), exports2); - __exportStar(require_querying(), exports2); - __exportStar(require_legacy(), exports2); - __exportStar(require_helpers(), exports2); - __exportStar(require_feeds(), exports2); - var domhandler_1 = require_lib3(); - Object.defineProperty(exports2, "isTag", { enumerable: true, get: function() { - return domhandler_1.isTag; - } }); - Object.defineProperty(exports2, "isCDATA", { enumerable: true, get: function() { - return domhandler_1.isCDATA; - } }); - Object.defineProperty(exports2, "isText", { enumerable: true, get: function() { - return domhandler_1.isText; - } }); - Object.defineProperty(exports2, "isComment", { enumerable: true, get: function() { - return domhandler_1.isComment; - } }); - Object.defineProperty(exports2, "isDocument", { enumerable: true, get: function() { - return domhandler_1.isDocument; - } }); - Object.defineProperty(exports2, "hasChildren", { enumerable: true, get: function() { - return domhandler_1.hasChildren; - } }); - } -}); - -// node_modules/boolbase/index.js -var require_boolbase = __commonJS({ - "node_modules/boolbase/index.js"(exports2, module2) { - module2.exports = { - trueFunc: function trueFunc() { - return true; - }, - falseFunc: function falseFunc() { - return false; - } - }; - } -}); - -// node_modules/css-what/lib/commonjs/types.js -var require_types = __commonJS({ - "node_modules/css-what/lib/commonjs/types.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AttributeAction = exports2.IgnoreCaseMode = exports2.SelectorType = void 0; - var SelectorType; - (function(SelectorType2) { - SelectorType2["Attribute"] = "attribute"; - SelectorType2["Pseudo"] = "pseudo"; - SelectorType2["PseudoElement"] = "pseudo-element"; - SelectorType2["Tag"] = "tag"; - SelectorType2["Universal"] = "universal"; - SelectorType2["Adjacent"] = "adjacent"; - SelectorType2["Child"] = "child"; - SelectorType2["Descendant"] = "descendant"; - SelectorType2["Parent"] = "parent"; - SelectorType2["Sibling"] = "sibling"; - SelectorType2["ColumnCombinator"] = "column-combinator"; - })(SelectorType = exports2.SelectorType || (exports2.SelectorType = {})); - exports2.IgnoreCaseMode = { - Unknown: null, - QuirksMode: "quirks", - IgnoreCase: true, - CaseSensitive: false - }; - var AttributeAction; - (function(AttributeAction2) { - AttributeAction2["Any"] = "any"; - AttributeAction2["Element"] = "element"; - AttributeAction2["End"] = "end"; - AttributeAction2["Equals"] = "equals"; - AttributeAction2["Exists"] = "exists"; - AttributeAction2["Hyphen"] = "hyphen"; - AttributeAction2["Not"] = "not"; - AttributeAction2["Start"] = "start"; - })(AttributeAction = exports2.AttributeAction || (exports2.AttributeAction = {})); - } -}); - -// node_modules/css-what/lib/commonjs/parse.js -var require_parse4 = __commonJS({ - "node_modules/css-what/lib/commonjs/parse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.parse = exports2.isTraversal = void 0; - var types_1 = require_types(); - var reName = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/; - var reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi; - var actionTypes = /* @__PURE__ */ new Map([ - [126, types_1.AttributeAction.Element], - [94, types_1.AttributeAction.Start], - [36, types_1.AttributeAction.End], - [42, types_1.AttributeAction.Any], - [33, types_1.AttributeAction.Not], - [124, types_1.AttributeAction.Hyphen] - ]); - var unpackPseudos = /* @__PURE__ */ new Set([ - "has", - "not", - "matches", - "is", - "where", - "host", - "host-context" - ]); - function isTraversal(selector) { - switch (selector.type) { - case types_1.SelectorType.Adjacent: - case types_1.SelectorType.Child: - case types_1.SelectorType.Descendant: - case types_1.SelectorType.Parent: - case types_1.SelectorType.Sibling: - case types_1.SelectorType.ColumnCombinator: - return true; - default: - return false; - } - } - exports2.isTraversal = isTraversal; - var stripQuotesFromPseudos = /* @__PURE__ */ new Set(["contains", "icontains"]); - function funescape(_, escaped, escapedWhitespace) { - var high = parseInt(escaped, 16) - 65536; - return high !== high || escapedWhitespace ? escaped : high < 0 ? ( - // BMP codepoint - String.fromCharCode(high + 65536) - ) : ( - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320) - ); - } - function unescapeCSS(str) { - return str.replace(reEscape, funescape); - } - function isQuote(c) { - return c === 39 || c === 34; - } - function isWhitespace(c) { - return c === 32 || c === 9 || c === 10 || c === 12 || c === 13; - } - function parse(selector) { - var subselects = []; - var endIndex = parseSelector(subselects, "".concat(selector), 0); - if (endIndex < selector.length) { - throw new Error("Unmatched selector: ".concat(selector.slice(endIndex))); - } - return subselects; - } - exports2.parse = parse; - function parseSelector(subselects, selector, selectorIndex) { - var tokens = []; - function getName(offset) { - var match = selector.slice(selectorIndex + offset).match(reName); - if (!match) { - throw new Error("Expected name, found ".concat(selector.slice(selectorIndex))); - } - var name = match[0]; - selectorIndex += offset + name.length; - return unescapeCSS(name); - } - function stripWhitespace(offset) { - selectorIndex += offset; - while (selectorIndex < selector.length && isWhitespace(selector.charCodeAt(selectorIndex))) { - selectorIndex++; - } - } - function readValueWithParenthesis() { - selectorIndex += 1; - var start = selectorIndex; - var counter = 1; - for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) { - if (selector.charCodeAt(selectorIndex) === 40 && !isEscaped(selectorIndex)) { - counter++; - } else if (selector.charCodeAt(selectorIndex) === 41 && !isEscaped(selectorIndex)) { - counter--; - } - } - if (counter) { - throw new Error("Parenthesis not matched"); - } - return unescapeCSS(selector.slice(start, selectorIndex - 1)); - } - function isEscaped(pos) { - var slashCount = 0; - while (selector.charCodeAt(--pos) === 92) - slashCount++; - return (slashCount & 1) === 1; - } - function ensureNotTraversal() { - if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) { - throw new Error("Did not expect successive traversals."); - } - } - function addTraversal(type) { - if (tokens.length > 0 && tokens[tokens.length - 1].type === types_1.SelectorType.Descendant) { - tokens[tokens.length - 1].type = type; - return; - } - ensureNotTraversal(); - tokens.push({ type }); - } - function addSpecialAttribute(name, action2) { - tokens.push({ - type: types_1.SelectorType.Attribute, - name, - action: action2, - value: getName(1), - namespace: null, - ignoreCase: "quirks" - }); - } - function finalizeSubselector() { - if (tokens.length && tokens[tokens.length - 1].type === types_1.SelectorType.Descendant) { - tokens.pop(); - } - if (tokens.length === 0) { - throw new Error("Empty sub-selector"); - } - subselects.push(tokens); - } - stripWhitespace(0); - if (selector.length === selectorIndex) { - return selectorIndex; - } - loop: while (selectorIndex < selector.length) { - var firstChar = selector.charCodeAt(selectorIndex); - switch (firstChar) { - // Whitespace - case 32: - case 9: - case 10: - case 12: - case 13: { - if (tokens.length === 0 || tokens[0].type !== types_1.SelectorType.Descendant) { - ensureNotTraversal(); - tokens.push({ type: types_1.SelectorType.Descendant }); - } - stripWhitespace(1); - break; - } - // Traversals - case 62: { - addTraversal(types_1.SelectorType.Child); - stripWhitespace(1); - break; - } - case 60: { - addTraversal(types_1.SelectorType.Parent); - stripWhitespace(1); - break; - } - case 126: { - addTraversal(types_1.SelectorType.Sibling); - stripWhitespace(1); - break; - } - case 43: { - addTraversal(types_1.SelectorType.Adjacent); - stripWhitespace(1); - break; - } - // Special attribute selectors: .class, #id - case 46: { - addSpecialAttribute("class", types_1.AttributeAction.Element); - break; - } - case 35: { - addSpecialAttribute("id", types_1.AttributeAction.Equals); - break; - } - case 91: { - stripWhitespace(1); - var name_1 = void 0; - var namespace = null; - if (selector.charCodeAt(selectorIndex) === 124) { - name_1 = getName(1); - } else if (selector.startsWith("*|", selectorIndex)) { - namespace = "*"; - name_1 = getName(2); - } else { - name_1 = getName(0); - if (selector.charCodeAt(selectorIndex) === 124 && selector.charCodeAt(selectorIndex + 1) !== 61) { - namespace = name_1; - name_1 = getName(1); - } - } - stripWhitespace(0); - var action = types_1.AttributeAction.Exists; - var possibleAction = actionTypes.get(selector.charCodeAt(selectorIndex)); - if (possibleAction) { - action = possibleAction; - if (selector.charCodeAt(selectorIndex + 1) !== 61) { - throw new Error("Expected `=`"); - } - stripWhitespace(2); - } else if (selector.charCodeAt(selectorIndex) === 61) { - action = types_1.AttributeAction.Equals; - stripWhitespace(1); - } - var value = ""; - var ignoreCase = null; - if (action !== "exists") { - if (isQuote(selector.charCodeAt(selectorIndex))) { - var quote = selector.charCodeAt(selectorIndex); - var sectionEnd = selectorIndex + 1; - while (sectionEnd < selector.length && (selector.charCodeAt(sectionEnd) !== quote || isEscaped(sectionEnd))) { - sectionEnd += 1; - } - if (selector.charCodeAt(sectionEnd) !== quote) { - throw new Error("Attribute value didn't end"); - } - value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd)); - selectorIndex = sectionEnd + 1; - } else { - var valueStart = selectorIndex; - while (selectorIndex < selector.length && (!isWhitespace(selector.charCodeAt(selectorIndex)) && selector.charCodeAt(selectorIndex) !== 93 || isEscaped(selectorIndex))) { - selectorIndex += 1; - } - value = unescapeCSS(selector.slice(valueStart, selectorIndex)); - } - stripWhitespace(0); - var forceIgnore = selector.charCodeAt(selectorIndex) | 32; - if (forceIgnore === 115) { - ignoreCase = false; - stripWhitespace(1); - } else if (forceIgnore === 105) { - ignoreCase = true; - stripWhitespace(1); - } - } - if (selector.charCodeAt(selectorIndex) !== 93) { - throw new Error("Attribute selector didn't terminate"); - } - selectorIndex += 1; - var attributeSelector = { - type: types_1.SelectorType.Attribute, - name: name_1, - action, - value, - namespace, - ignoreCase - }; - tokens.push(attributeSelector); - break; - } - case 58: { - if (selector.charCodeAt(selectorIndex + 1) === 58) { - tokens.push({ - type: types_1.SelectorType.PseudoElement, - name: getName(2).toLowerCase(), - data: selector.charCodeAt(selectorIndex) === 40 ? readValueWithParenthesis() : null - }); - continue; - } - var name_2 = getName(1).toLowerCase(); - var data = null; - if (selector.charCodeAt(selectorIndex) === 40) { - if (unpackPseudos.has(name_2)) { - if (isQuote(selector.charCodeAt(selectorIndex + 1))) { - throw new Error("Pseudo-selector ".concat(name_2, " cannot be quoted")); - } - data = []; - selectorIndex = parseSelector(data, selector, selectorIndex + 1); - if (selector.charCodeAt(selectorIndex) !== 41) { - throw new Error("Missing closing parenthesis in :".concat(name_2, " (").concat(selector, ")")); - } - selectorIndex += 1; - } else { - data = readValueWithParenthesis(); - if (stripQuotesFromPseudos.has(name_2)) { - var quot = data.charCodeAt(0); - if (quot === data.charCodeAt(data.length - 1) && isQuote(quot)) { - data = data.slice(1, -1); - } - } - data = unescapeCSS(data); - } - } - tokens.push({ type: types_1.SelectorType.Pseudo, name: name_2, data }); - break; - } - case 44: { - finalizeSubselector(); - tokens = []; - stripWhitespace(1); - break; - } - default: { - if (selector.startsWith("/*", selectorIndex)) { - var endIndex = selector.indexOf("*/", selectorIndex + 2); - if (endIndex < 0) { - throw new Error("Comment was not terminated"); - } - selectorIndex = endIndex + 2; - if (tokens.length === 0) { - stripWhitespace(0); - } - break; - } - var namespace = null; - var name_3 = void 0; - if (firstChar === 42) { - selectorIndex += 1; - name_3 = "*"; - } else if (firstChar === 124) { - name_3 = ""; - if (selector.charCodeAt(selectorIndex + 1) === 124) { - addTraversal(types_1.SelectorType.ColumnCombinator); - stripWhitespace(2); - break; - } - } else if (reName.test(selector.slice(selectorIndex))) { - name_3 = getName(0); - } else { - break loop; - } - if (selector.charCodeAt(selectorIndex) === 124 && selector.charCodeAt(selectorIndex + 1) !== 124) { - namespace = name_3; - if (selector.charCodeAt(selectorIndex + 1) === 42) { - name_3 = "*"; - selectorIndex += 2; - } else { - name_3 = getName(1); - } - } - tokens.push(name_3 === "*" ? { type: types_1.SelectorType.Universal, namespace } : { type: types_1.SelectorType.Tag, name: name_3, namespace }); - } - } - } - finalizeSubselector(); - return selectorIndex; - } - } -}); - -// node_modules/css-what/lib/commonjs/stringify.js -var require_stringify4 = __commonJS({ - "node_modules/css-what/lib/commonjs/stringify.js"(exports2) { - "use strict"; - var __spreadArray = exports2 && exports2.__spreadArray || function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.stringify = void 0; - var types_1 = require_types(); - var attribValChars = ["\\", '"']; - var pseudoValChars = __spreadArray(__spreadArray([], attribValChars, true), ["(", ")"], false); - var charsToEscapeInAttributeValue = new Set(attribValChars.map(function(c) { - return c.charCodeAt(0); - })); - var charsToEscapeInPseudoValue = new Set(pseudoValChars.map(function(c) { - return c.charCodeAt(0); - })); - var charsToEscapeInName = new Set(__spreadArray(__spreadArray([], pseudoValChars, true), [ - "~", - "^", - "$", - "*", - "+", - "!", - "|", - ":", - "[", - "]", - " ", - "." - ], false).map(function(c) { - return c.charCodeAt(0); - })); - function stringify(selector) { - return selector.map(function(token) { - return token.map(stringifyToken).join(""); - }).join(", "); - } - exports2.stringify = stringify; - function stringifyToken(token, index, arr) { - switch (token.type) { - // Simple types - case types_1.SelectorType.Child: - return index === 0 ? "> " : " > "; - case types_1.SelectorType.Parent: - return index === 0 ? "< " : " < "; - case types_1.SelectorType.Sibling: - return index === 0 ? "~ " : " ~ "; - case types_1.SelectorType.Adjacent: - return index === 0 ? "+ " : " + "; - case types_1.SelectorType.Descendant: - return " "; - case types_1.SelectorType.ColumnCombinator: - return index === 0 ? "|| " : " || "; - case types_1.SelectorType.Universal: - return token.namespace === "*" && index + 1 < arr.length && "name" in arr[index + 1] ? "" : "".concat(getNamespace(token.namespace), "*"); - case types_1.SelectorType.Tag: - return getNamespacedName(token); - case types_1.SelectorType.PseudoElement: - return "::".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null ? "" : "(".concat(escapeName(token.data, charsToEscapeInPseudoValue), ")")); - case types_1.SelectorType.Pseudo: - return ":".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null ? "" : "(".concat(typeof token.data === "string" ? escapeName(token.data, charsToEscapeInPseudoValue) : stringify(token.data), ")")); - case types_1.SelectorType.Attribute: { - if (token.name === "id" && token.action === types_1.AttributeAction.Equals && token.ignoreCase === "quirks" && !token.namespace) { - return "#".concat(escapeName(token.value, charsToEscapeInName)); - } - if (token.name === "class" && token.action === types_1.AttributeAction.Element && token.ignoreCase === "quirks" && !token.namespace) { - return ".".concat(escapeName(token.value, charsToEscapeInName)); - } - var name_1 = getNamespacedName(token); - if (token.action === types_1.AttributeAction.Exists) { - return "[".concat(name_1, "]"); - } - return "[".concat(name_1).concat(getActionValue(token.action), '="').concat(escapeName(token.value, charsToEscapeInAttributeValue), '"').concat(token.ignoreCase === null ? "" : token.ignoreCase ? " i" : " s", "]"); - } - } - } - function getActionValue(action) { - switch (action) { - case types_1.AttributeAction.Equals: - return ""; - case types_1.AttributeAction.Element: - return "~"; - case types_1.AttributeAction.Start: - return "^"; - case types_1.AttributeAction.End: - return "$"; - case types_1.AttributeAction.Any: - return "*"; - case types_1.AttributeAction.Not: - return "!"; - case types_1.AttributeAction.Hyphen: - return "|"; - case types_1.AttributeAction.Exists: - throw new Error("Shouldn't be here"); - } - } - function getNamespacedName(token) { - return "".concat(getNamespace(token.namespace)).concat(escapeName(token.name, charsToEscapeInName)); - } - function getNamespace(namespace) { - return namespace !== null ? "".concat(namespace === "*" ? "*" : escapeName(namespace, charsToEscapeInName), "|") : ""; - } - function escapeName(str, charsToEscape) { - var lastIdx = 0; - var ret = ""; - for (var i = 0; i < str.length; i++) { - if (charsToEscape.has(str.charCodeAt(i))) { - ret += "".concat(str.slice(lastIdx, i), "\\").concat(str.charAt(i)); - lastIdx = i + 1; - } - } - return ret.length > 0 ? ret + str.slice(lastIdx) : str; - } - } -}); - -// node_modules/css-what/lib/commonjs/index.js -var require_commonjs = __commonJS({ - "node_modules/css-what/lib/commonjs/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.stringify = exports2.parse = exports2.isTraversal = void 0; - __exportStar(require_types(), exports2); - var parse_1 = require_parse4(); - Object.defineProperty(exports2, "isTraversal", { enumerable: true, get: function() { - return parse_1.isTraversal; - } }); - Object.defineProperty(exports2, "parse", { enumerable: true, get: function() { - return parse_1.parse; - } }); - var stringify_1 = require_stringify4(); - Object.defineProperty(exports2, "stringify", { enumerable: true, get: function() { - return stringify_1.stringify; - } }); - } -}); - -// node_modules/css-select/lib/sort.js -var require_sort = __commonJS({ - "node_modules/css-select/lib/sort.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.isTraversal = void 0; - var css_what_1 = require_commonjs(); - var procedure = /* @__PURE__ */ new Map([ - [css_what_1.SelectorType.Universal, 50], - [css_what_1.SelectorType.Tag, 30], - [css_what_1.SelectorType.Attribute, 1], - [css_what_1.SelectorType.Pseudo, 0] - ]); - function isTraversal(token) { - return !procedure.has(token.type); - } - exports2.isTraversal = isTraversal; - var attributes = /* @__PURE__ */ new Map([ - [css_what_1.AttributeAction.Exists, 10], - [css_what_1.AttributeAction.Equals, 8], - [css_what_1.AttributeAction.Not, 7], - [css_what_1.AttributeAction.Start, 6], - [css_what_1.AttributeAction.End, 6], - [css_what_1.AttributeAction.Any, 5] - ]); - function sortByProcedure(arr) { - var procs = arr.map(getProcedure); - for (var i = 1; i < arr.length; i++) { - var procNew = procs[i]; - if (procNew < 0) - continue; - for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) { - var token = arr[j + 1]; - arr[j + 1] = arr[j]; - arr[j] = token; - procs[j + 1] = procs[j]; - procs[j] = procNew; - } - } - } - exports2.default = sortByProcedure; - function getProcedure(token) { - var _a, _b; - var proc = (_a = procedure.get(token.type)) !== null && _a !== void 0 ? _a : -1; - if (token.type === css_what_1.SelectorType.Attribute) { - proc = (_b = attributes.get(token.action)) !== null && _b !== void 0 ? _b : 4; - if (token.action === css_what_1.AttributeAction.Equals && token.name === "id") { - proc = 9; - } - if (token.ignoreCase) { - proc >>= 1; - } - } else if (token.type === css_what_1.SelectorType.Pseudo) { - if (!token.data) { - proc = 3; - } else if (token.name === "has" || token.name === "contains") { - proc = 0; - } else if (Array.isArray(token.data)) { - proc = Math.min.apply(Math, token.data.map(function(d) { - return Math.min.apply(Math, d.map(getProcedure)); - })); - if (proc < 0) { - proc = 0; - } - } else { - proc = 2; - } - } - return proc; - } - } -}); - -// node_modules/css-select/lib/attributes.js -var require_attributes = __commonJS({ - "node_modules/css-select/lib/attributes.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.attributeRules = void 0; - var boolbase_1 = __importDefault(require_boolbase()); - var reChars = /[-[\]{}()*+?.,\\^$|#\s]/g; - function escapeRegex(value) { - return value.replace(reChars, "\\$&"); - } - var caseInsensitiveAttributes = /* @__PURE__ */ new Set([ - "accept", - "accept-charset", - "align", - "alink", - "axis", - "bgcolor", - "charset", - "checked", - "clear", - "codetype", - "color", - "compact", - "declare", - "defer", - "dir", - "direction", - "disabled", - "enctype", - "face", - "frame", - "hreflang", - "http-equiv", - "lang", - "language", - "link", - "media", - "method", - "multiple", - "nohref", - "noresize", - "noshade", - "nowrap", - "readonly", - "rel", - "rev", - "rules", - "scope", - "scrolling", - "selected", - "shape", - "target", - "text", - "type", - "valign", - "valuetype", - "vlink" - ]); - function shouldIgnoreCase(selector, options) { - return typeof selector.ignoreCase === "boolean" ? selector.ignoreCase : selector.ignoreCase === "quirks" ? !!options.quirksMode : !options.xmlMode && caseInsensitiveAttributes.has(selector.name); - } - exports2.attributeRules = { - equals: function(next, data, options) { - var adapter = options.adapter; - var name = data.name; - var value = data.value; - if (shouldIgnoreCase(data, options)) { - value = value.toLowerCase(); - return function(elem) { - var attr = adapter.getAttributeValue(elem, name); - return attr != null && attr.length === value.length && attr.toLowerCase() === value && next(elem); - }; - } - return function(elem) { - return adapter.getAttributeValue(elem, name) === value && next(elem); - }; - }, - hyphen: function(next, data, options) { - var adapter = options.adapter; - var name = data.name; - var value = data.value; - var len = value.length; - if (shouldIgnoreCase(data, options)) { - value = value.toLowerCase(); - return function hyphenIC(elem) { - var attr = adapter.getAttributeValue(elem, name); - return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len).toLowerCase() === value && next(elem); - }; - } - return function hyphen(elem) { - var attr = adapter.getAttributeValue(elem, name); - return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len) === value && next(elem); - }; - }, - element: function(next, data, options) { - var adapter = options.adapter; - var name = data.name, value = data.value; - if (/\s/.test(value)) { - return boolbase_1.default.falseFunc; - } - var regex = new RegExp("(?:^|\\s)".concat(escapeRegex(value), "(?:$|\\s)"), shouldIgnoreCase(data, options) ? "i" : ""); - return function element(elem) { - var attr = adapter.getAttributeValue(elem, name); - return attr != null && attr.length >= value.length && regex.test(attr) && next(elem); - }; - }, - exists: function(next, _a, _b) { - var name = _a.name; - var adapter = _b.adapter; - return function(elem) { - return adapter.hasAttrib(elem, name) && next(elem); - }; - }, - start: function(next, data, options) { - var adapter = options.adapter; - var name = data.name; - var value = data.value; - var len = value.length; - if (len === 0) { - return boolbase_1.default.falseFunc; - } - if (shouldIgnoreCase(data, options)) { - value = value.toLowerCase(); - return function(elem) { - var attr = adapter.getAttributeValue(elem, name); - return attr != null && attr.length >= len && attr.substr(0, len).toLowerCase() === value && next(elem); - }; - } - return function(elem) { - var _a; - return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.startsWith(value)) && next(elem); - }; - }, - end: function(next, data, options) { - var adapter = options.adapter; - var name = data.name; - var value = data.value; - var len = -value.length; - if (len === 0) { - return boolbase_1.default.falseFunc; - } - if (shouldIgnoreCase(data, options)) { - value = value.toLowerCase(); - return function(elem) { - var _a; - return ((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.substr(len).toLowerCase()) === value && next(elem); - }; - } - return function(elem) { - var _a; - return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.endsWith(value)) && next(elem); - }; - }, - any: function(next, data, options) { - var adapter = options.adapter; - var name = data.name, value = data.value; - if (value === "") { - return boolbase_1.default.falseFunc; - } - if (shouldIgnoreCase(data, options)) { - var regex_1 = new RegExp(escapeRegex(value), "i"); - return function anyIC(elem) { - var attr = adapter.getAttributeValue(elem, name); - return attr != null && attr.length >= value.length && regex_1.test(attr) && next(elem); - }; - } - return function(elem) { - var _a; - return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.includes(value)) && next(elem); - }; - }, - not: function(next, data, options) { - var adapter = options.adapter; - var name = data.name; - var value = data.value; - if (value === "") { - return function(elem) { - return !!adapter.getAttributeValue(elem, name) && next(elem); - }; - } else if (shouldIgnoreCase(data, options)) { - value = value.toLowerCase(); - return function(elem) { - var attr = adapter.getAttributeValue(elem, name); - return (attr == null || attr.length !== value.length || attr.toLowerCase() !== value) && next(elem); - }; - } - return function(elem) { - return adapter.getAttributeValue(elem, name) !== value && next(elem); - }; - } - }; - } -}); - -// node_modules/nth-check/lib/parse.js -var require_parse5 = __commonJS({ - "node_modules/nth-check/lib/parse.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.parse = void 0; - var whitespace = /* @__PURE__ */ new Set([9, 10, 12, 13, 32]); - var ZERO = "0".charCodeAt(0); - var NINE = "9".charCodeAt(0); - function parse(formula) { - formula = formula.trim().toLowerCase(); - if (formula === "even") { - return [2, 0]; - } else if (formula === "odd") { - return [2, 1]; - } - var idx = 0; - var a = 0; - var sign = readSign(); - var number = readNumber(); - if (idx < formula.length && formula.charAt(idx) === "n") { - idx++; - a = sign * (number !== null && number !== void 0 ? number : 1); - skipWhitespace(); - if (idx < formula.length) { - sign = readSign(); - skipWhitespace(); - number = readNumber(); - } else { - sign = number = 0; - } - } - if (number === null || idx < formula.length) { - throw new Error("n-th rule couldn't be parsed ('".concat(formula, "')")); - } - return [a, sign * number]; - function readSign() { - if (formula.charAt(idx) === "-") { - idx++; - return -1; - } - if (formula.charAt(idx) === "+") { - idx++; - } - return 1; - } - function readNumber() { - var start = idx; - var value = 0; - while (idx < formula.length && formula.charCodeAt(idx) >= ZERO && formula.charCodeAt(idx) <= NINE) { - value = value * 10 + (formula.charCodeAt(idx) - ZERO); - idx++; - } - return idx === start ? null : value; - } - function skipWhitespace() { - while (idx < formula.length && whitespace.has(formula.charCodeAt(idx))) { - idx++; - } - } - } - exports2.parse = parse; - } -}); - -// node_modules/nth-check/lib/compile.js -var require_compile = __commonJS({ - "node_modules/nth-check/lib/compile.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.generate = exports2.compile = void 0; - var boolbase_1 = __importDefault(require_boolbase()); - function compile(parsed) { - var a = parsed[0]; - var b = parsed[1] - 1; - if (b < 0 && a <= 0) - return boolbase_1.default.falseFunc; - if (a === -1) - return function(index) { - return index <= b; - }; - if (a === 0) - return function(index) { - return index === b; - }; - if (a === 1) - return b < 0 ? boolbase_1.default.trueFunc : function(index) { - return index >= b; - }; - var absA = Math.abs(a); - var bMod = (b % absA + absA) % absA; - return a > 1 ? function(index) { - return index >= b && index % absA === bMod; - } : function(index) { - return index <= b && index % absA === bMod; - }; - } - exports2.compile = compile; - function generate(parsed) { - var a = parsed[0]; - var b = parsed[1] - 1; - var n = 0; - if (a < 0) { - var aPos_1 = -a; - var minValue_1 = (b % aPos_1 + aPos_1) % aPos_1; - return function() { - var val = minValue_1 + aPos_1 * n++; - return val > b ? null : val; - }; - } - if (a === 0) - return b < 0 ? ( - // There are no result — always return `null` - function() { - return null; - } - ) : ( - // Return `b` exactly once - function() { - return n++ === 0 ? b : null; - } - ); - if (b < 0) { - b += a * Math.ceil(-b / a); - } - return function() { - return a * n++ + b; - }; - } - exports2.generate = generate; - } -}); - -// node_modules/nth-check/lib/index.js -var require_lib7 = __commonJS({ - "node_modules/nth-check/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.sequence = exports2.generate = exports2.compile = exports2.parse = void 0; - var parse_js_1 = require_parse5(); - Object.defineProperty(exports2, "parse", { enumerable: true, get: function() { - return parse_js_1.parse; - } }); - var compile_js_1 = require_compile(); - Object.defineProperty(exports2, "compile", { enumerable: true, get: function() { - return compile_js_1.compile; - } }); - Object.defineProperty(exports2, "generate", { enumerable: true, get: function() { - return compile_js_1.generate; - } }); - function nthCheck(formula) { - return (0, compile_js_1.compile)((0, parse_js_1.parse)(formula)); - } - exports2.default = nthCheck; - function sequence(formula) { - return (0, compile_js_1.generate)((0, parse_js_1.parse)(formula)); - } - exports2.sequence = sequence; - } -}); - -// node_modules/css-select/lib/pseudo-selectors/filters.js -var require_filters = __commonJS({ - "node_modules/css-select/lib/pseudo-selectors/filters.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.filters = void 0; - var nth_check_1 = __importDefault(require_lib7()); - var boolbase_1 = __importDefault(require_boolbase()); - function getChildFunc(next, adapter) { - return function(elem) { - var parent = adapter.getParent(elem); - return parent != null && adapter.isTag(parent) && next(elem); - }; - } - exports2.filters = { - contains: function(next, text, _a) { - var adapter = _a.adapter; - return function contains(elem) { - return next(elem) && adapter.getText(elem).includes(text); - }; - }, - icontains: function(next, text, _a) { - var adapter = _a.adapter; - var itext = text.toLowerCase(); - return function icontains(elem) { - return next(elem) && adapter.getText(elem).toLowerCase().includes(itext); - }; - }, - // Location specific methods - "nth-child": function(next, rule, _a) { - var adapter = _a.adapter, equals = _a.equals; - var func = (0, nth_check_1.default)(rule); - if (func === boolbase_1.default.falseFunc) - return boolbase_1.default.falseFunc; - if (func === boolbase_1.default.trueFunc) - return getChildFunc(next, adapter); - return function nthChild(elem) { - var siblings = adapter.getSiblings(elem); - var pos = 0; - for (var i = 0; i < siblings.length; i++) { - if (equals(elem, siblings[i])) - break; - if (adapter.isTag(siblings[i])) { - pos++; - } - } - return func(pos) && next(elem); - }; - }, - "nth-last-child": function(next, rule, _a) { - var adapter = _a.adapter, equals = _a.equals; - var func = (0, nth_check_1.default)(rule); - if (func === boolbase_1.default.falseFunc) - return boolbase_1.default.falseFunc; - if (func === boolbase_1.default.trueFunc) - return getChildFunc(next, adapter); - return function nthLastChild(elem) { - var siblings = adapter.getSiblings(elem); - var pos = 0; - for (var i = siblings.length - 1; i >= 0; i--) { - if (equals(elem, siblings[i])) - break; - if (adapter.isTag(siblings[i])) { - pos++; - } - } - return func(pos) && next(elem); - }; - }, - "nth-of-type": function(next, rule, _a) { - var adapter = _a.adapter, equals = _a.equals; - var func = (0, nth_check_1.default)(rule); - if (func === boolbase_1.default.falseFunc) - return boolbase_1.default.falseFunc; - if (func === boolbase_1.default.trueFunc) - return getChildFunc(next, adapter); - return function nthOfType(elem) { - var siblings = adapter.getSiblings(elem); - var pos = 0; - for (var i = 0; i < siblings.length; i++) { - var currentSibling = siblings[i]; - if (equals(elem, currentSibling)) - break; - if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) { - pos++; - } - } - return func(pos) && next(elem); - }; - }, - "nth-last-of-type": function(next, rule, _a) { - var adapter = _a.adapter, equals = _a.equals; - var func = (0, nth_check_1.default)(rule); - if (func === boolbase_1.default.falseFunc) - return boolbase_1.default.falseFunc; - if (func === boolbase_1.default.trueFunc) - return getChildFunc(next, adapter); - return function nthLastOfType(elem) { - var siblings = adapter.getSiblings(elem); - var pos = 0; - for (var i = siblings.length - 1; i >= 0; i--) { - var currentSibling = siblings[i]; - if (equals(elem, currentSibling)) - break; - if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) { - pos++; - } - } - return func(pos) && next(elem); - }; - }, - // TODO determine the actual root element - root: function(next, _rule, _a) { - var adapter = _a.adapter; - return function(elem) { - var parent = adapter.getParent(elem); - return (parent == null || !adapter.isTag(parent)) && next(elem); - }; - }, - scope: function(next, rule, options, context) { - var equals = options.equals; - if (!context || context.length === 0) { - return exports2.filters["root"](next, rule, options); - } - if (context.length === 1) { - return function(elem) { - return equals(context[0], elem) && next(elem); - }; - } - return function(elem) { - return context.includes(elem) && next(elem); - }; - }, - hover: dynamicStatePseudo("isHovered"), - visited: dynamicStatePseudo("isVisited"), - active: dynamicStatePseudo("isActive") - }; - function dynamicStatePseudo(name) { - return function dynamicPseudo(next, _rule, _a) { - var adapter = _a.adapter; - var func = adapter[name]; - if (typeof func !== "function") { - return boolbase_1.default.falseFunc; - } - return function active(elem) { - return func(elem) && next(elem); - }; - }; - } - } -}); - -// node_modules/css-select/lib/pseudo-selectors/pseudos.js -var require_pseudos = __commonJS({ - "node_modules/css-select/lib/pseudo-selectors/pseudos.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.verifyPseudoArgs = exports2.pseudos = void 0; - exports2.pseudos = { - empty: function(elem, _a) { - var adapter = _a.adapter; - return !adapter.getChildren(elem).some(function(elem2) { - return adapter.isTag(elem2) || adapter.getText(elem2) !== ""; - }); - }, - "first-child": function(elem, _a) { - var adapter = _a.adapter, equals = _a.equals; - if (adapter.prevElementSibling) { - return adapter.prevElementSibling(elem) == null; - } - var firstChild = adapter.getSiblings(elem).find(function(elem2) { - return adapter.isTag(elem2); - }); - return firstChild != null && equals(elem, firstChild); - }, - "last-child": function(elem, _a) { - var adapter = _a.adapter, equals = _a.equals; - var siblings = adapter.getSiblings(elem); - for (var i = siblings.length - 1; i >= 0; i--) { - if (equals(elem, siblings[i])) - return true; - if (adapter.isTag(siblings[i])) - break; - } - return false; - }, - "first-of-type": function(elem, _a) { - var adapter = _a.adapter, equals = _a.equals; - var siblings = adapter.getSiblings(elem); - var elemName = adapter.getName(elem); - for (var i = 0; i < siblings.length; i++) { - var currentSibling = siblings[i]; - if (equals(elem, currentSibling)) - return true; - if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) { - break; - } - } - return false; - }, - "last-of-type": function(elem, _a) { - var adapter = _a.adapter, equals = _a.equals; - var siblings = adapter.getSiblings(elem); - var elemName = adapter.getName(elem); - for (var i = siblings.length - 1; i >= 0; i--) { - var currentSibling = siblings[i]; - if (equals(elem, currentSibling)) - return true; - if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) { - break; - } - } - return false; - }, - "only-of-type": function(elem, _a) { - var adapter = _a.adapter, equals = _a.equals; - var elemName = adapter.getName(elem); - return adapter.getSiblings(elem).every(function(sibling) { - return equals(elem, sibling) || !adapter.isTag(sibling) || adapter.getName(sibling) !== elemName; - }); - }, - "only-child": function(elem, _a) { - var adapter = _a.adapter, equals = _a.equals; - return adapter.getSiblings(elem).every(function(sibling) { - return equals(elem, sibling) || !adapter.isTag(sibling); - }); - } - }; - function verifyPseudoArgs(func, name, subselect, argIndex) { - if (subselect === null) { - if (func.length > argIndex) { - throw new Error("Pseudo-class :".concat(name, " requires an argument")); - } - } else if (func.length === argIndex) { - throw new Error("Pseudo-class :".concat(name, " doesn't have any arguments")); - } - } - exports2.verifyPseudoArgs = verifyPseudoArgs; - } -}); - -// node_modules/css-select/lib/pseudo-selectors/aliases.js -var require_aliases = __commonJS({ - "node_modules/css-select/lib/pseudo-selectors/aliases.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.aliases = void 0; - exports2.aliases = { - // Links - "any-link": ":is(a, area, link)[href]", - link: ":any-link:not(:visited)", - // Forms - // https://html.spec.whatwg.org/multipage/scripting.html#disabled-elements - disabled: ":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )", - enabled: ":not(:disabled)", - checked: ":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)", - required: ":is(input, select, textarea)[required]", - optional: ":is(input, select, textarea):not([required])", - // JQuery extensions - // https://html.spec.whatwg.org/multipage/form-elements.html#concept-option-selectedness - selected: "option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)", - checkbox: "[type=checkbox]", - file: "[type=file]", - password: "[type=password]", - radio: "[type=radio]", - reset: "[type=reset]", - image: "[type=image]", - submit: "[type=submit]", - parent: ":not(:empty)", - header: ":is(h1, h2, h3, h4, h5, h6)", - button: ":is(button, input[type=button])", - input: ":is(input, textarea, select, button)", - text: "input:is(:not([type!='']), [type=text])" - }; - } -}); - -// node_modules/css-select/lib/pseudo-selectors/subselects.js -var require_subselects = __commonJS({ - "node_modules/css-select/lib/pseudo-selectors/subselects.js"(exports2) { - "use strict"; - var __spreadArray = exports2 && exports2.__spreadArray || function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.subselects = exports2.getNextSiblings = exports2.ensureIsTag = exports2.PLACEHOLDER_ELEMENT = void 0; - var boolbase_1 = __importDefault(require_boolbase()); - var sort_js_1 = require_sort(); - exports2.PLACEHOLDER_ELEMENT = {}; - function ensureIsTag(next, adapter) { - if (next === boolbase_1.default.falseFunc) - return boolbase_1.default.falseFunc; - return function(elem) { - return adapter.isTag(elem) && next(elem); - }; - } - exports2.ensureIsTag = ensureIsTag; - function getNextSiblings(elem, adapter) { - var siblings = adapter.getSiblings(elem); - if (siblings.length <= 1) - return []; - var elemIndex = siblings.indexOf(elem); - if (elemIndex < 0 || elemIndex === siblings.length - 1) - return []; - return siblings.slice(elemIndex + 1).filter(adapter.isTag); - } - exports2.getNextSiblings = getNextSiblings; - function copyOptions(options) { - return { - xmlMode: !!options.xmlMode, - lowerCaseAttributeNames: !!options.lowerCaseAttributeNames, - lowerCaseTags: !!options.lowerCaseTags, - quirksMode: !!options.quirksMode, - cacheResults: !!options.cacheResults, - pseudos: options.pseudos, - adapter: options.adapter, - equals: options.equals - }; - } - var is = function(next, token, options, context, compileToken) { - var func = compileToken(token, copyOptions(options), context); - return func === boolbase_1.default.trueFunc ? next : func === boolbase_1.default.falseFunc ? boolbase_1.default.falseFunc : function(elem) { - return func(elem) && next(elem); - }; - }; - exports2.subselects = { - is, - /** - * `:matches` and `:where` are aliases for `:is`. - */ - matches: is, - where: is, - not: function(next, token, options, context, compileToken) { - var func = compileToken(token, copyOptions(options), context); - return func === boolbase_1.default.falseFunc ? next : func === boolbase_1.default.trueFunc ? boolbase_1.default.falseFunc : function(elem) { - return !func(elem) && next(elem); - }; - }, - has: function(next, subselect, options, _context, compileToken) { - var adapter = options.adapter; - var opts = copyOptions(options); - opts.relativeSelector = true; - var context = subselect.some(function(s) { - return s.some(sort_js_1.isTraversal); - }) ? ( - // Used as a placeholder. Will be replaced with the actual element. - [exports2.PLACEHOLDER_ELEMENT] - ) : void 0; - var compiled = compileToken(subselect, opts, context); - if (compiled === boolbase_1.default.falseFunc) - return boolbase_1.default.falseFunc; - var hasElement = ensureIsTag(compiled, adapter); - if (context && compiled !== boolbase_1.default.trueFunc) { - var _a = compiled.shouldTestNextSiblings, shouldTestNextSiblings_1 = _a === void 0 ? false : _a; - return function(elem) { - if (!next(elem)) - return false; - context[0] = elem; - var childs = adapter.getChildren(elem); - var nextElements = shouldTestNextSiblings_1 ? __spreadArray(__spreadArray([], childs, true), getNextSiblings(elem, adapter), true) : childs; - return adapter.existsOne(hasElement, nextElements); - }; - } - return function(elem) { - return next(elem) && adapter.existsOne(hasElement, adapter.getChildren(elem)); - }; - } - }; - } -}); - -// node_modules/css-select/lib/pseudo-selectors/index.js -var require_pseudo_selectors = __commonJS({ - "node_modules/css-select/lib/pseudo-selectors/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.compilePseudoSelector = exports2.aliases = exports2.pseudos = exports2.filters = void 0; - var css_what_1 = require_commonjs(); - var filters_js_1 = require_filters(); - Object.defineProperty(exports2, "filters", { enumerable: true, get: function() { - return filters_js_1.filters; - } }); - var pseudos_js_1 = require_pseudos(); - Object.defineProperty(exports2, "pseudos", { enumerable: true, get: function() { - return pseudos_js_1.pseudos; - } }); - var aliases_js_1 = require_aliases(); - Object.defineProperty(exports2, "aliases", { enumerable: true, get: function() { - return aliases_js_1.aliases; - } }); - var subselects_js_1 = require_subselects(); - function compilePseudoSelector(next, selector, options, context, compileToken) { - var _a; - var name = selector.name, data = selector.data; - if (Array.isArray(data)) { - if (!(name in subselects_js_1.subselects)) { - throw new Error("Unknown pseudo-class :".concat(name, "(").concat(data, ")")); - } - return subselects_js_1.subselects[name](next, data, options, context, compileToken); - } - var userPseudo = (_a = options.pseudos) === null || _a === void 0 ? void 0 : _a[name]; - var stringPseudo = typeof userPseudo === "string" ? userPseudo : aliases_js_1.aliases[name]; - if (typeof stringPseudo === "string") { - if (data != null) { - throw new Error("Pseudo ".concat(name, " doesn't have any arguments")); - } - var alias = (0, css_what_1.parse)(stringPseudo); - return subselects_js_1.subselects["is"](next, alias, options, context, compileToken); - } - if (typeof userPseudo === "function") { - (0, pseudos_js_1.verifyPseudoArgs)(userPseudo, name, data, 1); - return function(elem) { - return userPseudo(elem, data) && next(elem); - }; - } - if (name in filters_js_1.filters) { - return filters_js_1.filters[name](next, data, options, context); - } - if (name in pseudos_js_1.pseudos) { - var pseudo_1 = pseudos_js_1.pseudos[name]; - (0, pseudos_js_1.verifyPseudoArgs)(pseudo_1, name, data, 2); - return function(elem) { - return pseudo_1(elem, options, data) && next(elem); - }; - } - throw new Error("Unknown pseudo-class :".concat(name)); - } - exports2.compilePseudoSelector = compilePseudoSelector; - } -}); - -// node_modules/css-select/lib/general.js -var require_general = __commonJS({ - "node_modules/css-select/lib/general.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.compileGeneralSelector = void 0; - var attributes_js_1 = require_attributes(); - var index_js_1 = require_pseudo_selectors(); - var css_what_1 = require_commonjs(); - function getElementParent(node, adapter) { - var parent = adapter.getParent(node); - if (parent && adapter.isTag(parent)) { - return parent; - } - return null; - } - function compileGeneralSelector(next, selector, options, context, compileToken) { - var adapter = options.adapter, equals = options.equals; - switch (selector.type) { - case css_what_1.SelectorType.PseudoElement: { - throw new Error("Pseudo-elements are not supported by css-select"); - } - case css_what_1.SelectorType.ColumnCombinator: { - throw new Error("Column combinators are not yet supported by css-select"); - } - case css_what_1.SelectorType.Attribute: { - if (selector.namespace != null) { - throw new Error("Namespaced attributes are not yet supported by css-select"); - } - if (!options.xmlMode || options.lowerCaseAttributeNames) { - selector.name = selector.name.toLowerCase(); - } - return attributes_js_1.attributeRules[selector.action](next, selector, options); - } - case css_what_1.SelectorType.Pseudo: { - return (0, index_js_1.compilePseudoSelector)(next, selector, options, context, compileToken); - } - // Tags - case css_what_1.SelectorType.Tag: { - if (selector.namespace != null) { - throw new Error("Namespaced tag names are not yet supported by css-select"); - } - var name_1 = selector.name; - if (!options.xmlMode || options.lowerCaseTags) { - name_1 = name_1.toLowerCase(); - } - return function tag(elem) { - return adapter.getName(elem) === name_1 && next(elem); - }; - } - // Traversal - case css_what_1.SelectorType.Descendant: { - if (options.cacheResults === false || typeof WeakSet === "undefined") { - return function descendant(elem) { - var current = elem; - while (current = getElementParent(current, adapter)) { - if (next(current)) { - return true; - } - } - return false; - }; - } - var isFalseCache_1 = /* @__PURE__ */ new WeakSet(); - return function cachedDescendant(elem) { - var current = elem; - while (current = getElementParent(current, adapter)) { - if (!isFalseCache_1.has(current)) { - if (adapter.isTag(current) && next(current)) { - return true; - } - isFalseCache_1.add(current); - } - } - return false; - }; - } - case "_flexibleDescendant": { - return function flexibleDescendant(elem) { - var current = elem; - do { - if (next(current)) - return true; - } while (current = getElementParent(current, adapter)); - return false; - }; - } - case css_what_1.SelectorType.Parent: { - return function parent(elem) { - return adapter.getChildren(elem).some(function(elem2) { - return adapter.isTag(elem2) && next(elem2); - }); - }; - } - case css_what_1.SelectorType.Child: { - return function child(elem) { - var parent = adapter.getParent(elem); - return parent != null && adapter.isTag(parent) && next(parent); - }; - } - case css_what_1.SelectorType.Sibling: { - return function sibling(elem) { - var siblings = adapter.getSiblings(elem); - for (var i = 0; i < siblings.length; i++) { - var currentSibling = siblings[i]; - if (equals(elem, currentSibling)) - break; - if (adapter.isTag(currentSibling) && next(currentSibling)) { - return true; - } - } - return false; - }; - } - case css_what_1.SelectorType.Adjacent: { - if (adapter.prevElementSibling) { - return function adjacent(elem) { - var previous = adapter.prevElementSibling(elem); - return previous != null && next(previous); - }; - } - return function adjacent(elem) { - var siblings = adapter.getSiblings(elem); - var lastElement; - for (var i = 0; i < siblings.length; i++) { - var currentSibling = siblings[i]; - if (equals(elem, currentSibling)) - break; - if (adapter.isTag(currentSibling)) { - lastElement = currentSibling; - } - } - return !!lastElement && next(lastElement); - }; - } - case css_what_1.SelectorType.Universal: { - if (selector.namespace != null && selector.namespace !== "*") { - throw new Error("Namespaced universal selectors are not yet supported by css-select"); - } - return next; - } - } - } - exports2.compileGeneralSelector = compileGeneralSelector; - } -}); - -// node_modules/css-select/lib/compile.js -var require_compile2 = __commonJS({ - "node_modules/css-select/lib/compile.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.compileToken = exports2.compileUnsafe = exports2.compile = void 0; - var css_what_1 = require_commonjs(); - var boolbase_1 = __importDefault(require_boolbase()); - var sort_js_1 = __importStar(require_sort()); - var general_js_1 = require_general(); - var subselects_js_1 = require_subselects(); - function compile(selector, options, context) { - var next = compileUnsafe(selector, options, context); - return (0, subselects_js_1.ensureIsTag)(next, options.adapter); - } - exports2.compile = compile; - function compileUnsafe(selector, options, context) { - var token = typeof selector === "string" ? (0, css_what_1.parse)(selector) : selector; - return compileToken(token, options, context); - } - exports2.compileUnsafe = compileUnsafe; - function includesScopePseudo(t) { - return t.type === css_what_1.SelectorType.Pseudo && (t.name === "scope" || Array.isArray(t.data) && t.data.some(function(data) { - return data.some(includesScopePseudo); - })); - } - var DESCENDANT_TOKEN = { type: css_what_1.SelectorType.Descendant }; - var FLEXIBLE_DESCENDANT_TOKEN = { - type: "_flexibleDescendant" - }; - var SCOPE_TOKEN = { - type: css_what_1.SelectorType.Pseudo, - name: "scope", - data: null - }; - function absolutize(token, _a, context) { - var adapter = _a.adapter; - var hasContext = !!(context === null || context === void 0 ? void 0 : context.every(function(e) { - var parent = adapter.isTag(e) && adapter.getParent(e); - return e === subselects_js_1.PLACEHOLDER_ELEMENT || parent && adapter.isTag(parent); - })); - for (var _i = 0, token_1 = token; _i < token_1.length; _i++) { - var t = token_1[_i]; - if (t.length > 0 && (0, sort_js_1.isTraversal)(t[0]) && t[0].type !== css_what_1.SelectorType.Descendant) { - } else if (hasContext && !t.some(includesScopePseudo)) { - t.unshift(DESCENDANT_TOKEN); - } else { - continue; - } - t.unshift(SCOPE_TOKEN); - } - } - function compileToken(token, options, context) { - var _a; - token.forEach(sort_js_1.default); - context = (_a = options.context) !== null && _a !== void 0 ? _a : context; - var isArrayContext = Array.isArray(context); - var finalContext = context && (Array.isArray(context) ? context : [context]); - if (options.relativeSelector !== false) { - absolutize(token, options, finalContext); - } else if (token.some(function(t) { - return t.length > 0 && (0, sort_js_1.isTraversal)(t[0]); - })) { - throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled"); - } - var shouldTestNextSiblings = false; - var query = token.map(function(rules) { - if (rules.length >= 2) { - var first = rules[0], second = rules[1]; - if (first.type !== css_what_1.SelectorType.Pseudo || first.name !== "scope") { - } else if (isArrayContext && second.type === css_what_1.SelectorType.Descendant) { - rules[1] = FLEXIBLE_DESCENDANT_TOKEN; - } else if (second.type === css_what_1.SelectorType.Adjacent || second.type === css_what_1.SelectorType.Sibling) { - shouldTestNextSiblings = true; - } - } - return compileRules(rules, options, finalContext); - }).reduce(reduceRules, boolbase_1.default.falseFunc); - query.shouldTestNextSiblings = shouldTestNextSiblings; - return query; - } - exports2.compileToken = compileToken; - function compileRules(rules, options, context) { - var _a; - return rules.reduce(function(previous, rule) { - return previous === boolbase_1.default.falseFunc ? boolbase_1.default.falseFunc : (0, general_js_1.compileGeneralSelector)(previous, rule, options, context, compileToken); - }, (_a = options.rootFunc) !== null && _a !== void 0 ? _a : boolbase_1.default.trueFunc); - } - function reduceRules(a, b) { - if (b === boolbase_1.default.falseFunc || a === boolbase_1.default.trueFunc) { - return a; - } - if (a === boolbase_1.default.falseFunc || b === boolbase_1.default.trueFunc) { - return b; - } - return function combine(elem) { - return a(elem) || b(elem); - }; - } - } -}); - -// node_modules/css-select/lib/index.js -var require_lib8 = __commonJS({ - "node_modules/css-select/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.aliases = exports2.pseudos = exports2.filters = exports2.is = exports2.selectOne = exports2.selectAll = exports2.prepareContext = exports2._compileToken = exports2._compileUnsafe = exports2.compile = void 0; - var DomUtils = __importStar(require_lib6()); - var boolbase_1 = __importDefault(require_boolbase()); - var compile_js_1 = require_compile2(); - var subselects_js_1 = require_subselects(); - var defaultEquals = function(a, b) { - return a === b; - }; - var defaultOptions = { - adapter: DomUtils, - equals: defaultEquals - }; - function convertOptionFormats(options) { - var _a, _b, _c, _d; - var opts = options !== null && options !== void 0 ? options : defaultOptions; - (_a = opts.adapter) !== null && _a !== void 0 ? _a : opts.adapter = DomUtils; - (_b = opts.equals) !== null && _b !== void 0 ? _b : opts.equals = (_d = (_c = opts.adapter) === null || _c === void 0 ? void 0 : _c.equals) !== null && _d !== void 0 ? _d : defaultEquals; - return opts; - } - function wrapCompile(func) { - return function addAdapter(selector, options, context) { - var opts = convertOptionFormats(options); - return func(selector, opts, context); - }; - } - exports2.compile = wrapCompile(compile_js_1.compile); - exports2._compileUnsafe = wrapCompile(compile_js_1.compileUnsafe); - exports2._compileToken = wrapCompile(compile_js_1.compileToken); - function getSelectorFunc(searchFunc) { - return function select(query, elements, options) { - var opts = convertOptionFormats(options); - if (typeof query !== "function") { - query = (0, compile_js_1.compileUnsafe)(query, opts, elements); - } - var filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings); - return searchFunc(query, filteredElements, opts); - }; - } - function prepareContext(elems, adapter, shouldTestNextSiblings) { - if (shouldTestNextSiblings === void 0) { - shouldTestNextSiblings = false; - } - if (shouldTestNextSiblings) { - elems = appendNextSiblings(elems, adapter); - } - return Array.isArray(elems) ? adapter.removeSubsets(elems) : adapter.getChildren(elems); - } - exports2.prepareContext = prepareContext; - function appendNextSiblings(elem, adapter) { - var elems = Array.isArray(elem) ? elem.slice(0) : [elem]; - var elemsLength = elems.length; - for (var i = 0; i < elemsLength; i++) { - var nextSiblings = (0, subselects_js_1.getNextSiblings)(elems[i], adapter); - elems.push.apply(elems, nextSiblings); - } - return elems; - } - exports2.selectAll = getSelectorFunc(function(query, elems, options) { - return query === boolbase_1.default.falseFunc || !elems || elems.length === 0 ? [] : options.adapter.findAll(query, elems); - }); - exports2.selectOne = getSelectorFunc(function(query, elems, options) { - return query === boolbase_1.default.falseFunc || !elems || elems.length === 0 ? null : options.adapter.findOne(query, elems); - }); - function is(elem, query, options) { - var opts = convertOptionFormats(options); - return (typeof query === "function" ? query : (0, compile_js_1.compile)(query, opts))(elem); - } - exports2.is = is; - exports2.default = exports2.selectAll; - var index_js_1 = require_pseudo_selectors(); - Object.defineProperty(exports2, "filters", { enumerable: true, get: function() { - return index_js_1.filters; - } }); - Object.defineProperty(exports2, "pseudos", { enumerable: true, get: function() { - return index_js_1.pseudos; - } }); - Object.defineProperty(exports2, "aliases", { enumerable: true, get: function() { - return index_js_1.aliases; - } }); - } -}); - -// node_modules/svgo/lib/svgo/css-select-adapter.js -var require_css_select_adapter = __commonJS({ - "node_modules/svgo/lib/svgo/css-select-adapter.js"(exports2, module2) { - "use strict"; - var isTag = (node) => { - return node.type === "element"; - }; - var existsOne = (test, elems) => { - return elems.some((elem) => { - if (isTag(elem)) { - return test(elem) || existsOne(test, getChildren(elem)); - } else { - return false; - } - }); - }; - var getAttributeValue = (elem, name) => { - return elem.attributes[name]; - }; - var getChildren = (node) => { - return node.children || []; - }; - var getName = (elemAst) => { - return elemAst.name; - }; - var getParent = (node) => { - return node.parentNode || null; - }; - var getSiblings = (elem) => { - var parent = getParent(elem); - return parent ? getChildren(parent) : []; - }; - var getText = (node) => { - if (node.children[0].type === "text" && node.children[0].type === "cdata") { - return node.children[0].value; - } - return ""; - }; - var hasAttrib = (elem, name) => { - return elem.attributes[name] !== void 0; - }; - var removeSubsets = (nodes) => { - let idx = nodes.length; - let node; - let ancestor; - let replace; - while (--idx > -1) { - node = ancestor = nodes[idx]; - nodes[idx] = null; - replace = true; - while (ancestor) { - if (nodes.includes(ancestor)) { - replace = false; - nodes.splice(idx, 1); - break; - } - ancestor = getParent(ancestor); - } - if (replace) { - nodes[idx] = node; - } - } - return nodes; - }; - var findAll = (test, elems) => { - const result = []; - for (const elem of elems) { - if (isTag(elem)) { - if (test(elem)) { - result.push(elem); - } - result.push(...findAll(test, getChildren(elem))); - } - } - return result; - }; - var findOne = (test, elems) => { - for (const elem of elems) { - if (isTag(elem)) { - if (test(elem)) { - return elem; - } - const result = findOne(test, getChildren(elem)); - if (result) { - return result; - } - } - } - return null; - }; - var svgoCssSelectAdapter = { - isTag, - existsOne, - getAttributeValue, - getChildren, - getName, - getParent, - getSiblings, - getText, - hasAttrib, - removeSubsets, - findAll, - findOne - }; - module2.exports = svgoCssSelectAdapter; - } -}); - -// node_modules/svgo/lib/xast.js -var require_xast = __commonJS({ - "node_modules/svgo/lib/xast.js"(exports2) { - "use strict"; - var { selectAll, selectOne, is } = require_lib8(); - var xastAdaptor = require_css_select_adapter(); - var cssSelectOptions = { - xmlMode: true, - adapter: xastAdaptor - }; - var querySelectorAll = (node, selector) => { - return selectAll(selector, node, cssSelectOptions); - }; - exports2.querySelectorAll = querySelectorAll; - var querySelector = (node, selector) => { - return selectOne(selector, node, cssSelectOptions); - }; - exports2.querySelector = querySelector; - var matches = (node, selector) => { - return is(node, selector, cssSelectOptions); - }; - exports2.matches = matches; - var visitSkip = Symbol(); - exports2.visitSkip = visitSkip; - var visit = (node, visitor, parentNode) => { - const callbacks = visitor[node.type]; - if (callbacks && callbacks.enter) { - const symbol = callbacks.enter(node, parentNode); - if (symbol === visitSkip) { - return; - } - } - if (node.type === "root") { - for (const child of node.children) { - visit(child, visitor, node); - } - } - if (node.type === "element") { - if (parentNode.children.includes(node)) { - for (const child of node.children) { - visit(child, visitor, node); - } - } - } - if (callbacks && callbacks.exit) { - callbacks.exit(node, parentNode); - } - }; - exports2.visit = visit; - var detachNodeFromParent = (node, parentNode) => { - parentNode.children = parentNode.children.filter((child) => child !== node); - }; - exports2.detachNodeFromParent = detachNodeFromParent; - } -}); - -// node_modules/svgo/lib/svgo/plugins.js -var require_plugins = __commonJS({ - "node_modules/svgo/lib/svgo/plugins.js"(exports2) { - "use strict"; - var { visit } = require_xast(); - var invokePlugins = (ast, info, plugins, overrides, globalOverrides) => { - for (const plugin of plugins) { - const override = overrides?.[plugin.name]; - if (override === false) { - continue; - } - const params = { ...plugin.params, ...globalOverrides, ...override }; - const visitor = plugin.fn(ast, params, info); - if (visitor != null) { - visit(ast, visitor); - } - } - }; - exports2.invokePlugins = invokePlugins; - var createPreset = ({ name, plugins }) => { - return { - name, - fn: (ast, params, info) => { - const { floatPrecision, overrides } = params; - const globalOverrides = {}; - if (floatPrecision != null) { - globalOverrides.floatPrecision = floatPrecision; - } - if (overrides) { - const pluginNames = plugins.map(({ name: name2 }) => name2); - for (const pluginName of Object.keys(overrides)) { - if (!pluginNames.includes(pluginName)) { - console.warn( - `You are trying to configure ${pluginName} which is not part of ${name}. -Try to put it before or after, for example - -plugins: [ - { - name: '${name}', - }, - '${pluginName}' -] -` - ); - } - } - } - invokePlugins(ast, info, plugins, overrides, globalOverrides); - } - }; - }; - exports2.createPreset = createPreset; - } -}); - -// node_modules/svgo/plugins/removeDoctype.js -var require_removeDoctype = __commonJS({ - "node_modules/svgo/plugins/removeDoctype.js"(exports2) { - "use strict"; - var { detachNodeFromParent } = require_xast(); - exports2.name = "removeDoctype"; - exports2.description = "removes doctype declaration"; - exports2.fn = () => { - return { - doctype: { - enter: (node, parentNode) => { - detachNodeFromParent(node, parentNode); - } - } - }; - }; - } -}); - -// node_modules/svgo/plugins/removeXMLProcInst.js -var require_removeXMLProcInst = __commonJS({ - "node_modules/svgo/plugins/removeXMLProcInst.js"(exports2) { - "use strict"; - var { detachNodeFromParent } = require_xast(); - exports2.name = "removeXMLProcInst"; - exports2.description = "removes XML processing instructions"; - exports2.fn = () => { - return { - instruction: { - enter: (node, parentNode) => { - if (node.name === "xml") { - detachNodeFromParent(node, parentNode); - } - } - } - }; - }; - } -}); - -// node_modules/svgo/plugins/removeComments.js -var require_removeComments = __commonJS({ - "node_modules/svgo/plugins/removeComments.js"(exports2) { - "use strict"; - var { detachNodeFromParent } = require_xast(); - exports2.name = "removeComments"; - exports2.description = "removes comments"; - var DEFAULT_PRESERVE_PATTERNS = [/^!/]; - exports2.fn = (_root, params) => { - const { preservePatterns = DEFAULT_PRESERVE_PATTERNS } = params; - return { - comment: { - enter: (node, parentNode) => { - if (preservePatterns) { - if (!Array.isArray(preservePatterns)) { - throw Error( - `Expected array in removeComments preservePatterns parameter but received ${preservePatterns}` - ); - } - const matches = preservePatterns.some((pattern) => { - return new RegExp(pattern).test(node.value); - }); - if (matches) { - return; - } - } - detachNodeFromParent(node, parentNode); - } - } - }; - }; - } -}); - -// node_modules/svgo/plugins/removeMetadata.js -var require_removeMetadata = __commonJS({ - "node_modules/svgo/plugins/removeMetadata.js"(exports2) { - "use strict"; - var { detachNodeFromParent } = require_xast(); - exports2.name = "removeMetadata"; - exports2.description = "removes "; - exports2.fn = () => { - return { - element: { - enter: (node, parentNode) => { - if (node.name === "metadata") { - detachNodeFromParent(node, parentNode); - } - } - } - }; - }; - } -}); - -// node_modules/svgo/plugins/removeEditorsNSData.js -var require_removeEditorsNSData = __commonJS({ - "node_modules/svgo/plugins/removeEditorsNSData.js"(exports2) { - "use strict"; - var { detachNodeFromParent } = require_xast(); - var { editorNamespaces } = require_collections(); - exports2.name = "removeEditorsNSData"; - exports2.description = "removes editors namespaces, elements and attributes"; - exports2.fn = (_root, params) => { - let namespaces = [...editorNamespaces]; - if (Array.isArray(params.additionalNamespaces)) { - namespaces = [...editorNamespaces, ...params.additionalNamespaces]; - } - const prefixes = []; - return { - element: { - enter: (node, parentNode) => { - if (node.name === "svg") { - for (const [name, value] of Object.entries(node.attributes)) { - if (name.startsWith("xmlns:") && namespaces.includes(value)) { - prefixes.push(name.slice("xmlns:".length)); - delete node.attributes[name]; - } - } - } - for (const name of Object.keys(node.attributes)) { - if (name.includes(":")) { - const [prefix] = name.split(":"); - if (prefixes.includes(prefix)) { - delete node.attributes[name]; - } - } - } - if (node.name.includes(":")) { - const [prefix] = node.name.split(":"); - if (prefixes.includes(prefix)) { - detachNodeFromParent(node, parentNode); - } - } - } - } - }; - }; - } -}); - -// node_modules/svgo/plugins/cleanupAttrs.js -var require_cleanupAttrs = __commonJS({ - "node_modules/svgo/plugins/cleanupAttrs.js"(exports2) { - "use strict"; - exports2.name = "cleanupAttrs"; - exports2.description = "cleanups attributes from newlines, trailing and repeating spaces"; - var regNewlinesNeedSpace = /(\S)\r?\n(\S)/g; - var regNewlines = /\r?\n/g; - var regSpaces = /\s{2,}/g; - exports2.fn = (root, params) => { - const { newlines = true, trim = true, spaces = true } = params; - return { - element: { - enter: (node) => { - for (const name of Object.keys(node.attributes)) { - if (newlines) { - node.attributes[name] = node.attributes[name].replace( - regNewlinesNeedSpace, - (match, p1, p2) => p1 + " " + p2 - ); - node.attributes[name] = node.attributes[name].replace( - regNewlines, - "" - ); - } - if (trim) { - node.attributes[name] = node.attributes[name].trim(); - } - if (spaces) { - node.attributes[name] = node.attributes[name].replace( - regSpaces, - " " - ); - } - } - } - } - }; - }; - } -}); - -// node_modules/svgo/plugins/mergeStyles.js -var require_mergeStyles = __commonJS({ - "node_modules/svgo/plugins/mergeStyles.js"(exports2) { - "use strict"; - var { visitSkip, detachNodeFromParent } = require_xast(); - exports2.name = "mergeStyles"; - exports2.description = "merge multiple style elements into one"; - exports2.fn = () => { - let firstStyleElement = null; - let collectedStyles = ""; - let styleContentType = "text"; - return { - element: { - enter: (node, parentNode) => { - if (node.name === "foreignObject") { - return visitSkip; - } - if (node.name !== "style") { - return; - } - if (node.attributes.type != null && node.attributes.type !== "" && node.attributes.type !== "text/css") { - return; - } - let css = ""; - for (const child of node.children) { - if (child.type === "text") { - css += child.value; - } - if (child.type === "cdata") { - styleContentType = "cdata"; - css += child.value; - } - } - if (css.trim().length === 0) { - detachNodeFromParent(node, parentNode); - return; - } - if (node.attributes.media == null) { - collectedStyles += css; - } else { - collectedStyles += `@media ${node.attributes.media}{${css}}`; - delete node.attributes.media; - } - if (firstStyleElement == null) { - firstStyleElement = node; - } else { - detachNodeFromParent(node, parentNode); - const child = { type: styleContentType, value: collectedStyles }; - Object.defineProperty(child, "parentNode", { - writable: true, - value: firstStyleElement - }); - firstStyleElement.children = [child]; - } - } - } - }; - }; - } -}); - -// node_modules/css-tree/cjs/tokenizer/types.cjs -var require_types2 = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/types.cjs"(exports2) { - "use strict"; - var EOF = 0; - var Ident = 1; - var Function2 = 2; - var AtKeyword = 3; - var Hash = 4; - var String2 = 5; - var BadString = 6; - var Url = 7; - var BadUrl = 8; - var Delim = 9; - var Number2 = 10; - var Percentage = 11; - var Dimension = 12; - var WhiteSpace = 13; - var CDO = 14; - var CDC = 15; - var Colon = 16; - var Semicolon = 17; - var Comma = 18; - var LeftSquareBracket = 19; - var RightSquareBracket = 20; - var LeftParenthesis = 21; - var RightParenthesis = 22; - var LeftCurlyBracket = 23; - var RightCurlyBracket = 24; - var Comment = 25; - exports2.AtKeyword = AtKeyword; - exports2.BadString = BadString; - exports2.BadUrl = BadUrl; - exports2.CDC = CDC; - exports2.CDO = CDO; - exports2.Colon = Colon; - exports2.Comma = Comma; - exports2.Comment = Comment; - exports2.Delim = Delim; - exports2.Dimension = Dimension; - exports2.EOF = EOF; - exports2.Function = Function2; - exports2.Hash = Hash; - exports2.Ident = Ident; - exports2.LeftCurlyBracket = LeftCurlyBracket; - exports2.LeftParenthesis = LeftParenthesis; - exports2.LeftSquareBracket = LeftSquareBracket; - exports2.Number = Number2; - exports2.Percentage = Percentage; - exports2.RightCurlyBracket = RightCurlyBracket; - exports2.RightParenthesis = RightParenthesis; - exports2.RightSquareBracket = RightSquareBracket; - exports2.Semicolon = Semicolon; - exports2.String = String2; - exports2.Url = Url; - exports2.WhiteSpace = WhiteSpace; - } -}); - -// node_modules/css-tree/cjs/tokenizer/char-code-definitions.cjs -var require_char_code_definitions = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/char-code-definitions.cjs"(exports2) { - "use strict"; - var EOF = 0; - function isDigit(code) { - return code >= 48 && code <= 57; - } - function isHexDigit(code) { - return isDigit(code) || // 0 .. 9 - code >= 65 && code <= 70 || // A .. F - code >= 97 && code <= 102; - } - function isUppercaseLetter(code) { - return code >= 65 && code <= 90; - } - function isLowercaseLetter(code) { - return code >= 97 && code <= 122; - } - function isLetter(code) { - return isUppercaseLetter(code) || isLowercaseLetter(code); - } - function isNonAscii(code) { - return code >= 128; - } - function isNameStart(code) { - return isLetter(code) || isNonAscii(code) || code === 95; - } - function isName(code) { - return isNameStart(code) || isDigit(code) || code === 45; - } - function isNonPrintable(code) { - return code >= 0 && code <= 8 || code === 11 || code >= 14 && code <= 31 || code === 127; - } - function isNewline(code) { - return code === 10 || code === 13 || code === 12; - } - function isWhiteSpace(code) { - return isNewline(code) || code === 32 || code === 9; - } - function isValidEscape(first, second) { - if (first !== 92) { - return false; - } - if (isNewline(second) || second === EOF) { - return false; - } - return true; - } - function isIdentifierStart(first, second, third) { - if (first === 45) { - return isNameStart(second) || second === 45 || isValidEscape(second, third); - } - if (isNameStart(first)) { - return true; - } - if (first === 92) { - return isValidEscape(first, second); - } - return false; - } - function isNumberStart(first, second, third) { - if (first === 43 || first === 45) { - if (isDigit(second)) { - return 2; - } - return second === 46 && isDigit(third) ? 3 : 0; - } - if (first === 46) { - return isDigit(second) ? 2 : 0; - } - if (isDigit(first)) { - return 1; - } - return 0; - } - function isBOM(code) { - if (code === 65279) { - return 1; - } - if (code === 65534) { - return 1; - } - return 0; - } - var CATEGORY = new Array(128); - var EofCategory = 128; - var WhiteSpaceCategory = 130; - var DigitCategory = 131; - var NameStartCategory = 132; - var NonPrintableCategory = 133; - for (let i = 0; i < CATEGORY.length; i++) { - CATEGORY[i] = isWhiteSpace(i) && WhiteSpaceCategory || isDigit(i) && DigitCategory || isNameStart(i) && NameStartCategory || isNonPrintable(i) && NonPrintableCategory || i || EofCategory; - } - function charCodeCategory(code) { - return code < 128 ? CATEGORY[code] : NameStartCategory; - } - exports2.DigitCategory = DigitCategory; - exports2.EofCategory = EofCategory; - exports2.NameStartCategory = NameStartCategory; - exports2.NonPrintableCategory = NonPrintableCategory; - exports2.WhiteSpaceCategory = WhiteSpaceCategory; - exports2.charCodeCategory = charCodeCategory; - exports2.isBOM = isBOM; - exports2.isDigit = isDigit; - exports2.isHexDigit = isHexDigit; - exports2.isIdentifierStart = isIdentifierStart; - exports2.isLetter = isLetter; - exports2.isLowercaseLetter = isLowercaseLetter; - exports2.isName = isName; - exports2.isNameStart = isNameStart; - exports2.isNewline = isNewline; - exports2.isNonAscii = isNonAscii; - exports2.isNonPrintable = isNonPrintable; - exports2.isNumberStart = isNumberStart; - exports2.isUppercaseLetter = isUppercaseLetter; - exports2.isValidEscape = isValidEscape; - exports2.isWhiteSpace = isWhiteSpace; - } -}); - -// node_modules/css-tree/cjs/tokenizer/utils.cjs -var require_utils3 = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/utils.cjs"(exports2) { - "use strict"; - var charCodeDefinitions = require_char_code_definitions(); - function getCharCode(source, offset) { - return offset < source.length ? source.charCodeAt(offset) : 0; - } - function getNewlineLength(source, offset, code) { - if (code === 13 && getCharCode(source, offset + 1) === 10) { - return 2; - } - return 1; - } - function cmpChar(testStr, offset, referenceCode) { - let code = testStr.charCodeAt(offset); - if (charCodeDefinitions.isUppercaseLetter(code)) { - code = code | 32; - } - return code === referenceCode; - } - function cmpStr(testStr, start, end, referenceStr) { - if (end - start !== referenceStr.length) { - return false; - } - if (start < 0 || end > testStr.length) { - return false; - } - for (let i = start; i < end; i++) { - const referenceCode = referenceStr.charCodeAt(i - start); - let testCode = testStr.charCodeAt(i); - if (charCodeDefinitions.isUppercaseLetter(testCode)) { - testCode = testCode | 32; - } - if (testCode !== referenceCode) { - return false; - } - } - return true; - } - function findWhiteSpaceStart(source, offset) { - for (; offset >= 0; offset--) { - if (!charCodeDefinitions.isWhiteSpace(source.charCodeAt(offset))) { - break; - } - } - return offset + 1; - } - function findWhiteSpaceEnd(source, offset) { - for (; offset < source.length; offset++) { - if (!charCodeDefinitions.isWhiteSpace(source.charCodeAt(offset))) { - break; - } - } - return offset; - } - function findDecimalNumberEnd(source, offset) { - for (; offset < source.length; offset++) { - if (!charCodeDefinitions.isDigit(source.charCodeAt(offset))) { - break; - } - } - return offset; - } - function consumeEscaped(source, offset) { - offset += 2; - if (charCodeDefinitions.isHexDigit(getCharCode(source, offset - 1))) { - for (const maxOffset = Math.min(source.length, offset + 5); offset < maxOffset; offset++) { - if (!charCodeDefinitions.isHexDigit(getCharCode(source, offset))) { - break; - } - } - const code = getCharCode(source, offset); - if (charCodeDefinitions.isWhiteSpace(code)) { - offset += getNewlineLength(source, offset, code); - } - } - return offset; - } - function consumeName(source, offset) { - for (; offset < source.length; offset++) { - const code = source.charCodeAt(offset); - if (charCodeDefinitions.isName(code)) { - continue; - } - if (charCodeDefinitions.isValidEscape(code, getCharCode(source, offset + 1))) { - offset = consumeEscaped(source, offset) - 1; - continue; - } - break; - } - return offset; - } - function consumeNumber(source, offset) { - let code = source.charCodeAt(offset); - if (code === 43 || code === 45) { - code = source.charCodeAt(offset += 1); - } - if (charCodeDefinitions.isDigit(code)) { - offset = findDecimalNumberEnd(source, offset + 1); - code = source.charCodeAt(offset); - } - if (code === 46 && charCodeDefinitions.isDigit(source.charCodeAt(offset + 1))) { - offset += 2; - offset = findDecimalNumberEnd(source, offset); - } - if (cmpChar( - source, - offset, - 101 - /* e */ - )) { - let sign = 0; - code = source.charCodeAt(offset + 1); - if (code === 45 || code === 43) { - sign = 1; - code = source.charCodeAt(offset + 2); - } - if (charCodeDefinitions.isDigit(code)) { - offset = findDecimalNumberEnd(source, offset + 1 + sign + 1); - } - } - return offset; - } - function consumeBadUrlRemnants(source, offset) { - for (; offset < source.length; offset++) { - const code = source.charCodeAt(offset); - if (code === 41) { - offset++; - break; - } - if (charCodeDefinitions.isValidEscape(code, getCharCode(source, offset + 1))) { - offset = consumeEscaped(source, offset); - } - } - return offset; - } - function decodeEscaped(escaped) { - if (escaped.length === 1 && !charCodeDefinitions.isHexDigit(escaped.charCodeAt(0))) { - return escaped[0]; - } - let code = parseInt(escaped, 16); - if (code === 0 || // If this number is zero, - code >= 55296 && code <= 57343 || // or is for a surrogate, - code > 1114111) { - code = 65533; - } - return String.fromCodePoint(code); - } - exports2.cmpChar = cmpChar; - exports2.cmpStr = cmpStr; - exports2.consumeBadUrlRemnants = consumeBadUrlRemnants; - exports2.consumeEscaped = consumeEscaped; - exports2.consumeName = consumeName; - exports2.consumeNumber = consumeNumber; - exports2.decodeEscaped = decodeEscaped; - exports2.findDecimalNumberEnd = findDecimalNumberEnd; - exports2.findWhiteSpaceEnd = findWhiteSpaceEnd; - exports2.findWhiteSpaceStart = findWhiteSpaceStart; - exports2.getNewlineLength = getNewlineLength; - } -}); - -// node_modules/css-tree/cjs/tokenizer/names.cjs -var require_names2 = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/names.cjs"(exports2, module2) { - "use strict"; - var tokenNames = [ - "EOF-token", - "ident-token", - "function-token", - "at-keyword-token", - "hash-token", - "string-token", - "bad-string-token", - "url-token", - "bad-url-token", - "delim-token", - "number-token", - "percentage-token", - "dimension-token", - "whitespace-token", - "CDO-token", - "CDC-token", - "colon-token", - "semicolon-token", - "comma-token", - "[-token", - "]-token", - "(-token", - ")-token", - "{-token", - "}-token" - ]; - module2.exports = tokenNames; - } -}); - -// node_modules/css-tree/cjs/tokenizer/adopt-buffer.cjs -var require_adopt_buffer = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/adopt-buffer.cjs"(exports2) { - "use strict"; - var MIN_SIZE = 16 * 1024; - function adoptBuffer(buffer = null, size) { - if (buffer === null || buffer.length < size) { - return new Uint32Array(Math.max(size + 1024, MIN_SIZE)); - } - return buffer; - } - exports2.adoptBuffer = adoptBuffer; - } -}); - -// node_modules/css-tree/cjs/tokenizer/OffsetToLocation.cjs -var require_OffsetToLocation = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/OffsetToLocation.cjs"(exports2) { - "use strict"; - var adoptBuffer = require_adopt_buffer(); - var charCodeDefinitions = require_char_code_definitions(); - var N = 10; - var F = 12; - var R = 13; - function computeLinesAndColumns(host) { - const source = host.source; - const sourceLength = source.length; - const startOffset = source.length > 0 ? charCodeDefinitions.isBOM(source.charCodeAt(0)) : 0; - const lines = adoptBuffer.adoptBuffer(host.lines, sourceLength); - const columns = adoptBuffer.adoptBuffer(host.columns, sourceLength); - let line = host.startLine; - let column = host.startColumn; - for (let i = startOffset; i < sourceLength; i++) { - const code = source.charCodeAt(i); - lines[i] = line; - columns[i] = column++; - if (code === N || code === R || code === F) { - if (code === R && i + 1 < sourceLength && source.charCodeAt(i + 1) === N) { - i++; - lines[i] = line; - columns[i] = column; - } - line++; - column = 1; - } - } - lines[sourceLength] = line; - columns[sourceLength] = column; - host.lines = lines; - host.columns = columns; - host.computed = true; - } - var OffsetToLocation = class { - constructor() { - this.lines = null; - this.columns = null; - this.computed = false; - } - setSource(source, startOffset = 0, startLine = 1, startColumn = 1) { - this.source = source; - this.startOffset = startOffset; - this.startLine = startLine; - this.startColumn = startColumn; - this.computed = false; - } - getLocation(offset, filename) { - if (!this.computed) { - computeLinesAndColumns(this); - } - return { - source: filename, - offset: this.startOffset + offset, - line: this.lines[offset], - column: this.columns[offset] - }; - } - getLocationRange(start, end, filename) { - if (!this.computed) { - computeLinesAndColumns(this); - } - return { - source: filename, - start: { - offset: this.startOffset + start, - line: this.lines[start], - column: this.columns[start] - }, - end: { - offset: this.startOffset + end, - line: this.lines[end], - column: this.columns[end] - } - }; - } - }; - exports2.OffsetToLocation = OffsetToLocation; - } -}); - -// node_modules/css-tree/cjs/tokenizer/TokenStream.cjs -var require_TokenStream = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/TokenStream.cjs"(exports2) { - "use strict"; - var adoptBuffer = require_adopt_buffer(); - var utils = require_utils3(); - var names = require_names2(); - var types = require_types2(); - var OFFSET_MASK = 16777215; - var TYPE_SHIFT = 24; - var balancePair = /* @__PURE__ */ new Map([ - [types.Function, types.RightParenthesis], - [types.LeftParenthesis, types.RightParenthesis], - [types.LeftSquareBracket, types.RightSquareBracket], - [types.LeftCurlyBracket, types.RightCurlyBracket] - ]); - var TokenStream = class { - constructor(source, tokenize) { - this.setSource(source, tokenize); - } - reset() { - this.eof = false; - this.tokenIndex = -1; - this.tokenType = 0; - this.tokenStart = this.firstCharOffset; - this.tokenEnd = this.firstCharOffset; - } - setSource(source = "", tokenize = () => { - }) { - source = String(source || ""); - const sourceLength = source.length; - const offsetAndType = adoptBuffer.adoptBuffer(this.offsetAndType, source.length + 1); - const balance = adoptBuffer.adoptBuffer(this.balance, source.length + 1); - let tokenCount = 0; - let balanceCloseType = 0; - let balanceStart = 0; - let firstCharOffset = -1; - this.offsetAndType = null; - this.balance = null; - tokenize(source, (type, start, end) => { - switch (type) { - default: - balance[tokenCount] = sourceLength; - break; - case balanceCloseType: { - let balancePrev = balanceStart & OFFSET_MASK; - balanceStart = balance[balancePrev]; - balanceCloseType = balanceStart >> TYPE_SHIFT; - balance[tokenCount] = balancePrev; - balance[balancePrev++] = tokenCount; - for (; balancePrev < tokenCount; balancePrev++) { - if (balance[balancePrev] === sourceLength) { - balance[balancePrev] = tokenCount; - } - } - break; - } - case types.LeftParenthesis: - case types.Function: - case types.LeftSquareBracket: - case types.LeftCurlyBracket: - balance[tokenCount] = balanceStart; - balanceCloseType = balancePair.get(type); - balanceStart = balanceCloseType << TYPE_SHIFT | tokenCount; - break; - } - offsetAndType[tokenCount++] = type << TYPE_SHIFT | end; - if (firstCharOffset === -1) { - firstCharOffset = start; - } - }); - offsetAndType[tokenCount] = types.EOF << TYPE_SHIFT | sourceLength; - balance[tokenCount] = sourceLength; - balance[sourceLength] = sourceLength; - while (balanceStart !== 0) { - const balancePrev = balanceStart & OFFSET_MASK; - balanceStart = balance[balancePrev]; - balance[balancePrev] = sourceLength; - } - this.source = source; - this.firstCharOffset = firstCharOffset === -1 ? 0 : firstCharOffset; - this.tokenCount = tokenCount; - this.offsetAndType = offsetAndType; - this.balance = balance; - this.reset(); - this.next(); - } - lookupType(offset) { - offset += this.tokenIndex; - if (offset < this.tokenCount) { - return this.offsetAndType[offset] >> TYPE_SHIFT; - } - return types.EOF; - } - lookupOffset(offset) { - offset += this.tokenIndex; - if (offset < this.tokenCount) { - return this.offsetAndType[offset - 1] & OFFSET_MASK; - } - return this.source.length; - } - lookupValue(offset, referenceStr) { - offset += this.tokenIndex; - if (offset < this.tokenCount) { - return utils.cmpStr( - this.source, - this.offsetAndType[offset - 1] & OFFSET_MASK, - this.offsetAndType[offset] & OFFSET_MASK, - referenceStr - ); - } - return false; - } - getTokenStart(tokenIndex) { - if (tokenIndex === this.tokenIndex) { - return this.tokenStart; - } - if (tokenIndex > 0) { - return tokenIndex < this.tokenCount ? this.offsetAndType[tokenIndex - 1] & OFFSET_MASK : this.offsetAndType[this.tokenCount] & OFFSET_MASK; - } - return this.firstCharOffset; - } - substrToCursor(start) { - return this.source.substring(start, this.tokenStart); - } - isBalanceEdge(pos) { - return this.balance[this.tokenIndex] < pos; - } - isDelim(code, offset) { - if (offset) { - return this.lookupType(offset) === types.Delim && this.source.charCodeAt(this.lookupOffset(offset)) === code; - } - return this.tokenType === types.Delim && this.source.charCodeAt(this.tokenStart) === code; - } - skip(tokenCount) { - let next = this.tokenIndex + tokenCount; - if (next < this.tokenCount) { - this.tokenIndex = next; - this.tokenStart = this.offsetAndType[next - 1] & OFFSET_MASK; - next = this.offsetAndType[next]; - this.tokenType = next >> TYPE_SHIFT; - this.tokenEnd = next & OFFSET_MASK; - } else { - this.tokenIndex = this.tokenCount; - this.next(); - } - } - next() { - let next = this.tokenIndex + 1; - if (next < this.tokenCount) { - this.tokenIndex = next; - this.tokenStart = this.tokenEnd; - next = this.offsetAndType[next]; - this.tokenType = next >> TYPE_SHIFT; - this.tokenEnd = next & OFFSET_MASK; - } else { - this.eof = true; - this.tokenIndex = this.tokenCount; - this.tokenType = types.EOF; - this.tokenStart = this.tokenEnd = this.source.length; - } - } - skipSC() { - while (this.tokenType === types.WhiteSpace || this.tokenType === types.Comment) { - this.next(); - } - } - skipUntilBalanced(startToken, stopConsume) { - let cursor = startToken; - let balanceEnd; - let offset; - loop: - for (; cursor < this.tokenCount; cursor++) { - balanceEnd = this.balance[cursor]; - if (balanceEnd < startToken) { - break loop; - } - offset = cursor > 0 ? this.offsetAndType[cursor - 1] & OFFSET_MASK : this.firstCharOffset; - switch (stopConsume(this.source.charCodeAt(offset))) { - case 1: - break loop; - case 2: - cursor++; - break loop; - default: - if (this.balance[balanceEnd] === cursor) { - cursor = balanceEnd; - } - } - } - this.skip(cursor - this.tokenIndex); - } - forEachToken(fn) { - for (let i = 0, offset = this.firstCharOffset; i < this.tokenCount; i++) { - const start = offset; - const item = this.offsetAndType[i]; - const end = item & OFFSET_MASK; - const type = item >> TYPE_SHIFT; - offset = end; - fn(type, start, end, i); - } - } - dump() { - const tokens = new Array(this.tokenCount); - this.forEachToken((type, start, end, index) => { - tokens[index] = { - idx: index, - type: names[type], - chunk: this.source.substring(start, end), - balance: this.balance[index] - }; - }); - return tokens; - } - }; - exports2.TokenStream = TokenStream; - } -}); - -// node_modules/css-tree/cjs/tokenizer/index.cjs -var require_tokenizer = __commonJS({ - "node_modules/css-tree/cjs/tokenizer/index.cjs"(exports2) { - "use strict"; - var types = require_types2(); - var charCodeDefinitions = require_char_code_definitions(); - var utils = require_utils3(); - var names = require_names2(); - var OffsetToLocation = require_OffsetToLocation(); - var TokenStream = require_TokenStream(); - function tokenize(source, onToken) { - function getCharCode(offset2) { - return offset2 < sourceLength ? source.charCodeAt(offset2) : 0; - } - function consumeNumericToken() { - offset = utils.consumeNumber(source, offset); - if (charCodeDefinitions.isIdentifierStart(getCharCode(offset), getCharCode(offset + 1), getCharCode(offset + 2))) { - type = types.Dimension; - offset = utils.consumeName(source, offset); - return; - } - if (getCharCode(offset) === 37) { - type = types.Percentage; - offset++; - return; - } - type = types.Number; - } - function consumeIdentLikeToken() { - const nameStartOffset = offset; - offset = utils.consumeName(source, offset); - if (utils.cmpStr(source, nameStartOffset, offset, "url") && getCharCode(offset) === 40) { - offset = utils.findWhiteSpaceEnd(source, offset + 1); - if (getCharCode(offset) === 34 || getCharCode(offset) === 39) { - type = types.Function; - offset = nameStartOffset + 4; - return; - } - consumeUrlToken(); - return; - } - if (getCharCode(offset) === 40) { - type = types.Function; - offset++; - return; - } - type = types.Ident; - } - function consumeStringToken(endingCodePoint) { - if (!endingCodePoint) { - endingCodePoint = getCharCode(offset++); - } - type = types.String; - for (; offset < source.length; offset++) { - const code = source.charCodeAt(offset); - switch (charCodeDefinitions.charCodeCategory(code)) { - // ending code point - case endingCodePoint: - offset++; - return; - // EOF - // case EofCategory: - // This is a parse error. Return the . - // return; - // newline - case charCodeDefinitions.WhiteSpaceCategory: - if (charCodeDefinitions.isNewline(code)) { - offset += utils.getNewlineLength(source, offset, code); - type = types.BadString; - return; - } - break; - // U+005C REVERSE SOLIDUS (\) - case 92: - if (offset === source.length - 1) { - break; - } - const nextCode = getCharCode(offset + 1); - if (charCodeDefinitions.isNewline(nextCode)) { - offset += utils.getNewlineLength(source, offset + 1, nextCode); - } else if (charCodeDefinitions.isValidEscape(code, nextCode)) { - offset = utils.consumeEscaped(source, offset) - 1; - } - break; - } - } - } - function consumeUrlToken() { - type = types.Url; - offset = utils.findWhiteSpaceEnd(source, offset); - for (; offset < source.length; offset++) { - const code = source.charCodeAt(offset); - switch (charCodeDefinitions.charCodeCategory(code)) { - // U+0029 RIGHT PARENTHESIS ()) - case 41: - offset++; - return; - // EOF - // case EofCategory: - // This is a parse error. Return the . - // return; - // whitespace - case charCodeDefinitions.WhiteSpaceCategory: - offset = utils.findWhiteSpaceEnd(source, offset); - if (getCharCode(offset) === 41 || offset >= source.length) { - if (offset < source.length) { - offset++; - } - return; - } - offset = utils.consumeBadUrlRemnants(source, offset); - type = types.BadUrl; - return; - // U+0022 QUOTATION MARK (") - // U+0027 APOSTROPHE (') - // U+0028 LEFT PARENTHESIS (() - // non-printable code point - case 34: - case 39: - case 40: - case charCodeDefinitions.NonPrintableCategory: - offset = utils.consumeBadUrlRemnants(source, offset); - type = types.BadUrl; - return; - // U+005C REVERSE SOLIDUS (\) - case 92: - if (charCodeDefinitions.isValidEscape(code, getCharCode(offset + 1))) { - offset = utils.consumeEscaped(source, offset) - 1; - break; - } - offset = utils.consumeBadUrlRemnants(source, offset); - type = types.BadUrl; - return; - } - } - } - source = String(source || ""); - const sourceLength = source.length; - let start = charCodeDefinitions.isBOM(getCharCode(0)); - let offset = start; - let type; - while (offset < sourceLength) { - const code = source.charCodeAt(offset); - switch (charCodeDefinitions.charCodeCategory(code)) { - // whitespace - case charCodeDefinitions.WhiteSpaceCategory: - type = types.WhiteSpace; - offset = utils.findWhiteSpaceEnd(source, offset + 1); - break; - // U+0022 QUOTATION MARK (") - case 34: - consumeStringToken(); - break; - // U+0023 NUMBER SIGN (#) - case 35: - if (charCodeDefinitions.isName(getCharCode(offset + 1)) || charCodeDefinitions.isValidEscape(getCharCode(offset + 1), getCharCode(offset + 2))) { - type = types.Hash; - offset = utils.consumeName(source, offset + 1); - } else { - type = types.Delim; - offset++; - } - break; - // U+0027 APOSTROPHE (') - case 39: - consumeStringToken(); - break; - // U+0028 LEFT PARENTHESIS (() - case 40: - type = types.LeftParenthesis; - offset++; - break; - // U+0029 RIGHT PARENTHESIS ()) - case 41: - type = types.RightParenthesis; - offset++; - break; - // U+002B PLUS SIGN (+) - case 43: - if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { - consumeNumericToken(); - } else { - type = types.Delim; - offset++; - } - break; - // U+002C COMMA (,) - case 44: - type = types.Comma; - offset++; - break; - // U+002D HYPHEN-MINUS (-) - case 45: - if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { - consumeNumericToken(); - } else { - if (getCharCode(offset + 1) === 45 && getCharCode(offset + 2) === 62) { - type = types.CDC; - offset = offset + 3; - } else { - if (charCodeDefinitions.isIdentifierStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { - consumeIdentLikeToken(); - } else { - type = types.Delim; - offset++; - } - } - } - break; - // U+002E FULL STOP (.) - case 46: - if (charCodeDefinitions.isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) { - consumeNumericToken(); - } else { - type = types.Delim; - offset++; - } - break; - // U+002F SOLIDUS (/) - case 47: - if (getCharCode(offset + 1) === 42) { - type = types.Comment; - offset = source.indexOf("*/", offset + 2); - offset = offset === -1 ? source.length : offset + 2; - } else { - type = types.Delim; - offset++; - } - break; - // U+003A COLON (:) - case 58: - type = types.Colon; - offset++; - break; - // U+003B SEMICOLON (;) - case 59: - type = types.Semicolon; - offset++; - break; - // U+003C LESS-THAN SIGN (<) - case 60: - if (getCharCode(offset + 1) === 33 && getCharCode(offset + 2) === 45 && getCharCode(offset + 3) === 45) { - type = types.CDO; - offset = offset + 4; - } else { - type = types.Delim; - offset++; - } - break; - // U+0040 COMMERCIAL AT (@) - case 64: - if (charCodeDefinitions.isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) { - type = types.AtKeyword; - offset = utils.consumeName(source, offset + 1); - } else { - type = types.Delim; - offset++; - } - break; - // U+005B LEFT SQUARE BRACKET ([) - case 91: - type = types.LeftSquareBracket; - offset++; - break; - // U+005C REVERSE SOLIDUS (\) - case 92: - if (charCodeDefinitions.isValidEscape(code, getCharCode(offset + 1))) { - consumeIdentLikeToken(); - } else { - type = types.Delim; - offset++; - } - break; - // U+005D RIGHT SQUARE BRACKET (]) - case 93: - type = types.RightSquareBracket; - offset++; - break; - // U+007B LEFT CURLY BRACKET ({) - case 123: - type = types.LeftCurlyBracket; - offset++; - break; - // U+007D RIGHT CURLY BRACKET (}) - case 125: - type = types.RightCurlyBracket; - offset++; - break; - // digit - case charCodeDefinitions.DigitCategory: - consumeNumericToken(); - break; - // name-start code point - case charCodeDefinitions.NameStartCategory: - consumeIdentLikeToken(); - break; - // EOF - // case EofCategory: - // Return an . - // break; - // anything else - default: - type = types.Delim; - offset++; - } - onToken(type, start, start = offset); - } - } - exports2.AtKeyword = types.AtKeyword; - exports2.BadString = types.BadString; - exports2.BadUrl = types.BadUrl; - exports2.CDC = types.CDC; - exports2.CDO = types.CDO; - exports2.Colon = types.Colon; - exports2.Comma = types.Comma; - exports2.Comment = types.Comment; - exports2.Delim = types.Delim; - exports2.Dimension = types.Dimension; - exports2.EOF = types.EOF; - exports2.Function = types.Function; - exports2.Hash = types.Hash; - exports2.Ident = types.Ident; - exports2.LeftCurlyBracket = types.LeftCurlyBracket; - exports2.LeftParenthesis = types.LeftParenthesis; - exports2.LeftSquareBracket = types.LeftSquareBracket; - exports2.Number = types.Number; - exports2.Percentage = types.Percentage; - exports2.RightCurlyBracket = types.RightCurlyBracket; - exports2.RightParenthesis = types.RightParenthesis; - exports2.RightSquareBracket = types.RightSquareBracket; - exports2.Semicolon = types.Semicolon; - exports2.String = types.String; - exports2.Url = types.Url; - exports2.WhiteSpace = types.WhiteSpace; - exports2.tokenTypes = types; - exports2.DigitCategory = charCodeDefinitions.DigitCategory; - exports2.EofCategory = charCodeDefinitions.EofCategory; - exports2.NameStartCategory = charCodeDefinitions.NameStartCategory; - exports2.NonPrintableCategory = charCodeDefinitions.NonPrintableCategory; - exports2.WhiteSpaceCategory = charCodeDefinitions.WhiteSpaceCategory; - exports2.charCodeCategory = charCodeDefinitions.charCodeCategory; - exports2.isBOM = charCodeDefinitions.isBOM; - exports2.isDigit = charCodeDefinitions.isDigit; - exports2.isHexDigit = charCodeDefinitions.isHexDigit; - exports2.isIdentifierStart = charCodeDefinitions.isIdentifierStart; - exports2.isLetter = charCodeDefinitions.isLetter; - exports2.isLowercaseLetter = charCodeDefinitions.isLowercaseLetter; - exports2.isName = charCodeDefinitions.isName; - exports2.isNameStart = charCodeDefinitions.isNameStart; - exports2.isNewline = charCodeDefinitions.isNewline; - exports2.isNonAscii = charCodeDefinitions.isNonAscii; - exports2.isNonPrintable = charCodeDefinitions.isNonPrintable; - exports2.isNumberStart = charCodeDefinitions.isNumberStart; - exports2.isUppercaseLetter = charCodeDefinitions.isUppercaseLetter; - exports2.isValidEscape = charCodeDefinitions.isValidEscape; - exports2.isWhiteSpace = charCodeDefinitions.isWhiteSpace; - exports2.cmpChar = utils.cmpChar; - exports2.cmpStr = utils.cmpStr; - exports2.consumeBadUrlRemnants = utils.consumeBadUrlRemnants; - exports2.consumeEscaped = utils.consumeEscaped; - exports2.consumeName = utils.consumeName; - exports2.consumeNumber = utils.consumeNumber; - exports2.decodeEscaped = utils.decodeEscaped; - exports2.findDecimalNumberEnd = utils.findDecimalNumberEnd; - exports2.findWhiteSpaceEnd = utils.findWhiteSpaceEnd; - exports2.findWhiteSpaceStart = utils.findWhiteSpaceStart; - exports2.getNewlineLength = utils.getNewlineLength; - exports2.tokenNames = names; - exports2.OffsetToLocation = OffsetToLocation.OffsetToLocation; - exports2.TokenStream = TokenStream.TokenStream; - exports2.tokenize = tokenize; - } -}); - -// node_modules/css-tree/cjs/utils/List.cjs -var require_List = __commonJS({ - "node_modules/css-tree/cjs/utils/List.cjs"(exports2) { - "use strict"; - var releasedCursors = null; - var List = class _List { - static createItem(data) { - return { - prev: null, - next: null, - data - }; - } - constructor() { - this.head = null; - this.tail = null; - this.cursor = null; - } - createItem(data) { - return _List.createItem(data); - } - // cursor helpers - allocateCursor(prev, next) { - let cursor; - if (releasedCursors !== null) { - cursor = releasedCursors; - releasedCursors = releasedCursors.cursor; - cursor.prev = prev; - cursor.next = next; - cursor.cursor = this.cursor; - } else { - cursor = { - prev, - next, - cursor: this.cursor - }; - } - this.cursor = cursor; - return cursor; - } - releaseCursor() { - const { cursor } = this; - this.cursor = cursor.cursor; - cursor.prev = null; - cursor.next = null; - cursor.cursor = releasedCursors; - releasedCursors = cursor; - } - updateCursors(prevOld, prevNew, nextOld, nextNew) { - let { cursor } = this; - while (cursor !== null) { - if (cursor.prev === prevOld) { - cursor.prev = prevNew; - } - if (cursor.next === nextOld) { - cursor.next = nextNew; - } - cursor = cursor.cursor; - } - } - *[Symbol.iterator]() { - for (let cursor = this.head; cursor !== null; cursor = cursor.next) { - yield cursor.data; - } - } - // getters - get size() { - let size = 0; - for (let cursor = this.head; cursor !== null; cursor = cursor.next) { - size++; - } - return size; - } - get isEmpty() { - return this.head === null; - } - get first() { - return this.head && this.head.data; - } - get last() { - return this.tail && this.tail.data; - } - // convertors - fromArray(array) { - let cursor = null; - this.head = null; - for (let data of array) { - const item = _List.createItem(data); - if (cursor !== null) { - cursor.next = item; - } else { - this.head = item; - } - item.prev = cursor; - cursor = item; - } - this.tail = cursor; - return this; - } - toArray() { - return [...this]; - } - toJSON() { - return [...this]; - } - // array-like methods - forEach(fn, thisArg = this) { - const cursor = this.allocateCursor(null, this.head); - while (cursor.next !== null) { - const item = cursor.next; - cursor.next = item.next; - fn.call(thisArg, item.data, item, this); - } - this.releaseCursor(); - } - forEachRight(fn, thisArg = this) { - const cursor = this.allocateCursor(this.tail, null); - while (cursor.prev !== null) { - const item = cursor.prev; - cursor.prev = item.prev; - fn.call(thisArg, item.data, item, this); - } - this.releaseCursor(); - } - reduce(fn, initialValue, thisArg = this) { - let cursor = this.allocateCursor(null, this.head); - let acc = initialValue; - let item; - while (cursor.next !== null) { - item = cursor.next; - cursor.next = item.next; - acc = fn.call(thisArg, acc, item.data, item, this); - } - this.releaseCursor(); - return acc; - } - reduceRight(fn, initialValue, thisArg = this) { - let cursor = this.allocateCursor(this.tail, null); - let acc = initialValue; - let item; - while (cursor.prev !== null) { - item = cursor.prev; - cursor.prev = item.prev; - acc = fn.call(thisArg, acc, item.data, item, this); - } - this.releaseCursor(); - return acc; - } - some(fn, thisArg = this) { - for (let cursor = this.head; cursor !== null; cursor = cursor.next) { - if (fn.call(thisArg, cursor.data, cursor, this)) { - return true; - } - } - return false; - } - map(fn, thisArg = this) { - const result = new _List(); - for (let cursor = this.head; cursor !== null; cursor = cursor.next) { - result.appendData(fn.call(thisArg, cursor.data, cursor, this)); - } - return result; - } - filter(fn, thisArg = this) { - const result = new _List(); - for (let cursor = this.head; cursor !== null; cursor = cursor.next) { - if (fn.call(thisArg, cursor.data, cursor, this)) { - result.appendData(cursor.data); - } - } - return result; - } - nextUntil(start, fn, thisArg = this) { - if (start === null) { - return; - } - const cursor = this.allocateCursor(null, start); - while (cursor.next !== null) { - const item = cursor.next; - cursor.next = item.next; - if (fn.call(thisArg, item.data, item, this)) { - break; - } - } - this.releaseCursor(); - } - prevUntil(start, fn, thisArg = this) { - if (start === null) { - return; - } - const cursor = this.allocateCursor(start, null); - while (cursor.prev !== null) { - const item = cursor.prev; - cursor.prev = item.prev; - if (fn.call(thisArg, item.data, item, this)) { - break; - } - } - this.releaseCursor(); - } - // mutation - clear() { - this.head = null; - this.tail = null; - } - copy() { - const result = new _List(); - for (let data of this) { - result.appendData(data); - } - return result; - } - prepend(item) { - this.updateCursors(null, item, this.head, item); - if (this.head !== null) { - this.head.prev = item; - item.next = this.head; - } else { - this.tail = item; - } - this.head = item; - return this; - } - prependData(data) { - return this.prepend(_List.createItem(data)); - } - append(item) { - return this.insert(item); - } - appendData(data) { - return this.insert(_List.createItem(data)); - } - insert(item, before = null) { - if (before !== null) { - this.updateCursors(before.prev, item, before, item); - if (before.prev === null) { - if (this.head !== before) { - throw new Error("before doesn't belong to list"); - } - this.head = item; - before.prev = item; - item.next = before; - this.updateCursors(null, item); - } else { - before.prev.next = item; - item.prev = before.prev; - before.prev = item; - item.next = before; - } - } else { - this.updateCursors(this.tail, item, null, item); - if (this.tail !== null) { - this.tail.next = item; - item.prev = this.tail; - } else { - this.head = item; - } - this.tail = item; - } - return this; - } - insertData(data, before) { - return this.insert(_List.createItem(data), before); - } - remove(item) { - this.updateCursors(item, item.prev, item, item.next); - if (item.prev !== null) { - item.prev.next = item.next; - } else { - if (this.head !== item) { - throw new Error("item doesn't belong to list"); - } - this.head = item.next; - } - if (item.next !== null) { - item.next.prev = item.prev; - } else { - if (this.tail !== item) { - throw new Error("item doesn't belong to list"); - } - this.tail = item.prev; - } - item.prev = null; - item.next = null; - return item; - } - push(data) { - this.insert(_List.createItem(data)); - } - pop() { - return this.tail !== null ? this.remove(this.tail) : null; - } - unshift(data) { - this.prepend(_List.createItem(data)); - } - shift() { - return this.head !== null ? this.remove(this.head) : null; - } - prependList(list) { - return this.insertList(list, this.head); - } - appendList(list) { - return this.insertList(list); - } - insertList(list, before) { - if (list.head === null) { - return this; - } - if (before !== void 0 && before !== null) { - this.updateCursors(before.prev, list.tail, before, list.head); - if (before.prev !== null) { - before.prev.next = list.head; - list.head.prev = before.prev; - } else { - this.head = list.head; - } - before.prev = list.tail; - list.tail.next = before; - } else { - this.updateCursors(this.tail, list.tail, null, list.head); - if (this.tail !== null) { - this.tail.next = list.head; - list.head.prev = this.tail; - } else { - this.head = list.head; - } - this.tail = list.tail; - } - list.head = null; - list.tail = null; - return this; - } - replace(oldItem, newItemOrList) { - if ("head" in newItemOrList) { - this.insertList(newItemOrList, oldItem); - } else { - this.insert(newItemOrList, oldItem); - } - this.remove(oldItem); - } - }; - exports2.List = List; - } -}); - -// node_modules/css-tree/cjs/utils/create-custom-error.cjs -var require_create_custom_error = __commonJS({ - "node_modules/css-tree/cjs/utils/create-custom-error.cjs"(exports2) { - "use strict"; - function createCustomError(name, message) { - const error = Object.create(SyntaxError.prototype); - const errorStack = new Error(); - return Object.assign(error, { - name, - message, - get stack() { - return (errorStack.stack || "").replace(/^(.+\n){1,3}/, `${name}: ${message} -`); - } - }); - } - exports2.createCustomError = createCustomError; - } -}); - -// node_modules/css-tree/cjs/parser/SyntaxError.cjs -var require_SyntaxError = __commonJS({ - "node_modules/css-tree/cjs/parser/SyntaxError.cjs"(exports2) { - "use strict"; - var createCustomError = require_create_custom_error(); - var MAX_LINE_LENGTH = 100; - var OFFSET_CORRECTION = 60; - var TAB_REPLACEMENT = " "; - function sourceFragment({ source, line, column }, extraLines) { - function processLines(start, end) { - return lines.slice(start, end).map( - (line2, idx) => String(start + idx + 1).padStart(maxNumLength) + " |" + line2 - ).join("\n"); - } - const lines = source.split(/\r\n?|\n|\f/); - const startLine = Math.max(1, line - extraLines) - 1; - const endLine = Math.min(line + extraLines, lines.length + 1); - const maxNumLength = Math.max(4, String(endLine).length) + 1; - let cutLeft = 0; - column += (TAB_REPLACEMENT.length - 1) * (lines[line - 1].substr(0, column - 1).match(/\t/g) || []).length; - if (column > MAX_LINE_LENGTH) { - cutLeft = column - OFFSET_CORRECTION + 3; - column = OFFSET_CORRECTION - 2; - } - for (let i = startLine; i <= endLine; i++) { - if (i >= 0 && i < lines.length) { - lines[i] = lines[i].replace(/\t/g, TAB_REPLACEMENT); - lines[i] = (cutLeft > 0 && lines[i].length > cutLeft ? "\u2026" : "") + lines[i].substr(cutLeft, MAX_LINE_LENGTH - 2) + (lines[i].length > cutLeft + MAX_LINE_LENGTH - 1 ? "\u2026" : ""); - } - } - return [ - processLines(startLine, line), - new Array(column + maxNumLength + 2).join("-") + "^", - processLines(line, endLine) - ].filter(Boolean).join("\n"); - } - function SyntaxError2(message, source, offset, line, column) { - const error = Object.assign(createCustomError.createCustomError("SyntaxError", message), { - source, - offset, - line, - column, - sourceFragment(extraLines) { - return sourceFragment({ source, line, column }, isNaN(extraLines) ? 0 : extraLines); - }, - get formattedMessage() { - return `Parse error: ${message} -` + sourceFragment({ source, line, column }, 2); - } - }); - return error; - } - exports2.SyntaxError = SyntaxError2; - } -}); - -// node_modules/css-tree/cjs/parser/sequence.cjs -var require_sequence = __commonJS({ - "node_modules/css-tree/cjs/parser/sequence.cjs"(exports2) { - "use strict"; - var types = require_types2(); - function readSequence(recognizer) { - const children = this.createList(); - let space = false; - const context = { - recognizer - }; - while (!this.eof) { - switch (this.tokenType) { - case types.Comment: - this.next(); - continue; - case types.WhiteSpace: - space = true; - this.next(); - continue; - } - let child = recognizer.getNode.call(this, context); - if (child === void 0) { - break; - } - if (space) { - if (recognizer.onWhiteSpace) { - recognizer.onWhiteSpace.call(this, child, children, context); - } - space = false; - } - children.push(child); - } - if (space && recognizer.onWhiteSpace) { - recognizer.onWhiteSpace.call(this, null, children, context); - } - return children; - } - exports2.readSequence = readSequence; - } -}); - -// node_modules/css-tree/cjs/parser/create.cjs -var require_create = __commonJS({ - "node_modules/css-tree/cjs/parser/create.cjs"(exports2) { - "use strict"; - var List = require_List(); - var SyntaxError2 = require_SyntaxError(); - var index = require_tokenizer(); - var sequence = require_sequence(); - var OffsetToLocation = require_OffsetToLocation(); - var TokenStream = require_TokenStream(); - var utils = require_utils3(); - var types = require_types2(); - var names = require_names2(); - var NOOP = () => { - }; - var EXCLAMATIONMARK = 33; - var NUMBERSIGN = 35; - var SEMICOLON = 59; - var LEFTCURLYBRACKET = 123; - var NULL = 0; - function createParseContext(name) { - return function() { - return this[name](); - }; - } - function fetchParseValues(dict) { - const result = /* @__PURE__ */ Object.create(null); - for (const name in dict) { - const item = dict[name]; - const fn = item.parse || item; - if (fn) { - result[name] = fn; - } - } - return result; - } - function processConfig(config) { - const parseConfig = { - context: /* @__PURE__ */ Object.create(null), - scope: Object.assign(/* @__PURE__ */ Object.create(null), config.scope), - atrule: fetchParseValues(config.atrule), - pseudo: fetchParseValues(config.pseudo), - node: fetchParseValues(config.node) - }; - for (const name in config.parseContext) { - switch (typeof config.parseContext[name]) { - case "function": - parseConfig.context[name] = config.parseContext[name]; - break; - case "string": - parseConfig.context[name] = createParseContext(config.parseContext[name]); - break; - } - } - return { - config: parseConfig, - ...parseConfig, - ...parseConfig.node - }; - } - function createParser(config) { - let source = ""; - let filename = ""; - let needPositions = false; - let onParseError = NOOP; - let onParseErrorThrow = false; - const locationMap = new OffsetToLocation.OffsetToLocation(); - const parser = Object.assign(new TokenStream.TokenStream(), processConfig(config || {}), { - parseAtrulePrelude: true, - parseRulePrelude: true, - parseValue: true, - parseCustomProperty: false, - readSequence: sequence.readSequence, - consumeUntilBalanceEnd: () => 0, - consumeUntilLeftCurlyBracket(code) { - return code === LEFTCURLYBRACKET ? 1 : 0; - }, - consumeUntilLeftCurlyBracketOrSemicolon(code) { - return code === LEFTCURLYBRACKET || code === SEMICOLON ? 1 : 0; - }, - consumeUntilExclamationMarkOrSemicolon(code) { - return code === EXCLAMATIONMARK || code === SEMICOLON ? 1 : 0; - }, - consumeUntilSemicolonIncluded(code) { - return code === SEMICOLON ? 2 : 0; - }, - createList() { - return new List.List(); - }, - createSingleNodeList(node) { - return new List.List().appendData(node); - }, - getFirstListNode(list) { - return list && list.first; - }, - getLastListNode(list) { - return list && list.last; - }, - parseWithFallback(consumer, fallback) { - const startToken = this.tokenIndex; - try { - return consumer.call(this); - } catch (e) { - if (onParseErrorThrow) { - throw e; - } - const fallbackNode = fallback.call(this, startToken); - onParseErrorThrow = true; - onParseError(e, fallbackNode); - onParseErrorThrow = false; - return fallbackNode; - } - }, - lookupNonWSType(offset) { - let type; - do { - type = this.lookupType(offset++); - if (type !== types.WhiteSpace) { - return type; - } - } while (type !== NULL); - return NULL; - }, - charCodeAt(offset) { - return offset >= 0 && offset < source.length ? source.charCodeAt(offset) : 0; - }, - substring(offsetStart, offsetEnd) { - return source.substring(offsetStart, offsetEnd); - }, - substrToCursor(start) { - return this.source.substring(start, this.tokenStart); - }, - cmpChar(offset, charCode) { - return utils.cmpChar(source, offset, charCode); - }, - cmpStr(offsetStart, offsetEnd, str) { - return utils.cmpStr(source, offsetStart, offsetEnd, str); - }, - consume(tokenType) { - const start = this.tokenStart; - this.eat(tokenType); - return this.substrToCursor(start); - }, - consumeFunctionName() { - const name = source.substring(this.tokenStart, this.tokenEnd - 1); - this.eat(types.Function); - return name; - }, - consumeNumber(type) { - const number = source.substring(this.tokenStart, utils.consumeNumber(source, this.tokenStart)); - this.eat(type); - return number; - }, - eat(tokenType) { - if (this.tokenType !== tokenType) { - const tokenName = names[tokenType].slice(0, -6).replace(/-/g, " ").replace(/^./, (m) => m.toUpperCase()); - let message = `${/[[\](){}]/.test(tokenName) ? `"${tokenName}"` : tokenName} is expected`; - let offset = this.tokenStart; - switch (tokenType) { - case types.Ident: - if (this.tokenType === types.Function || this.tokenType === types.Url) { - offset = this.tokenEnd - 1; - message = "Identifier is expected but function found"; - } else { - message = "Identifier is expected"; - } - break; - case types.Hash: - if (this.isDelim(NUMBERSIGN)) { - this.next(); - offset++; - message = "Name is expected"; - } - break; - case types.Percentage: - if (this.tokenType === types.Number) { - offset = this.tokenEnd; - message = "Percent sign is expected"; - } - break; - } - this.error(message, offset); - } - this.next(); - }, - eatIdent(name) { - if (this.tokenType !== types.Ident || this.lookupValue(0, name) === false) { - this.error(`Identifier "${name}" is expected`); - } - this.next(); - }, - eatDelim(code) { - if (!this.isDelim(code)) { - this.error(`Delim "${String.fromCharCode(code)}" is expected`); - } - this.next(); - }, - getLocation(start, end) { - if (needPositions) { - return locationMap.getLocationRange( - start, - end, - filename - ); - } - return null; - }, - getLocationFromList(list) { - if (needPositions) { - const head = this.getFirstListNode(list); - const tail = this.getLastListNode(list); - return locationMap.getLocationRange( - head !== null ? head.loc.start.offset - locationMap.startOffset : this.tokenStart, - tail !== null ? tail.loc.end.offset - locationMap.startOffset : this.tokenStart, - filename - ); - } - return null; - }, - error(message, offset) { - const location = typeof offset !== "undefined" && offset < source.length ? locationMap.getLocation(offset) : this.eof ? locationMap.getLocation(utils.findWhiteSpaceStart(source, source.length - 1)) : locationMap.getLocation(this.tokenStart); - throw new SyntaxError2.SyntaxError( - message || "Unexpected input", - source, - location.offset, - location.line, - location.column - ); - } - }); - const parse = function(source_, options) { - source = source_; - options = options || {}; - parser.setSource(source, index.tokenize); - locationMap.setSource( - source, - options.offset, - options.line, - options.column - ); - filename = options.filename || ""; - needPositions = Boolean(options.positions); - onParseError = typeof options.onParseError === "function" ? options.onParseError : NOOP; - onParseErrorThrow = false; - parser.parseAtrulePrelude = "parseAtrulePrelude" in options ? Boolean(options.parseAtrulePrelude) : true; - parser.parseRulePrelude = "parseRulePrelude" in options ? Boolean(options.parseRulePrelude) : true; - parser.parseValue = "parseValue" in options ? Boolean(options.parseValue) : true; - parser.parseCustomProperty = "parseCustomProperty" in options ? Boolean(options.parseCustomProperty) : false; - const { context = "default", onComment } = options; - if (context in parser.context === false) { - throw new Error("Unknown context `" + context + "`"); - } - if (typeof onComment === "function") { - parser.forEachToken((type, start, end) => { - if (type === types.Comment) { - const loc = parser.getLocation(start, end); - const value = utils.cmpStr(source, end - 2, end, "*/") ? source.slice(start + 2, end - 2) : source.slice(start + 2, end); - onComment(value, loc); - } - }); - } - const ast = parser.context[context].call(parser, options); - if (!parser.eof) { - parser.error(); - } - return ast; - }; - return Object.assign(parse, { - SyntaxError: SyntaxError2.SyntaxError, - config: parser.config - }); - } - exports2.createParser = createParser; - } -}); - -// node_modules/css-tree/cjs/generator/sourceMap.cjs -var require_sourceMap = __commonJS({ - "node_modules/css-tree/cjs/generator/sourceMap.cjs"(exports2) { - "use strict"; - var sourceMapGenerator_js = require_source_map_generator(); - var trackNodes = /* @__PURE__ */ new Set(["Atrule", "Selector", "Declaration"]); - function generateSourceMap(handlers) { - const map = new sourceMapGenerator_js.SourceMapGenerator(); - const generated = { - line: 1, - column: 0 - }; - const original = { - line: 0, - // should be zero to add first mapping - column: 0 - }; - const activatedGenerated = { - line: 1, - column: 0 - }; - const activatedMapping = { - generated: activatedGenerated - }; - let line = 1; - let column = 0; - let sourceMappingActive = false; - const origHandlersNode = handlers.node; - handlers.node = function(node) { - if (node.loc && node.loc.start && trackNodes.has(node.type)) { - const nodeLine = node.loc.start.line; - const nodeColumn = node.loc.start.column - 1; - if (original.line !== nodeLine || original.column !== nodeColumn) { - original.line = nodeLine; - original.column = nodeColumn; - generated.line = line; - generated.column = column; - if (sourceMappingActive) { - sourceMappingActive = false; - if (generated.line !== activatedGenerated.line || generated.column !== activatedGenerated.column) { - map.addMapping(activatedMapping); - } - } - sourceMappingActive = true; - map.addMapping({ - source: node.loc.source, - original, - generated - }); - } - } - origHandlersNode.call(this, node); - if (sourceMappingActive && trackNodes.has(node.type)) { - activatedGenerated.line = line; - activatedGenerated.column = column; - } - }; - const origHandlersEmit = handlers.emit; - handlers.emit = function(value, type, auto) { - for (let i = 0; i < value.length; i++) { - if (value.charCodeAt(i) === 10) { - line++; - column = 0; - } else { - column++; - } - } - origHandlersEmit(value, type, auto); - }; - const origHandlersResult = handlers.result; - handlers.result = function() { - if (sourceMappingActive) { - map.addMapping(activatedMapping); - } - return { - css: origHandlersResult(), - map - }; - }; - return handlers; - } - exports2.generateSourceMap = generateSourceMap; - } -}); - -// node_modules/css-tree/cjs/generator/token-before.cjs -var require_token_before = __commonJS({ - "node_modules/css-tree/cjs/generator/token-before.cjs"(exports2) { - "use strict"; - var types = require_types2(); - var PLUSSIGN = 43; - var HYPHENMINUS = 45; - var code = (type, value) => { - if (type === types.Delim) { - type = value; - } - if (typeof type === "string") { - const charCode = type.charCodeAt(0); - return charCode > 127 ? 32768 : charCode << 8; - } - return type; - }; - var specPairs = [ - [types.Ident, types.Ident], - [types.Ident, types.Function], - [types.Ident, types.Url], - [types.Ident, types.BadUrl], - [types.Ident, "-"], - [types.Ident, types.Number], - [types.Ident, types.Percentage], - [types.Ident, types.Dimension], - [types.Ident, types.CDC], - [types.Ident, types.LeftParenthesis], - [types.AtKeyword, types.Ident], - [types.AtKeyword, types.Function], - [types.AtKeyword, types.Url], - [types.AtKeyword, types.BadUrl], - [types.AtKeyword, "-"], - [types.AtKeyword, types.Number], - [types.AtKeyword, types.Percentage], - [types.AtKeyword, types.Dimension], - [types.AtKeyword, types.CDC], - [types.Hash, types.Ident], - [types.Hash, types.Function], - [types.Hash, types.Url], - [types.Hash, types.BadUrl], - [types.Hash, "-"], - [types.Hash, types.Number], - [types.Hash, types.Percentage], - [types.Hash, types.Dimension], - [types.Hash, types.CDC], - [types.Dimension, types.Ident], - [types.Dimension, types.Function], - [types.Dimension, types.Url], - [types.Dimension, types.BadUrl], - [types.Dimension, "-"], - [types.Dimension, types.Number], - [types.Dimension, types.Percentage], - [types.Dimension, types.Dimension], - [types.Dimension, types.CDC], - ["#", types.Ident], - ["#", types.Function], - ["#", types.Url], - ["#", types.BadUrl], - ["#", "-"], - ["#", types.Number], - ["#", types.Percentage], - ["#", types.Dimension], - ["#", types.CDC], - // https://github.com/w3c/csswg-drafts/pull/6874 - ["-", types.Ident], - ["-", types.Function], - ["-", types.Url], - ["-", types.BadUrl], - ["-", "-"], - ["-", types.Number], - ["-", types.Percentage], - ["-", types.Dimension], - ["-", types.CDC], - // https://github.com/w3c/csswg-drafts/pull/6874 - [types.Number, types.Ident], - [types.Number, types.Function], - [types.Number, types.Url], - [types.Number, types.BadUrl], - [types.Number, types.Number], - [types.Number, types.Percentage], - [types.Number, types.Dimension], - [types.Number, "%"], - [types.Number, types.CDC], - // https://github.com/w3c/csswg-drafts/pull/6874 - ["@", types.Ident], - ["@", types.Function], - ["@", types.Url], - ["@", types.BadUrl], - ["@", "-"], - ["@", types.CDC], - // https://github.com/w3c/csswg-drafts/pull/6874 - [".", types.Number], - [".", types.Percentage], - [".", types.Dimension], - ["+", types.Number], - ["+", types.Percentage], - ["+", types.Dimension], - ["/", "*"] - ]; - var safePairs = specPairs.concat([ - [types.Ident, types.Hash], - [types.Dimension, types.Hash], - [types.Hash, types.Hash], - [types.AtKeyword, types.LeftParenthesis], - [types.AtKeyword, types.String], - [types.AtKeyword, types.Colon], - [types.Percentage, types.Percentage], - [types.Percentage, types.Dimension], - [types.Percentage, types.Function], - [types.Percentage, "-"], - [types.RightParenthesis, types.Ident], - [types.RightParenthesis, types.Function], - [types.RightParenthesis, types.Percentage], - [types.RightParenthesis, types.Dimension], - [types.RightParenthesis, types.Hash], - [types.RightParenthesis, "-"] - ]); - function createMap(pairs) { - const isWhiteSpaceRequired = new Set( - pairs.map(([prev, next]) => code(prev) << 16 | code(next)) - ); - return function(prevCode, type, value) { - const nextCode = code(type, value); - const nextCharCode = value.charCodeAt(0); - const emitWs = nextCharCode === HYPHENMINUS && type !== types.Ident && type !== types.Function && type !== types.CDC || nextCharCode === PLUSSIGN ? isWhiteSpaceRequired.has(prevCode << 16 | nextCharCode << 8) : isWhiteSpaceRequired.has(prevCode << 16 | nextCode); - if (emitWs) { - this.emit(" ", types.WhiteSpace, true); - } - return nextCode; - }; - } - var spec = createMap(specPairs); - var safe = createMap(safePairs); - exports2.safe = safe; - exports2.spec = spec; - } -}); - -// node_modules/css-tree/cjs/generator/create.cjs -var require_create2 = __commonJS({ - "node_modules/css-tree/cjs/generator/create.cjs"(exports2) { - "use strict"; - var index = require_tokenizer(); - var sourceMap = require_sourceMap(); - var tokenBefore = require_token_before(); - var types = require_types2(); - var REVERSESOLIDUS = 92; - function processChildren(node, delimeter) { - if (typeof delimeter === "function") { - let prev = null; - node.children.forEach((node2) => { - if (prev !== null) { - delimeter.call(this, prev); - } - this.node(node2); - prev = node2; - }); - return; - } - node.children.forEach(this.node, this); - } - function processChunk(chunk) { - index.tokenize(chunk, (type, start, end) => { - this.token(type, chunk.slice(start, end)); - }); - } - function createGenerator(config) { - const types$1 = /* @__PURE__ */ new Map(); - for (let name in config.node) { - const item = config.node[name]; - const fn = item.generate || item; - if (typeof fn === "function") { - types$1.set(name, item.generate || item); - } - } - return function(node, options) { - let buffer = ""; - let prevCode = 0; - let handlers = { - node(node2) { - if (types$1.has(node2.type)) { - types$1.get(node2.type).call(publicApi, node2); - } else { - throw new Error("Unknown node type: " + node2.type); - } - }, - tokenBefore: tokenBefore.safe, - token(type, value) { - prevCode = this.tokenBefore(prevCode, type, value); - this.emit(value, type, false); - if (type === types.Delim && value.charCodeAt(0) === REVERSESOLIDUS) { - this.emit("\n", types.WhiteSpace, true); - } - }, - emit(value) { - buffer += value; - }, - result() { - return buffer; - } - }; - if (options) { - if (typeof options.decorator === "function") { - handlers = options.decorator(handlers); - } - if (options.sourceMap) { - handlers = sourceMap.generateSourceMap(handlers); - } - if (options.mode in tokenBefore) { - handlers.tokenBefore = tokenBefore[options.mode]; - } - } - const publicApi = { - node: (node2) => handlers.node(node2), - children: processChildren, - token: (type, value) => handlers.token(type, value), - tokenize: processChunk - }; - handlers.node(node); - return handlers.result(); - }; - } - exports2.createGenerator = createGenerator; - } -}); - -// node_modules/css-tree/cjs/convertor/create.cjs -var require_create3 = __commonJS({ - "node_modules/css-tree/cjs/convertor/create.cjs"(exports2) { - "use strict"; - var List = require_List(); - function createConvertor(walk) { - return { - fromPlainObject(ast) { - walk(ast, { - enter(node) { - if (node.children && node.children instanceof List.List === false) { - node.children = new List.List().fromArray(node.children); - } - } - }); - return ast; - }, - toPlainObject(ast) { - walk(ast, { - leave(node) { - if (node.children && node.children instanceof List.List) { - node.children = node.children.toArray(); - } - } - }); - return ast; - } - }; - } - exports2.createConvertor = createConvertor; - } -}); - -// node_modules/css-tree/cjs/walker/create.cjs -var require_create4 = __commonJS({ - "node_modules/css-tree/cjs/walker/create.cjs"(exports2) { - "use strict"; - var { hasOwnProperty: hasOwnProperty2 } = Object.prototype; - var noop = function() { - }; - function ensureFunction(value) { - return typeof value === "function" ? value : noop; - } - function invokeForType(fn, type) { - return function(node, item, list) { - if (node.type === type) { - fn.call(this, node, item, list); - } - }; - } - function getWalkersFromStructure(name, nodeType) { - const structure = nodeType.structure; - const walkers = []; - for (const key in structure) { - if (hasOwnProperty2.call(structure, key) === false) { - continue; - } - let fieldTypes = structure[key]; - const walker = { - name: key, - type: false, - nullable: false - }; - if (!Array.isArray(fieldTypes)) { - fieldTypes = [fieldTypes]; - } - for (const fieldType of fieldTypes) { - if (fieldType === null) { - walker.nullable = true; - } else if (typeof fieldType === "string") { - walker.type = "node"; - } else if (Array.isArray(fieldType)) { - walker.type = "list"; - } - } - if (walker.type) { - walkers.push(walker); - } - } - if (walkers.length) { - return { - context: nodeType.walkContext, - fields: walkers - }; - } - return null; - } - function getTypesFromConfig(config) { - const types = {}; - for (const name in config.node) { - if (hasOwnProperty2.call(config.node, name)) { - const nodeType = config.node[name]; - if (!nodeType.structure) { - throw new Error("Missed `structure` field in `" + name + "` node type definition"); - } - types[name] = getWalkersFromStructure(name, nodeType); - } - } - return types; - } - function createTypeIterator(config, reverse) { - const fields = config.fields.slice(); - const contextName = config.context; - const useContext = typeof contextName === "string"; - if (reverse) { - fields.reverse(); - } - return function(node, context, walk, walkReducer) { - let prevContextValue; - if (useContext) { - prevContextValue = context[contextName]; - context[contextName] = node; - } - for (const field of fields) { - const ref = node[field.name]; - if (!field.nullable || ref) { - if (field.type === "list") { - const breakWalk = reverse ? ref.reduceRight(walkReducer, false) : ref.reduce(walkReducer, false); - if (breakWalk) { - return true; - } - } else if (walk(ref)) { - return true; - } - } - } - if (useContext) { - context[contextName] = prevContextValue; - } - }; - } - function createFastTraveralMap({ - StyleSheet, - Atrule, - Rule, - Block, - DeclarationList - }) { - return { - Atrule: { - StyleSheet, - Atrule, - Rule, - Block - }, - Rule: { - StyleSheet, - Atrule, - Rule, - Block - }, - Declaration: { - StyleSheet, - Atrule, - Rule, - Block, - DeclarationList - } - }; - } - function createWalker(config) { - const types = getTypesFromConfig(config); - const iteratorsNatural = {}; - const iteratorsReverse = {}; - const breakWalk = Symbol("break-walk"); - const skipNode = Symbol("skip-node"); - for (const name in types) { - if (hasOwnProperty2.call(types, name) && types[name] !== null) { - iteratorsNatural[name] = createTypeIterator(types[name], false); - iteratorsReverse[name] = createTypeIterator(types[name], true); - } - } - const fastTraversalIteratorsNatural = createFastTraveralMap(iteratorsNatural); - const fastTraversalIteratorsReverse = createFastTraveralMap(iteratorsReverse); - const walk = function(root, options) { - function walkNode(node, item, list) { - const enterRet = enter.call(context, node, item, list); - if (enterRet === breakWalk) { - return true; - } - if (enterRet === skipNode) { - return false; - } - if (iterators.hasOwnProperty(node.type)) { - if (iterators[node.type](node, context, walkNode, walkReducer)) { - return true; - } - } - if (leave.call(context, node, item, list) === breakWalk) { - return true; - } - return false; - } - let enter = noop; - let leave = noop; - let iterators = iteratorsNatural; - let walkReducer = (ret, data, item, list) => ret || walkNode(data, item, list); - const context = { - break: breakWalk, - skip: skipNode, - root, - stylesheet: null, - atrule: null, - atrulePrelude: null, - rule: null, - selector: null, - block: null, - declaration: null, - function: null - }; - if (typeof options === "function") { - enter = options; - } else if (options) { - enter = ensureFunction(options.enter); - leave = ensureFunction(options.leave); - if (options.reverse) { - iterators = iteratorsReverse; - } - if (options.visit) { - if (fastTraversalIteratorsNatural.hasOwnProperty(options.visit)) { - iterators = options.reverse ? fastTraversalIteratorsReverse[options.visit] : fastTraversalIteratorsNatural[options.visit]; - } else if (!types.hasOwnProperty(options.visit)) { - throw new Error("Bad value `" + options.visit + "` for `visit` option (should be: " + Object.keys(types).sort().join(", ") + ")"); - } - enter = invokeForType(enter, options.visit); - leave = invokeForType(leave, options.visit); - } - } - if (enter === noop && leave === noop) { - throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function"); - } - walkNode(root); - }; - walk.break = breakWalk; - walk.skip = skipNode; - walk.find = function(ast, fn) { - let found = null; - walk(ast, function(node, item, list) { - if (fn.call(this, node, item, list)) { - found = node; - return breakWalk; - } - }); - return found; - }; - walk.findLast = function(ast, fn) { - let found = null; - walk(ast, { - reverse: true, - enter(node, item, list) { - if (fn.call(this, node, item, list)) { - found = node; - return breakWalk; - } - } - }); - return found; - }; - walk.findAll = function(ast, fn) { - const found = []; - walk(ast, function(node, item, list) { - if (fn.call(this, node, item, list)) { - found.push(node); - } - }); - return found; - }; - return walk; - } - exports2.createWalker = createWalker; - } -}); - -// node_modules/css-tree/cjs/definition-syntax/generate.cjs -var require_generate = __commonJS({ - "node_modules/css-tree/cjs/definition-syntax/generate.cjs"(exports2) { - "use strict"; - function noop(value) { - return value; - } - function generateMultiplier(multiplier) { - const { min, max, comma } = multiplier; - if (min === 0 && max === 0) { - return comma ? "#?" : "*"; - } - if (min === 0 && max === 1) { - return "?"; - } - if (min === 1 && max === 0) { - return comma ? "#" : "+"; - } - if (min === 1 && max === 1) { - return ""; - } - return (comma ? "#" : "") + (min === max ? "{" + min + "}" : "{" + min + "," + (max !== 0 ? max : "") + "}"); - } - function generateTypeOpts(node) { - switch (node.type) { - case "Range": - return " [" + (node.min === null ? "-\u221E" : node.min) + "," + (node.max === null ? "\u221E" : node.max) + "]"; - default: - throw new Error("Unknown node type `" + node.type + "`"); - } - } - function generateSequence(node, decorate, forceBraces, compact) { - const combinator = node.combinator === " " || compact ? node.combinator : " " + node.combinator + " "; - const result = node.terms.map((term) => internalGenerate(term, decorate, forceBraces, compact)).join(combinator); - if (node.explicit || forceBraces) { - return (compact || result[0] === "," ? "[" : "[ ") + result + (compact ? "]" : " ]"); - } - return result; - } - function internalGenerate(node, decorate, forceBraces, compact) { - let result; - switch (node.type) { - case "Group": - result = generateSequence(node, decorate, forceBraces, compact) + (node.disallowEmpty ? "!" : ""); - break; - case "Multiplier": - return internalGenerate(node.term, decorate, forceBraces, compact) + decorate(generateMultiplier(node), node); - case "Type": - result = "<" + node.name + (node.opts ? decorate(generateTypeOpts(node.opts), node.opts) : "") + ">"; - break; - case "Property": - result = "<'" + node.name + "'>"; - break; - case "Keyword": - result = node.name; - break; - case "AtKeyword": - result = "@" + node.name; - break; - case "Function": - result = node.name + "("; - break; - case "String": - case "Token": - result = node.value; - break; - case "Comma": - result = ","; - break; - default: - throw new Error("Unknown node type `" + node.type + "`"); - } - return decorate(result, node); - } - function generate(node, options) { - let decorate = noop; - let forceBraces = false; - let compact = false; - if (typeof options === "function") { - decorate = options; - } else if (options) { - forceBraces = Boolean(options.forceBraces); - compact = Boolean(options.compact); - if (typeof options.decorate === "function") { - decorate = options.decorate; - } - } - return internalGenerate(node, decorate, forceBraces, compact); - } - exports2.generate = generate; - } -}); - -// node_modules/css-tree/cjs/lexer/error.cjs -var require_error2 = __commonJS({ - "node_modules/css-tree/cjs/lexer/error.cjs"(exports2) { - "use strict"; - var createCustomError = require_create_custom_error(); - var generate = require_generate(); - var defaultLoc = { offset: 0, line: 1, column: 1 }; - function locateMismatch(matchResult, node) { - const tokens = matchResult.tokens; - const longestMatch = matchResult.longestMatch; - const mismatchNode = longestMatch < tokens.length ? tokens[longestMatch].node || null : null; - const badNode = mismatchNode !== node ? mismatchNode : null; - let mismatchOffset = 0; - let mismatchLength = 0; - let entries = 0; - let css = ""; - let start; - let end; - for (let i = 0; i < tokens.length; i++) { - const token = tokens[i].value; - if (i === longestMatch) { - mismatchLength = token.length; - mismatchOffset = css.length; - } - if (badNode !== null && tokens[i].node === badNode) { - if (i <= longestMatch) { - entries++; - } else { - entries = 0; - } - } - css += token; - } - if (longestMatch === tokens.length || entries > 1) { - start = fromLoc(badNode || node, "end") || buildLoc(defaultLoc, css); - end = buildLoc(start); - } else { - start = fromLoc(badNode, "start") || buildLoc(fromLoc(node, "start") || defaultLoc, css.slice(0, mismatchOffset)); - end = fromLoc(badNode, "end") || buildLoc(start, css.substr(mismatchOffset, mismatchLength)); - } - return { - css, - mismatchOffset, - mismatchLength, - start, - end - }; - } - function fromLoc(node, point) { - const value = node && node.loc && node.loc[point]; - if (value) { - return "line" in value ? buildLoc(value) : value; - } - return null; - } - function buildLoc({ offset, line, column }, extra) { - const loc = { - offset, - line, - column - }; - if (extra) { - const lines = extra.split(/\n|\r\n?|\f/); - loc.offset += extra.length; - loc.line += lines.length - 1; - loc.column = lines.length === 1 ? loc.column + extra.length : lines.pop().length + 1; - } - return loc; - } - var SyntaxReferenceError = function(type, referenceName) { - const error = createCustomError.createCustomError( - "SyntaxReferenceError", - type + (referenceName ? " `" + referenceName + "`" : "") - ); - error.reference = referenceName; - return error; - }; - var SyntaxMatchError = function(message, syntax, node, matchResult) { - const error = createCustomError.createCustomError("SyntaxMatchError", message); - const { - css, - mismatchOffset, - mismatchLength, - start, - end - } = locateMismatch(matchResult, node); - error.rawMessage = message; - error.syntax = syntax ? generate.generate(syntax) : ""; - error.css = css; - error.mismatchOffset = mismatchOffset; - error.mismatchLength = mismatchLength; - error.message = message + "\n syntax: " + error.syntax + "\n value: " + (css || "") + "\n --------" + new Array(error.mismatchOffset + 1).join("-") + "^"; - Object.assign(error, start); - error.loc = { - source: node && node.loc && node.loc.source || "", - start, - end - }; - return error; - }; - exports2.SyntaxMatchError = SyntaxMatchError; - exports2.SyntaxReferenceError = SyntaxReferenceError; - } -}); - -// node_modules/css-tree/cjs/utils/names.cjs -var require_names3 = __commonJS({ - "node_modules/css-tree/cjs/utils/names.cjs"(exports2) { - "use strict"; - var keywords = /* @__PURE__ */ new Map(); - var properties = /* @__PURE__ */ new Map(); - var HYPHENMINUS = 45; - var keyword = getKeywordDescriptor; - var property = getPropertyDescriptor; - var vendorPrefix = getVendorPrefix; - function isCustomProperty(str, offset) { - offset = offset || 0; - return str.length - offset >= 2 && str.charCodeAt(offset) === HYPHENMINUS && str.charCodeAt(offset + 1) === HYPHENMINUS; - } - function getVendorPrefix(str, offset) { - offset = offset || 0; - if (str.length - offset >= 3) { - if (str.charCodeAt(offset) === HYPHENMINUS && str.charCodeAt(offset + 1) !== HYPHENMINUS) { - const secondDashIndex = str.indexOf("-", offset + 2); - if (secondDashIndex !== -1) { - return str.substring(offset, secondDashIndex + 1); - } - } - } - return ""; - } - function getKeywordDescriptor(keyword2) { - if (keywords.has(keyword2)) { - return keywords.get(keyword2); - } - const name = keyword2.toLowerCase(); - let descriptor = keywords.get(name); - if (descriptor === void 0) { - const custom = isCustomProperty(name, 0); - const vendor = !custom ? getVendorPrefix(name, 0) : ""; - descriptor = Object.freeze({ - basename: name.substr(vendor.length), - name, - prefix: vendor, - vendor, - custom - }); - } - keywords.set(keyword2, descriptor); - return descriptor; - } - function getPropertyDescriptor(property2) { - if (properties.has(property2)) { - return properties.get(property2); - } - let name = property2; - let hack = property2[0]; - if (hack === "/") { - hack = property2[1] === "/" ? "//" : "/"; - } else if (hack !== "_" && hack !== "*" && hack !== "$" && hack !== "#" && hack !== "+" && hack !== "&") { - hack = ""; - } - const custom = isCustomProperty(name, hack.length); - if (!custom) { - name = name.toLowerCase(); - if (properties.has(name)) { - const descriptor2 = properties.get(name); - properties.set(property2, descriptor2); - return descriptor2; - } - } - const vendor = !custom ? getVendorPrefix(name, hack.length) : ""; - const prefix = name.substr(0, hack.length + vendor.length); - const descriptor = Object.freeze({ - basename: name.substr(prefix.length), - name: name.substr(hack.length), - hack, - vendor, - prefix, - custom - }); - properties.set(property2, descriptor); - return descriptor; - } - exports2.isCustomProperty = isCustomProperty; - exports2.keyword = keyword; - exports2.property = property; - exports2.vendorPrefix = vendorPrefix; - } -}); - -// node_modules/css-tree/cjs/lexer/generic-const.cjs -var require_generic_const = __commonJS({ - "node_modules/css-tree/cjs/lexer/generic-const.cjs"(exports2) { - "use strict"; - var cssWideKeywords = [ - "initial", - "inherit", - "unset", - "revert", - "revert-layer" - ]; - exports2.cssWideKeywords = cssWideKeywords; - } -}); - -// node_modules/css-tree/cjs/lexer/generic-an-plus-b.cjs -var require_generic_an_plus_b = __commonJS({ - "node_modules/css-tree/cjs/lexer/generic-an-plus-b.cjs"(exports2, module2) { - "use strict"; - var charCodeDefinitions = require_char_code_definitions(); - var types = require_types2(); - var utils = require_utils3(); - var PLUSSIGN = 43; - var HYPHENMINUS = 45; - var N = 110; - var DISALLOW_SIGN = true; - var ALLOW_SIGN = false; - function isDelim(token, code) { - return token !== null && token.type === types.Delim && token.value.charCodeAt(0) === code; - } - function skipSC(token, offset, getNextToken) { - while (token !== null && (token.type === types.WhiteSpace || token.type === types.Comment)) { - token = getNextToken(++offset); - } - return offset; - } - function checkInteger(token, valueOffset, disallowSign, offset) { - if (!token) { - return 0; - } - const code = token.value.charCodeAt(valueOffset); - if (code === PLUSSIGN || code === HYPHENMINUS) { - if (disallowSign) { - return 0; - } - valueOffset++; - } - for (; valueOffset < token.value.length; valueOffset++) { - if (!charCodeDefinitions.isDigit(token.value.charCodeAt(valueOffset))) { - return 0; - } - } - return offset + 1; - } - function consumeB(token, offset_, getNextToken) { - let sign = false; - let offset = skipSC(token, offset_, getNextToken); - token = getNextToken(offset); - if (token === null) { - return offset_; - } - if (token.type !== types.Number) { - if (isDelim(token, PLUSSIGN) || isDelim(token, HYPHENMINUS)) { - sign = true; - offset = skipSC(getNextToken(++offset), offset, getNextToken); - token = getNextToken(offset); - if (token === null || token.type !== types.Number) { - return 0; - } - } else { - return offset_; - } - } - if (!sign) { - const code = token.value.charCodeAt(0); - if (code !== PLUSSIGN && code !== HYPHENMINUS) { - return 0; - } - } - return checkInteger(token, sign ? 0 : 1, sign, offset); - } - function anPlusB(token, getNextToken) { - let offset = 0; - if (!token) { - return 0; - } - if (token.type === types.Number) { - return checkInteger(token, 0, ALLOW_SIGN, offset); - } else if (token.type === types.Ident && token.value.charCodeAt(0) === HYPHENMINUS) { - if (!utils.cmpChar(token.value, 1, N)) { - return 0; - } - switch (token.value.length) { - // -n - // -n - // -n ['+' | '-'] - case 2: - return consumeB(getNextToken(++offset), offset, getNextToken); - // -n- - case 3: - if (token.value.charCodeAt(2) !== HYPHENMINUS) { - return 0; - } - offset = skipSC(getNextToken(++offset), offset, getNextToken); - token = getNextToken(offset); - return checkInteger(token, 0, DISALLOW_SIGN, offset); - // - default: - if (token.value.charCodeAt(2) !== HYPHENMINUS) { - return 0; - } - return checkInteger(token, 3, DISALLOW_SIGN, offset); - } - } else if (token.type === types.Ident || isDelim(token, PLUSSIGN) && getNextToken(offset + 1).type === types.Ident) { - if (token.type !== types.Ident) { - token = getNextToken(++offset); - } - if (token === null || !utils.cmpChar(token.value, 0, N)) { - return 0; - } - switch (token.value.length) { - // '+'? n - // '+'? n - // '+'? n ['+' | '-'] - case 1: - return consumeB(getNextToken(++offset), offset, getNextToken); - // '+'? n- - case 2: - if (token.value.charCodeAt(1) !== HYPHENMINUS) { - return 0; - } - offset = skipSC(getNextToken(++offset), offset, getNextToken); - token = getNextToken(offset); - return checkInteger(token, 0, DISALLOW_SIGN, offset); - // '+'? - default: - if (token.value.charCodeAt(1) !== HYPHENMINUS) { - return 0; - } - return checkInteger(token, 2, DISALLOW_SIGN, offset); - } - } else if (token.type === types.Dimension) { - let code = token.value.charCodeAt(0); - let sign = code === PLUSSIGN || code === HYPHENMINUS ? 1 : 0; - let i = sign; - for (; i < token.value.length; i++) { - if (!charCodeDefinitions.isDigit(token.value.charCodeAt(i))) { - break; - } - } - if (i === sign) { - return 0; - } - if (!utils.cmpChar(token.value, i, N)) { - return 0; - } - if (i + 1 === token.value.length) { - return consumeB(getNextToken(++offset), offset, getNextToken); - } else { - if (token.value.charCodeAt(i + 1) !== HYPHENMINUS) { - return 0; - } - if (i + 2 === token.value.length) { - offset = skipSC(getNextToken(++offset), offset, getNextToken); - token = getNextToken(offset); - return checkInteger(token, 0, DISALLOW_SIGN, offset); - } else { - return checkInteger(token, i + 2, DISALLOW_SIGN, offset); - } - } - } - return 0; - } - module2.exports = anPlusB; - } -}); - -// node_modules/css-tree/cjs/lexer/generic-urange.cjs -var require_generic_urange = __commonJS({ - "node_modules/css-tree/cjs/lexer/generic-urange.cjs"(exports2, module2) { - "use strict"; - var charCodeDefinitions = require_char_code_definitions(); - var types = require_types2(); - var utils = require_utils3(); - var PLUSSIGN = 43; - var HYPHENMINUS = 45; - var QUESTIONMARK = 63; - var U = 117; - function isDelim(token, code) { - return token !== null && token.type === types.Delim && token.value.charCodeAt(0) === code; - } - function startsWith(token, code) { - return token.value.charCodeAt(0) === code; - } - function hexSequence(token, offset, allowDash) { - let hexlen = 0; - for (let pos = offset; pos < token.value.length; pos++) { - const code = token.value.charCodeAt(pos); - if (code === HYPHENMINUS && allowDash && hexlen !== 0) { - hexSequence(token, offset + hexlen + 1, false); - return 6; - } - if (!charCodeDefinitions.isHexDigit(code)) { - return 0; - } - if (++hexlen > 6) { - return 0; - } - } - return hexlen; - } - function withQuestionMarkSequence(consumed, length, getNextToken) { - if (!consumed) { - return 0; - } - while (isDelim(getNextToken(length), QUESTIONMARK)) { - if (++consumed > 6) { - return 0; - } - length++; - } - return length; - } - function urange(token, getNextToken) { - let length = 0; - if (token === null || token.type !== types.Ident || !utils.cmpChar(token.value, 0, U)) { - return 0; - } - token = getNextToken(++length); - if (token === null) { - return 0; - } - if (isDelim(token, PLUSSIGN)) { - token = getNextToken(++length); - if (token === null) { - return 0; - } - if (token.type === types.Ident) { - return withQuestionMarkSequence(hexSequence(token, 0, true), ++length, getNextToken); - } - if (isDelim(token, QUESTIONMARK)) { - return withQuestionMarkSequence(1, ++length, getNextToken); - } - return 0; - } - if (token.type === types.Number) { - const consumedHexLength = hexSequence(token, 1, true); - if (consumedHexLength === 0) { - return 0; - } - token = getNextToken(++length); - if (token === null) { - return length; - } - if (token.type === types.Dimension || token.type === types.Number) { - if (!startsWith(token, HYPHENMINUS) || !hexSequence(token, 1, false)) { - return 0; - } - return length + 1; - } - return withQuestionMarkSequence(consumedHexLength, length, getNextToken); - } - if (token.type === types.Dimension) { - return withQuestionMarkSequence(hexSequence(token, 1, true), ++length, getNextToken); - } - return 0; - } - module2.exports = urange; - } -}); - -// node_modules/css-tree/cjs/lexer/generic.cjs -var require_generic = __commonJS({ - "node_modules/css-tree/cjs/lexer/generic.cjs"(exports2) { - "use strict"; - var genericConst = require_generic_const(); - var genericAnPlusB = require_generic_an_plus_b(); - var genericUrange = require_generic_urange(); - var types = require_types2(); - var charCodeDefinitions = require_char_code_definitions(); - var utils = require_utils3(); - var calcFunctionNames = ["calc(", "-moz-calc(", "-webkit-calc("]; - var balancePair = /* @__PURE__ */ new Map([ - [types.Function, types.RightParenthesis], - [types.LeftParenthesis, types.RightParenthesis], - [types.LeftSquareBracket, types.RightSquareBracket], - [types.LeftCurlyBracket, types.RightCurlyBracket] - ]); - function charCodeAt(str, index) { - return index < str.length ? str.charCodeAt(index) : 0; - } - function eqStr(actual, expected) { - return utils.cmpStr(actual, 0, actual.length, expected); - } - function eqStrAny(actual, expected) { - for (let i = 0; i < expected.length; i++) { - if (eqStr(actual, expected[i])) { - return true; - } - } - return false; - } - function isPostfixIeHack(str, offset) { - if (offset !== str.length - 2) { - return false; - } - return charCodeAt(str, offset) === 92 && // U+005C REVERSE SOLIDUS (\) - charCodeDefinitions.isDigit(charCodeAt(str, offset + 1)); - } - function outOfRange(opts, value, numEnd) { - if (opts && opts.type === "Range") { - const num = Number( - numEnd !== void 0 && numEnd !== value.length ? value.substr(0, numEnd) : value - ); - if (isNaN(num)) { - return true; - } - if (opts.min !== null && num < opts.min && typeof opts.min !== "string") { - return true; - } - if (opts.max !== null && num > opts.max && typeof opts.max !== "string") { - return true; - } - } - return false; - } - function consumeFunction(token, getNextToken) { - let balanceCloseType = 0; - let balanceStash = []; - let length = 0; - scan: - do { - switch (token.type) { - case types.RightCurlyBracket: - case types.RightParenthesis: - case types.RightSquareBracket: - if (token.type !== balanceCloseType) { - break scan; - } - balanceCloseType = balanceStash.pop(); - if (balanceStash.length === 0) { - length++; - break scan; - } - break; - case types.Function: - case types.LeftParenthesis: - case types.LeftSquareBracket: - case types.LeftCurlyBracket: - balanceStash.push(balanceCloseType); - balanceCloseType = balancePair.get(token.type); - break; - } - length++; - } while (token = getNextToken(length)); - return length; - } - function calc(next) { - return function(token, getNextToken, opts) { - if (token === null) { - return 0; - } - if (token.type === types.Function && eqStrAny(token.value, calcFunctionNames)) { - return consumeFunction(token, getNextToken); - } - return next(token, getNextToken, opts); - }; - } - function tokenType(expectedTokenType) { - return function(token) { - if (token === null || token.type !== expectedTokenType) { - return 0; - } - return 1; - }; - } - function customIdent(token) { - if (token === null || token.type !== types.Ident) { - return 0; - } - const name = token.value.toLowerCase(); - if (eqStrAny(name, genericConst.cssWideKeywords)) { - return 0; - } - if (eqStr(name, "default")) { - return 0; - } - return 1; - } - function customPropertyName(token) { - if (token === null || token.type !== types.Ident) { - return 0; - } - if (charCodeAt(token.value, 0) !== 45 || charCodeAt(token.value, 1) !== 45) { - return 0; - } - return 1; - } - function hexColor(token) { - if (token === null || token.type !== types.Hash) { - return 0; - } - const length = token.value.length; - if (length !== 4 && length !== 5 && length !== 7 && length !== 9) { - return 0; - } - for (let i = 1; i < length; i++) { - if (!charCodeDefinitions.isHexDigit(charCodeAt(token.value, i))) { - return 0; - } - } - return 1; - } - function idSelector(token) { - if (token === null || token.type !== types.Hash) { - return 0; - } - if (!charCodeDefinitions.isIdentifierStart(charCodeAt(token.value, 1), charCodeAt(token.value, 2), charCodeAt(token.value, 3))) { - return 0; - } - return 1; - } - function declarationValue(token, getNextToken) { - if (!token) { - return 0; - } - let balanceCloseType = 0; - let balanceStash = []; - let length = 0; - scan: - do { - switch (token.type) { - // ... , , - case types.BadString: - case types.BadUrl: - break scan; - // ... unmatched <)-token>, <]-token>, or <}-token>, - case types.RightCurlyBracket: - case types.RightParenthesis: - case types.RightSquareBracket: - if (token.type !== balanceCloseType) { - break scan; - } - balanceCloseType = balanceStash.pop(); - break; - // ... or top-level tokens - case types.Semicolon: - if (balanceCloseType === 0) { - break scan; - } - break; - // ... or tokens with a value of "!" - case types.Delim: - if (balanceCloseType === 0 && token.value === "!") { - break scan; - } - break; - case types.Function: - case types.LeftParenthesis: - case types.LeftSquareBracket: - case types.LeftCurlyBracket: - balanceStash.push(balanceCloseType); - balanceCloseType = balancePair.get(token.type); - break; - } - length++; - } while (token = getNextToken(length)); - return length; - } - function anyValue(token, getNextToken) { - if (!token) { - return 0; - } - let balanceCloseType = 0; - let balanceStash = []; - let length = 0; - scan: - do { - switch (token.type) { - // ... does not contain , , - case types.BadString: - case types.BadUrl: - break scan; - // ... unmatched <)-token>, <]-token>, or <}-token>, - case types.RightCurlyBracket: - case types.RightParenthesis: - case types.RightSquareBracket: - if (token.type !== balanceCloseType) { - break scan; - } - balanceCloseType = balanceStash.pop(); - break; - case types.Function: - case types.LeftParenthesis: - case types.LeftSquareBracket: - case types.LeftCurlyBracket: - balanceStash.push(balanceCloseType); - balanceCloseType = balancePair.get(token.type); - break; - } - length++; - } while (token = getNextToken(length)); - return length; - } - function dimension(type) { - if (type) { - type = new Set(type); - } - return function(token, getNextToken, opts) { - if (token === null || token.type !== types.Dimension) { - return 0; - } - const numberEnd = utils.consumeNumber(token.value, 0); - if (type !== null) { - const reverseSolidusOffset = token.value.indexOf("\\", numberEnd); - const unit = reverseSolidusOffset === -1 || !isPostfixIeHack(token.value, reverseSolidusOffset) ? token.value.substr(numberEnd) : token.value.substring(numberEnd, reverseSolidusOffset); - if (type.has(unit.toLowerCase()) === false) { - return 0; - } - } - if (outOfRange(opts, token.value, numberEnd)) { - return 0; - } - return 1; - }; - } - function percentage(token, getNextToken, opts) { - if (token === null || token.type !== types.Percentage) { - return 0; - } - if (outOfRange(opts, token.value, token.value.length - 1)) { - return 0; - } - return 1; - } - function zero(next) { - if (typeof next !== "function") { - next = function() { - return 0; - }; - } - return function(token, getNextToken, opts) { - if (token !== null && token.type === types.Number) { - if (Number(token.value) === 0) { - return 1; - } - } - return next(token, getNextToken, opts); - }; - } - function number(token, getNextToken, opts) { - if (token === null) { - return 0; - } - const numberEnd = utils.consumeNumber(token.value, 0); - const isNumber = numberEnd === token.value.length; - if (!isNumber && !isPostfixIeHack(token.value, numberEnd)) { - return 0; - } - if (outOfRange(opts, token.value, numberEnd)) { - return 0; - } - return 1; - } - function integer(token, getNextToken, opts) { - if (token === null || token.type !== types.Number) { - return 0; - } - let i = charCodeAt(token.value, 0) === 43 || // U+002B PLUS SIGN (+) - charCodeAt(token.value, 0) === 45 ? 1 : 0; - for (; i < token.value.length; i++) { - if (!charCodeDefinitions.isDigit(charCodeAt(token.value, i))) { - return 0; - } - } - if (outOfRange(opts, token.value, i)) { - return 0; - } - return 1; - } - var tokenTypes = { - "ident-token": tokenType(types.Ident), - "function-token": tokenType(types.Function), - "at-keyword-token": tokenType(types.AtKeyword), - "hash-token": tokenType(types.Hash), - "string-token": tokenType(types.String), - "bad-string-token": tokenType(types.BadString), - "url-token": tokenType(types.Url), - "bad-url-token": tokenType(types.BadUrl), - "delim-token": tokenType(types.Delim), - "number-token": tokenType(types.Number), - "percentage-token": tokenType(types.Percentage), - "dimension-token": tokenType(types.Dimension), - "whitespace-token": tokenType(types.WhiteSpace), - "CDO-token": tokenType(types.CDO), - "CDC-token": tokenType(types.CDC), - "colon-token": tokenType(types.Colon), - "semicolon-token": tokenType(types.Semicolon), - "comma-token": tokenType(types.Comma), - "[-token": tokenType(types.LeftSquareBracket), - "]-token": tokenType(types.RightSquareBracket), - "(-token": tokenType(types.LeftParenthesis), - ")-token": tokenType(types.RightParenthesis), - "{-token": tokenType(types.LeftCurlyBracket), - "}-token": tokenType(types.RightCurlyBracket) - }; - var productionTypes = { - // token type aliases - "string": tokenType(types.String), - "ident": tokenType(types.Ident), - // percentage - "percentage": calc(percentage), - // numeric - "zero": zero(), - "number": calc(number), - "integer": calc(integer), - // complex types - "custom-ident": customIdent, - "custom-property-name": customPropertyName, - "hex-color": hexColor, - "id-selector": idSelector, - // element( ) - "an-plus-b": genericAnPlusB, - "urange": genericUrange, - "declaration-value": declarationValue, - "any-value": anyValue - }; - function createDemensionTypes(units) { - const { - angle, - decibel, - frequency, - flex, - length, - resolution, - semitones, - time - } = units || {}; - return { - "dimension": calc(dimension(null)), - "angle": calc(dimension(angle)), - "decibel": calc(dimension(decibel)), - "frequency": calc(dimension(frequency)), - "flex": calc(dimension(flex)), - "length": calc(zero(dimension(length))), - "resolution": calc(dimension(resolution)), - "semitones": calc(dimension(semitones)), - "time": calc(dimension(time)) - }; - } - function createGenericTypes(units) { - return { - ...tokenTypes, - ...productionTypes, - ...createDemensionTypes(units) - }; - } - exports2.createDemensionTypes = createDemensionTypes; - exports2.createGenericTypes = createGenericTypes; - exports2.productionTypes = productionTypes; - exports2.tokenTypes = tokenTypes; - } -}); - -// node_modules/css-tree/cjs/lexer/units.cjs -var require_units = __commonJS({ - "node_modules/css-tree/cjs/lexer/units.cjs"(exports2) { - "use strict"; - var length = [ - // absolute length units https://www.w3.org/TR/css-values-3/#lengths - "cm", - "mm", - "q", - "in", - "pt", - "pc", - "px", - // font-relative length units https://drafts.csswg.org/css-values-4/#font-relative-lengths - "em", - "rem", - "ex", - "rex", - "cap", - "rcap", - "ch", - "rch", - "ic", - "ric", - "lh", - "rlh", - // viewport-percentage lengths https://drafts.csswg.org/css-values-4/#viewport-relative-lengths - "vw", - "svw", - "lvw", - "dvw", - "vh", - "svh", - "lvh", - "dvh", - "vi", - "svi", - "lvi", - "dvi", - "vb", - "svb", - "lvb", - "dvb", - "vmin", - "svmin", - "lvmin", - "dvmin", - "vmax", - "svmax", - "lvmax", - "dvmax", - // container relative lengths https://drafts.csswg.org/css-contain-3/#container-lengths - "cqw", - "cqh", - "cqi", - "cqb", - "cqmin", - "cqmax" - ]; - var angle = ["deg", "grad", "rad", "turn"]; - var time = ["s", "ms"]; - var frequency = ["hz", "khz"]; - var resolution = ["dpi", "dpcm", "dppx", "x"]; - var flex = ["fr"]; - var decibel = ["db"]; - var semitones = ["st"]; - exports2.angle = angle; - exports2.decibel = decibel; - exports2.flex = flex; - exports2.frequency = frequency; - exports2.length = length; - exports2.resolution = resolution; - exports2.semitones = semitones; - exports2.time = time; - } -}); - -// node_modules/css-tree/cjs/lexer/prepare-tokens.cjs -var require_prepare_tokens = __commonJS({ - "node_modules/css-tree/cjs/lexer/prepare-tokens.cjs"(exports2, module2) { - "use strict"; - var index = require_tokenizer(); - var astToTokens = { - decorator(handlers) { - const tokens = []; - let curNode = null; - return { - ...handlers, - node(node) { - const tmp = curNode; - curNode = node; - handlers.node.call(this, node); - curNode = tmp; - }, - emit(value, type, auto) { - tokens.push({ - type, - value, - node: auto ? null : curNode - }); - }, - result() { - return tokens; - } - }; - } - }; - function stringToTokens(str) { - const tokens = []; - index.tokenize( - str, - (type, start, end) => tokens.push({ - type, - value: str.slice(start, end), - node: null - }) - ); - return tokens; - } - function prepareTokens(value, syntax) { - if (typeof value === "string") { - return stringToTokens(value); - } - return syntax.generate(value, astToTokens); - } - module2.exports = prepareTokens; - } -}); - -// node_modules/css-tree/cjs/definition-syntax/SyntaxError.cjs -var require_SyntaxError2 = __commonJS({ - "node_modules/css-tree/cjs/definition-syntax/SyntaxError.cjs"(exports2) { - "use strict"; - var createCustomError = require_create_custom_error(); - function SyntaxError2(message, input, offset) { - return Object.assign(createCustomError.createCustomError("SyntaxError", message), { - input, - offset, - rawMessage: message, - message: message + "\n " + input + "\n--" + new Array((offset || input.length) + 1).join("-") + "^" - }); - } - exports2.SyntaxError = SyntaxError2; - } -}); - -// node_modules/css-tree/cjs/definition-syntax/tokenizer.cjs -var require_tokenizer2 = __commonJS({ - "node_modules/css-tree/cjs/definition-syntax/tokenizer.cjs"(exports2) { - "use strict"; - var SyntaxError2 = require_SyntaxError2(); - var TAB = 9; - var N = 10; - var F = 12; - var R = 13; - var SPACE = 32; - var Tokenizer = class { - constructor(str) { - this.str = str; - this.pos = 0; - } - charCodeAt(pos) { - return pos < this.str.length ? this.str.charCodeAt(pos) : 0; - } - charCode() { - return this.charCodeAt(this.pos); - } - nextCharCode() { - return this.charCodeAt(this.pos + 1); - } - nextNonWsCode(pos) { - return this.charCodeAt(this.findWsEnd(pos)); - } - findWsEnd(pos) { - for (; pos < this.str.length; pos++) { - const code = this.str.charCodeAt(pos); - if (code !== R && code !== N && code !== F && code !== SPACE && code !== TAB) { - break; - } - } - return pos; - } - substringToPos(end) { - return this.str.substring(this.pos, this.pos = end); - } - eat(code) { - if (this.charCode() !== code) { - this.error("Expect `" + String.fromCharCode(code) + "`"); - } - this.pos++; - } - peek() { - return this.pos < this.str.length ? this.str.charAt(this.pos++) : ""; - } - error(message) { - throw new SyntaxError2.SyntaxError(message, this.str, this.pos); - } - }; - exports2.Tokenizer = Tokenizer; - } -}); - -// node_modules/css-tree/cjs/definition-syntax/parse.cjs -var require_parse6 = __commonJS({ - "node_modules/css-tree/cjs/definition-syntax/parse.cjs"(exports2) { - "use strict"; - var tokenizer = require_tokenizer2(); - var TAB = 9; - var N = 10; - var F = 12; - var R = 13; - var SPACE = 32; - var EXCLAMATIONMARK = 33; - var NUMBERSIGN = 35; - var AMPERSAND = 38; - var APOSTROPHE = 39; - var LEFTPARENTHESIS = 40; - var RIGHTPARENTHESIS = 41; - var ASTERISK = 42; - var PLUSSIGN = 43; - var COMMA = 44; - var HYPERMINUS = 45; - var LESSTHANSIGN = 60; - var GREATERTHANSIGN = 62; - var QUESTIONMARK = 63; - var COMMERCIALAT = 64; - var LEFTSQUAREBRACKET = 91; - var RIGHTSQUAREBRACKET = 93; - var LEFTCURLYBRACKET = 123; - var VERTICALLINE = 124; - var RIGHTCURLYBRACKET = 125; - var INFINITY = 8734; - var NAME_CHAR = new Uint8Array(128).map( - (_, idx) => /[a-zA-Z0-9\-]/.test(String.fromCharCode(idx)) ? 1 : 0 - ); - var COMBINATOR_PRECEDENCE = { - " ": 1, - "&&": 2, - "||": 3, - "|": 4 - }; - function scanSpaces(tokenizer2) { - return tokenizer2.substringToPos( - tokenizer2.findWsEnd(tokenizer2.pos) - ); - } - function scanWord(tokenizer2) { - let end = tokenizer2.pos; - for (; end < tokenizer2.str.length; end++) { - const code = tokenizer2.str.charCodeAt(end); - if (code >= 128 || NAME_CHAR[code] === 0) { - break; - } - } - if (tokenizer2.pos === end) { - tokenizer2.error("Expect a keyword"); - } - return tokenizer2.substringToPos(end); - } - function scanNumber(tokenizer2) { - let end = tokenizer2.pos; - for (; end < tokenizer2.str.length; end++) { - const code = tokenizer2.str.charCodeAt(end); - if (code < 48 || code > 57) { - break; - } - } - if (tokenizer2.pos === end) { - tokenizer2.error("Expect a number"); - } - return tokenizer2.substringToPos(end); - } - function scanString(tokenizer2) { - const end = tokenizer2.str.indexOf("'", tokenizer2.pos + 1); - if (end === -1) { - tokenizer2.pos = tokenizer2.str.length; - tokenizer2.error("Expect an apostrophe"); - } - return tokenizer2.substringToPos(end + 1); - } - function readMultiplierRange(tokenizer2) { - let min = null; - let max = null; - tokenizer2.eat(LEFTCURLYBRACKET); - min = scanNumber(tokenizer2); - if (tokenizer2.charCode() === COMMA) { - tokenizer2.pos++; - if (tokenizer2.charCode() !== RIGHTCURLYBRACKET) { - max = scanNumber(tokenizer2); - } - } else { - max = min; - } - tokenizer2.eat(RIGHTCURLYBRACKET); - return { - min: Number(min), - max: max ? Number(max) : 0 - }; - } - function readMultiplier(tokenizer2) { - let range = null; - let comma = false; - switch (tokenizer2.charCode()) { - case ASTERISK: - tokenizer2.pos++; - range = { - min: 0, - max: 0 - }; - break; - case PLUSSIGN: - tokenizer2.pos++; - range = { - min: 1, - max: 0 - }; - break; - case QUESTIONMARK: - tokenizer2.pos++; - range = { - min: 0, - max: 1 - }; - break; - case NUMBERSIGN: - tokenizer2.pos++; - comma = true; - if (tokenizer2.charCode() === LEFTCURLYBRACKET) { - range = readMultiplierRange(tokenizer2); - } else if (tokenizer2.charCode() === QUESTIONMARK) { - tokenizer2.pos++; - range = { - min: 0, - max: 0 - }; - } else { - range = { - min: 1, - max: 0 - }; - } - break; - case LEFTCURLYBRACKET: - range = readMultiplierRange(tokenizer2); - break; - default: - return null; - } - return { - type: "Multiplier", - comma, - min: range.min, - max: range.max, - term: null - }; - } - function maybeMultiplied(tokenizer2, node) { - const multiplier = readMultiplier(tokenizer2); - if (multiplier !== null) { - multiplier.term = node; - if (tokenizer2.charCode() === NUMBERSIGN && tokenizer2.charCodeAt(tokenizer2.pos - 1) === PLUSSIGN) { - return maybeMultiplied(tokenizer2, multiplier); - } - return multiplier; - } - return node; - } - function maybeToken(tokenizer2) { - const ch = tokenizer2.peek(); - if (ch === "") { - return null; - } - return { - type: "Token", - value: ch - }; - } - function readProperty(tokenizer2) { - let name; - tokenizer2.eat(LESSTHANSIGN); - tokenizer2.eat(APOSTROPHE); - name = scanWord(tokenizer2); - tokenizer2.eat(APOSTROPHE); - tokenizer2.eat(GREATERTHANSIGN); - return maybeMultiplied(tokenizer2, { - type: "Property", - name - }); - } - function readTypeRange(tokenizer2) { - let min = null; - let max = null; - let sign = 1; - tokenizer2.eat(LEFTSQUAREBRACKET); - if (tokenizer2.charCode() === HYPERMINUS) { - tokenizer2.peek(); - sign = -1; - } - if (sign == -1 && tokenizer2.charCode() === INFINITY) { - tokenizer2.peek(); - } else { - min = sign * Number(scanNumber(tokenizer2)); - if (NAME_CHAR[tokenizer2.charCode()] !== 0) { - min += scanWord(tokenizer2); - } - } - scanSpaces(tokenizer2); - tokenizer2.eat(COMMA); - scanSpaces(tokenizer2); - if (tokenizer2.charCode() === INFINITY) { - tokenizer2.peek(); - } else { - sign = 1; - if (tokenizer2.charCode() === HYPERMINUS) { - tokenizer2.peek(); - sign = -1; - } - max = sign * Number(scanNumber(tokenizer2)); - if (NAME_CHAR[tokenizer2.charCode()] !== 0) { - max += scanWord(tokenizer2); - } - } - tokenizer2.eat(RIGHTSQUAREBRACKET); - return { - type: "Range", - min, - max - }; - } - function readType(tokenizer2) { - let name; - let opts = null; - tokenizer2.eat(LESSTHANSIGN); - name = scanWord(tokenizer2); - if (tokenizer2.charCode() === LEFTPARENTHESIS && tokenizer2.nextCharCode() === RIGHTPARENTHESIS) { - tokenizer2.pos += 2; - name += "()"; - } - if (tokenizer2.charCodeAt(tokenizer2.findWsEnd(tokenizer2.pos)) === LEFTSQUAREBRACKET) { - scanSpaces(tokenizer2); - opts = readTypeRange(tokenizer2); - } - tokenizer2.eat(GREATERTHANSIGN); - return maybeMultiplied(tokenizer2, { - type: "Type", - name, - opts - }); - } - function readKeywordOrFunction(tokenizer2) { - const name = scanWord(tokenizer2); - if (tokenizer2.charCode() === LEFTPARENTHESIS) { - tokenizer2.pos++; - return { - type: "Function", - name - }; - } - return maybeMultiplied(tokenizer2, { - type: "Keyword", - name - }); - } - function regroupTerms(terms, combinators) { - function createGroup(terms2, combinator2) { - return { - type: "Group", - terms: terms2, - combinator: combinator2, - disallowEmpty: false, - explicit: false - }; - } - let combinator; - combinators = Object.keys(combinators).sort((a, b) => COMBINATOR_PRECEDENCE[a] - COMBINATOR_PRECEDENCE[b]); - while (combinators.length > 0) { - combinator = combinators.shift(); - let i = 0; - let subgroupStart = 0; - for (; i < terms.length; i++) { - const term = terms[i]; - if (term.type === "Combinator") { - if (term.value === combinator) { - if (subgroupStart === -1) { - subgroupStart = i - 1; - } - terms.splice(i, 1); - i--; - } else { - if (subgroupStart !== -1 && i - subgroupStart > 1) { - terms.splice( - subgroupStart, - i - subgroupStart, - createGroup(terms.slice(subgroupStart, i), combinator) - ); - i = subgroupStart + 1; - } - subgroupStart = -1; - } - } - } - if (subgroupStart !== -1 && combinators.length) { - terms.splice( - subgroupStart, - i - subgroupStart, - createGroup(terms.slice(subgroupStart, i), combinator) - ); - } - } - return combinator; - } - function readImplicitGroup(tokenizer2) { - const terms = []; - const combinators = {}; - let token; - let prevToken = null; - let prevTokenPos = tokenizer2.pos; - while (token = peek(tokenizer2)) { - if (token.type !== "Spaces") { - if (token.type === "Combinator") { - if (prevToken === null || prevToken.type === "Combinator") { - tokenizer2.pos = prevTokenPos; - tokenizer2.error("Unexpected combinator"); - } - combinators[token.value] = true; - } else if (prevToken !== null && prevToken.type !== "Combinator") { - combinators[" "] = true; - terms.push({ - type: "Combinator", - value: " " - }); - } - terms.push(token); - prevToken = token; - prevTokenPos = tokenizer2.pos; - } - } - if (prevToken !== null && prevToken.type === "Combinator") { - tokenizer2.pos -= prevTokenPos; - tokenizer2.error("Unexpected combinator"); - } - return { - type: "Group", - terms, - combinator: regroupTerms(terms, combinators) || " ", - disallowEmpty: false, - explicit: false - }; - } - function readGroup(tokenizer2) { - let result; - tokenizer2.eat(LEFTSQUAREBRACKET); - result = readImplicitGroup(tokenizer2); - tokenizer2.eat(RIGHTSQUAREBRACKET); - result.explicit = true; - if (tokenizer2.charCode() === EXCLAMATIONMARK) { - tokenizer2.pos++; - result.disallowEmpty = true; - } - return result; - } - function peek(tokenizer2) { - let code = tokenizer2.charCode(); - if (code < 128 && NAME_CHAR[code] === 1) { - return readKeywordOrFunction(tokenizer2); - } - switch (code) { - case RIGHTSQUAREBRACKET: - break; - case LEFTSQUAREBRACKET: - return maybeMultiplied(tokenizer2, readGroup(tokenizer2)); - case LESSTHANSIGN: - return tokenizer2.nextCharCode() === APOSTROPHE ? readProperty(tokenizer2) : readType(tokenizer2); - case VERTICALLINE: - return { - type: "Combinator", - value: tokenizer2.substringToPos( - tokenizer2.pos + (tokenizer2.nextCharCode() === VERTICALLINE ? 2 : 1) - ) - }; - case AMPERSAND: - tokenizer2.pos++; - tokenizer2.eat(AMPERSAND); - return { - type: "Combinator", - value: "&&" - }; - case COMMA: - tokenizer2.pos++; - return { - type: "Comma" - }; - case APOSTROPHE: - return maybeMultiplied(tokenizer2, { - type: "String", - value: scanString(tokenizer2) - }); - case SPACE: - case TAB: - case N: - case R: - case F: - return { - type: "Spaces", - value: scanSpaces(tokenizer2) - }; - case COMMERCIALAT: - code = tokenizer2.nextCharCode(); - if (code < 128 && NAME_CHAR[code] === 1) { - tokenizer2.pos++; - return { - type: "AtKeyword", - name: scanWord(tokenizer2) - }; - } - return maybeToken(tokenizer2); - case ASTERISK: - case PLUSSIGN: - case QUESTIONMARK: - case NUMBERSIGN: - case EXCLAMATIONMARK: - break; - case LEFTCURLYBRACKET: - code = tokenizer2.nextCharCode(); - if (code < 48 || code > 57) { - return maybeToken(tokenizer2); - } - break; - default: - return maybeToken(tokenizer2); - } - } - function parse(source) { - const tokenizer$1 = new tokenizer.Tokenizer(source); - const result = readImplicitGroup(tokenizer$1); - if (tokenizer$1.pos !== source.length) { - tokenizer$1.error("Unexpected input"); - } - if (result.terms.length === 1 && result.terms[0].type === "Group") { - return result.terms[0]; - } - return result; - } - exports2.parse = parse; - } -}); - -// node_modules/css-tree/cjs/lexer/match-graph.cjs -var require_match_graph = __commonJS({ - "node_modules/css-tree/cjs/lexer/match-graph.cjs"(exports2) { - "use strict"; - var parse = require_parse6(); - var MATCH = { type: "Match" }; - var MISMATCH = { type: "Mismatch" }; - var DISALLOW_EMPTY = { type: "DisallowEmpty" }; - var LEFTPARENTHESIS = 40; - var RIGHTPARENTHESIS = 41; - function createCondition(match, thenBranch, elseBranch) { - if (thenBranch === MATCH && elseBranch === MISMATCH) { - return match; - } - if (match === MATCH && thenBranch === MATCH && elseBranch === MATCH) { - return match; - } - if (match.type === "If" && match.else === MISMATCH && thenBranch === MATCH) { - thenBranch = match.then; - match = match.match; - } - return { - type: "If", - match, - then: thenBranch, - else: elseBranch - }; - } - function isFunctionType(name) { - return name.length > 2 && name.charCodeAt(name.length - 2) === LEFTPARENTHESIS && name.charCodeAt(name.length - 1) === RIGHTPARENTHESIS; - } - function isEnumCapatible(term) { - return term.type === "Keyword" || term.type === "AtKeyword" || term.type === "Function" || term.type === "Type" && isFunctionType(term.name); - } - function buildGroupMatchGraph(combinator, terms, atLeastOneTermMatched) { - switch (combinator) { - case " ": { - let result = MATCH; - for (let i = terms.length - 1; i >= 0; i--) { - const term = terms[i]; - result = createCondition( - term, - result, - MISMATCH - ); - } - return result; - } - case "|": { - let result = MISMATCH; - let map = null; - for (let i = terms.length - 1; i >= 0; i--) { - let term = terms[i]; - if (isEnumCapatible(term)) { - if (map === null && i > 0 && isEnumCapatible(terms[i - 1])) { - map = /* @__PURE__ */ Object.create(null); - result = createCondition( - { - type: "Enum", - map - }, - MATCH, - result - ); - } - if (map !== null) { - const key = (isFunctionType(term.name) ? term.name.slice(0, -1) : term.name).toLowerCase(); - if (key in map === false) { - map[key] = term; - continue; - } - } - } - map = null; - result = createCondition( - term, - MATCH, - result - ); - } - return result; - } - case "&&": { - if (terms.length > 5) { - return { - type: "MatchOnce", - terms, - all: true - }; - } - let result = MISMATCH; - for (let i = terms.length - 1; i >= 0; i--) { - const term = terms[i]; - let thenClause; - if (terms.length > 1) { - thenClause = buildGroupMatchGraph( - combinator, - terms.filter(function(newGroupTerm) { - return newGroupTerm !== term; - }), - false - ); - } else { - thenClause = MATCH; - } - result = createCondition( - term, - thenClause, - result - ); - } - return result; - } - case "||": { - if (terms.length > 5) { - return { - type: "MatchOnce", - terms, - all: false - }; - } - let result = atLeastOneTermMatched ? MATCH : MISMATCH; - for (let i = terms.length - 1; i >= 0; i--) { - const term = terms[i]; - let thenClause; - if (terms.length > 1) { - thenClause = buildGroupMatchGraph( - combinator, - terms.filter(function(newGroupTerm) { - return newGroupTerm !== term; - }), - true - ); - } else { - thenClause = MATCH; - } - result = createCondition( - term, - thenClause, - result - ); - } - return result; - } - } - } - function buildMultiplierMatchGraph(node) { - let result = MATCH; - let matchTerm = buildMatchGraphInternal(node.term); - if (node.max === 0) { - matchTerm = createCondition( - matchTerm, - DISALLOW_EMPTY, - MISMATCH - ); - result = createCondition( - matchTerm, - null, - // will be a loop - MISMATCH - ); - result.then = createCondition( - MATCH, - MATCH, - result - // make a loop - ); - if (node.comma) { - result.then.else = createCondition( - { type: "Comma", syntax: node }, - result, - MISMATCH - ); - } - } else { - for (let i = node.min || 1; i <= node.max; i++) { - if (node.comma && result !== MATCH) { - result = createCondition( - { type: "Comma", syntax: node }, - result, - MISMATCH - ); - } - result = createCondition( - matchTerm, - createCondition( - MATCH, - MATCH, - result - ), - MISMATCH - ); - } - } - if (node.min === 0) { - result = createCondition( - MATCH, - MATCH, - result - ); - } else { - for (let i = 0; i < node.min - 1; i++) { - if (node.comma && result !== MATCH) { - result = createCondition( - { type: "Comma", syntax: node }, - result, - MISMATCH - ); - } - result = createCondition( - matchTerm, - result, - MISMATCH - ); - } - } - return result; - } - function buildMatchGraphInternal(node) { - if (typeof node === "function") { - return { - type: "Generic", - fn: node - }; - } - switch (node.type) { - case "Group": { - let result = buildGroupMatchGraph( - node.combinator, - node.terms.map(buildMatchGraphInternal), - false - ); - if (node.disallowEmpty) { - result = createCondition( - result, - DISALLOW_EMPTY, - MISMATCH - ); - } - return result; - } - case "Multiplier": - return buildMultiplierMatchGraph(node); - case "Type": - case "Property": - return { - type: node.type, - name: node.name, - syntax: node - }; - case "Keyword": - return { - type: node.type, - name: node.name.toLowerCase(), - syntax: node - }; - case "AtKeyword": - return { - type: node.type, - name: "@" + node.name.toLowerCase(), - syntax: node - }; - case "Function": - return { - type: node.type, - name: node.name.toLowerCase() + "(", - syntax: node - }; - case "String": - if (node.value.length === 3) { - return { - type: "Token", - value: node.value.charAt(1), - syntax: node - }; - } - return { - type: node.type, - value: node.value.substr(1, node.value.length - 2).replace(/\\'/g, "'"), - syntax: node - }; - case "Token": - return { - type: node.type, - value: node.value, - syntax: node - }; - case "Comma": - return { - type: node.type, - syntax: node - }; - default: - throw new Error("Unknown node type:", node.type); - } - } - function buildMatchGraph(syntaxTree, ref) { - if (typeof syntaxTree === "string") { - syntaxTree = parse.parse(syntaxTree); - } - return { - type: "MatchGraph", - match: buildMatchGraphInternal(syntaxTree), - syntax: ref || null, - source: syntaxTree - }; - } - exports2.DISALLOW_EMPTY = DISALLOW_EMPTY; - exports2.MATCH = MATCH; - exports2.MISMATCH = MISMATCH; - exports2.buildMatchGraph = buildMatchGraph; - } -}); - -// node_modules/css-tree/cjs/lexer/match.cjs -var require_match = __commonJS({ - "node_modules/css-tree/cjs/lexer/match.cjs"(exports2) { - "use strict"; - var matchGraph = require_match_graph(); - var types = require_types2(); - var { hasOwnProperty: hasOwnProperty2 } = Object.prototype; - var STUB = 0; - var TOKEN = 1; - var OPEN_SYNTAX = 2; - var CLOSE_SYNTAX = 3; - var EXIT_REASON_MATCH = "Match"; - var EXIT_REASON_MISMATCH = "Mismatch"; - var EXIT_REASON_ITERATION_LIMIT = "Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)"; - var ITERATION_LIMIT = 15e3; - function reverseList(list) { - let prev = null; - let next = null; - let item = list; - while (item !== null) { - next = item.prev; - item.prev = prev; - prev = item; - item = next; - } - return prev; - } - function areStringsEqualCaseInsensitive(testStr, referenceStr) { - if (testStr.length !== referenceStr.length) { - return false; - } - for (let i = 0; i < testStr.length; i++) { - const referenceCode = referenceStr.charCodeAt(i); - let testCode = testStr.charCodeAt(i); - if (testCode >= 65 && testCode <= 90) { - testCode = testCode | 32; - } - if (testCode !== referenceCode) { - return false; - } - } - return true; - } - function isContextEdgeDelim(token) { - if (token.type !== types.Delim) { - return false; - } - return token.value !== "?"; - } - function isCommaContextStart(token) { - if (token === null) { - return true; - } - return token.type === types.Comma || token.type === types.Function || token.type === types.LeftParenthesis || token.type === types.LeftSquareBracket || token.type === types.LeftCurlyBracket || isContextEdgeDelim(token); - } - function isCommaContextEnd(token) { - if (token === null) { - return true; - } - return token.type === types.RightParenthesis || token.type === types.RightSquareBracket || token.type === types.RightCurlyBracket || token.type === types.Delim && token.value === "/"; - } - function internalMatch(tokens, state, syntaxes) { - function moveToNextToken() { - do { - tokenIndex++; - token = tokenIndex < tokens.length ? tokens[tokenIndex] : null; - } while (token !== null && (token.type === types.WhiteSpace || token.type === types.Comment)); - } - function getNextToken(offset) { - const nextIndex = tokenIndex + offset; - return nextIndex < tokens.length ? tokens[nextIndex] : null; - } - function stateSnapshotFromSyntax(nextState, prev) { - return { - nextState, - matchStack, - syntaxStack, - thenStack, - tokenIndex, - prev - }; - } - function pushThenStack(nextState) { - thenStack = { - nextState, - matchStack, - syntaxStack, - prev: thenStack - }; - } - function pushElseStack(nextState) { - elseStack = stateSnapshotFromSyntax(nextState, elseStack); - } - function addTokenToMatch() { - matchStack = { - type: TOKEN, - syntax: state.syntax, - token, - prev: matchStack - }; - moveToNextToken(); - syntaxStash = null; - if (tokenIndex > longestMatch) { - longestMatch = tokenIndex; - } - } - function openSyntax() { - syntaxStack = { - syntax: state.syntax, - opts: state.syntax.opts || syntaxStack !== null && syntaxStack.opts || null, - prev: syntaxStack - }; - matchStack = { - type: OPEN_SYNTAX, - syntax: state.syntax, - token: matchStack.token, - prev: matchStack - }; - } - function closeSyntax() { - if (matchStack.type === OPEN_SYNTAX) { - matchStack = matchStack.prev; - } else { - matchStack = { - type: CLOSE_SYNTAX, - syntax: syntaxStack.syntax, - token: matchStack.token, - prev: matchStack - }; - } - syntaxStack = syntaxStack.prev; - } - let syntaxStack = null; - let thenStack = null; - let elseStack = null; - let syntaxStash = null; - let iterationCount = 0; - let exitReason = null; - let token = null; - let tokenIndex = -1; - let longestMatch = 0; - let matchStack = { - type: STUB, - syntax: null, - token: null, - prev: null - }; - moveToNextToken(); - while (exitReason === null && ++iterationCount < ITERATION_LIMIT) { - switch (state.type) { - case "Match": - if (thenStack === null) { - if (token !== null) { - if (tokenIndex !== tokens.length - 1 || token.value !== "\\0" && token.value !== "\\9") { - state = matchGraph.MISMATCH; - break; - } - } - exitReason = EXIT_REASON_MATCH; - break; - } - state = thenStack.nextState; - if (state === matchGraph.DISALLOW_EMPTY) { - if (thenStack.matchStack === matchStack) { - state = matchGraph.MISMATCH; - break; - } else { - state = matchGraph.MATCH; - } - } - while (thenStack.syntaxStack !== syntaxStack) { - closeSyntax(); - } - thenStack = thenStack.prev; - break; - case "Mismatch": - if (syntaxStash !== null && syntaxStash !== false) { - if (elseStack === null || tokenIndex > elseStack.tokenIndex) { - elseStack = syntaxStash; - syntaxStash = false; - } - } else if (elseStack === null) { - exitReason = EXIT_REASON_MISMATCH; - break; - } - state = elseStack.nextState; - thenStack = elseStack.thenStack; - syntaxStack = elseStack.syntaxStack; - matchStack = elseStack.matchStack; - tokenIndex = elseStack.tokenIndex; - token = tokenIndex < tokens.length ? tokens[tokenIndex] : null; - elseStack = elseStack.prev; - break; - case "MatchGraph": - state = state.match; - break; - case "If": - if (state.else !== matchGraph.MISMATCH) { - pushElseStack(state.else); - } - if (state.then !== matchGraph.MATCH) { - pushThenStack(state.then); - } - state = state.match; - break; - case "MatchOnce": - state = { - type: "MatchOnceBuffer", - syntax: state, - index: 0, - mask: 0 - }; - break; - case "MatchOnceBuffer": { - const terms = state.syntax.terms; - if (state.index === terms.length) { - if (state.mask === 0 || state.syntax.all) { - state = matchGraph.MISMATCH; - break; - } - state = matchGraph.MATCH; - break; - } - if (state.mask === (1 << terms.length) - 1) { - state = matchGraph.MATCH; - break; - } - for (; state.index < terms.length; state.index++) { - const matchFlag = 1 << state.index; - if ((state.mask & matchFlag) === 0) { - pushElseStack(state); - pushThenStack({ - type: "AddMatchOnce", - syntax: state.syntax, - mask: state.mask | matchFlag - }); - state = terms[state.index++]; - break; - } - } - break; - } - case "AddMatchOnce": - state = { - type: "MatchOnceBuffer", - syntax: state.syntax, - index: 0, - mask: state.mask - }; - break; - case "Enum": - if (token !== null) { - let name = token.value.toLowerCase(); - if (name.indexOf("\\") !== -1) { - name = name.replace(/\\[09].*$/, ""); - } - if (hasOwnProperty2.call(state.map, name)) { - state = state.map[name]; - break; - } - } - state = matchGraph.MISMATCH; - break; - case "Generic": { - const opts = syntaxStack !== null ? syntaxStack.opts : null; - const lastTokenIndex2 = tokenIndex + Math.floor(state.fn(token, getNextToken, opts)); - if (!isNaN(lastTokenIndex2) && lastTokenIndex2 > tokenIndex) { - while (tokenIndex < lastTokenIndex2) { - addTokenToMatch(); - } - state = matchGraph.MATCH; - } else { - state = matchGraph.MISMATCH; - } - break; - } - case "Type": - case "Property": { - const syntaxDict = state.type === "Type" ? "types" : "properties"; - const dictSyntax = hasOwnProperty2.call(syntaxes, syntaxDict) ? syntaxes[syntaxDict][state.name] : null; - if (!dictSyntax || !dictSyntax.match) { - throw new Error( - "Bad syntax reference: " + (state.type === "Type" ? "<" + state.name + ">" : "<'" + state.name + "'>") - ); - } - if (syntaxStash !== false && token !== null && state.type === "Type") { - const lowPriorityMatching = ( - // https://drafts.csswg.org/css-values-4/#custom-idents - // When parsing positionally-ambiguous keywords in a property value, a production - // can only claim the keyword if no other unfulfilled production can claim it. - state.name === "custom-ident" && token.type === types.Ident || // https://drafts.csswg.org/css-values-4/#lengths - // ... if a `0` could be parsed as either a or a in a property (such as line-height), - // it must parse as a - state.name === "length" && token.value === "0" - ); - if (lowPriorityMatching) { - if (syntaxStash === null) { - syntaxStash = stateSnapshotFromSyntax(state, elseStack); - } - state = matchGraph.MISMATCH; - break; - } - } - openSyntax(); - state = dictSyntax.match; - break; - } - case "Keyword": { - const name = state.name; - if (token !== null) { - let keywordName = token.value; - if (keywordName.indexOf("\\") !== -1) { - keywordName = keywordName.replace(/\\[09].*$/, ""); - } - if (areStringsEqualCaseInsensitive(keywordName, name)) { - addTokenToMatch(); - state = matchGraph.MATCH; - break; - } - } - state = matchGraph.MISMATCH; - break; - } - case "AtKeyword": - case "Function": - if (token !== null && areStringsEqualCaseInsensitive(token.value, state.name)) { - addTokenToMatch(); - state = matchGraph.MATCH; - break; - } - state = matchGraph.MISMATCH; - break; - case "Token": - if (token !== null && token.value === state.value) { - addTokenToMatch(); - state = matchGraph.MATCH; - break; - } - state = matchGraph.MISMATCH; - break; - case "Comma": - if (token !== null && token.type === types.Comma) { - if (isCommaContextStart(matchStack.token)) { - state = matchGraph.MISMATCH; - } else { - addTokenToMatch(); - state = isCommaContextEnd(token) ? matchGraph.MISMATCH : matchGraph.MATCH; - } - } else { - state = isCommaContextStart(matchStack.token) || isCommaContextEnd(token) ? matchGraph.MATCH : matchGraph.MISMATCH; - } - break; - case "String": - let string = ""; - let lastTokenIndex = tokenIndex; - for (; lastTokenIndex < tokens.length && string.length < state.value.length; lastTokenIndex++) { - string += tokens[lastTokenIndex].value; - } - if (areStringsEqualCaseInsensitive(string, state.value)) { - while (tokenIndex < lastTokenIndex) { - addTokenToMatch(); - } - state = matchGraph.MATCH; - } else { - state = matchGraph.MISMATCH; - } - break; - default: - throw new Error("Unknown node type: " + state.type); - } - } - switch (exitReason) { - case null: - console.warn("[csstree-match] BREAK after " + ITERATION_LIMIT + " iterations"); - exitReason = EXIT_REASON_ITERATION_LIMIT; - matchStack = null; - break; - case EXIT_REASON_MATCH: - while (syntaxStack !== null) { - closeSyntax(); - } - break; - default: - matchStack = null; - } - return { - tokens, - reason: exitReason, - iterations: iterationCount, - match: matchStack, - longestMatch - }; - } - function matchAsList(tokens, matchGraph2, syntaxes) { - const matchResult = internalMatch(tokens, matchGraph2, syntaxes || {}); - if (matchResult.match !== null) { - let item = reverseList(matchResult.match).prev; - matchResult.match = []; - while (item !== null) { - switch (item.type) { - case OPEN_SYNTAX: - case CLOSE_SYNTAX: - matchResult.match.push({ - type: item.type, - syntax: item.syntax - }); - break; - default: - matchResult.match.push({ - token: item.token.value, - node: item.token.node - }); - break; - } - item = item.prev; - } - } - return matchResult; - } - function matchAsTree(tokens, matchGraph2, syntaxes) { - const matchResult = internalMatch(tokens, matchGraph2, syntaxes || {}); - if (matchResult.match === null) { - return matchResult; - } - let item = matchResult.match; - let host = matchResult.match = { - syntax: matchGraph2.syntax || null, - match: [] - }; - const hostStack = [host]; - item = reverseList(item).prev; - while (item !== null) { - switch (item.type) { - case OPEN_SYNTAX: - host.match.push(host = { - syntax: item.syntax, - match: [] - }); - hostStack.push(host); - break; - case CLOSE_SYNTAX: - hostStack.pop(); - host = hostStack[hostStack.length - 1]; - break; - default: - host.match.push({ - syntax: item.syntax || null, - token: item.token.value, - node: item.token.node - }); - } - item = item.prev; - } - return matchResult; - } - exports2.matchAsList = matchAsList; - exports2.matchAsTree = matchAsTree; - } -}); - -// node_modules/css-tree/cjs/lexer/trace.cjs -var require_trace = __commonJS({ - "node_modules/css-tree/cjs/lexer/trace.cjs"(exports2) { - "use strict"; - function getTrace(node) { - function shouldPutToTrace(syntax) { - if (syntax === null) { - return false; - } - return syntax.type === "Type" || syntax.type === "Property" || syntax.type === "Keyword"; - } - function hasMatch(matchNode) { - if (Array.isArray(matchNode.match)) { - for (let i = 0; i < matchNode.match.length; i++) { - if (hasMatch(matchNode.match[i])) { - if (shouldPutToTrace(matchNode.syntax)) { - result.unshift(matchNode.syntax); - } - return true; - } - } - } else if (matchNode.node === node) { - result = shouldPutToTrace(matchNode.syntax) ? [matchNode.syntax] : []; - return true; - } - return false; - } - let result = null; - if (this.matched !== null) { - hasMatch(this.matched); - } - return result; - } - function isType(node, type) { - return testNode(this, node, (match) => match.type === "Type" && match.name === type); - } - function isProperty(node, property) { - return testNode(this, node, (match) => match.type === "Property" && match.name === property); - } - function isKeyword(node) { - return testNode(this, node, (match) => match.type === "Keyword"); - } - function testNode(match, node, fn) { - const trace = getTrace.call(match, node); - if (trace === null) { - return false; - } - return trace.some(fn); - } - exports2.getTrace = getTrace; - exports2.isKeyword = isKeyword; - exports2.isProperty = isProperty; - exports2.isType = isType; - } -}); - -// node_modules/css-tree/cjs/lexer/search.cjs -var require_search = __commonJS({ - "node_modules/css-tree/cjs/lexer/search.cjs"(exports2) { - "use strict"; - var List = require_List(); - function getFirstMatchNode(matchNode) { - if ("node" in matchNode) { - return matchNode.node; - } - return getFirstMatchNode(matchNode.match[0]); - } - function getLastMatchNode(matchNode) { - if ("node" in matchNode) { - return matchNode.node; - } - return getLastMatchNode(matchNode.match[matchNode.match.length - 1]); - } - function matchFragments(lexer, ast, match, type, name) { - function findFragments(matchNode) { - if (matchNode.syntax !== null && matchNode.syntax.type === type && matchNode.syntax.name === name) { - const start = getFirstMatchNode(matchNode); - const end = getLastMatchNode(matchNode); - lexer.syntax.walk(ast, function(node, item, list) { - if (node === start) { - const nodes = new List.List(); - do { - nodes.appendData(item.data); - if (item.data === end) { - break; - } - item = item.next; - } while (item !== null); - fragments.push({ - parent: list, - nodes - }); - } - }); - } - if (Array.isArray(matchNode.match)) { - matchNode.match.forEach(findFragments); - } - } - const fragments = []; - if (match.matched !== null) { - findFragments(match.matched); - } - return fragments; - } - exports2.matchFragments = matchFragments; - } -}); - -// node_modules/css-tree/cjs/lexer/structure.cjs -var require_structure = __commonJS({ - "node_modules/css-tree/cjs/lexer/structure.cjs"(exports2) { - "use strict"; - var List = require_List(); - var { hasOwnProperty: hasOwnProperty2 } = Object.prototype; - function isValidNumber(value) { - return typeof value === "number" && isFinite(value) && Math.floor(value) === value && value >= 0; - } - function isValidLocation(loc) { - return Boolean(loc) && isValidNumber(loc.offset) && isValidNumber(loc.line) && isValidNumber(loc.column); - } - function createNodeStructureChecker(type, fields) { - return function checkNode(node, warn) { - if (!node || node.constructor !== Object) { - return warn(node, "Type of node should be an Object"); - } - for (let key in node) { - let valid = true; - if (hasOwnProperty2.call(node, key) === false) { - continue; - } - if (key === "type") { - if (node.type !== type) { - warn(node, "Wrong node type `" + node.type + "`, expected `" + type + "`"); - } - } else if (key === "loc") { - if (node.loc === null) { - continue; - } else if (node.loc && node.loc.constructor === Object) { - if (typeof node.loc.source !== "string") { - key += ".source"; - } else if (!isValidLocation(node.loc.start)) { - key += ".start"; - } else if (!isValidLocation(node.loc.end)) { - key += ".end"; - } else { - continue; - } - } - valid = false; - } else if (fields.hasOwnProperty(key)) { - valid = false; - for (let i = 0; !valid && i < fields[key].length; i++) { - const fieldType = fields[key][i]; - switch (fieldType) { - case String: - valid = typeof node[key] === "string"; - break; - case Boolean: - valid = typeof node[key] === "boolean"; - break; - case null: - valid = node[key] === null; - break; - default: - if (typeof fieldType === "string") { - valid = node[key] && node[key].type === fieldType; - } else if (Array.isArray(fieldType)) { - valid = node[key] instanceof List.List; - } - } - } - } else { - warn(node, "Unknown field `" + key + "` for " + type + " node type"); - } - if (!valid) { - warn(node, "Bad value for `" + type + "." + key + "`"); - } - } - for (const key in fields) { - if (hasOwnProperty2.call(fields, key) && hasOwnProperty2.call(node, key) === false) { - warn(node, "Field `" + type + "." + key + "` is missed"); - } - } - }; - } - function processStructure(name, nodeType) { - const structure = nodeType.structure; - const fields = { - type: String, - loc: true - }; - const docs = { - type: '"' + name + '"' - }; - for (const key in structure) { - if (hasOwnProperty2.call(structure, key) === false) { - continue; - } - const docsTypes = []; - const fieldTypes = fields[key] = Array.isArray(structure[key]) ? structure[key].slice() : [structure[key]]; - for (let i = 0; i < fieldTypes.length; i++) { - const fieldType = fieldTypes[i]; - if (fieldType === String || fieldType === Boolean) { - docsTypes.push(fieldType.name); - } else if (fieldType === null) { - docsTypes.push("null"); - } else if (typeof fieldType === "string") { - docsTypes.push("<" + fieldType + ">"); - } else if (Array.isArray(fieldType)) { - docsTypes.push("List"); - } else { - throw new Error("Wrong value `" + fieldType + "` in `" + name + "." + key + "` structure definition"); - } - } - docs[key] = docsTypes.join(" | "); - } - return { - docs, - check: createNodeStructureChecker(name, fields) - }; - } - function getStructureFromConfig(config) { - const structure = {}; - if (config.node) { - for (const name in config.node) { - if (hasOwnProperty2.call(config.node, name)) { - const nodeType = config.node[name]; - if (nodeType.structure) { - structure[name] = processStructure(name, nodeType); - } else { - throw new Error("Missed `structure` field in `" + name + "` node type definition"); - } - } - } - } - return structure; - } - exports2.getStructureFromConfig = getStructureFromConfig; - } -}); - -// node_modules/css-tree/cjs/definition-syntax/walk.cjs -var require_walk2 = __commonJS({ - "node_modules/css-tree/cjs/definition-syntax/walk.cjs"(exports2) { - "use strict"; - var noop = function() { - }; - function ensureFunction(value) { - return typeof value === "function" ? value : noop; - } - function walk(node, options, context) { - function walk2(node2) { - enter.call(context, node2); - switch (node2.type) { - case "Group": - node2.terms.forEach(walk2); - break; - case "Multiplier": - walk2(node2.term); - break; - case "Type": - case "Property": - case "Keyword": - case "AtKeyword": - case "Function": - case "String": - case "Token": - case "Comma": - break; - default: - throw new Error("Unknown type: " + node2.type); - } - leave.call(context, node2); - } - let enter = noop; - let leave = noop; - if (typeof options === "function") { - enter = options; - } else if (options) { - enter = ensureFunction(options.enter); - leave = ensureFunction(options.leave); - } - if (enter === noop && leave === noop) { - throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function"); - } - walk2(node); - } - exports2.walk = walk; - } -}); - -// node_modules/css-tree/cjs/lexer/Lexer.cjs -var require_Lexer = __commonJS({ - "node_modules/css-tree/cjs/lexer/Lexer.cjs"(exports2) { - "use strict"; - var error = require_error2(); - var names = require_names3(); - var genericConst = require_generic_const(); - var generic = require_generic(); - var units = require_units(); - var prepareTokens = require_prepare_tokens(); - var matchGraph = require_match_graph(); - var match = require_match(); - var trace = require_trace(); - var search = require_search(); - var structure = require_structure(); - var parse = require_parse6(); - var generate = require_generate(); - var walk = require_walk2(); - var cssWideKeywordsSyntax = matchGraph.buildMatchGraph(genericConst.cssWideKeywords.join(" | ")); - function dumpMapSyntax(map, compact, syntaxAsAst) { - const result = {}; - for (const name in map) { - if (map[name].syntax) { - result[name] = syntaxAsAst ? map[name].syntax : generate.generate(map[name].syntax, { compact }); - } - } - return result; - } - function dumpAtruleMapSyntax(map, compact, syntaxAsAst) { - const result = {}; - for (const [name, atrule] of Object.entries(map)) { - result[name] = { - prelude: atrule.prelude && (syntaxAsAst ? atrule.prelude.syntax : generate.generate(atrule.prelude.syntax, { compact })), - descriptors: atrule.descriptors && dumpMapSyntax(atrule.descriptors, compact, syntaxAsAst) - }; - } - return result; - } - function valueHasVar(tokens) { - for (let i = 0; i < tokens.length; i++) { - if (tokens[i].value.toLowerCase() === "var(") { - return true; - } - } - return false; - } - function buildMatchResult(matched, error2, iterations) { - return { - matched, - iterations, - error: error2, - ...trace - }; - } - function matchSyntax(lexer, syntax, value, useCssWideKeywords) { - const tokens = prepareTokens(value, lexer.syntax); - let result; - if (valueHasVar(tokens)) { - return buildMatchResult(null, new Error("Matching for a tree with var() is not supported")); - } - if (useCssWideKeywords) { - result = match.matchAsTree(tokens, lexer.cssWideKeywordsSyntax, lexer); - } - if (!useCssWideKeywords || !result.match) { - result = match.matchAsTree(tokens, syntax.match, lexer); - if (!result.match) { - return buildMatchResult( - null, - new error.SyntaxMatchError(result.reason, syntax.syntax, value, result), - result.iterations - ); - } - } - return buildMatchResult(result.match, null, result.iterations); - } - var Lexer = class { - constructor(config, syntax, structure$1) { - this.cssWideKeywordsSyntax = cssWideKeywordsSyntax; - this.syntax = syntax; - this.generic = false; - this.units = { ...units }; - this.atrules = /* @__PURE__ */ Object.create(null); - this.properties = /* @__PURE__ */ Object.create(null); - this.types = /* @__PURE__ */ Object.create(null); - this.structure = structure$1 || structure.getStructureFromConfig(config); - if (config) { - if (config.units) { - for (const group of Object.keys(units)) { - if (Array.isArray(config.units[group])) { - this.units[group] = config.units[group]; - } - } - } - if (config.types) { - for (const name in config.types) { - this.addType_(name, config.types[name]); - } - } - if (config.generic) { - this.generic = true; - for (const [name, value] of Object.entries(generic.createGenericTypes(this.units))) { - this.addType_(name, value); - } - } - if (config.atrules) { - for (const name in config.atrules) { - this.addAtrule_(name, config.atrules[name]); - } - } - if (config.properties) { - for (const name in config.properties) { - this.addProperty_(name, config.properties[name]); - } - } - } - } - checkStructure(ast) { - function collectWarning(node, message) { - warns.push({ node, message }); - } - const structure2 = this.structure; - const warns = []; - this.syntax.walk(ast, function(node) { - if (structure2.hasOwnProperty(node.type)) { - structure2[node.type].check(node, collectWarning); - } else { - collectWarning(node, "Unknown node type `" + node.type + "`"); - } - }); - return warns.length ? warns : false; - } - createDescriptor(syntax, type, name, parent = null) { - const ref = { - type, - name - }; - const descriptor = { - type, - name, - parent, - serializable: typeof syntax === "string" || syntax && typeof syntax.type === "string", - syntax: null, - match: null - }; - if (typeof syntax === "function") { - descriptor.match = matchGraph.buildMatchGraph(syntax, ref); - } else { - if (typeof syntax === "string") { - Object.defineProperty(descriptor, "syntax", { - get() { - Object.defineProperty(descriptor, "syntax", { - value: parse.parse(syntax) - }); - return descriptor.syntax; - } - }); - } else { - descriptor.syntax = syntax; - } - Object.defineProperty(descriptor, "match", { - get() { - Object.defineProperty(descriptor, "match", { - value: matchGraph.buildMatchGraph(descriptor.syntax, ref) - }); - return descriptor.match; - } - }); - } - return descriptor; - } - addAtrule_(name, syntax) { - if (!syntax) { - return; - } - this.atrules[name] = { - type: "Atrule", - name, - prelude: syntax.prelude ? this.createDescriptor(syntax.prelude, "AtrulePrelude", name) : null, - descriptors: syntax.descriptors ? Object.keys(syntax.descriptors).reduce( - (map, descName) => { - map[descName] = this.createDescriptor(syntax.descriptors[descName], "AtruleDescriptor", descName, name); - return map; - }, - /* @__PURE__ */ Object.create(null) - ) : null - }; - } - addProperty_(name, syntax) { - if (!syntax) { - return; - } - this.properties[name] = this.createDescriptor(syntax, "Property", name); - } - addType_(name, syntax) { - if (!syntax) { - return; - } - this.types[name] = this.createDescriptor(syntax, "Type", name); - } - checkAtruleName(atruleName) { - if (!this.getAtrule(atruleName)) { - return new error.SyntaxReferenceError("Unknown at-rule", "@" + atruleName); - } - } - checkAtrulePrelude(atruleName, prelude) { - const error2 = this.checkAtruleName(atruleName); - if (error2) { - return error2; - } - const atrule = this.getAtrule(atruleName); - if (!atrule.prelude && prelude) { - return new SyntaxError("At-rule `@" + atruleName + "` should not contain a prelude"); - } - if (atrule.prelude && !prelude) { - if (!matchSyntax(this, atrule.prelude, "", false).matched) { - return new SyntaxError("At-rule `@" + atruleName + "` should contain a prelude"); - } - } - } - checkAtruleDescriptorName(atruleName, descriptorName) { - const error$1 = this.checkAtruleName(atruleName); - if (error$1) { - return error$1; - } - const atrule = this.getAtrule(atruleName); - const descriptor = names.keyword(descriptorName); - if (!atrule.descriptors) { - return new SyntaxError("At-rule `@" + atruleName + "` has no known descriptors"); - } - if (!atrule.descriptors[descriptor.name] && !atrule.descriptors[descriptor.basename]) { - return new error.SyntaxReferenceError("Unknown at-rule descriptor", descriptorName); - } - } - checkPropertyName(propertyName) { - if (!this.getProperty(propertyName)) { - return new error.SyntaxReferenceError("Unknown property", propertyName); - } - } - matchAtrulePrelude(atruleName, prelude) { - const error2 = this.checkAtrulePrelude(atruleName, prelude); - if (error2) { - return buildMatchResult(null, error2); - } - const atrule = this.getAtrule(atruleName); - if (!atrule.prelude) { - return buildMatchResult(null, null); - } - return matchSyntax(this, atrule.prelude, prelude || "", false); - } - matchAtruleDescriptor(atruleName, descriptorName, value) { - const error2 = this.checkAtruleDescriptorName(atruleName, descriptorName); - if (error2) { - return buildMatchResult(null, error2); - } - const atrule = this.getAtrule(atruleName); - const descriptor = names.keyword(descriptorName); - return matchSyntax(this, atrule.descriptors[descriptor.name] || atrule.descriptors[descriptor.basename], value, false); - } - matchDeclaration(node) { - if (node.type !== "Declaration") { - return buildMatchResult(null, new Error("Not a Declaration node")); - } - return this.matchProperty(node.property, node.value); - } - matchProperty(propertyName, value) { - if (names.property(propertyName).custom) { - return buildMatchResult(null, new Error("Lexer matching doesn't applicable for custom properties")); - } - const error2 = this.checkPropertyName(propertyName); - if (error2) { - return buildMatchResult(null, error2); - } - return matchSyntax(this, this.getProperty(propertyName), value, true); - } - matchType(typeName, value) { - const typeSyntax = this.getType(typeName); - if (!typeSyntax) { - return buildMatchResult(null, new error.SyntaxReferenceError("Unknown type", typeName)); - } - return matchSyntax(this, typeSyntax, value, false); - } - match(syntax, value) { - if (typeof syntax !== "string" && (!syntax || !syntax.type)) { - return buildMatchResult(null, new error.SyntaxReferenceError("Bad syntax")); - } - if (typeof syntax === "string" || !syntax.match) { - syntax = this.createDescriptor(syntax, "Type", "anonymous"); - } - return matchSyntax(this, syntax, value, false); - } - findValueFragments(propertyName, value, type, name) { - return search.matchFragments(this, value, this.matchProperty(propertyName, value), type, name); - } - findDeclarationValueFragments(declaration, type, name) { - return search.matchFragments(this, declaration.value, this.matchDeclaration(declaration), type, name); - } - findAllFragments(ast, type, name) { - const result = []; - this.syntax.walk(ast, { - visit: "Declaration", - enter: (declaration) => { - result.push.apply(result, this.findDeclarationValueFragments(declaration, type, name)); - } - }); - return result; - } - getAtrule(atruleName, fallbackBasename = true) { - const atrule = names.keyword(atruleName); - const atruleEntry = atrule.vendor && fallbackBasename ? this.atrules[atrule.name] || this.atrules[atrule.basename] : this.atrules[atrule.name]; - return atruleEntry || null; - } - getAtrulePrelude(atruleName, fallbackBasename = true) { - const atrule = this.getAtrule(atruleName, fallbackBasename); - return atrule && atrule.prelude || null; - } - getAtruleDescriptor(atruleName, name) { - return this.atrules.hasOwnProperty(atruleName) && this.atrules.declarators ? this.atrules[atruleName].declarators[name] || null : null; - } - getProperty(propertyName, fallbackBasename = true) { - const property = names.property(propertyName); - const propertyEntry = property.vendor && fallbackBasename ? this.properties[property.name] || this.properties[property.basename] : this.properties[property.name]; - return propertyEntry || null; - } - getType(name) { - return hasOwnProperty.call(this.types, name) ? this.types[name] : null; - } - validate() { - function validate(syntax, name, broken, descriptor) { - if (broken.has(name)) { - return broken.get(name); - } - broken.set(name, false); - if (descriptor.syntax !== null) { - walk.walk(descriptor.syntax, function(node) { - if (node.type !== "Type" && node.type !== "Property") { - return; - } - const map = node.type === "Type" ? syntax.types : syntax.properties; - const brokenMap = node.type === "Type" ? brokenTypes : brokenProperties; - if (!hasOwnProperty.call(map, node.name) || validate(syntax, node.name, brokenMap, map[node.name])) { - broken.set(name, true); - } - }, this); - } - } - let brokenTypes = /* @__PURE__ */ new Map(); - let brokenProperties = /* @__PURE__ */ new Map(); - for (const key in this.types) { - validate(this, key, brokenTypes, this.types[key]); - } - for (const key in this.properties) { - validate(this, key, brokenProperties, this.properties[key]); - } - brokenTypes = [...brokenTypes.keys()].filter((name) => brokenTypes.get(name)); - brokenProperties = [...brokenProperties.keys()].filter((name) => brokenProperties.get(name)); - if (brokenTypes.length || brokenProperties.length) { - return { - types: brokenTypes, - properties: brokenProperties - }; - } - return null; - } - dump(syntaxAsAst, pretty) { - return { - generic: this.generic, - units: this.units, - types: dumpMapSyntax(this.types, !pretty, syntaxAsAst), - properties: dumpMapSyntax(this.properties, !pretty, syntaxAsAst), - atrules: dumpAtruleMapSyntax(this.atrules, !pretty, syntaxAsAst) - }; - } - toString() { - return JSON.stringify(this.dump()); - } - }; - exports2.Lexer = Lexer; - } -}); - -// node_modules/css-tree/cjs/syntax/config/mix.cjs -var require_mix = __commonJS({ - "node_modules/css-tree/cjs/syntax/config/mix.cjs"(exports2, module2) { - "use strict"; - function appendOrSet(a, b) { - if (typeof b === "string" && /^\s*\|/.test(b)) { - return typeof a === "string" ? a + b : b.replace(/^\s*\|\s*/, ""); - } - return b || null; - } - function sliceProps(obj, props) { - const result = /* @__PURE__ */ Object.create(null); - for (const [key, value] of Object.entries(obj)) { - if (value) { - result[key] = {}; - for (const prop of Object.keys(value)) { - if (props.includes(prop)) { - result[key][prop] = value[prop]; - } - } - } - } - return result; - } - function mix(dest, src) { - const result = { ...dest }; - for (const [prop, value] of Object.entries(src)) { - switch (prop) { - case "generic": - result[prop] = Boolean(value); - break; - case "units": - result[prop] = { ...dest[prop] }; - for (const [name, patch] of Object.entries(value)) { - result[prop][name] = Array.isArray(patch) ? patch : []; - } - break; - case "atrules": - result[prop] = { ...dest[prop] }; - for (const [name, atrule] of Object.entries(value)) { - const exists = result[prop][name] || {}; - const current = result[prop][name] = { - prelude: exists.prelude || null, - descriptors: { - ...exists.descriptors - } - }; - if (!atrule) { - continue; - } - current.prelude = atrule.prelude ? appendOrSet(current.prelude, atrule.prelude) : current.prelude || null; - for (const [descriptorName, descriptorValue] of Object.entries(atrule.descriptors || {})) { - current.descriptors[descriptorName] = descriptorValue ? appendOrSet(current.descriptors[descriptorName], descriptorValue) : null; - } - if (!Object.keys(current.descriptors).length) { - current.descriptors = null; - } - } - break; - case "types": - case "properties": - result[prop] = { ...dest[prop] }; - for (const [name, syntax] of Object.entries(value)) { - result[prop][name] = appendOrSet(result[prop][name], syntax); - } - break; - case "scope": - result[prop] = { ...dest[prop] }; - for (const [name, props] of Object.entries(value)) { - result[prop][name] = { ...result[prop][name], ...props }; - } - break; - case "parseContext": - result[prop] = { - ...dest[prop], - ...value - }; - break; - case "atrule": - case "pseudo": - result[prop] = { - ...dest[prop], - ...sliceProps(value, ["parse"]) - }; - break; - case "node": - result[prop] = { - ...dest[prop], - ...sliceProps(value, ["name", "structure", "parse", "generate", "walkContext"]) - }; - break; - } - } - return result; - } - module2.exports = mix; - } -}); - -// node_modules/css-tree/cjs/syntax/create.cjs -var require_create5 = __commonJS({ - "node_modules/css-tree/cjs/syntax/create.cjs"(exports2, module2) { - "use strict"; - var index = require_tokenizer(); - var create = require_create(); - var create$2 = require_create2(); - var create$3 = require_create3(); - var create$1 = require_create4(); - var Lexer = require_Lexer(); - var mix = require_mix(); - function createSyntax(config) { - const parse = create.createParser(config); - const walk = create$1.createWalker(config); - const generate = create$2.createGenerator(config); - const { fromPlainObject, toPlainObject } = create$3.createConvertor(walk); - const syntax = { - lexer: null, - createLexer: (config2) => new Lexer.Lexer(config2, syntax, syntax.lexer.structure), - tokenize: index.tokenize, - parse, - generate, - walk, - find: walk.find, - findLast: walk.findLast, - findAll: walk.findAll, - fromPlainObject, - toPlainObject, - fork(extension) { - const base = mix({}, config); - return createSyntax( - typeof extension === "function" ? extension(base, Object.assign) : mix(base, extension) - ); - } - }; - syntax.lexer = new Lexer.Lexer({ - generic: true, - units: config.units, - types: config.types, - atrules: config.atrules, - properties: config.properties, - node: config.node - }, syntax); - return syntax; - } - var createSyntax$1 = (config) => createSyntax(mix({}, config)); - module2.exports = createSyntax$1; - } -}); - -// node_modules/css-tree/data/patch.json -var require_patch = __commonJS({ - "node_modules/css-tree/data/patch.json"(exports2, module2) { - module2.exports = { - atrules: { - charset: { - prelude: "" - }, - "font-face": { - descriptors: { - "unicode-range": { - comment: "replaces , an old production name", - syntax: "#" - } - } - }, - nest: { - prelude: "" - } - }, - properties: { - "-moz-background-clip": { - comment: "deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip", - syntax: "padding | border" - }, - "-moz-border-radius-bottomleft": { - comment: "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius", - syntax: "<'border-bottom-left-radius'>" - }, - "-moz-border-radius-bottomright": { - comment: "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius", - syntax: "<'border-bottom-right-radius'>" - }, - "-moz-border-radius-topleft": { - comment: "https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius", - syntax: "<'border-top-left-radius'>" - }, - "-moz-border-radius-topright": { - comment: "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius", - syntax: "<'border-bottom-right-radius'>" - }, - "-moz-control-character-visibility": { - comment: "firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588", - syntax: "visible | hidden" - }, - "-moz-osx-font-smoothing": { - comment: "misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth", - syntax: "auto | grayscale" - }, - "-moz-user-select": { - comment: "https://developer.mozilla.org/en-US/docs/Web/CSS/user-select", - syntax: "none | text | all | -moz-none" - }, - "-ms-flex-align": { - comment: "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align", - syntax: "start | end | center | baseline | stretch" - }, - "-ms-flex-item-align": { - comment: "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align", - syntax: "auto | start | end | center | baseline | stretch" - }, - "-ms-flex-line-pack": { - comment: "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack", - syntax: "start | end | center | justify | distribute | stretch" - }, - "-ms-flex-negative": { - comment: "misssed old syntax implemented in IE; TODO: find references for comfirmation", - syntax: "<'flex-shrink'>" - }, - "-ms-flex-pack": { - comment: "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack", - syntax: "start | end | center | justify | distribute" - }, - "-ms-flex-order": { - comment: "misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx", - syntax: "" - }, - "-ms-flex-positive": { - comment: "misssed old syntax implemented in IE; TODO: find references for comfirmation", - syntax: "<'flex-grow'>" - }, - "-ms-flex-preferred-size": { - comment: "misssed old syntax implemented in IE; TODO: find references for comfirmation", - syntax: "<'flex-basis'>" - }, - "-ms-interpolation-mode": { - comment: "https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx", - syntax: "nearest-neighbor | bicubic" - }, - "-ms-grid-column-align": { - comment: "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx", - syntax: "start | end | center | stretch" - }, - "-ms-grid-row-align": { - comment: "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx", - syntax: "start | end | center | stretch" - }, - "-ms-hyphenate-limit-last": { - comment: "misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits", - syntax: "none | always | column | page | spread" - }, - "-webkit-appearance": { - comment: "webkit specific keywords", - references: [ - "http://css-infos.net/property/-webkit-appearance" - ], - syntax: "none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button" - }, - "-webkit-background-clip": { - comment: "https://developer.mozilla.org/en/docs/Web/CSS/background-clip", - syntax: "[ | border | padding | content | text ]#" - }, - "-webkit-column-break-after": { - comment: "added, http://help.dottoro.com/lcrthhhv.php", - syntax: "always | auto | avoid" - }, - "-webkit-column-break-before": { - comment: "added, http://help.dottoro.com/lcxquvkf.php", - syntax: "always | auto | avoid" - }, - "-webkit-column-break-inside": { - comment: "added, http://help.dottoro.com/lclhnthl.php", - syntax: "always | auto | avoid" - }, - "-webkit-font-smoothing": { - comment: "https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth", - syntax: "auto | none | antialiased | subpixel-antialiased" - }, - "-webkit-mask-box-image": { - comment: "missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image", - syntax: "[ | | none ] [ {4} <-webkit-mask-box-repeat>{2} ]?" - }, - "-webkit-print-color-adjust": { - comment: "missed", - references: [ - "https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust" - ], - syntax: "economy | exact" - }, - "-webkit-text-security": { - comment: "missed; http://help.dottoro.com/lcbkewgt.php", - syntax: "none | circle | disc | square" - }, - "-webkit-user-drag": { - comment: "missed; http://help.dottoro.com/lcbixvwm.php", - syntax: "none | element | auto" - }, - "-webkit-user-select": { - comment: "auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select", - syntax: "auto | none | text | all" - }, - "alignment-baseline": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty" - ], - syntax: "auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical" - }, - "background-clip": { - comment: "used from CSS Backgrounds and Borders 4 since it adds new values", - references: [ - "https://github.com/csstree/csstree/issues/190" - ], - syntax: "#" - }, - "baseline-shift": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty" - ], - syntax: "baseline | sub | super | " - }, - behavior: { - comment: "added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx", - syntax: "+" - }, - "clip-rule": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty" - ], - syntax: "nonzero | evenodd" - }, - cue: { - comment: "https://www.w3.org/TR/css3-speech/#property-index", - syntax: "<'cue-before'> <'cue-after'>?" - }, - "cue-after": { - comment: "https://www.w3.org/TR/css3-speech/#property-index", - syntax: " ? | none" - }, - "cue-before": { - comment: "https://www.w3.org/TR/css3-speech/#property-index", - syntax: " ? | none" - }, - cursor: { - comment: "added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out", - references: [ - "https://www.sitepoint.com/css3-cursor-styles/" - ], - syntax: "[ [ [ ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]" - }, - display: { - comment: "extended with -ms-flexbox", - syntax: "| <-non-standard-display>" - }, - position: { - comment: "extended with -webkit-sticky", - syntax: "| -webkit-sticky" - }, - "dominant-baseline": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty" - ], - syntax: "auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge" - }, - "image-rendering": { - comment: "extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality", - references: [ - "https://developer.mozilla.org/en/docs/Web/CSS/image-rendering", - "https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty" - ], - syntax: "| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>" - }, - fill: { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/painting.html#FillProperty" - ], - syntax: "" - }, - "fill-opacity": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/painting.html#FillProperty" - ], - syntax: "" - }, - "fill-rule": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/painting.html#FillProperty" - ], - syntax: "nonzero | evenodd" - }, - filter: { - comment: "extend with IE legacy syntaxes", - syntax: "| <-ms-filter-function-list>" - }, - "glyph-orientation-horizontal": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty" - ], - syntax: "" - }, - "glyph-orientation-vertical": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty" - ], - syntax: "" - }, - kerning: { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/text.html#KerningProperty" - ], - syntax: "auto | " - }, - "letter-spacing": { - comment: "fix syntax -> ", - references: [ - "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing" - ], - syntax: "normal | " - }, - marker: { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" - ], - syntax: "none | " - }, - "marker-end": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" - ], - syntax: "none | " - }, - "marker-mid": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" - ], - syntax: "none | " - }, - "marker-start": { - comment: "added SVG property", - references: [ - "https://www.w3.org/TR/SVG/painting.html#MarkerProperties" - ], - syntax: "none | " - }, - "max-width": { - comment: "extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width", - syntax: "| <-non-standard-width>" - }, - width: { - references: [ - "https://developer.mozilla.org/en-US/docs/Web/CSS/width", - "https://github.com/csstree/stylelint-validator/issues/29" - ], - syntax: "| fill | stretch | intrinsic | -moz-max-content | -webkit-max-content | -moz-fit-content | -webkit-fit-content" - }, - "min-width": { - comment: "extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width", - syntax: "| <-non-standard-width>" - }, - overflow: { - comment: "extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow", - syntax: "| <-non-standard-overflow>" - }, - pause: { - comment: "https://www.w3.org/TR/css3-speech/#property-index", - syntax: "<'pause-before'> <'pause-after'>?" - }, - "pause-after": { - comment: "https://www.w3.org/TR/css3-speech/#property-index", - syntax: "

Automattic Airbnb

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 Q=*(5W^%uhpxev(;&^aHUDAcZ;1u1or12Zkpl0e z{{I@ZA57v!jR^QCF38B}O;GC!vYnK_GBX!TYC!*+E$sx}FoV zfBNNaSYU*KHei4P!}s6+|1X;$E(D#cCjoUKd_NUv{V{(FC__Nb#60t&N*rV`$bCCO z{U8Pgh6WE~Zw@S*q*j5-DBP`0qHzGV>XaCP{U^iBLf40 zJySe-;N_E`wS4?7pgUqfbr?Hn8J980p`esD)8haCmwKRu5B(OPl|0pu$ddt=PLQ4N zrbvs%U-hG|mxrzwpA23wkK#ViY8d_&(8=vz%3%RdEjah zbs^M$Req4#&i^mM|Ns3D@_fl{&{n0_=fSyMNbukP*QY=y5Bh+%SR$PhcVjNNM)@y# zey#)q=%}eF2SDeI@=ra;ajmvVrT>VHwQIpFyIFRD8S6jk3}lXaD9D6z(8b!I4NG|thQfOc#a*UyI7{(T?V z9`NGt*|R}=kl^JXX#KYn{CtOfjGzTTZ(hHA5eqQ}tR-VMmi6M`^C0?Q>LG~(5}lS{ zTmSzTHJA+z1$D5<_ZRv5KL3BgjASw&*fGfKXFdL(*GLS4Z3??!Lc)6 z12ing?%3h317ff_cDNgW7_5#R?uH-+i(`kok#A=?hi_-PfJfsIP#j_(Wk}ic`TuL= zo^|jZP;>Q#q&n!dj^p6XLVu@&nx~$f$3a^~4L~8l@uKr9=rWfVr;mVA|8a0D_8KUt zK<9zmgYGN&|3YjxSk9yK{tIcS5c6)(0y75idN=UFT-X=e%BX?cprC`4JwTPa4Cs1q zaET}k-QNJIwBlYefn`8z!XPW-z>46TAf9{yFTi`zv+MK!7Yau}c7s9@X}uJzKL$H5 z!~k3&^{Sp~M{OVEgPV6HfB*jX0iADr1+)4OC`6e{p!{=l?Il52JQ39T*%M{xOwEVrw|Ryr{y* za2OokkoznyqV0E5oQBx%Bnr0W`-|9}s1`8rZ{t7sklCY`m3h4ogGVG3G+gJnEp!VZ7OaW)45~j$*kg*_e=jbWOstF+V z3Ly2MtBm%62B!XtHlV8q$-USLSN~zP1jGIU#DV1j=;}doFIwU14}jEXAk-_Ms|U%w z2!*Sk08(FpQ2${vn)^X=FI3^`6F}-g=j21(e*j%QNbbeg9iRWFf&FU$QV%+2AF6%= zx_Xe@i=%M$3?TKO(J`p{1a$QvxffI6>MyL4VA$_~aK8b%dXU_URJi&DAoZZJHK_Rv z=;}doFHFJegFTwxICQhO9w^ZQof_uFFW}C>FW@i1FA%N)x^dS4G$)||y3$zSxQhx0 zXzu5=839G0)dQ~uJ-XdlK>czakUr3SJpVRUHjv9ep$BzY+9XI!XoBt^v+(Hj0AII` zbjtz1V1NR@poajzAm{)vhiGVm0~zt6WIL#MgZ9QbUVvtqKm}CRw$J}x{M!#IA&~Zq zfp<2s^0%J^jk@*n?$t%^Q#GUB)v`mFfdTzamnY!GUGPg)mVyqH==}a)bj>8t?tpUe zh7m2_ZaYx3e1$0Z{+7UIth)q2%Xi^N3dK3bA4a$8BzV;&+$#9}EshYYz{|%$HwnE) z+}{G4p+M{e0NJ1_3<}!L!#=&LC!4_T0G}oI-SIzY^V2yRHd(BFy} z$hbTaR8B$eZ+R{Ux^?Qs%6$mwEfYceMCuh@c#D8r=r2BR`TYMy`##j-26_E4==>KP z=l4$lFTeQb(JN}J1Bw^u`Td{`1TVKjF8T$Rr||Rp%_f3Ey$l=_R-m)A??F^Sw^jXr zVfq}@2?6b?;RJV(Siu_VVCVOnfaaP(E1h}e7#Lpaffpb_&h7&BN?uL?t-$E56L9?I z#=*$n!Ume*M>zrFw`?lkZb{@cL^zC8agYBvECQ86k4 z;2mt;aS|S_w@cJP&1=vR{tp@i7(Bak!RPmv9RG`Se!s{6)0pS?f9wYbq6Mgj*TM@r ztg!R@3!RUD|G)eQ>O(aj1D!R2dcwy`+rK~l`*uTuN)a^nk;(xIh&lmJh-3I$=75G( zAm{f7G$4%^JU#}la3SaSgWdBIG)E3I419h+=%54NZjfQ1&2j%1~)XcZLP62d2s7J5t+Iq;2b9jFR zw%^_a?A+)7FM||z!=Ua1 zVtfjGUrh^WejPNX;PLT~D5J@H zbl!kpEpX$(-~XV92l-9lzo=#(I35ka@#qS=$fEQ6iWFVmnniK||WoQZ-UmX!2uK*NYUNVUA0;R|oD}Vq0|MD#>INgDZg&Ckj zTR>wY^1a}Y0BxNF^#n?Epbq8m=#@QO3mxBs?5{5QjBp?LIJ{?|<{y8{R7hlU{1?5{ zBf;>p4apiqm^C|kAl85)PX^?e1h6VduHXgjsi1)#$NJ$iZXsDlbZ=uj_c^W_UA(5c3+Ae%$Mi{e04&0N^Q z`zk%4;u>^?7xGC!_vGP5v+}olf|g+P@@AqK4cU)`md(HY`}-dhb|5RPU{)OLMtJ)u zXtF31;uvroh`?0M2CJ$AZ>#+O6Vzz`|6jBXEC|Zf-(S1}4JGIyX}t+kl>k;%hq%CC z{u@v!ju=w2?*@7D|9??4uu4ez|BD}VAp&T}DAp3|Ha}>`DRd{VI%Lb-i!_iMRv~SG z4TZVkP8Y(H4?rOfI#(Q0CdEm3{67r6zyK}1E(hh--gE;{daZf`PFb&?q7)b{U~}sb zXKXzF0S%ihh)e`%Lpjp;-&aspMR?t%3+i=ih;s1Z!r7)(!OJD^ z_yZ_^fzL0N0J+sp5t6rFdN$XA4)C20D)_tWEdGmL>6Bo2*#XLio!?&^2i20Gfi+Ni z;Cck|-~a!j8#_Tk1=)O!aCr3>REKwWLLJ@&R$d0FZsvh^k~lklY`DxyaW|KVBc~47mb8C3!GHIF+AfX zY7ASzJfPnJj^PZ??zjT5_Z{H=uLq~acQ3(l1v+234s;)cXLnu3f6*W95)6*~+uA_q z@4zmE@a)|O>Q7^7#(-81pj-%H`Sr*D*9ACh3oS9wHn2MIZ~&1PLVOqH1MR2gcu^o`xVQ|Bu%mP%%ZvP6(D`_g%Dt#vls)zOVEW7VBS&?4?M8lTPN^hI*13l z5CSZhDGI$10?fND0lg3c%sUI>fi8pq^Y(*yhzlVug6~)YA5QiCMY8Pw|1X!oM8Jm{ zo`mFHf&ZdnZ4wMGcY&slAO~nY|1Zki25LIqe-X{`|NqMapqc`VCV1Yobu z0hs{0U$Wuz|CgX^Uck`=wr~ZKL3=dmybbLZ0Ld%JA##h z;uTg_>Vk{~?Tg-``2YXQHdugyk5k}pSqWZF`2Qv75DVBk640$79iVw;NaP~Ah>x1U z`+gN(NQ#5DLev?&cmSG%>#nnS0lJ6lWeiLc*w0%)sv&Ks7a1Tw+k#x#zW($77fm3d z7DQC6hlV9mf8hUV@OjkW@&Efupt1Vrp#9L`>i0ZoU>aQghBiqsyaes>cwquJ15$tg zKaF&L*}4Cq0Y>otQbheG*#wHS|Nlh=K!$*h;d$|X9n>M^ozg$L3@Iqz1W4K=`dIm187UIpl5G9xP8Ze2BP*AN>gWMBRC)pUVKmhC(?u$ z(>cJ5j2CjCmM|A+oj@$iaPWGpv_=VrG`Rl+eS0DIXUHD|c@N9|8D=0WKrs``^8f$K zL!ikso^_!8zc5q5{uBVI0*%MQ+#7!y?p{P+ zj{l;m4H675L9-?=T(Ij0-{&F!2xJu`y(BR3w`_-`myG|Ssv!NKIm{O<*!6?YKKlUx&O{zUK4) z7mL;X;B;QK=SdEov-gl`wf`0l!Z7aJjlCA^p+1U9we1^;7E^W^(~(KPS~ zH0bEZHH$v~f8hYK#u`MJA?!j5f6y#CXwU zBd9%vJU;w=wUF1rvE*O=#-Z>G8LaaXz(D4R}=wxL}5#Pt6Mv z1Rn(@2p+Tk|6lY+HP|Kv&}jJ|&>$X`^Qm1x<43s9rv{D6!Y&TMeLi(R#3Jw^7O3Y_ zKYjNXbPuQixZR5Hd}^K?jPWJ#eFj?|fgCS>V`5nqP&TPrciN{)GC<`Z{`0AmZbC;52%S&O`5KfLv7S#I_wDb0@U*??&A-UE z*={Qbg(Kp8YPSdAb%i9HPhCu}@Dlla>fUsufQFw>%{~j`eCj12ouCH$OVsnJ zdqCpEo=+VQci+;P(0~A~_j*zO^B?qlYPH2sad0O@AEX|7N+hV41U?Mz1=C{G^QkRC zy20mDzgUE<`(r8iAXtGHD?mLP&~mT&AO`e&>dBzh`Kaep9{_0ppMlH;wK@bD%-0&Hn|G#(*Zpwg81qW>l_)-Eg6776y`P-oW z0k-q0kCwnv4mZfG`7pC4fZT&PpL!m+^MrCfbvIaNwZV%?zd?BflHx%dn_dUJh*XPUC(8NMelI`)0zNOb8njFs9P5@46D?jiKum<3PYvq&f<2ox9W?*F;Pd|% zKNmow8zsEY@wcFyPyOl@#Ez#gPA)(>4;0#7_36$R0H5WLQAM3v~DMf6*F{A>hgtzO+jd+%En8V&jz0 z|6jPyLk>`ce_`jT`9SQ1ds+u<9%9uPDC0{&?M;{h=?{YZ3%f5b2Xr_js51Fn0P+pd z_vMBB=VbtU6nB)KEg{!^C4d1 zMbV9Rem3kzB$WH|e%}R+-9P^?+5|S@{|hfr#e#fa-c7KI|Nli3Kq|1@m&cI+YI{QZ z|FHY=rYr-OJdpOE1ZaZ(DRLzs3N{MQeR*5rL1u!^+lKBJNWKa(5M#dpXrK{vclwb$ zPyqb@FS5>q{c+dH-gTW1C4!v*GK1Fft1}Zk;l{}AtwG86@b|JUz8mz z^8JPX#Lxd3HhOS|K%79}{xfdScq4c{KBDU<1u^Tts36qkk$s^1&!&T%kGvi& z0NlQTocA9FJMaH)7N}!Wjd9+8Ycwc%AfNXyya<#)pydU|dH++hK$!&3dH*J013~2v zB)vVk05T3|dUFMt2dnF0XJ-Ca)dLBGPZNcSfev{Gr$J$mROkH{*>C=#p7;MN6X$vV z@)xkAzf+muxcM)7FcXpzID0?;e=!%_0y_p?1ic~?)Ru;n&!GJt;QKtm=l#d60~v_a z9{c}av!{#MYT(7=pBWh#z)pf0q6{%)2bv)g zFhfAQVv#)P4Kf5YS4+TypyL?%x3MOo8GA4l8g8JKA4tZ2>H7TtWjMIsg)L51AdVD9 zGp!hA8sanuaGWj!nFcx(!UJoZszFRUT7w#HsxZ?)J4}(>76CGCH+XCwX%)66#E=Fw zLms4nJy`0FWPo_rXVCp}SlyxsF~$O3naV{G|hJtSvVLZ+yxRoge+`x8GK33I%F{okXX`-S;%4{AThreZOCE_ zATg^KMaW`rF8%-iTJ1#~ve*rfn9vI^WU(Wcz~$VFIqjeSzc82xs=UDCAE5S4uxICY z@Zke;Fa9q7`rorNj>8d@KfvdKc^(Iy@W!x$xm5at$A6C>r6S<-7rQw;I*)@pFfThl z!MZY_t%aTUUwCkXcKLjNVbBgQF9STf-6T9Z-39ms+&K6J**&`Dkf+MRKnu=$ZSzAw zF@xEk2lr_qJr?AtG6$G)r2g%mHsm57`952;`4~e`;n~Yu@?U_#BblYqgYm@w2gvg= zOF?t}xb6#G3z7uimvQdJuWR6%7Q8=P;YAE+-80ttm`h3EDjYH&^9D4;)d{^XR2k$H z=v|TE_2NPx6lmu={pw7qCLIhFgV=^E%A?9Nafr@tceW8J%`SLAS|NejJ z0}_Xf_o0q#znltMq7HQucs`~cv~&;ZB=~)y{}aJpLd?g2&dvvI;C~T%6*LA69gY7F z_73>ANd6Wzs6n7@Qa-(=H9_DJd3gI3HXg5X0vxK4{up#V267oFcwiaq;fA~L`ItE% zD?0zbyba!APWZl1Q&5oi@*et&6#H1`W1JE9g<630K(@lad<5|Y(hLm0JUBl=?vqUe z4MBj<06+KQ)^)H?5c4mYpxx=9sa4p7Oaw@Pi2Fem-t#hebb}j#{4Jm=96E?E0n)z> z{eNNn6LfY4G{$+s!2^zQ zl>0&Z0>H72G=2z+Z|M4X;$y!_D4^mnsybW3S`=uIB=GM z&A-Hg)`0h#midDUKK%19kM=|6U-(-0lA~~Hvg0Z-wrcFcH&2W@c8fjqcp^$`S1^qZf3|a`$&ssUoLpV%K)Ce z3Ez)0d-Ed}6a80VC6-;apZ~w`1DWgzGa0G81>Yw+3A)}4e5ZufMTi|w zUr3^~*W{tgn07(tS}uEm(msy18Dzd;15620drYSmwLRttyS2$j0D95xQ2qvH#~q$cz|26|5c45(dQc! zppM9>feyF*|1Zh|G6eg4gJaF-|1Yk#B0Cs!z99!d*f{JATk_MtLdzoR{G+bUZW+G!`M@+4&E2@&fp}0grCE7p8N*{s)~*2tIVy@wgjk z2QY(Yr<~(4HxW=8A7D{m0#)zP%RAXhh{2eV4ICi@$bh4=Uc9#o)j^ruj{^0rF?FWA!185r` z|2B7(4)Ecv=^Wrgh(Wu>Ku0Nq55L{U+L0rHa_Z=d5OBYrza<8=M!xen=xAFP6%LRN z&>4BY-8w4#+gO7@xY&4YLH2`A$lw5RK+b;& zy6p_)K+u&1;8R0)WlJ#Z2WG2_7$|6rlh*^bd6KB`E4%Sk?Ud@5;X|-@v!K z9&*eWsH?@ljkPlqHTk~`gnH2$WEk`)b`H?#%mu#P>ipYSBS0FEJh%g9-!f306b7?lC**(}u=kLibQGik$w{g(4WOgxJdsl5 zmZ^v^cPIU77~f7iP|*(xZ8whB)t=z99GqERo&sNOSpMNh_eneyrH}IGsQvL&39*svpg)V3W61wOFG6)GOS6&F0euf^~3-aa*7F6!nlF$ENB971n<((G~ zOFp9>p?d)&06jt%tYSY%0Qm^rbsz!g5xSs=eK8j#06jt%EYJfIfF7X>HlrFOzz=aK zSVdL|XteZ&!F^CG_b_-`StI~-&=2@1*8l%S*+4w_QLI1wB^X|tfDg`q9!UEPbUZa^ zs1&B*Do6?BK-&NRMUSKKcKSn_JA&UKLzF*@pw@o>FFF^bQUz?v_y3~(Af5(<_u>(x z`S{`#L^(XaYH9rc|JokeH8(&ax-YCi?K4vlVNe6L;s1Y8Ymk}D$jU*Z+MuP(g+-tL zzhJF_-z^EALFVxX_by(96oH0N9Z=>k!KZ7omX~<+@=kpXs%oLbir_x;V^EVn3(S<@ zVPJS24`#-Ku6YarGdF?8jJm7AyOo`MAv;I!fyPmKO~dU$ZEw(Io=+!ekl?ivNQdJ- zaO_oqj?H9q1edd(jQ2ndwe6rSu%N5`ptE@YRYU#2ZEK%iU2d3JSHWgo1^4C5{2)#eI-#IbM9Mf(U`;#{T$1bh;EGg$H=O5}y4M;dgi$ zK*I~&*!D|g*?~NZqoV<7HzN-MTf>wibvm{efE)wvFCyAQkoj41_e-#xLEA6E>sF4%sFxA~xyin(8+)dyrd@_vcK`9$xR zus99gFQHZW`Tq;mO0@n8>^^j?`z6lVVD}l00s8qc?jh(1P_+FLM&6(xC4axfCoj+_ST*YS{9TA3 zc(@wAU*d!p*e1mIJeK_uBK!XSe+imcMVxAeG=TQfQ~@+d77e}|6Ffc-ns4<%AD@qh zScDj#&xDQbY~71AK96s|#2qW}h%LtWe9H!Ks3MQoV(gcAa1=g1Pv(A!P0x^GAM5zM zC}MmbGVpZ#hX?3vCgkD9m(Q<*#{`f@>(ltq9J2$Lm?v;~%eIf@i$GTKF zU{g`Y>t{kVp^eukZ$cemF9xXs4fAAytVWF2&qf=s_XerM*e@Z9W|}HU705Ihh-t9# zdSA$R{V{V;IS8tXJv#6Ebbdhd=L1kI8?Ath*Ow65FL84xC@)qEcyt$|pD3UQ%0ZxG z4xcXni@aZ=%?%Weh!J{>R{!4x z9EjlZm05~`0kU7>QX%SyJ10mtc)!FB6x|0wxoM{M{a=9y#m3at3Gp|Dq2;46t+6(?9=zvAY1~X3&0# zBhDZr(Z=83uLKRBV;g^;3ODO^+UNf-@?mD7jlbt@2N{4e{vHk1S#9tl=@clBKvMiP z3Gn#4M#1O*FO*?sVHtmy+YSm4wDEUNh=~?21Ry3t#@{7idB_Unz;pSZ|Gzj1ZoIju za3GbR;PH2q{Sv!&LhN|@VrKs5|CsGneETK-9fy~f@cju{;L$8&o{StY{q2Uis5S-v1(=G7mDbjuk$<)vPU#!jh{Qt#@ zJmj_@IQ)_Q-!0$G+#B$x`Ip*G(3M>LPN)8#Z2qat-)_JO$}pl!?txkd(8K*eJ))PL zpu3mDFW%K7eW36IvdB}P8o$pW6uM6)WiYoaZn}8-*N%uuFn52@)!R7|FR6yX5@G=aqW-)FSmlEy0ay~ z$1;O@ub>0pp{<1t2B7o#AnQ+Ez}A7ftRP9x|7S~|g3sUw+2+w*Eb$_F<-h+gL1*wc zRD%wS1Bqjs>v*Ak4%~L*fE>$IF7QGNbjl9W>GD)V~K;Msgcz^B(# z$v}W1Z34*uAHe=EL-N0X$N#gXPduCJA*UA9EBqHVwuhX+=Wf8?@EA1W+g)$r+nw*= z`Tr>Lc}t-C-T7NKg3kQ{_b<-A$b#$~ef<;^IUb-shQ;6i|G|l;0Nn1coCs|QK-1Vs zJ8)2gRt)gBq=Hk|{}(I^{{DZ-4PN{QZV5=d__PvKUR8q**K+`+I?&w;hHRh<5%7lB z?=!IQf?RE21-;q;6eRrm(B>RseLg&VCYNFfAHlJ*v^EE(0f@nYgW#n&p z2x>p}rWbhrKl|d<8IVDc{plPpbU-JWbyo{`Laxau(S|yQ!>8A@K@XH(p!+3^mw>cE z(JHM>ZU3U>$^ZW^Pp~jB zbUT9%(qrXs4+bsS>gC;k3smSJMs@^VNN)K1|K(h;Y&FLVYmm{PTHOf3ka+n8LdznSkN^L_jE8ArgUEo#e!xd`eVq$SGoW<;Uv#Psw1L$FVnEFZIQZ}XOKF%H zP9UBbhzFXUrVr)O_{zzfiQ)xO>75x%WYO0+yd zwZ3O}iHg9BJjw`Df{%Jv%S`lkd_G$}==?d*`UB7IdW-*}A=VNMFW*BV_vK2^ zczbWX#EU-2F?}zt^`Zv18pLTD;2Djbpq^Xj^B0M8K#Gu^_umTYm2XxO3@;~wOz*t^ z;wB%ccB-~`VE{T6umxmScRdIA7LL9}pwNKiDjSvmqWi2s4dQBr|Dsz!MqzYI>XstZ zgK|J0NEN6l-U?!LS3`YyN8`wp}*(o{_wRA+-qU+^H`wU_@u35}@<%+F|G4fu~@he;tpr;xjr98a=26pLS|)XD?0{_ut9abAYkI=Dja`!R6H6)gMlAKXs~ zw*WWEVS}g8=ANnpNEp%-Qh0HA+u#4MZ($i@DQS5PKGNmoXHYHF$)e)fj2!pB&7pDs z$y|cr<$0(YPzPA>{J;M%7efU=WqC=6XE!L-pD>qT09~#JGRmHzBmz>zZ32nzIu%p z-Mjw%e`x_z-}(Q=s-6G-zXWZY1X%^jGoIWG3@^n%cN$BifVwCwDn7lYPt?&;>Q_*` zgW>zXW>DXMF_U0;32MNBOhpZ$n=myOKx%BD=DgH`GEfz-fhk@LQk(}mz|I?Fq))GD zAlONuYy-*E9-#5}8Z%G{Vx#ina3sX-pumG|GK>cs_W!?V7|5{wpn3@G1A7Mk7FBq) zY6+4A9U2R=2U)uUOuM+51jFmB7eA9AR=j)(s#-c(R9-%SF|I=yuggG&fGbWA1604h zc*(`U@Nz%sgti?}13Y@GEnWzH`Tzgr3Xt$Zm@sIL;r0&DI?`%^7l(HL`~R{7YA)EI z1t5dUKsxeaIzSceNzlCopap9OKL7v!G7PE%lmhcP85mx=f;8A6YnTC22RbqKg*r?a zbfb;q$$$S}g0510A&~U>|7%B(2SBDs?gYEY;Dy7EfB#>Cu9SW8J`oZU$f5Pg1a$0G zy~K;k%b*=n(7=Xt6j}~IYuf*!r%k|l@xSOH5Ce455oZL%FtAcsM`Q^|7Sx!8_E!vE zEZPlrhQ*7>7ytji%m*3R$)W-dn0AmqV?hVTg(ZIe{~{1X_<#s^s5`+)B@kpJ$if-n z5DUTeJ!t=@XK#)Q_&&gSSD^hjPf%UK-vZhM0jWPlOrR?oUwlr0=!UF60`1Qd^zALR z0G0Cn8$n&!ub}hikc)^L#?VZ1-dKX+C1~9B#X6`V;Qd}Zj6q`oAaT%nXlMCbqQL9Z zN>spmQg6)!8T#e*(-)P7 zya?L`W@NnJeg6OdODWJ=N*QFs)r`SMw7G!Y13DkCL|Qy@{4cQj1ypwb7yW4j z%7WDvFBG=@`~MPj6vK=2@t^;{I28{GD6k)|7=irg0CR7N3fR4JVE4k!gA{}-jlj;8 zc+qg`AM^mZdbm-~|BH4SfgJ}4FYtML)4}0Y4&L*5y9(sQ@2{V|@B%r)6{-{7UI)du zZ!gq8ec-d^!1jaNOQ0K}An~nYB*E~K5wvoX8EOI~zCq(fLLmL%^AYY%23ZEt4>~~Z zIB3m6H>gg0Vkp7z5;Oz+;&2=!7|`?=fZ}W40fc@;S8RnLYTNR~d(iQ5^${=T?*K9?#4oV>G}T*e+&Dc z|Nnh^%fV;t?Vbd(5)>c1Vo~o;YJMXDnyL7~$=}`$uDO1D^zv4mL+)NQ9|q0vyygSt z@^8+dy93NYDp7`ZU!Hsiz9x#}#Q_kbJ6ZtLB?q1UtOuGe^8}q@-K#622pSRq?GH`+ z0SbvD(?C9Z?g%R;#)sHs^D>O(2K za0Ocp>M9);@Mt|y!rA?VM1zM;e?0#G|0Sr= z1adE^J%RA%en-=Wjs?zzxJfG99$87}^5jZv{0Z!EGe|)*w*P3vDO8 z-3x9+alFA?Cqx1fYrpN#PzZL}xw<8H>KL)QtKpW9l710M}$~uV`(O|da z34n$h^nAP1I3Qy#wwvWa0SvzH5j@`FoCXTu_m2OsgA_o=8xW@$9?=6eG~G17y-(2U zG|<9o0iW&)@XVx%N4JZLfKPV@hiCIq4xe7tP_XGPpo2tn!RKYMOhujlIbZtJ2h`z0 zUhJQs2P${J{}&C{lVEsl2Mw!IMQ}KkNi#pUxA~? zquGL?gdf7}uHg7D`auWc6@mYvPj#R{e+MeY@j?k?)i!V|4IEJK|BLR|!5EJR*Jqx+ zF_8KuuMlM69Z-FPNIIQ5prli$@nXYz@P_CAqUCT)_WFbB|H#k(U-%$wdj4NDR0mZ3 zfYQ(Z^Pux$)4<0a)Pu{WXRlv@higH@Qyl+AwLpe}nwE+n2B;_hA{}Jv?+DO(TJY6A ze4wj+gh2Pqy!3eqx`6RG$IHq0{{KImHUT{OdYl7M257$mr5(tj+QN{O#{*4yFa39c z)-l8T@}TwzXg?z4yam|lAKc(9`sC&R|F11U1rvCj^Zya}eycy={(rp%XsqJiX;7vE z->-?-z#pj%F1z7tvi_^OYlBzAfLle@+TfUa(d-8r(mv*id_Q0RX;9gXb{+s1#JK;W zj8L7PexUPz!asxWw{k?RZ&!pI=mP0=#r;>ksD-fgs20RlUO&_kaL9Th@cJ3p`ukh= zK;^7$ur#Pcf;n~%UU~r;sW*TrK^m!F<5iG2x@_nH+aUlL=3b*$^mk~3v~VbCr$MA^A9v3p49LK2Q9cOdPWm8WmYY~ zPy#=%=OlQf`}+$<-_QSFObtVGFEl)1`}NPBBBQ@#fTUdKWhEU!Z#42{>`5C+F9IwqGVivFUJi9^Havbn@ zt>Oq`_40axO@)poLX=6oW`{5ox;1=ycV~bK((Yz3)%-)1zqJ{>)1!F;Nc=dM0`1TD zX#SyEDhpabtl`ml?}e&57lUWBy=sX%s0Sm?!NBlZ7F5G%@C!79Zq?-%=w1O@GAihz z0=|*U0aT26cy_ugfEXH}>$AWsn=Ksq1>FTaJJ~%u{W(0r%@tMt7SM^y9?d@l_*)s6 z7#KQpR6y&xtL!8gAZrLAx3t|-gRb8!1dV`o9`Wfk@Bp1n01oj^(6)i&E-Ij#;~6}9 z!EOS%ufnHybpay-1Lz)AhS$Pr6MVW;R0MoGP2PC?KkCt$qap!wL~9T3aL|H>gRB}f z985srz|YRW@LCHrf&?#fK$e29>#pDzVBi<<5b)>)2Z@IO=!&pz7ZoA{rKAWHAf-8u z`~t2FP%{`jj)UV396!fhR5U>A^*p+p8$eOl*$hg1V28da2MTjozVjGp@p%Sp%e@A_ zfRBm=zd(qJ2WWY11lpE+!vj8@pFA3mfN~eSkc~YIY9ML*f?Vv;D?3#T)H(v6cLKRD zafvuL1E^yJx(^9F+W!m`91I@KH7XnoCF{UzP8X<3Fn~p0&x7O$gO@KsCyRr!PV<3? zmv=yO3!udp2OM5rfU|jCg6=v(q{J69u-hQ@?tGN1HioqtpaKTAkri9{x*3_ZU*1Z@1Xh_94w$w^8ccpD&YF;#YOke|6im+ zi~^-2ju-X(kh{~igJiq|LG?9aJ{7bd1YGX@ZrE?b$iTqF-wN78{H@uRk%57czhy3{ zXMtSMOaX7ohZR8B${R(HwHcuDW~&kxgGV!1t!jxDD6cJMW?*;?J_#iQv&<>r7wiEC z5NI_vDBZwHo(xdQQveFq3alm14^Y-={-Ma<`VKthv>0?odBbj~e78Q}~JpZW8f-5D7e()jCLR07iY>kfS47ib2ZwgFn8@9>#lpgA6-Thm3w zU*eC=w1&-&rV+f&*oYU2L2XM zBi^&q71TlDZv~zG?a+~K>J_d;CA)*~y{;YI5X)+|YOgG%<%%)OdDY z0~LAT?Kv49y<5QU-KD|A!0=ymG00J!_g`F&1}P zZ7GNs0pjs^^xFD^cwS!M(&oRb0C*x`|s1yr}`jMc))aAqXnuOSl;rUVC_g z4t4wgUv!#+1jB1xkoxWx68Zkpy>JjVv+Ob z|1Zo?nuDPIlwrXEKHcV?y?*~Zntv+q09R4`P6s_enXDa@xIB7!_wNI>eOMreWI)@q zhdsLMIbMRMJUqZhd@q!tlRnu{^j}B=A~>f15i; zugAaUpDg@M{{R2~Z#}@@;tq59(f6dZ-<%rTfhDTo8kR~zx5TUYDV5P4{DmeELzLU0FH5RTDu|# zX$#9Zp|)?4%4g7c5P$Q*Kg~bYc0ks<9Q=Qx`G+!pdpCHh05m+bcQ0~GbXP+szOz^v z7+$(S*P(z)-=&~sFQ7(yj2yJl-g*DU1JI=_|3GyBWLycY=f6+@w1f$=ra1Ng|Nk#9 zgOtLLl(+-pp^iMA2d|}p=y)v3!0>V*NKJP%hv5MaYi9n&E)W+KeP)Ub3@=;2izbRW zzzbMJeY%sucTxTZxBj317u_Ta3L((IXm>JrrLJ%5w-RmN-W(OsU6dhwpaul^ybADr zlqvk&3?88K!moQaAC>U@f3EZ?s8$vLcgi`z&4)x;u-7fXXTp1coYHy!g^VRP!^=nD zS_C|{h86~EyMBPqkq3>sy+{NdWq%&Dk{momUMvAllD|PamLT_09^geV+PnA_6k332GQ<0SqXX?Dumsyj;aVa7~B$YEX)VgtN2}1H(&8P`L~p z$J+Jx|Noa7Ad`EmIefa46+pv#OaFq7Kz#mRG)4wABMa_gRWhF18&Ft|1Y{&8tg0qALz1VL(s$@Xf2UXuc z*&r9)1SJrt6Qe)^C%^)b?1sJ_`$fk}kPjgCqi+0Ww(- zWKccCeg)8&Dkw7kfL4BhGU{e2a6yKi9zi(_Yi`|~3p(Kgv_0+ri|sH&@<4__)5RxY z28NfQ0ew)wfvlPcQ{^EAUVsGNsZawGG=^xE0J$_Bw6q4)6M$(AgQ?<$XhkekIb+HV z>S#jN6>$6)eIp6V#sB|{K9+>UAIQAppozOyP;S8Ll@(mzf(LXEFn}PTx}G1D{Cm?4JpZ42u`3LmGG0FgnHnn# zE6$O2Q~Xyo1DgsNq{2TuI%he?@F=LMzyU5BK)Xmm1C0MgpGrtDyi^7yJ?I$df6+@4 zppg0g!i$}O;iWvNb<6E?7}k0JCAe(~lL4Ld0hc)nPL<%%$N&FD9YMx`8u@Vfr7(GrnV?|;xJ);) zOdX5^9?|(F4jR!p3?9k116}(C8kc`@)&)9f3s!Rtqy{v*3&{`F0xwuVNx~Y%pp76! zpb6ayknf@Azk{|-yc9-J*9lSwJ?G>ss6hDwI%O>e#llpOn$G(#K<6#KyaJN9fysL` z9|mVfA<)?*J3&&4aH-DwFF_}{fxQiOxGcyVs9m5%Zs2K(7ayFFJ@-=#l+vpOUQCc= z08Nu$g2{Sx-hUkmHVee^er*M2gX^ZFVxYwE|HWNU&%e9c-~|gC1H)^*7t@gSN`lpc z^zuVk&D9(XC6G%bTELcqT8gJEp^gD5dcu)x z|8&I*0Z>zs8$__d+yizszZj^miZXrzo`1ANnt$xpgY;RSy*T9rci8*?qL)QMBhU<< z|IdNOpCR{g-H!mN#d06lGEs1lTD*7*TG1!+|Ns9NHBO)ZzbJaEfy+7-fCdg3G{Y{=Q)yV6G{-5J-*$h<=p2M6K1XC~R1U}y)0CYYmmh(vjLDqFb zjv{9j1;yX@7rqwA%{kQbt6{BG=*mX}(CR~b>LtE1>!d zG+p!*Je4C3+9wG%3tq0UW^-4UrWGYc+V0d{9RAx3GhiYk5 zWnlQ`F2Km&vIivI9S^SivO&vI=0XI(I-@`WkikZXQJ!D^|9@TQ0XHWSbj?}ke~)g6 zv=-z<`TwF1g+M(Lh^eWd&9q*g2vsaFRlAW?*@IN6AgQ_sTG|4dig+L+x-=q1s#EZG0Ze{QbeS1hB5hQJe zBwYuRHhCd{BrT039S@Qgeeux_GKmMX;D;c{g6}UJOkw$l9W?*L3YsO-0d*5Wy{=NU zyKSL8s+Zmiz!fSewhx2)eV|(U`6tvt{^^2<^wSNs?6L_s{UG{J0a)^zgio)k6cbv0 z15eMYFeBwR@Nvty^P7Yq&iwXQ07rfUul)WWjG5m~3xERa`3qr_&;MU6x5dbBp#8Vt z^RQe0m&AjQl+Fj=J#Gk^9EVKi+qyF%wSOV=`CkM<{&^0bZU)WgpM}il!x|Q$0^o)P ze9Yv(s35h=+^l_a707PMGc?cVo(pShyk)*KkWsm1JlBY9Dq_p!o3s64~ZT`c?+6f1^Gt;k4~-@y$($R3$(e4rM2v4T%`wT5T& zF#*r!_l(67ujA7ucy`x)0A-&NGtcH@3Lx5e^nJeoN1nu4{7}oG&~{o zOTH2`y(4+;HZRB^$mX>3VxXa@=P$$!KmUKR+6pv24W2LU{QY7HXbc5*AbH$>)g`=$ zEI)%6l(4?Pcwm4$p9k5`U(eyuT@LQaJo*b7f`)8^`u|@v8KkMZS^~75guRdtwCwm}l_9TojaUzQ4Gy_xb;eVvEoJU*uVUiWe;T5tJSv8($24d(%OiUZnn@ z=Eocr@O~iWzg(aRDDVd6Bar<-uvGj1zo;t64WPxv-Pxe+Ep1(aSIK#cBc@U`_Zunjg=phOB9gYxM$mH*Ap01ADi_Ah9^&kvu@_b(1}gNz0( z#Rn+{H8`IjTcQFo8)S(zh|yhb;nSTB+6(2=`5$B=rhCErFaE`V41EsXziq%!0vc|D z)br4KCicJTX--gifSh{aR}5_6lwf$71lp+p8uotwUvxevwD?Apr=ao%yxtSMHdGE= z;Gm_)OipNeOaPe&I%NHYy%{(qBJWoOuXnZ6!IJ(oVfqz7`fr1Ji2qH&`h7s_gSbGB zg8Lut9`Jh3ICD?|2;MIWFNkh&fX4KzC0-PYGBCU@d$Ac}7A!r1)+d72--6ed?u&-H z$D_I0fT5%u+(Dbk0rJoH7Z0^R|9?>m(TzC20HzDIuplRg45Vpt%~fRmY>Z zI^cyQs8QKn9r3~eG+o$To$#U^bn;H~VFOUxs~Vcuib1xqn|}WPg2@zo`3hvcDN=h2 zw332X2(&w~IK!tqy8v>j7btZgr8jtb2JfHHb48?&1hD(Q{}ZqVXFP~C}T zDIC%zJTEtZRHM|3poWDv z>#_`~mj!B4f+~~mH~1TgK2PP993&2(g7-S|@PQHlw)l6KTo9sViVr;RE|{OJx|4z7t~dRjIe`ddS7BaPlX?15x853djD){1?UV1 z@Y*Q;7JTQa^n3*u$?)<6Hhyga?*F5VUt^r7@7WIgQ`7U+Buj`Po#;5knPG(G=fGian9H1ytj8~1rCeV@Uxk5oRwS6cK%A(AHnSq?wjW|!`SSEPyH3|36eqjI? z^58P)1?YGJ@WNR=73dHsa?|Q01E}o&|6lX~1FrK_mcf+F1u4OKo=QE)Qm{owl|c&- zUQ4``Lm4WM18Fye3-y}venbjr_<1Vr%Afzgd;+d+V3PwXAe~swQ{e%LgXU;nZULR~ z2Re!#Jc9`yPliqo!p~E=|6iQJ1MEIkWoSTvrbk|gzyA-te|DJ;R20K#6gGU{TH1GVt}1{UGek(7uhf)!RMKm zfQ>{uPvyTDs5ye|JQY{CS=}JBmwk-+UN+o=OPF zbg*Y%DSZC_q7GzoCCp@`^3xMEo)6lt4q7MxKF|D=B*c!VFFduN_s@XG(?Iw4L59-I zKbd z)+e_9IJl`M2D_5;>~C=f(44MEcQ$wjjSl!~$X?UZH=ybmygoEX1w268{1y}e(EcfS z0PqPoS3uHC>u*q+0XGFo;$TYz^gt$qrcZo&O;x}Kg7!N>&Lg?<2V@*d`wDCvw0<=O znFniYBRZ>cAYt?#0BD-|zbG?Es`LJf>X-jf@56ibOB`wZ4^$q2?!N@jzvK&p;vfC~ z%U`hg{{@Qw?=ODJg5qBt8usu1i_Z83N=}ge7reg-?k~=>1sMp=Pw@U`7RWr%eRvyR zLZWIV$UIy1&;MUosAI$zV!uV_Zx84KDU1aU%R4{~uWAMKQAhOdRec99LqoLGNAh(RT23UvR|e3 ze~GsTI1oXra0EO-TT~nvK<8@SIK1NR*e_cM5b><2XsH+~1_Y0xqd$o>+8kKkz_XbCmxJ19^<_qxI6of^JFJa|G1 z8oU4hi{^j~0UdyX*k7^|avki8g;JmYzc5unb1&Ndl06^5c0z_1;{L13fXxF9SHZ4B z_%F%VvaP7&_tp%c9ca~{*)zxZ z|EhW4U||Fse+K7oP<*4F=X&)$IMV+;!xQO{FhD+Q_dHBFQUdUnL=I4t`*J}uj{Mu4 zG0(#);fD_62)(dL{_+2{3v9f``n4L2iC(rSw}8ta4e+=Px+EJ&vh)56KWk7A8L{;% z?khM+1%OJRBv=V#j#L8ueF`aokm`R(eX-;l-tvbPWH4&|{{<4P2@?JF)p6JRS?G zpP}<52>*YA`d{qx{};>TksXUNeg~V+#t~oO@%BF0cq-2LiunW!FaqucwfR*L&;MV1lS6YaxO@S(uVMQ&`9RqVwBAq=bX}zZDEi=AHqq-tJ5Nw}!|FrC{msih zqF0GiK7yLppr+Sr9na2Vi18-m{hIGRK=}i$K8%8x^CXEv;y^cPT7Yuj1L_~pSwq<7s?UDF z5*^20t3bR2-k*CGwBI=20u+Ms9-!!W51OBT0$r}t^8wdUv%|*aMYuYbiG^(>Og=_`|kYz;v`II14t?8d^XT- zLeOn@pjFLQ;AP-Gy$PT-1#%A{#XF*W^6iH9FO(mG3V7K5e9!{&C!if`+@SFaf&Zc^ zV6!0|j96IBp$kgd&<@7o`=A~ReEo6B2as_%`xjT=Ve!>})qNmglr{B`gL=U|yoDgi z&igMU@BaV)ay826OdC|H@6P}KFK2>gsA8p|y>9TpMA|!X2E=(A@bQKBY@qxB-cN?8 zBds82{TDR^F~D8!a>394UvMK#eE(lmz zi2mJ|cX-1;6l4@ieeL`fR-pVBH3!LdS982L_x}I?*WND#U=7OW|3#(Wg2s3d`5m%9 zFCE;Uo6idJK3aYJ>J2!m|BF6+1IenI0-yiC*eeOj5-96oz>9mzIXs~2V2piwbN@Sn z4ryZW?fmju7#e@gM=U)5ANOoN`oCDvvDrq2z2psO9Ye@(E{4~Sz+G6#5|Uz&wcV)4 zzP^77Zskeb#h#;~=YTzc)UNRQ0etRJukE8dNV**VU-tl=dJ@YIN@ke%5qy0Oj&p?< zJ)rx|Kq`&-iN24Z;};jh>t`=!fto>6B~a4`qWplY_W-rB^93MNjhOA1Jn$+T@cc8R zKm7f_XcX9Kr~z{g)bi@J{eK(Di$0w{Py+(Xs*2-2y{e~Rnve=SH$G6~?KtxMGPwP7 z?>`r0y#!K3oq7cgs>CngbpC>q@ALl`b3v`48RE#E2alh@*2jQu|AsFGjr*_K@(P@M z!Q+?}uOJES0587vF-ED-78PU!#TldtQ~-BpgO5%%f-aYMeG61%!qYpbyacb8_|`52S9sa_bXQw=bZ0ww{67j>G5|LZcAj85_&h;7M^JtF z{Pj!l0xWQ;w;F5^WKn|?Xm$d+Mglfo3Tv-|*GJUxK=mV!uV;cx0Cgx6UV=h8Is?@D zhpnf%13tCJl=T)U=1~rCN1FM?hPPYa3s7?S|6erWg*e0O@E1-{Gr+4Cd|rTxGems|bx#iDJgRv}KX= zt-KyQ9{V0;J+$_7Q0P5>QOx!E{|j~$&w$Dsr1A*fUM%p%Xd%MWJ8JvT&kmGc|AXTD zNeQ<0;o4_dymAa>yc?-~_}`YB!Lt*keVFqMs>q=-$Z~WB|t-b?V#g0e0tY|Pjcwp4&Lq6JG})oyVU$c)u;2NN9PumAE0e4{4VD_ zdbfklY4GTrqH+Kv)VW3F1Bm8#x#rWm9b{6sRyU{ROUKUl{O&JZ_?>>jH|UFVf{rCt zd7x5A5zR0v!ebcE^fG zNbax#xntVl|Nmbbcr^bIDNSwI4Lab1r6lcj6ll^g0kkt8wAToFB*|yc27S_=67Zt3l`D7{ z5TW9tq5uwz1kg_F0!L7o34p?dMFqTH9dztUAl&Ec(9Mb^)hzCp${|$qYI00IWx# zI~a7ZfnblyS|*TieT&KhQ1a{D0yYb@Dydu^v|nS63g}=h_+bjhY@j3S!S;5zsPKdK zlPiGM5Ov;r;VuR;C?C9O9(|Uc{06t_Lbg}~I1Osp}^#3I2aE0cBf}pMXD2FS6(m(ugh4q3A46t(*e7cvYXn;&= zu2B(S;BQ?BmUB@7AG+Y#?WzC@9MA;1XLqQEXSWOJ0GSdM4G+x^9+nqCSrT-#L9vo& zZ;cA_VGA!pzI^@B1Qqk9VYI027?&zL=#OH>p*dPP86BN;q8zk76VQ309#U)1&? zsHxEcR_V#;q5?mG!Slb13hW35kOzFab5tyjwWy@AK#yP$0G+dt&H_1tK>>6GLpclR zn2LNzu%+?WwW!pCCPqO!|3Nf3A+H3-ev1lt%JevdhUI`#9Y}iY-J$}Duosf|LD_MS z3g|3V)e-|xM1q(v7!Uma|5_222U}EjfE*#vqXIfy0ZT6Q=$!&K!lTm(v!LLwcM|aE zWb)|r;s9kGkolm(0=k_Obe2HtRH&0rfD(}{_!I~sP~dui_}x7!0iZ3B+#bC>D&VDR zorgSHFO?)W)NuXhDvbdNgEe*@^5{GVJtaZ_bkqYx`xF&0-Fm5n&*T3ok4`a=E5I5c zHVJ?X04wQkfhs*v!shY+ghwYMC_q2~W%z9u=xm}FD-A)pAw)$0RFQCj4A7Mdtjfts0egBNH}); zsOVUp=sd;mbb;UfgkxujiiTsSkBSZ`Z5n`#H1g=K-~h#nf=73Oz>C?H+~7473Lc<4 z5BNd#+JDiud!Xc2qoVL%v>MC=C9+Nz6$78n6crDY=m#Hn@n3WfNLlCo7ohuLK!;f* zfW^VxhsJy244`W*`8!-xz@;(hoD^^ZNJKgeqYzrUxTsWu^@GX{duaxSm*5T7y)__f zp$RVH&FBB1@CT)W<{zq{pa&lw&^twC2`B~gyIce%4v*dzl^Y;_Z;#3X&`JA79{esR zx*07$bbjY|`oZu10W_2o0Sbx&a1rbQE^87zdRgBc5Cm_Yt?)SB0zO9u6mcHCAu0(k zq|bv|%q}VlFc*NV;%{9Fjsr+W0ciqd99$XZ#ck{v=E5GDXP6RmkLDjLrG_9Uf`Sk1 z#O^IB6F}kA-2x6LP>BW!H)wj4X#4yhG$ycNFQ`KaDqca05R&eI(g^6Bt?mjApY9A$ zr#TIAo;kSxWcMG`%6|U(B{-F%o><7|Y;_T7< zQ~6!ZSrf^|NpPGKt_~=y*vzR!hvk1N~?qq zWNN7k_68GwDpB_B4Q0~{#KAeNFmgD z@5QVe$R0ZaI_shH`-_&H|Np<-4r+%`H?;X%WI4f2dmXjqG{M#-z|6(bzeC_1Zy%-d>uru0_j&Fk;*9HnNhL`u* zL1zHH7J&wRDR*}_C_KTEoy|8G85lad?|@EbTMZHh6_jGG3=Gg3gA1(e%jWQuXRUBZi*+d-p{i@}Z2?af}GfawNt zI(xtk&a}=Jl{rk{M(sQ%1_nlt?q*+5vg~Y8na{+)kaoO9WjRP3Bmryff-dlY)<-QW z8$r!lNB(>k6-Q7Tofp(ZFNHd>cMI4KP#jDW0afcU;Iib!(@mf%{5tqJE70-Z;MDrU ze<2TpZ|9$vOF>D9YUvUZsV%P=7#Nx#*fsy)<8QeSYVPjt0M%Ojt(QRI)_MPhpab}P ztrG5L3z1T`h6)bek`R!?f7+vo^Oe|u#2+HWMZxM>O2B7iorH+^I=W(yJi)@)V=29TZnt%)FQkb~fG6eOUaf#nfM#(;$1 z`mO)}J8WfqsmKcIjDR}5Y5e&u;9hSUf89aLgPn)?-7oSx9qe>b$>wUc0&WiQ3(QdgZSp`qsqiy@J;O^SP&;EccpwW=*MPkPYCLrQdvWI&Xe9Rt zB$I;9`uFLqQE`BH&tN_e=&VXm4gh5|0eD$RRDPXw89BeUY@tbh{R~P=%|C?sTVH}$ zpi`tj^XD@_a|2R&1`2CouoCp+C=*`1*!=%L|Mq6kfzABex<}pb>M%1fbo8j`F+=jJKInWo26*GKMFmt@!1F8U@FGyc!jWG=7J!oI zBLSrRYPuejUqMZ7{uWTWf<(ytxjYOnpM!h>Zhv;(dvW(6sObqlbrV#8`S81}0guCg znxWm0l<2|l(gGfU={9iec4ffQ+N=PlC=Y0$^|B^pgIb%AhNcH1*)*Rp0VRV3NV{|K z5pco*x!ePENL}lJl7MCll~QjHNLB(3s|bAN&u4@hixd~&^arU!JUY8UNe|Qr- z8)Q)TW^iaBJ30W#(eDn!9X;6^6x;_vnixO_;r{Qm>wdRQOj#l6`)44{^)nj-^)<<-s${7y&t-LHaz%D|)3M1qKg7xvcQUv;Fz_!vSS$`Y;O~(~ z;}Ot!AAC(=>|u}2`4AcLZ5@<@L>Od_~E`L!h3>@fVtE9H0fy`OmfUk1M~^Ggp51f1r4`Ui1IIN9%!78^~#|j+Vzd z4?6NYopa=OKL!e-P8XFN(BX##ppy(MKmh|PLcwL{i+mdfhL`7l{r}%B<=J_yJBtN; zD(Z^}8_;%I15i51aOqqEE-_s?_kcszqnCAM7AU#9s1$%o=L%&|>?6_-FNg`!2}$;# z5P5n0*Z==ullOs2>=!y;KK*|k#p<7*{=fF~=(UXk@oYgn2ajG`6A(`y z#53~fwUwwBWbo(}ecme0un%-_p=@aVPuR|l3+?S#p2fB*EKpBp?o;?a2& zQVy7}|Ns9b_*~@9qo8gdXgm|t>jd?nJUShb2k`g>Jq14V*E7D(d7Tc@-wjDuo}F&U zsvP+R{lKGqY%f8lNP-lC+UYO+HvIqp5>&dqc>DX)f2gp>i{qfiEa+r0kIti@+Zh}g1RB$#pD@03@@ueWi{9h|3#C|i8H*^h6uctc&!RnS)zi}@$Uec z1u8jTuz@__1)Lsvg7~%<~`t%J2C!N(B6=jvJiQY2g8&(7+&&$4mx845fKnu zKgIsF z0@aT@;y}G7@aWrXQILAr;EnW-|NmctZUyk@JPJCC^ChTadpQjj{52{9FJ723Fuc?U zIhOs`r~j`5K-xhI>;%q&X7=B|i1>iyGwJC(3@^dQ!@z=W=l1{qU)R2Nd+h?!2u?R* zpeX(hn$X+&6QURHd>0i3&_SM%_6uZq*^yt6Ma84@{fqbS(GHVkwFSh;o^#8?15V7XRr~fGH-8>rKfJZetAx9_sbg#R>$iU#&Yx5S=Km-pf zyzn^q!j``^4>Ur)_XFryUC?>Fy{;UdmdE+q!$DoB&TpWNXc?Z}^FT-T@o!^&{7{_1 zaS!MKU2szpJilsx3fh`fVP{|fO+6bMo_s9|_PH(zQGfe|SQMx-e)*amwDpg{@T5m)4`fuavjsek>C?GJC4!lO!Lhp! z)E#u}o(AdKKJcj z2HITZ(XE?t3N!-r->37LPv@)uS3Np!cznO$aqt0?N3V^8C*vO<#{V9@EYTjlBCQ~2 z`E)+}f7Ov+pzQ;wi|3=F&>f;8z`w0TC4gVUN5z3(BSgjEH4lII0iRymR(=5n!`nWc zdsHB^<8xF_fIZ%#0y;F4U$aN$0hm8U1=RWgwe~@Sx1jkCP^%wQ#)E4!wN1cJdWLN5}ht89FE;?GMz3eET2Jou0YLG z@a^6Q3J{POC`3T!2zW4l0u3i#0L>UNfcx2?uw(!YdxID+Zq5NU!ctTUJUVkAO|A-% z9O(8H*Z})3P-p7DX!r?n&_##qKs{DaV!q4(O3d4)C4+-`9|!2@hX3sREf1JM!M+R} z7XMjP_*+1ysCsnX@a&!kI`H4)KQn*J9?*%Uoi9NtoT(#3h1s`zodQ_DD+7Pae9+)h zXNyV(xXS5K0bS(^N(7+L2PFarPb)D(*y(IhF@P!qpM-6}#K6$)qGHh5qT&Ey@^rSSfX*iD zc2VKzY*7K#dfhH6ES)VXF(CK!?omkq(_2(PVFwK}<>R0-(nX~L)oXG%-c9ruIyFXw^I0`J`hQVL2m-~=^; z4V*06K;s)8-96xv5R{of!-Ak#0Vx8-BFIqB?moyMS&zyICI*HM$g~N}nv$8Gz1u(* z!p*jUm_2U;BLf52!Jq~L$iV_W-Fv`gFvtebToT9zP{#M^-2xT|rDagM@#$9WKPt|! z3*=;<&hL)@ukdTMfMbkbqX#@z0Sa5t`~c{X`U9Y$pl*n(K!JP#$_M34(E0G7rlx0S zE2vlp83W42j{JhHpvVL9L8Tao4=V0Kd{F5HvIdk%`8B41OFw>%Ip9*ykza5wD1kWg z3r+=fTay`U-(r2haT1H&#*K=^dN_v!rR`2UJ;=UxyWWGKj&AVuIoKMfZZ0Y`q} zR#3P&cFYBZQ+JCB$m88TD$bySu(Njym}=b!&NVJ73Ly2Mi1%nb0;+-Jts4)$qw{(KO`!WuE_!_*y#%N_agWCjA!`It2Om5b4|+8Jd|x8q(Y+fKg&vy6|BK!{1Zpc&hH1ENdao_KyDuZmA@XSw-113S3&d3ph2?M zeV|MUyhNU1d<*=`?)~- zM?j+&&}kkX56Cq-FZdV!{|{a2QOW_aJ?^ka<6%%nLM*O)`Co+|>leY@s{qZHB&5;~0F8|Nsf_%E7%K%BwzzaK{_WNB~�*gN3ib3$*YA7`pgRcoL3@*+ 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